diff --git a/ui/config/config.bundle.js b/ui/config/config.bundle.js index 118d04dce5..e15436226c 100644 --- a/ui/config/config.bundle.js +++ b/ui/config/config.bundle.js @@ -14998,17 +14998,20 @@ const kTimelineTableHeaders = { shouldDisplayText: { en: 'Show', de: 'Anzeigen', - fr: 'Afficher' + fr: 'Afficher', + cn: '显示' }, text: { en: 'Timeline Text', de: 'Timeline Text', - fr: 'Texte de la timeline' + fr: 'Texte de la timeline', + cn: '时间轴文本' }, overrideText: { en: 'Rename', de: 'Umbenennen', - fr: 'Renommer' + fr: 'Renommer', + cn: '修改文本' } }; const detailKeys = kDetailKeys; @@ -15071,7 +15074,8 @@ const kMiscTranslations = { editTimeline: { en: 'Edit Timeline', de: 'Timeline bearbeiten', - fr: 'Éditer la timeline' + fr: 'Éditer la timeline', + cn: '编辑时间轴' } }; @@ -16278,7 +16282,7 @@ const raidboss_config_templateOptions = { de: 'Alarm-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alarme (secondes)', ja: '警報テキスト表示時間の長さ (秒)', - cn: '警报文字显示持续时间 (秒)', + cn: '警报级别文字显示持续时间 (秒)', ko: '경고 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -16290,7 +16294,7 @@ const raidboss_config_templateOptions = { de: 'Alert-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alerte (secondes)', ja: '警告テキスト表示時間の長さ (秒)', - cn: '警告文字显示持续时间 (秒)', + cn: '警告级别文字显示持续时间 (秒)', ko: '주의 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -16302,7 +16306,7 @@ const raidboss_config_templateOptions = { de: 'Info-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'information (secondes)', ja: '情報テキスト表示時間の長さ (秒)', - cn: '信息文字显示持续时间 (秒)', + cn: '信息级别文字显示持续时间 (秒)', ko: '안내 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -16314,7 +16318,7 @@ const raidboss_config_templateOptions = { de: 'Alarm Lautstärke (0-1)', fr: 'Volume de l\'alarme (0-1)', ja: '警報音声の音量 (0-1)', - cn: '警报提示音的音量 (0-1)', + cn: '警报级别提示音的音量 (0-1)', ko: '경고 소리 크기 (0-1)' }, type: 'float', @@ -16326,7 +16330,7 @@ const raidboss_config_templateOptions = { de: 'Alert Lautstärke (0-1)', fr: 'Volume de l\'alerte (0-1)', ja: '警告音声の音量 (0-1)', - cn: '警告提示音的音量 (0-1)', + cn: '警告级别提示音的音量 (0-1)', ko: '주의 소리 크기 (0-1)' }, type: 'float', @@ -16338,7 +16342,7 @@ const raidboss_config_templateOptions = { de: 'Info Lautstärke (0-1)', fr: 'Volume de l\'info (0-1)', ja: '情報音声の音量 (0-1)', - cn: '信息提示音的音量 (0-1)', + cn: '信息级别提示音的音量 (0-1)', ko: '안내 소리 크기 (0-1)' }, type: 'float', @@ -16372,7 +16376,8 @@ const raidboss_config_templateOptions = { name: { en: 'Enable gamepad rumble for triggers', de: 'Gamepad-Vibration für Trigger aktivieren', - fr: 'Activer la vibration de la manette de jeu pour les triggers' + fr: 'Activer la vibration de la manette de jeu pour les triggers', + cn: '触发器活动时使手柄振动' }, type: 'checkbox', default: false @@ -16381,7 +16386,8 @@ const raidboss_config_templateOptions = { name: { en: 'Duration (milliseconds) of rumble for info triggers', de: 'Zeit (in Millisekunden) der Vibration bei info trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations', + cn: '信息级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 400 @@ -16390,7 +16396,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for info triggers', de: 'Stärke (0-1) der leichten Vibration bei info trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)', + cn: '信息级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -16399,7 +16406,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for info triggers', de: 'Stärke (0-1) der starken Vibration bei info trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)', + cn: '信息级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -16408,7 +16416,8 @@ const raidboss_config_templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alert triggers', de: 'Zeit (in Millisekunden) der Vibration bei alert trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes', + cn: '警告级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 500 @@ -16417,7 +16426,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alert triggers', de: 'Stärke (0-1) der leichten Vibration bei alert trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -16426,7 +16436,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alert triggers', de: 'Stärke (0-1) der starken Vibration bei alert trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -16435,7 +16446,8 @@ const raidboss_config_templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alarm triggers', de: 'Zeit (in Millisekunden) der Vibration bei alarm trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes', + cn: '警报级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 750 @@ -16444,7 +16456,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alarm triggers', de: 'Stärke (0-1) der leichten Vibration bei alarm trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -16453,7 +16466,8 @@ const raidboss_config_templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alarm triggers', de: 'Stärke (0-1) der starken Vibration bei alarm trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -17528,4 +17542,4 @@ const GetShareMistakeText = ability => { /******/ /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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VSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsT0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsS0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFsQk87QUFrbUJiOFQsRUFBQUEsSUFBSSxFQUFFO0FBQ0puVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsUUFGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsT0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxtQk87QUEwbUJiK1QsRUFBQUEsU0FBUyxFQUFFO0FBQ1RwVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsWUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsWUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFtQkU7QUFrbkJiZ1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1RyVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsVUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxuQkU7QUEwbkJiaVUsRUFBQUEsU0FBUyxFQUFFO0FBQ1R0VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsV0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFuQkU7QUFrb0Jia1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1R2VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsVUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsU0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxvQkU7QUEwb0JibVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0p4VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFvQk87QUFrcEJib1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0p6VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxwQk87QUEwcEJicVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0oxVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFwQk87QUFrcUJic1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0ozVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxxQk87QUEwcUJidVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w1VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFxQk07QUFrckJid1UsRUFBQUEsS0FBSyxFQUFFO0FBQ0w3VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxyQk07QUEwckJieVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w5VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFyQk07QUFrc0JiMFUsRUFBQUEsS0FBSyxFQUFFO0FBQ0wvVSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxzQk07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QUV1RixPQUFRLE9BTFY7QUFNTHRGLElBQUFBLEVBQUUsRUFBRyxHQUFFc0YsT0FBUTtBQU5WLEdBQVA7QUFRRCxDQVRNOzs7Ozs7VUN4S1A7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOzs7OztXQ3pCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLCtCQUErQix3Q0FBd0M7V0FDdkU7V0FDQTtXQUNBO1dBQ0E7V0FDQSxpQkFBaUIscUJBQXFCO1dBQ3RDO1dBQ0E7V0FDQSxrQkFBa0IscUJBQXFCO1dBQ3ZDO1dBQ0E7V0FDQSxLQUFLO1dBQ0w7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBOzs7OztXQzNCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHlDQUF5Qyx3Q0FBd0M7V0FDakY7V0FDQTtXQUNBOzs7OztXQ1BBOzs7OztXQ0FBOztXQUVBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxNQUFNLHFCQUFxQjtXQUMzQjtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBOztXQUVBO1dBQ0E7V0FDQTs7Ozs7VUVoREE7VUFDQTtVQUNBO1VBQ0E7VUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29uZGl0aW9ucy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2NvbnRlbnRfdHlwZS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2xhbmd1YWdlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25ldGxvZ19kZWZzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbmV0cmVnZXhlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25vdF9yZWFjaGVkLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvb3V0cHV0cy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3JlZ2V4ZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9yZXNwb25zZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy91c2VyX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3V0aWwudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy96b25lX2lkLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvem9uZV9pbmZvLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29udGVudF9saXN0LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9jb25maWcvY29uZmlnX29wdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL2NvbmZpZy9nZW5lcmFsX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvZXVyZWthL2V1cmVrYV9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL2pvYnMvam9ic19jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL29vcHN5cmFpZHN5L2J1ZmZfbWFwLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9vb3BzeXJhaWRzeS9vb3BzeXJhaWRzeV9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhZGFyL3JhZGFyX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3BhcnR5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19vcHRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9jb21tb25fcmVwbGFjZW1lbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lX3BhcnNlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGJvc3NfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9jb25maWcvY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9vb3BzeXJhaWRzeS9vb3BzeV9jb21tb24udHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9jaHVuayBsb2FkZWQiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2pzb25wIGNodW5rIGxvYWRpbmciLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL2JlZm9yZS1zdGFydHVwIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9zdGFydHVwIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9hZnRlci1zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvciBjb25zaXN0ZW5jeSB3aXRoIFJlc3BvbnNlcywgQ29uZGl0aW9uc1xyXG4vLyBhcmUgYWxzbyBmdW5jdGlvbnMuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBUYXJnZXRlZE1hdGNoZXMgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICB0YXJnZXRJc1lvdSgpOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBkYXRhLm1lID09PSBtYXRjaGVzPy50YXJnZXQ7XHJcbiAgfSxcclxuICB0YXJnZXRJc05vdFlvdSgpOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBkYXRhLm1lICE9PSBtYXRjaGVzPy50YXJnZXQ7XHJcbiAgfSxcclxuICBjYXJlc0Fib3V0QU9FKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dE1hZ2ljYWwoKTogKGRhdGE6IERhdGEpID0+IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChkYXRhOiBEYXRhKSA9PlxyXG4gICAgICBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInIHx8IGRhdGEuQ2FuQWRkbGUoKSB8fCBkYXRhLmpvYiA9PT0gJ0JMVSc7XHJcbiAgfSxcclxuICBjYXJlc0Fib3V0UGh5c2ljYWwoKTogKGRhdGE6IERhdGEpID0+IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChkYXRhOiBEYXRhKSA9PlxyXG4gICAgICBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInIHx8IGRhdGEuQ2FuRmVpbnQoKSB8fCBkYXRhLmpvYiA9PT0gJ0JMVSc7XHJcbiAgfSxcclxufTtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0JlYXN0VHJpYmVRdWVzdHMnOiAxMyxcclxuICAnQ29tcGFuaW9ucyc6IDEyLFxyXG4gICdDdXN0b21EZWxpdmVyaWVzJzogMjUsXHJcbiAgJ0RlZXBEdW5nZW9ucyc6IDIxLFxyXG4gICdEaXNjaXBsZXNPZlRoZUhhbmQnOiAxNyxcclxuICAnRGlzY2lwbGVzT2ZUaGVMYW5kJzogMTYsXHJcbiAgJ0R1bmdlb25zJzogMixcclxuICAnRHV0eVJvdWxldHRlJzogMSxcclxuICAnRXVyZWthJzogMjYsXHJcbiAgJ0ZhdGVzJzogOCxcclxuICAnR29sZFNhdWNlcic6IDE5LFxyXG4gICdHcmFuZENvbXBhbnknOiAxMSxcclxuICAnR3VpbGRoZXN0cyc6IDMsXHJcbiAgJ0xldmVxdWVzdHMnOiAxMCxcclxuICAnT3ZlcmFsbENvbXBsZXRpb24nOiAxNCxcclxuICAnUGxheWVyQ29tbWVuZGF0aW9uJzogMTUsXHJcbiAgJ1B2cCc6IDYsXHJcbiAgJ1F1ZXN0QmF0dGxlcyc6IDcsXHJcbiAgJ1JhaWRzJzogNSxcclxuICAnUmV0YWluZXJWZW50dXJlcyc6IDE4LFxyXG4gICdUcmVhc3VyZUh1bnQnOiA5LFxyXG4gICdUcmlhbHMnOiA0LFxyXG4gICdVbHRpbWF0ZVJhaWRzJzogMjgsXHJcbiAgJ1dvbmRyb3VzVGFpbHMnOiAyNCxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsImV4cG9ydCBjb25zdCBsYW5ndWFnZXMgPSBbJ2VuJywgJ2RlJywgJ2ZyJywgJ2phJywgJ2NuJywgJ2tvJ10gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBMYW5nID0gdHlwZW9mIGxhbmd1YWdlc1tudW1iZXJdO1xyXG5cclxuZXhwb3J0IHR5cGUgTm9uRW5MYW5nID0gRXhjbHVkZTxMYW5nLCAnZW4nPjtcclxuXHJcbmV4cG9ydCBjb25zdCBsYW5nTWFwOiB7IFtsYW5nIGluIExhbmddOiB7IFtsYW5nIGluIExhbmddOiBzdHJpbmcgfSB9ID0ge1xyXG4gIGVuOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2gnLFxyXG4gICAgZGU6ICdHZXJtYW4nLFxyXG4gICAgZnI6ICdGcmVuY2gnLFxyXG4gICAgamE6ICdKYXBhbmVzZScsXHJcbiAgICBjbjogJ0NoaW5lc2UnLFxyXG4gICAga286ICdLb3JlYW4nLFxyXG4gIH0sXHJcbiAgZGU6IHtcclxuICAgIGVuOiAnRW5nbGlzY2gnLFxyXG4gICAgZGU6ICdEZXV0c2NoJyxcclxuICAgIGZyOiAnRnJhbnrDtnNpc2NoJyxcclxuICAgIGphOiAnSmFwYW5pc2NoJyxcclxuICAgIGNuOiAnQ2hpbmVzaXNjaCcsXHJcbiAgICBrbzogJ0tvcmVhbmlzY2gnLFxyXG4gIH0sXHJcbiAgZnI6IHtcclxuICAgIGVuOiAnQW5nbGFpcycsXHJcbiAgICBkZTogJ0FsbGVtYW5kJyxcclxuICAgIGZyOiAnRnJhbsOnYWlzJyxcclxuICAgIGphOiAnSmFwb25haXMnLFxyXG4gICAgY246ICdDaGlub2lzJyxcclxuICAgIGtvOiAnQ29yw6llbicsXHJcbiAgfSxcclxuICBqYToge1xyXG4gICAgZW46ICfoi7Hoqp4nLFxyXG4gICAgZGU6ICfjg4njgqTjg4Toqp4nLFxyXG4gICAgZnI6ICfjg5Xjg6njg7Pjgrnoqp4nLFxyXG4gICAgamE6ICfml6XmnKzoqp4nLFxyXG4gICAgY246ICfkuK3lm73oqp4nLFxyXG4gICAga286ICfpn5Plm73oqp4nLFxyXG4gIH0sXHJcbiAgY246IHtcclxuICAgIGVuOiAn6Iux6K+tJyxcclxuICAgIGRlOiAn5b636K+tJyxcclxuICAgIGZyOiAn5rOV6K+tJyxcclxuICAgIGphOiAn5pel6K+tJyxcclxuICAgIGNuOiAn5Lit5paHJyxcclxuICAgIGtvOiAn6Z+p6K+tJyxcclxuICB9LFxyXG4gIGtvOiB7XHJcbiAgICBlbjogJ+yYgeyWtCcsXHJcbiAgICBkZTogJ+uPheydvOyWtCcsXHJcbiAgICBmcjogJ+2UhOuekeyKpOyWtCcsXHJcbiAgICBqYTogJ+ydvOuzuOyWtCcsXHJcbiAgICBjbjogJ+ykkeq1reyWtCcsXHJcbiAgICBrbzogJ+2VnOq1reyWtCcsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0xhbmcgPSAobGFuZz86IHN0cmluZyk6IGxhbmcgaXMgTGFuZyA9PiB7XHJcbiAgY29uc3QgbGFuZ1N0cnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gbGFuZ3VhZ2VzO1xyXG4gIGlmICghbGFuZylcclxuICAgIHJldHVybiBmYWxzZTtcclxuICByZXR1cm4gbGFuZ1N0cnMuaW5jbHVkZXMobGFuZyk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ1RvTG9jYWxlID0gKGxhbmc6IExhbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogJ2VuJyxcclxuICAgIGRlOiAnZGUnLFxyXG4gICAgZnI6ICdmcicsXHJcbiAgICBqYTogJ2phJyxcclxuICAgIGNuOiAnemgtQ04nLFxyXG4gICAga286ICdrbycsXHJcbiAgfVtsYW5nXTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0RmllbGRzUmV2ZXJzZSB9IGZyb20gJy4uL3R5cGVzL25ldF9maWVsZHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbiA9IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8vIFBhcnNlZCBBQ1QgbG9nIGxpbmUgdHlwZS5cclxuICBtZXNzYWdlVHlwZTogc3RyaW5nO1xyXG4gIC8vIGluY2x1ZGUgYWxsIG9mIHRoZXNlIGxpbmVzIGluIGFueSBzcGxpdFxyXG4gIGdsb2JhbEluY2x1ZGU/OiBib29sZWFuO1xyXG4gIC8vIGluY2x1ZGUgdGhlIGxhc3QgbGluZSBvZiB0aGlzIHR5cGUgaW4gYW55IHNwbGl0XHJcbiAgbGFzdEluY2x1ZGU/OiBib29sZWFuO1xyXG4gIC8vIHdoZXRoZXIgdGhpcyBsaW5lIGNhbiBiZSBhbm9ueW1pemVkXHJcbiAgY2FuQW5vbnltaXplPzogYm9vbGVhbjtcclxuICAvLyBuZWVkcyBtb3JlIGluZm9ybWF0aW9uLCBuZXZlciBzZWVuIHRoaXMgbG9nXHJcbiAgaXNVbmtub3duPzogYm9vbGVhbjtcclxuICAvLyBmaWVsZHMgYXQgdGhpcyBpbmRleCBhbmQgYmV5b25kIGFyZSBjbGVhcmVkLCB3aGVuIGFub255bWl6aW5nXHJcbiAgZmlyc3RVbmtub3duRmllbGQ/OiBudW1iZXI7XHJcbiAgZmllbGRzPzogeyBbZmllbGROYW1lOiBzdHJpbmddOiBudW1iZXIgfTtcclxuICBzdWJGaWVsZHM/OiB7XHJcbiAgICBbZmllbGROYW1lOiBzdHJpbmddOiB7XHJcbiAgICAgIFtmaWVsZFZhbHVlOiBzdHJpbmddOiB7XHJcbiAgICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGNhbkFub255bWl6ZTogYm9vbGVhbjtcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfTtcclxuICAvLyBtYXAgb2YgaW5kZXhlcyBmcm9tIGEgcGxheWVyIGlkIHRvIHRoZSBpbmRleCBvZiB0aGF0IHBsYXllciBuYW1lXHJcbiAgcGxheWVySWRzPzogeyBbZmllbGRJZHg6IG51bWJlcl06IG51bWJlciB8IG51bGwgfTtcclxuICAvLyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgYXJlIG9rIHRvIG5vdCBhcHBlYXIgKG9yIGhhdmUgaW52YWxpZCBpZHMpXHJcbiAgb3B0aW9uYWxGaWVsZHM/OiByZWFkb25seSBudW1iZXJbXTtcclxufTtcclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbk1hcCA9IHsgW25hbWU6IHN0cmluZ106IExvZ0RlZmluaXRpb24gfTtcclxuXHJcbmNvbnN0IGxvZ0RlZmluaXRpb25zID0ge1xyXG4gIEdhbWVMb2c6IHtcclxuICAgIHR5cGU6ICcwMCcsXHJcbiAgICBuYW1lOiAnR2FtZUxvZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0NoYXRMb2cnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgY29kZTogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgbGluZTogNCxcclxuICAgIH0sXHJcbiAgICBzdWJGaWVsZHM6IHtcclxuICAgICAgY29kZToge1xyXG4gICAgICAgICcwMDM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwMzgnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZWNobycsXHJcbiAgICAgICAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnMDA0NCc6IHtcclxuICAgICAgICAgIG5hbWU6ICdkaWFsb2cnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzA4MzknOiB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVzc2FnZScsXHJcbiAgICAgICAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBDaGFuZ2Vab25lOiB7XHJcbiAgICB0eXBlOiAnMDEnLFxyXG4gICAgbmFtZTogJ0NoYW5nZVpvbmUnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUZXJyaXRvcnknLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICB9LFxyXG4gICAgbGFzdEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBDaGFuZ2VkUGxheWVyOiB7XHJcbiAgICB0eXBlOiAnMDInLFxyXG4gICAgbmFtZTogJ0NoYW5nZWRQbGF5ZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGFuZ2VQcmltYXJ5UGxheWVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWRkZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwMycsXHJcbiAgICBuYW1lOiAnQWRkZWRDb21iYXRhbnQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBZGRDb21iYXRhbnQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGpvYjogNCxcclxuICAgICAgbGV2ZWw6IDUsXHJcbiAgICAgIG93bmVySWQ6IDYsXHJcbiAgICAgIHdvcmxkSWQ6IDcsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGN1cnJlbnRIcDogMTEsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgY3VycmVudE1wOiAxMyxcclxuICAgICAgbXA6IDE0LFxyXG4gICAgICAvLyBtYXhUcDogMTUsXHJcbiAgICAgIC8vIHRwOiAxNixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUmVtb3ZlZENvbWJhdGFudDoge1xyXG4gICAgdHlwZTogJzA0JyxcclxuICAgIG5hbWU6ICdSZW1vdmVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUmVtb3ZlQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcjogNixcclxuICAgICAgd29ybGQ6IDgsXHJcbiAgICAgIG5wY05hbWVJZDogOSxcclxuICAgICAgbnBjQmFzZUlkOiAxMCxcclxuICAgICAgaHA6IDEyLFxyXG4gICAgICB4OiAxNyxcclxuICAgICAgeTogMTgsXHJcbiAgICAgIHo6IDE5LFxyXG4gICAgICBoZWFkaW5nOiAyMCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogbnVsbCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJ0eUxpc3Q6IHtcclxuICAgIHR5cGU6ICcxMScsXHJcbiAgICBuYW1lOiAnUGFydHlMaXN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGFydHlMaXN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHBhcnR5Q291bnQ6IDIsXHJcbiAgICAgIGlkMDogMyxcclxuICAgICAgaWQxOiA0LFxyXG4gICAgICBpZDI6IDUsXHJcbiAgICAgIGlkMzogNixcclxuICAgICAgaWQ0OiA3LFxyXG4gICAgICBpZDU6IDgsXHJcbiAgICAgIGlkNjogOSxcclxuICAgICAgaWQ3OiAxMCxcclxuICAgICAgaWQ4OiAxMSxcclxuICAgICAgaWQ5OiAxMixcclxuICAgICAgaWQxMDogMTMsXHJcbiAgICAgIGlkMTE6IDE0LFxyXG4gICAgICBpZDEyOiAxNSxcclxuICAgICAgaWQxMzogMTYsXHJcbiAgICAgIGlkMTQ6IDE3LFxyXG4gICAgICBpZDE1OiAxOCxcclxuICAgICAgaWQxNjogMTksXHJcbiAgICAgIGlkMTc6IDIwLFxyXG4gICAgICBpZDE4OiAyMSxcclxuICAgICAgaWQxOTogMjIsXHJcbiAgICAgIGlkMjA6IDIzLFxyXG4gICAgICBpZDIxOiAyNCxcclxuICAgICAgaWQyMjogMjUsXHJcbiAgICAgIGlkMjM6IDI2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAzOiBudWxsLFxyXG4gICAgICA0OiBudWxsLFxyXG4gICAgICA1OiBudWxsLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgICA3OiBudWxsLFxyXG4gICAgICA4OiBudWxsLFxyXG4gICAgICA5OiBudWxsLFxyXG4gICAgICAxMDogbnVsbCxcclxuICAgICAgMTE6IG51bGwsXHJcbiAgICAgIDEyOiBudWxsLFxyXG4gICAgICAxMzogbnVsbCxcclxuICAgICAgMTQ6IG51bGwsXHJcbiAgICAgIDE1OiBudWxsLFxyXG4gICAgICAxNjogbnVsbCxcclxuICAgICAgMTc6IG51bGwsXHJcbiAgICAgIDE4OiBudWxsLFxyXG4gICAgICAxOTogbnVsbCxcclxuICAgICAgMjA6IG51bGwsXHJcbiAgICAgIDIxOiBudWxsLFxyXG4gICAgICAyMjogbnVsbCxcclxuICAgICAgMjM6IG51bGwsXHJcbiAgICAgIDI0OiBudWxsLFxyXG4gICAgICAyNTogbnVsbCxcclxuICAgICAgMjY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uYWxGaWVsZHM6IFtcclxuICAgICAgMyxcclxuICAgICAgNCxcclxuICAgICAgNSxcclxuICAgICAgNixcclxuICAgICAgNyxcclxuICAgICAgOCxcclxuICAgICAgOSxcclxuICAgICAgMTAsXHJcbiAgICAgIDExLFxyXG4gICAgICAxMixcclxuICAgICAgMTMsXHJcbiAgICAgIDE0LFxyXG4gICAgICAxNSxcclxuICAgICAgMTYsXHJcbiAgICAgIDE3LFxyXG4gICAgICAxOCxcclxuICAgICAgMTksXHJcbiAgICAgIDIwLFxyXG4gICAgICAyMSxcclxuICAgICAgMjIsXHJcbiAgICAgIDIzLFxyXG4gICAgICAyNCxcclxuICAgICAgMjUsXHJcbiAgICAgIDI2LFxyXG4gICAgXSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGxheWVyU3RhdHM6IHtcclxuICAgIHR5cGU6ICcxMicsXHJcbiAgICBuYW1lOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdQbGF5ZXJTdGF0cycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBqb2I6IDIsXHJcbiAgICAgIHN0cmVuZ3RoOiAzLFxyXG4gICAgICBkZXh0ZXJpdHk6IDQsXHJcbiAgICAgIHZpdGFsaXR5OiA1LFxyXG4gICAgICBpbnRlbGxpZ2VuY2U6IDYsXHJcbiAgICAgIG1pbmQ6IDcsXHJcbiAgICAgIHBpZXR5OiA4LFxyXG4gICAgICBhdHRhY2tQb3dlcjogOSxcclxuICAgICAgZGlyZWN0SGl0OiAxMCxcclxuICAgICAgY3JpdGljYWxIaXQ6IDExLFxyXG4gICAgICBhdHRhY2tNYWdpY1BvdGVuY3k6IDEyLFxyXG4gICAgICBoZWFsTWFnaWNQb3RlbmN5OiAxMyxcclxuICAgICAgZGV0ZXJtaW5hdGlvbjogMTQsXHJcbiAgICAgIHNraWxsU3BlZWQ6IDE1LFxyXG4gICAgICBzcGVsbFNwZWVkOiAxNixcclxuICAgICAgdGVuYWNpdHk6IDE4LFxyXG4gICAgICBsb2NhbENvbnRlbnRJZDogMTksXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgbGFzdEluY2x1ZGU6IHRydWUsXHJcbiAgfSxcclxuICBTdGFydHNVc2luZzoge1xyXG4gICAgdHlwZTogJzIwJyxcclxuICAgIG5hbWU6ICdTdGFydHNVc2luZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXJ0c0Nhc3RpbmcnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGNhc3RUaW1lOiA4LFxyXG4gICAgICB4OiA5LFxyXG4gICAgICB5OiAxMCxcclxuICAgICAgejogMTEsXHJcbiAgICAgIGhlYWRpbmc6IDEyLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBBYmlsaXR5OiB7XHJcbiAgICB0eXBlOiAnMjEnLFxyXG4gICAgbmFtZTogJ0FiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICBkYW1hZ2U6IDksXHJcbiAgICAgIHRhcmdldEN1cnJlbnRIcDogMjQsXHJcbiAgICAgIHRhcmdldE1heEhwOiAyNSxcclxuICAgICAgdGFyZ2V0Q3VycmVudE1wOiAyNixcclxuICAgICAgdGFyZ2V0TWF4TXA6IDI3LFxyXG4gICAgICAvLyB0YXJnZXRDdXJyZW50VHA6IDI4LFxyXG4gICAgICAvLyB0YXJnZXRNYXhUcDogMjksXHJcbiAgICAgIHRhcmdldFg6IDMwLFxyXG4gICAgICB0YXJnZXRZOiAzMSxcclxuICAgICAgdGFyZ2V0WjogMzIsXHJcbiAgICAgIHRhcmdldEhlYWRpbmc6IDMzLFxyXG4gICAgICBjdXJyZW50SHA6IDM0LFxyXG4gICAgICBtYXhIcDogMzUsXHJcbiAgICAgIGN1cnJlbnRNcDogMzYsXHJcbiAgICAgIG1heE1wOiAzNyxcclxuICAgICAgLy8gY3VycmVudFRwOiAzODtcclxuICAgICAgLy8gbWF4VHA6IDM5O1xyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgICAgc2VxdWVuY2U6IDQ0LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiA3LFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogNDQsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrQU9FQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrQU9FQWJpbGl0eScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0FPRUFjdGlvbkVmZmVjdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBzb3VyY2VJZDogMixcclxuICAgICAgc291cmNlOiAzLFxyXG4gICAgICBpZDogNCxcclxuICAgICAgYWJpbGl0eTogNSxcclxuICAgICAgdGFyZ2V0SWQ6IDYsXHJcbiAgICAgIHRhcmdldDogNyxcclxuICAgICAgZmxhZ3M6IDgsXHJcbiAgICAgIHg6IDQwLFxyXG4gICAgICB5OiA0MSxcclxuICAgICAgejogNDIsXHJcbiAgICAgIGhlYWRpbmc6IDQzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiA3LFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogNDQsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrQ2FuY2VsQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIzJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrQ2FuY2VsQWJpbGl0eScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0NhbmNlbEFjdGlvbicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBzb3VyY2VJZDogMixcclxuICAgICAgc291cmNlOiAzLFxyXG4gICAgICBpZDogNCxcclxuICAgICAgbmFtZTogNSxcclxuICAgICAgcmVhc29uOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtEb1Q6IHtcclxuICAgIHR5cGU6ICcyNCcsXHJcbiAgICBuYW1lOiAnTmV0d29ya0RvVCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RvVEhvVCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgd2hpY2g6IDQsXHJcbiAgICAgIGVmZmVjdElkOiA1LFxyXG4gICAgICBkYW1hZ2U6IDYsXHJcbiAgICAgIGN1cnJlbnRIcDogNyxcclxuICAgICAgbWF4SHA6IDgsXHJcbiAgICAgIGN1cnJlbnRNcDogOSxcclxuICAgICAgbWF4TXA6IDEwLFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDExLFxyXG4gICAgICAvLyBtYXhUcDogMTIsXHJcbiAgICAgIHg6IDEzLFxyXG4gICAgICB5OiAxNCxcclxuICAgICAgejogMTUsXHJcbiAgICAgIGhlYWRpbmc6IDE2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFdhc0RlZmVhdGVkOiB7XHJcbiAgICB0eXBlOiAnMjUnLFxyXG4gICAgbmFtZTogJ1dhc0RlZmVhdGVkJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRGVhdGgnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgdGFyZ2V0SWQ6IDIsXHJcbiAgICAgIHRhcmdldDogMyxcclxuICAgICAgc291cmNlSWQ6IDQsXHJcbiAgICAgIHNvdXJjZTogNSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBHYWluc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzI2JyxcclxuICAgIG5hbWU6ICdHYWluc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c0FkZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBkdXJhdGlvbjogNCxcclxuICAgICAgc291cmNlSWQ6IDUsXHJcbiAgICAgIHNvdXJjZTogNixcclxuICAgICAgdGFyZ2V0SWQ6IDcsXHJcbiAgICAgIHRhcmdldDogOCxcclxuICAgICAgY291bnQ6IDksXHJcbiAgICAgIHRhcmdldE1heEhwOiAxMCxcclxuICAgICAgc291cmNlTWF4SHA6IDExLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA1OiA2LFxyXG4gICAgICA3OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEhlYWRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyNycsXHJcbiAgICBuYW1lOiAnSGVhZE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1RhcmdldEljb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgdGFyZ2V0SWQ6IDIsXHJcbiAgICAgIHRhcmdldDogMyxcclxuICAgICAgaWQ6IDYsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1JhaWRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOCcsXHJcbiAgICBuYW1lOiAnTmV0d29ya1JhaWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXYXltYXJrTWFya2VyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIG9wZXJhdGlvbjogMixcclxuICAgICAgd2F5bWFyazogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHg6IDYsXHJcbiAgICAgIHk6IDcsXHJcbiAgICAgIHo6IDgsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1RhcmdldE1hcmtlcjoge1xyXG4gICAgdHlwZTogJzI5JyxcclxuICAgIG5hbWU6ICdOZXR3b3JrVGFyZ2V0TWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2lnbk1hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsIC8vIEFkZCwgVXBkYXRlLCBEZWxldGVcclxuICAgICAgd2F5bWFyazogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXROYW1lOiA3LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA0OiBudWxsLFxyXG4gICAgICA1OiBudWxsLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIExvc2VzRWZmZWN0OiB7XHJcbiAgICB0eXBlOiAnMzAnLFxyXG4gICAgbmFtZTogJ0xvc2VzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzUmVtb3ZlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGVmZmVjdElkOiAyLFxyXG4gICAgICBlZmZlY3Q6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA1OiA2LFxyXG4gICAgICA3OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtHYXVnZToge1xyXG4gICAgdHlwZTogJzMxJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrR2F1Z2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdHYXVnZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgZGF0YTA6IDMsXHJcbiAgICAgIGRhdGExOiA0LFxyXG4gICAgICBkYXRhMjogNSxcclxuICAgICAgZGF0YTM6IDYsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgLy8gU29tZXRpbWVzIHRoaXMgbGFzdCBmaWVsZCBsb29rcyBsaWtlIGEgcGxheWVyIGlkLlxyXG4gICAgLy8gRm9yIHNhZmV0eSwgYW5vbnltaXplIGFsbCBvZiB0aGUgZ2F1Z2UgZGF0YS5cclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiAzLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1dvcmxkOiB7XHJcbiAgICB0eXBlOiAnMzInLFxyXG4gICAgbmFtZTogJ05ldHdvcmtXb3JsZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1dvcmxkJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgaXNVbmtub3duOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWN0b3JDb250cm9sOiB7XHJcbiAgICB0eXBlOiAnMzMnLFxyXG4gICAgbmFtZTogJ0FjdG9yQ29udHJvbCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RpcmVjdG9yJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBjb21tYW5kOiAzLFxyXG4gICAgICBkYXRhMDogNCxcclxuICAgICAgZGF0YTE6IDUsXHJcbiAgICAgIGRhdGEyOiA2LFxyXG4gICAgICBkYXRhMzogNyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOYW1lVG9nZ2xlOiB7XHJcbiAgICB0eXBlOiAnMzQnLFxyXG4gICAgbmFtZTogJ05hbWVUb2dnbGUnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICB0YXJnZXRJZDogNCxcclxuICAgICAgdGFyZ2V0TmFtZTogNSxcclxuICAgICAgdG9nZ2xlOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFRldGhlcjoge1xyXG4gICAgdHlwZTogJzM1JyxcclxuICAgIG5hbWU6ICdUZXRoZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUZXRoZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldDogNSxcclxuICAgICAgaWQ6IDgsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDksXHJcbiAgfSxcclxuICBMaW1pdEJyZWFrOiB7XHJcbiAgICB0eXBlOiAnMzYnLFxyXG4gICAgbmFtZTogJ0xpbWl0QnJlYWsnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdMaW1pdEJyZWFrJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHZhbHVlSGV4OiAyLFxyXG4gICAgICBiYXJzOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtFZmZlY3RSZXN1bHQ6IHtcclxuICAgIHR5cGU6ICczNycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0VmZmVjdFJlc3VsdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0VmZmVjdFJlc3VsdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgc2VxdWVuY2VJZDogNCxcclxuICAgICAgY3VycmVudEhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgY3VycmVudE1wOiA3LFxyXG4gICAgICBtYXhNcDogOCxcclxuICAgICAgLy8gY3VycmVudFRwOiA5LFxyXG4gICAgICAvLyBtYXhUcDogMTAsXHJcbiAgICAgIHg6IDExLFxyXG4gICAgICB5OiAxMixcclxuICAgICAgejogMTMsXHJcbiAgICAgIGhlYWRpbmc6IDE0LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiAyMixcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFN0YXR1c0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzM4JyxcclxuICAgIG5hbWU6ICdTdGF0dXNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNMaXN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGpvYkxldmVsRGF0YTogNCxcclxuICAgICAgaHA6IDUsXHJcbiAgICAgIG1heEhwOiA2LFxyXG4gICAgICBtcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIHg6IDExLFxyXG4gICAgICB5OiAxMixcclxuICAgICAgejogMTMsXHJcbiAgICAgIGhlYWRpbmc6IDE0LFxyXG4gICAgICBkYXRhMDogMTUsXHJcbiAgICAgIGRhdGExOiAxNixcclxuICAgICAgZGF0YTI6IDE3LFxyXG4gICAgICAvLyBWYXJpYWJsZSBudW1iZXIgb2YgdHJpcGxldHMgaGVyZSwgYnV0IGF0IGxlYXN0IG9uZS5cclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjAsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrVXBkYXRlSFA6IHtcclxuICAgIHR5cGU6ICczOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1VwZGF0ZUhQJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVXBkYXRlSHAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGN1cnJlbnRIcDogNCxcclxuICAgICAgbWF4SHA6IDUsXHJcbiAgICAgIGN1cnJlbnRNcDogNixcclxuICAgICAgbWF4TXA6IDcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOCxcclxuICAgICAgLy8gbWF4VHA6IDksXHJcbiAgICAgIHg6IDEwLFxyXG4gICAgICB5OiAxMSxcclxuICAgICAgejogMTIsXHJcbiAgICAgIGhlYWRpbmc6IDEzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE1hcDoge1xyXG4gICAgdHlwZTogJzQwJyxcclxuICAgIG5hbWU6ICdNYXAnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGFuZ2VNYXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIHJlZ2lvbk5hbWU6IDMsXHJcbiAgICAgIHBsYWNlTmFtZTogNCxcclxuICAgICAgcGxhY2VOYW1lU3ViOiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFN5c3RlbUxvZ01lc3NhZ2U6IHtcclxuICAgIHR5cGU6ICc0MScsXHJcbiAgICBuYW1lOiAnU3lzdGVtTG9nTWVzc2FnZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaW5zdGFuY2U6IDIsXHJcbiAgICAgIGlkOiAzLFxyXG4gICAgICBwYXJhbTA6IDQsXHJcbiAgICAgIHBhcmFtMTogNSxcclxuICAgICAgcGFyYW0yOiA2LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBhcnNlckluZm86IHtcclxuICAgIHR5cGU6ICcyNDknLFxyXG4gICAgbmFtZTogJ1BhcnNlckluZm8nLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTZXR0aW5ncycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQcm9jZXNzSW5mbzoge1xyXG4gICAgdHlwZTogJzI1MCcsXHJcbiAgICBuYW1lOiAnUHJvY2Vzc0luZm8nLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdQcm9jZXNzJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgZ2xvYmFsSW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIERlYnVnOiB7XHJcbiAgICB0eXBlOiAnMjUxJyxcclxuICAgIG5hbWU6ICdEZWJ1ZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYnVnJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgZ2xvYmFsSW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBQYWNrZXREdW1wOiB7XHJcbiAgICB0eXBlOiAnMjUyJyxcclxuICAgIG5hbWU6ICdQYWNrZXREdW1wJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGFja2V0RHVtcCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBWZXJzaW9uOiB7XHJcbiAgICB0eXBlOiAnMjUzJyxcclxuICAgIG5hbWU6ICdWZXJzaW9uJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVmVyc2lvbicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBFcnJvcjoge1xyXG4gICAgdHlwZTogJzI1NCcsXHJcbiAgICBuYW1lOiAnRXJyb3InLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFcnJvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBOb25lOiB7XHJcbiAgICB0eXBlOiAnWzAtOV0rJyxcclxuICAgIG5hbWU6ICdOb25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTm9uZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gVmVyaWZ5IHRoYXQgdGhpcyBoYXMgdGhlIHJpZ2h0IHR5cGUsIGJ1dCBleHBvcnQgYGFzIGNvbnN0YC5cclxuY29uc3QgYXNzZXJ0TG9nRGVmaW5pdGlvbnM6IExvZ0RlZmluaXRpb25NYXAgPSBsb2dEZWZpbml0aW9ucztcclxuY29uc29sZS5hc3NlcnQoYXNzZXJ0TG9nRGVmaW5pdGlvbnMpO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbnMgPSB0eXBlb2YgbG9nRGVmaW5pdGlvbnM7XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25UeXBlcyA9IGtleW9mIExvZ0RlZmluaXRpb25zO1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZDxcclxuICBUeXBlIGV4dGVuZHMgTG9nRGVmaW5pdGlvblR5cGVzLFxyXG4gIEZpZWxkcyBleHRlbmRzIE5ldEZpZWxkc1JldmVyc2VbVHlwZV0sXHJcbiAgRmllbGQgZXh0ZW5kcyBrZXlvZiBGaWVsZHMsXHJcbj4gPSB7XHJcbiAgZmllbGQ6IEZpZWxkc1tGaWVsZF0gZXh0ZW5kcyBzdHJpbmcgPyBGaWVsZHNbRmllbGRdIDogbmV2ZXI7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXJzZUhlbHBlckZpZWxkczxUIGV4dGVuZHMgTG9nRGVmaW5pdGlvblR5cGVzPiA9IHtcclxuICBbZmllbGQgaW4ga2V5b2YgTmV0RmllbGRzUmV2ZXJzZVtUXV06IFBhcnNlSGVscGVyRmllbGQ8VCwgTmV0RmllbGRzUmV2ZXJzZVtUXSwgZmllbGQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbG9nRGVmaW5pdGlvbnM7XHJcbiIsImltcG9ydCB7IE5ldFBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL25ldF9wcm9wcyc7XHJcbmltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IGxvZ0RlZmluaXRpb25zLCB7IExvZ0RlZmluaXRpb25UeXBlcywgUGFyc2VIZWxwZXJGaWVsZHMgfSBmcm9tICcuL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi9yZWdleGVzJztcclxuXHJcbmNvbnN0IHNlcGFyYXRvciA9ICdcXFxcfCc7XHJcbmNvbnN0IG1hdGNoRGVmYXVsdCA9ICdbXnxdKic7XHJcblxyXG4vLyBJZiBOZXRSZWdleGVzLnNldEZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgaXMgc2V0IHRvIHRydWUsIHRoZW4gYW55XHJcbi8vIHJlZ2V4IGNyZWF0ZWQgdGhhdCByZXF1aXJlcyBhIHRyYW5zbGF0aW9uIHdpbGwgYmVnaW4gd2l0aCB0aGlzIHN0cmluZ1xyXG4vLyBhbmQgbWF0Y2ggdGhlIG1hZ2ljU3RyaW5nUmVnZXguICBUaGlzIGlzIG1heWJlIGEgYml0IGdvb2Z5LCBidXQgaXNcclxuLy8gYSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIHdheSB0byBtYXJrIHJlZ2V4ZXMgZm9yIHRyYW5zbGF0aW9ucy5cclxuLy8gSWYgaXNzdWUgIzEzMDYgaXMgZXZlciByZXNvbHZlZCwgd2UgY2FuIHJlbW92ZSB0aGlzLlxyXG5jb25zdCBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nID0gYF5eYDtcclxuY29uc3QgbWFnaWNTdHJpbmdSZWdleCA9IC9eXFxeXFxeLztcclxuY29uc3Qga2V5c1RoYXRSZXF1aXJlVHJhbnNsYXRpb24gPSBbXHJcbiAgJ2FiaWxpdHknLFxyXG4gICduYW1lJyxcclxuICAnc291cmNlJyxcclxuICAndGFyZ2V0JyxcclxuICAnbGluZScsXHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0UGFyYW1zID0gPFxyXG4gIFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgbG9nRGVmaW5pdGlvbnMsXHJcbj4odHlwZTogVCwgaW5jbHVkZT86IHN0cmluZ1tdKTogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4gPT4ge1xyXG4gIGluY2x1ZGUgPz89IE9iamVjdC5rZXlzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcyk7XHJcbiAgY29uc3QgcGFyYW1zOiB7IFtpbmRleDogbnVtYmVyXTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9IH0gPSB7fTtcclxuXHJcbiAgZm9yIChjb25zdCBbcHJvcCwgaW5kZXhdIG9mIE9iamVjdC5lbnRyaWVzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcykpIHtcclxuICAgIGlmICghaW5jbHVkZS5pbmNsdWRlcyhwcm9wKSlcclxuICAgICAgY29udGludWU7XHJcbiAgICBjb25zdCBwYXJhbTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9ID0ge1xyXG4gICAgICBmaWVsZDogcHJvcCxcclxuICAgIH07XHJcbiAgICBpZiAocHJvcCA9PT0gJ3R5cGUnKVxyXG4gICAgICBwYXJhbS52YWx1ZSA9IGxvZ0RlZmluaXRpb25zW3R5cGVdLnR5cGU7XHJcblxyXG4gICAgcGFyYW1zW2luZGV4XSA9IHBhcmFtO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+O1xyXG59O1xyXG5cclxuY29uc3QgcGFyc2VIZWxwZXIgPSA8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4oXHJcbiAgcGFyYW1zOiB7IHRpbWVzdGFtcD86IHN0cmluZzsgY2FwdHVyZT86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCxcclxuICBmdW5jTmFtZTogc3RyaW5nLFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGZ1bmNOYW1lLCBbJ2NhcHR1cmUnLCAuLi52YWxpZEZpZWxkc10pO1xyXG5cclxuICAvLyBGaW5kIHRoZSBsYXN0IGtleSB3ZSBjYXJlIGFib3V0LCBzbyB3ZSBjYW4gc2hvcnRlbiB0aGUgcmVnZXggaWYgbmVlZGVkLlxyXG4gIGNvbnN0IGNhcHR1cmUgPSBSZWdleGVzLnRydWVJZlVuZGVmaW5lZChwYXJhbXMuY2FwdHVyZSk7XHJcbiAgY29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRzKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhKSAtIHBhcnNlSW50KGIpKTtcclxuICBsZXQgbWF4S2V5U3RyOiBzdHJpbmc7XHJcbiAgaWYgKGNhcHR1cmUpIHtcclxuICAgIG1heEtleVN0ciA9IGZpZWxkS2V5c1tmaWVsZEtleXMubGVuZ3RoIC0gMV0gPz8gJzAnO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBtYXhLZXlTdHIgPSAnMCc7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWVsZHMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5XSA/PyB7fTtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXldPy5maWVsZDtcclxuICAgICAgaWYgKGZpZWxkTmFtZSAmJiBmaWVsZE5hbWUgaW4gcGFyYW1zKVxyXG4gICAgICAgIG1heEtleVN0ciA9IGtleTtcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3QgbWF4S2V5ID0gcGFyc2VJbnQobWF4S2V5U3RyKTtcclxuXHJcbiAgLy8gRm9yIHRlc3RpbmcsIGl0J3MgdXNlZnVsIHRvIGtub3cgaWYgdGhpcyBpcyBhIHJlZ2V4IHRoYXQgcmVxdWlyZXNcclxuICAvLyB0cmFuc2xhdGlvbi4gIFdlIHRlc3QgdGhpcyBieSBzZWVpbmcgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpZWRcclxuICAvLyBmaWVsZHMsIGFuZCBpZiBzbywgaW5zZXJ0aW5nIGEgbWFnaWMgc3RyaW5nIHRoYXQgd2UgY2FuIGRldGVjdC5cclxuICAvLyBUaGlzIGxldHMgdXMgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFwicmVnZXggdGhhdCBzaG91bGQgYmUgdHJhbnNsYXRlZFwiXHJcbiAgLy8gZS5nLiBhIHJlZ2V4IHdpdGggYHRhcmdldGAgc3BlY2lmaWVkLCBhbmQgXCJyZWdleCB0aGF0IHNob3VsZG4ndFwiXHJcbiAgLy8gZS5nLiBhIGdhaW5zIGVmZmVjdCB3aXRoIGp1c3QgZWZmZWN0SWQgc3BlY2lmaWVkLlxyXG4gIGNvbnN0IHRyYW5zUGFyYW1zID0gT2JqZWN0LmtleXMocGFyYW1zKS5maWx0ZXIoKGspID0+IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uLmluY2x1ZGVzKGspKTtcclxuICBjb25zdCBuZWVkc1RyYW5zbGF0aW9ucyA9IE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCAmJiB0cmFuc1BhcmFtcy5sZW5ndGggPiAwO1xyXG5cclxuICAvLyBCdWlsZCB0aGUgcmVnZXggZnJvbSB0aGUgZmllbGRzLlxyXG4gIGxldCBzdHIgPSBuZWVkc1RyYW5zbGF0aW9ucyA/IG1hZ2ljVHJhbnNsYXRpb25TdHJpbmcgOiAnXic7XHJcbiAgbGV0IGxhc3RLZXkgPSAtMTtcclxuICBmb3IgKGNvbnN0IGtleVN0ciBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGtleSA9IHBhcnNlSW50KGtleVN0cik7XHJcbiAgICAvLyBGaWxsIGluIGJsYW5rcy5cclxuICAgIGNvbnN0IG1pc3NpbmdGaWVsZHMgPSBrZXkgLSBsYXN0S2V5IC0gMTtcclxuICAgIGlmIChtaXNzaW5nRmllbGRzID09PSAxKVxyXG4gICAgICBzdHIgKz0gJ1xcXFx5e05ldEZpZWxkfSc7XHJcbiAgICBlbHNlIGlmIChtaXNzaW5nRmllbGRzID4gMSlcclxuICAgICAgc3RyICs9IGBcXFxceXtOZXRGaWVsZH17JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBjb25zdCB2YWx1ZSA9IGZpZWxkc1trZXlTdHJdO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtmdW5jTmFtZX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXlTdHJdPy5maWVsZDtcclxuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBmaWVsZHNba2V5U3RyXT8udmFsdWU/LnRvU3RyaW5nKCkgPz8gbWF0Y2hEZWZhdWx0O1xyXG5cclxuICAgIGlmIChmaWVsZE5hbWUpIHtcclxuICAgICAgc3RyICs9IFJlZ2V4ZXMubWF5YmVDYXB0dXJlKFxyXG4gICAgICAgIC8vIG1vcmUgYWNjdXJhdGUgdHlwZSBpbnN0ZWFkIG9mIGBhc2AgY2FzdFxyXG4gICAgICAgIC8vIG1heWJlIHRoaXMgZnVuY3Rpb24gbmVlZHMgYSByZWZhY3RvcmluZ1xyXG4gICAgICAgIGNhcHR1cmUsXHJcbiAgICAgICAgZmllbGROYW1lLFxyXG4gICAgICAgIChwYXJhbXMgYXMgeyBbczogc3RyaW5nXTogc3RyaW5nIH0pW2ZpZWxkTmFtZV0sXHJcbiAgICAgICAgZmllbGRWYWx1ZSxcclxuICAgICAgKSArXHJcbiAgICAgICAgc2VwYXJhdG9yO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWUgKyBzZXBhcmF0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG4gIHJldHVybiBSZWdleGVzLnBhcnNlKHN0cikgYXMgQ2FjdGJvdEJhc2VSZWdFeHA8VD47XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXRSZWdleGVzIHtcclxuICBzdGF0aWMgZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCA9IGZhbHNlO1xyXG4gIHN0YXRpYyBzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3RhdGljIGRvZXNOZXRSZWdleE5lZWRUcmFuc2xhdGlvbihyZWdleDogUmVnRXhwIHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyBOZWVkIHRvIGBzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkYCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxyXG4gICAgY29uc29sZS5hc3NlcnQoTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkKTtcclxuICAgIGNvbnN0IHN0ciA9IHR5cGVvZiByZWdleCA9PT0gJ3N0cmluZycgPyByZWdleCA6IHJlZ2V4LnNvdXJjZTtcclxuICAgIHJldHVybiAhIW1hZ2ljU3RyaW5nUmVnZXguZXhlYyhzdHIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdhYmlsaXR5Jywge1xyXG4gICAgICAuLi5kZWZhdWx0UGFyYW1zKCdBYmlsaXR5JyksXHJcbiAgICAgIC8vIE92ZXJyaWRlIHR5cGVcclxuICAgICAgMDogeyBmaWVsZDogJ3R5cGUnLCB2YWx1ZTogJzJbMTJdJyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTUtbmV0d29ya2FiaWxpdHlcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTYtbmV0d29ya2FvZWFiaWxpdHlcclxuICAgKlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgYWJpbGl0eWAgaW5zdGVhZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5RnVsbChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FiaWxpdHknXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBYmlsaXR5Jz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWJpbGl0eShwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFiLW5ldHdvcmt0YXJnZXRpY29uLWhlYWQtbWFya2Vyc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBoZWFkTWFya2VyKHBhcmFtcz86IE5ldFBhcmFtc1snSGVhZE1hcmtlciddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0hlYWRNYXJrZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnaGVhZE1hcmtlcicsIGRlZmF1bHRQYXJhbXMoJ0hlYWRNYXJrZXInKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50KHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBZGRlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnYWRkZWRDb21iYXRhbnQnLFxyXG4gICAgICBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcsIFtcclxuICAgICAgICAndHlwZScsXHJcbiAgICAgICAgJ3RpbWVzdGFtcCcsXHJcbiAgICAgICAgJ2lkJyxcclxuICAgICAgICAnbmFtZScsXHJcbiAgICAgIF0pLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnRGdWxsKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdBZGRlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdhZGRlZENvbWJhdGFudEZ1bGwnLCBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwNC1yZW1vdmVjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgcmVtb3ZpbmdDb21iYXRhbnQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1JlbW92ZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUmVtb3ZlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdyZW1vdmluZ0NvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhdHVzRWZmZWN0RXhwbGljaXQnLCBkZWZhdWx0UGFyYW1zKCdTdGF0dXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWUtbmV0d29ya2J1ZmZyZW1vdmVcclxuICAgKi9cclxuICBzdGF0aWMgbG9zZXNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydMb3Nlc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0xvc2VzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2xvc2VzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnTG9zZXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjMtbmV0d29ya3RldGhlclxyXG4gICAqL1xyXG4gIHN0YXRpYyB0ZXRoZXIocGFyYW1zPzogTmV0UGFyYW1zWydUZXRoZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdUZXRoZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAndGV0aGVyJywgZGVmYXVsdFBhcmFtcygnVGV0aGVyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogJ3RhcmdldCcgd2FzIGRlZmVhdGVkIGJ5ICdzb3VyY2UnXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE5LW5ldHdvcmtkZWF0aFxyXG4gICAqL1xyXG4gIHN0YXRpYyB3YXNEZWZlYXRlZChwYXJhbXM/OiBOZXRQYXJhbXNbJ1dhc0RlZmVhdGVkJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnV2FzRGVmZWF0ZWQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnd2FzRGVmZWF0ZWQnLCBkZWZhdWx0UGFyYW1zKCdXYXNEZWZlYXRlZCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIGVjaG8ocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdlY2hvJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDAzOCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBkaWFsb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdkaWFsb2cnLFxyXG4gICAgICBbJ3R5cGUnLCAndGltZXN0YW1wJywgJ2NvZGUnLCAnbmFtZScsICdsaW5lJywgJ2NhcHR1cmUnXSxcclxuICAgICk7XHJcbiAgICBwYXJhbXMuY29kZSA9ICcwMDQ0JztcclxuICAgIHJldHVybiBOZXRSZWdleGVzLmdhbWVMb2cocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIG1lc3NhZ2UocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdtZXNzYWdlJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDgzOSc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHM6IGNvZGUsIG5hbWUsIGxpbmUsIGNhcHR1cmVcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnZ2FtZUxvZycsIGRlZmF1bHRQYXJhbXMoJ0dhbWVMb2cnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTmFtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMGMtcGxheWVyc3RhdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdENoYW5nZShwYXJhbXM/OiBOZXRQYXJhbXNbJ1BsYXllclN0YXRzJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUGxheWVyU3RhdHMnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhdENoYW5nZScsIGRlZmF1bHRQYXJhbXMoJ1BsYXllclN0YXRzJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAxLWNoYW5nZXpvbmVcclxuICAgKi9cclxuICBzdGF0aWMgY2hhbmdlWm9uZShwYXJhbXM/OiBOZXRQYXJhbXNbJ0NoYW5nZVpvbmUnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdDaGFuZ2Vab25lJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2NoYW5nZVpvbmUnLCBkZWZhdWx0UGFyYW1zKCdDaGFuZ2Vab25lJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIxLW5ldHdvcms2ZC1hY3Rvci1jb250cm9sLWxpbmVzXHJcbiAgICovXHJcbiAgc3RhdGljIG5ldHdvcms2ZChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FjdG9yQ29udHJvbCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FjdG9yQ29udHJvbCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduZXR3b3JrNmQnLCBkZWZhdWx0UGFyYW1zKCdBY3RvckNvbnRyb2wnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjItbmV0d29ya25hbWV0b2dnbGVcclxuICAgKi9cclxuICBzdGF0aWMgbmFtZVRvZ2dsZShwYXJhbXM/OiBOZXRQYXJhbXNbJ05hbWVUb2dnbGUnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdOYW1lVG9nZ2xlJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ25hbWVUb2dnbGUnLCBkZWZhdWx0UGFyYW1zKCdOYW1lVG9nZ2xlJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI4LW1hcFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXAocGFyYW1zPzogTmV0UGFyYW1zWydNYXAnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdNYXAnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbWFwJywgZGVmYXVsdFBhcmFtcygnTWFwJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI5LXN5c3RlbWxvZ21lc3NhZ2VcclxuICAgKi9cclxuICBzdGF0aWMgc3lzdGVtTG9nTWVzc2FnZShcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snU3lzdGVtTG9nTWVzc2FnZSddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTeXN0ZW1Mb2dNZXNzYWdlJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N5c3RlbUxvZ01lc3NhZ2UnLCBkZWZhdWx0UGFyYW1zKCdTeXN0ZW1Mb2dNZXNzYWdlJykpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBIZWxwZXIgRXJyb3IgZm9yIFR5cGVTY3JpcHQgc2l0dWF0aW9ucyB3aGVyZSB0aGUgcHJvZ3JhbW1lciB0aGlua3MgdGhleVxyXG4vLyBrbm93IGJldHRlciB0aGFuIFR5cGVTY3JpcHQgdGhhdCBzb21lIHNpdHVhdGlvbiB3aWxsIG5ldmVyIG9jY3VyLlxyXG5cclxuLy8gVGhlIGludGVudGlvbiBoZXJlIGlzIHRoYXQgdGhlIHByb2dyYW1tZXIgZG9lcyBub3QgZXhwZWN0IGEgcGFydGljdWxhclxyXG4vLyBiaXQgb2YgY29kZSB0byBoYXBwZW4sIGFuZCBzbyBoYXMgbm90IHdyaXR0ZW4gY2FyZWZ1bCBlcnJvciBoYW5kbGluZy5cclxuLy8gSWYgaXQgZG9lcyBvY2N1ciwgYXQgbGVhc3QgdGhlcmUgd2lsbCBiZSBhbiBlcnJvciBhbmQgd2UgY2FuIGZpZ3VyZSBvdXQgd2h5LlxyXG4vLyBUaGlzIGlzIHByZWZlcmFibGUgdG8gY2FzdGluZyBvciBkaXNhYmxpbmcgVHlwZVNjcmlwdCBhbHRvZ2V0aGVyIGluIG9yZGVyIHRvXHJcbi8vIGF2b2lkIHN5bnRheCBlcnJvcnMuXHJcblxyXG4vLyBPbmUgY29tbW9uIGV4YW1wbGUgaXMgYSByZWdleCwgd2hlcmUgaWYgdGhlIHJlZ2V4IG1hdGNoZXMgdGhlbiBhbGwgb2YgdGhlXHJcbi8vIChub24tb3B0aW9uYWwpIHJlZ2V4IGdyb3VwcyB3aWxsIGFsc28gYmUgdmFsaWQsIGJ1dCBUeXBlU2NyaXB0IGRvZXNuJ3Qga25vdy5cclxuZXhwb3J0IGNsYXNzIFVucmVhY2hhYmxlQ29kZSBleHRlbmRzIEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdUaGlzIGNvZGUgc2hvdWxkblxcJ3QgYmUgcmVhY2hlZCcpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBGdWxsTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuLy8gT3V0cHV0IHN0cmluZ3MgZm9yIG5vdyByZXF1aXJlIGEgZmllbGQgZm9yIGV2ZXJ5IGxhbmd1YWdlLCBzbyB0aGlzIGlzIGFcclxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIG9uZSBmb3IgbGl0ZXJhbCBudW1iZXJzLlxyXG5jb25zdCBudW1iZXJUb091dHB1dFN0cmluZyA9IGZ1bmN0aW9uKG46IG51bWJlcik6IEZ1bGxMb2NhbGVUZXh0IHtcclxuICBjb25zdCBzdHIgPSBuLnRvU3RyaW5nKCk7XHJcbiAgcmV0dXJuIHtcclxuICAgIGVuOiBzdHIsXHJcbiAgICBkZTogc3RyLFxyXG4gICAgZnI6IHN0cixcclxuICAgIGphOiBzdHIsXHJcbiAgICBjbjogc3RyLFxyXG4gICAga286IHN0cixcclxuICB9O1xyXG59O1xyXG5cclxuLy8gR2VuZXJhbCBndWlkZWxpbmVzOlxyXG4vLyAqIHByb3BlcnR5IG5hbWVzIHNob3VsZCBjbG9zZWx5IG1hdGNoIEVuZ2xpc2ggdGV4dFxyXG4vLyAqIHVzZSBPblBsYXllciBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke3BsYXllcn1gXHJcbi8vICogdXNlIE9uVGFyZ2V0IHN1ZmZpeCBmb3IgdGhpbmdzIHdpdGggYCR7bmFtZX1gXHJcbi8vICogYW55IG90aGVyIHBhcmFtZXRlcnMgKG9mIHdoaWNoIHRoZXJlIGFyZSBub25lLCBjdXJyZW50bHkpIHNob3VsZCB1c2UgY29uc2lzdGVudCBzdWZmaXhlcy5cclxuLy8gKiB0aGUgdmFsdWUgb2YgZWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgYSBzaW5nbGUgb2JqZWN0IHdpdGggbG9jYWxpemVkIGtleXNcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGFvZToge1xyXG4gICAgZW46ICdhb2UnLFxyXG4gICAgZGU6ICdBb0UnLFxyXG4gICAgZnI6ICdBb0UnLFxyXG4gICAgamE6ICdBb0UnLFxyXG4gICAgY246ICdBb0UnLFxyXG4gICAga286ICfsoITssrQg6rO16rKpJyxcclxuICB9LFxyXG4gIGJpZ0FvZToge1xyXG4gICAgZW46ICdiaWcgYW9lIScsXHJcbiAgICBkZTogJ0dyb8OfZSBBb0UhJyxcclxuICAgIGZyOiAnR3Jvc3NlIEFvRSAhJyxcclxuICAgIGphOiAn5aSn44OA44Oh44O844K4QW9FJyxcclxuICAgIGNuOiAn5aSnQW9F5Lyk5a6z77yBJyxcclxuICAgIGtvOiAn6rCV7ZWcIOyghOyytCDqs7XqsqkhJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXI6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXInLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyJyxcclxuICAgIGphOiAn44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5Z2m5YWL5q275YiRJyxcclxuICAgIGtvOiAn7YOx67KEJyxcclxuICB9LFxyXG4gIG1pbmlCdXN0ZXI6IHtcclxuICAgIGVuOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgZGU6ICdLbGVpbmVyIFRhbmtidXN0ZXInLFxyXG4gICAgZnI6ICdNaW5pIEJ1c3RlcicsXHJcbiAgICBqYTogJ+ODn+ODi+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+Wwj+atu+WIkScsXHJcbiAgICBrbzogJ+yVve2VnCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5q275YiRIOeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyT25Zb3U6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7YOx67KEIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICAvLyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSB0YW5rYnVzdGVycyBnb2luZyBvdXRcclxuICB0YW5rQnVzdGVyczoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlcnMnLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVycycsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUnLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBqYTogJ+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiCcsXHJcbiAgICBrbzogJ+q0keyXrSDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgYXZvaWRUYW5rQ2xlYXZlOiB7XHJcbiAgICBlbjogJ0F2b2lkIHRhbmsgY2xlYXZlJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUgYXVzd2VpY2hlbicsXHJcbiAgICBmcjogJ8OJdml0ZXogbGUgdGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoPjgpLpgb/jgZHjgosnLFxyXG4gICAgY246ICfov5znprvpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlT25Zb3U6IHtcclxuICAgIGVuOiAnVGFuayBjbGVhdmUgb24gWU9VJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUgYXVkIERJUicsXHJcbiAgICBmcjogJ1RhbmsgY2xlYXZlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5YmN5pa556+E5Zuy5pS75pKDJyxcclxuICAgIGNuOiAn6aG65YqI54K55ZCNJyxcclxuICAgIGtvOiAn64KY7JeQ6rKMIOq0keyXrSDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlcjoge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXInLFxyXG4gICAgZnI6ICdQYXJ0YWdleiBsZSBUYW5rIGJ1c3RlcicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkScsXHJcbiAgICBrbzogJ+yJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiBZT1UnLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBhdWYgRElSJyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgw6AgcGFydGFnZXIgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjgr/jg7Pjgq/jgrfjgqfjgqInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJHngrnlkI0nLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBzaGFyZWRUYW5rYnVzdGVyT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ2dldGVpbHRlciBUYW5rYnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn0g44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K5ICR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ImQ7Ja0IO2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rU3dhcDoge1xyXG4gICAgZW46ICdUYW5rIFN3YXAhJyxcclxuICAgIGRlOiAnVGFua3dlY2hzZWwhJyxcclxuICAgIGZyOiAnVGFuayBzd2FwICEnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jgrnjgqTjg4Pjg4EhJyxcclxuICAgIGNuOiAn5o2iVO+8gScsXHJcbiAgICBrbzogJ+2DsSDqtZDrjIAnLFxyXG4gIH0sXHJcbiAgc3ByZWFkOiB7XHJcbiAgICBlbjogJ1NwcmVhZCcsXHJcbiAgICBkZTogJ1ZlcnRlaWxlbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNlei12b3VzJyxcclxuICAgIGphOiAn5pWj6ZaLJyxcclxuICAgIGNuOiAn5YiG5pWjJyxcclxuICAgIGtvOiAn7IKw6rCcJyxcclxuICB9LFxyXG4gIHN0YWNrTWFya2VyOiB7XHJcbiAgICAvLyBmb3Igc3RhY2sgbWFya2VyIHNpdHVhdGlvbnNcclxuICAgIGVuOiAnU3RhY2snLFxyXG4gICAgZGU6ICdTYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMnLFxyXG4gICAgamE6ICfpoK3libLjgoonLFxyXG4gICAgY246ICfliIbmkYonLFxyXG4gICAga286ICfsiZDslrTrjoAnLFxyXG4gIH0sXHJcbiAgZ2V0VG9nZXRoZXI6IHtcclxuICAgIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6ZuG5ZCIJyxcclxuICAgIGNuOiAn6ZuG5ZCIJyxcclxuICAgIGtvOiAn66qo7J206riwJyxcclxuICB9LFxyXG4gIHN0YWNrT25Zb3U6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnQXVmIERJUiBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2FnZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiOeCueWQjScsXHJcbiAgICBrbzogJ+yJkOyWtOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc3RhY2tPblBsYXllcjoge1xyXG4gICAgZW46ICdTdGFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdBdWYgJHtwbGF5ZXJ9IHNhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cyBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr6ZuG5ZCIJyxcclxuICAgIGNuOiAn6Z2g6L+RICR7cGxheWVyfembhuWQiCcsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ImQ7Ja07KeVJyxcclxuICB9LFxyXG4gIHN0YWNrTWlkZGxlOiB7XHJcbiAgICBlbjogJ1N0YWNrIGluIG1pZGRsZScsXHJcbiAgICBkZTogJ0luIGRlciBNaXR0ZSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgYXUgbWlsaWV1JyxcclxuICAgIGphOiAn5Lit5aSu44Gn6ZuG5ZCIJyxcclxuICAgIGNuOiAn5Lit6Ze06ZuG5ZCIJyxcclxuICAgIGtvOiAn7KSR7JWZ7JeQ7IScIOuqqOydtOq4sCcsXHJcbiAgfSxcclxuICBkb3JpdG9TdGFjazoge1xyXG4gICAgZW46ICdEb3JpdG8gU3RhY2snLFxyXG4gICAgZGU6ICdNaXQgTWFya2VyIHNhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXogbGVzIG1hcnF1YWdlcycsXHJcbiAgICBqYTogJ+ODnuODvOOCq+ODvOS7mOOBkeOBn+S6uuOBqOmbhuWQiCcsXHJcbiAgICBjbjogJ+eCueWQjembhuWQiCcsXHJcbiAgICBrbzogJ+ynleuBvOumrCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgc3ByZWFkVGhlblN0YWNrOiB7XHJcbiAgICBlbjogJ1NwcmVhZCA9PiBTdGFjaycsXHJcbiAgICBkZTogJ1ZlcnRlaWxlbiA9PiBTYW1tZWxuJyxcclxuICAgIGZyOiAnRGlzcGVyc2lvbiA9PiBQYWNrYWdlJyxcclxuICAgIGphOiAn5pWj6ZaLID0+IOmbhuWQiCcsXHJcbiAgICBjbjogJ+WIhuaVoyA9PiDpm4blkIgnLFxyXG4gICAga286ICfsgrDqsJwgPT4g7KeR7ZWpJyxcclxuICB9LFxyXG4gIHN0YWNrVGhlblNwcmVhZDoge1xyXG4gICAgZW46ICdTdGFjayA9PiBTcHJlYWQnLFxyXG4gICAgZGU6ICdTYW1tZWxuID0+IFZlcnRlaWxlbicsXHJcbiAgICBmcjogJ1BhY2thZ2UgPT4gRGlzcGVyc2lvbicsXHJcbiAgICBqYTogJ+OCueOCv+ODg+OCryA9PiDmlaPplosnLFxyXG4gICAgY246ICfpm4blkIggPT4g5YiG5pWjJyxcclxuICAgIGtvOiAn7KeR7ZWpID0+IOyCsOqwnCcsXHJcbiAgfSxcclxuICBkcmF3SW46IHtcclxuICAgIC8vIE9wcG9zaXRlIG9mIGEga25vY2tiYWNrLlxyXG4gICAgZW46ICdEcmF3IEluJyxcclxuICAgIGRlOiAnRWluenVnJyxcclxuICAgIGZyOiAnQXR0cmFjdGlvbicsXHJcbiAgICBqYTogJ+WQuOi+vOOBvycsXHJcbiAgICBjbjogJ+WQuOW8lScsXHJcbiAgICBrbzogJ+uBjOyWtOuLueq5gCcsXHJcbiAgfSxcclxuICBrbm9ja2JhY2s6IHtcclxuICAgIGVuOiAnS25vY2tiYWNrJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnycsXHJcbiAgICBmcjogJ1BvdXNzw6llJyxcclxuICAgIGphOiAn44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCAJyxcclxuICAgIGtvOiAn64SJ67CxJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uWW91OiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiBZT1UnLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiBESVInLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgOeCueWQjScsXHJcbiAgICBrbzogJ+uEieuwseynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnS25vY2tiYWNrIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58gYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ1BvdXNzw6llIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOuEieuwseynlScsXHJcbiAgfSxcclxuICBsb29rVG93YXJkc0Jvc3M6IHtcclxuICAgIGVuOiAnTG9vayBUb3dhcmRzIEJvc3MnLFxyXG4gICAgZGU6ICdBbnNjaGF1ZW4gQm9zcycsXHJcbiAgICBmcjogJ1JlZ2FyZGV6IGxlIGJvc3MnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgosnLFxyXG4gICAgY246ICfpnaLlkJFCb3NzJyxcclxuICAgIGtvOiAn7LOQ64uk67O06riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5OiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheScsXHJcbiAgICBkZTogJ1dlZ3NjaGF1ZW4nLFxyXG4gICAgZnI6ICdSZWdhcmRleiBhaWxsZXVycycsXHJcbiAgICBqYTogJ+ODnOOCueOCkuimi+OBquOBhCcsXHJcbiAgICBjbjogJ+iDjOWvuUJvc3MnLFxyXG4gICAga286ICfrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgbG9va0F3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheSBmcm9tICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1NjaGF1IHdlZyB2b24gJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOCkuimi+OBquOBhCcsXHJcbiAgICBjbjogJ+iDjOWvuSR7cGxheWVyfScsXHJcbiAgICBrbzogJyR7cGxheWVyfeyXkOqyjOyEnCDrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheSBmcm9tICR7bmFtZX0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7bmFtZX0nLFxyXG4gICAgZnI6ICdOZSByZWdhcmRleiBwYXMgJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeyXkOqyjOyEnCDrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgZ2V0QmVoaW5kOiB7XHJcbiAgICBlbjogJ0dldCBCZWhpbmQnLFxyXG4gICAgZGU6ICdIaW50ZXIgaWhuJyxcclxuICAgIGZyOiAnUGFzc2V6IGRlcnJpw6hyZScsXHJcbiAgICBqYTogJ+iDjOmdouOBuCcsXHJcbiAgICBjbjogJ+WOu+iDjOWQjicsXHJcbiAgICBrbzogJ+uztOyKpCDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udE9yU2lkZXM6IHtcclxuICAgIGVuOiAnR28gRnJvbnQgLyBTaWRlcycsXHJcbiAgICBkZTogJ0dlaGUgbmFjaCBWb3JuZS8genUgZGVuIFNlaXRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudCAvIEPDtHTDqXMnLFxyXG4gICAgamE6ICfliY3vvI/mqKrjgbgnLFxyXG4gICAgY246ICfljrvliY3kvqfmlrknLFxyXG4gICAga286ICfrs7TsiqQg7ZuE67CpIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICBnb0Zyb250OiB7XHJcbiAgICBlbjogJ0dvIEZyb250JyxcclxuICAgIGRlOiAnR2VoIG5hY2ggdm9ybicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudCcsXHJcbiAgICBqYTogJ+WJjeOBuCcsXHJcbiAgICBjbjogJ+WOu+WJjemdoicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCcsXHJcbiAgfSxcclxuICAvLyBnZXRVbmRlciBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjoge1xyXG4gICAgZW46ICdHZXQgVW5kZXInLFxyXG4gICAgZGU6ICdVbnRlciBpaG4nLFxyXG4gICAgZnI6ICdFbiBkZXNzb3VzJyxcclxuICAgIGphOiAn44Oc44K544Gr6LK844KK5LuY44GPJyxcclxuICAgIGNuOiAn5Y676ISa5LiLJyxcclxuICAgIGtvOiAn67O07IqkIOyVhOuemOuhnCcsXHJcbiAgfSxcclxuICAvLyBpbiBpcyBtb3JlIGxpa2UgXCJnZXQgY2xvc2UgYnV0IG1heWJlIGV2ZW4gbWVsZWUgcmFuZ2UgaXMgZmluZVwiXHJcbiAgaW46IHtcclxuICAgIGVuOiAnSW4nLFxyXG4gICAgZGU6ICdSZWluJyxcclxuICAgIGZyOiAnSW50w6lyaWV1cicsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+mdoOi/kScsXHJcbiAgICBrbzogJ+yViOycvOuhnCcsXHJcbiAgfSxcclxuICAvLyBvdXQgbWVhbnMgZ2V0IGZhciBhd2F5XHJcbiAgb3V0OiB7XHJcbiAgICBlbjogJ091dCcsXHJcbiAgICBkZTogJ1JhdXMnLFxyXG4gICAgZnI6ICdFeHTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSW44G4JyxcclxuICAgIGNuOiAn6L+c56a7JyxcclxuICAgIGtvOiAn67CW7Jy866GcJyxcclxuICB9LFxyXG4gIG91dE9mTWVsZWU6IHtcclxuICAgIGVuOiAnT3V0IG9mIG1lbGVlJyxcclxuICAgIGRlOiAnUmF1cyBhdXMgTmFoa2FtcGYnLFxyXG4gICAgZnI6ICdTb3J0ZXogZGUgbGEgbcOqbMOpZScsXHJcbiAgICBqYTogJ+i/keaOpeacgOWkp+ODrOODs+OCuCcsXHJcbiAgICBjbjogJ+i/keaImOacgOi/nOi3neemu+WbnumBvycsXHJcbiAgICBrbzogJ+q3vOygkeuylOychCDrsJbsnLzroZwnLFxyXG4gIH0sXHJcbiAgaW5UaGVuT3V0OiB7XHJcbiAgICBlbjogJ0luLCB0aGVuIG91dCcsXHJcbiAgICBkZTogJ1JlaW4sIGRhbm4gcmF1cycsXHJcbiAgICBmcjogJ0ludMOpcmlldXIsIHB1aXMgZXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+S4rSA9PiDlpJYnLFxyXG4gICAgY246ICflhYjpnaDov5HvvIzlho3ov5znprsnLFxyXG4gICAga286ICfslYjsnLzroZwgPT4g67CW7Jy866GcJyxcclxuICB9LFxyXG4gIG91dFRoZW5Jbjoge1xyXG4gICAgZW46ICdPdXQsIHRoZW4gaW4nLFxyXG4gICAgZGU6ICdSYXVzLCBkYW5uIHJlaW4nLFxyXG4gICAgZnI6ICdFeHTDqXJpZXVyLCBwdWlzIGludMOpcmlldXInLFxyXG4gICAgamE6ICflpJYgPT4g5LitJyxcclxuICAgIGNuOiAn5YWI6L+c56a777yM5YaN6Z2g6L+RJyxcclxuICAgIGtvOiAn67CW7Jy866GcID0+IOyViOycvOuhnCcsXHJcbiAgfSxcclxuICBiYWNrVGhlbkZyb250OiB7XHJcbiAgICBlbjogJ0JhY2sgVGhlbiBGcm9udCcsXHJcbiAgICBkZTogJ05hY2ggSGludGVuLCBkYW5hY2ggbmFjaCBWb3JuZScsXHJcbiAgICBmcjogJ0RlcnJpw6hyZSBwdWlzIGRldmFudCcsXHJcbiAgICBqYTogJ+W+jOOCjSA9PiDliY0nLFxyXG4gICAgY246ICflkI4gPT4g5YmNJyxcclxuICAgIGtvOiAn65Kk66GcID0+IOyVnuycvOuhnCcsXHJcbiAgfSxcclxuICBmcm9udFRoZW5CYWNrOiB7XHJcbiAgICBlbjogJ0Zyb250IFRoZW4gQmFjaycsXHJcbiAgICBkZTogJ05hY2ggVm9ybmUsIGRhbmFjaCBuYWNoIEhpbnRlbicsXHJcbiAgICBmcjogJ0RldmFudCBwdWlzIGRlcnJpw6hyZScsXHJcbiAgICBqYTogJ+WJjSA9PiDlvozjgo0nLFxyXG4gICAgY246ICfliY0gPT4g5ZCOJyxcclxuICAgIGtvOiAn7JWe7Jy866GcID0+IOuSpOuhnCcsXHJcbiAgfSxcclxuICBnb0ludG9NaWRkbGU6IHtcclxuICAgIGVuOiAnR2V0IE1pZGRsZScsXHJcbiAgICBkZTogJ2luIGRpZSBNaXR0ZSBnZWhlbicsXHJcbiAgICBmcjogJ0FsbGV6IGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+WOu+S4remXtCcsXHJcbiAgICBrbzogJ+ykkeyVmeycvOuhnCcsXHJcbiAgfSxcclxuICByaWdodDoge1xyXG4gICAgZW46ICdSaWdodCcsXHJcbiAgICBkZTogJ1JlY2h0cycsXHJcbiAgICBmcjogJ8OAIGRyb2l0ZScsXHJcbiAgICBqYTogJ+WPs+OBuCcsXHJcbiAgICBjbjogJ+WPsycsXHJcbiAgICBrbzogJ+yYpOuluOyqvScsXHJcbiAgfSxcclxuICBsZWZ0OiB7XHJcbiAgICBlbjogJ0xlZnQnLFxyXG4gICAgZGU6ICdMaW5rcycsXHJcbiAgICBmcjogJ8OAIGdhdWNoZScsXHJcbiAgICBqYTogJ+W3puOBuCcsXHJcbiAgICBjbjogJ+W3picsXHJcbiAgICBrbzogJ+yZvOyqvScsXHJcbiAgfSxcclxuICBnZXRMZWZ0QW5kV2VzdDoge1xyXG4gICAgZW46ICc8PSBHZXQgTGVmdC9XZXN0JyxcclxuICAgIGRlOiAnPD0gTmFjaCBMaW5rcy9XZXN0ZW4nLFxyXG4gICAgZnI6ICc8PSBBbGxleiDDoCBHYXVjaGUvT3Vlc3QnLFxyXG4gICAgamE6ICc8PSDlt6Yv6KW/44G4JyxcclxuICAgIGNuOiAnPD0g5Y675bemL+ilv+i+uScsXHJcbiAgICBrbzogJzw9IOyZvOyqveycvOuhnCcsXHJcbiAgfSxcclxuICBnZXRSaWdodEFuZEVhc3Q6IHtcclxuICAgIGVuOiAnR2V0IFJpZ2h0L0Vhc3QgPT4nLFxyXG4gICAgZGU6ICdOYWNoIFJlY2h0cy9Pc3RlbiA9PicsXHJcbiAgICBmcjogJ0FsbGV6IMOgIERyb2l0ZS9Fc3QgPT4nLFxyXG4gICAgamE6ICflj7Mv5p2x44G4ID0+JyxcclxuICAgIGNuOiAn5Y675Y+zL+S4nOi+uSA9PicsXHJcbiAgICBrbzogJ+yYpOuluOyqveycvOuhnCA9PicsXHJcbiAgfSxcclxuICBnb0Zyb250QmFjazoge1xyXG4gICAgZW46ICdHbyBGcm9udC9CYWNrJyxcclxuICAgIGRlOiAnR2VoIG5hY2ggVm9ybmUvSGludGVuJyxcclxuICAgIGZyOiAnQWxsZXogRGV2YW50L0RlcnJpw6hyZScsXHJcbiAgICBqYTogJ+e4puOBuCcsXHJcbiAgICBjbjogJ+WOu+WJjeWQjicsXHJcbiAgICBrbzogJ+yVni/rkqTroZwnLFxyXG4gIH0sXHJcbiAgc2lkZXM6IHtcclxuICAgIGVuOiAnU2lkZXMnLFxyXG4gICAgZGU6ICdTZWl0ZW4nLFxyXG4gICAgZnI6ICdDw7R0w6lzJyxcclxuICAgIGphOiAn5qiq44G4JyxcclxuICAgIGNuOiAn5Y675L6n6Z2iJyxcclxuICAgIGtvOiAn7JaR7JiG7Jy866GcJyxcclxuICB9LFxyXG4gIG1pZGRsZToge1xyXG4gICAgZW46ICdNaWRkbGUnLFxyXG4gICAgZGU6ICdNaXR0ZScsXHJcbiAgICBmcjogJ01pbGlldScsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+S4remXtCcsXHJcbiAgICBrbzogJ+ykkeyVmScsXHJcbiAgfSxcclxuICAvLyBraWxsQWRkcyBpcyB1c2VkIGZvciBhZGRzIHRoYXQgd2lsbCBhbHdheXMgYmUgYXZhaWxhYmxlXHJcbiAga2lsbEFkZHM6IHtcclxuICAgIGVuOiAnS2lsbCBhZGRzJyxcclxuICAgIGRlOiAnQWRkcyBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbGVzIGFkZHMnLFxyXG4gICAgamE6ICfpm5HprZrjgpLlh6bnkIYnLFxyXG4gICAgY246ICflh7vmnYDlsI/mgKonLFxyXG4gICAga286ICfsq4Qg7J6h6riwJyxcclxuICB9LFxyXG4gIC8vIGtpbGxFeHRyYUFkZCBpcyB1c2VkIGZvciBhZGRzIHRoYXQgYXBwZWFyIGlmIGEgbWVjaGFuaWMgd2FzIG5vdCBwbGF5ZWQgY29ycmVjdGx5XHJcbiAga2lsbEV4dHJhQWRkOiB7XHJcbiAgICBlbjogJ0tpbGwgRXh0cmEgQWRkJyxcclxuICAgIGRlOiAnQWRkIGJlc2llZ2VuJyxcclxuICAgIGZyOiAnVHVleiBsXFwnYWRkJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5YCS44GZJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICBhd2F5RnJvbUZyb250OiB7XHJcbiAgICBlbjogJ0F3YXkgRnJvbSBGcm9udCcsXHJcbiAgICBkZTogJ1dlZyB2b24gVm9ybmUnLFxyXG4gICAgZnI6ICfDiWxvaWduZXotdm91cyBkdSBkZXZhbnQnLFxyXG4gICAgamE6ICfliY3mlrnjgYvjgonpm6LjgozjgosnLFxyXG4gICAgY246ICfov5znprvmraPpnaInLFxyXG4gICAga286ICfrs7TsiqQg7KCE67CpIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICBzbGVlcFRhcmdldDoge1xyXG4gICAgZW46ICdTbGVlcCAke25hbWV9JyxcclxuICAgIGRlOiAnU2NobGFmIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnU29tbWVpbCBzdXIgJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr44K544Oq44OX44OrJyxcclxuICAgIGNuOiAn5YKs55ygICR7bmFtZX0nLFxyXG4gICAga286ICcke25hbWV9IOyKrOumrO2UjCcsXHJcbiAgfSxcclxuICBzdHVuVGFyZ2V0OiB7XHJcbiAgICBlbjogJ1N0dW4gJHtuYW1lfScsXHJcbiAgICBkZTogJ0JldMOkdWJ1bmcgYXVmICR7bmFtZX0nLFxyXG4gICAgZnI6ICfDiXRvdXJkaXNzZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr44K544K/44OzJyxcclxuICAgIGNuOiAn55yp5pmVICR7bmFtZX0nLFxyXG4gICAga286ICcke25hbWV96riw7KCIJyxcclxuICB9LFxyXG4gIGludGVycnVwdFRhcmdldDoge1xyXG4gICAgZW46ICdpbnRlcnJ1cHQgJHtuYW1lfScsXHJcbiAgICBkZTogJ3VudGVyYnJlY2hlICR7bmFtZX0nLFxyXG4gICAgZnI6ICdJbnRlcnJvbXBleiAke25hbWV9JyxcclxuICAgIGphOiAnJHtuYW1lfSDjgavmsojpu5knLFxyXG4gICAgY246ICfmiZPmlq0ke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOyIoCDsi5zsoIQg64GK6riwJyxcclxuICB9LFxyXG4gIHByZXlPbllvdToge1xyXG4gICAgZW46ICdQcmV5IG9uIFlPVScsXHJcbiAgICBkZTogJ01hcmtlciBhdWYgRElSJyxcclxuICAgIGZyOiAnTWFycXVhZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0nLFxyXG4gICAga286ICftmY3smKXsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHByZXlPblBsYXllcjoge1xyXG4gICAgZW46ICdQcmV5IG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ01hcmtlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnTWFycXVhZ2Ugc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+aNlemjnycsXHJcbiAgICBjbjogJ+aOoOmjn+eCueWQjSR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ZmN7Jil7KeVJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tR3JvdXA6IHtcclxuICAgIGVuOiAnQXdheSBmcm9tIEdyb3VwJyxcclxuICAgIGRlOiAnV2VnIHZvbiBkZXIgR3J1cHBlJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZ3JvdXBlJyxcclxuICAgIGphOiAn5aSW44G4JyxcclxuICAgIGNuOiAn6L+c56a75Lq6576kJyxcclxuICAgIGtvOiAn64uk66W4IOyCrOuejOuTpOydtOuekSDrlqjslrTsp4DquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21QbGF5ZXI6IHtcclxuICAgIGVuOiAnQXdheSBmcm9tICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1dlZyB2b24gJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZGUgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a7JHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIuyXkOyEnCDrqYDslrTsp4DquLAnLFxyXG4gIH0sXHJcbiAgbWV0ZW9yT25Zb3U6IHtcclxuICAgIGVuOiAnTWV0ZW9yIG9uIFlPVScsXHJcbiAgICBkZTogJ01ldGVvciBhdWYgRElSJyxcclxuICAgIGZyOiAnTcOpdMOpb3JlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44Oh44OG44KqJyxcclxuICAgIGNuOiAn6Zmo55+z54K55ZCNJyxcclxuICAgIGtvOiAn64KY7JeQ6rKMIOuplO2FjOyYpOynlScsXHJcbiAgfSxcclxuICBzdG9wTW92aW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgTW92aW5nIScsXHJcbiAgICBkZTogJ0Jld2VndW5nIHN0b3BwZW4hJyxcclxuICAgIGZyOiAnTmUgYm91Z2V6IHBhcyAhJyxcclxuICAgIGphOiAn56e75YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i56e75Yqo77yBJyxcclxuICAgIGtvOiAn7J2064+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgc3RvcEV2ZXJ5dGhpbmc6IHtcclxuICAgIGVuOiAnU3RvcCBFdmVyeXRoaW5nIScsXHJcbiAgICBkZTogJ1N0b3BwZSBBbGxlcyEnLFxyXG4gICAgZnI6ICdBcnLDqnRleiBUT1VUICEnLFxyXG4gICAgamE6ICfooYzli5XnpoHmraLvvIEnLFxyXG4gICAgY246ICflgZzmraLooYzliqjvvIEnLFxyXG4gICAga286ICftlonrj5kg66mI7LaU6riwIScsXHJcbiAgfSxcclxuICBtb3ZlQXdheToge1xyXG4gICAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICAgIGVuOiAnTW92ZSEnLFxyXG4gICAgZGU6ICdCZXdlZ2VuIScsXHJcbiAgICBmcjogJ0JvdWdleiAhJyxcclxuICAgIGphOiAn6YG/44GR44Gm77yBJyxcclxuICAgIGNuOiAn5b+r6Lqy5byA77yBJyxcclxuICAgIGtvOiAn7J2064+Z7ZWY6riwIScsXHJcbiAgfSxcclxuICBtb3ZlQXJvdW5kOiB7XHJcbiAgICAvLyBtb3ZlIGFyb3VuZCAoZS5nLiBqdW1waW5nKSB0byBhdm9pZCBiZWluZyBmcm96ZW5cclxuICAgIGVuOiAnTW92ZSEnLFxyXG4gICAgZGU6ICdCZXdlZ2VuIScsXHJcbiAgICBmcjogJ0JvdWdleiAhJyxcclxuICAgIGphOiAn5YuV44GP77yBJyxcclxuICAgIGNuOiAn5b+r5Yqo77yBJyxcclxuICAgIGtvOiAn7JuA7KeB7J206riwIScsXHJcbiAgfSxcclxuICBicmVha0NoYWluczoge1xyXG4gICAgZW46ICdCcmVhayBjaGFpbnMnLFxyXG4gICAgZGU6ICdLZXR0ZSB6ZXJicmVjaGVuJyxcclxuICAgIGZyOiAnQnJpc2V6IGxlcyBjaGFpbmVzJyxcclxuICAgIGphOiAn57ea44KS5YiH44KLJyxcclxuICAgIGNuOiAn5YiH5pat6L+e57q/JyxcclxuICAgIGtvOiAn7ISgIOuBiuq4sCcsXHJcbiAgfSxcclxuICBtb3ZlQ2hhaW5zVG9nZXRoZXI6IHtcclxuICAgIGVuOiAnTW92ZSBjaGFpbnMgdG9nZXRoZXInLFxyXG4gICAgZGU6ICdLZXR0ZW4genVzYW1tZW4gYmV3ZWdlbicsXHJcbiAgICBmcjogJ0JvdWdleiBsZXMgY2hhaW5lcyBlbnNlbWJsZScsXHJcbiAgICBqYTogJ+e3muWQjOWjq+S4gOe3kuOBq+enu+WLlScsXHJcbiAgICBjbjogJ+i/nue6v+S4gOi1t+enu+WKqCcsXHJcbiAgICBrbzogJ+yEoCDrtpnslrTshJwg6rCZ7J20IOybgOyngeydtOq4sCcsXHJcbiAgfSxcclxuICBlYXJ0aHNoYWtlck9uWW91OiB7XHJcbiAgICBlbjogJ0VhcnRoIFNoYWtlciBvbiBZT1UnLFxyXG4gICAgZGU6ICdFcmRzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnTWFycXVlIGRlIHRlcnJlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44Ki44O844K544K344Kn44Kk44Kr44O8JyxcclxuICAgIGNuOiAn5aSn5Zyw5pGH5Yqo54K55ZCNJyxcclxuICAgIGtvOiAn7Ja07Iqk7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICB3YWtlVXA6IHtcclxuICAgIGVuOiAnV0FLRSBVUCcsXHJcbiAgICBkZTogJ0FVRldBQ0hFTicsXHJcbiAgICBmcjogJ1LDiVZFSUxMRS1UT0knLFxyXG4gICAgamE6ICfnm67jgpLopprjgb7jgZfjgabvvIEnLFxyXG4gICAgY246ICfphpLphpLvvIHliqjkuIDliqjvvIHvvIEnLFxyXG4gICAga286ICfsnbzslrTrgpjshLjsmpQhJyxcclxuICB9LFxyXG4gIGNsb3NlVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnQ2xvc2UgVGV0aGVycyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBkZTogJ05haGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgcHJvY2hlcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnKCR7cGxheWVyfSnjgavov5HjgaXjgY8nLFxyXG4gICAgY246ICfpnaDov5Hov57nur8gKCR7cGxheWVyfSknLFxyXG4gICAga286ICfsg4HrjIDsmYAg6rCA6rmM7J20IOu2meq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICBmYXJUZXRoZXJzV2l0aFBsYXllcjoge1xyXG4gICAgZW46ICdGYXIgVGV0aGVycyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBkZTogJ0VudGZlcm50ZSBWZXJiaW5kdW5nZW4gKCR7cGxheWVyfSknLFxyXG4gICAgZnI6ICdMaWVucyDDqWxvaWduw6lzIGF2ZWMgKCR7cGxheWVyfSknLFxyXG4gICAgamE6ICcgKCR7cGxheWVyfSnjgYvjgonpm6LjgozjgosnLFxyXG4gICAgY246ICfov5znprvov57nur8gKCR7cGxheWVyfSknLFxyXG4gICAga286ICfsg4HrjIDsmYAg65ao7Ja07KeA6riwICgke3BsYXllcn0pJyxcclxuICB9LFxyXG4gIHVua25vd246IHtcclxuICAgIGVuOiAnPz8/JyxcclxuICAgIGRlOiAnPz8/JyxcclxuICAgIGZyOiAnPz8/JyxcclxuICAgIGphOiAnPz8/JyxcclxuICAgIGNuOiAnPz8/JyxcclxuICAgIGtvOiAnPz8/JyxcclxuICB9LFxyXG4gIG5vcnRoOiB7XHJcbiAgICBlbjogJ05vcnRoJyxcclxuICAgIGRlOiAnTm9yZGVuJyxcclxuICAgIGZyOiAnTm9yZCcsXHJcbiAgICBqYTogJ+WMlycsXHJcbiAgICBjbjogJ+S4iijljJcpJyxcclxuICAgIGtvOiAn67aB7Kq9JyxcclxuICB9LFxyXG4gIHNvdXRoOiB7XHJcbiAgICBlbjogJ1NvdXRoJyxcclxuICAgIGRlOiAnU8O8ZGVuJyxcclxuICAgIGZyOiAnU3VkJyxcclxuICAgIGphOiAn5Y2XJyxcclxuICAgIGNuOiAn5LiLKOWNlyknLFxyXG4gICAga286ICfrgqjsqr0nLFxyXG4gIH0sXHJcbiAgZWFzdDoge1xyXG4gICAgZW46ICdFYXN0JyxcclxuICAgIGRlOiAnT3N0ZW4nLFxyXG4gICAgZnI6ICdFc3QnLFxyXG4gICAgamE6ICfmnbEnLFxyXG4gICAgY246ICflj7Mo5LicKScsXHJcbiAgICBrbzogJ+uPmeyqvScsXHJcbiAgfSxcclxuICB3ZXN0OiB7XHJcbiAgICBlbjogJ1dlc3QnLFxyXG4gICAgZGU6ICdXZXN0ZW4nLFxyXG4gICAgZnI6ICdPdWVzdCcsXHJcbiAgICBqYTogJ+ilvycsXHJcbiAgICBjbjogJ+W3pijopb8pJyxcclxuICAgIGtvOiAn7ISc7Kq9JyxcclxuICB9LFxyXG4gIG5vcnRod2VzdDoge1xyXG4gICAgZW46ICdOb3J0aHdlc3QnLFxyXG4gICAgZGU6ICdOb3Jkd2VzdGVuJyxcclxuICAgIGZyOiAnTm9yZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WMl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iijopb/ljJcpJyxcclxuICAgIGtvOiAn67aB7IScJyxcclxuICB9LFxyXG4gIG5vcnRoZWFzdDoge1xyXG4gICAgZW46ICdOb3J0aGVhc3QnLFxyXG4gICAgZGU6ICdOb3Jkb3N0ZW4nLFxyXG4gICAgZnI6ICdOb3JkLUVzdCcsXHJcbiAgICBqYTogJ+WMl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iijkuJzljJcpJyxcclxuICAgIGtvOiAn67aB64+ZJyxcclxuICB9LFxyXG4gIHNvdXRod2VzdDoge1xyXG4gICAgZW46ICdTb3V0aHdlc3QnLFxyXG4gICAgZGU6ICdTw7xkd2VzdGVuJyxcclxuICAgIGZyOiAnU3VkLU91ZXN0JyxcclxuICAgIGphOiAn5Y2X6KW/JyxcclxuICAgIGNuOiAn5bem5LiLKOilv+WNlyknLFxyXG4gICAga286ICfrgqjshJwnLFxyXG4gIH0sXHJcbiAgc291dGhlYXN0OiB7XHJcbiAgICBlbjogJ1NvdXRoZWFzdCcsXHJcbiAgICBkZTogJ1PDvGRvc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1Fc3QnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICBkaXJOOiB7XHJcbiAgICBlbjogJ04nLFxyXG4gICAgZGU6ICdOJyxcclxuICAgIGZyOiAnTicsXHJcbiAgICBqYTogJ+WMlycsXHJcbiAgICBjbjogJ+S4iijljJcpJyxcclxuICAgIGtvOiAn67aB7Kq9JyxcclxuICB9LFxyXG4gIGRpclM6IHtcclxuICAgIGVuOiAnUycsXHJcbiAgICBkZTogJ1MnLFxyXG4gICAgZnI6ICdTJyxcclxuICAgIGphOiAn5Y2XJyxcclxuICAgIGNuOiAn5LiLKOWNlyknLFxyXG4gICAga286ICfrgqjsqr0nLFxyXG4gIH0sXHJcbiAgZGlyRToge1xyXG4gICAgZW46ICdFJyxcclxuICAgIGRlOiAnTycsXHJcbiAgICBmcjogJ0UnLFxyXG4gICAgamE6ICfmnbEnLFxyXG4gICAgY246ICflj7Mo5LicKScsXHJcbiAgICBrbzogJ+uPmeyqvScsXHJcbiAgfSxcclxuICBkaXJXOiB7XHJcbiAgICBlbjogJ1cnLFxyXG4gICAgZGU6ICdXJyxcclxuICAgIGZyOiAnTycsXHJcbiAgICBqYTogJ+ilvycsXHJcbiAgICBjbjogJ+W3pijopb8pJyxcclxuICAgIGtvOiAn7ISc7Kq9JyxcclxuICB9LFxyXG4gIGRpck5XOiB7XHJcbiAgICBlbjogJ05XJyxcclxuICAgIGRlOiAnTlcnLFxyXG4gICAgZnI6ICdOTycsXHJcbiAgICBqYTogJ+WMl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iijopb/ljJcpJyxcclxuICAgIGtvOiAn67aB7IScJyxcclxuICB9LFxyXG4gIGRpck5FOiB7XHJcbiAgICBlbjogJ05FJyxcclxuICAgIGRlOiAnTk8nLFxyXG4gICAgZnI6ICdORScsXHJcbiAgICBqYTogJ+WMl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iijkuJzljJcpJyxcclxuICAgIGtvOiAn67aB64+ZJyxcclxuICB9LFxyXG4gIGRpclNXOiB7XHJcbiAgICBlbjogJ1NXJyxcclxuICAgIGRlOiAnU1cnLFxyXG4gICAgZnI6ICdTTycsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIGRpclNFOiB7XHJcbiAgICBlbjogJ1NFJyxcclxuICAgIGRlOiAnU08nLFxyXG4gICAgZnI6ICdTRScsXHJcbiAgICBqYTogJ+WNl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iyjkuJzljZcpJyxcclxuICAgIGtvOiAn64Ko64+ZJyxcclxuICB9LFxyXG4gIC8vIExpdGVyYWwgbnVtYmVycy5cclxuICBudW0wOiBudW1iZXJUb091dHB1dFN0cmluZygwKSxcclxuICBudW0xOiBudW1iZXJUb091dHB1dFN0cmluZygxKSxcclxuICBudW0yOiBudW1iZXJUb091dHB1dFN0cmluZygyKSxcclxuICBudW0zOiBudW1iZXJUb091dHB1dFN0cmluZygzKSxcclxuICBudW00OiBudW1iZXJUb091dHB1dFN0cmluZyg0KSxcclxuICBudW01OiBudW1iZXJUb091dHB1dFN0cmluZyg1KSxcclxuICBudW02OiBudW1iZXJUb091dHB1dFN0cmluZyg2KSxcclxuICBudW03OiBudW1iZXJUb091dHB1dFN0cmluZyg3KSxcclxuICBudW04OiBudW1iZXJUb091dHB1dFN0cmluZyg4KSxcclxuICBudW05OiBudW1iZXJUb091dHB1dFN0cmluZyg5KSxcclxufSBhcyBjb25zdDtcclxuIiwiLy8gT3ZlcmxheVBsdWdpbiBBUEkgc2V0dXBcclxuXHJcbmltcG9ydCB7XHJcbiAgRXZlbnRNYXAsXHJcbiAgRXZlbnRUeXBlLFxyXG4gIElPdmVybGF5SGFuZGxlcixcclxuICBPdmVybGF5SGFuZGxlckZ1bmNzLFxyXG4gIE92ZXJsYXlIYW5kbGVyVHlwZXMsXHJcbn0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5cclxudHlwZSBCYXNlUmVzcG9uc2UgPSB7IHJzZXE/OiBudW1iZXI7ICckZXJyb3InPzogYm9vbGVhbiB9O1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBXaW5kb3cge1xyXG4gICAgX19PdmVybGF5Q2FsbGJhY2s6IEV2ZW50TWFwW0V2ZW50VHlwZV07XHJcbiAgICBkaXNwYXRjaE92ZXJsYXlFdmVudD86IHR5cGVvZiBwcm9jZXNzRXZlbnQ7XHJcbiAgICBPdmVybGF5UGx1Z2luQXBpOiB7XHJcbiAgICAgIHJlYWR5OiBib29sZWFuO1xyXG4gICAgICBjYWxsSGFuZGxlcjogKG1zZzogc3RyaW5nLCBjYj86ICh2YWx1ZTogc3RyaW5nKSA9PiB1bmtub3duKSA9PiB2b2lkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGFkZE92ZXJsYXlMaXN0ZW5lciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXI6IElBZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyByZW1vdmVPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyOiBJUmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIGNhbGxPdmVybGF5SGFuZGxlcjogSU92ZXJsYXlIYW5kbGVyO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBJQWRkT3ZlcmxheUxpc3RlbmVyID0gPFQgZXh0ZW5kcyBFdmVudFR5cGU+KGV2ZW50OiBULCBjYjogRXZlbnRNYXBbVF0pID0+IHZvaWQ7XHJcbnR5cGUgSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG5cclxudHlwZSBTdWJzY3JpYmVyPFQ+ID0ge1xyXG4gIFtrZXkgaW4gRXZlbnRUeXBlXT86IFRbXTtcclxufTtcclxudHlwZSBFdmVudFBhcmFtZXRlciA9IFBhcmFtZXRlcnM8RXZlbnRNYXBbRXZlbnRUeXBlXT5bMF07XHJcbnR5cGUgVm9pZEZ1bmM8VD4gPSAoLi4uYXJnczogVFtdKSA9PiB2b2lkO1xyXG5cclxubGV0IGluaXRlZCA9IGZhbHNlO1xyXG5cclxubGV0IHdzVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxubGV0IHdzOiBXZWJTb2NrZXQgfCBudWxsID0gbnVsbDtcclxubGV0IHF1ZXVlOiAoXHJcbiAgfCB7IFtzOiBzdHJpbmddOiB1bmtub3duIH1cclxuICB8IFt7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sICgodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHVua25vd24pIHwgdW5kZWZpbmVkXVxyXG4pW10gfCBudWxsID0gW107XHJcbmxldCByc2VxQ291bnRlciA9IDA7XHJcbnR5cGUgUHJvbWlzZUZ1bmNzID0ge1xyXG4gIHJlc29sdmU6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcclxuICByZWplY3Q6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcclxufTtcclxuY29uc3QgcmVzcG9uc2VQcm9taXNlczogeyBbcnNlcUlkeDogbnVtYmVyXTogUHJvbWlzZUZ1bmNzIH0gPSB7fTtcclxuXHJcbmNvbnN0IHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPFZvaWRGdW5jPHVua25vd24+PiA9IHt9O1xyXG5cclxuY29uc3Qgc2VuZE1lc3NhZ2UgPSAoXHJcbiAgbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgY2I/OiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHVua25vd24sXHJcbik6IHZvaWQgPT4ge1xyXG4gIGlmICh3cykge1xyXG4gICAgaWYgKHF1ZXVlKVxyXG4gICAgICBxdWV1ZS5wdXNoKG1zZyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHdzLnNlbmQoSlNPTi5zdHJpbmdpZnkobXNnKSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChbbXNnLCBjYl0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5jYWxsSGFuZGxlcihKU09OLnN0cmluZ2lmeShtc2cpLCBjYik7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc0V2ZW50ID0gPFQgZXh0ZW5kcyBFdmVudFR5cGU+KG1zZzogUGFyYW1ldGVyczxFdmVudE1hcFtUXT5bMF0pOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGNvbnN0IHN1YnMgPSBzdWJzY3JpYmVyc1ttc2cudHlwZV07XHJcbiAgc3Vicz8uZm9yRWFjaCgoc3ViKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBzdWIobXNnKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkaXNwYXRjaE92ZXJsYXlFdmVudCA9IHByb2Nlc3NFdmVudDtcclxuXHJcbmV4cG9ydCBjb25zdCBhZGRPdmVybGF5TGlzdGVuZXI6IElBZGRPdmVybGF5TGlzdGVuZXIgPSAoZXZlbnQsIGNiKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBpZiAoIXN1YnNjcmliZXJzW2V2ZW50XSkge1xyXG4gICAgc3Vic2NyaWJlcnNbZXZlbnRdID0gW107XHJcblxyXG4gICAgaWYgKCFxdWV1ZSkge1xyXG4gICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgZXZlbnRzOiBbZXZlbnRdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1YnNjcmliZXJzW2V2ZW50XT8ucHVzaChjYiBhcyBWb2lkRnVuYzx1bmtub3duPik7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyOiBJUmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKHN1YnNjcmliZXJzW2V2ZW50XSkge1xyXG4gICAgY29uc3QgbGlzdCA9IHN1YnNjcmliZXJzW2V2ZW50XTtcclxuICAgIGNvbnN0IHBvcyA9IGxpc3Q/LmluZGV4T2YoY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG5cclxuICAgIGlmIChwb3MgIT09IHVuZGVmaW5lZCAmJiBwb3MgPiAtMSlcclxuICAgICAgbGlzdD8uc3BsaWNlKHBvcywgMSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGNvbnN0IG1zZyA9IHtcclxuICAgIC4uLl9tc2csXHJcbiAgICByc2VxOiAwLFxyXG4gIH07XHJcbiAgbGV0IHA6IFByb21pc2U8dW5rbm93bj47XHJcblxyXG4gIGlmICh3cykge1xyXG4gICAgbXNnLnJzZXEgPSByc2VxQ291bnRlcisrO1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gPSB7IHJlc29sdmU6IHJlc29sdmUsIHJlamVjdDogcmVqZWN0IH07XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZW5kTWVzc2FnZShtc2cpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBwID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBzZW5kTWVzc2FnZShtc2csIChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGRhdGEpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGRhdGEpIGFzIEJhc2VSZXNwb25zZTtcclxuICAgICAgICBpZiAocGFyc2VkWyckZXJyb3InXSlcclxuICAgICAgICAgIHJlamVjdChwYXJzZWQpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHJlc29sdmUocGFyc2VkKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwO1xyXG59O1xyXG5cclxudHlwZSBPdmVycmlkZU1hcCA9IHsgW2NhbGwgaW4gT3ZlcmxheUhhbmRsZXJUeXBlc10/OiBPdmVybGF5SGFuZGxlckZ1bmNzW2NhbGxdIH07XHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwOiBPdmVycmlkZU1hcCA9IHt9O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNhbGxPdmVybGF5SGFuZGxlcjogSU92ZXJsYXlIYW5kbGVyID0gKFxyXG4gIF9tc2c6IHsgW3M6IHN0cmluZ106IHVua25vd24gfSxcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4pOiBQcm9taXNlPGFueT4gPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgLy8gSWYgdGhpcyBgYXNgIGlzIGluY29ycmVjdCwgdGhlbiBpdCB3aWxsIG5vdCBmaW5kIGFuIG92ZXJyaWRlLlxyXG4gIC8vIFRPRE86IHdlIGNvdWxkIGFsc28gcmVwbGFjZSB0aGlzIHdpdGggYSB0eXBlIGd1YXJkLlxyXG4gIGNvbnN0IHR5cGUgPSBfbXNnLmNhbGwgYXMga2V5b2YgT3ZlcnJpZGVNYXA7XHJcbiAgY29uc3QgY2FsbEZ1bmMgPSBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA/PyBjYWxsT3ZlcmxheUhhbmRsZXJJbnRlcm5hbDtcclxuXHJcbiAgLy8gVGhlIGBJT3ZlcmxheUhhbmRsZXJgIHR5cGUgZ3VhcmFudGVlcyB0aGF0IHBhcmFtZXRlcnMvcmV0dXJuIHR5cGUgbWF0Y2hcclxuICAvLyBvbmUgb2YgdGhlIG92ZXJsYXkgaGFuZGxlcnMuICBUaGUgT3ZlcnJpZGVNYXAgYWxzbyBvbmx5IHN0b3JlcyBmdW5jdGlvbnNcclxuICAvLyB0aGF0IG1hdGNoIGJ5IHRoZSBkaXNjcmltaW5hdGluZyBgY2FsbGAgZmllbGQsIGFuZCBzbyBhbnkgb3ZlcnJpZGVzXHJcbiAgLy8gc2hvdWxkIGJlIGNvcnJlY3QgaGVyZS5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcclxuICByZXR1cm4gY2FsbEZ1bmMoX21zZyBhcyBhbnkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUgPSA8VCBleHRlbmRzIGtleW9mIE92ZXJsYXlIYW5kbGVyRnVuY3M+KFxyXG4gIHR5cGU6IFQsXHJcbiAgb3ZlcnJpZGU/OiBPdmVybGF5SGFuZGxlckZ1bmNzW1RdLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAoIW92ZXJyaWRlKSB7XHJcbiAgICBkZWxldGUgY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV07XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdID0gb3ZlcnJpZGU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdCA9ICgpOiB2b2lkID0+IHtcclxuICBpZiAoaW5pdGVkKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIHdzVXJsID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoJ09WRVJMQVlfV1MnKTtcclxuICAgIGlmICh3c1VybCAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBjb25uZWN0V3MgPSBmdW5jdGlvbih3c1VybDogc3RyaW5nKSB7XHJcbiAgICAgICAgd3MgPSBuZXcgV2ViU29ja2V0KHdzVXJsKTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignb3BlbicsICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdDb25uZWN0ZWQhJyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgcSA9IHF1ZXVlID8/IFtdO1xyXG4gICAgICAgICAgcXVldWUgPSBudWxsO1xyXG5cclxuICAgICAgICAgIHNlbmRNZXNzYWdlKHtcclxuICAgICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICAgIGV2ZW50czogT2JqZWN0LmtleXMoc3Vic2NyaWJlcnMpLFxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgZm9yIChjb25zdCBtc2cgb2YgcSkge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobXNnKSlcclxuICAgICAgICAgICAgICBzZW5kTWVzc2FnZShtc2cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB3cy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKF9tc2cpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgX21zZy5kYXRhICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSBkYXRhIHJlY2VpdmVkOiAnLCBfbXNnKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbXNnID0gSlNPTi5wYXJzZShfbXNnLmRhdGEpIGFzIEV2ZW50UGFyYW1ldGVyICYgQmFzZVJlc3BvbnNlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcHJvbWlzZUZ1bmNzID0gbXNnPy5yc2VxICE9PSB1bmRlZmluZWQgPyByZXNwb25zZVByb21pc2VzW21zZy5yc2VxXSA6IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgaWYgKG1zZy5yc2VxICE9PSB1bmRlZmluZWQgJiYgcHJvbWlzZUZ1bmNzKSB7XHJcbiAgICAgICAgICAgICAgaWYgKG1zZ1snJGVycm9yJ10pXHJcbiAgICAgICAgICAgICAgICBwcm9taXNlRnVuY3MucmVqZWN0KG1zZyk7XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlc29sdmUobXNnKTtcclxuICAgICAgICAgICAgICBkZWxldGUgcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcHJvY2Vzc0V2ZW50KG1zZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBtZXNzYWdlIHJlY2VpdmVkOiAnLCBfbXNnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB3cy5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsICgpID0+IHtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnVHJ5aW5nIHRvIHJlY29ubmVjdC4uLicpO1xyXG4gICAgICAgICAgLy8gRG9uJ3Qgc3BhbSB0aGUgc2VydmVyIHdpdGggcmV0cmllcy5cclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgICAgICAgIH0sIDMwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25uZWN0V3Mod3NVcmwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgd2FpdEZvckFwaSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGlmICghd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkgfHwgIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpLnJlYWR5KSB7XHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh3YWl0Rm9yQXBpLCAzMDApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcSA9IHF1ZXVlID8/IFtdO1xyXG4gICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgd2luZG93Ll9fT3ZlcmxheUNhbGxiYWNrID0gcHJvY2Vzc0V2ZW50O1xyXG5cclxuICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICBjYWxsOiAnc3Vic2NyaWJlJyxcclxuICAgICAgICAgIGV2ZW50czogT2JqZWN0LmtleXMoc3Vic2NyaWJlcnMpLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpXHJcbiAgICAgICAgICAgIHNlbmRNZXNzYWdlKGl0ZW1bMF0sIGl0ZW1bMV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuXHJcbiAgICAgIHdhaXRGb3JBcGkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIZXJlIHRoZSBPdmVybGF5UGx1Z2luIEFQSSBpcyByZWdpc3RlcmVkIHRvIHRoZSB3aW5kb3cgb2JqZWN0LFxyXG4gICAgLy8gYnV0IHRoaXMgaXMgbWFpbmx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5Gb3IgY2FjdGJvdCdzIGJ1aWx0LWluIGZpbGVzLFxyXG4gICAgLy8gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSB2YXJpb3VzIGZ1bmN0aW9ucyBleHBvcnRlZCBpbiByZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpLnRzLlxyXG4gICAgd2luZG93LmFkZE92ZXJsYXlMaXN0ZW5lciA9IGFkZE92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIHdpbmRvdy5yZW1vdmVPdmVybGF5TGlzdGVuZXIgPSByZW1vdmVPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cuY2FsbE92ZXJsYXlIYW5kbGVyID0gY2FsbE92ZXJsYXlIYW5kbGVyO1xyXG4gICAgd2luZG93LmRpc3BhdGNoT3ZlcmxheUV2ZW50ID0gZGlzcGF0Y2hPdmVybGF5RXZlbnQ7XHJcbiAgfVxyXG5cclxuICBpbml0ZWQgPSB0cnVlO1xyXG59O1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnOic7XHJcbmNvbnN0IG1hdGNoRGVmYXVsdCA9ICdbXjpdKic7XHJcbmNvbnN0IG1hdGNoV2l0aENvbG9uc0RlZmF1bHQgPSAnKD86W146XXw6ICkqPyc7XHJcbmNvbnN0IGZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMgPSBbJ2VmZmVjdCcsICdhYmlsaXR5J107XHJcblxyXG5jb25zdCBkZWZhdWx0UGFyYW1zID0gPFxyXG4gIFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgbG9nRGVmaW5pdGlvbnMsXHJcbj4odHlwZTogVCwgaW5jbHVkZT86IHN0cmluZ1tdKTogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4gPT4ge1xyXG4gIGluY2x1ZGUgPz89IE9iamVjdC5rZXlzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcyk7XHJcbiAgY29uc3QgcGFyYW1zOiB7IFtpbmRleDogbnVtYmVyXTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9IH0gPSB7fTtcclxuXHJcbiAgZm9yIChjb25zdCBbcHJvcCwgaW5kZXhdIG9mIE9iamVjdC5lbnRyaWVzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcykpIHtcclxuICAgIGlmICghaW5jbHVkZS5pbmNsdWRlcyhwcm9wKSlcclxuICAgICAgY29udGludWU7XHJcbiAgICBjb25zdCBwYXJhbTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9ID0ge1xyXG4gICAgICBmaWVsZDogcHJvcCxcclxuICAgIH07XHJcbiAgICBpZiAocHJvcCA9PT0gJ3R5cGUnKVxyXG4gICAgICBwYXJhbS52YWx1ZSA9IGxvZ0RlZmluaXRpb25zW3R5cGVdLnR5cGU7XHJcblxyXG4gICAgcGFyYW1zW2luZGV4XSA9IHBhcmFtO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+O1xyXG59O1xyXG5cclxuY29uc3QgcGFyc2VIZWxwZXIgPSA8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4oXHJcbiAgcGFyYW1zOiB7IHRpbWVzdGFtcD86IHN0cmluZzsgY2FwdHVyZT86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCxcclxuICBkZWZLZXk6IFQsXHJcbiAgZmllbGRzOiBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PixcclxuKTogQ2FjdGJvdEJhc2VSZWdFeHA8VD4gPT4ge1xyXG4gIHBhcmFtcyA9IHBhcmFtcyA/PyB7fTtcclxuICBjb25zdCB2YWxpZEZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCBpbmRleCBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzW2luZGV4XTtcclxuICAgIGlmIChmaWVsZClcclxuICAgICAgdmFsaWRGaWVsZHMucHVzaChmaWVsZC5maWVsZCk7XHJcbiAgfVxyXG5cclxuICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgZGVmS2V5LCBbJ2NhcHR1cmUnLCAuLi52YWxpZEZpZWxkc10pO1xyXG5cclxuICAvLyBGaW5kIHRoZSBsYXN0IGtleSB3ZSBjYXJlIGFib3V0LCBzbyB3ZSBjYW4gc2hvcnRlbiB0aGUgcmVnZXggaWYgbmVlZGVkLlxyXG4gIGNvbnN0IGNhcHR1cmUgPSBSZWdleGVzLnRydWVJZlVuZGVmaW5lZChwYXJhbXMuY2FwdHVyZSk7XHJcbiAgY29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRzKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhKSAtIHBhcnNlSW50KGIpKTtcclxuICBsZXQgbWF4S2V5U3RyOiBzdHJpbmc7XHJcbiAgaWYgKGNhcHR1cmUpIHtcclxuICAgIG1heEtleVN0ciA9IGZpZWxkS2V5c1tmaWVsZEtleXMubGVuZ3RoIC0gMV0gPz8gJzAnO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBtYXhLZXlTdHIgPSAnMCc7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWVsZHMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5XSA/PyB7fTtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXldPy5maWVsZDtcclxuICAgICAgaWYgKGZpZWxkTmFtZSAmJiBmaWVsZE5hbWUgaW4gcGFyYW1zKVxyXG4gICAgICAgIG1heEtleVN0ciA9IGtleTtcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3QgbWF4S2V5ID0gcGFyc2VJbnQobWF4S2V5U3RyKTtcclxuXHJcbiAgLy8gU3BlY2lhbCBjYXNlIGZvciBBYmlsaXR5IHRvIGhhbmRsZSBhb2UgYW5kIG5vbi1hb2UuXHJcbiAgY29uc3QgYWJpbGl0eU1lc3NhZ2VUeXBlID1cclxuICAgIGAoPzoke2xvZ0RlZmluaXRpb25zLkFiaWxpdHkubWVzc2FnZVR5cGV9fCR7bG9nRGVmaW5pdGlvbnMuTmV0d29ya0FPRUFiaWxpdHkubWVzc2FnZVR5cGV9KWA7XHJcbiAgY29uc3QgYWJpbGl0eUhleENvZGUgPSAnKD86MTV8MTYpJztcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBjb25zdCBwcmVmaXggPSBkZWZLZXkgIT09ICdBYmlsaXR5JyA/IGxvZ0RlZmluaXRpb25zW2RlZktleV0ubWVzc2FnZVR5cGUgOiBhYmlsaXR5TWVzc2FnZVR5cGU7XHJcbiAgY29uc3QgaGV4Q29kZSA9IGRlZktleSAhPT0gJ0FiaWxpdHknXHJcbiAgICA/IGAwMCR7cGFyc2VJbnQobG9nRGVmaW5pdGlvbnNbZGVmS2V5XS50eXBlKS50b1N0cmluZygxNil9YC5zbGljZSgtMikudG9VcHBlckNhc2UoKVxyXG4gICAgOiBhYmlsaXR5SGV4Q29kZTtcclxuXHJcbiAgbGV0IHN0ciA9ICcnO1xyXG4gIGlmIChjYXB0dXJlKVxyXG4gICAgc3RyICs9IGAoPzx0aW1lc3RhbXA+XFxcXHl7VGltZXN0YW1wfSkgJHtwcmVmaXh9ICg/PHR5cGU+JHtoZXhDb2RlfSlgO1xyXG4gIGVsc2VcclxuICAgIHN0ciArPSBgXFxcXHl7VGltZXN0YW1wfSAke3ByZWZpeH0gJHtoZXhDb2RlfWA7XHJcblxyXG4gIGxldCBsYXN0S2V5ID0gMTtcclxuICBmb3IgKGNvbnN0IGtleVN0ciBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXlTdHJdPy5maWVsZDtcclxuXHJcbiAgICAvLyBSZWdleCBoYW5kbGVzIHRoZXNlIG1hbnVhbGx5IGFib3ZlIGluIHRoZSBgc3RyYCBpbml0aWFsaXphdGlvbi5cclxuICAgIGlmIChmaWVsZE5hbWUgPT09ICd0aW1lc3RhbXAnIHx8IGZpZWxkTmFtZSA9PT0gJ3R5cGUnKVxyXG4gICAgICBjb250aW51ZTtcclxuXHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9IGAke3NlcGFyYXRvcn0ke21hdGNoRGVmYXVsdH1gO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgKD86JHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9KXske21pc3NpbmdGaWVsZHN9fWA7XHJcbiAgICBsYXN0S2V5ID0ga2V5O1xyXG5cclxuICAgIHN0ciArPSBzZXBhcmF0b3I7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZGVmS2V5fTogaW52YWxpZCB2YWx1ZTogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XHJcblxyXG4gICAgY29uc3QgZmllbGREZWZhdWx0ID0gZmllbGROYW1lICYmIGZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMuaW5jbHVkZXMoZmllbGROYW1lKVxyXG4gICAgICA/IG1hdGNoV2l0aENvbG9uc0RlZmF1bHRcclxuICAgICAgOiBtYXRjaERlZmF1bHQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IGZpZWxkRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHIgKz0gZmllbGRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTdG9wIGlmIHdlJ3JlIG5vdCBjYXB0dXJpbmcgYW5kIGRvbid0IGNhcmUgYWJvdXQgZnV0dXJlIGZpZWxkcy5cclxuICAgIGlmIChrZXkgPj0gbWF4S2V5KVxyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIHN0ciArPSAnKD86JHw6KSc7XHJcblxyXG4gIHJldHVybiBSZWdleGVzLnBhcnNlKHN0cikgYXMgQ2FjdGJvdEJhc2VSZWdFeHA8VD47XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdleGVzIHtcclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTQtbmV0d29ya3N0YXJ0c2Nhc3RpbmdcclxuICAgKi9cclxuICBzdGF0aWMgc3RhcnRzVXNpbmcocGFyYW1zPzogTmV0UGFyYW1zWydTdGFydHNVc2luZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N0YXJ0c1VzaW5nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1N0YXJ0c1VzaW5nJywgZGVmYXVsdFBhcmFtcygnU3RhcnRzVXNpbmcnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTUtbmV0d29ya2FiaWxpdHlcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTYtbmV0d29ya2FvZWFiaWxpdHlcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eShwYXJhbXM/OiBOZXRQYXJhbXNbJ0FiaWxpdHknXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBYmlsaXR5Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FiaWxpdHknLCBkZWZhdWx0UGFyYW1zKCdBYmlsaXR5JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQWRkZWRDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwNC1yZW1vdmVjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgcmVtb3ZpbmdDb21iYXRhbnQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1JlbW92ZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUmVtb3ZlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdSZW1vdmVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnUmVtb3ZlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYS1uZXR3b3JrYnVmZlxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYWluc0VmZmVjdChwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhaW5zRWZmZWN0J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FpbnNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnR2FpbnNFZmZlY3QnLCBkZWZhdWx0UGFyYW1zKCdHYWluc0VmZmVjdCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWZlciBnYWluc0VmZmVjdCBvdmVyIHRoaXMgZnVuY3Rpb24gdW5sZXNzIHlvdSByZWFsbHkgbmVlZCBleHRyYSBkYXRhLlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyNi1uZXR3b3Jrc3RhdHVzZWZmZWN0c1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGF0dXNFZmZlY3RFeHBsaWNpdChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snU3RhdHVzRWZmZWN0J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N0YXR1c0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGF0dXNFZmZlY3QnLCBkZWZhdWx0UGFyYW1zKCdTdGF0dXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWUtbmV0d29ya2J1ZmZyZW1vdmVcclxuICAgKi9cclxuICBzdGF0aWMgbG9zZXNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydMb3Nlc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0xvc2VzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0xvc2VzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnTG9zZXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjMtbmV0d29ya3RldGhlclxyXG4gICAqL1xyXG4gIHN0YXRpYyB0ZXRoZXIocGFyYW1zPzogTmV0UGFyYW1zWydUZXRoZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdUZXRoZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnVGV0aGVyJywgZGVmYXVsdFBhcmFtcygnVGV0aGVyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogJ3RhcmdldCcgd2FzIGRlZmVhdGVkIGJ5ICdzb3VyY2UnXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE5LW5ldHdvcmtkZWF0aFxyXG4gICAqL1xyXG4gIHN0YXRpYyB3YXNEZWZlYXRlZChwYXJhbXM/OiBOZXRQYXJhbXNbJ1dhc0RlZmVhdGVkJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnV2FzRGVmZWF0ZWQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnV2FzRGVmZWF0ZWQnLCBkZWZhdWx0UGFyYW1zKCdXYXNEZWZlYXRlZCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIGVjaG8ocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdlY2hvJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDAzOCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBkaWFsb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdkaWFsb2cnLFxyXG4gICAgICBbJ3R5cGUnLCAndGltZXN0YW1wJywgJ2NvZGUnLCAnbmFtZScsICdsaW5lJywgJ2NhcHR1cmUnXSxcclxuICAgICk7XHJcbiAgICBwYXJhbXMuY29kZSA9ICcwMDQ0JztcclxuICAgIHJldHVybiBSZWdleGVzLmdhbWVMb2cocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIG1lc3NhZ2UocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdtZXNzYWdlJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDgzOSc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHM6IGNvZGUsIG5hbWUsIGxpbmUsIGNhcHR1cmVcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnR2FtZUxvZycsIGRlZmF1bHRQYXJhbXMoJ0dhbWVMb2cnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTmFtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMGMtcGxheWVyc3RhdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdENoYW5nZShwYXJhbXM/OiBOZXRQYXJhbXNbJ1BsYXllclN0YXRzJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUGxheWVyU3RhdHMnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUGxheWVyU3RhdHMnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdDaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQWN0b3JDb250cm9sJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdOYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ01hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlbHBlciBmdW5jdGlvbiBmb3IgYnVpbGRpbmcgbmFtZWQgY2FwdHVyZSBncm91cFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXliZUNhcHR1cmUoXHJcbiAgICBjYXB0dXJlOiBib29sZWFuLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxyXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBkZWZhdWx0VmFsdWUgPz8gbWF0Y2hEZWZhdWx0O1xyXG4gICAgdmFsdWUgPSBSZWdleGVzLmFueU9mKHZhbHVlKTtcclxuICAgIHJldHVybiBjYXB0dXJlID8gUmVnZXhlcy5uYW1lZENhcHR1cmUobmFtZSwgdmFsdWUpIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgb3B0aW9uYWwoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAoPzoke3N0cn0pP2A7XHJcbiAgfVxyXG5cclxuICAvLyBDcmVhdGVzIGEgbmFtZWQgcmVnZXggY2FwdHVyZSBncm91cCBuYW1lZCB8bmFtZXwgZm9yIHRoZSBtYXRjaCB8dmFsdWV8LlxyXG4gIHN0YXRpYyBuYW1lZENhcHR1cmUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChuYW1lLmluY2x1ZGVzKCc+JykpXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1wiJyArIG5hbWUgKyAnXCIgY29udGFpbnMgXCI+XCIuJyk7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPCcpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG5cclxuICAgIHJldHVybiAnKD88JyArIG5hbWUgKyAnPicgKyB2YWx1ZSArICcpJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlbmllbmNlIGZvciB0dXJuaW5nIG11bHRpcGxlIGFyZ3MgaW50byBhIHVuaW9uZWQgcmVndWxhciBleHByZXNzaW9uLlxyXG4gICAqIGFueU9mKHgsIHksIHopIG9yIGFueU9mKFt4LCB5LCB6XSkgZG8gdGhlIHNhbWUgdGhpbmcsIGFuZCByZXR1cm4gKD86eHx5fHopLlxyXG4gICAqIGFueU9mKHgpIG9yIGFueU9mKHgpIG9uIGl0cyBvd24gc2ltcGxpZmllcyB0byBqdXN0IHguXHJcbiAgICogYXJncyBtYXkgYmUgc3RyaW5ncyBvciBSZWdFeHAsIGFsdGhvdWdoIGFueSBhZGRpdGlvbmFsIG1hcmtlcnMgdG8gUmVnRXhwXHJcbiAgICogbGlrZSAvaW5zZW5zaXRpdmUvaSBhcmUgZHJvcHBlZC5cclxuICAgKi9cclxuICBzdGF0aWMgYW55T2YoLi4uYXJnczogKHN0cmluZyB8IHN0cmluZ1tdIHwgUmVnRXhwKVtdKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFueU9mQXJyYXkgPSAoYXJyYXk6IChzdHJpbmcgfCBSZWdFeHApW10pOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gYCg/OiR7YXJyYXkubWFwKChlbGVtKSA9PiBlbGVtIGluc3RhbmNlb2YgUmVnRXhwID8gZWxlbS5zb3VyY2UgOiBlbGVtKS5qb2luKCd8Jyl9KWA7XHJcbiAgICB9O1xyXG4gICAgbGV0IGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdID0gW107XHJcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnc1swXSkpXHJcbiAgICAgICAgYXJyYXkgPSBhcmdzWzBdO1xyXG4gICAgICBlbHNlIGlmIChhcmdzWzBdKVxyXG4gICAgICAgIGFycmF5ID0gW2FyZ3NbMF1dO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgYXJyYXkgPSBbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFRPRE86IG1vcmUgYWNjdXJhdGUgdHlwZSBpbnN0ZWFkIG9mIGBhc2AgY2FzdFxyXG4gICAgICBhcnJheSA9IGFyZ3MgYXMgc3RyaW5nW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYW55T2ZBcnJheShhcnJheSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFyc2UocmVnZXhwU3RyaW5nOiBSZWdFeHAgfCBzdHJpbmcgfCBDYWN0Ym90QmFzZVJlZ0V4cDwnTm9uZSc+KTogUmVnRXhwIHtcclxuICAgIGNvbnN0IGtDYWN0Ym90Q2F0ZWdvcmllcyA9IHtcclxuICAgICAgVGltZXN0YW1wOiAnXi57MTR9JyxcclxuICAgICAgTmV0VGltZXN0YW1wOiAnLnszM30nLFxyXG4gICAgICBOZXRGaWVsZDogJyg/OltefF0qXFxcXHwpJyxcclxuICAgICAgTG9nVHlwZTogJ1swLTlBLUZhLWZdezJ9JyxcclxuICAgICAgQWJpbGl0eUNvZGU6ICdbMC05QS1GYS1mXXsxLDh9JyxcclxuICAgICAgT2JqZWN0SWQ6ICdbMC05QS1GXXs4fScsXHJcbiAgICAgIC8vIE1hdGNoZXMgYW55IGNoYXJhY3RlciBuYW1lIChpbmNsdWRpbmcgZW1wdHkgc3RyaW5ncyB3aGljaCB0aGUgRkZYSVZcclxuICAgICAgLy8gQUNUIHBsdWdpbiBjYW4gZ2VuZXJhdGUgd2hlbiB1bmtub3duKS5cclxuICAgICAgTmFtZTogJyg/OlteXFxcXHM6fF0rKD86IFteXFxcXHM6fF0rKT98KScsXHJcbiAgICAgIC8vIEZsb2F0cyBjYW4gaGF2ZSBjb21tYSBhcyBzZXBhcmF0b3IgaW4gRkZYSVYgcGx1Z2luIG91dHB1dDogaHR0cHM6Ly9naXRodWIuY29tL3JhdmFobi9GRlhJVl9BQ1RfUGx1Z2luL2lzc3Vlcy8xMzdcclxuICAgICAgRmxvYXQ6ICctP1swLTldKyg/OlsuLF1bMC05XSspPyg/OkUtP1swLTldKyk/JyxcclxuICAgIH07XHJcblxyXG4gICAgLy8gQWxsIHJlZ2V4ZXMgaW4gY2FjdGJvdCBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICAgIC8vIFRoaXMgYXZvaWRzIGhlYWRhY2hlcyBhcyB0aGluZ3MgbGlrZSBgVmljZSBhbmQgVmFuaXR5YCB0dXJucyBpbnRvXHJcbiAgICAvLyBgVmljZSBBbmQgVmFuaXR5YCwgZXNwZWNpYWxseSBmb3IgRnJlbmNoIGFuZCBHZXJtYW4uICBJdCBhcHBlYXJzIHRvXHJcbiAgICAvLyBoYXZlIGEgfjIwJSByZWdleCBwYXJzaW5nIG92ZXJoZWFkLCBidXQgYXQgbGVhc3QgdGhleSB3b3JrLlxyXG4gICAgbGV0IG1vZGlmaWVycyA9ICdpJztcclxuICAgIGlmIChyZWdleHBTdHJpbmcgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcuZ2xvYmFsID8gJ2cnIDogJycpICtcclxuICAgICAgICAocmVnZXhwU3RyaW5nLm11bHRpbGluZSA/ICdtJyA6ICcnKTtcclxuICAgICAgcmVnZXhwU3RyaW5nID0gcmVnZXhwU3RyaW5nLnNvdXJjZTtcclxuICAgIH1cclxuICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5yZXBsYWNlKC9cXFxceVxceyguKj8pXFx9L2csIChtYXRjaCwgZ3JvdXApID0+IHtcclxuICAgICAgcmV0dXJuIGtDYWN0Ym90Q2F0ZWdvcmllc1tncm91cCBhcyBrZXlvZiB0eXBlb2Yga0NhY3Rib3RDYXRlZ29yaWVzXSB8fCBtYXRjaDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXhwU3RyaW5nLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gTGlrZSBSZWdleC5SZWdleGVzLnBhcnNlLCBidXQgZm9yY2UgZ2xvYmFsIGZsYWcuXHJcbiAgc3RhdGljIHBhcnNlR2xvYmFsKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nKTogUmVnRXhwIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gUmVnZXhlcy5wYXJzZShyZWdleHBTdHJpbmcpO1xyXG4gICAgbGV0IG1vZGlmaWVycyA9ICdnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKVxyXG4gICAgICBtb2RpZmllcnMgKz0gKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChyZWdleC5zb3VyY2UsIG1vZGlmaWVycyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHJ1ZUlmVW5kZWZpbmVkKHZhbHVlPzogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHR5cGVvZiAodmFsdWUpID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gISF2YWx1ZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB2YWxpZGF0ZVBhcmFtcyhcclxuICAgIGY6IFJlYWRvbmx5PHsgW3M6IHN0cmluZ106IHVua25vd24gfT4sXHJcbiAgICBmdW5jTmFtZTogc3RyaW5nLFxyXG4gICAgcGFyYW1zOiBSZWFkb25seTxzdHJpbmdbXT4sXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoZiA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiBmICE9PSAnb2JqZWN0JylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGYpO1xyXG4gICAgZm9yIChsZXQgayA9IDA7IGsgPCBrZXlzLmxlbmd0aDsgKytrKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGtleXNba107XHJcbiAgICAgIGlmIChrZXkgJiYgIXBhcmFtcy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHBhcmFtZXRlciAnJHtrZXl9Jy4gIGAgK1xyXG4gICAgICAgICAgICBgVmFsaWQgcGFyYW1zOiAke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9YCxcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBhIHRyaWdnZXIgYXMgc3VjaDpcclxuLy8ge1xyXG4vLyAgIGlkOiAnU29tZSB0YW5rYnVzdGVyJyxcclxuLy8gICByZWdleDogUmVnZXhlcy5zdGFydHNVc2luZyh7c291cmNlOiAnWWUgT2xkZSBCb3NzZScsIGlkOiAnNjY2J30pLFxyXG4vLyAgIGNvbmRpdGlvbjogQ29uZGl0aW9ucy5jYXJlc0Fib3V0TWFnaWNhbChkYXRhKSxcclxuLy8gICByZXNwb25zZTogUmVzcG9uc2VzLnRhbmtidXN0ZXIoKSxcclxuLy8gfSxcclxuLy9cclxuLy8gTm90ZTogQnJlYWtpbmcgb3V0IHRoZSBjb25kaXRpb24gbGlrZSB0aGlzIGxldHMgcGVvcGxlIG92ZXJyaWRlIGl0IGlmIHRoZXlcclxuLy8gYWx3YXlzIChvciBuZXZlcikgd2FudCB0byBrbm93IGFib3V0IGl0LCByYXRoZXIgdGhhbiBoaWRpbmcgdGhlIGxvZ2ljIGluc2lkZVxyXG4vLyB0aGUgdGFua2J1c3RlciBjYWxsYmFjayB3aXRoIGEgXCJpcyBoZWFsZXJcIiBjaGVjay5cclxuLy9cclxuLy8gSWYgZGF0YS5yb2xlIGlzIHVzZWQsIGl0IHNob3VsZCBiZSBvbmx5IHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhbGVydCBsZXZlbHMsXHJcbi8vIGFuZCBub3Qgd2hldGhlciBhIG1lc3NhZ2UgaXMgc2VudCBhdCBhbGwuXHJcbi8vXHJcbi8vIEFsdGhvdWdoIHRoaXMgaXMgbm90IHRydWUgb2YgYHJlc3BvbnNlOiBgIGZpZWxkcyBvbiB0cmlnZ2VycyBpbiBnZW5lcmFsLFxyXG4vLyBhbGwgcmVzcG9uc2VzIGluIHRoaXMgZmlsZSBzaG91bGQgZWl0aGVyIHJldHVybiBhbiBvYmplY3Qgb3IgYSBzaW5nbGVcclxuLy8gZnVuY3Rpb24gdGhhdCBzZXRzIG91dHB1dFN0cmluZ3MgYW5kIHJldHVybnMgYW4gb2JqZWN0IHdpdGhvdXQgZG9pbmdcclxuLy8gYW55dGhpbmcgd2l0aCBkYXRhIG9yIG1hdGNoZXMuICBTZWUgYHJlc3BvbnNlc190ZXN0LmpzYC5cclxuXHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSBhcyBEYXRhIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7XHJcbiAgTG9jYWxlVGV4dCxcclxuICBMb29zZVRyaWdnZXIsXHJcbiAgT3V0cHV0LFxyXG4gIFJlc3BvbnNlRnVuYyxcclxuICBSZXNwb25zZU91dHB1dCxcclxuICBUYXJnZXRlZE1hdGNoZXMsXHJcbiAgVHJpZ2dlckZ1bmMsXHJcbiAgVHJpZ2dlck91dHB1dCxcclxufSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBPdXRwdXRzIGZyb20gJy4vb3V0cHV0cyc7XHJcblxyXG50eXBlIFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSBSZXNwb25zZU91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkUmVzcG9uc2VGdW5jID0gUmVzcG9uc2VGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcz47XHJcbnR5cGUgVGFyZ2V0ZWRGdW5jID0gVHJpZ2dlckZ1bmM8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzLCBUcmlnZ2VyT3V0cHV0PERhdGEsIFRhcmdldGVkTWF0Y2hlcz4+O1xyXG50eXBlIFN0YXRpY1Jlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBNYXRjaGVzPjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXZlcml0eUxpc3QgPSBbJ2luZm8nLCAnYWxlcnQnLCAnYWxhcm0nXSBhcyBjb25zdDtcclxuZXhwb3J0IHR5cGUgU2V2ZXJpdHkgPSB0eXBlb2Ygc2V2ZXJpdHlMaXN0W251bWJlcl07XHJcbmV4cG9ydCB0eXBlIFNldlRleHQgPSAnaW5mb1RleHQnIHwgJ2FsZXJ0VGV4dCcgfCAnYWxhcm1UZXh0JztcclxuXHJcbmV4cG9ydCBjb25zdCBidWlsdEluUmVzcG9uc2VTdHIgPSAnY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlJztcclxuXHJcbi8vIEFsbCB2YWxpZCB0cmlnZ2VyIGZpZWxkcy5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJGdW5jdGlvbnM6IChrZXlvZiBMb29zZVRyaWdnZXIpW10gPSBbXHJcbiAgJ2FsYXJtVGV4dCcsXHJcbiAgJ2FsZXJ0VGV4dCcsXHJcbiAgJ2NvbmRpdGlvbicsXHJcbiAgJ2RlbGF5U2Vjb25kcycsXHJcbiAgJ2Rpc2FibGVkJyxcclxuICAnZHVyYXRpb25TZWNvbmRzJyxcclxuICAnaWQnLFxyXG4gICd0eXBlJyxcclxuICAnaW5mb1RleHQnLFxyXG4gICdwcmVSdW4nLFxyXG4gICdwcm9taXNlJyxcclxuICAncmVzcG9uc2UnLFxyXG4gICdydW4nLFxyXG4gICdzb3VuZCcsXHJcbiAgJ3NvdW5kVm9sdW1lJyxcclxuICAnc3VwcHJlc3NTZWNvbmRzJyxcclxuICAndHRzJyxcclxuICAnb3V0cHV0U3RyaW5ncycsXHJcbl07XHJcblxyXG4vLyBUcmlnZ2VyIGZpZWxkcyB0aGF0IGNhbiBwcm9kdWNlIHRleHQgb3V0cHV0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlclRleHRPdXRwdXRGdW5jdGlvbnM6IChrZXlvZiBMb29zZVRyaWdnZXIpW10gPSBbXHJcbiAgJ2FsYXJtVGV4dCcsXHJcbiAgJ2FsZXJ0VGV4dCcsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncmVzcG9uc2UnLFxyXG4gICd0dHMnLFxyXG5dO1xyXG5cclxuLy8gSWYgYSB0cmlnZ2VyIGhhcyBhbnkgb2YgdGhlc2UsIHRoZW4gaXQgaGFzIGEgdmlzaWJsZS9hdWRpbyBlZmZlY3QuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gIC4uLnRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zLFxyXG4gICdzb3VuZCcsXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlNYXA6IHsgW3NldiBpbiBTZXZlcml0eV06IFNldlRleHQgfSA9IHtcclxuICAnaW5mbyc6ICdpbmZvVGV4dCcsXHJcbiAgJ2FsZXJ0JzogJ2FsZXJ0VGV4dCcsXHJcbiAgJ2FsYXJtJzogJ2FsYXJtVGV4dCcsXHJcbn07XHJcblxyXG5jb25zdCBnZXRUZXh0ID0gKHNldjogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIShzZXYgaW4gc2V2ZXJpdHlNYXApKVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNldmVyaXR5OiAke3Nldn0uYCk7XHJcbiAgcmV0dXJuIHNldmVyaXR5TWFwW3Nldl07XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0SW5mb1RleHQgPSAoc2V2PzogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIXNldilcclxuICAgIHJldHVybiAnaW5mb1RleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxlcnRUZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsZXJ0VGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGRlZmF1bHRBbGFybVRleHQgPSAoc2V2PzogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIXNldilcclxuICAgIHJldHVybiAnYWxhcm1UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZ2V0VGFyZ2V0ID0gKG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4ge1xyXG4gIC8vIE9mdGVuIHRhbmtidXN0ZXJzIGNhbiBiZSBjYXN0ZWQgYnkgdGhlIGJvc3Mgb24gdGhlIGJvc3MuXHJcbiAgLy8gQ29uc2lkZXIgdGhpcyBhcyBcIm5vdCBoYXZpbmcgYSB0YXJnZXRcIi5cclxuICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy50YXJnZXQgPT09IG1hdGNoZXMuc291cmNlKVxyXG4gICAgcmV0dXJuO1xyXG4gIHJldHVybiBtYXRjaGVzLnRhcmdldDtcclxufTtcclxuXHJcbmNvbnN0IGdldFNvdXJjZSA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICByZXR1cm4gbWF0Y2hlcz8uc291cmNlO1xyXG59O1xyXG5cclxuLy8gRklYTUU6IG1ha2UgdGhpcyB3b3JrIGZvciBhbnkgbnVtYmVyIG9mIHBhaXJzIG9mIHBhcmFtc1xyXG5jb25zdCBjb21iaW5lRnVuY3MgPSBmdW5jdGlvbihcclxuICB0ZXh0MTogU2V2VGV4dCxcclxuICBmdW5jMTogVGFyZ2V0ZWRGdW5jLFxyXG4gIHRleHQyOiBTZXZUZXh0LFxyXG4gIGZ1bmMyOiBUYXJnZXRlZEZ1bmMsXHJcbikge1xyXG4gIGNvbnN0IG9iajogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9IHt9O1xyXG5cclxuICBpZiAodGV4dDEgIT09IHRleHQyKSB7XHJcbiAgICBvYmpbdGV4dDFdID0gZnVuYzE7XHJcbiAgICBvYmpbdGV4dDJdID0gZnVuYzI7XHJcbiAgfSBlbHNlIHtcclxuICAgIG9ialt0ZXh0MV0gPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICByZXR1cm4gZnVuYzEoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSB8fCBmdW5jMihkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgcmV0dXJuIG9iajtcclxufTtcclxuXHJcbmNvbnN0IGlzUGxheWVySWQgPSAoaWQ/OiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gaWQgJiYgaWRbMF0gIT09ICc0JztcclxufTtcclxuXHJcbi8vIEZvciByZXNwb25zZXMgdGhhdCB1bmNvbmRpdGlvbmFsbHkgcmV0dXJuIHN0YXRpYyB0ZXh0LlxyXG5jb25zdCBzdGF0aWNSZXNwb25zZSA9IChmaWVsZDogU2V2VGV4dCwgdGV4dDogTG9jYWxlVGV4dCk6IFN0YXRpY1Jlc3BvbnNlRnVuYyA9PiB7XHJcbiAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHRleHQ6IHRleHQsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgW2ZpZWxkXTogKF9kYXRhOiB1bmtub3duLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IG91dHB1dC50ZXh0Py4oKSxcclxuICAgIH07XHJcbiAgfTtcclxufTtcclxuXHJcbnR5cGUgU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgPSAoc2V2PzogU2V2ZXJpdHkpID0+IFRhcmdldGVkUmVzcG9uc2VGdW5jIHwgU3RhdGljUmVzcG9uc2VGdW5jO1xyXG50eXBlIERvdWJsZVNldlRvUmVzcG9uc2VGdW5jID0gKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYztcclxudHlwZSBSZXNwb25zZXNNYXAgPSB7XHJcbiAgW3Jlc3BvbnNlOiBzdHJpbmddOiBTaW5nbGVTZXZUb1Jlc3BvbnNlRnVuYyB8IERvdWJsZVNldlRvUmVzcG9uc2VGdW5jO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFJlc3BvbnNlcyA9IHtcclxuICB0YW5rQnVzdGVyOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIG5vVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXIsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgIT09ICd0YW5rJyAmJiBkYXRhLnJvbGUgIT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICghdGFyZ2V0KSB7XHJcbiAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5ub1RhcmdldD8uKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uVGFyZ2V0Py4oeyBwbGF5ZXI6IGRhdGEuU2hvcnROYW1lKHRhcmdldCkgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGNvbWJpbmVkID0gY29tYmluZUZ1bmNzKFxyXG4gICAgICBkZWZhdWx0QWxlcnRUZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiB1bmtub3duLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpOiBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdGFua0J1c3RlclN3YXA6IChidXN0ZXJTZXY/OiBTZXZlcml0eSwgc3dhcFNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0YW5rU3dhcDogT3V0cHV0cy50YW5rU3dhcCxcclxuICAgICAgYnVzdGVyT25Zb3U6IE91dHB1dHMudGFua0J1c3Rlck9uWW91LFxyXG4gICAgICBidXN0ZXJPblRhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyT25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE5vdGU6IGJ1c3RlclNldiBhbmQgc3dhcFNldiBjYW4gYmUgdGhlIHNhbWUgcHJpb3JpdHkuXHJcbiAgICBjb25zdCB0YW5rU3dhcEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyAmJiB0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC50YW5rU3dhcD8uKCk7XHJcbiAgICB9O1xyXG4gICAgY29uc3QgYnVzdGVyRnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuXHJcbiAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyAmJiB0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsYXJtVGV4dChzd2FwU2V2KSxcclxuICAgICAgdGFua1N3YXBGdW5jLFxyXG4gICAgICBkZWZhdWx0QWxlcnRUZXh0KGJ1c3RlclNldiksXHJcbiAgICAgIGJ1c3RlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtDbGVhdmU6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGNsZWF2ZU9uWW91OiBPdXRwdXRzLnRhbmtDbGVhdmVPbllvdSxcclxuICAgICAgICBjbGVhdmVOb1RhcmdldDogT3V0cHV0cy50YW5rQ2xlYXZlLFxyXG4gICAgICAgIGF2b2lkQ2xlYXZlOiBPdXRwdXRzLmF2b2lkVGFua0NsZWF2ZSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEluZm9UZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5jbGVhdmVPbllvdT8uKCk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5qb2IgPT09ICdCTFUnKSB7XHJcbiAgICAgICAgICAgIC8vIHRhcmdldGxlc3MgdGFuayBjbGVhdmVcclxuICAgICAgICAgICAgLy8gQkxVIHBsYXllcnMgc2hvdWxkIGFsd2F5cyBnZXQgdGhpcyBnZW5lcmljIGNsZWF2ZSBtZXNzYWdlLlxyXG4gICAgICAgICAgICAvLyBXZSBoYXZlIG5vIHJvYnVzdCB3YXkgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhleSBoYXZlIHRhbmsgTWltaWNyeSBvbixcclxuICAgICAgICAgICAgLy8gYW5kIGl0J3MgcmVhbGx5IGFubm95aW5nIGZvciBhIEJMVSB0YW5rIHRvIGJlIHRvbGQgdG8gYXZvaWQgY2xlYXZlcyB3aGVuIHRoZXkgY2FuJ3QuXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlTm9UYXJnZXQ/LigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5hdm9pZENsZWF2ZT8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc2hhcmVkVGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyT25Zb3U6IE91dHB1dHMuc2hhcmVkVGFua2J1c3Rlck9uWW91LFxyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMuc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyLFxyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyOiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXIsXHJcbiAgICAgIGF2b2lkQ2xlYXZlOiBPdXRwdXRzLmF2b2lkVGFua0NsZWF2ZSxcclxuICAgIH07XHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgIT09ICd0YW5rJyAmJiBkYXRhLnJvbGUgIT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlcj8uKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25Zb3U/LigpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICghdGFyZ2V0KSB7XHJcbiAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5hdm9pZENsZWF2ZT8uKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSB8fCBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIG1pbmlCdXN0ZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubWluaUJ1c3RlciksXHJcbiAgYW9lOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmFvZSksXHJcbiAgYmlnQW9lOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmJpZ0FvZSksXHJcbiAgc3ByZWFkOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZCksXHJcbiAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zLlxyXG4gIHN0YWNrTWFya2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja01hcmtlciksXHJcbiAgLy8gZm9yIGdldHRpbmcgdG9nZXRoZXIgd2l0aG91dCBzdGFjayBtYXJrZXJcclxuICBnZXRUb2dldGhlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0VG9nZXRoZXIpLFxyXG4gIHN0YWNrTWFya2VyT246IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0YWNrT25Zb3U6IE91dHB1dHMuc3RhY2tPbllvdSxcclxuICAgICAgICBzdGFja09uVGFyZ2V0OiBPdXRwdXRzLnN0YWNrT25QbGF5ZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0YWNrT25Zb3U/LigpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uVGFyZ2V0Py4oeyBwbGF5ZXI6IGRhdGEuU2hvcnROYW1lKHRhcmdldCkgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3RhY2tNaWRkbGU6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuc3RhY2tNaWRkbGUpLFxyXG4gIGRvcml0b1N0YWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5kb3JpdG9TdGFjayksXHJcbiAgc3ByZWFkVGhlblN0YWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIHJldHVybiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3ByZWFkVGhlblN0YWNrKTtcclxuICB9LFxyXG4gIHN0YWNrVGhlblNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrVGhlblNwcmVhZCk7XHJcbiAgfSxcclxuICBrbm9ja2JhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmtub2NrYmFjayksXHJcbiAga25vY2tiYWNrT246ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAga25vY2tiYWNrT25Zb3U6IE91dHB1dHMua25vY2tiYWNrT25Zb3UsXHJcbiAgICAgIGtub2NrYmFja09uVGFyZ2V0OiBPdXRwdXRzLmtub2NrYmFja09uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5rbm9ja2JhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGNvbWJpbmVkID0gY29tYmluZUZ1bmNzKFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBkcmF3SW46IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuZHJhd0luKSxcclxuICBsb29rVG93YXJkczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rVG93YXJkc0Jvc3MpLFxyXG4gIGxvb2tBd2F5OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmxvb2tBd2F5KSxcclxuICBsb29rQXdheUZyb21UYXJnZXQ6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGxvb2tBd2F5RnJvbTogT3V0cHV0cy5sb29rQXdheUZyb21UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICBjb25zdCBuYW1lID0gaXNQbGF5ZXJJZChtYXRjaGVzPy50YXJnZXRJZCkgPyBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIDogdGFyZ2V0O1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5sb29rQXdheUZyb20/Lih7IG5hbWU6IG5hbWUgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgbG9va0F3YXlGcm9tU291cmNlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHNvdXJjZSA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8uc291cmNlSWQpID8gZGF0YS5TaG9ydE5hbWUoc291cmNlKSA6IHNvdXJjZTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGdldEJlaGluZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0QmVoaW5kKSxcclxuICBnb0Zyb250T3JTaWRlczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29Gcm9udE9yU2lkZXMpLFxyXG4gIC8vIC5nZXRVbmRlcigpIGlzIHVzZWQgd2hlbiB5b3UgaGF2ZSB0byBnZXQgaW50byB0aGUgYm9zc2VzIGhpdGJveFxyXG4gIGdldFVuZGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmdldFVuZGVyKSxcclxuICAvLyAuZ2V0SW4oKSBpcyBtb3JlIGxpa2UgXCJnZXQgY2xvc2UgYnV0IG1heWJlIGV2ZW4gbWVsZWUgcmFuZ2UgaXMgZmluZVwiXHJcbiAgZ2V0SW46IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmluKSxcclxuICAvLyAuZ2V0T3V0KCkgbWVhbnMgZ2V0IGZhciBhd2F5XHJcbiAgZ2V0T3V0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5vdXQpLFxyXG4gIG91dE9mTWVsZWU6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMub3V0T2ZNZWxlZSksXHJcbiAgZ2V0SW5UaGVuT3V0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmluVGhlbk91dCksXHJcbiAgZ2V0T3V0VGhlbkluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dFRoZW5JbiksXHJcbiAgZ2V0QmFja1RoZW5Gcm9udDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iYWNrVGhlbkZyb250KSxcclxuICBnZXRGcm9udFRoZW5CYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmZyb250VGhlbkJhY2spLFxyXG4gIGdvTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5nb0ludG9NaWRkbGUpLFxyXG4gIGdvUmlnaHQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnJpZ2h0KSxcclxuICBnb0xlZnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmxlZnQpLFxyXG4gIGdvV2VzdDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0TGVmdEFuZFdlc3QpLFxyXG4gIGdvRWFzdDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0UmlnaHRBbmRFYXN0KSxcclxuICBnb0Zyb250QmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29Gcm9udEJhY2spLFxyXG4gIGdvU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNpZGVzKSxcclxuICAvLyAua2lsbEFkZHMoKSBpcyB1c2VkIGZvciBhZGRzIHRoYXQgd2lsbCBhbHdheXMgYmUgYXZhaWxhYmxlXHJcbiAga2lsbEFkZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMua2lsbEFkZHMpLFxyXG4gIC8vIC5raWxsRXh0cmFBZGQoKSBpcyB1c2VkIGZvciBhZGRzIHRoYXQgYXBwZWFyIGlmIGEgbWVjaGFuaWMgd2FzIG5vdCBwbGF5ZWQgY29ycmVjdGx5XHJcbiAga2lsbEV4dHJhQWRkOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxFeHRyYUFkZCksXHJcbiAgYXdheUZyb21Gcm9udDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuYXdheUZyb21Gcm9udCksXHJcbiAgc2xlZXA6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHNsZWVwOiBPdXRwdXRzLnNsZWVwVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc2xlZXA/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBzdHVuT3JJbnRlcnJ1cHRJZlBvc3NpYmxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0dW46IE91dHB1dHMuc3R1blRhcmdldCxcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChkYXRhLkNhblNpbGVuY2UoKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5pbnRlcnJ1cHQ/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICAgIGVsc2UgaWYgKGRhdGEuQ2FuU3R1bigpKVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0dW4/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHN0dW46IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0dW46IE91dHB1dHMuc3R1blRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0dW4/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBpbnRlcnJ1cHQ6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGludGVycnVwdDogT3V0cHV0cy5pbnRlcnJ1cHRUYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5pbnRlcnJ1cHQ/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBwcmV5T246ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgcHJleU9uWW91OiBPdXRwdXRzLnByZXlPbllvdSxcclxuICAgICAgcHJleU9uVGFyZ2V0OiBPdXRwdXRzLnByZXlPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnByZXlPbllvdT8uKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG90aGVyRnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnByZXlPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIGF3YXlGcm9tOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBhd2F5RnJvbUdyb3VwOiBPdXRwdXRzLmF3YXlGcm9tR3JvdXAsXHJcbiAgICAgICAgYXdheUZyb21UYXJnZXQ6IE91dHB1dHMuYXdheUZyb21QbGF5ZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5tZSA9PT0gdGFyZ2V0KVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmF3YXlGcm9tR3JvdXA/LigpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbVRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIG1ldGVvck9uWW91OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5tZXRlb3JPbllvdSksXHJcbiAgc3RvcE1vdmluZzogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMuc3RvcE1vdmluZyksXHJcbiAgc3RvcEV2ZXJ5dGhpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BFdmVyeXRoaW5nKSxcclxuICAvLyBtb3ZlIGF3YXkgdG8gZG9kZ2UgYW9lc1xyXG4gIG1vdmVBd2F5OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVBd2F5KSxcclxuICAvLyBtb3ZlIGFyb3VuZCAoZS5nLiBqdW1waW5nKSB0byBhdm9pZCBiZWluZyBmcm96ZW5cclxuICBtb3ZlQXJvdW5kOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVBcm91bmQpLFxyXG4gIGJyZWFrQ2hhaW5zOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmJyZWFrQ2hhaW5zKSxcclxuICBtb3ZlQ2hhaW5zVG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVDaGFpbnNUb2dldGhlciksXHJcbiAgZWFydGhzaGFrZXI6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGVhcnRoc2hha2VyOiBPdXRwdXRzLmVhcnRoc2hha2VyT25Zb3UsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LmVhcnRoc2hha2VyPy4oKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICB3YWtlVXA6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLndha2VVcCksXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBEb24ndCBnaXZlIGBSZXNwb25zZXNgIGEgdHlwZSBpbiBpdHMgZGVjbGFyYXRpb24gc28gdGhhdCBpdCBjYW4gYmUgdHJlYXRlZCBhcyBtb3JlIHN0cmljdFxyXG4vLyB0aGFuIGBSZXNwb25zZXNNYXBgLCBidXQgZG8gYXNzZXJ0IHRoYXQgaXRzIHR5cGUgaXMgY29ycmVjdC4gIFRoaXMgYWxsb3dzIGNhbGxlcnMgdG8ga25vd1xyXG4vLyB3aGljaCBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGluIFJlc3BvbnNlcyB3aXRob3V0IGhhdmluZyB0byBjb25kaXRpb25hbGx5IGNoZWNrIGZvciB1bmRlZmluZWQuXHJcbmNvbnN0IHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbjogUmVzcG9uc2VzTWFwID0gUmVzcG9uc2VzO1xyXG4vLyBTdXBwcmVzcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZy5cclxuY29uc29sZS5hc3NlcnQocmVzcG9uc2VNYXBUeXBlQXNzZXJ0aW9uKTtcclxuIiwiLy8gVE9ETzogRml4IGltcG9ydC9vcmRlclxyXG4vKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvb3JkZXIgKi9cclxuaW1wb3J0IHsgQ2FjdGJvdENvbmZpZ3VyYXRvciB9IGZyb20gJy4uL3VpL2NvbmZpZy9jb25maWcnO1xyXG5pbXBvcnQgeyBpc0xhbmcsIExhbmcsIGxhbmdUb0xvY2FsZSB9IGZyb20gJy4vbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgQ2FjdGJvdExvYWRVc2VyUmV0LCBTYXZlZENvbmZpZywgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgTG9jYWxlT2JqZWN0LCBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7IGFkZE92ZXJsYXlMaXN0ZW5lciwgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuL25vdF9yZWFjaGVkJztcclxuXHJcbi8vIFRPRE86XHJcbi8vIFRoZSBjb252ZW50aW9uIG9mIFwiaW1wb3J0IFggYXMgX1g7IGNvbnN0IFggPSBfWDtcIiBpcyBjdXJyZW50bHlcclxuLy8gYmVpbmcgdXNlZCBhcyBhIG1ldGhvZCB0byB3b3JrYXJvdW5kIGZvciBkb3duc3RyZWFtIGNvZGVcclxuLy8gdGhhdCBpcyBydW5uaW5nIHZpYSBldmFsKCkuIEJlY2F1c2UgaW1wb3J0aW5nIHN0YXRlbWVudHMgZG8gbm90XHJcbi8vIGNyZWF0ZSBhIHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUsIHRoZSBldmFsKCknZCBjb2RlIGRvZXMgbm90IGtub3dcclxuLy8gYWJvdXQgdGhlIGltcG9ydCwgYW5kIHRodXMgdGhyb3dzIFJlZmVyZW5jZUVycm9ycy5cclxuLy8gVXNlZCBieSBkb3duc3RyZWFtIGV2YWxcclxuaW1wb3J0IF9Db25kaXRpb25zIGZyb20gJy4vY29uZGl0aW9ucyc7XHJcbmNvbnN0IENvbmRpdGlvbnMgPSBfQ29uZGl0aW9ucztcclxuaW1wb3J0IF9Db250ZW50VHlwZSBmcm9tICcuL2NvbnRlbnRfdHlwZSc7XHJcbmNvbnN0IENvbnRlbnRUeXBlID0gX0NvbnRlbnRUeXBlO1xyXG5pbXBvcnQgX05ldFJlZ2V4ZXMgZnJvbSAnLi9uZXRyZWdleGVzJztcclxuY29uc3QgTmV0UmVnZXhlcyA9IF9OZXRSZWdleGVzO1xyXG5pbXBvcnQgX1JlZ2V4ZXMgZnJvbSAnLi9yZWdleGVzJztcclxuY29uc3QgUmVnZXhlcyA9IF9SZWdleGVzO1xyXG5pbXBvcnQgeyBSZXNwb25zZXMgYXMgX1Jlc3BvbnNlcyB9IGZyb20gJy4vcmVzcG9uc2VzJztcclxuY29uc3QgUmVzcG9uc2VzID0gX1Jlc3BvbnNlcztcclxuaW1wb3J0IF9PdXRwdXRzIGZyb20gJy4vb3V0cHV0cyc7XHJcbmNvbnN0IE91dHB1dHMgPSBfT3V0cHV0cztcclxuaW1wb3J0IF9VdGlsIGZyb20gJy4vdXRpbCc7XHJcbmNvbnN0IFV0aWwgPSBfVXRpbDtcclxuaW1wb3J0IF9ab25lSWQgZnJvbSAnLi96b25lX2lkJztcclxuY29uc3QgWm9uZUlkID0gX1pvbmVJZDtcclxuaW1wb3J0IF9ab25lSW5mbyBmcm9tICcuL3pvbmVfaW5mbyc7XHJcbmNvbnN0IFpvbmVJbmZvID0gX1pvbmVJbmZvO1xyXG5cclxuLy8gQ29udmluY2UgVHlwZVNjcmlwdCBhbmQgZXNsaW50IHRoYXQgdGhlc2UgYXJlIHVzZWQuICBUeXBlU2NyaXB0IGRvZXNuJ3QgaGF2ZSBhIGdyZWF0IHdheVxyXG4vLyB0byBkaXNhYmxlIGluZGl2aWR1YWwgcnVsZXMsIHNvIHRoaXMgaXMgc2FmZXIgdGhhbiBkaXNhYmxpbmcgYWxsIHJ1bGVzLlxyXG5jb25zb2xlLmFzc2VydChcclxuICBDb25kaXRpb25zICYmIENvbnRlbnRUeXBlICYmIE5ldFJlZ2V4ZXMgJiYgUmVnZXhlcyAmJlxyXG4gICAgUmVzcG9uc2VzICYmIE91dHB1dHMgJiYgVXRpbCAmJiBab25lSWQgJiYgWm9uZUluZm8sXHJcbik7XHJcblxyXG4vLyBUT0RPOiBtb3ZlIGFsbCBvZiB0aGVzZSB0byBjb25maWcuanM/XHJcbmV4cG9ydCB0eXBlIFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAganNGaWxlOiBzdHJpbmcsXHJcbiAgbG9jYWxGaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4gdm9pZDtcclxuZXhwb3J0IHR5cGUgQ29uZmlnVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5leHBvcnQgdHlwZSBDb25maWdFbnRyeSA9IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgdHlwZTogJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ2Zsb2F0JyB8ICdpbnRlZ2VyJyB8ICdkaXJlY3RvcnknIHwgJ2h0bWwnO1xyXG4gIGh0bWw/OiBMb2NhbGVUZXh0O1xyXG4gIGRlZmF1bHQ6IENvbmZpZ1ZhbHVlO1xyXG4gIGRlYnVnPzogYm9vbGVhbjtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG4gIC8vIEZvciBzZWxlY3QuXHJcbiAgb3B0aW9ucz86IExvY2FsZU9iamVjdDx7IFtzZWxlY3RUZXh0OiBzdHJpbmddOiBzdHJpbmcgfT47XHJcbiAgc2V0dGVyRnVuYz86IChvcHRpb25zOiBCYXNlT3B0aW9ucywgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcHRpb25zVGVtcGxhdGUgPSB7XHJcbiAgYnVpbGRFeHRyYVVJPzogKGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3IsIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpID0+IHZvaWQ7XHJcbiAgcHJvY2Vzc0V4dHJhT3B0aW9ucz86IChvcHRpb25zOiBCYXNlT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHZvaWQ7XHJcbiAgb3B0aW9uczogQ29uZmlnRW50cnlbXTtcclxufTtcclxuXHJcbmNsYXNzIFVzZXJDb25maWcge1xyXG4gIHB1YmxpYyBvcHRpb25UZW1wbGF0ZXM6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBPcHRpb25zVGVtcGxhdGUgfSA9IHt9O1xyXG4gIHB1YmxpYyB1c2VyRmlsZUNhbGxiYWNrczogeyBbb3ZlcmxheU5hbWU6IHN0cmluZ106IFVzZXJGaWxlQ2FsbGJhY2sgfSA9IHt9O1xyXG4gIHB1YmxpYyBzYXZlZENvbmZpZzogU2F2ZWRDb25maWcgPSB7fTtcclxuXHJcbiAgZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCk6IEJhc2VPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFBhcnNlckxhbmd1YWdlOiAnZW4nLFxyXG4gICAgICBTaG9ydExvY2FsZTogJ2VuJyxcclxuICAgICAgRGlzcGxheUxhbmd1YWdlOiAnZW4nLFxyXG4gICAgICBUZXh0QWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU291bmRBbGVydHNFbmFibGVkOiB0cnVlLFxyXG4gICAgICBTcG9rZW5BbGVydHNFbmFibGVkOiBmYWxzZSxcclxuICAgICAgR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBldmFsVXNlckZpbGUoY29udGVudDogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY29uc3QgT3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICBjb25zb2xlLmFzc2VydChPcHRpb25zKTsgLy8gVXNlZCBieSBldmFsLlxyXG5cclxuICAgIC8vIFRoaXMgaXMgdGhlIG9uZSBldmFsIGNhY3Rib3Qgc2hvdWxkIGV2ZXIgbmVlZCwgd2hpY2ggaXMgZm9yIGhhbmRsaW5nIHVzZXIgZmlsZXMuXHJcbiAgICAvLyBCZWNhdXNlIHVzZXIgZmlsZXMgY2FuIGJlIGxvY2F0ZWQgYW55d2hlcmUgb24gZGlzayBhbmQgdGhlcmUncyBiYWNrd2FyZHMgY29tcGF0XHJcbiAgICAvLyBpc3N1ZXMsIGl0J3MgdW5saWtlbHkgdGhhdCB0aGVzZSB3aWxsIGJlIGFibGUgdG8gYmUgYW55dGhpbmcgYnV0IGV2YWwgZm9yZXZlci5cclxuICAgIC8vXHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1ldmFsICovXHJcbiAgICBldmFsKGNvbnRlbnQpO1xyXG4gICAgLyogZXNsaW50LWVuYWJsZSBuby1ldmFsICovXHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9wdGlvbnMoXHJcbiAgICBvdmVybGF5TmFtZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uVGVtcGxhdGU6IE9wdGlvbnNUZW1wbGF0ZSxcclxuICAgIHVzZXJGaWxlQ2FsbGJhY2s/OiBVc2VyRmlsZUNhbGxiYWNrLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25UZW1wbGF0ZXNbb3ZlcmxheU5hbWVdID0gb3B0aW9uVGVtcGxhdGU7XHJcbiAgICBpZiAodXNlckZpbGVDYWxsYmFjaylcclxuICAgICAgdGhpcy51c2VyRmlsZUNhbGxiYWNrc1tvdmVybGF5TmFtZV0gPSB1c2VyRmlsZUNhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgc29ydFVzZXJGaWxlcyhrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgLy8gSGVscGVyIGRhdGEgc3RydWN0dXJlIGZvciBzdWJkaXJlY3Rvcmllcy5cclxuICAgIGNvbnN0IHNwbGl0S2V5TWFwOiB7IFtrOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKVxyXG4gICAgICBzcGxpdEtleU1hcFtrZXldID0ga2V5LnRvVXBwZXJDYXNlKCkuc3BsaXQoL1svXFxcXF0vKTtcclxuXHJcbiAgICAvLyBTb3J0IHBhdGhzIGFzIGEgZGVwdGgtZmlyc3QgY2FzZS1pbnNlbnNpdGl2ZSBhbHBoYWJldGljYWwgc3ViZGlyZWN0b3J5IHdhbGssIGZvbGxvd2VkIGJ5XHJcbiAgICAvLyBhbGwgZmlsZXMgc29ydGVkIGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsbHkgb25jZSBhIHN1YmRpciBoYXMgYmVlbiBwcm9jZXNzZWQsIGUuZy5cclxuICAgIC8vICAqIGEvc29tZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL3ovei96L25lc3RlZF9maWxlLmpzXHJcbiAgICAvLyAgKiBiL3N1YmRpcjEvZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL2ZpcnN0LmpzXHJcbiAgICAvLyAgKiBiL3N1YmRpcjIvc2Vjb25kLmpzXHJcbiAgICAvLyAgKiBiL3NvbWVfZmlsZS5qc1xyXG4gICAgLy8gICogcm9vdF9maWxlMS5qc1xyXG4gICAgLy8gICogcm9vdF9maWxlMi5qc1xyXG4gICAgcmV0dXJuIGtleXMuc29ydCgoa2V5QSwga2V5QikgPT4ge1xyXG4gICAgICBjb25zdCBsaXN0QSA9IHNwbGl0S2V5TWFwW2tleUFdO1xyXG4gICAgICBjb25zdCBsaXN0QiA9IHNwbGl0S2V5TWFwW2tleUJdO1xyXG4gICAgICBpZiAobGlzdEEgPT09IHVuZGVmaW5lZCB8fCBsaXN0QiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIGNvbnN0IG1heExlbiA9IE1hdGgubWF4KGxpc3RBLmxlbmd0aCwgbGlzdEIubGVuZ3RoKTtcclxuICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbWF4TGVuOyArK2lkeCkge1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QSA9IGxpc3RBW2lkeF07XHJcbiAgICAgICAgY29uc3QgZW50cnlCID0gbGlzdEJbaWR4XTtcclxuICAgICAgICAvLyBJbiBwcmFjdGljZSwgdGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGVudHJ5LlxyXG4gICAgICAgIGlmIChlbnRyeUEgPT09IHVuZGVmaW5lZCB8fCBlbnRyeUIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgICAgLy8gSWYgYm90aCBzdWJkaXJlY3RvcmllcyBvciBib3RoIGZpbGVzLCB0aGVuIGNvbXBhcmUgbmFtZXMuXHJcbiAgICAgICAgY29uc3QgaXNMYXN0QSA9IGxpc3RBLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuICAgICAgICBjb25zdCBpc0xhc3RCID0gbGlzdEIubGVuZ3RoIC0gMSA9PT0gaWR4O1xyXG5cclxuICAgICAgICBpZiAoaXNMYXN0QSAmJiBpc0xhc3RCKSB7XHJcbiAgICAgICAgICAvLyBJZiBib3RoIGxhc3QsIHRoZW4gdGhpcyBpcyBhIGZpbGVuYW1lIGNvbXBhcmlzb24uXHJcblxyXG4gICAgICAgICAgLy8gRmlyc3QsIGNvbXBhcmUgZmlsZW5hbWUgd2l0aG91dCBleHRlbnNpb24uXHJcbiAgICAgICAgICBjb25zdCBmaWxlQSA9IGVudHJ5QS5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVCID0gZW50cnlCLnJlcGxhY2UoL1xcLlteXFwuXSokLywgJycpO1xyXG4gICAgICAgICAgY29uc3QgZmlsZW5hbWVPbmx5RGlmZiA9IGZpbGVBLmxvY2FsZUNvbXBhcmUoZmlsZUIpO1xyXG4gICAgICAgICAgaWYgKGZpbGVuYW1lT25seURpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlbmFtZU9ubHlEaWZmO1xyXG5cclxuICAgICAgICAgIC8vIFNlY29uZCwgY29tcGFyZSBpbmNsdWRpbmcgdGhlIGV4dGVuc2lvbi5cclxuICAgICAgICAgIC8vIEFsd2F5cyByZXR1cm4gc29tZXRoaW5nIGhlcmUsIHNlZSBub3RlIGJlbG93LlxyXG4gICAgICAgICAgcmV0dXJuIGVudHJ5QS5sb2NhbGVDb21wYXJlKGVudHJ5Qik7XHJcbiAgICAgICAgfSBlbHNlIGlmICghaXNMYXN0QSAmJiAhaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBub3QgbGFzdCwgdGhpcyBpcyBhIHN1YmRpcmVjdG9yeSBjb21wYXJpc29uLlxyXG4gICAgICAgICAgY29uc3QgZGlmZiA9IGVudHJ5QS5sb2NhbGVDb21wYXJlKGVudHJ5Qik7XHJcbiAgICAgICAgICBpZiAoZGlmZilcclxuICAgICAgICAgICAgcmV0dXJuIGRpZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCBpZiBpZHggaXMgdGhlIGZpbmFsIGZvciBlYWNoLCB3ZSB3b3VsZCBoYXZlIHJldHVybmVkIGFib3ZlLlxyXG4gICAgICAgIC8vIFNvLCBjaGVjayBpZiBlaXRoZXIgYSBvciBiIGlzIGF0IHRoZSBmaW5hbCBlbnRyeSBpbiBzcGxpdEtleU1hcC5cclxuICAgICAgICAvLyBJZiBzbywgdGhlbiB0aGVyZSdzIGEgbWlzbWF0Y2ggaW4gbnVtYmVyIG9mIGRpcmVjdG9yaWVzLCBhbmQgd2Uga25vdyBvbmVcclxuICAgICAgICAvLyB0aGUgb25lIHdpdGggYSBmaWxlbmFtZSBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcblxyXG4gICAgICAgIGlmIChsaXN0QS5sZW5ndGggLSAxIDw9IGlkeCkge1xyXG4gICAgICAgICAgLy8gYSBoYXMgZmV3ZXIgc3ViZGlyZWN0b3JpZXMsIHNvIHNob3VsZCBiZSBzb3J0ZWQgbGFzdC5cclxuICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGlzdEIubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIG1vcmUgc3ViZGlyZWN0b3JpZXMsIHNvIHNob3VsZCBiZSBzb3J0ZWQgZmlyc3QuXHJcbiAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBHaXZlbiBhIHNldCBvZiBwYXRocywgYW4gb3ZlcmxheU5hbWUsIGFuZCBhbiBleHRlbnNpb24sIHJldHVybiBhbGwgcGF0aHMgd2l0aFxyXG4gIC8vIHRoYXQgZXh0ZW5zaW9uIHRoYXQgaGF2ZSBgb3ZlcmxheU5hbWVgIGVpdGhlciBhcyB0aGVpciBlbnRpcmUgZmlsZW5hbWUgKG5vIHN1YmRpcilcclxuICAvLyBvciBhcmUgaW5zaWRlIGEgcm9vdC1sZXZlbCBzdWJkaXJlY3RvcnkgbmFtZWQgYG92ZXJsYXlOYW1lYC8gIFRoZSBleHRlbnNpb24gc2hvdWxkXHJcbiAgLy8gaW5jbHVkZSB0aGUgcGVyaW9kIHNlcGFyYXRvciwgZS5nLiBcIi5qc1wiLiAgQWxsIGNvbXBhcmlzb25zIGFyZSBjYXNlIGluc2Vuc2l0aXZlLlxyXG4gIGZpbHRlclVzZXJGaWxlcyhwYXRoczogc3RyaW5nW10sIG9yaWdPdmVybGF5TmFtZTogc3RyaW5nLCBvcmlnRXh0ZW5zaW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IG9yaWdFeHRlbnNpb24udG9Mb3dlckNhc2UoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlOYW1lID0gb3JpZ092ZXJsYXlOYW1lLnRvTG93ZXJDYXNlKCk7XHJcbiAgICByZXR1cm4gcGF0aHMuZmlsdGVyKChvcmlnUGF0aCkgPT4ge1xyXG4gICAgICBjb25zdCBwYXRoID0gb3JpZ1BhdGgudG9Mb3dlckNhc2UoKTtcclxuICAgICAgaWYgKCFwYXRoLmVuZHNXaXRoKGV4dGVuc2lvbikpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAocGF0aCA9PT0gYCR7b3ZlcmxheU5hbWV9JHtleHRlbnNpb259YClcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX0vYCkgfHwgcGF0aC5zdGFydHNXaXRoKGAke292ZXJsYXlOYW1lfVxcXFxgKSlcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyQ29uZmlnTG9jYXRpb24ob3ZlcmxheU5hbWU6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMsIGNhbGxiYWNrOiAoKSA9PiB2b2lkKSB7XHJcbiAgICBsZXQgY3VycmVudGx5UmVsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBjb25zdCByZWxvYWRPbmNlID0gKCkgPT4ge1xyXG4gICAgICBpZiAoY3VycmVudGx5UmVsb2FkaW5nKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY3VycmVudGx5UmVsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uVXNlckZpbGVDaGFuZ2VkJywgKCkgPT4ge1xyXG4gICAgICByZWxvYWRPbmNlKCk7XHJcbiAgICB9KTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignb25Gb3JjZVJlbG9hZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkVXNlckZpbGVzKG92ZXJsYXlOYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBsb2FkVXNlckZpbGVzKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgY29uc3QgcmVhZE9wdGlvbnMgPSBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICBjYWxsOiAnY2FjdGJvdExvYWREYXRhJyxcclxuICAgICAgb3ZlcmxheTogJ29wdGlvbnMnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbG9hZFVzZXIgPSBhc3luYyAoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFRoZSBiYXNlUGF0aCBpc24ndCB1c2luZyBmb3IgYW55dGhpbmcgb3RoZXIgdGhhbiBjb3NtZXRpYyBwcmludGluZyBvZiBmdWxsIHBhdGhzLFxyXG4gICAgICAvLyBzbyByZXBsYWNlIGFueSBzbGFzaGVzIGhlcmUgZm9yIHVuaWZvcm1pdHkuICBJbiBjYXNlIGFueWJvZHkgaXMgdXNpbmcgY2FjdGJvdCBvblxyXG4gICAgICAvLyBMaW51eCAoPyE/KSwgc3VwcG9ydCBhbnkgc3R5bGUgb2Ygc2xhc2hlcyBlbHNld2hlcmUuXHJcbiAgICAgIGNvbnN0IGJhc2VQYXRoID0gZS5kZXRhaWwudXNlckxvY2F0aW9uLnJlcGxhY2UoL1svXFxcXF0qJC8sICcnKSArICdcXFxcJztcclxuICAgICAgY29uc3QgbG9jYWxGaWxlcyA9IGUuZGV0YWlsLmxvY2FsVXNlckZpbGVzO1xyXG5cclxuICAgICAgLy8gVGhlIHBsdWdpbiBhdXRvLWRldGVjdHMgdGhlIGxhbmd1YWdlLCBzbyBzZXQgdGhpcyBmaXJzdC5cclxuICAgICAgLy8gSWYgb3B0aW9ucyBmaWxlcyB3YW50IHRvIG92ZXJyaWRlIGl0LCB0aGV5IGNhbiBmb3IgdGVzdGluZy5cclxuXHJcbiAgICAgIC8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKGxhbmd1YWdlIGlzIG5vdyBzZXBhcmF0ZWQgdG8gdGhyZWUgdHlwZXMuKVxyXG4gICAgICBpZiAoZS5kZXRhaWwubGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwubGFuZ3VhZ2U7XHJcbiAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZS5kZXRhaWwubGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gUGFyc2VyIExhbmd1YWdlXHJcbiAgICAgIGlmIChlLmRldGFpbC5wYXJzZXJMYW5ndWFnZSkge1xyXG4gICAgICAgIG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgPSBlLmRldGFpbC5wYXJzZXJMYW5ndWFnZTtcclxuICAgICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBldmVyeXRoaW5nIFwiTGFuZ3VhZ2VcIiBzaG91bGQgYmUgY2hhbmdlZCB0byBcIlBhcnNlckxhbmd1YWdlXCJcclxuICAgICAgICBvcHRpb25zLkxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gU3lzdGVtIExhbmd1YWdlXHJcbiAgICAgIGlmIChlLmRldGFpbC5zeXN0ZW1Mb2NhbGUpIHtcclxuICAgICAgICBvcHRpb25zLlN5c3RlbUxvY2FsZSA9IGUuZGV0YWlsLnN5c3RlbUxvY2FsZTtcclxuICAgICAgICBsZXQgc2hvcnRMb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGUuc3Vic3RyaW5nKDAsIDIpO1xyXG4gICAgICAgIGlmIChzaG9ydExvY2FsZSA9PT0gJ3poJylcclxuICAgICAgICAgIHNob3J0TG9jYWxlID0gJ2NuJztcclxuICAgICAgICBpZiAoaXNMYW5nKHNob3J0TG9jYWxlKSlcclxuICAgICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBzaG9ydExvY2FsZTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gb3B0aW9ucy5QYXJzZXJMYW5ndWFnZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBVc2VyJ3Mgc2V0dGluZyBMYW5ndWFnZVxyXG4gICAgICBjb25zdCBkaXNwbGF5TGFuZyA9IGUuZGV0YWlsLmRpc3BsYXlMYW5ndWFnZTtcclxuICAgICAgaWYgKGlzTGFuZyhkaXNwbGF5TGFuZykpXHJcbiAgICAgICAgb3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPSBkaXNwbGF5TGFuZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG5cclxuICAgICAgLy8gVE9ETzogbGVmdCBmb3Igbm93IGFzIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdXNlciBjc3MuICBSZW1vdmUgdGhpcyBsYXRlcj8/XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGBsYW5nLSR7b3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2V9YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nID0gbGFuZ1RvTG9jYWxlKG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlKTtcclxuICAgICAgdGhpcy5hZGRVbmxvY2tUZXh0KG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlKTtcclxuXHJcbiAgICAgIC8vIEhhbmRsZSBwcm9jZXNzT3B0aW9ucyBhZnRlciBkZWZhdWx0IGxhbmd1YWdlIHNlbGVjdGlvbiBhYm92ZSxcclxuICAgICAgLy8gYnV0IGJlZm9yZSBjc3MgYmVsb3cgd2hpY2ggbWF5IGxvYWQgc2tpbiBmaWxlcy5cclxuICAgICAgLy8gcHJvY2Vzc09wdGlvbnMgbmVlZHMgdG8gYmUgY2FsbGVkIHdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZVxyXG4gICAgICAvLyBhbnkgdXNlck9wdGlvbnMgc2F2ZWQsIGFzIGl0IHNldHMgdXAgdGhlIGRlZmF1bHRzLlxyXG4gICAgICB0aGlzLnNhdmVkQ29uZmlnID0gKGF3YWl0IHJlYWRPcHRpb25zKT8uZGF0YSA/PyB7fTtcclxuICAgICAgdGhpcy5wcm9jZXNzT3B0aW9ucyhcclxuICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIHRoaXMuc2F2ZWRDb25maWdbb3ZlcmxheU5hbWVdID8/IHt9LFxyXG4gICAgICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIElmIHRoZSBvdmVybGF5IGhhcyBhIFwiRGVidWdcIiBzZXR0aW5nLCBzZXQgdG8gdHJ1ZSB2aWEgdGhlIGNvbmZpZyB0b29sLFxyXG4gICAgICAvLyB0aGVuIGFsc28gcHJpbnQgb3V0IHVzZXIgZmlsZXMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkLlxyXG4gICAgICBjb25zdCBwcmludFVzZXJGaWxlID0gb3B0aW9ucy5EZWJ1ZyA/ICh4OiBzdHJpbmcpID0+IGNvbnNvbGUubG9nKHgpIDogKCkgPT4gey8qIG5vb3AgKi99O1xyXG5cclxuICAgICAgLy8gV2l0aCB1c2VyIGZpbGVzIGJlaW5nIGFyYml0cmFyeSBqYXZhc2NyaXB0LCBhbmQgaGF2aW5nIG11bHRpcGxlIGZpbGVzXHJcbiAgICAgIC8vIGluIHVzZXIgZm9sZGVycywgaXQncyBwb3NzaWJsZSBmb3IgbGF0ZXIgZmlsZXMgdG8gYWNjaWRlbnRhbGx5IHJlbW92ZVxyXG4gICAgICAvLyB0aGluZ3MgdGhhdCBwcmV2aW91cyBmaWxlcyBoYXZlIGFkZGVkLiAgV2FybiBhYm91dCB0aGlzLCBzaW5jZSBtb3N0XHJcbiAgICAgIC8vIHVzZXJzIGFyZSBub3QgcHJvZ3JhbW1lcnMuXHJcbiAgICAgIGNvbnN0IHdhcm5PblZhcmlhYmxlUmVzZXRNYXA6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge1xyXG4gICAgICAgIHJhaWRib3NzOiBbXHJcbiAgICAgICAgICAnVHJpZ2dlcnMnLFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH07XHJcbiAgICAgIHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdID0gd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gfHwgW107XHJcblxyXG4gICAgICAvLyBUaGUgdmFsdWVzIG9mIGVhY2ggYHdhcm5PblZhcmlhYmxlUmVzZXRNYXBgIGZpZWxkIGFyZSBpbml0aWFsbHkgc2V0XHJcbiAgICAgIC8vIGFmdGVyIHRoZSBmaXJzdCBmaWxlLCBzbyB0aGF0IGlmIHRoZXJlIGlzIG9ubHkgb25lIGZpbGUsIHRoZXJlIGFyZVxyXG4gICAgICAvLyBub3QgYW55IHdhcm5pbmdzLlxyXG5cclxuICAgICAgLy8gVGhlIGZpZWxkcyB0aGF0IGEgdXNlciBmaWxlIHNldHMgaW4gT3B0aW9ucyBjYW4gYmUgYW55dGhpbmcgKHB1biBub3QgaW50ZW5kZWQpXHJcbiAgICAgIC8vIGFuZCBzbyB3ZSB1c2UgYGFueWAgaGVyZS4gIFRoZSBvbmx5IG9wZXJhdGlvbiBkb25lIG9uIHRoaXMgZmllbGQgaXMgYSAhPT1cclxuICAgICAgLy8gZm9yIGNoYW5nZSBkZXRlY3Rpb24gdG8gc2VlIGlmIHRoZSB0aGUgdXNlciBmaWxlIGhhcyBtb2RpZmllZCBpdC5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29uc3QgdmFyaWFibGVUcmFja2VyOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgICBpZiAobG9jYWxGaWxlcykge1xyXG4gICAgICAgIC8vIGxvY2FsRmlsZXMgbWF5IGJlIG51bGwgaWYgdGhlcmUgaXMgbm8gdmFsaWQgdXNlciBkaXJlY3RvcnkuXHJcbiAgICAgICAgY29uc3Qgc29ydGVkRmlsZXMgPSB0aGlzLnNvcnRVc2VyRmlsZXMoT2JqZWN0LmtleXMobG9jYWxGaWxlcykpO1xyXG4gICAgICAgIGNvbnN0IGpzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuanMnKTtcclxuICAgICAgICBjb25zdCBjc3NGaWxlcyA9IHRoaXMuZmlsdGVyVXNlckZpbGVzKHNvcnRlZEZpbGVzLCBvdmVybGF5TmFtZSwgJy5jc3MnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBqc0ZpbGUgb2YganNGaWxlcykge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcHJpbnRVc2VyRmlsZShgbG9jYWwgdXNlciBmaWxlOiAke2Jhc2VQYXRofSR7anNGaWxlfWApO1xyXG4gICAgICAgICAgICB0aGlzLmV2YWxVc2VyRmlsZShsb2NhbEZpbGVzW2pzRmlsZV0gPz8gJycsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA/PyBbXSkge1xyXG4gICAgICAgICAgICAgIGlmICh2YXJpYWJsZVRyYWNrZXJbZmllbGRdICYmIHZhcmlhYmxlVHJhY2tlcltmaWVsZF0gIT09IG9wdGlvbnNbZmllbGRdKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZGVhbGx5IHVzZXJzIHNob3VsZCBkbyBzb21ldGhpbmcgbGlrZSBgT3B0aW9ucy5UcmlnZ2Vycy5wdXNoKFtldGNdKTtgXHJcbiAgICAgICAgICAgICAgICAvLyBpbnN0ZWFkIG9mIGBPcHRpb25zLlRyaWdnZXJzID0gW2V0Y107YFxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICAgIGAqKiogV0FSTklORzogJHtiYXNlUGF0aH0ke2pzRmlsZX0gb3ZlcndyaXRlcyBPcHRpb25zLiR7ZmllbGR9IGZyb20gcHJldmlvdXMgZmlsZXMuYCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHZhcmlhYmxlVHJhY2tlcltmaWVsZF0gPSBvcHRpb25zW2ZpZWxkXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy51c2VyRmlsZUNhbGxiYWNrc1tvdmVybGF5TmFtZV0/Lihqc0ZpbGUsIGxvY2FsRmlsZXMsIG9wdGlvbnMsIGJhc2VQYXRoKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgLy8gQmUgdmVyeSB2aXNpYmxlIGZvciB1c2Vycy5cclxuICAgICAgICAgICAgY29uc29sZS5sb2coJyoqKiBFUlJPUiBJTiBVU0VSIEZJTEUgKioqJyk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBhd2t3YXJkIHRvIGhhbmRsZSBza2luIHNldHRpbmdzIGhlcmUsIGJ1dFxyXG4gICAgICAgIC8vIGRvaW5nIGl0IGFmdGVyIHVzZXIgY29uZmlnIGZpbGVzIGFuZCBiZWZvcmUgdXNlciBjc3MgZmlsZXNcclxuICAgICAgICAvLyBhbGxvd3MgdXNlciBjc3MgdG8gb3ZlcnJpZGUgc2tpbi1zcGVjaWZpYyBjc3MgYXMgd2VsbC5cclxuICAgICAgICBpZiAob3B0aW9ucy5Ta2luKVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTa2luKG9wdGlvbnMuU2tpbik7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgY3NzRmlsZSBvZiBjc3NGaWxlcykge1xyXG4gICAgICAgICAgcHJpbnRVc2VyRmlsZShgbG9jYWwgdXNlciBmaWxlOiAke2Jhc2VQYXRofSR7Y3NzRmlsZX1gKTtcclxuICAgICAgICAgIGNvbnN0IHVzZXJDc3NUZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gbG9jYWxGaWxlc1tjc3NGaWxlXTtcclxuICAgICAgICAgIGlmIChjb250ZW50cylcclxuICAgICAgICAgICAgdXNlckNzc1RleHQuaW5uZXJUZXh0ID0gY29udGVudHM7XHJcbiAgICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgICAgICAgIGlmIChoZWFkKVxyXG4gICAgICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHVzZXJDc3NUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFBvc3QgdGhpcyBjYWxsYmFjayBzbyB0aGF0IHRoZSBqcyBhbmQgY3NzIGNhbiBiZSBleGVjdXRlZCBmaXJzdC5cclxuICAgICAgaWYgKGNhbGxiYWNrKVxyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcblxyXG4gICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7IGNhbGw6ICdjYWN0Ym90UmVxdWVzdFN0YXRlJyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICBjYWxsOiAnY2FjdGJvdExvYWRVc2VyJyxcclxuICAgICAgc291cmNlOiBsb2NhdGlvbi5ocmVmLFxyXG4gICAgICBvdmVybGF5TmFtZTogb3ZlcmxheU5hbWUsXHJcbiAgICB9KS50aGVuKChlOiB7IGRldGFpbDogQ2FjdGJvdExvYWRVc2VyUmV0IH0pID0+IHtcclxuICAgICAgLy8gV2FpdCBmb3IgRE9NQ29udGVudExvYWRlZCBpZiBuZWVkZWQuXHJcbiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xyXG4gICAgICAgIHZvaWQgbG9hZFVzZXIoZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTa2luKHNraW5OYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICghc2tpbk5hbWUgfHwgc2tpbk5hbWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBiYXNlUGF0aCA9IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBzbGFzaElkeCA9IGJhc2VQYXRoLmxhc3RJbmRleE9mKCcvJyk7XHJcbiAgICBpZiAoc2xhc2hJZHggIT09IC0xKVxyXG4gICAgICBiYXNlUGF0aCA9IGJhc2VQYXRoLnN1YnN0cigwLCBzbGFzaElkeCk7XHJcbiAgICBpZiAoYmFzZVBhdGguc2xpY2UoLTEpICE9PSAnLycpXHJcbiAgICAgIGJhc2VQYXRoICs9ICcvJztcclxuICAgIGNvbnN0IHNraW5IcmVmID0gYmFzZVBhdGggKyAnc2tpbnMvJyArIHNraW5OYW1lICsgJy8nICsgc2tpbk5hbWUgKyAnLmNzcyc7XHJcbiAgICB0aGlzLmFwcGVuZENTU0xpbmsoc2tpbkhyZWYpO1xyXG4gIH1cclxuICBhcHBlbmRKU0xpbmsoc3JjOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJKUyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2phdmFzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3NyYycsIHNyYyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdhc3luYycsICdmYWxzZScpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VySlMpO1xyXG4gIH1cclxuICBhcHBlbmRDU1NMaW5rKGhyZWY6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlckNTUyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCdyZWwnLCAnc3R5bGVzaGVldCcpO1xyXG4gICAgdXNlckNTUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XHJcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgIGlmIChoZWFkKVxyXG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHVzZXJDU1MpO1xyXG4gIH1cclxuICBwcm9jZXNzT3B0aW9ucyhvcHRpb25zOiBCYXNlT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnksIHRlbXBsYXRlPzogT3B0aW9uc1RlbXBsYXRlKSB7XHJcbiAgICAvLyBUYWtlIG9wdGlvbnMgZnJvbSB0aGUgdGVtcGxhdGUsIGZpbmQgdGhlbSBpbiBzYXZlZENvbmZpZyxcclxuICAgIC8vIGFuZCBhcHBseSB0aGVtIHRvIG9wdGlvbnMuIFRoaXMgYWxzbyBoYW5kbGVzIHNldHRpbmdcclxuICAgIC8vIGRlZmF1bHRzIGZvciBhbnl0aGluZyBpbiB0aGUgdGVtcGxhdGUsIGV2ZW4gaWYgaXQgZG9lcyBub3RcclxuICAgIC8vIGV4aXN0IGluIHNhdmVkQ29uZmlnLlxyXG5cclxuICAgIC8vIE5vdCBhbGwgb3ZlcmxheXMgaGF2ZSBvcHRpb24gdGVtcGxhdGVzLlxyXG4gICAgaWYgKCF0ZW1wbGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRlbXBsYXRlT3B0aW9ucyA9IHRlbXBsYXRlLm9wdGlvbnMgfHwgW107XHJcbiAgICBmb3IgKGNvbnN0IG9wdCBvZiB0ZW1wbGF0ZU9wdGlvbnMpIHtcclxuICAgICAgLy8gR3JhYiB0aGUgc2F2ZWQgdmFsdWUgb3IgdGhlIGRlZmF1bHQgdG8gc2V0IGluIG9wdGlvbnMuXHJcblxyXG4gICAgICBsZXQgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnkgPSBvcHQuZGVmYXVsdDtcclxuICAgICAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKSB7XHJcbiAgICAgICAgaWYgKG9wdC5pZCBpbiBzYXZlZENvbmZpZykge1xyXG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzYXZlZENvbmZpZ1tvcHQuaWRdO1xyXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBPcHRpb25zIGNhbiBwcm92aWRlIGN1c3RvbSBsb2dpYyB0byB0dXJuIGEgdmFsdWUgaW50byBvcHRpb25zIHNldHRpbmdzLlxyXG4gICAgICAvLyBJZiB0aGlzIGRvZXNuJ3QgZXhpc3QsIGp1c3Qgc2V0IHRoZSB2YWx1ZSBkaXJlY3RseS5cclxuICAgICAgLy8gT3B0aW9uIHRlbXBsYXRlIGlkcyBhcmUgaWRlbnRpY2FsIHRvIGZpZWxkIG5hbWVzIG9uIE9wdGlvbnMuXHJcbiAgICAgIGlmIChvcHQuc2V0dGVyRnVuYykge1xyXG4gICAgICAgIG9wdC5zZXR0ZXJGdW5jKG9wdGlvbnMsIHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2ludGVnZXInKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBvcHRpb25zW29wdC5pZF0gPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gcGFyc2VJbnQodmFsdWUpO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdC50eXBlID09PSAnZmxvYXQnKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBvcHRpb25zW29wdC5pZF0gPSB2YWx1ZTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgdGhpbmdzIGxpa2UgcmFpZGJvc3MgdGhhdCBidWlsZCBleHRyYSBVSSwgYWxzbyBnaXZlIHRoZW0gYSBjaGFuY2VcclxuICAgIC8vIHRvIGhhbmRsZSBhbnl0aGluZyB0aGF0IGhhcyBiZWVuIHNldCBvbiB0aGF0IFVJLlxyXG4gICAgaWYgKHRlbXBsYXRlLnByb2Nlc3NFeHRyYU9wdGlvbnMpXHJcbiAgICAgIHRlbXBsYXRlLnByb2Nlc3NFeHRyYU9wdGlvbnMob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gIH1cclxuICBhZGRVbmxvY2tUZXh0KGxhbmc6IExhbmcpIHtcclxuICAgIGNvbnN0IHVubG9ja1RleHQgPSB7XHJcbiAgICAgIGVuOiAn8J+UkyBVbmxvY2tlZCAobG9jayBvdmVybGF5IGJlZm9yZSB1c2luZyknLFxyXG4gICAgICBkZTogJ/CflJMgRW50c3BlcnJ0IChTcGVycmUgZGFzIE92ZXJsYXkgdm9yIGRlciBOdXR6dW5nKScsXHJcbiAgICAgIGZyOiAn8J+UkyBEw6libG9xdcOpIChCbG9xdWV6IGxcXCdvdmVybGF5IGF2YW50IHV0aWxpc2F0aW9uKScsXHJcbiAgICAgIGphOiAn8J+UkyDjg63jg4Pjgq/op6PpmaQgKOOCquODvOODkOODvOODrOOCpOOCkuS9v+eUqOOBmeOCi+WJjeOBq+ODreODg+OCr+OBl+OBpuOBj+OBoOOBleOBhCknLFxyXG4gICAgICBjbjogJ/CflJMg5bey6Kej6Zmk6ZSB5a6aICjkvaDpnIDopoHlsIbmraTmgqzmta7nqpfplIHlrprlkI7mlrnlj6/kvb/nlKgpJyxcclxuICAgICAga286ICfwn5STIOychOy5mCDsnqDquIgg7ZW07KCc65CoICjsgqzsmqntlZjquLAg7KCE7JeQIOychOy5mCDsnqDquIjsnYQg7ISk7KCV7ZWY7IS47JqUKScsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGlkID0gJ2NhY3Rib3QtdW5sb2NrZWQtdGV4dCc7XHJcbiAgICBsZXQgdGV4dEVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICBpZiAoIXRleHRFbGVtKSB7XHJcbiAgICAgIHRleHRFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRleHRFbGVtLmlkID0gaWQ7XHJcbiAgICAgIHRleHRFbGVtLmNsYXNzTGlzdC5hZGQoJ3RleHQnKTtcclxuICAgICAgLy8gU2V0IGVsZW1lbnQgZGlzcGxheSB0byBub25lIGluIGNhc2UgdGhlIHBhZ2UgaGFzIG5vdCBpbmNsdWRlZCBkZWZhdWx0cy5jc3MuXHJcbiAgICAgIHRleHRFbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHRleHRFbGVtKTtcclxuICAgIH1cclxuICAgIHRleHRFbGVtLmlubmVySFRNTCA9IHVubG9ja1RleHRbbGFuZ10gfHwgdW5sb2NrVGV4dFsnZW4nXTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBVc2VyQ29uZmlnKCk7XHJcblxyXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gIC8vIFRoaXMgZXZlbnQgY29tZXMgZWFybHkgYW5kIGlzIG5vdCBjYWNoZWQsIHNvIHNldCB1cCBldmVudCBsaXN0ZW5lciBpbW1lZGlhdGVseS5cclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdvbk92ZXJsYXlTdGF0ZVVwZGF0ZScsIChlKSA9PiB7XHJcbiAgICBjb25zdCBkb2NDbGFzc0xpc3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O1xyXG4gICAgaWYgKGUuZGV0YWlsLmlzTG9ja2VkKVxyXG4gICAgICBkb2NDbGFzc0xpc3QucmVtb3ZlKCdyZXNpemVIYW5kbGUnLCAndW5sb2NrZWQnKTtcclxuICAgIGVsc2VcclxuICAgICAgZG9jQ2xhc3NMaXN0LmFkZCgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgfSk7XHJcbn1cclxuIiwiaW1wb3J0IHsgT3ZlcmxheUhhbmRsZXJSZXF1ZXN0cywgT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzIH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5cclxuLy8gVE9ETzogaXQnZCBiZSBuaWNlIHRvIG5vdCByZXBlYXQgam9iIG5hbWVzLCBidXQgYXQgbGVhc3QgUmVjb3JkIGVuZm9yY2VzIHRoYXQgYWxsIGFyZSBzZXQuXHJcbmNvbnN0IG5hbWVUb0pvYkVudW06IFJlY29yZDxKb2IsIG51bWJlcj4gPSB7XHJcbiAgTk9ORTogMCxcclxuICBHTEE6IDEsXHJcbiAgUEdMOiAyLFxyXG4gIE1SRDogMyxcclxuICBMTkM6IDQsXHJcbiAgQVJDOiA1LFxyXG4gIENOSjogNixcclxuICBUSE06IDcsXHJcbiAgQ1JQOiA4LFxyXG4gIEJTTTogOSxcclxuICBBUk06IDEwLFxyXG4gIEdTTTogMTEsXHJcbiAgTFRXOiAxMixcclxuICBXVlI6IDEzLFxyXG4gIEFMQzogMTQsXHJcbiAgQ1VMOiAxNSxcclxuICBNSU46IDE2LFxyXG4gIEJUTjogMTcsXHJcbiAgRlNIOiAxOCxcclxuICBQTEQ6IDE5LFxyXG4gIE1OSzogMjAsXHJcbiAgV0FSOiAyMSxcclxuICBEUkc6IDIyLFxyXG4gIEJSRDogMjMsXHJcbiAgV0hNOiAyNCxcclxuICBCTE06IDI1LFxyXG4gIEFDTjogMjYsXHJcbiAgU01OOiAyNyxcclxuICBTQ0g6IDI4LFxyXG4gIFJPRzogMjksXHJcbiAgTklOOiAzMCxcclxuICBNQ0g6IDMxLFxyXG4gIERSSzogMzIsXHJcbiAgQVNUOiAzMyxcclxuICBTQU06IDM0LFxyXG4gIFJETTogMzUsXHJcbiAgQkxVOiAzNixcclxuICBHTkI6IDM3LFxyXG4gIEROQzogMzgsXHJcbiAgUlBSOiAzOSxcclxuICBTR0U6IDQwLFxyXG59O1xyXG5cclxuY29uc3QgYWxsSm9icyA9IE9iamVjdC5rZXlzKG5hbWVUb0pvYkVudW0pIGFzIEpvYltdO1xyXG5jb25zdCBhbGxSb2xlcyA9IFsndGFuaycsICdoZWFsZXInLCAnZHBzJywgJ2NyYWZ0ZXInLCAnZ2F0aGVyZXInLCAnbm9uZSddIGFzIFJvbGVbXTtcclxuXHJcbmNvbnN0IHRhbmtKb2JzOiBKb2JbXSA9IFsnR0xBJywgJ1BMRCcsICdNUkQnLCAnV0FSJywgJ0RSSycsICdHTkInXTtcclxuY29uc3QgaGVhbGVySm9iczogSm9iW10gPSBbJ0NOSicsICdXSE0nLCAnU0NIJywgJ0FTVCcsICdTR0UnXTtcclxuY29uc3QgbWVsZWVEcHNKb2JzOiBKb2JbXSA9IFsnUEdMJywgJ01OSycsICdMTkMnLCAnRFJHJywgJ1JPRycsICdOSU4nLCAnU0FNJywgJ1JQUiddO1xyXG5jb25zdCByYW5nZWREcHNKb2JzOiBKb2JbXSA9IFsnQVJDJywgJ0JSRCcsICdETkMnLCAnTUNIJ107XHJcbmNvbnN0IGNhc3RlckRwc0pvYnM6IEpvYltdID0gWydCTFUnLCAnUkRNJywgJ0JMTScsICdTTU4nLCAnQUNOJywgJ1RITSddO1xyXG5jb25zdCBkcHNKb2JzOiBKb2JbXSA9IFsuLi5tZWxlZURwc0pvYnMsIC4uLnJhbmdlZERwc0pvYnMsIC4uLmNhc3RlckRwc0pvYnNdO1xyXG5jb25zdCBjcmFmdGluZ0pvYnM6IEpvYltdID0gWydDUlAnLCAnQlNNJywgJ0FSTScsICdHU00nLCAnTFRXJywgJ1dWUicsICdBTEMnLCAnQ1VMJ107XHJcbmNvbnN0IGdhdGhlcmluZ0pvYnM6IEpvYltdID0gWydNSU4nLCAnQlROJywgJ0ZTSCddO1xyXG5cclxuY29uc3Qgc3R1bkpvYnM6IEpvYltdID0gWydCTFUnLCAuLi50YW5rSm9icywgLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3Qgc2lsZW5jZUpvYnM6IEpvYltdID0gWydCTFUnLCAuLi50YW5rSm9icywgLi4ucmFuZ2VkRHBzSm9ic107XHJcbmNvbnN0IHNsZWVwSm9iczogSm9iW10gPSBbJ0JMTScsICdCTFUnLCAuLi5oZWFsZXJKb2JzXTtcclxuY29uc3QgZmVpbnRKb2JzOiBKb2JbXSA9IFsuLi5tZWxlZURwc0pvYnNdO1xyXG5jb25zdCBhZGRsZUpvYnM6IEpvYltdID0gWy4uLmNhc3RlckRwc0pvYnNdO1xyXG5jb25zdCBjbGVhbnNlSm9iczogSm9iW10gPSBbJ0JMVScsICdCUkQnLCAuLi5oZWFsZXJKb2JzXTtcclxuXHJcbmNvbnN0IGpvYlRvUm9sZU1hcDogTWFwPEpvYiwgUm9sZT4gPSAoKCkgPT4ge1xyXG4gIGNvbnN0IGFkZFRvTWFwID0gKG1hcDogTWFwPEpvYiwgUm9sZT4sIGpvYnM6IEpvYltdLCByb2xlOiBSb2xlKSA9PiB7XHJcbiAgICBqb2JzLmZvckVhY2goKGpvYikgPT4gbWFwLnNldChqb2IsIHJvbGUpKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBtYXA6IE1hcDxKb2IsIFJvbGU+ID0gbmV3IE1hcChbWydOT05FJywgJ25vbmUnXV0pO1xyXG4gIGFkZFRvTWFwKG1hcCwgdGFua0pvYnMsICd0YW5rJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBoZWFsZXJKb2JzLCAnaGVhbGVyJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBkcHNKb2JzLCAnZHBzJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBjcmFmdGluZ0pvYnMsICdjcmFmdGVyJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBnYXRoZXJpbmdKb2JzLCAnZ2F0aGVyZXInKTtcclxuXHJcbiAgcmV0dXJuIG1hcDtcclxufSkoKTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRQYXJhbXMgPSB7XHJcbiAgaWRzPzogbnVtYmVyW107XHJcbiAgbmFtZXM/OiBzdHJpbmdbXTtcclxuICBwcm9wcz86IHN0cmluZ1tdO1xyXG4gIGRlbGF5PzogbnVtYmVyO1xyXG4gIG1heER1cmF0aW9uPzogbnVtYmVyO1xyXG59O1xyXG5cclxudHlwZSBXYXRjaENvbWJhdGFudEZ1bmMgPSAoXHJcbiAgcGFyYW1zOiBXYXRjaENvbWJhdGFudFBhcmFtcyxcclxuICBmdW5jOiAocmV0OiBPdmVybGF5SGFuZGxlclJlc3BvbnNlVHlwZXNbJ2dldENvbWJhdGFudHMnXSkgPT4gYm9vbGVhbixcclxuKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxudHlwZSBXYXRjaENvbWJhdGFudE1hcEVudHJ5ID0ge1xyXG4gIGNhbmNlbDogYm9vbGVhbjtcclxuICBzdGFydDogbnVtYmVyO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnRNYXA6IFdhdGNoQ29tYmF0YW50TWFwRW50cnlbXSA9IFtdO1xyXG5cclxuY29uc3Qgc2hvdWxkQ2FuY2VsV2F0Y2ggPSAoXHJcbiAgcGFyYW1zOiBXYXRjaENvbWJhdGFudFBhcmFtcyxcclxuICBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSxcclxuKTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKGVudHJ5LmNhbmNlbClcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIGlmIChwYXJhbXMubWF4RHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiBEYXRlLm5vdygpIC0gZW50cnkuc3RhcnQgPiBwYXJhbXMubWF4RHVyYXRpb24pXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCB3YXRjaENvbWJhdGFudDogV2F0Y2hDb21iYXRhbnRGdW5jID0gKHBhcmFtcywgZnVuYykgPT4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzLCByZWopID0+IHtcclxuICAgIGNvbnN0IGRlbGF5ID0gcGFyYW1zLmRlbGF5ID8/IDEwMDA7XHJcblxyXG4gICAgY29uc3QgY2FsbDogT3ZlcmxheUhhbmRsZXJSZXF1ZXN0c1snZ2V0Q29tYmF0YW50cyddID0ge1xyXG4gICAgICBjYWxsOiAnZ2V0Q29tYmF0YW50cycsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChwYXJhbXMuaWRzKVxyXG4gICAgICBjYWxsLmlkcyA9IHBhcmFtcy5pZHM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5uYW1lcylcclxuICAgICAgY2FsbC5uYW1lcyA9IHBhcmFtcy5uYW1lcztcclxuXHJcbiAgICBpZiAocGFyYW1zLnByb3BzKVxyXG4gICAgICBjYWxsLnByb3BzID0gcGFyYW1zLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IGVudHJ5OiBXYXRjaENvbWJhdGFudE1hcEVudHJ5ID0ge1xyXG4gICAgICBjYW5jZWw6IGZhbHNlLFxyXG4gICAgICBzdGFydDogRGF0ZS5ub3coKSxcclxuICAgIH07XHJcblxyXG4gICAgd2F0Y2hDb21iYXRhbnRNYXAucHVzaChlbnRyeSk7XHJcblxyXG4gICAgY29uc3QgY2hlY2tGdW5jID0gKCkgPT4ge1xyXG4gICAgICBpZiAoc2hvdWxkQ2FuY2VsV2F0Y2gocGFyYW1zLCBlbnRyeSkpIHtcclxuICAgICAgICByZWooKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoY2FsbCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZW50cnkuY2FuY2VsKSB7XHJcbiAgICAgICAgICByZWooKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZ1bmMocmVzcG9uc2UpKVxyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICB3aW5kb3cuc2V0VGltZW91dChjaGVja0Z1bmMsIGRlbGF5KTtcclxuICB9KTtcclxufTtcclxuXHJcbmNvbnN0IFV0aWwgPSB7XHJcbiAgam9iRW51bVRvSm9iOiAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3Qgam9iID0gYWxsSm9icy5maW5kKChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdID09PSBpZCk7XHJcbiAgICByZXR1cm4gam9iID8/ICdOT05FJztcclxuICB9LFxyXG4gIGpvYlRvSm9iRW51bTogKGpvYjogSm9iKSA9PiBuYW1lVG9Kb2JFbnVtW2pvYl0sXHJcbiAgam9iVG9Sb2xlOiAoam9iOiBKb2IpID0+IHtcclxuICAgIGNvbnN0IHJvbGUgPSBqb2JUb1JvbGVNYXAuZ2V0KGpvYik7XHJcbiAgICByZXR1cm4gcm9sZSA/PyAnbm9uZSc7XHJcbiAgfSxcclxuICBnZXRBbGxSb2xlczogKCk6IHJlYWRvbmx5IFJvbGVbXSA9PiBhbGxSb2xlcyxcclxuICBpc1RhbmtKb2I6IChqb2I6IEpvYikgPT4gdGFua0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0hlYWxlckpvYjogKGpvYjogSm9iKSA9PiBoZWFsZXJKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNNZWxlZURwc0pvYjogKGpvYjogSm9iKSA9PiBtZWxlZURwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc1JhbmdlZERwc0pvYjogKGpvYjogSm9iKSA9PiByYW5nZWREcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDYXN0ZXJEcHNKb2I6IChqb2I6IEpvYikgPT4gY2FzdGVyRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzRHBzSm9iOiAoam9iOiBKb2IpID0+IGRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0NyYWZ0aW5nSm9iOiAoam9iOiBKb2IpID0+IGNyYWZ0aW5nSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzR2F0aGVyaW5nSm9iOiAoam9iOiBKb2IpID0+IGdhdGhlcmluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0NvbWJhdEpvYjogKGpvYjogSm9iKSA9PiB7XHJcbiAgICByZXR1cm4gIWNyYWZ0aW5nSm9icy5pbmNsdWRlcyhqb2IpICYmICFnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYik7XHJcbiAgfSxcclxuICBjYW5TdHVuOiAoam9iOiBKb2IpID0+IHN0dW5Kb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuU2lsZW5jZTogKGpvYjogSm9iKSA9PiBzaWxlbmNlSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNsZWVwOiAoam9iOiBKb2IpID0+IHNsZWVwSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhbkNsZWFuc2U6IChqb2I6IEpvYikgPT4gY2xlYW5zZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5GZWludDogKGpvYjogSm9iKSA9PiBmZWludEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5BZGRsZTogKGpvYjogSm9iKSA9PiBhZGRsZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICB3YXRjaENvbWJhdGFudDogd2F0Y2hDb21iYXRhbnQsXHJcbiAgY2xlYXJXYXRjaENvbWJhdGFudHM6ICgpID0+IHtcclxuICAgIHdoaWxlICh3YXRjaENvbWJhdGFudE1hcC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHdhdGNoID0gd2F0Y2hDb21iYXRhbnRNYXAucG9wKCk7XHJcbiAgICAgIGlmICh3YXRjaClcclxuICAgICAgICB3YXRjaC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBVdGlsO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuY29uc3QgZGF0YSA9IHtcclxuICAnQUJsb29keVJldW5pb24nOiA1NjAsXHJcbiAgJ0FGcm9zdHlSZWNlcHRpb24nOiAxMDEwLFxyXG4gICdBUGF0aFVudmVpbGVkJzogMTAxNSxcclxuICAnQVJlbGljUmVib3JuVGhlQ2hpbWVyYSc6IDM2OCxcclxuICAnQVJlbGljUmVib3JuVGhlSHlkcmEnOiAzNjksXHJcbiAgJ0FSZXF1aWVtRm9ySGVyb2VzJzogODMwLFxyXG4gICdBU2xlZXBEaXN0dXJiZWQnOiA5MTQsXHJcbiAgJ0FTcGVjdGFjbGVGb3JUaGVBZ2VzJzogNTMzLFxyXG4gICdBY2NydWVFbm1pdHlGcm9tTXVsdGlwbGVUYXJnZXRzJzogNTQwLFxyXG4gICdBaXJGb3JjZU9uZSc6IDgzMixcclxuICAnQWthZGFlbWlhQW55ZGVyJzogODQxLFxyXG4gICdBbGFNaGlnbyc6IDY4OSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVGYXRoZXInOiA0NDQsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyU2F2YWdlJzogNDUxLFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZVNvbic6IDUyMixcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb25TYXZhZ2UnOiA1MzEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvcic6IDU4MSxcclxuICAnQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yU2F2YWdlJzogNTg1LFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlcic6IDQ0NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NTIsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlU29uJzogNTIzLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvblNhdmFnZSc6IDUzMixcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyJzogNDQzLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NTAsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvbic6IDUyMSxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlU29uU2F2YWdlJzogNTMwLFxyXG4gICdBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yJzogNTgwLFxyXG4gICdBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yU2F2YWdlJzogNTg0LFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXInOiA0NDIsXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZUZhdGhlclNhdmFnZSc6IDQ0OSxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uJzogNTIwLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVTb25TYXZhZ2UnOiA1MjksXHJcbiAgJ0FsZXhhbmRlclRoZUhlYXJ0T2ZUaGVDcmVhdG9yJzogNTgyLFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NixcclxuICAnQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvcic6IDU4MyxcclxuICAnQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NyxcclxuICAnQWxsc1dlbGxUaGF0RW5kc0luVGhlV2VsbCc6IDIyMCxcclxuICAnQWxsc1dlbGxUaGF0U3RhcnRzV2VsbCc6IDc5NixcclxuICAnQWxwaGFzY2FwZVYxMCc6IDc5OCxcclxuICAnQWxwaGFzY2FwZVYxMFNhdmFnZSc6IDgwMixcclxuICAnQWxwaGFzY2FwZVYyMCc6IDc5OSxcclxuICAnQWxwaGFzY2FwZVYyMFNhdmFnZSc6IDgwMyxcclxuICAnQWxwaGFzY2FwZVYzMCc6IDgwMCxcclxuICAnQWxwaGFzY2FwZVYzMFNhdmFnZSc6IDgwNCxcclxuICAnQWxwaGFzY2FwZVY0MCc6IDgwMSxcclxuICAnQWxwaGFzY2FwZVY0MFNhdmFnZSc6IDgwNSxcclxuICAnQW1hdXJvdCc6IDgzOCxcclxuICAnQW1kYXBvcktlZXAnOiAxNjcsXHJcbiAgJ0FtZGFwb3JLZWVwSGFyZCc6IDE4OSxcclxuICAnQW1oQXJhZW5nJzogODE1LFxyXG4gICdBbmFtbmVzaXNBbnlkZXInOiA4OTgsXHJcbiAgJ0Fubm95VGhlVm9pZCc6IDIyMixcclxuICAnQXNUaGVIZWFydEJpZHMnOiA4OTQsXHJcbiAgJ0FzVGhlSGVhdmVuc0J1cm4nOiAxMDEyLFxyXG4gICdBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGUnOiAxMDAyLFxyXG4gICdBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGVTYXZhZ2UnOiAxMDAzLFxyXG4gICdBc3Bob2RlbG9zVGhlRm91cnRoQ2lyY2xlJzogMTAwOCxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZVNhdmFnZSc6IDEwMDksXHJcbiAgJ0FzcGhvZGVsb3NUaGVTZWNvbmRDaXJjbGUnOiAxMDA0LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlU2F2YWdlJzogMTAwNSxcclxuICAnQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlJzogMTAwNixcclxuICAnQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlU2F2YWdlJzogMTAwNyxcclxuICAnQXNzaXN0QWxsaWVzSW5EZWZlYXRpbmdBVGFyZ2V0JzogNTQ0LFxyXG4gICdBc3RyYWdhbG9zJzogNzI5LFxyXG4gICdBdm9pZEFyZWFPZkVmZmVjdEF0dGFja3MnOiA1MzcsXHJcbiAgJ0F6eXNMbGEnOiA0MDIsXHJcbiAgJ0JhZWxzYXJzV2FsbCc6IDYxNSxcclxuICAnQmFyZGFtc01ldHRsZSc6IDYyMyxcclxuICAnQmFzaWNUcmFpbmluZ0VuZW15UGFydGllcyc6IDIxNCxcclxuICAnQmFzaWNUcmFpbmluZ0VuZW15U3Ryb25naG9sZHMnOiAyMTUsXHJcbiAgJ0JhdHRsZUluVGhlQmlnS2VlcCc6IDM5NixcclxuICAnQmF0dGxlT25UaGVCaWdCcmlkZ2UnOiAzNjYsXHJcbiAgJ0Jsb29kT25UaGVEZWNrJzogNzA4LFxyXG4gICdCcmF5ZmxveHNMb25nc3RvcCc6IDE1OCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3BIYXJkJzogMzYyLFxyXG4gICdDYXBlV2VzdHdpbmQnOiAzMzIsXHJcbiAgJ0Nhc3RydW1BYmFuaWEnOiA2NjEsXHJcbiAgJ0Nhc3RydW1GbHVtaW5pcyc6IDc3OCxcclxuICAnQ2FzdHJ1bU1hcmludW0nOiA5MzQsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtRHJ5ZG9ja3MnOiA5NjcsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtRXh0cmVtZSc6IDkzNSxcclxuICAnQ2FzdHJ1bU1lcmlkaWFudW0nOiAyMTcsXHJcbiAgJ0NlbnRyYWxTaHJvdWQnOiAxNDgsXHJcbiAgJ0NlbnRyYWxUaGFuYWxhbic6IDE0MSxcclxuICAnQ2hvY29ib1JhY2VDb3N0YURlbFNvbCc6IDM4OSxcclxuICAnQ2hvY29ib1JhY2VTYWdvbGlpUm9hZCc6IDM5MCxcclxuICAnQ2hvY29ib1JhY2VUcmFucXVpbFBhdGhzJzogMzkxLFxyXG4gICdDaG9jb2JvUmFjZVR1dG9yaWFsJzogNDE3LFxyXG4gICdDaW5kZXJEcmlmdCc6IDg5NyxcclxuICAnQ2luZGVyRHJpZnRFeHRyZW1lJzogOTEyLFxyXG4gICdDb2VydGhhc0NlbnRyYWxIaWdobGFuZHMnOiAxNTUsXHJcbiAgJ0NvZXJ0aGFzV2VzdGVybkhpZ2hsYW5kcyc6IDM5NyxcclxuICAnQ29taW5nQ2xlYW4nOiA4NjAsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNic6IDU3NixcclxuICAnQ29udGFpbm1lbnRCYXlQMVQ2RXh0cmVtZSc6IDU3NyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3JzogNTE3LFxyXG4gICdDb250YWlubWVudEJheVMxVDdFeHRyZW1lJzogNTI0LFxyXG4gICdDb250YWlubWVudEJheVoxVDknOiA2MzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5WjFUOUV4dHJlbWUnOiA2MzgsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lcyc6IDE2MSxcclxuICAnQ29wcGVyYmVsbE1pbmVzSGFyZCc6IDM0OSxcclxuICAnQ3VyaW91c0dvcmdlTWVldHNIaXNNYXRjaCc6IDcxNyxcclxuICAnQ3V0dGVyc0NyeSc6IDE3MCxcclxuICAnRGFya0FzVGhlTmlnaHRTa3knOiA3MTMsXHJcbiAgJ0RlYXRoVW50b0Rhd24nOiA5NzcsXHJcbiAgJ0RlZmVhdEFuT2NjdXBpZWRUYXJnZXQnOiA1NDUsXHJcbiAgJ0RlbHRhc2NhcGVWMTAnOiA2OTEsXHJcbiAgJ0RlbHRhc2NhcGVWMTBTYXZhZ2UnOiA2OTUsXHJcbiAgJ0RlbHRhc2NhcGVWMjAnOiA2OTIsXHJcbiAgJ0RlbHRhc2NhcGVWMjBTYXZhZ2UnOiA2OTYsXHJcbiAgJ0RlbHRhc2NhcGVWMzAnOiA2OTMsXHJcbiAgJ0RlbHRhc2NhcGVWMzBTYXZhZ2UnOiA2OTcsXHJcbiAgJ0RlbHRhc2NhcGVWNDAnOiA2OTQsXHJcbiAgJ0RlbHRhc2NhcGVWNDBTYXZhZ2UnOiA2OTgsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZSc6IDkzNixcclxuICAnRGVsdWJydW1SZWdpbmFlU2F2YWdlJzogOTM3LFxyXG4gICdEb2huTWhlZyc6IDgyMSxcclxuICAnRG9tYUNhc3RsZSc6IDY2MCxcclxuICAnRHJhZ29uU291bmQnOiA3MTQsXHJcbiAgJ0R1blNjYWl0aCc6IDYyNyxcclxuICAnRHplbWFlbERhcmtob2xkJzogMTcxLFxyXG4gICdFYXN0U2hyb3VkJzogMTUyLFxyXG4gICdFYXN0ZXJuTGFOb3NjZWEnOiAxMzcsXHJcbiAgJ0Vhc3Rlcm5UaGFuYWxhbic6IDE0NSxcclxuICAnRWRlbnNHYXRlRGVzY2VudCc6IDg1MCxcclxuICAnRWRlbnNHYXRlRGVzY2VudFNhdmFnZSc6IDg1NCxcclxuICAnRWRlbnNHYXRlSW51bmRhdGlvbic6IDg1MSxcclxuICAnRWRlbnNHYXRlSW51bmRhdGlvblNhdmFnZSc6IDg1NSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uJzogODQ5LFxyXG4gICdFZGVuc0dhdGVSZXN1cnJlY3Rpb25TYXZhZ2UnOiA4NTMsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZSc6IDg1MixcclxuICAnRWRlbnNHYXRlU2VwdWx0dXJlU2F2YWdlJzogODU2LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXMnOiA5NDQsXHJcbiAgJ0VkZW5zUHJvbWlzZUFuYW1vcnBob3Npc1NhdmFnZSc6IDk0OCxcclxuICAnRWRlbnNQcm9taXNlRXRlcm5pdHknOiA5NDUsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5U2F2YWdlJzogOTQ5LFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnknOiA5NDMsXHJcbiAgJ0VkZW5zUHJvbWlzZUxpdGFueVNhdmFnZSc6IDk0NyxcclxuICAnRWRlbnNQcm9taXNlVW1icmEnOiA5NDIsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhU2F2YWdlJzogOTQ2LFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb24nOiA5MDIsXHJcbiAgJ0VkZW5zVmVyc2VGdWxtaW5hdGlvblNhdmFnZSc6IDkwNixcclxuICAnRWRlbnNWZXJzZUZ1cm9yJzogOTAzLFxyXG4gICdFZGVuc1ZlcnNlRnVyb3JTYXZhZ2UnOiA5MDcsXHJcbiAgJ0VkZW5zVmVyc2VJY29ub2NsYXNtJzogOTA0LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbVNhdmFnZSc6IDkwOCxcclxuICAnRWRlbnNWZXJzZVJlZnVsZ2VuY2UnOiA5MDUsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlU2F2YWdlJzogOTA5LFxyXG4gICdFbHBpcyc6IDk2MSxcclxuICAnRW1hbmF0aW9uJzogNzE5LFxyXG4gICdFbWFuYXRpb25FeHRyZW1lJzogNzIwLFxyXG4gICdFbWlzc2FyeU9mVGhlRGF3bic6IDc2OSxcclxuICAnRW5kd2Fsa2VyJzogMTAxMyxcclxuICAnRW5nYWdlTXVsdGlwbGVUYXJnZXRzJzogNTQxLFxyXG4gICdFdWxtb3JlJzogODIwLFxyXG4gICdFdmVyTWFyY2hIZWF2ZW5zd2FyZCc6IDEwMTgsXHJcbiAgJ0V4ZWN1dGVBQ29tYm9JbkJhdHRsZSc6IDUzOSxcclxuICAnRXhlY3V0ZUFDb21ib1RvSW5jcmVhc2VFbm1pdHknOiA1MzgsXHJcbiAgJ0V4ZWN1dGVBUmFuZ2VkQXR0YWNrVG9JbmNyZWFzZUVubWl0eSc6IDU0MixcclxuICAnRmFkZWRNZW1vcmllcyc6IDkzMixcclxuICAnRmluYWxFeGVyY2lzZSc6IDU1MixcclxuICAnRml0Rm9yQVF1ZWVuJzogOTU1LFxyXG4gICdGbGlja2luZ1N0aWNrc0FuZFRha2luZ05hbWVzJzogMjE5LFxyXG4gICdGb3VuZGF0aW9uJzogNDE4LFxyXG4gICdGb3VyUGxheWVyTWFoam9uZ1F1aWNrTWF0Y2hLdWl0YW5EaXNhYmxlZCc6IDgzMSxcclxuICAnR2FybGVtYWxkJzogOTU4LFxyXG4gICdIYWxhdGFsaSc6IDE2MixcclxuICAnSGFsYXRhbGlIYXJkJzogMzYwLFxyXG4gICdIYXVra2VNYW5vcic6IDE2NixcclxuICAnSGF1a2tlTWFub3JIYXJkJzogMzUwLFxyXG4gICdIZWFsQW5BbGx5JzogNTQ5LFxyXG4gICdIZWFsTXVsdGlwbGVBbGxpZXMnOiA1NTAsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczExXzIwJzogNzcxLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxXzEwJzogNzcwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMyMV8zMCc6IDc3MixcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMzFfNDAnOiA3ODIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczQxXzUwJzogNzczLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM1MV82MCc6IDc4MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNjFfNzAnOiA3NzQsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczcxXzgwJzogNzg0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM4MV85MCc6IDc3NSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzOTFfMTAwJzogNzg1LFxyXG4gICdIZWxsc0tpZXInOiA4MTAsXHJcbiAgJ0hlbGxzS2llckV4dHJlbWUnOiA4MTEsXHJcbiAgJ0hlbGxzTGlkJzogNzQyLFxyXG4gICdIZXJvT25UaGVIYWxmU2hlbGwnOiAyMTYsXHJcbiAgJ0hpZGRlbkdvcmdlJzogNzkxLFxyXG4gICdIb2xtaW5zdGVyU3dpdGNoJzogODM3LFxyXG4gICdIdWxsYnJlYWtlcklzbGUnOiAzNjEsXHJcbiAgJ0h1bGxicmVha2VySXNsZUhhcmQnOiA1NTcsXHJcbiAgJ0lkeWxsc2hpcmUnOiA0NzgsXHJcbiAgJ0lsTWhlZyc6IDgxNixcclxuICAnSW5Gcm9tVGhlQ29sZCc6IDEwMTEsXHJcbiAgJ0luVGhhbHNOYW1lJzogNzA1LFxyXG4gICdJbnRlcmFjdFdpdGhUaGVCYXR0bGVmaWVsZCc6IDU0OCxcclxuICAnSW50ZXJkaW1lbnNpb25hbFJpZnQnOiA2OTAsXHJcbiAgJ0l0c1Byb2JhYmx5QVRyYXAnOiA2NjUsXHJcbiAgJ0tob2x1c2lhJzogODE0LFxyXG4gICdLdGlzaXNIeXBlcmJvcmVpYSc6IDk3NCxcclxuICAnS3VnYW5lJzogNjI4LFxyXG4gICdLdWdhbmVDYXN0bGUnOiA2NjIsXHJcbiAgJ0t1Z2FuZU9oYXNoaSc6IDgwNixcclxuICAnTGFieXJpbnRob3MnOiA5NTYsXHJcbiAgJ0xhaWRUb1Jlc3QnOiAxMDE3LFxyXG4gICdMYWtlbGFuZCc6IDgxMyxcclxuICAnTGVnZW5kT2ZUaGVOb3RTb0hpZGRlblRlbXBsZSc6IDg1OSxcclxuICAnTGlmZUVwaGVtZXJhbFBhdGhFdGVybmFsJzogMTAyMyxcclxuICAnTGltc2FMb21pbnNhTG93ZXJEZWNrcyc6IDEyOSxcclxuICAnTGltc2FMb21pbnNhVXBwZXJEZWNrcyc6IDEyOCxcclxuICAnTG9uZ0xpdmVUaGVRdWVlbic6IDI5OCxcclxuICAnTG92bU1hc3RlclRvdXJuYW1lbnQnOiA1MDYsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVOb25ScCc6IDU5MSxcclxuICAnTG92bVBsYXllckJhdHRsZVJwJzogNTg5LFxyXG4gICdMb3ZtVG91cm5hbWVudCc6IDU5MCxcclxuICAnTG93ZXJMYU5vc2NlYSc6IDEzNSxcclxuICAnTWFsaWthaHNXZWxsJzogODM2LFxyXG4gICdNYXJlTGFtZW50b3J1bSc6IDk1OSxcclxuICAnTWF0Y2hBbGwnOiBudWxsLFxyXG4gICdNYXRveWFzUmVsaWN0JzogOTMzLFxyXG4gICdNYXRzdWJhTWF5aGVtJzogNzEwLFxyXG4gICdNZW1vcmlhTWlzZXJhRXh0cmVtZSc6IDkxMyxcclxuICAnTWVzc2VuZ2VyT2ZUaGVXaW5kcyc6IDgzNCxcclxuICAnTWlkZGxlTGFOb3NjZWEnOiAxMzQsXHJcbiAgJ01pc3QnOiAxMzYsXHJcbiAgJ01vckRob25hJzogMTU2LFxyXG4gICdNb3JlVGhhbkFGZWVsZXInOiAyMjEsXHJcbiAgJ010R3VsZyc6IDgyMixcclxuICAnTmFhZGFtJzogNjg4LFxyXG4gICdOZXZlcnJlYXAnOiA0MjAsXHJcbiAgJ05ld0dyaWRhbmlhJzogMTMyLFxyXG4gICdOb3J0aFNocm91ZCc6IDE1NCxcclxuICAnTm9ydGhlcm5UaGFuYWxhbic6IDE0NyxcclxuICAnTnllbGJlcnRzTGFtZW50JzogODc2LFxyXG4gICdPY2VhbkZpc2hpbmcnOiA5MDAsXHJcbiAgJ09sZEdyaWRhbmlhJzogMTMzLFxyXG4gICdPbGRTaGFybGF5YW4nOiA5NjIsXHJcbiAgJ09uZUxpZmVGb3JPbmVXb3JsZCc6IDU5MixcclxuICAnT25zYWxIYWthaXJEYW5zaGlnTmFhZGFtJzogODg4LFxyXG4gICdPdXJDb21wcm9taXNlJzogNzE2LFxyXG4gICdPdXJVbnN1bmdIZXJvZXMnOiA3MjIsXHJcbiAgJ091dGVyTGFOb3NjZWEnOiAxODAsXHJcbiAgJ1BhZ2x0aGFuJzogOTM4LFxyXG4gICdQaGFyb3NTaXJpdXMnOiAxNjAsXHJcbiAgJ1BoYXJvc1Npcml1c0hhcmQnOiA1MTAsXHJcbiAgJ1B1bGxpbmdQb2lzb25Qb3NpZXMnOiAxOTEsXHJcbiAgJ1JhZHpBdEhhbic6IDk2MyxcclxuICAnUmFpc2luZ1RoZVN3b3JkJzogNzA2LFxyXG4gICdSZXR1cm5PZlRoZUJ1bGwnOiA0MDMsXHJcbiAgJ1JoYWxncnNSZWFjaCc6IDYzNSxcclxuICAnU2FnZXNGb2N1cyc6IDEwMjIsXHJcbiAgJ1NhaW50TW9jaWFubmVzQXJib3JldHVtJzogNTExLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bUhhcmQnOiA3ODgsXHJcbiAgJ1Nhc3Rhc2hhJzogMTU3LFxyXG4gICdTYXN0YXNoYUhhcmQnOiAzODcsXHJcbiAgJ1NlYWxSb2NrU2VpemUnOiA0MzEsXHJcbiAgJ1NoYWRvd0FuZENsYXcnOiAyMjMsXHJcbiAgJ1NoaXN1aU9mVGhlVmlvbGV0VGlkZXMnOiA2MTYsXHJcbiAgJ1NpZ21hc2NhcGVWMTAnOiA3NDgsXHJcbiAgJ1NpZ21hc2NhcGVWMTBTYXZhZ2UnOiA3NTIsXHJcbiAgJ1NpZ21hc2NhcGVWMjAnOiA3NDksXHJcbiAgJ1NpZ21hc2NhcGVWMjBTYXZhZ2UnOiA3NTMsXHJcbiAgJ1NpZ21hc2NhcGVWMzAnOiA3NTAsXHJcbiAgJ1NpZ21hc2NhcGVWMzBTYXZhZ2UnOiA3NTQsXHJcbiAgJ1NpZ21hc2NhcGVWNDAnOiA3NTEsXHJcbiAgJ1NpZ21hc2NhcGVWNDBTYXZhZ2UnOiA3NTUsXHJcbiAgJ1NtaWxldG9uJzogOTc2LFxyXG4gICdTbm93Y2xvYWsnOiAzNzEsXHJcbiAgJ1NvaG1BbCc6IDQ0MSxcclxuICAnU29obUFsSGFyZCc6IDYxNyxcclxuICAnU29ocktoYWknOiA1NTUsXHJcbiAgJ1NvbGVtblRyaW5pdHknOiAzMDAsXHJcbiAgJ1NvdXRoU2hyb3VkJzogMTUzLFxyXG4gICdTb3V0aGVyblRoYW5hbGFuJzogMTQ2LFxyXG4gICdTcGVjaWFsRXZlbnRJJzogMzUzLFxyXG4gICdTcGVjaWFsRXZlbnRJaSc6IDM1NCxcclxuICAnU3BlY2lhbEV2ZW50SWlpJzogNTA5LFxyXG4gICdTdGluZ2luZ0JhY2snOiAxOTIsXHJcbiAgJ1N5cmN1c1Rvd2VyJzogMzcyLFxyXG4gICdUaGF2bmFpcic6IDk1NyxcclxuICAnVGhlQWVyeSc6IDQzNSxcclxuICAnVGhlQWV0aGVyb2NoZW1pY2FsUmVzZWFyY2hGYWNpbGl0eSc6IDQzOCxcclxuICAnVGhlQWl0aWFzY29wZSc6IDk3OCxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZUV4dHJlbWUnOiAzNzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVIYXJkJzogMzc3LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlVW5yZWFsJzogOTMwLFxyXG4gICdUaGVBbnRpdG93ZXInOiA1MTYsXHJcbiAgJ1RoZUFxdWFwb2xpcyc6IDU1OCxcclxuICAnVGhlQXVydW1WYWxlJzogMTcyLFxyXG4gICdUaGVBemltU3RlcHBlJzogNjIyLFxyXG4gICdUaGVCYXR0bGVPbkJla2tvJzogNzExLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4xJzogMjQxLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4yJzogMjQyLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4zJzogMjQzLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm40JzogMjQ0LFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm41JzogMjQ1LFxyXG4gICdUaGVCb3JkZXJsYW5kUnVpbnNTZWN1cmUnOiAzNzYsXHJcbiAgJ1RoZUJvd2xPZkVtYmVycyc6IDIwMixcclxuICAnVGhlQm93bE9mRW1iZXJzRXh0cmVtZSc6IDI5NSxcclxuICAnVGhlQm93bE9mRW1iZXJzSGFyZCc6IDI5MixcclxuICAnVGhlQm96amFJbmNpZGVudCc6IDkxMSxcclxuICAnVGhlQm96amFuU291dGhlcm5Gcm9udCc6IDkyMCxcclxuICAnVGhlQnVybic6IDc4OSxcclxuICAnVGhlQ2FsYW1pdHlSZXRvbGQnOiA3OTAsXHJcbiAgJ1RoZUNhcnRlbmVhdUZsYXRzSGVsaW9kcm9tZSc6IDYzMyxcclxuICAnVGhlQ2hyeXNhbGlzJzogNDI2LFxyXG4gICdUaGVDaHVybmluZ01pc3RzJzogNDAwLFxyXG4gICdUaGVDbG91ZERlY2snOiA5NTAsXHJcbiAgJ1RoZUNsb3VkRGVja0V4dHJlbWUnOiA5NTEsXHJcbiAgJ1RoZUNvcGllZEZhY3RvcnknOiA4ODIsXHJcbiAgJ1RoZUNyb3duT2ZUaGVJbW1hY3VsYXRlJzogODQ2LFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZUV4dHJlbWUnOiA4NDgsXHJcbiAgJ1RoZUNyeXN0YXJpdW0nOiA4MTksXHJcbiAgJ1RoZURhbmNpbmdQbGFndWUnOiA4NDUsXHJcbiAgJ1RoZURhbmNpbmdQbGFndWVFeHRyZW1lJzogODU4LFxyXG4gICdUaGVEYXJrSW5zaWRlJzogOTkyLFxyXG4gICdUaGVEZWFkRW5kcyc6IDk3MyxcclxuICAnVGhlRGlhZGVtJzogOTI5LFxyXG4gICdUaGVEaWFkZW1FYXN5JzogNTEyLFxyXG4gICdUaGVEaWFkZW1IYXJkJzogNTE1LFxyXG4gICdUaGVEaWFkZW1IdW50aW5nR3JvdW5kcyc6IDYyNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHNFYXN5JzogNjI0LFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZUZ1cnknOiA2MzAsXHJcbiAgJ1RoZURpYWRlbVRyaWFsc09mVGhlTWF0cm9uJzogNjU2LFxyXG4gICdUaGVEb21hbkVuY2xhdmUnOiA3NTksXHJcbiAgJ1RoZURyYWdvbnNOZWNrJzogMTQyLFxyXG4gICdUaGVEcmF2YW5pYW5Gb3JlbGFuZHMnOiAzOTgsXHJcbiAgJ1RoZURyYXZhbmlhbkhpbnRlcmxhbmRzJzogMzk5LFxyXG4gICdUaGVEcm93bmVkQ2l0eU9mU2thbGxhJzogNzMxLFxyXG4gICdUaGVEdW5nZW9uc09mTHloZUdoaWFoJzogODc5LFxyXG4gICdUaGVEdXNrVmlnaWwnOiA0MzQsXHJcbiAgJ1RoZUR5aW5nR2FzcCc6IDg0NyxcclxuICAnVGhlRXBpY09mQWxleGFuZGVyVWx0aW1hdGUnOiA4ODcsXHJcbiAgJ1RoZUV4Y2l0YXRyb242MDAwJzogMTAwMCxcclxuICAnVGhlRmFjZU9mVHJ1ZUV2aWwnOiA3MDksXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hDcnlzdGFsVG93ZXInOiA3NjcsXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hGZWFzdGluZ0dyb3VuZHMnOiA2MTksXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hMaWNoZW53ZWVkJzogNjQ2LFxyXG4gICdUaGVGZWFzdFJhbmtlZCc6IDc2NSxcclxuICAnVGhlRmVhc3RUZWFtUmFua2VkJzogNzQ1LFxyXG4gICdUaGVGZWFzdFRyYWluaW5nJzogNzY2LFxyXG4gICdUaGVGaWVsZHNPZkdsb3J5U2hhdHRlcic6IDU1NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjEnOiAxOTMsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4yJzogMTk0LFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMyc6IDE5NSxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjQnOiAxOTYsXHJcbiAgJ1RoZUZpbmFsRGF5JzogOTk3LFxyXG4gICdUaGVGaW5hbFN0ZXBzT2ZGYWl0aCc6IDU1OSxcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYUFuZW1vcyc6IDczMixcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYUh5ZGF0b3MnOiA4MjcsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQYWdvcyc6IDc2MyxcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYVB5cm9zJzogNzk1LFxyXG4gICdUaGVGcmFjdGFsQ29udGludXVtJzogNDMwLFxyXG4gICdUaGVGcmFjdGFsQ29udGludXVtSGFyZCc6IDc0MyxcclxuICAnVGhlRnJpbmdlcyc6IDYxMixcclxuICAnVGhlR2hpbWx5dERhcmsnOiA3OTMsXHJcbiAgJ1RoZUdpZnRPZk1lcmN5JzogMTAxOSxcclxuICAnVGhlR3JhbmRDb3Ntb3MnOiA4ODQsXHJcbiAgJ1RoZUdyZWF0R3ViYWxMaWJyYXJ5JzogNDE2LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeUhhcmQnOiA1NzgsXHJcbiAgJ1RoZUdyZWF0SHVudCc6IDc2MSxcclxuICAnVGhlR3JlYXRIdW50RXh0cmVtZSc6IDc2MixcclxuICAnVGhlR3JlYXRTaGlwVnlsYnJhbmQnOiA5NTQsXHJcbiAgJ1RoZUhhcmRlbmVkSGVhcnQnOiA4NzMsXHJcbiAgJ1RoZUhhcnZlc3RCZWdpbnMnOiAxMDIwLFxyXG4gICdUaGVIYXVudGVkTWFub3InOiA1NzEsXHJcbiAgJ1RoZUhlYXJ0T2ZUaGVQcm9ibGVtJzogNzE4LFxyXG4gICdUaGVIZXJvZXNHYXVudGxldCc6IDkxNixcclxuICAnVGhlSGlkZGVuQ2FuYWxzT2ZVem5haXInOiA3MjUsXHJcbiAgJ1RoZUhvd2xpbmdFeWUnOiAyMDgsXHJcbiAgJ1RoZUhvd2xpbmdFeWVFeHRyZW1lJzogMjk3LFxyXG4gICdUaGVIb3dsaW5nRXllSGFyZCc6IDI5NCxcclxuICAnVGhlSHVudGVyc0xlZ2FjeSc6IDg3NSxcclxuICAnVGhlSmFkZVN0b2EnOiA3NDYsXHJcbiAgJ1RoZUphZGVTdG9hRXh0cmVtZSc6IDc1OCxcclxuICAnVGhlS2VlcGVyT2ZUaGVMYWtlJzogMTUwLFxyXG4gICdUaGVLaWxsaW5nQXJ0JzogMTAyMSxcclxuICAnVGhlTGFieXJpbnRoT2ZUaGVBbmNpZW50cyc6IDE3NCxcclxuICAnVGhlTGltaXRsZXNzQmx1ZUV4dHJlbWUnOiA0NDcsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVIYXJkJzogNDM2LFxyXG4gICdUaGVMb2Nocyc6IDYyMSxcclxuICAnVGhlTG9zdEFuZFRoZUZvdW5kJzogODc0LFxyXG4gICdUaGVMb3N0Q2FuYWxzT2ZVem5haXInOiA3MTIsXHJcbiAgJ1RoZUxvc3RDaXR5T2ZBbWRhcG9yJzogMzYzLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvckhhcmQnOiA1MTksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZEhhZGVzc0VsZWd5JzogODg1LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIeWRhZWx5bnNDYWxsJzogOTk2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWROaWRob2dnc1JhZ2UnOiA1NjYsXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFNoaW5yeXVzRG9tYWluJzogNzMwLFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRUaG9yZGFuc1JlaWduJzogNDQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRUc3VrdXlvbWlzUGFpbic6IDc3OSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVWx0aW1hc0JhbmUnOiAzNDgsXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFpvZGlhcmtzRmFsbCc6IDk5MyxcclxuICAnVGhlTW90aGVyY3J5c3RhbCc6IDk5NSxcclxuICAnVGhlTmF2ZWwnOiAyMDYsXHJcbiAgJ1RoZU5hdmVsRXh0cmVtZSc6IDI5NixcclxuICAnVGhlTmF2ZWxIYXJkJzogMjkzLFxyXG4gICdUaGVOYXZlbFVucmVhbCc6IDk1MyxcclxuICAnVGhlT3Jib25uZU1vbmFzdGVyeSc6IDgyNixcclxuICAnVGhlT3JwaGFuc0FuZFRoZUJyb2tlbkJsYWRlJzogNzE1LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMDFfMTEwJzogNTk4LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMTFfMTIwJzogNTk5LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMV8yMCc6IDU2MixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTIxXzEzMCc6IDYwMCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTMxXzE0MCc6IDYwMSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTQxXzE1MCc6IDYwMixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTUxXzE2MCc6IDYwMyxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTYxXzE3MCc6IDYwNCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTcxXzE4MCc6IDYwNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTgxXzE5MCc6IDYwNixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTkxXzIwMCc6IDYwNyxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMV8xMCc6IDU2MSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMjFfMzAnOiA1NjMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczMxXzQwJzogNTY0LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM0MV81MCc6IDU2NSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNTFfNjAnOiA1OTMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczYxXzcwJzogNTk0LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM3MV84MCc6IDU5NSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzODFfOTAnOiA1OTYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczkxXzEwMCc6IDU5NyxcclxuICAnVGhlUGVha3MnOiA2MjAsXHJcbiAgJ1RoZVBoYW50b21zRmVhc3QnOiA5OTQsXHJcbiAgJ1RoZVBpbGxhcnMnOiA0MTksXHJcbiAgJ1RoZVBvb2xPZlRyaWJ1dGUnOiA2NzQsXHJcbiAgJ1RoZVBvb2xPZlRyaWJ1dGVFeHRyZW1lJzogNjc3LFxyXG4gICdUaGVQcmFldG9yaXVtJzogMjI0LFxyXG4gICdUaGVQdXBwZXRzQnVua2VyJzogOTE3LFxyXG4gICdUaGVRaXRhbmFSYXZlbCc6IDgyMyxcclxuICAnVGhlUmFrdGlrYUdyZWF0d29vZCc6IDgxNyxcclxuICAnVGhlUmVzb25hbnQnOiA2ODQsXHJcbiAgJ1RoZVJpZG9yYW5hTGlnaHRob3VzZSc6IDc3NixcclxuICAnVGhlUm95YWxDaXR5T2ZSYWJhbmFzdHJlJzogNzM0LFxyXG4gICdUaGVSb3lhbE1lbmFnZXJpZSc6IDY3OSxcclxuICAnVGhlUnVieVNlYSc6IDYxMyxcclxuICAnVGhlU2VhT2ZDbG91ZHMnOiA0MDEsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZSc6IDkyMixcclxuICAnVGhlU2VhdE9mU2FjcmlmaWNlRXh0cmVtZSc6IDkyMyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4xJzogMzgwLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjInOiAzODEsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMyc6IDM4MixcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm40JzogMzgzLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjEnOiAzNTUsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMic6IDM1NixcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4zJzogMzU3LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjQnOiAzNTgsXHJcbiAgJ1RoZVNoaWZ0aW5nQWx0YXJzT2ZVem5haXInOiA3OTQsXHJcbiAgJ1RoZVNoaWZ0aW5nT3VibGlldHRlc09mTHloZUdoaWFoJzogOTI0LFxyXG4gICdUaGVTaW5ndWxhcml0eVJlYWN0b3InOiA0MzcsXHJcbiAgJ1RoZVNpcmVuc29uZ1NlYSc6IDYyNixcclxuICAnVGhlU3RlcHNPZkZhaXRoJzogMTQzLFxyXG4gICdUaGVTdGlnbWFEcmVhbXNjYXBlJzogOTg2LFxyXG4gICdUaGVTdG9uZVZpZ2lsJzogMTY4LFxyXG4gICdUaGVTdG9uZVZpZ2lsSGFyZCc6IDM2NSxcclxuICAnVGhlU3RyaWtpbmdUcmVlRXh0cmVtZSc6IDM3NSxcclxuICAnVGhlU3RyaWtpbmdUcmVlSGFyZCc6IDM3NCxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuJzogMTYzLFxyXG4gICdUaGVTdW5rZW5UZW1wbGVPZlFhcm5IYXJkJzogMzY3LFxyXG4gICdUaGVTd2FsbG93c0NvbXBhc3MnOiA3NjgsXHJcbiAgJ1RoZVRhbVRhcmFEZWVwY3JvZnQnOiAxNjQsXHJcbiAgJ1RoZVRhbVRhcmFEZWVwY3JvZnRIYXJkJzogMzczLFxyXG4gICdUaGVUZW1wZXN0JzogODE4LFxyXG4gICdUaGVUZW1wbGVPZlRoZUZpc3QnOiA2NjMsXHJcbiAgJ1RoZVRob3VzYW5kTWF3c09mVG90b1Jhayc6IDE2OSxcclxuICAnVGhlVG93ZXJBdFBhcmFkaWdtc0JyZWFjaCc6IDk2NixcclxuICAnVGhlVG93ZXJPZkJhYmlsJzogOTY5LFxyXG4gICdUaGVUb3dlck9mWm90JzogOTUyLFxyXG4gICdUaGVUcmlwbGVUcmlhZEJhdHRsZWhhbGwnOiA1NzksXHJcbiAgJ1RoZVR3aW5uaW5nJzogODQwLFxyXG4gICdUaGVVbmVuZGluZ0NvaWxPZkJhaGFtdXRVbHRpbWF0ZSc6IDczMyxcclxuICAnVGhlVmFsZW50aW9uZXNDZXJlbW9ueSc6IDc0MSxcclxuICAnVGhlVmF1bHQnOiA0MjEsXHJcbiAgJ1RoZVZvaWRBcmsnOiA1MDgsXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZSc6IDE1OSxcclxuICAnVGhlV2FuZGVyZXJzUGFsYWNlSGFyZCc6IDE4OCxcclxuICAnVGhlV2VhcG9uc1JlZnJhaW5VbHRpbWF0ZSc6IDc3NyxcclxuICAnVGhlV2VlcGluZ0NpdHlPZk1oYWNoJzogNTU2LFxyXG4gICdUaGVXaG9ybGVhdGVyRXh0cmVtZSc6IDM1OSxcclxuICAnVGhlV2hvcmxlYXRlckhhcmQnOiAyODEsXHJcbiAgJ1RoZVdob3JsZWF0ZXJVbnJlYWwnOiA5NzIsXHJcbiAgJ1RoZVdpbGxPZlRoZU1vb24nOiA3OTcsXHJcbiAgJ1RoZVdvcmxkT2ZEYXJrbmVzcyc6IDE1MSxcclxuICAnVGhlV3JlYXRoT2ZTbmFrZXMnOiA4MjQsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzRXh0cmVtZSc6IDgyNSxcclxuICAnVGhva0FzdFRob2tFeHRyZW1lJzogNDQ2LFxyXG4gICdUaG9rQXN0VGhva0hhcmQnOiA0MzIsXHJcbiAgJ1Rob3JubWFyY2hFeHRyZW1lJzogMzY0LFxyXG4gICdUaG9ybm1hcmNoSGFyZCc6IDIwNyxcclxuICAnVG9DYWxtZXJTZWFzJzogMTAxNixcclxuICAnVHJpcGxlVHJpYWRJbnZpdGF0aW9uYWxQYXJsb3InOiA5NDEsXHJcbiAgJ1RyaXBsZVRyaWFkT3BlblRvdXJuYW1lbnQnOiA5NDAsXHJcbiAgJ1VsZGFoU3RlcHNPZk5hbGQnOiAxMzAsXHJcbiAgJ1VsZGFoU3RlcHNPZlRoYWwnOiAxMzEsXHJcbiAgJ1VsdGltYVRodWxlJzogOTYwLFxyXG4gICdVbmRlclRoZUFybW9yJzogMTkwLFxyXG4gICdVcHBlckxhTm9zY2VhJzogMTM5LFxyXG4gICdVcnRoc0ZvdW50JzogMzk0LFxyXG4gICdWYW5hc3BhdGknOiA5NzAsXHJcbiAgJ1Zvd3NPZlZpcnR1ZURlZWRzT2ZDcnVlbHR5JzogODkzLFxyXG4gICdXYXJkVXAnOiAyOTksXHJcbiAgJ1dlc3Rlcm5MYU5vc2NlYSc6IDEzOCxcclxuICAnV2VzdGVyblRoYW5hbGFuJzogMTQwLFxyXG4gICdXaGVuQ2xhbnNDb2xsaWRlJzogNzIzLFxyXG4gICdXaXRoSGVhcnRBbmRTdGVlbCc6IDcwNyxcclxuICAnV29sdmVzRGVuUGllcic6IDI1MCxcclxuICAnV29ydGh5T2ZIaXNCYWNrJzogMTAxNCxcclxuICAnWGVscGhhdG9sJzogNTcyLFxyXG4gICdZYW54aWEnOiA2MTQsXHJcbiAgJ1phZG5vcic6IDk3NSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5pbXBvcnQgeyBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG50eXBlIFpvbmVJbmZvVHlwZSA9IHtcclxuICBbem9uZUlkOiBudW1iZXJdOiB7XHJcbiAgICByZWFkb25seSBleFZlcnNpb246IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IGNvbnRlbnRUeXBlPzogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgbmFtZTogTG9jYWxlVGV4dDtcclxuICAgIHJlYWRvbmx5IG9mZnNldFg6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG9mZnNldFk6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IHNpemVGYWN0b3I6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IHdlYXRoZXJSYXRlOiBudW1iZXI7XHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IGRhdGE6IFpvbmVJbmZvVHlwZSA9IHtcclxuICAxMDAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0V1cGhvcmF0cm9uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFeGNpdGF0cm9uIDYwMDAnLFxyXG4gICAgICAnZnInOiAnTGUgTHVkb2Ryb21lJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqjjgq3jgrXjgqTjg4jjg63jg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRXJzdGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGaXJzdCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBQYXJ2aXMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBad2VpdGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBTZWNvbmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQ2xvYXF1ZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og6Zu25byP77ya6L66542E57eoMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBEcml0dGVyIEtyZWlzJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBUaGlyZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBGb3VybmFpc2UnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBEcml0dGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBUaGlyZCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBGb3VybmFpc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gVmllcnRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRm91cnRoIENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIEFiw65tZScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfouI/noLTpo47pm6onLFxyXG4gICAgICAnZGUnOiAnRWluIGZyb3N0aWdlciBFbXBmYW5nJyxcclxuICAgICAgJ2VuJzogJ0EgRnJvc3R5IFJlY2VwdGlvbicsXHJcbiAgICAgICdmcic6ICdVbiBhY2N1ZWlsIGdsYWNpYWwnLFxyXG4gICAgICAnamEnOiAn6Zyc6Zuq44KS6LiP44G/44GX44KB44GmJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOWwveWvkuWknCcsXHJcbiAgICAgICdkZSc6ICdJbiBmcmVtZGVyIEhhdXQnLFxyXG4gICAgICAnZW4nOiAnSW4gZnJvbSB0aGUgQ29sZCcsXHJcbiAgICAgICdmcic6ICdMZSB2b2xldXIgZGUgY29ycHMnLFxyXG4gICAgICAnamEnOiAn5a+S5aSc44Gu44GT44GoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI3LFxyXG4gIH0sXHJcbiAgMTAxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmianmlaPnmoTmnKvml6UnLFxyXG4gICAgICAnZGUnOiAnUm90ZSBIaW1tZWwsIHJvdGVyIFNjaG5lZScsXHJcbiAgICAgICdlbic6ICdBcyB0aGUgSGVhdmVucyBCdXJuJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhcsOobmUgZGVzIG5laWdlcycsXHJcbiAgICAgICdqYSc6ICfmi6HjgYzjgovntYLmnKsnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQxLFxyXG4gIH0sXHJcbiAgMTAxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmZPmnIjkuYvnu4jpgJQnLFxyXG4gICAgICAnZGUnOiAnRW5kc2NocmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ0VuZHdhbGtlcicsXHJcbiAgICAgICdmcic6ICdBcnBlbnRldXIgZGVzIGZpbml0dWRlcycsXHJcbiAgICAgICdqYSc6ICfmmoHmnIjjga7jg5XjgqPjg4rjg7zjg6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQzLFxyXG4gIH0sXHJcbiAgMTAxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuIrkuIDku7vpmL/osKLlp4bnmoTmlZnlr7wnLFxyXG4gICAgICAnZGUnOiAnIEVzIHJlaW10IHNpY2ggYXVmIEdlYmVsbCcsXHJcbiAgICAgICdlbic6ICdXb3J0aHkgb2YgSGlzIEJhY2snLFxyXG4gICAgICAnZnInOiAnTGUgZMOpZmkgZGUgbFxcJ2FuY2llbm5lIEF6ZW0nLFxyXG4gICAgICAnamEnOiAn5YmN5Luj44Ki44K844Og44Gu5omL44G744Gp44GNJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNCxcclxuICB9LFxyXG4gIDEwMTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyq5p2l5LmL6LevJyxcclxuICAgICAgJ2RlJzogJ09mZmVuIGbDvHIgbmV1ZSBXZWdlJyxcclxuICAgICAgJ2VuJzogJ0EgUGF0aCBVbnZlaWxlZCcsXHJcbiAgICAgICdmcic6ICdEZXMgZXNwcml0cyBldCBkZXMgaG9tbWVzJyxcclxuICAgICAgJ2phJzogJ+mWi+OBi+OCjOOBn+mBk+OBruWFiOOBuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMTAxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbblkJHono3lkIjnmoTlt6jova4nLFxyXG4gICAgICAnZGUnOiAnSW0gSGFmZW4gZGVzIEZyaWVkZW5zJyxcclxuICAgICAgJ2VuJzogJ1RvIENhbG1lciBTZWFzJyxcclxuICAgICAgJ2ZyJzogJ0NhcCBzdXIgbGEgcGFpeCcsXHJcbiAgICAgICdqYSc6ICfono3lkozjgbjjga7oiLnlh7onLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6a2C5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGVzIEJlZ3LDpGJuaXMnLFxyXG4gICAgICAnZW4nOiAnTGFpZCB0byBSZXN0JyxcclxuICAgICAgJ2ZyJzogJ0RlcyBhZGlldXggZG9taWVucycsXHJcbiAgICAgICdqYSc6ICfjg4njg57jga7lvJTjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjQwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfku7DmnJvoi43nqbnvvIzkuI3mlq3ov4jov5snLFxyXG4gICAgICAnZGUnOiAnRGVyIFdlZyB6dXIgRXJuZXVlcnVuZycsXHJcbiAgICAgICdlbic6ICdFdmVyIE1hcmNoIEhlYXZlbnN3YXJkJyxcclxuICAgICAgJ2ZyJzogJ0xhIHZvaWUgZHUgcmVub3V2ZWF1JyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeOCkuS7sOOBjuOAgeatqeOBv+e2muOBkeOCiycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICAxMDE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ebrumAgeeUn+iAheWJjeihjCcsXHJcbiAgICAgICdkZSc6ICdUcmF1ZXIgdW5kIEhvZmZudW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHaWZ0IG9mIE1lcmN5JyxcclxuICAgICAgJ2ZyJzogJ0FjY2VwdGF0aW9uJyxcclxuICAgICAgJ2phJzogJ+WDleOBn+OBoeOBr+mChOOCiuOAgeWQm+OCkuimi+mAgeOCjeOBhicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfplbDnmoTmhI/kuYknLFxyXG4gICAgICAnZGUnOiAnRGllIEJlZGV1dHVuZyBkZXIgU2Vuc2UnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhhcnZlc3QgQmVnaW5zJyxcclxuICAgICAgJ2ZyJzogJ0xhIHZyYWllIHB1aXNzYW5jZSBkZSBsYSBmYXV4JyxcclxuICAgICAgJ2phJzogJ+Wkp+mOjOOBruaEj+WRsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmpfmnYDpgZMnLFxyXG4gICAgICAnZGUnOiAnRGllIEt1bnN0IGRlcyBUw7Z0ZW5zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBLaWxsaW5nIEFydCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfmmpfmrrrpgZMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAxMDIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0pOiAheeahOefreadlicsXHJcbiAgICAgICdkZSc6ICdEZXMgV2Vpc2VuIHd1bmRlcnNhbWVzIFdlcmt6ZXVnJyxcclxuICAgICAgJ2VuJzogJ1NhZ2VcXCdzIEZvY3VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBhcm1lcyBkdSBzYWdlJyxcclxuICAgICAgJ2phJzogJ+izouiAheOBruefreadlicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MCxcclxuICAgICdvZmZzZXRZJzogNixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55Sf5ZG9556s6YCd77yM5pyv6YGT5oGS5LmFJyxcclxuICAgICAgJ2RlJzogJ0RhcyBMZWJlbiBpc3Qga3VyeiwgZGllIEt1bnN0IGlzdCBsYW5nJyxcclxuICAgICAgJ2VuJzogJ0xpZmUgRXBoZW1lcmFsLCBQYXRoIEV0ZXJuYWwnLFxyXG4gICAgICAnZnInOiAnRXhpc3RlbmNlcyDDqXBow6ltw6hyZXMgZXQgc2F2b2lyIMOpdGVybmVsJyxcclxuICAgICAgJ2phJzogJ+S6uuWRveOBr+WEmuOBj+OAgeihk+OBruOBv+OBoeOBr+awuOS5heOBqycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUwLFxyXG4gIH0sXHJcbiAgMTI4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIrlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnT2JlcmUgRGVja3MnLFxyXG4gICAgICAnZW4nOiAnTGltc2EgTG9taW5zYSBVcHBlciBEZWNrcycsXHJcbiAgICAgICdmcic6ICdMaW1zYSBMb21pbnNhIC0gTGUgVGlsbGFjJyxcclxuICAgICAgJ2phJzogJ+ODquODoOOCteODu+ODreODn+ODs+OCte+8muS4iueUsuadv+WxpCcsXHJcbiAgICAgICdrbyc6ICfrprzsgqwg66Gc66+87IKsIOyDgey4tSDqsJHtjJAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQsXHJcbiAgfSxcclxuICAxMjk6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnlp4bokKjCt+e9l+aVj+iQqOS4i+WxgueUsuadvycsXHJcbiAgICAgICdkZSc6ICdVbnRlcmUgRGVja3MnLFxyXG4gICAgICAnZW4nOiAnTGltc2EgTG9taW5zYSBMb3dlciBEZWNrcycsXHJcbiAgICAgICdmcic6ICdMaW1zYSBMb21pbnNhIC0gTFxcJ0VudHJlcG9udCcsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIvnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDtlZjsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE1LFxyXG4gIH0sXHJcbiAgMTMwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI546w5LiW5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ05hbGQtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgTmFsZCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIE5hbGQnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44OK44Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDrgqAg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcsXHJcbiAgfSxcclxuICAxMzE6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuYzlsJTovr7lk4jmnaXnlJ/lm57lu4onLFxyXG4gICAgICAnZGUnOiAnVGhhbC1LcmV1emdhbmcnLFxyXG4gICAgICAnZW4nOiAnVWxcXCdkYWggLSBTdGVwcyBvZiBUaGFsJyxcclxuICAgICAgJ2ZyJzogJ1VsXFwnZGFoIC0gRmF1Ym91cmcgZGUgVGhhbCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg4Djg4/vvJrjgrbjg6vlm57lu4onLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOuLrCDtmozrnpEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDEzMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+agvOmHjOi+vuWwvOS6muaWsOihlycsXHJcbiAgICAgICdkZSc6ICdOZXUtR3JpZGFuaWEnLFxyXG4gICAgICAnZW4nOiAnTmV3IEdyaWRhbmlhJyxcclxuICAgICAgJ2ZyJzogJ05vdXZlbGxlIEdyaWRhbmlhJyxcclxuICAgICAgJ2phJzogJ+OCsOODquODgOODi+OCou+8muaWsOW4guihlycsXHJcbiAgICAgICdrbyc6ICfqt7jrpqzri6Tri4jslYQg7Iug7Iuc6rCA7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEsXHJcbiAgfSxcclxuICAxMzM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprml6fooZcnLFxyXG4gICAgICAnZGUnOiAnQWx0LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ09sZCBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIEdyaWRhbmlhJyxcclxuICAgICAgJ2phJzogJ+OCsOODquODgOODi+OCou+8muaXp+W4guihlycsXHJcbiAgICAgICdrbyc6ICfqt7jrpqzri6Tri4jslYQg6rWs7Iuc6rCA7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIsXHJcbiAgfSxcclxuICAxMzQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuK3mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdNaWRkbGUgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBjZW50cmFsZScsXHJcbiAgICAgICdqYSc6ICfkuK3lpK7jg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KSR67aAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDEzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieivuuilv+S6muS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdVbnRlcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdMb3dlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnQmFzc2UtTm9zY2VhJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE3LFxyXG4gIH0sXHJcbiAgMTM2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW36Zu+5p2RJyxcclxuICAgICAgJ2RlJzogJ0RvcmYgZGVzIE5lYmVscycsXHJcbiAgICAgICdlbic6ICdNaXN0JyxcclxuICAgICAgJ2ZyJzogJ0JydW3DqWUnLFxyXG4gICAgICAnamEnOiAn44Of44K544OI44O744O044Kj44Os44OD44K4JyxcclxuICAgICAgJ2tvJzogJ+yViOqwr+u5myDrp4jsnYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQsXHJcbiAgfSxcclxuICAxMzc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzmi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnRWFzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9yaWVudGFsZScsXHJcbiAgICAgICdqYSc6ICfmnbHjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn64+Z67aAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxOCxcclxuICB9LFxyXG4gIDEzODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+aLieivuuilv+S6micsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdXZXN0ZXJuIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgb2NjaWRlbnRhbGUnLFxyXG4gICAgICAnamEnOiAn6KW/44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+yEnOu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTksXHJcbiAgfSxcclxuICAxMzk6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnT2JlcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdVcHBlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnSGF1dGUtTm9zY2VhJyxcclxuICAgICAgJ2phJzogJ+mrmOWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfqs6Dsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIwLFxyXG4gIH0sXHJcbiAgMTQwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KW/6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1dlc3RsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+ilv+OCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAxNDE6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuK3okKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ0NlbnRyYWwgVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gY2VudHJhbCcsXHJcbiAgICAgICdqYSc6ICfkuK3lpK7jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7KSR67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMCxcclxuICB9LFxyXG4gIDE0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoib7njpvlkInlqJzmna/mlpfmioDlpKfkvJrlhrPotZsnLFxyXG4gICAgICAnZGUnOiAnRGFzIERyYWNoZW5oYWxzLUtvbG9zc2V1bScsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhZ29uXFwncyBOZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbCBkdSBkcmFnb24nLFxyXG4gICAgICAnamEnOiAn44Ki44Oe44K444OK5p2v6ZeY5oqA5Lya5rG65Yud5oimJyxcclxuICAgICAgJ2tvJzogJ+yVhOuniOyngOuCmOuwsCDtiKzquLDrjIDtmowg6rKw7Iq57KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55qH6YO95LyK5L+u5Yqg5b635L+d5Y2r5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBTY2hpY2tzYWxzd2VnJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGVwcyBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdMZSBTacOoZ2UgZGUgbGEgc2FpbnRlIENpdMOpIGRcXCdJc2hnYXJkJyxcclxuICAgICAgJ2phJzogJ+eah+mDveOCpOOCt+ODpeOCrOODq+ODiemYsuihm+aIpicsXHJcbiAgICAgICdrbyc6ICfshLHrj4Qg7J207IqI6rCA66W065OcIOuwqeyWtOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE0NToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S4nOiQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICfDlnN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb3JpZW50YWwnLFxyXG4gICAgICAnamEnOiAn5p2x44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEsXHJcbiAgfSxcclxuICAxNDY6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnU8O8ZGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdTb3V0aGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBtw6lyaWRpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljZfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMixcclxuICB9LFxyXG4gIDE0Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WMl+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdOw7ZyZGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdOb3J0aGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBzZXB0ZW50cmlvbmFsJyxcclxuICAgICAgJ2phJzogJ+WMl+OCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrtoHrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzLFxyXG4gIH0sXHJcbiAgMTQ4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lit5aSu5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ1RpZWZlciBXYWxkJyxcclxuICAgICAgJ2VuJzogJ0NlbnRyYWwgU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBjZW50cmFsZScsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrkuK3lpK7mo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDspJHrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflubvpvpnmrovpqrjlr4bnuqbkuYvloZQnLFxyXG4gICAgICAnZGUnOiAnSMO8dGVyIGRlcyBTZWVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBLZWVwZXIgb2YgdGhlIExha2UnLFxyXG4gICAgICAnZnInOiAnTGUgR2FyZGllbiBkdSBsYWMnLFxyXG4gICAgICAnamEnOiAn5bm76b6N5q6L6aq4IOm7mee0hOOBruWhlCcsXHJcbiAgICAgICdrbyc6ICfrrLXslb3snZgg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc0LFxyXG4gIH0sXHJcbiAgMTUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtuWhlCDmmpfkuYvkuJbnlYwnLFxyXG4gICAgICAnZGUnOiAnRGllIFdlbHQgZGVyIER1bmtlbGhlaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdvcmxkIG9mIERhcmtuZXNzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIE1vbmRlIGRlcyBUw6luw6hicmVzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8mumXh+OBruS4lueVjCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDslrTrkaDsnZgg7IS46rOEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNTI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfkuJzpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnT3N0d2FsZCcsXHJcbiAgICAgICdlbic6ICdFYXN0IFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgZGUgbFxcJ2VzdCcsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrmnbHpg6jmo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDrj5nrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNCxcclxuICB9LFxyXG4gIDE1Mzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+WNl+mDqOael+WMuicsXHJcbiAgICAgICdkZSc6ICdTw7xkd2FsZCcsXHJcbiAgICAgICdlbic6ICdTb3V0aCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGR1IHN1ZCcsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrljZfpg6jmo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDrgqjrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNSxcclxuICB9LFxyXG4gIDE1NDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+WMl+mDqOael+WMuicsXHJcbiAgICAgICdkZSc6ICdOb3Jkd2FsZCcsXHJcbiAgICAgICdlbic6ICdOb3J0aCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGR1IG5vcmQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5YyX6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg67aB67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYsXHJcbiAgfSxcclxuICAxNTU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/kuK3lpK7pq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIEhvY2hsYW5kIHZvbiBDb2VydGhhcycsXHJcbiAgICAgICdlbic6ICdDb2VydGhhcyBDZW50cmFsIEhpZ2hsYW5kcycsXHJcbiAgICAgICdmcic6ICdIYXV0ZXMgdGVycmVzIGR1IENvZXJ0aGFzIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn44Kv44Or44K244K55Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2tvJzogJ+y7pOultOuLpOyKpCDspJHslZnqs6Dsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAxNTY6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmkanmnZznurMnLFxyXG4gICAgICAnZGUnOiAnTW9yIERob25hJyxcclxuICAgICAgJ2VuJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdmcic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnamEnOiAn44Oi44O844OJ44Kl44OKJyxcclxuICAgICAgJ2tvJzogJ+uqqOultOuPhOuCmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDE1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnnhLbopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnZnInOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnamEnOiAn5aSp54S26KaB5a6zIOOCteOCueOCv+OCt+ODo+a1uOmjn+a0nicsXHJcbiAgICAgICdrbyc6ICfsgqzsiqTtg4Dsg6Qg7Lmo7IudIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8keWFu+iDnOWcsOW4g+mbt+emj+a0m+WFi+aWr+mHjuiQpeWcsCcsXHJcbiAgICAgICdkZSc6ICdCcsO8bGx2b2x4XFwnIExhbmdyYXN0JyxcclxuICAgICAgJ2VuJzogJ0JyYXlmbG94XFwncyBMb25nc3RvcCcsXHJcbiAgICAgICdmcic6ICdMZSBCaXZvdWFjIGRlIEJyYXlmbG94JyxcclxuICAgICAgJ2phJzogJ+WlqumChOaUr+aPtCDjg5bjg6zjgqTjg5Xjg63jgq/jgrnjga7ph47llrblnLAnLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnueBteWco+Wfn+aUvua1quelnuWPpOelnuauvycsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVzIFdhbmRlcmVycycsXHJcbiAgICAgICdlbic6ICdUaGUgV2FuZGVyZXJcXCdzIFBhbGFjZScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZHUgVmFnYWJvbmQnLFxyXG4gICAgICAnamEnOiAn5peF56We6IGW5Z+fIOODr+ODs+ODgOODqeODvOODkeODrOOCuScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aKG6Iiq5piO54Gv5aSp54u85pif54Gv5aGUJyxcclxuICAgICAgJ2RlJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZW4nOiAnUGhhcm9zIFNpcml1cycsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMnLFxyXG4gICAgICAnamEnOiAn5oCq6bOl5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCcsXHJcbiAgICAgICdrbyc6ICfsi5zrpqzsmrDsiqQg64yA65Ox64yAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwgemUgeWdkemBk+mTnOmTg+mTnOWxsScsXHJcbiAgICAgICdkZSc6ICdLdXBmZXJnbG9ja2VuLU1pbmUnLFxyXG4gICAgICAnZW4nOiAnQ29wcGVyYmVsbCBNaW5lcycsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlJyxcclxuICAgICAgJ2phJzogJ+WwgemOluWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEnLFxyXG4gICAgICAna28nOiAn6rWs66as7KKFIOq0keyCsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWFvemihuWfn+aXpeW9seWcsOS/rueCvOaJgCcsXHJcbiAgICAgICdkZSc6ICdIYWxhdGFsaScsXHJcbiAgICAgICdlbic6ICdIYWxhdGFsaScsXHJcbiAgICAgICdmcic6ICdIYWxhdGFsaScsXHJcbiAgICAgICdqYSc6ICfprZTnjaPpoJjln58g44OP44Op44K/44Oq5L+u57e05omAJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj6Tku6PpgZfov7nlloDmganln4vmsqHlnKPloIInLFxyXG4gICAgICAnZGUnOiAnVmVyc3Vua2VuZXIgVGVtcGVsIHZvbiBRYXJuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdW5rZW4gVGVtcGxlIG9mIFFhcm4nLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIGVuc2V2ZWxpIGRlIFFhcm4nLFxyXG4gICAgICAnamEnOiAn6YG66Leh5o6i57SiIOOCq+ODq+ODs+Wfi+ayoeWvuumZoicsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WcsOS4i+eBteauv+WhlOWnhsK35aGU5ouJ5aKT5ZutJyxcclxuICAgICAgJ2RlJzogJ1RvdGVuYWNrZXIgVGFtLVRhcmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRhbeKAk1RhcmEgRGVlcGNyb2Z0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYScsXHJcbiAgICAgICdqYSc6ICflnLDkuIvpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAJyxcclxuICAgICAgJ2tvJzogJ+2DkO2DgOudvCDrrJjshownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkI3pl6jlupzpgrjpnZnor63luoTlm60nLFxyXG4gICAgICAnZGUnOiAnSGF1a2tlLUhlcnJlbmhhdXMnLFxyXG4gICAgICAnZW4nOiAnSGF1a2tlIE1hbm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlJyxcclxuICAgICAgJ2phJzogJ+WQjemWgOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrgnLFxyXG4gICAgICAna28nOiAn7ZWY7Jqw7LyA7YOAIOuzhOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTY3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCquaVmempu+WcsOaXoOmZkOWfjuWPpOWgoScsXHJcbiAgICAgICdkZSc6ICdEaWUgUnVpbmVuIHZvbiBBbWRhcG9yJyxcclxuICAgICAgJ2VuJzogJ0FtZGFwb3IgS2VlcCcsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvcicsXHJcbiAgICAgICdqYSc6ICfpgqrmlZnmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrJyxcclxuICAgICAgJ2tvJzogJ+yYmyDslZTri6Ttj6zrpbQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMTY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wvuem+meWfjuWhnuefs+WNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdTdGVpbmVybmUgV2FjaHQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN0b25lIFZpZ2lsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUnLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5pS755WlIOOCueODiOODvOODs+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfrj4zrsKntjKgg6rK96rOE7LSI7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI3LFxyXG4gIH0sXHJcbiAgMTY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ebkeeLseW6n+Win+aJmOaJmMK35ouJ5YWL5Y2D54uxJyxcclxuICAgICAgJ2RlJzogJ1RhdXNlbmQgTMO2Y2hlciB2b24gVG90by1SYWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRob3VzYW5kIE1hd3Mgb2YgVG90b+KAk1JhaycsXHJcbiAgICAgICdmcic6ICdMZXMgTWlsbGUgR3VldWxlcyBkZSBUb3RvLVJhaycsXHJcbiAgICAgICdqYSc6ICfnm6PnjYTlu4Plop8g44OI44OI44Op44Kv44Gu5Y2D542EJyxcclxuICAgICAgJ2tvJzogJ+2GoO2GoOudvO2BrCDqsJDsmKUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtYHmspnov7flrqvmqLXpuKPmtJ4nLFxyXG4gICAgICAnZGUnOiAnU8OkZ2Vyc2NocmVpJyxcclxuICAgICAgJ2VuJzogJ0N1dHRlclxcJ3MgQ3J5JyxcclxuICAgICAgJ2ZyJzogJ0xlIEdvdWZmcmUgaHVybGFudCcsXHJcbiAgICAgICdqYSc6ICfmtYHnoILov7flrq4g44Kr44OD44K/44O844K644Kv44Op44KkJyxcclxuICAgICAgJ2tvJzogJ+uCmOustOq+vOydmCDruYTrqoUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsbHkuK3miJjnur/ms73mooXlsJTopoHloZ4nLFxyXG4gICAgICAnZGUnOiAnRGllIEZlc3RlIER6ZW1hZWwnLFxyXG4gICAgICAnZW4nOiAnRHplbWFlbCBEYXJraG9sZCcsXHJcbiAgICAgICdmcic6ICdMYSBGb3J0ZXJlc3NlIGRlIER6ZW1hZWwnLFxyXG4gICAgICAnamEnOiAn5o6D6KiO5L2c5oimIOOCvOODvOODoeODq+imgeWhnicsXHJcbiAgICAgICdrbyc6ICfsoJzrqZwg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q+S6Zu+5rSe56qf6buE6YeR6LC3JyxcclxuICAgICAgJ2RlJzogJ0dvbGRrbGFtbScsXHJcbiAgICAgICdlbic6ICdUaGUgQXVydW0gVmFsZScsXHJcbiAgICAgICdmcic6ICdMZSBWYWwgZFxcJ0F1cnVtJyxcclxuICAgICAgJ2phJzogJ+mcp+S4reihjOi7jSDjgqrjg7zjg6njg6Djg7TjgqfjgqTjg6snLFxyXG4gICAgICAna28nOiAn6riI67mbIOqzqOynnOq4sCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTc0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtuWhlCDlj6Tku6Pkurrov7flrqsnLFxyXG4gICAgICAnZGUnOiAnS3Jpc3RhbGx0dXJtIC0gRGFzIExhYnlyaW50aCBkZXIgQWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIExhYnlyaW50aCBvZiB0aGUgQW5jaWVudHMnLFxyXG4gICAgICAnZnInOiAnTGEgVG91ciBkZSBDcmlzdGFsIC0gRMOpZGFsZSBhbnRpcXVlJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muWPpOS7o+OBruawkeOBrui/t+WuricsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDqs6DrjIDsnbjsnZgg66+46raBJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxODA6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprlpJblnLAnLFxyXG4gICAgICAnZGUnOiAnw4R1w59lcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdPdXRlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIGV4dMOpcmlldXJlJyxcclxuICAgICAgJ2phJzogJ+WkluWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfsmbjsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI0LFxyXG4gIH0sXHJcbiAgMTg4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atpuijheWco+Wfn+aUvua1quelnuWPpOelnuauvycsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVzIFdhbmRlcmVycyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgV2FuZGVyZXJcXCdzIFBhbGFjZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+atpuijheiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrkgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uwqeuekeyekOydmCDqtoHsoIQo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDE4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrlv7XlppblnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvciAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRcXCdBbWRhcG9yIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mCquW/teaOkuaSgyDlj6Tln47jgqLjg6Djg4Djg5fjg7zjg6sgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yYmyDslZTri6Ttj6zrpbQg7ISxKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxOTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5b235b6o5q2754G177yBJyxcclxuICAgICAgJ2RlJzogJ0JvY2ttYW5ucyBHZWZvbGdlJyxcclxuICAgICAgJ2VuJzogJ1VuZGVyIHRoZSBBcm1vcicsXHJcbiAgICAgICdmcic6ICdDaGFzc2UgYXUgZmFudMO0bWUgZmFudG9jaGUnLFxyXG4gICAgICAnamEnOiAn5b235b6o44GG5q276ZyK44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uwqe2Zqe2VmOuKlCDsgqzroLnsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMTkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mpsemZpOWJp+avkuWmluiKse+8gScsXHJcbiAgICAgICdkZSc6ICdVbmtyYXV0IGrDpHRlbicsXHJcbiAgICAgICdlbic6ICdQdWxsaW5nIFBvaXNvbiBQb3NpZXMnLFxyXG4gICAgICAnZnInOiAnT3DDqXJhdGlvbiBmbGV1cnMgZHUgbWFsJyxcclxuICAgICAgJ2phJzogJ+acieavkuWmluiKseOCkumnhumZpOOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrj4XshLEg7JqU6rS06r2D7J2EIOygnOqxsO2VmOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNCxcclxuICB9LFxyXG4gIDE5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtojnga3mgbblvpLlm6LkvJnlr4TnlJ/onILlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnSW5zIFdlc3Blbm5lc3Qgc3RlY2hlbicsXHJcbiAgICAgICdlbic6ICdTdGluZ2luZyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0V4cMOpZGl0aW9uIHB1bml0aXZlIGNvbnRyZSBsZXMgVmVudHJlcm91Z2UnLFxyXG4gICAgICAnamEnOiAn54Sh5rOV6ICF44CM5Ly85oiR6JyC5Zuj44CN44KS5pKD5ruF44Gb44KI77yBJyxcclxuICAgICAgJ2tvJzogJ+ustOuyleyekCDsp5Hri6ggXFwn64KY64KY64uI64uoXFwn7J2EIOyErOupuO2VmOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNSxcclxuICB9LFxyXG4gIDE5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya55yf5oiQ57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsp4TshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDnnJ/mupDkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMyAtIDInLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya55yf5oiQ57eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsp4TshLHtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDnnJ/mupDkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMyAtIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMycsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGRlIEJhaGFtdXQgSUlJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSA0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ0OCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDQsXHJcbiAgfSxcclxuICAyMDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m56K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHcmFiIGRlciBMb2hlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3dsIG9mIEVtYmVycycsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zJyxcclxuICAgICAgJ2phJzogJ+OCpOODleODquODvOODiOiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfsnbTtlITrpqztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI1LFxyXG4gIH0sXHJcbiAgMjA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgTmFiZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwnLFxyXG4gICAgICAnamEnOiAn44K/44Kk44K/44Oz6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyMDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WWhOeOi+ODouOCsOODq+ODu+ODouOCsFhJSeS4luiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfshKDsmZUg66qo6re466OoIOuqqOq3uCBYSUnshLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMwLFxyXG4gIH0sXHJcbiAgMjA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+iuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgVG9zZW5kZSBBdWdlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZScsXHJcbiAgICAgICdmcic6ICdIdXJsxZNpbCcsXHJcbiAgICAgICdqYSc6ICfjgqzjg6vjg7zjg4DoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDIxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrozmiJDpm4blm6LmiJjorq3nu4PvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluZXIgZsO8ciBhbGxlLCBhbGxlIGbDvHIgZWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmFzaWMgVHJhaW5pbmc6IEVuZW15IFBhcnRpZXMnLFxyXG4gICAgICAnZnInOiAnRW50cmHDrm5lbWVudDxJbmRlbnQvPjogZ3JvdXBlcyBkXFwnZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICfpm4blm6PmiKboqJPnt7TjgpLjgY/jgZDjgormipzjgZHjgo3vvIEnLFxyXG4gICAgICAna28nOiAn7KeR64uo7KCEIO2biOugqOydhCDsmYTsiJjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE2LFxyXG4gIH0sXHJcbiAgMjE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eqgeegtOaJgOacieWFs+mXqO+8jOiuqOS8kOacgOa3seWkhOeahOaVjOS6uu+8gScsXHJcbiAgICAgICdkZSc6ICdTdHVybWtvbW1hbmRvJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBTdHJvbmdob2xkcycsXHJcbiAgICAgICdmcic6XHJcbiAgICAgICAgJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGluPFNvZnRIeXBoZW4vPmZpbDxTb2Z0SHlwaGVuLz50cmE8U29mdEh5cGhlbi8+dGlvbiBlbiBiYXNlIGVubmVtaWUnLFxyXG4gICAgICAnamEnOiAn5YWo6Zai6ZaA44KS56qB56C044GX44CB5pyA5rex6YOo44Gu5pW144KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+q0gOusuOydhCDrj4ztjIztlZjqs6Ag7LWc7Ius67aA7J2YIOyggeydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAyMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o2V6I636YeR5biB6b6f77yBJyxcclxuICAgICAgJ2RlJzogJ0dpbCBvZGVyIExlYmVuJyxcclxuICAgICAgJ2VuJzogJ0hlcm8gb24gdGhlIEhhbGYgU2hlbGwnLFxyXG4gICAgICAnZnInOiAnUmVjb25xdcOqdGUgZFxcJ3VuZSBjYXJhcGFjZSBlc2NhbW90w6llJyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeOCkuaNleeNsuOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfquLjqsbDrtoHsnYQg7IKs66Gc7J6h7JWE6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMCxcclxuICB9LFxyXG4gIDIxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluJ3lm73ljZfmlrnloKHlpJblm7Tmv4DmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gQXXDn2VuYmVyZWljaCcsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1lcmlkaWFudW0nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2phJzogJ+WklumDreaUu+eVpSDjgqvjgrnjg4jjg6vjg6Djg7vjg6Hjg6rjg4fjgqPjgqLjg4zjg6AnLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuplOumrOuUlOyVhOuIlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WHu+a6g+WTpeW4g+ael+eCuOW8ueWGm+Wbou+8gScsXHJcbiAgICAgICdkZSc6ICdCb21iaWdlIEdvYmxpbnMnLFxyXG4gICAgICAnZW4nOiAnRmxpY2tpbmcgU3RpY2tzIGFuZCBUYWtpbmcgTmFtZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIEdvYmVsaW5zIGJvbWJhcmRpZXJzJyxcclxuICAgICAgJ2phJzogJ+eIhuW8vumtlOOCtOODluODquODs+i7jeWbo+OCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICftj63tg4TqtJEg6rOg67iU66awIOq1sOuLqOydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAyMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5qKm5bm75LmL5biD5ouJ5aWH5biM5aWl77yBJyxcclxuICAgICAgJ2RlJzogJ0JyaWF4aW8gYXVzc2NoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIHRoYXQgRW5kcyBpbiB0aGUgV2VsbCcsXHJcbiAgICAgICdmcic6ICdCcmlheGlvIMOgIGJyYXMgcmFjY291cmNpcycsXHJcbiAgICAgICdqYSc6ICflpKLlubvjga7jg5bjg6njgq3jgrfjgqrjgpLoqI7jgabvvIEnLFxyXG4gICAgICAna28nOiAn66q97ZmY7J2YIOu4jOudvO2BrOyLnOyYpOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAyMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5rGh5p+T5rqQ5aS06a2U55WM6Iqx77yBJyxcclxuICAgICAgJ2RlJzogJ1TDtmRsaWNoZXMgUmFua2Vuc3BpZWwnLFxyXG4gICAgICAnZW4nOiAnTW9yZSB0aGFuIGEgRmVlbGVyJyxcclxuICAgICAgJ2ZyJzogJ1N1cyBhdSBtb3Jib2wgcG9sbHVldXInLFxyXG4gICAgICAnamEnOiAn5rGa5p+T5rqQ44Oi44Or44Oc44Or44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+yYpOyXvOybkCDrqrDrs7zsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDIyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICforqjkvJDlnZHpgZPkuK3lh7rnjrDnmoTlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnR2VmYWhyIGF1cyBkZW0gTmljaHRzJyxcclxuICAgICAgJ2VuJzogJ0Fubm95IHRoZSBWb2lkJyxcclxuICAgICAgJ2ZyJzogJ0J1c28gbFxcJ2ltbW9sYXRldXInLFxyXG4gICAgICAnamEnOiAn5Z2R6YGT44Gr54++44KM44Gf5aaW55Ww44OW44K944KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+qwseuPhOyXkCDrgpjtg4Drgpwg7JqU66eIIOu2gOyGjOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE3LFxyXG4gIH0sXHJcbiAgMjIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azqOaEj+aXoOaVjOeahOect+Wxnu+8jOiuqOS8kOWkp+Wei+WmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBTY2hhdHRlbicsXHJcbiAgICAgICdlbic6ICdTaGFkb3cgYW5kIENsYXcnLFxyXG4gICAgICAnZnInOiAnT21icmVzIGV0IGdyaWZmZXMnLFxyXG4gICAgICAnamEnOiAn54Sh5pW144Gu55y35bGe44KS5b6T44GI44GX44CB5aSn5Z6L5aaW55Ww44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+ustOyggeydmCDrtoDtlZjrpbwg7KGw7KKF7ZWY64qUIOyalOuniOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeW5lemtlOWvvOWfjuacgOe7iOWGs+aImCcsXHJcbiAgICAgICdkZSc6ICdDYXN0cnVtIE1lcmlkaWFudW0gLSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIFByYWV0b3JpdW0nLFxyXG4gICAgICAnamEnOiAn5pyA57WC5rG65oimIOmtlOWwjuWfjuODl+ODqeOCqOODiOODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICfrp4jrj4TshLEg7ZSE65287J207Yag66as7JuAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrpgoLpgIXnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IO2VtO2bhO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMycsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrpgoLpgIXnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IO2VtO2bhO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiA0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSVYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoNCcsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A1JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDUnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IFYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoNScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggNScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjUwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54u854ux5YGc6Ii55Zy6JyxcclxuICAgICAgJ2RlJzogJ1dvbGZzaMO2aGxlbi1QaWVyJyxcclxuICAgICAgJ2VuJzogJ1dvbHZlc1xcJyBEZW4gUGllcicsXHJcbiAgICAgICdmcic6ICdKZXTDqWUgZGUgbFxcJ0FudHJlIGRlcyBsb3VwcycsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg7TjgrrjgrjjgqfjgqTjg6vkv4LoiLnloLQnLFxyXG4gICAgICAna28nOiAn64qR64yA7Jqw66asIOu2gOuRkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzcsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI5LFxyXG4gIH0sXHJcbiAgMjgxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgQnJpc2V1ciBkZSBtYXLDqWVzIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDI5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Kk44OV44Oq44O844OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsnbTtlITrpqztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI1LFxyXG4gIH0sXHJcbiAgMjkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFRpdGFuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgTm9tYnJpbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgr/jgqTjgr/jg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIO2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+m5qW8572X5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gR2FydWRhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIElmcml0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3dsIG9mIEVtYmVycyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnabmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgr/jgqTjgr/jg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyOTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+m5qW8572X5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gR2FydWRhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqzjg6vjg7zjg4DoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOqwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyOTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ54iG5by55oCq55qE5aWz546L77yBJyxcclxuICAgICAgJ2RlJzogJ01pc3MgQm9tYmFzdGljJyxcclxuICAgICAgJ2VuJzogJ0xvbmcgTGl2ZSB0aGUgUXVlZW4nLFxyXG4gICAgICAnZnInOiAnTG9uZ3VlIHZpZSDDoCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjg5zjg6DjgpLnjofjgYTjgovjgIzjg5zjg6Djgq/jgqTjg7zjg7PjgI3jgpLoqI7jgabvvIEnLFxyXG4gICAgICAna28nOiAn67SE7J2EIOqxsOuKkOumsCBcXCfrtIQg7Jes7JmVXFwn7J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAyOTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q2854Gt54m55q6K6Zi15Z6L55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ1VuemVydHJlbm5saWNoJyxcclxuICAgICAgJ2VuJzogJ1dhcmQgVXAnLFxyXG4gICAgICAnZnInOiAnUXVpbnRldHRlcyBpbmZlcm5hdXgnLFxyXG4gICAgICAnamEnOiAn5LiN5rCX5ZGz44Gq6Zmj5b2i44KS57WE44KA5aaW55Ww44KS44Gb44KT5ruF44Gb44KI77yBJyxcclxuICAgICAgJ2tvJzogJ+u2iOq4uO2VnCDsp4TtmJXsnYQg7Kec64qUIOyalOuniOulvCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WItuatouS4ieaWuea3t+aImOeahOW3qOS6uuaXj++8jOWuiOS9j+mBl+eJqe+8gScsXHJcbiAgICAgICdkZSc6ICdXdWNodGlnZSBEcmVpZmFsdGlna2VpdCcsXHJcbiAgICAgICdlbic6ICdTb2xlbW4gVHJpbml0eScsXHJcbiAgICAgICdmcic6ICdUcmluaXTDqSBzaW5pc3RyZScsXHJcbiAgICAgICdqYSc6ICfkuInjgaTlt7Tjga7lt6jkurrml4/jgpLliLbjgZfjgIHpgbrnianjgpLlrojjgozvvIEnLFxyXG4gICAgICAna28nOiAn7IS4IOqxsOyduOyhseydhCDsoJzslZXtlZjsl6wg7Jyg66y87J2EIOyngOy8nOuCtOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAzMzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YeM5aGU5o+Q5oGp5by65pS75oiYJyxcclxuICAgICAgJ2RlJzogJ0thcCBXZXN0d2luZCcsXHJcbiAgICAgICdlbic6ICdDYXBlIFdlc3R3aW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIENhcCBWZW5kb3Vlc3QnLFxyXG4gICAgICAnamEnOiAn44Oq44OD44OI44Ki44OG44Kj44Oz5by36KWy5oimJyxcclxuICAgICAgJ2tvJzogJ+umrO2KuOyVhO2LtCDqsJXsirXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOSxcclxuICB9LFxyXG4gIDM0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnoLTlnY/kvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBVbHRpbWFcXCdzIEJhbmUnLFxyXG4gICAgICAnZnInOiAnTGUgZmzDqWF1IGRcXCdVbHRpbWEnLFxyXG4gICAgICAnamEnOiAn56m25qW15bm75oOzIOOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfslYzthYzrp4gg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMSxcclxuICB9LFxyXG4gIDM0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqprkubHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNaW5lcyBkZSBDbG9jaGVjdWl2cmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6aiS5Lmx5Z2R6YGTIOOCq+ODg+ODkeODvOODmeODq+mKheWxsSAoSGFyZCknLFxyXG4gICAgICAna28nOiAn6rWs66as7KKFIOq0keyCsCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oG254G15bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vciAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgTWFub2lyIGRlcyBIYXVra2UgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5aaW55Ww5bGL5pW3IOODj+OCpuOCseOCv+W+oeeUqOmCuCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7ZWY7Jqw7LyA7YOAIOuzhOq2gSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMicsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMScsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IEknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSScsXHJcbiAgICAgICdqYSc6ICfjgqTjg5njg7Pjg4jnlKjjgrPjg7Pjg4bjg7Pjg4TvvJoxJyxcclxuICAgICAgJ2tvJzogJ+ydtOuypO2KuOyaqSDsnoTrrLQ6IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtLvliqjmjJHmiJgzJyxcclxuICAgICAgJ2RlJzogJ0V2ZW50LUluaGFsdCAyJyxcclxuICAgICAgJ2VuJzogJ1NwZWNpYWwgRXZlbnQgSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMicsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDM1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gyJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMzU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSVYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoNCcsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgQnJpc2V1ciBkZSBtYXLDqWVzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44O044Kh44Kk44Ki44K144Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzrsJTsnbTslrTshKAg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM4LFxyXG4gIH0sXHJcbiAgMzYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WJkeaWl+mihuWfn+aXpeW9seWcsOS/rueCvOaJgCcsXHJcbiAgICAgICdkZSc6ICdIYWxhdGFsaSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYWxhdGFsaSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGkgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Ymj6ZeY6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7ZWg65287YOI66asIOyImOugqOyepSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LSi5a6d5Lyg6K+056C06Iiw5bKbJyxcclxuICAgICAgJ2RlJzogJ1NjaGlmZmJyZWNoZXItSW5zZWwnLFxyXG4gICAgICAnZW4nOiAnSHVsbGJyZWFrZXIgSXNsZScsXHJcbiAgICAgICdmcic6ICdMXFwnw45sZSBkZSBDcsOodmVjYXLDqG5lJyxcclxuICAgICAgJ2phJzogJ+iyoeWuneS8neiqrCDjg4/jg6vjg5bjg6zjg7zjgqvjg7zjg7vjgqLjgqTjg6snLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6t+S6ieimgeWcsOW4g+mbt+emj+a0m+WFi+aWr+mHjuiQpeWcsCcsXHJcbiAgICAgICdkZSc6ICdCcsO8bGx2b2x4XFwnIExhbmdyYXN0IChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0JyYXlmbG94XFwncyBMb25nc3RvcCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnm5/lj4vmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfruIzroIjsnbTtlIzroZ3siqTsnZgg7JW87JiB7KeAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzcsXHJcbiAgfSxcclxuICAzNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IWQ5Z2P6YGX6L+55peg6ZmQ5Z+O5biC6KGX5Y+k6L+5JyxcclxuICAgICAgJ2RlJzogJ0hpc3RvcmlzY2hlcyBBbWRhcG9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IENpdHkgb2YgQW1kYXBvcicsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6IWQ5pWX6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDM2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojqvlj6TlipvotKTnjovmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnS8O2bmlnbGljaGUgS29uZnJvbnRhdGlvbiAoZXh0cmVtKScsXHJcbiAgICAgICdlbic6ICdUaG9ybm1hcmNoIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBMaXNpw6hyZSBkZSByb25jZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re57JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDM2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmv4DmiJjln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0IChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgVmlnaWxlIGRlIFBpZXJyZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfln47loZ7lparlm54g44K544OI44O844Oz44O044Kj44K444OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrj4zrsKntjKgg6rK96rOE7LSI7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn5qGl5LiK55qE5Yaz5paXJyxcclxuICAgICAgJ2RlJzogJ0R1ZWxsIGF1ZiBkZXIgZ3Jvw59lbiBCcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0JhdHRsZSBvbiB0aGUgQmlnIEJyaWRnZScsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZW1lbnQgc3VyIGxlIGdyYW5kIHBvbnQnLFxyXG4gICAgICAnamEnOiAn44Ku44Or44Ks44Oh44OD44K344Ol6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+q4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoi4/phpLpgZfov7nlloDmganln4vmsqHlnKPloIInLFxyXG4gICAgICAnZGUnOiAnVmVyc3Vua2VuZXIgVGVtcGVsIHZvbiBRYXJuIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdW5rZW4gVGVtcGxlIG9mIFFhcm4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaVkeaPtCDjgqvjg6vjg7Pln4vmsqHlr7rpmaIgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+y5tOuluOydmCDrrLTrhIjsp4Qg7IKs7JuQKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDEsXHJcbiAgfSxcclxuICAzNjg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275YyW5aWH576O5ouJ6K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGdlZ2VuIGRpZSBEaG9ybWUtQ2hpbcOkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBDaGltZXJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIGNoaW3DqHJlIGRob3JtZSBkdSBDb2VydGhhcycsXHJcbiAgICAgICdqYSc6ICfjg4njg6vjg6Djgq3jg57jgqTjg6noqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn64+E66aEIO2CpOuniOydtOudvCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAzNjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35b635ouJ6K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGdlZ2VuIGRpZSBIeWRyYScsXHJcbiAgICAgICdlbic6ICdBIFJlbGljIFJlYm9ybjogdGhlIEh5ZHJhJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdoeWRyZSBkXFwnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn44OP44Kk44OJ44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOydtOuTnOudvCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh5vlhr3mtJ7lpKnmiqvpm6rlpKflhrDlo4EnLFxyXG4gICAgICAnZGUnOiAnRGFzIFNjaG5lZWtsZWlkJyxcclxuICAgICAgJ2VuJzogJ1Nub3djbG9haycsXHJcbiAgICAgICdmcic6ICdNYW50ZW5laWdlJyxcclxuICAgICAgJ2phJzogJ+awt+e1kOa9nOeqnyDjgrnjg47jg7zjgq/jg63jg7zjgq/lpKfmsLflo4EnLFxyXG4gICAgICAna28nOiAn7Ja87J2M7Jm47YisIOuMgOu5meuyvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MixcclxuICB9LFxyXG4gIDM3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5biM5bCU56eR5pav5aGUJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERlciBTeXJjdXMtVHVybScsXHJcbiAgICAgICdlbic6ICdTeXJjdXMgVG93ZXInLFxyXG4gICAgICAnZnInOiAnTGEgVG91ciBkZSBDcmlzdGFsIC0gVG91ciBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn44Kv44Oq44K544K/44Or44K/44Ov44O877ya44K344Or44Kv44K544Gu5aGUJyxcclxuICAgICAgJ2tvJzogJ+2BrOumrOyKpO2DiCDtg4Dsm4w6IOyLnOultOy/oOyKpCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmg6jliafngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cG9nw6llIGRlIFRhbS1UYXJhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+aDqOWKh+mciuauvyDjgr/jg6Djgr/jg6njga7lopPmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2DkO2DgOudvCDrrJjshowo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAzMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWnhuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFJhbXVoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdHJpa2luZyBUcmVlIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJicmUgZHUganVnZW1lbnQgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWnhuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFJhbXVoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdHJpa2luZyBUcmVlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJicmUgZHUganVnZW1lbnQgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6njg6DjgqboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOudvOustCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDMsXHJcbiAgfSxcclxuICAzNzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZGo6L656YGX6L+5576kICjpmLXlnLDmiJgpJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlIFJ1aW5lbiAoU2ljaGVydW5nKScsXHJcbiAgICAgICdlbic6ICdUaGUgQm9yZGVybGFuZCBSdWlucyAoU2VjdXJlKScsXHJcbiAgICAgICdmcic6ICdMZXMgUnVpbmVzIGZyb250YWxpw6hyZXMgKGFubmV4aW9uKScsXHJcbiAgICAgICdqYSc6ICflpJbnuIHpgbrot6HnvqQgKOWItuWcp+aIpiknLFxyXG4gICAgICAna28nOiAn7Jm46rO9IOycoOyggeyngOuMgCjsoJzslZXsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM55Om5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzNzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM55Om5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCt+ODtOOCoeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Iuc67CUIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NixcclxuICB9LFxyXG4gIDM4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAxIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAyIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMzgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElJSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gNCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSVYgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzg3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mAhui9rOimgeWus+aymeaWr+WhlOWkj+a6tua0nicsXHJcbiAgICAgICdkZSc6ICdTYXN0YXNoYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYXN0YXNoYSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU2FzdGFzaGEgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6YCG6KWy6KaB5a6zIOOCteOCueOCv+OCt+ODo+a1uOmjn+a0niAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmYbooYzpuJ/nq57otZvvvJrlpKrpmLPmtbflsrgnLFxyXG4gICAgICAnZGUnOiAnQ2hvY29iby1SZW5uZW46IFNvbm5lbmvDvHN0ZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IENvc3RhIGRlbCBTb2wnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCs+OCueOCv+ODu+ODh+ODq+ODu+OCveODqycsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsvZTsiqTtg4Ag6424IOyGlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDcyLFxyXG4gICAgJ29mZnNldFknOiAtNDI0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmYbooYzpuJ/nq57otZvvvJrojZLph47lpKfpgZMnLFxyXG4gICAgICAnZGUnOiAnQ2hvY29iby1SZW5uZW46IFNhZ29saWktU3RyYcOfZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFNhZ29saWkgUm9hZCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZGUgY2hvY29ib3M8SW5kZW50Lz46IFJvdXRlIGRlIFNhZ29saWknLFxyXG4gICAgICAnamEnOiAn44OB44On44Kz44Oc44Os44O844K577ya44K144K044Oq44O844Ot44O844OJJyxcclxuICAgICAgJ2tvJzogJ+y0iOy9lOuztCDqsr3so7w6IOyCrOqzqOumrCDsgqzrp4knLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5oGs6Z2Z5bCP6LevJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBQZmFkIGRlciBTZWVsZW5ydWhlJyxcclxuICAgICAgJ2VuJzogJ0Nob2NvYm8gUmFjZTogVHJhbnF1aWwgUGF0aHMnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBTZW50ZXMgdHJhbnF1aWxsZXMnLFxyXG4gICAgICAnamEnOiAn44OB44On44Kz44Oc44Os44O844K577ya44OI44Op44Oz44Kt44Or44OR44K5JyxcclxuICAgICAgJ2tvJzogJ+y0iOy9lOuztCDqsr3so7w6IOqzoOyalO2VnCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpaXkuIHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnSmVuc2VpdHMgVXJ0aHMgUXVlbGxlJyxcclxuICAgICAgJ2VuJzogJ1VydGhcXCdzIEZvdW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIEZvbnRhaW5lIGRcXCdVcnRoJyxcclxuICAgICAgJ2phJzogJ+mXmOelnuOCquODvOODh+OCo+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftiKzsi6Ag7Jik65SYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NSxcclxuICB9LFxyXG4gIDM5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DpmZDln47nmoTmrbvmlpcnLFxyXG4gICAgICAnZGUnOiAnUmV2YW5jaGUgaW4gZGVuIFJ1aW5lbicsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgaW4gdGhlIEJpZyBLZWVwJyxcclxuICAgICAgJ2ZyJzogJ1JldmFuY2hlIGF1IHZpZXV4IGNow6J0ZWF1JyxcclxuICAgICAgJ2phJzogJ+ecn+OCruODq+OCrOODoeODg+OCt+ODpeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6ri46rCA66mU7IucIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM5Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W6k+WwlOacreaWr+ilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIEhvY2hsYW5kIHZvbiBDb2VydGhhcycsXHJcbiAgICAgICdlbic6ICdDb2VydGhhcyBXZXN0ZXJuIEhpZ2hsYW5kcycsXHJcbiAgICAgICdmcic6ICdIYXV0ZXMgdGVycmVzIGR1IENvZXJ0aGFzIG9jY2lkZW50YWwnLFxyXG4gICAgICAnamEnOiAn44Kv44Or44K244K56KW/6YOo6auY5ZywJyxcclxuICAgICAgJ2tvJzogJ+y7pOultOuLpOyKpCDshJzrtoDqs6Dsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OSxcclxuICB9LFxyXG4gIDM5ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWPguWkqemrmOWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgVm9ybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEZvcmVsYW5kcycsXHJcbiAgICAgICdmcic6ICdBdmFudC1wYXlzIGRyYXZhbmllbicsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg4njg6njg7TjgqHjg4vjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOuTnOudvOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUwLFxyXG4gIH0sXHJcbiAgMzk5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6b6Z5aCh5YaF6ZmG5L2O5ZywJyxcclxuICAgICAgJ2RlJzogJ0RyYXZhbmlzY2hlcyBIaW50ZXJsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEcmF2YW5pYW4gSGludGVybGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXJyacOocmUtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn5L2O5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+yggOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MSxcclxuICB9LFxyXG4gIDQwMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e/u+S6kembvua1tycsXHJcbiAgICAgICdkZSc6ICdXYWxsZW5kZSBOZWJlbCcsXHJcbiAgICAgICdlbic6ICdUaGUgQ2h1cm5pbmcgTWlzdHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJY3VtZSBkZXMgY2lldXggZGUgRHJhdmFuaWEnLFxyXG4gICAgICAnamEnOiAn44OJ44Op44O044Kh44OL44Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+uTnOudvOuwlOuLiOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MixcclxuICB9LFxyXG4gIDQwMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mYv+W3tOaLieaPkOS6muS6kea1tycsXHJcbiAgICAgICdkZSc6ICdBYmFsYXRoaXNjaGVzIFdvbGtlbm1lZXInLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYSBvZiBDbG91ZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJY3VtZSBkZXMgY2lldXggZFxcJ0FiYWxhdGhpYScsXHJcbiAgICAgICdqYSc6ICfjgqLjg5Djg6njgrfjgqLpm7LmtbcnLFxyXG4gICAgICAna28nOiAn7JWE67Cc65287Iuc7JWEIOq1rOumhOuwlOuLpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUzLFxyXG4gIH0sXHJcbiAgNDAyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5aSn6ZmG6Zi/5rWO5YW55ouJJyxcclxuICAgICAgJ2RlJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2VuJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2ZyJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2phJzogJ+OCouOCuOOCueODu+ODqeODvCcsXHJcbiAgICAgICdrbyc6ICfslYTsp4DsiqQg6528JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTQsXHJcbiAgfSxcclxuICA0MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5b2S5p2lJyxcclxuICAgICAgJ2RlJzogJ1ZlcnJhdCBkZXIgUWFseWFuYScsXHJcbiAgICAgICdlbic6ICdSZXR1cm4gb2YgdGhlIEJ1bGwnLFxyXG4gICAgICAnZnInOiAnUmV0b3VyIGF1IGJlcmNhaWwnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44Gu5biw6YKEJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydmCDqt4DtmZgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTI1MCxcclxuICAgICdvZmZzZXRZJzogMTI4LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WtpuivhuWuneW6k+i/puW3tOWLkuW5u+aDs+WbvuS5pummhicsXHJcbiAgICAgICdkZSc6ICdHcm/Dn2UgR3ViYWwtQmlibGlvdGhlaycsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgR3ViYWwgTGlicmFyeScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCcsXHJcbiAgICAgICdqYSc6ICfnpoHmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoJyxcclxuICAgICAgJ2tvJzogJ+q1rOu4jOudvCDtmZjsg4Hrj4TshJzqtIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya56ue6LWb5pWZ5a2mJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiDDnGJ1bmdzYmFobicsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFR1dG9yaWFsJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkXFwnYXBwZW50aXNzYWdlJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODgeODpeODvOODiOODquOCouODqycsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDtipzthqDrpqzslrwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTY5MCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuS/ruWKoOW+t+WfuuehgOWxgicsXHJcbiAgICAgICdkZSc6ICdGdW5kYW1lbnRlJyxcclxuICAgICAgJ2VuJzogJ0ZvdW5kYXRpb24nLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExcXCdBc3Npc2UnLFxyXG4gICAgICAnamEnOiAn44Kk44K344Ol44Ks44Or44OJ77ya5LiL5bGkJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDtlZjsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDcsXHJcbiAgfSxcclxuICA0MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfnoKXmn7HlsYInLFxyXG4gICAgICAnZGUnOiAnU3RyZWJld2VyaycsXHJcbiAgICAgICdlbic6ICdUaGUgUGlsbGFycycsXHJcbiAgICAgICdmcic6ICdJc2hnYXJkIC0gTGVzIENvbnRyZWZvcnRzJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4iuWxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7IOB7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ4LFxyXG4gIH0sXHJcbiAgNDIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epuuS4reelnuWfn+S4jeiOt+WymycsXHJcbiAgICAgICdkZSc6ICdOaW1tZXJyZWljaCcsXHJcbiAgICAgICdlbic6ICdOZXZlcnJlYXAnLFxyXG4gICAgICAnZnInOiAnTmFsbG9uY3F1ZXMnLFxyXG4gICAgICAnamEnOiAn56We5Z+f5rWu5bO2IOODjeODkOODvOODquODvOODlycsXHJcbiAgICAgICdrbyc6ICfqsbDrkZDsp4Ag7JWK64qUIOyErCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wco+aVmeS4reaeouS8iuS/ruWKoOW+t+aVmeeah+WOhScsXHJcbiAgICAgICdkZSc6ICdFcnpiYXNpbGlrYScsXHJcbiAgICAgICdlbic6ICdUaGUgVmF1bHQnLFxyXG4gICAgICAnZnInOiAnTGEgVm/Du3RlJyxcclxuICAgICAgJ2phJzogJ+W8t+ehrOeqgeWFpSDjgqTjgrfjg6Xjgqzjg6vjg4nmlZnnmofluoEnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOq1kO2ZqeyyrScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCo+W4g+mHjOS6muWLkuaWr+iuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdDaHJ5c2FsaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIENocnlzYWxpcycsXHJcbiAgICAgICdmcic6ICdMYSBDaHJ5c2FsaWRlJyxcclxuICAgICAgJ2phJzogJ+OCouOCt+OCqOODs+ODu+ODiuODl+ODquOCouODrOOCueiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfslYTslKjsl5Qg64KY67iM66as7JWM66CI7IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WNmueJqeaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbnRpbnV1bSBmcmFjdGFsJyxcclxuICAgICAgJ2phJzogJ+WNmueJqeaIpuiJpiDjg5Xjg6njgq/jgr/jg6vjg7vjgrPjg7Pjg4bjgqPjg4vjgqLjg6AnLFxyXG4gICAgICAna28nOiAn66y07ZWc7Jew7IaNIOuwleusvO2VqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMjEzLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwmOWwgeenmOWyqSAo5LqJ5aS65oiYKScsXHJcbiAgICAgICdkZSc6ICdSb2JiZW5ob2xtIChFcm9iZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1NlYWwgUm9jayAoU2VpemUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFJvY2hlciBkZXMgdHLDqWZvbmRzIChpbnZhc2lvbiknLFxyXG4gICAgICAnamEnOiAn44K344O844Or44Ot44OD44KvICjkuonlparmiKYpJyxcclxuICAgICAgJ2tvJzogJ+u0ieyduOuQnCDrsJTsnITshKwo7J+B7YOI7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1OSxcclxuICB9LFxyXG4gIDQzMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6njg7zjg7TjgqHjg4roqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOudvOuwlOuCmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTcsXHJcbiAgfSxcclxuICA0MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yaw6Zuq5bqf5aCh5pqu5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ0FiZW5kcm90LVdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBEdXNrIFZpZ2lsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkdSBDcsOpcHVzY3VsZScsXHJcbiAgICAgICdqYSc6ICflu4PnoKbmjZzntKIg44OA44K544Kv44O044Kj44K444OrJyxcclxuICAgICAgJ2tvJzogJ+yWtOyKpOumhCDsmpTsg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICA0MzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq6b6Z546L5bqn6b6Z5bei56We5q6/JyxcclxuICAgICAgJ2RlJzogJ05lc3QgZGVzIERyYWNoZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFlcnknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FpcmUnLFxyXG4gICAgICAnamEnOiAn6YKq56uc6KGA5oimIOODieODqeOCtOODs+OCuuOCqOOCouODquODvCcsXHJcbiAgICAgICdrbyc6ICfsmqnsnZgg65Gl7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogNTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/vuaWr+m6puatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEJpc21hcmNrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMaW1pdGxlc3MgQmx1ZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0ltbWVuc2l0w6kgYmxldWUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdTaW5ndWxhcml0w6R0cy1SZWFrdG9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaW5ndWxhcml0eSBSZWFjdG9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDqWFjdGV1ciBkZSBzaW5ndWxhcml0w6knLFxyXG4gICAgICAnamEnOiAn44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+uCmOydtOy4oCDsmKTruIwg65287Jq065OcIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NixcclxuICB9LFxyXG4gIDQzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfooYDmiJjoi43nqbnprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAnZGUnOiAnw4R0aGVyb2NoZW1pc2NoZXMgRm9yPFNvZnRIeXBoZW4vPnNjaHVuZ3M8U29mdEh5cGhlbi8+bGFib3InLFxyXG4gICAgICAnZW4nOiAnVGhlIEFldGhlcm9jaGVtaWNhbCBSZXNlYXJjaCBGYWNpbGl0eScsXHJcbiAgICAgICdmcic6ICdMZSBMYWJvcmF0b2lyZSBkZSBtYWdpc21vbG9naWUnLFxyXG4gICAgICAnamEnOiAn6JK85aSp6IGW5oimIOmtlOenkeWtpueglOeptuaJgCcsXHJcbiAgICAgICdrbyc6ICfrp4jqs7ztlZkg7Jew6rWs7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWxsee7nemhtue0ouWnhumYv+WwlOeBteWzsCcsXHJcbiAgICAgICdkZSc6ICdTb2htIEFsJyxcclxuICAgICAgJ2VuJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnZnInOiAnU29obSBBbCcsXHJcbiAgICAgICdqYSc6ICfpnIrls7DouI/noLQg44K944O844Og44O744Ki44OrJyxcclxuICAgICAgJ2tvJzogJ+yGnCDslYwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1MSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlkK/liqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlkK/liqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoNCcsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e9l+azoumCo+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFJhdmFuYScsXHJcbiAgICAgICdlbic6ICdUaG9rIGFzdCBUaG9rIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdUaG9rIGFzdCBUaG9rIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/vuaWr+m6puatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEJpc21hcmNrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMaW1pdGxlc3MgQmx1ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0ltbWVuc2l0w6kgYmxldWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg5Pjgrnjg57jg6vjgq/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOu5hOyKpOuniOultO2BrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA0NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZyG5qGM6aqR5aOr5bm75oOz5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFRob3JkYW5zIEZhbGwnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFRob3JkYW5cXCdzIFJlaWduJyxcclxuICAgICAgJ2ZyJzogJ0xlIHLDqGduZSBkZSBUaG9yZGFuJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeW5u+aDsyDjg4rjgqTjg4Tjg7vjgqrjg5bjg7vjg6njgqbjg7Pjg4noqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuCmOydtOy4oCDsmKTruIwg65287Jq065OcIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NixcclxuICB9LFxyXG4gIDQ0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlkK/liqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlkK/liqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDc4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55Sw5Zut6YOhJyxcclxuICAgICAgJ2RlJzogJ0Zyb2hlaGFsZGUnLFxyXG4gICAgICAnZW4nOiAnSWR5bGxzaGlyZScsXHJcbiAgICAgICdmcic6ICdJZHlsbMOpZScsXHJcbiAgICAgICdqYSc6ICfjgqTjg4fjgqPjg6vjgrfjg6PjgqTjgqInLFxyXG4gICAgICAna28nOiAn7J2065Sc7IOk7J207Ja0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU1LFxyXG4gIH0sXHJcbiAgNTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjkurrmnLrlr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gQXJlbmFtZWlzdGVyKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBNYXN0ZXIgVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBsXFwnb3JkaW5hdGV1cicsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimIChDUFXlr77miKYpJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDrjIDtmowg64yA6rKwKOyduOqztSDsp4DriqUg64yA6rKwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOiIquiIueiZmuaXoOaWueiInycsXHJcbiAgICAgICdkZSc6ICdEaWUgTmljaHRzLUFyY2hlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBWb2lkIEFyaycsXHJcbiAgICAgICdmcic6ICdMXFwnQXJjaGUgZHUgbsOpYW50JyxcclxuICAgICAgJ2phJzogJ+mtlOiIquiIueODtOOCqeOCpOODieOCouODvOOCrycsXHJcbiAgICAgICdrbyc6ICfrs7TsnbTrk5zsnZgg67Cp7KO8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI4OSxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzcsXHJcbiAgfSxcclxuICA1MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMScsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMycsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJSScsXHJcbiAgICAgICdmcic6ICdEw6lmaSBzcMOpY2lhbCBJSUknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMycsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgNTEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WcsOiEieeBteeBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBoYXJlIGRlIFNpcml1cyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfliLblnKflt6jloZQg44K344Oq44Km44K55aSn54Gv5Y+wIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsi5zrpqzsmrDsiqQg64yA65Ox64yAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA1MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I2J5pyo5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcmJvcmV0dW0gU2FpbnRlLU1vY2lhbm5lJyxcclxuICAgICAgJ2phJzogJ+iNieacqOW6reWckiDogZbjg6Ljgrfjg6Pjg7zjg4zmpI3nianlnJInLFxyXG4gICAgICAna28nOiAn7ISxIOuqqOyDqCDsi53rrLzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChsZWljaHQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChmYWNpbGUpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEVhc3kpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ims7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MCxcclxuICB9LFxyXG4gIDUxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5aSc5pma5o6i57SiJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztiAoSGFyZCknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYyLFxyXG4gIH0sXHJcbiAgNTE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aYn+a1t+epuumXtOmioOWAkuWhlCcsXHJcbiAgICAgICdkZSc6ICdBbnRpdHVybScsXHJcbiAgICAgICdlbic6ICdUaGUgQW50aXRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbnRpdG91cicsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfoprPmuKwg6YCG44GV44Gu5aGUICcsXHJcbiAgICAgICdrbyc6ICfqsbDqvrjroZwg7ISgIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOiPsua0m+eJueatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNlcGhpcm90JyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBTMVQ3JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcnLFxyXG4gICAgICAnamEnOiAn6a2U56We44K744OV44Kj44Ot44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+uniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuWco+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvciAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBWZXN0aWdlcyBkZSBsYSBjaXTDqSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnpZ7ogZbpgbrot6Eg5Y+k44Ki44Og44OA44OX44O844Or5biC6KGXIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyLnOqwgOyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDY0LFxyXG4gICAgJ29mZnNldFknOiAzMTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNTIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5b6L5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5b6L5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUzFQNyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+altemtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66eI7IugIOyEuO2UvOuhnO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjYsXHJcbiAgfSxcclxuICA1MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICg05a+5NCAvIOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICg0IGdlZ2VuIDQsIMOcYnVuZ3NrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBUcmFpbmluZyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0ICg0eDQvZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICg05a++NCAvIOOCq+OCuOODpeOCouODq+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAoNCDrjIAgNCAvIOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjUsXHJcbiAgfSxcclxuICA1Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICg05a+5NCAvIOauteS9jei1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICg0IGdlZ2VuIDQsIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKDQgb24gNCAtIFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0ICg0eDQvY2xhc3PDqSknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICg05a++NCAvIOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAoNCDrjIAgNCAvIOuTseq4ieyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjUsXHJcbiAgfSxcclxuICA1Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgRmlscyAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5b6L5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXJtIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEFybSBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEJyYXMgZHUgRmlscyAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5b6L5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMTAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wbm+WbveiBlOWQiOWGm+a8lCcsXHJcbiAgICAgICdkZSc6ICdUcnVwcGVuw7xidW5nIGRlciBFb3J6w6Rpc2NoZW4gQWxsaWFueicsXHJcbiAgICAgICdlbic6ICdBIFNwZWN0YWNsZSBmb3IgdGhlIEFnZXMnLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIG1hbsWTdXZyZSDDqW9yesOpZW5uZScsXHJcbiAgICAgICdqYSc6ICflm5vlm73lkIjlkIzmvJTnv5InLFxyXG4gICAgICAna28nOiAnNOqwnOq1rSDtlanrj5kg7ZuI66CoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHuycsXHJcbiAgICAgICdkZSc6ICdGbMOkY2hlbmFuZ3JpZmZlbiBhdXN3ZWljaGVuJyxcclxuICAgICAgJ2VuJzogJ0F2b2lkIEFyZWEgb2YgRWZmZWN0IEF0dGFja3MnLFxyXG4gICAgICAnZnInOiAnw4l2aXRlciBsZXMgYXR0YXF1ZXMgw6AgYWlyZSBkXFwnZWZmZXQnLFxyXG4gICAgICAnamEnOiAn56+E5Zuy5pS75pKD44KS6YG/44GR44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uylOychCDqs7XqsqnsnYQg7ZS87ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjozmj6Hku4fmgajov57lh7snLFxyXG4gICAgICAnZGUnOiAnTWl0IEtvbWJvcyBGZWluZHNlbGlna2VpdCBhdWYgc2ljaCB6aWVoZW4nLFxyXG4gICAgICAnZW4nOiAnRXhlY3V0ZSBhIENvbWJvIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSBhdmVjIHVuIGNvbWJvJyxcclxuICAgICAgJ2phJzogJ+OCs+ODs+ODnOOBp+aVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfsvaTrs7Trpbwg7J207Ja0IOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Mzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aOp+WItuaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdLb21ib3MgaW0gS2FtcGYgZWluc2V0emVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyBpbiBCYXR0bGUnLFxyXG4gICAgICAnZnInOiAnRWZmZWN0dWVyIGxlIGNvbWJvIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICflrp/miKbjgafjgrPjg7Pjg5zjgavmjJHmiKbjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Iuk7KCE7JeQ7IScIOy9pOuztOulvCDsgqzsmqntlbTrs7TsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aOp+WItuWkmuS4quaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdGZWluZHNlbGlna2VpdCBtZWhyZXJlciBHZWduZXIgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0FjY3J1ZSBFbm1pdHkgZnJvbSBNdWx0aXBsZSBUYXJnZXRzJyxcclxuICAgICAgJ2ZyJzogJ0F0dGlyZXIgbFxcJ2luaW1pdGnDqSBkZSBwbHVzaWV1cnMgZW5uZW1pcyBzdXIgc29pJyxcclxuICAgICAgJ2phJzogJ+ikh+aVsOOBruaVteOBi+OCieaVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfri6TsiJjsnZgg7KCB7JeQ6rKM7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WunuaImOaOp+WItuWkmuS4quaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdHZWdlbiBtZWhyZXJlIEdlZ25lciBhdWYgZWlubWFsIGvDpG1wZmVuJyxcclxuICAgICAgJ2VuJzogJ0VuZ2FnZSBNdWx0aXBsZSBUYXJnZXRzJyxcclxuICAgICAgJ2ZyJzogJ0FmZnJvbnRlciBwbHVzaWV1cnMgZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICflrp/miKbjgafopIfmlbDjga7mlbXjgajmiKbjgaPjgabjgb/jgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Iuk7KCE7JeQ7IScIOuLpOyImOydmCDsoIHqs7wg7Iu47JuM67O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbov5zlpITmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBGZXJuZSBGZWluZHNlbGlna2VpdCBhdWYgc2ljaCB6aWVoZW4nLFxyXG4gICAgICAnZW4nOiAnRXhlY3V0ZSBhIFJhbmdlZCBBdHRhY2sgdG8gSW5jcmVhc2UgRW5taXR5JyxcclxuICAgICAgJ2ZyJzogJ0fDqW7DqXJlciBkZSBsXFwnaW5pbWl0acOpIMOgIGRpc3RhbmNlJyxcclxuICAgICAgJ2phJzogJ+mBoOi3nembouOBi+OCieaVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrqYDrpqzshJwg7KCB6rCc7Ius7J2EIOuBjOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55WZ5b+D5aKe5o+055qE5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0ZlaW5kbGljaGUgVmVyc3TDpHJrdW5nIGF1ZmhhbHRlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgRW5lbXkgUmVpbmZvcmNlbWVudHMnLFxyXG4gICAgICAnZnInOiAnRmFpcmUgZmFjZSDDoCBkZXMgcmVuZm9ydHMgZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7lopfmj7Tjgavlr77lv5zjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCBIOyngOybkOq1sOyXkCDrjIDsspjtlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mFjeWQiOmYsuaKpOiBjOS4muaJk+WAkuWNleS4quaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdHZWduZXIgZ2VtZWluc2FtIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0Fzc2lzdCBBbGxpZXMgaW4gRGVmZWF0aW5nIGEgVGFyZ2V0JyxcclxuICAgICAgJ2ZyJzogJ1ZhaW5jcmUgdW4gZW5uZW1pIGVuIGFzc2lzdGFudCBkZXMgYWxsacOpcycsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgajljZTlipvjgZfjgabmlbXjgpLlgJLjgZ3jgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ6rO8IO2Ykeugpe2VmOyXrCDsoIHsnYQg66y866as7LmY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLlpJrkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnRGVuIEdlZ25lciBlaW5lcyBWZXJiw7xuZGV0ZW4gYmVzaWVnZW4nLFxyXG4gICAgICAnZW4nOiAnRGVmZWF0IGFuIE9jY3VwaWVkIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBvY2N1cMOpIHBhciB1biBhbGxpw6knLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544GM5byV44GN44Gk44GR44Gm44GE44KL5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDqsJnsnYAg7KCB7J2EIOqzteqyqe2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Lqy6YG/6IyD5Zu05pS75Ye755qE5ZCM5pe26L+b6KGM5oiY5paXJyxcclxuICAgICAgJ2RlJzogJ0FuZ3JpZmZlbiBhdXN3ZWljaGVuJyxcclxuICAgICAgJ2VuJzogJ0F2b2lkIEVuZ2FnZWQgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdDb21iYXR0cmUgZW4gw6l2aXRhbnQgbGVzIGF0dGFxdWVzIGVubmVtaWVzJyxcclxuICAgICAgJ2phJzogJ+aVteOBruaUu+aSg+OCkumBv+OBkeOBquOBjOOCieaIpuOBiuOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfsoIHsnZgg6rO16rKp7J2EIO2UvO2VmOuptOyEnCDsi7jsmrDsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBtea0u+i/kOeUqOWcuuWcsOacuuWFsycsXHJcbiAgICAgICdkZSc6ICdNaXQgZGVtIEdlbMOkbmRlIGludGVyYWdpZXJlbicsXHJcbiAgICAgICdlbic6ICdJbnRlcmFjdCB3aXRoIHRoZSBCYXR0bGVmaWVsZCcsXHJcbiAgICAgICdmcic6ICdJbnRlcmFnaXIgYXZlYyBsZSBkw6ljb3IgZW4gY29tYmF0JyxcclxuICAgICAgJ2phJzogJ+OCruODn+ODg+OCr+OCkua0u+eUqOOBl+OBpuaIpuOBiuOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftirnsiJgg7J6l7LmY66W8IO2ZnOyaqe2VmOupsCDsi7jsmrDsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayu+eWl+mYsuaKpOiBjOS4micsXHJcbiAgICAgICdkZSc6ICdWZXJiw7xuZGV0ZSBoZWlsZW4nLFxyXG4gICAgICAnZW4nOiAnSGVhbCBhbiBBbGx5JyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOCkuWbnuW+qeOBl+OCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpflsI/pmJ/pmJ/lkZgnLFxyXG4gICAgICAnZGUnOiAnTWVocmVyZSBWZXJiw7xuZGV0ZSBoZWlsZW4nLFxyXG4gICAgICAnZW4nOiAnSGVhbCBNdWx0aXBsZSBBbGxpZXMnLFxyXG4gICAgICAnZnInOiAnU29pZ25lciBwbHVzaWV1cnMgYWxsacOpcycsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7lkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIO2MjO2LsOybkOydhCDtmozrs7Xsi5ztgqTsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acgOe7iOiuree7gycsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgw5xidW5nJyxcclxuICAgICAgJ2VuJzogJ0ZpbmFsIEV4ZXJjaXNlJyxcclxuICAgICAgJ2ZyJzogJ0V4ZXJjaWNlIGZpbmFsJyxcclxuICAgICAgJ2phJzogJ+acgOe1guiok+e3tO+8gScsXHJcbiAgICAgICdrbyc6ICfrp4jsp4Drp4kg7ZuI66CoIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNo+iqiemHjiAo56KO5Yaw5oiYKScsXHJcbiAgICAgICdkZSc6ICdGZWxkIGRlciBFaHJlIChaZXJzcGxpdHRlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpZWxkcyBvZiBHbG9yeSAoU2hhdHRlciknLFxyXG4gICAgICAnZnInOiAnTGVzIENoYW1wcyBkZSBsYSBHbG9pcmUgKGJyaXNlLWdsYWNlKScsXHJcbiAgICAgICdqYSc6ICfjg5XjgqPjg7zjg6vjg4njg7vjgqrjg5bjg7vjgrDjg63jg7zjg6rjg7wgKOegleawt+aIpiknLFxyXG4gICAgICAna28nOiAn7JiB6rSR7J2YIO2PieybkCjsh4TruZnsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY3LFxyXG4gIH0sXHJcbiAgNTU1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkqem+meWuq+auv+W/hue9quWuqycsXHJcbiAgICAgICdkZSc6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnZW4nOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2ZyJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdqYSc6ICflpKnnq5zlrq7mrr8g44K944O844Or44O744Kr44KkJyxcclxuICAgICAgJ2tvJzogJ+yGjOultCDsubTsnbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMzcwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeW/jOWfjumCpueOm+WTiCcsXHJcbiAgICAgICdkZSc6ICdEaWUgU3RhZHQgZGVyIFRyw6RuZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlZXBpbmcgQ2l0eSBvZiBNaGFjaCcsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSBkw6lmZW5kdWUgZGUgTWhhY2gnLFxyXG4gICAgICAnamEnOiAn56aB5b+M6YO95biC44Oe44OPJyxcclxuICAgICAgJ2tvJzogJ+q4iOq4sOuPhOyLnCDrp4jtlZgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQwLFxyXG4gICAgJ29mZnNldFknOiAtNDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR5rah5Lyg6K+056C06Iiw5bKbJyxcclxuICAgICAgJ2RlJzogJ1NjaGlmZmJyZWNoZXItSW5zZWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSHVsbGJyZWFrZXIgSXNsZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpu5LmuKbkvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrgpztjIzshKDsnZgg7ISsKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjgsXHJcbiAgfSxcclxuICA1NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05Z+O5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0FxdWFwb2xpcycsXHJcbiAgICAgICdlbic6ICdUaGUgQXF1YXBvbGlzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcXVhcG9sZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ki44Kv44Ki44Od44Oq44K5JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDslYTsv6DslYTtj7TrpqzsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsLzlvrfpnI3moLzlvoHpvpnmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIGxldHp0ZSBTY2hpY2tzYWxzd2VnJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBTdGVwcyBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdMYSBEZXJuacOocmUgYXZhbmPDqWUgZGUgbGEgRm9pJyxcclxuICAgICAgJ2phJzogJ+ODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfri4jrk5ztmLjqt7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mbt+WPpOaLicK36IyDwrfkvJHokZfmlq/ov73lh7vmiJgnLFxyXG4gICAgICAnZGUnOiAnQmx1dGlnZXMgV2llZGVyPFNvZnRIeXBoZW4vPnNlaGVuJyxcclxuICAgICAgJ2VuJzogJ0EgQmxvb2R5IFJldW5pb24nLFxyXG4gICAgICAnZnInOiAnQ291cnNlLXBvdXJzdWl0ZSBkYW5zIGxlIGxhYm9yYXRvaXJlJyxcclxuICAgICAgJ2phJzogJ+ODrOOCsOODqeODu+ODtOOCoeODs+ODu+ODkuODpeODieODq+OCuei/veaSg+aIpicsXHJcbiAgICAgICdrbyc6ICfroIjqtbTrnbwg67CYIO2eiOuTnOujqOyKpCDstpTqsqnsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE4LFxyXG4gICAgJ29mZnNldFknOiAxNDksXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsx772eMTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEtMTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxLTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMS0xMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIx772eQjEwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjF+QjEwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDExLTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTHvvZ5CMjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTF+QjIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsyMe+9njMw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAyMS0zMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMjEtMzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMjHvvZ5CMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMjF+QjMwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIszMe+9njQw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAzMS00MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDMxLTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMzEtNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMzHvvZ5CNDAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMzF+QjQwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs0Me+9njUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA0MS01MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDQxLTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNDEtNTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNDHvvZ5CNTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNDF+QjUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85Lyg5aWH5b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RhcyBMaWVkIHZvbiBOaWRob2dncyBsZXR6dGVtIFJ1ZicsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogTmlkaG9nZ1xcJ3MgUmFnZScsXHJcbiAgICAgICdmcic6ICdMXFwnaXJlIGRlIE5pZGhvZ2cnLFxyXG4gICAgICAnamEnOiAn5qW144OL44O844K644OY44OD44Kw5b6B56uc5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDri4jrk5ztmLjqt7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTcxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuqHngbXlupzpgrjpl7nprLzluoTlm60nLFxyXG4gICAgICAnZGUnOiAnRGFzIEdlaXN0ZXJzY2hsb3NzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXVudGVkIE1hbm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBoYW50w6knLFxyXG4gICAgICAnamEnOiAn5Lqh6ZyK5bGL5pW3IOODm+ODvOODs+ODhuODg+ODieODnuODiuODvCcsXHJcbiAgICAgICdrbyc6ICfsnKDroLnsnZgg7KeRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zmp5bO75bOh6LC35aGe5bCU5rOV54m55bCU5rqq6LC3JyxcclxuICAgICAgJ2RlJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdlbic6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZnInOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2phJzogJ+Wzu+WOs+a4k+iwtyDjgrzjg6vjg5XjgqHjg4jjg6snLFxyXG4gICAgICAna28nOiAn7KCk7YyM7YaoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNDgsXHJcbiAgICAnb2Zmc2V0WSc6IDM1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDU3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfntKLoj7LlqIXmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTb3BoaWEnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFAxVDYnLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNicsXHJcbiAgICAgICdqYSc6ICflpbPnpZ7jgr3jg5XjgqPjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBQMVA2IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW15aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl6zsi6Ag7IaM7ZS87JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OSxcclxuICB9LFxyXG4gIDU3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnp5jmnKzlrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEdyYW5kZSBiaWJsaW90aMOocXVlIGRlIEd1YmFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+eogOabuOWbnuWPjiDjgrDjg5bjg6nlubvmg7Plm7Pmm7jppKggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOu4jOudvCDtmZjsg4Hrj4TshJzqtIAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxMTYsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muW5u+WNoeWvueWxgOWupCcsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IFdlbHRlbnNhbG9uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUcmlwbGUgVHJpYWQgQmF0dGxlaGFsbCcsXHJcbiAgICAgICdmcic6ICdBcsOobmUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqvjg7zjg4njg5Djg4jjg6vjg6vjg7zjg6AnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog7Lm065OcIOuMgOqysOyepScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEF1Z2VuIGRlcyBTY2jDtnBmZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBFeWVzIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlcyBZZXV4IGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDc1LFxyXG4gICAgJ29mZnNldFknOiAxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdGVtIGRlcyBTY2jDtnBmZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCcmVhdGggb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgU291ZmZsZSBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtODAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gSGVyeiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgSGVhcnQgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQ8WTdXIgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBTZWVsZSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgU291bCBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMXFwnw4JtZSBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoNCcsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEF1Z2VuIGRlcyBTY2jDtnBmZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBFeWVzIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlcyBZZXV4IGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDc1LFxyXG4gICAgJ29mZnNldFknOiAxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdGVtIGRlcyBTY2jDtnBmZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCcmVhdGggb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgU291ZmZsZSBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtODAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gSGVyeiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgSGVhcnQgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQ8WTdXIgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBTZWVsZSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgU291bCBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMXFwnw4JtZSBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrnjqnlrrblr7nmiJjvvIjnu6nngrnotZvvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogR2VnZW4gU3BpZWxlciAodW0gUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKFJQKScsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBzaW1wbGUgY29udHJlIHVuIGpvdWV1ciAoYXZlYyBQUiknLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muODl+ODrOOCpOODpOODvOWvvuaIpiAoUlDlpInli5XjgYLjgoopJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDtlIzroIjsnbTslrQg64yA6rKwKFJQIOuzgOuPmSDsnojsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQjOWuoOS5i+eOi++8muWkp+i1m+WvueaImO+8iOeOqeWutuWvueaImO+8iScsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBkZXIgVHJhYmFudGVuOiBUdXJuaWVyIChnZWdlbiBTcGllbGVyKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBUb3VybmFtZW50JyxcclxuICAgICAgJ2ZyJzogJ0JhdGFpbGxlIGRlIHRvdXJub2kgY29udHJlIGRlcyBqb3VldXJzJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrlpKfkvJrlr77miKYgKOODl+ODrOOCpOODpOODvOWvvuaIpu+8iScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjtlIzroIjsnbTslrQg64yA6rKwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrnjqnlrrblr7nmiJjvvIjml6Dnu6nngrnotZvvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogR2VnZW4gU3BpZWxlciAob2huZSBSUCknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogUGxheWVyIEJhdHRsZSAoTm9uLVJQKScsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBzaW1wbGUgY29udHJlIHVuIGpvdWV1ciAoc2FucyBQUiknLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muODl+ODrOOCpOODpOODvOWvvuaIpiAoUlDlpInli5XjgarjgZcpJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDtlIzroIjsnbTslrQg64yA6rKwKFJQIOuzgOuPmSDsl4bsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qg57yg5LiN5riF55qE5a6/5ZG9JyxcclxuICAgICAgJ2RlJzogJ1dlbHRlbsO8YmVyZ3JlaWZlbmRlcyBTY2hpY2tzYWwnLFxyXG4gICAgICAnZW4nOiAnT25lIExpZmUgZm9yIE9uZSBXb3JsZCcsXHJcbiAgICAgICdmcic6ICdEZXN0aW5zIGVudHJlY3JvaXPDqXMnLFxyXG4gICAgICAnamEnOiAn57Wh44G/5ZCI44GG5a6/5ZG9JyxcclxuICAgICAgJ2tvJzogJ+uSpOyWve2eiOuKlCDsiJnrqoUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA1OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA1MSAtIDYwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA1MS02MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI1Me+9nkI2MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI1MX5CNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izYx772eNzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDYxIC0gNzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA2MS03MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDYxLTcwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjYx772eQjcwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjYxfkI3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNzEgLSA4MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNzEtODApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNzHvvZ5CODAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNzF+QjgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs4Me+9njkw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA4MSAtIDkwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgODEtOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA4MS05MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI4Me+9nkI5MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI4MX5COTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA5MSAtIDEwMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDkxLTEwMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI5Me+9nkIxMDAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCOTF+QjEwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTAx772eMTEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMDEgLSAxMTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMDEtMTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTAxLTExMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMDHvvZ5CMTEwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjEwMX5CMTEwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMTHvvZ4xMjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDExMSAtIDEyMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDExMS0xMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMTEtMTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjExMe+9nkIxMjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTExfkIxMjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEyMe+9njEzMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTIxIC0gMTMwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTIxLTEzMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEyMS0xMzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTIx772eQjEzMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMjF+QjEzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTMx772eMTQw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMzEgLSAxNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMzEtMTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTMxLTE0MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMzHvvZ5CMTQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjEzMX5CMTQwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNDHvvZ4xNTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE0MSAtIDE1MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE0MS0xNTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNDEtMTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE0Me+9nkIxNTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTQxfkIxNTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE1Me+9njE2MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTUxIC0gMTYwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTUxLTE2MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE1MS0xNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTUx772eQjE2MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNTF+QjE2MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTYx772eMTcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNjEgLSAxNzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNjEtMTcwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTYxLTE3MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNjHvvZ5CMTcwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE2MX5CMTcwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNzHvvZ4xODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE3MSAtIDE4MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE3MS0xODApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNzEtMTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE3Me+9nkIxODAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTcxfkIxODAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE4Me+9njE5MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTgxIC0gMTkwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTgxLTE5MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE4MS0xOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTgx772eQjE5MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxODF+QjE5MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTkx772eMjAw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxOTEgLSAyMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxOTEtMjAwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTkxLTIwMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxOTHvvZ5CMjAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE5MX5CMjAwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfln7rmi4nlt7TlsLzkuprovrnljLonLFxyXG4gICAgICAnZGUnOiAnQWJhbmlzY2hlcyBHcmVuemxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyaW5nZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1hcmdlcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLovrrlooPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOuzgOuwqeyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OSxcclxuICB9LFxyXG4gIDYxMzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oueOiea1tycsXHJcbiAgICAgICdkZSc6ICdSdWJpbnNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgUnVieSBTZWEnLFxyXG4gICAgICAnZnInOiAnTWVyIGRlIFJ1YmlzJyxcclxuICAgICAgJ2phJzogJ+e0heeOiea1tycsXHJcbiAgICAgICdrbyc6ICftmY3smKXtlbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA2MTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflu7blpI8nLFxyXG4gICAgICAnZGUnOiAnWWFueGlhJyxcclxuICAgICAgJ2VuJzogJ1lhbnhpYScsXHJcbiAgICAgICdmcic6ICdZYW54aWEnLFxyXG4gICAgICAnamEnOiAn44Ok44Oz44K1JyxcclxuICAgICAgJ2tvJzogJ+yWgOyDpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NCxcclxuICB9LFxyXG4gIDYxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnZrniaLpk4Hlo4Hlt7Tln4PokKjplb/ln44nLFxyXG4gICAgICAnZGUnOiAnQmFlbHNhci1XYWxsJyxcclxuICAgICAgJ2VuJzogJ0JhZWxzYXJcXCdzIFdhbGwnLFxyXG4gICAgICAnZnInOiAnTGEgTXVyYWlsbGUgZGUgQmFlbHNhcicsXHJcbiAgICAgICdqYSc6ICflt6jlpKfpmLLlo4Eg44OQ44Ko44K144Or44Gu6ZW35Z+OJyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOyCrOultCDsnqXshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTgyLFxyXG4gICAgJ29mZnNldFknOiAzMixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA2MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35bqV5a6r5q6/57Sr5rC05a6rJyxcclxuICAgICAgJ2RlJzogJ1NoaXN1aScsXHJcbiAgICAgICdlbic6ICdTaGlzdWkgb2YgdGhlIFZpb2xldCBUaWRlcycsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgYXV4IE1hcsOpZXMgdmlvbGV0dGVzJyxcclxuICAgICAgJ2phJzogJ+a1t+W6leWuruauvyDntKvmsLTlrq4nLFxyXG4gICAgICAna28nOiAn7Iuc7Iqk7J20IOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHmt7HlooPntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTb2htIEFsIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdTb2htIEFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mciuWzsOa1hOWMliDjgr3jg7zjg6Djg7vjgqLjg6sgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yGnCDslYwo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxMjgsXHJcbiAgICAnb2Zmc2V0WSc6IC0zMixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA2MTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjni7zni7HmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoV29sZnNow7ZobGU6IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gRmVhc3RpbmcgR3JvdW5kcyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL0Zlc3RpbiBkZXMgbG91cHMpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Km44Or44O044K644K444Kn44Kk44Or5ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOuKkeuMgOyasOumrCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNjIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa5bGx5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBaaW5uZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFBlYWtzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBQaWNzJyxcclxuICAgICAgJ2phJzogJ+OCruODqeODkOODi+OCouWxseWys+WcsOW4rycsXHJcbiAgICAgICdrbyc6ICfquLDrnbzrsJTri4jslYQg7IKw7JWF7KeA64yAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgwLFxyXG4gIH0sXHJcbiAgNjIxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa5rmW5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBGZW5uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb2NocycsXHJcbiAgICAgICdmcic6ICdMZXMgTGFjcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLmuZbnlZTlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIO2YuOuwmOyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MSxcclxuICB9LFxyXG4gIDYyMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqumYs+elnuiNieWOnycsXHJcbiAgICAgICdkZSc6ICdBemltLVN0ZXBwZScsXHJcbiAgICAgICdlbic6ICdUaGUgQXppbSBTdGVwcGUnLFxyXG4gICAgICAnZnInOiAnU3RlcHBlIGRcXCdBemltJyxcclxuICAgICAgJ2phJzogJ+OCouOCuOODoOOCueODhuODg+ODlycsXHJcbiAgICAgICdrbyc6ICfslYTsp5Ag64yA7LSI7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNjIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ivleeCvOihjOi3r+W3tOWEv+i+vuacqOmcuOmBkycsXHJcbiAgICAgICdkZSc6ICdCYXJkYW1zIFByb2JlJyxcclxuICAgICAgJ2VuJzogJ0JhcmRhbVxcJ3MgTWV0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZvcmNlIGRlIEJhcmRhbScsXHJcbiAgICAgICdqYSc6ICfkvJ3ntbHoqabnt7Qg44OQ44Or44OA44Og6KaH6YGTJyxcclxuICAgICAgJ2tvJzogJ+uwlOultOuLtCDtjKjrj4QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb55m95pi85o6i57Si77yI54up54yO5LiT55So77yJJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBKYWdkZ3LDvG5kZSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIEh1bnRpbmcgR3JvdW5kcyAoRWFzeSknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWU8SW5kZW50Lz46IHRlcnJhaW5zIGRlIGNoYXNzZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO277ya54up54yf6ZmQ5a6aIChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA2MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+m7hOaYj+aOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMnLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWU8SW5kZW50Lz46IHRlcnJhaW5zIGRlIGNoYXNzZScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO277ya54up54yf6ZmQ5a6aJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyghO2IrCDtlZzsoJUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjEsXHJcbiAgfSxcclxuICA2MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ryC5rWB5rW35Z+f5aaW5q2M5rW3JyxcclxuICAgICAgJ2RlJzogJ1NpcmVuZW4tU2VlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaXJlbnNvbmcgU2VhJyxcclxuICAgICAgJ2ZyJzogJ0xhIE1lciBkdSBDaGFudCBkZXMgc2lyw6huZXMnLFxyXG4gICAgICAnamEnOiAn5ryC5rWB5rW35Z+fIOOCu+OCpOODrOODvOODs+a1tycsXHJcbiAgICAgICdrbyc6ICfshLjsnbTroIwg7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM2LFxyXG4gIH0sXHJcbiAgNjI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9seS5i+WbvScsXHJcbiAgICAgICdkZSc6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2VuJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnZnInOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdqYSc6ICflvbHjga7lm73jg4Djg7Pjg7vjgrnjgqvjg7wnLFxyXG4gICAgICAna28nOiAn65GUIOyKpOy5tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMzUwLFxyXG4gICAgJ29mZnNldFknOiAtNDAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1OCxcclxuICB9LFxyXG4gIDYyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7hOmHkea4rycsXHJcbiAgICAgICdkZSc6ICdLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lJyxcclxuICAgICAgJ2ZyJzogJ0t1Z2FuZScsXHJcbiAgICAgICdqYSc6ICfjgq/jgqzjg40nLFxyXG4gICAgICAna28nOiAn7L+g6rCA64SkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgyLFxyXG4gIH0sXHJcbiAgNjMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvmiJjkuonnpZ7njI7lnLonLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEhhbG9uZXMgUHLDvGZ1bmcnLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSAtIFRyaWFscyBvZiB0aGUgRnVyeScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAtIMOJcHJldXZlcyBkZSBIYWxvbmUnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztiAo54up54yfKScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzEsXHJcbiAgfSxcclxuICA2MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg5bCU5o+Q6K+65bmz5Y6f6YGt6YGH5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGlvZHJvbScsXHJcbiAgICAgICdlbic6ICdUaGUgQ2FydGVuZWF1IEZsYXRzOiBIZWxpb2Ryb21lJyxcclxuICAgICAgJ2ZyJzogJ1JpeGUgw6AgbFxcJ0jDqWxpb2Ryb21lJyxcclxuICAgICAgJ2phJzogJ+OCq+ODq+ODhuODjuODvOW5s+WOn+mBremBh+aIpicsXHJcbiAgICAgICdrbyc6ICfsubTrpbTthYzrhbgg7Y+J7JuQIOyhsOyasOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjM1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5ouz55eVJyxcclxuICAgICAgJ2RlJzogJ1JoYWxncnMgV2FjaHQnLFxyXG4gICAgICAnZW4nOiAnUmhhbGdyXFwncyBSZWFjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l0ZW5kdWUgZGUgUmhhbGdyJyxcclxuICAgICAgJ2phJzogJ+ODqeODvOODq+OCrOODvOOCuuODquODvOODgScsXHJcbiAgICAgICdrbyc6ICfrnoTqsbDsnZgg7IaQ6ri4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc4LFxyXG4gIH0sXHJcbiAgNjM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elluWwlOWum+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFp1cnZhbicsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgWjFUOScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5JyxcclxuICAgICAgJ2phJzogJ+msvOelnuOCuuODq+ODr+ODvOODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDYzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDkgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFoxUDkgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOq3gOyLoCDso7zrpbTrsJgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc1LFxyXG4gIH0sXHJcbiAgNjQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5Zyw6KGj5a6r5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKEZsZWNodGVuaGFpbjogU2NoYXVrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0IChDdXN0b20gTWF0Y2ggLSBMaWNoZW53ZWVkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKHBlcnNvbm5hbGlzw6kvUHLDqS1kZS1saWNoZW4pJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Op44Kk44Kx44Oz44Km44Kj44O844OJ5ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOyeoey0iCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDczLFxyXG4gIH0sXHJcbiAgNjU2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvkuLDppbbnpZ7npo/lnLAnLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIE5vcGhpY2FzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIE1hdHJvbicsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAtIMOJcHJldXZlcyBkZSBOb3BoaWNhJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOaOoembhiknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7LGE7KeRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ino+aUvuWGs+aImOWkmueOm+eOi+WfjicsXHJcbiAgICAgICdkZSc6ICdCdXJnIERvbWEnLFxyXG4gICAgICAnZW4nOiAnRG9tYSBDYXN0bGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZGUgRG9tYScsXHJcbiAgICAgICdqYSc6ICfop6PmlL7msbrmiKYg44OJ44Oe5Z+OJyxcclxuICAgICAgJ2tvJzogJ+uPhOuniCDshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt6jngq7opoHloZ7luJ3lm73nmb3lsbHloKEnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnamEnOiAn5beo56Cy6KaB5aGeIOOCq+OCueODiOODq+ODoOODu+OCouODkOODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsubTsiqTtirjro7gg7JWE67CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcyLFxyXG4gICAgJ29mZnNldFknOiAtMTg2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtuWFmuWtpOWfjum7hOmHkemYgScsXHJcbiAgICAgICdkZSc6ICdTY2hsb3NzIEt1Z2FuZScsXHJcbiAgICAgICdlbic6ICdLdWdhbmUgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIEt1Z2FuZScsXHJcbiAgICAgICdqYSc6ICfmgqrlhZrmiJDmlZcg44Kv44Ks44ON5Z+OJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCDshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNzAsXHJcbiAgICAnb2Zmc2V0WSc6IDMzLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/ruihjOWPpOWIueaYn+WvvOWvuicsXHJcbiAgICAgICdkZSc6ICdUZW1wZWwgZGVyIEZhdXN0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBUZW1wbGUgb2YgdGhlIEZpc3QnLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIGR1IFBvaW5nJyxcclxuICAgICAgJ2phJzogJ+WjiuelnuS/ruihjCDmmJ/lsI7lsbHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7ISx64+E7IKwIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDI3LFxyXG4gICAgJ29mZnNldFknOiAtMzE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mxvOmBk+eOsOi6q++8gScsXHJcbiAgICAgICdkZSc6ICdFaW4gendlaWZlbGhhZnRlcyBBbmdlYm90JyxcclxuICAgICAgJ2VuJzogJ0l0XFwncyBQcm9iYWJseSBhIFRyYXAnLFxyXG4gICAgICAnZnInOiAnVW4gZHLDtGxlIGRlIE5hbWF6dScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6fjg4njgqbnj77jgovvvIEnLFxyXG4gICAgICAna28nOiAn6rWQ64+EIOuTseyepSEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpobvkvZDkuYvnlLfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTdXNhbm8nLFxyXG4gICAgICAnZW4nOiAnVGhlIFBvb2wgb2YgVHJpYnV0ZScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMnLFxyXG4gICAgICAnamEnOiAn44K544K144OO44Kq6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIENyaXF1ZSBhdXggdHJpYnV0cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Iqk7IKs64W47JikIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NyxcclxuICB9LFxyXG4gIDY3OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7pvpnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS8O2bmlnbGljaGUgTWVuYWdlcmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBNZW5hZ2VyaWUnLFxyXG4gICAgICAnZnInOiAnTGEgTcOpbmFnZXJpZSByb3lhbGUnLFxyXG4gICAgICAnamEnOiAn56We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yLoOujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzYsXHJcbiAgfSxcclxuICA2ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqO6YeM5piC54Ot55qE56eY562WJyxcclxuICAgICAgJ2RlJzogJ1dlZ2UgenVyIFRyYW5zemVuZGVueicsXHJcbiAgICAgICdlbic6ICdUaGUgUmVzb25hbnQnLFxyXG4gICAgICAnZnInOiAnTGEgcnVzZSBkXFwnVXJpYW5nZXInLFxyXG4gICAgICAnamEnOiAn44Km44Oq44Ko44Oz44K444Kn44Gu56eY562WJyxcclxuICAgICAgJ2tvJzogJ+ychOumrOyVmeygnOydmCDruYTssYUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPovr7mhZUnLFxyXG4gICAgICAnZGUnOiAnTmFhZGFtJyxcclxuICAgICAgJ2VuJzogJ05hYWRhbScsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgYmF0YWlsbGUgZHUgTmFhZGFtJyxcclxuICAgICAgJ2phJzogJ+e1guevgOOBruWQiOaIpicsXHJcbiAgICAgICdrbyc6ICfqs4TsoIjrgZ0g7ZWp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Y+W5oiY57qi6I6y6Zi/5ouJ57Gz5qC8JyxcclxuICAgICAgJ2RlJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdlbic6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZnInOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2phJzogJ+e0heiTruaxuuaIpiDjgqLjg6njg5/jgrQnLFxyXG4gICAgICAna28nOiAn7JWM652866+46rOgJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MixcclxuICAgICdvZmZzZXRZJzogLTE2MyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml7bnqbrni63nvJ3lpJbnvJgnLFxyXG4gICAgICAnZGUnOiAnSW50ZXJkaW1lbnNpb25hbGVyIFJpc3MnLFxyXG4gICAgICAnZW4nOiAnSW50ZXJkaW1lbnNpb25hbCBSaWZ0JyxcclxuICAgICAgJ2ZyJzogJ0Zpc3N1cmUgaW50ZXJkaW1lbnNpb25uZWxsZScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPvvJrlpJbnuIEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiDog7Jm46rO9JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNzA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+S8muW8gOWniycsXHJcbiAgICAgICdkZSc6ICdUaGFsIHp1IEVocmVuJyxcclxuICAgICAgJ2VuJzogJ0luIFRoYWxcXCdzIE5hbWUnLFxyXG4gICAgICAnZnInOiAnTGUgdG91cm5vaSBjb21tw6ltb3JhdGlmIGR1IHN1bHRhbmF0JyxcclxuICAgICAgJ2phJzogJ+OCpuODq+eOi+adr+mXmOaKgOS8muOBruWni+OBvuOCiicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg7JmV7Iuk67CwIO2IrOq4sOuMgO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S4uuS6huabtOW8uicsXHJcbiAgICAgICdkZSc6ICdEaWUgaG9oZSBLdW5zdCBkZXMgU2Nod2VydGthbXBmcycsXHJcbiAgICAgICdlbic6ICdSYWlzaW5nIHRoZSBTd29yZCcsXHJcbiAgICAgICdmcic6ICdMYSBmaW5hbGUgZGVzIGNoYW1waW9ucycsXHJcbiAgICAgICdqYSc6ICfjgZXjgonjgarjgovliaPooZPjga7pq5jjgb/jgbgnLFxyXG4gICAgICAna28nOiAn642UIOuGkuydgCDqsoDsiKDsnZgg6rK97KeA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICA3MDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oqX5LqJ5LmL5YqbJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLcmFmdCBkZXMgV2lkZXJzdGFuZHMnLFxyXG4gICAgICAnZW4nOiAnV2l0aCBIZWFydCBhbmQgU3RlZWwnLFxyXG4gICAgICAnZnInOiAnVHJhbnNtaWdyYXRpb24gZMOpbW9uaWFxdWUnLFxyXG4gICAgICAnamEnOiAn5oqX44GG5YqbJyxcclxuICAgICAgJ2tvJzogJ+unnuyEnOuKlCDtnpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjk4LFxyXG4gICAgJ29mZnNldFknOiAzNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNzA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mDvei3r+S6uui6q+mmluW8gicsXHJcbiAgICAgICdkZSc6ICdNb3JkIGlzdCBzZWluIEhvYmJ5JyxcclxuICAgICAgJ2VuJzogJ0Jsb29kIG9uIHRoZSBEZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xhIGzDqWdlbmRlIGRlIE11c29zYWk8SW5kZW50Lz46IGxcXCdhc3Nhc3NpbiBkZSBMaW1zYSBMb21pbnNhJyxcclxuICAgICAgJ2phJzogJ+a1t+mDveOCkumch+OCj+OBmeS6uuaWrOOCiuOBruWutO+8gScsXHJcbiAgICAgICdrbyc6ICftlbTslpHrj4Tsi5zrpbwg7Z2U65Oc64qUIOyCtOyduOyekOydmCDsl7DtmowhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5p6B5oG25LmL5Lq65pyo5p6vJyxcclxuICAgICAgJ2RlJzogJ0RlciBJbmJlZ3JpZmYgZGVzIELDtnNlbicsXHJcbiAgICAgICdlbic6ICdUaGUgRmFjZSBvZiBUcnVlIEV2aWwnLFxyXG4gICAgICAnZnInOiAnTFxcJ2Fib21pbmFibGUgS29nYXJhc2hpJyxcclxuICAgICAgJ2phJzogJ+alteaCquS6uuOCs+OCrOODqeOCtycsXHJcbiAgICAgICdrbyc6ICfqt7nslYXrrLTrj4TtlZwg7L2U6rCA65287IucJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICA3MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5p2+5Y+26Zeo5aSW5LmL5Y+YJyxcclxuICAgICAgJ2RlJzogJ1ZvcmZhbGwgYXVmIGRlbSBNYXRzdWJhLVBsYXR6JyxcclxuICAgICAgJ2VuJzogJ01hdHN1YmEgTWF5aGVtJyxcclxuICAgICAgJ2ZyJzogJ1LDqGdsZW1lbnQgZGUgY29tcHRlIGF1IHNxdWFyZSBNYXRzdWJhJyxcclxuICAgICAgJ2phJzogJ+advuiRiemWgOWkluOBruWkiScsXHJcbiAgICAgICdrbyc6ICfrp4jsuKDrsJQg7IKs67OAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgyLFxyXG4gIH0sXHJcbiAgNzExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGs+aImOm+n+eUsuWymycsXHJcbiAgICAgICdkZSc6ICdFbnQ8U29mdEh5cGhlbi8+c2NoZWk8U29mdEh5cGhlbi8+ZHVuZ3M8U29mdEh5cGhlbi8+c2NobGFjaHQgYXVmIEJla2tvJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCYXR0bGUgb24gQmVra28nLFxyXG4gICAgICAnZnInOiAnTFxcJ2FmPFNvZnRIeXBoZW4vPmZyb248U29mdEh5cGhlbi8+dGU8U29mdEh5cGhlbi8+bWVudCBkZSBkZXV4IGp1c3RpY2VzJyxcclxuICAgICAgJ2phJzogJ+ODmeODg+OCs+OCpuWztuOBruaxuumXmCcsXHJcbiAgICAgICdrbyc6ICfrsqDsvZTsmrAg7ISs7J2YIOqysO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MyxcclxuICB9LFxyXG4gIDcxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov5DmsrPlrp3nianlupMnLFxyXG4gICAgICAnZGUnOiAnS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IENhbmFscyBvZiBVem5haXInLFxyXG4gICAgICAnZnInOiAnTGVzIENhbmF1eCBwZXJkdXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44OrJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ryG6buR55qE5beo6b6ZJyxcclxuICAgICAgJ2RlJzogJ0RlciB0b2JlbmRlIERyYWNoZScsXHJcbiAgICAgICdlbic6ICdEYXJrIGFzIHRoZSBOaWdodCBTa3knLFxyXG4gICAgICAnZnInOiAnQXVzc2kgc29tYnJlIHF1ZSBsYSBudWl0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuOBruW3qOernCcsXHJcbiAgICAgICdrbyc6ICfsuaDtnZHsnZgg6rGw66OhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNzE0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouihgOS5i+m+memqkeWjqycsXHJcbiAgICAgICdkZSc6ICdEZXIgUnViaW4tRHJhY2hlbnJlaXRlcicsXHJcbiAgICAgICdlbic6ICdEcmFnb24gU291bmQnLFxyXG4gICAgICAnZnInOiAnTGUgRHJhZ29uIMOpY2FybGF0ZScsXHJcbiAgICAgICdqYSc6ICfntIXjga7nq5zpqI7lo6snLFxyXG4gICAgICAna28nOiAn67aJ7J2AIOyaqeq4sOyCrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mBpei/nOeahOaGp+aGrCcsXHJcbiAgICAgICdkZSc6ICdQcm9iZSBkZXMgTWVpc3RlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9ycGhhbnMgYW5kIHRoZSBCcm9rZW4gQmxhZGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ2FzcGlyYXRpb24gcmVmb3Vsw6llJyxcclxuICAgICAgJ2phJzogJ+OBguOBqOS4ieW6puOAgemBpeOBi+OBquaGp+aGrCcsXHJcbiAgICAgICdrbyc6ICfslZ7snLzroZwg7IS4IOuyiCwg7JWE65Od7ZWcIOuPmeqyvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg2LFxyXG4gIH0sXHJcbiAgNzE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGjeasoeebuOingScsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVyIFRpZWZlIGRlcyBIZXJ6ZW5zJyxcclxuICAgICAgJ2VuJzogJ091ciBDb21wcm9taXNlJyxcclxuICAgICAgJ2ZyJzogJ0xhIGRlcm5pw6hyZSBzw6lwYXJhdGlvbicsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuIDluqbjgIHlkJvjgavkvJrjgYjjgZ/jgoknLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIO2VnCDrsogsIOuEiOyZgCDrp4zrgqAg7IiYIOyeiOuLpOuptCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDcxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljp/liJ3nmoTmiJjlo6snLFxyXG4gICAgICAnZGUnOiAnRGllIFVya3JhZnQgaW4gaWhyJyxcclxuICAgICAgJ2VuJzogJ0N1cmlvdXMgR29yZ2UgTWVldHMgSGlzIE1hdGNoJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDqXByZXV2ZSBkZSBmb3JjZScsXHJcbiAgICAgICdqYSc6ICfljp/liJ3nmoTjgarlvbzlpbMnLFxyXG4gICAgICAna28nOiAn7JuQ7LSI7KCBIOq3uOuFgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzcsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54eD54On5ZCn6auY5ZCJJyxcclxuICAgICAgJ2RlJzogJ0tyaWVnZXJpc2NoZSBMZWlkZW5zY2hhZnQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhlYXJ0IG9mIHRoZSBQcm9ibGVtJyxcclxuICAgICAgJ2ZyJzogJ1Bhc3Npb24gZ3VlcnJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfnh4PjgYjjgojjgrTjg7zjgrjvvIEnLFxyXG4gICAgICAna28nOiAn67aI7YOA7Jis65286528LCDsgrDqs6jsp5zquLAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNzE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ8OJbWFuYXRpb24nLFxyXG4gICAgICAnamEnOiAn44Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+udveyKiOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODcsXHJcbiAgfSxcclxuICA3MjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCJ56Wl5aSp5aWz5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gTGFrc2htaScsXHJcbiAgICAgICdlbic6ICdFbWFuYXRpb24gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ8OJbWFuYXRpb24gKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6njgq/jgrfjg6Xjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOudveyKiOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODcsXHJcbiAgfSxcclxuICA3MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m/6LaK5pe256m655qE5aSZ5oS/JyxcclxuICAgICAgJ2RlJzogJ0VpbiBXdW5zY2ggYXVzIGFsdGVuIFplaXRlbicsXHJcbiAgICAgICdlbic6ICdPdXIgVW5zdW5nIEhlcm9lcycsXHJcbiAgICAgICdmcic6ICdMXFwnZXNwb2lyIGVuIGjDqXJpdGFnZScsXHJcbiAgICAgICdqYSc6ICfmmYLjgpLjgYvjgZHjgovpoZjjgYQnLFxyXG4gICAgICAna28nOiAn7Iuc6rCE7J2EIOubsOyWtOuEmOydgCDsl7zsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE3NSxcclxuICAgICdvZmZzZXRZJzogLTI5NyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjMsXHJcbiAgfSxcclxuICA3MjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5b2x6ZqQ5b+N5rOV6LS0JyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZW0gVmVyYm9yZ2VuZW4nLFxyXG4gICAgICAnZW4nOiAnV2hlbiBDbGFucyBDb2xsaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIGJhdGFpbGxlIGRlcyBjbGFucycsXHJcbiAgICAgICdqYSc6ICflvbHpmqDlv43ms5XluJYnLFxyXG4gICAgICAna28nOiAn6re466a87J6QIOyduOuyleyyqScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcyNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov5DmsrPlrp3nianlupPmt7HlsYInLFxyXG4gICAgICAnZGUnOiAnVmVyZ2Vzc2VuZSBLYW7DpGxlIHZvbiBVem5haXInLFxyXG4gICAgICAnZW4nOiAnVGhlIEhpZGRlbiBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggY2FjaMOpcyBkXFwnVXpuYWlyJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqbjgrrjg43jgqLjgqvjg4rjg6vmt7HlsaQnLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOyasOymiOuEpOyWtCDsmrTtlZgg7Ius7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Led6aqo56CU56m25omAICjmnLrliqjmiJgpJyxcclxuICAgICAgJ2RlJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZW4nOiAnQXN0cmFnYWxvcycsXHJcbiAgICAgICdmcic6ICdBc3RyYWdhbG9zIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrnjg4jjg6njgqzjg63jgrkgKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7JWE7Iqk7Yq465286rCI66Gc7IqkKOq4sOqzteyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDczMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7pvpnmoqblubvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gU2hpbnJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogU2hpbnJ5dVxcJ3MgRG9tYWluJyxcclxuICAgICAgJ2ZyJzogJ0xlIGRvbWFpbmUgZGUgU2hpbnJ5dScsXHJcbiAgICAgICdqYSc6ICfmpbXnpZ7pvo3oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLoOujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzYsXHJcbiAgfSxcclxuICA3MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rKJ5rKh56We5q6/5pav5Y2h5ouJ6YGX6L+5JyxcclxuICAgICAgJ2RlJzogJ0RpZSB2ZXJzdW5rZW5lIFN0YWR0IFNrYWxsYScsXHJcbiAgICAgICdlbic6ICdUaGUgRHJvd25lZCBDaXR5IG9mIFNrYWxsYScsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSBlbmdsb3V0aWUgZGUgU2thbGxhJyxcclxuICAgICAgJ2phJzogJ+awtOayoemBuuaniyDjgrnjgqvjg6knLFxyXG4gICAgICAna28nOiAn7Iqk7Lm86528IOycoOyggScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxODUsXHJcbiAgICAnb2Zmc2V0WSc6IDUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDluLjpo47kuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEFuZW1vcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZnInOiAnRXVyw6prYSBBbmVtb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muOCouODjeODouOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7JWE64Sk66qo7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkxLFxyXG4gIH0sXHJcbiAgNzMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnRW5kbG9zZSBTY2hhdHRlbiB2b24gQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBVbmVuZGluZyBDb2lsIG9mIEJhaGFtdXQgKFVsdGltYXRlKScsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGluZmluaSBkZSBCYWhhbXV0IChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244OQ44OP44Og44O844OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDrsJTtlZjrrLTtirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSx6JC95LmL6YO95ouJ5be057qz5pav5aGUJyxcclxuICAgICAgJ2RlJzogJ1JhYmFuYXN0cmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJveWFsIENpdHkgb2YgUmFiYW5hc3RyZScsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSByb3lhbGUgZGUgUmFiYW5hc3RyZScsXHJcbiAgICAgICdqYSc6ICflpLHjgo/jgozjgZ/pg70g44Op44OQ44OK44K544K/JyxcclxuICAgICAgJ2tvJzogJ+yZleuPhCDrnbzrsJTrgpjsiqTthLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMzAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoia/nvJjku6rlvI8nLFxyXG4gICAgICAnZGUnOiAnVmFsZW50aW9uemVyZW1vbmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBWYWxlbnRpb25lXFwncyBDZXJlbW9ueScsXHJcbiAgICAgICdmcic6ICdMYSBDw6lyw6ltb25pZSBkZSBsYSBWYWxlbnRpb24nLFxyXG4gICAgICAnamEnOiAn44O044Kh44Os44Oz44OG44Kj44Kq44Oz44K744Os44Oi44OL44O8JyxcclxuICAgICAgJ2tvJzogJ+uwnOugjO2LsOyYqCDsmIjsi53snqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMTI1LFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oueOieeBq+WxseeLseS5i+eblicsXHJcbiAgICAgICdkZSc6ICdIw7ZsbGVuc3B1bmQnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgTGlkJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvdXZlcmNsZSBkZXMgZW5mZXJzJyxcclxuICAgICAgJ2phJzogJ+e0heeOieeBq+WxsSDnjYTkuYvok4snLFxyXG4gICAgICAna28nOiAn7KeA7Jil65qc6ruRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55av54uC5oiY6Iiw5peg6ZmQ5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGcmFrdGFsLUtvbnRpbnV1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgRnJhY3RhbCBDb250aW51dW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbnRpbnV1bSBmcmFjdGFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+aatOi1sOaIpuiJpiDjg5Xjg6njgq/jgr/jg6vjg7vjgrPjg7Pjg4bjgqPjg4vjgqLjg6AgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlago7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmiJjpmJ/mrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoVGVhbSwgZ2V3ZXJ0ZXQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVGVhbSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoY2xhc3PDqS/DqXF1aXBlIEpjSiknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjg4Hjg7zjg6DnlKjjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2MgCDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eZveiZjumVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gQnlha2tvJyxcclxuICAgICAgJ2VuJzogJ1RoZSBKYWRlIFN0b2EnLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlJyxcclxuICAgICAgJ2phJzogJ+eZveiZjuW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eZveiZjuivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDbGFpcmnDqHJlIGRlIEphZGUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuwse2YuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTMsXHJcbiAgfSxcclxuICA3NTk6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpJrnjpvpo57lnLAnLFxyXG4gICAgICAnZGUnOiAnRG9tYW5pc2NoZSBFbmtsYXZlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEb21hbiBFbmNsYXZlJyxcclxuICAgICAgJ2ZyJzogJ1F1YXJ0aWVyIGVuY2xhdsOpIGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe55S65Lq65ZywJyxcclxuICAgICAgJ2tvJzogJ+uPhOuniCDrj4TsnY3sp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjMsXHJcbiAgICAnb2Zmc2V0WSc6IDM0LFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NCxcclxuICB9LFxyXG4gIDc2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngavpvpnni6nnjI7miJgnLFxyXG4gICAgICAnZGUnOiAnSmFnZCBhdWYgUmF0aGFsb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEh1bnQnLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zJyxcclxuICAgICAgJ2phJzogJ+ODquOCquODrOOCpuOCueeLqeeMn+aIpicsXHJcbiAgICAgICdrbyc6ICfrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z5LiK5L2N54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdDaGFzc2UgYXUgUmF0aGFsb3MgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn6re5IOumrOyYpOugiOyasOyKpCDsiJjroLXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjYsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56aB5Zyw5LyY6Zu35Y2hIOaBkuWGsOS5i+WcsCcsXHJcbiAgICAgICdkZSc6ICdFdXJla2EgUGFnb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgUGFnb3MnLFxyXG4gICAgICAnZnInOiAnRXVyw6prYSBQYWdvcycsXHJcbiAgICAgICdqYSc6ICfnpoHmlq3jga7lnLAg44Ko44Km44Os44Kr77ya44OR44K044K557eoJyxcclxuICAgICAgJ2tvJzogJ+q4iOuLqOydmCDrlYUg7JeQ7Jqw66CI7Lm0OiDtjIzqs6DsiqTtjrgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTQsXHJcbiAgfSxcclxuICA3NjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoZ2V3ZXJ0ZXQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo57uD5Lmg6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKMOcYnVuZ3NrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0IChUcmFpbmluZyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChlbjxTb2Z0SHlwaGVuLz50cmHDrjxTb2Z0SHlwaGVuLz5uZTxTb2Z0SHlwaGVuLz5tZW50KScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCq+OCuOODpeOCouODq+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo7J2867CY7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOawtOaZtuWhlOa8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChLcmlzdGFsbHR1cm0tQXJlbmE6IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gQ3J5c3RhbCBUb3dlciknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1RvdXIgZGUgQ3Jpc3RhbCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zmvJTnv5LloLTvvJrjgqvjgrnjgr/jg6Djg57jg4Pjg4HvvIknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo7YGs66as7Iqk7YOIIO2DgOybjCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjjuawtOeBteW6meWyqeeHleW6mScsXHJcbiAgICAgICdkZSc6ICdLb21wYXNzIGRlciBTY2h3YWxiZScsXHJcbiAgICAgICdlbic6ICdUaGUgU3dhbGxvd1xcJ3MgQ29tcGFzcycsXHJcbiAgICAgICdmcic6ICdMZSBDb21wYXMgZGUgbFxcJ0hpcm9uZGVsbGUnLFxyXG4gICAgICAnamEnOiAn6aKo5rC06ZyK5q6/IOOCrOODs+OCqOODs+W7nycsXHJcbiAgICAgICdrbyc6ICfqsJXsl5Qg7KKF66yYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4LmmZPnmoTlsJHlubQnLFxyXG4gICAgICAnZGUnOiAnRGVyIEtuYWJlIGRlciBNb3JnZW5yw7Z0ZScsXHJcbiAgICAgICdlbic6ICdFbWlzc2FyeSBvZiB0aGUgRGF3bicsXHJcbiAgICAgICdmcic6ICdWb3lhZ2UgZW4gdGVycmUgaG9zdGlsZScsXHJcbiAgICAgICdqYSc6ICfjgIzmmoHjgI3jga7lsJHlubQnLFxyXG4gICAgICAna28nOiAnXFwn7IOI67K9XFwn7J2YIOyGjOuFhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAxLTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAx772eMTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDF+MTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDEx772eMjDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDExLTIwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxMS0yMCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDEx772eMjDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDExfjIw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAyMe+9njMw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAyMS0zMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMjEtMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMjEtMzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAyMe+9njMw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAyMX4zMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzczOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDQxLTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNDHvvZ41MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNDF+NTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDYx772eNzDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDYxLTcwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA2MS03MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDYx772eNzDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDYxfjcw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA4Me+9njkw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA4MS05MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgODEtOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA4Me+9njkw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA4MX45MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwgemXreWco+WhlOm7jumTjuaLiee6s+Wkp+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSaWNodGZldWVyIHZvbiBSaWRvcmFuYScsXHJcbiAgICAgICdlbic6ICdUaGUgUmlkb3JhbmEgTGlnaHRob3VzZScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBSaWRvcmFuYScsXHJcbiAgICAgICdqYSc6ICflsIHjgZjjgonjgozjgZ/ogZbloZQg44Oq44OJ44Or44Ki44OKJyxcclxuICAgICAgJ2tvJzogJ+uMgOuTseuMgCDrpqzrj4TrpbTslYTrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjAyLFxyXG4gICAgJ29mZnNldFknOiAtOTIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI4LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eptuaegeelnuWFtee7neWig+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBVbHRpbWEgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgV2VhcG9uXFwncyBSZWZyYWluIChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTGEgRmFudGFzbWFnb3JpZSBkXFwnVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Or44OG44Oe44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzthYzrp4gg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDc3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIjor7vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUc3VrdXlvbWknLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdmcic6ICdDYXN0cnVtIEZsdW1pbmlzJyxcclxuICAgICAgJ2phJzogJ+ODhOOCr+ODqOODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsuKDsv6DsmpTrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75bm95aSc5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUc3VrdXlvbWlcXCdzIFBhaW4nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODhOOCr+ODqOODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDMxLTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMzHvvZ40MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMzF+NDDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDUx772eNjDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDUxLTYwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA1MS02MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA1MS02MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDUx772eNjDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDUxfjYw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA3Me+9njgw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA3MS04MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNzEtODApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNzEtODApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA3Me+9njgw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA3MX44MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgOTHvvZ4xMDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDkxLTEwMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgOTEtMTAwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDkxLTEwMCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDkx772eMTAw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA5MX4xMDDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsaHmn5Pluq3lm63lnKPojInlpI/lqJzmpI3nianlm60nLFxyXG4gICAgICAnZGUnOiAnU2Fua3QgTW9jaWFubmUtQXJib3JldHVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1NhaW50IE1vY2lhbm5lXFwncyBBcmJvcmV0dW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcmJvcmV0dW0gU2FpbnRlLU1vY2lhbm5lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+iNieacqOaxmuafkyDogZbjg6Ljgrfjg6Pjg7zjg4zmpI3nianlnJIgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvkuqHlpKflnLDnu4jmnKvnhKblnJ8nLFxyXG4gICAgICAnZGUnOiAnRGFzIEthcmdsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCdXJuJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFc2NhcnJlJyxcclxuICAgICAgJ2phJzogJ+awuOS5heeEpuWcnyDjgrbjg7vjg5Djg7zjg7MnLFxyXG4gICAgICAna28nOiAn7JiB6rWsIOy0iO2GoOyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NyxcclxuICB9LFxyXG4gIDc5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54G+5Y6E6YeN546w5Yab5LqL5ryU5LmgJyxcclxuICAgICAgJ2RlJzogJ0dlZGVua3NjaGxhY2h0IGRlciBFb3J6w6Rpc2NoZW4gQWxsaWFueicsXHJcbiAgICAgICdlbic6ICdUaGUgQ2FsYW1pdHkgUmV0b2xkJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBncmFuZGVzIG1hbsWTdXZyZXMgY29tbcOpbW9yYXRpdmVzJyxcclxuICAgICAgJ2phJzogJ+aWsOeUn+elrei7jeS6i+a8lOe/kicsXHJcbiAgICAgICdrbyc6ICfsi6Dsg53soJwg6rWw7IKs7ZuI66CoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk1LFxyXG4gIH0sXHJcbiAgNzkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+makOWhniAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdWZXJib3JnZW5lIFNjaGx1Y2h0JyxcclxuICAgICAgJ2VuJzogJ0hpZGRlbiBHb3JnZScsXHJcbiAgICAgICdmcic6ICdHb3JnZSBkw6lyb2LDqWUgKG1hY2hpbmVyaWUpJyxcclxuICAgICAgJ2phJzogJ+ODkuODieOCpeODs+OCtOODvOOCuCAo5qmf5bel5oimKScsXHJcbiAgICAgICdrbyc6ICfsiKjqsqjsp4Qg67O066OoKOq4sOqzteyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Jma5pmv6Lez6Lez5LmQ5aSn5oyR5oiYJyxcclxuICAgICAgJ2RlJzogJ0tha3Rvci1LbGV0dGVyd2FuZCcsXHJcbiAgICAgICdlbic6ICdMZWFwIG9mIEZhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlIHZvbHRpZ2UnLFxyXG4gICAgICAnamEnOiAn5oyR5oim77yBIOOCuOODo+ODs+ODlOODs+OCsOOCouOCueODrOODgeODg+OCrycsXHJcbiAgICAgICdrbyc6ICfrm7DslrTrnbwhIOygkO2VkSDsmrTrj5ntmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm73looPpmLLnur/ln7rlp4bliKnnibnmmpfljLonLFxyXG4gICAgICAnZGUnOiAnRGllIEdoaW1seXQtRmluc3Rlcm5pcycsXHJcbiAgICAgICdlbic6ICdUaGUgR2hpbWx5dCBEYXJrJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBUw6luw6hicmVzIGRlIEdoaW1seXQnLFxyXG4gICAgICAnamEnOiAn5aKD55WM5oim57eaIOOCruODoOODquODiOODgOODvOOCrycsXHJcbiAgICAgICdrbyc6ICfquYDrpqztirgg7Zmp7JW8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT56We5q6/JyxcclxuICAgICAgJ2RlJzogJ0dsw7xja3NhbHTDpHJlIHZvbiBVem5haXInLFxyXG4gICAgICAnZW4nOiAnVGhlIFNoaWZ0aW5nIEFsdGFycyBvZiBVem5haXInLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIHNhY3LDqSBkXFwnVXpuYWlyJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqbjgrrjg43jgqLjgqvjg4rjg6vnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOyasOymiOuEpOyWtCDsmrTtlZgg7KCc7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmtozngavkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFB5cm9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFB5cm9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUHlyb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODlOODpeODvOODreOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7ZS866Gc7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk2LFxyXG4gIH0sXHJcbiAgNzk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7rpgZPmiJgnLFxyXG4gICAgICAnZGUnOiAnRGViw7x0IGluIGRlciBIaW1tbGlzY2hlbiBBcmVuYScsXHJcbiAgICAgICdlbic6ICdBbGxcXCdzIFdlbGwgVGhhdCBTdGFydHMgV2VsbCcsXHJcbiAgICAgICdmcic6ICdEw6lidXQgZHUgc3BlY3RhY2xlJyxcclxuICAgICAgJ2phJzogJ+ODh+ODk+ODpeODvOODnuODg+ODgScsXHJcbiAgICAgICdrbyc6ICfrjbDrt5TsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmpZTnn7PmtJ4nLFxyXG4gICAgICAnZGUnOiAnRGVyIFdpbGxlIGRlciBNb25kZ8O2dHRpbicsXHJcbiAgICAgICdlbic6ICdUaGUgV2lsbCBvZiB0aGUgTW9vbicsXHJcbiAgICAgICdmcic6ICdSYWxsaWVtZW50IGRhbnMgbGEgc3RlcHBlJyxcclxuICAgICAgJ2phJzogJ+allOefs+OBruiZmicsXHJcbiAgICAgICdrbyc6ICfskJDquLDrj4wg64+Z6rW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzEnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMS4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjEuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYxLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA3OTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzInLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMi4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjIuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYyLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzMnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMy4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjMuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYzLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzQnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgNC4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjQuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHY0LjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzEnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMS4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjEuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYxLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzInLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMi4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjIuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYyLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzMnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMy4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjMuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYzLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzQnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgNC4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjQuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHY0LjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L+d6ZWW5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0R1ZWxsIGF1ZiBkZXIgS3VnYW5lLUJyw7xja2UnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIE9oYXNoaScsXHJcbiAgICAgICdmcic6ICdMZSBQb250IE9oYXNoaScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6jjgqbjgrjjg7Pjg5zjgqboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOyalOyasOynhOuztCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4DplYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIFN1emFrdScsXHJcbiAgICAgICdlbic6ICdIZWxsc1xcJyBLaWVyJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5pZCBkZXMgTGFtZW50YXRpb25zJyxcclxuICAgICAgJ2phJzogJ+acsembgOW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfso7zsnpEg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk4LFxyXG4gIH0sXHJcbiAgODExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acsembgOivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFN1emFrdScsXHJcbiAgICAgICdlbic6ICdIZWxsc1xcJyBLaWVyIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteacsembgOW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mbt+WFi+WFsOW+tycsXHJcbiAgICAgICdkZSc6ICdTZWVubGFuZCcsXHJcbiAgICAgICdlbic6ICdMYWtlbGFuZCcsXHJcbiAgICAgICdmcic6ICdHcmFuZC1MYWMnLFxyXG4gICAgICAnamEnOiAn44Os44Kk44Kv44Op44Oz44OJJyxcclxuICAgICAgJ2tvJzogJ+ugiOydtO2BrOuenOuTnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDYsXHJcbiAgfSxcclxuICA4MTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnj4LpnLLopb/kuprlspsnLFxyXG4gICAgICAnZGUnOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnZW4nOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnZnInOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnamEnOiAn44Kz44Or44K344Ki5bO2JyxcclxuICAgICAgJ2tvJzogJ+y9nOujqOyLnOyVhCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA3LFxyXG4gIH0sXHJcbiAgODE1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6J56mGwrfoib7lhbAnLFxyXG4gICAgICAnZGUnOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdlbic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2ZyJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnamEnOiAn44Ki44Og44O744Ki44Os44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yVhOuvgCDslYTrnq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA4LFxyXG4gIH0sXHJcbiAgODE2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5bCU576O5qC8JyxcclxuICAgICAgJ2RlJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnSWwgTWhlZycsXHJcbiAgICAgICdmcic6ICdJbCBNaGVnJyxcclxuICAgICAgJ2phJzogJ+OCpOODq+ODu+ODoeOCsCcsXHJcbiAgICAgICdrbyc6ICfsnbwg66mU6re4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOSxcclxuICB9LFxyXG4gIDgxNzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWHr+aPkOWNoeWkp+ajruaelycsXHJcbiAgICAgICdkZSc6ICdEZXIgR3Jvw59lIFdhbGQgUmFrXFwndGlrYScsXHJcbiAgICAgICdlbic6ICdUaGUgUmFrXFwndGlrYSBHcmVhdHdvb2QnLFxyXG4gICAgICAnZnInOiAnUmFrXFwndGlrYScsXHJcbiAgICAgICdqYSc6ICfjg6njgrHjg4bjgqPjgqvlpKfmo67mnpcnLFxyXG4gICAgICAna28nOiAn65287LyA7Yuw7Lm0IOuMgOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTAsXHJcbiAgfSxcclxuICA4MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbcnLFxyXG4gICAgICAnZGUnOiAnVGVtcGVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGVzdCcsXHJcbiAgICAgICdmcic6ICdMYSBUZW1ww6p0ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjg7Pjg5rjgrnjg4gnLFxyXG4gICAgICAna28nOiAn7YWc7Y6Y7Iqk7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMSxcclxuICB9LFxyXG4gIDgxOToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtumDvScsXHJcbiAgICAgICdkZSc6ICdDcnlzdGFyaXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcnlzdGFyaXVtJyxcclxuICAgICAgJ2ZyJzogJ0NyaXN0YXJpdW0nLFxyXG4gICAgICAnamEnOiAn44Kv44Oq44K544K/44Oq44Km44OgJyxcclxuICAgICAgJ2tvJzogJ+2BrOumrOyKpO2DgOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTIsXHJcbiAgfSxcclxuICA4MjA6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmuLjmnKvpgqYnLFxyXG4gICAgICAnZGUnOiAnRXVsbW9yZScsXHJcbiAgICAgICdlbic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2ZyJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnamEnOiAn44Om44O844Or44Oi44KiJyxcclxuICAgICAgJ2tvJzogJ+ycqOuqqOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTMsXHJcbiAgfSxcclxuICA4MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05aaW5bm75Zut5aSa5oGp576O5qC856aB5ZutJyxcclxuICAgICAgJ2RlJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdlbic6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZnInOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2phJzogJ+awtOWmluW5u+WckiDjg4njgqnjg7zjg4zjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn64+E64qQIOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAyMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lyq6YCg5aSp55WM5qC86bKB5qC854Gr5bGxJyxcclxuICAgICAgJ2RlJzogJ0RlciBHdWxnJyxcclxuICAgICAgJ2VuJzogJ010LiBHdWxnJyxcclxuICAgICAgJ2ZyJzogJ01vbnQgR3VsZycsXHJcbiAgICAgICdqYSc6ICflgb3pgKDlpKnnlYwg44Kw44Or44Kw54Gr5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1tOq3uCDtmZTsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE4OCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aWh+aYjuWPpOi/ueWlh+WdpumCo+elnuW9sea0nicsXHJcbiAgICAgICdkZSc6ICdJcnJ1bmdlbiBkZXIgUWl0YXJpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBRaXRhbmEgUmF2ZWwnLFxyXG4gICAgICAnZnInOiAnTFxcJ0VuY2hldsOqdHJlbWVudCBkZXMgUWl0YXJpJyxcclxuICAgICAgJ2phJzogJ+WPpOi3oeaOoue0oiDjgq3jgr/jg7Pjg4rnpZ7lvbHmtJ4nLFxyXG4gICAgICAna28nOiAn7YKk7YOA64KYIOyLoOq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMjc0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Z2S6b6Z6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTZWlyeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdyZWF0aCBvZiBTbmFrZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMnLFxyXG4gICAgICAnamEnOiAn6Z2S6b6N5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+yyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Z2S6b6Z6K+X6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnN0dXJtIC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMXFwnw45sb3QgZGVzIEFtZXJ0dW1lcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+altemdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7LKt66OhIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OSxcclxuICB9LFxyXG4gIDgyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZDmrLLkuYvmiYDnk6/ljZrorrfkv67pgZPpmaInLFxyXG4gICAgICAnZGUnOiAnS2xvc3RlciB2b24gT3Jib25uZScsXHJcbiAgICAgICdlbic6ICdUaGUgT3Jib25uZSBNb25hc3RlcnknLFxyXG4gICAgICAnZnInOiAnTGUgTW9uYXN0w6hyZSBkXFwnT3Jib25uZScsXHJcbiAgICAgICdqYSc6ICfmpb3mrLLjga7lg6fpmaIg44Kq44O844Oc44Oz44OMJyxcclxuICAgICAgJ2tvJzogJ+yYpOuzuOuKkCDsiJjrj4Tsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTU0NSxcclxuICAgICdvZmZzZXRZJzogLTY2MyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjYsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56aB5Zyw5LyY6Zu35Y2hIOS4sOawtOS5i+WcsCcsXHJcbiAgICAgICdkZSc6ICdFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBIeWRhdG9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgSHlkYXRvcycsXHJcbiAgICAgICdqYSc6ICfnpoHmlq3jga7lnLAg44Ko44Km44Os44Kr77ya44OS44Ol44OA44OI44K557eoJyxcclxuICAgICAgJ2tvJzogJ+q4iOuLqOydmCDrlYUg7JeQ7Jqw66CI7Lm0OiDtnojri6TthqDsiqTtjrgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNDc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDAsXHJcbiAgfSxcclxuICA4MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5oy95q2MJyxcclxuICAgICAgJ2RlJzogJ1JlcXVpZW0gZGVyIEhlbGRlbicsXHJcbiAgICAgICdlbic6ICdBIFJlcXVpZW0gZm9yIEhlcm9lcycsXHJcbiAgICAgICdmcic6ICdVbiByZXF1aWVtIHBvdXIgbGVzIGjDqXJvcycsXHJcbiAgICAgICdqYSc6ICfoi7Hpm4Tjgbjjga7pjq7prYLmrYwnLFxyXG4gICAgICAna28nOiAn7JiB7JuF7J2EIOychO2VnCDsp4TtmLzqsIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b5pa55Z+O5oiY77ya5Lic6aOO5oiYNOS6uuS6suWPi+ahjO+8iOS4jeW4pumjn+aWre+8iScsXHJcbiAgICAgICdkZSc6ICc0LVNwaWVsZXItTWFoam9uZyAoc2NobmVsbGUgUGFydGllLCBLdWl0YW4gZGVha3RpdmllcnQpJyxcclxuICAgICAgJ2VuJzogJ0ZvdXItcGxheWVyIE1haGpvbmcgKFF1aWNrIE1hdGNoLCBLdWl0YW4gRGlzYWJsZWQpJyxcclxuICAgICAgJ2ZyJzogJ01haGpvbmcgZG9taWVuPEluZGVudC8+OiA0IGpvdWV1cnMgKHBhcnRpZSByYXBpZGUgc2FucyBrdWl0YW4pJyxcclxuICAgICAgJ2phJzogJ+ODieODnuW8j+m6u+mbgO+8muadsemiqOaIpjTkurrjgrvjg4Pjg4jljZPvvIjjgq/jgqTjgr/jg7PnhKHjgZfvvIknLFxyXG4gICAgICAna28nOiAn7J6R7Yyo7Jyg7Z2sOiDrj5ntko3soIQgNOyduOyaqSDtg4HsnpAo67aA66W06riwIOuLqOyalOq1rCDsl4bsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epuuWGm+ijheeUsumpvumptuWRmCcsXHJcbiAgICAgICdkZSc6ICdMdWZ0d2FmZmUsIEZldWVyIGZyZWkhJyxcclxuICAgICAgJ2VuJzogJ0FpciBGb3JjZSBPbmUnLFxyXG4gICAgICAnZnInOiAnQXMgZGUgbFxcJ2FpcicsXHJcbiAgICAgICdqYSc6ICflh7rmkoPvvIEg44Ko44Ki44OV44Kp44O844K544OR44Kk44Ot44OD44OIJyxcclxuICAgICAgJ2tvJzogJ+y2nOqyqSEg7JeQ7Ja07Y+s7IqkIOyhsOyiheyCrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjjuS5i+S9v+iAhScsXHJcbiAgICAgICdkZSc6ICdEdXJjaCBkZW4gU3R1cm0gdW5kIHp1csO8Y2snLFxyXG4gICAgICAnZW4nOiAnTWVzc2VuZ2VyIG9mIHRoZSBXaW5kcycsXHJcbiAgICAgICdmcic6ICdMYSBNZXNzYWfDqHJlIGR1IHZlbnQnLFxyXG4gICAgICAnamEnOiAn5p2l6Kiq44Gb44GX6aKo44Gu5b6h5L2/JyxcclxuICAgICAgJ2tvJzogJ+uwlOuejOydmCDslrTsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAxLFxyXG4gIH0sXHJcbiAgODM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mBv+aakeemu+Wuq+mprOWIqeWNoeWkp+S6lScsXHJcbiAgICAgICdkZSc6ICdNYWxpa2FocyBCcnVubmVuJyxcclxuICAgICAgJ2VuJzogJ01hbGlrYWhcXCdzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnTGUgUHVpdHMgZGUgTWFsaWthaCcsXHJcbiAgICAgICdqYSc6ICfniL3mtrzpm6Llrq4g44Oe44Oq44Kr44Gu5aSn5LqV5oi4JyxcclxuICAgICAgJ2tvJzogJ+unkOumrOy5tCDtgbDsmrDrrLwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTY1LFxyXG4gICAgJ29mZnNldFknOiAtMzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgYfooq3pm4bokL3msLTmu6nmnZEnLFxyXG4gICAgICAnZGUnOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdlbic6ICdIb2xtaW5zdGVyIFN3aXRjaCcsXHJcbiAgICAgICdmcic6ICdIb2xtaW5zdGVyJyxcclxuICAgICAgJ2phJzogJ+auuuaIrumDt+adkSDjg5vjg6vjg5/jg7Pjgrnjgr/jg7wnLFxyXG4gICAgICAna28nOiAn7ZmA66+87Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmmpflvbHkuprpqazkuYznvZfmj5AnLFxyXG4gICAgICAnZGUnOiAnQW1hdXJvdCcsXHJcbiAgICAgICdlbic6ICdBbWF1cm90JyxcclxuICAgICAgJ2ZyJzogJ0FtYXVyb3RlJyxcclxuICAgICAgJ2phJzogJ+e1guacq+W5u+aDsyDjgqLjg7zjg6Ljg63jg7zjg4gnLFxyXG4gICAgICAna28nOiAn7JWE66qo66Gc7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg0MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILnlYzpgZfmnoTluIzlsJTnp5Hmlq/lrarmmbbloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIEtyaXN0YWxsendpbGxpbmcnLFxyXG4gICAgICAnZW4nOiAnVGhlIFR3aW5uaW5nJyxcclxuICAgICAgJ2ZyJzogJ0xhIE1hY2xlIGRlIFN5cmN1cycsXHJcbiAgICAgICdqYSc6ICfnlbDnlYzpgbrmp4sg44K344Or44Kv44K544O744OE44Kk44OL44Oz44KwJyxcclxuICAgICAgJ2tvJzogJ+yMjeuRpeydtCDsi5zrpbTsv6DsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliJvpgKDmnLrmnoTpmL/lsLzlvrfnvZflrabpmaInLFxyXG4gICAgICAnZGUnOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBa2FkYWVtaWEgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FrYWRhZW1pYSBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn5Ym16YCg5qmf6ZaiIOOCouODiuOCpOODgOOCouOCq+ODh+ODn+OCoicsXHJcbiAgICAgICdrbyc6ICfslaDrgpjsnbTrjZQg7JWE7Lm0642w66+47JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e8h+WdpuWmrumbheatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIFRpdGFuaWEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhbmNpbmcgUGxhZ3VlJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlJyxcclxuICAgICAgJ2phJzogJ+ODhuOCo+OCv+ODvOODi+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DnkZXngbXlkJvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBJbm5vemVueicsXHJcbiAgICAgICdlbic6ICdUaGUgQ3Jvd24gb2YgdGhlIEltbWFjdWxhdGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqScsXHJcbiAgICAgICdqYSc6ICfjgqTjg47jgrvjg7PjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIER5aW5nIEdhc3AnLFxyXG4gICAgICAnZnInOiAnTGUgUsOibGUgZGUgbFxcJ0Fnb25pZScsXHJcbiAgICAgICdqYSc6ICfjg4/jg7zjg4fjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ZWY642w7IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDb3Vyb25uZSBkZSBsXFwnSW1tYWN1bMOpIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsnbTrhbjshLzsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNCxcclxuICB9LFxyXG4gIDg0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEF1ZmVyc3RlaHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBSZXN1cnJlY3Rpb24nLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdmVpbCBkXFwnw4lkZW4gLSBSw6lzdXJyZWN0aW9uJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBOaWVkZXJrdW5mdCcsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBEZXNjZW50JyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRGVzY2VudGUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMicsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIMOcYmVyZmx1dHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBJbnVuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRMOpbHVnZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDg1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEJlZXJkaWd1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogU2VwdWx0dXJlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gSW5odW1hdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6g0JyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDg1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEF1ZmVyc3RlaHVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBSZXN1cnJlY3Rpb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdmVpbCBkXFwnw4lkZW4gLSBSw6lzdXJyZWN0aW9uIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBOaWVkZXJrdW5mdCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBEZXNjZW50IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRGVzY2VudGUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIMOcYmVyZmx1dHVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBJbnVuZGF0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRMOpbHVnZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDg1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEJlZXJkaWd1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogU2VwdWx0dXJlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gSW5odW1hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDg1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4XmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIEzDpHV0ZXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgVmFsc2UgZHUgTW9uYXJxdWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2LsO2DgOuLiOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAzLFxyXG4gIH0sXHJcbiAgODU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acuuWFs+OAgeivheWSkuOAgeWJp+avkuS4juKApuKApicsXHJcbiAgICAgICdkZSc6ICdEZXIgQmVpY2h0c3R1aGwgdm9uIFRvdXBhc2EgZGVtIMOEbHRlcmVuJyxcclxuICAgICAgJ2VuJzogJ0xlZ2VuZCBvZiB0aGUgTm90LXNvLWhpZGRlbiBUZW1wbGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ29uZmVzc2lvbm5hbCBkZSBUb3VwYXNhIGxcXCdhbmNpZW4nLFxyXG4gICAgICAnamEnOiAn5LuV5o6b44GR44Go5ZGq44GE44Go5q+S44GoJyxcclxuICAgICAgJ2tvJzogJ+2VqOygleqzvCDsoIDso7zsmYAg64+FJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDg2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflup/pg73mi7/lt7TnpLroib7lhbAnLFxyXG4gICAgICAnZGUnOiAnVmF0ZXIgdW5kIEJydWRlcicsXHJcbiAgICAgICdlbic6ICdDb21pbmcgQ2xlYW4nLFxyXG4gICAgICAnZnInOiAnU3VyIGxlcyByYWlscyBkZSBOYWJhYXRoIEFyZW5nJyxcclxuICAgICAgJ2phJzogJ+W7g+mDveODiuODkOOCueOCouODrOODsycsXHJcbiAgICAgICdrbyc6ICfrgpjrsJTsiqTslYTroJ0g7Y+Q7ZeIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDg3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmkYfmkYbnmoTlpKnlubMnLFxyXG4gICAgICAnZGUnOiAnT2IgTWl0bGVpZCBvZGVyIEhhc3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhhcmRlbmVkIEhlYXJ0JyxcclxuICAgICAgJ2ZyJzogJ05haXNzYW5jZSBkXFwndW4gYm91cnJlYXUnLFxyXG4gICAgICAnamEnOiAn5o+644KM44KL5aSp56ekJyxcclxuICAgICAgJ2tvJzogJ+2dlOuTpOumrOuKlCDsspzsua0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj6Tku6PlpKflho3nlJ/prZTms5UnLFxyXG4gICAgICAnZGUnOiAnQWx0ZXIgWmF1YmVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IGFuZCB0aGUgRm91bmQnLFxyXG4gICAgICAnZnInOiAnTWFnaWUgYW5jZXN0cmFsZScsXHJcbiAgICAgICdqYSc6ICflj6Tjga7lpKflho3nlJ/prZTms5UnLFxyXG4gICAgICAna28nOiAn6rOg64yA7J2YIOuMgOyerOyDnSDrp4jrspUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WLh+aVoueahOeMjuS6uicsXHJcbiAgICAgICdkZSc6ICdEZXIgTGVnZW5kZSBhdWYgZGVyIFNwdXInLFxyXG4gICAgICAnZW4nOiAnVGhlIEh1bnRlclxcJ3MgTGVnYWN5JyxcclxuICAgICAgJ2ZyJzogJ0xhIGNoYXNzZXVzZSBkZSBsw6lnZW5kZScsXHJcbiAgICAgICdqYSc6ICfli4fmsJfjga7ni6nkuronLFxyXG4gICAgICAna28nOiAn7Jqp6riwIOyeiOuKlCDsgqzrg6XqvrwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjMsXHJcbiAgfSxcclxuICA4NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWI6LSd5bCU54m555qE5ZCO5oKUJyxcclxuICAgICAgJ2RlJzogJ0VpbiBncm/Dn2VzIE9wZmVyJyxcclxuICAgICAgJ2VuJzogJ055ZWxiZXJ0XFwncyBMYW1lbnQnLFxyXG4gICAgICAnZnInOiAnVW5lIGN1cGlkaXTDqSBiaWVuIGfDqW7DqXJldXNlJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODq+ODmeODq+ODiOOBruW+jOaClCcsXHJcbiAgICAgICdrbyc6ICfrgpjsnbzrsqDrpbTtirjsnZgg7ZuE7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qKm57695a6d5aKDJyxcclxuICAgICAgJ2RlJzogJ1ZlcmxpZXNlIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEdW5nZW9ucyBvZiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2ZyJzogJ0xlIERvbmpvbiBoeXBvZ8OpZW4gZHUgTHloZSBHaGlhaCcsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Oq44Kn44O844O744Ku44Ki44O744OA44Oz44K444On44OzJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDrpqzsmIgg6riw7JWEIOyngO2VmOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkjeWItuW3peWOguW6n+WinycsXHJcbiAgICAgICdkZSc6ICdEaWUga29waWVydGUgRmFicmlrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDb3BpZWQgRmFjdG9yeScsXHJcbiAgICAgICdmcic6ICdMYSByw6lwbGlxdWUgZGUgbFxcJ3VzaW5lIGTDqXNhZmZlY3TDqWUnLFxyXG4gICAgICAnamEnOiAn6KSH6KO944K144Os44K/5bel5aC05buD5aKfJyxcclxuICAgICAgJ2tvJzogJ+uzteygnOuQnCDqs7XsnqUg7Y+Q7ZeIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYxMCxcclxuICAgICdvZmZzZXRZJzogNzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5rOV5a6r5q6/5a6H5a6Z5a6rJyxcclxuICAgICAgJ2RlJzogJ0NoYXRlYXUgQ29zbWVhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmFuZCBDb3Ntb3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29zbW9zIGNvcnVzY2FudCcsXHJcbiAgICAgICdqYSc6ICfprZTms5Xlrq7mrr8g44Kw44Op44Oz44O744Kz44K544Oi44K5JyxcclxuICAgICAgJ2tvJzogJ+q3uOuekSDsvZTsiqTrqqjsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflk4jov6rmlq/lraTlv7Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIEzDpHV0ZXJ1bmcgLSBIYWRlcycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogSGFkZXNcXCdzIEVsZWd5JyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4/jg7zjg4fjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODg3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEVwaWMgb2YgQWxleGFuZGVyIChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ09keXNzw6llIGRcXCdBbGV4YW5kZXIgKGZhdGFsKScsXHJcbiAgICAgICdqYSc6ICfntbbjgqLjg6zjgq3jgrXjg7Pjg4Djg7zoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KCIIOyVjOugieyCsOuNlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmILokKjlk4jlh6/lsJTvvIjnq57kuonmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnZW4nOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnZnInOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnamEnOiAn44Kq44Oz44K144Or44O744OP44Kr44Kk44OrICjntYLnr4DmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYqOyCtCDtlZjsubTsnbTrpbQo6rOE7KCI64GdIO2VqeyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE3LFxyXG4gIH0sXHJcbiAgODkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6r+eZveiqk+e6puOAgea8hum7keWvhue6picsXHJcbiAgICAgICdkZSc6ICdEZXIgV29sZiB1bmQgZGVyIERyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnVm93cyBvZiBWaXJ0dWUsIERlZWRzIG9mIENydWVsdHknLFxyXG4gICAgICAnZnInOiAnVsWTdXggZGUgdmVydHUsIGFjdGVzIGRlIGNydWF1dMOpJyxcclxuICAgICAgJ2phJzogJ+eZveOBjeiqk+e0hOOAgem7kuOBjeWvhue0hCcsXHJcbiAgICAgICdrbyc6ICftlZjsloAg7ISc7JW9LCDqsoDsnYAg67CA7JW9JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oiR5b+D5L6d5penJyxcclxuICAgICAgJ2RlJzogJ1RydWJlbCBpbSBUcmF1bWxhbmQnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXJ0IEJpZHMnLFxyXG4gICAgICAnZnInOiAnw4AgbFxcJ8OpY291dGUgZGUgc29pJyxcclxuICAgICAgJ2phJzogJ+OBk+OBruW/g+OBjOacm+OCgOOBjOOBvuOBvuOBqycsXHJcbiAgICAgICdrbyc6ICfsnbQg66eI7J2M7J20IOybkO2VmOuKlCDrjIDroZwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyLFxyXG4gICAgJ29mZnNldFknOiA1MCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA4OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0JyxcclxuICAgICAgJ2ZyJzogJ0xlcyBOdcOpZXMgZGUgQnJhbmRvbnMnLFxyXG4gICAgICAnamEnOiAn44Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+ujqOu5hCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgODk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kemjjua1t+W6lemYv+WwvOW+t+e9l+i/veW/hummhicsXHJcbiAgICAgICdkZSc6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2VuJzogJ0FuYW1uZXNpcyBBbnlkZXInLFxyXG4gICAgICAnZnInOiAnQW5hbW5lc2lzIEFueWRyZScsXHJcbiAgICAgICdqYSc6ICfpu5LpoqjmtbflupUg44Ki44OL44OJ44Op44K544O744Ki44OK44Og44ON44O844K344K5JyxcclxuICAgICAgJ2tvJzogJ+yVoOuLiOuTnOudvOyKpCDslYTrgqjrhKTsi5zsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMzkwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7rmtbflnoLpkpMnLFxyXG4gICAgICAnZGUnOiAnQXVmIGdyb8OfZXIgRmFocnQnLFxyXG4gICAgICAnZW4nOiAnT2NlYW4gRmlzaGluZycsXHJcbiAgICAgICdmcic6ICdQw6pjaGUgZW4gbWVyJyxcclxuICAgICAgJ2phJzogJ+OCquODvOOCt+ODo+ODs+ODleOCo+ODg+OCt+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfrqLzrsJTri6Qg64Ka7IucJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgOTAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbicsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3InLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBFbnRsYWR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1bG1pbmF0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1bG1pbmF0aW9uIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBSYXNlcmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdXJvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdXJldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YWx6bij5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEJpbGRlcnN0dXJtIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBJY29ub2NsYXNtIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEljb25vY2xhc21lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBFcnN0YXJydW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBSZWZ1bGdlbmNlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIMOJY2xhdCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NixcclxuICB9LFxyXG4gIDkxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLokrjlj5Hkuovku7YnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJvemphLVZvcmZhbGwnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvemphIEluY2lkZW50JyxcclxuICAgICAgJ2ZyJzogJ1Byw6lsdWRlIMOgIGxhIGNhdGFzdHJvcGhlJyxcclxuICAgICAgJ2phJzogJ+OCt+OCv+ODh+ODq+ODu+ODnOOCuuODpOiSuOeZuuS6i+WkiScsXHJcbiAgICAgICdrbyc6ICfrs7Tspojslbwg7IKs6rG0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyMyxcclxuICB9LFxyXG4gIDkxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLlrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnUnViaW5mZXVlciAtIFRyYXVtYScsXHJcbiAgICAgICdlbic6ICdDaW5kZXIgRHJpZnQgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBOdcOpZXMgZGUgQnJhbmRvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6vjg5Pjg7zjgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOujqOu5hCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgOTEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WNmuWFuembheWgoeWekui/veW/huaImCcsXHJcbiAgICAgICdkZSc6ICdNZW1vcmlhIE1pc2VyYSAoZXh0cmVtKScsXHJcbiAgICAgICdlbic6ICdNZW1vcmlhIE1pc2VyYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6Tov73mhrbmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuztOymiOyVvCDstpTslrXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1LFxyXG4gICAgJ29mZnNldFknOiA2ODMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyMyxcclxuICB9LFxyXG4gIDkxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoi7Hpm4Tml6Dms5Xlronmga8nLFxyXG4gICAgICAnZGUnOiAnVm9uIHNjaGxhZmVuZGVuIEhlbGRlbicsXHJcbiAgICAgICdlbic6ICdBIFNsZWVwIERpc3R1cmJlZCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgcm9ua2EnLFxyXG4gICAgICAnamEnOiAn5rGd44CB6Iux6ZuE44Gu55yg44KK5aao44GS44KL44GvJyxcclxuICAgICAgJ2tvJzogJ+q3uOuMgCwg7JiB7JuF7J2YIOyeoOydhCDrsKntlbTtlZjripTqsIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmpflvbHlhrPmiJjor7rlvJflhbDnibknLFxyXG4gICAgICAnZGUnOiAnU2NobGFjaHQgdW0gTm9ydnJhbmR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZXJvZXNcXCcgR2F1bnRsZXQnLFxyXG4gICAgICAnZnInOiAnTGEgVHJhdmVyc8OpZSBkZSBOb3J2cmFuZHQnLFxyXG4gICAgICAnamEnOiAn5ryG6buS5rG65oimIOODjuODq+ODtOODqeODs+ODiCcsXHJcbiAgICAgICdrbyc6ICfrhbjrpbTruIzrnoDtirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNjI2LFxyXG4gICAgJ29mZnNldFknOiAtNjExLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjUsXHJcbiAgfSxcclxuICA5MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lq65YG25Yab5LqL5Z+65ZywJyxcclxuICAgICAgJ2RlJzogJ0RpZSBQdXBwZW5mZXN0dW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQdXBwZXRzXFwnIEJ1bmtlcicsXHJcbiAgICAgICdmcic6ICdMYSBiYXNlIG1pbGl0YWlyZSBkZXMgUGFudGlucycsXHJcbiAgICAgICdqYSc6ICfkurrlvaLjgr/jg4Hjg47ou43kuovln7rlnLAnLFxyXG4gICAgICAna28nOiAn7J247ZiV65Ok7J2YIOq1sOyCrCDquLDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjkwLFxyXG4gICAgJ29mZnNldFknOiAtMTkwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZfmlrnljZrlhbnpm4XmiJjnur8nLFxyXG4gICAgICAnZGUnOiAnQm96amEtU8O8ZGZyb250JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYW4gU291dGhlcm4gRnJvbnQnLFxyXG4gICAgICAnZnInOiAnRnJvbnQgc3VkIGRlIEJvemphJyxcclxuICAgICAgJ2phJzogJ+WNl+aWueODnOOCuuODpOaIpue3micsXHJcbiAgICAgICdrbyc6ICfrgqjrtoAg67O07KaI7JW8IOyghOyEoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTI3LFxyXG4gICAgJ29mZnNldFknOiAtNDI0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjQsXHJcbiAgfSxcclxuICA5MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5YWJ5LmL5oiY5aOr5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0tyaWVnZXIgZGVzIExpY2h0cycsXHJcbiAgICAgICdlbic6ICdUaGUgU2VhdCBvZiBTYWNyaWZpY2UnLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZScsXHJcbiAgICAgICdqYSc6ICfjgqbjgqnjg7zjg6rjgqLjg7vjgqrjg5bjg7vjg6njgqTjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+W5u+iAgOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUcsO0bmUgZHUgU2FjcmlmaWNlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruZvsnZgg7KCE7IKsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjYsXHJcbiAgfSxcclxuICA5MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qKm57695a6d5q6/JyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJ1c3NlbGwgdm9uIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNoaWZ0aW5nIE91YmxpZXR0ZXMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBKYXJkaW4gc2VjcmV0IGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODs+elreauvycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEg7KCc7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aOe57+U5ZCn77yM5YmN5b6A57u05bCU5Yip54m577yBJyxcclxuICAgICAgJ2RlJzogJ0x1ZnRhbmdyaWZmIGF1ZiBXZXJseXQnLFxyXG4gICAgICAnZW4nOiAnU2xlZXAgTm93IGluIFNhcHBoaXJlJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsYSBtZXIgZGUgc2FwaGlyJyxcclxuICAgICAgJ2phJzogJ+mjm+OBue+8gSDjgqbjgqfjg6vjg6rjg4jjgbggJyxcclxuICAgICAgJ2tvJzogJ+uCoOyVhOudvCEg7Juw66as7Yq466W8IO2Wpe2VmOyXrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxNSxcclxuICAgICdvZmZzZXRZJzogLTYxMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LiK56aP5Zyw5LqR5Yag576k5bKbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBFcnNjaGxpZcOfdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6h6ZuGIOODh+OCo+OCouODh+ODoOiruOWzticsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgOTMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMXFwnQW1waGl0aMOpw6J0cmUgZFxcJ0FraCBBZmFoIChpcnLDqWVsKScsXHJcbiAgICAgICdqYSc6ICflubvjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ZmYIOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KSq6Imy55qE6K6w5b+GJyxcclxuICAgICAgJ2RlJzogJ1ZlcmJsYXNzdGUgRXJpbm5lcnVuZ2VuJyxcclxuICAgICAgJ2VuJzogJ0ZhZGVkIE1lbW9yaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvdXZlbmlyIHDDqXJpc3NhYmxlJyxcclxuICAgICAgJ2phJzogJ+iJsuOBguOBm+OBn+iomOaGticsXHJcbiAgICAgICdrbyc6ICfruZvrsJTrnpwg6riw7Ja1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNCxcclxuICB9LFxyXG4gIDkzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTmnK/lt6XmiL/njpvmiZjpm4Xlt6XkvZzlrqQnLFxyXG4gICAgICAnZGUnOiAnTWF0b3lhcyBBdGVsaWVyJyxcclxuICAgICAgJ2VuJzogJ01hdG95YVxcJ3MgUmVsaWN0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBdGVsaWVyIGFiYW5kb25uw6kgZGUgTWF0b3lhJyxcclxuICAgICAgJ2phJzogJ+mtlOihk+W3peaIvyDjg57jg4jjg7zjg6Tjga7jgqLjg4jjg6rjgqgnLFxyXG4gICAgICAna28nOiAn66eI7Yag7JW87J2YIOqzteuwqScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57u/5a6d55+z56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1NtYXJhZ2RzdHVybSAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2phJzogJ+OCqOODoeODqeODq+ODieOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteeLguaDs+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdDYXN0cnVtIE1hcmludW0gKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyXkOuplOuehOuTnCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wls+eOi+WPpOauvycsXHJcbiAgICAgICdkZSc6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2VuJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnZnInOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6AnLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMzc4LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7blvI/lpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+OCsOODs+ODkuODq+ODieODu+ODh+OCo+ODq+ODvOODluODqeODoOmbtuW8jycsXHJcbiAgICAgICdrbyc6ICfqtbDtnpDrk5wg7IKs7JuQKOyYgeybhSknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HlubPljp/luJXmiIjlsJTotZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnRGllIEdvbGRlbmUgRWJlbmUgdm9uIFBhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2VuJzogJ1BhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBwcmFpcmllIGRlIFBhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2phJzogJ+m7hOmHkeW5s+WOnyDjg5Hjgqzjg6vjgrbjg7MnLFxyXG4gICAgICAna28nOiAn7YyM6riA64uoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQxNSxcclxuICAgICdvZmZzZXRZJzogLTExMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya5a6Y5pa56ZSm5qCH6LWbJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogTWFuZGVydmlsbGUtVHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgT3BlbiBUb3VybmFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1RvdXJub2kgb2ZmaWNpZWwgZGUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqrjg5XjgqPjgrfjg6Pjg6vjg4jjg7zjg4rjg6Hjg7Pjg4gnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog6rO17IudIO2GoOuEiOuovO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrplKbmoIfotZvlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBQcml2YXR0dXJuaWVyJyxcclxuICAgICAgJ2VuJzogJ1RyaXBsZSBUcmlhZCBJbnZpdGF0aW9uYWwgUGFybG9yJyxcclxuICAgICAgJ2ZyJzogJ1NhbGxlIGRlIHRvdXJub2kgbGlicmUgZGUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqvjgrnjgr/jg6Djg4jjg7zjg4rjg6Hjg7Pjg4jjg6vjg7zjg6AnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog7Lmc7ISgIO2GoOuEiOuovO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gVW1icmEnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogVW1icmEnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gTnXDqWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIExpdGFuZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogTGl0YW55JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIExpdGFuaWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMicsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEFuYW1vcnBob3NlJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEFuYW1vcnBob3NpcycsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlho3nlJ/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gRXdpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogRXRlcm5pdHknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gw4l0ZXJuaXTDqScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlho3nlJ/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzEsXHJcbiAgICAnb2Zmc2V0WSc6IDIzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gVW1icmEgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogVW1icmEgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gTnXDqWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIExpdGFuZWkgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogTGl0YW55IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIExpdGFuaWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEFuYW1vcnBob3NlIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEFuYW1vcnBob3NpcyAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBBbmFtb3JwaG9zZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gRXdpZ2tlaXQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogRXRlcm5pdHkgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gw4l0ZXJuaXTDqSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiA3NSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXmjZXojrfkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRpbGxhYyBkZXMgQ2lycnVzJyxcclxuICAgICAgJ2phJzogJ+ODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfri6TsnbTslYTrqqzrk5wg7Juo7Y+wIO2PrO2ajeyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mSu+efs+elnuWFteeLguaDs+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdEaWFtYW50YmxpdHogLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnVGhlIENsb3VkIERlY2sgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRpbGxhYyBkZXMgQ2lycnVzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OA44Kk44Ok44Km44Kn44Od44Oz5o2V542y5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDri6TsnbTslYTrqqzrk5wg7Juo7Y+wIO2PrO2ajeyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W8guW9oualvOmYgeS9kOeJueWhlCcsXHJcbiAgICAgICdkZSc6ICdEZXIgVHVybSB2b24gWm90JyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBab3QnLFxyXG4gICAgICAnZnInOiAnTGEgdG91ciBkZSBab3R0JyxcclxuICAgICAgJ2phJzogJ+eVsOW9oualvOmWoyDjgr7jg4Pjg4jjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTUwLFxyXG4gICAgJ29mZnNldFknOiAtNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5bm75ben5oiYJyxcclxuICAgICAgJ2RlJzogJ1RyYXVtcHLDvGZ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTGUgTm9tYnJpbCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgOTU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WogeWwlOW4g+WFsOW+t+aJrOW4hui1t+iIqicsXHJcbiAgICAgICdkZSc6ICdHdXRlIFdpbmRlIGbDvHIgVnlsYnJhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IFNoaXAgVnlsYnJhbmQnLFxyXG4gICAgICAnZnInOiAnVW4gbmF2aXJlIG5vbW3DqSBWeWxicmFuZCcsXHJcbiAgICAgICdqYSc6ICfjg5DjgqTjg6vjg5bjg6njg7Pjg4njga7oiLnlh7onLFxyXG4gICAgICAna28nOiAn67CU7J2867iM656c65OcIOy2nO2VrScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7kvZHlpbPnjosnLFxyXG4gICAgICAnZGUnOiAnSGluYWIgaW4gZGllIFJ1aW5lbicsXHJcbiAgICAgICdlbic6ICdGaXQgZm9yIGEgUXVlZW4nLFxyXG4gICAgICAnZnInOiAnUXVlIGxlcyBEaWV1eCBnYXJkZW50IGxhIFJlaW5lJyxcclxuICAgICAgJ2phJzogJ+OCtOODg+ODieODu+OCu+OCpOODluODu+OCtuODu+OCr+OCpOODvOODsycsXHJcbiAgICAgICdrbyc6ICfqsJMg7IS47J2067iMIOuNlCDtgLgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Njoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/t+a0pScsXHJcbiAgICAgICdkZSc6ICdMYWJ5cmludGhvcycsXHJcbiAgICAgICdlbic6ICdMYWJ5cmludGhvcycsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhvcycsXHJcbiAgICAgICdqYSc6ICfjg6njg7TjgqPjg6rjg7Pjgr3jgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMxLFxyXG4gIH0sXHJcbiAgOTU3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo57u05aWI5bKbJyxcclxuICAgICAgJ2RlJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2ZyJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2phJzogJ+OCteODmeODjeOCouWzticsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzIsXHJcbiAgfSxcclxuICA5NTg6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliqDpm7fpqawnLFxyXG4gICAgICAnZGUnOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2VuJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdmcic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnamEnOiAn44Ks44Os44Oe44Or44OJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMyxcclxuICB9LFxyXG4gIDk1OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WPueaBr+a1tycsXHJcbiAgICAgICdkZSc6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnZW4nOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2ZyJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdqYSc6ICflmIbjgY3jga7mtbcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM1LFxyXG4gIH0sXHJcbiAgOTYwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5aSW5aSp5Z6TJyxcclxuICAgICAgJ2RlJzogJ1VsdGltYSBUaHVsZScsXHJcbiAgICAgICdlbic6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZnInOiAnVWx0aW1hIFRodWzDqScsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg4bjgqPjg57jg7vjg4jjgqXjg7zjg6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM2LFxyXG4gIH0sXHJcbiAgOTYxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6E5bCU5bqH5pavJyxcclxuICAgICAgJ2RlJzogJ0VscGlzJyxcclxuICAgICAgJ2VuJzogJ0VscGlzJyxcclxuICAgICAgJ2ZyJzogJ0VscGlzJyxcclxuICAgICAgJ2phJzogJ+OCqOODq+ODlOOCuScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICA5NjI6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6fokKjpm7flroknLFxyXG4gICAgICAnZGUnOiAnQWx0LVNoYXJsYXlhbicsXHJcbiAgICAgICdlbic6ICdPbGQgU2hhcmxheWFuJyxcclxuICAgICAgJ2ZyJzogJ1ZpZWlsbGUgU2hhcmxheWFuJyxcclxuICAgICAgJ2phJzogJ+OCquODvOODq+ODieODu+OCt+ODo+ODvOODrOOCouODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzcsXHJcbiAgfSxcclxuICA5NjM6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nmnK3nvZUnLFxyXG4gICAgICAnZGUnOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnZW4nOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnZnInOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnamEnOiAn44Op44K244OP44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOCxcclxuICB9LFxyXG4gIDk2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIzmnJvkuYvngq7lj7DvvJrigJzloZTigJ0nLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0sIFBhcmFkaWdtZW5icmVjaGVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBhdCBQYXJhZGlnbVxcJ3MgQnJlYWNoJyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgbGEgQ29udGluZ2VuY2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44OO56Cy5Y+w77ya44CM5aGU44CNJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDtj6zrjIA6IFxcJ+2DkVxcJycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA4MDgsXHJcbiAgICAnb2Zmc2V0WSc6IC03NzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Njc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluJ3lm73mtbfkuIrln7rlnLDlubLoiLnlnZ4nLFxyXG4gICAgICAnZGUnOiAnVHJvY2tlbmRvY2sgdm9uIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1hcmludW0gRHJ5ZG9ja3MnLFxyXG4gICAgICAnZnInOiAnQ2FsZSBzw6hjaGUgZGUgQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2phJzogJ+OCq+OCueODhuODg+ODq+ODoOODu+ODnuODquODjOODoOODu+ODieODqeOCpOODieODg+OCrycsXHJcbiAgICAgICdrbyc6ICfsubTsiqTtirjro7gg66eI66as64iUIOqxtOyEoOqxsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWvvOelnumXqOW3tOWIq+WhlCcsXHJcbiAgICAgICdkZSc6ICdEZXIgVHVybSB2b24gQmFiaWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRvd2VyIG9mIEJhYmlsJyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgQmFiaWwnLFxyXG4gICAgICAnamEnOiAn6a2U5bCO56We6ZaAIOODkOODluOCpOODq+OBruWhlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNzAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgOTcwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acq+aXpeagkea1t+S4h+ebuOajruWbvScsXHJcbiAgICAgICdkZSc6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnZW4nOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2ZyJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvmqLnmtbcg44O044Kh44OK44K544OR44OG44KjJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI4MCxcclxuICAgICdvZmZzZXRZJzogOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQxLFxyXG4gIH0sXHJcbiAgOTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gTGV2aWF0aGFuJyxcclxuICAgICAgJ2VuJzogJ1RoZSA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+IChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744Oq44O044Kh44Kk44Ki44K144Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDrpqzrsJTsnbTslrTshKAg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM4LFxyXG4gIH0sXHJcbiAgOTczOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acgOe7iOW5u+aDs+acq+S4lue7iOi/uScsXHJcbiAgICAgICdkZSc6ICdEYXMgU3Rlcm5lbmdyYWInLFxyXG4gICAgICAnZW4nOiAnVGhlIERlYWQgRW5kcycsXHJcbiAgICAgICdmcic6ICdMXFwnSXNzdWUgYXV4IEltcGFzc2VzJyxcclxuICAgICAgJ2phJzogJ+acgOe1guW5u+aDsyDjg6zjg6Djg4rjg7Pjg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTMxMCxcclxuICAgICdvZmZzZXRZJzogMTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NCxcclxuICB9LFxyXG4gIDk3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliJvpgKDnjq/looPmnoHljJfpgKDnianpmaInLFxyXG4gICAgICAnZGUnOiAnS3Rpc2lzIEh5cGVyYm9yZWlhJyxcclxuICAgICAgJ2VuJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwZXJib3LDqWUnLFxyXG4gICAgICAnamEnOiAn5Ym16YCg55Kw5aKDIOODkuODpeODmuODq+ODnOODrOOCoumAoOeJqemZoicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MCxcclxuICAgICdvZmZzZXRZJzogLTE1MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omO5p2c6K+65bCU6auY5Y6fJyxcclxuICAgICAgJ2RlJzogJ1phZG5vci1Ib2NoZWJlbmUnLFxyXG4gICAgICAnZW4nOiAnWmFkbm9yJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRzIHBsYXRlYXV4IGRlIFphZG5vcicsXHJcbiAgICAgICdqYSc6ICfjgrbjg4jjgqXjg47jg6vpq5jljp8nLFxyXG4gICAgICAna28nOiAn7J6Q7Yq464W466W0IOqzoOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzAsXHJcbiAgfSxcclxuICA5NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5Zut6YO95biC56yR56yR6ZWHJyxcclxuICAgICAgJ2RlJzogJ1NtaWxldG9uJyxcclxuICAgICAgJ2VuJzogJ1NtaWxldG9uJyxcclxuICAgICAgJ2ZyJzogJ1Jpc2V0dGUtc3VyLWx1bmUnLFxyXG4gICAgICAnamEnOiAn5qW95ZyS6YO95biCIOOCueODnuOCpOODq+ODiOODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMjIsXHJcbiAgICAnb2Zmc2V0WSc6IC00MixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk3Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvmlpfoh7Ppu47mmI4nLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgaW0gTW9yZ2VuZ3JhdWVuJyxcclxuICAgICAgJ2VuJzogJ0RlYXRoIFVudG8gRGF3bicsXHJcbiAgICAgICdmcic6ICdBdWJlIG1ldXJ0cmnDqHJlJyxcclxuICAgICAgJ2phJzogJ+m7juaYjuOBruatu+mXmCcsXHJcbiAgICAgICdrbyc6ICfsl6zrqoXsnZgg7IKs7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNCxcclxuICB9LFxyXG4gIDk3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfmt7Hlub3lr7vlm6DmmJ/mmbbplZwnLFxyXG4gICAgICAnZGUnOiAnRGFzIEFpdGlhc2tvcCcsXHJcbiAgICAgICdlbic6ICdUaGUgQWl0aWFzY29wZScsXHJcbiAgICAgICdmcic6ICdMZSBQcmlzbWUgZGUgbFxcJ0FpdGlhJyxcclxuICAgICAgJ2phJzogJ+aYn+a1t+a9nOiIqiDjgqLjgqTjg4bjgqPjgqrjg7PmmJ/mmbbpj6EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogOCxcclxuICAgICdvZmZzZXRZJzogLTUwMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk4Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnlLXohJHmoqblooPmlq/mj5DmoLznjpvlm5snLFxyXG4gICAgICAnZGUnOiAnU3RpZ21hLUhvbG9tZXRyaWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN0aWdtYSBEcmVhbXNjYXBlJyxcclxuICAgICAgJ2ZyJzogJ1LDqnZlIMOpbGVjdHJpcXVlIGRlIFN0aWdtYS00JyxcclxuICAgICAgJ2phJzogJ+mbu+iEs+WkouaDsyDjgrnjg4bjgqPjgrDjg57jg7vjg5Xjgqnjg7wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTQ0LFxyXG4gICAgJ29mZnNldFknOiAtMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MCxcclxuICB9LFxyXG4gIDk5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvZDov6rkuprlhYvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgRGFyayBJbnNpZGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIE1hcnR5cnMnLFxyXG4gICAgICAnamEnOiAn44K+44OH44Kj44Ki44O844Kv6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvZDov6rkuprlhYvmmp3mmpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnRXNjaGF0b3MgLSBab2RpYXJrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBab2RpYXJrXFwncyBGYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K+44OH44Kj44Ki44O844Kv6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ruR56i954G15q6/6Ze56ay855ub5a60JyxcclxuICAgICAgJ2RlJzogJ0x1c3RpZ2VzIEJhbmtldHQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBoYW50b21zXFwnIEZlYXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIGJhbnF1ZXQgY2F1Y2hlbWFyZGVzcXVlJyxcclxuICAgICAgJ2phJzogJ+mBk+WMlumll+WutCDjg5vjg7zjg7Pjg4bjg4Pjg4njg5XjgqPjg7zjgrnjg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjAsXHJcbiAgICAnb2Zmc2V0WSc6IDEwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdQcm9waGV0aWUgLSBIeWRhZWx5bicsXHJcbiAgICAgICdlbic6ICdUaGUgTW90aGVyY3J5c3RhbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODh+ODquODs+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35b635p6X5pmW5YWJ5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEh5ZGFlbHluXFwncyBDYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyaXN0YWwtbcOocmUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7iOe7k+S5i+aImCcsXHJcbiAgICAgICdkZSc6ICdQcm9waGV0aWUgLSBFbmRzw6RuZ2VyaW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIERheScsXHJcbiAgICAgICdmcic6ICdMZSBSw6lwb25zIGZpbmFsJyxcclxuICAgICAgJ2phJzogJ+e1gueEieOBruaIpuOBhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTYsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsImltcG9ydCB7IFpvbmVJZFR5cGUgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBab25lSWQgZnJvbSAnLi96b25lX2lkJztcclxuXHJcbi8vIE9yZGVyZWQgYXMgcGVyIGR1dHkgZmluZGVyLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIG9yZGVyaW5nIGZvclxyXG4vLyBhbnkgdWkgdGhhdCBpcyBkZWFsaW5nIHdpdGggbXVsdGlwbGUgem9uZXMgLyB0cmlnZ2Vycy5cclxuLy9cclxuLy8gVGhlc2UgYXJlIG5vdCB0aGluZ3MgdGhhdCBjYWN0Ym90IG5lY2Vzc2FyaWx5IHN1cHBvcnRzLCBidXQgdGhpbmdzIHRoYXQgaXRcclxuLy8gdGhlb3JldGljYWxseSBjb3VsZCBiZSBzdXBwb3J0aW5nIGluIHRoZSBmdXR1cmUgd2l0aCByYWlkYm9zcyBhbmQgb29wc3kuXHJcblxyXG5jb25zdCBjb250ZW50TGlzdDogKFpvbmVJZFR5cGUpW10gPSBbXHJcbiAgLy8gR2VuZXJhbCAoY2FjdGJvdCBjdXN0b20gem9uZSBpZClcclxuICBab25lSWQuTWF0Y2hBbGwsXHJcblxyXG4gIC8vIER1bmdlb25zIChBIFJlYWxtIFJlYm9ybilcclxuICBab25lSWQuU2FzdGFzaGEsXHJcbiAgWm9uZUlkLlRoZVRhbVRhcmFEZWVwY3JvZnQsXHJcbiAgWm9uZUlkLkNvcHBlcmJlbGxNaW5lcyxcclxuICBab25lSWQuSGFsYXRhbGksXHJcbiAgWm9uZUlkLlRoZVRob3VzYW5kTWF3c09mVG90b1JhayxcclxuICBab25lSWQuSGF1a2tlTWFub3IsXHJcbiAgWm9uZUlkLkJyYXlmbG94c0xvbmdzdG9wLFxyXG4gIFpvbmVJZC5UaGVTdW5rZW5UZW1wbGVPZlFhcm4sXHJcbiAgWm9uZUlkLkN1dHRlcnNDcnksXHJcbiAgWm9uZUlkLlRoZVN0b25lVmlnaWwsXHJcbiAgWm9uZUlkLkR6ZW1hZWxEYXJraG9sZCxcclxuICBab25lSWQuVGhlQXVydW1WYWxlLFxyXG4gIFpvbmVJZC5UaGVXYW5kZXJlcnNQYWxhY2UsXHJcbiAgWm9uZUlkLkNhc3RydW1NZXJpZGlhbnVtLFxyXG4gIFpvbmVJZC5UaGVQcmFldG9yaXVtLFxyXG4gIFpvbmVJZC5BbWRhcG9yS2VlcCxcclxuICBab25lSWQuUGhhcm9zU2lyaXVzLFxyXG4gIFpvbmVJZC5Db3BwZXJiZWxsTWluZXNIYXJkLFxyXG4gIFpvbmVJZC5IYXVra2VNYW5vckhhcmQsXHJcbiAgWm9uZUlkLlRoZUxvc3RDaXR5T2ZBbWRhcG9yLFxyXG4gIFpvbmVJZC5IYWxhdGFsaUhhcmQsXHJcbiAgWm9uZUlkLkJyYXlmbG94c0xvbmdzdG9wSGFyZCxcclxuICBab25lSWQuSHVsbGJyZWFrZXJJc2xlLFxyXG4gIFpvbmVJZC5UaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCxcclxuICBab25lSWQuVGhlU3RvbmVWaWdpbEhhcmQsXHJcbiAgWm9uZUlkLlNub3djbG9hayxcclxuICBab25lSWQuU2FzdGFzaGFIYXJkLFxyXG4gIFpvbmVJZC5UaGVTdW5rZW5UZW1wbGVPZlFhcm5IYXJkLFxyXG4gIFpvbmVJZC5UaGVLZWVwZXJPZlRoZUxha2UsXHJcbiAgWm9uZUlkLlRoZVdhbmRlcmVyc1BhbGFjZUhhcmQsXHJcbiAgWm9uZUlkLkFtZGFwb3JLZWVwSGFyZCxcclxuXHJcbiAgLy8gRHVuZ2VvbnMgKEhlYXZlbnN3YXJkKVxyXG4gIFpvbmVJZC5UaGVEdXNrVmlnaWwsXHJcbiAgWm9uZUlkLlNvaG1BbCxcclxuICBab25lSWQuVGhlQWVyeSxcclxuICBab25lSWQuVGhlVmF1bHQsXHJcbiAgWm9uZUlkLlRoZUdyZWF0R3ViYWxMaWJyYXJ5LFxyXG4gIFpvbmVJZC5UaGVBZXRoZXJvY2hlbWljYWxSZXNlYXJjaEZhY2lsaXR5LFxyXG4gIFpvbmVJZC5OZXZlcnJlYXAsXHJcbiAgWm9uZUlkLlRoZUZyYWN0YWxDb250aW51dW0sXHJcbiAgWm9uZUlkLlNhaW50TW9jaWFubmVzQXJib3JldHVtLFxyXG4gIFpvbmVJZC5QaGFyb3NTaXJpdXNIYXJkLFxyXG4gIFpvbmVJZC5UaGVBbnRpdG93ZXIsXHJcbiAgWm9uZUlkLlRoZUxvc3RDaXR5T2ZBbWRhcG9ySGFyZCxcclxuICBab25lSWQuU29ocktoYWksXHJcbiAgWm9uZUlkLkh1bGxicmVha2VySXNsZUhhcmQsXHJcbiAgWm9uZUlkLlhlbHBoYXRvbCxcclxuICBab25lSWQuVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkLFxyXG4gIFpvbmVJZC5CYWVsc2Fyc1dhbGwsXHJcbiAgWm9uZUlkLlNvaG1BbEhhcmQsXHJcblxyXG4gIC8vIER1bmdlb25zIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVTaXJlbnNvbmdTZWEsXHJcbiAgWm9uZUlkLlNoaXN1aU9mVGhlVmlvbGV0VGlkZXMsXHJcbiAgWm9uZUlkLkJhcmRhbXNNZXR0bGUsXHJcbiAgWm9uZUlkLkRvbWFDYXN0bGUsXHJcbiAgWm9uZUlkLkNhc3RydW1BYmFuaWEsXHJcbiAgWm9uZUlkLkFsYU1oaWdvLFxyXG4gIFpvbmVJZC5LdWdhbmVDYXN0bGUsXHJcbiAgWm9uZUlkLlRoZVRlbXBsZU9mVGhlRmlzdCxcclxuICBab25lSWQuVGhlRHJvd25lZENpdHlPZlNrYWxsYSxcclxuICBab25lSWQuSGVsbHNMaWQsXHJcbiAgWm9uZUlkLlRoZUZyYWN0YWxDb250aW51dW1IYXJkLFxyXG4gIFpvbmVJZC5UaGVTd2FsbG93c0NvbXBhc3MsXHJcbiAgWm9uZUlkLlRoZUJ1cm4sXHJcbiAgWm9uZUlkLlNhaW50TW9jaWFubmVzQXJib3JldHVtSGFyZCxcclxuICBab25lSWQuVGhlR2hpbWx5dERhcmssXHJcblxyXG4gIC8vIER1bmdlb25zIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuSG9sbWluc3RlclN3aXRjaCxcclxuICBab25lSWQuRG9obk1oZWcsXHJcbiAgWm9uZUlkLlRoZVFpdGFuYVJhdmVsLFxyXG4gIFpvbmVJZC5NYWxpa2Foc1dlbGwsXHJcbiAgWm9uZUlkLk10R3VsZyxcclxuICBab25lSWQuQW1hdXJvdCxcclxuICBab25lSWQuVGhlVHdpbm5pbmcsXHJcbiAgWm9uZUlkLkFrYWRhZW1pYUFueWRlcixcclxuICBab25lSWQuVGhlR3JhbmRDb3Ntb3MsXHJcbiAgWm9uZUlkLkFuYW1uZXNpc0FueWRlcixcclxuICBab25lSWQuVGhlSGVyb2VzR2F1bnRsZXQsXHJcbiAgWm9uZUlkLk1hdG95YXNSZWxpY3QsXHJcbiAgWm9uZUlkLlBhZ2x0aGFuLFxyXG5cclxuICAvLyBEdW5nZW9ucyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5UaGVUb3dlck9mWm90LFxyXG4gIFpvbmVJZC5UaGVUb3dlck9mQmFiaWwsXHJcbiAgWm9uZUlkLlZhbmFzcGF0aSxcclxuICBab25lSWQuS3Rpc2lzSHlwZXJib3JlaWEsXHJcbiAgWm9uZUlkLlRoZUFpdGlhc2NvcGUsXHJcbiAgWm9uZUlkLlRoZURlYWRFbmRzLFxyXG4gIFpvbmVJZC5TbWlsZXRvbixcclxuICBab25lSWQuVGhlU3RpZ21hRHJlYW1zY2FwZSxcclxuXHJcbiAgLy8gR3VpbGRoZXN0c1xyXG4gIFpvbmVJZC5CYXNpY1RyYWluaW5nRW5lbXlQYXJ0aWVzLFxyXG4gIFpvbmVJZC5VbmRlclRoZUFybW9yLFxyXG4gIFpvbmVJZC5CYXNpY1RyYWluaW5nRW5lbXlTdHJvbmdob2xkcyxcclxuICBab25lSWQuSGVyb09uVGhlSGFsZlNoZWxsLFxyXG4gIFpvbmVJZC5QdWxsaW5nUG9pc29uUG9zaWVzLFxyXG4gIFpvbmVJZC5TdGluZ2luZ0JhY2ssXHJcbiAgWm9uZUlkLkFsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwsXHJcbiAgWm9uZUlkLkZsaWNraW5nU3RpY2tzQW5kVGFraW5nTmFtZXMsXHJcbiAgWm9uZUlkLk1vcmVUaGFuQUZlZWxlcixcclxuICBab25lSWQuQW5ub3lUaGVWb2lkLFxyXG4gIFpvbmVJZC5TaGFkb3dBbmRDbGF3LFxyXG4gIFpvbmVJZC5Mb25nTGl2ZVRoZVF1ZWVuLFxyXG4gIFpvbmVJZC5XYXJkVXAsXHJcbiAgWm9uZUlkLlNvbGVtblRyaW5pdHksXHJcblxyXG4gIC8vIFRyaWFscyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZUJvd2xPZkVtYmVycyxcclxuICBab25lSWQuVGhlTmF2ZWwsXHJcbiAgWm9uZUlkLlRoZUhvd2xpbmdFeWUsXHJcbiAgWm9uZUlkLkNhcGVXZXN0d2luZCxcclxuICBab25lSWQuVGhlQ2hyeXNhbGlzLFxyXG4gIFpvbmVJZC5UaGVTdGVwc09mRmFpdGgsXHJcbiAgWm9uZUlkLkFSZWxpY1JlYm9yblRoZUNoaW1lcmEsXHJcbiAgWm9uZUlkLkFSZWxpY1JlYm9yblRoZUh5ZHJhLFxyXG4gIFpvbmVJZC5CYXR0bGVPblRoZUJpZ0JyaWRnZSxcclxuICBab25lSWQuVGhlRHJhZ29uc05lY2ssXHJcbiAgWm9uZUlkLkJhdHRsZUluVGhlQmlnS2VlcCxcclxuICBab25lSWQuVGhlQm93bE9mRW1iZXJzSGFyZCxcclxuICBab25lSWQuVGhlSG93bGluZ0V5ZUhhcmQsXHJcbiAgWm9uZUlkLlRoZU5hdmVsSGFyZCxcclxuICBab25lSWQuVGhvcm5tYXJjaEhhcmQsXHJcbiAgWm9uZUlkLlRoZVdob3JsZWF0ZXJIYXJkLFxyXG4gIFpvbmVJZC5UaGVTdHJpa2luZ1RyZWVIYXJkLFxyXG4gIFpvbmVJZC5UaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCxcclxuICBab25lSWQuVXJ0aHNGb3VudCxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChBIFJlYWxtIFJlYm9ybilcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkVWx0aW1hc0JhbmUsXHJcbiAgWm9uZUlkLlRoZUhvd2xpbmdFeWVFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVOYXZlbEV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZUJvd2xPZkVtYmVyc0V4dHJlbWUsXHJcbiAgWm9uZUlkLlRob3JubWFyY2hFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVXaG9ybGVhdGVyRXh0cmVtZSxcclxuICBab25lSWQuVGhlU3RyaWtpbmdUcmVlRXh0cmVtZSxcclxuICBab25lSWQuVGhlQWtoQWZhaEFtcGhpdGhlYXRyZUV4dHJlbWUsXHJcblxyXG4gIC8vIFRyaWFscyAoSGVhdmVuc3dhcmQpXHJcbiAgWm9uZUlkLlRob2tBc3RUaG9rSGFyZCxcclxuICBab25lSWQuVGhlTGltaXRsZXNzQmx1ZUhhcmQsXHJcbiAgWm9uZUlkLlRoZVNpbmd1bGFyaXR5UmVhY3RvcixcclxuICBab25lSWQuVGhlRmluYWxTdGVwc09mRmFpdGgsXHJcbiAgWm9uZUlkLkNvbnRhaW5tZW50QmF5UzFUNyxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlQMVQ2LFxyXG4gIFpvbmVJZC5Db250YWlubWVudEJheVoxVDksXHJcblxyXG4gIC8vIEhpZ2gtZW5kIFRyaWFscyAoSGVhdmVuc3dhcmQpXHJcbiAgWm9uZUlkLlRoZUxpbWl0bGVzc0JsdWVFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaG9rQXN0VGhva0V4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFRob3JkYW5zUmVpZ24sXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZE5pZGhvZ2dzUmFnZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlQMVQ2RXh0cmVtZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlaMVQ5RXh0cmVtZSxcclxuXHJcbiAgLy8gVHJpYWxzIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVQb29sT2ZUcmlidXRlLFxyXG4gIFpvbmVJZC5FbWFuYXRpb24sXHJcbiAgWm9uZUlkLlRoZVJveWFsTWVuYWdlcmllLFxyXG4gIFpvbmVJZC5DYXN0cnVtRmx1bWluaXMsXHJcbiAgWm9uZUlkLkt1Z2FuZU9oYXNoaSxcclxuICBab25lSWQuVGhlR3JlYXRIdW50LFxyXG4gIFpvbmVJZC5UaGVKYWRlU3RvYSxcclxuICBab25lSWQuSGVsbHNLaWVyLFxyXG4gIFpvbmVJZC5UaGVXcmVhdGhPZlNuYWtlcyxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVQb29sT2ZUcmlidXRlRXh0cmVtZSxcclxuICBab25lSWQuRW1hbmF0aW9uRXh0cmVtZSxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkU2hpbnJ5dXNEb21haW4sXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFRzdWt1eW9taXNQYWluLFxyXG4gIFpvbmVJZC5UaGVHcmVhdEh1bnRFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVKYWRlU3RvYUV4dHJlbWUsXHJcbiAgWm9uZUlkLkhlbGxzS2llckV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZVdyZWF0aE9mU25ha2VzRXh0cmVtZSxcclxuXHJcbiAgLy8gVHJpYWxzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuVGhlRGFuY2luZ1BsYWd1ZSxcclxuICBab25lSWQuVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGUsXHJcbiAgWm9uZUlkLlRoZUR5aW5nR2FzcCxcclxuICBab25lSWQuQ2luZGVyRHJpZnQsXHJcbiAgWm9uZUlkLlRoZVNlYXRPZlNhY3JpZmljZSxcclxuICBab25lSWQuQ2FzdHJ1bU1hcmludW0sXHJcbiAgWm9uZUlkLlRoZUNsb3VkRGVjayxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuVGhlRGFuY2luZ1BsYWd1ZUV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZUNyb3duT2ZUaGVJbW1hY3VsYXRlRXh0cmVtZSxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkSGFkZXNzRWxlZ3ksXHJcbiAgWm9uZUlkLkNpbmRlckRyaWZ0RXh0cmVtZSxcclxuICBab25lSWQuTWVtb3JpYU1pc2VyYUV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUsXHJcbiAgWm9uZUlkLkNhc3RydW1NYXJpbnVtRXh0cmVtZSxcclxuICBab25lSWQuVGhlQ2xvdWREZWNrRXh0cmVtZSxcclxuICBab25lSWQuVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCxcclxuICBab25lSWQuVGhlTmF2ZWxVbnJlYWwsXHJcbiAgWm9uZUlkLlRoZVdob3JsZWF0ZXJVbnJlYWwsXHJcblxyXG4gIC8vIFRyaWFscyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5UaGVEYXJrSW5zaWRlLFxyXG4gIFpvbmVJZC5UaGVNb3RoZXJjcnlzdGFsLFxyXG4gIFpvbmVJZC5UaGVGaW5hbERheSxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChFbmR3YWxrZXIpXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFpvZGlhcmtzRmFsbCxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKEEgUmVhbG0gUmVib3JuKVxyXG4gIFpvbmVJZC5UaGVMYWJ5cmludGhPZlRoZUFuY2llbnRzLFxyXG4gIFpvbmVJZC5TeXJjdXNUb3dlcixcclxuICBab25lSWQuVGhlV29ybGRPZkRhcmtuZXNzLFxyXG5cclxuICAvLyBSYWlkcyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjEsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjIsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjMsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjQsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjUsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMSxcclxuICBab25lSWQuVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4yLFxyXG4gIFpvbmVJZC5UaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjMsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuNCxcclxuICBab25lSWQuVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjEsXHJcbiAgWm9uZUlkLlRoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4yLFxyXG4gIFpvbmVJZC5UaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMyxcclxuICBab25lSWQuVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjQsXHJcblxyXG4gIC8vIFNhdmFnZSBSYWlkcyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSxcclxuICBab25lSWQuVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yLFxyXG4gIFpvbmVJZC5UaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKEhlYXZlbnN3YXJkKVxyXG4gIFpvbmVJZC5UaGVWb2lkQXJrLFxyXG4gIFpvbmVJZC5UaGVXZWVwaW5nQ2l0eU9mTWhhY2gsXHJcbiAgWm9uZUlkLkR1blNjYWl0aCxcclxuXHJcbiAgLy8gTm9ybWFsIFJhaWRzIChIZWF2ZW5zd2FyZClcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXIsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24sXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlU29uLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbixcclxuICBab25lSWQuQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvcixcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChIZWF2ZW5zd2FyZClcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXJTYXZhZ2UsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb25TYXZhZ2UsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvblNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvclNhdmFnZSxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKFN0b3JtYmxvb2QpXHJcbiAgWm9uZUlkLlRoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSxcclxuICBab25lSWQuVGhlUmlkb3JhbmFMaWdodGhvdXNlLFxyXG4gIFpvbmVJZC5UaGVPcmJvbm5lTW9uYXN0ZXJ5LFxyXG5cclxuICAvLyBOb3JtYWwgUmFpZHMgKFN0b3JtYmxvb2QpXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMTAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMjAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMzAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWNDAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMTAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMjAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMzAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWNDAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMTAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMjAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMzAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWNDAsXHJcblxyXG4gIC8vIFNhdmFnZSBSYWlkcyAoU3Rvcm1ibG9vZClcclxuICBab25lSWQuRGVsdGFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVY0MFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVY0MFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVY0MFNhdmFnZSxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKFNoYWRvd2JyaW5nZXJzKVxyXG4gIFpvbmVJZC5UaGVDb3BpZWRGYWN0b3J5LFxyXG4gIFpvbmVJZC5UaGVQdXBwZXRzQnVua2VyLFxyXG4gIFpvbmVJZC5UaGVUb3dlckF0UGFyYWRpZ21zQnJlYWNoLFxyXG5cclxuICAvLyBOb3JtYWwgUmFpZHMgKFNoYWRvd2JyaW5nZXJzKVxyXG4gIFpvbmVJZC5FZGVuc0dhdGVSZXN1cnJlY3Rpb24sXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZURlc2NlbnQsXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZUludW5kYXRpb24sXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZVNlcHVsdHVyZSxcclxuICBab25lSWQuRWRlbnNWZXJzZUZ1bG1pbmF0aW9uLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlRnVyb3IsXHJcbiAgWm9uZUlkLkVkZW5zVmVyc2VJY29ub2NsYXNtLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlUmVmdWxnZW5jZSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlVW1icmEsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZUxpdGFueSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzLFxyXG4gIFpvbmVJZC5FZGVuc1Byb21pc2VFdGVybml0eSxcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVEZXNjZW50U2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVJbnVuZGF0aW9uU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVTZXB1bHR1cmVTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zVmVyc2VGdWxtaW5hdGlvblNhdmFnZSxcclxuICBab25lSWQuRWRlbnNWZXJzZUZ1cm9yU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlSWNvbm9jbGFzbVNhdmFnZSxcclxuICBab25lSWQuRWRlbnNWZXJzZVJlZnVsZ2VuY2VTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZVVtYnJhU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZUFuYW1vcnBob3Npc1NhdmFnZSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlRXRlcm5pdHlTYXZhZ2UsXHJcblxyXG4gIC8vIE5vcm1hbCBSYWlkcyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5Bc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGUsXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVTZWNvbmRDaXJjbGUsXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSxcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChFbmR3YWxrZXIpXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVGaXJzdENpcmNsZVNhdmFnZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlU2F2YWdlLFxyXG4gIFpvbmVJZC5Bc3Bob2RlbG9zVGhlRm91cnRoQ2lyY2xlU2F2YWdlLFxyXG5cclxuICAvLyBVbHRpbWF0ZSBSYWlkc1xyXG4gIFpvbmVJZC5UaGVVbmVuZGluZ0NvaWxPZkJhaGFtdXRVbHRpbWF0ZSxcclxuICBab25lSWQuVGhlV2VhcG9uc1JlZnJhaW5VbHRpbWF0ZSxcclxuICBab25lSWQuVGhlRXBpY09mQWxleGFuZGVyVWx0aW1hdGUsXHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb250ZW50TGlzdDtcclxuIiwiaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuXHJcbmNvbnN0IGRlZmF1bHRDb25maWdDb25maWdPcHRpb25zID0ge1xyXG4gIENhY3Rib3RVc2VyRGlyZWN0b3J5OiAnJyxcclxuICBTaG93RGV2ZWxvcGVyT3B0aW9uczogZmFsc2UsXHJcbn07XHJcbnR5cGUgQ29uZmlnQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0Q29uZmlnQ29uZmlnT3B0aW9ucztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyBleHRlbmRzIEJhc2VPcHRpb25zLCBDb25maWdDb25maWdPcHRpb25zIHt9XHJcblxyXG5jb25zdCBPcHRpb25zOiBDb25maWdPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdENvbmZpZ0NvbmZpZ09wdGlvbnMsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBPcHRpb25zO1xyXG4iLCJpbXBvcnQgeyBpc0xhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuXHJcblVzZXJDb25maWcucmVnaXN0ZXJPcHRpb25zKCdnZW5lcmFsJywge1xyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdDYWN0Ym90VXNlckRpcmVjdG9yeScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0NhY3Rib3QgdXNlciBkaXJlY3RvcnknLFxyXG4gICAgICAgIGRlOiAnQ2FjdGJvdCBCZW51dHplcnZlcnplaWNobmlzJyxcclxuICAgICAgICBmcjogJ1LDqXBlcnRvaXJlIHV0aWxpc2F0ZXVyIGRlIENhY3Rib3QnLFxyXG4gICAgICAgIGphOiAnQ2FjdGJvdCDjg6bjg7zjgrbjg7zjg4fjgqPjg6zjgq/jg4jjg6onLFxyXG4gICAgICAgIGNuOiAnQ2FjdGJvdCB1c2Vy55uu5b2VJyxcclxuICAgICAgICBrbzogJ0NhY3Rib3Qg7IKs7Jqp7J6QIOuUlOugie2GoOumrCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdkaXJlY3RvcnknLFxyXG4gICAgICBkZWZhdWx0OiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd0RldmVsb3Blck9wdGlvbnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IGRldmVsb3BlciBvcHRpb25zJyxcclxuICAgICAgICBkZTogJ1plaWdlIEVudHdpY2tsZXJvcHRpb25lbicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZXMgb3B0aW9ucyBkw6l2ZWxvcHBldXInLFxyXG4gICAgICAgIGphOiAn6ZaL55m66ICF5ZCR44GR44Kq44OX44K344On44OzJyxcclxuICAgICAgICBjbjogJ+aYvuekuuW8gOWPkeiAhemAiemhuScsXHJcbiAgICAgICAga286ICfqsJzrsJzsnpAg7Ji17IWYIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5TGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEaXNwbGF5IGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0Rpc3BsYXlzcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkXFwnYWZmaWNoYWdlJyxcclxuICAgICAgICBqYTogJ+ihqOekuuiogOiqnicsXHJcbiAgICAgICAgY246ICfmmL7npLror63oqIAnLFxyXG4gICAgICAgIGtvOiAn7KO8IOyCrOyaqSDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3mlocgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAoaXNMYW5nKHZhbHVlKSlcclxuICAgICAgICAgIG9wdGlvbnNbJ0Rpc3BsYXlMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG4iLCJpbXBvcnQgVXNlckNvbmZpZyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdXNlcl9jb25maWcnO1xyXG5cclxuVXNlckNvbmZpZy5yZWdpc3Rlck9wdGlvbnMoJ2V1cmVrYScsIHtcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVidWcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZGVidWcgbW9kZScsXHJcbiAgICAgICAgZGU6ICdBa3RpdmllcmUgRGVidWdtb2R1cycsXHJcbiAgICAgICAgZnI6ICdBY3RpdmVyIGxlIG1vZGUgZGVidWcnLFxyXG4gICAgICAgIGphOiAn44OH44OQ44OD44Kw44Oi44O844OJ44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOiwg+ivleaooeW8jycsXHJcbiAgICAgICAga286ICfrlJTrsoTqt7gg66qo65OcIO2ZnOyEse2ZlCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0ZsYWdUaW1lb3V0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIG9mIGZsYWdzIG9uIHRoZSBtYXAgKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgZGVyIEZsYWdnZW4gYXVmIGRlciBLYXJ0ZSAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkZXMgZHJhcGVhdXggc3VyIGxhIGNhcnRlIGVuIChzKScsXHJcbiAgICAgICAgamE6ICfjg57jg4Pjg5fjgavjg57jg7zjgqvjg7zjga7ooajnpLrmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5Zyw5Zu+5qCH5b+X5pi+56S65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yngOuPhOyXkCDquYPrsJzsnbQg7ZGc7Iuc65CgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDkwLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBsZXQgc2Vjb25kczogbnVtYmVyO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBzZWNvbmRzID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ0ZsYWdUaW1lb3V0TXMnXSA9IHNlY29uZHMgKiAxMDAwO1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdDb21wbGV0ZU5hbWVzU1RRJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHJlZmVyIGNvbXBsZXRlIG5hbWVzIGZvciBTa2lybWlzaGVzL0NyaXRpY2FsIEVuZ2FnZW1lbnRzJyxcclxuICAgICAgICBkZTogJ0Jldm9yenVnZSBrb21wbGV0dGUgTmFtZW4gZsO8ciBTY2hhcm3DvHR6ZWwvS3JpdGlzY2hlIEdlZmVjaHRlJyxcclxuICAgICAgICBmcjogJ1Byw6lmw6lyZXIgbGVzIG5vbXMgY29tcGxldCBwb3VyIGxlcyBFc2Nhcm1vdWNoZXMvQWZmcm9udGVtZW50cyBDcnVjaWF1eCcsXHJcbiAgICAgICAgamE6ICfjgrnjgqvjg7zjg5/jg4Pjgrfjg6UvQ0Xjgavjg5Xjg7zjg6vjg43jg7zjg6DjgpLooajnpLrjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5pi+56S65Yay56qB5oiYL+e0p+aApemBremBh+aImOWFqOWQjScsXHJcbiAgICAgICAga286ICfrj4zrsJwg6rWQ7KCEL+u5hOyDgSDqtZDsoIQg7KSE7J6E66eQIOyTsOyngCDslYrquLAnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRW5yaWNoZWRTVFEnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBZGQgaW5mb3JtYXRpb24gYWJvdXQgRmllbGQgTm90ZXMnLFxyXG4gICAgICAgIGRlOiAnRsO8Z2UgSW5mb3JtYXRpb25lbiDDvGJlciBGcm9udGJlcmljaHRlIGhpbnp1JyxcclxuICAgICAgICBmcjogJ0Fqb3V0ZXIgbGVzIGluZm9ybWF0aW9ucyByZWxhdGl2ZXMgYXV4IFJhcHBvcnRzIGR1IEZyb250IEJvemppZW4nLFxyXG4gICAgICAgIGphOiAn44OV44Kj44O844Or44OJ44OO44O844OI44Gr5oim5p6c6KiY6Yyy5oOF5aCx44KS6L+95Yqg44GZ44KLJyxcclxuICAgICAgICBjbjogJ+aYvuekuuWPr+iDveaOieiQveeahOaImOaenOiusOW9lScsXHJcbiAgICAgICAga286ICfsoITqs7zquLDroZ0g7KCV67O0IOuztOyXrOyjvOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQb3BOb2lzZUZvck5NJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUGxheSBwb3Agc291bmQgZm9yIE5NcycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgTk1zJyxcclxuICAgICAgICBmcjogJ0pvdWVyIHVuIHNvbiBwb3VyIGxcXCdhcHBhcml0aW9uIGRlcyBOTXMnLFxyXG4gICAgICAgIGphOiAnTk3pgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAnTk3lh7rnjrDml7bmkq3mlL7mj5DnpLrpn7MnLFxyXG4gICAgICAgIGtvOiAn64+M67Cc7J6E66y0IOyVjOumvCDshozrpqwg7Lyc6riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JCdW5ueScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBidW5ueSBmYXRlcycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgQnVubnktRmF0ZXMnLFxyXG4gICAgICAgIGZyOiAnSm91ZXIgdW4gc29uIHBvdXIgbFxcJ2FwcGFyaXRpb24gZGUgbFxcJ2Fsw6lhIGRlcyBsYXBpbnMnLFxyXG4gICAgICAgIGphOiAn44GX44GC44KP44Gb44GG44GV44GO6YCa55+l5qmf6IO944KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+W5uOemj+WFlOWHuueOsOaXtuaSreaUvuaPkOekuumfsycsXHJcbiAgICAgICAga286ICfthqDrgbwg64+M67CcIOyVjOumvCDshozrpqwg7Lyc6riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JTa2lybWlzaCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBza2lybWlzaGVzJyxcclxuICAgICAgICBkZTogJ1NwaWVsZSBQb3AtU291bmQgYWIgZsO8ciBTY2hhcm3DvHR6ZWwnLFxyXG4gICAgICAgIGZyOiAnSm91ZXIgdW4gc29uIHBvdXIgbFxcJ2FwcGFyaXRpb24gZGVzIGVzY2FybW91Y2hlcycsXHJcbiAgICAgICAgamE6ICfjgrnjgqvjg7zjg5/jg4Pjgrfjg6XpgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5Yay56qB5oiY5Ye6546w5pe25pKt5pS+5o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+uPjOuwnCDqtZDsoIQg7JWM66a8IOyGjOumrCDsvJzquLAnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JDcml0aWNhbEVuZ2FnZW1lbnQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQbGF5IHBvcCBzb3VuZCBmb3IgY3JpdGljYWwgZW5nYWdlbWVudHMnLFxyXG4gICAgICAgIGRlOiAnU3BpZWxlIFBvcC1Tb3VuZCBhYiBmw7xyIEtyaXRpc2NoZSBHZWZlY2h0ZScsXHJcbiAgICAgICAgZnI6ICdKb3VlciB1biBzb24gcG91ciBsXFwnYXBwYXJpdGlvbiBkZXMgYWZmcm9udGVtZW50IGNydWNpYXV4JyxcclxuICAgICAgICBqYTogJ0NF6YCa55+l5qmf6IO944KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+e0p+aApemBremBh+aImChDRSnlh7rnjrDml7bmkq3mlL7mj5DnpLrpn7MnLFxyXG4gICAgICAgIGtvOiAn67mE7IOBIOq1kOyghCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1BvcE5vaXNlRm9yRHVlbCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBkdWVscycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgRHVlbGxlJyxcclxuICAgICAgICBmcjogJ0pvdWVyIHVuIHNvbiBwb3VyIGxcXCdhcHBhcml0aW9uIGRlcyBkdWVscycsXHJcbiAgICAgICAgamE6ICfkuIDpqI7miZPjgaHpgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5LiA5a+55LiA5Yaz5paX5Ye6546w5pe25pKt5pS+5o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+qysO2IrCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQb3BWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdWb2x1bWUgb2YgdGhlIG5tIHBvcCBzb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYXV0c3TDpHJrZSBkZXMgUG9wc291bmRzIGJlaSBlcnNjaGVpbmVuIGVpbmVzIE5NICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZFxcJ2FwcGFyaXRpb24gZFxcJ3VuIE5NICgwLTEpJyxcclxuICAgICAgICBqYTogJ05N5Ye654++6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ05N5o+Q56S66Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+uPjOuwnOyehOustCDrk7HsnqUg7JWM66a8IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCdW5ueVBvcFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1ZvbHVtZSBvZiB0aGUgYnVubnkgcG9wIHNvdW5kICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhdXRzdMOkcmtlIGRlcyBCdW5ueSBQb3AgU291bmRzICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZFxcJ2FwcGFyaXRpb24gZGVzIGxhcGlucyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfjgZfjgYLjgo/jgZvjgYbjgZXjgY7lh7rnj77pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5bm456aP5YWU5o+Q56S66Z+z6YeP77yIMC0x77yJJyxcclxuICAgICAgICBrbzogJ+2GoOuBvCDrj4zrsJwg65Ox7J6lIOyVjOumvCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4zLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdDcml0aWNhbFBvcFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1ZvbHVtZSBvZiB0aGUgY3JpdGljYWwgZW5nYWdlbWVudCBwb3Agc291bmQgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnTGF1dHN0w6Rya2UgZGVzIEtyaXRpc2NoZW4gR2VmZWNodCBTb3VuZHMgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGR1IHNvbiBkXFwnYXBwYXJpdGlvbiBkZXMgYWZmcm9udGVtZW50cyBjcnVjaWF1eCAoMC0xKScsXHJcbiAgICAgICAgamE6ICdDRemAmuefpemfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICdDReaPkOekuumfs+mHj++8iDAtMe+8iScsXHJcbiAgICAgICAga286ICfruYTsg4Eg6rWQ7KCEIOyVjOumvCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4zLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdSZWZyZXNoUmF0ZVNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdVcGRhdGUgcmF0ZSBvZiBubSBjb29sZG93bnMgKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0FrdHVhbGlzaWVydW5nIGRlciBOTSBjb29sZG93bnMgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSYWZyYcOuY2hpc3NlbWVudCBkdSB0ZW1wcyBkZSByw6lhcHBhcml0aW9uIGRcXCd1biBOTSAocyknLFxyXG4gICAgICAgIGphOiAnTk3jga7lho3msrjjgY3mmYLplpPjga7jg6rjg5Xjg6zjg4Pjgrfjg6XplpPpmpQgKOenkiknLFxyXG4gICAgICAgIGNuOiAnTk3lhrfljbTml7bpl7TliLfmlrDpl7TpmpQgKOenkiknLFxyXG4gICAgICAgIGtvOiAn64+M67CcIOyGjO2ZmOqwgOuKpeyLnOqwhCDqsLHsi6Ag7KO86riwICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgICAgc2V0dGVyRnVuYzogKG9wdGlvbnMsIHZhbHVlKSA9PiB7XHJcbiAgICAgICAgbGV0IHNlY29uZHM6IG51bWJlcjtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHZhbHVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydSZWZyZXNoUmF0ZU1zJ10gPSBzZWNvbmRzICogMTAwMDtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgXSxcclxufSk7XHJcbiIsImltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygnam9icycsIHtcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSnVzdEJ1ZmZUcmFja2VyJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnT25seSBzaG93IHRoZSBwYXJ0eSBidWZmIHRyYWNrZXInLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgbnVyIGRlbiBHcnVwcGVuIEJ1ZmYtVHJhY2tlcicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBzZXVsZW1lbnQgbGUgdHJhY2tlciBkZSBidWZmIGRlIGxcXCfDqXF1aXBlJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOWKueaenOOBruOBv+OCkuihqOekuuOBmeOCiycsXHJcbiAgICAgICAgY246ICfku4Xnm5Hmjqflm6LovoXmioDog70nLFxyXG4gICAgICAgIGtvOiAn7YyM7YuwIOuyhO2UhOunjCDtkZzsi5wnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ29tcGFjdFZpZXcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgY29tcGFjdCB2aWV3JyxcclxuICAgICAgICBkZTogJ0tvbXBha3RhbnNpY2h0IGFrdGl2aWVyZW4nLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsYSB2dWUgY29tcGFjdGUnLFxyXG4gICAgICAgIGphOiAn44Kz44Oz44OR44Kv44OIVUnjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So57Sn5YeR6KeG5Zu+JyxcclxuICAgICAgICBrbzogJ+qwhOuete2VnCBVSSDsgqzsmqknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTG93ZXJPcGFjaXR5T3V0T2ZDb21iYXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb3dlciB1aSBvcGFjaXR5IHdoZW4gb3V0IG9mIGNvbWJhdCcsXHJcbiAgICAgICAgZGU6ICdWZXJpbmdlcmUgZGllIERlY2trcmFmdCBhdXNlcmhhbGIgZGVzIEthbXBmZXMnLFxyXG4gICAgICAgIGZyOiAnRGltaW5pdWVyIGxcXCdvcGFjaXTDqSBkZSBsXFwnVUkgaG9ycyBjb21iYXQnLFxyXG4gICAgICAgIGphOiAn6Z2e5oim6ZeY5pmC44GrVUnjgpLpgI/pgY7jgZnjgosnLFxyXG4gICAgICAgIGNuOiAn6Z2e5oiY5paX54q25oCB5pe25L2/VUnljYrpgI/mmI4nLFxyXG4gICAgICAgIGtvOiAn7KCE7YisIOykkeydtCDslYTri5Ag65WMLCBVSSDtiKzrqoXrj4Qg64aS7J206riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnT3BhY2l0eU91dE9mQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnT3BhY2l0eSBvZiB1aSB3aGVuIG91dCBvZiBjb21iYXQnLFxyXG4gICAgICAgIGRlOiAnRGVja2tyYWZ0IGRlciBVSSBhdXNlcmhhbGIgZGVzIEthbXBmZXMnLFxyXG4gICAgICAgIGZyOiAnT3BhY2l0w6kgZGUgbFxcJ1VJIGhvcnMgY29tYmF0JyxcclxuICAgICAgICBqYTogJ+mdnuaIpumXmOaZguOBrlVJ6YCP6YGO5bqmJyxcclxuICAgICAgICBjbjogJ+mdnuaImOaWl+eKtuaAgeaXtueahFVJ6YCP5piO5bqmJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJHsnbQg7JWE64uQIOuVjCwgVUkg7Yis66qF64+EJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC41LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQbGF5Q291bnRkb3duU291bmQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgY291bnRkb3duIG5vdGlmaWNhdGlvbiBzb3VuZCcsXHJcbiAgICAgICAgZGU6ICdBa3RpdmllcmUgQ291bnRkb3duIEhpbndlaXMtVG9uJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgbm90aWZpY2F0aW9uIHNvbm9yZSBkdSBjb21wdGUgw6AgcmVib3VycycsXHJcbiAgICAgICAgamE6ICfjgqvjgqbjg7Pjg4jjg4Djgqbjg7PjgpLpn7Plo7Djgafnn6XjgonjgZvjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5YCS6K6h5pe25o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+y0iOydveq4sCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0hpZGVXZWxsRmVkQWJvdmVTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGlkZSBjaGVlc2UgaWNvbiB3aGVuIGZvb2QgPiB0aW1lIChpbiBzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdWZXJzdGVja2UgZGFzIEvDpHNlIEljb24gd2VubiBCdWZmZm9vZCA+IFplaXQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdNYXNxdWVyIGxcXCdpY8O0bmUgZHUgZnJvbWFnZSBsb3JzcXVlIHZvdXMgw6p0ZXMgcmVwdSA+IGR1csOpZSAoZW4gc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+mjr+WKueaenOOBruaZgumWk+OBjOS4jei2s+OBl+OBn+OCieODgeODvOOCuuOCouOCpOOCs+ODs+OCkuihqOekuuOBmeOCiyAo56eSKScsXHJcbiAgICAgICAgY246ICfpo5/niakgQnVmZiDliankvZnml7bpl7TkuI3otrPorabmiqUgKOenkiknLFxyXG4gICAgICAgIGtvOiAn64Ko7J2AIOyLneyCrCDtmqjqs7wg7Iuc6rCE7J20IOydtCDsi5zqsITrs7Tri6Qg6ri466m0LCDsuZjspogg7JWE7J207L2YIOyIqOq5gCAo64uo7JyEOiDstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAxNSAqIDYwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTaG93TVBUaWNrZXJPdXRPZkNvbWJhdCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1Nob3cgTVAgdGlja2VyIG91dCBvZiBjb21iYXQnLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgTVAtVGlja2VyIGF1c2VyaGFsYiBkZXMgS2FtcGZlcycsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZSBzeW1ib2xlIFBNIGhvcnMgY29tYmF0JyxcclxuICAgICAgICBqYTogJ+mdnuaIpumXmOaZguOBq+OCgk1Q44KS6KGo56S644GZ44KLJyxcclxuICAgICAgICBjbjogJ+S4gOebtOaYvuekuk1Q55uR5o6nJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJHsnbQg7JWE64uQIOuVjCwgTVAg7Yuw7LukIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdNaWRIZWFsdGhUaHJlc2hvbGRQZXJjZW50JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUGVyY2VudCBvZiBoZWFsdGggY29uc2lkZXJlZCBtaWRkbGluZycsXHJcbiAgICAgICAgZGU6ICdQcm96ZW50IGRlciBMZWJlbnNwdW5rdGUgKG1pdHRlbG1hw58pJyxcclxuICAgICAgICBmcjogJ1BvdXJjZW50YWdlIGRlIHZpZSBjb25zaWTDqXLDqSBjb21tZSBtb3llbm5lJyxcclxuICAgICAgICBqYTogJ+WBpeW6t+OBqkhQ44Go44GX44Gm5omx44GGSFDph48gKDEgPSAxMDAlKScsXHJcbiAgICAgICAgY246ICfkuK3nrYnooYDph4/pmIjlgLwgKDEgPSAxMDAlKScsXHJcbiAgICAgICAga286ICfrs7TthrUgSFDroZwg7Leo6riJ65CgIEhQ67mE7JyoICgxID0gMTAwJSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjgsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0xvd0hlYWx0aFRocmVzaG9sZFBlcmNlbnQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQZXJjZW50IG9mIGhlYWx0aCBjb25zaWRlcmVkIGxvdycsXHJcbiAgICAgICAgZGU6ICdQcm96ZW50IGRlciBMZWJlbnNwdW5rdGUgKGdlcmluZyknLFxyXG4gICAgICAgIGZyOiAnUG91cmNlbnRhZ2UgZGUgdmllIGNvbnNpZMOpcsOpIGNvbW1lIGJhcycsXHJcbiAgICAgICAgamE6ICfljbHpmbrjgapIUOOBqOOBl+OBpuaJseOBhkhQ6YePICgxID0gMTAwJSknLFxyXG4gICAgICAgIGNuOiAn5Y2x6Zmp6KGA6YeP6ZiI5YC8ICgxID0gMTAwJSknLFxyXG4gICAgICAgIGtvOiAn64Ku7J2AIEhQ66GcIOy3qOq4ieuQoCBIUOu5hOycqCAoMSA9IDEwMCUpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4yLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCaWdCdWZmU2hvd0Nvb2xkb3duU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01pbmltdW0gc2Vjb25kcyBvbiBhIGNvb2xkb3duIGJlZm9yZSBzaG93bicsXHJcbiAgICAgICAgZGU6ICdNaW5pbXVtIGFuIFNla3VuZGVuIGbDvHIgZWluZW4gQ29vbGRvd24gdm9yIGRlciBBbnplaWdlJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtaW5pbWFsIGRlIHNlY29uZGVzIGF2YW50IGxcXCdhZmZpY2hhZ2UgZHUgdGVtcHMgZGUgcmVjaGFyZ2UnLFxyXG4gICAgICAgIGphOiAn44K344OK44K444O844K544Kt44Or44GM5L2/55So5Y+v6IO95YmN44Gr44Ki44Kk44Kz44Oz44KS6KGo56S644GZ44KLICjnp5IpJyxcclxuICAgICAgICBjbjogJ+Wboui+heWGt+WNtOWujOaIkOmihOWRiiAo56eSKScsXHJcbiAgICAgICAga286ICfsnqzsgqzsmqkg64yA6riw7Iuc6rCE7J2EIO2RnOyLnO2VoCDquLDspIAg7Iuc6rCEKOy0iCDsnbTtlZgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMjAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZJY29uV2lkdGgnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdXaWR0aCBvZiBidWZmIGljb25zIChweCknLFxyXG4gICAgICAgIGRlOiAnV2VpdGUgZGVzIEJ1ZmYgSWNvbnMgKHB4KScsXHJcbiAgICAgICAgZnI6ICdMYXJnZXVyIGRlcyBpY8O0bmVzIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jgqLjgqTjgrPjg7Pjga7luoPjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5Hmjqflm77moIflrr3luqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIOyVhOydtOy9mCDrhIjruYQgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNDQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZJY29uSGVpZ2h0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGVpZ2h0IG9mIGJ1ZmYgaWNvbnMgKHB4KScsXHJcbiAgICAgICAgZGU6ICdIw7ZoZSBkZXMgQnVmZiBJY29ucyAocHgpJyxcclxuICAgICAgICBmcjogJ0hhdXRldXIgZGVzIGljw7RuZXMgZGUgYnVmZiAocGl4ZWwpJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOOCueOCreODq+OBruOCouOCpOOCs+ODs+OBrumrmOOBlSAocGl4ZWwpJyxcclxuICAgICAgICBjbjogJ+Wboui+heebkeaOp+Wbvuagh+mrmOW6piAo5YOP57SgKScsXHJcbiAgICAgICAga286ICfrsoTtlIQg7JWE7J207L2YIOuGkuydtCAocGl4ZWwpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAzMixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmlnQnVmZkJhckhlaWdodCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0hlaWdodCBvZiBidWZmIHRpbWVyIGJhcnMgKHB4KScsXHJcbiAgICAgICAgZGU6ICdIw7ZoZSBkZXIgQnVmZi1UaW1lciBMZWlzdGVuIChweCknLFxyXG4gICAgICAgIGZyOiAnSGF1dGV1ciBkZXMgYmFycmVzIGRlIHRlbXBzIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jgr/jgqTjg6Djg5Djg7zjga7pq5jjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5HmjqforqHml7bmnaHpq5jluqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIO2DgOydtOuouCDrsJQg64aS7J20IChwaXhlbCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZUZXh0SGVpZ2h0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGVpZ2h0IG9mIGJ1ZmYgdGV4dCAocHgpJyxcclxuICAgICAgICBkZTogJ0jDtmhlIGRlcyBCdWZmLVRleHQgKHB4KScsXHJcbiAgICAgICAgZnI6ICdIYXV0ZXVyIGR1IHRleHRlIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jg4bjgq3jgrnjg4jjga7pq5jjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5HmjqfmloflrZfpq5jluqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIO2FjeyKpO2KuCDrhpLsnbQgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmlnQnVmZkJvcmRlclNpemUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaXplIG9mIGJ1ZmYgYm9yZGVycyAocHgpJyxcclxuICAgICAgICBkZTogJ0dyw7bDn2UgZGVyIEJ1ZmYtUsOkbmRlciAocHgpJyxcclxuICAgICAgICBmcjogJ1RhaWxsZSBkZXMgYm9yZHVyZXMgZGUgYnVmZiAocGl4ZWwpJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOOCueOCreODq+OBruODnOODvOODgOODvOOBruW6g+OBlSAocGl4ZWwpJyxcclxuICAgICAgICBjbjogJ+Wboui+heebkeaOp+i+ueahhuWwuuWvuCAo5YOP57SgKScsXHJcbiAgICAgICAga286ICfrsoTtlIQg7JWE7J207L2YIO2FjOuRkOumrCDtgazquLAgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnR3BBbGFybVBvaW50JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnR1AgYWxhcm0gdGhyZXNob2xkICgwIHRvIGRpc2FibGUpJyxcclxuICAgICAgICBkZTogJ1NQIEFsYXJtIEdyZW56ZSAoMCB0byBkaXNhYmxlKScsXHJcbiAgICAgICAgZnI6ICdTZXVpbCBkXFwnYWxhcm1lIFBSICgwIHBvdXIgZMOpc2FjdGl2ZXIpJyxcclxuICAgICAgICBqYTogJ0dQ44GM5L2O44GE5pmC44Gr6K2m5ZGK44GZ44KLICjvvJDvvJ3nhKHlirkpJyxcclxuICAgICAgICBjbjogJ+S9jumHh+mbhuWKm+aPkOekuumYiOWAvCAoMOS4uuemgeeUqCknLFxyXG4gICAgICAgIGtvOiAnR1Ag7JWM656MIOyEpOygleqwkiAoMCA9IOq4sOuKpSDsoJXsp4ApJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdHcEFsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdHUCBhbGFybSBzb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdTUCBBbGFybSBTb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdTb24gZFxcJ2FsYXJtZSBQUiAoMC0xKScsXHJcbiAgICAgICAgamE6ICfkvY7jgYRHUOOBruitpuWRiumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkvY7ph4fpm4blipvmj5DnpLrpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAnR1Ag7JWM656MIOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjgsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ05vdGlmeUV4cGlyZWRQcm9jc0luQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOlxyXG4gICAgICAgICAgJ0ZsYXNoIHByb2NzIGJveGVzIG9mIGluYWN0aXZlIGRvdHMvZXRjLiB1cCB0byBuIHRpbWVzIHdoaWxlIGluIGNvbWJhdC4gKC0xOiBkaXNhYmxlZCwgMDogaW5maW5pdGUpJyxcclxuICAgICAgICBkZTpcclxuICAgICAgICAgICdEb3QvZXRjLiBib3hlbiBibGlua2VuIGJpcyB6dSBuIG1hbCB3ZW5uIGltIEthbXBmIHVuZCBkb3QgaXN0IG5pY2h0IGFrdGl2LiAoLTE6IGRlYWt0aXZpZXJ0LCAwOiBvaG5lIExpbWl0KScsXHJcbiAgICAgICAgZnI6ICdGYWlyZSBjbGlnbm90ZXIgbiBmb2lzIGxlcyBEb1QvQnVmZnMgaW5hY3RpZnMgZW4gY29tYmF0ICgtMSA6IGTDqXNhY3RpdsOpLCAwIDogaW5maW5pKScsXHJcbiAgICAgICAgamE6ICfmiKbpl5jkuK3jgadEb1Qv44OQ44OV44GM5YiH44Gj44Gf44KJcHJvY+ODnOODg+OCr+OCueOCku+9juWbnueCuea7heOBleOBm+OCiygtMe+8mueEoeWKueOAgTDvvJrnhKHpmZDlm57mlbApJyxcclxuICAgICAgICBjbjogJ+aImOaWl+S4reaooeWdl+ebkeaOp+eahOmHjeimgURvVC9CdWZm5Lit5pat5pe25Luk5a+55bqU6K6h5pe25Zmo6Zeq54OBTuasoe+8iC0x77ya56aB55So77yMMO+8muaXoOmZkOmXqueDge+8iScsXHJcbiAgICAgICAga286ICfrj4Ttirjrgpgg67KE7ZSE6rCAIOq6vOyngOuptCDtlITroZ0g67CV7Iqk66W8IG7rsogg6rmc67mh7ZWY6rKMIO2VqeuLiOuLpC4gKC0xOiDruYTtmZzshLHtmZQsIDA6IOustO2VnCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ05vdGlmeUV4cGlyZWRQcm9jc0luQ29tYmF0U291bmQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQbGF5IGEgc291bmQgbm90aWZpY2F0aW9uIGlmIGEgcHJvYyBib3ggZm9yIGRvdHMvZXRjLiBleHBpcmVzIHdoaWxlIGluIGNvbWJhdC4nLFxyXG4gICAgICAgIGRlOiAnU3BpZWxlIGVpbmVuIEFsYXJtIFNvdW5kIHdlbm4gZWluZSBkb3QvZXRjLiBib3ggaW0gS2FtcGYgaW5ha3RpdiB3aXJkLicsXHJcbiAgICAgICAgZnI6ICdKb3VlciB1biBzb24gc2kgdW4gRG90L0J1ZmYgZXhwaXJlIGVuIGNvbWJhdC4nLFxyXG4gICAgICAgIGphOiAn5oim6ZeY5Lit44GnRG9UL+ODkOODleOBjOWIh+OBo+OBn+OCiemfs+OCkumztOOCieOBmScsXHJcbiAgICAgICAgY246ICfmiJjmlpfkuK3mqKHlnZfnm5HmjqfnmoTph43opoFEb1QvQnVmZuS4reaWreaXtuaSreaUvuaPkOekuumfsycsXHJcbiAgICAgICAga286ICfrj4Ttirjrgpgg67KE7ZSE6rCAIOq6vOyngOuptCDshozrpqzroZwg7JWM66a87J2EIOykjeuLiOuLpC4nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgICAgJ1doZW4gY291bnRlciByZWFjaGVzIDAuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1doZW4gY291bnRlciBpcyBjbG9zZSB0byAwLic6ICd0aHJlc2hvbGQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdEZWFrdGl2aWVydCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAnV2VubiBkZXIgQ291bnRkb3duIDAgZXJyZWljaHQuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1dlbm4gZGVyIENvdW50ZG93biBuYWhlIDAgaXN0Lic6ICd0aHJlc2hvbGQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdEw6lzYWN0aXbDqSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAnUXVhbmQgbGUgY29tcHRldXIgYXJyaXZlIMOgIDAuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1F1YW5kIGxlIGNvbXB0ZXVyIGVzdCBwcm9jaGUgZGUgMC4nOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn54Sh5Yq5JzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAgICfmrovjgormmYLplpMg4oaSIDAnOiAnZXhwaXJlZCcsXHJcbiAgICAgICAgICAn5q6L44KK5pmC6ZaTIOKGkiDjgZfjgY3jgYTlgKQnOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn56aB55SoJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAgICforqHml7blmajlvZLpm7bml7YnOiAnZXhwaXJlZCcsXHJcbiAgICAgICAgICAn6K6h5pe25Zmo5Yiw6L6+5o+Q56S66ZiI5YC85pe2JzogJ3RocmVzaG9sZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+u5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAn7Lm07Jq07Yq4IOuLpOyatOydtCAw7LSI7J28IOuVjCc6ICdleHBpcmVkJyxcclxuICAgICAgICAgICfrpqztlYTtlZjquLAg7KCB7KCI7ZWcIOuVjOyXkCDslYzroKTso7zquLAnOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAndGhyZXNob2xkJyxcclxuICAgIH0sXHJcbiAgXSxcclxufSk7XHJcbiIsImV4cG9ydCB0eXBlIE1pc3NhYmxlQnVmZlR5cGUgPSAnaGVhbCcgfCAnZGFtYWdlJyB8ICdtaXRpZ2F0aW9uJztcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlRWZmZWN0ID0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdHlwZTogTWlzc2FibGVCdWZmVHlwZTtcclxuICBlZmZlY3RJZDogc3RyaW5nIHwgcmVhZG9ubHkgc3RyaW5nW107XHJcbiAgY29sbGVjdFNlY29uZHM6IG51bWJlcjtcclxuICBpZ25vcmVTZWxmPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlQWJpbGl0eSA9IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHR5cGU6IE1pc3NhYmxlQnVmZlR5cGU7XHJcbiAgYWJpbGl0eUlkOiBzdHJpbmcgfCByZWFkb25seSBzdHJpbmdbXTtcclxuICBjb2xsZWN0U2Vjb25kcz86IG51bWJlcjtcclxuICBpZ25vcmVTZWxmPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlQnVmZiA9IE1pc3NhYmxlQWJpbGl0eSB8IE1pc3NhYmxlRWZmZWN0O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1pc3NlZEVmZmVjdEJ1ZmZNYXA6IHJlYWRvbmx5IE1pc3NhYmxlRWZmZWN0W10gPSBbXHJcbiAge1xyXG4gICAgaWQ6ICdDb2xsZWN0aXZlIFVuY29uc2Npb3VzJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGVmZmVjdElkOiAnMzUxJyxcclxuICAgIGNvbGxlY3RTZWNvbmRzOiAyMCxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUGFzc2FnZSBvZiBBcm1zJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIC8vIEFybXMgVXAgPSA0OTggKG90aGVycyksIFBhc3NhZ2UgT2YgQXJtcyA9IDQ5NyAoeW91KS4gIFVzZSBib3RoIGluIGNhc2UgZXZlcnlib2R5IGlzIG1pc3NlZC5cclxuICAgIGVmZmVjdElkOiBbJzQ5NycsICc0OTgnXSxcclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgICBjb2xsZWN0U2Vjb25kczogMTUsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0RpdmluZSBWZWlsJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGVmZmVjdElkOiAnMkQ3JyxcclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgICBjb2xsZWN0U2Vjb25kczogMixcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIFJQUiBoZWFsXHJcbiAgICBpZDogJ0NyZXN0IG9mIFRpbWUgUmV0dXJuZWQnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgZWZmZWN0SWQ6ICdBMjYnLFxyXG4gICAgY29sbGVjdFNlY29uZHM6IDIsXHJcbiAgfSxcclxuXSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBtaXNzZWRBYmlsaXR5QnVmZk1hcDogcmVhZG9ubHkgTWlzc2FibGVBYmlsaXR5W10gPSBbXHJcbiAge1xyXG4gICAgaWQ6ICdIZWFydCBPZiBMaWdodCcsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICczRjIwJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRGFyayBNaXNzaW9uYXJ5JyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQwNTcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTaGFrZSBJdCBPZmYnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnMUNEQycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1RlY2huaWNhbCBGaW5pc2gnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICAvLyAzRjQ0IGlzIHRoZSBjb3JyZWN0IFF1YWRydXBsZSBUZWNobmljYWwgRmluaXNoLCBvdGhlcnMgYXJlIERpbmt5IFRlY2huaWNhbCBGaW5pc2guXHJcbiAgICBhYmlsaXR5SWQ6IFsnM0Y0MScsICczRjQyJywgJzNGNDMnLCAnM0Y0NCddLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdEaXZpbmF0aW9uJyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBOCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0Jyb3RoZXJob29kJyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUNFNCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0JhdHRsZSBMaXRhbnknLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICdERTUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdFbWJvbGRlbicsXHJcbiAgICB0eXBlOiAnZGFtYWdlJyxcclxuICAgIGFiaWxpdHlJZDogJzFENjAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdCYXR0bGUgVm9pY2UnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICc3NicsXHJcbiAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBsaW5lIGFmdGVyIDUueCBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXHJcbiAgICAvLyBUZWNobmljYWxseSBCYXR0bGUgVm9pY2UgY2FuJ3QgbWlzcyB0aGUgYmFyZCBpdHNlbGYsIHNvIHRoaXMgaXMgYSBub29wIGluIDYueC5cclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyA1eFxyXG4gICAgaWQ6ICdEZXZvdGlvbicsXHJcbiAgICB0eXBlOiAnZGFtYWdlJyxcclxuICAgIGFiaWxpdHlJZDogJzFEMUEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTZWFyaW5nIExpZ2h0JyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnNjRGMicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0FyY2FuZSBDaXJjbGUnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RjU1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVHJvdWJhZG91cicsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICcxQ0VEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVGFjdGljaWFuJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQxRjknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTaGllbGQgU2FtYmEnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnM0U4QycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ01hbnRyYScsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MScsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyBMQjFcclxuICAgIGlkOiAnSGVhbGluZyBXaW5kJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0NFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIExCMlxyXG4gICAgaWQ6ICdCcmVhdGggb2YgdGhlIEVhcnRoJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0NGJyxcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIExCIDNcclxuICAgIGlkOiAnUHVsc2Ugb2YgTGlmZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdEMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyBTTU4gcGhvZW5peCBoZWFsXHJcbiAgICBpZDogJ0V2ZXJsYXN0aW5nIEZsaWdodCcsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MDg1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnTWVkaWNhJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzdDJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnTWVkaWNhIElJJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzg1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQWZmbGF0dXMgUmFwdHVyZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MDk2JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVGVtcGVyYW5jZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc3NTEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdQbGVuYXJ5IEluZHVsZ2VuY2UnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUQwOScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N1Y2NvcicsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdCQScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0luZG9taXRhYmlsaXR5JyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0RGRicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0RlcGxveW1lbnQgVGFjdGljcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdFMDEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdXaGlzcGVyaW5nIERhd24nLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMzIzJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRmV5IEJsZXNzaW5nJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzQwQTAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdDb25zb2xhdGlvbicsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MEEzJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQW5nZWxcXCdzIFdoaXNwZXInLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBNicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0ZleSBJbGx1bWluYXRpb24nLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnMzI1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnU2VyYXBoaWMgSWxsdW1pbmF0aW9uJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQwQTcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdLZXJhY2hvbGUnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVFQScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BhbmhhaW1hJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzVFRjcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdBbmdlbCBGZWF0aGVycycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICcxMDk3JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnSGVsaW9zJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0UxMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0FzcGVjdGVkIEhlbGlvcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6IFsnRTExJywgJzMyMDAnXSxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQ2VsZXN0aWFsIE9wcG9zaXRpb24nLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBOScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N0ZWxsYXIgQnVyc3QnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUQxMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N0ZWxsYXIgRXhwbG9zaW9uJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzFEMTEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdBc3RyYWwgU3Rhc2lzJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzEwOTgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdQcm9nbm9zaXMnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVERScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BoeXNpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUUwJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRXVrcmFzaWFuIFByb2dub3NpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUU0JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnSXhvY2hvbGUnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVFQicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BlcHNpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUVEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUGh5c2lzIElJJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzVFRUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdIb2xvcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUY2JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUG5ldW1hJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIC8vIDVFRkUgb24gZW5lbWllcywgYW5kIDZDQjYgb24gZnJpZW5kbGllcy5cclxuICAgIGFiaWxpdHlJZDogJzZDQjYnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdXaGl0ZSBXaW5kJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzJDOEUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdHb2Jza2luJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzQ3ODAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdMb3N0IEFldGhlcnNoaWVsZCcsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICc1NzUzJyxcclxuICB9LFxyXG5dIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQnVmZlRyaWdnZXJJZHMgPSAoKTogc3RyaW5nW10gPT4ge1xyXG4gIGNvbnN0IGJ1ZmZzOiBNaXNzYWJsZUJ1ZmZbXSA9IFsuLi5taXNzZWRFZmZlY3RCdWZmTWFwLCAuLi5taXNzZWRBYmlsaXR5QnVmZk1hcF07XHJcbiAgYnVmZnMuc29ydCgoYSwgYikgPT4gYS5pZC5sb2NhbGVDb21wYXJlKGIuaWQpKTtcclxuICByZXR1cm4gYnVmZnMubWFwKChidWZmKSA9PiBgQnVmZiAke2J1ZmYuaWR9YCk7XHJcbn07XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBVc2VyQ29uZmlnLCB7IE9wdGlvbnNUZW1wbGF0ZSwgVXNlckZpbGVDYWxsYmFjayB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IExvb3NlT29wc3lUcmlnZ2VyU2V0LCBPb3BzeUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvb29wc3knO1xyXG5pbXBvcnQge1xyXG4gIENhY3Rib3RDb25maWd1cmF0b3IsXHJcbiAgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXJTZXQsXHJcbiAgQ29uZmlnUHJvY2Vzc2VkRmlsZSxcclxuICBDb25maWdQcm9jZXNzZWRGaWxlTWFwLFxyXG59IGZyb20gJy4uL2NvbmZpZy9jb25maWcnO1xyXG5cclxuaW1wb3J0IHsgZ2VuZXJhdGVCdWZmVHJpZ2dlcklkcyB9IGZyb20gJy4vYnVmZl9tYXAnO1xyXG5pbXBvcnQgb29wc3lGaWxlRGF0YSBmcm9tICcuL2RhdGEvb29wc3lfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgT29wc3lPcHRpb25zIH0gZnJvbSAnLi9vb3BzeV9vcHRpb25zJztcclxuXHJcbmNvbnN0IG9vcHN5SGVscGVyczogKGtleW9mIExvb3NlT29wc3lUcmlnZ2VyU2V0KVtdID0gW1xyXG4gICdkYW1hZ2VXYXJuJyxcclxuICAnZGFtYWdlRmFpbCcsXHJcbiAgJ3NoYXJlV2FybicsXHJcbiAgJ3NoYXJlRmFpbCcsXHJcbiAgJ2dhaW5zRWZmZWN0V2FybicsXHJcbiAgJ2dhaW5zRWZmZWN0RmFpbCcsXHJcbl07XHJcblxyXG4vLyBUaGlzIGNvdWxkIGJlIGEgY2hlY2tib3gsIGJ1dCBpdCdzIHBvc3NpYmxlIHdlIGNvdWxkIGFkZCBtb3JlIHRoaW5ncyBoZXJlLFxyXG4vLyBsaWtlIGNoYW5naW5nIGZhaWwtPndhcm5pbmcgb3Igd2hvIGtub3dzIHdoYXQuXHJcbmNvbnN0IGtUcmlnZ2VyT3B0aW9ucyA9IHtcclxuICBkZWZhdWx0OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ+KclCBEZWZhdWx0cycsXHJcbiAgICAgIGRlOiAn4pyUIFN0YW5kYXJkcycsXHJcbiAgICAgIGZyOiAn4pyUIETDqWZhdXRzJyxcclxuICAgICAgamE6ICfinJQg5Yid5pyf6Kit5a6aJyxcclxuICAgICAgY246ICfinJQg6buY6K6k6K6+572uJyxcclxuICAgICAga286ICfinJQg6riw67O4JyxcclxuICAgIH0sXHJcbiAgfSxcclxuICBkaXNhYmxlZDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinYwgRGlzYWJsZWQnLFxyXG4gICAgICBkZTogJ+KdjCBEZWFrdGl2aWVydCcsXHJcbiAgICAgIGZyOiAn4p2MIETDqXNhY3RpdsOpJyxcclxuICAgICAgamE6ICfinYwg54Sh5Yq5JyxcclxuICAgICAgY246ICfinYwg56aB55SoJyxcclxuICAgICAga286ICfinYwg67mE7Zmc7ISx7ZmUJyxcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuXHJcbmNsYXNzIE9vcHN5Q29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25LZXkgPSAnb29wc3lyYWlkc3knO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRVSShjb250YWluZXI6IEhUTUxFbGVtZW50LCBmaWxlczogT29wc3lGaWxlRGF0YSkge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc09vcHN5RmlsZXMoZmlsZXMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaW5mbyBvZiBPYmplY3QudmFsdWVzKGZpbGVNYXApKSB7XHJcbiAgICAgIGNvbnN0IGV4cGFuc2lvbiA9IGluZm8ucHJlZml4O1xyXG5cclxuICAgICAgaWYgKCFpbmZvLnRyaWdnZXJzIHx8IE9iamVjdC5rZXlzKGluZm8udHJpZ2dlcnMpLmxlbmd0aCA9PT0gMClcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIGxldCBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl07XHJcbiAgICAgIGlmICghZXhwYW5zaW9uRGl2KSB7XHJcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZXhwYW5zaW9uLWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZXhwYW5zaW9uQ29udGFpbmVyKTtcclxuXHJcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uSGVhZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZXhwYW5zaW9uLWhlYWRlcicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLmlubmVyVGV4dCA9IGV4cGFuc2lvbjtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoZXhwYW5zaW9uSGVhZGVyKTtcclxuXHJcbiAgICAgICAgZXhwYW5zaW9uRGl2ID0gZXhwYW5zaW9uRGl2c1tleHBhbnNpb25dID0gZXhwYW5zaW9uQ29udGFpbmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB0cmlnZ2VyQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgICAgZXhwYW5zaW9uRGl2LmFwcGVuZENoaWxkKHRyaWdnZXJDb250YWluZXIpO1xyXG5cclxuICAgICAgY29uc3QgaGVhZGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGhlYWRlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyJyk7XHJcbiAgICAgIGhlYWRlckRpdi5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHRyaWdnZXJDb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBwYXJ0cyA9IFtpbmZvLnRpdGxlLCBpbmZvLnR5cGUsIGV4cGFuc2lvbl07XHJcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xyXG4gICAgICAgIGlmICghcGFydClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHBhcnREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBwYXJ0RGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXItcGFydCcpO1xyXG4gICAgICAgIHBhcnREaXYuaW5uZXJUZXh0ID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJPcHRpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRyaWdnZXJPcHRpb25zLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1vcHRpb25zJyk7XHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQodHJpZ2dlck9wdGlvbnMpO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhpbmZvLnRyaWdnZXJzID8/IHt9KSkge1xyXG4gICAgICAgIC8vIEJ1aWxkIHRoZSB0cmlnZ2VyIGxhYmVsLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGl2LmlubmVySFRNTCA9IGlkO1xyXG4gICAgICAgIHRyaWdnZXJEaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlcicpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEaXYpO1xyXG5cclxuICAgICAgICAvLyBDb250YWluZXIgZm9yIHRoZSByaWdodCBzaWRlIHVpIChzZWxlY3QgYm94ZXMsIGFsbCBvZiB0aGUgaW5mbykuXHJcbiAgICAgICAgY29uc3QgdHJpZ2dlckRldGFpbHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbHMnKTtcclxuICAgICAgICB0cmlnZ2VyT3B0aW9ucy5hcHBlbmRDaGlsZCh0cmlnZ2VyRGV0YWlscyk7XHJcblxyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyhpZCwgdHJpZ2dlckRpdikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZFRyaWdnZXJPcHRpb25zKGlkOiBzdHJpbmcsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGtGaWVsZCA9ICdPdXRwdXQnO1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKHRoaXMub3B0aW9uS2V5LCBbJ3RyaWdnZXJzJywgaWQsIGtGaWVsZF0sICdkZWZhdWx0Jyk7XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoa1RyaWdnZXJPcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XHJcbiAgICAgIGVsZW0uaW5uZXJIVE1MID0gdGhpcy5iYXNlLnRyYW5zbGF0ZSh2YWx1ZS5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24odGhpcy5vcHRpb25LZXksIFsndHJpZ2dlcnMnLCBpZCwga0ZpZWxkXSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzT29wc3lGaWxlcyhmaWxlczogT29wc3lGaWxlRGF0YSk6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8TG9vc2VPb3BzeVRyaWdnZXJTZXQ+IHtcclxuICAgIGNvbnN0IG1hcCA9IHRoaXMuYmFzZS5wcm9jZXNzRmlsZXMoZmlsZXMpO1xyXG5cclxuICAgIC8vIEhhY2tpbHkgaW5zZXJ0IFwibWlzc2VkIGJ1ZmZzXCIgaW50byB0aGUgbGlzdCBvZiB0cmlnZ2Vycy5cclxuICAgIGNvbnN0IGdlbmVyYWxFbnRyeSA9IG1hcFsnMDAtbWlzYy1nZW5lcmFsJ107XHJcbiAgICBpZiAoIWdlbmVyYWxFbnRyeSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgY29uc3QgZmFrZUJ1ZmZzOiBDb25maWdQcm9jZXNzZWRGaWxlPExvb3NlT29wc3lUcmlnZ2VyU2V0PiA9IHtcclxuICAgICAgLi4uZ2VuZXJhbEVudHJ5LFxyXG4gICAgICBmaWxlS2V5OiAnMDAtbWlzYy1idWZmcycsXHJcbiAgICAgIGZpbGVuYW1lOiAnYnVmZl9tYXAudHMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5iYXNlLnRyYW5zbGF0ZSh7XHJcbiAgICAgICAgZW46ICdNaXNzZWQgQnVmZnMnLFxyXG4gICAgICAgIGRlOiAnVmVyZmVobHRlIEJ1ZmZzJyxcclxuICAgICAgICBmcjogJ0J1ZmZzIG1hbnF1w6lzJyxcclxuICAgICAgICBqYTogJ+asoOOBkeODkOODlScsXHJcbiAgICAgICAgY246ICfpgZfmvI9CdWZmJyxcclxuICAgICAgICBrbzogJ+uGk+y5nCDrsoTtlIQg7JWM66a8JyxcclxuICAgICAgfSksXHJcbiAgICAgIHRyaWdnZXJTZXQ6IHtcclxuICAgICAgICB0cmlnZ2VyczogZ2VuZXJhdGVCdWZmVHJpZ2dlcklkcygpLm1hcCgoaWQpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGlkOiBpZCB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIG1hcFtmYWtlQnVmZnMuZmlsZUtleV0gPSBmYWtlQnVmZnM7XHJcblxyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIE9iamVjdC52YWx1ZXMobWFwKSkge1xyXG4gICAgICBpdGVtLnRyaWdnZXJzID0ge307XHJcbiAgICAgIGNvbnN0IHRyaWdnZXJTZXQgPSBpdGVtLnRyaWdnZXJTZXQ7XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBvb3BzeUhlbHBlcnMpIHtcclxuICAgICAgICBpZiAodHJpZ2dlclNldFtwcm9wXSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IG9iaiA9IHRyaWdnZXJTZXRbcHJvcF07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGlkIGluIG9iailcclxuICAgICAgICAgICAgaXRlbS50cmlnZ2Vyc1tpZF0gPSB7IGlkOiBpZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF0cmlnZ2VyU2V0LnRyaWdnZXJzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJTZXQudHJpZ2dlcnMpIHtcclxuICAgICAgICBpZiAoIXRyaWdnZXIuaWQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAvLyBTa2lwIHRyaWdnZXJzIHRoYXQganVzdCBzZXQgZGF0YSwgYnV0IGluY2x1ZGUgdHJpZ2dlcnMgdGhhdCBhcmUganVzdCBpZHMuXHJcbiAgICAgICAgaWYgKHRyaWdnZXIucnVuICYmICF0cmlnZ2VyLm1pc3Rha2UpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBpdGVtLnRyaWdnZXJzW3RyaWdnZXIuaWRdID0gdHJpZ2dlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hcDtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHRlbXBsYXRlT3B0aW9uczogT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVSTogKGJhc2UsIGNvbnRhaW5lcikgPT4ge1xyXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBPb3BzeUNvbmZpZ3VyYXRvcihiYXNlKTtcclxuICAgIGJ1aWxkZXIuYnVpbGRVSShjb250YWluZXIsIG9vcHN5RmlsZURhdGEpO1xyXG4gIH0sXHJcbiAgcHJvY2Vzc0V4dHJhT3B0aW9uczogKGJhc2VPcHRpb25zLCBzYXZlZENvbmZpZykgPT4ge1xyXG4gICAgLy8gVE9ETzogUmV3cml0ZSB1c2VyX2NvbmZpZyB0byBiZSB0ZW1wbGF0ZWQgb24gb3B0aW9uIHR5cGUgc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGtub3dzXHJcbiAgICAvLyB3aGF0IHR5cGUgb2Ygb3B0aW9ucyBpdCBpcyB1c2luZy4gIFdpdGhvdXQgdGhpcywgcGVyVHJpZ2dlckF1dG9Db25maWcgaXMgdW5rbm93bi5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBPb3BzeU9wdGlvbnM7XHJcblxyXG4gICAgY29uc3QgcGVyVHJpZ2dlckF1dG9Db25maWcgPSBvcHRpb25zWydQZXJUcmlnZ2VyQXV0b0NvbmZpZyddID8/PSB7fTtcclxuICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IHNhdmVkQ29uZmlnWyd0cmlnZ2VycyddO1xyXG5cclxuICAgIGlmICghdHJpZ2dlcnMgfHwgdHlwZW9mIHRyaWdnZXJzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRyaWdnZXJzKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2lkLCBlbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModHJpZ2dlcnMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVsnT3V0cHV0J107XHJcbiAgICAgIGlmICghb3V0cHV0KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgcGVyVHJpZ2dlckF1dG9Db25maWdbaWRdID0ge1xyXG4gICAgICAgIGVuYWJsZWQ6IG91dHB1dCAhPT0gJ2Rpc2FibGVkJyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9LFxyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTnVtTGl2ZUxpc3RJdGVtc0luQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTnVtYmVyIG9mIG1pc3Rha2VzIHRvIHNob3cgaW4gY29tYmF0JyxcclxuICAgICAgICBkZTogJ0FuemFobCBkZXIgRmVobGVyLCBkaWUgd8OkaHJlbmQgZGVzIEthbXBmZXMgYW5nZXplaWd0IHdlcmRlbicsXHJcbiAgICAgICAgZnI6ICdOb21icmUgZGUgZmF1dGVzIMOgIGFmZmljaGVyIGVuIGNvbWJhdCcsXHJcbiAgICAgICAgamE6ICfmiKbpl5jkuK3jgavooajnpLrjgZnjgovjg5/jgrnjgpLjgZfjgZ/lm57mlbAnLFxyXG4gICAgICAgIGNuOiAn5oiY5paX5Lit5pi+56S655qE6ZSZ6K+v5pWw6YePJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJEg7ZGc7Iuc7ZWgIOyLpOyImOuTpOydmCDqsJzsiJgnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ01pbmltdW1UaW1lRm9yUHVsbE1pc3Rha2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNaW5pbXVtIHRpbWUgdG8gc2hvdyBlYXJseSBwdWxsIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdNaW5pbXVtIFplaXQgaW4gZGVyIEVhcmx5LVB1bGxzIGFuZ2V6ZWlndCB3ZXJkZW4gKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgbWluaW1hbGUgcG91ciBhZmZpY2hlciBsXFwnZWFybHkgcHVsbCAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+OCv+OCsuWPluOCi+OBruOBjOaXqeOBi+OBo+OBn+OCieOAgeODn+OCueOBqOOBl+OBpuihqOekuuOBmeOCi+OAgeOCq+OCpuODs+ODiOODgOOCpuODs+OBqOOBruacgOefreaZgumWkyAo56eSKScsXHJcbiAgICAgICAgY246ICfmmL7npLrmj5DliY3lvIDmgKrmnIDlsI/ml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn7ZKA66eB7J20IOu5oOultOuLpOqzoCDtkZzsi5wg7ZWgIOy1nOyGjCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVUb1Nob3dEZWF0aFJlcG9ydFNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTZWNvbmRzIHRvIHNob3cgZGVhdGggcmVwb3J0IG9uIGRlYXRoICgwPW5vbmUpJyxcclxuICAgICAgICBkZTogJ1Nla3VuZGVuIHVtIGRlbiBUb2Rlc3JlcG9ydCBiZWltIFRvdCBhbnp1emVpZ2VuICgwPW5pZW1hbHMpJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBk4oCZYWZmaWNoYWdlIChlbiBzZWNvbmRlcykgZHUgcmFwcG9ydCBkZSBtb3J0ICgwID0gYXVjdW4pJyxcclxuICAgICAgICBqYTogJ+WAkuOCjOOBn+aZguOBq+ODh+OCueODrOODneODvOODiOOCkuihqOekuiAoMD3pnZ7ooajnpLopJyxcclxuICAgICAgICBjbjogJ+atu+S6oeaXtuaYvuekuuatu+S6oeaKpeWRiueahOenkuaVsCAoMD3kuI3mmL7npLopJyxcclxuICAgICAgICBrbzogJ+yjveyXiOydhCDrlYwg7IKs66edIOuztOqzoOyEnOulvCDrs7Tsl6zso7zripQg7Iuc6rCEKOy0iCkgKDA967mE7Zmc7ISx7ZmUKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDQsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBzZWNvbmRzO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBzZWNvbmRzID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ1RpbWVUb1Nob3dEZWF0aFJlcG9ydE1zJ10gPSBzZWNvbmRzICogMTAwMDtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVhdGhSZXBvcnRTaWRlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSG93IHRvIHNob3cgdGhlIGRlYXRoIHJlcG9ydCcsXHJcbiAgICAgICAgZGU6ICdXaWUgemVpZ2UgaWNoIGRlbiBUb2Rlc3JlcG9ydCBhbicsXHJcbiAgICAgICAgZnI6ICdPw7kgYWZmaWNoZXIgbGUgcmFwcG9ydCBkZSBtb3J0JyxcclxuICAgICAgICBqYTogJ+ODh+OCueODrOODneODvOODiOOBruihqOekuuaWueazlScsXHJcbiAgICAgICAgY246ICfmrbvkuqHmiqXlkYrnmoTmmL7npLrmlrnlvI8nLFxyXG4gICAgICAgIGtvOiAn7IKs66edIOuztOqzoOyEnCDtkZzsi5wg7JyE7LmYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ0xlZnQgU2lkZSc6ICdsZWZ0JyxcclxuICAgICAgICAgICdSaWdodCBTaWRlJzogJ3JpZ2h0JyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdMZWZ0IFNpZGUnOiAnbGlua3MnLFxyXG4gICAgICAgICAgJ1JpZ2h0IFNpZGUnOiAncmVjaHRzJyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGVha3RpdmllcnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdDw7R0w6kgZ2F1Y2hlJzogJ2dhdWNoZScsXHJcbiAgICAgICAgICAnQ8O0dMOpIGRyb2l0JzogJ2Ryb2l0ZScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2TDqXNhY3RpdsOpJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn5bem5YG0JzogJ2xlZnQnLFxyXG4gICAgICAgICAgJ+WPs+WBtCc6ICdyaWdodCcsXHJcbiAgICAgICAgICAn4p2MIOeEoeWKuSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+W3puS+pyc6ICdsZWZ0JyxcclxuICAgICAgICAgICflj7PkvqcnOiAncmlnaHQnLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfsmbzsqr0nOiAnbGVmdCcsXHJcbiAgICAgICAgICAn7Jik66W47Kq9JzogJ3JpZ2h0JyxcclxuICAgICAgICAgICfinYwg67mE7Zmc7ISx7ZmUJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnbGVmdCcsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn07XHJcblxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIF9maWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4gIGJhc2VPcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHtcclxuICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAvLyB3aGF0IHR5cGUgb2Ygb3B0aW9ucyBpdCBpcyB1c2luZy5cclxuICBjb25zdCBvcHRpb25zID0gYmFzZU9wdGlvbnMgYXMgT29wc3lPcHRpb25zO1xyXG5cclxuICBpZiAoIW9wdGlvbnMuVHJpZ2dlcnMpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgYmFzZVRyaWdnZXJTZXQgb2Ygb3B0aW9ucy5UcmlnZ2Vycykge1xyXG4gICAgY29uc3Qgc2V0OiBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuICB9XHJcbn07XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygnb29wc3lyYWlkc3knLCB0ZW1wbGF0ZU9wdGlvbnMsIHVzZXJGaWxlSGFuZGxlcik7XHJcbiIsImltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygncmFkYXInLCB7XHJcbiAgb3B0aW9uczogW1xyXG4gICAge1xyXG4gICAgICBpZDogJ0JSYW5rRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0ItUmFuayBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0ItUmFuayBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnUmFuZy1CIGFjdGl2w6knLFxyXG4gICAgICAgIGphOiAn44Op44Oz44KvQuODouODlicsXHJcbiAgICAgICAgY246ICflvIDlkK9C5oCq5o6i5rWLJyxcclxuICAgICAgICBrbzogJ0Lrnq3tgawg7ZGc7IucJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGV0ZWN0aW9uUmFuZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNaW5pbXVtIGRpc3RhbmNlIHRvIGRldGVjdCBtb2JzICh5YWxtcyknLFxyXG4gICAgICAgIGRlOiAnTWluaW11bSBFbnRmZXJudW5nIHVtIE1vYnMgenUgZXJrZW5uZW4gKGluIFlhbG1zKScsXHJcbiAgICAgICAgZnI6ICdEaXN0YW5jZSBtaW5pbWFsZSBkZSBkw6l0ZWN0aW9uIGRlcyBtb2JzICh5YWxtcyknLFxyXG4gICAgICAgIGphOiAn5pyA55+t5o6i5ris6Led6ZuiICjjg6Tjg6vjg6ApJyxcclxuICAgICAgICBjbjogJ+acgOefreaOoua1i+i3neemuyAo57GzKScsXHJcbiAgICAgICAga286ICfrqqzsiqTthLDrpbwg7YOQ7KeA7ZWgIOy1nOyGjCDqsbDrpqwgKOuvuO2EsCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdUVFMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbm5vdW5jZSBuZXcgbW9icyB3aXRoIHRleHQgdG8gc3BlZWNoJyxcclxuICAgICAgICBkZTogJ0vDvG5kaWdlIG5ldWUgTW9icyBtaXQgVFRTIGFuJyxcclxuICAgICAgICBmcjogJ0Fubm9uY2VyIGxlcyBub3V2ZWF1eCBtb2JzIHZpYSBUVFMnLFxyXG4gICAgICAgIGphOiAn5rK444GN44Oi44OW44KS5o6i55+l44GX44Gf44KJVFRT44Gn55+l44KJ44Gb44KLJyxcclxuICAgICAgICBjbjogJ+S9v+eUqFRUU+aPkOmGkuaWsOWPkeeOsOebruaghycsXHJcbiAgICAgICAga286ICfsg4gg66qs7Iqk7YSw66W8IFRUU+uhnCDslYzrprwnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wU291bmRBbGVydCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0Fubm91bmNlIG5ldyBtb2JzIHdpdGggYSBzb3VuZCcsXHJcbiAgICAgICAgZGU6ICdLw7xuZGlnZSBuZXVlIE1vYnMgbWl0IGVpbmVtIFNvdW5kIGFuJyxcclxuICAgICAgICBmcjogJ0Fubm9uY2VyIGxlcyBub3V2ZWF1eCBtb2JzIGF2ZWMgdW4gc29uJyxcclxuICAgICAgICBqYTogJ+ayuOOBjeODouODluOCkuaOouefpeOBl+OBn+OCiemfs+WjsOOBp+efpeOCieOBm+OCiycsXHJcbiAgICAgICAgY246ICfkvb/nlKjpooTorr7mj5DnpLrpn7Pmj5DphpLmlrDlj5HnjrDnm67moIcnLFxyXG4gICAgICAgIGtvOiAn7IOIIOuqrOyKpO2EsOulvCDshozrpqzroZwg7JWM66a8JyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVm9sdW1lIHRvIHBsYXkgcG9wIHNvdW5kICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhdXRzdMOkcmtlIGbDvHIgZGVuIFBvcHNvdW5kICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9ycyBkXFwndW5lIGFwcGFyaXRpb24gKDAtMSknLFxyXG4gICAgICAgIGphOiAn44GK55+l44KJ44Gb6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC41LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQdWxsZXInLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IHB1bGxlciBvZiBtb2InLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgZGVuIGVyc3RlbiBBbmdyZWlmZXIgZWluZXMgTW9icyBhbicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZSBwdWxsZXIgZHUgbW9iJyxcclxuICAgICAgICBqYTogJ+acgOWIneOBq+OCv+OCsuWPluOBo+OBn+S6uuOBruWQjeWJjeOCkuihqOekuicsXHJcbiAgICAgICAgY246ICfmmL7npLrnm67moIflvIDmgKrogIXnmoTlkI3np7AnLFxyXG4gICAgICAgIGtvOiAn66qs7Iqk7YSw66W8IO2SgOunge2VnCDsgqzrnowg7ZGc7IucJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9zaXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IHBvc2l0aW9uIG9mIG1vYicsXHJcbiAgICAgICAgZGU6ICdaZWlnZSBkaWUgUG9zaXRpb24gZWluZXMgTW9icycsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsYSBwb3NpdGlvbiBkdSBtb2InLFxyXG4gICAgICAgIGphOiAn5rK444GN44Oi44OW44Gu5L2N572u44KS6KGo56S6JyxcclxuICAgICAgICBjbjogJ+aYvuekuuebruagh+S9jee9ricsXHJcbiAgICAgICAga286ICfrqqzsiqTthLDsnZgg7JyE7LmYIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG4iLCJpbXBvcnQgeyBQYXJ0eSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCBVdGlsIGZyb20gJy4vdXRpbCc7XHJcblxyXG5jb25zdCBlbXB0eVJvbGVUb1BhcnR5TmFtZXMgPSAoKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRhbms6IFtdLFxyXG4gICAgaGVhbGVyOiBbXSxcclxuICAgIGRwczogW10sXHJcbiAgICBjcmFmdGVyOiBbXSxcclxuICAgIGdhdGhlcmVyOiBbXSxcclxuICAgIG5vbmU6IFtdLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0eVRyYWNrZXIge1xyXG4gIGRldGFpbHM6IFBhcnR5W10gPSBbXTtcclxuICBwYXJ0eU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBwYXJ0eUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VOYW1lc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VJZHNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5hbWVUb1JvbGVfOiB7IFtuYW1lOiBzdHJpbmddOiBSb2xlIH0gPSB7fTtcclxuICBpZFRvTmFtZV86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHJvbGVUb1BhcnR5TmFtZXNfOiBSZWNvcmQ8Um9sZSwgc3RyaW5nW10+ID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcblxyXG4gIC8vIEJpbmQgdGhpcyB0byBQYXJ0eUNoYW5nZWQgZXZlbnRzLlxyXG4gIG9uUGFydHlDaGFuZ2VkKGU6IHsgcGFydHk6IFBhcnR5W10gfSk6IHZvaWQge1xyXG4gICAgaWYgKCFlIHx8ICFlLnBhcnR5KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5kZXRhaWxzID0gZS5wYXJ0eTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHAgb2YgZS5wYXJ0eSkge1xyXG4gICAgICB0aGlzLmFsbGlhbmNlSWRzXy5wdXNoKHAuaWQpO1xyXG4gICAgICB0aGlzLmFsbGlhbmNlTmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgY29uc3Qgam9iTmFtZSA9IFV0aWwuam9iRW51bVRvSm9iKHAuam9iKTtcclxuICAgICAgY29uc3Qgcm9sZSA9IFV0aWwuam9iVG9Sb2xlKGpvYk5hbWUpO1xyXG4gICAgICB0aGlzLmlkVG9OYW1lX1twLmlkXSA9IHAubmFtZTtcclxuICAgICAgdGhpcy5uYW1lVG9Sb2xlX1twLm5hbWVdID0gcm9sZTtcclxuICAgICAgaWYgKHAuaW5QYXJ0eSkge1xyXG4gICAgICAgIHRoaXMucGFydHlJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgICAgdGhpcy5wYXJ0eU5hbWVzXy5wdXNoKHAubmFtZSk7XHJcbiAgICAgICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1tyb2xlXS5wdXNoKHAubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgLy8gb3JpZ2luYWwgZXZlbnQgZGF0YVxyXG4gICAgdGhpcy5kZXRhaWxzID0gW107XHJcbiAgICB0aGlzLnBhcnR5TmFtZXNfID0gW107XHJcbiAgICB0aGlzLnBhcnR5SWRzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZU5hbWVzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZUlkc18gPSBbXTtcclxuICAgIHRoaXMubmFtZVRvUm9sZV8gPSB7fTtcclxuICAgIHRoaXMuaWRUb05hbWVfID0ge307XHJcblxyXG4gICAgLy8gcm9sZSAtPiBbbmFtZXNdIGJ1dCBvbmx5IGZvciBwYXJ0eVxyXG4gICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzXyA9IGVtcHR5Um9sZVRvUGFydHlOYW1lcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCBwYXJ0eU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5TmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcnR5SWRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5SWRzXztcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIHBsYXllcnMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGdldCBhbGxpYW5jZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmFsbGlhbmNlTmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgdGFua3MgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgdGFua05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWyd0YW5rJ107XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBoZWFsZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGhlYWxlck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGRwcyBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGRwc05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydkcHMnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBwYXJ0aWN1bGFyIHJvbGVcclxuICBpc1JvbGUobmFtZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWVUb1JvbGVfW25hbWVdID09PSByb2xlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHRhbmtcclxuICBpc1RhbmsobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ3RhbmsnKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBoZWFsZXJcclxuICBpc0hlYWxlcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnaGVhbGVyJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgZHBzXHJcbiAgaXNEUFMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ2RwcycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBpblBhcnR5KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGlzIGluIHlvdXIgYWxsaWFuY2VcclxuICBpbkFsbGlhbmNlKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBhIG5hbWVkIHBsYXllciwgcmV0dXJucyB0aGUgb3RoZXIgdGFuayBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIC8vIGlmIG5hbWVkIHBsYXllciBpcyBub3QgYSB0YW5rLCBvciB0aGVyZSdzIG5vdCBleGFjdGx5IHR3byB0YW5rc1xyXG4gIC8vIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5LCByZXR1cm5zIG51bGwuXHJcbiAgb3RoZXJUYW5rKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMudGFua05hbWVzO1xyXG4gICAgaWYgKG5hbWVzLmxlbmd0aCAhPT0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKG5hbWVzWzBdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMV07XHJcbiAgICBpZiAobmFtZXNbMV0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1swXTtcclxuICB9XHJcblxyXG4gIC8vIHNlZTogb3RoZXJUYW5rLCBidXQgZm9yIGhlYWxlcnMuXHJcbiAgb3RoZXJIZWFsZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1snaGVhbGVyJ107XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0aGUgam9iIG5hbWUgb2YgdGhlIHNwZWNpZmllZCBwYXJ0eSBtZW1iZXJcclxuICBqb2JOYW1lKG5hbWU6IHN0cmluZyk6IEpvYiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBwYXJ0eUluZGV4ID0gdGhpcy5wYXJ0eU5hbWVzLmluZGV4T2YobmFtZSk7XHJcbiAgICBpZiAocGFydHlJbmRleCA+PSAwKVxyXG4gICAgICByZXR1cm4gVXRpbC5qb2JFbnVtVG9Kb2IodGhpcy5kZXRhaWxzW3BhcnR5SW5kZXhdPy5qb2IgYXMgbnVtYmVyKTtcclxuICB9XHJcblxyXG4gIG5hbWVGcm9tSWQoaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFRvTmFtZV9baWRdO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb29zZVRyaWdnZXJTZXQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgVHJpZ2dlckZpZWxkLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG4vLyBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgYmFzZSBvcHRpb25zIHRoYXQgcmFpZGJvc3MgZXhwZWN0cyB0byBzZWUuXHJcblxyXG4vLyBCYWNrd2FyZHMgY29tcGF0IGZvciB0aGlzIG9sZCBzdHlsZSBvZiBvdmVycmlkaW5nIHRyaWdnZXJzLlxyXG4vLyBUT0RPOiB3ZSBzaG91bGQgcHJvYmFibHkgZGVwcmVjYXRlIGFuZCByZW1vdmUgdGhpcy5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbiA9IFBhcnRpYWw8e1xyXG4gIFRleHRBbGVydDogYm9vbGVhbjtcclxuICBTb3VuZEFsZXJ0OiBib29sZWFuO1xyXG4gIFNwZWVjaEFsZXJ0OiBib29sZWFuO1xyXG4gIEdyb3VwU3BlZWNoQWxlcnQ6IGJvb2xlYW47IC8vIFRPRE86IHdlIHNob3VsZCByZW1vdmUgdGhpc1xyXG4gIFNvdW5kT3ZlcnJpZGU6IHN0cmluZztcclxuICBWb2x1bWVPdmVycmlkZTogbnVtYmVyO1xyXG4gIENvbmRpdGlvbjogVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgYm9vbGVhbj47XHJcbiAgSW5mb1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGVydFRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGFybVRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBUVFNUZXh0OiBUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz47XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVDb25maWcgPSBQYXJ0aWFsPHtcclxuICBJZ25vcmU6IHN0cmluZ1tdO1xyXG4gIFJlbmFtZTogeyBbdGV4dDogc3RyaW5nXTogc3RyaW5nIH07XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlckF1dG9Db25maWcgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbmV4cG9ydCB0eXBlIFBlclRyaWdnZXJPcHRpb25zID0geyBbdHJpZ2dlcklkOiBzdHJpbmddOiBQZXJUcmlnZ2VyT3B0aW9uIH07XHJcbmV4cG9ydCB0eXBlIERpc2FibGVkVHJpZ2dlcnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuZXhwb3J0IHR5cGUgUGVyWm9uZVRpbWVsaW5lQ29uZmlnID0geyBbem9uZUlkOiBudW1iZXJdOiBUaW1lbGluZUNvbmZpZyB9O1xyXG5cclxudHlwZSBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHsgW2dhbWVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICBJbmZvU291bmQ6IHN0cmluZztcclxuICBBbGVydFNvdW5kOiBzdHJpbmc7XHJcbiAgQWxhcm1Tb3VuZDogc3RyaW5nO1xyXG4gIExvbmdTb3VuZDogc3RyaW5nO1xyXG4gIFB1bGxTb3VuZDogc3RyaW5nO1xyXG4gIEF1ZGlvQWxsb3dlZDogYm9vbGVhbjtcclxuICBEaXNhYmxlZFRyaWdnZXJzOiBEaXNhYmxlZFRyaWdnZXJzO1xyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiBQZXJUcmlnZ2VyQXV0b0NvbmZpZztcclxuICBQZXJUcmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbnM7XHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiBQZXJab25lVGltZWxpbmVDb25maWc7XHJcbiAgVHJpZ2dlcnM6IExvb3NlVHJpZ2dlclNldFtdO1xyXG4gIFBsYXllck5hbWVPdmVycmlkZT86IHN0cmluZztcclxuICBJc1JlbW90ZVJhaWRib3NzOiBib29sZWFuO1xyXG4gIC8vIFRyYW5zZm9ybXMgdGV4dCBiZWZvcmUgcGFzc2luZyBpdCB0byBUVFMuXHJcbiAgVHJhbnNmb3JtVHRzOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBUaGVzZSBvcHRpb25zIGFyZSBvbmVzIHRoYXQgYXJlIG5vdCBhdXRvLWRlZmluZWQgYnkgcmFpZGJvc3NfY29uZmlnLmpzLlxyXG5jb25zdCBkZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zOiBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHt9LFxyXG5cclxuICBJbmZvU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9wZXJjdXNzaW9uX2hpdC53ZWJtJyxcclxuICBBbGVydFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0FsZXJ0LndlYm0nLFxyXG4gIEFsYXJtU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxhcm0ud2VibScsXHJcbiAgTG9uZ1NvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0xvbmcud2VibScsXHJcbiAgUHVsbFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9mcmVlc291bmQvc29uYXIud2VibScsXHJcblxyXG4gIEF1ZGlvQWxsb3dlZDogdHJ1ZSxcclxuXHJcbiAgRGlzYWJsZWRUcmlnZ2Vyczoge30sXHJcblxyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiB7fSxcclxuICBQZXJUcmlnZ2VyT3B0aW9uczoge30sXHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiB7fSxcclxuXHJcbiAgVHJpZ2dlcnM6IFtdLFxyXG5cclxuICBJc1JlbW90ZVJhaWRib3NzOiBmYWxzZSxcclxuXHJcbiAgVHJhbnNmb3JtVHRzOiAodCkgPT4gdCxcclxufTtcclxuXHJcbi8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIGdldCB0aGlzIHR5cGUgZnJvbSByYWlkYm9zc19jb25maWc/P1xyXG4vLyBUaGVzZSB2YWx1ZXMgYXJlIG92ZXJ3cml0dGVuIGFuZCBhcmUganVzdCBoZXJlIGZvciB0eXBpbmcuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMgPSB7XHJcbiAgRGVidWc6IGZhbHNlLFxyXG4gIERlZmF1bHRBbGVydE91dHB1dDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgQWxlcnRzTGFuZ3VhZ2U6IHVuZGVmaW5lZCBhcyAoTGFuZyB8IHVuZGVmaW5lZCksXHJcbiAgVGltZWxpbmVMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUVuYWJsZWQ6IHRydWUsXHJcbiAgQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICBTaG93VGltZXJCYXJzQXRTZWNvbmRzOiAzMCxcclxuICBLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHM6IDAuNyxcclxuICBCYXJFeHBpcmVzU29vblNlY29uZHM6IDYsXHJcbiAgTWF4TnVtYmVyT2ZUaW1lckJhcnM6IDYsXHJcbiAgRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kczogMyxcclxuICBBbGFybVNvdW5kVm9sdW1lOiAxLFxyXG4gIEFsZXJ0U291bmRWb2x1bWU6IDEsXHJcbiAgSW5mb1NvdW5kVm9sdW1lOiAxLFxyXG4gIExvbmdTb3VuZFZvbHVtZTogMSxcclxuICBQdWxsU291bmRWb2x1bWU6IDEsXHJcbiAgUnVtYmxlRW5hYmxlZDogZmFsc2UsXHJcbiAgSW5mb1J1bWJsZUR1cmF0aW9uOiA0MDAsXHJcbiAgSW5mb1J1bWJsZVdlYWs6IDAuNSxcclxuICBJbmZvUnVtYmxlU3Ryb25nOiAwLFxyXG4gIEFsZXJ0UnVtYmxlRHVyYXRpb246IDUwMCxcclxuICBBbGVydFJ1bWJsZVdlYWs6IDAsXHJcbiAgQWxlcnRSdW1ibGVTdHJvbmc6IDAuNSxcclxuICBBbGFybVJ1bWJsZUR1cmF0aW9uOiA3NTAsXHJcbiAgQWxhcm1SdW1ibGVXZWFrOiAwLjc1LFxyXG4gIEFsYXJtUnVtYmxlU3Ryb25nOiAwLjc1LFxyXG4gIGNhY3Rib3RXb3JtaG9sZVN0cmF0OiBmYWxzZSxcclxuICBjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQ6IGZhbHNlLFxyXG59O1xyXG50eXBlIFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWlkYm9zc09wdGlvbnNcclxuICBleHRlbmRzIEJhc2VPcHRpb25zLCBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMsIFJhaWRib3NzQ29uZmlnT3B0aW9ucyB7fVxyXG5cclxuLy8gU2VlIHVzZXIvcmFpZGJvc3MtZXhhbXBsZS5qcyBmb3IgZG9jdW1lbnRhdGlvbi5cclxuY29uc3QgT3B0aW9uczogUmFpZGJvc3NPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgT3B0aW9ucztcclxuIiwiLy8gVE9ETzogbWF5YmUgdGhpcyBzaG91bGQgYmUgc3RydWN0dXJlZCBpZGVudGljYWxseSB0byBhIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9uLlxyXG5cclxuaW1wb3J0IHsgTGFuZywgTm9uRW5MYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcblxyXG4vLyBJdCdzIGF3a3dhcmQgdG8gcmVmZXIgdG8gdGhlc2Ugc3RyaW5nIGtleXMsIHNvIG5hbWUgdGhlbSBhcyByZXBsYWNlU3luY1trZXlzLnNlYWxLZXldLlxyXG5leHBvcnQgY29uc3Qgc3luY0tleXMgPSB7XHJcbiAgLy8gTWF0Y2ggUmVnZXhlcywgTmV0UmVnZXhlcywgYW5kIHRpbWVsaW5lIGNvbnN0cnVjdGlvbnMgb2Ygc2VhbCBsb2cgbGluZXMuXHJcbiAgLy8gRklYTUU6IFRoaXMgc2VhbCByZWdleCBpbmNsdWRlcyBhbiBvcHRpb25hbCBzZWNvbmQgY29sb24sIGFzIFwiMDgzOTo6P1wiXCIuXHJcbiAgLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlbHkgY29udmVydGVkIHRoaW5ncyBmb3IgNi4wLFxyXG4gIC8vIHdlIHNob3VsZCBjb21lIGJhY2sgaGVyZSBhbmQgbWFrZSB0aGUgZG91YmxlZCBjb2xvbiBub24tb3B0aW9uYWwuXHJcbiAgc2VhbDogJyg/PD0wMDowODM5Ojp8MDBcXFxcfFtefF0qXFxcXHwwODM5XFxcXHxcXFxcfCkoLiopIHdpbGwgYmUgc2VhbGVkIG9mZig/OiBpbiAoPzpbMC05XSsgc2Vjb25kcyk/KT8nLFxyXG4gIHVuc2VhbDogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gIGVuZ2FnZTogJ0VuZ2FnZSEnLFxyXG59O1xyXG5cclxuY29uc3QgdGV4dEtleXMgPSB7XHJcbiAgLy8gTWF0Y2ggZGlyZWN0aW9ucyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKE4pYCwgYChTVylgLCBgKE5FL05XKWAsIGV0Yy5cclxuICBFOiAnKD88PSBcXFxcKHxcXFxcLylFKD89XFxcXCl8XFxcXC8pJyxcclxuICBOOiAnKD88PSBcXFxcKHxcXFxcLylOKD89XFxcXCl8XFxcXC8pJyxcclxuICBTOiAnKD88PSBcXFxcKHxcXFxcLylTKD89XFxcXCl8XFxcXC8pJyxcclxuICBXOiAnKD88PSBcXFxcKHxcXFxcLylXKD89XFxcXCl8XFxcXC8pJyxcclxuICBORTogJyg/PD0gXFxcXCh8XFxcXC8pTkUoPz1cXFxcKXxcXFxcLyknLFxyXG4gIE5XOiAnKD88PSBcXFxcKHxcXFxcLylOVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU0U6ICcoPzw9IFxcXFwofFxcXFwvKVNFKD89XFxcXCl8XFxcXC8pJyxcclxuICBTVzogJyg/PD0gXFxcXCh8XFxcXC8pU1coPz1cXFxcKXxcXFxcLyknLFxyXG4gIC8vIE1hdGNoIFJvbGVzIGluIHJlcGxhY2VUZXh0XHJcbiAgLy8gZWc6IGAoVGFuaylgLCBgKEhlYWxlcilgLCBgKERQUylgLCBldGNcclxuICBUYW5rOiAnKD88PSBcXFxcKHxcXFxcLylUYW5rcz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIEhlYWxlcjogJyg/PD0gXFxcXCh8XFxcXC8pSGVhbGVycz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIERQUzogJyg/PD0gXFxcXCh8XFxcXC8pRFBTKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBgLS0xLS1gIHN0eWxlIHRleHQuXHJcbiAgTnVtYmVyOiAnLS0oXFxcXHMqXFxcXGQrXFxcXHMqKS0tJyxcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1vblJlcGxhY2VtZW50ID0ge1xyXG4gIHJlcGxhY2VTeW5jOiB7XHJcbiAgICBbcmVwbGFjZUtleTogc3RyaW5nXTogeyBba2V5IGluIExhbmddPzogc3RyaW5nIH07XHJcbiAgfTtcclxuICByZXBsYWNlVGV4dDoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106XHJcbiAgICAgICYge1xyXG4gICAgICAgIFtrZXkgaW4gTm9uRW5MYW5nXT86IHN0cmluZztcclxuICAgICAgfVxyXG4gICAgICAmIHtcclxuICAgICAgICAvLyBkb24ndCBzZXQgdGhpcyBrZXksIGJ1dCBhbGxvdyB1cyB0byBhc2sgaWYgaXQgZXhpc3RzXHJcbiAgICAgICAgZW4/OiBuZXZlcjtcclxuICAgICAgfTtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbW1vblJlcGxhY2VtZW50OiBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3N5bmNLZXlzLnNlYWxdOiB7XHJcbiAgICAgIGVuOiAnJDEgd2lsbCBiZSBzZWFsZWQgb2ZmJyxcclxuICAgICAgZGU6XHJcbiAgICAgICAgJ05vY2ggMTUgU2VrdW5kZW4sIGJpcyBzaWNoICg/Oig/OmRlcnxkaWV8ZGFzKSApPyg/Olp1Z2FuZyB6dSg/OltybV18IGRlbik/ICk/JDEgc2NobGllw590JyxcclxuICAgICAgZnI6ICdGZXJtZXR1cmUgZCg/OmV8dXxlcykgKD86bFxcJ3xsYSB8bGVzPyApPyQxIGRhbnMnLFxyXG4gICAgICBqYTogJyQx44Gu5bCB6Y6W44G+44Gn44GC44GoJyxcclxuICAgICAgY246ICfot50kMeiiq+WwgemUgei/mOaciScsXHJcbiAgICAgIGtvOiAnMTXstIgg7ZuE7JeQICQxKD867J20fOqwgCkg67SJ7IeE65Cp64uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMudW5zZWFsXToge1xyXG4gICAgICBlbjogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gICAgICBkZTogJ8O2ZmZuZXQgc2ljaCAoPzp3aWVkZXJ8ZXJuZXV0KScsXHJcbiAgICAgIGZyOiAnT3V2ZXJ0dXJlICcsXHJcbiAgICAgIGphOiAn44Gu5bCB6Y6W44GM6Kej44GL44KM44GfJyxcclxuICAgICAgY246ICfnmoTlsIHplIHop6PpmaTkuoYnLFxyXG4gICAgICBrbzogJ+ydmCDrtInsh4TqsIAg7ZW07KCc65CY7JeI7Iq164uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMuZW5nYWdlXToge1xyXG4gICAgICBlbjogJ0VuZ2FnZSEnLFxyXG4gICAgICBkZTogJ1N0YXJ0IScsXHJcbiAgICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWUnLFxyXG4gICAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICAgIGNuOiAn5oiY5paX5byA5aeL77yBJyxcclxuICAgICAga286ICfsoITtiKwg7Iuc7J6RIScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgICctLWFkZHMgc3Bhd24tLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZFxcJ2FkZHMtLScsXHJcbiAgICAgIGphOiAnLS3pm5HprZrlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lsI/mgKrlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3sq4Qg7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWFkZHMgdGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tQWRkcyBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLUFkZHMgY2libGFibGVzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Y+v6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIO2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2VudGVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1NaXR0ZS0tJyxcclxuICAgICAgZnI6ICctLUNlbnRyZS0tJyxcclxuICAgICAgamE6ICctLeOCu+ODs+OCv+ODvC0tJyxcclxuICAgICAgY246ICctLeS4reWkri0tJyxcclxuICAgICAga286ICctLeykkeyVmS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChjZW50ZXJcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoTWl0dGUpJyxcclxuICAgICAgZnI6ICcoQ2VudHJlKScsXHJcbiAgICAgIGphOiAnKOOCu+ODs+OCv+ODvCknLFxyXG4gICAgICBjbjogJyjkuK3lpK4pJyxcclxuICAgICAga286ICco7KSR7JWZKScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2xvbmVzIGFwcGVhci0tJzoge1xyXG4gICAgICBkZTogJy0tS2xvbmUgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZGVzIGNsb25lcy0tJyxcclxuICAgICAgamE6ICctLeW5u+W9seWHuuePvi0tJyxcclxuICAgICAgY246ICctLeW5u+W9seWHuueOsC0tJyxcclxuICAgICAga286ICctLeu2hOyLoCDshoztmZgtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY29ybmVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1FY2tlLS0nLFxyXG4gICAgICBmcjogJy0tQ29pbi0tJyxcclxuICAgICAgamE6ICctLeOCs+ODvOODiuODvC0tJyxcclxuICAgICAgY246ICctLeinkuiQvS0tJyxcclxuICAgICAga286ICctLeq1rOyEnS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1kcHMgYnVybi0tJzoge1xyXG4gICAgICBkZTogJy0tRFBTIGJ1cm4tLScsXHJcbiAgICAgIGZyOiAnLS1CdXJuIGRwcy0tJyxcclxuICAgICAgamE6ICctLeeBq+WKm+WHuuOBmy0tJyxcclxuICAgICAgY246ICctLei9rOeBqy0tJyxcclxuICAgICAga286ICctLeuUnCDssrTtgawtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tT3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3mnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJwtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoZWFzdFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhPc3RlbiknLFxyXG4gICAgICBmcjogJyhFc3QpJyxcclxuICAgICAgamE6ICco5p2xKScsXHJcbiAgICAgIGNuOiAnKOS4nCknLFxyXG4gICAgICBrbzogJyjrj5nsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnRW5yYWdlJzoge1xyXG4gICAgICBkZTogJ0ZpbmFsYW5ncmlmZicsXHJcbiAgICAgIGZyOiAnRW5yYWdlJyxcclxuICAgICAgamE6ICfmmYLplpPliIfjgownLFxyXG4gICAgICBjbjogJ+eLguaatCcsXHJcbiAgICAgIGtvOiAn7KCE66m46riwJyxcclxuICAgIH0sXHJcbiAgICAnLS1mcm96ZW4tLSc6IHtcclxuICAgICAgZGU6ICctLWVpbmdlZnJvcmVuLS0nLFxyXG4gICAgICBmcjogJy0tR2Vsw6ktLScsXHJcbiAgICAgIGphOiAnLS3lh43ntZAtLScsXHJcbiAgICAgIGNuOiAnLS3lhrvnu5MtLScsXHJcbiAgICAgIGtvOiAnLS3ruZnqsrAtLScsXHJcbiAgICB9LFxyXG4gICAgJy0taW4tLSc6IHtcclxuICAgICAgZGU6ICctLVJlaW4tLScsXHJcbiAgICAgIGZyOiAnLS1JbnTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5LitLS0nLFxyXG4gICAgICBjbjogJy0t5YaFLS0nLFxyXG4gICAgICBrbzogJy0t7JWILS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKEluXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJlaW4pJyxcclxuICAgICAgZnI6ICcoSW50w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjkuK0pJyxcclxuICAgICAgY246ICco5YaFKScsXHJcbiAgICAgIGtvOiAnKOyViCknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGlubmVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGlubmVuKScsXHJcbiAgICAgIGZyOiAnKGludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnLS1qdW1wLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1TcHJ1bmctLScsXHJcbiAgICAgIGZyOiAnLS1TYXV0LS0nLFxyXG4gICAgICBqYTogJy0t44K444Oj44Oz44OXLS0nLFxyXG4gICAgICBjbjogJy0t6LezLS0nLFxyXG4gICAgICBrbzogJy0t7KCQ7ZSELS0nLFxyXG4gICAgfSxcclxuICAgICctLWtub2NrYmFjay0tJzoge1xyXG4gICAgICBkZTogJy0tUsO8Y2tzdG/Dny0tJyxcclxuICAgICAgZnI6ICctLVBvdXNzw6llLS0nLFxyXG4gICAgICBqYTogJy0t44OO44OD44Kv44OQ44OD44KvLS0nLFxyXG4gICAgICBjbjogJy0t5Ye76YCALS0nLFxyXG4gICAgICBrbzogJy0t64SJ67CxLS0nLFxyXG4gICAgfSxcclxuICAgICctLW1pZGRsZS0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1NaWxpZXUtLScsXHJcbiAgICAgIGphOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGNuOiAnLS3kuK3pl7QtLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwobWlkZGxlXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKE1pbGlldSknLFxyXG4gICAgICBqYTogJyjkuK3lpK4pJyxcclxuICAgICAgY246ICco5Lit6Ze0KScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3JkZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLS0nLFxyXG4gICAgICBqYTogJy0t5YyXLS0nLFxyXG4gICAgICBjbjogJy0t5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG5vcnRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE5vcmRlbiknLFxyXG4gICAgICBmcjogJyhOb3JkKScsXHJcbiAgICAgIGphOiAnKOWMlyknLFxyXG4gICAgICBjbjogJyjljJcpJyxcclxuICAgICAga286ICco67aB7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLUVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+adsS0tJyxcclxuICAgICAgY246ICctLeS4nOWMly0tJyxcclxuICAgICAga286ICctLeu2geuPmS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aHdlc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU5vcmR3ZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5YyX6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLW91dC0tJzoge1xyXG4gICAgICBkZTogJy0tUmF1cy0tJyxcclxuICAgICAgZnI6ICctLUV4dMOpcmlldXItLScsXHJcbiAgICAgIGphOiAnLS3lpJYtLScsXHJcbiAgICAgIGNuOiAnLS3lpJYtLScsXHJcbiAgICAgIGtvOiAnLS3rsJYtLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoT3V0XFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJhdXMpJyxcclxuICAgICAgZnI6ICcoRXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGF1w59lbiknLFxyXG4gICAgICBmcjogJyhleHTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOWkliknLFxyXG4gICAgICBjbjogJyjlpJYpJyxcclxuICAgICAga286ICco67CWKScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwob3V0c2lkZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhEcmF1w59lbiknLFxyXG4gICAgICBmcjogJyjDgCBsXFwnZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSW6Z2iKScsXHJcbiAgICAgIGtvOiAnKOuwlOq5pSknLFxyXG4gICAgfSxcclxuICAgICctLXJvdGF0ZS0tJzoge1xyXG4gICAgICBkZTogJy0tcm90aWVyZW4tLScsXHJcbiAgICAgIGZyOiAnLS1yb3RhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeWbnui7oi0tJyxcclxuICAgICAgY246ICctLeaXi+i9rC0tJyxcclxuICAgICAga286ICctLe2ajOyghC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLS0nLFxyXG4gICAgICBqYTogJy0t5Y2XLS0nLFxyXG4gICAgICBjbjogJy0t5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKHNvdXRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFPDvGRlbiknLFxyXG4gICAgICBmcjogJyhTdWQpJyxcclxuICAgICAgamE6ICco5Y2XKScsXHJcbiAgICAgIGNuOiAnKOWNlyknLFxyXG4gICAgICBrbzogJyjrgqjsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aGVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRvc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljZfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljZctLScsXHJcbiAgICAgIGtvOiAnLS3rgqjrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNwbGl0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS10ZWlsZW4tLScsXHJcbiAgICAgIGZyOiAnLS1kaXZpc2lvbi0tJyxcclxuICAgICAgamE6ICctLeWIhuijgi0tJyxcclxuICAgICAgY246ICctLeWIhuijgi0tJyxcclxuICAgICAga286ICctLeu2hOyXtC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zdHVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1CZXTDpHVidW5nLS0nLFxyXG4gICAgICBmcjogJy0tw4l0b3VyZGlzc2VtZW50LS0nLFxyXG4gICAgICBqYTogJy0t44K544K/44OzLS0nLFxyXG4gICAgICBjbjogJy0t5Ye75pmVLS0nLFxyXG4gICAgICBrbzogJy0t6riw7KCILS0nLFxyXG4gICAgfSxcclxuICAgICctLXN5bmMtLSc6IHtcclxuICAgICAgZGU6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeOCt+ODs+OCry0tJyxcclxuICAgICAgY246ICctLeWQjOatpeWMli0tJyxcclxuICAgICAga286ICctLeuPmeq4sO2ZlC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS0oWzAtOV0reCApP3RhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLSQxYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS0kMWNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0tJDHjgr/jg7zjgrLjg4Pjg4jlj6/og70tLScsXHJcbiAgICAgIGNuOiAnLS0kMeWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLSQx7YOA6rKfIOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS10ZWxlcG9ydC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVsZXBvcnRhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXTDqWzDqXBvcnRhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeODhuODrOODneODvOODiC0tJyxcclxuICAgICAgY246ICctLeS8oOmAgS0tJyxcclxuICAgICAga286ICctLeyInOqwhCDsnbTrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdW50YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1uaWNoIGFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tbm9uIGNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0t44K/44O844Ky44OD44OI5LiN5Y+vLS0nLFxyXG4gICAgICBjbjogJy0t5peg5rOV6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7YOA6rKfIOu2iOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS13ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1XZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeilvy0tJyxcclxuICAgICAgY246ICctLeilvy0tJyxcclxuICAgICAga286ICctLeyEnOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRV06IHtcclxuICAgICAgZGU6ICdPJyxcclxuICAgICAgZnI6ICdFJyxcclxuICAgICAgamE6ICfmnbEnLFxyXG4gICAgICBjbjogJ+S4nCcsXHJcbiAgICAgIGtvOiAn64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTl06IHtcclxuICAgICAgZGU6ICdOJyxcclxuICAgICAgZnI6ICdOJyxcclxuICAgICAgamE6ICfljJcnLFxyXG4gICAgICBjbjogJ+WMlycsXHJcbiAgICAgIGtvOiAn67aBJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU106IHtcclxuICAgICAgZGU6ICdTJyxcclxuICAgICAgZnI6ICdTJyxcclxuICAgICAgamE6ICfljZcnLFxyXG4gICAgICBjbjogJ+WNlycsXHJcbiAgICAgIGtvOiAn64KoJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuV106IHtcclxuICAgICAgZGU6ICdXJyxcclxuICAgICAgZnI6ICdPJyxcclxuICAgICAgamE6ICfopb8nLFxyXG4gICAgICBjbjogJ+ilvycsXHJcbiAgICAgIGtvOiAn7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTkVdOiB7XHJcbiAgICAgIGRlOiAnTk8nLFxyXG4gICAgICBmcjogJ05FJyxcclxuICAgICAgamE6ICfljJfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWMlycsXHJcbiAgICAgIGtvOiAn67aB64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTlddOiB7XHJcbiAgICAgIGRlOiAnTlcnLFxyXG4gICAgICBmcjogJ05PJyxcclxuICAgICAgamE6ICfljJfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WMlycsXHJcbiAgICAgIGtvOiAn67aB7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU0VdOiB7XHJcbiAgICAgIGRlOiAnU08nLFxyXG4gICAgICBmcjogJ1NFJyxcclxuICAgICAgamE6ICfljZfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWNlycsXHJcbiAgICAgIGtvOiAn64Ko64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU1ddOiB7XHJcbiAgICAgIGRlOiAnU1cnLFxyXG4gICAgICBmcjogJ1NPJyxcclxuICAgICAgamE6ICfljZfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WNlycsXHJcbiAgICAgIGtvOiAn64Ko7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuVGFua106IHtcclxuICAgICAgZGU6ICdUYW5rJyxcclxuICAgICAgZnI6ICdUYW5rJyxcclxuICAgICAgamE6ICfjgr/jg7Pjgq8nLFxyXG4gICAgICBjbjogJ+WdpuWFiycsXHJcbiAgICAgIGtvOiAn7YOx7LukJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuSGVhbGVyXToge1xyXG4gICAgICBkZTogJ0hlaWxlcicsXHJcbiAgICAgIGZyOiAnSGVhbGVyJyxcclxuICAgICAgamE6ICfjg5Ljg7zjg6njg7wnLFxyXG4gICAgICBjbjogJ+ayu+eWlycsXHJcbiAgICAgIGtvOiAn7Z6Q65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRFBTXToge1xyXG4gICAgICBkZTogJ0RQUycsXHJcbiAgICAgIGZyOiAnRFBTJyxcclxuICAgICAgamE6ICdEUFMnLFxyXG4gICAgICBjbjogJ0RQUycsXHJcbiAgICAgIGtvOiAn65Sc65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTnVtYmVyXToge1xyXG4gICAgICBkZTogJy0tJDEtLScsXHJcbiAgICAgIGZyOiAnLS0kMS0tJyxcclxuICAgICAgamE6ICctLSQxLS0nLFxyXG4gICAgICBjbjogJy0tJDEtLScsXHJcbiAgICAgIGtvOiAnLS0kMS0tJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIEtleXMgaW50byBjb21tb25SZXBsYWNlbWVudCBvYmplY3RzIHRoYXQgcmVwcmVzZW50IFwicGFydGlhbFwiIHRyYW5zbGF0aW9ucyxcclxuLy8gaW4gdGhlIHNlbnNlIHRoYXQgZXZlbiBpZiBpdCBhcHBsaWVzLCB0aGVyZSBzdGlsbCBuZWVkcyB0byBiZSBhbm90aGVyXHJcbi8vIHRyYW5zbGF0aW9uIGZvciBpdCB0byBiZSBjb21wbGV0ZS4gIFRoZXNlIGtleXMgc2hvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWVcclxuLy8gYXMgdGhlIGtleXMgZnJvbSB0aGUgY29tbW9uUmVwbGFjZW1lbnQgYmxvY2sgYWJvdmUuXHJcbmV4cG9ydCBjb25zdCBwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzID0gW1xyXG4gIC8vIEJlY2F1c2UgdGhlIHpvbmUgbmFtZSBuZWVkcyB0byBiZSB0cmFuc2xhdGVkIGhlcmUsIHRoaXMgaXMgcGFydGlhbC5cclxuICBzeW5jS2V5cy5zZWFsLFxyXG4gIC8vIERpcmVjdGlvbnNcclxuICB0ZXh0S2V5cy5FLFxyXG4gIHRleHRLZXlzLk4sXHJcbiAgdGV4dEtleXMuUyxcclxuICB0ZXh0S2V5cy5XLFxyXG4gIHRleHRLZXlzLk5FLFxyXG4gIHRleHRLZXlzLk5XLFxyXG4gIHRleHRLZXlzLlNFLFxyXG4gIHRleHRLZXlzLlNXLFxyXG4gIC8vIFJvbGVzXHJcbiAgdGV4dEtleXMuVGFuayxcclxuICB0ZXh0S2V5cy5IZWFsZXIsXHJcbiAgdGV4dEtleXMuRFBTLFxyXG5dO1xyXG5cclxuLy8gUmVwbGFjZW1lbnQgd2hlbiB1c2luZyBLb3JlYW4gbGFuZ3VhZ2UgaW4gdGhlIHBhcnNlciwgYXMgdGhlIEtvcmVhbiB2ZXJzaW9uXHJcbi8vIGRvZXMgbm90IGhhdmUgdGhlIDYueCBjaGFuZ2VzIGZyb20gUmF2YWhuIHlldC5cclxuLy8gVGhlc2UgYXJlIGFwcGxpZWQgYWZ0ZXIgb3RoZXIgdHJhbnNsYXRpb25zIGFuZCBkb24ndCBjb3VudCBmb3IgY29sbGlzaW9ucy5cclxuLy8gVE9ETzogdGhpcyBtaXNzZXMgYSBmZXcgdGhpbmdzIGxpa2UgMUEgbGluZXMgaW4gYTdzL283bi9vN3MuXHJcbmV4cG9ydCBjb25zdCBiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2U6IHsgW3JlcGxhY2VLZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICcgMDA6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOic6ICcgMDA6JyxcclxuICAnIDAwOjA4Mzk6Oic6ICcgMDA6MDgzOTonLFxyXG4gICcgMTQ6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOihbXjpdKik6KFteOl0qKTonOiAnOiQyOiQxJyxcclxufTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCB7IExvb3NlVGltZWxpbmVUcmlnZ2VyLCBUcmlnZ2VyQXV0b0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlLCBjb21tb25SZXBsYWNlbWVudCB9IGZyb20gJy4vY29tbW9uX3JlcGxhY2VtZW50JztcclxuaW1wb3J0IGRlZmF1bHRPcHRpb25zLCB7IFJhaWRib3NzT3B0aW9ucywgVGltZWxpbmVDb25maWcgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVSZXBsYWNlbWVudCA9IHtcclxuICBsb2NhbGU6IExhbmc7XHJcbiAgbWlzc2luZ1RyYW5zbGF0aW9ucz86IGJvb2xlYW47XHJcbiAgcmVwbGFjZVN5bmM/OiB7IFtyZWdleFN0cmluZzogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVwbGFjZVRleHQ/OiB7IFt0aW1lbGluZVRleHQ6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVTdHlsZSA9IHtcclxuICBzdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICByZWdleDogUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnQgPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhY3RpdmVUaW1lPzogbnVtYmVyO1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgc29ydEtleT86IG51bWJlcjtcclxuICBpc0R1cj86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3IgPSB7XHJcbiAgbGluZU51bWJlcj86IG51bWJlcjtcclxuICBsaW5lPzogc3RyaW5nO1xyXG4gIGVycm9yOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTeW5jID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgb3JpZ1JlZ2V4U3RyOiBzdHJpbmc7XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpbWU6IG51bWJlcjtcclxuICBsaW5lTnVtYmVyOiBudW1iZXI7XHJcbiAganVtcD86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgUGFyc2VkUG9wdXBUZXh0ID0ge1xyXG4gIHR5cGU6ICdpbmZvJyB8ICdhbGVydCcgfCAnYWxhcm0nIHwgJ3R0cyc7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFRyaWdnZXJUZXh0ID0ge1xyXG4gIHR5cGU6ICd0cmlnZ2VyJztcclxuICBzZWNvbmRzQmVmb3JlPzogbnVtYmVyO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgbWF0Y2hlczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcclxuICB0cmlnZ2VyOiBMb29zZVRpbWVsaW5lVHJpZ2dlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlZFRleHQgPSBQYXJzZWRQb3B1cFRleHQgfCBQYXJzZWRUcmlnZ2VyVGV4dDtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHQgPSBQYXJzZWRUZXh0ICYgeyB0aW1lOiBudW1iZXIgfTtcclxuXHJcbi8vIFRoaXMgY2xhc3MgcmVhZHMgdGhlIGZvcm1hdCBvZiBBQ1QgVGltZWxpbmUgcGx1Z2luLCBkZXNjcmliZWQgaW5cclxuLy8gZG9jcy9UaW1lbGluZUd1aWRlLm1kXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVBhcnNlciB7XHJcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucztcclxuICBwcm90ZWN0ZWQgcGVyVHJpZ2dlckF1dG9Db25maWc6IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuICBwcm90ZWN0ZWQgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUNvbmZpZzogVGltZWxpbmVDb25maWc7XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuICBwdWJsaWMgZXJyb3JzOiBFcnJvcltdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM/OiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICBvcHRpb25zPzogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgem9uZUlkPzogbnVtYmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyA/PyBkZWZhdWx0T3B0aW9ucztcclxuICAgIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWcgPSB0aGlzLm9wdGlvbnNbJ1BlclRyaWdnZXJBdXRvQ29uZmlnJ10gfHwge307XHJcbiAgICB0aGlzLnJlcGxhY2VtZW50cyA9IHJlcGxhY2VtZW50cztcclxuXHJcbiAgICAvLyBBIHNldCBvZiBuYW1lcyB3aGljaCB3aWxsIG5vdCBiZSBub3RpZmllZCBhYm91dC5cclxuICAgIHRoaXMuaWdub3JlcyA9IHt9O1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgZXZlbnQgb2NjdXJyZW5jZSB0aW1lLlxyXG4gICAgdGhpcy50ZXh0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuc3RhcnQgdGltZS5cclxuICAgIHRoaXMuc3luY1N0YXJ0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuZW5kIHRpbWUuXHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgbGluZS5cclxuICAgIHRoaXMuZXJyb3JzID0gW107XHJcblxyXG4gICAgdGhpcy50aW1lbGluZUNvbmZpZyA9IHR5cGVvZiB6b25lSWQgPT09ICdudW1iZXInXHJcbiAgICAgID8gdGhpcy5vcHRpb25zLlBlclpvbmVUaW1lbGluZUNvbmZpZ1t6b25lSWRdID8/IHt9XHJcbiAgICAgIDoge307XHJcbiAgICBmb3IgKGNvbnN0IHRleHQgb2YgdGhpcy50aW1lbGluZUNvbmZpZy5JZ25vcmUgPz8gW10pXHJcbiAgICAgIHRoaXMuaWdub3Jlc1t0ZXh0XSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5wYXJzZSh0ZXh0LCB0cmlnZ2Vycywgc3R5bGVzID8/IFtdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIHRoaXMuc3luY0VuZHMgPSBbXTtcclxuXHJcbiAgICBsZXQgdW5pcXVlaWQgPSAxO1xyXG4gICAgY29uc3QgdGV4dHM6IHsgW2lkOiBzdHJpbmddOiBQYXJzZWRUZXh0W10gfSA9IHt9O1xyXG4gICAgY29uc3QgcmVnZXhlcyA9IHtcclxuICAgICAgY29tbWVudDogL15cXHMqIy8sXHJcbiAgICAgIGNvbW1lbnRMaW5lOiAvIy4qJC8sXHJcbiAgICAgIGR1cmF0aW9uQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5kdXJhdGlvblxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoXFxzLiopPyQvLFxyXG4gICAgICBpZ25vcmU6IC9eaGlkZWFsbFxccytcXFwiKD88aWQ+W15cIl0rKVxcXCIkLyxcclxuICAgICAganVtcENvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+anVtcFxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICAgIGxpbmU6IC9eKD88dGV4dD4oPzx0aW1lPlswLTldKyg/OlxcLlswLTldKyk/KVxccytcIig/PG5hbWU+Lio/KVwiKShcXHMrKC4qKSk/LyxcclxuICAgICAgcG9wdXBUZXh0OlxyXG4gICAgICAgIC9eKD88dHlwZT5pbmZvfGFsZXJ0fGFsYXJtKXRleHRcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pKD86XFxzK1xcXCIoPzx0ZXh0PlteXCJdKylcXFwiKT8kLyxcclxuICAgICAgc291bmRBbGVydDogL15kZWZpbmVcXHMrc291bmRhbGVydFxccytcIlteXCJdKlwiXFxzK1wiW15cIl0qXCIkLyxcclxuICAgICAgc3BlYWtlcjpcclxuICAgICAgICAvZGVmaW5lIHNwZWFrZXIgXCJbXlwiXSpcIihcXHMrXCJbXlwiXSpcIik/XFxzKygtP1swLTldKyg/OlxcLlswLTldKyk/KVxccysoLT9bMC05XSsoPzpcXC5bMC05XSspPykvLFxyXG4gICAgICBzeW5jQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5zeW5jXFxzKlxcLyg/PHJlZ2V4Pi4qKVxcLykoPzxhcmdzPlxccy4qKT8kLyxcclxuICAgICAgdHRzOlxyXG4gICAgICAgIC9eYWxlcnRhbGxcXHMrXCIoPzxpZD5bXlwiXSopXCJcXHMrYmVmb3JlXFxzKyg/PGJlZm9yZVNlY29uZHM+LT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKD88Y29tbWFuZD5zb3VuZHxzcGVha1xccytcIlteXCJdKlwiKVxccytcIig/PHRleHQ+W15cIl0qKVwiJC8sXHJcbiAgICAgIHdpbmRvd0NvbW1hbmQ6XHJcbiAgICAgICAgLyg/OlteI10qP1xccyk/KD88dGV4dD53aW5kb3dcXHMrKD86KD88c3RhcnQ+WzAtOV0rKD86XFwuWzAtOV0rKT8pLCk/KD88ZW5kPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1ha2UgYWxsIHJlZ2V4ZXMgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHBhcnNlIGFueSBzcGVjaWFsIFxceXt9IGdyb3Vwcy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBpZiAodHJpZ2dlci5yZWdleClcclxuICAgICAgICB0cmlnZ2VyLnJlZ2V4ID0gUmVnZXhlcy5wYXJzZSh0cmlnZ2VyLnJlZ2V4KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcbicpO1xyXG4gICAgbGV0IGxpbmVOdW1iZXIgPSAwO1xyXG4gICAgZm9yIChsZXQgbGluZSBvZiBsaW5lcykge1xyXG4gICAgICArK2xpbmVOdW1iZXI7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcclxuICAgICAgLy8gRHJvcCBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMuXHJcbiAgICAgIGlmICghbGluZSB8fCByZWdleGVzLmNvbW1lbnQudGVzdChsaW5lKSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gbGluZTtcclxuXHJcbiAgICAgIGxldCBtYXRjaCA9IHJlZ2V4ZXMuaWdub3JlLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICBjb25zdCBpZ25vcmUgPSBtYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgaWYgKGlnbm9yZS5pZClcclxuICAgICAgICAgIHRoaXMuaWdub3Jlc1tpZ25vcmUuaWRdID0gdHJ1ZTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnR0cy5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgdHRzID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghdHRzLmlkIHx8ICF0dHMuYmVmb3JlU2Vjb25kcyB8fCAhdHRzLmNvbW1hbmQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgLy8gVE9ETzogU3VwcG9ydCBhbGVydCBzb3VuZHM/XHJcbiAgICAgICAgaWYgKHR0cy5jb21tYW5kID09PSAnc291bmQnKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgY29uc3QgdHRzSXRlbXMgPSB0ZXh0c1t0dHMuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3R0cy5pZF0gPSB0dHNJdGVtcztcclxuICAgICAgICB0dHNJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0dHMnLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdCh0dHMuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiB0dHMudGV4dCA/IHR0cy50ZXh0IDogdHRzLmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zb3VuZEFsZXJ0LmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnNwZWFrZXIuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnBvcHVwVGV4dC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0ID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghcG9wdXBUZXh0LnR5cGUgfHwgIXBvcHVwVGV4dC5pZCB8fCAhcG9wdXBUZXh0LmJlZm9yZVNlY29uZHMpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0SXRlbXMgPSB0ZXh0c1twb3B1cFRleHQuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3BvcHVwVGV4dC5pZF0gPSBwb3B1cFRleHRJdGVtcztcclxuICAgICAgICBjb25zdCB0eXBlID0gcG9wdXBUZXh0LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBwb3B1cFRleHRJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgICBzZWNvbmRzQmVmb3JlOiBwYXJzZUZsb2F0KHBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKSxcclxuICAgICAgICAgIHRleHQ6IHBvcHVwVGV4dC50ZXh0ID8gcG9wdXBUZXh0LnRleHQgOiBwb3B1cFRleHQuaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLmxpbmUuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKCEobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnSW52YWxpZCBmb3JtYXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmtub3duIHRpbWVsaW5lOiAnICsgb3JpZ2luYWxMaW5lKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJzZWRMaW5lID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAvLyBUZWNobmljYWxseSB0aGUgbmFtZSBjYW4gYmUgZW1wdHlcclxuICAgICAgaWYgKCFwYXJzZWRMaW5lLnRleHQgfHwgIXBhcnNlZExpbmUudGltZSB8fCBwYXJzZWRMaW5lLm5hbWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocGFyc2VkTGluZS50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAvLyBUaGVyZSBjYW4gYmUgIyBpbiB0aGUgYWJpbGl0eSBuYW1lLCBidXQgcHJvYmFibHkgbm90IGluIHRoZSByZWdleC5cclxuICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShyZWdleGVzLmNvbW1lbnRMaW5lLCAnJykudHJpbSgpO1xyXG5cclxuICAgICAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlRmxvYXQocGFyc2VkTGluZS50aW1lKTtcclxuICAgICAgY29uc3QgZTogRXZlbnQgPSB7XHJcbiAgICAgICAgaWQ6IHVuaXF1ZWlkKyssXHJcbiAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAvLyBUaGUgb3JpZ2luYWwgYWJpbGl0eSBuYW1lIGluIHRoZSB0aW1lbGluZS4gIFVzZWQgZm9yIGhpZGVhbGwsIGluZm90ZXh0LCBldGMuXHJcbiAgICAgICAgbmFtZTogcGFyc2VkTGluZS5uYW1lLFxyXG4gICAgICAgIC8vIFRoZSB0ZXh0IHRvIGRpc3BsYXkuICBOb3QgdXNlZCBmb3IgYW55IGxvZ2ljLlxyXG4gICAgICAgIHRleHQ6IHRoaXMuR2V0UmVwbGFjZWRUZXh0KHBhcnNlZExpbmUubmFtZSksXHJcbiAgICAgICAgYWN0aXZlVGltZTogMCxcclxuICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAobGluZSkge1xyXG4gICAgICAgIGxldCBjb21tYW5kTWF0Y2ggPSByZWdleGVzLmR1cmF0aW9uQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3QgZHVyYXRpb25Db21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghZHVyYXRpb25Db21tYW5kLnRleHQgfHwgIWR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGR1cmF0aW9uQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgZS5kdXJhdGlvbiA9IHBhcnNlRmxvYXQoZHVyYXRpb25Db21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5zeW5jQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3Qgc3luY0NvbW1hbmQgPSBjb21tYW5kTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgaWYgKCFzeW5jQ29tbWFuZC50ZXh0IHx8ICFzeW5jQ29tbWFuZC5yZWdleClcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShzeW5jQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgY29uc3Qgc3luYzogU3luYyA9IHtcclxuICAgICAgICAgICAgaWQ6IHVuaXF1ZWlkLFxyXG4gICAgICAgICAgICBvcmlnUmVnZXhTdHI6IHN5bmNDb21tYW5kLnJlZ2V4LFxyXG4gICAgICAgICAgICByZWdleDogUmVnZXhlcy5wYXJzZSh0aGlzLkdldFJlcGxhY2VkU3luYyhzeW5jQ29tbWFuZC5yZWdleCkpLFxyXG4gICAgICAgICAgICBzdGFydDogc2Vjb25kcyAtIDIuNSxcclxuICAgICAgICAgICAgZW5kOiBzZWNvbmRzICsgMi41LFxyXG4gICAgICAgICAgICB0aW1lOiBzZWNvbmRzLFxyXG4gICAgICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChzeW5jQ29tbWFuZC5hcmdzKSB7XHJcbiAgICAgICAgICAgIGxldCBhcmdNYXRjaCA9IHJlZ2V4ZXMud2luZG93Q29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd2luZG93Q29tbWFuZCA9IGFyZ01hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgICAgICBpZiAoIXdpbmRvd0NvbW1hbmQudGV4dCB8fCAhd2luZG93Q29tbWFuZC5lbmQpXHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh3aW5kb3dDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHdpbmRvd0NvbW1hbmQuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHN5bmMuc3RhcnQgPSBzZWNvbmRzIC0gcGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLnN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgc3luYy5lbmQgPSBzZWNvbmRzICsgKHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpIC8gMik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyZ01hdGNoID0gcmVnZXhlcy5qdW1wQ29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganVtcENvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCFqdW1wQ29tbWFuZC50ZXh0IHx8ICFqdW1wQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoanVtcENvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICBzeW5jLmp1bXAgPSBwYXJzZUZsb2F0KGp1bXBDb21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnN5bmNTdGFydHMucHVzaChzeW5jKTtcclxuICAgICAgICAgIHRoaXMuc3luY0VuZHMucHVzaChzeW5jKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gSWYgdGhlcmUncyB0ZXh0IGxlZnQgdGhhdCBpc24ndCBhIGNvbW1lbnQgdGhlbiB3ZSBkaWRuJ3QgcGFyc2UgdGhhdCB0ZXh0IHNvIHJlcG9ydCBpdC5cclxuICAgICAgaWYgKGxpbmUgJiYgIXJlZ2V4ZXMuY29tbWVudC5leGVjKGxpbmUpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFVua25vd24gY29udGVudCAnJHtsaW5lfScgaW4gdGltZWxpbmU6ICR7b3JpZ2luYWxMaW5lfWApO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnRXh0cmEgdGV4dCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhbGlkYXRlIHRoYXQgYWxsIHRpbWVsaW5lIHRyaWdnZXJzIG1hdGNoIHNvbWV0aGluZy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICAgIGlmICh0cmlnZ2VyLnJlZ2V4ICYmIHRyaWdnZXIucmVnZXgudGVzdChldmVudC5uYW1lKSkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gYE5vIG1hdGNoIGZvciB0aW1lbGluZSB0cmlnZ2VyICR7dHJpZ2dlci5yZWdleD8uc291cmNlID8/XHJcbiAgICAgICAgICAnJ30gaW4gJHt0cmlnZ2VyLmlkID8/ICcnfWA7XHJcbiAgICAgICAgdGhpcy5lcnJvcnMucHVzaCh7IGVycm9yOiB0ZXh0IH0pO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCoqKiBFUlJPUjogJHt0ZXh0fWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBlIG9mIHRoaXMuZXZlbnRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbWF0Y2hlZFRleHRFdmVudCBvZiB0ZXh0c1tlLm5hbWVdID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IG1hdGNoZWRUZXh0RXZlbnQudHlwZTtcclxuICAgICAgICBpZiAodHlwZSAhPT0gJ2luZm8nICYmIHR5cGUgIT09ICdhbGVydCcgJiYgdHlwZSAhPT0gJ2FsYXJtJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lIC0gKG1hdGNoZWRUZXh0RXZlbnQuc2Vjb25kc0JlZm9yZSB8fCAwKSxcclxuICAgICAgICAgIHRleHQ6IG1hdGNoZWRUZXh0RXZlbnQudGV4dCA/PyAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmF0aGVyIHRoYW4gbWF0Y2hpbmcgdHJpZ2dlcnMgYXQgcnVuIHRpbWUsIHByZS1tYXRjaCBhbGwgdGhlIHRyaWdnZXJzXHJcbiAgICAgIC8vIGFnYWluc3QgdGltZWxpbmUgdGV4dCBhbmQgaW5zZXJ0IHRoZW0gYXMgdGV4dCBldmVudHMgdG8gcnVuLlxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgICBjb25zdCBtID0gdHJpZ2dlci5yZWdleD8uZXhlYyhlLm5hbWUpO1xyXG4gICAgICAgIGlmICghbSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBUT0RPOiBiZWZvcmVTZWNvbmRzIHNob3VsZCBzdXBwb3J0IGJlaW5nIGEgZnVuY3Rpb24uXHJcbiAgICAgICAgY29uc3QgYXV0b0NvbmZpZyA9IHRyaWdnZXIuaWQgJiYgdGhpcy5wZXJUcmlnZ2VyQXV0b0NvbmZpZ1t0cmlnZ2VyLmlkXSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gYXV0b0NvbmZpZ1snQmVmb3JlU2Vjb25kcyddID8/IHRyaWdnZXIuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgdGhpcy50ZXh0cy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0cmlnZ2VyJyxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChiZWZvcmVTZWNvbmRzIHx8IDApLFxyXG4gICAgICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgICAgIG1hdGNoZXM6IG0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzID8/IFtdKSB7XHJcbiAgICAgICAgaWYgKCFzdHlsZS5yZWdleC50ZXN0KGUubmFtZSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBlLnN0eWxlID0gc3R5bGUuc3R5bGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTb3J0IGJ5IHRpbWUsIGJ1dCB3aGVuIHRoZSB0aW1lIGlzIHRoZSBzYW1lLCBzb3J0IGJ5IGZpbGUgb3JkZXIuXHJcbiAgICAvLyBUaGVuIGFzc2lnbiBhIHNvcnRLZXkgdG8gZWFjaCBldmVudCBzbyB0aGF0IHdlIGNhbiBtYWludGFpbiB0aGF0IG9yZGVyLlxyXG4gICAgdGhpcy5ldmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS50aW1lID09PSBiLnRpbWUpXHJcbiAgICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkO1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKChldmVudCwgaWR4KSA9PiBldmVudC5zb3J0S2V5ID0gaWR4KTtcclxuXHJcbiAgICB0aGlzLnRleHRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuc3RhcnQgLSBiLnN0YXJ0O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNFbmRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuZW5kIC0gYi5lbmQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRIZWxwZXIoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlS2V5OiAncmVwbGFjZVN5bmMnIHwgJ3JlcGxhY2VUZXh0JyxcclxuICAgIHJlcGxhY2VMYW5nOiBMYW5nLFxyXG4gICAgaXNHbG9iYWw6IGJvb2xlYW4sXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGZvciAoY29uc3QgciBvZiB0aGlzLnJlcGxhY2VtZW50cykge1xyXG4gICAgICBpZiAoci5sb2NhbGUgJiYgci5sb2NhbGUgIT09IHJlcGxhY2VMYW5nKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZXBzID0gcltyZXBsYWNlS2V5XTtcclxuICAgICAgaWYgKCFyZXBzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBzKSlcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFJlZ2V4ZXMucGFyc2Uoa2V5KSwgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29tbW9uIFJlcGxhY2VtZW50c1xyXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBjb21tb25SZXBsYWNlbWVudFtyZXBsYWNlS2V5XTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50ID8/IHt9KSkge1xyXG4gICAgICBjb25zdCByZXBsID0gdmFsdWVbcmVwbGFjZUxhbmddO1xyXG4gICAgICBpZiAoIXJlcGwpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gaXNHbG9iYWwgPyBSZWdleGVzLnBhcnNlR2xvYmFsKGtleSkgOiBSZWdleGVzLnBhcnNlKGtleSk7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgcmVwbGFjZW1lbnRzIGZvciBLb3JlYW4gcGFyc2VkIGxvZyBsaW5lcyBiZWZvcmUgNi54IGNoYW5nZXMuXHJcbiAgICBpZiAocmVwbGFjZUxhbmcgPT09ICdrbycgJiYgcmVwbGFjZUtleSA9PT0gJ3JlcGxhY2VTeW5jJykge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHJlcGxdIG9mIE9iamVjdC5lbnRyaWVzKGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSkpIHtcclxuICAgICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQW55dGhpbmcgaW4gdGhlIHRpbWVsaW5lIGNvbmZpZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGltZWxpbmVSZXBsYWNlIHNlY3Rpb25zIGluXHJcbiAgICAvLyB0aGUgdHJpZ2dlciBmaWxlLiAgSXQgaXMgYWxzbyBhIGZ1bGwgcmVwbGFjZW1lbnQsIHZzIHRoZSByZWdleC1zdHlsZSBHZXRSZXBsYWNlZEhlbHBlci5cclxuICAgIGNvbnN0IHJlbmFtZSA9IHRoaXMudGltZWxpbmVDb25maWc/LlJlbmFtZT8uW3RleHRdO1xyXG4gICAgaWYgKHJlbmFtZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gcmVuYW1lO1xyXG5cclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGNvbnN0IHJlcGxhY2VMYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICBjb25zdCBpc0dsb2JhbCA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIodGV4dCwgJ3JlcGxhY2VUZXh0JywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRTeW5jKHN5bmM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gc3luYztcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIoc3luYywgJ3JlcGxhY2VTeW5jJywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUoKTogUmVnRXhwW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJy0tUmVzZXQtLScsXHJcbiAgICAgICctLXN5bmMtLScsXHJcbiAgICAgICdTdGFydCcsXHJcbiAgICAgICdeID8yMTonLFxyXG4gICAgICAnXihcXFxcKFxcXFw/XFxcXDx0aW1lc3RhbXBcXFxcPlxcXFxeXFxcXC5cXFxcezE0XFxcXH1cXFxcKSkgKDFCfDIxfDIzKTonLFxyXG4gICAgICAnXihcXFxcXlxcXFwuXFxcXHsxNFxcXFx9KT8gPygxQnwyMXwyMyk6JyxcclxuICAgICAgJ146OlxcXFx5e0FiaWxpdHlDb2RlfTokJyxcclxuICAgICAgJ15cXFxcLlxcXFwqJCcsXHJcbiAgICBdLm1hcCgoeCkgPT4gUmVnZXhlcy5wYXJzZSh4KSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IGlzTGFuZywgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUGFydHlUcmFja2VyIGZyb20gJy4uLy4uL3Jlc291cmNlcy9wYXJ0eSc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZWdleGVzJztcclxuaW1wb3J0IHsgdHJpZ2dlck91dHB1dEZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZXNwb25zZXMnO1xyXG5pbXBvcnQgVXNlckNvbmZpZywge1xyXG4gIENvbmZpZ1ZhbHVlLFxyXG4gIE9wdGlvbnNUZW1wbGF0ZSxcclxuICBVc2VyRmlsZUNhbGxiYWNrLFxyXG59IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb2NhbGVUZXh0LFxyXG4gIExvb3NlVHJpZ2dlcixcclxuICBPdXRwdXQsXHJcbiAgT3V0cHV0U3RyaW5ncyxcclxuICBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gIFRpbWVsaW5lRmllbGQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7XHJcbiAgQ2FjdGJvdENvbmZpZ3VyYXRvcixcclxuICBDb25maWdMb29zZVRyaWdnZXIsXHJcbiAgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LFxyXG4gIENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXAsXHJcbn0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NUcmlnZ2VyRmllbGQsIFJhaWRib3NzVHJpZ2dlck91dHB1dCB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCByYWlkYm9zc09wdGlvbnMsIHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVQYXJzZXIgfSBmcm9tICcuL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5jb25zdCBrT3B0aW9uS2V5cyA9IHtcclxuICBvdXRwdXQ6ICdPdXRwdXQnLFxyXG4gIGR1cmF0aW9uOiAnRHVyYXRpb24nLFxyXG4gIGJlZm9yZVNlY29uZHM6ICdCZWZvcmVTZWNvbmRzJyxcclxuICBvdXRwdXRTdHJpbmdzOiAnT3V0cHV0U3RyaW5ncycsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFRyaWdnZXJTb3VuZE9wdGlvbiA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG59O1xyXG5cclxuLy8gTm8gc291bmQgb25seSBvcHRpb24sIGJlY2F1c2UgdGhhdCdzIHNpbGx5LlxyXG5jb25zdCBrVHJpZ2dlck9wdGlvbnMgPSB7XHJcbiAgZGVmYXVsdDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinJQgRGVmYXVsdHMnLFxyXG4gICAgICBkZTogJ+KclCBTdGFuZGFyZHMnLFxyXG4gICAgICBmcjogJ+KclCBEw6lmYXV0cycsXHJcbiAgICAgIGphOiAn4pyUIOWIneacn+ioreWumicsXHJcbiAgICAgIGNuOiAn4pyUIOm7mOiupOiuvue9ricsXHJcbiAgICAgIGtvOiAn4pyUIOq4sOuzuCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dEFuZFNvdW5kOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/Cfhpnwn5SKIFRleHQgYW5kIFNvdW5kJyxcclxuICAgICAgZGU6ICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nLFxyXG4gICAgICBmcjogJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbicsXHJcbiAgICAgIGphOiAn8J+GmfCflIog44OG44Kt44K544OI44Go6Z+z5aOwJyxcclxuICAgICAgY246ICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c0FuZFRleHQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCfkqwgVGV4dCBhbmQgVFRTJyxcclxuICAgICAgZGU6ICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnLFxyXG4gICAgICBmcjogJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUycsXHJcbiAgICAgIGphOiAn8J+GmfCfkqwg44OG44Kt44K544OI44GoVFRTJyxcclxuICAgICAgY246ICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5KsIO2FjeyKpO2KuOyZgCBUVFMnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c09ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+SrCBUVFMgT25seScsXHJcbiAgICAgIGRlOiAn8J+SrCBOdXIgVFRTJyxcclxuICAgICAgZnI6ICfwn5KsIFRUUyBTZXVsZW1lbnQnLFxyXG4gICAgICBqYTogJ/CfkqwgVFRT44Gu44G/JyxcclxuICAgICAgY246ICfwn5KsIOWPquS9v+eUqFRUUycsXHJcbiAgICAgIGtvOiAn8J+SrCBUVFPrp4wnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHRleHRPbmx5OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/CfhpkgVGV4dCBPbmx5JyxcclxuICAgICAgZGU6ICfwn4aZIE51ciBUZXh0JyxcclxuICAgICAgZnI6ICfwn4aZIFRleHRlIHNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfhpkg5Y+q5L2/55So5paH5a2X5pi+56S6JyxcclxuICAgICAga286ICfwn4aZIO2FjeyKpO2KuOunjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGlzYWJsZWQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn4p2MIERpc2FibGVkJyxcclxuICAgICAgZGU6ICfinYwgRGVha3RpdmllcnQnLFxyXG4gICAgICBmcjogJ+KdjCBEw6lzYWN0aXbDqScsXHJcbiAgICAgIGphOiAn4p2MIOeEoeWKuScsXHJcbiAgICAgIGNuOiAn4p2MIOemgeeUqCcsXHJcbiAgICAgIGtvOiAn4p2MIOu5hO2ZnOyEse2ZlCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB0cmlnZ2VyU291bmRPcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJTb3VuZE9wdGlvbiB9ID0ga1RyaWdnZXJPcHRpb25zO1xyXG5cclxudHlwZSBEZXRhaWxLZXkgPSB7XHJcbiAgbGFiZWw6IExvY2FsZVRleHQ7XHJcbiAgY2xzOiBzdHJpbmc7XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICBnZW5lcmF0ZWRNYW51YWxseT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5jb25zdCBrRGV0YWlsS2V5cyA9IHtcclxuICAndHJpZ2dlclJlZ2V4Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdyZWdleCcsXHJcbiAgICAgIGRlOiAncmVnZXgnLFxyXG4gICAgICBmcjogJ3JlZ2V4JyxcclxuICAgICAgamE6ICfmraPopo/ooajnj74nLFxyXG4gICAgICBjbjogJ+ato+WImeihqOi+vuW8jycsXHJcbiAgICAgIGtvOiAn7KCV6rec7IudJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdyZWdleC10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICd0cmlnZ2VyTmV0UmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ25ldHJlZ2V4JyxcclxuICAgICAgZGU6ICduZXRyZWdleCcsXHJcbiAgICAgIGZyOiAnbmV0cmVnZXgnLFxyXG4gICAgICBqYTogJ+ODjeODg+ODiOato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn572R57uc5pel5b+X5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5ztkZztmITsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RpbWVsaW5lUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3RpbWVsaW5lJyxcclxuICAgICAgZGU6ICd0aW1lbGluZScsXHJcbiAgICAgIGZyOiAndGltZWxpbmUnLFxyXG4gICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODsycsXHJcbiAgICAgIGNuOiAn5pe26Ze06L20JyxcclxuICAgICAga286ICftg4DsnoTrnbzsnbgnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2JlZm9yZVNlY29uZHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2JlZm9yZSAoc2VjKScsXHJcbiAgICAgIGRlOiAnVm9yaGVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ2F2YW50IChzZWNvbmRlKScsXHJcbiAgICAgIGphOiAn44Gd44Gu5YmN44GrICjnp5IpJyxcclxuICAgICAgY246ICfmj5DliY0gKOenkiknLFxyXG4gICAgICBrbzogJ+yVnuuLueq5gCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYmVmb3JlLXNlY29uZHMtdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdjb25kaXRpb24nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGRlOiAnY29uZGl0aW9uJyxcclxuICAgICAgZnI6ICdjb25kaXRpb24nLFxyXG4gICAgICBqYTogJ+adoeS7ticsXHJcbiAgICAgIGNuOiAn5p2h5Lu2JyxcclxuICAgICAga286ICfsobDqsbQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2NvbmRpdGlvbi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdkdXJhdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnZHVyYXRpb24gKHNlYyknLFxyXG4gICAgICBkZTogJ0RhdWVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ0R1csOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgamE6ICflrZjntprmmYLplpMgKOenkiknLFxyXG4gICAgICBjbjogJ+aMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgIGtvOiAn7KeA7IaNIOyLnOqwhCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnZHVyYXRpb24tdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdwcmVSdW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3ByZVJ1bicsXHJcbiAgICAgIGRlOiAncHJlUnVuJyxcclxuICAgICAgZnI6ICdwcmVSdW4nLFxyXG4gICAgICBqYTogJ+ODl+ODrOWun+ihjCcsXHJcbiAgICAgIGNuOiAn6aKE6L+Q6KGMJyxcclxuICAgICAga286ICfsgqzsoIQg7Iuk7ZaJJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdwcmVydW4tdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYWxhcm1UZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGFybScsXHJcbiAgICAgIGRlOiAnYWxhcm0nLFxyXG4gICAgICBmcjogJ2FsYXJtZScsXHJcbiAgICAgIGphOiAn6K2m5aCxJyxcclxuICAgICAgY246ICforabmiqXmlofmnKwnLFxyXG4gICAgICBrbzogJ+qyveqzoCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxhcm0tdGV4dCcsXHJcbiAgfSxcclxuICAnYWxlcnRUZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGVydCcsXHJcbiAgICAgIGRlOiAnYWxlcnQnLFxyXG4gICAgICBmcjogJ2FsZXJ0ZScsXHJcbiAgICAgIGphOiAn6K2m5ZGKJyxcclxuICAgICAgY246ICforablkYrmlofmnKwnLFxyXG4gICAgICBrbzogJ+yjvOydmCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxlcnQtdGV4dCcsXHJcbiAgfSxcclxuICAnaW5mb1RleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2luZm8nLFxyXG4gICAgICBkZTogJ2luZm8nLFxyXG4gICAgICBmcjogJ2luZm8nLFxyXG4gICAgICBqYTogJ+aDheWgsScsXHJcbiAgICAgIGNuOiAn5L+h5oGv5paH5pysJyxcclxuICAgICAga286ICfslYjrgrQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2luZm8tdGV4dCcsXHJcbiAgfSxcclxuICAndHRzJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICd0dHMnLFxyXG4gICAgICBkZTogJ3R0cycsXHJcbiAgICAgIGZyOiAndHRzJyxcclxuICAgICAgamE6ICdUVFMnLFxyXG4gICAgICBjbjogJ1RUUycsXHJcbiAgICAgIGtvOiAnVFRTJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICd0dHMtdGV4dCcsXHJcbiAgfSxcclxuICAnc291bmQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3NvdW5kJyxcclxuICAgICAgZGU6ICdzb3VuZCcsXHJcbiAgICAgIGZyOiAnc29uJyxcclxuICAgICAgamE6ICfpn7Plo7AnLFxyXG4gICAgICBjbjogJ+aPkOekuumfsycsXHJcbiAgICAgIGtvOiAn7IaM66asJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdzb3VuZC10ZXh0JyxcclxuICB9LFxyXG4gICdydW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3J1bicsXHJcbiAgICAgIGRlOiAncnVuJyxcclxuICAgICAgZnI6ICdydW4nLFxyXG4gICAgICBqYTogJ+Wun+ihjCcsXHJcbiAgICAgIGNuOiAn6L+Q6KGMJyxcclxuICAgICAga286ICfsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3J1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gT3JkZXJlZCBzZXQgb2YgaGVhZGVycyBpbiB0aGUgdGltZWxpbmUgZWRpdCB0YWJsZS5cclxuY29uc3Qga1RpbWVsaW5lVGFibGVIZWFkZXJzID0ge1xyXG4gIHNob3VsZERpc3BsYXlUZXh0OiB7XHJcbiAgICBlbjogJ1Nob3cnLFxyXG4gICAgZGU6ICdBbnplaWdlbicsXHJcbiAgICBmcjogJ0FmZmljaGVyJyxcclxuICB9LFxyXG4gIHRleHQ6IHtcclxuICAgIGVuOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBkZTogJ1RpbWVsaW5lIFRleHQnLFxyXG4gICAgZnI6ICdUZXh0ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgfSxcclxuICBvdmVycmlkZVRleHQ6IHtcclxuICAgIGVuOiAnUmVuYW1lJyxcclxuICAgIGRlOiAnVW1iZW5lbm5lbicsXHJcbiAgICBmcjogJ1Jlbm9tbWVyJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZGV0YWlsS2V5czogeyBba2V5IGluIGtleW9mIExvb3NlVHJpZ2dlcl06IERldGFpbEtleSB9ID0ga0RldGFpbEtleXM7XHJcblxyXG5jb25zdCBrTWlzY1RyYW5zbGF0aW9ucyA9IHtcclxuICAvLyBTaG93cyB1cCBmb3IgdW4tc2V0IHZhbHVlcy5cclxuICB2YWx1ZURlZmF1bHQ6IHtcclxuICAgIGVuOiAnKGRlZmF1bHQpJyxcclxuICAgIGRlOiAnKFN0YW5kYXJkKScsXHJcbiAgICBmcjogJyhEw6lmYXV0KScsXHJcbiAgICBqYTogJyjliJ3mnJ/lgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco6riw67O46rCSKScsXHJcbiAgfSxcclxuICAvLyBTaG93biB3aGVuIHRoZSBVSSBjYW4ndCBkZWNpcGhlciB0aGUgb3V0cHV0IG9mIGEgZnVuY3Rpb24uXHJcbiAgdmFsdWVJc0Z1bmN0aW9uOiB7XHJcbiAgICBlbjogJyhmdW5jdGlvbiknLFxyXG4gICAgZGU6ICcoRnVua3Rpb24pJyxcclxuICAgIGZyOiAnKEZvbmN0aW9uKScsXHJcbiAgICBqYTogJyjplqLmlbApJyxcclxuICAgIGNuOiAnKOWHveaVsCknLFxyXG4gICAga286ICco7ZWo7IiYKScsXHJcbiAgfSxcclxuICAvLyBXYXJuaW5nIGxhYmVsIGZvciB0cmlnZ2VycyB3aXRob3V0IGlkcyBvciBvdmVycmlkZGVuIHRyaWdnZXJzLlxyXG4gIHdhcm5pbmc6IHtcclxuICAgIGVuOiAn4pqg77iPIHdhcm5pbmcnLFxyXG4gICAgZGU6ICfimqDvuI8gV2FybnVuZycsXHJcbiAgICBmcjogJ+KaoO+4jyBBdHRlbnRpb24nLFxyXG4gICAgamE6ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGNuOiAn4pqg77iPIOitpuWRiicsXHJcbiAgICBrbzogJ+KaoO+4jyDso7zsnZgnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzLlxyXG4gIG1pc3NpbmdJZDoge1xyXG4gICAgZW46ICdtaXNzaW5nIGlkIGZpZWxkJyxcclxuICAgIGRlOiAnRmVobGVuZGVzIElEIEZlbGQnLFxyXG4gICAgZnI6ICdDaGFtcCBJRCBtYW5xdWFudCcsXHJcbiAgICBqYTogJ2lk44GM44GC44KK44G+44Gb44KTJyxcclxuICAgIGNuOiAn57y65bCRaWTlsZ7mgKcnLFxyXG4gICAga286ICdJRCDtlYTrk5zqsJIg7JeG7J2MJyxcclxuICB9LFxyXG4gIC8vIFNob3dzIHVwIGZvciB0cmlnZ2VycyB0aGF0IGFyZSBvdmVycmlkZGVuIGJ5IG90aGVyIHRyaWdnZXJzLlxyXG4gIG92ZXJyaWRkZW5CeUZpbGU6IHtcclxuICAgIGVuOiAnb3ZlcnJpZGRlbiBieSBcIiR7ZmlsZX1cIicsXHJcbiAgICBkZTogJ8OcYmVyc2NocmllYmVuIGR1cmNoIFwiJHtmaWxlfVwiJyxcclxuICAgIGZyOiAnw4ljcmFzw6koZSkgcGFyIFwiJHtmaWxlfVwiJyxcclxuICAgIGphOiAnXCIke2ZpbGV9XCLjgavkuIrmm7jjgY3jgb7jgZfjgZ8nLFxyXG4gICAgY246ICfooqtcIiR7ZmlsZX1cIuaWh+S7tuimhueblicsXHJcbiAgICBrbzogJ1wiJHtmaWxlfVwiIO2MjOydvOyXkOyEnCDrja7slrTslIzsm4AnLFxyXG4gIH0sXHJcbiAgLy8gT3BlbnMgdHJpZ2dlciBmaWxlIG9uIEdpdGh1Yi5cclxuICB2aWV3VHJpZ2dlclNvdXJjZToge1xyXG4gICAgZW46ICdWaWV3IFRyaWdnZXIgU291cmNlJyxcclxuICAgIGRlOiAnWmVpZ2UgVHJpZ2dlciBRdWVsbGUnLFxyXG4gICAgZnI6ICdBZmZpY2hlciBsYSBzb3VyY2UgZHUgVHJpZ2dlcicsXHJcbiAgICBqYTogJ+ODiOODquOCrOODvOOBruOCs+ODvOODieOCkuihqOekuicsXHJcbiAgICBjbjogJ+aYvuekuuinpuWPkeWZqOa6kOeggScsXHJcbiAgICBrbzogJ+2KuOumrOqxsCDstpzsspgg7Je06riwJyxcclxuICB9LFxyXG4gIC8vIFRoZSBoZWFkZXIgZm9yIHRoZSBlZGl0aW5nIHRpbWVsaW5lIHNlY3Rpb24gaW5zaWRlIGEgdHJpZ2dlciBmaWxlLlxyXG4gIGVkaXRUaW1lbGluZToge1xyXG4gICAgZW46ICdFZGl0IFRpbWVsaW5lJyxcclxuICAgIGRlOiAnVGltZWxpbmUgYmVhcmJlaXRlbicsXHJcbiAgICBmcjogJ8OJZGl0ZXIgbGEgdGltZWxpbmUnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQgPSAodmFsRW50cnk/OiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiB2YWxFbnRyeSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEVudHJ5ICE9PSAnbnVtYmVyJylcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWxFbnRyeS50b1N0cmluZygpKTtcclxuICBpZiAoIWlzTmFOKHZhbCkgJiYgdmFsID49IDApXHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5jb25zdCBjYW5CZUNvbmZpZ3VyZWQgPSAodHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyKSA9PiAhdHJpZy5pc01pc3NpbmdJZCAmJiAhdHJpZy5vdmVycmlkZGVuQnlGaWxlO1xyXG5cclxuY29uc3QgYWRkVHJpZ2dlckRldGFpbCA9IChcclxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxyXG4gIGxhYmVsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbFRleHQ6IHN0cmluZyxcclxuICBkZXRhaWxDbHM/OiBzdHJpbmdbXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBsYWJlbC5pbm5lclRleHQgPSBsYWJlbFRleHQ7XHJcbiAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gIGNvbnN0IGRldGFpbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGRldGFpbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbCcpO1xyXG4gIGRldGFpbC5pbm5lclRleHQgPSBkZXRhaWxUZXh0O1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkZXRhaWwpO1xyXG5cclxuICBpZiAoZGV0YWlsQ2xzKVxyXG4gICAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoLi4uZGV0YWlsQ2xzKTtcclxufTtcclxuXHJcbi8vIFRoaXMgaXMgdXNlZCBib3RoIGZvciB0b3AgbGV2ZWwgT3B0aW9ucyBhbmQgZm9yIFBlclRyaWdnZXJBdXRvQ29uZmlnIHNldHRpbmdzLlxyXG4vLyBVbmZvcnR1bmF0ZWx5IGR1ZSB0byBwb29yIGRlY2lzaW9ucyBpbiB0aGUgcGFzdCwgUGVyVHJpZ2dlck9wdGlvbnMgaGFzIGRpZmZlcmVudFxyXG4vLyBmaWVsZHMgaGVyZS4gIFRoaXMgc2hvdWxkIGJlIGZpeGVkLlxyXG5jb25zdCBzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlID0gKFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zIHwgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnksXHJcbikgPT4ge1xyXG4gIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAvLyBOb3RoaW5nLlxyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0QW5kU291bmQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNBbmRUZXh0Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNPbmx5Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAndGV4dE9ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAnZGlzYWJsZWQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gb3V0cHV0IHR5cGU6ICR7dmFsdWUudG9TdHJpbmcoKX1gKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBIZWxwZXIgZm9yIGRvaW5nIG5vdGhpbmcgZHVyaW5nIHRyaWdnZXIgZXZhbCwgYnV0IHN0aWxsIHJlY29yZGluZyBhbnlcclxuLy8gY2FsbHMgdG8gYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB4O2AgdmlhIGNhbGxiYWNrLlxyXG5jbGFzcyBEb05vdGhpbmdGdW5jUHJveHkge1xyXG4gIGNvbnN0cnVjdG9yKG91dHB1dFN0cmluZ3NDYWxsYmFjazogKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xyXG4gICAgICBzZXQoX3RhcmdldCwgcHJvcGVydHksIHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncmVzcG9uc2VPdXRwdXRTdHJpbmdzJykge1xyXG4gICAgICAgICAgLy8gVE9ETzogbmVlZCBzb21lIHdheSBvZiB2ZXJpZnlpbmcgdGhhdCBhIHZhbHVlIGlzIGFuIE91dHB1dFN0cmluZ3MuXHJcbiAgICAgICAgICBvdXRwdXRTdHJpbmdzQ2FsbGJhY2sodmFsdWUgYXMgT3V0cHV0U3RyaW5ncyk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElnbm9yZSBvdGhlciBwcm9wZXJ0eSBzZXR0aW5nIGhlcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KF90YXJnZXQsIF9uYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHsvKiBub29wICovfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgbWFrZUxpbmsgPSAoaHJlZjogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7aHJlZn08L2E+YDtcclxufTtcclxuXHJcbmNvbnN0IGxhbmdPckVuID0gKGxhbmc6IENvbmZpZ1ZhbHVlKTogTGFuZyA9PiB7XHJcbiAgcmV0dXJuIHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJyAmJiBpc0xhbmcobGFuZykgPyBsYW5nIDogJ2VuJztcclxufTtcclxuXHJcbmNsYXNzIFJhaWRib3NzQ29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSBhbGVydHNMYW5nOiBMYW5nO1xyXG4gIHByaXZhdGUgdGltZWxpbmVMYW5nOiBMYW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG5cclxuICAgIC8vIFRPRE86IGlzIGl0IHdvcnRoIGFkZGluZyB0aGUgY29tcGxleGl0eSB0byByZWZsZWN0IHRoaXMgY2hhbmdlIGluIHRyaWdnZXJzIHRoYXQgdXNlIGl0P1xyXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB1c2luZyBzb21ldGhpbmcgbGlrZSB2dWUgb3IgcmVhY3Qgd291bGQgYmUgZWFzaWVyLlxyXG4gICAgLy8gRm9yIHRoZSBtb21lbnQsIGZvbGtzIGNhbiBqdXN0IHJlbG9hZCwgZm9yIHJlYWwuXHJcbiAgICB0aGlzLmFsZXJ0c0xhbmcgPSBsYW5nT3JFbih0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdBbGVydHNMYW5ndWFnZScsIHRoaXMuYmFzZS5sYW5nKSk7XHJcbiAgICB0aGlzLnRpbWVsaW5lTGFuZyA9IGxhbmdPckVuKFxyXG4gICAgICB0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdUaW1lbGluZUxhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkVUkoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgcmFpZGJvc3NGaWxlczogUmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc1JhaWRib3NzRmlsZXMocmFpZGJvc3NGaWxlcywgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZU1hcCkpIHtcclxuICAgICAgLy8gXCJleHBhbnNpb25cIiBoZXJlIGlzIHRlY2huaWNhbGx5IHNlY3Rpb24sIHdoaWNoIGluY2x1ZGVzIFwiZ2VuZXJhbCB0cmlnZ2Vyc1wiXHJcbiAgICAgIC8vIGFuZCBvbmUgc2VjdGlvbiBwZXIgdXNlciBmaWxlLlxyXG4gICAgICBjb25zdCBleHBhbnNpb24gPSBpbmZvLnNlY3Rpb247XHJcblxyXG4gICAgICBpZiAoIWluZm8udHJpZ2dlcnMgfHwgT2JqZWN0LmtleXMoaW5mby50cmlnZ2VycykubGVuZ3RoID09PSAwKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbGV0IGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXTtcclxuICAgICAgaWYgKCFleHBhbnNpb25EaXYpIHtcclxuICAgICAgICBjb25zdCBleHBhbnNpb25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24tY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25Db250YWluZXIpO1xyXG5cclxuICAgICAgICBjb25zdCBleHBhbnNpb25IZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24taGVhZGVyJyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuaW5uZXJUZXh0ID0gZXhwYW5zaW9uO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25IZWFkZXIpO1xyXG5cclxuICAgICAgICBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl0gPSBleHBhbnNpb25Db250YWluZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICBleHBhbnNpb25EaXYuYXBwZW5kQ2hpbGQodHJpZ2dlckNvbnRhaW5lcik7XHJcblxyXG4gICAgICBjb25zdCBoZWFkZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXInKTtcclxuICAgICAgaGVhZGVyRGl2Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhcnRzID0gW2luZm8udGl0bGUsIGluZm8udHlwZSwgaW5mby5wcmVmaXhdO1xyXG4gICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgICBpZiAoIXBhcnQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBwYXJ0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcGFydERpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyLXBhcnQnKTtcclxuICAgICAgICAvLyBVc2UgaW5uZXJIVE1MIGhlcmUgYmVjYXVzZSBvZiA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+LlxyXG4gICAgICAgIHBhcnREaXYuaW5uZXJIVE1MID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIC8vIFRpbWVsaW5lIGVkaXRpbmcgaXMgdGllZCB0byBhIHNpbmdsZSwgc3BlY2lmaWMgem9uZUlkIHBlciBmaWxlIGZvciBub3cuXHJcbiAgICAgIC8vIFdlIGNvdWxkIGFkZCBtb3JlIGluZGlyZWN0aW9uICh2aWEgZmlsZUtleT8pIGFuZCBsb29rIHVwIHpvbmVJZCAtPiBmaWxlS2V5W11cclxuICAgICAgLy8gYW5kIGZpbGVLZXkgLT4gdGltZWxpbmUgZWRpdHMgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoaW5mby50cmlnZ2VyU2V0LnRpbWVsaW5lICYmIHR5cGVvZiBpbmZvLnpvbmVJZCA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgdGhpcy5idWlsZFRpbWVsaW5lVUlDb250YWluZXIoaW5mby56b25lSWQsIGluZm8udHJpZ2dlclNldCwgdHJpZ2dlckNvbnRhaW5lciwgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlck9wdGlvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlck9wdGlvbnMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLW9wdGlvbnMnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0cmlnZ2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFt0cmlnSWQsIHRyaWddIG9mIE9iamVjdC5lbnRyaWVzKGluZm8udHJpZ2dlcnMgPz8ge30pKSB7XHJcbiAgICAgICAgLy8gRG9uJ3QgY29uc3RydWN0IHRyaWdnZXJzIHRoYXQgd29uJ3Qgc2hvdyBhbnl0aGluZy5cclxuICAgICAgICBsZXQgaGFzT3V0cHV0RnVuYyA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgZnVuYyBvZiB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zKSB7XHJcbiAgICAgICAgICBpZiAoZnVuYyBpbiB0cmlnKSB7XHJcbiAgICAgICAgICAgIGhhc091dHB1dEZ1bmMgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFoYXNPdXRwdXRGdW5jICYmICF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBCdWlsZCB0aGUgdHJpZ2dlciBsYWJlbC5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRpdi5pbm5lckhUTUwgPSB0cmlnLmlzTWlzc2luZ0lkID8gJyg/Pz8pJyA6IHRyaWdJZDtcclxuXHJcbiAgICAgICAgdHJpZ2dlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRpdik7XHJcblxyXG4gICAgICAgIC8vIENvbnRhaW5lciBmb3IgdGhlIHJpZ2h0IHNpZGUgdWkgKHNlbGVjdCBib3hlcywgYWxsIG9mIHRoZSBpbmZvKS5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlscycpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEZXRhaWxzKTtcclxuXHJcbiAgICAgICAgaWYgKGNhbkJlQ29uZmlndXJlZCh0cmlnKSlcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnLCB0cmlnZ2VyRGl2KSk7XHJcblxyXG4gICAgICAgIGlmICh0cmlnLmlzTWlzc2luZ0lkKSB7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy5taXNzaW5nSWQpLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSkge1xyXG4gICAgICAgICAgY29uc3QgYmFzZVRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsVGV4dCA9IGJhc2VUZXh0LnJlcGxhY2UoJyR7ZmlsZX0nLCB0cmlnLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMud2FybmluZyksXHJcbiAgICAgICAgICAgIGRldGFpbFRleHQsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwZW5kIHNvbWUgZGV0YWlscyBhYm91dCB0aGUgdHJpZ2dlciBzbyBpdCdzIG1vcmUgb2J2aW91cyB3aGF0IGl0IGlzLlxyXG4gICAgICAgIGZvciAoY29uc3QgW2RldGFpbFN0cmluZ0tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyhkZXRhaWxLZXlzKSkge1xyXG4gICAgICAgICAgLy8gT2JqZWN0LmVudHJpZXMgY29lcmNlcyB0byBhIHN0cmluZywgYnV0IHRoZSBkZXRhaWxLZXlzIGRlZmluaXRpb24gbWFrZXMgdGhpcyB0cnVlLlxyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gZGV0YWlsU3RyaW5nS2V5IGFzIGtleW9mIExvb3NlVHJpZ2dlcjtcclxuXHJcbiAgICAgICAgICBpZiAob3B0LmdlbmVyYXRlZE1hbnVhbGx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGlmICghdGhpcy5iYXNlLmRldmVsb3Blck9wdGlvbnMgJiYgb3B0LmRlYnVnT25seSlcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICBjb25zdCB0cmlnT3V0cHV0ID0gdHJpZy5jb25maWdPdXRwdXQ/LltkZXRhaWxLZXldO1xyXG4gICAgICAgICAgY29uc3QgdHJpZ0Z1bmMgPSB0cmlnW2RldGFpbEtleV07XHJcbiAgICAgICAgICBpZiAoIXRyaWdGdW5jKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxDbHMgPSBbb3B0LmNsc107XHJcbiAgICAgICAgICBsZXQgZGV0YWlsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgaWYgKHRyaWdPdXRwdXQpIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdPdXRwdXQ7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0cmlnRnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZUlzRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICBkZXRhaWxDbHMucHVzaCgnZnVuY3Rpb24tdGV4dCcpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdGdW5jLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICAgZGV0YWlsQ2xzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEFkZCBiZWZvcmVTZWNvbmRzIG1hbnVhbGx5IGZvciB0aW1lbGluZSB0cmlnZ2Vycy5cclxuICAgICAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2JlZm9yZVNlY29uZHMnO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrRGV0YWlsS2V5c1tkZXRhaWxLZXldLmxhYmVsKTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbGFiZWwnKTtcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItYmVmb3JlLXNlY29uZHMnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnN0ZXAgPSAnYW55JztcclxuXHJcbiAgICAgICAgICAvLyBTYXkgXCIoZGVmYXVsdClcIiBmb3IgbW9yZSBjb21wbGljYXRlZCB0aGluZ3MgbGlrZSBmdW5jdGlvbnMuXHJcbiAgICAgICAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZURlZmF1bHQpO1xyXG4gICAgICAgICAgaWYgKHRyaWcuYmVmb3JlU2Vjb25kcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSAnMCc7XHJcbiAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdHJpZy5iZWZvcmVTZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlID0gdHJpZy5iZWZvcmVTZWNvbmRzLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgZHVyYXRpb24gbWFudWFsbHkgd2l0aCBhbiBpbnB1dCB0byBvdmVycmlkZS5cclxuICAgICAgICBpZiAoaGFzT3V0cHV0RnVuYykge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2R1cmF0aW9uJztcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLmR1cmF0aW9uO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1kdXJhdGlvbicpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB0cmlnLmR1cmF0aW9uU2Vjb25kcyA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gYCR7dHJpZy5kdXJhdGlvblNlY29uZHN9YDtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgb3V0cHV0IHN0cmluZ3MgbWFudWFsbHlcclxuICAgICAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIG91dHB1dFN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMob3V0cHV0U3RyaW5ncykpIHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLm91dHB1dFN0cmluZ3M7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHR5cGVvZiBvdXRwdXRTdHJpbmcgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgICAgID8gb3V0cHV0U3RyaW5nXHJcbiAgICAgICAgICAgIDogdGhpcy5iYXNlLnRyYW5zbGF0ZShvdXRwdXRTdHJpbmcpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSBrZXk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW91dHB1dHN0cmluZy1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1vdXRwdXRzdHJpbmcnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gdGVtcGxhdGU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oXHJcbiAgICAgICAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgICAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleSwga2V5XSxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgICAgICBpbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy0nKTtcclxuICAgICAgICBjb25zdCBbcDAsIHAxLCBwMl0gPSBwYXRoO1xyXG4gICAgICAgIGlmIChwMCAhPT0gdW5kZWZpbmVkICYmIHAxICE9PSB1bmRlZmluZWQgJiYgcDIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLXNvdXJjZScpO1xyXG4gICAgICAgICAgY29uc3QgYmFzZVVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi90cmlnZ2Vycyc7XHJcbiAgICAgICAgICBsZXQgdXJsRmlsZXBhdGg7XHJcbiAgICAgICAgICBpZiAocGF0aC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICAgICAgLy8gMDAtbWlzYy9nZW5lcmFsLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7Wy4uLnBhdGhdLnNsaWNlKDIpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gMDItYXJyL3JhaWRzL3QxLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7cDJ9LyR7Wy4uLnBhdGhdLnNsaWNlKDMpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZFRyaWdnZXJJZCA9IHRyaWdJZC5yZXBsYWNlKC8nL2csICdcXFxcXFwnJyk7XHJcbiAgICAgICAgICBjb25zdCB1cmlDb21wb25lbnQgPSBlbmNvZGVVUklDb21wb25lbnQoYGlkOiAnJHtlc2NhcGVkVHJpZ2dlcklkfSdgKS5yZXBsYWNlKC8nL2csICclMjcnKTtcclxuICAgICAgICAgIGNvbnN0IHVybFN0cmluZyA9IGAke2Jhc2VVcmx9LyR7dXJsRmlsZXBhdGh9LmpzIzp+OnRleHQ9JHt1cmlDb21wb25lbnR9YDtcclxuICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBgPGEgaHJlZj1cIiR7dXJsU3RyaW5nfVwiIHRhcmdldD1cIl9ibGFua1wiPigke1xyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZpZXdUcmlnZ2VyU291cmNlKVxyXG4gICAgICAgICAgfSk8L2E+YDtcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnVpbGQgdGhlIHRvcCBsZXZlbCB0aW1lbGluZSBlZGl0aW5nIGV4cGFuZGFibGUgY29udGFpbmVyLlxyXG4gIGJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBsZXQgaGFzRXZlckJlZW5FeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLWVkaXQtaGVhZGVyJyk7XHJcbiAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAvLyBCdWlsZCB0aGUgcmVzdCBvZiB0aGlzIFVJIG9uIGRlbWFuZCBsYXppbHkuXHJcbiAgICAgIGlmICghaGFzRXZlckJlZW5FeHBhbmRlZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWVsaW5lID0gdGhpcy50aW1lbGluZUZyb21TZXQoc2V0LCBvcHRpb25zKTtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSSh6b25lSWQsIHRpbWVsaW5lLCBjb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGhhc0V2ZXJCZWVuRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgfTtcclxuICAgIGhlYWRlckRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLmVkaXRUaW1lbGluZSk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYSBwYXJzZWQgdGltZWxpbmUgZnJvbSBhIGdpdmVuIHRyaWdnZXIgc2V0LlxyXG4gIHRpbWVsaW5lRnJvbVNldChzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCwgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zKTogVGltZWxpbmVQYXJzZXIge1xyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBSZWN1cnNpdmVseSB0dXJuIHRoZSB0aW1lbGluZSBhcnJheSBpbnRvIGEgc3RyaW5nLlxyXG4gICAgY29uc3QgYWRkVGltZWxpbmUgPSAob2JqPzogVGltZWxpbmVGaWVsZCkgPT4ge1xyXG4gICAgICBpZiAob2JqID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgLy8gSGFjaywgcGFzcyBibGFuayBkYXRhIGluLCBhcyB3ZSBkb24ndCBoYXZlIGEgcmVhbCBkYXRhIGhlcmUuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xyXG4gICAgICAgIGNvbnN0IGJsYW5rRGF0YTogUmFpZGJvc3NEYXRhID0ge30gYXMgUmFpZGJvc3NEYXRhO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmooYmxhbmtEYXRhKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gRG8gbm90aGluZyBpZiB0aGlzIGZhaWxzLlxyXG4gICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBwcmV0dHkgdW5jb21tb24gaW4gYnVpbHQtaW4gdGltZWxpbmVzLlxyXG4gICAgICAgICAgLy8gSWYgdXNlciBmdW5jdGlvbnMgZG8gZnVua3kgdGhpbmdzLCB0aG9zZSBleHRyYSBsaW5lcyB3aWxsIGJlIHNraXBwZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7b2JqfWA7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBhZGRUaW1lbGluZShzZXQudGltZWxpbmUpO1xyXG4gICAgLy8gVXNpbmcgdGhlIHRpbWVsaW5lUmVwbGFjZSBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbGV0cyB0aGUgdGltZWxpbmVcclxuICAgIC8vIGVudHJpZXMgbG9vayBsaWtlIHRoZXkgd291bGQgaW4gZ2FtZS5cclxuICAgIHJldHVybiBuZXcgVGltZWxpbmVQYXJzZXIodGV4dCwgc2V0LnRpbWVsaW5lUmVwbGFjZSA/PyBbXSwgW10sIFtdLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBpbnRlcm5hbCBwYXJ0IG9mIHRpbWVsaW5lIGVkaXRpbmcgdWkuXHJcbiAgYnVpbGRUaW1lbGluZVVJKHpvbmVJZDogbnVtYmVyLCB0aW1lbGluZTogVGltZWxpbmVQYXJzZXIsIHBhcmVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVuaXFFdmVudHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIHRpbWVsaW5lLmV2ZW50cykge1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB1bmlxRXZlbnRzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB0aW1lbGluZS5pZ25vcmVzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAvLyBuYW1lID0gb3JpZ2luYWwgdGltZWxpbmUgdGV4dFxyXG4gICAgICAvLyB0ZXh0ID0gcmVwbGFjZWQgdGV4dCBpbiBjdXJyZW50IGxhbmd1YWdlXHJcbiAgICAgIHVuaXFFdmVudHNbZXZlbnQubmFtZV0gPSBldmVudC50ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtY29udGFpbmVyJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiBPYmplY3QudmFsdWVzKGtUaW1lbGluZVRhYmxlSGVhZGVycykpIHtcclxuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGhlYWRlcik7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh1bmlxRXZlbnRzKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdW5pcUV2ZW50c1trZXldO1xyXG4gICAgICBpZiAoIWV2ZW50KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY29uc3QgY2hlY2tJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lbmFibGUnKTtcclxuICAgICAgY2hlY2tJbnB1dC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNoZWNrSW5wdXQpO1xyXG5cclxuICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgaGVyZSBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIGBoaWRlYWxsIFwia2V5XCJgLCB3aGVyZSB0aGlzIHRleHQgd2lsbFxyXG4gICAgICAvLyBub3QgYmUgc2hvd24sIGJ1dCB0aW1lbGluZSB0cmlnZ2VycyByZWxhdGVkIHRvIGl0IHdpbGwgc3RpbGwgZmlyZS5cclxuICAgICAgY29uc3QgZW5hYmxlSWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdlbmFibGUnLCBrZXldO1xyXG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0cnVlO1xyXG4gICAgICBjaGVja0lucHV0LmNoZWNrZWQgPSB0aGlzLmJhc2UuZ2V0Qm9vbGVhbk9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgZGVmYXVsdFZhbHVlKTtcclxuICAgICAgY2hlY2tJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgZW5hYmxlSWQsIGNoZWNrSW5wdXQuY2hlY2tlZCk7XHJcblxyXG4gICAgICBjb25zdCB0aW1lbGluZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdGltZWxpbmVUZXh0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtdGV4dCcpO1xyXG4gICAgICB0aW1lbGluZVRleHQuaW5uZXJIVE1MID0gZXZlbnQ7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW1lbGluZVRleHQpO1xyXG5cclxuICAgICAgY29uc3QgdGV4dElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgdGV4dElucHV0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtZWRpdCcpO1xyXG4gICAgICB0ZXh0SW5wdXQucGxhY2Vob2xkZXIgPSBldmVudDtcclxuXHJcbiAgICAgIC8vIEFueSBjaGFuZ2VzIGFyZSB0aWVkIHRvIHRoZSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0IChrZXkpLCBidXQgdGhlIGNvbmZpZyB1aSB3aWxsXHJcbiAgICAgIC8vIGRpc3BsYXkgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UncyB0ZXh0IHdpdGggcmVwbGFjZW1lbnRzIChldmVudCkgYXMgdGhlIHBsYWNlaG9sZGVyIGFib3ZlLlxyXG4gICAgICBjb25zdCB0ZXh0SWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdnbG9iYWxSZXBsYWNlJywga2V5XTtcclxuICAgICAgdGV4dElucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsICcnKTtcclxuICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgdGV4dElkLCB0ZXh0SW5wdXQudmFsdWUpO1xyXG4gICAgICB0ZXh0SW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICB0ZXh0SW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dElucHV0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRoaXMgZHVwbGljYXRlcyB0aGUgcmFpZGJvc3MgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZS5cclxuICB2YWx1ZU9yRnVuY3Rpb24oXHJcbiAgICBmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCxcclxuICAgIGRhdGE6IFJhaWRib3NzRGF0YSxcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBvdXRwdXQ6IE91dHB1dCxcclxuICApOiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gKHR5cGVvZiBmID09PSAnZnVuY3Rpb24nKSA/IGYoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA6IGY7XHJcbiAgICBpZiAocmVzdWx0ICE9PSBPYmplY3QocmVzdWx0KSlcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICBpZiAocmVzdWx0W3RoaXMuYWxlcnRzTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIGlmIChyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddKVxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMudGltZWxpbmVMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIC8vIEZvciBwYXJ0aWFsbHkgbG9jYWxpemVkIHJlc3VsdHMgd2hlcmUgdGhpcyBsb2NhbGl6YXRpb24gZG9lc24ndFxyXG4gICAgLy8gZXhpc3QsIHByZWZlciBFbmdsaXNoIG92ZXIgbm90aGluZy5cclxuICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbJ2VuJ10sIGRhdGEsIG1hdGNoZXMsIG91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzVHJpZ2dlcih0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpOiBDb25maWdMb29zZVRyaWdnZXIge1xyXG4gICAgLy8gVE9ETzogd2l0aCBzb21lIGhhY2tpbmVzcyAoZS5nLiByZWdleGVzPykgd2UgY291bGQgZmlndXJlIG91dCB3aGljaFxyXG4gICAgLy8gb3V0cHV0IHN0cmluZyBjYW1lIGZyb20gd2hpY2ggYWxlcnQgdHlwZSAoYWxhcm0sIGFsZXJ0LCBpbmZvLCB0dHMpLlxyXG4gICAgLy8gU2VlIGBtYWtlT3V0cHV0YCBjb21tZW50cyBmb3Igd2h5IHRoaXMgbmVlZHMgYSB0eXBlIGFzc2VydGlvbiB0byBiZSBhbiBPdXRwdXQuXHJcbiAgICBjb25zdCBmYWtlT3V0cHV0UHJveHkgPSBuZXcgRG9Ob3RoaW5nRnVuY1Byb3h5KChvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzKSA9PiB7XHJcbiAgICAgIHRyaWcub3V0cHV0U3RyaW5ncyA9IHRyaWcub3V0cHV0U3RyaW5ncyB8fCB7fTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0cmlnLm91dHB1dFN0cmluZ3MsIG91dHB1dFN0cmluZ3MpO1xyXG4gICAgfSkgYXMgT3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGJhc2VGYWtlRGF0YTogUmFpZGJvc3NEYXRhID0ge1xyXG4gICAgICBtZTogJycsXHJcbiAgICAgIGpvYjogJ05PTkUnLFxyXG4gICAgICByb2xlOiAnbm9uZScsXHJcbiAgICAgIHBhcnR5OiBuZXcgUGFydHlUcmFja2VyKCksXHJcbiAgICAgIGxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IDEwMDAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMuYmFzZS5jb25maWdPcHRpb25zLFxyXG4gICAgICBTaG9ydE5hbWU6ICh4Pzogc3RyaW5nKSA9PiB4ID8/ICc/Pz8nLFxyXG4gICAgICBTdG9wQ29tYmF0OiAoKSA9PiB7Lyogbm9vcCAqL30sXHJcbiAgICAgIFBhcnNlTG9jYWxlRmxvYXQ6IHBhcnNlRmxvYXQsXHJcbiAgICAgIENhblN0dW46ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuU2xlZXA6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5DbGVhbnNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuRmVpbnQ6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5BZGRsZTogKCkgPT4gZmFsc2UsXHJcbiAgICAgIHBhcnNlckxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBkaXNwbGF5TGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICB9O1xyXG5cclxuICAgIHR5cGUgUGFydGlhbEZha2VEYXRhRW50cnkgPSB7IG1lOiBzdHJpbmc7IGpvYjogSm9iOyByb2xlOiBSb2xlIH07XHJcbiAgICBjb25zdCBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzOiBQYXJ0aWFsRmFrZURhdGFFbnRyeVtdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUaW5pIFBvdXRpbmknLFxyXG4gICAgICAgIGpvYjogJ0dOQicsXHJcbiAgICAgICAgcm9sZTogJ3RhbmsnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdQb3RhdG8gQ2hpcHB5JyxcclxuICAgICAgICBqb2I6ICdXSE0nLFxyXG4gICAgICAgIHJvbGU6ICdoZWFsZXInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUYXRlciBUb3QnLFxyXG4gICAgICAgIGpvYjogJ0JMTScsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0hhc2ggQnJvd24nLFxyXG4gICAgICAgIGpvYjogJ0RSRycsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0Fsb28gR29iaScsXHJcbiAgICAgICAgam9iOiAnQkxVJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBjb25zdCBmYWtlRGF0YUVudHJpZXM6IFJhaWRib3NzRGF0YVtdID0gcGFydGlhbEZha2VEYXRhRW50cmllcy5tYXAoKHgpID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHgsIGJhc2VGYWtlRGF0YSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZpcnN0RGF0YSA9IGZha2VEYXRhRW50cmllc1swXTtcclxuICAgIGlmICghZmlyc3REYXRhKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qga0Zha2VNYXRjaGVzID0ge1xyXG4gICAgICAvLyBUT0RPOiByZWFsbHkgc2hvdWxkIGNvbnZlcnQgYWxsIHRyaWdnZXJzIHRvIHVzZSByZWdleGVzLmpzLlxyXG4gICAgICAvLyBNb29vb29zdCB0cmlnZ2VycyB1c2UgbWF0Y2hlc1sxXSB0byBiZSBhIG5hbWUuXHJcbiAgICAgIDE6IGZpcnN0RGF0YS5tZSxcclxuXHJcbiAgICAgIHNvdXJjZUlkOiAnNDEyMzQ1NjcnLFxyXG4gICAgICBzb3VyY2U6ICdFbmVteScsXHJcbiAgICAgIGlkOiAnMTIzNCcsXHJcbiAgICAgIGFiaWxpdHk6ICdBYmlsaXR5JyxcclxuICAgICAgdGFyZ2V0SWQ6ICcxMjM0NTY3JyxcclxuICAgICAgdGFyZ2V0OiBmaXJzdERhdGEubWUsXHJcbiAgICAgIGZsYWdzOiAnJyxcclxuICAgICAgeDogJzEwMCcsXHJcbiAgICAgIHk6ICcxMDAnLFxyXG4gICAgICB6OiAnMCcsXHJcbiAgICAgIGhlYWRpbmc6ICcwJyxcclxuICAgICAgbnBjSWQ6ICcnLFxyXG4gICAgICBlZmZlY3Q6ICdFZmZlY3QnLFxyXG4gICAgICBkdXJhdGlvbjogJzMwJyxcclxuICAgICAgY29kZTogJzAwJyxcclxuICAgICAgbGluZTogJycsXHJcbiAgICAgIG5hbWU6ICdOYW1lJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0OiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXRLZXlzID0gWydhbGFybVRleHQnLCAnYWxlcnRUZXh0JywgJ2luZm9UZXh0JywgJ3R0cycsICdzb3VuZCddIGFzIGNvbnN0O1xyXG4gICAgdHlwZSBPdXRwdXRLZXkgPSB0eXBlb2Ygb3V0cHV0S2V5c1tudW1iZXJdO1xyXG5cclxuICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgc29tZSBzYW1wbGUgb3V0cHV0P1xyXG4gICAgLy8gVGhpcyBjb3VsZCBnZXQgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGlmIHdlIHdhbnRlZCBpdCB0by5cclxuICAgIGNvbnN0IGV2YWxUcmlnZ2VyID0gKHRyaWc6IExvb3NlVHJpZ2dlciwga2V5OiBPdXRwdXRLZXksIGRhdGE6IFJhaWRib3NzRGF0YSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsdWVPckZ1bmN0aW9uKHRyaWdba2V5XSwgZGF0YSwga0Zha2VNYXRjaGVzLCBmYWtlT3V0cHV0UHJveHkpO1xyXG4gICAgICAgIGlmICghcmVzdWx0KVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBTdXBlciBoYWNrOlxyXG4gICAgICAgIGNvbnN0IHJlc3VsdFN0ciA9IHJlc3VsdC50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChyZXN1bHRTdHIuaW5jbHVkZXMoJ3VuZGVmaW5lZCcpIHx8IHJlc3VsdFN0ci5pbmNsdWRlcygnTmFOJykpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIG91dHB1dFtrZXldID0gcmVzdWx0U3RyO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBhbGwgdG90YWxseSBib2d1cy4gIE1hbnkgdHJpZ2dlcnMgYXNzdW1lIGZpZWxkcyBvbiBkYXRhXHJcbiAgICAgICAgLy8gYXJlIHByb3Blcmx5IGRlZmluZWQgd2hlbiB0aGVzZSBjYWxscyBoYXBwZW4sIHNvIHdpbGwgdGhyb3cgZXJyb3JzLlxyXG4gICAgICAgIC8vIFNvIGp1c3Qgc2lsZW50bHkgaWdub3JlLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBIYW5kbGUgJ3Jlc3BvbnNlJyBmaXJzdC5cclxuICAgIGlmICh0cmlnLnJlc3BvbnNlKSB7XHJcbiAgICAgIGNvbnN0IHIgPSB0cmlnLnJlc3BvbnNlO1xyXG4gICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIC8vIENhbid0IHVzZSBWYWx1ZU9yRnVuY3Rpb24gaGVyZSBhcyByIHJldHVybnMgYSBub24tbG9jYWxpemFibGUgb2JqZWN0LlxyXG4gICAgICAgICAgLy8gRklYTUU6IHRoaXMgaGFja2lseSByZXBsaWNhdGVzIHNvbWUgcmFpZGJvc3MgbG9naWMgdG9vLlxyXG4gICAgICAgICAgbGV0IHJlc3BvbnNlOiB0eXBlb2YgdHJpZy5yZXNwb25zZSB8IHVuZGVmaW5lZCA9IHI7XHJcbiAgICAgICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaGFzIGJ1aWx0SW5SZXNwb25zZVN0ciBmaXJzdC5cclxuICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZShkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKVxyXG4gICAgICAgICAgICAgIGV2YWxUcmlnZ2VyKHJlc3BvbnNlLCBrZXksIGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT25seSBldmFsdWF0ZSBmaWVsZHMgaWYgdGhlcmUgYXJlIG5vdCBvdXRwdXRTdHJpbmdzLlxyXG4gICAgLy8gb3V0cHV0U3RyaW5ncyB3aWxsIGluZGljYXRlIG1vcmUgY2xlYXJseSB3aGF0IHRoZSB0cmlnZ2VyIHNheXMuXHJcbiAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKSB7XHJcbiAgICAgICAgaWYgKCEoa2V5IGluIHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZm9yIChjb25zdCBkYXRhIG9mIGZha2VEYXRhRW50cmllcykge1xyXG4gICAgICAgICAgaWYgKGV2YWxUcmlnZ2VyKHRyaWcsIGtleSwgZGF0YSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWcuY29uZmlnT3V0cHV0ID0gb3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLmJhc2UubGFuZztcclxuXHJcbiAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleGVzID0gW1xyXG4gICAgICAnbmV0UmVnZXhEZScsXHJcbiAgICAgICduZXRSZWdleEZyJyxcclxuICAgICAgJ25ldFJlZ2V4SmEnLFxyXG4gICAgICAnbmV0UmVnZXhDbicsXHJcbiAgICAgICduZXRSZWdleEtvJyxcclxuICAgICAgJ3JlZ2V4RGUnLFxyXG4gICAgICAncmVnZXhGcicsXHJcbiAgICAgICdyZWdleEphJyxcclxuICAgICAgJ3JlZ2V4Q24nLFxyXG4gICAgICAncmVnZXhLbycsXHJcbiAgICBdIGFzIGNvbnN0O1xyXG4gICAgY29uc3QgZ2V0UmVnZXggPSAoYmFzZUZpZWxkOiAncmVnZXgnIHwgJ25ldFJlZ2V4JykgPT4ge1xyXG4gICAgICBjb25zdCBzaG9ydExhbmd1YWdlID0gbGFuZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGxhbmcuc2xpY2UoMSk7XHJcbiAgICAgIGNvbnN0IGNvbmNhdFN0ciA9IGxhbmdTcGVjaWZpY1JlZ2V4ZXMuZmluZCgoeCkgPT4geCA9PT0gYCR7YmFzZUZpZWxkfSR7c2hvcnRMYW5ndWFnZX1gKTtcclxuICAgICAgaWYgKCFjb25jYXRTdHIpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleCA9IHRyaWdbY29uY2F0U3RyXSA/PyB0cmlnW2Jhc2VGaWVsZF07XHJcbiAgICAgIGlmICghbGFuZ1NwZWNpZmljUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBiYXNlUmVnZXggPSBSZWdleGVzLnBhcnNlKGxhbmdTcGVjaWZpY1JlZ2V4KTtcclxuICAgICAgaWYgKCFiYXNlUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICByZXR1cm4gUmVnZXhlcy5wYXJzZShiYXNlUmVnZXgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICB0cmlnLnRpbWVsaW5lUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyaWcudHJpZ2dlclJlZ2V4ID0gZ2V0UmVnZXgoJ3JlZ2V4Jyk7XHJcbiAgICAgIHRyaWcudHJpZ2dlck5ldFJlZ2V4ID0gZ2V0UmVnZXgoJ25ldFJlZ2V4Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyaWc7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzUmFpZGJvc3NGaWxlcyhcclxuICAgIGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICApOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4ge1xyXG4gICAgLy8gYGZpbGVzYCBpcyBtYXAgb2YgZmlsZW5hbWUgPT4gdHJpZ2dlclNldCAoZm9yIHRyaWdnZXIgZmlsZXMpXHJcbiAgICAvLyBgbWFwYCBpcyBhIHNvcnRlZCBtYXAgb2Ygc2hvcnRlbmVkIHpvbmUga2V5ID0+IHsgdmFyaW91cyBmaWVsZHMsIHRyaWdnZXJTZXQgfVxyXG4gICAgY29uc3QgdHJpZ2dlckZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0IH0gPSB7fTtcclxuICAgIGNvbnN0IHRpbWVsaW5lRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIHRyaWdnZXJTZXRPclN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdHJpZ2dlclNldE9yU3RyaW5nID09PSAnc3RyaW5nJylcclxuICAgICAgICB0aW1lbGluZUZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRyaWdnZXJGaWxlc1tmaWxlbmFtZV0gPSB0cmlnZ2VyU2V0T3JTdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWFwID0gdGhpcy5iYXNlLnByb2Nlc3NGaWxlczxDb25maWdMb29zZVRyaWdnZXJTZXQ+KHRyaWdnZXJGaWxlcywgdXNlck9wdGlvbnMuVHJpZ2dlcnMpO1xyXG4gICAgbGV0IHRyaWdnZXJJZHggPSAwO1xyXG5cclxuICAgIC8vIFdoaWxlIHdhbGtpbmcgdGhyb3VnaCB0cmlnZ2VycywgcmVjb3JkIGFueSBwcmV2aW91cyB0cmlnZ2VycyB3aXRoIHRoZSBzYW1lXHJcbiAgICAvLyBpZCBzbyB0aGF0IHRoZSB1aSBjYW4gZGlzYWJsZSBvdmVycmlkaW5nIGluZm9ybWF0aW9uLlxyXG4gICAgY29uc3QgcHJldmlvdXNUcmlnZ2VyV2l0aElkOiB7IFtpZDogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhtYXApKSB7XHJcbiAgICAgIC8vIFRPRE86IG1heWJlIGVhY2ggdHJpZ2dlciBzZXQgbmVlZHMgYSB6b25lIG5hbWUsIGFuZCB3ZSBzaG91bGRcclxuICAgICAgLy8gdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgZmlsZW5hbWU/Pz9cclxuICAgICAgY29uc3QgcmF3VHJpZ2dlcnM6IHsgdHJpZ2dlcjogTG9vc2VUcmlnZ2VyW107IHRpbWVsaW5lOiBMb29zZVRyaWdnZXJbXSB9ID0ge1xyXG4gICAgICAgIHRyaWdnZXI6IFtdLFxyXG4gICAgICAgIHRpbWVsaW5lOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgdHJpZ2dlclNldCA9IGl0ZW0udHJpZ2dlclNldDtcclxuICAgICAgaWYgKHRyaWdnZXJTZXQudHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudHJpZ2dlci5wdXNoKC4uLnRyaWdnZXJTZXQudHJpZ2dlcnMpO1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKVxyXG4gICAgICAgIHJhd1RyaWdnZXJzLnRpbWVsaW5lLnB1c2goLi4udHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKTtcclxuXHJcbiAgICAgIGlmICghdHJpZ2dlclNldC5pc1VzZXJUcmlnZ2VyU2V0ICYmIHRyaWdnZXJTZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgZmxhdHRlblRpbWVsaW5lKHRyaWdnZXJTZXQsIHRyaWdnZXJTZXQuZmlsZW5hbWUsIHRpbWVsaW5lRmlsZXMpO1xyXG5cclxuICAgICAgaXRlbS50cmlnZ2VycyA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHRyaWdnZXJBcnJdIG9mIE9iamVjdC5lbnRyaWVzKHJhd1RyaWdnZXJzKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZVRyaWcgb2YgdHJpZ2dlckFycikge1xyXG4gICAgICAgICAgY29uc3QgdHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyID0gYmFzZVRyaWc7XHJcbiAgICAgICAgICB0cmlnZ2VySWR4Kys7XHJcbiAgICAgICAgICBpZiAoIXRyaWcuaWQpIHtcclxuICAgICAgICAgICAgLy8gR2l2ZSB0cmlnZ2VycyB3aXRoIG5vIGlkIHNvbWUgXCJ1bmlxdWVcIiBzdHJpbmcgc28gdGhhdCB0aGV5IGNhblxyXG4gICAgICAgICAgICAvLyBzdGlsbCBiZSBhZGRlZCB0byB0aGUgc2V0IGFuZCBzaG93IHVwIGluIHRoZSB1aS5cclxuICAgICAgICAgICAgdHJpZy5pZCA9IGAhIU5vSWRUcmlnZ2VyJHt0cmlnZ2VySWR4fWA7XHJcbiAgICAgICAgICAgIHRyaWcuaXNNaXNzaW5nSWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIFRyYWNrIGlmIHRoaXMgdHJpZ2dlciBvdmVycmlkZXMgYW55IHByZXZpb3VzIHRyaWdnZXIuXHJcbiAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXTtcclxuICAgICAgICAgIGlmIChwcmV2aW91cylcclxuICAgICAgICAgICAgcHJldmlvdXMub3ZlcnJpZGRlbkJ5RmlsZSA9IHRyaWdnZXJTZXQuZmlsZW5hbWU7XHJcbiAgICAgICAgICBwcmV2aW91c1RyaWdnZXJXaXRoSWRbdHJpZy5pZF0gPSB0cmlnO1xyXG5cclxuICAgICAgICAgIHRyaWcuaXNUaW1lbGluZVRyaWdnZXIgPSBrZXkgPT09ICd0aW1lbGluZSc7XHJcbiAgICAgICAgICAvLyBBbHNvLCBpZiBhIHVzZXIgaGFzIHR3byBvZiB0aGUgc2FtZSBpZCBpbiB0aGUgc2FtZSB0cmlnZ2VyU2V0ICg/ISlcclxuICAgICAgICAgIC8vIHRoZW4gb25seSB0aGUgc2Vjb25kIHRyaWdnZXIgd2lsbCBzaG93IHVwLlxyXG4gICAgICAgICAgaXRlbS50cmlnZ2Vyc1t0cmlnLmlkXSA9IHRoaXMucHJvY2Vzc1RyaWdnZXIodHJpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnOiBMb29zZVRyaWdnZXIsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCkge1xyXG4gICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBhcyBhbGwgdHJpZ2dlcnMgc2hvdWxkIGJlIHByb2Nlc3NlZCB3aXRoIGEgdW5pcXVlIGlkLlxyXG4gICAgY29uc3QgdHJpZ0lkID0gdHJpZy5pZDtcclxuICAgIGlmICghdHJpZ0lkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0O1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKFxyXG4gICAgICAncmFpZGJvc3MnLFxyXG4gICAgICBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLFxyXG4gICAgICAnZGVmYXVsdCcsXHJcbiAgICApO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VyU291bmRPcHRpb25zKSkge1xyXG4gICAgICAvLyBIaWRlIGRlYnVnIG9ubHkgb3B0aW9ucyB1bmxlc3MgdGhleSBhcmUgc2VsZWN0ZWQuXHJcbiAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBsb29rIHdlaXJkIHRvIHBpY2sgc29tZXRoaW5nIGxpa2UgJ0Rpc2FibGVkJyxcclxuICAgICAgLy8gYnV0IHRoZW4gbm90IHNob3cgaXQgd2hlbiBkZXZlbG9wZXIgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cclxuICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5ICYmIGtleSAhPT0gc2VsZWN0VmFsdWUpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgZWxlbS5pbm5lckhUTUwgPSB0aGlzLmJhc2UudHJhbnNsYXRlKG9wdC5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBmbGF0dGVuVGltZWxpbmUgPSAoXHJcbiAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBmaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4pID0+IHtcclxuICAvLyBDb252ZXJ0IHNldC50aW1lbGluZUZpbGUgdG8gc2V0LnRpbWVsaW5lLlxyXG4gIGlmICghc2V0LnRpbWVsaW5lRmlsZSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCBsYXN0SW5kZXggPSBNYXRoLm1heChmaWxlbmFtZS5sYXN0SW5kZXhPZignLycpLCBmaWxlbmFtZS5sYXN0SW5kZXhPZignXFxcXCcpKTtcclxuICAvLyBJZiBsYXN0SW5kZXggPT09IC0xLCB0cnVuY2F0ZSBuYW1lIHRvIHRoZSBlbXB0eSBzdHJpbmcuXHJcbiAgLy8gaWYgbGFzdEluZGV4ID4gLTEsIHRydW5jYXRlIG5hbWUgYWZ0ZXIgdGhlIGZpbmFsIHNsYXNoLlxyXG4gIGNvbnN0IGRpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuXHJcbiAgY29uc3QgdGltZWxpbmVGaWxlID0gYCR7ZGlyfSR7c2V0LnRpbWVsaW5lRmlsZX1gO1xyXG4gIGRlbGV0ZSBzZXQudGltZWxpbmVGaWxlO1xyXG5cclxuICBpZiAoISh0aW1lbGluZUZpbGUgaW4gZmlsZXMpKSB7XHJcbiAgICBjb25zb2xlLmxvZyhgRVJST1I6ICcke2ZpbGVuYW1lfScgc3BlY2lmaWVzIG5vbi1leGlzdGVudCB0aW1lbGluZSBmaWxlICcke3RpbWVsaW5lRmlsZX0nLmApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLy8gc2V0LnRpbWVsaW5lIGlzIHByb2Nlc3NlZCByZWN1cnNpdmVseS5cclxuICBzZXQudGltZWxpbmUgPSBbc2V0LnRpbWVsaW5lLCBmaWxlc1t0aW1lbGluZUZpbGVdXTtcclxufTtcclxuXHJcbi8vIFJhaWRib3NzIG5lZWRzIHRvIGRvIHNvbWUgZXh0cmEgcHJvY2Vzc2luZyBvZiB1c2VyIGZpbGVzLlxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbiAgYmFzZU9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4ge1xyXG4gIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLlxyXG4gIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBSYWlkYm9zc09wdGlvbnM7XHJcblxyXG4gIGlmICghb3B0aW9ucy5UcmlnZ2VycylcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBiYXNlVHJpZ2dlclNldCBvZiBvcHRpb25zLlRyaWdnZXJzKSB7XHJcbiAgICBjb25zdCBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuXHJcbiAgICBmbGF0dGVuVGltZWxpbmUoc2V0LCBuYW1lLCBmaWxlcyk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnID0gKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICAvLyByYWlkYm9zcyB3aWxsIGxvb2sgdXAgdGhpcy5vcHRpb25zLlBlclRyaWdnZXJBdXRvQ29uZmlnIHRvIGZpbmQgdGhlc2UgdmFsdWVzLlxyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyVHJpZ2dlckF1dG9Db25maWcnO1xyXG5cclxuICBjb25zdCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IG9wdGlvbnNbb3B0aW9uTmFtZV0gPz89IHt9O1xyXG4gIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IHRyaWdnZXJzID0gc2F2ZWRDb25maWdbJ3RyaWdnZXJzJ107XHJcbiAgaWYgKCF0cmlnZ2VycyB8fCB0eXBlb2YgdHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkodHJpZ2dlcnMpKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBjb25zdCBvdXRwdXRPYmpzOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH0gPSB7fTtcclxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoa1RyaWdnZXJPcHRpb25zKTtcclxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICBjb25zdCBvYmogPSBvdXRwdXRPYmpzW2tleV0gPSB7fTtcclxuICAgIHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUob2JqLCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBbaWQsIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VycykpIHtcclxuICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWcgPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVtrT3B0aW9uS2V5cy5vdXRwdXRdPy50b1N0cmluZygpO1xyXG4gICAgaWYgKG91dHB1dClcclxuICAgICAgT2JqZWN0LmFzc2lnbihhdXRvQ29uZmlnLCBvdXRwdXRPYmpzW291dHB1dF0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmR1cmF0aW9uXSk7XHJcbiAgICBpZiAoZHVyYXRpb24pXHJcbiAgICAgIGF1dG9Db25maWdba09wdGlvbktleXMuZHVyYXRpb25dID0gZHVyYXRpb247XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZChlbnRyeVtrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSk7XHJcbiAgICBpZiAoYmVmb3JlU2Vjb25kcylcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSA9IGJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdO1xyXG4gICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgU2F2ZWRDb25maWdFbnRyeSBpcyBhbiBhbiBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLFxyXG4gICAgLy8gd2hpY2ggaXMgYSBzdWJzZXQgb2YgdGhlIE91dHB1dFN0cmluZ3MgdHlwZS5cclxuICAgIGlmIChcclxuICAgICAgKChlbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpOiBlbnRyeSBpcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIGVudHJ5ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGVudHJ5KSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoZW50cnkpKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfSkob3V0cHV0U3RyaW5ncylcclxuICAgIClcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5vdXRwdXRTdHJpbmdzXSA9IG91dHB1dFN0cmluZ3M7XHJcblxyXG4gICAgaWYgKG91dHB1dCB8fCBkdXJhdGlvbiB8fCBvdXRwdXRTdHJpbmdzKVxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPSBhdXRvQ29uZmlnO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyWm9uZVRpbWVsaW5lQ29uZmlnJztcclxuICAvLyBTYXZlZENvbmZpZyB1c2VzIHRoaXMga2V5IHN0cnVjdHVyZTpcclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2VuYWJsZScsIHRleHQsIGJvb2xlYW5cclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2dsb2JhbFJlcGxhY2UnLCB0ZXh0LCBzdHJpbmdcclxuICAvLyAuLi5hbmQgdGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGl0IGludG8gYSBgUGVyWm9uZVRpbWVsaW5lQ29uZmlnYC5cclxuXHJcbiAgY29uc3QgcGVyWm9uZVRpbWVsaW5lQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdGltZWxpbmUgPSBzYXZlZENvbmZpZ1sndGltZWxpbmUnXTtcclxuICBpZiAoIXRpbWVsaW5lIHx8IHR5cGVvZiB0aW1lbGluZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0aW1lbGluZSkpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgW3pvbmVLZXksIHpvbmVFbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModGltZWxpbmUpKSB7XHJcbiAgICBjb25zdCB6b25lSWQgPSBwYXJzZUludCh6b25lS2V5KTtcclxuICAgIGlmICghem9uZUlkKVxyXG4gICAgICBjb250aW51ZTtcclxuICAgIGNvbnN0IHRpbWVsaW5lQ29uZmlnID0gcGVyWm9uZVRpbWVsaW5lQ29uZmlnW3pvbmVJZF0gPz89IHt9O1xyXG5cclxuICAgIGlmICghem9uZUVudHJ5IHx8IHR5cGVvZiB6b25lRW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoem9uZUVudHJ5KSlcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3QgZW5hYmxlRW50cnkgPSB6b25lRW50cnlbJ2VuYWJsZSddO1xyXG4gICAgY29uc3QgcmVwbGFjZUVudHJ5ID0gem9uZUVudHJ5WydnbG9iYWxSZXBsYWNlJ107XHJcblxyXG4gICAgaWYgKGVuYWJsZUVudHJ5ICYmIHR5cGVvZiBlbmFibGVFbnRyeSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVuYWJsZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiAhdmFsdWUpXHJcbiAgICAgICAgICAodGltZWxpbmVDb25maWcuSWdub3JlID8/PSBbXSkucHVzaChrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcGxhY2VFbnRyeSAmJiB0eXBlb2YgcmVwbGFjZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShyZXBsYWNlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5SZW5hbWUgPz89IHt9KVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG5jb25zdCB0ZW1wbGF0ZU9wdGlvbnM6IE9wdGlvbnNUZW1wbGF0ZSA9IHtcclxuICBidWlsZEV4dHJhVUk6IChiYXNlLCBjb250YWluZXIpID0+IHtcclxuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgUmFpZGJvc3NDb25maWd1cmF0b3IoYmFzZSk7XHJcbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IHsgLi4ucmFpZGJvc3NPcHRpb25zIH07XHJcbiAgICBVc2VyQ29uZmlnLmxvYWRVc2VyRmlsZXMoJ3JhaWRib3NzJywgdXNlck9wdGlvbnMsICgpID0+IHtcclxuICAgICAgYnVpbGRlci5idWlsZFVJKGNvbnRhaW5lciwgcmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgfSxcclxuICBwcm9jZXNzRXh0cmFPcHRpb25zOiAoYmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnKSA9PiB7XHJcbiAgICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAgIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLiAgV2l0aG91dCB0aGlzLCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyBpcyB1bmtub3duLlxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgICBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gICAgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgfSxcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ292ZXJhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTdXBwb3J0ZWQgY29udGVudCAobGF0ZXN0IHZlcnNpb24pJyxcclxuICAgICAgICBkZTogJ1VudGVyc3TDvHR6dGUgSW5oYWx0ZSAoYWt0dWVsbHN0ZSBWZXJzaW9uKScsXHJcbiAgICAgICAgZnI6ICdDb250ZW51IHN1cHBvcnTDqSAoZGVybmnDqHJlIHZlcnNpb24pJyxcclxuICAgICAgICBqYTogJ+WvvuW/nOOCs+ODs+ODhuODs+ODhOS4gOimpyAo5pyA5paw44OQ44O844K444On44OzKScsXHJcbiAgICAgICAgY246ICfmlK/mjIHlia/mnKzkuIDop4ggKOWQq+acquWPkeW4g+abtOaWsCknLFxyXG4gICAgICAgIGtvOiAn7KeA7JuQ7ZWY64qUIOy7qO2FkOy4oCAo66a066as7KaI67KE7KCE67O064ukIOy1nOyLoCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaHRtbCcsXHJcbiAgICAgIGh0bWw6IHtcclxuICAgICAgICAvLyBUT0RPOiBpdCdkIGJlIG5pY2UgaWYgT3ZlcmxheVBsdWdpbiBjb3VsZCBvcGVuIGxpbmtzIG9uIHRoZSBzeXN0ZW0gb3V0c2lkZSBvZiBBQ1QuXHJcbiAgICAgICAgZW46IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgICAgIGRlOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZGUnKSxcclxuICAgICAgICBmcjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWZyJyksXHJcbiAgICAgICAgamE6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1qYScpLFxyXG4gICAgICAgIGNuOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9Y24nKSxcclxuICAgICAgICBrbzogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWtvJyksXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVmYXVsdEFsZXJ0T3V0cHV0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRGVmYXVsdCBhbGVydCBvdXRwdXQnLFxyXG4gICAgICAgIGRlOiAnU3RhbmRhcmQgQWxlcnQgQXVzZ2FiZScsXHJcbiAgICAgICAgZnI6ICdBbGVydGUgcGFyIGTDqWZhdXQnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx5Ye65Yqb5pei5a6a5YCkJyxcclxuICAgICAgICBjbjogJ+m7mOiupOitpuaKpeaPkOekuuS/oeaBr+i+k+WHuuaWueW8jycsXHJcbiAgICAgICAga286ICfquLDrs7gg7JWM656MIOy2nOugpSDrsKnsi50nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgT25seSc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIFRleHQgT25seSc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCB1bmQgVG9uJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwgVGV4dCB1bmQgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgTnVyIFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIE51ciBUZXh0JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGVha3RpdmllcnQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0ZSBldCBzb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0ZSBldCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgc2V1bGVtZW50JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dGUgc2V1bGVtZW50JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRMOpc2FjdGl2w6knOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFPjga7jgb8nOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnhKHlirknOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCDlj6rkvb/nlKhUVFMnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDthY3siqTtirjsmYAg7IaM66asJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+unjCc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIO2FjeyKpO2KuOunjCc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOu5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgIHNldHRlckZ1bmM6IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0c0xhbmd1YWdlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0FsZXJ0IFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlcyBhbGVydGVzJyxcclxuICAgICAgICBqYTogJ+itpuWRiuaDheWgseOBruiogOiqnicsXHJcbiAgICAgICAgY246ICforabmiqXmj5DnpLrmloflrZfnmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7JWM656MIOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRGlzcGxheSBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ1V0aWxpc2VyIGxhIGxhbmd1ZSBkXFwnYWZmaWNoYWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn6KGo56S66KiA6Kqe5pei5a6a5YCkJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmmL7npLror63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+yjvCDsgqzsmqkg7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydBbGVydHNMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVsaW5lTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBsYW5ndWFnZScsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBTcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7Pjga7oqIDoqp4nLFxyXG4gICAgICAgIGNuOiAn5pe26Ze06L205paH5pys55qE6K+t6KiAJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfmsYnor60gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydUaW1lbGluZUxhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2tpbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGRlOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZnI6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBqYTogJ1JhaWRib3Nz44Gu44K544Kt44OzJyxcclxuICAgICAgICBjbjogJ1JhaWRib3Nz55qu6IKkJyxcclxuICAgICAgICBrbzogJ1JhaWRib3NzIOyKpO2CqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnRGVmYXVsdCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ0TDqWZhdXQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfliJ3mnJ/oqK3lrponOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfpu5jorqQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfquLDrs7gnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZWxpbmUgZW5hYmxlZCcsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnVGltZWxpbmUgYWN0aXbDqWUnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44Oz44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaXtumXtOi9tCcsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbgg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0cyBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0FsZXJ0cyBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnQWxlcnRlcyBhY3RpdsOpZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaPkOekuuaWh+acrOaYvuekuicsXHJcbiAgICAgICAga286ICfslYzrnowg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd1RpbWVyQmFyc0F0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVyIGJhciBzaG93IHdpbmRvdyAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnVGltZXItQmFyIEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0ZlbsOqdHJlIGRcXCdhZmZpY2hhZ2UgZGUgbGEgYmFycmUgZGUgdGVtcHMgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgavmmYLplpPooajnpLogKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K6h5pe25p2h5pi+56S65pe26ZW/ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydhCDtkZzsi5ztlaAg6riw7KSAIOyLnOqwhCAo7LSIIOydtO2VmCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnS2VlcCBleHBpcmVkIHRpbWVyIGJhciAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQmVoYWx0ZSBhYmdlbGF1ZmVuZSBUaW1lci1CYXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdHYXJkZXIgbGEgYmFycmUgZGUgdGVtcHMgZXhwaXLDqWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfntYLkuobjgZfjgZ/jgr/jgqTjg6Djg5Djg7zjgYzmtojjgYjjgovjgb7jgafjga7lvoXjgaHmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5bey5aSx5pWI55qE6K6h5pe25p2h55qE5reh5Ye65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+unjOujjOuQnCDtg4DsnoTrnbzsnbjsnbQg7IKs65287KeA6riw6rmM7KeA7J2YIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmFyRXhwaXJlc1Nvb25TZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZSB0byByZWNvbG9yIHRpbWVyIGFzIGV4cGlyaW5nIHNvb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgYmlzIGVpbiBiYWxkIGF1c2xhdWZlbmRlciBUaW1lciB1bWdlZsOkcmJ0IHdpcmQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSZWNvbG9yaXNhdGlvbiBkZSBsYSBiYXJyZSBkZSB0ZW1wcyBhdmFudCBleHBpcmF0aW9uIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844GM57WC5LqG5YmN44Gr5YaN5bqm6Imy5LuY44GR44Gu5q6L44KK5pmC6ZaTICjnp5IpJyxcclxuICAgICAgICBjbjogJ+WAkuiuoeaXtuWwj+S6juivpeWAvOaXtuW9k+WJjeiuoeaXtuadoeWPmOiJsiAo56eSKScsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbjsnZgg7IOJ7IOB7J2EIOuwlOq/gCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTWF4TnVtYmVyT2ZUaW1lckJhcnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYXggbnVtYmVyIG9mIHRpbWVyIGJhcnMnLFxyXG4gICAgICAgIGRlOiAnTWF4IEFuemFobCBhbiBUaW1lci1CYXJzJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtYXggZGUgYmFycmVzIGRlIHRlbXBzJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBruacgOWkp+aVsCcsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmnIDlpKfmlbDph48nLFxyXG4gICAgICAgIGtvOiAn7ZGc7Iuc7ZWgIO2DgOyehOudvOyduOydmCDstZzrjIAg6rCc7IiYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxhcm1lIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQtVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxlcnRlIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuWRiuaWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyB0ZXh0IGRpc3BsYXkgZHVyYXRpb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0luZm8tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnaW5mb3JtYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfmg4XloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yViOuCtCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGFybSBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGFybWUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGVydGUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiuaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0luZm8gc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0luZm8gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdpbmZvICgwLTEpJyxcclxuICAgICAgICBqYTogJ+aDheWgsemfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/mj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdMb25nU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb25nIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYW5nZXIgVG9uIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9uZyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfplbfjgYTpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6ZW/5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+q4tCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUHVsbFNvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHVsbCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnUHVsbCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZHUgc29uIGRlIHB1bGwgKDAtMSknLFxyXG4gICAgICAgIGphOiAn44K/44Ky5Y+W44KL5Yq55p6c6Z+z44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+W8gOaAquaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICftkoDrp4Eg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1J1bWJsZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZ2FtZXBhZCBydW1ibGUgZm9yIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ0dhbWVwYWQtVmlicmF0aW9uIGbDvHIgVHJpZ2dlciBha3RpdmllcmVuJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgdmlicmF0aW9uIGRlIGxhIG1hbmV0dGUgZGUgamV1IHBvdXIgbGVzIHRyaWdnZXJzJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1J1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGluZm8gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZmFpYmxlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRHVyYXRpb24gKG1pbGxpc2Vjb25kcykgb2YgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNTAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGFsZXJ0IHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsZXJ0ZXMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDc1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVXZWFrJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHdlYWsgcnVtYmxlIGZvciBhbGFybSB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZmFpYmxlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGFybWVzICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgc3RhcmtlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjc1LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdjYWN0Ym90V29ybWhvbGVTdHJhdCcsXHJcbiAgICAgIC8vIFRPRE86IG1heWJlIG5lZWQgc29tZSB3YXkgdG8gZ3JvdXAgdGhlc2Uga2luZHMgb2ZcclxuICAgICAgLy8gb3B0aW9ucyBpZiB3ZSBlbmQgdXAgaGF2aW5nIGEgbG90P1xyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGV4IFVsdGltYXRlOiBlbmFibGUgY2FjdGJvdCBXb3JtaG9sZSBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdBbGV4IFVsdGltYXRlOiBha3RpdmllcmUgY2FjdGJvdCBXb3JtaG9sZSBTdHJhdGVnaWUnLFxyXG4gICAgICAgIGZyOiAnQWxleCBmYXRhbCA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFdvcm1ob2xlJyxcclxuICAgICAgICBqYTogJ+e1tuOCouODrOOCreOCteODs+ODgOODvOiojua7heaIpu+8mmNhY3Rib3TjgIzmrKHlhYPmlq3ntbbjga7jg57jg7zjg4HjgI3jgq7jg5/jg4Pjgq8nLFxyXG4gICAgICAgIGNuOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiY77yaY2FjdGJvdOeBteaziei+heWKqeWKn+iDvScsXHJcbiAgICAgICAga286ICfsoIgg7JWM66CJOiBjYWN0Ym90IOybnO2ZgCDqs7XrnrXrsKnsi50g7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ2NhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ2U4czogZW5hYmxlIGNhY3Rib3QgVXB0aW1lIEtub2NrYmFjayBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdlOHM6IGFrdGl2aWVyZSBjYWN0Ym90IFVwdGltZSBLbm9ja2JhY2sgU3RyYXRlZ2llJyxcclxuICAgICAgICBmcjogJ2U4cyA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFVwdGltZSBLbm9ja2JhY2snLFxyXG4gICAgICAgIGphOiAn44Ko44OH44Oz6Zu25byP5YWx6bO057eo77yU5bGk77yaY2FjdGJvdOOAjOODmOODtOODs+ODquODvOOCueODiOODqeOCpOOCryAo44OO44OD44Kv44OQ44OD44KvKeOAjeOCruODn+ODg+OCrycsXHJcbiAgICAgICAgY246ICdFOFM6IOWQr+eUqGNhY3Rib3TnmoTlh7vpgIDmj5DnpLrlip/og70nLFxyXG4gICAgICAgIGtvOiAn6rO166qFIOyYgeybhSA07Li1OiBjYWN0Ym90IOygle2Zle2VnCDtg4DsnbTrsI0g64SJ67Cx67Cp7KeAIOqzteuetSDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgXSxcclxufTtcclxuXHJcblVzZXJDb25maWcucmVnaXN0ZXJPcHRpb25zKCdyYWlkYm9zcycsIHRlbXBsYXRlT3B0aW9ucywgdXNlckZpbGVIYW5kbGVyKTtcclxuIiwiaW1wb3J0IGNvbnRlbnRMaXN0IGZyb20gJy4uLy4uL3Jlc291cmNlcy9jb250ZW50X2xpc3QnO1xyXG5pbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnLCB7IENvbmZpZ0VudHJ5LCBDb25maWdWYWx1ZSwgT3B0aW9uc1RlbXBsYXRlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IFpvbmVJbmZvIGZyb20gJy4uLy4uL3Jlc291cmNlcy96b25lX2luZm8nO1xyXG5pbXBvcnQgeyBTYXZlZENvbmZpZywgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgTG9vc2VPb3BzeVRyaWdnZXIsIExvb3NlT29wc3lUcmlnZ2VyU2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMvb29wc3knO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZU9iamVjdCxcclxuICBMb2NhbGVUZXh0LFxyXG4gIExvb3NlVGltZWxpbmVUcmlnZ2VyLFxyXG4gIExvb3NlVHJpZ2dlcixcclxuICBMb29zZVRyaWdnZXJTZXQsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgZGVmYXVsdE9wdGlvbnMsIHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gJy4vY29uZmlnX29wdGlvbnMnO1xyXG5cclxuLy8gTG9hZCBvdGhlciBjb25maWcgZmlsZXNcclxuaW1wb3J0ICcuL2dlbmVyYWxfY29uZmlnJztcclxuaW1wb3J0ICcuLi9ldXJla2EvZXVyZWthX2NvbmZpZyc7XHJcbmltcG9ydCAnLi4vam9icy9qb2JzX2NvbmZpZyc7XHJcbmltcG9ydCAnLi4vb29wc3lyYWlkc3kvb29wc3lyYWlkc3lfY29uZmlnJztcclxuaW1wb3J0ICcuLi9yYWRhci9yYWRhcl9jb25maWcnO1xyXG5pbXBvcnQgJy4uL3JhaWRib3NzL3JhaWRib3NzX2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgJy4uLy4uL3Jlc291cmNlcy9kZWZhdWx0cy5jc3MnO1xyXG5pbXBvcnQgJy4vY29uZmlnLmNzcyc7XHJcblxyXG4vLyBUZXh0IGluIHRoZSBidXR0ZXIgYmFyLCB0byBwcm9tcHQgdGhlIHVzZXIgdG8gcmVsb2FkIGFmdGVyIGEgY29uZmlnIGNoYW5nZS5cclxuY29uc3Qga1JlbG9hZFRleHQgPSB7XHJcbiAgZW46ICdUbyBhcHBseSBjb25maWd1cmF0aW9uIGNoYW5nZXMsIHJlbG9hZCBjYWN0Ym90IG92ZXJsYXlzLicsXHJcbiAgZGU6ICdVbSBkaWUgw4RuZGVydW5nZW4genUgYWt0aXZpZXJlbiwgYWt0dWFsaXNpZXJlIGJpdHRlIGRpZSBDYWN0Ym90IE92ZXJsYXlzLicsXHJcbiAgZnI6ICdBZmluIGRcXCdhcHBsaXF1ZXIgbGVzIG1vZGlmaWNhdGlvbnMsIGlsIGZhdXQgcmVjaGFyZ2VyIGxcXCdvdmVybGF5IENhY3Rib3QuJyxcclxuICBqYTogJ+ioreWumuOCkuacieWKueOBq+OBmeOCi+eCuuOAgUNhY3Rib3Tjgqrjg7zjg5Djg7zjg6zjgqTjgpLlho3oqq3jgb/ovrzjgb/jgZfjgabjgY/jgaDjgZXjgYQnLFxyXG4gIGNuOiAn6KaB5bqU55So6YWN572u5pu05pS577yM6K+36YeN5paw5Yqg6L29Y2FjdGJvdOaCrOa1rueql+OAgicsXHJcbiAga286ICfrs4Dqsr3sgqztla3snYQg7KCB7Jqp7ZWY66Ck66m0LCDsmKTrsoTroIjsnbTrpbwg7IOI66Gc6rOg7LmoIO2VmOyLreyLnOyYpC4nLFxyXG59O1xyXG5cclxuLy8gVGV4dCBpbiB0aGUgYnV0dGVyIGJhciByZWxvYWQgYnV0dG9uLlxyXG5jb25zdCBrUmVsb2FkQnV0dG9uVGV4dCA9IHtcclxuICBlbjogJ1JlbG9hZCcsXHJcbiAgZGU6ICdBa3R1YWxpc2llcmVuJyxcclxuICBmcjogJ1JlY2hhcmdlcicsXHJcbiAgamE6ICflho3oqq3jgb/ovrzjgb8nLFxyXG4gIGNuOiAn6YeN5paw5Yqg6L29JyxcclxuICBrbzogJ+yDiOuhnOqzoOy5qCcsXHJcbn07XHJcblxyXG4vLyBUZXh0IG9uIHRoZSBkaXJlY3RvcnkgY2hvb3NpbmcgYnV0dG9uLlxyXG5jb25zdCBrRGlyZWN0b3J5Q2hvb3NlQnV0dG9uVGV4dCA9IHtcclxuICBlbjogJ0Nob29zZSBEaXJlY3RvcnknLFxyXG4gIGRlOiAnV8OkaGxlIGVpbiBWZXJ6ZWljaG5pcycsXHJcbiAgZnI6ICdDaG9peCBkdSByw6lwZXJ0b2lyZScsXHJcbiAgamE6ICfjg4fjgqPjg6zjgq/jg4jjg6rjgpLpgbjmip4nLFxyXG4gIGNuOiAn6YCJ5oup55uu5b2VJyxcclxuICBrbzogJ+uUlOugie2GoOumrCDshKDtg50nLFxyXG59O1xyXG5cclxuLy8gV2hhdCB0byBzaG93IHdoZW4gYSBkaXJlY3RvcnkgaGFzbid0IGJlZW4gY2hvc2VuLlxyXG5jb25zdCBrRGlyZWN0b3J5RGVmYXVsdFRleHQgPSB7XHJcbiAgZW46ICcoRGVmYXVsdCknLFxyXG4gIGRlOiAnKFN0YW5kYXJkKScsXHJcbiAgZnI6ICcoRMOpZmF1dCknLFxyXG4gIGphOiAnKOWIneacn+ioreWumiknLFxyXG4gIGNuOiAnKOm7mOiupCknLFxyXG4gIGtvOiAnKOq4sOuzuCknLFxyXG59O1xyXG5cclxuLy8gVHJhbnNsYXRpbmcgZGF0YSBmb2xkZXJzIHRvIGEgY2F0ZWdvcnkgbmFtZS5cclxuY29uc3Qga1ByZWZpeFRvQ2F0ZWdvcnkgPSB7XHJcbiAgJzAwLW1pc2MnOiB7XHJcbiAgICBlbjogJ0dlbmVyYWwgVHJpZ2dlcnMnLFxyXG4gICAgZGU6ICdHZW5lcmFsIFRyaWdnZXInLFxyXG4gICAgZnI6ICdHw6luw6lyYWwgVHJpZ2dlcnMnLFxyXG4gICAgamE6ICfmsY7nlKgnLFxyXG4gICAgY246ICfpgJrnlKjop6blj5HlmagnLFxyXG4gICAga286ICfqs7Xsmqkg7Yq466as6rGwJyxcclxuICB9LFxyXG4gICcwMi1hcnInOiB7XHJcbiAgICBlbjogJ0EgUmVhbG0gUmVib3JuIChBUlIgMi54KScsXHJcbiAgICBkZTogJ0EgUmVhbG0gUmVib3JuIChBUlIgMi54KScsXHJcbiAgICBmcjogJ0EgUmVhbG0gUmVib3JuIChBUlIgMi54KScsXHJcbiAgICBqYTogJ+aWsOeUn+OCqOOCquODq+OCvOOCoiAoMi54KScsXHJcbiAgICBjbjogJ+mHjeeUn+S5i+WigyAoMi54KScsXHJcbiAgICBrbzogJ+yLoOyDnSDsl5DsmKTrpbTsoJzslYQgKDIueCknLFxyXG4gIH0sXHJcbiAgJzAzLWh3Jzoge1xyXG4gICAgZW46ICdIZWF2ZW5zd2FyZCAoSFcgMy54KScsXHJcbiAgICBkZTogJ0hlYXZlbnN3YXJkIChIVyAzLngpJyxcclxuICAgIGZyOiAnSGVhdmVuc3dhcmQgKEhXIDMueCknLFxyXG4gICAgamE6ICfokrzlpKnjga7jgqTjgrfjg6Xjgqzjg6vjg4kgKDMueCknLFxyXG4gICAgY246ICfoi43nqbnkuYvnpoHln44gKDMueCknLFxyXG4gICAga286ICfssL3sspzsnZgg7J207IqI6rCA66W065OcICgzLngpJyxcclxuICB9LFxyXG4gICcwNC1zYic6IHtcclxuICAgIGVuOiAnU3Rvcm1ibG9vZCAoU0IgNC54KScsXHJcbiAgICBkZTogJ1N0b3JtYmxvb2QgKFNCIDQueCknLFxyXG4gICAgZnI6ICdTdG9ybWJsb29kIChTQiA0LngpJyxcclxuICAgIGphOiAn57SF6JOu44Gu44Oq44OZ44Os44O844K/44O8ICg0LngpJyxcclxuICAgIGNuOiAn57qi6I6y5LmL54uC5r2uICg0LngpJyxcclxuICAgIGtvOiAn7ZmN66Co7J2YIO2VtOuwqeyekCAoNC54KScsXHJcbiAgfSxcclxuICAnMDUtc2hiJzoge1xyXG4gICAgZW46ICdTaGFkb3dicmluZ2VycyAoU2hCIDUueCknLFxyXG4gICAgZGU6ICdTaGFkb3dicmluZ2VycyAoU2hCIDUueCknLFxyXG4gICAgZnI6ICdTaGFkb3dicmluZ2VycyAoU2hCIDUueCknLFxyXG4gICAgamE6ICfmvIbpu5Ljga7jg7TjgqPjg6njg7PjgrogKDUueCknLFxyXG4gICAgY246ICfmmpflvbHkuYvpgIbnhLAgKDUueCknLFxyXG4gICAga286ICfsuaDtnZHsnZgg67CY7Jet7J6QICg1LngpJyxcclxuICB9LFxyXG4gICcwNi1ldyc6IHtcclxuICAgIGVuOiAnRW5kd2Fsa2VyIChFVyA2LngpJyxcclxuICAgIGRlOiAnRW5kd2Fsa2VyIChFVyA2LngpJyxcclxuICAgIGZyOiAnRW5kd2Fsa2VyIChFVyA2LngpJyxcclxuICAgIGphOiAn5pqB5pyI44Gu44OV44Kj44OK44O844OsICg2LngpJyxcclxuICAgIGNuOiAn5pmT5pyI5LmL57uI6YCUICg2LngpJyxcclxuICAgIGtvOiAn7Zqo7JuU7J2YIOyiheyWuCAoNi54KScsXHJcbiAgfSxcclxuICAndXNlcic6IHtcclxuICAgIGVuOiAnVXNlciBUcmlnZ2VycycsXHJcbiAgICBkZTogJ0JlbnV0emVyIFRyaWdnZXInLFxyXG4gICAgZnI6ICdUcmlnZ2VycyBwZXJzb25uYWxpc8OpcycsXHJcbiAgICBqYTogJ+ODpuODvOOCtuODvOODiOODquOCrOODvCcsXHJcbiAgICBjbjogJ+iHquWumuS5ieinpuWPkeWZqCcsXHJcbiAgICBrbzogJ+y7pOyKpO2FgCDtirjrpqzqsbAnLFxyXG4gIH0sXHJcbn07XHJcblxyXG4vLyBUcmFuc2xhdGluZyBkYXRhIHN1YmZvbGRlcnMgdG8gZW5jb3VudGVyIHR5cGUuXHJcbmNvbnN0IGtEaXJlY3RvcnlUb0NhdGVnb3J5ID0ge1xyXG4gIGFsbGlhbmNlOiB7XHJcbiAgICBlbjogJ0FsbGlhbmNlIFJhaWQnLFxyXG4gICAgZGU6ICdBbGxpYW56LVJhaWQnLFxyXG4gICAgZnI6ICdSYWlkIGVuIEFsbGlhbmNlJyxcclxuICAgIGphOiAn44Ki44Op44Kk44Ki44Oz44K544Os44Kk44OJJyxcclxuICAgIGNuOiAn5Zui6Zif5Lu75YqhJyxcclxuICAgIGtvOiAn7Jew7ZWpIOugiOydtOuTnCcsXHJcbiAgfSxcclxuICBkdW5nZW9uOiB7XHJcbiAgICBlbjogJ0R1bmdlb24nLFxyXG4gICAgZGU6ICdEdW5nZW9uJyxcclxuICAgIGZyOiAnRG9uam9uJyxcclxuICAgIGphOiAn44OA44Oz44K444On44OzJyxcclxuICAgIGNuOiAn6L+35a6r5oyR5oiYJyxcclxuICAgIGtvOiAn642Y7KCEJyxcclxuICB9LFxyXG4gIGV1cmVrYToge1xyXG4gICAgZW46ICdBZHZlbnR1cmluZyBGb3JheXMnLFxyXG4gICAgZGU6ICdGZWxkZXhrdXJzaW9uJyxcclxuICAgIGZyOiAnTWlzc2lvbnMgZFxcJ2V4cGxvcmF0aW9uJyxcclxuICAgIGphOiAn54m55q6K44OV44Kj44O844Or44OJ5o6i57SiJyxcclxuICAgIGNuOiAn54m55q6K5Zy65pmv5o6i57SiJyxcclxuICAgIGtvOiAn7Yq57IiYIO2VhOuTnCDsnoTrrLQnLFxyXG4gIH0sXHJcbiAgcmFpZDoge1xyXG4gICAgZW46ICdSYWlkJyxcclxuICAgIGRlOiAnUmFpZCcsXHJcbiAgICBmcjogJ1JhaWQnLFxyXG4gICAgamE6ICfjg6zjgqTjg4knLFxyXG4gICAgY246ICflpKflnovku7vliqEnLFxyXG4gICAga286ICfroIjsnbTrk5wnLFxyXG4gIH0sXHJcbiAgcHZwOiB7XHJcbiAgICBlbjogJ1BWUCcsXHJcbiAgICBkZTogJ1B2UCcsXHJcbiAgICBmcjogJ0pjSicsXHJcbiAgICBqYTogJ1B2UCcsXHJcbiAgICBjbjogJ1B2UCcsXHJcbiAgICBrbzogJ1B2UCcsXHJcbiAgfSxcclxuICB0cmlhbDoge1xyXG4gICAgZW46ICdUcmlhbCcsXHJcbiAgICBkZTogJ1Byw7xmdW5nJyxcclxuICAgIGZyOiAnRMOpZmknLFxyXG4gICAgamE6ICfoqI7kvJDjg7voqI7mu4XmiKYnLFxyXG4gICAgY246ICforqjkvJDmrbznga3miJgnLFxyXG4gICAga286ICfthqDrsozsoIQnLFxyXG4gIH0sXHJcbiAgdWx0aW1hdGU6IHtcclxuICAgIGVuOiAnVWx0aW1hdGUnLFxyXG4gICAgZGU6ICdGYXRhbGUgUmFpZHMnLFxyXG4gICAgZnI6ICdSYWlkIGZhdGFsJyxcclxuICAgIGphOiAn57W244K344Oq44O844K6JyxcclxuICAgIGNuOiAn57ud5aKD5oiYJyxcclxuICAgIGtvOiAn7KCIIOuCnOydtOuPhCcsXHJcbiAgfSxcclxufTtcclxuXHJcbi8vIFRPRE86IG1heWJlIHdlIHNob3VsZCBhbHNvIHNvcnQgYWxsIHRoZSBmaWxlbmFtZXMgcHJvcGVybHkgdG9vP1xyXG4vLyBUT0RPOiB1c2UgWm9uZUlkIHRvIGdldCB0aGlzXHJcbmNvbnN0IGZpbGVOYW1lVG9UaXRsZSA9IChmaWxlbmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgLy8gU3RyaXAgZGlyZWN0b3J5IGFuZCBleHRlbnNpb24uXHJcbiAgY29uc3QgZmlsZSA9IGZpbGVuYW1lLnJlcGxhY2UoL14uKlxcLy8sICcnKS5yZXBsYWNlKC9cXC5banRdcy9nLCAnJyk7XHJcbiAgLy8gUmVtb3ZlIG5vbi1uYW1lIGNoYXJhY3RlcnMgKHByb2JhYmx5KS5cclxuICBjb25zdCBuYW1lID0gZmlsZS5yZXBsYWNlKC9bXy1dL2csICcgJyk7XHJcbiAgLy8gQ2FwaXRhbGl6ZSB0aGUgZmlyc3QgbGV0dGVyIG9mIGV2ZXJ5IHdvcmQuXHJcbiAgbGV0IGNhcGl0YWxpemVkID0gbmFtZS5yZXBsYWNlKC8oPzpefCApXFx3L2csIChjKSA9PiBjLnRvVXBwZXJDYXNlKCkpO1xyXG5cclxuICAvLyBGdWxseSBjYXBpdGFsaXplIGFjcm9ueW1zIGxpa2UgZTRuLlxyXG4gIGlmICgvXlxcd1swLTldK1xcdyQvLnRlc3QoY2FwaXRhbGl6ZWQpKVxyXG4gICAgY2FwaXRhbGl6ZWQgPSBjYXBpdGFsaXplZC50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICByZXR1cm4gY2FwaXRhbGl6ZWQ7XHJcbn07XHJcblxyXG4vLyBBbm5vdGF0aW9ucyBieSB1c2VyRmlsZUhhbmRsZXIgKHByb2Nlc3NSYWlkYm9zc0ZpbGVzKSBvbiB0cmlnZ2Vycy5cclxuLy8gcmFpZGJvc3NfY29uZmlnIGFsc28gY29tYmluZXMgbm9ybWFsIGFuZCB0aW1lbGluZSB0cmlnZ2VycyB3aGVuIGJ1aWxkaW5nIHRoZSBjb25maWcgdWkuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0xvb3NlVHJpZ2dlciA9IExvb3NlVHJpZ2dlciAmIExvb3NlVGltZWxpbmVUcmlnZ2VyICYge1xyXG4gIGlzTWlzc2luZ0lkPzogYm9vbGVhbjtcclxuICBvdmVycmlkZGVuQnlGaWxlPzogc3RyaW5nO1xyXG4gIGlzVGltZWxpbmVUcmlnZ2VyPzogYm9vbGVhbjtcclxuICB0aW1lbGluZVJlZ2V4PzogUmVnRXhwO1xyXG4gIHRyaWdnZXJSZWdleD86IFJlZ0V4cDtcclxuICB0cmlnZ2VyTmV0UmVnZXg/OiBSZWdFeHA7XHJcbiAgY29uZmlnT3V0cHV0PzogeyBbZmllbGQ6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0ID0gTG9vc2VUcmlnZ2VyU2V0ICYge1xyXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xyXG4gIGlzVXNlclRyaWdnZXJTZXQ/OiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXIgPSBMb29zZU9vcHN5VHJpZ2dlcjtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0xvb3NlT29wc3lUcmlnZ2VyU2V0ID0gTG9vc2VPb3BzeVRyaWdnZXJTZXQgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgaXNVc2VyVHJpZ2dlclNldD86IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWdDb250ZW50cyA9IHsgW2dyb3VwOiBzdHJpbmddOiBPcHRpb25zVGVtcGxhdGVbXSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnUHJvY2Vzc2VkRmlsZTxUIGV4dGVuZHMgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXJTZXQgfCBDb25maWdMb29zZVRyaWdnZXJTZXQ+ID0ge1xyXG4gIGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgZmlsZUtleTogc3RyaW5nO1xyXG4gIHByZWZpeEtleTogc3RyaW5nO1xyXG4gIHByZWZpeDogc3RyaW5nO1xyXG4gIHNlY3Rpb246IHN0cmluZztcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdHJpZ2dlclNldDogVDtcclxuICB6b25lSWQ/OiBudW1iZXI7XHJcbiAgdHJpZ2dlcnM/OiB7XHJcbiAgICBbaWQ6IHN0cmluZ106IFQgZXh0ZW5kcyBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldCA/IENvbmZpZ0xvb3NlT29wc3lUcmlnZ2VyXHJcbiAgICAgIDogQ29uZmlnTG9vc2VUcmlnZ2VyO1xyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWdQcm9jZXNzZWRGaWxlTWFwPFQgZXh0ZW5kcyBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldCB8IENvbmZpZ0xvb3NlVHJpZ2dlclNldD4gPSB7XHJcbiAgW2ZpbGVuYW1lOiBzdHJpbmddOiBDb25maWdQcm9jZXNzZWRGaWxlPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIENhY3Rib3RDb25maWd1cmF0b3Ige1xyXG4gIHB1YmxpYyBsYW5nOiBMYW5nO1xyXG4gIHByaXZhdGUgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnO1xyXG4gIHByaXZhdGUgY29udGVudHM6IENvbmZpZ0NvbnRlbnRzO1xyXG4gIHB1YmxpYyBkZXZlbG9wZXJPcHRpb25zOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnT3B0aW9uczogQ29uZmlnT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnKSB7XHJcbiAgICAvLyBQcmVkZWZpbmVkLCBvbmx5IGZvciBvcmRlcmluZyBwdXJwb3Nlcy5cclxuICAgIHRoaXMuY29udGVudHMgPSB7XHJcbiAgICAgIC8vIHRvcCBsZXZlbFxyXG4gICAgICAnZ2VuZXJhbCc6IFtdLFxyXG5cclxuICAgICAgLy8gdGhpbmdzIG1vc3QgcGVvcGxlIGNhcmUgYWJvdXRcclxuICAgICAgJ3JhaWRib3NzJzogW10sXHJcbiAgICAgICdqb2JzJzogW10sXHJcbiAgICB9O1xyXG4gICAgLy8gSWYgdGhlIHVzZXIgaGFzIHNldCBhIGRpc3BsYXkgbGFuZ3VhZ2UsIHVzZSB0aGF0LlxyXG4gICAgLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIG9wZXJhdGluZyBzeXN0ZW0gbGFuZ3VhZ2UgYXMgYSBkZWZhdWx0IGZvciB0aGUgY29uZmlnIHRvb2wuXHJcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmNvbmZpZ09wdGlvbnMuRGlzcGxheUxhbmd1YWdlID8/IHRoaXMuY29uZmlnT3B0aW9ucy5TaG9ydExvY2FsZTtcclxuICAgIHRoaXMuc2F2ZWRDb25maWcgPSBzYXZlZENvbmZpZyA/PyB7fTtcclxuICAgIHRoaXMuZGV2ZWxvcGVyT3B0aW9ucyA9IHRoaXMuZ2V0Qm9vbGVhbk9wdGlvbignZ2VuZXJhbCcsICdTaG93RGV2ZWxvcGVyT3B0aW9ucycsIGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCB0ZW1wbGF0ZXMgPSBVc2VyQ29uZmlnLm9wdGlvblRlbXBsYXRlcztcclxuICAgIGZvciAoY29uc3QgW2dyb3VwLCB0ZW1wbGF0ZV0gb2YgT2JqZWN0LmVudHJpZXModGVtcGxhdGVzKSlcclxuICAgICAgKHRoaXMuY29udGVudHNbZ3JvdXBdID8/PSBbXSkucHVzaCh0ZW1wbGF0ZSk7XHJcblxyXG4gICAgdGhpcy5idWlsZEJ1dHRlckJhcigpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTtcclxuICAgIGlmICghY29udGFpbmVyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLmJ1aWxkVUkoY29udGFpbmVyLCB0aGlzLmNvbnRlbnRzKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNhdmVDb25maWdEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gVE9ETzogcmF0ZSBsaW1pdCB0aGlzP1xyXG4gICAgYXdhaXQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RTYXZlRGF0YScsXHJcbiAgICAgIG92ZXJsYXk6ICdvcHRpb25zJyxcclxuICAgICAgZGF0YTogdGhpcy5zYXZlZENvbmZpZyxcclxuICAgIH0pO1xyXG5cclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0ZXItbWFyZ2luJyk/LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyIHRyYW5zbGF0ZSBmdW5jdGlvbi4gIFRha2VzIGluIGFuIG9iamVjdCB3aXRoIGxhbmd1YWdlIGtleXNcclxuICAvLyBhbmQgcmV0dXJucyBhIHNpbmdsZSBlbnRyeSBiYXNlZCBvbiBhdmFpbGFibGUgdHJhbnNsYXRpb25zLlxyXG4gIHRyYW5zbGF0ZTxUPih0ZXh0T2JqOiBMb2NhbGVPYmplY3Q8VD4pOiBUIHtcclxuICAgIGlmICh0ZXh0T2JqID09PSBudWxsIHx8IHR5cGVvZiB0ZXh0T2JqICE9PSAnb2JqZWN0JyB8fCAhdGV4dE9ialsnZW4nXSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbmZpZzogJHtKU09OLnN0cmluZ2lmeSh0ZXh0T2JqKX1gKTtcclxuICAgIGNvbnN0IHQgPSB0ZXh0T2JqW3RoaXMubGFuZ107XHJcbiAgICBpZiAodClcclxuICAgICAgcmV0dXJuIHQ7XHJcbiAgICByZXR1cm4gdGV4dE9ialsnZW4nXTtcclxuICB9XHJcblxyXG4gIGdldEJvb2xlYW5PcHRpb24oZ3JvdXA6IHN0cmluZywgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldE9wdGlvbihncm91cCwgcGF0aCwgZGVmYXVsdFZhbHVlKTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScgfHwgdmFsdWUgPT09ICdmYWxzZScpXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXJncyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xyXG4gICAgY29uc3QgaW5mbyA9IEpTT04uc3RyaW5naWZ5KFtncm91cCwgLi4uYXJnc10uam9pbignLCAnKSk7XHJcbiAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGJvb2xlYW4gc3RyaW5nOiAke2luZm99LCAke3ZhbHVlfWApO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldFN0cmluZ09wdGlvbihncm91cDogc3RyaW5nLCBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlOiBDb25maWdWYWx1ZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKGdyb3VwLCBwYXRoLCBkZWZhdWx0VmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXROdW1iZXJPcHRpb24oZ3JvdXA6IHN0cmluZywgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRPcHRpb24oZ3JvdXAsIHBhdGgsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGNvbnN0IG51bSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICBpZiAoIWlzTmFOKCt2YWx1ZSkgJiYgIWlzTmFOKG51bSkpXHJcbiAgICAgICAgcmV0dXJuIG51bTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhcmdzID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBbcGF0aF07XHJcbiAgICBjb25zdCBpbmZvID0gSlNPTi5zdHJpbmdpZnkoW2dyb3VwLCAuLi5hcmdzXS5qb2luKCcsICcpKTtcclxuICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgbnVtYmVyIHN0cmluZzogJHtpbmZvfSwgJHt2YWx1ZS50b1N0cmluZygpfWApO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICB9XHJcblxyXG4gIC8vIFRha2VzIGEgdmFyaWFibGUgbGVuZ3RoIGBwYXRoYCBhbmQgcmV0dXJucyB0aGUgZGVmYXVsdFZhbHVlIGlmIGFueSBrZXkgaXMgbWlzc2luZy5cclxuICAvLyBlLmcuIChmb28sIFtiYXIsIGJhel0sIDUpIHdpdGgge2ZvbzogeyBiYXI6IHsgYmF6OiAzIH0gfSB9IHdpbGwgcmV0dXJuXHJcbiAgLy8gdGhlIHZhbHVlIDMuXHJcbiAgZ2V0T3B0aW9uKGdyb3VwOiBzdHJpbmcsIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU6IENvbmZpZ1ZhbHVlKTogQ29uZmlnVmFsdWUge1xyXG4gICAgbGV0IG9iak9yVmFsdWUgPSB0aGlzLnNhdmVkQ29uZmlnW2dyb3VwXTtcclxuICAgIGlmIChvYmpPclZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcblxyXG4gICAgY29uc3QgYXJncyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYHBhdGggbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50YCk7XHJcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBhcmcgb2YgYXJncykge1xyXG4gICAgICBpZiAodHlwZW9mIG9iak9yVmFsdWUgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob2JqT3JWYWx1ZSkpIHtcclxuICAgICAgICAvLyBTYXZlZENvbmZpZ0VudHJ5IGlzIGFyYml0cmFyeSBKU09OLCBidXQgdGhlc2Ugb3B0aW9ucyBzaG91bGQgYmUgbm90aGluZyBidXQgb2JqZWN0c1xyXG4gICAgICAgIC8vIHVudGlsIGxlYWYgbm9kZSBDb25maWdWYWx1ZS5cclxuICAgICAgICBjb25zdCBpbmZvID0gSlNPTi5zdHJpbmdpZnkoW2dyb3VwLCAuLi5hcmdzXS5qb2luKCcsICcpKTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBVbmV4cGVjdGVkIGVudHJ5OiAke2luZm99fWApO1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaXRlbTogU2F2ZWRDb25maWdFbnRyeSB8IHVuZGVmaW5lZCA9IG9iak9yVmFsdWVbYXJnXTtcclxuICAgICAgLy8gSWYgbm90IGZvdW5kLCB0aGVuIHVzZSBkZWZhdWx0IHZhbHVlLlxyXG4gICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICd1bmRlZmluZWQnKVxyXG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICAgIG9iak9yVmFsdWUgPSBpdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF0IHRoZSBsZWFmIG5vZGUuXHJcbiAgICAvLyBTb21lIG51bWJlciBvcHRpb25zIHBhc3MgaW4gZW1wdHkgc3RyaW5nIGFzIGEgZGVmYXVsdC5cclxuICAgIGNvbnN0IGVtcHR5RGVmYXVsdE51bWJlciA9IGRlZmF1bHRWYWx1ZSA9PT0gJycgJiYgdHlwZW9mIG9iak9yVmFsdWUgPT09ICdudW1iZXInO1xyXG4gICAgLy8gQWxzbyBkdWUgdG8gaW5jb25zaXN0ZW5jaWVzIGluIG9wdGlvbiBjb2RlLCBzb21lIG51bWJlcnMgYXJlIHN0b3JlZCBhcyB1bnBhcnNlZCBzdHJpbmdzLlxyXG4gICAgY29uc3QgaXNTdHJpbmdOdW1iZXIgPSB0eXBlb2YgZGVmYXVsdFZhbHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2Ygb2JqT3JWYWx1ZSA9PT0gJ3N0cmluZyc7XHJcbiAgICBpZiAoXHJcbiAgICAgICFlbXB0eURlZmF1bHROdW1iZXIgJiYgIWlzU3RyaW5nTnVtYmVyICYmIHR5cGVvZiBkZWZhdWx0VmFsdWUgIT09IHR5cGVvZiBvYmpPclZhbHVlIHx8XHJcbiAgICAgIHR5cGVvZiBvYmpPclZhbHVlID09PSAnb2JqZWN0J1xyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGluZm8gPSBKU09OLnN0cmluZ2lmeShbZ3JvdXAsIC4uLmFyZ3NdLmpvaW4oJywgJykpO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgIGBVbmV4cGVjdGVkIHR5cGU6ICR7aW5mb30sICR7b2JqT3JWYWx1ZS50b1N0cmluZygpfSwgJHt0eXBlb2Ygb2JqT3JWYWx1ZX0sICR7dHlwZW9mIGRlZmF1bHRWYWx1ZX1gLFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iak9yVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBTZXRzIGFuIG9wdGlvbiBpbiB0aGUgY29uZmlnIGF0IGEgdmFyaWFibGUgbGV2ZWwgb2YgbmVzdGluZy5cclxuICAvLyBlLmcuIChmb28sIFtiYXIsIGJhel0sIDMpIHdpbGwgc2V0IHtmb286IHsgYmFyOiB7IGJhejogMyB9IH0gfS5cclxuICAvLyBlLmcuIChmb28sIGJhciwgNCkgd2lsbCBzZXQgeyBmb286IHsgYmFyOiA0IH0gfS5cclxuICBzZXRPcHRpb24oZ3JvdXA6IHN0cmluZywgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogQ29uZmlnVmFsdWUpOiB2b2lkIHtcclxuICAgIC8vIFNldCBrZXlzIGFuZCBjcmVhdGUgZGVmYXVsdCB7fSBpZiBpdCBkb2Vzbid0IGV4aXN0LlxyXG4gICAgbGV0IG9iaiA9IHRoaXMuc2F2ZWRDb25maWdbZ3JvdXBdID8/PSB7fTtcclxuXHJcbiAgICBjb25zdCBhcmdzID0gQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGggOiBbcGF0aF07XHJcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgcGF0aCBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGVsZW1lbnRgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmluYWxBcmcgPSBhcmdzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmICghZmluYWxBcmcpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBhbGxCdXRGaW5hbEFyZyA9IGFyZ3Muc2xpY2UoMCwgLTEpO1xyXG4gICAgZm9yIChjb25zdCBhcmcgb2YgYWxsQnV0RmluYWxBcmcpIHtcclxuICAgICAgaWYgKHR5cGVvZiBvYmogIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgIC8vIFNhdmVkQ29uZmlnRW50cnkgaXMgYXJiaXRyYXJ5IEpTT04sIGJ1dCB0aGVzZSBvcHRpb25zIHNob3VsZCBiZSBub3RoaW5nIGJ1dCBvYmplY3RzXHJcbiAgICAgICAgLy8gdW50aWwgbGVhZiBub2RlIENvbmZpZ1ZhbHVlLlxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFVuZXhwZWN0ZWQgZW50cnk6ICR7SlNPTi5zdHJpbmdpZnkoW2dyb3VwLCAuLi5hcmdzXS5qb2luKCcsICcpKX1gKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9iaiA9IG9ialthcmddID8/PSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIG9iaiAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgIC8vIFNhdmVkQ29uZmlnRW50cnkgaXMgYXJiaXRyYXJ5IEpTT04sIGJ1dCB0aGVzZSBvcHRpb25zIHNob3VsZCBiZSBub3RoaW5nIGJ1dCBvYmplY3RzXHJcbiAgICAgIC8vIHVudGlsIGxlYWYgbm9kZSBDb25maWdWYWx1ZS5cclxuICAgICAgY29uc29sZS5lcnJvcihgVW5leHBlY3RlZCBlbnRyeTogJHtKU09OLnN0cmluZ2lmeShbZ3JvdXAsIC4uLmFyZ3NdLmpvaW4oJywgJykpfWApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBBbnkgdHlwZSBvZiBDb25maWdWYWx1ZSBpcyBmaW5lIGhlcmUgYW5kIHdlJ2xsIHZhbGlkYXRlIG9uIGxvYWRpbmcuXHJcbiAgICBvYmpbZmluYWxBcmddID0gZGVmYXVsdFZhbHVlO1xyXG4gICAgdm9pZCB0aGlzLnNhdmVDb25maWdEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBidWlsZEJ1dHRlckJhcigpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0ZXItYmFyJyk7XHJcbiAgICBpZiAoIWNvbnRhaW5lcilcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IHRleHREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRleHREaXYuY2xhc3NMaXN0LmFkZCgncmVsb2FkLXRleHQnKTtcclxuICAgIHRleHREaXYuaW5uZXJUZXh0ID0gdGhpcy50cmFuc2xhdGUoa1JlbG9hZFRleHQpO1xyXG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRleHREaXYpO1xyXG5cclxuICAgIGNvbnN0IGJ1dHRvbklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGJ1dHRvbklucHV0LmNsYXNzTGlzdC5hZGQoJ3JlbG9hZC1idXR0b24nKTtcclxuICAgIGJ1dHRvbklucHV0LnR5cGUgPSAnYnV0dG9uJztcclxuICAgIGJ1dHRvbklucHV0Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHsgY2FsbDogJ2NhY3Rib3RSZWxvYWRPdmVybGF5cycgfSk7XHJcbiAgICB9O1xyXG4gICAgYnV0dG9uSW5wdXQudmFsdWUgPSB0aGlzLnRyYW5zbGF0ZShrUmVsb2FkQnV0dG9uVGV4dCk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYnV0dG9uSW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgLy8gVG9wIGxldmVsIFVJIGJ1aWxkZXIsIGJ1aWxkcyBldmVyeXRoaW5nLlxyXG4gIGJ1aWxkVUkoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgY29udGVudHM6IENvbmZpZ0NvbnRlbnRzKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGdyb3VwIGluIGNvbnRlbnRzKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50c1tncm91cF07XHJcbiAgICAgIGlmICghY29udGVudCB8fCBjb250ZW50Lmxlbmd0aCA9PT0gMClcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIC8vIEZvciBlYWNoIG92ZXJsYXkgb3B0aW9ucyB0ZW1wbGF0ZSwgYnVpbGQgYSBzZWN0aW9uIGZvciBpdC5cclxuICAgICAgLy8gVGhlbiBpdGVyYXRlIHRocm91Z2ggYWxsIG9mIGl0cyBvcHRpb25zIGFuZCBidWlsZCB1aSBmb3IgdGhvc2Ugb3B0aW9ucy5cclxuICAgICAgLy8gR2l2ZSBlYWNoIG9wdGlvbnMgdGVtcGxhdGUgYSBjaGFuY2UgdG8gYnVpbGQgc3BlY2lhbCB1aS5cclxuICAgICAgY29uc3QgZ3JvdXBEaXYgPSB0aGlzLmJ1aWxkT3ZlcmxheUdyb3VwKGNvbnRhaW5lciwgZ3JvdXApO1xyXG4gICAgICBmb3IgKGNvbnN0IHRlbXBsYXRlIG9mIGNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGVtcGxhdGUub3B0aW9ucyA/PyBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IG9wdCBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIHN3aXRjaCAob3B0LnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnY2hlY2tib3gnOlxyXG4gICAgICAgICAgICAgIHRoaXMuYnVpbGRDaGVja2JveChncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2h0bWwnOlxyXG4gICAgICAgICAgICAgIHRoaXMuYnVpbGRIdG1sKGdyb3VwRGl2LCBvcHQsIGdyb3VwKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkU2VsZWN0KGdyb3VwRGl2LCBvcHQsIGdyb3VwKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgIHRoaXMuYnVpbGRGbG9hdChncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2ludGVnZXInOlxyXG4gICAgICAgICAgICAgIHRoaXMuYnVpbGRJbnRlZ2VyKGdyb3VwRGl2LCBvcHQsIGdyb3VwKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZGlyZWN0b3J5JzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGlyZWN0b3J5KGdyb3VwRGl2LCBvcHQsIGdyb3VwKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCd1bmtub3duIHR5cGU6ICcgKyBKU09OLnN0cmluZ2lmeShvcHQpKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJ1aWxkZXIgPSB0ZW1wbGF0ZS5idWlsZEV4dHJhVUk7XHJcbiAgICAgICAgaWYgKGJ1aWxkZXIpXHJcbiAgICAgICAgICBidWlsZGVyKHRoaXMsIGdyb3VwRGl2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcmxheSBidWlsZGVyIGZvciBlYWNoIG92ZXJsYXkgdHlwZSAoZS5nLiByYWlkYm9zcywgam9icykuXHJcbiAgYnVpbGRPdmVybGF5R3JvdXAoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgZ3JvdXA6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGNvbGxhcHNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29sbGFwc2VyLmNsYXNzTGlzdC5hZGQoJ292ZXJsYXktY29udGFpbmVyJyk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29sbGFwc2VyKTtcclxuXHJcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgYS5uYW1lID0gZ3JvdXA7XHJcbiAgICBjb2xsYXBzZXIuYXBwZW5kQ2hpbGQoYSk7XHJcblxyXG4gICAgY29uc3QgaGVhZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnb3ZlcmxheS1oZWFkZXInKTtcclxuICAgIGhlYWRlci5pbm5lclRleHQgPSBncm91cDtcclxuICAgIGEuYXBwZW5kQ2hpbGQoaGVhZGVyKTtcclxuXHJcbiAgICBjb25zdCBncm91cERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZ3JvdXBEaXYuY2xhc3NMaXN0LmFkZCgnb3ZlcmxheS1vcHRpb25zJyk7XHJcbiAgICBjb2xsYXBzZXIuYXBwZW5kQ2hpbGQoZ3JvdXBEaXYpO1xyXG5cclxuICAgIGEub25jbGljayA9ICgpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gYS5wYXJlbnROb2RlO1xyXG4gICAgICBpZiAocGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgcGFyZW50LmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gZ3JvdXBEaXY7XHJcbiAgfVxyXG5cclxuICBidWlsZE5hbWVEaXYob3B0OiBDb25maWdFbnRyeSk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmlubmVySFRNTCA9IHRoaXMudHJhbnNsYXRlKG9wdC5uYW1lKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24tbmFtZScpO1xyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcblxyXG4gIGJ1aWxkQ2hlY2tib3gocGFyZW50OiBIVE1MRWxlbWVudCwgb3B0OiBDb25maWdFbnRyeSwgZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicpO1xyXG5cclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBpbnB1dC50eXBlID0gJ2NoZWNrYm94JztcclxuXHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0eXBlb2Ygb3B0LmRlZmF1bHQgPT09ICdib29sZWFuJyA/IG9wdC5kZWZhdWx0IDogZmFsc2U7XHJcbiAgICBpZiAodHlwZW9mIG9wdC5kZWZhdWx0ICE9PSAnYm9vbGVhbicpXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgbm9uLWJvb2xlYW4gZGVmYXVsdDogJHtncm91cH0gJHtvcHQuaWR9YCk7XHJcbiAgICBpbnB1dC5jaGVja2VkID0gdGhpcy5nZXRCb29sZWFuT3B0aW9uKGdyb3VwLCBvcHQuaWQsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgICBpbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuc2V0T3B0aW9uKGdyb3VwLCBvcHQuaWQsIGlucHV0LmNoZWNrZWQpO1xyXG5cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmJ1aWxkTmFtZURpdihvcHQpKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRIdG1sKHBhcmVudDogSFRNTEVsZW1lbnQsIG9wdDogQ29uZmlnRW50cnksIF9ncm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJyk7XHJcbiAgICBpZiAob3B0Lmh0bWwpXHJcbiAgICAgIGRpdi5pbm5lckhUTUwgPSB0aGlzLnRyYW5zbGF0ZShvcHQuaHRtbCk7XHJcblxyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuYnVpbGROYW1lRGl2KG9wdCkpO1xyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgfVxyXG5cclxuICBidWlsZERpcmVjdG9yeShwYXJlbnQ6IEhUTUxFbGVtZW50LCBvcHQ6IENvbmZpZ0VudHJ5LCBncm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnaW5wdXQtZGlyLWNvbnRhaW5lcicpO1xyXG5cclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGlucHV0LnR5cGUgPSAnc3VibWl0JztcclxuICAgIGlucHV0LnZhbHVlID0gdGhpcy50cmFuc2xhdGUoa0RpcmVjdG9yeUNob29zZUJ1dHRvblRleHQpO1xyXG4gICAgaW5wdXQuY2xhc3NMaXN0LmFkZCgnaW5wdXQtZGlyLXN1Ym1pdCcpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuXHJcbiAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgnaW5wdXQtZGlyLWxhYmVsJyk7XHJcbiAgICBkaXYuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgIGNvbnN0IHNldExhYmVsID0gKHN0cjogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChzdHIpXHJcbiAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gc3RyO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gdGhpcy50cmFuc2xhdGUoa0RpcmVjdG9yeURlZmF1bHRUZXh0KTtcclxuICAgIH07XHJcbiAgICBzZXRMYWJlbCh0aGlzLmdldFN0cmluZ09wdGlvbihncm91cCwgb3B0LmlkLCBvcHQuZGVmYXVsdCkpO1xyXG5cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmJ1aWxkTmFtZURpdihvcHQpKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG5cclxuICAgIGlucHV0Lm9uY2xpY2sgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgIC8vIFByZXZlbnQgcmVwZWF0ZWQgY2xpY2tzIG9uIHRoZSBmb2xkZXIgY2hvb3Nlci5cclxuICAgICAgLy8gY2FsbE92ZXJsYXlIYW5kbGVyIGlzIG5vdCBzeW5jaHJvbm91cy5cclxuICAgICAgLy8gRklYTUU6IGRvIHdlIG5lZWQgc29tZSBjbGVhcmVyIFVJIGhlcmUgKGxpa2UgcHJldGVuZGluZyB0byBiZSBtb2RhbD8pXHJcbiAgICAgIGlucHV0LmRpc2FibGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IGxhYmVsLmlubmVyVGV4dDtcclxuICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gJyc7XHJcblxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICAgIGNhbGw6ICdjYWN0Ym90Q2hvb3NlRGlyZWN0b3J5JyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpbnB1dC5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBkaXIgPSByZXN1bHQuZGF0YSA/PyAnJztcclxuICAgICAgICBpZiAoZGlyICE9PSBwcmV2VmFsdWUpXHJcbiAgICAgICAgICB0aGlzLnNldE9wdGlvbihncm91cCwgb3B0LmlkLCBkaXIpO1xyXG4gICAgICAgIHNldExhYmVsKGRpcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FjdGJvdENob29zZURpcmVjdG9yeSByZXR1cm5lZCB1bmRlZmluZWQnKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGJ1aWxkU2VsZWN0KHBhcmVudDogSFRNTEVsZW1lbnQsIG9wdDogQ29uZmlnRW50cnksIGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInKTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuXHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0aGlzLmdldE9wdGlvbihncm91cCwgb3B0LmlkLCBvcHQuZGVmYXVsdCk7XHJcbiAgICBpbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuc2V0T3B0aW9uKGdyb3VwLCBvcHQuaWQsIGlucHV0LnZhbHVlKTtcclxuXHJcbiAgICBpZiAob3B0Lm9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgaW5uZXJPcHRpb25zID0gdGhpcy50cmFuc2xhdGUob3B0Lm9wdGlvbnMpO1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhpbm5lck9wdGlvbnMpKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xyXG4gICAgICAgIGVsZW0udmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBlbGVtLmlubmVySFRNTCA9IGtleTtcclxuICAgICAgICBpZiAoaW5uZXJPcHRpb25zW2tleV0gPT09IGRlZmF1bHRWYWx1ZSlcclxuICAgICAgICAgIGVsZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGlucHV0LmFwcGVuZENoaWxkKGVsZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuYnVpbGROYW1lRGl2KG9wdCkpO1xyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgfVxyXG5cclxuICAvLyBGSVhNRTogdGhpcyBjb3VsZCB1c2Ugc29tZSBkYXRhIHZhbGlkYXRpb24gaWYgYSB1c2VyIGlucHV0cyBub24tZmxvYXRzLlxyXG4gIGJ1aWxkRmxvYXQocGFyZW50OiBIVE1MRWxlbWVudCwgb3B0OiBDb25maWdFbnRyeSwgZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicpO1xyXG5cclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLmdldE51bWJlck9wdGlvbihcclxuICAgICAgZ3JvdXAsXHJcbiAgICAgIG9wdC5pZCxcclxuICAgICAgcGFyc2VGbG9hdChvcHQuZGVmYXVsdC50b1N0cmluZygpKSxcclxuICAgICkudG9TdHJpbmcoKTtcclxuICAgIGNvbnN0IHNldEZ1bmMgPSAoKSA9PiB0aGlzLnNldE9wdGlvbihncm91cCwgb3B0LmlkLCBpbnB1dC52YWx1ZSk7XHJcbiAgICBpbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICBpbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5idWlsZE5hbWVEaXYob3B0KSk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICB9XHJcblxyXG4gIC8vIEZJWE1FOiB0aGlzIGNvdWxkIHVzZSBzb21lIGRhdGEgdmFsaWRhdGlvbiBpZiBhIHVzZXIgaW5wdXRzIG5vbi1pbnRlZ2Vycy5cclxuICBidWlsZEludGVnZXIocGFyZW50OiBIVE1MRWxlbWVudCwgb3B0OiBDb25maWdFbnRyeSwgZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicpO1xyXG5cclxuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgaW5wdXQuc3RlcCA9ICcxJztcclxuICAgIGlucHV0LnZhbHVlID0gdGhpcy5nZXROdW1iZXJPcHRpb24oZ3JvdXAsIG9wdC5pZCwgcGFyc2VJbnQob3B0LmRlZmF1bHQudG9TdHJpbmcoKSkpLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4gdGhpcy5zZXRPcHRpb24oZ3JvdXAsIG9wdC5pZCwgaW5wdXQudmFsdWUpO1xyXG4gICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuYnVpbGROYW1lRGl2KG9wdCkpO1xyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzRmlsZXM8VCBleHRlbmRzIENvbmZpZ0xvb3NlVHJpZ2dlclNldCB8IENvbmZpZ0xvb3NlT29wc3lUcmlnZ2VyU2V0PihcclxuICAgIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogVCB9LFxyXG4gICAgdXNlclRyaWdnZXJTZXRzPzogVFtdLFxyXG4gICk6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8VD4ge1xyXG4gICAgY29uc3QgbWFwOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPFQ+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwgdHJpZ2dlclNldF0gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy5qcycpICYmICFmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICB0cmlnZ2VyU2V0LmZpbGVuYW1lID0gZmlsZW5hbWU7XHJcblxyXG4gICAgICBsZXQgcHJlZml4S2V5ID0gJzAwLW1pc2MnO1xyXG4gICAgICBsZXQgcHJlZml4OiBMb2NhbGVUZXh0ID0ga1ByZWZpeFRvQ2F0ZWdvcnlbJzAwLW1pc2MnXTtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoa1ByZWZpeFRvQ2F0ZWdvcnkpKSB7XHJcbiAgICAgICAgaWYgKCFmaWxlbmFtZS5zdGFydHNXaXRoKGtleSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBwcmVmaXhLZXkgPSBrZXk7XHJcbiAgICAgICAgcHJlZml4ID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBjYXRlZ29yeSA9IHVuZGVmaW5lZDtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoa0RpcmVjdG9yeVRvQ2F0ZWdvcnkpKSB7XHJcbiAgICAgICAgaWYgKCFmaWxlbmFtZS5pbmNsdWRlcyhgLyR7a2V5fS9gKSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNhdGVnb3J5ID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCB0aXRsZSA9IGZpbGVOYW1lVG9UaXRsZShmaWxlbmFtZSk7XHJcbiAgICAgIGxldCB6b25lSWQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgIC8vIE1ha2UgYXNzdW1wdGlvbnMgYWJvdXQgdHJpZ2dlciBzdHJ1Y3R1cmUgaGVyZSB0byB0cnkgdG8gZ2V0IHRoZSB6b25lSWQgb3V0LlxyXG4gICAgICBpZiAodHJpZ2dlclNldCAmJiB0eXBlb2YgdHJpZ2dlclNldC56b25lSWQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgem9uZUlkID0gdHJpZ2dlclNldC56b25lSWQ7XHJcbiAgICAgICAgLy8gVXNlIHRoZSB0cmFuc2xhdGFibGUgem9uZSBpbmZvIG5hbWUsIGlmIHBvc3NpYmxlLlxyXG4gICAgICAgIGNvbnN0IHpvbmVJbmZvID0gWm9uZUluZm9bem9uZUlkXTtcclxuICAgICAgICBpZiAoem9uZUluZm8pXHJcbiAgICAgICAgICB0aXRsZSA9IHRoaXMudHJhbnNsYXRlKHpvbmVJbmZvLm5hbWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBmaWxlS2V5ID0gZmlsZW5hbWUucmVwbGFjZSgvXFwvL2csICctJykucmVwbGFjZSgvLltqdF1zJC8sICcnKTtcclxuICAgICAgbWFwW2ZpbGVLZXldID0ge1xyXG4gICAgICAgIGZpbGVuYW1lOiBmaWxlbmFtZSxcclxuICAgICAgICBmaWxlS2V5OiBmaWxlS2V5LFxyXG4gICAgICAgIHByZWZpeEtleTogcHJlZml4S2V5LFxyXG4gICAgICAgIHByZWZpeDogdGhpcy50cmFuc2xhdGUocHJlZml4KSxcclxuICAgICAgICBzZWN0aW9uOiB0aGlzLnRyYW5zbGF0ZShwcmVmaXgpLFxyXG4gICAgICAgIHR5cGU6IGNhdGVnb3J5ID8gdGhpcy50cmFuc2xhdGUoY2F0ZWdvcnkpIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICB0cmlnZ2VyU2V0OiB0cmlnZ2VyU2V0LFxyXG4gICAgICAgIHpvbmVJZDogem9uZUlkLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVzZXJNYXA6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8VD4gPSB7fTtcclxuICAgIGxldCB1c2VyRmlsZUlkeCA9IDA7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXJTZXQgb2YgdXNlclRyaWdnZXJTZXRzIHx8IFtdKSB7XHJcbiAgICAgIGlmICghdHJpZ2dlclNldClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgLy8gVE9ETzogcGFzcyBpbiB1c2VyVHJpZ2dlclNldHMgYXMgYSBmaWxlbmFtZSAtPiB0cmlnZ2VyU2V0IG1hcCBhcyB3ZWxsXHJcbiAgICAgIC8vIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVhZCB0aGlzIGFkZGVkIHZhbHVlLlxyXG4gICAgICBpZiAoIXRyaWdnZXJTZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVc2VySGFuZGxlciBtdXN0IGFkZCBmaWxlbmFtZScpO1xyXG4gICAgICBjb25zdCBmaWxlS2V5ID0gYHVzZXIvJHt0cmlnZ2VyU2V0LmZpbGVuYW1lfS8ke3VzZXJGaWxlSWR4Kyt9YDtcclxuXHJcbiAgICAgIC8vIGNhY3Rib3QgdHJpZ2dlcnMgYWxsIHVzZSB6b25lSWQsIGJ1dCB1c2VyIHRyaWdnZXJzIGluIHRoZSB3aWxkXHJcbiAgICAgIC8vIG1heSBhbHNvIHVzZSB6b25lUmVnZXggb3IgYWxzbyBoYXZlIGVycm9ycyBhbmQgbm90IGhhdmUgZWl0aGVyLlxyXG4gICAgICBsZXQgdGl0bGUgPSAnPz8/JztcclxuICAgICAgbGV0IHpvbmVJZDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAodHlwZW9mIHRyaWdnZXJTZXQuem9uZUlkID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHpvbmVJZCA9IHRyaWdnZXJTZXQuem9uZUlkO1xyXG4gICAgICAgIC8vIFVzZSB0aGUgdHJhbnNsYXRhYmxlIHpvbmUgaW5mbyBuYW1lLCBpZiBwb3NzaWJsZS5cclxuICAgICAgICBjb25zdCB6b25lSW5mbyA9IFpvbmVJbmZvW3pvbmVJZF07XHJcbiAgICAgICAgaWYgKHpvbmVJbmZvKVxyXG4gICAgICAgICAgdGl0bGUgPSB0aGlzLnRyYW5zbGF0ZSh6b25lSW5mby5uYW1lKTtcclxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VyU2V0LnpvbmVSZWdleCkge1xyXG4gICAgICAgIC8vIHpvbmVSZWdleCBjYW4gYmUgYSBsb2NhbGl6ZWQgb2JqZWN0LlxyXG4gICAgICAgIGxldCB6b25lUmVnZXggPSB0cmlnZ2VyU2V0LnpvbmVSZWdleCBpbnN0YW5jZW9mIFJlZ0V4cFxyXG4gICAgICAgICAgPyB0cmlnZ2VyU2V0LnpvbmVSZWdleFxyXG4gICAgICAgICAgOiB0cmlnZ2VyU2V0LnpvbmVSZWdleFt0aGlzLmxhbmddO1xyXG4gICAgICAgIGlmICh0eXBlb2Ygem9uZVJlZ2V4ID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIHpvbmVSZWdleCA9IFJlZ2V4ZXMucGFyc2Uoem9uZVJlZ2V4KTtcclxuICAgICAgICBpZiAoem9uZVJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKVxyXG4gICAgICAgICAgdGl0bGUgPSBgLyR7em9uZVJlZ2V4LnNvdXJjZX0vYDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdXNlck1hcFtmaWxlS2V5XSA9IHtcclxuICAgICAgICBmaWxlbmFtZTogdHJpZ2dlclNldC5maWxlbmFtZSxcclxuICAgICAgICBmaWxlS2V5OiBmaWxlS2V5LFxyXG4gICAgICAgIHByZWZpeEtleTogJ3VzZXInLFxyXG4gICAgICAgIHByZWZpeDogdGhpcy50cmFuc2xhdGUoa1ByZWZpeFRvQ2F0ZWdvcnlbJ3VzZXInXSksXHJcbiAgICAgICAgc2VjdGlvbjogdHJpZ2dlclNldC5maWxlbmFtZSxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdHlwZTogdW5kZWZpbmVkLFxyXG4gICAgICAgIHRyaWdnZXJTZXQ6IHRyaWdnZXJTZXQsXHJcbiAgICAgICAgem9uZUlkOiB6b25lSWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc29ydGVkRW50cmllcyA9IE9iamVjdC5rZXlzKG1hcCkuc29ydCgoa2V5QSwga2V5QikgPT4ge1xyXG4gICAgICAvLyBTb3J0IGZpcnN0IGJ5IGV4cGFuc2lvbi5cclxuICAgICAgY29uc3QgZW50cnlBID0gbWFwW2tleUFdO1xyXG4gICAgICBjb25zdCBlbnRyeUIgPSBtYXBba2V5Ql07XHJcbiAgICAgIC8vIEFsbCBrZXlzIGhlcmUgYXJlIHZhbGlkIGVudHJpZXMgaW4gbWFwLlxyXG4gICAgICBpZiAoZW50cnlBID09PSB1bmRlZmluZWQgfHwgZW50cnlCID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBjb25zdCBwcmVmaXhDb21wYXJlID0gZW50cnlBLnByZWZpeEtleS5sb2NhbGVDb21wYXJlKGVudHJ5Qi5wcmVmaXhLZXkpO1xyXG4gICAgICBpZiAocHJlZml4Q29tcGFyZSAhPT0gMClcclxuICAgICAgICByZXR1cm4gcHJlZml4Q29tcGFyZTtcclxuXHJcbiAgICAgIC8vIFRoZW4gc29ydCBieSBjb250ZW50TGlzdC5cclxuICAgICAgY29uc3QgaW5kZXhBID0gZW50cnlBLnpvbmVJZCAhPT0gdW5kZWZpbmVkID8gY29udGVudExpc3QuaW5kZXhPZihlbnRyeUEuem9uZUlkKSA6IC0xO1xyXG4gICAgICBjb25zdCBpbmRleEIgPSBlbnRyeUIuem9uZUlkICE9PSB1bmRlZmluZWQgPyBjb250ZW50TGlzdC5pbmRleE9mKGVudHJ5Qi56b25lSWQpIDogLTE7XHJcblxyXG4gICAgICBpZiAoaW5kZXhBID09PSAtMSAmJiBpbmRleEIgPT09IC0xKSB7XHJcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgc29ydCBieSBzdHJpbmdzLlxyXG4gICAgICAgIHJldHVybiBrZXlBLmxvY2FsZUNvbXBhcmUoa2V5Qik7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXhBID09PSAtMSkge1xyXG4gICAgICAgIC8vIFNvcnQgQiBmaXJzdC5cclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfSBlbHNlIGlmIChpbmRleEIgPT09IC0xKSB7XHJcbiAgICAgICAgLy8gU29ydCBBIGZpcnN0LlxyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICAvLyBEZWZhdWx0OiBzb3J0IGJ5IGluZGV4IGluIGNvbnRlbnRMaXN0LlxyXG4gICAgICByZXR1cm4gaW5kZXhBIC0gaW5kZXhCO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gUmVidWlsZCBtYXAgd2l0aCBrZXlzIGluIHRoZSByaWdodCBvcmRlci5cclxuICAgIGNvbnN0IHNvcnRlZE1hcDogQ29uZmlnUHJvY2Vzc2VkRmlsZU1hcDxUPiA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Ygc29ydGVkRW50cmllcykge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IG1hcFtrZXldO1xyXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIHNvcnRlZE1hcFtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFjayBvbiB1c2VyIHRyaWdnZXJzIGF0IHRoZSBlbmQgaW4gdGhlIG9yZGVyIHRoZXkgd2VyZSBldmFsJ2QuXHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHRyaWdnZXJTZXRdIG9mIE9iamVjdC5lbnRyaWVzKHVzZXJNYXApKVxyXG4gICAgICBzb3J0ZWRNYXBba2V5XSA9IHRyaWdnZXJTZXQ7XHJcblxyXG4gICAgcmV0dXJuIHNvcnRlZE1hcDtcclxuICB9XHJcbn1cclxuXHJcblVzZXJDb25maWcuZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKCdjb25maWcnLCBkZWZhdWx0T3B0aW9ucywgKCkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zIH07XHJcbiAgbmV3IENhY3Rib3RDb25maWd1cmF0b3IoXHJcbiAgICBvcHRpb25zLFxyXG4gICAgVXNlckNvbmZpZy5zYXZlZENvbmZpZyxcclxuICApO1xyXG59KTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgeyBPb3BzeU9wdGlvbnMgfSBmcm9tICcuL29vcHN5X29wdGlvbnMnO1xyXG5cclxuLy8gRmllbGRzIGZvciBuZXQgbG9nIGFiaWxpdHkgbGluZXMuXHJcbmV4cG9ydCBjb25zdCBrRmllbGRGbGFncyA9IDg7XHJcbmV4cG9ydCBjb25zdCBrRmllbGREYW1hZ2UgPSA5O1xyXG5cclxuLy8gSWYga0ZpZWxkRmxhZ3MgaXMgYW55IG9mIHRoZXNlIHZhbHVlcywgdGhlbiBjb25zaWRlciBmaWVsZCAxMC8xMSBhcyA4LzkuXHJcbi8vIEl0IGFwcGVhcnMgYSBsaXR0bGUgYml0IHRoYXQgZmxhZ3MgY29tZSBpbiBwYWlycyBvZiB2YWx1ZXMsIGJ1dCBpdCdzIHVuY2xlYXJcclxuLy8gd2hhdCB0aGVzZSBtZWFuLlxyXG5leHBvcnQgY29uc3Qga1NoaWZ0RmxhZ1ZhbHVlcyA9IFsnM0UnLCAnMTEzJywgJzIxMycsICczMTMnXTtcclxuZXhwb3J0IGNvbnN0IGtGbGFnSW5zdGFudERlYXRoID0gJzM2JzsgLy8gQWx3YXlzIDM2ID9cclxuLy8gbWlzcywgZGFtYWdlLCBibG9jaywgcGFycnksIGluc3RhbnQgZGVhdGhcclxuZXhwb3J0IGNvbnN0IGtBdHRhY2tGbGFncyA9IFsnMDEnLCAnMDMnLCAnMDUnLCAnMDYnLCBrRmxhZ0luc3RhbnREZWF0aF07XHJcbmV4cG9ydCBjb25zdCBrSGVhbEZsYWdzID0gWycwNCddO1xyXG5cclxuLy8gVE9ETzogc2hvdWxkIHdlIGluY2x1ZGUgZGFtYWdlICE9IDAgaGVyZT9cclxuZXhwb3J0IGNvbnN0IGRhbWFnZUZpZWxkcyA9IHtcclxuICBmbGFnczogYFtefF0qKD86JHtrQXR0YWNrRmxhZ3Muam9pbignfCcpfSkoPz1cXFxcfClgLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBsYXllckRhbWFnZUZpZWxkcyA9IHtcclxuICB0YXJnZXRJZDogJ1teNF0uLi4uLi4uJyxcclxuICAuLi5kYW1hZ2VGaWVsZHMsXHJcbn07XHJcblxyXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXHJcblxyXG4vKlxyXG5GaWVsZCA3IEZsYWdzOlxyXG4gICcwJyA9IG1lZGl0YXRpb24sIGFvZSB3aXRoIG5vIHRhcmdldHNcclxuXHJcbiAgZGFtYWdlIGxvdyBieXRlczpcclxuICAgIDB4MDEgPSBkb2RnZVxyXG4gICAgMHgwMyA9IGRhbWFnZVxyXG4gICAgMHgwNSA9IGJsb2NrZWQgZGFtYWdlXHJcbiAgICAweDA2ID0gcGFycmllZCBkYW1hZ2VcclxuICAgIDB4Pz8gPSBpbnN0YW50IGRlYXRoXHJcblxyXG4gIGRhbWFnZSBtb2RpZmllcnM6XHJcbiAgICAweDEwMCA9IGNyaXQgZGFtYWdlXHJcbiAgICAweDIwMCA9IGRpcmVjdCBoaXQgZGFtYWdlXHJcbiAgICAweDMwMCA9IGNyaXQgZGlyZWN0IGhpdCBkYW1hZ2VcclxuXHJcbiAgaGVhbCBtb2RpZmllcnM6XHJcbiAgICAweDAwMDA0ID0gaGVhbFxyXG4gICAgMHgxMDAwNCA9IGNyaXQgaGVhbFxyXG5cclxuICBTcGVjaWFsIGNhc2VzOlxyXG4gICAgKiBJZiBmbGFncyBhcmUgM0UsIHNoaWZ0IDkrMTAgdHdvIG92ZXIgdG8gYmUgNys4LiAgKHdoeT8/PylcclxuICAgICogUGxlbmFyeSBpbmR1bGdlbmNlIGhhcyBmbGFncz0xMTMvMjEzLzMxMyBmb3Igc3RhY2tzLCBzaGlmdCB0d28gYXMgd2VsbC5cclxuXHJcbiAgRGFtYWdlOlxyXG4gICAgKiBMZWZ0LWV4dGVuZCB6ZXJvZXMgdG8gOCBjaGFycywgZS5nLiAyOTM0MDAxID0+IDAyOTM0MDAxLCBvciAxMDAwID0+IDAwMDAxMDAwLlxyXG4gICAgKiBTaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgNCBieXRlcyAoOCBjaGFycykuXHJcbiAgICAqIEZpcnN0IHR3byBieXRlcyBhcmUgZGFtYWdlLlxyXG4gICAgKiAwMDAwNDAwMCBtYXNrIGltcGxpZXMgZXh0cmEgZGFtYWdlIChhbmQgc29tZSB3ZWlyZCBtYXRoKTpcclxuICAgICAgYnl0ZXMgPSBBQkNELCB3aGVyZSBDID0gMHg0MC5cclxuICAgICAgdG90YWwgZGFtYWdlID0gREEoQi1EKSwgYXMgdGhyZWUgYnl0ZXMgdG9nZXRoZXIgaW50ZXJwcmV0ZWQgYXMgYW4gaW50ZWdlci5cclxuICAgICAgZS5nLiA0MjRFNDAwRiA9PiAwRiA0MiAoNEUgLSAwRiA9IDNGKSA9PiAwRjQyM0YgPT4gOTk5OTk5XHJcbiAgICAqIDAwMDAxMDAwIG1hc2sgaW1wbGllcyAwIGRhbWFnZSwgZS5nLiBoYWxsb3dlZC5cclxuXHJcbkV4YW1wbGVzOlxyXG4oMSkgMTgyMTYgZGFtYWdlIGZyb20gR3JhbmQgQ3Jvc3MgQWxwaGEgKGJhc2ljIGRhbWFnZSlcclxuICAxNjo0MDAwMTMzMzpOZW8gRXhkZWF0aDoyNDJCOkdyYW5kIENyb3NzIEFscGhhOjEwNDg2MzhDOlRhdGVyIFRvdDo3NTAwMDM6NDcyODAwMDA6MUM6ODAyNDJCOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjM2OTA2OjQxMjQxOjUxNjA6NTE2MDo4ODA6MTAwMDowLjAwOTIyNjM2NTotNy44MTEyODotMS4xOTIwOTNFLTA3OjE2MDQzMDE1OjE3NzAyMjcyOjEyMDAwOjEyMDAwOjEwMDA6MTAwMDotMC4wMTUzMTk4MjotMTkuMDI4MDg6MDpcclxuXHJcbigyKSA4MjUzOCBkYW1hZ2UgZnJvbSBIeXBlcmRyaXZlICgweDQwMDAgZXh0cmEgZGFtYWdlIG1hc2spXHJcbiAgMTU6NDAwMjRGQkE6S2Vma2E6MjhFODpIeXBlcmRyaXZlOjEwNkMxREJBOk9rb25vbWkgWWFraTo3NTAwMDM6NDI2QjQwMDE6MUM6MjhFODgwMDA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MzU4MTE6NjI0NjQ6NDU2MDo0NTYwOjk0MDoxMDAwOi0wLjE1ODYwNjE6LTUuNzUzMTUzOjA6MzAwOTg5MDY6MzE1NTkwNjI6MTIwMDA6MTIwMDA6MTAwMDoxMDAwOjAuMzUwODkxMTowLjQ0MjUwNDk6Mi4zODQxODZFLTA3OlxyXG5cclxuKDMpIDIyMTA5IGRhbWFnZSBmcm9tIEdyYW5kIENyb3NzIE9tZWdhICg6M0U6MDogc2hpZnQsIHVua25vd24gMHg0MDAwMCBmbGFnKVxyXG4gIDE2OjQwMDAxMzMzOk5lbyBFeGRlYXRoOjI0MkQ6R3JhbmQgQ3Jvc3MgT21lZ2E6MTA0ODYzOEM6VGF0ZXIgVG90OjNFOjA6NzUwMDAzOjU2NUQwMDAwOjFDOjgwMjQyRDowOjA6MDowOjA6MDowOjA6MDowOjQxMjQxOjQxMjQxOjUxNjA6NTE2MDo2NzA6MTAwMDotMC4zMjUxNjQxOjYuNTI2Mjk5OjEuMTkyMDkzRS0wNzo3NTYwOTQ0OjE3NzAyMjcyOjEyMDAwOjEyMDAwOjEwMDA6MTAwMDowOjE5OjIuMzg0MTg2RS0wNzpcclxuXHJcbig0KSAxNTczMiBjcml0IGhlYWwgZnJvbSAzIGNvbmZlc3Npb24gc3RhY2sgUGxlbmFyeSBJbmR1bGdlbmNlICg6PzEzOjRDMzogc2hpZnQpXHJcbiAgMTY6MTA2NDdEMkY6VGFrbyBZYWtpOjFEMDk6UGxlbmFyeSBJbmR1bGdlbmNlOjEwNkREMDE5Ok9rb25vbWkgWWFraTozMTM6NEMzOjEwMDA0OjNENzQ6MDowOjA6MDowOjA6MDowOjA6MDowOjA6NzEyNDo0MDI2NToxNDQwMDo5MTkyOjEwMDA6MTAwMDotMTAuNzg4MTU6MTEuOTQ3ODE6MDoxMTM0Mzo0MDAyOToxOTY1MjoxNjQ1MToxMDAwOjEwMDA6Ni4zMzY2NDg6Ny43MTAwMDQ6MDpcclxuXHJcbig1KSBpbnN0YW50IGRlYXRoIHR3aXN0ZXJcclxuICAxNjo0MDAwNEQ1RDpUd2ludGFuaWE6MjZBQjpUd2lzdGVyOjEwNTczRkRDOlRpbmkgUG91dGluaTozMzowOjFDOjI2QUI4MDAwOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjQzOTg1OjQzOTg1OjU3NjA6NTc2MDo5MTA6MTAwMDotOC40MjE3OTo5LjQ5MjUxOi0xLjE5MjA5M0UtMDc6NTcyNTA6NTcyNTA6MDowOjEwMDA6MTAwMDotOC41NjU2NDU6MTAuMjA5NTk6MDpcclxuXHJcbig2KSB6ZXJvIGRhbWFnZSB0YXJnZXRsZXNzIGFvZSAoRTAwMDAwMDAgdGFyZ2V0KVxyXG4gIDE2OjEwM0FBRUU0OlBvdGF0byBDaGlwcHk6QjE6TWlhc21hIElJOkUwMDAwMDAwOjowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjo6Ojo6Ojo6OjE5NDAwOjQwMjg3OjE3NjQ5OjE3NjMzOjEwMDA6MTAwMDotMC42NTYxODk6LTMuNzk5NTYxOi01Ljk2MDQ2NEUtMDg6XHJcblxyXG4qL1xyXG5cclxuLyogZXNsaW50LWVuYWJsZSAqL1xyXG5cclxuZXhwb3J0IGNvbnN0IFNob3J0TmFtaWZ5ID0gKFxyXG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICBwbGF5ZXJOaWNrczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbik6IHN0cmluZyA9PiB7XHJcbiAgLy8gVE9ETzogbWFrZSB0aGlzIHVuaXF1ZSBhbW9uZyB0aGUgcGFydHkgaW4gY2FzZSBvZiBmaXJzdCBuYW1lIGNvbGxpc2lvbnMuXHJcbiAgLy8gVE9ETzogcHJvYmFibHkgdGhpcyBzaG91bGQgYmUgYSBnZW5lcmFsIGNhY3Rib3QgdXRpbGl0eS5cclxuICBpZiAoIW5hbWUpXHJcbiAgICByZXR1cm4gJz8/Pyc7XHJcblxyXG4gIGNvbnN0IG5pY2sgPSBwbGF5ZXJOaWNrc1tuYW1lXTtcclxuICBpZiAobmljaylcclxuICAgIHJldHVybiBuaWNrO1xyXG5cclxuICBjb25zdCBpZHggPSBuYW1lLmluZGV4T2YoJyAnKTtcclxuICByZXR1cm4gaWR4IDwgMCA/IG5hbWUgOiBuYW1lLnN1YnN0cigwLCBpZHgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFRyYW5zbGF0ZSA9IChsYW5nOiBMYW5nLCBvYmo/OiBMb2NhbGVUZXh0IHwgc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpXHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIHJldHVybiBvYmpbbGFuZ10gPz8gb2JqWydlbiddO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdldEZvcm1hdHRlZFRpbWUgPSAoYmFzZVRpbWU6IG51bWJlciB8IHVuZGVmaW5lZCwgdGltZTogbnVtYmVyKTogc3RyaW5nID0+IHtcclxuICBpZiAoIWJhc2VUaW1lKVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIGNvbnN0IHRvdGFsU2Vjb25kcyA9IE1hdGguZmxvb3IoKHRpbWUgLSBiYXNlVGltZSkgLyAxMDAwKTtcclxuICBjb25zdCBzZWNvbmRzID0gdG90YWxTZWNvbmRzICUgNjA7XHJcbiAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IodG90YWxTZWNvbmRzIC8gNjApO1xyXG4gIHJldHVybiBgJHttaW51dGVzfToke3NlY29uZHMgPCAxMCA/IGAwJHtzZWNvbmRzfWAgOiBzZWNvbmRzfWA7XHJcbn07XHJcblxyXG4vLyBUdXJucyBhIHNjcmFtYmxlZCBzdHJpbmcgZGFtYWdlIGZpZWxkIGludG8gYW4gaW50ZWdlci5cclxuLy8gU2luY2UgZmllbGRzIGFyZSBtb2RpZmllZCBpbiBwbGFjZSByaWdodCBub3csIHRoaXMgZG9lcyBub3RoaW5nIGlmIGNhbGxlZFxyXG4vLyBhZ2FpbiB3aXRoIGFuIGludGVnZXIuICBUaGlzIGlzIGtpbmQgb2YgYSBoYWNrLCBzb3JyeS5cclxuZXhwb3J0IGNvbnN0IFVuc2NyYW1ibGVEYW1hZ2UgPSAoZmllbGQ/OiBzdHJpbmcpOiBudW1iZXIgPT4ge1xyXG4gIGlmIChmaWVsZCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgY29uc3QgbGVuID0gZmllbGQubGVuZ3RoO1xyXG4gIGlmIChsZW4gPD0gNClcclxuICAgIHJldHVybiAwO1xyXG4gIC8vIEdldCB0aGUgbGVmdCB0d28gYnl0ZXMgYXMgZGFtYWdlLlxyXG4gIGxldCBkYW1hZ2UgPSBwYXJzZUludChmaWVsZC5zdWJzdHIoMCwgbGVuIC0gNCksIDE2KTtcclxuICAvLyBDaGVjayBmb3IgdGhpcmQgYnl0ZSA9PSAweDQwLlxyXG4gIGlmIChmaWVsZFtsZW4gLSA0XSA9PT0gJzQnKSB7XHJcbiAgICAvLyBXcmFwIGluIHRoZSA0dGggYnl0ZSBhcyBleHRyYSBkYW1hZ2UuICBTZWUgbm90ZXMgYWJvdmUuXHJcbiAgICBjb25zdCByaWdodERhbWFnZSA9IHBhcnNlSW50KGZpZWxkLnN1YnN0cihsZW4gLSAyLCAyKSwgMTYpO1xyXG4gICAgZGFtYWdlID0gZGFtYWdlIC0gcmlnaHREYW1hZ2UgKyAocmlnaHREYW1hZ2UgPDwgMTYpO1xyXG4gIH1cclxuICByZXR1cm4gZGFtYWdlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IElzUGxheWVySWQgPSAoaWQ/OiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICBpZiAoaWQgPT09IHVuZGVmaW5lZClcclxuICAgIHJldHVybiBmYWxzZTtcclxuICBjb25zdCBmaXJzdENoYXIgPSBpZFswXTtcclxuICByZXR1cm4gZmlyc3RDaGFyID8gZmlyc3RDaGFyIDwgJzQnIDogZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgSXNUcmlnZ2VyRW5hYmxlZCA9IChvcHRpb25zOiBPb3BzeU9wdGlvbnMsIGlkOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICBpZiAoaWQgaW4gb3B0aW9ucy5EaXNhYmxlZFRyaWdnZXJzKVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICBjb25zdCBhdXRvQ29uZmlnID0gb3B0aW9ucy5QZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF07XHJcbiAgaWYgKGF1dG9Db25maWcpXHJcbiAgICByZXR1cm4gYXV0b0NvbmZpZy5lbmFibGVkO1xyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZXRTb2xvTWlzdGFrZVRleHQgPSAoYWJpbGl0eTogc3RyaW5nKTogTG9jYWxlVGV4dCA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGVuOiBgJHthYmlsaXR5fSAoYWxvbmUpYCxcclxuICAgIGRlOiBgJHthYmlsaXR5fSAoYWxsZWluKWAsXHJcbiAgICBmcjogYCR7YWJpbGl0eX0gKHNldWwoZSkpYCxcclxuICAgIGphOiBgJHthYmlsaXR5fSAo5LiA5Lq6KWAsXHJcbiAgICBjbjogYCR7YWJpbGl0eX0gKOWNleWQgylgLFxyXG4gICAga286IGAke2FiaWxpdHl9ICjtmLzsnpAg66ee7J2MKWAsXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZXRTaGFyZU1pc3Rha2VUZXh0ID0gKGFiaWxpdHk6IHN0cmluZyk6IExvY2FsZVRleHQgPT4ge1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogYCR7YWJpbGl0eX0gKHNoYXJlKWAsXHJcbiAgICBkZTogYCR7YWJpbGl0eX0gKGdldGVpbHQpYCxcclxuICAgIGZyOiBgJHthYmlsaXR5fSAocGFydGFnZSlgLFxyXG4gICAgamE6IGAke2FiaWxpdHl9ICjpoK3libLjgoopYCxcclxuICAgIGNuOiBgJHthYmlsaXR5fSAo6YeN5Y+gKWAsXHJcbiAgICBrbzogYCR7YWJpbGl0eX0gKOqwmeydtCDrp57snYwpYCxcclxuICB9O1xyXG59O1xyXG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtzXG4vLyB1bmRlZmluZWQgPSBjaHVuayBub3QgbG9hZGVkLCBudWxsID0gY2h1bmsgcHJlbG9hZGVkL3ByZWZldGNoZWRcbi8vIFtyZXNvbHZlLCByZWplY3QsIFByb21pc2VdID0gY2h1bmsgbG9hZGluZywgMCA9IGNodW5rIGxvYWRlZFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0NzogMFxufTtcblxuLy8gbm8gY2h1bmsgb24gZGVtYW5kIGxvYWRpbmdcblxuLy8gbm8gcHJlZmV0Y2hpbmdcblxuLy8gbm8gcHJlbG9hZGVkXG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3RcblxuX193ZWJwYWNrX3JlcXVpcmVfXy5PLmogPSAoY2h1bmtJZCkgPT4gKGluc3RhbGxlZENodW5rc1tjaHVua0lkXSA9PT0gMCk7XG5cbi8vIGluc3RhbGwgYSBKU09OUCBjYWxsYmFjayBmb3IgY2h1bmsgbG9hZGluZ1xudmFyIHdlYnBhY2tKc29ucENhbGxiYWNrID0gKHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uLCBkYXRhKSA9PiB7XG5cdHZhciBbY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBydW50aW1lXSA9IGRhdGE7XG5cdC8vIGFkZCBcIm1vcmVNb2R1bGVzXCIgdG8gdGhlIG1vZHVsZXMgb2JqZWN0LFxuXHQvLyB0aGVuIGZsYWcgYWxsIFwiY2h1bmtJZHNcIiBhcyBsb2FkZWQgYW5kIGZpcmUgY2FsbGJhY2tcblx0dmFyIG1vZHVsZUlkLCBjaHVua0lkLCBpID0gMDtcblx0aWYoY2h1bmtJZHMuc29tZSgoaWQpID0+IChpbnN0YWxsZWRDaHVua3NbaWRdICE9PSAwKSkpIHtcblx0XHRmb3IobW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcblx0XHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKHJ1bnRpbWUpIHZhciByZXN1bHQgPSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR9XG5cdGlmKHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKSBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbihkYXRhKTtcblx0Zm9yKDtpIDwgY2h1bmtJZHMubGVuZ3RoOyBpKyspIHtcblx0XHRjaHVua0lkID0gY2h1bmtJZHNbaV07XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGluc3RhbGxlZENodW5rcywgY2h1bmtJZCkgJiYgaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF1bMF0oKTtcblx0XHR9XG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzW2ldXSA9IDA7XG5cdH1cblx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18uTyhyZXN1bHQpO1xufVxuXG52YXIgY2h1bmtMb2FkaW5nR2xvYmFsID0gc2VsZltcIndlYnBhY2tDaHVua2NhY3Rib3RcIl0gPSBzZWxmW1wid2VicGFja0NodW5rY2FjdGJvdFwiXSB8fCBbXTtcbmNodW5rTG9hZGluZ0dsb2JhbC5mb3JFYWNoKHdlYnBhY2tKc29ucENhbGxiYWNrLmJpbmQobnVsbCwgMCkpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSB3ZWJwYWNrSnNvbnBDYWxsYmFjay5iaW5kKG51bGwsIGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKSk7IiwiIiwiLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzg5MCw3MjddLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXygyMTQ1KSkpXG5fX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKF9fd2VicGFja19leHBvcnRzX18pO1xuIiwiIl0sIm5hbWVzIjpbInRhcmdldElzWW91IiwiZGF0YSIsIm1hdGNoZXMiLCJtZSIsInRhcmdldCIsInRhcmdldElzTm90WW91IiwiY2FyZXNBYm91dEFPRSIsInJvbGUiLCJDYW5BZGRsZSIsImpvYiIsImNhcmVzQWJvdXRNYWdpY2FsIiwiY2FyZXNBYm91dFBoeXNpY2FsIiwiQ2FuRmVpbnQiLCJsYW5ndWFnZXMiLCJsYW5nTWFwIiwiZW4iLCJkZSIsImZyIiwiamEiLCJjbiIsImtvIiwiaXNMYW5nIiwibGFuZyIsImxhbmdTdHJzIiwiaW5jbHVkZXMiLCJsYW5nVG9Mb2NhbGUiLCJsb2dEZWZpbml0aW9ucyIsIkdhbWVMb2ciLCJ0eXBlIiwibmFtZSIsIm1lc3NhZ2VUeXBlIiwiZmllbGRzIiwidGltZXN0YW1wIiwiY29kZSIsImxpbmUiLCJzdWJGaWVsZHMiLCJjYW5Bbm9ueW1pemUiLCJDaGFuZ2Vab25lIiwiaWQiLCJsYXN0SW5jbHVkZSIsIkNoYW5nZWRQbGF5ZXIiLCJwbGF5ZXJJZHMiLCJBZGRlZENvbWJhdGFudCIsImxldmVsIiwib3duZXJJZCIsIndvcmxkSWQiLCJ3b3JsZCIsIm5wY05hbWVJZCIsIm5wY0Jhc2VJZCIsImN1cnJlbnRIcCIsImhwIiwiY3VycmVudE1wIiwibXAiLCJ4IiwieSIsInoiLCJoZWFkaW5nIiwiUmVtb3ZlZENvbWJhdGFudCIsIm93bmVyIiwiUGFydHlMaXN0IiwicGFydHlDb3VudCIsImlkMCIsImlkMSIsImlkMiIsImlkMyIsImlkNCIsImlkNSIsImlkNiIsImlkNyIsImlkOCIsImlkOSIsImlkMTAiLCJpZDExIiwiaWQxMiIsImlkMTMiLCJpZDE0IiwiaWQxNSIsImlkMTYiLCJpZDE3IiwiaWQxOCIsImlkMTkiLCJpZDIwIiwiaWQyMSIsImlkMjIiLCJpZDIzIiwib3B0aW9uYWxGaWVsZHMiLCJQbGF5ZXJTdGF0cyIsInN0cmVuZ3RoIiwiZGV4dGVyaXR5Iiwidml0YWxpdHkiLCJpbnRlbGxpZ2VuY2UiLCJtaW5kIiwicGlldHkiLCJhdHRhY2tQb3dlciIsImRpcmVjdEhpdCIsImNyaXRpY2FsSGl0IiwiYXR0YWNrTWFnaWNQb3RlbmN5IiwiaGVhbE1hZ2ljUG90ZW5jeSIsImRldGVybWluYXRpb24iLCJza2lsbFNwZWVkIiwic3BlbGxTcGVlZCIsInRlbmFjaXR5IiwibG9jYWxDb250ZW50SWQiLCJTdGFydHNVc2luZyIsInNvdXJjZUlkIiwic291cmNlIiwiYWJpbGl0eSIsInRhcmdldElkIiwiY2FzdFRpbWUiLCJBYmlsaXR5IiwiZmxhZ3MiLCJkYW1hZ2UiLCJ0YXJnZXRDdXJyZW50SHAiLCJ0YXJnZXRNYXhIcCIsInRhcmdldEN1cnJlbnRNcCIsInRhcmdldE1heE1wIiwidGFyZ2V0WCIsInRhcmdldFkiLCJ0YXJnZXRaIiwidGFyZ2V0SGVhZGluZyIsIm1heEhwIiwibWF4TXAiLCJzZXF1ZW5jZSIsImZpcnN0VW5rbm93bkZpZWxkIiwiTmV0d29ya0FPRUFiaWxpdHkiLCJOZXR3b3JrQ2FuY2VsQWJpbGl0eSIsInJlYXNvbiIsIk5ldHdvcmtEb1QiLCJ3aGljaCIsImVmZmVjdElkIiwiV2FzRGVmZWF0ZWQiLCJHYWluc0VmZmVjdCIsImVmZmVjdCIsImR1cmF0aW9uIiwiY291bnQiLCJzb3VyY2VNYXhIcCIsIkhlYWRNYXJrZXIiLCJOZXR3b3JrUmFpZE1hcmtlciIsIm9wZXJhdGlvbiIsIndheW1hcmsiLCJOZXR3b3JrVGFyZ2V0TWFya2VyIiwidGFyZ2V0TmFtZSIsIkxvc2VzRWZmZWN0IiwiTmV0d29ya0dhdWdlIiwiZGF0YTAiLCJkYXRhMSIsImRhdGEyIiwiZGF0YTMiLCJOZXR3b3JrV29ybGQiLCJpc1Vua25vd24iLCJBY3RvckNvbnRyb2wiLCJpbnN0YW5jZSIsImNvbW1hbmQiLCJOYW1lVG9nZ2xlIiwidG9nZ2xlIiwiVGV0aGVyIiwiTGltaXRCcmVhayIsInZhbHVlSGV4IiwiYmFycyIsIk5ldHdvcmtFZmZlY3RSZXN1bHQiLCJzZXF1ZW5jZUlkIiwiU3RhdHVzRWZmZWN0Iiwiam9iTGV2ZWxEYXRhIiwiTmV0d29ya1VwZGF0ZUhQIiwiTWFwIiwicmVnaW9uTmFtZSIsInBsYWNlTmFtZSIsInBsYWNlTmFtZVN1YiIsIlN5c3RlbUxvZ01lc3NhZ2UiLCJwYXJhbTAiLCJwYXJhbTEiLCJwYXJhbTIiLCJQYXJzZXJJbmZvIiwiZ2xvYmFsSW5jbHVkZSIsIlByb2Nlc3NJbmZvIiwiRGVidWciLCJQYWNrZXREdW1wIiwiVmVyc2lvbiIsIkVycm9yIiwiTm9uZSIsImFzc2VydExvZ0RlZmluaXRpb25zIiwiY29uc29sZSIsImFzc2VydCIsIlJlZ2V4ZXMiLCJzZXBhcmF0b3IiLCJtYXRjaERlZmF1bHQiLCJtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIiwibWFnaWNTdHJpbmdSZWdleCIsImtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uIiwiZGVmYXVsdFBhcmFtcyIsImluY2x1ZGUiLCJPYmplY3QiLCJrZXlzIiwicGFyYW1zIiwicHJvcCIsImluZGV4IiwiZW50cmllcyIsInBhcmFtIiwiZmllbGQiLCJ2YWx1ZSIsInBhcnNlSGVscGVyIiwiZnVuY05hbWUiLCJ2YWxpZEZpZWxkcyIsInB1c2giLCJ2YWxpZGF0ZVBhcmFtcyIsImNhcHR1cmUiLCJ0cnVlSWZVbmRlZmluZWQiLCJmaWVsZEtleXMiLCJzb3J0IiwiYSIsImIiLCJwYXJzZUludCIsIm1heEtleVN0ciIsImxlbmd0aCIsImtleSIsImZpZWxkTmFtZSIsIm1heEtleSIsInRyYW5zUGFyYW1zIiwiZmlsdGVyIiwiayIsIm5lZWRzVHJhbnNsYXRpb25zIiwiTmV0UmVnZXhlcyIsImZsYWdUcmFuc2xhdGlvbnNOZWVkZWQiLCJzdHIiLCJsYXN0S2V5Iiwia2V5U3RyIiwibWlzc2luZ0ZpZWxkcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJmaWVsZFZhbHVlIiwidG9TdHJpbmciLCJtYXliZUNhcHR1cmUiLCJwYXJzZSIsInNldEZsYWdUcmFuc2xhdGlvbnNOZWVkZWQiLCJkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24iLCJyZWdleCIsImV4ZWMiLCJzdGFydHNVc2luZyIsImFiaWxpdHlGdWxsIiwiaGVhZE1hcmtlciIsImFkZGVkQ29tYmF0YW50IiwiYWRkZWRDb21iYXRhbnRGdWxsIiwicmVtb3ZpbmdDb21iYXRhbnQiLCJnYWluc0VmZmVjdCIsInN0YXR1c0VmZmVjdEV4cGxpY2l0IiwibG9zZXNFZmZlY3QiLCJ0ZXRoZXIiLCJ3YXNEZWZlYXRlZCIsImVjaG8iLCJnYW1lTG9nIiwiZGlhbG9nIiwibWVzc2FnZSIsImdhbWVOYW1lTG9nIiwic3RhdENoYW5nZSIsImNoYW5nZVpvbmUiLCJuZXR3b3JrNmQiLCJuYW1lVG9nZ2xlIiwibWFwIiwic3lzdGVtTG9nTWVzc2FnZSIsIlVucmVhY2hhYmxlQ29kZSIsImNvbnN0cnVjdG9yIiwibnVtYmVyVG9PdXRwdXRTdHJpbmciLCJuIiwiYW9lIiwiYmlnQW9lIiwidGFua0J1c3RlciIsIm1pbmlCdXN0ZXIiLCJ0YW5rQnVzdGVyT25QbGF5ZXIiLCJ0YW5rQnVzdGVyT25Zb3UiLCJ0YW5rQnVzdGVycyIsInRhbmtDbGVhdmUiLCJhdm9pZFRhbmtDbGVhdmUiLCJ0YW5rQ2xlYXZlT25Zb3UiLCJzaGFyZWRUYW5rYnVzdGVyIiwic2hhcmVkVGFua2J1c3Rlck9uWW91Iiwic2hhcmVkVGFua2J1c3Rlck9uUGxheWVyIiwidGFua1N3YXAiLCJzcHJlYWQiLCJzdGFja01hcmtlciIsImdldFRvZ2V0aGVyIiwic3RhY2tPbllvdSIsInN0YWNrT25QbGF5ZXIiLCJzdGFja01pZGRsZSIsImRvcml0b1N0YWNrIiwic3ByZWFkVGhlblN0YWNrIiwic3RhY2tUaGVuU3ByZWFkIiwiZHJhd0luIiwia25vY2tiYWNrIiwia25vY2tiYWNrT25Zb3UiLCJrbm9ja2JhY2tPblBsYXllciIsImxvb2tUb3dhcmRzQm9zcyIsImxvb2tBd2F5IiwibG9va0F3YXlGcm9tUGxheWVyIiwibG9va0F3YXlGcm9tVGFyZ2V0IiwiZ2V0QmVoaW5kIiwiZ29Gcm9udE9yU2lkZXMiLCJnb0Zyb250IiwiZ2V0VW5kZXIiLCJpbiIsIm91dCIsIm91dE9mTWVsZWUiLCJpblRoZW5PdXQiLCJvdXRUaGVuSW4iLCJiYWNrVGhlbkZyb250IiwiZnJvbnRUaGVuQmFjayIsImdvSW50b01pZGRsZSIsInJpZ2h0IiwibGVmdCIsImdldExlZnRBbmRXZXN0IiwiZ2V0UmlnaHRBbmRFYXN0IiwiZ29Gcm9udEJhY2siLCJzaWRlcyIsIm1pZGRsZSIsImtpbGxBZGRzIiwia2lsbEV4dHJhQWRkIiwiYXdheUZyb21Gcm9udCIsInNsZWVwVGFyZ2V0Iiwic3R1blRhcmdldCIsImludGVycnVwdFRhcmdldCIsInByZXlPbllvdSIsInByZXlPblBsYXllciIsImF3YXlGcm9tR3JvdXAiLCJhd2F5RnJvbVBsYXllciIsIm1ldGVvck9uWW91Iiwic3RvcE1vdmluZyIsInN0b3BFdmVyeXRoaW5nIiwibW92ZUF3YXkiLCJtb3ZlQXJvdW5kIiwiYnJlYWtDaGFpbnMiLCJtb3ZlQ2hhaW5zVG9nZXRoZXIiLCJlYXJ0aHNoYWtlck9uWW91Iiwid2FrZVVwIiwiY2xvc2VUZXRoZXJzV2l0aFBsYXllciIsImZhclRldGhlcnNXaXRoUGxheWVyIiwidW5rbm93biIsIm5vcnRoIiwic291dGgiLCJlYXN0Iiwid2VzdCIsIm5vcnRod2VzdCIsIm5vcnRoZWFzdCIsInNvdXRod2VzdCIsInNvdXRoZWFzdCIsImRpck4iLCJkaXJTIiwiZGlyRSIsImRpclciLCJkaXJOVyIsImRpck5FIiwiZGlyU1ciLCJkaXJTRSIsIm51bTAiLCJudW0xIiwibnVtMiIsIm51bTMiLCJudW00IiwibnVtNSIsIm51bTYiLCJudW03IiwibnVtOCIsIm51bTkiLCJpbml0ZWQiLCJ3c1VybCIsIndzIiwicXVldWUiLCJyc2VxQ291bnRlciIsInJlc3BvbnNlUHJvbWlzZXMiLCJzdWJzY3JpYmVycyIsInNlbmRNZXNzYWdlIiwibXNnIiwiY2IiLCJzZW5kIiwid2luZG93IiwiT3ZlcmxheVBsdWdpbkFwaSIsImNhbGxIYW5kbGVyIiwicHJvY2Vzc0V2ZW50IiwiaW5pdCIsInN1YnMiLCJmb3JFYWNoIiwic3ViIiwiZSIsImVycm9yIiwiZGlzcGF0Y2hPdmVybGF5RXZlbnQiLCJhZGRPdmVybGF5TGlzdGVuZXIiLCJldmVudCIsImNhbGwiLCJldmVudHMiLCJyZW1vdmVPdmVybGF5TGlzdGVuZXIiLCJsaXN0IiwicG9zIiwiaW5kZXhPZiIsInVuZGVmaW5lZCIsInNwbGljZSIsImNhbGxPdmVybGF5SGFuZGxlckludGVybmFsIiwiX21zZyIsInJzZXEiLCJwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJwYXJzZWQiLCJjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcCIsImNhbGxPdmVybGF5SGFuZGxlciIsImNhbGxGdW5jIiwic2V0T3ZlcmxheUhhbmRsZXJPdmVycmlkZSIsIm92ZXJyaWRlIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJnZXQiLCJjb25uZWN0V3MiLCJXZWJTb2NrZXQiLCJhZGRFdmVudExpc3RlbmVyIiwibG9nIiwicSIsIkFycmF5IiwiaXNBcnJheSIsInByb21pc2VGdW5jcyIsInNldFRpbWVvdXQiLCJ3YWl0Rm9yQXBpIiwicmVhZHkiLCJfX092ZXJsYXlDYWxsYmFjayIsIml0ZW0iLCJtYXRjaFdpdGhDb2xvbnNEZWZhdWx0IiwiZmllbGRzV2l0aFBvdGVudGlhbENvbG9ucyIsImRlZktleSIsImFiaWxpdHlNZXNzYWdlVHlwZSIsImFiaWxpdHlIZXhDb2RlIiwicHJlZml4IiwiaGV4Q29kZSIsInNsaWNlIiwidG9VcHBlckNhc2UiLCJmaWVsZERlZmF1bHQiLCJkZWZhdWx0VmFsdWUiLCJhbnlPZiIsIm5hbWVkQ2FwdHVyZSIsIm9wdGlvbmFsIiwiYXJncyIsImFueU9mQXJyYXkiLCJhcnJheSIsImVsZW0iLCJSZWdFeHAiLCJqb2luIiwicmVnZXhwU3RyaW5nIiwia0NhY3Rib3RDYXRlZ29yaWVzIiwiVGltZXN0YW1wIiwiTmV0VGltZXN0YW1wIiwiTmV0RmllbGQiLCJMb2dUeXBlIiwiQWJpbGl0eUNvZGUiLCJPYmplY3RJZCIsIk5hbWUiLCJGbG9hdCIsIm1vZGlmaWVycyIsImdsb2JhbCIsIm11bHRpbGluZSIsInJlcGxhY2UiLCJtYXRjaCIsImdyb3VwIiwicGFyc2VHbG9iYWwiLCJmIiwiT3V0cHV0cyIsInNldmVyaXR5TGlzdCIsImJ1aWx0SW5SZXNwb25zZVN0ciIsInRyaWdnZXJGdW5jdGlvbnMiLCJ0cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyIsInRyaWdnZXJPdXRwdXRGdW5jdGlvbnMiLCJzZXZlcml0eU1hcCIsImdldFRleHQiLCJzZXYiLCJkZWZhdWx0SW5mb1RleHQiLCJkZWZhdWx0QWxlcnRUZXh0IiwiZGVmYXVsdEFsYXJtVGV4dCIsImdldFRhcmdldCIsImdldFNvdXJjZSIsImNvbWJpbmVGdW5jcyIsInRleHQxIiwiZnVuYzEiLCJ0ZXh0MiIsImZ1bmMyIiwib2JqIiwib3V0cHV0IiwiaXNQbGF5ZXJJZCIsInN0YXRpY1Jlc3BvbnNlIiwidGV4dCIsIl9kYXRhIiwiX21hdGNoZXMiLCJyZXNwb25zZU91dHB1dFN0cmluZ3MiLCJSZXNwb25zZXMiLCJ0YXJnZXRTZXYiLCJvdGhlclNldiIsIm91dHB1dFN0cmluZ3MiLCJub1RhcmdldCIsImJ1c3Rlck9uWW91IiwiYnVzdGVyT25UYXJnZXQiLCJ0YXJnZXRGdW5jIiwib3RoZXJGdW5jIiwicGxheWVyIiwiU2hvcnROYW1lIiwiY29tYmluZWQiLCJ0YW5rQnVzdGVyU3dhcCIsImJ1c3RlclNldiIsInN3YXBTZXYiLCJ0YW5rU3dhcEZ1bmMiLCJidXN0ZXJGdW5jIiwiY2xlYXZlT25Zb3UiLCJjbGVhdmVOb1RhcmdldCIsImF2b2lkQ2xlYXZlIiwic2hhcmVkVGFua0J1c3RlciIsInNoYXJlZFRhbmtidXN0ZXJPblRhcmdldCIsInN0YWNrTWFya2VyT24iLCJzdGFja09uVGFyZ2V0Iiwia25vY2tiYWNrT24iLCJrbm9ja2JhY2tPblRhcmdldCIsImxvb2tUb3dhcmRzIiwibG9va0F3YXlGcm9tIiwibG9va0F3YXlGcm9tU291cmNlIiwiZ2V0SW4iLCJnZXRPdXQiLCJnZXRJblRoZW5PdXQiLCJnZXRPdXRUaGVuSW4iLCJnZXRCYWNrVGhlbkZyb250IiwiZ2V0RnJvbnRUaGVuQmFjayIsImdvTWlkZGxlIiwiZ29SaWdodCIsImdvTGVmdCIsImdvV2VzdCIsImdvRWFzdCIsImdvU2lkZXMiLCJzbGVlcCIsInN0dW5PckludGVycnVwdElmUG9zc2libGUiLCJzdHVuIiwiaW50ZXJydXB0IiwiQ2FuU2lsZW5jZSIsIkNhblN0dW4iLCJwcmV5T24iLCJwcmV5T25UYXJnZXQiLCJhd2F5RnJvbSIsImF3YXlGcm9tVGFyZ2V0IiwiZWFydGhzaGFrZXIiLCJyZXNwb25zZU1hcFR5cGVBc3NlcnRpb24iLCJfQ29uZGl0aW9ucyIsIkNvbmRpdGlvbnMiLCJfQ29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIl9OZXRSZWdleGVzIiwiX1JlZ2V4ZXMiLCJfUmVzcG9uc2VzIiwiX091dHB1dHMiLCJfVXRpbCIsIlV0aWwiLCJfWm9uZUlkIiwiWm9uZUlkIiwiX1pvbmVJbmZvIiwiWm9uZUluZm8iLCJVc2VyQ29uZmlnIiwiZ2V0RGVmYXVsdEJhc2VPcHRpb25zIiwiUGFyc2VyTGFuZ3VhZ2UiLCJTaG9ydExvY2FsZSIsIkRpc3BsYXlMYW5ndWFnZSIsIlRleHRBbGVydHNFbmFibGVkIiwiU291bmRBbGVydHNFbmFibGVkIiwiU3Bva2VuQWxlcnRzRW5hYmxlZCIsIkdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCIsImV2YWxVc2VyRmlsZSIsImNvbnRlbnQiLCJvcHRpb25zIiwiT3B0aW9ucyIsImV2YWwiLCJyZWdpc3Rlck9wdGlvbnMiLCJvdmVybGF5TmFtZSIsIm9wdGlvblRlbXBsYXRlIiwidXNlckZpbGVDYWxsYmFjayIsIm9wdGlvblRlbXBsYXRlcyIsInVzZXJGaWxlQ2FsbGJhY2tzIiwic29ydFVzZXJGaWxlcyIsInNwbGl0S2V5TWFwIiwic3BsaXQiLCJrZXlBIiwia2V5QiIsImxpc3RBIiwibGlzdEIiLCJtYXhMZW4iLCJNYXRoIiwibWF4IiwiaWR4IiwiZW50cnlBIiwiZW50cnlCIiwiaXNMYXN0QSIsImlzTGFzdEIiLCJmaWxlQSIsImZpbGVCIiwiZmlsZW5hbWVPbmx5RGlmZiIsImxvY2FsZUNvbXBhcmUiLCJkaWZmIiwiZmlsdGVyVXNlckZpbGVzIiwicGF0aHMiLCJvcmlnT3ZlcmxheU5hbWUiLCJvcmlnRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uIiwidG9Mb3dlckNhc2UiLCJvcmlnUGF0aCIsInBhdGgiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJnZXRVc2VyQ29uZmlnTG9jYXRpb24iLCJjYWxsYmFjayIsImN1cnJlbnRseVJlbG9hZGluZyIsInJlbG9hZE9uY2UiLCJyZWxvYWQiLCJsb2FkVXNlckZpbGVzIiwicmVhZE9wdGlvbnMiLCJvdmVybGF5IiwibG9hZFVzZXIiLCJiYXNlUGF0aCIsImRldGFpbCIsInVzZXJMb2NhdGlvbiIsImxvY2FsRmlsZXMiLCJsb2NhbFVzZXJGaWxlcyIsImxhbmd1YWdlIiwicGFyc2VyTGFuZ3VhZ2UiLCJMYW5ndWFnZSIsInN5c3RlbUxvY2FsZSIsIlN5c3RlbUxvY2FsZSIsInNob3J0TG9jYWxlIiwic3Vic3RyaW5nIiwiZGlzcGxheUxhbmciLCJkaXNwbGF5TGFuZ3VhZ2UiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsYXNzTGlzdCIsImFkZCIsImFkZFVubG9ja1RleHQiLCJzYXZlZENvbmZpZyIsInByb2Nlc3NPcHRpb25zIiwicHJpbnRVc2VyRmlsZSIsIndhcm5PblZhcmlhYmxlUmVzZXRNYXAiLCJyYWlkYm9zcyIsInZhcmlhYmxlVHJhY2tlciIsInNvcnRlZEZpbGVzIiwianNGaWxlcyIsImNzc0ZpbGVzIiwianNGaWxlIiwiU2tpbiIsImhhbmRsZVNraW4iLCJjc3NGaWxlIiwidXNlckNzc1RleHQiLCJjcmVhdGVFbGVtZW50IiwiY29udGVudHMiLCJpbm5lclRleHQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJhcHBlbmRDaGlsZCIsImhyZWYiLCJ0aGVuIiwicmVhZHlTdGF0ZSIsInNraW5OYW1lIiwic2xhc2hJZHgiLCJsYXN0SW5kZXhPZiIsInN1YnN0ciIsInNraW5IcmVmIiwiYXBwZW5kQ1NTTGluayIsImFwcGVuZEpTTGluayIsInNyYyIsInVzZXJKUyIsInNldEF0dHJpYnV0ZSIsInVzZXJDU1MiLCJ0ZW1wbGF0ZSIsInRlbXBsYXRlT3B0aW9ucyIsIm9wdCIsImRlZmF1bHQiLCJuZXdWYWx1ZSIsInNldHRlckZ1bmMiLCJmbG9vciIsInBhcnNlRmxvYXQiLCJwcm9jZXNzRXh0cmFPcHRpb25zIiwidW5sb2NrVGV4dCIsInRleHRFbGVtIiwiZ2V0RWxlbWVudEJ5SWQiLCJzdHlsZSIsImRpc3BsYXkiLCJib2R5IiwiYXBwZW5kIiwiaW5uZXJIVE1MIiwiZG9jQ2xhc3NMaXN0IiwiaXNMb2NrZWQiLCJyZW1vdmUiLCJuYW1lVG9Kb2JFbnVtIiwiTk9ORSIsIkdMQSIsIlBHTCIsIk1SRCIsIkxOQyIsIkFSQyIsIkNOSiIsIlRITSIsIkNSUCIsIkJTTSIsIkFSTSIsIkdTTSIsIkxUVyIsIldWUiIsIkFMQyIsIkNVTCIsIk1JTiIsIkJUTiIsIkZTSCIsIlBMRCIsIk1OSyIsIldBUiIsIkRSRyIsIkJSRCIsIldITSIsIkJMTSIsIkFDTiIsIlNNTiIsIlNDSCIsIlJPRyIsIk5JTiIsIk1DSCIsIkRSSyIsIkFTVCIsIlNBTSIsIlJETSIsIkJMVSIsIkdOQiIsIkROQyIsIlJQUiIsIlNHRSIsImFsbEpvYnMiLCJhbGxSb2xlcyIsInRhbmtKb2JzIiwiaGVhbGVySm9icyIsIm1lbGVlRHBzSm9icyIsInJhbmdlZERwc0pvYnMiLCJjYXN0ZXJEcHNKb2JzIiwiZHBzSm9icyIsImNyYWZ0aW5nSm9icyIsImdhdGhlcmluZ0pvYnMiLCJzdHVuSm9icyIsInNpbGVuY2VKb2JzIiwic2xlZXBKb2JzIiwiZmVpbnRKb2JzIiwiYWRkbGVKb2JzIiwiY2xlYW5zZUpvYnMiLCJqb2JUb1JvbGVNYXAiLCJhZGRUb01hcCIsImpvYnMiLCJzZXQiLCJ3YXRjaENvbWJhdGFudE1hcCIsInNob3VsZENhbmNlbFdhdGNoIiwiZW50cnkiLCJjYW5jZWwiLCJtYXhEdXJhdGlvbiIsIkRhdGUiLCJub3ciLCJzdGFydCIsIndhdGNoQ29tYmF0YW50IiwiZnVuYyIsInJlcyIsInJlaiIsImRlbGF5IiwiaWRzIiwibmFtZXMiLCJwcm9wcyIsImNoZWNrRnVuYyIsInJlc3BvbnNlIiwiam9iRW51bVRvSm9iIiwiZmluZCIsImpvYlRvSm9iRW51bSIsImpvYlRvUm9sZSIsImdldEFsbFJvbGVzIiwiaXNUYW5rSm9iIiwiaXNIZWFsZXJKb2IiLCJpc01lbGVlRHBzSm9iIiwiaXNSYW5nZWREcHNKb2IiLCJpc0Nhc3RlckRwc0pvYiIsImlzRHBzSm9iIiwiaXNDcmFmdGluZ0pvYiIsImlzR2F0aGVyaW5nSm9iIiwiaXNDb21iYXRKb2IiLCJjYW5TdHVuIiwiY2FuU2lsZW5jZSIsImNhblNsZWVwIiwiY2FuQ2xlYW5zZSIsImNhbkZlaW50IiwiY2FuQWRkbGUiLCJjbGVhcldhdGNoQ29tYmF0YW50cyIsIndhdGNoIiwicG9wIiwiY29udGVudExpc3QiLCJNYXRjaEFsbCIsIlNhc3Rhc2hhIiwiVGhlVGFtVGFyYURlZXBjcm9mdCIsIkNvcHBlcmJlbGxNaW5lcyIsIkhhbGF0YWxpIiwiVGhlVGhvdXNhbmRNYXdzT2ZUb3RvUmFrIiwiSGF1a2tlTWFub3IiLCJCcmF5ZmxveHNMb25nc3RvcCIsIlRoZVN1bmtlblRlbXBsZU9mUWFybiIsIkN1dHRlcnNDcnkiLCJUaGVTdG9uZVZpZ2lsIiwiRHplbWFlbERhcmtob2xkIiwiVGhlQXVydW1WYWxlIiwiVGhlV2FuZGVyZXJzUGFsYWNlIiwiQ2FzdHJ1bU1lcmlkaWFudW0iLCJUaGVQcmFldG9yaXVtIiwiQW1kYXBvcktlZXAiLCJQaGFyb3NTaXJpdXMiLCJDb3BwZXJiZWxsTWluZXNIYXJkIiwiSGF1a2tlTWFub3JIYXJkIiwiVGhlTG9zdENpdHlPZkFtZGFwb3IiLCJIYWxhdGFsaUhhcmQiLCJCcmF5ZmxveHNMb25nc3RvcEhhcmQiLCJIdWxsYnJlYWtlcklzbGUiLCJUaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCIsIlRoZVN0b25lVmlnaWxIYXJkIiwiU25vd2Nsb2FrIiwiU2FzdGFzaGFIYXJkIiwiVGhlU3Vua2VuVGVtcGxlT2ZRYXJuSGFyZCIsIlRoZUtlZXBlck9mVGhlTGFrZSIsIlRoZVdhbmRlcmVyc1BhbGFjZUhhcmQiLCJBbWRhcG9yS2VlcEhhcmQiLCJUaGVEdXNrVmlnaWwiLCJTb2htQWwiLCJUaGVBZXJ5IiwiVGhlVmF1bHQiLCJUaGVHcmVhdEd1YmFsTGlicmFyeSIsIlRoZUFldGhlcm9jaGVtaWNhbFJlc2VhcmNoRmFjaWxpdHkiLCJOZXZlcnJlYXAiLCJUaGVGcmFjdGFsQ29udGludXVtIiwiU2FpbnRNb2NpYW5uZXNBcmJvcmV0dW0iLCJQaGFyb3NTaXJpdXNIYXJkIiwiVGhlQW50aXRvd2VyIiwiVGhlTG9zdENpdHlPZkFtZGFwb3JIYXJkIiwiU29ocktoYWkiLCJIdWxsYnJlYWtlcklzbGVIYXJkIiwiWGVscGhhdG9sIiwiVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkIiwiQmFlbHNhcnNXYWxsIiwiU29obUFsSGFyZCIsIlRoZVNpcmVuc29uZ1NlYSIsIlNoaXN1aU9mVGhlVmlvbGV0VGlkZXMiLCJCYXJkYW1zTWV0dGxlIiwiRG9tYUNhc3RsZSIsIkNhc3RydW1BYmFuaWEiLCJBbGFNaGlnbyIsIkt1Z2FuZUNhc3RsZSIsIlRoZVRlbXBsZU9mVGhlRmlzdCIsIlRoZURyb3duZWRDaXR5T2ZTa2FsbGEiLCJIZWxsc0xpZCIsIlRoZUZyYWN0YWxDb250aW51dW1IYXJkIiwiVGhlU3dhbGxvd3NDb21wYXNzIiwiVGhlQnVybiIsIlNhaW50TW9jaWFubmVzQXJib3JldHVtSGFyZCIsIlRoZUdoaW1seXREYXJrIiwiSG9sbWluc3RlclN3aXRjaCIsIkRvaG5NaGVnIiwiVGhlUWl0YW5hUmF2ZWwiLCJNYWxpa2Foc1dlbGwiLCJNdEd1bGciLCJBbWF1cm90IiwiVGhlVHdpbm5pbmciLCJBa2FkYWVtaWFBbnlkZXIiLCJUaGVHcmFuZENvc21vcyIsIkFuYW1uZXNpc0FueWRlciIsIlRoZUhlcm9lc0dhdW50bGV0IiwiTWF0b3lhc1JlbGljdCIsIlBhZ2x0aGFuIiwiVGhlVG93ZXJPZlpvdCIsIlRoZVRvd2VyT2ZCYWJpbCIsIlZhbmFzcGF0aSIsIkt0aXNpc0h5cGVyYm9yZWlhIiwiVGhlQWl0aWFzY29wZSIsIlRoZURlYWRFbmRzIiwiU21pbGV0b24iLCJUaGVTdGlnbWFEcmVhbXNjYXBlIiwiQmFzaWNUcmFpbmluZ0VuZW15UGFydGllcyIsIlVuZGVyVGhlQXJtb3IiLCJCYXNpY1RyYWluaW5nRW5lbXlTdHJvbmdob2xkcyIsIkhlcm9PblRoZUhhbGZTaGVsbCIsIlB1bGxpbmdQb2lzb25Qb3NpZXMiLCJTdGluZ2luZ0JhY2siLCJBbGxzV2VsbFRoYXRFbmRzSW5UaGVXZWxsIiwiRmxpY2tpbmdTdGlja3NBbmRUYWtpbmdOYW1lcyIsIk1vcmVUaGFuQUZlZWxlciIsIkFubm95VGhlVm9pZCIsIlNoYWRvd0FuZENsYXciLCJMb25nTGl2ZVRoZVF1ZWVuIiwiV2FyZFVwIiwiU29sZW1uVHJpbml0eSIsIlRoZUJvd2xPZkVtYmVycyIsIlRoZU5hdmVsIiwiVGhlSG93bGluZ0V5ZSIsIkNhcGVXZXN0d2luZCIsIlRoZUNocnlzYWxpcyIsIlRoZVN0ZXBzT2ZGYWl0aCIsIkFSZWxpY1JlYm9yblRoZUNoaW1lcmEiLCJBUmVsaWNSZWJvcm5UaGVIeWRyYSIsIkJhdHRsZU9uVGhlQmlnQnJpZGdlIiwiVGhlRHJhZ29uc05lY2siLCJCYXR0bGVJblRoZUJpZ0tlZXAiLCJUaGVCb3dsT2ZFbWJlcnNIYXJkIiwiVGhlSG93bGluZ0V5ZUhhcmQiLCJUaGVOYXZlbEhhcmQiLCJUaG9ybm1hcmNoSGFyZCIsIlRoZVdob3JsZWF0ZXJIYXJkIiwiVGhlU3RyaWtpbmdUcmVlSGFyZCIsIlRoZUFraEFmYWhBbXBoaXRoZWF0cmVIYXJkIiwiVXJ0aHNGb3VudCIsIlRoZU1pbnN0cmVsc0JhbGxhZFVsdGltYXNCYW5lIiwiVGhlSG93bGluZ0V5ZUV4dHJlbWUiLCJUaGVOYXZlbEV4dHJlbWUiLCJUaGVCb3dsT2ZFbWJlcnNFeHRyZW1lIiwiVGhvcm5tYXJjaEV4dHJlbWUiLCJUaGVXaG9ybGVhdGVyRXh0cmVtZSIsIlRoZVN0cmlraW5nVHJlZUV4dHJlbWUiLCJUaGVBa2hBZmFoQW1waGl0aGVhdHJlRXh0cmVtZSIsIlRob2tBc3RUaG9rSGFyZCIsIlRoZUxpbWl0bGVzc0JsdWVIYXJkIiwiVGhlU2luZ3VsYXJpdHlSZWFjdG9yIiwiVGhlRmluYWxTdGVwc09mRmFpdGgiLCJDb250YWlubWVudEJheVMxVDciLCJDb250YWlubWVudEJheVAxVDYiLCJDb250YWlubWVudEJheVoxVDkiLCJUaGVMaW1pdGxlc3NCbHVlRXh0cmVtZSIsIlRob2tBc3RUaG9rRXh0cmVtZSIsIlRoZU1pbnN0cmVsc0JhbGxhZFRob3JkYW5zUmVpZ24iLCJUaGVNaW5zdHJlbHNCYWxsYWROaWRob2dnc1JhZ2UiLCJDb250YWlubWVudEJheVMxVDdFeHRyZW1lIiwiQ29udGFpbm1lbnRCYXlQMVQ2RXh0cmVtZSIsIkNvbnRhaW5tZW50QmF5WjFUOUV4dHJlbWUiLCJUaGVQb29sT2ZUcmlidXRlIiwiRW1hbmF0aW9uIiwiVGhlUm95YWxNZW5hZ2VyaWUiLCJDYXN0cnVtRmx1bWluaXMiLCJLdWdhbmVPaGFzaGkiLCJUaGVHcmVhdEh1bnQiLCJUaGVKYWRlU3RvYSIsIkhlbGxzS2llciIsIlRoZVdyZWF0aE9mU25ha2VzIiwiVGhlUG9vbE9mVHJpYnV0ZUV4dHJlbWUiLCJFbWFuYXRpb25FeHRyZW1lIiwiVGhlTWluc3RyZWxzQmFsbGFkU2hpbnJ5dXNEb21haW4iLCJUaGVNaW5zdHJlbHNCYWxsYWRUc3VrdXlvbWlzUGFpbiIsIlRoZUdyZWF0SHVudEV4dHJlbWUiLCJUaGVKYWRlU3RvYUV4dHJlbWUiLCJIZWxsc0tpZXJFeHRyZW1lIiwiVGhlV3JlYXRoT2ZTbmFrZXNFeHRyZW1lIiwiVGhlRGFuY2luZ1BsYWd1ZSIsIlRoZUNyb3duT2ZUaGVJbW1hY3VsYXRlIiwiVGhlRHlpbmdHYXNwIiwiQ2luZGVyRHJpZnQiLCJUaGVTZWF0T2ZTYWNyaWZpY2UiLCJDYXN0cnVtTWFyaW51bSIsIlRoZUNsb3VkRGVjayIsIlRoZURhbmNpbmdQbGFndWVFeHRyZW1lIiwiVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGVFeHRyZW1lIiwiVGhlTWluc3RyZWxzQmFsbGFkSGFkZXNzRWxlZ3kiLCJDaW5kZXJEcmlmdEV4dHJlbWUiLCJNZW1vcmlhTWlzZXJhRXh0cmVtZSIsIlRoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUiLCJDYXN0cnVtTWFyaW51bUV4dHJlbWUiLCJUaGVDbG91ZERlY2tFeHRyZW1lIiwiVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCIsIlRoZU5hdmVsVW5yZWFsIiwiVGhlV2hvcmxlYXRlclVucmVhbCIsIlRoZURhcmtJbnNpZGUiLCJUaGVNb3RoZXJjcnlzdGFsIiwiVGhlRmluYWxEYXkiLCJUaGVNaW5zdHJlbHNCYWxsYWRab2RpYXJrc0ZhbGwiLCJUaGVNaW5zdHJlbHNCYWxsYWRIeWRhZWx5bnNDYWxsIiwiVGhlTGFieXJpbnRoT2ZUaGVBbmNpZW50cyIsIlN5cmN1c1Rvd2VyIiwiVGhlV29ybGRPZkRhcmtuZXNzIiwiVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMSIsIlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjIiLCJUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4zIiwiVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNCIsIlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjUiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjEiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjIiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjMiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjQiLCJUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMSIsIlRoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4yIiwiVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjMiLCJUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuNCIsIlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSIsIlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMiIsIlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMyIsIlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCIsIlRoZVZvaWRBcmsiLCJUaGVXZWVwaW5nQ2l0eU9mTWhhY2giLCJEdW5TY2FpdGgiLCJBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXIiLCJBbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXIiLCJBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlciIsIkFsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyIiwiQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uIiwiQWxleGFuZGVyVGhlQ3VmZk9mVGhlU29uIiwiQWxleGFuZGVyVGhlQXJtT2ZUaGVTb24iLCJBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbiIsIkFsZXhhbmRlclRoZUV5ZXNPZlRoZUNyZWF0b3IiLCJBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3IiLCJBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvciIsIkFsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3IiLCJBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXJTYXZhZ2UiLCJBbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXJTYXZhZ2UiLCJBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlclNhdmFnZSIsIkFsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyU2F2YWdlIiwiQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlIiwiQWxleGFuZGVyVGhlQ3VmZk9mVGhlU29uU2F2YWdlIiwiQWxleGFuZGVyVGhlQXJtT2ZUaGVTb25TYXZhZ2UiLCJBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvblNhdmFnZSIsIkFsZXhhbmRlclRoZUV5ZXNPZlRoZUNyZWF0b3JTYXZhZ2UiLCJBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3JTYXZhZ2UiLCJBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvclNhdmFnZSIsIkFsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3JTYXZhZ2UiLCJUaGVSb3lhbENpdHlPZlJhYmFuYXN0cmUiLCJUaGVSaWRvcmFuYUxpZ2h0aG91c2UiLCJUaGVPcmJvbm5lTW9uYXN0ZXJ5IiwiRGVsdGFzY2FwZVYxMCIsIkRlbHRhc2NhcGVWMjAiLCJEZWx0YXNjYXBlVjMwIiwiRGVsdGFzY2FwZVY0MCIsIlNpZ21hc2NhcGVWMTAiLCJTaWdtYXNjYXBlVjIwIiwiU2lnbWFzY2FwZVYzMCIsIlNpZ21hc2NhcGVWNDAiLCJBbHBoYXNjYXBlVjEwIiwiQWxwaGFzY2FwZVYyMCIsIkFscGhhc2NhcGVWMzAiLCJBbHBoYXNjYXBlVjQwIiwiRGVsdGFzY2FwZVYxMFNhdmFnZSIsIkRlbHRhc2NhcGVWMjBTYXZhZ2UiLCJEZWx0YXNjYXBlVjMwU2F2YWdlIiwiRGVsdGFzY2FwZVY0MFNhdmFnZSIsIlNpZ21hc2NhcGVWMTBTYXZhZ2UiLCJTaWdtYXNjYXBlVjIwU2F2YWdlIiwiU2lnbWFzY2FwZVYzMFNhdmFnZSIsIlNpZ21hc2NhcGVWNDBTYXZhZ2UiLCJBbHBoYXNjYXBlVjEwU2F2YWdlIiwiQWxwaGFzY2FwZVYyMFNhdmFnZSIsIkFscGhhc2NhcGVWMzBTYXZhZ2UiLCJBbHBoYXNjYXBlVjQwU2F2YWdlIiwiVGhlQ29waWVkRmFjdG9yeSIsIlRoZVB1cHBldHNCdW5rZXIiLCJUaGVUb3dlckF0UGFyYWRpZ21zQnJlYWNoIiwiRWRlbnNHYXRlUmVzdXJyZWN0aW9uIiwiRWRlbnNHYXRlRGVzY2VudCIsIkVkZW5zR2F0ZUludW5kYXRpb24iLCJFZGVuc0dhdGVTZXB1bHR1cmUiLCJFZGVuc1ZlcnNlRnVsbWluYXRpb24iLCJFZGVuc1ZlcnNlRnVyb3IiLCJFZGVuc1ZlcnNlSWNvbm9jbGFzbSIsIkVkZW5zVmVyc2VSZWZ1bGdlbmNlIiwiRWRlbnNQcm9taXNlVW1icmEiLCJFZGVuc1Byb21pc2VMaXRhbnkiLCJFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXMiLCJFZGVuc1Byb21pc2VFdGVybml0eSIsIkVkZW5zR2F0ZVJlc3VycmVjdGlvblNhdmFnZSIsIkVkZW5zR2F0ZURlc2NlbnRTYXZhZ2UiLCJFZGVuc0dhdGVJbnVuZGF0aW9uU2F2YWdlIiwiRWRlbnNHYXRlU2VwdWx0dXJlU2F2YWdlIiwiRWRlbnNWZXJzZUZ1bG1pbmF0aW9uU2F2YWdlIiwiRWRlbnNWZXJzZUZ1cm9yU2F2YWdlIiwiRWRlbnNWZXJzZUljb25vY2xhc21TYXZhZ2UiLCJFZGVuc1ZlcnNlUmVmdWxnZW5jZVNhdmFnZSIsIkVkZW5zUHJvbWlzZVVtYnJhU2F2YWdlIiwiRWRlbnNQcm9taXNlTGl0YW55U2F2YWdlIiwiRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzU2F2YWdlIiwiRWRlbnNQcm9taXNlRXRlcm5pdHlTYXZhZ2UiLCJBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGUiLCJBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlIiwiQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlIiwiQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSIsIkFzcGhvZGVsb3NUaGVGaXJzdENpcmNsZVNhdmFnZSIsIkFzcGhvZGVsb3NUaGVTZWNvbmRDaXJjbGVTYXZhZ2UiLCJBc3Bob2RlbG9zVGhlVGhpcmRDaXJjbGVTYXZhZ2UiLCJBc3Bob2RlbG9zVGhlRm91cnRoQ2lyY2xlU2F2YWdlIiwiVGhlVW5lbmRpbmdDb2lsT2ZCYWhhbXV0VWx0aW1hdGUiLCJUaGVXZWFwb25zUmVmcmFpblVsdGltYXRlIiwiVGhlRXBpY09mQWxleGFuZGVyVWx0aW1hdGUiLCJkZWZhdWx0Q29uZmlnQ29uZmlnT3B0aW9ucyIsIkNhY3Rib3RVc2VyRGlyZWN0b3J5IiwiU2hvd0RldmVsb3Blck9wdGlvbnMiLCJkZWJ1ZyIsImRlYnVnT25seSIsInNlY29uZHMiLCJtaXNzZWRFZmZlY3RCdWZmTWFwIiwiY29sbGVjdFNlY29uZHMiLCJpZ25vcmVTZWxmIiwibWlzc2VkQWJpbGl0eUJ1ZmZNYXAiLCJhYmlsaXR5SWQiLCJnZW5lcmF0ZUJ1ZmZUcmlnZ2VySWRzIiwiYnVmZnMiLCJidWZmIiwib29wc3lGaWxlRGF0YSIsIm9vcHN5SGVscGVycyIsImtUcmlnZ2VyT3B0aW9ucyIsImxhYmVsIiwiZGlzYWJsZWQiLCJPb3BzeUNvbmZpZ3VyYXRvciIsImNhY3Rib3RDb25maWd1cmF0b3IiLCJiYXNlIiwiYnVpbGRVSSIsImNvbnRhaW5lciIsImZpbGVzIiwiZmlsZU1hcCIsInByb2Nlc3NPb3BzeUZpbGVzIiwiZXhwYW5zaW9uRGl2cyIsImluZm8iLCJ2YWx1ZXMiLCJleHBhbnNpb24iLCJ0cmlnZ2VycyIsImV4cGFuc2lvbkRpdiIsImV4cGFuc2lvbkNvbnRhaW5lciIsImV4cGFuc2lvbkhlYWRlciIsIm9uY2xpY2siLCJ0cmlnZ2VyQ29udGFpbmVyIiwiaGVhZGVyRGl2IiwicGFydHMiLCJ0aXRsZSIsInBhcnQiLCJwYXJ0RGl2IiwidHJpZ2dlck9wdGlvbnMiLCJ0cmlnZ2VyRGl2IiwidHJpZ2dlckRldGFpbHMiLCJidWlsZFRyaWdnZXJPcHRpb25zIiwibGFiZWxEaXYiLCJrRmllbGQiLCJkaXYiLCJ1cGRhdGVMYWJlbCIsImlucHV0Iiwic2VsZWN0VmFsdWUiLCJnZXRPcHRpb24iLCJvcHRpb25LZXkiLCJ0cmFuc2xhdGUiLCJzZWxlY3RlZCIsIm9uY2hhbmdlIiwic2V0T3B0aW9uIiwicHJvY2Vzc0ZpbGVzIiwiZ2VuZXJhbEVudHJ5IiwiZmFrZUJ1ZmZzIiwiZmlsZUtleSIsImZpbGVuYW1lIiwidHJpZ2dlclNldCIsInRyaWdnZXIiLCJydW4iLCJtaXN0YWtlIiwiYnVpbGRFeHRyYVVJIiwiYnVpbGRlciIsImJhc2VPcHRpb25zIiwicGVyVHJpZ2dlckF1dG9Db25maWciLCJlbmFibGVkIiwidXNlckZpbGVIYW5kbGVyIiwiX2ZpbGVzIiwiVHJpZ2dlcnMiLCJiYXNlVHJpZ2dlclNldCIsImlzVXNlclRyaWdnZXJTZXQiLCJlbXB0eVJvbGVUb1BhcnR5TmFtZXMiLCJ0YW5rIiwiaGVhbGVyIiwiZHBzIiwiY3JhZnRlciIsImdhdGhlcmVyIiwibm9uZSIsIlBhcnR5VHJhY2tlciIsIm9uUGFydHlDaGFuZ2VkIiwicGFydHkiLCJyZXNldCIsImRldGFpbHMiLCJhbGxpYW5jZUlkc18iLCJhbGxpYW5jZU5hbWVzXyIsImpvYk5hbWUiLCJpZFRvTmFtZV8iLCJuYW1lVG9Sb2xlXyIsImluUGFydHkiLCJwYXJ0eUlkc18iLCJwYXJ0eU5hbWVzXyIsInJvbGVUb1BhcnR5TmFtZXNfIiwicGFydHlOYW1lcyIsInBhcnR5SWRzIiwiYWxsaWFuY2VOYW1lcyIsInRhbmtOYW1lcyIsImhlYWxlck5hbWVzIiwiZHBzTmFtZXMiLCJpc1JvbGUiLCJpc1RhbmsiLCJpc0hlYWxlciIsImlzRFBTIiwiaW5BbGxpYW5jZSIsIm90aGVyVGFuayIsIm90aGVySGVhbGVyIiwicGFydHlJbmRleCIsIm5hbWVGcm9tSWQiLCJkZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zIiwiUGxheWVyTmlja3MiLCJJbmZvU291bmQiLCJBbGVydFNvdW5kIiwiQWxhcm1Tb3VuZCIsIkxvbmdTb3VuZCIsIlB1bGxTb3VuZCIsIkF1ZGlvQWxsb3dlZCIsIkRpc2FibGVkVHJpZ2dlcnMiLCJQZXJUcmlnZ2VyQXV0b0NvbmZpZyIsIlBlclRyaWdnZXJPcHRpb25zIiwiUGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwiSXNSZW1vdGVSYWlkYm9zcyIsIlRyYW5zZm9ybVR0cyIsInQiLCJkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zIiwiRGVmYXVsdEFsZXJ0T3V0cHV0IiwiQWxlcnRzTGFuZ3VhZ2UiLCJUaW1lbGluZUxhbmd1YWdlIiwiVGltZWxpbmVFbmFibGVkIiwiQWxlcnRzRW5hYmxlZCIsIlNob3dUaW1lckJhcnNBdFNlY29uZHMiLCJLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMiLCJCYXJFeHBpcmVzU29vblNlY29uZHMiLCJNYXhOdW1iZXJPZlRpbWVyQmFycyIsIkRpc3BsYXlBbGFybVRleHRGb3JTZWNvbmRzIiwiRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMiLCJEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzIiwiQWxhcm1Tb3VuZFZvbHVtZSIsIkFsZXJ0U291bmRWb2x1bWUiLCJJbmZvU291bmRWb2x1bWUiLCJMb25nU291bmRWb2x1bWUiLCJQdWxsU291bmRWb2x1bWUiLCJSdW1ibGVFbmFibGVkIiwiSW5mb1J1bWJsZUR1cmF0aW9uIiwiSW5mb1J1bWJsZVdlYWsiLCJJbmZvUnVtYmxlU3Ryb25nIiwiQWxlcnRSdW1ibGVEdXJhdGlvbiIsIkFsZXJ0UnVtYmxlV2VhayIsIkFsZXJ0UnVtYmxlU3Ryb25nIiwiQWxhcm1SdW1ibGVEdXJhdGlvbiIsIkFsYXJtUnVtYmxlV2VhayIsIkFsYXJtUnVtYmxlU3Ryb25nIiwiY2FjdGJvdFdvcm1ob2xlU3RyYXQiLCJjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQiLCJzeW5jS2V5cyIsInNlYWwiLCJ1bnNlYWwiLCJlbmdhZ2UiLCJ0ZXh0S2V5cyIsIkUiLCJOIiwiUyIsIlciLCJORSIsIk5XIiwiU0UiLCJTVyIsIlRhbmsiLCJIZWFsZXIiLCJEUFMiLCJOdW1iZXIiLCJjb21tb25SZXBsYWNlbWVudCIsInJlcGxhY2VTeW5jIiwicmVwbGFjZVRleHQiLCJwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzIiwiYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlIiwiZGVmYXVsdE9wdGlvbnMiLCJUaW1lbGluZVBhcnNlciIsInJlcGxhY2VtZW50cyIsInN0eWxlcyIsInpvbmVJZCIsImlnbm9yZXMiLCJ0ZXh0cyIsInN5bmNTdGFydHMiLCJzeW5jRW5kcyIsImVycm9ycyIsInRpbWVsaW5lQ29uZmlnIiwiSWdub3JlIiwidW5pcXVlaWQiLCJyZWdleGVzIiwiY29tbWVudCIsImNvbW1lbnRMaW5lIiwiZHVyYXRpb25Db21tYW5kIiwiaWdub3JlIiwianVtcENvbW1hbmQiLCJwb3B1cFRleHQiLCJzb3VuZEFsZXJ0Iiwic3BlYWtlciIsInN5bmNDb21tYW5kIiwidHRzIiwid2luZG93Q29tbWFuZCIsImxpbmVzIiwibGluZU51bWJlciIsInRyaW0iLCJ0ZXN0Iiwib3JpZ2luYWxMaW5lIiwiYmVmb3JlU2Vjb25kcyIsInR0c0l0ZW1zIiwic2Vjb25kc0JlZm9yZSIsInBvcHVwVGV4dEl0ZW1zIiwicGFyc2VkTGluZSIsInRpbWUiLCJHZXRSZXBsYWNlZFRleHQiLCJhY3RpdmVUaW1lIiwiY29tbWFuZE1hdGNoIiwic3luYyIsIm9yaWdSZWdleFN0ciIsIkdldFJlcGxhY2VkU3luYyIsImVuZCIsImFyZ01hdGNoIiwianVtcCIsImZvdW5kIiwibWF0Y2hlZFRleHRFdmVudCIsIm0iLCJhdXRvQ29uZmlnIiwic29ydEtleSIsIkdldFJlcGxhY2VkSGVscGVyIiwicmVwbGFjZUtleSIsInJlcGxhY2VMYW5nIiwiaXNHbG9iYWwiLCJyIiwibG9jYWxlIiwicmVwcyIsInJlcGxhY2VtZW50IiwicmVwbCIsInJlbmFtZSIsIlJlbmFtZSIsIkdldE1pc3NpbmdUcmFuc2xhdGlvbnNUb0lnbm9yZSIsInJhaWRib3NzRmlsZURhdGEiLCJyYWlkYm9zc09wdGlvbnMiLCJrT3B0aW9uS2V5cyIsInRleHRBbmRTb3VuZCIsInR0c0FuZFRleHQiLCJ0dHNPbmx5IiwidGV4dE9ubHkiLCJ0cmlnZ2VyU291bmRPcHRpb25zIiwia0RldGFpbEtleXMiLCJjbHMiLCJnZW5lcmF0ZWRNYW51YWxseSIsImtUaW1lbGluZVRhYmxlSGVhZGVycyIsInNob3VsZERpc3BsYXlUZXh0Iiwib3ZlcnJpZGVUZXh0IiwiZGV0YWlsS2V5cyIsImtNaXNjVHJhbnNsYXRpb25zIiwidmFsdWVEZWZhdWx0IiwidmFsdWVJc0Z1bmN0aW9uIiwid2FybmluZyIsIm1pc3NpbmdJZCIsIm92ZXJyaWRkZW5CeUZpbGUiLCJ2aWV3VHJpZ2dlclNvdXJjZSIsImVkaXRUaW1lbGluZSIsInZhbGlkRHVyYXRpb25PclVuZGVmaW5lZCIsInZhbEVudHJ5IiwidmFsIiwiaXNOYU4iLCJjYW5CZUNvbmZpZ3VyZWQiLCJ0cmlnIiwiaXNNaXNzaW5nSWQiLCJhZGRUcmlnZ2VyRGV0YWlsIiwibGFiZWxUZXh0IiwiZGV0YWlsVGV4dCIsImRldGFpbENscyIsInNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUiLCJEb05vdGhpbmdGdW5jUHJveHkiLCJvdXRwdXRTdHJpbmdzQ2FsbGJhY2siLCJQcm94eSIsIl90YXJnZXQiLCJwcm9wZXJ0eSIsIl9uYW1lIiwibWFrZUxpbmsiLCJsYW5nT3JFbiIsIlJhaWRib3NzQ29uZmlndXJhdG9yIiwiYWxlcnRzTGFuZyIsInRpbWVsaW5lTGFuZyIsInJhaWRib3NzRmlsZXMiLCJ1c2VyT3B0aW9ucyIsInByb2Nlc3NSYWlkYm9zc0ZpbGVzIiwic2VjdGlvbiIsInRpbWVsaW5lIiwiYnVpbGRUaW1lbGluZVVJQ29udGFpbmVyIiwidHJpZ0lkIiwiaGFzT3V0cHV0RnVuYyIsImRldmVsb3Blck9wdGlvbnMiLCJiYXNlVGV4dCIsImRldGFpbFN0cmluZ0tleSIsImRldGFpbEtleSIsInRyaWdPdXRwdXQiLCJjb25maWdPdXRwdXQiLCJ0cmlnRnVuYyIsImlzVGltZWxpbmVUcmlnZ2VyIiwic3RlcCIsInBsYWNlaG9sZGVyIiwiZ2V0U3RyaW5nT3B0aW9uIiwic2V0RnVuYyIsIm9uaW5wdXQiLCJkdXJhdGlvblNlY29uZHMiLCJvdXRwdXRTdHJpbmciLCJwMCIsInAxIiwicDIiLCJiYXNlVXJsIiwidXJsRmlsZXBhdGgiLCJlc2NhcGVkVHJpZ2dlcklkIiwidXJpQ29tcG9uZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidXJsU3RyaW5nIiwicGFyZW50IiwiaGFzRXZlckJlZW5FeHBhbmRlZCIsInRpbWVsaW5lRnJvbVNldCIsImJ1aWxkVGltZWxpbmVVSSIsImFkZFRpbWVsaW5lIiwib2JqVmFsIiwiYmxhbmtEYXRhIiwidGltZWxpbmVSZXBsYWNlIiwidW5pcUV2ZW50cyIsImhlYWRlciIsImNoZWNrSW5wdXQiLCJlbmFibGVJZCIsImNoZWNrZWQiLCJnZXRCb29sZWFuT3B0aW9uIiwidGltZWxpbmVUZXh0IiwidGV4dElucHV0IiwidGV4dElkIiwidmFsdWVPckZ1bmN0aW9uIiwicmVzdWx0IiwicHJvY2Vzc1RyaWdnZXIiLCJmYWtlT3V0cHV0UHJveHkiLCJhc3NpZ24iLCJiYXNlRmFrZURhdGEiLCJjdXJyZW50SFAiLCJjb25maWdPcHRpb25zIiwiU3RvcENvbWJhdCIsIlBhcnNlTG9jYWxlRmxvYXQiLCJDYW5TbGVlcCIsIkNhbkNsZWFuc2UiLCJwYXJzZXJMYW5nIiwicGFydGlhbEZha2VEYXRhRW50cmllcyIsImZha2VEYXRhRW50cmllcyIsImZpcnN0RGF0YSIsImtGYWtlTWF0Y2hlcyIsIm5wY0lkIiwib3V0cHV0S2V5cyIsImV2YWxUcmlnZ2VyIiwicmVzdWx0U3RyIiwibGFuZ1NwZWNpZmljUmVnZXhlcyIsImdldFJlZ2V4IiwiYmFzZUZpZWxkIiwic2hvcnRMYW5ndWFnZSIsImNoYXJBdCIsImNvbmNhdFN0ciIsImxhbmdTcGVjaWZpY1JlZ2V4IiwiYmFzZVJlZ2V4IiwidGltZWxpbmVSZWdleCIsInRyaWdnZXJSZWdleCIsInRyaWdnZXJOZXRSZWdleCIsInRyaWdnZXJGaWxlcyIsInRpbWVsaW5lRmlsZXMiLCJ0cmlnZ2VyU2V0T3JTdHJpbmciLCJ0cmlnZ2VySWR4IiwicHJldmlvdXNUcmlnZ2VyV2l0aElkIiwicmF3VHJpZ2dlcnMiLCJ0aW1lbGluZVRyaWdnZXJzIiwiZmxhdHRlblRpbWVsaW5lIiwidHJpZ2dlckFyciIsImJhc2VUcmlnIiwicHJldmlvdXMiLCJ0aW1lbGluZUZpbGUiLCJsYXN0SW5kZXgiLCJkaXIiLCJwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWciLCJvcHRpb25OYW1lIiwib3V0cHV0T2JqcyIsInByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWciLCJwZXJab25lVGltZWxpbmVDb25maWciLCJ6b25lS2V5Iiwiem9uZUVudHJ5IiwiZW5hYmxlRW50cnkiLCJyZXBsYWNlRW50cnkiLCJodG1sIiwia1JlbG9hZFRleHQiLCJrUmVsb2FkQnV0dG9uVGV4dCIsImtEaXJlY3RvcnlDaG9vc2VCdXR0b25UZXh0Iiwia0RpcmVjdG9yeURlZmF1bHRUZXh0Iiwia1ByZWZpeFRvQ2F0ZWdvcnkiLCJrRGlyZWN0b3J5VG9DYXRlZ29yeSIsImFsbGlhbmNlIiwiZHVuZ2VvbiIsImV1cmVrYSIsInJhaWQiLCJwdnAiLCJ0cmlhbCIsInVsdGltYXRlIiwiZmlsZU5hbWVUb1RpdGxlIiwiZmlsZSIsImNhcGl0YWxpemVkIiwiYyIsIkNhY3Rib3RDb25maWd1cmF0b3IiLCJ0ZW1wbGF0ZXMiLCJidWlsZEJ1dHRlckJhciIsInNhdmVDb25maWdEYXRhIiwidGV4dE9iaiIsImdldE51bWJlck9wdGlvbiIsIm51bSIsIm9iak9yVmFsdWUiLCJhcmciLCJlbXB0eURlZmF1bHROdW1iZXIiLCJpc1N0cmluZ051bWJlciIsImZpbmFsQXJnIiwiYWxsQnV0RmluYWxBcmciLCJ0ZXh0RGl2IiwiYnV0dG9uSW5wdXQiLCJncm91cERpdiIsImJ1aWxkT3ZlcmxheUdyb3VwIiwiYnVpbGRDaGVja2JveCIsImJ1aWxkSHRtbCIsImJ1aWxkU2VsZWN0IiwiYnVpbGRGbG9hdCIsImJ1aWxkSW50ZWdlciIsImJ1aWxkRGlyZWN0b3J5IiwiY29sbGFwc2VyIiwicGFyZW50Tm9kZSIsIkhUTUxFbGVtZW50IiwiYnVpbGROYW1lRGl2IiwiX2dyb3VwIiwic2V0TGFiZWwiLCJwcmV2VmFsdWUiLCJpbm5lck9wdGlvbnMiLCJ1c2VyVHJpZ2dlclNldHMiLCJwcmVmaXhLZXkiLCJjYXRlZ29yeSIsInpvbmVJbmZvIiwidXNlck1hcCIsInVzZXJGaWxlSWR4Iiwiem9uZVJlZ2V4Iiwic29ydGVkRW50cmllcyIsInByZWZpeENvbXBhcmUiLCJpbmRleEEiLCJpbmRleEIiLCJzb3J0ZWRNYXAiLCJrRmllbGRGbGFncyIsImtGaWVsZERhbWFnZSIsImtTaGlmdEZsYWdWYWx1ZXMiLCJrRmxhZ0luc3RhbnREZWF0aCIsImtBdHRhY2tGbGFncyIsImtIZWFsRmxhZ3MiLCJkYW1hZ2VGaWVsZHMiLCJwbGF5ZXJEYW1hZ2VGaWVsZHMiLCJTaG9ydE5hbWlmeSIsInBsYXllck5pY2tzIiwibmljayIsIlRyYW5zbGF0ZSIsIkdldEZvcm1hdHRlZFRpbWUiLCJiYXNlVGltZSIsInRvdGFsU2Vjb25kcyIsIm1pbnV0ZXMiLCJVbnNjcmFtYmxlRGFtYWdlIiwibGVuIiwicmlnaHREYW1hZ2UiLCJJc1BsYXllcklkIiwiZmlyc3RDaGFyIiwiSXNUcmlnZ2VyRW5hYmxlZCIsIkdldFNvbG9NaXN0YWtlVGV4dCIsIkdldFNoYXJlTWlzdGFrZVRleHQiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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VSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsT0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsS0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFsQk87QUFrbUJiOFQsRUFBQUEsSUFBSSxFQUFFO0FBQ0puVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsUUFGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsT0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxtQk87QUEwbUJiK1QsRUFBQUEsU0FBUyxFQUFFO0FBQ1RwVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsWUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsWUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFtQkU7QUFrbkJiZ1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1RyVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsVUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxuQkU7QUEwbkJiaVUsRUFBQUEsU0FBUyxFQUFFO0FBQ1R0VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsV0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFuQkU7QUFrb0Jia1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1R2VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsVUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsU0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxvQkU7QUEwb0JibVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0p4VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFvQk87QUFrcEJib1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0p6VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxwQk87QUEwcEJicVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0oxVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFwQk87QUFrcUJic1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0ozVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxxQk87QUEwcUJidVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w1VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFxQk07QUFrckJid1UsRUFBQUEsS0FBSyxFQUFFO0FBQ0w3VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxyQk07QUEwckJieVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w5VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFyQk07QUFrc0JiMFUsRUFBQUEsS0FBSyxFQUFFO0FBQ0wvVSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxzQk07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V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTs7V0FFQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxNQUFNLHFCQUFxQjtXQUMzQjtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBOztXQUVBO1dBQ0E7V0FDQTs7Ozs7VUVoREE7VUFDQTtVQUNBO1VBQ0E7VUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29uZGl0aW9ucy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2NvbnRlbnRfdHlwZS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2xhbmd1YWdlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25ldGxvZ19kZWZzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbmV0cmVnZXhlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25vdF9yZWFjaGVkLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvb3V0cHV0cy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3JlZ2V4ZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9yZXNwb25zZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy91c2VyX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3V0aWwudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy96b25lX2lkLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvem9uZV9pbmZvLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29udGVudF9saXN0LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9jb25maWcvY29uZmlnX29wdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL2NvbmZpZy9nZW5lcmFsX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvZXVyZWthL2V1cmVrYV9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL2pvYnMvam9ic19jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL29vcHN5cmFpZHN5L2J1ZmZfbWFwLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9vb3BzeXJhaWRzeS9vb3BzeXJhaWRzeV9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhZGFyL3JhZGFyX2NvbmZpZy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3BhcnR5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19vcHRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9jb21tb25fcmVwbGFjZW1lbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lX3BhcnNlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGJvc3NfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9jb25maWcvY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9vb3BzeXJhaWRzeS9vb3BzeV9jb21tb24udHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9jaHVuayBsb2FkZWQiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2pzb25wIGNodW5rIGxvYWRpbmciLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL2JlZm9yZS1zdGFydHVwIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9zdGFydHVwIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9hZnRlci1zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvciBjb25zaXN0ZW5jeSB3aXRoIFJlc3BvbnNlcywgQ29uZGl0aW9uc1xyXG4vLyBhcmUgYWxzbyBmdW5jdGlvbnMuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBUYXJnZXRlZE1hdGNoZXMgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICB0YXJnZXRJc1lvdSgpOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBkYXRhLm1lID09PSBtYXRjaGVzPy50YXJnZXQ7XHJcbiAgfSxcclxuICB0YXJnZXRJc05vdFlvdSgpOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiBkYXRhLm1lICE9PSBtYXRjaGVzPy50YXJnZXQ7XHJcbiAgfSxcclxuICBjYXJlc0Fib3V0QU9FKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dE1hZ2ljYWwoKTogKGRhdGE6IERhdGEpID0+IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChkYXRhOiBEYXRhKSA9PlxyXG4gICAgICBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInIHx8IGRhdGEuQ2FuQWRkbGUoKSB8fCBkYXRhLmpvYiA9PT0gJ0JMVSc7XHJcbiAgfSxcclxuICBjYXJlc0Fib3V0UGh5c2ljYWwoKTogKGRhdGE6IERhdGEpID0+IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChkYXRhOiBEYXRhKSA9PlxyXG4gICAgICBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInIHx8IGRhdGEuQ2FuRmVpbnQoKSB8fCBkYXRhLmpvYiA9PT0gJ0JMVSc7XHJcbiAgfSxcclxufTtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0JlYXN0VHJpYmVRdWVzdHMnOiAxMyxcclxuICAnQ29tcGFuaW9ucyc6IDEyLFxyXG4gICdDdXN0b21EZWxpdmVyaWVzJzogMjUsXHJcbiAgJ0RlZXBEdW5nZW9ucyc6IDIxLFxyXG4gICdEaXNjaXBsZXNPZlRoZUhhbmQnOiAxNyxcclxuICAnRGlzY2lwbGVzT2ZUaGVMYW5kJzogMTYsXHJcbiAgJ0R1bmdlb25zJzogMixcclxuICAnRHV0eVJvdWxldHRlJzogMSxcclxuICAnRXVyZWthJzogMjYsXHJcbiAgJ0ZhdGVzJzogOCxcclxuICAnR29sZFNhdWNlcic6IDE5LFxyXG4gICdHcmFuZENvbXBhbnknOiAxMSxcclxuICAnR3VpbGRoZXN0cyc6IDMsXHJcbiAgJ0xldmVxdWVzdHMnOiAxMCxcclxuICAnT3ZlcmFsbENvbXBsZXRpb24nOiAxNCxcclxuICAnUGxheWVyQ29tbWVuZGF0aW9uJzogMTUsXHJcbiAgJ1B2cCc6IDYsXHJcbiAgJ1F1ZXN0QmF0dGxlcyc6IDcsXHJcbiAgJ1JhaWRzJzogNSxcclxuICAnUmV0YWluZXJWZW50dXJlcyc6IDE4LFxyXG4gICdUcmVhc3VyZUh1bnQnOiA5LFxyXG4gICdUcmlhbHMnOiA0LFxyXG4gICdVbHRpbWF0ZVJhaWRzJzogMjgsXHJcbiAgJ1dvbmRyb3VzVGFpbHMnOiAyNCxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsImV4cG9ydCBjb25zdCBsYW5ndWFnZXMgPSBbJ2VuJywgJ2RlJywgJ2ZyJywgJ2phJywgJ2NuJywgJ2tvJ10gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgdHlwZSBMYW5nID0gdHlwZW9mIGxhbmd1YWdlc1tudW1iZXJdO1xyXG5cclxuZXhwb3J0IHR5cGUgTm9uRW5MYW5nID0gRXhjbHVkZTxMYW5nLCAnZW4nPjtcclxuXHJcbmV4cG9ydCBjb25zdCBsYW5nTWFwOiB7IFtsYW5nIGluIExhbmddOiB7IFtsYW5nIGluIExhbmddOiBzdHJpbmcgfSB9ID0ge1xyXG4gIGVuOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2gnLFxyXG4gICAgZGU6ICdHZXJtYW4nLFxyXG4gICAgZnI6ICdGcmVuY2gnLFxyXG4gICAgamE6ICdKYXBhbmVzZScsXHJcbiAgICBjbjogJ0NoaW5lc2UnLFxyXG4gICAga286ICdLb3JlYW4nLFxyXG4gIH0sXHJcbiAgZGU6IHtcclxuICAgIGVuOiAnRW5nbGlzY2gnLFxyXG4gICAgZGU6ICdEZXV0c2NoJyxcclxuICAgIGZyOiAnRnJhbnrDtnNpc2NoJyxcclxuICAgIGphOiAnSmFwYW5pc2NoJyxcclxuICAgIGNuOiAnQ2hpbmVzaXNjaCcsXHJcbiAgICBrbzogJ0tvcmVhbmlzY2gnLFxyXG4gIH0sXHJcbiAgZnI6IHtcclxuICAgIGVuOiAnQW5nbGFpcycsXHJcbiAgICBkZTogJ0FsbGVtYW5kJyxcclxuICAgIGZyOiAnRnJhbsOnYWlzJyxcclxuICAgIGphOiAnSmFwb25haXMnLFxyXG4gICAgY246ICdDaGlub2lzJyxcclxuICAgIGtvOiAnQ29yw6llbicsXHJcbiAgfSxcclxuICBqYToge1xyXG4gICAgZW46ICfoi7Hoqp4nLFxyXG4gICAgZGU6ICfjg4njgqTjg4Toqp4nLFxyXG4gICAgZnI6ICfjg5Xjg6njg7Pjgrnoqp4nLFxyXG4gICAgamE6ICfml6XmnKzoqp4nLFxyXG4gICAgY246ICfkuK3lm73oqp4nLFxyXG4gICAga286ICfpn5Plm73oqp4nLFxyXG4gIH0sXHJcbiAgY246IHtcclxuICAgIGVuOiAn6Iux6K+tJyxcclxuICAgIGRlOiAn5b636K+tJyxcclxuICAgIGZyOiAn5rOV6K+tJyxcclxuICAgIGphOiAn5pel6K+tJyxcclxuICAgIGNuOiAn5Lit5paHJyxcclxuICAgIGtvOiAn6Z+p6K+tJyxcclxuICB9LFxyXG4gIGtvOiB7XHJcbiAgICBlbjogJ+yYgeyWtCcsXHJcbiAgICBkZTogJ+uPheydvOyWtCcsXHJcbiAgICBmcjogJ+2UhOuekeyKpOyWtCcsXHJcbiAgICBqYTogJ+ydvOuzuOyWtCcsXHJcbiAgICBjbjogJ+ykkeq1reyWtCcsXHJcbiAgICBrbzogJ+2VnOq1reyWtCcsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0xhbmcgPSAobGFuZz86IHN0cmluZyk6IGxhbmcgaXMgTGFuZyA9PiB7XHJcbiAgY29uc3QgbGFuZ1N0cnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gbGFuZ3VhZ2VzO1xyXG4gIGlmICghbGFuZylcclxuICAgIHJldHVybiBmYWxzZTtcclxuICByZXR1cm4gbGFuZ1N0cnMuaW5jbHVkZXMobGFuZyk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ1RvTG9jYWxlID0gKGxhbmc6IExhbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogJ2VuJyxcclxuICAgIGRlOiAnZGUnLFxyXG4gICAgZnI6ICdmcicsXHJcbiAgICBqYTogJ2phJyxcclxuICAgIGNuOiAnemgtQ04nLFxyXG4gICAga286ICdrbycsXHJcbiAgfVtsYW5nXTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0RmllbGRzUmV2ZXJzZSB9IGZyb20gJy4uL3R5cGVzL25ldF9maWVsZHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbiA9IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8vIFBhcnNlZCBBQ1QgbG9nIGxpbmUgdHlwZS5cclxuICBtZXNzYWdlVHlwZTogc3RyaW5nO1xyXG4gIC8vIGluY2x1ZGUgYWxsIG9mIHRoZXNlIGxpbmVzIGluIGFueSBzcGxpdFxyXG4gIGdsb2JhbEluY2x1ZGU/OiBib29sZWFuO1xyXG4gIC8vIGluY2x1ZGUgdGhlIGxhc3QgbGluZSBvZiB0aGlzIHR5cGUgaW4gYW55IHNwbGl0XHJcbiAgbGFzdEluY2x1ZGU/OiBib29sZWFuO1xyXG4gIC8vIHdoZXRoZXIgdGhpcyBsaW5lIGNhbiBiZSBhbm9ueW1pemVkXHJcbiAgY2FuQW5vbnltaXplPzogYm9vbGVhbjtcclxuICAvLyBuZWVkcyBtb3JlIGluZm9ybWF0aW9uLCBuZXZlciBzZWVuIHRoaXMgbG9nXHJcbiAgaXNVbmtub3duPzogYm9vbGVhbjtcclxuICAvLyBmaWVsZHMgYXQgdGhpcyBpbmRleCBhbmQgYmV5b25kIGFyZSBjbGVhcmVkLCB3aGVuIGFub255bWl6aW5nXHJcbiAgZmlyc3RVbmtub3duRmllbGQ/OiBudW1iZXI7XHJcbiAgZmllbGRzPzogeyBbZmllbGROYW1lOiBzdHJpbmddOiBudW1iZXIgfTtcclxuICBzdWJGaWVsZHM/OiB7XHJcbiAgICBbZmllbGROYW1lOiBzdHJpbmddOiB7XHJcbiAgICAgIFtmaWVsZFZhbHVlOiBzdHJpbmddOiB7XHJcbiAgICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGNhbkFub255bWl6ZTogYm9vbGVhbjtcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfTtcclxuICAvLyBtYXAgb2YgaW5kZXhlcyBmcm9tIGEgcGxheWVyIGlkIHRvIHRoZSBpbmRleCBvZiB0aGF0IHBsYXllciBuYW1lXHJcbiAgcGxheWVySWRzPzogeyBbZmllbGRJZHg6IG51bWJlcl06IG51bWJlciB8IG51bGwgfTtcclxuICAvLyBhIGxpc3Qgb2YgZmllbGRzIHRoYXQgYXJlIG9rIHRvIG5vdCBhcHBlYXIgKG9yIGhhdmUgaW52YWxpZCBpZHMpXHJcbiAgb3B0aW9uYWxGaWVsZHM/OiByZWFkb25seSBudW1iZXJbXTtcclxufTtcclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbk1hcCA9IHsgW25hbWU6IHN0cmluZ106IExvZ0RlZmluaXRpb24gfTtcclxuXHJcbmNvbnN0IGxvZ0RlZmluaXRpb25zID0ge1xyXG4gIEdhbWVMb2c6IHtcclxuICAgIHR5cGU6ICcwMCcsXHJcbiAgICBuYW1lOiAnR2FtZUxvZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0NoYXRMb2cnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgY29kZTogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgbGluZTogNCxcclxuICAgIH0sXHJcbiAgICBzdWJGaWVsZHM6IHtcclxuICAgICAgY29kZToge1xyXG4gICAgICAgICcwMDM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwMzgnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZWNobycsXHJcbiAgICAgICAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnMDA0NCc6IHtcclxuICAgICAgICAgIG5hbWU6ICdkaWFsb2cnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzA4MzknOiB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVzc2FnZScsXHJcbiAgICAgICAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICBDaGFuZ2Vab25lOiB7XHJcbiAgICB0eXBlOiAnMDEnLFxyXG4gICAgbmFtZTogJ0NoYW5nZVpvbmUnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUZXJyaXRvcnknLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICB9LFxyXG4gICAgbGFzdEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBDaGFuZ2VkUGxheWVyOiB7XHJcbiAgICB0eXBlOiAnMDInLFxyXG4gICAgbmFtZTogJ0NoYW5nZWRQbGF5ZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGFuZ2VQcmltYXJ5UGxheWVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWRkZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwMycsXHJcbiAgICBuYW1lOiAnQWRkZWRDb21iYXRhbnQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBZGRDb21iYXRhbnQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGpvYjogNCxcclxuICAgICAgbGV2ZWw6IDUsXHJcbiAgICAgIG93bmVySWQ6IDYsXHJcbiAgICAgIHdvcmxkSWQ6IDcsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGN1cnJlbnRIcDogMTEsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgY3VycmVudE1wOiAxMyxcclxuICAgICAgbXA6IDE0LFxyXG4gICAgICAvLyBtYXhUcDogMTUsXHJcbiAgICAgIC8vIHRwOiAxNixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUmVtb3ZlZENvbWJhdGFudDoge1xyXG4gICAgdHlwZTogJzA0JyxcclxuICAgIG5hbWU6ICdSZW1vdmVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUmVtb3ZlQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcjogNixcclxuICAgICAgd29ybGQ6IDgsXHJcbiAgICAgIG5wY05hbWVJZDogOSxcclxuICAgICAgbnBjQmFzZUlkOiAxMCxcclxuICAgICAgaHA6IDEyLFxyXG4gICAgICB4OiAxNyxcclxuICAgICAgeTogMTgsXHJcbiAgICAgIHo6IDE5LFxyXG4gICAgICBoZWFkaW5nOiAyMCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogbnVsbCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJ0eUxpc3Q6IHtcclxuICAgIHR5cGU6ICcxMScsXHJcbiAgICBuYW1lOiAnUGFydHlMaXN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGFydHlMaXN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHBhcnR5Q291bnQ6IDIsXHJcbiAgICAgIGlkMDogMyxcclxuICAgICAgaWQxOiA0LFxyXG4gICAgICBpZDI6IDUsXHJcbiAgICAgIGlkMzogNixcclxuICAgICAgaWQ0OiA3LFxyXG4gICAgICBpZDU6IDgsXHJcbiAgICAgIGlkNjogOSxcclxuICAgICAgaWQ3OiAxMCxcclxuICAgICAgaWQ4OiAxMSxcclxuICAgICAgaWQ5OiAxMixcclxuICAgICAgaWQxMDogMTMsXHJcbiAgICAgIGlkMTE6IDE0LFxyXG4gICAgICBpZDEyOiAxNSxcclxuICAgICAgaWQxMzogMTYsXHJcbiAgICAgIGlkMTQ6IDE3LFxyXG4gICAgICBpZDE1OiAxOCxcclxuICAgICAgaWQxNjogMTksXHJcbiAgICAgIGlkMTc6IDIwLFxyXG4gICAgICBpZDE4OiAyMSxcclxuICAgICAgaWQxOTogMjIsXHJcbiAgICAgIGlkMjA6IDIzLFxyXG4gICAgICBpZDIxOiAyNCxcclxuICAgICAgaWQyMjogMjUsXHJcbiAgICAgIGlkMjM6IDI2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAzOiBudWxsLFxyXG4gICAgICA0OiBudWxsLFxyXG4gICAgICA1OiBudWxsLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgICA3OiBudWxsLFxyXG4gICAgICA4OiBudWxsLFxyXG4gICAgICA5OiBudWxsLFxyXG4gICAgICAxMDogbnVsbCxcclxuICAgICAgMTE6IG51bGwsXHJcbiAgICAgIDEyOiBudWxsLFxyXG4gICAgICAxMzogbnVsbCxcclxuICAgICAgMTQ6IG51bGwsXHJcbiAgICAgIDE1OiBudWxsLFxyXG4gICAgICAxNjogbnVsbCxcclxuICAgICAgMTc6IG51bGwsXHJcbiAgICAgIDE4OiBudWxsLFxyXG4gICAgICAxOTogbnVsbCxcclxuICAgICAgMjA6IG51bGwsXHJcbiAgICAgIDIxOiBudWxsLFxyXG4gICAgICAyMjogbnVsbCxcclxuICAgICAgMjM6IG51bGwsXHJcbiAgICAgIDI0OiBudWxsLFxyXG4gICAgICAyNTogbnVsbCxcclxuICAgICAgMjY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uYWxGaWVsZHM6IFtcclxuICAgICAgMyxcclxuICAgICAgNCxcclxuICAgICAgNSxcclxuICAgICAgNixcclxuICAgICAgNyxcclxuICAgICAgOCxcclxuICAgICAgOSxcclxuICAgICAgMTAsXHJcbiAgICAgIDExLFxyXG4gICAgICAxMixcclxuICAgICAgMTMsXHJcbiAgICAgIDE0LFxyXG4gICAgICAxNSxcclxuICAgICAgMTYsXHJcbiAgICAgIDE3LFxyXG4gICAgICAxOCxcclxuICAgICAgMTksXHJcbiAgICAgIDIwLFxyXG4gICAgICAyMSxcclxuICAgICAgMjIsXHJcbiAgICAgIDIzLFxyXG4gICAgICAyNCxcclxuICAgICAgMjUsXHJcbiAgICAgIDI2LFxyXG4gICAgXSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGxheWVyU3RhdHM6IHtcclxuICAgIHR5cGU6ICcxMicsXHJcbiAgICBuYW1lOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdQbGF5ZXJTdGF0cycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBqb2I6IDIsXHJcbiAgICAgIHN0cmVuZ3RoOiAzLFxyXG4gICAgICBkZXh0ZXJpdHk6IDQsXHJcbiAgICAgIHZpdGFsaXR5OiA1LFxyXG4gICAgICBpbnRlbGxpZ2VuY2U6IDYsXHJcbiAgICAgIG1pbmQ6IDcsXHJcbiAgICAgIHBpZXR5OiA4LFxyXG4gICAgICBhdHRhY2tQb3dlcjogOSxcclxuICAgICAgZGlyZWN0SGl0OiAxMCxcclxuICAgICAgY3JpdGljYWxIaXQ6IDExLFxyXG4gICAgICBhdHRhY2tNYWdpY1BvdGVuY3k6IDEyLFxyXG4gICAgICBoZWFsTWFnaWNQb3RlbmN5OiAxMyxcclxuICAgICAgZGV0ZXJtaW5hdGlvbjogMTQsXHJcbiAgICAgIHNraWxsU3BlZWQ6IDE1LFxyXG4gICAgICBzcGVsbFNwZWVkOiAxNixcclxuICAgICAgdGVuYWNpdHk6IDE4LFxyXG4gICAgICBsb2NhbENvbnRlbnRJZDogMTksXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgbGFzdEluY2x1ZGU6IHRydWUsXHJcbiAgfSxcclxuICBTdGFydHNVc2luZzoge1xyXG4gICAgdHlwZTogJzIwJyxcclxuICAgIG5hbWU6ICdTdGFydHNVc2luZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXJ0c0Nhc3RpbmcnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGNhc3RUaW1lOiA4LFxyXG4gICAgICB4OiA5LFxyXG4gICAgICB5OiAxMCxcclxuICAgICAgejogMTEsXHJcbiAgICAgIGhlYWRpbmc6IDEyLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBBYmlsaXR5OiB7XHJcbiAgICB0eXBlOiAnMjEnLFxyXG4gICAgbmFtZTogJ0FiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICBkYW1hZ2U6IDksXHJcbiAgICAgIHRhcmdldEN1cnJlbnRIcDogMjQsXHJcbiAgICAgIHRhcmdldE1heEhwOiAyNSxcclxuICAgICAgdGFyZ2V0Q3VycmVudE1wOiAyNixcclxuICAgICAgdGFyZ2V0TWF4TXA6IDI3LFxyXG4gICAgICAvLyB0YXJnZXRDdXJyZW50VHA6IDI4LFxyXG4gICAgICAvLyB0YXJnZXRNYXhUcDogMjksXHJcbiAgICAgIHRhcmdldFg6IDMwLFxyXG4gICAgICB0YXJnZXRZOiAzMSxcclxuICAgICAgdGFyZ2V0WjogMzIsXHJcbiAgICAgIHRhcmdldEhlYWRpbmc6IDMzLFxyXG4gICAgICBjdXJyZW50SHA6IDM0LFxyXG4gICAgICBtYXhIcDogMzUsXHJcbiAgICAgIGN1cnJlbnRNcDogMzYsXHJcbiAgICAgIG1heE1wOiAzNyxcclxuICAgICAgLy8gY3VycmVudFRwOiAzODtcclxuICAgICAgLy8gbWF4VHA6IDM5O1xyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgICAgc2VxdWVuY2U6IDQ0LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiA3LFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogNDQsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrQU9FQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrQU9FQWJpbGl0eScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0FPRUFjdGlvbkVmZmVjdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBzb3VyY2VJZDogMixcclxuICAgICAgc291cmNlOiAzLFxyXG4gICAgICBpZDogNCxcclxuICAgICAgYWJpbGl0eTogNSxcclxuICAgICAgdGFyZ2V0SWQ6IDYsXHJcbiAgICAgIHRhcmdldDogNyxcclxuICAgICAgZmxhZ3M6IDgsXHJcbiAgICAgIHg6IDQwLFxyXG4gICAgICB5OiA0MSxcclxuICAgICAgejogNDIsXHJcbiAgICAgIGhlYWRpbmc6IDQzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiA3LFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbNl0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogNDQsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrQ2FuY2VsQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIzJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrQ2FuY2VsQWJpbGl0eScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0NhbmNlbEFjdGlvbicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBzb3VyY2VJZDogMixcclxuICAgICAgc291cmNlOiAzLFxyXG4gICAgICBpZDogNCxcclxuICAgICAgbmFtZTogNSxcclxuICAgICAgcmVhc29uOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtEb1Q6IHtcclxuICAgIHR5cGU6ICcyNCcsXHJcbiAgICBuYW1lOiAnTmV0d29ya0RvVCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RvVEhvVCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgd2hpY2g6IDQsXHJcbiAgICAgIGVmZmVjdElkOiA1LFxyXG4gICAgICBkYW1hZ2U6IDYsXHJcbiAgICAgIGN1cnJlbnRIcDogNyxcclxuICAgICAgbWF4SHA6IDgsXHJcbiAgICAgIGN1cnJlbnRNcDogOSxcclxuICAgICAgbWF4TXA6IDEwLFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDExLFxyXG4gICAgICAvLyBtYXhUcDogMTIsXHJcbiAgICAgIHg6IDEzLFxyXG4gICAgICB5OiAxNCxcclxuICAgICAgejogMTUsXHJcbiAgICAgIGhlYWRpbmc6IDE2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFdhc0RlZmVhdGVkOiB7XHJcbiAgICB0eXBlOiAnMjUnLFxyXG4gICAgbmFtZTogJ1dhc0RlZmVhdGVkJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRGVhdGgnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgdGFyZ2V0SWQ6IDIsXHJcbiAgICAgIHRhcmdldDogMyxcclxuICAgICAgc291cmNlSWQ6IDQsXHJcbiAgICAgIHNvdXJjZTogNSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBHYWluc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzI2JyxcclxuICAgIG5hbWU6ICdHYWluc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c0FkZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBkdXJhdGlvbjogNCxcclxuICAgICAgc291cmNlSWQ6IDUsXHJcbiAgICAgIHNvdXJjZTogNixcclxuICAgICAgdGFyZ2V0SWQ6IDcsXHJcbiAgICAgIHRhcmdldDogOCxcclxuICAgICAgY291bnQ6IDksXHJcbiAgICAgIHRhcmdldE1heEhwOiAxMCxcclxuICAgICAgc291cmNlTWF4SHA6IDExLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA1OiA2LFxyXG4gICAgICA3OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEhlYWRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyNycsXHJcbiAgICBuYW1lOiAnSGVhZE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1RhcmdldEljb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgdGFyZ2V0SWQ6IDIsXHJcbiAgICAgIHRhcmdldDogMyxcclxuICAgICAgaWQ6IDYsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1JhaWRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOCcsXHJcbiAgICBuYW1lOiAnTmV0d29ya1JhaWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXYXltYXJrTWFya2VyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIG9wZXJhdGlvbjogMixcclxuICAgICAgd2F5bWFyazogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHg6IDYsXHJcbiAgICAgIHk6IDcsXHJcbiAgICAgIHo6IDgsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1RhcmdldE1hcmtlcjoge1xyXG4gICAgdHlwZTogJzI5JyxcclxuICAgIG5hbWU6ICdOZXR3b3JrVGFyZ2V0TWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2lnbk1hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsIC8vIEFkZCwgVXBkYXRlLCBEZWxldGVcclxuICAgICAgd2F5bWFyazogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXROYW1lOiA3LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA0OiBudWxsLFxyXG4gICAgICA1OiBudWxsLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIExvc2VzRWZmZWN0OiB7XHJcbiAgICB0eXBlOiAnMzAnLFxyXG4gICAgbmFtZTogJ0xvc2VzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzUmVtb3ZlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGVmZmVjdElkOiAyLFxyXG4gICAgICBlZmZlY3Q6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICA1OiA2LFxyXG4gICAgICA3OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtHYXVnZToge1xyXG4gICAgdHlwZTogJzMxJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrR2F1Z2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdHYXVnZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgZGF0YTA6IDMsXHJcbiAgICAgIGRhdGExOiA0LFxyXG4gICAgICBkYXRhMjogNSxcclxuICAgICAgZGF0YTM6IDYsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgLy8gU29tZXRpbWVzIHRoaXMgbGFzdCBmaWVsZCBsb29rcyBsaWtlIGEgcGxheWVyIGlkLlxyXG4gICAgLy8gRm9yIHNhZmV0eSwgYW5vbnltaXplIGFsbCBvZiB0aGUgZ2F1Z2UgZGF0YS5cclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiAzLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1dvcmxkOiB7XHJcbiAgICB0eXBlOiAnMzInLFxyXG4gICAgbmFtZTogJ05ldHdvcmtXb3JsZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1dvcmxkJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgaXNVbmtub3duOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWN0b3JDb250cm9sOiB7XHJcbiAgICB0eXBlOiAnMzMnLFxyXG4gICAgbmFtZTogJ0FjdG9yQ29udHJvbCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RpcmVjdG9yJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBjb21tYW5kOiAzLFxyXG4gICAgICBkYXRhMDogNCxcclxuICAgICAgZGF0YTE6IDUsXHJcbiAgICAgIGRhdGEyOiA2LFxyXG4gICAgICBkYXRhMzogNyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOYW1lVG9nZ2xlOiB7XHJcbiAgICB0eXBlOiAnMzQnLFxyXG4gICAgbmFtZTogJ05hbWVUb2dnbGUnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICB0YXJnZXRJZDogNCxcclxuICAgICAgdGFyZ2V0TmFtZTogNSxcclxuICAgICAgdG9nZ2xlOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFRldGhlcjoge1xyXG4gICAgdHlwZTogJzM1JyxcclxuICAgIG5hbWU6ICdUZXRoZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUZXRoZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldDogNSxcclxuICAgICAgaWQ6IDgsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDksXHJcbiAgfSxcclxuICBMaW1pdEJyZWFrOiB7XHJcbiAgICB0eXBlOiAnMzYnLFxyXG4gICAgbmFtZTogJ0xpbWl0QnJlYWsnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdMaW1pdEJyZWFrJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHZhbHVlSGV4OiAyLFxyXG4gICAgICBiYXJzOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtFZmZlY3RSZXN1bHQ6IHtcclxuICAgIHR5cGU6ICczNycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0VmZmVjdFJlc3VsdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0VmZmVjdFJlc3VsdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgc2VxdWVuY2VJZDogNCxcclxuICAgICAgY3VycmVudEhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgY3VycmVudE1wOiA3LFxyXG4gICAgICBtYXhNcDogOCxcclxuICAgICAgLy8gY3VycmVudFRwOiA5LFxyXG4gICAgICAvLyBtYXhUcDogMTAsXHJcbiAgICAgIHg6IDExLFxyXG4gICAgICB5OiAxMixcclxuICAgICAgejogMTMsXHJcbiAgICAgIGhlYWRpbmc6IDE0LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiAyMixcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFN0YXR1c0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzM4JyxcclxuICAgIG5hbWU6ICdTdGF0dXNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNMaXN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGpvYkxldmVsRGF0YTogNCxcclxuICAgICAgaHA6IDUsXHJcbiAgICAgIG1heEhwOiA2LFxyXG4gICAgICBtcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIHg6IDExLFxyXG4gICAgICB5OiAxMixcclxuICAgICAgejogMTMsXHJcbiAgICAgIGhlYWRpbmc6IDE0LFxyXG4gICAgICBkYXRhMDogMTUsXHJcbiAgICAgIGRhdGExOiAxNixcclxuICAgICAgZGF0YTI6IDE3LFxyXG4gICAgICAvLyBWYXJpYWJsZSBudW1iZXIgb2YgdHJpcGxldHMgaGVyZSwgYnV0IGF0IGxlYXN0IG9uZS5cclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjAsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrVXBkYXRlSFA6IHtcclxuICAgIHR5cGU6ICczOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1VwZGF0ZUhQJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVXBkYXRlSHAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGN1cnJlbnRIcDogNCxcclxuICAgICAgbWF4SHA6IDUsXHJcbiAgICAgIGN1cnJlbnRNcDogNixcclxuICAgICAgbWF4TXA6IDcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOCxcclxuICAgICAgLy8gbWF4VHA6IDksXHJcbiAgICAgIHg6IDEwLFxyXG4gICAgICB5OiAxMSxcclxuICAgICAgejogMTIsXHJcbiAgICAgIGhlYWRpbmc6IDEzLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE1hcDoge1xyXG4gICAgdHlwZTogJzQwJyxcclxuICAgIG5hbWU6ICdNYXAnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGFuZ2VNYXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIHJlZ2lvbk5hbWU6IDMsXHJcbiAgICAgIHBsYWNlTmFtZTogNCxcclxuICAgICAgcGxhY2VOYW1lU3ViOiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFN5c3RlbUxvZ01lc3NhZ2U6IHtcclxuICAgIHR5cGU6ICc0MScsXHJcbiAgICBuYW1lOiAnU3lzdGVtTG9nTWVzc2FnZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaW5zdGFuY2U6IDIsXHJcbiAgICAgIGlkOiAzLFxyXG4gICAgICBwYXJhbTA6IDQsXHJcbiAgICAgIHBhcmFtMTogNSxcclxuICAgICAgcGFyYW0yOiA2LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBhcnNlckluZm86IHtcclxuICAgIHR5cGU6ICcyNDknLFxyXG4gICAgbmFtZTogJ1BhcnNlckluZm8nLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTZXR0aW5ncycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQcm9jZXNzSW5mbzoge1xyXG4gICAgdHlwZTogJzI1MCcsXHJcbiAgICBuYW1lOiAnUHJvY2Vzc0luZm8nLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdQcm9jZXNzJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgZ2xvYmFsSW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIERlYnVnOiB7XHJcbiAgICB0eXBlOiAnMjUxJyxcclxuICAgIG5hbWU6ICdEZWJ1ZycsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYnVnJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICB9LFxyXG4gICAgZ2xvYmFsSW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBQYWNrZXREdW1wOiB7XHJcbiAgICB0eXBlOiAnMjUyJyxcclxuICAgIG5hbWU6ICdQYWNrZXREdW1wJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGFja2V0RHVtcCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBWZXJzaW9uOiB7XHJcbiAgICB0eXBlOiAnMjUzJyxcclxuICAgIG5hbWU6ICdWZXJzaW9uJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVmVyc2lvbicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBFcnJvcjoge1xyXG4gICAgdHlwZTogJzI1NCcsXHJcbiAgICBuYW1lOiAnRXJyb3InLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFcnJvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogZmFsc2UsXHJcbiAgfSxcclxuICBOb25lOiB7XHJcbiAgICB0eXBlOiAnWzAtOV0rJyxcclxuICAgIG5hbWU6ICdOb25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTm9uZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gVmVyaWZ5IHRoYXQgdGhpcyBoYXMgdGhlIHJpZ2h0IHR5cGUsIGJ1dCBleHBvcnQgYGFzIGNvbnN0YC5cclxuY29uc3QgYXNzZXJ0TG9nRGVmaW5pdGlvbnM6IExvZ0RlZmluaXRpb25NYXAgPSBsb2dEZWZpbml0aW9ucztcclxuY29uc29sZS5hc3NlcnQoYXNzZXJ0TG9nRGVmaW5pdGlvbnMpO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9nRGVmaW5pdGlvbnMgPSB0eXBlb2YgbG9nRGVmaW5pdGlvbnM7XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25UeXBlcyA9IGtleW9mIExvZ0RlZmluaXRpb25zO1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZDxcclxuICBUeXBlIGV4dGVuZHMgTG9nRGVmaW5pdGlvblR5cGVzLFxyXG4gIEZpZWxkcyBleHRlbmRzIE5ldEZpZWxkc1JldmVyc2VbVHlwZV0sXHJcbiAgRmllbGQgZXh0ZW5kcyBrZXlvZiBGaWVsZHMsXHJcbj4gPSB7XHJcbiAgZmllbGQ6IEZpZWxkc1tGaWVsZF0gZXh0ZW5kcyBzdHJpbmcgPyBGaWVsZHNbRmllbGRdIDogbmV2ZXI7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXJzZUhlbHBlckZpZWxkczxUIGV4dGVuZHMgTG9nRGVmaW5pdGlvblR5cGVzPiA9IHtcclxuICBbZmllbGQgaW4ga2V5b2YgTmV0RmllbGRzUmV2ZXJzZVtUXV06IFBhcnNlSGVscGVyRmllbGQ8VCwgTmV0RmllbGRzUmV2ZXJzZVtUXSwgZmllbGQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbG9nRGVmaW5pdGlvbnM7XHJcbiIsImltcG9ydCB7IE5ldFBhcmFtcyB9IGZyb20gJy4uL3R5cGVzL25ldF9wcm9wcyc7XHJcbmltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IGxvZ0RlZmluaXRpb25zLCB7IExvZ0RlZmluaXRpb25UeXBlcywgUGFyc2VIZWxwZXJGaWVsZHMgfSBmcm9tICcuL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi9yZWdleGVzJztcclxuXHJcbmNvbnN0IHNlcGFyYXRvciA9ICdcXFxcfCc7XHJcbmNvbnN0IG1hdGNoRGVmYXVsdCA9ICdbXnxdKic7XHJcblxyXG4vLyBJZiBOZXRSZWdleGVzLnNldEZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgaXMgc2V0IHRvIHRydWUsIHRoZW4gYW55XHJcbi8vIHJlZ2V4IGNyZWF0ZWQgdGhhdCByZXF1aXJlcyBhIHRyYW5zbGF0aW9uIHdpbGwgYmVnaW4gd2l0aCB0aGlzIHN0cmluZ1xyXG4vLyBhbmQgbWF0Y2ggdGhlIG1hZ2ljU3RyaW5nUmVnZXguICBUaGlzIGlzIG1heWJlIGEgYml0IGdvb2Z5LCBidXQgaXNcclxuLy8gYSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIHdheSB0byBtYXJrIHJlZ2V4ZXMgZm9yIHRyYW5zbGF0aW9ucy5cclxuLy8gSWYgaXNzdWUgIzEzMDYgaXMgZXZlciByZXNvbHZlZCwgd2UgY2FuIHJlbW92ZSB0aGlzLlxyXG5jb25zdCBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nID0gYF5eYDtcclxuY29uc3QgbWFnaWNTdHJpbmdSZWdleCA9IC9eXFxeXFxeLztcclxuY29uc3Qga2V5c1RoYXRSZXF1aXJlVHJhbnNsYXRpb24gPSBbXHJcbiAgJ2FiaWxpdHknLFxyXG4gICduYW1lJyxcclxuICAnc291cmNlJyxcclxuICAndGFyZ2V0JyxcclxuICAnbGluZScsXHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0UGFyYW1zID0gPFxyXG4gIFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgbG9nRGVmaW5pdGlvbnMsXHJcbj4odHlwZTogVCwgaW5jbHVkZT86IHN0cmluZ1tdKTogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4gPT4ge1xyXG4gIGluY2x1ZGUgPz89IE9iamVjdC5rZXlzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcyk7XHJcbiAgY29uc3QgcGFyYW1zOiB7IFtpbmRleDogbnVtYmVyXTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9IH0gPSB7fTtcclxuXHJcbiAgZm9yIChjb25zdCBbcHJvcCwgaW5kZXhdIG9mIE9iamVjdC5lbnRyaWVzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcykpIHtcclxuICAgIGlmICghaW5jbHVkZS5pbmNsdWRlcyhwcm9wKSlcclxuICAgICAgY29udGludWU7XHJcbiAgICBjb25zdCBwYXJhbTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9ID0ge1xyXG4gICAgICBmaWVsZDogcHJvcCxcclxuICAgIH07XHJcbiAgICBpZiAocHJvcCA9PT0gJ3R5cGUnKVxyXG4gICAgICBwYXJhbS52YWx1ZSA9IGxvZ0RlZmluaXRpb25zW3R5cGVdLnR5cGU7XHJcblxyXG4gICAgcGFyYW1zW2luZGV4XSA9IHBhcmFtO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+O1xyXG59O1xyXG5cclxuY29uc3QgcGFyc2VIZWxwZXIgPSA8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4oXHJcbiAgcGFyYW1zOiB7IHRpbWVzdGFtcD86IHN0cmluZzsgY2FwdHVyZT86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCxcclxuICBmdW5jTmFtZTogc3RyaW5nLFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGZ1bmNOYW1lLCBbJ2NhcHR1cmUnLCAuLi52YWxpZEZpZWxkc10pO1xyXG5cclxuICAvLyBGaW5kIHRoZSBsYXN0IGtleSB3ZSBjYXJlIGFib3V0LCBzbyB3ZSBjYW4gc2hvcnRlbiB0aGUgcmVnZXggaWYgbmVlZGVkLlxyXG4gIGNvbnN0IGNhcHR1cmUgPSBSZWdleGVzLnRydWVJZlVuZGVmaW5lZChwYXJhbXMuY2FwdHVyZSk7XHJcbiAgY29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRzKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhKSAtIHBhcnNlSW50KGIpKTtcclxuICBsZXQgbWF4S2V5U3RyOiBzdHJpbmc7XHJcbiAgaWYgKGNhcHR1cmUpIHtcclxuICAgIG1heEtleVN0ciA9IGZpZWxkS2V5c1tmaWVsZEtleXMubGVuZ3RoIC0gMV0gPz8gJzAnO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBtYXhLZXlTdHIgPSAnMCc7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWVsZHMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5XSA/PyB7fTtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXldPy5maWVsZDtcclxuICAgICAgaWYgKGZpZWxkTmFtZSAmJiBmaWVsZE5hbWUgaW4gcGFyYW1zKVxyXG4gICAgICAgIG1heEtleVN0ciA9IGtleTtcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3QgbWF4S2V5ID0gcGFyc2VJbnQobWF4S2V5U3RyKTtcclxuXHJcbiAgLy8gRm9yIHRlc3RpbmcsIGl0J3MgdXNlZnVsIHRvIGtub3cgaWYgdGhpcyBpcyBhIHJlZ2V4IHRoYXQgcmVxdWlyZXNcclxuICAvLyB0cmFuc2xhdGlvbi4gIFdlIHRlc3QgdGhpcyBieSBzZWVpbmcgaWYgdGhlcmUgYXJlIGFueSBzcGVjaWZpZWRcclxuICAvLyBmaWVsZHMsIGFuZCBpZiBzbywgaW5zZXJ0aW5nIGEgbWFnaWMgc3RyaW5nIHRoYXQgd2UgY2FuIGRldGVjdC5cclxuICAvLyBUaGlzIGxldHMgdXMgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFwicmVnZXggdGhhdCBzaG91bGQgYmUgdHJhbnNsYXRlZFwiXHJcbiAgLy8gZS5nLiBhIHJlZ2V4IHdpdGggYHRhcmdldGAgc3BlY2lmaWVkLCBhbmQgXCJyZWdleCB0aGF0IHNob3VsZG4ndFwiXHJcbiAgLy8gZS5nLiBhIGdhaW5zIGVmZmVjdCB3aXRoIGp1c3QgZWZmZWN0SWQgc3BlY2lmaWVkLlxyXG4gIGNvbnN0IHRyYW5zUGFyYW1zID0gT2JqZWN0LmtleXMocGFyYW1zKS5maWx0ZXIoKGspID0+IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uLmluY2x1ZGVzKGspKTtcclxuICBjb25zdCBuZWVkc1RyYW5zbGF0aW9ucyA9IE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCAmJiB0cmFuc1BhcmFtcy5sZW5ndGggPiAwO1xyXG5cclxuICAvLyBCdWlsZCB0aGUgcmVnZXggZnJvbSB0aGUgZmllbGRzLlxyXG4gIGxldCBzdHIgPSBuZWVkc1RyYW5zbGF0aW9ucyA/IG1hZ2ljVHJhbnNsYXRpb25TdHJpbmcgOiAnXic7XHJcbiAgbGV0IGxhc3RLZXkgPSAtMTtcclxuICBmb3IgKGNvbnN0IGtleVN0ciBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGtleSA9IHBhcnNlSW50KGtleVN0cik7XHJcbiAgICAvLyBGaWxsIGluIGJsYW5rcy5cclxuICAgIGNvbnN0IG1pc3NpbmdGaWVsZHMgPSBrZXkgLSBsYXN0S2V5IC0gMTtcclxuICAgIGlmIChtaXNzaW5nRmllbGRzID09PSAxKVxyXG4gICAgICBzdHIgKz0gJ1xcXFx5e05ldEZpZWxkfSc7XHJcbiAgICBlbHNlIGlmIChtaXNzaW5nRmllbGRzID4gMSlcclxuICAgICAgc3RyICs9IGBcXFxceXtOZXRGaWVsZH17JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBjb25zdCB2YWx1ZSA9IGZpZWxkc1trZXlTdHJdO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtmdW5jTmFtZX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXlTdHJdPy5maWVsZDtcclxuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBmaWVsZHNba2V5U3RyXT8udmFsdWU/LnRvU3RyaW5nKCkgPz8gbWF0Y2hEZWZhdWx0O1xyXG5cclxuICAgIGlmIChmaWVsZE5hbWUpIHtcclxuICAgICAgc3RyICs9IFJlZ2V4ZXMubWF5YmVDYXB0dXJlKFxyXG4gICAgICAgIC8vIG1vcmUgYWNjdXJhdGUgdHlwZSBpbnN0ZWFkIG9mIGBhc2AgY2FzdFxyXG4gICAgICAgIC8vIG1heWJlIHRoaXMgZnVuY3Rpb24gbmVlZHMgYSByZWZhY3RvcmluZ1xyXG4gICAgICAgIGNhcHR1cmUsXHJcbiAgICAgICAgZmllbGROYW1lLFxyXG4gICAgICAgIChwYXJhbXMgYXMgeyBbczogc3RyaW5nXTogc3RyaW5nIH0pW2ZpZWxkTmFtZV0sXHJcbiAgICAgICAgZmllbGRWYWx1ZSxcclxuICAgICAgKSArXHJcbiAgICAgICAgc2VwYXJhdG9yO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWUgKyBzZXBhcmF0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG4gIHJldHVybiBSZWdleGVzLnBhcnNlKHN0cikgYXMgQ2FjdGJvdEJhc2VSZWdFeHA8VD47XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXRSZWdleGVzIHtcclxuICBzdGF0aWMgZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCA9IGZhbHNlO1xyXG4gIHN0YXRpYyBzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3RhdGljIGRvZXNOZXRSZWdleE5lZWRUcmFuc2xhdGlvbihyZWdleDogUmVnRXhwIHwgc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyBOZWVkIHRvIGBzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkYCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxyXG4gICAgY29uc29sZS5hc3NlcnQoTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkKTtcclxuICAgIGNvbnN0IHN0ciA9IHR5cGVvZiByZWdleCA9PT0gJ3N0cmluZycgPyByZWdleCA6IHJlZ2V4LnNvdXJjZTtcclxuICAgIHJldHVybiAhIW1hZ2ljU3RyaW5nUmVnZXguZXhlYyhzdHIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdhYmlsaXR5Jywge1xyXG4gICAgICAuLi5kZWZhdWx0UGFyYW1zKCdBYmlsaXR5JyksXHJcbiAgICAgIC8vIE92ZXJyaWRlIHR5cGVcclxuICAgICAgMDogeyBmaWVsZDogJ3R5cGUnLCB2YWx1ZTogJzJbMTJdJyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTUtbmV0d29ya2FiaWxpdHlcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTYtbmV0d29ya2FvZWFiaWxpdHlcclxuICAgKlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgYWJpbGl0eWAgaW5zdGVhZFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5RnVsbChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FiaWxpdHknXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBYmlsaXR5Jz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWJpbGl0eShwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFiLW5ldHdvcmt0YXJnZXRpY29uLWhlYWQtbWFya2Vyc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBoZWFkTWFya2VyKHBhcmFtcz86IE5ldFBhcmFtc1snSGVhZE1hcmtlciddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0hlYWRNYXJrZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnaGVhZE1hcmtlcicsIGRlZmF1bHRQYXJhbXMoJ0hlYWRNYXJrZXInKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50KHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBZGRlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnYWRkZWRDb21iYXRhbnQnLFxyXG4gICAgICBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcsIFtcclxuICAgICAgICAndHlwZScsXHJcbiAgICAgICAgJ3RpbWVzdGFtcCcsXHJcbiAgICAgICAgJ2lkJyxcclxuICAgICAgICAnbmFtZScsXHJcbiAgICAgIF0pLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnRGdWxsKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdBZGRlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdhZGRlZENvbWJhdGFudEZ1bGwnLCBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwNC1yZW1vdmVjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgcmVtb3ZpbmdDb21iYXRhbnQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1JlbW92ZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUmVtb3ZlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdyZW1vdmluZ0NvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhdHVzRWZmZWN0RXhwbGljaXQnLCBkZWZhdWx0UGFyYW1zKCdTdGF0dXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWUtbmV0d29ya2J1ZmZyZW1vdmVcclxuICAgKi9cclxuICBzdGF0aWMgbG9zZXNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydMb3Nlc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0xvc2VzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2xvc2VzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnTG9zZXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjMtbmV0d29ya3RldGhlclxyXG4gICAqL1xyXG4gIHN0YXRpYyB0ZXRoZXIocGFyYW1zPzogTmV0UGFyYW1zWydUZXRoZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdUZXRoZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAndGV0aGVyJywgZGVmYXVsdFBhcmFtcygnVGV0aGVyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogJ3RhcmdldCcgd2FzIGRlZmVhdGVkIGJ5ICdzb3VyY2UnXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE5LW5ldHdvcmtkZWF0aFxyXG4gICAqL1xyXG4gIHN0YXRpYyB3YXNEZWZlYXRlZChwYXJhbXM/OiBOZXRQYXJhbXNbJ1dhc0RlZmVhdGVkJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnV2FzRGVmZWF0ZWQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnd2FzRGVmZWF0ZWQnLCBkZWZhdWx0UGFyYW1zKCdXYXNEZWZlYXRlZCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIGVjaG8ocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdlY2hvJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDAzOCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBkaWFsb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdkaWFsb2cnLFxyXG4gICAgICBbJ3R5cGUnLCAndGltZXN0YW1wJywgJ2NvZGUnLCAnbmFtZScsICdsaW5lJywgJ2NhcHR1cmUnXSxcclxuICAgICk7XHJcbiAgICBwYXJhbXMuY29kZSA9ICcwMDQ0JztcclxuICAgIHJldHVybiBOZXRSZWdleGVzLmdhbWVMb2cocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIG1lc3NhZ2UocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdtZXNzYWdlJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDgzOSc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHM6IGNvZGUsIG5hbWUsIGxpbmUsIGNhcHR1cmVcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnZ2FtZUxvZycsIGRlZmF1bHRQYXJhbXMoJ0dhbWVMb2cnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTmFtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMGMtcGxheWVyc3RhdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdENoYW5nZShwYXJhbXM/OiBOZXRQYXJhbXNbJ1BsYXllclN0YXRzJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUGxheWVyU3RhdHMnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhdENoYW5nZScsIGRlZmF1bHRQYXJhbXMoJ1BsYXllclN0YXRzJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAxLWNoYW5nZXpvbmVcclxuICAgKi9cclxuICBzdGF0aWMgY2hhbmdlWm9uZShwYXJhbXM/OiBOZXRQYXJhbXNbJ0NoYW5nZVpvbmUnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdDaGFuZ2Vab25lJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2NoYW5nZVpvbmUnLCBkZWZhdWx0UGFyYW1zKCdDaGFuZ2Vab25lJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIxLW5ldHdvcms2ZC1hY3Rvci1jb250cm9sLWxpbmVzXHJcbiAgICovXHJcbiAgc3RhdGljIG5ldHdvcms2ZChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FjdG9yQ29udHJvbCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FjdG9yQ29udHJvbCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduZXR3b3JrNmQnLCBkZWZhdWx0UGFyYW1zKCdBY3RvckNvbnRyb2wnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjItbmV0d29ya25hbWV0b2dnbGVcclxuICAgKi9cclxuICBzdGF0aWMgbmFtZVRvZ2dsZShwYXJhbXM/OiBOZXRQYXJhbXNbJ05hbWVUb2dnbGUnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdOYW1lVG9nZ2xlJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ25hbWVUb2dnbGUnLCBkZWZhdWx0UGFyYW1zKCdOYW1lVG9nZ2xlJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI4LW1hcFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXAocGFyYW1zPzogTmV0UGFyYW1zWydNYXAnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdNYXAnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbWFwJywgZGVmYXVsdFBhcmFtcygnTWFwJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI5LXN5c3RlbWxvZ21lc3NhZ2VcclxuICAgKi9cclxuICBzdGF0aWMgc3lzdGVtTG9nTWVzc2FnZShcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snU3lzdGVtTG9nTWVzc2FnZSddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTeXN0ZW1Mb2dNZXNzYWdlJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N5c3RlbUxvZ01lc3NhZ2UnLCBkZWZhdWx0UGFyYW1zKCdTeXN0ZW1Mb2dNZXNzYWdlJykpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBIZWxwZXIgRXJyb3IgZm9yIFR5cGVTY3JpcHQgc2l0dWF0aW9ucyB3aGVyZSB0aGUgcHJvZ3JhbW1lciB0aGlua3MgdGhleVxyXG4vLyBrbm93IGJldHRlciB0aGFuIFR5cGVTY3JpcHQgdGhhdCBzb21lIHNpdHVhdGlvbiB3aWxsIG5ldmVyIG9jY3VyLlxyXG5cclxuLy8gVGhlIGludGVudGlvbiBoZXJlIGlzIHRoYXQgdGhlIHByb2dyYW1tZXIgZG9lcyBub3QgZXhwZWN0IGEgcGFydGljdWxhclxyXG4vLyBiaXQgb2YgY29kZSB0byBoYXBwZW4sIGFuZCBzbyBoYXMgbm90IHdyaXR0ZW4gY2FyZWZ1bCBlcnJvciBoYW5kbGluZy5cclxuLy8gSWYgaXQgZG9lcyBvY2N1ciwgYXQgbGVhc3QgdGhlcmUgd2lsbCBiZSBhbiBlcnJvciBhbmQgd2UgY2FuIGZpZ3VyZSBvdXQgd2h5LlxyXG4vLyBUaGlzIGlzIHByZWZlcmFibGUgdG8gY2FzdGluZyBvciBkaXNhYmxpbmcgVHlwZVNjcmlwdCBhbHRvZ2V0aGVyIGluIG9yZGVyIHRvXHJcbi8vIGF2b2lkIHN5bnRheCBlcnJvcnMuXHJcblxyXG4vLyBPbmUgY29tbW9uIGV4YW1wbGUgaXMgYSByZWdleCwgd2hlcmUgaWYgdGhlIHJlZ2V4IG1hdGNoZXMgdGhlbiBhbGwgb2YgdGhlXHJcbi8vIChub24tb3B0aW9uYWwpIHJlZ2V4IGdyb3VwcyB3aWxsIGFsc28gYmUgdmFsaWQsIGJ1dCBUeXBlU2NyaXB0IGRvZXNuJ3Qga25vdy5cclxuZXhwb3J0IGNsYXNzIFVucmVhY2hhYmxlQ29kZSBleHRlbmRzIEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdUaGlzIGNvZGUgc2hvdWxkblxcJ3QgYmUgcmVhY2hlZCcpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBGdWxsTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuLy8gT3V0cHV0IHN0cmluZ3MgZm9yIG5vdyByZXF1aXJlIGEgZmllbGQgZm9yIGV2ZXJ5IGxhbmd1YWdlLCBzbyB0aGlzIGlzIGFcclxuLy8gaGVscGVyIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIG9uZSBmb3IgbGl0ZXJhbCBudW1iZXJzLlxyXG5jb25zdCBudW1iZXJUb091dHB1dFN0cmluZyA9IGZ1bmN0aW9uKG46IG51bWJlcik6IEZ1bGxMb2NhbGVUZXh0IHtcclxuICBjb25zdCBzdHIgPSBuLnRvU3RyaW5nKCk7XHJcbiAgcmV0dXJuIHtcclxuICAgIGVuOiBzdHIsXHJcbiAgICBkZTogc3RyLFxyXG4gICAgZnI6IHN0cixcclxuICAgIGphOiBzdHIsXHJcbiAgICBjbjogc3RyLFxyXG4gICAga286IHN0cixcclxuICB9O1xyXG59O1xyXG5cclxuLy8gR2VuZXJhbCBndWlkZWxpbmVzOlxyXG4vLyAqIHByb3BlcnR5IG5hbWVzIHNob3VsZCBjbG9zZWx5IG1hdGNoIEVuZ2xpc2ggdGV4dFxyXG4vLyAqIHVzZSBPblBsYXllciBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke3BsYXllcn1gXHJcbi8vICogdXNlIE9uVGFyZ2V0IHN1ZmZpeCBmb3IgdGhpbmdzIHdpdGggYCR7bmFtZX1gXHJcbi8vICogYW55IG90aGVyIHBhcmFtZXRlcnMgKG9mIHdoaWNoIHRoZXJlIGFyZSBub25lLCBjdXJyZW50bHkpIHNob3VsZCB1c2UgY29uc2lzdGVudCBzdWZmaXhlcy5cclxuLy8gKiB0aGUgdmFsdWUgb2YgZWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgYSBzaW5nbGUgb2JqZWN0IHdpdGggbG9jYWxpemVkIGtleXNcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGFvZToge1xyXG4gICAgZW46ICdhb2UnLFxyXG4gICAgZGU6ICdBb0UnLFxyXG4gICAgZnI6ICdBb0UnLFxyXG4gICAgamE6ICdBb0UnLFxyXG4gICAgY246ICdBb0UnLFxyXG4gICAga286ICfsoITssrQg6rO16rKpJyxcclxuICB9LFxyXG4gIGJpZ0FvZToge1xyXG4gICAgZW46ICdiaWcgYW9lIScsXHJcbiAgICBkZTogJ0dyb8OfZSBBb0UhJyxcclxuICAgIGZyOiAnR3Jvc3NlIEFvRSAhJyxcclxuICAgIGphOiAn5aSn44OA44Oh44O844K4QW9FJyxcclxuICAgIGNuOiAn5aSnQW9F5Lyk5a6z77yBJyxcclxuICAgIGtvOiAn6rCV7ZWcIOyghOyytCDqs7XqsqkhJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXI6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXInLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyJyxcclxuICAgIGphOiAn44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5Z2m5YWL5q275YiRJyxcclxuICAgIGtvOiAn7YOx67KEJyxcclxuICB9LFxyXG4gIG1pbmlCdXN0ZXI6IHtcclxuICAgIGVuOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgZGU6ICdLbGVpbmVyIFRhbmtidXN0ZXInLFxyXG4gICAgZnI6ICdNaW5pIEJ1c3RlcicsXHJcbiAgICBqYTogJ+ODn+ODi+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+Wwj+atu+WIkScsXHJcbiAgICBrbzogJ+yVve2VnCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5q275YiRIOeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyT25Zb3U6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44OQ44K544K/44O8JyxcclxuICAgIGNuOiAn5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7YOx67KEIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICAvLyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSB0YW5rYnVzdGVycyBnb2luZyBvdXRcclxuICB0YW5rQnVzdGVyczoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlcnMnLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVycycsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUnLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBqYTogJ+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiCcsXHJcbiAgICBrbzogJ+q0keyXrSDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgYXZvaWRUYW5rQ2xlYXZlOiB7XHJcbiAgICBlbjogJ0F2b2lkIHRhbmsgY2xlYXZlJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUgYXVzd2VpY2hlbicsXHJcbiAgICBmcjogJ8OJdml0ZXogbGUgdGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoPjgpLpgb/jgZHjgosnLFxyXG4gICAgY246ICfov5znprvpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlT25Zb3U6IHtcclxuICAgIGVuOiAnVGFuayBjbGVhdmUgb24gWU9VJyxcclxuICAgIGRlOiAnVGFuayBDbGVhdmUgYXVkIERJUicsXHJcbiAgICBmcjogJ1RhbmsgY2xlYXZlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5YmN5pa556+E5Zuy5pS75pKDJyxcclxuICAgIGNuOiAn6aG65YqI54K55ZCNJyxcclxuICAgIGtvOiAn64KY7JeQ6rKMIOq0keyXrSDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlcjoge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXInLFxyXG4gICAgZnI6ICdQYXJ0YWdleiBsZSBUYW5rIGJ1c3RlcicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkScsXHJcbiAgICBrbzogJ+yJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiBZT1UnLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBhdWYgRElSJyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgw6AgcGFydGFnZXIgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjgr/jg7Pjgq/jgrfjgqfjgqInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJHngrnlkI0nLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBzaGFyZWRUYW5rYnVzdGVyT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ2dldGVpbHRlciBUYW5rYnVzdGVyIG9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn0g44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K5ICR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ImQ7Ja0IO2DseuyhCcsXHJcbiAgfSxcclxuICB0YW5rU3dhcDoge1xyXG4gICAgZW46ICdUYW5rIFN3YXAhJyxcclxuICAgIGRlOiAnVGFua3dlY2hzZWwhJyxcclxuICAgIGZyOiAnVGFuayBzd2FwICEnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jgrnjgqTjg4Pjg4EhJyxcclxuICAgIGNuOiAn5o2iVO+8gScsXHJcbiAgICBrbzogJ+2DsSDqtZDrjIAnLFxyXG4gIH0sXHJcbiAgc3ByZWFkOiB7XHJcbiAgICBlbjogJ1NwcmVhZCcsXHJcbiAgICBkZTogJ1ZlcnRlaWxlbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNlei12b3VzJyxcclxuICAgIGphOiAn5pWj6ZaLJyxcclxuICAgIGNuOiAn5YiG5pWjJyxcclxuICAgIGtvOiAn7IKw6rCcJyxcclxuICB9LFxyXG4gIHN0YWNrTWFya2VyOiB7XHJcbiAgICAvLyBmb3Igc3RhY2sgbWFya2VyIHNpdHVhdGlvbnNcclxuICAgIGVuOiAnU3RhY2snLFxyXG4gICAgZGU6ICdTYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMnLFxyXG4gICAgamE6ICfpoK3libLjgoonLFxyXG4gICAgY246ICfliIbmkYonLFxyXG4gICAga286ICfsiZDslrTrjoAnLFxyXG4gIH0sXHJcbiAgZ2V0VG9nZXRoZXI6IHtcclxuICAgIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6ZuG5ZCIJyxcclxuICAgIGNuOiAn6ZuG5ZCIJyxcclxuICAgIGtvOiAn66qo7J206riwJyxcclxuICB9LFxyXG4gIHN0YWNrT25Zb3U6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnQXVmIERJUiBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2FnZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiOeCueWQjScsXHJcbiAgICBrbzogJ+yJkOyWtOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc3RhY2tPblBsYXllcjoge1xyXG4gICAgZW46ICdTdGFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdBdWYgJHtwbGF5ZXJ9IHNhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cyBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr6ZuG5ZCIJyxcclxuICAgIGNuOiAn6Z2g6L+RICR7cGxheWVyfembhuWQiCcsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ImQ7Ja07KeVJyxcclxuICB9LFxyXG4gIHN0YWNrTWlkZGxlOiB7XHJcbiAgICBlbjogJ1N0YWNrIGluIG1pZGRsZScsXHJcbiAgICBkZTogJ0luIGRlciBNaXR0ZSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgYXUgbWlsaWV1JyxcclxuICAgIGphOiAn5Lit5aSu44Gn6ZuG5ZCIJyxcclxuICAgIGNuOiAn5Lit6Ze06ZuG5ZCIJyxcclxuICAgIGtvOiAn7KSR7JWZ7JeQ7IScIOuqqOydtOq4sCcsXHJcbiAgfSxcclxuICBkb3JpdG9TdGFjazoge1xyXG4gICAgZW46ICdEb3JpdG8gU3RhY2snLFxyXG4gICAgZGU6ICdNaXQgTWFya2VyIHNhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXogbGVzIG1hcnF1YWdlcycsXHJcbiAgICBqYTogJ+ODnuODvOOCq+ODvOS7mOOBkeOBn+S6uuOBqOmbhuWQiCcsXHJcbiAgICBjbjogJ+eCueWQjembhuWQiCcsXHJcbiAgICBrbzogJ+ynleuBvOumrCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgc3ByZWFkVGhlblN0YWNrOiB7XHJcbiAgICBlbjogJ1NwcmVhZCA9PiBTdGFjaycsXHJcbiAgICBkZTogJ1ZlcnRlaWxlbiA9PiBTYW1tZWxuJyxcclxuICAgIGZyOiAnRGlzcGVyc2lvbiA9PiBQYWNrYWdlJyxcclxuICAgIGphOiAn5pWj6ZaLID0+IOmbhuWQiCcsXHJcbiAgICBjbjogJ+WIhuaVoyA9PiDpm4blkIgnLFxyXG4gICAga286ICfsgrDqsJwgPT4g7KeR7ZWpJyxcclxuICB9LFxyXG4gIHN0YWNrVGhlblNwcmVhZDoge1xyXG4gICAgZW46ICdTdGFjayA9PiBTcHJlYWQnLFxyXG4gICAgZGU6ICdTYW1tZWxuID0+IFZlcnRlaWxlbicsXHJcbiAgICBmcjogJ1BhY2thZ2UgPT4gRGlzcGVyc2lvbicsXHJcbiAgICBqYTogJ+OCueOCv+ODg+OCryA9PiDmlaPplosnLFxyXG4gICAgY246ICfpm4blkIggPT4g5YiG5pWjJyxcclxuICAgIGtvOiAn7KeR7ZWpID0+IOyCsOqwnCcsXHJcbiAgfSxcclxuICBkcmF3SW46IHtcclxuICAgIC8vIE9wcG9zaXRlIG9mIGEga25vY2tiYWNrLlxyXG4gICAgZW46ICdEcmF3IEluJyxcclxuICAgIGRlOiAnRWluenVnJyxcclxuICAgIGZyOiAnQXR0cmFjdGlvbicsXHJcbiAgICBqYTogJ+WQuOi+vOOBvycsXHJcbiAgICBjbjogJ+WQuOW8lScsXHJcbiAgICBrbzogJ+uBjOyWtOuLueq5gCcsXHJcbiAgfSxcclxuICBrbm9ja2JhY2s6IHtcclxuICAgIGVuOiAnS25vY2tiYWNrJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnycsXHJcbiAgICBmcjogJ1BvdXNzw6llJyxcclxuICAgIGphOiAn44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCAJyxcclxuICAgIGtvOiAn64SJ67CxJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uWW91OiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiBZT1UnLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiBESVInLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgOeCueWQjScsXHJcbiAgICBrbzogJ+uEieuwseynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnS25vY2tiYWNrIG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58gYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ1BvdXNzw6llIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOuEieuwseynlScsXHJcbiAgfSxcclxuICBsb29rVG93YXJkc0Jvc3M6IHtcclxuICAgIGVuOiAnTG9vayBUb3dhcmRzIEJvc3MnLFxyXG4gICAgZGU6ICdBbnNjaGF1ZW4gQm9zcycsXHJcbiAgICBmcjogJ1JlZ2FyZGV6IGxlIGJvc3MnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgosnLFxyXG4gICAgY246ICfpnaLlkJFCb3NzJyxcclxuICAgIGtvOiAn7LOQ64uk67O06riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5OiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheScsXHJcbiAgICBkZTogJ1dlZ3NjaGF1ZW4nLFxyXG4gICAgZnI6ICdSZWdhcmRleiBhaWxsZXVycycsXHJcbiAgICBqYTogJ+ODnOOCueOCkuimi+OBquOBhCcsXHJcbiAgICBjbjogJ+iDjOWvuUJvc3MnLFxyXG4gICAga286ICfrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgbG9va0F3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheSBmcm9tICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1NjaGF1IHdlZyB2b24gJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOCkuimi+OBquOBhCcsXHJcbiAgICBjbjogJ+iDjOWvuSR7cGxheWVyfScsXHJcbiAgICBrbzogJyR7cGxheWVyfeyXkOqyjOyEnCDrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiB7XHJcbiAgICBlbjogJ0xvb2sgQXdheSBmcm9tICR7bmFtZX0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7bmFtZX0nLFxyXG4gICAgZnI6ICdOZSByZWdhcmRleiBwYXMgJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeyXkOqyjOyEnCDrkqTrj4zquLAnLFxyXG4gIH0sXHJcbiAgZ2V0QmVoaW5kOiB7XHJcbiAgICBlbjogJ0dldCBCZWhpbmQnLFxyXG4gICAgZGU6ICdIaW50ZXIgaWhuJyxcclxuICAgIGZyOiAnUGFzc2V6IGRlcnJpw6hyZScsXHJcbiAgICBqYTogJ+iDjOmdouOBuCcsXHJcbiAgICBjbjogJ+WOu+iDjOWQjicsXHJcbiAgICBrbzogJ+uztOyKpCDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udE9yU2lkZXM6IHtcclxuICAgIGVuOiAnR28gRnJvbnQgLyBTaWRlcycsXHJcbiAgICBkZTogJ0dlaGUgbmFjaCBWb3JuZS8genUgZGVuIFNlaXRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudCAvIEPDtHTDqXMnLFxyXG4gICAgamE6ICfliY3vvI/mqKrjgbgnLFxyXG4gICAgY246ICfljrvliY3kvqfmlrknLFxyXG4gICAga286ICfrs7TsiqQg7ZuE67CpIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICBnb0Zyb250OiB7XHJcbiAgICBlbjogJ0dvIEZyb250JyxcclxuICAgIGRlOiAnR2VoIG5hY2ggdm9ybicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudCcsXHJcbiAgICBqYTogJ+WJjeOBuCcsXHJcbiAgICBjbjogJ+WOu+WJjemdoicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCcsXHJcbiAgfSxcclxuICAvLyBnZXRVbmRlciBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjoge1xyXG4gICAgZW46ICdHZXQgVW5kZXInLFxyXG4gICAgZGU6ICdVbnRlciBpaG4nLFxyXG4gICAgZnI6ICdFbiBkZXNzb3VzJyxcclxuICAgIGphOiAn44Oc44K544Gr6LK844KK5LuY44GPJyxcclxuICAgIGNuOiAn5Y676ISa5LiLJyxcclxuICAgIGtvOiAn67O07IqkIOyVhOuemOuhnCcsXHJcbiAgfSxcclxuICAvLyBpbiBpcyBtb3JlIGxpa2UgXCJnZXQgY2xvc2UgYnV0IG1heWJlIGV2ZW4gbWVsZWUgcmFuZ2UgaXMgZmluZVwiXHJcbiAgaW46IHtcclxuICAgIGVuOiAnSW4nLFxyXG4gICAgZGU6ICdSZWluJyxcclxuICAgIGZyOiAnSW50w6lyaWV1cicsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+mdoOi/kScsXHJcbiAgICBrbzogJ+yViOycvOuhnCcsXHJcbiAgfSxcclxuICAvLyBvdXQgbWVhbnMgZ2V0IGZhciBhd2F5XHJcbiAgb3V0OiB7XHJcbiAgICBlbjogJ091dCcsXHJcbiAgICBkZTogJ1JhdXMnLFxyXG4gICAgZnI6ICdFeHTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSW44G4JyxcclxuICAgIGNuOiAn6L+c56a7JyxcclxuICAgIGtvOiAn67CW7Jy866GcJyxcclxuICB9LFxyXG4gIG91dE9mTWVsZWU6IHtcclxuICAgIGVuOiAnT3V0IG9mIG1lbGVlJyxcclxuICAgIGRlOiAnUmF1cyBhdXMgTmFoa2FtcGYnLFxyXG4gICAgZnI6ICdTb3J0ZXogZGUgbGEgbcOqbMOpZScsXHJcbiAgICBqYTogJ+i/keaOpeacgOWkp+ODrOODs+OCuCcsXHJcbiAgICBjbjogJ+i/keaImOacgOi/nOi3neemu+WbnumBvycsXHJcbiAgICBrbzogJ+q3vOygkeuylOychCDrsJbsnLzroZwnLFxyXG4gIH0sXHJcbiAgaW5UaGVuT3V0OiB7XHJcbiAgICBlbjogJ0luLCB0aGVuIG91dCcsXHJcbiAgICBkZTogJ1JlaW4sIGRhbm4gcmF1cycsXHJcbiAgICBmcjogJ0ludMOpcmlldXIsIHB1aXMgZXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+S4rSA9PiDlpJYnLFxyXG4gICAgY246ICflhYjpnaDov5HvvIzlho3ov5znprsnLFxyXG4gICAga286ICfslYjsnLzroZwgPT4g67CW7Jy866GcJyxcclxuICB9LFxyXG4gIG91dFRoZW5Jbjoge1xyXG4gICAgZW46ICdPdXQsIHRoZW4gaW4nLFxyXG4gICAgZGU6ICdSYXVzLCBkYW5uIHJlaW4nLFxyXG4gICAgZnI6ICdFeHTDqXJpZXVyLCBwdWlzIGludMOpcmlldXInLFxyXG4gICAgamE6ICflpJYgPT4g5LitJyxcclxuICAgIGNuOiAn5YWI6L+c56a777yM5YaN6Z2g6L+RJyxcclxuICAgIGtvOiAn67CW7Jy866GcID0+IOyViOycvOuhnCcsXHJcbiAgfSxcclxuICBiYWNrVGhlbkZyb250OiB7XHJcbiAgICBlbjogJ0JhY2sgVGhlbiBGcm9udCcsXHJcbiAgICBkZTogJ05hY2ggSGludGVuLCBkYW5hY2ggbmFjaCBWb3JuZScsXHJcbiAgICBmcjogJ0RlcnJpw6hyZSBwdWlzIGRldmFudCcsXHJcbiAgICBqYTogJ+W+jOOCjSA9PiDliY0nLFxyXG4gICAgY246ICflkI4gPT4g5YmNJyxcclxuICAgIGtvOiAn65Kk66GcID0+IOyVnuycvOuhnCcsXHJcbiAgfSxcclxuICBmcm9udFRoZW5CYWNrOiB7XHJcbiAgICBlbjogJ0Zyb250IFRoZW4gQmFjaycsXHJcbiAgICBkZTogJ05hY2ggVm9ybmUsIGRhbmFjaCBuYWNoIEhpbnRlbicsXHJcbiAgICBmcjogJ0RldmFudCBwdWlzIGRlcnJpw6hyZScsXHJcbiAgICBqYTogJ+WJjSA9PiDlvozjgo0nLFxyXG4gICAgY246ICfliY0gPT4g5ZCOJyxcclxuICAgIGtvOiAn7JWe7Jy866GcID0+IOuSpOuhnCcsXHJcbiAgfSxcclxuICBnb0ludG9NaWRkbGU6IHtcclxuICAgIGVuOiAnR2V0IE1pZGRsZScsXHJcbiAgICBkZTogJ2luIGRpZSBNaXR0ZSBnZWhlbicsXHJcbiAgICBmcjogJ0FsbGV6IGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+WOu+S4remXtCcsXHJcbiAgICBrbzogJ+ykkeyVmeycvOuhnCcsXHJcbiAgfSxcclxuICByaWdodDoge1xyXG4gICAgZW46ICdSaWdodCcsXHJcbiAgICBkZTogJ1JlY2h0cycsXHJcbiAgICBmcjogJ8OAIGRyb2l0ZScsXHJcbiAgICBqYTogJ+WPs+OBuCcsXHJcbiAgICBjbjogJ+WPsycsXHJcbiAgICBrbzogJ+yYpOuluOyqvScsXHJcbiAgfSxcclxuICBsZWZ0OiB7XHJcbiAgICBlbjogJ0xlZnQnLFxyXG4gICAgZGU6ICdMaW5rcycsXHJcbiAgICBmcjogJ8OAIGdhdWNoZScsXHJcbiAgICBqYTogJ+W3puOBuCcsXHJcbiAgICBjbjogJ+W3picsXHJcbiAgICBrbzogJ+yZvOyqvScsXHJcbiAgfSxcclxuICBnZXRMZWZ0QW5kV2VzdDoge1xyXG4gICAgZW46ICc8PSBHZXQgTGVmdC9XZXN0JyxcclxuICAgIGRlOiAnPD0gTmFjaCBMaW5rcy9XZXN0ZW4nLFxyXG4gICAgZnI6ICc8PSBBbGxleiDDoCBHYXVjaGUvT3Vlc3QnLFxyXG4gICAgamE6ICc8PSDlt6Yv6KW/44G4JyxcclxuICAgIGNuOiAnPD0g5Y675bemL+ilv+i+uScsXHJcbiAgICBrbzogJzw9IOyZvOyqveycvOuhnCcsXHJcbiAgfSxcclxuICBnZXRSaWdodEFuZEVhc3Q6IHtcclxuICAgIGVuOiAnR2V0IFJpZ2h0L0Vhc3QgPT4nLFxyXG4gICAgZGU6ICdOYWNoIFJlY2h0cy9Pc3RlbiA9PicsXHJcbiAgICBmcjogJ0FsbGV6IMOgIERyb2l0ZS9Fc3QgPT4nLFxyXG4gICAgamE6ICflj7Mv5p2x44G4ID0+JyxcclxuICAgIGNuOiAn5Y675Y+zL+S4nOi+uSA9PicsXHJcbiAgICBrbzogJ+yYpOuluOyqveycvOuhnCA9PicsXHJcbiAgfSxcclxuICBnb0Zyb250QmFjazoge1xyXG4gICAgZW46ICdHbyBGcm9udC9CYWNrJyxcclxuICAgIGRlOiAnR2VoIG5hY2ggVm9ybmUvSGludGVuJyxcclxuICAgIGZyOiAnQWxsZXogRGV2YW50L0RlcnJpw6hyZScsXHJcbiAgICBqYTogJ+e4puOBuCcsXHJcbiAgICBjbjogJ+WOu+WJjeWQjicsXHJcbiAgICBrbzogJ+yVni/rkqTroZwnLFxyXG4gIH0sXHJcbiAgc2lkZXM6IHtcclxuICAgIGVuOiAnU2lkZXMnLFxyXG4gICAgZGU6ICdTZWl0ZW4nLFxyXG4gICAgZnI6ICdDw7R0w6lzJyxcclxuICAgIGphOiAn5qiq44G4JyxcclxuICAgIGNuOiAn5Y675L6n6Z2iJyxcclxuICAgIGtvOiAn7JaR7JiG7Jy866GcJyxcclxuICB9LFxyXG4gIG1pZGRsZToge1xyXG4gICAgZW46ICdNaWRkbGUnLFxyXG4gICAgZGU6ICdNaXR0ZScsXHJcbiAgICBmcjogJ01pbGlldScsXHJcbiAgICBqYTogJ+S4reOBuCcsXHJcbiAgICBjbjogJ+S4remXtCcsXHJcbiAgICBrbzogJ+ykkeyVmScsXHJcbiAgfSxcclxuICAvLyBraWxsQWRkcyBpcyB1c2VkIGZvciBhZGRzIHRoYXQgd2lsbCBhbHdheXMgYmUgYXZhaWxhYmxlXHJcbiAga2lsbEFkZHM6IHtcclxuICAgIGVuOiAnS2lsbCBhZGRzJyxcclxuICAgIGRlOiAnQWRkcyBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbGVzIGFkZHMnLFxyXG4gICAgamE6ICfpm5HprZrjgpLlh6bnkIYnLFxyXG4gICAgY246ICflh7vmnYDlsI/mgKonLFxyXG4gICAga286ICfsq4Qg7J6h6riwJyxcclxuICB9LFxyXG4gIC8vIGtpbGxFeHRyYUFkZCBpcyB1c2VkIGZvciBhZGRzIHRoYXQgYXBwZWFyIGlmIGEgbWVjaGFuaWMgd2FzIG5vdCBwbGF5ZWQgY29ycmVjdGx5XHJcbiAga2lsbEV4dHJhQWRkOiB7XHJcbiAgICBlbjogJ0tpbGwgRXh0cmEgQWRkJyxcclxuICAgIGRlOiAnQWRkIGJlc2llZ2VuJyxcclxuICAgIGZyOiAnVHVleiBsXFwnYWRkJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5YCS44GZJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICBhd2F5RnJvbUZyb250OiB7XHJcbiAgICBlbjogJ0F3YXkgRnJvbSBGcm9udCcsXHJcbiAgICBkZTogJ1dlZyB2b24gVm9ybmUnLFxyXG4gICAgZnI6ICfDiWxvaWduZXotdm91cyBkdSBkZXZhbnQnLFxyXG4gICAgamE6ICfliY3mlrnjgYvjgonpm6LjgozjgosnLFxyXG4gICAgY246ICfov5znprvmraPpnaInLFxyXG4gICAga286ICfrs7TsiqQg7KCE67CpIO2UvO2VmOq4sCcsXHJcbiAgfSxcclxuICBzbGVlcFRhcmdldDoge1xyXG4gICAgZW46ICdTbGVlcCAke25hbWV9JyxcclxuICAgIGRlOiAnU2NobGFmIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnU29tbWVpbCBzdXIgJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr44K544Oq44OX44OrJyxcclxuICAgIGNuOiAn5YKs55ygICR7bmFtZX0nLFxyXG4gICAga286ICcke25hbWV9IOyKrOumrO2UjCcsXHJcbiAgfSxcclxuICBzdHVuVGFyZ2V0OiB7XHJcbiAgICBlbjogJ1N0dW4gJHtuYW1lfScsXHJcbiAgICBkZTogJ0JldMOkdWJ1bmcgYXVmICR7bmFtZX0nLFxyXG4gICAgZnI6ICfDiXRvdXJkaXNzZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr44K544K/44OzJyxcclxuICAgIGNuOiAn55yp5pmVICR7bmFtZX0nLFxyXG4gICAga286ICcke25hbWV96riw7KCIJyxcclxuICB9LFxyXG4gIGludGVycnVwdFRhcmdldDoge1xyXG4gICAgZW46ICdpbnRlcnJ1cHQgJHtuYW1lfScsXHJcbiAgICBkZTogJ3VudGVyYnJlY2hlICR7bmFtZX0nLFxyXG4gICAgZnI6ICdJbnRlcnJvbXBleiAke25hbWV9JyxcclxuICAgIGphOiAnJHtuYW1lfSDjgavmsojpu5knLFxyXG4gICAgY246ICfmiZPmlq0ke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOyIoCDsi5zsoIQg64GK6riwJyxcclxuICB9LFxyXG4gIHByZXlPbllvdToge1xyXG4gICAgZW46ICdQcmV5IG9uIFlPVScsXHJcbiAgICBkZTogJ01hcmtlciBhdWYgRElSJyxcclxuICAgIGZyOiAnTWFycXVhZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0nLFxyXG4gICAga286ICftmY3smKXsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHByZXlPblBsYXllcjoge1xyXG4gICAgZW46ICdQcmV5IG9uICR7cGxheWVyfScsXHJcbiAgICBkZTogJ01hcmtlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnTWFycXVhZ2Ugc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+aNlemjnycsXHJcbiAgICBjbjogJ+aOoOmjn+eCueWQjSR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCIg7ZmN7Jil7KeVJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tR3JvdXA6IHtcclxuICAgIGVuOiAnQXdheSBmcm9tIEdyb3VwJyxcclxuICAgIGRlOiAnV2VnIHZvbiBkZXIgR3J1cHBlJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZ3JvdXBlJyxcclxuICAgIGphOiAn5aSW44G4JyxcclxuICAgIGNuOiAn6L+c56a75Lq6576kJyxcclxuICAgIGtvOiAn64uk66W4IOyCrOuejOuTpOydtOuekSDrlqjslrTsp4DquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21QbGF5ZXI6IHtcclxuICAgIGVuOiAnQXdheSBmcm9tICR7cGxheWVyfScsXHJcbiAgICBkZTogJ1dlZyB2b24gJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZGUgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a7JHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIuyXkOyEnCDrqYDslrTsp4DquLAnLFxyXG4gIH0sXHJcbiAgbWV0ZW9yT25Zb3U6IHtcclxuICAgIGVuOiAnTWV0ZW9yIG9uIFlPVScsXHJcbiAgICBkZTogJ01ldGVvciBhdWYgRElSJyxcclxuICAgIGZyOiAnTcOpdMOpb3JlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44Oh44OG44KqJyxcclxuICAgIGNuOiAn6Zmo55+z54K55ZCNJyxcclxuICAgIGtvOiAn64KY7JeQ6rKMIOuplO2FjOyYpOynlScsXHJcbiAgfSxcclxuICBzdG9wTW92aW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgTW92aW5nIScsXHJcbiAgICBkZTogJ0Jld2VndW5nIHN0b3BwZW4hJyxcclxuICAgIGZyOiAnTmUgYm91Z2V6IHBhcyAhJyxcclxuICAgIGphOiAn56e75YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i56e75Yqo77yBJyxcclxuICAgIGtvOiAn7J2064+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgc3RvcEV2ZXJ5dGhpbmc6IHtcclxuICAgIGVuOiAnU3RvcCBFdmVyeXRoaW5nIScsXHJcbiAgICBkZTogJ1N0b3BwZSBBbGxlcyEnLFxyXG4gICAgZnI6ICdBcnLDqnRleiBUT1VUICEnLFxyXG4gICAgamE6ICfooYzli5XnpoHmraLvvIEnLFxyXG4gICAgY246ICflgZzmraLooYzliqjvvIEnLFxyXG4gICAga286ICftlonrj5kg66mI7LaU6riwIScsXHJcbiAgfSxcclxuICBtb3ZlQXdheToge1xyXG4gICAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICAgIGVuOiAnTW92ZSEnLFxyXG4gICAgZGU6ICdCZXdlZ2VuIScsXHJcbiAgICBmcjogJ0JvdWdleiAhJyxcclxuICAgIGphOiAn6YG/44GR44Gm77yBJyxcclxuICAgIGNuOiAn5b+r6Lqy5byA77yBJyxcclxuICAgIGtvOiAn7J2064+Z7ZWY6riwIScsXHJcbiAgfSxcclxuICBtb3ZlQXJvdW5kOiB7XHJcbiAgICAvLyBtb3ZlIGFyb3VuZCAoZS5nLiBqdW1waW5nKSB0byBhdm9pZCBiZWluZyBmcm96ZW5cclxuICAgIGVuOiAnTW92ZSEnLFxyXG4gICAgZGU6ICdCZXdlZ2VuIScsXHJcbiAgICBmcjogJ0JvdWdleiAhJyxcclxuICAgIGphOiAn5YuV44GP77yBJyxcclxuICAgIGNuOiAn5b+r5Yqo77yBJyxcclxuICAgIGtvOiAn7JuA7KeB7J206riwIScsXHJcbiAgfSxcclxuICBicmVha0NoYWluczoge1xyXG4gICAgZW46ICdCcmVhayBjaGFpbnMnLFxyXG4gICAgZGU6ICdLZXR0ZSB6ZXJicmVjaGVuJyxcclxuICAgIGZyOiAnQnJpc2V6IGxlcyBjaGFpbmVzJyxcclxuICAgIGphOiAn57ea44KS5YiH44KLJyxcclxuICAgIGNuOiAn5YiH5pat6L+e57q/JyxcclxuICAgIGtvOiAn7ISgIOuBiuq4sCcsXHJcbiAgfSxcclxuICBtb3ZlQ2hhaW5zVG9nZXRoZXI6IHtcclxuICAgIGVuOiAnTW92ZSBjaGFpbnMgdG9nZXRoZXInLFxyXG4gICAgZGU6ICdLZXR0ZW4genVzYW1tZW4gYmV3ZWdlbicsXHJcbiAgICBmcjogJ0JvdWdleiBsZXMgY2hhaW5lcyBlbnNlbWJsZScsXHJcbiAgICBqYTogJ+e3muWQjOWjq+S4gOe3kuOBq+enu+WLlScsXHJcbiAgICBjbjogJ+i/nue6v+S4gOi1t+enu+WKqCcsXHJcbiAgICBrbzogJ+yEoCDrtpnslrTshJwg6rCZ7J20IOybgOyngeydtOq4sCcsXHJcbiAgfSxcclxuICBlYXJ0aHNoYWtlck9uWW91OiB7XHJcbiAgICBlbjogJ0VhcnRoIFNoYWtlciBvbiBZT1UnLFxyXG4gICAgZGU6ICdFcmRzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnTWFycXVlIGRlIHRlcnJlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44Ki44O844K544K344Kn44Kk44Kr44O8JyxcclxuICAgIGNuOiAn5aSn5Zyw5pGH5Yqo54K55ZCNJyxcclxuICAgIGtvOiAn7Ja07Iqk7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICB3YWtlVXA6IHtcclxuICAgIGVuOiAnV0FLRSBVUCcsXHJcbiAgICBkZTogJ0FVRldBQ0hFTicsXHJcbiAgICBmcjogJ1LDiVZFSUxMRS1UT0knLFxyXG4gICAgamE6ICfnm67jgpLopprjgb7jgZfjgabvvIEnLFxyXG4gICAgY246ICfphpLphpLvvIHliqjkuIDliqjvvIHvvIEnLFxyXG4gICAga286ICfsnbzslrTrgpjshLjsmpQhJyxcclxuICB9LFxyXG4gIGNsb3NlVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnQ2xvc2UgVGV0aGVycyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBkZTogJ05haGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgcHJvY2hlcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnKCR7cGxheWVyfSnjgavov5HjgaXjgY8nLFxyXG4gICAgY246ICfpnaDov5Hov57nur8gKCR7cGxheWVyfSknLFxyXG4gICAga286ICfsg4HrjIDsmYAg6rCA6rmM7J20IOu2meq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICBmYXJUZXRoZXJzV2l0aFBsYXllcjoge1xyXG4gICAgZW46ICdGYXIgVGV0aGVycyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBkZTogJ0VudGZlcm50ZSBWZXJiaW5kdW5nZW4gKCR7cGxheWVyfSknLFxyXG4gICAgZnI6ICdMaWVucyDDqWxvaWduw6lzIGF2ZWMgKCR7cGxheWVyfSknLFxyXG4gICAgamE6ICcgKCR7cGxheWVyfSnjgYvjgonpm6LjgozjgosnLFxyXG4gICAgY246ICfov5znprvov57nur8gKCR7cGxheWVyfSknLFxyXG4gICAga286ICfsg4HrjIDsmYAg65ao7Ja07KeA6riwICgke3BsYXllcn0pJyxcclxuICB9LFxyXG4gIHVua25vd246IHtcclxuICAgIGVuOiAnPz8/JyxcclxuICAgIGRlOiAnPz8/JyxcclxuICAgIGZyOiAnPz8/JyxcclxuICAgIGphOiAnPz8/JyxcclxuICAgIGNuOiAnPz8/JyxcclxuICAgIGtvOiAnPz8/JyxcclxuICB9LFxyXG4gIG5vcnRoOiB7XHJcbiAgICBlbjogJ05vcnRoJyxcclxuICAgIGRlOiAnTm9yZGVuJyxcclxuICAgIGZyOiAnTm9yZCcsXHJcbiAgICBqYTogJ+WMlycsXHJcbiAgICBjbjogJ+S4iijljJcpJyxcclxuICAgIGtvOiAn67aB7Kq9JyxcclxuICB9LFxyXG4gIHNvdXRoOiB7XHJcbiAgICBlbjogJ1NvdXRoJyxcclxuICAgIGRlOiAnU8O8ZGVuJyxcclxuICAgIGZyOiAnU3VkJyxcclxuICAgIGphOiAn5Y2XJyxcclxuICAgIGNuOiAn5LiLKOWNlyknLFxyXG4gICAga286ICfrgqjsqr0nLFxyXG4gIH0sXHJcbiAgZWFzdDoge1xyXG4gICAgZW46ICdFYXN0JyxcclxuICAgIGRlOiAnT3N0ZW4nLFxyXG4gICAgZnI6ICdFc3QnLFxyXG4gICAgamE6ICfmnbEnLFxyXG4gICAgY246ICflj7Mo5LicKScsXHJcbiAgICBrbzogJ+uPmeyqvScsXHJcbiAgfSxcclxuICB3ZXN0OiB7XHJcbiAgICBlbjogJ1dlc3QnLFxyXG4gICAgZGU6ICdXZXN0ZW4nLFxyXG4gICAgZnI6ICdPdWVzdCcsXHJcbiAgICBqYTogJ+ilvycsXHJcbiAgICBjbjogJ+W3pijopb8pJyxcclxuICAgIGtvOiAn7ISc7Kq9JyxcclxuICB9LFxyXG4gIG5vcnRod2VzdDoge1xyXG4gICAgZW46ICdOb3J0aHdlc3QnLFxyXG4gICAgZGU6ICdOb3Jkd2VzdGVuJyxcclxuICAgIGZyOiAnTm9yZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WMl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iijopb/ljJcpJyxcclxuICAgIGtvOiAn67aB7IScJyxcclxuICB9LFxyXG4gIG5vcnRoZWFzdDoge1xyXG4gICAgZW46ICdOb3J0aGVhc3QnLFxyXG4gICAgZGU6ICdOb3Jkb3N0ZW4nLFxyXG4gICAgZnI6ICdOb3JkLUVzdCcsXHJcbiAgICBqYTogJ+WMl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iijkuJzljJcpJyxcclxuICAgIGtvOiAn67aB64+ZJyxcclxuICB9LFxyXG4gIHNvdXRod2VzdDoge1xyXG4gICAgZW46ICdTb3V0aHdlc3QnLFxyXG4gICAgZGU6ICdTw7xkd2VzdGVuJyxcclxuICAgIGZyOiAnU3VkLU91ZXN0JyxcclxuICAgIGphOiAn5Y2X6KW/JyxcclxuICAgIGNuOiAn5bem5LiLKOilv+WNlyknLFxyXG4gICAga286ICfrgqjshJwnLFxyXG4gIH0sXHJcbiAgc291dGhlYXN0OiB7XHJcbiAgICBlbjogJ1NvdXRoZWFzdCcsXHJcbiAgICBkZTogJ1PDvGRvc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1Fc3QnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICBkaXJOOiB7XHJcbiAgICBlbjogJ04nLFxyXG4gICAgZGU6ICdOJyxcclxuICAgIGZyOiAnTicsXHJcbiAgICBqYTogJ+WMlycsXHJcbiAgICBjbjogJ+S4iijljJcpJyxcclxuICAgIGtvOiAn67aB7Kq9JyxcclxuICB9LFxyXG4gIGRpclM6IHtcclxuICAgIGVuOiAnUycsXHJcbiAgICBkZTogJ1MnLFxyXG4gICAgZnI6ICdTJyxcclxuICAgIGphOiAn5Y2XJyxcclxuICAgIGNuOiAn5LiLKOWNlyknLFxyXG4gICAga286ICfrgqjsqr0nLFxyXG4gIH0sXHJcbiAgZGlyRToge1xyXG4gICAgZW46ICdFJyxcclxuICAgIGRlOiAnTycsXHJcbiAgICBmcjogJ0UnLFxyXG4gICAgamE6ICfmnbEnLFxyXG4gICAgY246ICflj7Mo5LicKScsXHJcbiAgICBrbzogJ+uPmeyqvScsXHJcbiAgfSxcclxuICBkaXJXOiB7XHJcbiAgICBlbjogJ1cnLFxyXG4gICAgZGU6ICdXJyxcclxuICAgIGZyOiAnTycsXHJcbiAgICBqYTogJ+ilvycsXHJcbiAgICBjbjogJ+W3pijopb8pJyxcclxuICAgIGtvOiAn7ISc7Kq9JyxcclxuICB9LFxyXG4gIGRpck5XOiB7XHJcbiAgICBlbjogJ05XJyxcclxuICAgIGRlOiAnTlcnLFxyXG4gICAgZnI6ICdOTycsXHJcbiAgICBqYTogJ+WMl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iijopb/ljJcpJyxcclxuICAgIGtvOiAn67aB7IScJyxcclxuICB9LFxyXG4gIGRpck5FOiB7XHJcbiAgICBlbjogJ05FJyxcclxuICAgIGRlOiAnTk8nLFxyXG4gICAgZnI6ICdORScsXHJcbiAgICBqYTogJ+WMl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iijkuJzljJcpJyxcclxuICAgIGtvOiAn67aB64+ZJyxcclxuICB9LFxyXG4gIGRpclNXOiB7XHJcbiAgICBlbjogJ1NXJyxcclxuICAgIGRlOiAnU1cnLFxyXG4gICAgZnI6ICdTTycsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIGRpclNFOiB7XHJcbiAgICBlbjogJ1NFJyxcclxuICAgIGRlOiAnU08nLFxyXG4gICAgZnI6ICdTRScsXHJcbiAgICBqYTogJ+WNl+adsScsXHJcbiAgICBjbjogJ+WPs+S4iyjkuJzljZcpJyxcclxuICAgIGtvOiAn64Ko64+ZJyxcclxuICB9LFxyXG4gIC8vIExpdGVyYWwgbnVtYmVycy5cclxuICBudW0wOiBudW1iZXJUb091dHB1dFN0cmluZygwKSxcclxuICBudW0xOiBudW1iZXJUb091dHB1dFN0cmluZygxKSxcclxuICBudW0yOiBudW1iZXJUb091dHB1dFN0cmluZygyKSxcclxuICBudW0zOiBudW1iZXJUb091dHB1dFN0cmluZygzKSxcclxuICBudW00OiBudW1iZXJUb091dHB1dFN0cmluZyg0KSxcclxuICBudW01OiBudW1iZXJUb091dHB1dFN0cmluZyg1KSxcclxuICBudW02OiBudW1iZXJUb091dHB1dFN0cmluZyg2KSxcclxuICBudW03OiBudW1iZXJUb091dHB1dFN0cmluZyg3KSxcclxuICBudW04OiBudW1iZXJUb091dHB1dFN0cmluZyg4KSxcclxuICBudW05OiBudW1iZXJUb091dHB1dFN0cmluZyg5KSxcclxufSBhcyBjb25zdDtcclxuIiwiLy8gT3ZlcmxheVBsdWdpbiBBUEkgc2V0dXBcclxuXHJcbmltcG9ydCB7XHJcbiAgRXZlbnRNYXAsXHJcbiAgRXZlbnRUeXBlLFxyXG4gIElPdmVybGF5SGFuZGxlcixcclxuICBPdmVybGF5SGFuZGxlckZ1bmNzLFxyXG4gIE92ZXJsYXlIYW5kbGVyVHlwZXMsXHJcbn0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5cclxudHlwZSBCYXNlUmVzcG9uc2UgPSB7IHJzZXE/OiBudW1iZXI7ICckZXJyb3InPzogYm9vbGVhbiB9O1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBXaW5kb3cge1xyXG4gICAgX19PdmVybGF5Q2FsbGJhY2s6IEV2ZW50TWFwW0V2ZW50VHlwZV07XHJcbiAgICBkaXNwYXRjaE92ZXJsYXlFdmVudD86IHR5cGVvZiBwcm9jZXNzRXZlbnQ7XHJcbiAgICBPdmVybGF5UGx1Z2luQXBpOiB7XHJcbiAgICAgIHJlYWR5OiBib29sZWFuO1xyXG4gICAgICBjYWxsSGFuZGxlcjogKG1zZzogc3RyaW5nLCBjYj86ICh2YWx1ZTogc3RyaW5nKSA9PiB1bmtub3duKSA9PiB2b2lkO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGFkZE92ZXJsYXlMaXN0ZW5lciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXI6IElBZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyByZW1vdmVPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyOiBJUmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIGNhbGxPdmVybGF5SGFuZGxlcjogSU92ZXJsYXlIYW5kbGVyO1xyXG4gIH1cclxufVxyXG5cclxudHlwZSBJQWRkT3ZlcmxheUxpc3RlbmVyID0gPFQgZXh0ZW5kcyBFdmVudFR5cGU+KGV2ZW50OiBULCBjYjogRXZlbnRNYXBbVF0pID0+IHZvaWQ7XHJcbnR5cGUgSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG5cclxudHlwZSBTdWJzY3JpYmVyPFQ+ID0ge1xyXG4gIFtrZXkgaW4gRXZlbnRUeXBlXT86IFRbXTtcclxufTtcclxudHlwZSBFdmVudFBhcmFtZXRlciA9IFBhcmFtZXRlcnM8RXZlbnRNYXBbRXZlbnRUeXBlXT5bMF07XHJcbnR5cGUgVm9pZEZ1bmM8VD4gPSAoLi4uYXJnczogVFtdKSA9PiB2b2lkO1xyXG5cclxubGV0IGluaXRlZCA9IGZhbHNlO1xyXG5cclxubGV0IHdzVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxubGV0IHdzOiBXZWJTb2NrZXQgfCBudWxsID0gbnVsbDtcclxubGV0IHF1ZXVlOiAoXHJcbiAgfCB7IFtzOiBzdHJpbmddOiB1bmtub3duIH1cclxuICB8IFt7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sICgodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHVua25vd24pIHwgdW5kZWZpbmVkXVxyXG4pW10gfCBudWxsID0gW107XHJcbmxldCByc2VxQ291bnRlciA9IDA7XHJcbnR5cGUgUHJvbWlzZUZ1bmNzID0ge1xyXG4gIHJlc29sdmU6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcclxuICByZWplY3Q6ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZDtcclxufTtcclxuY29uc3QgcmVzcG9uc2VQcm9taXNlczogeyBbcnNlcUlkeDogbnVtYmVyXTogUHJvbWlzZUZ1bmNzIH0gPSB7fTtcclxuXHJcbmNvbnN0IHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPFZvaWRGdW5jPHVua25vd24+PiA9IHt9O1xyXG5cclxuY29uc3Qgc2VuZE1lc3NhZ2UgPSAoXHJcbiAgbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgY2I/OiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHVua25vd24sXHJcbik6IHZvaWQgPT4ge1xyXG4gIGlmICh3cykge1xyXG4gICAgaWYgKHF1ZXVlKVxyXG4gICAgICBxdWV1ZS5wdXNoKG1zZyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHdzLnNlbmQoSlNPTi5zdHJpbmdpZnkobXNnKSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChbbXNnLCBjYl0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5jYWxsSGFuZGxlcihKU09OLnN0cmluZ2lmeShtc2cpLCBjYik7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc0V2ZW50ID0gPFQgZXh0ZW5kcyBFdmVudFR5cGU+KG1zZzogUGFyYW1ldGVyczxFdmVudE1hcFtUXT5bMF0pOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGNvbnN0IHN1YnMgPSBzdWJzY3JpYmVyc1ttc2cudHlwZV07XHJcbiAgc3Vicz8uZm9yRWFjaCgoc3ViKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBzdWIobXNnKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkaXNwYXRjaE92ZXJsYXlFdmVudCA9IHByb2Nlc3NFdmVudDtcclxuXHJcbmV4cG9ydCBjb25zdCBhZGRPdmVybGF5TGlzdGVuZXI6IElBZGRPdmVybGF5TGlzdGVuZXIgPSAoZXZlbnQsIGNiKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBpZiAoIXN1YnNjcmliZXJzW2V2ZW50XSkge1xyXG4gICAgc3Vic2NyaWJlcnNbZXZlbnRdID0gW107XHJcblxyXG4gICAgaWYgKCFxdWV1ZSkge1xyXG4gICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgZXZlbnRzOiBbZXZlbnRdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1YnNjcmliZXJzW2V2ZW50XT8ucHVzaChjYiBhcyBWb2lkRnVuYzx1bmtub3duPik7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyOiBJUmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKHN1YnNjcmliZXJzW2V2ZW50XSkge1xyXG4gICAgY29uc3QgbGlzdCA9IHN1YnNjcmliZXJzW2V2ZW50XTtcclxuICAgIGNvbnN0IHBvcyA9IGxpc3Q/LmluZGV4T2YoY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG5cclxuICAgIGlmIChwb3MgIT09IHVuZGVmaW5lZCAmJiBwb3MgPiAtMSlcclxuICAgICAgbGlzdD8uc3BsaWNlKHBvcywgMSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGNvbnN0IG1zZyA9IHtcclxuICAgIC4uLl9tc2csXHJcbiAgICByc2VxOiAwLFxyXG4gIH07XHJcbiAgbGV0IHA6IFByb21pc2U8dW5rbm93bj47XHJcblxyXG4gIGlmICh3cykge1xyXG4gICAgbXNnLnJzZXEgPSByc2VxQ291bnRlcisrO1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gPSB7IHJlc29sdmU6IHJlc29sdmUsIHJlamVjdDogcmVqZWN0IH07XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZW5kTWVzc2FnZShtc2cpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBwID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBzZW5kTWVzc2FnZShtc2csIChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGRhdGEpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGRhdGEpIGFzIEJhc2VSZXNwb25zZTtcclxuICAgICAgICBpZiAocGFyc2VkWyckZXJyb3InXSlcclxuICAgICAgICAgIHJlamVjdChwYXJzZWQpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHJlc29sdmUocGFyc2VkKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwO1xyXG59O1xyXG5cclxudHlwZSBPdmVycmlkZU1hcCA9IHsgW2NhbGwgaW4gT3ZlcmxheUhhbmRsZXJUeXBlc10/OiBPdmVybGF5SGFuZGxlckZ1bmNzW2NhbGxdIH07XHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwOiBPdmVycmlkZU1hcCA9IHt9O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNhbGxPdmVybGF5SGFuZGxlcjogSU92ZXJsYXlIYW5kbGVyID0gKFxyXG4gIF9tc2c6IHsgW3M6IHN0cmluZ106IHVua25vd24gfSxcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4pOiBQcm9taXNlPGFueT4gPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgLy8gSWYgdGhpcyBgYXNgIGlzIGluY29ycmVjdCwgdGhlbiBpdCB3aWxsIG5vdCBmaW5kIGFuIG92ZXJyaWRlLlxyXG4gIC8vIFRPRE86IHdlIGNvdWxkIGFsc28gcmVwbGFjZSB0aGlzIHdpdGggYSB0eXBlIGd1YXJkLlxyXG4gIGNvbnN0IHR5cGUgPSBfbXNnLmNhbGwgYXMga2V5b2YgT3ZlcnJpZGVNYXA7XHJcbiAgY29uc3QgY2FsbEZ1bmMgPSBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA/PyBjYWxsT3ZlcmxheUhhbmRsZXJJbnRlcm5hbDtcclxuXHJcbiAgLy8gVGhlIGBJT3ZlcmxheUhhbmRsZXJgIHR5cGUgZ3VhcmFudGVlcyB0aGF0IHBhcmFtZXRlcnMvcmV0dXJuIHR5cGUgbWF0Y2hcclxuICAvLyBvbmUgb2YgdGhlIG92ZXJsYXkgaGFuZGxlcnMuICBUaGUgT3ZlcnJpZGVNYXAgYWxzbyBvbmx5IHN0b3JlcyBmdW5jdGlvbnNcclxuICAvLyB0aGF0IG1hdGNoIGJ5IHRoZSBkaXNjcmltaW5hdGluZyBgY2FsbGAgZmllbGQsIGFuZCBzbyBhbnkgb3ZlcnJpZGVzXHJcbiAgLy8gc2hvdWxkIGJlIGNvcnJlY3QgaGVyZS5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcclxuICByZXR1cm4gY2FsbEZ1bmMoX21zZyBhcyBhbnkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUgPSA8VCBleHRlbmRzIGtleW9mIE92ZXJsYXlIYW5kbGVyRnVuY3M+KFxyXG4gIHR5cGU6IFQsXHJcbiAgb3ZlcnJpZGU/OiBPdmVybGF5SGFuZGxlckZ1bmNzW1RdLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAoIW92ZXJyaWRlKSB7XHJcbiAgICBkZWxldGUgY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV07XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdID0gb3ZlcnJpZGU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdCA9ICgpOiB2b2lkID0+IHtcclxuICBpZiAoaW5pdGVkKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIHdzVXJsID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoJ09WRVJMQVlfV1MnKTtcclxuICAgIGlmICh3c1VybCAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBjb25uZWN0V3MgPSBmdW5jdGlvbih3c1VybDogc3RyaW5nKSB7XHJcbiAgICAgICAgd3MgPSBuZXcgV2ViU29ja2V0KHdzVXJsKTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignb3BlbicsICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdDb25uZWN0ZWQhJyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgcSA9IHF1ZXVlID8/IFtdO1xyXG4gICAgICAgICAgcXVldWUgPSBudWxsO1xyXG5cclxuICAgICAgICAgIHNlbmRNZXNzYWdlKHtcclxuICAgICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICAgIGV2ZW50czogT2JqZWN0LmtleXMoc3Vic2NyaWJlcnMpLFxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgZm9yIChjb25zdCBtc2cgb2YgcSkge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobXNnKSlcclxuICAgICAgICAgICAgICBzZW5kTWVzc2FnZShtc2cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB3cy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKF9tc2cpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgX21zZy5kYXRhICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSBkYXRhIHJlY2VpdmVkOiAnLCBfbXNnKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbXNnID0gSlNPTi5wYXJzZShfbXNnLmRhdGEpIGFzIEV2ZW50UGFyYW1ldGVyICYgQmFzZVJlc3BvbnNlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcHJvbWlzZUZ1bmNzID0gbXNnPy5yc2VxICE9PSB1bmRlZmluZWQgPyByZXNwb25zZVByb21pc2VzW21zZy5yc2VxXSA6IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgaWYgKG1zZy5yc2VxICE9PSB1bmRlZmluZWQgJiYgcHJvbWlzZUZ1bmNzKSB7XHJcbiAgICAgICAgICAgICAgaWYgKG1zZ1snJGVycm9yJ10pXHJcbiAgICAgICAgICAgICAgICBwcm9taXNlRnVuY3MucmVqZWN0KG1zZyk7XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlc29sdmUobXNnKTtcclxuICAgICAgICAgICAgICBkZWxldGUgcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcHJvY2Vzc0V2ZW50KG1zZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBtZXNzYWdlIHJlY2VpdmVkOiAnLCBfbXNnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB3cy5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsICgpID0+IHtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnVHJ5aW5nIHRvIHJlY29ubmVjdC4uLicpO1xyXG4gICAgICAgICAgLy8gRG9uJ3Qgc3BhbSB0aGUgc2VydmVyIHdpdGggcmV0cmllcy5cclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgICAgICAgIH0sIDMwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25uZWN0V3Mod3NVcmwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgd2FpdEZvckFwaSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGlmICghd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkgfHwgIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpLnJlYWR5KSB7XHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh3YWl0Rm9yQXBpLCAzMDApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcSA9IHF1ZXVlID8/IFtdO1xyXG4gICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgd2luZG93Ll9fT3ZlcmxheUNhbGxiYWNrID0gcHJvY2Vzc0V2ZW50O1xyXG5cclxuICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICBjYWxsOiAnc3Vic2NyaWJlJyxcclxuICAgICAgICAgIGV2ZW50czogT2JqZWN0LmtleXMoc3Vic2NyaWJlcnMpLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpXHJcbiAgICAgICAgICAgIHNlbmRNZXNzYWdlKGl0ZW1bMF0sIGl0ZW1bMV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuXHJcbiAgICAgIHdhaXRGb3JBcGkoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIZXJlIHRoZSBPdmVybGF5UGx1Z2luIEFQSSBpcyByZWdpc3RlcmVkIHRvIHRoZSB3aW5kb3cgb2JqZWN0LFxyXG4gICAgLy8gYnV0IHRoaXMgaXMgbWFpbmx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5Gb3IgY2FjdGJvdCdzIGJ1aWx0LWluIGZpbGVzLFxyXG4gICAgLy8gaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSB2YXJpb3VzIGZ1bmN0aW9ucyBleHBvcnRlZCBpbiByZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpLnRzLlxyXG4gICAgd2luZG93LmFkZE92ZXJsYXlMaXN0ZW5lciA9IGFkZE92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIHdpbmRvdy5yZW1vdmVPdmVybGF5TGlzdGVuZXIgPSByZW1vdmVPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cuY2FsbE92ZXJsYXlIYW5kbGVyID0gY2FsbE92ZXJsYXlIYW5kbGVyO1xyXG4gICAgd2luZG93LmRpc3BhdGNoT3ZlcmxheUV2ZW50ID0gZGlzcGF0Y2hPdmVybGF5RXZlbnQ7XHJcbiAgfVxyXG5cclxuICBpbml0ZWQgPSB0cnVlO1xyXG59O1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnOic7XHJcbmNvbnN0IG1hdGNoRGVmYXVsdCA9ICdbXjpdKic7XHJcbmNvbnN0IG1hdGNoV2l0aENvbG9uc0RlZmF1bHQgPSAnKD86W146XXw6ICkqPyc7XHJcbmNvbnN0IGZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMgPSBbJ2VmZmVjdCcsICdhYmlsaXR5J107XHJcblxyXG5jb25zdCBkZWZhdWx0UGFyYW1zID0gPFxyXG4gIFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgbG9nRGVmaW5pdGlvbnMsXHJcbj4odHlwZTogVCwgaW5jbHVkZT86IHN0cmluZ1tdKTogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4gPT4ge1xyXG4gIGluY2x1ZGUgPz89IE9iamVjdC5rZXlzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcyk7XHJcbiAgY29uc3QgcGFyYW1zOiB7IFtpbmRleDogbnVtYmVyXTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9IH0gPSB7fTtcclxuXHJcbiAgZm9yIChjb25zdCBbcHJvcCwgaW5kZXhdIG9mIE9iamVjdC5lbnRyaWVzKGxvZ0RlZmluaXRpb25zW3R5cGVdLmZpZWxkcykpIHtcclxuICAgIGlmICghaW5jbHVkZS5pbmNsdWRlcyhwcm9wKSlcclxuICAgICAgY29udGludWU7XHJcbiAgICBjb25zdCBwYXJhbTogeyBmaWVsZDogc3RyaW5nOyB2YWx1ZT86IHN0cmluZyB9ID0ge1xyXG4gICAgICBmaWVsZDogcHJvcCxcclxuICAgIH07XHJcbiAgICBpZiAocHJvcCA9PT0gJ3R5cGUnKVxyXG4gICAgICBwYXJhbS52YWx1ZSA9IGxvZ0RlZmluaXRpb25zW3R5cGVdLnR5cGU7XHJcblxyXG4gICAgcGFyYW1zW2luZGV4XSA9IHBhcmFtO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+O1xyXG59O1xyXG5cclxuY29uc3QgcGFyc2VIZWxwZXIgPSA8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4oXHJcbiAgcGFyYW1zOiB7IHRpbWVzdGFtcD86IHN0cmluZzsgY2FwdHVyZT86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCxcclxuICBkZWZLZXk6IFQsXHJcbiAgZmllbGRzOiBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PixcclxuKTogQ2FjdGJvdEJhc2VSZWdFeHA8VD4gPT4ge1xyXG4gIHBhcmFtcyA9IHBhcmFtcyA/PyB7fTtcclxuICBjb25zdCB2YWxpZEZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCBpbmRleCBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzW2luZGV4XTtcclxuICAgIGlmIChmaWVsZClcclxuICAgICAgdmFsaWRGaWVsZHMucHVzaChmaWVsZC5maWVsZCk7XHJcbiAgfVxyXG5cclxuICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgZGVmS2V5LCBbJ2NhcHR1cmUnLCAuLi52YWxpZEZpZWxkc10pO1xyXG5cclxuICAvLyBGaW5kIHRoZSBsYXN0IGtleSB3ZSBjYXJlIGFib3V0LCBzbyB3ZSBjYW4gc2hvcnRlbiB0aGUgcmVnZXggaWYgbmVlZGVkLlxyXG4gIGNvbnN0IGNhcHR1cmUgPSBSZWdleGVzLnRydWVJZlVuZGVmaW5lZChwYXJhbXMuY2FwdHVyZSk7XHJcbiAgY29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRzKS5zb3J0KChhLCBiKSA9PiBwYXJzZUludChhKSAtIHBhcnNlSW50KGIpKTtcclxuICBsZXQgbWF4S2V5U3RyOiBzdHJpbmc7XHJcbiAgaWYgKGNhcHR1cmUpIHtcclxuICAgIG1heEtleVN0ciA9IGZpZWxkS2V5c1tmaWVsZEtleXMubGVuZ3RoIC0gMV0gPz8gJzAnO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBtYXhLZXlTdHIgPSAnMCc7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWVsZHMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5XSA/PyB7fTtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXldPy5maWVsZDtcclxuICAgICAgaWYgKGZpZWxkTmFtZSAmJiBmaWVsZE5hbWUgaW4gcGFyYW1zKVxyXG4gICAgICAgIG1heEtleVN0ciA9IGtleTtcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3QgbWF4S2V5ID0gcGFyc2VJbnQobWF4S2V5U3RyKTtcclxuXHJcbiAgLy8gU3BlY2lhbCBjYXNlIGZvciBBYmlsaXR5IHRvIGhhbmRsZSBhb2UgYW5kIG5vbi1hb2UuXHJcbiAgY29uc3QgYWJpbGl0eU1lc3NhZ2VUeXBlID1cclxuICAgIGAoPzoke2xvZ0RlZmluaXRpb25zLkFiaWxpdHkubWVzc2FnZVR5cGV9fCR7bG9nRGVmaW5pdGlvbnMuTmV0d29ya0FPRUFiaWxpdHkubWVzc2FnZVR5cGV9KWA7XHJcbiAgY29uc3QgYWJpbGl0eUhleENvZGUgPSAnKD86MTV8MTYpJztcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBjb25zdCBwcmVmaXggPSBkZWZLZXkgIT09ICdBYmlsaXR5JyA/IGxvZ0RlZmluaXRpb25zW2RlZktleV0ubWVzc2FnZVR5cGUgOiBhYmlsaXR5TWVzc2FnZVR5cGU7XHJcbiAgY29uc3QgaGV4Q29kZSA9IGRlZktleSAhPT0gJ0FiaWxpdHknXHJcbiAgICA/IGAwMCR7cGFyc2VJbnQobG9nRGVmaW5pdGlvbnNbZGVmS2V5XS50eXBlKS50b1N0cmluZygxNil9YC5zbGljZSgtMikudG9VcHBlckNhc2UoKVxyXG4gICAgOiBhYmlsaXR5SGV4Q29kZTtcclxuXHJcbiAgbGV0IHN0ciA9ICcnO1xyXG4gIGlmIChjYXB0dXJlKVxyXG4gICAgc3RyICs9IGAoPzx0aW1lc3RhbXA+XFxcXHl7VGltZXN0YW1wfSkgJHtwcmVmaXh9ICg/PHR5cGU+JHtoZXhDb2RlfSlgO1xyXG4gIGVsc2VcclxuICAgIHN0ciArPSBgXFxcXHl7VGltZXN0YW1wfSAke3ByZWZpeH0gJHtoZXhDb2RlfWA7XHJcblxyXG4gIGxldCBsYXN0S2V5ID0gMTtcclxuICBmb3IgKGNvbnN0IGtleVN0ciBpbiBmaWVsZHMpIHtcclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkc1trZXlTdHJdPy5maWVsZDtcclxuXHJcbiAgICAvLyBSZWdleCBoYW5kbGVzIHRoZXNlIG1hbnVhbGx5IGFib3ZlIGluIHRoZSBgc3RyYCBpbml0aWFsaXphdGlvbi5cclxuICAgIGlmIChmaWVsZE5hbWUgPT09ICd0aW1lc3RhbXAnIHx8IGZpZWxkTmFtZSA9PT0gJ3R5cGUnKVxyXG4gICAgICBjb250aW51ZTtcclxuXHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9IGAke3NlcGFyYXRvcn0ke21hdGNoRGVmYXVsdH1gO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgKD86JHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9KXske21pc3NpbmdGaWVsZHN9fWA7XHJcbiAgICBsYXN0S2V5ID0ga2V5O1xyXG5cclxuICAgIHN0ciArPSBzZXBhcmF0b3I7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZGVmS2V5fTogaW52YWxpZCB2YWx1ZTogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XHJcblxyXG4gICAgY29uc3QgZmllbGREZWZhdWx0ID0gZmllbGROYW1lICYmIGZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMuaW5jbHVkZXMoZmllbGROYW1lKVxyXG4gICAgICA/IG1hdGNoV2l0aENvbG9uc0RlZmF1bHRcclxuICAgICAgOiBtYXRjaERlZmF1bHQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IGZpZWxkRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHIgKz0gZmllbGRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTdG9wIGlmIHdlJ3JlIG5vdCBjYXB0dXJpbmcgYW5kIGRvbid0IGNhcmUgYWJvdXQgZnV0dXJlIGZpZWxkcy5cclxuICAgIGlmIChrZXkgPj0gbWF4S2V5KVxyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIHN0ciArPSAnKD86JHw6KSc7XHJcblxyXG4gIHJldHVybiBSZWdleGVzLnBhcnNlKHN0cikgYXMgQ2FjdGJvdEJhc2VSZWdFeHA8VD47XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdleGVzIHtcclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTQtbmV0d29ya3N0YXJ0c2Nhc3RpbmdcclxuICAgKi9cclxuICBzdGF0aWMgc3RhcnRzVXNpbmcocGFyYW1zPzogTmV0UGFyYW1zWydTdGFydHNVc2luZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N0YXJ0c1VzaW5nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1N0YXJ0c1VzaW5nJywgZGVmYXVsdFBhcmFtcygnU3RhcnRzVXNpbmcnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTUtbmV0d29ya2FiaWxpdHlcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMTYtbmV0d29ya2FvZWFiaWxpdHlcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eShwYXJhbXM/OiBOZXRQYXJhbXNbJ0FiaWxpdHknXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBYmlsaXR5Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FiaWxpdHknLCBkZWZhdWx0UGFyYW1zKCdBYmlsaXR5JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQWRkZWRDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdBZGRlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwNC1yZW1vdmVjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgcmVtb3ZpbmdDb21iYXRhbnQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1JlbW92ZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUmVtb3ZlZENvbWJhdGFudCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdSZW1vdmVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnUmVtb3ZlZENvbWJhdGFudCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYS1uZXR3b3JrYnVmZlxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYWluc0VmZmVjdChwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhaW5zRWZmZWN0J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FpbnNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnR2FpbnNFZmZlY3QnLCBkZWZhdWx0UGFyYW1zKCdHYWluc0VmZmVjdCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWZlciBnYWluc0VmZmVjdCBvdmVyIHRoaXMgZnVuY3Rpb24gdW5sZXNzIHlvdSByZWFsbHkgbmVlZCBleHRyYSBkYXRhLlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyNi1uZXR3b3Jrc3RhdHVzZWZmZWN0c1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGF0dXNFZmZlY3RFeHBsaWNpdChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snU3RhdHVzRWZmZWN0J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N0YXR1c0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGF0dXNFZmZlY3QnLCBkZWZhdWx0UGFyYW1zKCdTdGF0dXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWUtbmV0d29ya2J1ZmZyZW1vdmVcclxuICAgKi9cclxuICBzdGF0aWMgbG9zZXNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydMb3Nlc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0xvc2VzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0xvc2VzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnTG9zZXNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjMtbmV0d29ya3RldGhlclxyXG4gICAqL1xyXG4gIHN0YXRpYyB0ZXRoZXIocGFyYW1zPzogTmV0UGFyYW1zWydUZXRoZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdUZXRoZXInPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnVGV0aGVyJywgZGVmYXVsdFBhcmFtcygnVGV0aGVyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogJ3RhcmdldCcgd2FzIGRlZmVhdGVkIGJ5ICdzb3VyY2UnXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE5LW5ldHdvcmtkZWF0aFxyXG4gICAqL1xyXG4gIHN0YXRpYyB3YXNEZWZlYXRlZChwYXJhbXM/OiBOZXRQYXJhbXNbJ1dhc0RlZmVhdGVkJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnV2FzRGVmZWF0ZWQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnV2FzRGVmZWF0ZWQnLCBkZWZhdWx0UGFyYW1zKCdXYXNEZWZlYXRlZCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIGVjaG8ocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdlY2hvJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDAzOCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBkaWFsb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdkaWFsb2cnLFxyXG4gICAgICBbJ3R5cGUnLCAndGltZXN0YW1wJywgJ2NvZGUnLCAnbmFtZScsICdsaW5lJywgJ2NhcHR1cmUnXSxcclxuICAgICk7XHJcbiAgICBwYXJhbXMuY29kZSA9ICcwMDQ0JztcclxuICAgIHJldHVybiBSZWdleGVzLmdhbWVMb2cocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMC1sb2dsaW5lXHJcbiAgICovXHJcbiAgc3RhdGljIG1lc3NhZ2UocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIGlmICh0eXBlb2YgcGFyYW1zID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcGFyYW1zID0ge307XHJcbiAgICBSZWdleGVzLnZhbGlkYXRlUGFyYW1zKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdtZXNzYWdlJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDgzOSc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHM6IGNvZGUsIG5hbWUsIGxpbmUsIGNhcHR1cmVcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnR2FtZUxvZycsIGRlZmF1bHRQYXJhbXMoJ0dhbWVMb2cnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBnYW1lTmFtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgLy8gQmFja3dhcmRzIGNvbXBhdGFiaWxpdHkuXHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMGMtcGxheWVyc3RhdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdENoYW5nZShwYXJhbXM/OiBOZXRQYXJhbXNbJ1BsYXllclN0YXRzJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnUGxheWVyU3RhdHMnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUGxheWVyU3RhdHMnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdDaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQWN0b3JDb250cm9sJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdOYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ01hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlbHBlciBmdW5jdGlvbiBmb3IgYnVpbGRpbmcgbmFtZWQgY2FwdHVyZSBncm91cFxyXG4gICAqL1xyXG4gIHN0YXRpYyBtYXliZUNhcHR1cmUoXHJcbiAgICBjYXB0dXJlOiBib29sZWFuLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxyXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdmFsdWUgPSBkZWZhdWx0VmFsdWUgPz8gbWF0Y2hEZWZhdWx0O1xyXG4gICAgdmFsdWUgPSBSZWdleGVzLmFueU9mKHZhbHVlKTtcclxuICAgIHJldHVybiBjYXB0dXJlID8gUmVnZXhlcy5uYW1lZENhcHR1cmUobmFtZSwgdmFsdWUpIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgb3B0aW9uYWwoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAoPzoke3N0cn0pP2A7XHJcbiAgfVxyXG5cclxuICAvLyBDcmVhdGVzIGEgbmFtZWQgcmVnZXggY2FwdHVyZSBncm91cCBuYW1lZCB8bmFtZXwgZm9yIHRoZSBtYXRjaCB8dmFsdWV8LlxyXG4gIHN0YXRpYyBuYW1lZENhcHR1cmUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChuYW1lLmluY2x1ZGVzKCc+JykpXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1wiJyArIG5hbWUgKyAnXCIgY29udGFpbnMgXCI+XCIuJyk7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPCcpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG5cclxuICAgIHJldHVybiAnKD88JyArIG5hbWUgKyAnPicgKyB2YWx1ZSArICcpJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlbmllbmNlIGZvciB0dXJuaW5nIG11bHRpcGxlIGFyZ3MgaW50byBhIHVuaW9uZWQgcmVndWxhciBleHByZXNzaW9uLlxyXG4gICAqIGFueU9mKHgsIHksIHopIG9yIGFueU9mKFt4LCB5LCB6XSkgZG8gdGhlIHNhbWUgdGhpbmcsIGFuZCByZXR1cm4gKD86eHx5fHopLlxyXG4gICAqIGFueU9mKHgpIG9yIGFueU9mKHgpIG9uIGl0cyBvd24gc2ltcGxpZmllcyB0byBqdXN0IHguXHJcbiAgICogYXJncyBtYXkgYmUgc3RyaW5ncyBvciBSZWdFeHAsIGFsdGhvdWdoIGFueSBhZGRpdGlvbmFsIG1hcmtlcnMgdG8gUmVnRXhwXHJcbiAgICogbGlrZSAvaW5zZW5zaXRpdmUvaSBhcmUgZHJvcHBlZC5cclxuICAgKi9cclxuICBzdGF0aWMgYW55T2YoLi4uYXJnczogKHN0cmluZyB8IHN0cmluZ1tdIHwgUmVnRXhwKVtdKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFueU9mQXJyYXkgPSAoYXJyYXk6IChzdHJpbmcgfCBSZWdFeHApW10pOiBzdHJpbmcgPT4ge1xyXG4gICAgICByZXR1cm4gYCg/OiR7YXJyYXkubWFwKChlbGVtKSA9PiBlbGVtIGluc3RhbmNlb2YgUmVnRXhwID8gZWxlbS5zb3VyY2UgOiBlbGVtKS5qb2luKCd8Jyl9KWA7XHJcbiAgICB9O1xyXG4gICAgbGV0IGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdID0gW107XHJcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXJnc1swXSkpXHJcbiAgICAgICAgYXJyYXkgPSBhcmdzWzBdO1xyXG4gICAgICBlbHNlIGlmIChhcmdzWzBdKVxyXG4gICAgICAgIGFycmF5ID0gW2FyZ3NbMF1dO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgYXJyYXkgPSBbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFRPRE86IG1vcmUgYWNjdXJhdGUgdHlwZSBpbnN0ZWFkIG9mIGBhc2AgY2FzdFxyXG4gICAgICBhcnJheSA9IGFyZ3MgYXMgc3RyaW5nW107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYW55T2ZBcnJheShhcnJheSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFyc2UocmVnZXhwU3RyaW5nOiBSZWdFeHAgfCBzdHJpbmcgfCBDYWN0Ym90QmFzZVJlZ0V4cDwnTm9uZSc+KTogUmVnRXhwIHtcclxuICAgIGNvbnN0IGtDYWN0Ym90Q2F0ZWdvcmllcyA9IHtcclxuICAgICAgVGltZXN0YW1wOiAnXi57MTR9JyxcclxuICAgICAgTmV0VGltZXN0YW1wOiAnLnszM30nLFxyXG4gICAgICBOZXRGaWVsZDogJyg/OltefF0qXFxcXHwpJyxcclxuICAgICAgTG9nVHlwZTogJ1swLTlBLUZhLWZdezJ9JyxcclxuICAgICAgQWJpbGl0eUNvZGU6ICdbMC05QS1GYS1mXXsxLDh9JyxcclxuICAgICAgT2JqZWN0SWQ6ICdbMC05QS1GXXs4fScsXHJcbiAgICAgIC8vIE1hdGNoZXMgYW55IGNoYXJhY3RlciBuYW1lIChpbmNsdWRpbmcgZW1wdHkgc3RyaW5ncyB3aGljaCB0aGUgRkZYSVZcclxuICAgICAgLy8gQUNUIHBsdWdpbiBjYW4gZ2VuZXJhdGUgd2hlbiB1bmtub3duKS5cclxuICAgICAgTmFtZTogJyg/OlteXFxcXHM6fF0rKD86IFteXFxcXHM6fF0rKT98KScsXHJcbiAgICAgIC8vIEZsb2F0cyBjYW4gaGF2ZSBjb21tYSBhcyBzZXBhcmF0b3IgaW4gRkZYSVYgcGx1Z2luIG91dHB1dDogaHR0cHM6Ly9naXRodWIuY29tL3JhdmFobi9GRlhJVl9BQ1RfUGx1Z2luL2lzc3Vlcy8xMzdcclxuICAgICAgRmxvYXQ6ICctP1swLTldKyg/OlsuLF1bMC05XSspPyg/OkUtP1swLTldKyk/JyxcclxuICAgIH07XHJcblxyXG4gICAgLy8gQWxsIHJlZ2V4ZXMgaW4gY2FjdGJvdCBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICAgIC8vIFRoaXMgYXZvaWRzIGhlYWRhY2hlcyBhcyB0aGluZ3MgbGlrZSBgVmljZSBhbmQgVmFuaXR5YCB0dXJucyBpbnRvXHJcbiAgICAvLyBgVmljZSBBbmQgVmFuaXR5YCwgZXNwZWNpYWxseSBmb3IgRnJlbmNoIGFuZCBHZXJtYW4uICBJdCBhcHBlYXJzIHRvXHJcbiAgICAvLyBoYXZlIGEgfjIwJSByZWdleCBwYXJzaW5nIG92ZXJoZWFkLCBidXQgYXQgbGVhc3QgdGhleSB3b3JrLlxyXG4gICAgbGV0IG1vZGlmaWVycyA9ICdpJztcclxuICAgIGlmIChyZWdleHBTdHJpbmcgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcuZ2xvYmFsID8gJ2cnIDogJycpICtcclxuICAgICAgICAocmVnZXhwU3RyaW5nLm11bHRpbGluZSA/ICdtJyA6ICcnKTtcclxuICAgICAgcmVnZXhwU3RyaW5nID0gcmVnZXhwU3RyaW5nLnNvdXJjZTtcclxuICAgIH1cclxuICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5yZXBsYWNlKC9cXFxceVxceyguKj8pXFx9L2csIChtYXRjaCwgZ3JvdXApID0+IHtcclxuICAgICAgcmV0dXJuIGtDYWN0Ym90Q2F0ZWdvcmllc1tncm91cCBhcyBrZXlvZiB0eXBlb2Yga0NhY3Rib3RDYXRlZ29yaWVzXSB8fCBtYXRjaDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXhwU3RyaW5nLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gTGlrZSBSZWdleC5SZWdleGVzLnBhcnNlLCBidXQgZm9yY2UgZ2xvYmFsIGZsYWcuXHJcbiAgc3RhdGljIHBhcnNlR2xvYmFsKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nKTogUmVnRXhwIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gUmVnZXhlcy5wYXJzZShyZWdleHBTdHJpbmcpO1xyXG4gICAgbGV0IG1vZGlmaWVycyA9ICdnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKVxyXG4gICAgICBtb2RpZmllcnMgKz0gKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChyZWdleC5zb3VyY2UsIG1vZGlmaWVycyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHJ1ZUlmVW5kZWZpbmVkKHZhbHVlPzogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHR5cGVvZiAodmFsdWUpID09PSAndW5kZWZpbmVkJylcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gISF2YWx1ZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB2YWxpZGF0ZVBhcmFtcyhcclxuICAgIGY6IFJlYWRvbmx5PHsgW3M6IHN0cmluZ106IHVua25vd24gfT4sXHJcbiAgICBmdW5jTmFtZTogc3RyaW5nLFxyXG4gICAgcGFyYW1zOiBSZWFkb25seTxzdHJpbmdbXT4sXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAoZiA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiBmICE9PSAnb2JqZWN0JylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGYpO1xyXG4gICAgZm9yIChsZXQgayA9IDA7IGsgPCBrZXlzLmxlbmd0aDsgKytrKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGtleXNba107XHJcbiAgICAgIGlmIChrZXkgJiYgIXBhcmFtcy5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHBhcmFtZXRlciAnJHtrZXl9Jy4gIGAgK1xyXG4gICAgICAgICAgICBgVmFsaWQgcGFyYW1zOiAke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9YCxcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBhIHRyaWdnZXIgYXMgc3VjaDpcclxuLy8ge1xyXG4vLyAgIGlkOiAnU29tZSB0YW5rYnVzdGVyJyxcclxuLy8gICByZWdleDogUmVnZXhlcy5zdGFydHNVc2luZyh7c291cmNlOiAnWWUgT2xkZSBCb3NzZScsIGlkOiAnNjY2J30pLFxyXG4vLyAgIGNvbmRpdGlvbjogQ29uZGl0aW9ucy5jYXJlc0Fib3V0TWFnaWNhbChkYXRhKSxcclxuLy8gICByZXNwb25zZTogUmVzcG9uc2VzLnRhbmtidXN0ZXIoKSxcclxuLy8gfSxcclxuLy9cclxuLy8gTm90ZTogQnJlYWtpbmcgb3V0IHRoZSBjb25kaXRpb24gbGlrZSB0aGlzIGxldHMgcGVvcGxlIG92ZXJyaWRlIGl0IGlmIHRoZXlcclxuLy8gYWx3YXlzIChvciBuZXZlcikgd2FudCB0byBrbm93IGFib3V0IGl0LCByYXRoZXIgdGhhbiBoaWRpbmcgdGhlIGxvZ2ljIGluc2lkZVxyXG4vLyB0aGUgdGFua2J1c3RlciBjYWxsYmFjayB3aXRoIGEgXCJpcyBoZWFsZXJcIiBjaGVjay5cclxuLy9cclxuLy8gSWYgZGF0YS5yb2xlIGlzIHVzZWQsIGl0IHNob3VsZCBiZSBvbmx5IHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhbGVydCBsZXZlbHMsXHJcbi8vIGFuZCBub3Qgd2hldGhlciBhIG1lc3NhZ2UgaXMgc2VudCBhdCBhbGwuXHJcbi8vXHJcbi8vIEFsdGhvdWdoIHRoaXMgaXMgbm90IHRydWUgb2YgYHJlc3BvbnNlOiBgIGZpZWxkcyBvbiB0cmlnZ2VycyBpbiBnZW5lcmFsLFxyXG4vLyBhbGwgcmVzcG9uc2VzIGluIHRoaXMgZmlsZSBzaG91bGQgZWl0aGVyIHJldHVybiBhbiBvYmplY3Qgb3IgYSBzaW5nbGVcclxuLy8gZnVuY3Rpb24gdGhhdCBzZXRzIG91dHB1dFN0cmluZ3MgYW5kIHJldHVybnMgYW4gb2JqZWN0IHdpdGhvdXQgZG9pbmdcclxuLy8gYW55dGhpbmcgd2l0aCBkYXRhIG9yIG1hdGNoZXMuICBTZWUgYHJlc3BvbnNlc190ZXN0LmpzYC5cclxuXHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSBhcyBEYXRhIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7XHJcbiAgTG9jYWxlVGV4dCxcclxuICBMb29zZVRyaWdnZXIsXHJcbiAgT3V0cHV0LFxyXG4gIFJlc3BvbnNlRnVuYyxcclxuICBSZXNwb25zZU91dHB1dCxcclxuICBUYXJnZXRlZE1hdGNoZXMsXHJcbiAgVHJpZ2dlckZ1bmMsXHJcbiAgVHJpZ2dlck91dHB1dCxcclxufSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBPdXRwdXRzIGZyb20gJy4vb3V0cHV0cyc7XHJcblxyXG50eXBlIFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSBSZXNwb25zZU91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkUmVzcG9uc2VGdW5jID0gUmVzcG9uc2VGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcz47XHJcbnR5cGUgVGFyZ2V0ZWRGdW5jID0gVHJpZ2dlckZ1bmM8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzLCBUcmlnZ2VyT3V0cHV0PERhdGEsIFRhcmdldGVkTWF0Y2hlcz4+O1xyXG50eXBlIFN0YXRpY1Jlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBNYXRjaGVzPjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXZlcml0eUxpc3QgPSBbJ2luZm8nLCAnYWxlcnQnLCAnYWxhcm0nXSBhcyBjb25zdDtcclxuZXhwb3J0IHR5cGUgU2V2ZXJpdHkgPSB0eXBlb2Ygc2V2ZXJpdHlMaXN0W251bWJlcl07XHJcbmV4cG9ydCB0eXBlIFNldlRleHQgPSAnaW5mb1RleHQnIHwgJ2FsZXJ0VGV4dCcgfCAnYWxhcm1UZXh0JztcclxuXHJcbmV4cG9ydCBjb25zdCBidWlsdEluUmVzcG9uc2VTdHIgPSAnY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlJztcclxuXHJcbi8vIEFsbCB2YWxpZCB0cmlnZ2VyIGZpZWxkcy5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJGdW5jdGlvbnM6IChrZXlvZiBMb29zZVRyaWdnZXIpW10gPSBbXHJcbiAgJ2FsYXJtVGV4dCcsXHJcbiAgJ2FsZXJ0VGV4dCcsXHJcbiAgJ2NvbmRpdGlvbicsXHJcbiAgJ2RlbGF5U2Vjb25kcycsXHJcbiAgJ2Rpc2FibGVkJyxcclxuICAnZHVyYXRpb25TZWNvbmRzJyxcclxuICAnaWQnLFxyXG4gICd0eXBlJyxcclxuICAnaW5mb1RleHQnLFxyXG4gICdwcmVSdW4nLFxyXG4gICdwcm9taXNlJyxcclxuICAncmVzcG9uc2UnLFxyXG4gICdydW4nLFxyXG4gICdzb3VuZCcsXHJcbiAgJ3NvdW5kVm9sdW1lJyxcclxuICAnc3VwcHJlc3NTZWNvbmRzJyxcclxuICAndHRzJyxcclxuICAnb3V0cHV0U3RyaW5ncycsXHJcbl07XHJcblxyXG4vLyBUcmlnZ2VyIGZpZWxkcyB0aGF0IGNhbiBwcm9kdWNlIHRleHQgb3V0cHV0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlclRleHRPdXRwdXRGdW5jdGlvbnM6IChrZXlvZiBMb29zZVRyaWdnZXIpW10gPSBbXHJcbiAgJ2FsYXJtVGV4dCcsXHJcbiAgJ2FsZXJ0VGV4dCcsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncmVzcG9uc2UnLFxyXG4gICd0dHMnLFxyXG5dO1xyXG5cclxuLy8gSWYgYSB0cmlnZ2VyIGhhcyBhbnkgb2YgdGhlc2UsIHRoZW4gaXQgaGFzIGEgdmlzaWJsZS9hdWRpbyBlZmZlY3QuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gIC4uLnRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zLFxyXG4gICdzb3VuZCcsXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlNYXA6IHsgW3NldiBpbiBTZXZlcml0eV06IFNldlRleHQgfSA9IHtcclxuICAnaW5mbyc6ICdpbmZvVGV4dCcsXHJcbiAgJ2FsZXJ0JzogJ2FsZXJ0VGV4dCcsXHJcbiAgJ2FsYXJtJzogJ2FsYXJtVGV4dCcsXHJcbn07XHJcblxyXG5jb25zdCBnZXRUZXh0ID0gKHNldjogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIShzZXYgaW4gc2V2ZXJpdHlNYXApKVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNldmVyaXR5OiAke3Nldn0uYCk7XHJcbiAgcmV0dXJuIHNldmVyaXR5TWFwW3Nldl07XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0SW5mb1RleHQgPSAoc2V2PzogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIXNldilcclxuICAgIHJldHVybiAnaW5mb1RleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxlcnRUZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsZXJ0VGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGRlZmF1bHRBbGFybVRleHQgPSAoc2V2PzogU2V2ZXJpdHkpOiBTZXZUZXh0ID0+IHtcclxuICBpZiAoIXNldilcclxuICAgIHJldHVybiAnYWxhcm1UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZ2V0VGFyZ2V0ID0gKG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4ge1xyXG4gIC8vIE9mdGVuIHRhbmtidXN0ZXJzIGNhbiBiZSBjYXN0ZWQgYnkgdGhlIGJvc3Mgb24gdGhlIGJvc3MuXHJcbiAgLy8gQ29uc2lkZXIgdGhpcyBhcyBcIm5vdCBoYXZpbmcgYSB0YXJnZXRcIi5cclxuICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy50YXJnZXQgPT09IG1hdGNoZXMuc291cmNlKVxyXG4gICAgcmV0dXJuO1xyXG4gIHJldHVybiBtYXRjaGVzLnRhcmdldDtcclxufTtcclxuXHJcbmNvbnN0IGdldFNvdXJjZSA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICByZXR1cm4gbWF0Y2hlcz8uc291cmNlO1xyXG59O1xyXG5cclxuLy8gRklYTUU6IG1ha2UgdGhpcyB3b3JrIGZvciBhbnkgbnVtYmVyIG9mIHBhaXJzIG9mIHBhcmFtc1xyXG5jb25zdCBjb21iaW5lRnVuY3MgPSBmdW5jdGlvbihcclxuICB0ZXh0MTogU2V2VGV4dCxcclxuICBmdW5jMTogVGFyZ2V0ZWRGdW5jLFxyXG4gIHRleHQyOiBTZXZUZXh0LFxyXG4gIGZ1bmMyOiBUYXJnZXRlZEZ1bmMsXHJcbikge1xyXG4gIGNvbnN0IG9iajogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9IHt9O1xyXG5cclxuICBpZiAodGV4dDEgIT09IHRleHQyKSB7XHJcbiAgICBvYmpbdGV4dDFdID0gZnVuYzE7XHJcbiAgICBvYmpbdGV4dDJdID0gZnVuYzI7XHJcbiAgfSBlbHNlIHtcclxuICAgIG9ialt0ZXh0MV0gPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICByZXR1cm4gZnVuYzEoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSB8fCBmdW5jMihkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgfTtcclxuICB9XHJcbiAgcmV0dXJuIG9iajtcclxufTtcclxuXHJcbmNvbnN0IGlzUGxheWVySWQgPSAoaWQ/OiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gaWQgJiYgaWRbMF0gIT09ICc0JztcclxufTtcclxuXHJcbi8vIEZvciByZXNwb25zZXMgdGhhdCB1bmNvbmRpdGlvbmFsbHkgcmV0dXJuIHN0YXRpYyB0ZXh0LlxyXG5jb25zdCBzdGF0aWNSZXNwb25zZSA9IChmaWVsZDogU2V2VGV4dCwgdGV4dDogTG9jYWxlVGV4dCk6IFN0YXRpY1Jlc3BvbnNlRnVuYyA9PiB7XHJcbiAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHRleHQ6IHRleHQsXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgW2ZpZWxkXTogKF9kYXRhOiB1bmtub3duLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IG91dHB1dC50ZXh0Py4oKSxcclxuICAgIH07XHJcbiAgfTtcclxufTtcclxuXHJcbnR5cGUgU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgPSAoc2V2PzogU2V2ZXJpdHkpID0+IFRhcmdldGVkUmVzcG9uc2VGdW5jIHwgU3RhdGljUmVzcG9uc2VGdW5jO1xyXG50eXBlIERvdWJsZVNldlRvUmVzcG9uc2VGdW5jID0gKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYztcclxudHlwZSBSZXNwb25zZXNNYXAgPSB7XHJcbiAgW3Jlc3BvbnNlOiBzdHJpbmddOiBTaW5nbGVTZXZUb1Jlc3BvbnNlRnVuYyB8IERvdWJsZVNldlRvUmVzcG9uc2VGdW5jO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFJlc3BvbnNlcyA9IHtcclxuICB0YW5rQnVzdGVyOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIG5vVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXIsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgIT09ICd0YW5rJyAmJiBkYXRhLnJvbGUgIT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICghdGFyZ2V0KSB7XHJcbiAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5ub1RhcmdldD8uKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uVGFyZ2V0Py4oeyBwbGF5ZXI6IGRhdGEuU2hvcnROYW1lKHRhcmdldCkgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGNvbWJpbmVkID0gY29tYmluZUZ1bmNzKFxyXG4gICAgICBkZWZhdWx0QWxlcnRUZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiB1bmtub3duLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpOiBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdGFua0J1c3RlclN3YXA6IChidXN0ZXJTZXY/OiBTZXZlcml0eSwgc3dhcFNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0YW5rU3dhcDogT3V0cHV0cy50YW5rU3dhcCxcclxuICAgICAgYnVzdGVyT25Zb3U6IE91dHB1dHMudGFua0J1c3Rlck9uWW91LFxyXG4gICAgICBidXN0ZXJPblRhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyT25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE5vdGU6IGJ1c3RlclNldiBhbmQgc3dhcFNldiBjYW4gYmUgdGhlIHNhbWUgcHJpb3JpdHkuXHJcbiAgICBjb25zdCB0YW5rU3dhcEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyAmJiB0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC50YW5rU3dhcD8uKCk7XHJcbiAgICB9O1xyXG4gICAgY29uc3QgYnVzdGVyRnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuXHJcbiAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyAmJiB0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsYXJtVGV4dChzd2FwU2V2KSxcclxuICAgICAgdGFua1N3YXBGdW5jLFxyXG4gICAgICBkZWZhdWx0QWxlcnRUZXh0KGJ1c3RlclNldiksXHJcbiAgICAgIGJ1c3RlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtDbGVhdmU6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGNsZWF2ZU9uWW91OiBPdXRwdXRzLnRhbmtDbGVhdmVPbllvdSxcclxuICAgICAgICBjbGVhdmVOb1RhcmdldDogT3V0cHV0cy50YW5rQ2xlYXZlLFxyXG4gICAgICAgIGF2b2lkQ2xlYXZlOiBPdXRwdXRzLmF2b2lkVGFua0NsZWF2ZSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEluZm9UZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5jbGVhdmVPbllvdT8uKCk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5qb2IgPT09ICdCTFUnKSB7XHJcbiAgICAgICAgICAgIC8vIHRhcmdldGxlc3MgdGFuayBjbGVhdmVcclxuICAgICAgICAgICAgLy8gQkxVIHBsYXllcnMgc2hvdWxkIGFsd2F5cyBnZXQgdGhpcyBnZW5lcmljIGNsZWF2ZSBtZXNzYWdlLlxyXG4gICAgICAgICAgICAvLyBXZSBoYXZlIG5vIHJvYnVzdCB3YXkgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhleSBoYXZlIHRhbmsgTWltaWNyeSBvbixcclxuICAgICAgICAgICAgLy8gYW5kIGl0J3MgcmVhbGx5IGFubm95aW5nIGZvciBhIEJMVSB0YW5rIHRvIGJlIHRvbGQgdG8gYXZvaWQgY2xlYXZlcyB3aGVuIHRoZXkgY2FuJ3QuXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlTm9UYXJnZXQ/LigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5hdm9pZENsZWF2ZT8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc2hhcmVkVGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyT25Zb3U6IE91dHB1dHMuc2hhcmVkVGFua2J1c3Rlck9uWW91LFxyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMuc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyLFxyXG4gICAgICBzaGFyZWRUYW5rYnVzdGVyOiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXIsXHJcbiAgICAgIGF2b2lkQ2xlYXZlOiBPdXRwdXRzLmF2b2lkVGFua0NsZWF2ZSxcclxuICAgIH07XHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgIT09ICd0YW5rJyAmJiBkYXRhLnJvbGUgIT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlcj8uKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25Zb3U/LigpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICghdGFyZ2V0KSB7XHJcbiAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5hdm9pZENsZWF2ZT8uKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSB8fCBkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIG1pbmlCdXN0ZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubWluaUJ1c3RlciksXHJcbiAgYW9lOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmFvZSksXHJcbiAgYmlnQW9lOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmJpZ0FvZSksXHJcbiAgc3ByZWFkOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZCksXHJcbiAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zLlxyXG4gIHN0YWNrTWFya2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja01hcmtlciksXHJcbiAgLy8gZm9yIGdldHRpbmcgdG9nZXRoZXIgd2l0aG91dCBzdGFjayBtYXJrZXJcclxuICBnZXRUb2dldGhlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0VG9nZXRoZXIpLFxyXG4gIHN0YWNrTWFya2VyT246IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0YWNrT25Zb3U6IE91dHB1dHMuc3RhY2tPbllvdSxcclxuICAgICAgICBzdGFja09uVGFyZ2V0OiBPdXRwdXRzLnN0YWNrT25QbGF5ZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0YWNrT25Zb3U/LigpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uVGFyZ2V0Py4oeyBwbGF5ZXI6IGRhdGEuU2hvcnROYW1lKHRhcmdldCkgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3RhY2tNaWRkbGU6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuc3RhY2tNaWRkbGUpLFxyXG4gIGRvcml0b1N0YWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5kb3JpdG9TdGFjayksXHJcbiAgc3ByZWFkVGhlblN0YWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIHJldHVybiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3ByZWFkVGhlblN0YWNrKTtcclxuICB9LFxyXG4gIHN0YWNrVGhlblNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrVGhlblNwcmVhZCk7XHJcbiAgfSxcclxuICBrbm9ja2JhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmtub2NrYmFjayksXHJcbiAga25vY2tiYWNrT246ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAga25vY2tiYWNrT25Zb3U6IE91dHB1dHMua25vY2tiYWNrT25Zb3UsXHJcbiAgICAgIGtub2NrYmFja09uVGFyZ2V0OiBPdXRwdXRzLmtub2NrYmFja09uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5rbm9ja2JhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGNvbWJpbmVkID0gY29tYmluZUZ1bmNzKFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBkcmF3SW46IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuZHJhd0luKSxcclxuICBsb29rVG93YXJkczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rVG93YXJkc0Jvc3MpLFxyXG4gIGxvb2tBd2F5OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmxvb2tBd2F5KSxcclxuICBsb29rQXdheUZyb21UYXJnZXQ6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGxvb2tBd2F5RnJvbTogT3V0cHV0cy5sb29rQXdheUZyb21UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICBjb25zdCBuYW1lID0gaXNQbGF5ZXJJZChtYXRjaGVzPy50YXJnZXRJZCkgPyBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIDogdGFyZ2V0O1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5sb29rQXdheUZyb20/Lih7IG5hbWU6IG5hbWUgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgbG9va0F3YXlGcm9tU291cmNlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHNvdXJjZSA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8uc291cmNlSWQpID8gZGF0YS5TaG9ydE5hbWUoc291cmNlKSA6IHNvdXJjZTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGdldEJlaGluZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0QmVoaW5kKSxcclxuICBnb0Zyb250T3JTaWRlczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29Gcm9udE9yU2lkZXMpLFxyXG4gIC8vIC5nZXRVbmRlcigpIGlzIHVzZWQgd2hlbiB5b3UgaGF2ZSB0byBnZXQgaW50byB0aGUgYm9zc2VzIGhpdGJveFxyXG4gIGdldFVuZGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmdldFVuZGVyKSxcclxuICAvLyAuZ2V0SW4oKSBpcyBtb3JlIGxpa2UgXCJnZXQgY2xvc2UgYnV0IG1heWJlIGV2ZW4gbWVsZWUgcmFuZ2UgaXMgZmluZVwiXHJcbiAgZ2V0SW46IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmluKSxcclxuICAvLyAuZ2V0T3V0KCkgbWVhbnMgZ2V0IGZhciBhd2F5XHJcbiAgZ2V0T3V0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5vdXQpLFxyXG4gIG91dE9mTWVsZWU6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMub3V0T2ZNZWxlZSksXHJcbiAgZ2V0SW5UaGVuT3V0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmluVGhlbk91dCksXHJcbiAgZ2V0T3V0VGhlbkluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dFRoZW5JbiksXHJcbiAgZ2V0QmFja1RoZW5Gcm9udDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iYWNrVGhlbkZyb250KSxcclxuICBnZXRGcm9udFRoZW5CYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmZyb250VGhlbkJhY2spLFxyXG4gIGdvTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5nb0ludG9NaWRkbGUpLFxyXG4gIGdvUmlnaHQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnJpZ2h0KSxcclxuICBnb0xlZnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmxlZnQpLFxyXG4gIGdvV2VzdDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0TGVmdEFuZFdlc3QpLFxyXG4gIGdvRWFzdDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ2V0UmlnaHRBbmRFYXN0KSxcclxuICBnb0Zyb250QmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29Gcm9udEJhY2spLFxyXG4gIGdvU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNpZGVzKSxcclxuICAvLyAua2lsbEFkZHMoKSBpcyB1c2VkIGZvciBhZGRzIHRoYXQgd2lsbCBhbHdheXMgYmUgYXZhaWxhYmxlXHJcbiAga2lsbEFkZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMua2lsbEFkZHMpLFxyXG4gIC8vIC5raWxsRXh0cmFBZGQoKSBpcyB1c2VkIGZvciBhZGRzIHRoYXQgYXBwZWFyIGlmIGEgbWVjaGFuaWMgd2FzIG5vdCBwbGF5ZWQgY29ycmVjdGx5XHJcbiAga2lsbEV4dHJhQWRkOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxFeHRyYUFkZCksXHJcbiAgYXdheUZyb21Gcm9udDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuYXdheUZyb21Gcm9udCksXHJcbiAgc2xlZXA6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHNsZWVwOiBPdXRwdXRzLnNsZWVwVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc2xlZXA/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBzdHVuT3JJbnRlcnJ1cHRJZlBvc3NpYmxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0dW46IE91dHB1dHMuc3R1blRhcmdldCxcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChkYXRhLkNhblNpbGVuY2UoKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5pbnRlcnJ1cHQ/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICAgIGVsc2UgaWYgKGRhdGEuQ2FuU3R1bigpKVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0dW4/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHN0dW46IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIHN0dW46IE91dHB1dHMuc3R1blRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnN0dW4/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBpbnRlcnJ1cHQ6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGludGVycnVwdDogT3V0cHV0cy5pbnRlcnJ1cHRUYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5pbnRlcnJ1cHQ/Lih7IG5hbWU6IHNvdXJjZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBwcmV5T246ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgcHJleU9uWW91OiBPdXRwdXRzLnByZXlPbllvdSxcclxuICAgICAgcHJleU9uVGFyZ2V0OiBPdXRwdXRzLnByZXlPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnByZXlPbllvdT8uKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG90aGVyRnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnByZXlPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIGF3YXlGcm9tOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBhd2F5RnJvbUdyb3VwOiBPdXRwdXRzLmF3YXlGcm9tR3JvdXAsXHJcbiAgICAgICAgYXdheUZyb21UYXJnZXQ6IE91dHB1dHMuYXdheUZyb21QbGF5ZXIsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5tZSA9PT0gdGFyZ2V0KVxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmF3YXlGcm9tR3JvdXA/LigpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbVRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIG1ldGVvck9uWW91OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5tZXRlb3JPbllvdSksXHJcbiAgc3RvcE1vdmluZzogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMuc3RvcE1vdmluZyksXHJcbiAgc3RvcEV2ZXJ5dGhpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BFdmVyeXRoaW5nKSxcclxuICAvLyBtb3ZlIGF3YXkgdG8gZG9kZ2UgYW9lc1xyXG4gIG1vdmVBd2F5OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVBd2F5KSxcclxuICAvLyBtb3ZlIGFyb3VuZCAoZS5nLiBqdW1waW5nKSB0byBhdm9pZCBiZWluZyBmcm96ZW5cclxuICBtb3ZlQXJvdW5kOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVBcm91bmQpLFxyXG4gIGJyZWFrQ2hhaW5zOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmJyZWFrQ2hhaW5zKSxcclxuICBtb3ZlQ2hhaW5zVG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1vdmVDaGFpbnNUb2dldGhlciksXHJcbiAgZWFydGhzaGFrZXI6IChzZXY/OiBTZXZlcml0eSkgPT5cclxuICAgIChfZGF0YTogRGF0YSwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICAgIGVhcnRoc2hha2VyOiBPdXRwdXRzLmVhcnRoc2hha2VyT25Zb3UsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LmVhcnRoc2hha2VyPy4oKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICB3YWtlVXA6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLndha2VVcCksXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBEb24ndCBnaXZlIGBSZXNwb25zZXNgIGEgdHlwZSBpbiBpdHMgZGVjbGFyYXRpb24gc28gdGhhdCBpdCBjYW4gYmUgdHJlYXRlZCBhcyBtb3JlIHN0cmljdFxyXG4vLyB0aGFuIGBSZXNwb25zZXNNYXBgLCBidXQgZG8gYXNzZXJ0IHRoYXQgaXRzIHR5cGUgaXMgY29ycmVjdC4gIFRoaXMgYWxsb3dzIGNhbGxlcnMgdG8ga25vd1xyXG4vLyB3aGljaCBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGluIFJlc3BvbnNlcyB3aXRob3V0IGhhdmluZyB0byBjb25kaXRpb25hbGx5IGNoZWNrIGZvciB1bmRlZmluZWQuXHJcbmNvbnN0IHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbjogUmVzcG9uc2VzTWFwID0gUmVzcG9uc2VzO1xyXG4vLyBTdXBwcmVzcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZy5cclxuY29uc29sZS5hc3NlcnQocmVzcG9uc2VNYXBUeXBlQXNzZXJ0aW9uKTtcclxuIiwiLy8gVE9ETzogRml4IGltcG9ydC9vcmRlclxyXG4vKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvb3JkZXIgKi9cclxuaW1wb3J0IHsgQ2FjdGJvdENvbmZpZ3VyYXRvciB9IGZyb20gJy4uL3VpL2NvbmZpZy9jb25maWcnO1xyXG5pbXBvcnQgeyBpc0xhbmcsIExhbmcsIGxhbmdUb0xvY2FsZSB9IGZyb20gJy4vbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgQ2FjdGJvdExvYWRVc2VyUmV0LCBTYXZlZENvbmZpZywgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgTG9jYWxlT2JqZWN0LCBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7IGFkZE92ZXJsYXlMaXN0ZW5lciwgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuL25vdF9yZWFjaGVkJztcclxuXHJcbi8vIFRPRE86XHJcbi8vIFRoZSBjb252ZW50aW9uIG9mIFwiaW1wb3J0IFggYXMgX1g7IGNvbnN0IFggPSBfWDtcIiBpcyBjdXJyZW50bHlcclxuLy8gYmVpbmcgdXNlZCBhcyBhIG1ldGhvZCB0byB3b3JrYXJvdW5kIGZvciBkb3duc3RyZWFtIGNvZGVcclxuLy8gdGhhdCBpcyBydW5uaW5nIHZpYSBldmFsKCkuIEJlY2F1c2UgaW1wb3J0aW5nIHN0YXRlbWVudHMgZG8gbm90XHJcbi8vIGNyZWF0ZSBhIHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUsIHRoZSBldmFsKCknZCBjb2RlIGRvZXMgbm90IGtub3dcclxuLy8gYWJvdXQgdGhlIGltcG9ydCwgYW5kIHRodXMgdGhyb3dzIFJlZmVyZW5jZUVycm9ycy5cclxuLy8gVXNlZCBieSBkb3duc3RyZWFtIGV2YWxcclxuaW1wb3J0IF9Db25kaXRpb25zIGZyb20gJy4vY29uZGl0aW9ucyc7XHJcbmNvbnN0IENvbmRpdGlvbnMgPSBfQ29uZGl0aW9ucztcclxuaW1wb3J0IF9Db250ZW50VHlwZSBmcm9tICcuL2NvbnRlbnRfdHlwZSc7XHJcbmNvbnN0IENvbnRlbnRUeXBlID0gX0NvbnRlbnRUeXBlO1xyXG5pbXBvcnQgX05ldFJlZ2V4ZXMgZnJvbSAnLi9uZXRyZWdleGVzJztcclxuY29uc3QgTmV0UmVnZXhlcyA9IF9OZXRSZWdleGVzO1xyXG5pbXBvcnQgX1JlZ2V4ZXMgZnJvbSAnLi9yZWdleGVzJztcclxuY29uc3QgUmVnZXhlcyA9IF9SZWdleGVzO1xyXG5pbXBvcnQgeyBSZXNwb25zZXMgYXMgX1Jlc3BvbnNlcyB9IGZyb20gJy4vcmVzcG9uc2VzJztcclxuY29uc3QgUmVzcG9uc2VzID0gX1Jlc3BvbnNlcztcclxuaW1wb3J0IF9PdXRwdXRzIGZyb20gJy4vb3V0cHV0cyc7XHJcbmNvbnN0IE91dHB1dHMgPSBfT3V0cHV0cztcclxuaW1wb3J0IF9VdGlsIGZyb20gJy4vdXRpbCc7XHJcbmNvbnN0IFV0aWwgPSBfVXRpbDtcclxuaW1wb3J0IF9ab25lSWQgZnJvbSAnLi96b25lX2lkJztcclxuY29uc3QgWm9uZUlkID0gX1pvbmVJZDtcclxuaW1wb3J0IF9ab25lSW5mbyBmcm9tICcuL3pvbmVfaW5mbyc7XHJcbmNvbnN0IFpvbmVJbmZvID0gX1pvbmVJbmZvO1xyXG5cclxuLy8gQ29udmluY2UgVHlwZVNjcmlwdCBhbmQgZXNsaW50IHRoYXQgdGhlc2UgYXJlIHVzZWQuICBUeXBlU2NyaXB0IGRvZXNuJ3QgaGF2ZSBhIGdyZWF0IHdheVxyXG4vLyB0byBkaXNhYmxlIGluZGl2aWR1YWwgcnVsZXMsIHNvIHRoaXMgaXMgc2FmZXIgdGhhbiBkaXNhYmxpbmcgYWxsIHJ1bGVzLlxyXG5jb25zb2xlLmFzc2VydChcclxuICBDb25kaXRpb25zICYmIENvbnRlbnRUeXBlICYmIE5ldFJlZ2V4ZXMgJiYgUmVnZXhlcyAmJlxyXG4gICAgUmVzcG9uc2VzICYmIE91dHB1dHMgJiYgVXRpbCAmJiBab25lSWQgJiYgWm9uZUluZm8sXHJcbik7XHJcblxyXG4vLyBUT0RPOiBtb3ZlIGFsbCBvZiB0aGVzZSB0byBjb25maWcuanM/XHJcbmV4cG9ydCB0eXBlIFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAganNGaWxlOiBzdHJpbmcsXHJcbiAgbG9jYWxGaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4gdm9pZDtcclxuZXhwb3J0IHR5cGUgQ29uZmlnVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5leHBvcnQgdHlwZSBDb25maWdFbnRyeSA9IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgdHlwZTogJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ2Zsb2F0JyB8ICdpbnRlZ2VyJyB8ICdkaXJlY3RvcnknIHwgJ2h0bWwnO1xyXG4gIGh0bWw/OiBMb2NhbGVUZXh0O1xyXG4gIGRlZmF1bHQ6IENvbmZpZ1ZhbHVlO1xyXG4gIGRlYnVnPzogYm9vbGVhbjtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG4gIC8vIEZvciBzZWxlY3QuXHJcbiAgb3B0aW9ucz86IExvY2FsZU9iamVjdDx7IFtzZWxlY3RUZXh0OiBzdHJpbmddOiBzdHJpbmcgfT47XHJcbiAgc2V0dGVyRnVuYz86IChvcHRpb25zOiBCYXNlT3B0aW9ucywgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcHRpb25zVGVtcGxhdGUgPSB7XHJcbiAgYnVpbGRFeHRyYVVJPzogKGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3IsIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpID0+IHZvaWQ7XHJcbiAgcHJvY2Vzc0V4dHJhT3B0aW9ucz86IChvcHRpb25zOiBCYXNlT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHZvaWQ7XHJcbiAgb3B0aW9uczogQ29uZmlnRW50cnlbXTtcclxufTtcclxuXHJcbmNsYXNzIFVzZXJDb25maWcge1xyXG4gIHB1YmxpYyBvcHRpb25UZW1wbGF0ZXM6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBPcHRpb25zVGVtcGxhdGUgfSA9IHt9O1xyXG4gIHB1YmxpYyB1c2VyRmlsZUNhbGxiYWNrczogeyBbb3ZlcmxheU5hbWU6IHN0cmluZ106IFVzZXJGaWxlQ2FsbGJhY2sgfSA9IHt9O1xyXG4gIHB1YmxpYyBzYXZlZENvbmZpZzogU2F2ZWRDb25maWcgPSB7fTtcclxuXHJcbiAgZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCk6IEJhc2VPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFBhcnNlckxhbmd1YWdlOiAnZW4nLFxyXG4gICAgICBTaG9ydExvY2FsZTogJ2VuJyxcclxuICAgICAgRGlzcGxheUxhbmd1YWdlOiAnZW4nLFxyXG4gICAgICBUZXh0QWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU291bmRBbGVydHNFbmFibGVkOiB0cnVlLFxyXG4gICAgICBTcG9rZW5BbGVydHNFbmFibGVkOiBmYWxzZSxcclxuICAgICAgR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBldmFsVXNlckZpbGUoY29udGVudDogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY29uc3QgT3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICBjb25zb2xlLmFzc2VydChPcHRpb25zKTsgLy8gVXNlZCBieSBldmFsLlxyXG5cclxuICAgIC8vIFRoaXMgaXMgdGhlIG9uZSBldmFsIGNhY3Rib3Qgc2hvdWxkIGV2ZXIgbmVlZCwgd2hpY2ggaXMgZm9yIGhhbmRsaW5nIHVzZXIgZmlsZXMuXHJcbiAgICAvLyBCZWNhdXNlIHVzZXIgZmlsZXMgY2FuIGJlIGxvY2F0ZWQgYW55d2hlcmUgb24gZGlzayBhbmQgdGhlcmUncyBiYWNrd2FyZHMgY29tcGF0XHJcbiAgICAvLyBpc3N1ZXMsIGl0J3MgdW5saWtlbHkgdGhhdCB0aGVzZSB3aWxsIGJlIGFibGUgdG8gYmUgYW55dGhpbmcgYnV0IGV2YWwgZm9yZXZlci5cclxuICAgIC8vXHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1ldmFsICovXHJcbiAgICBldmFsKGNvbnRlbnQpO1xyXG4gICAgLyogZXNsaW50LWVuYWJsZSBuby1ldmFsICovXHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9wdGlvbnMoXHJcbiAgICBvdmVybGF5TmFtZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uVGVtcGxhdGU6IE9wdGlvbnNUZW1wbGF0ZSxcclxuICAgIHVzZXJGaWxlQ2FsbGJhY2s/OiBVc2VyRmlsZUNhbGxiYWNrLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25UZW1wbGF0ZXNbb3ZlcmxheU5hbWVdID0gb3B0aW9uVGVtcGxhdGU7XHJcbiAgICBpZiAodXNlckZpbGVDYWxsYmFjaylcclxuICAgICAgdGhpcy51c2VyRmlsZUNhbGxiYWNrc1tvdmVybGF5TmFtZV0gPSB1c2VyRmlsZUNhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgc29ydFVzZXJGaWxlcyhrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgLy8gSGVscGVyIGRhdGEgc3RydWN0dXJlIGZvciBzdWJkaXJlY3Rvcmllcy5cclxuICAgIGNvbnN0IHNwbGl0S2V5TWFwOiB7IFtrOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKVxyXG4gICAgICBzcGxpdEtleU1hcFtrZXldID0ga2V5LnRvVXBwZXJDYXNlKCkuc3BsaXQoL1svXFxcXF0vKTtcclxuXHJcbiAgICAvLyBTb3J0IHBhdGhzIGFzIGEgZGVwdGgtZmlyc3QgY2FzZS1pbnNlbnNpdGl2ZSBhbHBoYWJldGljYWwgc3ViZGlyZWN0b3J5IHdhbGssIGZvbGxvd2VkIGJ5XHJcbiAgICAvLyBhbGwgZmlsZXMgc29ydGVkIGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsbHkgb25jZSBhIHN1YmRpciBoYXMgYmVlbiBwcm9jZXNzZWQsIGUuZy5cclxuICAgIC8vICAqIGEvc29tZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL3ovei96L25lc3RlZF9maWxlLmpzXHJcbiAgICAvLyAgKiBiL3N1YmRpcjEvZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL2ZpcnN0LmpzXHJcbiAgICAvLyAgKiBiL3N1YmRpcjIvc2Vjb25kLmpzXHJcbiAgICAvLyAgKiBiL3NvbWVfZmlsZS5qc1xyXG4gICAgLy8gICogcm9vdF9maWxlMS5qc1xyXG4gICAgLy8gICogcm9vdF9maWxlMi5qc1xyXG4gICAgcmV0dXJuIGtleXMuc29ydCgoa2V5QSwga2V5QikgPT4ge1xyXG4gICAgICBjb25zdCBsaXN0QSA9IHNwbGl0S2V5TWFwW2tleUFdO1xyXG4gICAgICBjb25zdCBsaXN0QiA9IHNwbGl0S2V5TWFwW2tleUJdO1xyXG4gICAgICBpZiAobGlzdEEgPT09IHVuZGVmaW5lZCB8fCBsaXN0QiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIGNvbnN0IG1heExlbiA9IE1hdGgubWF4KGxpc3RBLmxlbmd0aCwgbGlzdEIubGVuZ3RoKTtcclxuICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbWF4TGVuOyArK2lkeCkge1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QSA9IGxpc3RBW2lkeF07XHJcbiAgICAgICAgY29uc3QgZW50cnlCID0gbGlzdEJbaWR4XTtcclxuICAgICAgICAvLyBJbiBwcmFjdGljZSwgdGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGVudHJ5LlxyXG4gICAgICAgIGlmIChlbnRyeUEgPT09IHVuZGVmaW5lZCB8fCBlbnRyeUIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgICAgLy8gSWYgYm90aCBzdWJkaXJlY3RvcmllcyBvciBib3RoIGZpbGVzLCB0aGVuIGNvbXBhcmUgbmFtZXMuXHJcbiAgICAgICAgY29uc3QgaXNMYXN0QSA9IGxpc3RBLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuICAgICAgICBjb25zdCBpc0xhc3RCID0gbGlzdEIubGVuZ3RoIC0gMSA9PT0gaWR4O1xyXG5cclxuICAgICAgICBpZiAoaXNMYXN0QSAmJiBpc0xhc3RCKSB7XHJcbiAgICAgICAgICAvLyBJZiBib3RoIGxhc3QsIHRoZW4gdGhpcyBpcyBhIGZpbGVuYW1lIGNvbXBhcmlzb24uXHJcblxyXG4gICAgICAgICAgLy8gRmlyc3QsIGNvbXBhcmUgZmlsZW5hbWUgd2l0aG91dCBleHRlbnNpb24uXHJcbiAgICAgICAgICBjb25zdCBmaWxlQSA9IGVudHJ5QS5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVCID0gZW50cnlCLnJlcGxhY2UoL1xcLlteXFwuXSokLywgJycpO1xyXG4gICAgICAgICAgY29uc3QgZmlsZW5hbWVPbmx5RGlmZiA9IGZpbGVBLmxvY2FsZUNvbXBhcmUoZmlsZUIpO1xyXG4gICAgICAgICAgaWYgKGZpbGVuYW1lT25seURpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlbmFtZU9ubHlEaWZmO1xyXG5cclxuICAgICAgICAgIC8vIFNlY29uZCwgY29tcGFyZSBpbmNsdWRpbmcgdGhlIGV4dGVuc2lvbi5cclxuICAgICAgICAgIC8vIEFsd2F5cyByZXR1cm4gc29tZXRoaW5nIGhlcmUsIHNlZSBub3RlIGJlbG93LlxyXG4gICAgICAgICAgcmV0dXJuIGVudHJ5QS5sb2NhbGVDb21wYXJlKGVudHJ5Qik7XHJcbiAgICAgICAgfSBlbHNlIGlmICghaXNMYXN0QSAmJiAhaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBub3QgbGFzdCwgdGhpcyBpcyBhIHN1YmRpcmVjdG9yeSBjb21wYXJpc29uLlxyXG4gICAgICAgICAgY29uc3QgZGlmZiA9IGVudHJ5QS5sb2NhbGVDb21wYXJlKGVudHJ5Qik7XHJcbiAgICAgICAgICBpZiAoZGlmZilcclxuICAgICAgICAgICAgcmV0dXJuIGRpZmY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCBpZiBpZHggaXMgdGhlIGZpbmFsIGZvciBlYWNoLCB3ZSB3b3VsZCBoYXZlIHJldHVybmVkIGFib3ZlLlxyXG4gICAgICAgIC8vIFNvLCBjaGVjayBpZiBlaXRoZXIgYSBvciBiIGlzIGF0IHRoZSBmaW5hbCBlbnRyeSBpbiBzcGxpdEtleU1hcC5cclxuICAgICAgICAvLyBJZiBzbywgdGhlbiB0aGVyZSdzIGEgbWlzbWF0Y2ggaW4gbnVtYmVyIG9mIGRpcmVjdG9yaWVzLCBhbmQgd2Uga25vdyBvbmVcclxuICAgICAgICAvLyB0aGUgb25lIHdpdGggYSBmaWxlbmFtZSBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcblxyXG4gICAgICAgIGlmIChsaXN0QS5sZW5ndGggLSAxIDw9IGlkeCkge1xyXG4gICAgICAgICAgLy8gYSBoYXMgZmV3ZXIgc3ViZGlyZWN0b3JpZXMsIHNvIHNob3VsZCBiZSBzb3J0ZWQgbGFzdC5cclxuICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGlzdEIubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIG1vcmUgc3ViZGlyZWN0b3JpZXMsIHNvIHNob3VsZCBiZSBzb3J0ZWQgZmlyc3QuXHJcbiAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBHaXZlbiBhIHNldCBvZiBwYXRocywgYW4gb3ZlcmxheU5hbWUsIGFuZCBhbiBleHRlbnNpb24sIHJldHVybiBhbGwgcGF0aHMgd2l0aFxyXG4gIC8vIHRoYXQgZXh0ZW5zaW9uIHRoYXQgaGF2ZSBgb3ZlcmxheU5hbWVgIGVpdGhlciBhcyB0aGVpciBlbnRpcmUgZmlsZW5hbWUgKG5vIHN1YmRpcilcclxuICAvLyBvciBhcmUgaW5zaWRlIGEgcm9vdC1sZXZlbCBzdWJkaXJlY3RvcnkgbmFtZWQgYG92ZXJsYXlOYW1lYC8gIFRoZSBleHRlbnNpb24gc2hvdWxkXHJcbiAgLy8gaW5jbHVkZSB0aGUgcGVyaW9kIHNlcGFyYXRvciwgZS5nLiBcIi5qc1wiLiAgQWxsIGNvbXBhcmlzb25zIGFyZSBjYXNlIGluc2Vuc2l0aXZlLlxyXG4gIGZpbHRlclVzZXJGaWxlcyhwYXRoczogc3RyaW5nW10sIG9yaWdPdmVybGF5TmFtZTogc3RyaW5nLCBvcmlnRXh0ZW5zaW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbiA9IG9yaWdFeHRlbnNpb24udG9Mb3dlckNhc2UoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlOYW1lID0gb3JpZ092ZXJsYXlOYW1lLnRvTG93ZXJDYXNlKCk7XHJcbiAgICByZXR1cm4gcGF0aHMuZmlsdGVyKChvcmlnUGF0aCkgPT4ge1xyXG4gICAgICBjb25zdCBwYXRoID0gb3JpZ1BhdGgudG9Mb3dlckNhc2UoKTtcclxuICAgICAgaWYgKCFwYXRoLmVuZHNXaXRoKGV4dGVuc2lvbikpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBpZiAocGF0aCA9PT0gYCR7b3ZlcmxheU5hbWV9JHtleHRlbnNpb259YClcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX0vYCkgfHwgcGF0aC5zdGFydHNXaXRoKGAke292ZXJsYXlOYW1lfVxcXFxgKSlcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyQ29uZmlnTG9jYXRpb24ob3ZlcmxheU5hbWU6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMsIGNhbGxiYWNrOiAoKSA9PiB2b2lkKSB7XHJcbiAgICBsZXQgY3VycmVudGx5UmVsb2FkaW5nID0gZmFsc2U7XHJcbiAgICBjb25zdCByZWxvYWRPbmNlID0gKCkgPT4ge1xyXG4gICAgICBpZiAoY3VycmVudGx5UmVsb2FkaW5nKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY3VycmVudGx5UmVsb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uVXNlckZpbGVDaGFuZ2VkJywgKCkgPT4ge1xyXG4gICAgICByZWxvYWRPbmNlKCk7XHJcbiAgICB9KTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignb25Gb3JjZVJlbG9hZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkVXNlckZpbGVzKG92ZXJsYXlOYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBsb2FkVXNlckZpbGVzKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgY29uc3QgcmVhZE9wdGlvbnMgPSBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICBjYWxsOiAnY2FjdGJvdExvYWREYXRhJyxcclxuICAgICAgb3ZlcmxheTogJ29wdGlvbnMnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbG9hZFVzZXIgPSBhc3luYyAoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFRoZSBiYXNlUGF0aCBpc24ndCB1c2luZyBmb3IgYW55dGhpbmcgb3RoZXIgdGhhbiBjb3NtZXRpYyBwcmludGluZyBvZiBmdWxsIHBhdGhzLFxyXG4gICAgICAvLyBzbyByZXBsYWNlIGFueSBzbGFzaGVzIGhlcmUgZm9yIHVuaWZvcm1pdHkuICBJbiBjYXNlIGFueWJvZHkgaXMgdXNpbmcgY2FjdGJvdCBvblxyXG4gICAgICAvLyBMaW51eCAoPyE/KSwgc3VwcG9ydCBhbnkgc3R5bGUgb2Ygc2xhc2hlcyBlbHNld2hlcmUuXHJcbiAgICAgIGNvbnN0IGJhc2VQYXRoID0gZS5kZXRhaWwudXNlckxvY2F0aW9uLnJlcGxhY2UoL1svXFxcXF0qJC8sICcnKSArICdcXFxcJztcclxuICAgICAgY29uc3QgbG9jYWxGaWxlcyA9IGUuZGV0YWlsLmxvY2FsVXNlckZpbGVzO1xyXG5cclxuICAgICAgLy8gVGhlIHBsdWdpbiBhdXRvLWRldGVjdHMgdGhlIGxhbmd1YWdlLCBzbyBzZXQgdGhpcyBmaXJzdC5cclxuICAgICAgLy8gSWYgb3B0aW9ucyBmaWxlcyB3YW50IHRvIG92ZXJyaWRlIGl0LCB0aGV5IGNhbiBmb3IgdGVzdGluZy5cclxuXHJcbiAgICAgIC8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKGxhbmd1YWdlIGlzIG5vdyBzZXBhcmF0ZWQgdG8gdGhyZWUgdHlwZXMuKVxyXG4gICAgICBpZiAoZS5kZXRhaWwubGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwubGFuZ3VhZ2U7XHJcbiAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZS5kZXRhaWwubGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gUGFyc2VyIExhbmd1YWdlXHJcbiAgICAgIGlmIChlLmRldGFpbC5wYXJzZXJMYW5ndWFnZSkge1xyXG4gICAgICAgIG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgPSBlLmRldGFpbC5wYXJzZXJMYW5ndWFnZTtcclxuICAgICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBldmVyeXRoaW5nIFwiTGFuZ3VhZ2VcIiBzaG91bGQgYmUgY2hhbmdlZCB0byBcIlBhcnNlckxhbmd1YWdlXCJcclxuICAgICAgICBvcHRpb25zLkxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gU3lzdGVtIExhbmd1YWdlXHJcbiAgICAgIGlmIChlLmRldGFpbC5zeXN0ZW1Mb2NhbGUpIHtcclxuICAgICAgICBvcHRpb25zLlN5c3RlbUxvY2FsZSA9IGUuZGV0YWlsLnN5c3RlbUxvY2FsZTtcclxuICAgICAgICBsZXQgc2hvcnRMb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGUuc3Vic3RyaW5nKDAsIDIpO1xyXG4gICAgICAgIGlmIChzaG9ydExvY2FsZSA9PT0gJ3poJylcclxuICAgICAgICAgIHNob3J0TG9jYWxlID0gJ2NuJztcclxuICAgICAgICBpZiAoaXNMYW5nKHNob3J0TG9jYWxlKSlcclxuICAgICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBzaG9ydExvY2FsZTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gb3B0aW9ucy5QYXJzZXJMYW5ndWFnZTtcclxuICAgICAgfVxyXG4gICAgICAvLyBVc2VyJ3Mgc2V0dGluZyBMYW5ndWFnZVxyXG4gICAgICBjb25zdCBkaXNwbGF5TGFuZyA9IGUuZGV0YWlsLmRpc3BsYXlMYW5ndWFnZTtcclxuICAgICAgaWYgKGlzTGFuZyhkaXNwbGF5TGFuZykpXHJcbiAgICAgICAgb3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPSBkaXNwbGF5TGFuZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG5cclxuICAgICAgLy8gVE9ETzogbGVmdCBmb3Igbm93IGFzIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdXNlciBjc3MuICBSZW1vdmUgdGhpcyBsYXRlcj8/XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGBsYW5nLSR7b3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2V9YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nID0gbGFuZ1RvTG9jYWxlKG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlKTtcclxuICAgICAgdGhpcy5hZGRVbmxvY2tUZXh0KG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlKTtcclxuXHJcbiAgICAgIC8vIEhhbmRsZSBwcm9jZXNzT3B0aW9ucyBhZnRlciBkZWZhdWx0IGxhbmd1YWdlIHNlbGVjdGlvbiBhYm92ZSxcclxuICAgICAgLy8gYnV0IGJlZm9yZSBjc3MgYmVsb3cgd2hpY2ggbWF5IGxvYWQgc2tpbiBmaWxlcy5cclxuICAgICAgLy8gcHJvY2Vzc09wdGlvbnMgbmVlZHMgdG8gYmUgY2FsbGVkIHdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZVxyXG4gICAgICAvLyBhbnkgdXNlck9wdGlvbnMgc2F2ZWQsIGFzIGl0IHNldHMgdXAgdGhlIGRlZmF1bHRzLlxyXG4gICAgICB0aGlzLnNhdmVkQ29uZmlnID0gKGF3YWl0IHJlYWRPcHRpb25zKT8uZGF0YSA/PyB7fTtcclxuICAgICAgdGhpcy5wcm9jZXNzT3B0aW9ucyhcclxuICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIHRoaXMuc2F2ZWRDb25maWdbb3ZlcmxheU5hbWVdID8/IHt9LFxyXG4gICAgICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIC8vIElmIHRoZSBvdmVybGF5IGhhcyBhIFwiRGVidWdcIiBzZXR0aW5nLCBzZXQgdG8gdHJ1ZSB2aWEgdGhlIGNvbmZpZyB0b29sLFxyXG4gICAgICAvLyB0aGVuIGFsc28gcHJpbnQgb3V0IHVzZXIgZmlsZXMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkLlxyXG4gICAgICBjb25zdCBwcmludFVzZXJGaWxlID0gb3B0aW9ucy5EZWJ1ZyA/ICh4OiBzdHJpbmcpID0+IGNvbnNvbGUubG9nKHgpIDogKCkgPT4gey8qIG5vb3AgKi99O1xyXG5cclxuICAgICAgLy8gV2l0aCB1c2VyIGZpbGVzIGJlaW5nIGFyYml0cmFyeSBqYXZhc2NyaXB0LCBhbmQgaGF2aW5nIG11bHRpcGxlIGZpbGVzXHJcbiAgICAgIC8vIGluIHVzZXIgZm9sZGVycywgaXQncyBwb3NzaWJsZSBmb3IgbGF0ZXIgZmlsZXMgdG8gYWNjaWRlbnRhbGx5IHJlbW92ZVxyXG4gICAgICAvLyB0aGluZ3MgdGhhdCBwcmV2aW91cyBmaWxlcyBoYXZlIGFkZGVkLiAgV2FybiBhYm91dCB0aGlzLCBzaW5jZSBtb3N0XHJcbiAgICAgIC8vIHVzZXJzIGFyZSBub3QgcHJvZ3JhbW1lcnMuXHJcbiAgICAgIGNvbnN0IHdhcm5PblZhcmlhYmxlUmVzZXRNYXA6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge1xyXG4gICAgICAgIHJhaWRib3NzOiBbXHJcbiAgICAgICAgICAnVHJpZ2dlcnMnLFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH07XHJcbiAgICAgIHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdID0gd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gfHwgW107XHJcblxyXG4gICAgICAvLyBUaGUgdmFsdWVzIG9mIGVhY2ggYHdhcm5PblZhcmlhYmxlUmVzZXRNYXBgIGZpZWxkIGFyZSBpbml0aWFsbHkgc2V0XHJcbiAgICAgIC8vIGFmdGVyIHRoZSBmaXJzdCBmaWxlLCBzbyB0aGF0IGlmIHRoZXJlIGlzIG9ubHkgb25lIGZpbGUsIHRoZXJlIGFyZVxyXG4gICAgICAvLyBub3QgYW55IHdhcm5pbmdzLlxyXG5cclxuICAgICAgLy8gVGhlIGZpZWxkcyB0aGF0IGEgdXNlciBmaWxlIHNldHMgaW4gT3B0aW9ucyBjYW4gYmUgYW55dGhpbmcgKHB1biBub3QgaW50ZW5kZWQpXHJcbiAgICAgIC8vIGFuZCBzbyB3ZSB1c2UgYGFueWAgaGVyZS4gIFRoZSBvbmx5IG9wZXJhdGlvbiBkb25lIG9uIHRoaXMgZmllbGQgaXMgYSAhPT1cclxuICAgICAgLy8gZm9yIGNoYW5nZSBkZXRlY3Rpb24gdG8gc2VlIGlmIHRoZSB0aGUgdXNlciBmaWxlIGhhcyBtb2RpZmllZCBpdC5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29uc3QgdmFyaWFibGVUcmFja2VyOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IGFueSB9ID0ge307XHJcblxyXG4gICAgICBpZiAobG9jYWxGaWxlcykge1xyXG4gICAgICAgIC8vIGxvY2FsRmlsZXMgbWF5IGJlIG51bGwgaWYgdGhlcmUgaXMgbm8gdmFsaWQgdXNlciBkaXJlY3RvcnkuXHJcbiAgICAgICAgY29uc3Qgc29ydGVkRmlsZXMgPSB0aGlzLnNvcnRVc2VyRmlsZXMoT2JqZWN0LmtleXMobG9jYWxGaWxlcykpO1xyXG4gICAgICAgIGNvbnN0IGpzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuanMnKTtcclxuICAgICAgICBjb25zdCBjc3NGaWxlcyA9IHRoaXMuZmlsdGVyVXNlckZpbGVzKHNvcnRlZEZpbGVzLCBvdmVybGF5TmFtZSwgJy5jc3MnKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBqc0ZpbGUgb2YganNGaWxlcykge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcHJpbnRVc2VyRmlsZShgbG9jYWwgdXNlciBmaWxlOiAke2Jhc2VQYXRofSR7anNGaWxlfWApO1xyXG4gICAgICAgICAgICB0aGlzLmV2YWxVc2VyRmlsZShsb2NhbEZpbGVzW2pzRmlsZV0gPz8gJycsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA/PyBbXSkge1xyXG4gICAgICAgICAgICAgIGlmICh2YXJpYWJsZVRyYWNrZXJbZmllbGRdICYmIHZhcmlhYmxlVHJhY2tlcltmaWVsZF0gIT09IG9wdGlvbnNbZmllbGRdKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZGVhbGx5IHVzZXJzIHNob3VsZCBkbyBzb21ldGhpbmcgbGlrZSBgT3B0aW9ucy5UcmlnZ2Vycy5wdXNoKFtldGNdKTtgXHJcbiAgICAgICAgICAgICAgICAvLyBpbnN0ZWFkIG9mIGBPcHRpb25zLlRyaWdnZXJzID0gW2V0Y107YFxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICAgIGAqKiogV0FSTklORzogJHtiYXNlUGF0aH0ke2pzRmlsZX0gb3ZlcndyaXRlcyBPcHRpb25zLiR7ZmllbGR9IGZyb20gcHJldmlvdXMgZmlsZXMuYCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHZhcmlhYmxlVHJhY2tlcltmaWVsZF0gPSBvcHRpb25zW2ZpZWxkXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy51c2VyRmlsZUNhbGxiYWNrc1tvdmVybGF5TmFtZV0/Lihqc0ZpbGUsIGxvY2FsRmlsZXMsIG9wdGlvbnMsIGJhc2VQYXRoKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgLy8gQmUgdmVyeSB2aXNpYmxlIGZvciB1c2Vycy5cclxuICAgICAgICAgICAgY29uc29sZS5sb2coJyoqKiBFUlJPUiBJTiBVU0VSIEZJTEUgKioqJyk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBhd2t3YXJkIHRvIGhhbmRsZSBza2luIHNldHRpbmdzIGhlcmUsIGJ1dFxyXG4gICAgICAgIC8vIGRvaW5nIGl0IGFmdGVyIHVzZXIgY29uZmlnIGZpbGVzIGFuZCBiZWZvcmUgdXNlciBjc3MgZmlsZXNcclxuICAgICAgICAvLyBhbGxvd3MgdXNlciBjc3MgdG8gb3ZlcnJpZGUgc2tpbi1zcGVjaWZpYyBjc3MgYXMgd2VsbC5cclxuICAgICAgICBpZiAob3B0aW9ucy5Ta2luKVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTa2luKG9wdGlvbnMuU2tpbik7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgY3NzRmlsZSBvZiBjc3NGaWxlcykge1xyXG4gICAgICAgICAgcHJpbnRVc2VyRmlsZShgbG9jYWwgdXNlciBmaWxlOiAke2Jhc2VQYXRofSR7Y3NzRmlsZX1gKTtcclxuICAgICAgICAgIGNvbnN0IHVzZXJDc3NUZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gbG9jYWxGaWxlc1tjc3NGaWxlXTtcclxuICAgICAgICAgIGlmIChjb250ZW50cylcclxuICAgICAgICAgICAgdXNlckNzc1RleHQuaW5uZXJUZXh0ID0gY29udGVudHM7XHJcbiAgICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgICAgICAgIGlmIChoZWFkKVxyXG4gICAgICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHVzZXJDc3NUZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFBvc3QgdGhpcyBjYWxsYmFjayBzbyB0aGF0IHRoZSBqcyBhbmQgY3NzIGNhbiBiZSBleGVjdXRlZCBmaXJzdC5cclxuICAgICAgaWYgKGNhbGxiYWNrKVxyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcblxyXG4gICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7IGNhbGw6ICdjYWN0Ym90UmVxdWVzdFN0YXRlJyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICBjYWxsOiAnY2FjdGJvdExvYWRVc2VyJyxcclxuICAgICAgc291cmNlOiBsb2NhdGlvbi5ocmVmLFxyXG4gICAgICBvdmVybGF5TmFtZTogb3ZlcmxheU5hbWUsXHJcbiAgICB9KS50aGVuKChlOiB7IGRldGFpbDogQ2FjdGJvdExvYWRVc2VyUmV0IH0pID0+IHtcclxuICAgICAgLy8gV2FpdCBmb3IgRE9NQ29udGVudExvYWRlZCBpZiBuZWVkZWQuXHJcbiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xyXG4gICAgICAgIHZvaWQgbG9hZFVzZXIoZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTa2luKHNraW5OYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICghc2tpbk5hbWUgfHwgc2tpbk5hbWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBiYXNlUGF0aCA9IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBzbGFzaElkeCA9IGJhc2VQYXRoLmxhc3RJbmRleE9mKCcvJyk7XHJcbiAgICBpZiAoc2xhc2hJZHggIT09IC0xKVxyXG4gICAgICBiYXNlUGF0aCA9IGJhc2VQYXRoLnN1YnN0cigwLCBzbGFzaElkeCk7XHJcbiAgICBpZiAoYmFzZVBhdGguc2xpY2UoLTEpICE9PSAnLycpXHJcbiAgICAgIGJhc2VQYXRoICs9ICcvJztcclxuICAgIGNvbnN0IHNraW5IcmVmID0gYmFzZVBhdGggKyAnc2tpbnMvJyArIHNraW5OYW1lICsgJy8nICsgc2tpbk5hbWUgKyAnLmNzcyc7XHJcbiAgICB0aGlzLmFwcGVuZENTU0xpbmsoc2tpbkhyZWYpO1xyXG4gIH1cclxuICBhcHBlbmRKU0xpbmsoc3JjOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJKUyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0L2phdmFzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3NyYycsIHNyYyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdhc3luYycsICdmYWxzZScpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VySlMpO1xyXG4gIH1cclxuICBhcHBlbmRDU1NMaW5rKGhyZWY6IHN0cmluZykge1xyXG4gICAgY29uc3QgdXNlckNTUyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCdyZWwnLCAnc3R5bGVzaGVldCcpO1xyXG4gICAgdXNlckNTUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XHJcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgIGlmIChoZWFkKVxyXG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHVzZXJDU1MpO1xyXG4gIH1cclxuICBwcm9jZXNzT3B0aW9ucyhvcHRpb25zOiBCYXNlT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnksIHRlbXBsYXRlPzogT3B0aW9uc1RlbXBsYXRlKSB7XHJcbiAgICAvLyBUYWtlIG9wdGlvbnMgZnJvbSB0aGUgdGVtcGxhdGUsIGZpbmQgdGhlbSBpbiBzYXZlZENvbmZpZyxcclxuICAgIC8vIGFuZCBhcHBseSB0aGVtIHRvIG9wdGlvbnMuIFRoaXMgYWxzbyBoYW5kbGVzIHNldHRpbmdcclxuICAgIC8vIGRlZmF1bHRzIGZvciBhbnl0aGluZyBpbiB0aGUgdGVtcGxhdGUsIGV2ZW4gaWYgaXQgZG9lcyBub3RcclxuICAgIC8vIGV4aXN0IGluIHNhdmVkQ29uZmlnLlxyXG5cclxuICAgIC8vIE5vdCBhbGwgb3ZlcmxheXMgaGF2ZSBvcHRpb24gdGVtcGxhdGVzLlxyXG4gICAgaWYgKCF0ZW1wbGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRlbXBsYXRlT3B0aW9ucyA9IHRlbXBsYXRlLm9wdGlvbnMgfHwgW107XHJcbiAgICBmb3IgKGNvbnN0IG9wdCBvZiB0ZW1wbGF0ZU9wdGlvbnMpIHtcclxuICAgICAgLy8gR3JhYiB0aGUgc2F2ZWQgdmFsdWUgb3IgdGhlIGRlZmF1bHQgdG8gc2V0IGluIG9wdGlvbnMuXHJcblxyXG4gICAgICBsZXQgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnkgPSBvcHQuZGVmYXVsdDtcclxuICAgICAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKSB7XHJcbiAgICAgICAgaWYgKG9wdC5pZCBpbiBzYXZlZENvbmZpZykge1xyXG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzYXZlZENvbmZpZ1tvcHQuaWRdO1xyXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBPcHRpb25zIGNhbiBwcm92aWRlIGN1c3RvbSBsb2dpYyB0byB0dXJuIGEgdmFsdWUgaW50byBvcHRpb25zIHNldHRpbmdzLlxyXG4gICAgICAvLyBJZiB0aGlzIGRvZXNuJ3QgZXhpc3QsIGp1c3Qgc2V0IHRoZSB2YWx1ZSBkaXJlY3RseS5cclxuICAgICAgLy8gT3B0aW9uIHRlbXBsYXRlIGlkcyBhcmUgaWRlbnRpY2FsIHRvIGZpZWxkIG5hbWVzIG9uIE9wdGlvbnMuXHJcbiAgICAgIGlmIChvcHQuc2V0dGVyRnVuYykge1xyXG4gICAgICAgIG9wdC5zZXR0ZXJGdW5jKG9wdGlvbnMsIHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2ludGVnZXInKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBvcHRpb25zW29wdC5pZF0gPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gcGFyc2VJbnQodmFsdWUpO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdC50eXBlID09PSAnZmxvYXQnKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBvcHRpb25zW29wdC5pZF0gPSB2YWx1ZTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgdGhpbmdzIGxpa2UgcmFpZGJvc3MgdGhhdCBidWlsZCBleHRyYSBVSSwgYWxzbyBnaXZlIHRoZW0gYSBjaGFuY2VcclxuICAgIC8vIHRvIGhhbmRsZSBhbnl0aGluZyB0aGF0IGhhcyBiZWVuIHNldCBvbiB0aGF0IFVJLlxyXG4gICAgaWYgKHRlbXBsYXRlLnByb2Nlc3NFeHRyYU9wdGlvbnMpXHJcbiAgICAgIHRlbXBsYXRlLnByb2Nlc3NFeHRyYU9wdGlvbnMob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gIH1cclxuICBhZGRVbmxvY2tUZXh0KGxhbmc6IExhbmcpIHtcclxuICAgIGNvbnN0IHVubG9ja1RleHQgPSB7XHJcbiAgICAgIGVuOiAn8J+UkyBVbmxvY2tlZCAobG9jayBvdmVybGF5IGJlZm9yZSB1c2luZyknLFxyXG4gICAgICBkZTogJ/CflJMgRW50c3BlcnJ0IChTcGVycmUgZGFzIE92ZXJsYXkgdm9yIGRlciBOdXR6dW5nKScsXHJcbiAgICAgIGZyOiAn8J+UkyBEw6libG9xdcOpIChCbG9xdWV6IGxcXCdvdmVybGF5IGF2YW50IHV0aWxpc2F0aW9uKScsXHJcbiAgICAgIGphOiAn8J+UkyDjg63jg4Pjgq/op6PpmaQgKOOCquODvOODkOODvOODrOOCpOOCkuS9v+eUqOOBmeOCi+WJjeOBq+ODreODg+OCr+OBl+OBpuOBj+OBoOOBleOBhCknLFxyXG4gICAgICBjbjogJ/CflJMg5bey6Kej6Zmk6ZSB5a6aICjkvaDpnIDopoHlsIbmraTmgqzmta7nqpfplIHlrprlkI7mlrnlj6/kvb/nlKgpJyxcclxuICAgICAga286ICfwn5STIOychOy5mCDsnqDquIgg7ZW07KCc65CoICjsgqzsmqntlZjquLAg7KCE7JeQIOychOy5mCDsnqDquIjsnYQg7ISk7KCV7ZWY7IS47JqUKScsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGlkID0gJ2NhY3Rib3QtdW5sb2NrZWQtdGV4dCc7XHJcbiAgICBsZXQgdGV4dEVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICBpZiAoIXRleHRFbGVtKSB7XHJcbiAgICAgIHRleHRFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRleHRFbGVtLmlkID0gaWQ7XHJcbiAgICAgIHRleHRFbGVtLmNsYXNzTGlzdC5hZGQoJ3RleHQnKTtcclxuICAgICAgLy8gU2V0IGVsZW1lbnQgZGlzcGxheSB0byBub25lIGluIGNhc2UgdGhlIHBhZ2UgaGFzIG5vdCBpbmNsdWRlZCBkZWZhdWx0cy5jc3MuXHJcbiAgICAgIHRleHRFbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHRleHRFbGVtKTtcclxuICAgIH1cclxuICAgIHRleHRFbGVtLmlubmVySFRNTCA9IHVubG9ja1RleHRbbGFuZ10gfHwgdW5sb2NrVGV4dFsnZW4nXTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBVc2VyQ29uZmlnKCk7XHJcblxyXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gIC8vIFRoaXMgZXZlbnQgY29tZXMgZWFybHkgYW5kIGlzIG5vdCBjYWNoZWQsIHNvIHNldCB1cCBldmVudCBsaXN0ZW5lciBpbW1lZGlhdGVseS5cclxuICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdvbk92ZXJsYXlTdGF0ZVVwZGF0ZScsIChlKSA9PiB7XHJcbiAgICBjb25zdCBkb2NDbGFzc0xpc3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O1xyXG4gICAgaWYgKGUuZGV0YWlsLmlzTG9ja2VkKVxyXG4gICAgICBkb2NDbGFzc0xpc3QucmVtb3ZlKCdyZXNpemVIYW5kbGUnLCAndW5sb2NrZWQnKTtcclxuICAgIGVsc2VcclxuICAgICAgZG9jQ2xhc3NMaXN0LmFkZCgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgfSk7XHJcbn1cclxuIiwiaW1wb3J0IHsgT3ZlcmxheUhhbmRsZXJSZXF1ZXN0cywgT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzIH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5cclxuLy8gVE9ETzogaXQnZCBiZSBuaWNlIHRvIG5vdCByZXBlYXQgam9iIG5hbWVzLCBidXQgYXQgbGVhc3QgUmVjb3JkIGVuZm9yY2VzIHRoYXQgYWxsIGFyZSBzZXQuXHJcbmNvbnN0IG5hbWVUb0pvYkVudW06IFJlY29yZDxKb2IsIG51bWJlcj4gPSB7XHJcbiAgTk9ORTogMCxcclxuICBHTEE6IDEsXHJcbiAgUEdMOiAyLFxyXG4gIE1SRDogMyxcclxuICBMTkM6IDQsXHJcbiAgQVJDOiA1LFxyXG4gIENOSjogNixcclxuICBUSE06IDcsXHJcbiAgQ1JQOiA4LFxyXG4gIEJTTTogOSxcclxuICBBUk06IDEwLFxyXG4gIEdTTTogMTEsXHJcbiAgTFRXOiAxMixcclxuICBXVlI6IDEzLFxyXG4gIEFMQzogMTQsXHJcbiAgQ1VMOiAxNSxcclxuICBNSU46IDE2LFxyXG4gIEJUTjogMTcsXHJcbiAgRlNIOiAxOCxcclxuICBQTEQ6IDE5LFxyXG4gIE1OSzogMjAsXHJcbiAgV0FSOiAyMSxcclxuICBEUkc6IDIyLFxyXG4gIEJSRDogMjMsXHJcbiAgV0hNOiAyNCxcclxuICBCTE06IDI1LFxyXG4gIEFDTjogMjYsXHJcbiAgU01OOiAyNyxcclxuICBTQ0g6IDI4LFxyXG4gIFJPRzogMjksXHJcbiAgTklOOiAzMCxcclxuICBNQ0g6IDMxLFxyXG4gIERSSzogMzIsXHJcbiAgQVNUOiAzMyxcclxuICBTQU06IDM0LFxyXG4gIFJETTogMzUsXHJcbiAgQkxVOiAzNixcclxuICBHTkI6IDM3LFxyXG4gIEROQzogMzgsXHJcbiAgUlBSOiAzOSxcclxuICBTR0U6IDQwLFxyXG59O1xyXG5cclxuY29uc3QgYWxsSm9icyA9IE9iamVjdC5rZXlzKG5hbWVUb0pvYkVudW0pIGFzIEpvYltdO1xyXG5jb25zdCBhbGxSb2xlcyA9IFsndGFuaycsICdoZWFsZXInLCAnZHBzJywgJ2NyYWZ0ZXInLCAnZ2F0aGVyZXInLCAnbm9uZSddIGFzIFJvbGVbXTtcclxuXHJcbmNvbnN0IHRhbmtKb2JzOiBKb2JbXSA9IFsnR0xBJywgJ1BMRCcsICdNUkQnLCAnV0FSJywgJ0RSSycsICdHTkInXTtcclxuY29uc3QgaGVhbGVySm9iczogSm9iW10gPSBbJ0NOSicsICdXSE0nLCAnU0NIJywgJ0FTVCcsICdTR0UnXTtcclxuY29uc3QgbWVsZWVEcHNKb2JzOiBKb2JbXSA9IFsnUEdMJywgJ01OSycsICdMTkMnLCAnRFJHJywgJ1JPRycsICdOSU4nLCAnU0FNJywgJ1JQUiddO1xyXG5jb25zdCByYW5nZWREcHNKb2JzOiBKb2JbXSA9IFsnQVJDJywgJ0JSRCcsICdETkMnLCAnTUNIJ107XHJcbmNvbnN0IGNhc3RlckRwc0pvYnM6IEpvYltdID0gWydCTFUnLCAnUkRNJywgJ0JMTScsICdTTU4nLCAnQUNOJywgJ1RITSddO1xyXG5jb25zdCBkcHNKb2JzOiBKb2JbXSA9IFsuLi5tZWxlZURwc0pvYnMsIC4uLnJhbmdlZERwc0pvYnMsIC4uLmNhc3RlckRwc0pvYnNdO1xyXG5jb25zdCBjcmFmdGluZ0pvYnM6IEpvYltdID0gWydDUlAnLCAnQlNNJywgJ0FSTScsICdHU00nLCAnTFRXJywgJ1dWUicsICdBTEMnLCAnQ1VMJ107XHJcbmNvbnN0IGdhdGhlcmluZ0pvYnM6IEpvYltdID0gWydNSU4nLCAnQlROJywgJ0ZTSCddO1xyXG5cclxuY29uc3Qgc3R1bkpvYnM6IEpvYltdID0gWydCTFUnLCAuLi50YW5rSm9icywgLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3Qgc2lsZW5jZUpvYnM6IEpvYltdID0gWydCTFUnLCAuLi50YW5rSm9icywgLi4ucmFuZ2VkRHBzSm9ic107XHJcbmNvbnN0IHNsZWVwSm9iczogSm9iW10gPSBbJ0JMTScsICdCTFUnLCAuLi5oZWFsZXJKb2JzXTtcclxuY29uc3QgZmVpbnRKb2JzOiBKb2JbXSA9IFsuLi5tZWxlZURwc0pvYnNdO1xyXG5jb25zdCBhZGRsZUpvYnM6IEpvYltdID0gWy4uLmNhc3RlckRwc0pvYnNdO1xyXG5jb25zdCBjbGVhbnNlSm9iczogSm9iW10gPSBbJ0JMVScsICdCUkQnLCAuLi5oZWFsZXJKb2JzXTtcclxuXHJcbmNvbnN0IGpvYlRvUm9sZU1hcDogTWFwPEpvYiwgUm9sZT4gPSAoKCkgPT4ge1xyXG4gIGNvbnN0IGFkZFRvTWFwID0gKG1hcDogTWFwPEpvYiwgUm9sZT4sIGpvYnM6IEpvYltdLCByb2xlOiBSb2xlKSA9PiB7XHJcbiAgICBqb2JzLmZvckVhY2goKGpvYikgPT4gbWFwLnNldChqb2IsIHJvbGUpKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBtYXA6IE1hcDxKb2IsIFJvbGU+ID0gbmV3IE1hcChbWydOT05FJywgJ25vbmUnXV0pO1xyXG4gIGFkZFRvTWFwKG1hcCwgdGFua0pvYnMsICd0YW5rJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBoZWFsZXJKb2JzLCAnaGVhbGVyJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBkcHNKb2JzLCAnZHBzJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBjcmFmdGluZ0pvYnMsICdjcmFmdGVyJyk7XHJcbiAgYWRkVG9NYXAobWFwLCBnYXRoZXJpbmdKb2JzLCAnZ2F0aGVyZXInKTtcclxuXHJcbiAgcmV0dXJuIG1hcDtcclxufSkoKTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRQYXJhbXMgPSB7XHJcbiAgaWRzPzogbnVtYmVyW107XHJcbiAgbmFtZXM/OiBzdHJpbmdbXTtcclxuICBwcm9wcz86IHN0cmluZ1tdO1xyXG4gIGRlbGF5PzogbnVtYmVyO1xyXG4gIG1heER1cmF0aW9uPzogbnVtYmVyO1xyXG59O1xyXG5cclxudHlwZSBXYXRjaENvbWJhdGFudEZ1bmMgPSAoXHJcbiAgcGFyYW1zOiBXYXRjaENvbWJhdGFudFBhcmFtcyxcclxuICBmdW5jOiAocmV0OiBPdmVybGF5SGFuZGxlclJlc3BvbnNlVHlwZXNbJ2dldENvbWJhdGFudHMnXSkgPT4gYm9vbGVhbixcclxuKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxudHlwZSBXYXRjaENvbWJhdGFudE1hcEVudHJ5ID0ge1xyXG4gIGNhbmNlbDogYm9vbGVhbjtcclxuICBzdGFydDogbnVtYmVyO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnRNYXA6IFdhdGNoQ29tYmF0YW50TWFwRW50cnlbXSA9IFtdO1xyXG5cclxuY29uc3Qgc2hvdWxkQ2FuY2VsV2F0Y2ggPSAoXHJcbiAgcGFyYW1zOiBXYXRjaENvbWJhdGFudFBhcmFtcyxcclxuICBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSxcclxuKTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKGVudHJ5LmNhbmNlbClcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIGlmIChwYXJhbXMubWF4RHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiBEYXRlLm5vdygpIC0gZW50cnkuc3RhcnQgPiBwYXJhbXMubWF4RHVyYXRpb24pXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5jb25zdCB3YXRjaENvbWJhdGFudDogV2F0Y2hDb21iYXRhbnRGdW5jID0gKHBhcmFtcywgZnVuYykgPT4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzLCByZWopID0+IHtcclxuICAgIGNvbnN0IGRlbGF5ID0gcGFyYW1zLmRlbGF5ID8/IDEwMDA7XHJcblxyXG4gICAgY29uc3QgY2FsbDogT3ZlcmxheUhhbmRsZXJSZXF1ZXN0c1snZ2V0Q29tYmF0YW50cyddID0ge1xyXG4gICAgICBjYWxsOiAnZ2V0Q29tYmF0YW50cycsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChwYXJhbXMuaWRzKVxyXG4gICAgICBjYWxsLmlkcyA9IHBhcmFtcy5pZHM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5uYW1lcylcclxuICAgICAgY2FsbC5uYW1lcyA9IHBhcmFtcy5uYW1lcztcclxuXHJcbiAgICBpZiAocGFyYW1zLnByb3BzKVxyXG4gICAgICBjYWxsLnByb3BzID0gcGFyYW1zLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IGVudHJ5OiBXYXRjaENvbWJhdGFudE1hcEVudHJ5ID0ge1xyXG4gICAgICBjYW5jZWw6IGZhbHNlLFxyXG4gICAgICBzdGFydDogRGF0ZS5ub3coKSxcclxuICAgIH07XHJcblxyXG4gICAgd2F0Y2hDb21iYXRhbnRNYXAucHVzaChlbnRyeSk7XHJcblxyXG4gICAgY29uc3QgY2hlY2tGdW5jID0gKCkgPT4ge1xyXG4gICAgICBpZiAoc2hvdWxkQ2FuY2VsV2F0Y2gocGFyYW1zLCBlbnRyeSkpIHtcclxuICAgICAgICByZWooKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoY2FsbCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZW50cnkuY2FuY2VsKSB7XHJcbiAgICAgICAgICByZWooKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZ1bmMocmVzcG9uc2UpKVxyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICB3aW5kb3cuc2V0VGltZW91dChjaGVja0Z1bmMsIGRlbGF5KTtcclxuICB9KTtcclxufTtcclxuXHJcbmNvbnN0IFV0aWwgPSB7XHJcbiAgam9iRW51bVRvSm9iOiAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3Qgam9iID0gYWxsSm9icy5maW5kKChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdID09PSBpZCk7XHJcbiAgICByZXR1cm4gam9iID8/ICdOT05FJztcclxuICB9LFxyXG4gIGpvYlRvSm9iRW51bTogKGpvYjogSm9iKSA9PiBuYW1lVG9Kb2JFbnVtW2pvYl0sXHJcbiAgam9iVG9Sb2xlOiAoam9iOiBKb2IpID0+IHtcclxuICAgIGNvbnN0IHJvbGUgPSBqb2JUb1JvbGVNYXAuZ2V0KGpvYik7XHJcbiAgICByZXR1cm4gcm9sZSA/PyAnbm9uZSc7XHJcbiAgfSxcclxuICBnZXRBbGxSb2xlczogKCk6IHJlYWRvbmx5IFJvbGVbXSA9PiBhbGxSb2xlcyxcclxuICBpc1RhbmtKb2I6IChqb2I6IEpvYikgPT4gdGFua0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0hlYWxlckpvYjogKGpvYjogSm9iKSA9PiBoZWFsZXJKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNNZWxlZURwc0pvYjogKGpvYjogSm9iKSA9PiBtZWxlZURwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc1JhbmdlZERwc0pvYjogKGpvYjogSm9iKSA9PiByYW5nZWREcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDYXN0ZXJEcHNKb2I6IChqb2I6IEpvYikgPT4gY2FzdGVyRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzRHBzSm9iOiAoam9iOiBKb2IpID0+IGRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0NyYWZ0aW5nSm9iOiAoam9iOiBKb2IpID0+IGNyYWZ0aW5nSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzR2F0aGVyaW5nSm9iOiAoam9iOiBKb2IpID0+IGdhdGhlcmluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0NvbWJhdEpvYjogKGpvYjogSm9iKSA9PiB7XHJcbiAgICByZXR1cm4gIWNyYWZ0aW5nSm9icy5pbmNsdWRlcyhqb2IpICYmICFnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYik7XHJcbiAgfSxcclxuICBjYW5TdHVuOiAoam9iOiBKb2IpID0+IHN0dW5Kb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuU2lsZW5jZTogKGpvYjogSm9iKSA9PiBzaWxlbmNlSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNsZWVwOiAoam9iOiBKb2IpID0+IHNsZWVwSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhbkNsZWFuc2U6IChqb2I6IEpvYikgPT4gY2xlYW5zZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5GZWludDogKGpvYjogSm9iKSA9PiBmZWludEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5BZGRsZTogKGpvYjogSm9iKSA9PiBhZGRsZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICB3YXRjaENvbWJhdGFudDogd2F0Y2hDb21iYXRhbnQsXHJcbiAgY2xlYXJXYXRjaENvbWJhdGFudHM6ICgpID0+IHtcclxuICAgIHdoaWxlICh3YXRjaENvbWJhdGFudE1hcC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IHdhdGNoID0gd2F0Y2hDb21iYXRhbnRNYXAucG9wKCk7XHJcbiAgICAgIGlmICh3YXRjaClcclxuICAgICAgICB3YXRjaC5jYW5jZWwgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBVdGlsO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuY29uc3QgZGF0YSA9IHtcclxuICAnQUJsb29keVJldW5pb24nOiA1NjAsXHJcbiAgJ0FGcm9zdHlSZWNlcHRpb24nOiAxMDEwLFxyXG4gICdBUGF0aFVudmVpbGVkJzogMTAxNSxcclxuICAnQVJlbGljUmVib3JuVGhlQ2hpbWVyYSc6IDM2OCxcclxuICAnQVJlbGljUmVib3JuVGhlSHlkcmEnOiAzNjksXHJcbiAgJ0FSZXF1aWVtRm9ySGVyb2VzJzogODMwLFxyXG4gICdBU2xlZXBEaXN0dXJiZWQnOiA5MTQsXHJcbiAgJ0FTcGVjdGFjbGVGb3JUaGVBZ2VzJzogNTMzLFxyXG4gICdBY2NydWVFbm1pdHlGcm9tTXVsdGlwbGVUYXJnZXRzJzogNTQwLFxyXG4gICdBaXJGb3JjZU9uZSc6IDgzMixcclxuICAnQWthZGFlbWlhQW55ZGVyJzogODQxLFxyXG4gICdBbGFNaGlnbyc6IDY4OSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVGYXRoZXInOiA0NDQsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyU2F2YWdlJzogNDUxLFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZVNvbic6IDUyMixcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb25TYXZhZ2UnOiA1MzEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvcic6IDU4MSxcclxuICAnQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yU2F2YWdlJzogNTg1LFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlcic6IDQ0NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NTIsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlU29uJzogNTIzLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvblNhdmFnZSc6IDUzMixcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyJzogNDQzLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NTAsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvbic6IDUyMSxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlU29uU2F2YWdlJzogNTMwLFxyXG4gICdBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yJzogNTgwLFxyXG4gICdBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yU2F2YWdlJzogNTg0LFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXInOiA0NDIsXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZUZhdGhlclNhdmFnZSc6IDQ0OSxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uJzogNTIwLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVTb25TYXZhZ2UnOiA1MjksXHJcbiAgJ0FsZXhhbmRlclRoZUhlYXJ0T2ZUaGVDcmVhdG9yJzogNTgyLFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NixcclxuICAnQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvcic6IDU4MyxcclxuICAnQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NyxcclxuICAnQWxsc1dlbGxUaGF0RW5kc0luVGhlV2VsbCc6IDIyMCxcclxuICAnQWxsc1dlbGxUaGF0U3RhcnRzV2VsbCc6IDc5NixcclxuICAnQWxwaGFzY2FwZVYxMCc6IDc5OCxcclxuICAnQWxwaGFzY2FwZVYxMFNhdmFnZSc6IDgwMixcclxuICAnQWxwaGFzY2FwZVYyMCc6IDc5OSxcclxuICAnQWxwaGFzY2FwZVYyMFNhdmFnZSc6IDgwMyxcclxuICAnQWxwaGFzY2FwZVYzMCc6IDgwMCxcclxuICAnQWxwaGFzY2FwZVYzMFNhdmFnZSc6IDgwNCxcclxuICAnQWxwaGFzY2FwZVY0MCc6IDgwMSxcclxuICAnQWxwaGFzY2FwZVY0MFNhdmFnZSc6IDgwNSxcclxuICAnQW1hdXJvdCc6IDgzOCxcclxuICAnQW1kYXBvcktlZXAnOiAxNjcsXHJcbiAgJ0FtZGFwb3JLZWVwSGFyZCc6IDE4OSxcclxuICAnQW1oQXJhZW5nJzogODE1LFxyXG4gICdBbmFtbmVzaXNBbnlkZXInOiA4OTgsXHJcbiAgJ0Fubm95VGhlVm9pZCc6IDIyMixcclxuICAnQXNUaGVIZWFydEJpZHMnOiA4OTQsXHJcbiAgJ0FzVGhlSGVhdmVuc0J1cm4nOiAxMDEyLFxyXG4gICdBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGUnOiAxMDAyLFxyXG4gICdBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGVTYXZhZ2UnOiAxMDAzLFxyXG4gICdBc3Bob2RlbG9zVGhlRm91cnRoQ2lyY2xlJzogMTAwOCxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZVNhdmFnZSc6IDEwMDksXHJcbiAgJ0FzcGhvZGVsb3NUaGVTZWNvbmRDaXJjbGUnOiAxMDA0LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlU2F2YWdlJzogMTAwNSxcclxuICAnQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlJzogMTAwNixcclxuICAnQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlU2F2YWdlJzogMTAwNyxcclxuICAnQXNzaXN0QWxsaWVzSW5EZWZlYXRpbmdBVGFyZ2V0JzogNTQ0LFxyXG4gICdBc3RyYWdhbG9zJzogNzI5LFxyXG4gICdBdm9pZEFyZWFPZkVmZmVjdEF0dGFja3MnOiA1MzcsXHJcbiAgJ0F6eXNMbGEnOiA0MDIsXHJcbiAgJ0JhZWxzYXJzV2FsbCc6IDYxNSxcclxuICAnQmFyZGFtc01ldHRsZSc6IDYyMyxcclxuICAnQmFzaWNUcmFpbmluZ0VuZW15UGFydGllcyc6IDIxNCxcclxuICAnQmFzaWNUcmFpbmluZ0VuZW15U3Ryb25naG9sZHMnOiAyMTUsXHJcbiAgJ0JhdHRsZUluVGhlQmlnS2VlcCc6IDM5NixcclxuICAnQmF0dGxlT25UaGVCaWdCcmlkZ2UnOiAzNjYsXHJcbiAgJ0Jsb29kT25UaGVEZWNrJzogNzA4LFxyXG4gICdCcmF5ZmxveHNMb25nc3RvcCc6IDE1OCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3BIYXJkJzogMzYyLFxyXG4gICdDYXBlV2VzdHdpbmQnOiAzMzIsXHJcbiAgJ0Nhc3RydW1BYmFuaWEnOiA2NjEsXHJcbiAgJ0Nhc3RydW1GbHVtaW5pcyc6IDc3OCxcclxuICAnQ2FzdHJ1bU1hcmludW0nOiA5MzQsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtRHJ5ZG9ja3MnOiA5NjcsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtRXh0cmVtZSc6IDkzNSxcclxuICAnQ2FzdHJ1bU1lcmlkaWFudW0nOiAyMTcsXHJcbiAgJ0NlbnRyYWxTaHJvdWQnOiAxNDgsXHJcbiAgJ0NlbnRyYWxUaGFuYWxhbic6IDE0MSxcclxuICAnQ2hvY29ib1JhY2VDb3N0YURlbFNvbCc6IDM4OSxcclxuICAnQ2hvY29ib1JhY2VTYWdvbGlpUm9hZCc6IDM5MCxcclxuICAnQ2hvY29ib1JhY2VUcmFucXVpbFBhdGhzJzogMzkxLFxyXG4gICdDaG9jb2JvUmFjZVR1dG9yaWFsJzogNDE3LFxyXG4gICdDaW5kZXJEcmlmdCc6IDg5NyxcclxuICAnQ2luZGVyRHJpZnRFeHRyZW1lJzogOTEyLFxyXG4gICdDb2VydGhhc0NlbnRyYWxIaWdobGFuZHMnOiAxNTUsXHJcbiAgJ0NvZXJ0aGFzV2VzdGVybkhpZ2hsYW5kcyc6IDM5NyxcclxuICAnQ29taW5nQ2xlYW4nOiA4NjAsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNic6IDU3NixcclxuICAnQ29udGFpbm1lbnRCYXlQMVQ2RXh0cmVtZSc6IDU3NyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3JzogNTE3LFxyXG4gICdDb250YWlubWVudEJheVMxVDdFeHRyZW1lJzogNTI0LFxyXG4gICdDb250YWlubWVudEJheVoxVDknOiA2MzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5WjFUOUV4dHJlbWUnOiA2MzgsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lcyc6IDE2MSxcclxuICAnQ29wcGVyYmVsbE1pbmVzSGFyZCc6IDM0OSxcclxuICAnQ3VyaW91c0dvcmdlTWVldHNIaXNNYXRjaCc6IDcxNyxcclxuICAnQ3V0dGVyc0NyeSc6IDE3MCxcclxuICAnRGFya0FzVGhlTmlnaHRTa3knOiA3MTMsXHJcbiAgJ0RlYXRoVW50b0Rhd24nOiA5NzcsXHJcbiAgJ0RlZmVhdEFuT2NjdXBpZWRUYXJnZXQnOiA1NDUsXHJcbiAgJ0RlbHRhc2NhcGVWMTAnOiA2OTEsXHJcbiAgJ0RlbHRhc2NhcGVWMTBTYXZhZ2UnOiA2OTUsXHJcbiAgJ0RlbHRhc2NhcGVWMjAnOiA2OTIsXHJcbiAgJ0RlbHRhc2NhcGVWMjBTYXZhZ2UnOiA2OTYsXHJcbiAgJ0RlbHRhc2NhcGVWMzAnOiA2OTMsXHJcbiAgJ0RlbHRhc2NhcGVWMzBTYXZhZ2UnOiA2OTcsXHJcbiAgJ0RlbHRhc2NhcGVWNDAnOiA2OTQsXHJcbiAgJ0RlbHRhc2NhcGVWNDBTYXZhZ2UnOiA2OTgsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZSc6IDkzNixcclxuICAnRGVsdWJydW1SZWdpbmFlU2F2YWdlJzogOTM3LFxyXG4gICdEb2huTWhlZyc6IDgyMSxcclxuICAnRG9tYUNhc3RsZSc6IDY2MCxcclxuICAnRHJhZ29uU291bmQnOiA3MTQsXHJcbiAgJ0R1blNjYWl0aCc6IDYyNyxcclxuICAnRHplbWFlbERhcmtob2xkJzogMTcxLFxyXG4gICdFYXN0U2hyb3VkJzogMTUyLFxyXG4gICdFYXN0ZXJuTGFOb3NjZWEnOiAxMzcsXHJcbiAgJ0Vhc3Rlcm5UaGFuYWxhbic6IDE0NSxcclxuICAnRWRlbnNHYXRlRGVzY2VudCc6IDg1MCxcclxuICAnRWRlbnNHYXRlRGVzY2VudFNhdmFnZSc6IDg1NCxcclxuICAnRWRlbnNHYXRlSW51bmRhdGlvbic6IDg1MSxcclxuICAnRWRlbnNHYXRlSW51bmRhdGlvblNhdmFnZSc6IDg1NSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uJzogODQ5LFxyXG4gICdFZGVuc0dhdGVSZXN1cnJlY3Rpb25TYXZhZ2UnOiA4NTMsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZSc6IDg1MixcclxuICAnRWRlbnNHYXRlU2VwdWx0dXJlU2F2YWdlJzogODU2LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXMnOiA5NDQsXHJcbiAgJ0VkZW5zUHJvbWlzZUFuYW1vcnBob3Npc1NhdmFnZSc6IDk0OCxcclxuICAnRWRlbnNQcm9taXNlRXRlcm5pdHknOiA5NDUsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5U2F2YWdlJzogOTQ5LFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnknOiA5NDMsXHJcbiAgJ0VkZW5zUHJvbWlzZUxpdGFueVNhdmFnZSc6IDk0NyxcclxuICAnRWRlbnNQcm9taXNlVW1icmEnOiA5NDIsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhU2F2YWdlJzogOTQ2LFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb24nOiA5MDIsXHJcbiAgJ0VkZW5zVmVyc2VGdWxtaW5hdGlvblNhdmFnZSc6IDkwNixcclxuICAnRWRlbnNWZXJzZUZ1cm9yJzogOTAzLFxyXG4gICdFZGVuc1ZlcnNlRnVyb3JTYXZhZ2UnOiA5MDcsXHJcbiAgJ0VkZW5zVmVyc2VJY29ub2NsYXNtJzogOTA0LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbVNhdmFnZSc6IDkwOCxcclxuICAnRWRlbnNWZXJzZVJlZnVsZ2VuY2UnOiA5MDUsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlU2F2YWdlJzogOTA5LFxyXG4gICdFbHBpcyc6IDk2MSxcclxuICAnRW1hbmF0aW9uJzogNzE5LFxyXG4gICdFbWFuYXRpb25FeHRyZW1lJzogNzIwLFxyXG4gICdFbWlzc2FyeU9mVGhlRGF3bic6IDc2OSxcclxuICAnRW5kd2Fsa2VyJzogMTAxMyxcclxuICAnRW5nYWdlTXVsdGlwbGVUYXJnZXRzJzogNTQxLFxyXG4gICdFdWxtb3JlJzogODIwLFxyXG4gICdFdmVyTWFyY2hIZWF2ZW5zd2FyZCc6IDEwMTgsXHJcbiAgJ0V4ZWN1dGVBQ29tYm9JbkJhdHRsZSc6IDUzOSxcclxuICAnRXhlY3V0ZUFDb21ib1RvSW5jcmVhc2VFbm1pdHknOiA1MzgsXHJcbiAgJ0V4ZWN1dGVBUmFuZ2VkQXR0YWNrVG9JbmNyZWFzZUVubWl0eSc6IDU0MixcclxuICAnRmFkZWRNZW1vcmllcyc6IDkzMixcclxuICAnRmluYWxFeGVyY2lzZSc6IDU1MixcclxuICAnRml0Rm9yQVF1ZWVuJzogOTU1LFxyXG4gICdGbGlja2luZ1N0aWNrc0FuZFRha2luZ05hbWVzJzogMjE5LFxyXG4gICdGb3VuZGF0aW9uJzogNDE4LFxyXG4gICdGb3VyUGxheWVyTWFoam9uZ1F1aWNrTWF0Y2hLdWl0YW5EaXNhYmxlZCc6IDgzMSxcclxuICAnR2FybGVtYWxkJzogOTU4LFxyXG4gICdIYWxhdGFsaSc6IDE2MixcclxuICAnSGFsYXRhbGlIYXJkJzogMzYwLFxyXG4gICdIYXVra2VNYW5vcic6IDE2NixcclxuICAnSGF1a2tlTWFub3JIYXJkJzogMzUwLFxyXG4gICdIZWFsQW5BbGx5JzogNTQ5LFxyXG4gICdIZWFsTXVsdGlwbGVBbGxpZXMnOiA1NTAsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczExXzIwJzogNzcxLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxXzEwJzogNzcwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMyMV8zMCc6IDc3MixcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMzFfNDAnOiA3ODIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczQxXzUwJzogNzczLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM1MV82MCc6IDc4MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNjFfNzAnOiA3NzQsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczcxXzgwJzogNzg0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM4MV85MCc6IDc3NSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzOTFfMTAwJzogNzg1LFxyXG4gICdIZWxsc0tpZXInOiA4MTAsXHJcbiAgJ0hlbGxzS2llckV4dHJlbWUnOiA4MTEsXHJcbiAgJ0hlbGxzTGlkJzogNzQyLFxyXG4gICdIZXJvT25UaGVIYWxmU2hlbGwnOiAyMTYsXHJcbiAgJ0hpZGRlbkdvcmdlJzogNzkxLFxyXG4gICdIb2xtaW5zdGVyU3dpdGNoJzogODM3LFxyXG4gICdIdWxsYnJlYWtlcklzbGUnOiAzNjEsXHJcbiAgJ0h1bGxicmVha2VySXNsZUhhcmQnOiA1NTcsXHJcbiAgJ0lkeWxsc2hpcmUnOiA0NzgsXHJcbiAgJ0lsTWhlZyc6IDgxNixcclxuICAnSW5Gcm9tVGhlQ29sZCc6IDEwMTEsXHJcbiAgJ0luVGhhbHNOYW1lJzogNzA1LFxyXG4gICdJbnRlcmFjdFdpdGhUaGVCYXR0bGVmaWVsZCc6IDU0OCxcclxuICAnSW50ZXJkaW1lbnNpb25hbFJpZnQnOiA2OTAsXHJcbiAgJ0l0c1Byb2JhYmx5QVRyYXAnOiA2NjUsXHJcbiAgJ0tob2x1c2lhJzogODE0LFxyXG4gICdLdGlzaXNIeXBlcmJvcmVpYSc6IDk3NCxcclxuICAnS3VnYW5lJzogNjI4LFxyXG4gICdLdWdhbmVDYXN0bGUnOiA2NjIsXHJcbiAgJ0t1Z2FuZU9oYXNoaSc6IDgwNixcclxuICAnTGFieXJpbnRob3MnOiA5NTYsXHJcbiAgJ0xhaWRUb1Jlc3QnOiAxMDE3LFxyXG4gICdMYWtlbGFuZCc6IDgxMyxcclxuICAnTGVnZW5kT2ZUaGVOb3RTb0hpZGRlblRlbXBsZSc6IDg1OSxcclxuICAnTGlmZUVwaGVtZXJhbFBhdGhFdGVybmFsJzogMTAyMyxcclxuICAnTGltc2FMb21pbnNhTG93ZXJEZWNrcyc6IDEyOSxcclxuICAnTGltc2FMb21pbnNhVXBwZXJEZWNrcyc6IDEyOCxcclxuICAnTG9uZ0xpdmVUaGVRdWVlbic6IDI5OCxcclxuICAnTG92bU1hc3RlclRvdXJuYW1lbnQnOiA1MDYsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVOb25ScCc6IDU5MSxcclxuICAnTG92bVBsYXllckJhdHRsZVJwJzogNTg5LFxyXG4gICdMb3ZtVG91cm5hbWVudCc6IDU5MCxcclxuICAnTG93ZXJMYU5vc2NlYSc6IDEzNSxcclxuICAnTWFsaWthaHNXZWxsJzogODM2LFxyXG4gICdNYXJlTGFtZW50b3J1bSc6IDk1OSxcclxuICAnTWF0Y2hBbGwnOiBudWxsLFxyXG4gICdNYXRveWFzUmVsaWN0JzogOTMzLFxyXG4gICdNYXRzdWJhTWF5aGVtJzogNzEwLFxyXG4gICdNZW1vcmlhTWlzZXJhRXh0cmVtZSc6IDkxMyxcclxuICAnTWVzc2VuZ2VyT2ZUaGVXaW5kcyc6IDgzNCxcclxuICAnTWlkZGxlTGFOb3NjZWEnOiAxMzQsXHJcbiAgJ01pc3QnOiAxMzYsXHJcbiAgJ01vckRob25hJzogMTU2LFxyXG4gICdNb3JlVGhhbkFGZWVsZXInOiAyMjEsXHJcbiAgJ010R3VsZyc6IDgyMixcclxuICAnTmFhZGFtJzogNjg4LFxyXG4gICdOZXZlcnJlYXAnOiA0MjAsXHJcbiAgJ05ld0dyaWRhbmlhJzogMTMyLFxyXG4gICdOb3J0aFNocm91ZCc6IDE1NCxcclxuICAnTm9ydGhlcm5UaGFuYWxhbic6IDE0NyxcclxuICAnTnllbGJlcnRzTGFtZW50JzogODc2LFxyXG4gICdPY2VhbkZpc2hpbmcnOiA5MDAsXHJcbiAgJ09sZEdyaWRhbmlhJzogMTMzLFxyXG4gICdPbGRTaGFybGF5YW4nOiA5NjIsXHJcbiAgJ09uZUxpZmVGb3JPbmVXb3JsZCc6IDU5MixcclxuICAnT25zYWxIYWthaXJEYW5zaGlnTmFhZGFtJzogODg4LFxyXG4gICdPdXJDb21wcm9taXNlJzogNzE2LFxyXG4gICdPdXJVbnN1bmdIZXJvZXMnOiA3MjIsXHJcbiAgJ091dGVyTGFOb3NjZWEnOiAxODAsXHJcbiAgJ1BhZ2x0aGFuJzogOTM4LFxyXG4gICdQaGFyb3NTaXJpdXMnOiAxNjAsXHJcbiAgJ1BoYXJvc1Npcml1c0hhcmQnOiA1MTAsXHJcbiAgJ1B1bGxpbmdQb2lzb25Qb3NpZXMnOiAxOTEsXHJcbiAgJ1JhZHpBdEhhbic6IDk2MyxcclxuICAnUmFpc2luZ1RoZVN3b3JkJzogNzA2LFxyXG4gICdSZXR1cm5PZlRoZUJ1bGwnOiA0MDMsXHJcbiAgJ1JoYWxncnNSZWFjaCc6IDYzNSxcclxuICAnU2FnZXNGb2N1cyc6IDEwMjIsXHJcbiAgJ1NhaW50TW9jaWFubmVzQXJib3JldHVtJzogNTExLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bUhhcmQnOiA3ODgsXHJcbiAgJ1Nhc3Rhc2hhJzogMTU3LFxyXG4gICdTYXN0YXNoYUhhcmQnOiAzODcsXHJcbiAgJ1NlYWxSb2NrU2VpemUnOiA0MzEsXHJcbiAgJ1NoYWRvd0FuZENsYXcnOiAyMjMsXHJcbiAgJ1NoaXN1aU9mVGhlVmlvbGV0VGlkZXMnOiA2MTYsXHJcbiAgJ1NpZ21hc2NhcGVWMTAnOiA3NDgsXHJcbiAgJ1NpZ21hc2NhcGVWMTBTYXZhZ2UnOiA3NTIsXHJcbiAgJ1NpZ21hc2NhcGVWMjAnOiA3NDksXHJcbiAgJ1NpZ21hc2NhcGVWMjBTYXZhZ2UnOiA3NTMsXHJcbiAgJ1NpZ21hc2NhcGVWMzAnOiA3NTAsXHJcbiAgJ1NpZ21hc2NhcGVWMzBTYXZhZ2UnOiA3NTQsXHJcbiAgJ1NpZ21hc2NhcGVWNDAnOiA3NTEsXHJcbiAgJ1NpZ21hc2NhcGVWNDBTYXZhZ2UnOiA3NTUsXHJcbiAgJ1NtaWxldG9uJzogOTc2LFxyXG4gICdTbm93Y2xvYWsnOiAzNzEsXHJcbiAgJ1NvaG1BbCc6IDQ0MSxcclxuICAnU29obUFsSGFyZCc6IDYxNyxcclxuICAnU29ocktoYWknOiA1NTUsXHJcbiAgJ1NvbGVtblRyaW5pdHknOiAzMDAsXHJcbiAgJ1NvdXRoU2hyb3VkJzogMTUzLFxyXG4gICdTb3V0aGVyblRoYW5hbGFuJzogMTQ2LFxyXG4gICdTcGVjaWFsRXZlbnRJJzogMzUzLFxyXG4gICdTcGVjaWFsRXZlbnRJaSc6IDM1NCxcclxuICAnU3BlY2lhbEV2ZW50SWlpJzogNTA5LFxyXG4gICdTdGluZ2luZ0JhY2snOiAxOTIsXHJcbiAgJ1N5cmN1c1Rvd2VyJzogMzcyLFxyXG4gICdUaGF2bmFpcic6IDk1NyxcclxuICAnVGhlQWVyeSc6IDQzNSxcclxuICAnVGhlQWV0aGVyb2NoZW1pY2FsUmVzZWFyY2hGYWNpbGl0eSc6IDQzOCxcclxuICAnVGhlQWl0aWFzY29wZSc6IDk3OCxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZUV4dHJlbWUnOiAzNzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVIYXJkJzogMzc3LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlVW5yZWFsJzogOTMwLFxyXG4gICdUaGVBbnRpdG93ZXInOiA1MTYsXHJcbiAgJ1RoZUFxdWFwb2xpcyc6IDU1OCxcclxuICAnVGhlQXVydW1WYWxlJzogMTcyLFxyXG4gICdUaGVBemltU3RlcHBlJzogNjIyLFxyXG4gICdUaGVCYXR0bGVPbkJla2tvJzogNzExLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4xJzogMjQxLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4yJzogMjQyLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4zJzogMjQzLFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm40JzogMjQ0LFxyXG4gICdUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm41JzogMjQ1LFxyXG4gICdUaGVCb3JkZXJsYW5kUnVpbnNTZWN1cmUnOiAzNzYsXHJcbiAgJ1RoZUJvd2xPZkVtYmVycyc6IDIwMixcclxuICAnVGhlQm93bE9mRW1iZXJzRXh0cmVtZSc6IDI5NSxcclxuICAnVGhlQm93bE9mRW1iZXJzSGFyZCc6IDI5MixcclxuICAnVGhlQm96amFJbmNpZGVudCc6IDkxMSxcclxuICAnVGhlQm96amFuU291dGhlcm5Gcm9udCc6IDkyMCxcclxuICAnVGhlQnVybic6IDc4OSxcclxuICAnVGhlQ2FsYW1pdHlSZXRvbGQnOiA3OTAsXHJcbiAgJ1RoZUNhcnRlbmVhdUZsYXRzSGVsaW9kcm9tZSc6IDYzMyxcclxuICAnVGhlQ2hyeXNhbGlzJzogNDI2LFxyXG4gICdUaGVDaHVybmluZ01pc3RzJzogNDAwLFxyXG4gICdUaGVDbG91ZERlY2snOiA5NTAsXHJcbiAgJ1RoZUNsb3VkRGVja0V4dHJlbWUnOiA5NTEsXHJcbiAgJ1RoZUNvcGllZEZhY3RvcnknOiA4ODIsXHJcbiAgJ1RoZUNyb3duT2ZUaGVJbW1hY3VsYXRlJzogODQ2LFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZUV4dHJlbWUnOiA4NDgsXHJcbiAgJ1RoZUNyeXN0YXJpdW0nOiA4MTksXHJcbiAgJ1RoZURhbmNpbmdQbGFndWUnOiA4NDUsXHJcbiAgJ1RoZURhbmNpbmdQbGFndWVFeHRyZW1lJzogODU4LFxyXG4gICdUaGVEYXJrSW5zaWRlJzogOTkyLFxyXG4gICdUaGVEZWFkRW5kcyc6IDk3MyxcclxuICAnVGhlRGlhZGVtJzogOTI5LFxyXG4gICdUaGVEaWFkZW1FYXN5JzogNTEyLFxyXG4gICdUaGVEaWFkZW1IYXJkJzogNTE1LFxyXG4gICdUaGVEaWFkZW1IdW50aW5nR3JvdW5kcyc6IDYyNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHNFYXN5JzogNjI0LFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZUZ1cnknOiA2MzAsXHJcbiAgJ1RoZURpYWRlbVRyaWFsc09mVGhlTWF0cm9uJzogNjU2LFxyXG4gICdUaGVEb21hbkVuY2xhdmUnOiA3NTksXHJcbiAgJ1RoZURyYWdvbnNOZWNrJzogMTQyLFxyXG4gICdUaGVEcmF2YW5pYW5Gb3JlbGFuZHMnOiAzOTgsXHJcbiAgJ1RoZURyYXZhbmlhbkhpbnRlcmxhbmRzJzogMzk5LFxyXG4gICdUaGVEcm93bmVkQ2l0eU9mU2thbGxhJzogNzMxLFxyXG4gICdUaGVEdW5nZW9uc09mTHloZUdoaWFoJzogODc5LFxyXG4gICdUaGVEdXNrVmlnaWwnOiA0MzQsXHJcbiAgJ1RoZUR5aW5nR2FzcCc6IDg0NyxcclxuICAnVGhlRXBpY09mQWxleGFuZGVyVWx0aW1hdGUnOiA4ODcsXHJcbiAgJ1RoZUV4Y2l0YXRyb242MDAwJzogMTAwMCxcclxuICAnVGhlRmFjZU9mVHJ1ZUV2aWwnOiA3MDksXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hDcnlzdGFsVG93ZXInOiA3NjcsXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hGZWFzdGluZ0dyb3VuZHMnOiA2MTksXHJcbiAgJ1RoZUZlYXN0Q3VzdG9tTWF0Y2hMaWNoZW53ZWVkJzogNjQ2LFxyXG4gICdUaGVGZWFzdFJhbmtlZCc6IDc2NSxcclxuICAnVGhlRmVhc3RUZWFtUmFua2VkJzogNzQ1LFxyXG4gICdUaGVGZWFzdFRyYWluaW5nJzogNzY2LFxyXG4gICdUaGVGaWVsZHNPZkdsb3J5U2hhdHRlcic6IDU1NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjEnOiAxOTMsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4yJzogMTk0LFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMyc6IDE5NSxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjQnOiAxOTYsXHJcbiAgJ1RoZUZpbmFsRGF5JzogOTk3LFxyXG4gICdUaGVGaW5hbFN0ZXBzT2ZGYWl0aCc6IDU1OSxcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYUFuZW1vcyc6IDczMixcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYUh5ZGF0b3MnOiA4MjcsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQYWdvcyc6IDc2MyxcclxuICAnVGhlRm9yYmlkZGVuTGFuZEV1cmVrYVB5cm9zJzogNzk1LFxyXG4gICdUaGVGcmFjdGFsQ29udGludXVtJzogNDMwLFxyXG4gICdUaGVGcmFjdGFsQ29udGludXVtSGFyZCc6IDc0MyxcclxuICAnVGhlRnJpbmdlcyc6IDYxMixcclxuICAnVGhlR2hpbWx5dERhcmsnOiA3OTMsXHJcbiAgJ1RoZUdpZnRPZk1lcmN5JzogMTAxOSxcclxuICAnVGhlR3JhbmRDb3Ntb3MnOiA4ODQsXHJcbiAgJ1RoZUdyZWF0R3ViYWxMaWJyYXJ5JzogNDE2LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeUhhcmQnOiA1NzgsXHJcbiAgJ1RoZUdyZWF0SHVudCc6IDc2MSxcclxuICAnVGhlR3JlYXRIdW50RXh0cmVtZSc6IDc2MixcclxuICAnVGhlR3JlYXRTaGlwVnlsYnJhbmQnOiA5NTQsXHJcbiAgJ1RoZUhhcmRlbmVkSGVhcnQnOiA4NzMsXHJcbiAgJ1RoZUhhcnZlc3RCZWdpbnMnOiAxMDIwLFxyXG4gICdUaGVIYXVudGVkTWFub3InOiA1NzEsXHJcbiAgJ1RoZUhlYXJ0T2ZUaGVQcm9ibGVtJzogNzE4LFxyXG4gICdUaGVIZXJvZXNHYXVudGxldCc6IDkxNixcclxuICAnVGhlSGlkZGVuQ2FuYWxzT2ZVem5haXInOiA3MjUsXHJcbiAgJ1RoZUhvd2xpbmdFeWUnOiAyMDgsXHJcbiAgJ1RoZUhvd2xpbmdFeWVFeHRyZW1lJzogMjk3LFxyXG4gICdUaGVIb3dsaW5nRXllSGFyZCc6IDI5NCxcclxuICAnVGhlSHVudGVyc0xlZ2FjeSc6IDg3NSxcclxuICAnVGhlSmFkZVN0b2EnOiA3NDYsXHJcbiAgJ1RoZUphZGVTdG9hRXh0cmVtZSc6IDc1OCxcclxuICAnVGhlS2VlcGVyT2ZUaGVMYWtlJzogMTUwLFxyXG4gICdUaGVLaWxsaW5nQXJ0JzogMTAyMSxcclxuICAnVGhlTGFieXJpbnRoT2ZUaGVBbmNpZW50cyc6IDE3NCxcclxuICAnVGhlTGltaXRsZXNzQmx1ZUV4dHJlbWUnOiA0NDcsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVIYXJkJzogNDM2LFxyXG4gICdUaGVMb2Nocyc6IDYyMSxcclxuICAnVGhlTG9zdEFuZFRoZUZvdW5kJzogODc0LFxyXG4gICdUaGVMb3N0Q2FuYWxzT2ZVem5haXInOiA3MTIsXHJcbiAgJ1RoZUxvc3RDaXR5T2ZBbWRhcG9yJzogMzYzLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvckhhcmQnOiA1MTksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZEhhZGVzc0VsZWd5JzogODg1LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIeWRhZWx5bnNDYWxsJzogOTk2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWROaWRob2dnc1JhZ2UnOiA1NjYsXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFNoaW5yeXVzRG9tYWluJzogNzMwLFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRUaG9yZGFuc1JlaWduJzogNDQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRUc3VrdXlvbWlzUGFpbic6IDc3OSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVWx0aW1hc0JhbmUnOiAzNDgsXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFpvZGlhcmtzRmFsbCc6IDk5MyxcclxuICAnVGhlTW90aGVyY3J5c3RhbCc6IDk5NSxcclxuICAnVGhlTmF2ZWwnOiAyMDYsXHJcbiAgJ1RoZU5hdmVsRXh0cmVtZSc6IDI5NixcclxuICAnVGhlTmF2ZWxIYXJkJzogMjkzLFxyXG4gICdUaGVOYXZlbFVucmVhbCc6IDk1MyxcclxuICAnVGhlT3Jib25uZU1vbmFzdGVyeSc6IDgyNixcclxuICAnVGhlT3JwaGFuc0FuZFRoZUJyb2tlbkJsYWRlJzogNzE1LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMDFfMTEwJzogNTk4LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMTFfMTIwJzogNTk5LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMxMV8yMCc6IDU2MixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTIxXzEzMCc6IDYwMCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTMxXzE0MCc6IDYwMSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTQxXzE1MCc6IDYwMixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTUxXzE2MCc6IDYwMyxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTYxXzE3MCc6IDYwNCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTcxXzE4MCc6IDYwNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTgxXzE5MCc6IDYwNixcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTkxXzIwMCc6IDYwNyxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMV8xMCc6IDU2MSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMjFfMzAnOiA1NjMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczMxXzQwJzogNTY0LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM0MV81MCc6IDU2NSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNTFfNjAnOiA1OTMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczYxXzcwJzogNTk0LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM3MV84MCc6IDU5NSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzODFfOTAnOiA1OTYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczkxXzEwMCc6IDU5NyxcclxuICAnVGhlUGVha3MnOiA2MjAsXHJcbiAgJ1RoZVBoYW50b21zRmVhc3QnOiA5OTQsXHJcbiAgJ1RoZVBpbGxhcnMnOiA0MTksXHJcbiAgJ1RoZVBvb2xPZlRyaWJ1dGUnOiA2NzQsXHJcbiAgJ1RoZVBvb2xPZlRyaWJ1dGVFeHRyZW1lJzogNjc3LFxyXG4gICdUaGVQcmFldG9yaXVtJzogMjI0LFxyXG4gICdUaGVQdXBwZXRzQnVua2VyJzogOTE3LFxyXG4gICdUaGVRaXRhbmFSYXZlbCc6IDgyMyxcclxuICAnVGhlUmFrdGlrYUdyZWF0d29vZCc6IDgxNyxcclxuICAnVGhlUmVzb25hbnQnOiA2ODQsXHJcbiAgJ1RoZVJpZG9yYW5hTGlnaHRob3VzZSc6IDc3NixcclxuICAnVGhlUm95YWxDaXR5T2ZSYWJhbmFzdHJlJzogNzM0LFxyXG4gICdUaGVSb3lhbE1lbmFnZXJpZSc6IDY3OSxcclxuICAnVGhlUnVieVNlYSc6IDYxMyxcclxuICAnVGhlU2VhT2ZDbG91ZHMnOiA0MDEsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZSc6IDkyMixcclxuICAnVGhlU2VhdE9mU2FjcmlmaWNlRXh0cmVtZSc6IDkyMyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4xJzogMzgwLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjInOiAzODEsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMyc6IDM4MixcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm40JzogMzgzLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjEnOiAzNTUsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMic6IDM1NixcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4zJzogMzU3LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjQnOiAzNTgsXHJcbiAgJ1RoZVNoaWZ0aW5nQWx0YXJzT2ZVem5haXInOiA3OTQsXHJcbiAgJ1RoZVNoaWZ0aW5nT3VibGlldHRlc09mTHloZUdoaWFoJzogOTI0LFxyXG4gICdUaGVTaW5ndWxhcml0eVJlYWN0b3InOiA0MzcsXHJcbiAgJ1RoZVNpcmVuc29uZ1NlYSc6IDYyNixcclxuICAnVGhlU3RlcHNPZkZhaXRoJzogMTQzLFxyXG4gICdUaGVTdGlnbWFEcmVhbXNjYXBlJzogOTg2LFxyXG4gICdUaGVTdG9uZVZpZ2lsJzogMTY4LFxyXG4gICdUaGVTdG9uZVZpZ2lsSGFyZCc6IDM2NSxcclxuICAnVGhlU3RyaWtpbmdUcmVlRXh0cmVtZSc6IDM3NSxcclxuICAnVGhlU3RyaWtpbmdUcmVlSGFyZCc6IDM3NCxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuJzogMTYzLFxyXG4gICdUaGVTdW5rZW5UZW1wbGVPZlFhcm5IYXJkJzogMzY3LFxyXG4gICdUaGVTd2FsbG93c0NvbXBhc3MnOiA3NjgsXHJcbiAgJ1RoZVRhbVRhcmFEZWVwY3JvZnQnOiAxNjQsXHJcbiAgJ1RoZVRhbVRhcmFEZWVwY3JvZnRIYXJkJzogMzczLFxyXG4gICdUaGVUZW1wZXN0JzogODE4LFxyXG4gICdUaGVUZW1wbGVPZlRoZUZpc3QnOiA2NjMsXHJcbiAgJ1RoZVRob3VzYW5kTWF3c09mVG90b1Jhayc6IDE2OSxcclxuICAnVGhlVG93ZXJBdFBhcmFkaWdtc0JyZWFjaCc6IDk2NixcclxuICAnVGhlVG93ZXJPZkJhYmlsJzogOTY5LFxyXG4gICdUaGVUb3dlck9mWm90JzogOTUyLFxyXG4gICdUaGVUcmlwbGVUcmlhZEJhdHRsZWhhbGwnOiA1NzksXHJcbiAgJ1RoZVR3aW5uaW5nJzogODQwLFxyXG4gICdUaGVVbmVuZGluZ0NvaWxPZkJhaGFtdXRVbHRpbWF0ZSc6IDczMyxcclxuICAnVGhlVmFsZW50aW9uZXNDZXJlbW9ueSc6IDc0MSxcclxuICAnVGhlVmF1bHQnOiA0MjEsXHJcbiAgJ1RoZVZvaWRBcmsnOiA1MDgsXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZSc6IDE1OSxcclxuICAnVGhlV2FuZGVyZXJzUGFsYWNlSGFyZCc6IDE4OCxcclxuICAnVGhlV2VhcG9uc1JlZnJhaW5VbHRpbWF0ZSc6IDc3NyxcclxuICAnVGhlV2VlcGluZ0NpdHlPZk1oYWNoJzogNTU2LFxyXG4gICdUaGVXaG9ybGVhdGVyRXh0cmVtZSc6IDM1OSxcclxuICAnVGhlV2hvcmxlYXRlckhhcmQnOiAyODEsXHJcbiAgJ1RoZVdob3JsZWF0ZXJVbnJlYWwnOiA5NzIsXHJcbiAgJ1RoZVdpbGxPZlRoZU1vb24nOiA3OTcsXHJcbiAgJ1RoZVdvcmxkT2ZEYXJrbmVzcyc6IDE1MSxcclxuICAnVGhlV3JlYXRoT2ZTbmFrZXMnOiA4MjQsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzRXh0cmVtZSc6IDgyNSxcclxuICAnVGhva0FzdFRob2tFeHRyZW1lJzogNDQ2LFxyXG4gICdUaG9rQXN0VGhva0hhcmQnOiA0MzIsXHJcbiAgJ1Rob3JubWFyY2hFeHRyZW1lJzogMzY0LFxyXG4gICdUaG9ybm1hcmNoSGFyZCc6IDIwNyxcclxuICAnVG9DYWxtZXJTZWFzJzogMTAxNixcclxuICAnVHJpcGxlVHJpYWRJbnZpdGF0aW9uYWxQYXJsb3InOiA5NDEsXHJcbiAgJ1RyaXBsZVRyaWFkT3BlblRvdXJuYW1lbnQnOiA5NDAsXHJcbiAgJ1VsZGFoU3RlcHNPZk5hbGQnOiAxMzAsXHJcbiAgJ1VsZGFoU3RlcHNPZlRoYWwnOiAxMzEsXHJcbiAgJ1VsdGltYVRodWxlJzogOTYwLFxyXG4gICdVbmRlclRoZUFybW9yJzogMTkwLFxyXG4gICdVcHBlckxhTm9zY2VhJzogMTM5LFxyXG4gICdVcnRoc0ZvdW50JzogMzk0LFxyXG4gICdWYW5hc3BhdGknOiA5NzAsXHJcbiAgJ1Zvd3NPZlZpcnR1ZURlZWRzT2ZDcnVlbHR5JzogODkzLFxyXG4gICdXYXJkVXAnOiAyOTksXHJcbiAgJ1dlc3Rlcm5MYU5vc2NlYSc6IDEzOCxcclxuICAnV2VzdGVyblRoYW5hbGFuJzogMTQwLFxyXG4gICdXaGVuQ2xhbnNDb2xsaWRlJzogNzIzLFxyXG4gICdXaXRoSGVhcnRBbmRTdGVlbCc6IDcwNyxcclxuICAnV29sdmVzRGVuUGllcic6IDI1MCxcclxuICAnV29ydGh5T2ZIaXNCYWNrJzogMTAxNCxcclxuICAnWGVscGhhdG9sJzogNTcyLFxyXG4gICdZYW54aWEnOiA2MTQsXHJcbiAgJ1phZG5vcic6IDk3NSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5pbXBvcnQgeyBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG50eXBlIFpvbmVJbmZvVHlwZSA9IHtcclxuICBbem9uZUlkOiBudW1iZXJdOiB7XHJcbiAgICByZWFkb25seSBleFZlcnNpb246IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IGNvbnRlbnRUeXBlPzogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgbmFtZTogTG9jYWxlVGV4dDtcclxuICAgIHJlYWRvbmx5IG9mZnNldFg6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG9mZnNldFk6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IHNpemVGYWN0b3I6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IHdlYXRoZXJSYXRlOiBudW1iZXI7XHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IGRhdGE6IFpvbmVJbmZvVHlwZSA9IHtcclxuICAxMDAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0V1cGhvcmF0cm9uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFeGNpdGF0cm9uIDYwMDAnLFxyXG4gICAgICAnZnInOiAnTGUgTHVkb2Ryb21lJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqjjgq3jgrXjgqTjg4jjg63jg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRXJzdGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGaXJzdCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBQYXJ2aXMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBad2VpdGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBTZWNvbmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQ2xvYXF1ZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og6Zu25byP77ya6L66542E57eoMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBEcml0dGVyIEtyZWlzJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBUaGlyZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBGb3VybmFpc2UnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBEcml0dGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBUaGlyZCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBGb3VybmFpc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gVmllcnRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRm91cnRoIENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIEFiw65tZScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfouI/noLTpo47pm6onLFxyXG4gICAgICAnZGUnOiAnRWluIGZyb3N0aWdlciBFbXBmYW5nJyxcclxuICAgICAgJ2VuJzogJ0EgRnJvc3R5IFJlY2VwdGlvbicsXHJcbiAgICAgICdmcic6ICdVbiBhY2N1ZWlsIGdsYWNpYWwnLFxyXG4gICAgICAnamEnOiAn6Zyc6Zuq44KS6LiP44G/44GX44KB44GmJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOWwveWvkuWknCcsXHJcbiAgICAgICdkZSc6ICdJbiBmcmVtZGVyIEhhdXQnLFxyXG4gICAgICAnZW4nOiAnSW4gZnJvbSB0aGUgQ29sZCcsXHJcbiAgICAgICdmcic6ICdMZSB2b2xldXIgZGUgY29ycHMnLFxyXG4gICAgICAnamEnOiAn5a+S5aSc44Gu44GT44GoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI3LFxyXG4gIH0sXHJcbiAgMTAxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmianmlaPnmoTmnKvml6UnLFxyXG4gICAgICAnZGUnOiAnUm90ZSBIaW1tZWwsIHJvdGVyIFNjaG5lZScsXHJcbiAgICAgICdlbic6ICdBcyB0aGUgSGVhdmVucyBCdXJuJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhcsOobmUgZGVzIG5laWdlcycsXHJcbiAgICAgICdqYSc6ICfmi6HjgYzjgovntYLmnKsnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQxLFxyXG4gIH0sXHJcbiAgMTAxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmZPmnIjkuYvnu4jpgJQnLFxyXG4gICAgICAnZGUnOiAnRW5kc2NocmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ0VuZHdhbGtlcicsXHJcbiAgICAgICdmcic6ICdBcnBlbnRldXIgZGVzIGZpbml0dWRlcycsXHJcbiAgICAgICdqYSc6ICfmmoHmnIjjga7jg5XjgqPjg4rjg7zjg6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQzLFxyXG4gIH0sXHJcbiAgMTAxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuIrkuIDku7vpmL/osKLlp4bnmoTmlZnlr7wnLFxyXG4gICAgICAnZGUnOiAnIEVzIHJlaW10IHNpY2ggYXVmIEdlYmVsbCcsXHJcbiAgICAgICdlbic6ICdXb3J0aHkgb2YgSGlzIEJhY2snLFxyXG4gICAgICAnZnInOiAnTGUgZMOpZmkgZGUgbFxcJ2FuY2llbm5lIEF6ZW0nLFxyXG4gICAgICAnamEnOiAn5YmN5Luj44Ki44K844Og44Gu5omL44G744Gp44GNJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNCxcclxuICB9LFxyXG4gIDEwMTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyq5p2l5LmL6LevJyxcclxuICAgICAgJ2RlJzogJ09mZmVuIGbDvHIgbmV1ZSBXZWdlJyxcclxuICAgICAgJ2VuJzogJ0EgUGF0aCBVbnZlaWxlZCcsXHJcbiAgICAgICdmcic6ICdEZXMgZXNwcml0cyBldCBkZXMgaG9tbWVzJyxcclxuICAgICAgJ2phJzogJ+mWi+OBi+OCjOOBn+mBk+OBruWFiOOBuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMTAxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbblkJHono3lkIjnmoTlt6jova4nLFxyXG4gICAgICAnZGUnOiAnSW0gSGFmZW4gZGVzIEZyaWVkZW5zJyxcclxuICAgICAgJ2VuJzogJ1RvIENhbG1lciBTZWFzJyxcclxuICAgICAgJ2ZyJzogJ0NhcCBzdXIgbGEgcGFpeCcsXHJcbiAgICAgICdqYSc6ICfono3lkozjgbjjga7oiLnlh7onLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6a2C5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGVzIEJlZ3LDpGJuaXMnLFxyXG4gICAgICAnZW4nOiAnTGFpZCB0byBSZXN0JyxcclxuICAgICAgJ2ZyJzogJ0RlcyBhZGlldXggZG9taWVucycsXHJcbiAgICAgICdqYSc6ICfjg4njg57jga7lvJTjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjQwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfku7DmnJvoi43nqbnvvIzkuI3mlq3ov4jov5snLFxyXG4gICAgICAnZGUnOiAnRGVyIFdlZyB6dXIgRXJuZXVlcnVuZycsXHJcbiAgICAgICdlbic6ICdFdmVyIE1hcmNoIEhlYXZlbnN3YXJkJyxcclxuICAgICAgJ2ZyJzogJ0xhIHZvaWUgZHUgcmVub3V2ZWF1JyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeOCkuS7sOOBjuOAgeatqeOBv+e2muOBkeOCiycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICAxMDE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ebrumAgeeUn+iAheWJjeihjCcsXHJcbiAgICAgICdkZSc6ICdUcmF1ZXIgdW5kIEhvZmZudW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHaWZ0IG9mIE1lcmN5JyxcclxuICAgICAgJ2ZyJzogJ0FjY2VwdGF0aW9uJyxcclxuICAgICAgJ2phJzogJ+WDleOBn+OBoeOBr+mChOOCiuOAgeWQm+OCkuimi+mAgeOCjeOBhicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfplbDnmoTmhI/kuYknLFxyXG4gICAgICAnZGUnOiAnRGllIEJlZGV1dHVuZyBkZXIgU2Vuc2UnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhhcnZlc3QgQmVnaW5zJyxcclxuICAgICAgJ2ZyJzogJ0xhIHZyYWllIHB1aXNzYW5jZSBkZSBsYSBmYXV4JyxcclxuICAgICAgJ2phJzogJ+Wkp+mOjOOBruaEj+WRsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmpfmnYDpgZMnLFxyXG4gICAgICAnZGUnOiAnRGllIEt1bnN0IGRlcyBUw7Z0ZW5zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBLaWxsaW5nIEFydCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfmmpfmrrrpgZMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAxMDIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0pOiAheeahOefreadlicsXHJcbiAgICAgICdkZSc6ICdEZXMgV2Vpc2VuIHd1bmRlcnNhbWVzIFdlcmt6ZXVnJyxcclxuICAgICAgJ2VuJzogJ1NhZ2VcXCdzIEZvY3VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBhcm1lcyBkdSBzYWdlJyxcclxuICAgICAgJ2phJzogJ+izouiAheOBruefreadlicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MCxcclxuICAgICdvZmZzZXRZJzogNixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55Sf5ZG9556s6YCd77yM5pyv6YGT5oGS5LmFJyxcclxuICAgICAgJ2RlJzogJ0RhcyBMZWJlbiBpc3Qga3VyeiwgZGllIEt1bnN0IGlzdCBsYW5nJyxcclxuICAgICAgJ2VuJzogJ0xpZmUgRXBoZW1lcmFsLCBQYXRoIEV0ZXJuYWwnLFxyXG4gICAgICAnZnInOiAnRXhpc3RlbmNlcyDDqXBow6ltw6hyZXMgZXQgc2F2b2lyIMOpdGVybmVsJyxcclxuICAgICAgJ2phJzogJ+S6uuWRveOBr+WEmuOBj+OAgeihk+OBruOBv+OBoeOBr+awuOS5heOBqycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUwLFxyXG4gIH0sXHJcbiAgMTI4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIrlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnT2JlcmUgRGVja3MnLFxyXG4gICAgICAnZW4nOiAnTGltc2EgTG9taW5zYSBVcHBlciBEZWNrcycsXHJcbiAgICAgICdmcic6ICdMaW1zYSBMb21pbnNhIC0gTGUgVGlsbGFjJyxcclxuICAgICAgJ2phJzogJ+ODquODoOOCteODu+ODreODn+ODs+OCte+8muS4iueUsuadv+WxpCcsXHJcbiAgICAgICdrbyc6ICfrprzsgqwg66Gc66+87IKsIOyDgey4tSDqsJHtjJAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQsXHJcbiAgfSxcclxuICAxMjk6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnlp4bokKjCt+e9l+aVj+iQqOS4i+WxgueUsuadvycsXHJcbiAgICAgICdkZSc6ICdVbnRlcmUgRGVja3MnLFxyXG4gICAgICAnZW4nOiAnTGltc2EgTG9taW5zYSBMb3dlciBEZWNrcycsXHJcbiAgICAgICdmcic6ICdMaW1zYSBMb21pbnNhIC0gTFxcJ0VudHJlcG9udCcsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIvnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDtlZjsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE1LFxyXG4gIH0sXHJcbiAgMTMwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI546w5LiW5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ05hbGQtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgTmFsZCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIE5hbGQnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44OK44Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDrgqAg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcsXHJcbiAgfSxcclxuICAxMzE6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuYzlsJTovr7lk4jmnaXnlJ/lm57lu4onLFxyXG4gICAgICAnZGUnOiAnVGhhbC1LcmV1emdhbmcnLFxyXG4gICAgICAnZW4nOiAnVWxcXCdkYWggLSBTdGVwcyBvZiBUaGFsJyxcclxuICAgICAgJ2ZyJzogJ1VsXFwnZGFoIC0gRmF1Ym91cmcgZGUgVGhhbCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg4Djg4/vvJrjgrbjg6vlm57lu4onLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOuLrCDtmozrnpEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDEzMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+agvOmHjOi+vuWwvOS6muaWsOihlycsXHJcbiAgICAgICdkZSc6ICdOZXUtR3JpZGFuaWEnLFxyXG4gICAgICAnZW4nOiAnTmV3IEdyaWRhbmlhJyxcclxuICAgICAgJ2ZyJzogJ05vdXZlbGxlIEdyaWRhbmlhJyxcclxuICAgICAgJ2phJzogJ+OCsOODquODgOODi+OCou+8muaWsOW4guihlycsXHJcbiAgICAgICdrbyc6ICfqt7jrpqzri6Tri4jslYQg7Iug7Iuc6rCA7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEsXHJcbiAgfSxcclxuICAxMzM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprml6fooZcnLFxyXG4gICAgICAnZGUnOiAnQWx0LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ09sZCBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIEdyaWRhbmlhJyxcclxuICAgICAgJ2phJzogJ+OCsOODquODgOODi+OCou+8muaXp+W4guihlycsXHJcbiAgICAgICdrbyc6ICfqt7jrpqzri6Tri4jslYQg6rWs7Iuc6rCA7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIsXHJcbiAgfSxcclxuICAxMzQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuK3mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdNaWRkbGUgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBjZW50cmFsZScsXHJcbiAgICAgICdqYSc6ICfkuK3lpK7jg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KSR67aAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDEzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieivuuilv+S6muS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdVbnRlcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdMb3dlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnQmFzc2UtTm9zY2VhJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE3LFxyXG4gIH0sXHJcbiAgMTM2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW36Zu+5p2RJyxcclxuICAgICAgJ2RlJzogJ0RvcmYgZGVzIE5lYmVscycsXHJcbiAgICAgICdlbic6ICdNaXN0JyxcclxuICAgICAgJ2ZyJzogJ0JydW3DqWUnLFxyXG4gICAgICAnamEnOiAn44Of44K544OI44O744O044Kj44Os44OD44K4JyxcclxuICAgICAgJ2tvJzogJ+yViOqwr+u5myDrp4jsnYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQsXHJcbiAgfSxcclxuICAxMzc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzmi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnRWFzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9yaWVudGFsZScsXHJcbiAgICAgICdqYSc6ICfmnbHjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn64+Z67aAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxOCxcclxuICB9LFxyXG4gIDEzODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+aLieivuuilv+S6micsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdXZXN0ZXJuIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgb2NjaWRlbnRhbGUnLFxyXG4gICAgICAnamEnOiAn6KW/44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+yEnOu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTksXHJcbiAgfSxcclxuICAxMzk6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnT2JlcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdVcHBlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnSGF1dGUtTm9zY2VhJyxcclxuICAgICAgJ2phJzogJ+mrmOWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfqs6Dsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIwLFxyXG4gIH0sXHJcbiAgMTQwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KW/6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1dlc3RsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+ilv+OCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAxNDE6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuK3okKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ0NlbnRyYWwgVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gY2VudHJhbCcsXHJcbiAgICAgICdqYSc6ICfkuK3lpK7jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7KSR67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMCxcclxuICB9LFxyXG4gIDE0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoib7njpvlkInlqJzmna/mlpfmioDlpKfkvJrlhrPotZsnLFxyXG4gICAgICAnZGUnOiAnRGFzIERyYWNoZW5oYWxzLUtvbG9zc2V1bScsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhZ29uXFwncyBOZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbCBkdSBkcmFnb24nLFxyXG4gICAgICAnamEnOiAn44Ki44Oe44K444OK5p2v6ZeY5oqA5Lya5rG65Yud5oimJyxcclxuICAgICAgJ2tvJzogJ+yVhOuniOyngOuCmOuwsCDtiKzquLDrjIDtmowg6rKw7Iq57KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55qH6YO95LyK5L+u5Yqg5b635L+d5Y2r5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBTY2hpY2tzYWxzd2VnJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGVwcyBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdMZSBTacOoZ2UgZGUgbGEgc2FpbnRlIENpdMOpIGRcXCdJc2hnYXJkJyxcclxuICAgICAgJ2phJzogJ+eah+mDveOCpOOCt+ODpeOCrOODq+ODiemYsuihm+aIpicsXHJcbiAgICAgICdrbyc6ICfshLHrj4Qg7J207IqI6rCA66W065OcIOuwqeyWtOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE0NToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S4nOiQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICfDlnN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb3JpZW50YWwnLFxyXG4gICAgICAnamEnOiAn5p2x44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEsXHJcbiAgfSxcclxuICAxNDY6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnU8O8ZGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdTb3V0aGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBtw6lyaWRpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljZfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMixcclxuICB9LFxyXG4gIDE0Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WMl+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdOw7ZyZGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdOb3J0aGVybiBUaGFuYWxhbicsXHJcbiAgICAgICdmcic6ICdUaGFuYWxhbiBzZXB0ZW50cmlvbmFsJyxcclxuICAgICAgJ2phJzogJ+WMl+OCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrtoHrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzLFxyXG4gIH0sXHJcbiAgMTQ4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lit5aSu5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ1RpZWZlciBXYWxkJyxcclxuICAgICAgJ2VuJzogJ0NlbnRyYWwgU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBjZW50cmFsZScsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrkuK3lpK7mo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDspJHrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflubvpvpnmrovpqrjlr4bnuqbkuYvloZQnLFxyXG4gICAgICAnZGUnOiAnSMO8dGVyIGRlcyBTZWVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBLZWVwZXIgb2YgdGhlIExha2UnLFxyXG4gICAgICAnZnInOiAnTGUgR2FyZGllbiBkdSBsYWMnLFxyXG4gICAgICAnamEnOiAn5bm76b6N5q6L6aq4IOm7mee0hOOBruWhlCcsXHJcbiAgICAgICdrbyc6ICfrrLXslb3snZgg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc0LFxyXG4gIH0sXHJcbiAgMTUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtuWhlCDmmpfkuYvkuJbnlYwnLFxyXG4gICAgICAnZGUnOiAnRGllIFdlbHQgZGVyIER1bmtlbGhlaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdvcmxkIG9mIERhcmtuZXNzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIE1vbmRlIGRlcyBUw6luw6hicmVzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8mumXh+OBruS4lueVjCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDslrTrkaDsnZgg7IS46rOEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNTI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfkuJzpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnT3N0d2FsZCcsXHJcbiAgICAgICdlbic6ICdFYXN0IFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgZGUgbFxcJ2VzdCcsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrmnbHpg6jmo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDrj5nrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNCxcclxuICB9LFxyXG4gIDE1Mzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+WNl+mDqOael+WMuicsXHJcbiAgICAgICdkZSc6ICdTw7xkd2FsZCcsXHJcbiAgICAgICdlbic6ICdTb3V0aCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGR1IHN1ZCcsXHJcbiAgICAgICdqYSc6ICfpu5LooaPmo67vvJrljZfpg6jmo67mnpcnLFxyXG4gICAgICAna28nOiAn6rKA7J2A7J6l66eJIOyIsiDrgqjrtoDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNSxcclxuICB9LFxyXG4gIDE1NDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+WMl+mDqOael+WMuicsXHJcbiAgICAgICdkZSc6ICdOb3Jkd2FsZCcsXHJcbiAgICAgICdlbic6ICdOb3J0aCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGR1IG5vcmQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5YyX6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg67aB67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYsXHJcbiAgfSxcclxuICAxNTU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/kuK3lpK7pq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnWmVudHJhbGVzIEhvY2hsYW5kIHZvbiBDb2VydGhhcycsXHJcbiAgICAgICdlbic6ICdDb2VydGhhcyBDZW50cmFsIEhpZ2hsYW5kcycsXHJcbiAgICAgICdmcic6ICdIYXV0ZXMgdGVycmVzIGR1IENvZXJ0aGFzIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn44Kv44Or44K244K55Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2tvJzogJ+y7pOultOuLpOyKpCDspJHslZnqs6Dsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAxNTY6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmkanmnZznurMnLFxyXG4gICAgICAnZGUnOiAnTW9yIERob25hJyxcclxuICAgICAgJ2VuJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdmcic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnamEnOiAn44Oi44O844OJ44Kl44OKJyxcclxuICAgICAgJ2tvJzogJ+uqqOultOuPhOuCmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDE1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnnhLbopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnZnInOiAnU2FzdGFzaGEnLFxyXG4gICAgICAnamEnOiAn5aSp54S26KaB5a6zIOOCteOCueOCv+OCt+ODo+a1uOmjn+a0nicsXHJcbiAgICAgICdrbyc6ICfsgqzsiqTtg4Dsg6Qg7Lmo7IudIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8keWFu+iDnOWcsOW4g+mbt+emj+a0m+WFi+aWr+mHjuiQpeWcsCcsXHJcbiAgICAgICdkZSc6ICdCcsO8bGx2b2x4XFwnIExhbmdyYXN0JyxcclxuICAgICAgJ2VuJzogJ0JyYXlmbG94XFwncyBMb25nc3RvcCcsXHJcbiAgICAgICdmcic6ICdMZSBCaXZvdWFjIGRlIEJyYXlmbG94JyxcclxuICAgICAgJ2phJzogJ+WlqumChOaUr+aPtCDjg5bjg6zjgqTjg5Xjg63jgq/jgrnjga7ph47llrblnLAnLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnueBteWco+Wfn+aUvua1quelnuWPpOelnuauvycsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVzIFdhbmRlcmVycycsXHJcbiAgICAgICdlbic6ICdUaGUgV2FuZGVyZXJcXCdzIFBhbGFjZScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZHUgVmFnYWJvbmQnLFxyXG4gICAgICAnamEnOiAn5peF56We6IGW5Z+fIOODr+ODs+ODgOODqeODvOODkeODrOOCuScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aKG6Iiq5piO54Gv5aSp54u85pif54Gv5aGUJyxcclxuICAgICAgJ2RlJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZW4nOiAnUGhhcm9zIFNpcml1cycsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMnLFxyXG4gICAgICAnamEnOiAn5oCq6bOl5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCcsXHJcbiAgICAgICdrbyc6ICfsi5zrpqzsmrDsiqQg64yA65Ox64yAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwgemUgeWdkemBk+mTnOmTg+mTnOWxsScsXHJcbiAgICAgICdkZSc6ICdLdXBmZXJnbG9ja2VuLU1pbmUnLFxyXG4gICAgICAnZW4nOiAnQ29wcGVyYmVsbCBNaW5lcycsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlJyxcclxuICAgICAgJ2phJzogJ+WwgemOluWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEnLFxyXG4gICAgICAna28nOiAn6rWs66as7KKFIOq0keyCsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWFvemihuWfn+aXpeW9seWcsOS/rueCvOaJgCcsXHJcbiAgICAgICdkZSc6ICdIYWxhdGFsaScsXHJcbiAgICAgICdlbic6ICdIYWxhdGFsaScsXHJcbiAgICAgICdmcic6ICdIYWxhdGFsaScsXHJcbiAgICAgICdqYSc6ICfprZTnjaPpoJjln58g44OP44Op44K/44Oq5L+u57e05omAJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj6Tku6PpgZfov7nlloDmganln4vmsqHlnKPloIInLFxyXG4gICAgICAnZGUnOiAnVmVyc3Vua2VuZXIgVGVtcGVsIHZvbiBRYXJuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdW5rZW4gVGVtcGxlIG9mIFFhcm4nLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIGVuc2V2ZWxpIGRlIFFhcm4nLFxyXG4gICAgICAnamEnOiAn6YG66Leh5o6i57SiIOOCq+ODq+ODs+Wfi+ayoeWvuumZoicsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WcsOS4i+eBteauv+WhlOWnhsK35aGU5ouJ5aKT5ZutJyxcclxuICAgICAgJ2RlJzogJ1RvdGVuYWNrZXIgVGFtLVRhcmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRhbeKAk1RhcmEgRGVlcGNyb2Z0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYScsXHJcbiAgICAgICdqYSc6ICflnLDkuIvpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAJyxcclxuICAgICAgJ2tvJzogJ+2DkO2DgOudvCDrrJjshownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkI3pl6jlupzpgrjpnZnor63luoTlm60nLFxyXG4gICAgICAnZGUnOiAnSGF1a2tlLUhlcnJlbmhhdXMnLFxyXG4gICAgICAnZW4nOiAnSGF1a2tlIE1hbm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlJyxcclxuICAgICAgJ2phJzogJ+WQjemWgOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrgnLFxyXG4gICAgICAna28nOiAn7ZWY7Jqw7LyA7YOAIOuzhOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTY3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCquaVmempu+WcsOaXoOmZkOWfjuWPpOWgoScsXHJcbiAgICAgICdkZSc6ICdEaWUgUnVpbmVuIHZvbiBBbWRhcG9yJyxcclxuICAgICAgJ2VuJzogJ0FtZGFwb3IgS2VlcCcsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvcicsXHJcbiAgICAgICdqYSc6ICfpgqrmlZnmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrJyxcclxuICAgICAgJ2tvJzogJ+yYmyDslZTri6Ttj6zrpbQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMTY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wvuem+meWfjuWhnuefs+WNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdTdGVpbmVybmUgV2FjaHQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN0b25lIFZpZ2lsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUnLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5pS755WlIOOCueODiOODvOODs+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfrj4zrsKntjKgg6rK96rOE7LSI7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI3LFxyXG4gIH0sXHJcbiAgMTY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ebkeeLseW6n+Win+aJmOaJmMK35ouJ5YWL5Y2D54uxJyxcclxuICAgICAgJ2RlJzogJ1RhdXNlbmQgTMO2Y2hlciB2b24gVG90by1SYWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRob3VzYW5kIE1hd3Mgb2YgVG90b+KAk1JhaycsXHJcbiAgICAgICdmcic6ICdMZXMgTWlsbGUgR3VldWxlcyBkZSBUb3RvLVJhaycsXHJcbiAgICAgICdqYSc6ICfnm6PnjYTlu4Plop8g44OI44OI44Op44Kv44Gu5Y2D542EJyxcclxuICAgICAgJ2tvJzogJ+2GoO2GoOudvO2BrCDqsJDsmKUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtYHmspnov7flrqvmqLXpuKPmtJ4nLFxyXG4gICAgICAnZGUnOiAnU8OkZ2Vyc2NocmVpJyxcclxuICAgICAgJ2VuJzogJ0N1dHRlclxcJ3MgQ3J5JyxcclxuICAgICAgJ2ZyJzogJ0xlIEdvdWZmcmUgaHVybGFudCcsXHJcbiAgICAgICdqYSc6ICfmtYHnoILov7flrq4g44Kr44OD44K/44O844K644Kv44Op44KkJyxcclxuICAgICAgJ2tvJzogJ+uCmOustOq+vOydmCDruYTrqoUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsbHkuK3miJjnur/ms73mooXlsJTopoHloZ4nLFxyXG4gICAgICAnZGUnOiAnRGllIEZlc3RlIER6ZW1hZWwnLFxyXG4gICAgICAnZW4nOiAnRHplbWFlbCBEYXJraG9sZCcsXHJcbiAgICAgICdmcic6ICdMYSBGb3J0ZXJlc3NlIGRlIER6ZW1hZWwnLFxyXG4gICAgICAnamEnOiAn5o6D6KiO5L2c5oimIOOCvOODvOODoeODq+imgeWhnicsXHJcbiAgICAgICdrbyc6ICfsoJzrqZwg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q+S6Zu+5rSe56qf6buE6YeR6LC3JyxcclxuICAgICAgJ2RlJzogJ0dvbGRrbGFtbScsXHJcbiAgICAgICdlbic6ICdUaGUgQXVydW0gVmFsZScsXHJcbiAgICAgICdmcic6ICdMZSBWYWwgZFxcJ0F1cnVtJyxcclxuICAgICAgJ2phJzogJ+mcp+S4reihjOi7jSDjgqrjg7zjg6njg6Djg7TjgqfjgqTjg6snLFxyXG4gICAgICAna28nOiAn6riI67mbIOqzqOynnOq4sCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTc0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtuWhlCDlj6Tku6Pkurrov7flrqsnLFxyXG4gICAgICAnZGUnOiAnS3Jpc3RhbGx0dXJtIC0gRGFzIExhYnlyaW50aCBkZXIgQWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIExhYnlyaW50aCBvZiB0aGUgQW5jaWVudHMnLFxyXG4gICAgICAnZnInOiAnTGEgVG91ciBkZSBDcmlzdGFsIC0gRMOpZGFsZSBhbnRpcXVlJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muWPpOS7o+OBruawkeOBrui/t+WuricsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDqs6DrjIDsnbjsnZgg66+46raBJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxODA6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprlpJblnLAnLFxyXG4gICAgICAnZGUnOiAnw4R1w59lcmVzIExhIE5vc2NlYScsXHJcbiAgICAgICdlbic6ICdPdXRlciBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIGV4dMOpcmlldXJlJyxcclxuICAgICAgJ2phJzogJ+WkluWcsOODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfsmbjsp4Ag652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI0LFxyXG4gIH0sXHJcbiAgMTg4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atpuijheWco+Wfn+aUvua1quelnuWPpOelnuauvycsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVzIFdhbmRlcmVycyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgV2FuZGVyZXJcXCdzIFBhbGFjZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+atpuijheiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrkgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uwqeuekeyekOydmCDqtoHsoIQo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDE4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrlv7XlppblnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvciAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRcXCdBbWRhcG9yIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mCquW/teaOkuaSgyDlj6Tln47jgqLjg6Djg4Djg5fjg7zjg6sgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yYmyDslZTri6Ttj6zrpbQg7ISxKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxOTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5b235b6o5q2754G177yBJyxcclxuICAgICAgJ2RlJzogJ0JvY2ttYW5ucyBHZWZvbGdlJyxcclxuICAgICAgJ2VuJzogJ1VuZGVyIHRoZSBBcm1vcicsXHJcbiAgICAgICdmcic6ICdDaGFzc2UgYXUgZmFudMO0bWUgZmFudG9jaGUnLFxyXG4gICAgICAnamEnOiAn5b235b6o44GG5q276ZyK44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uwqe2Zqe2VmOuKlCDsgqzroLnsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMTkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mpsemZpOWJp+avkuWmluiKse+8gScsXHJcbiAgICAgICdkZSc6ICdVbmtyYXV0IGrDpHRlbicsXHJcbiAgICAgICdlbic6ICdQdWxsaW5nIFBvaXNvbiBQb3NpZXMnLFxyXG4gICAgICAnZnInOiAnT3DDqXJhdGlvbiBmbGV1cnMgZHUgbWFsJyxcclxuICAgICAgJ2phJzogJ+acieavkuWmluiKseOCkumnhumZpOOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrj4XshLEg7JqU6rS06r2D7J2EIOygnOqxsO2VmOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNCxcclxuICB9LFxyXG4gIDE5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtojnga3mgbblvpLlm6LkvJnlr4TnlJ/onILlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnSW5zIFdlc3Blbm5lc3Qgc3RlY2hlbicsXHJcbiAgICAgICdlbic6ICdTdGluZ2luZyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0V4cMOpZGl0aW9uIHB1bml0aXZlIGNvbnRyZSBsZXMgVmVudHJlcm91Z2UnLFxyXG4gICAgICAnamEnOiAn54Sh5rOV6ICF44CM5Ly85oiR6JyC5Zuj44CN44KS5pKD5ruF44Gb44KI77yBJyxcclxuICAgICAgJ2tvJzogJ+ustOuyleyekCDsp5Hri6ggXFwn64KY64KY64uI64uoXFwn7J2EIOyErOupuO2VmOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNSxcclxuICB9LFxyXG4gIDE5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya55yf5oiQ57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsp4TshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDnnJ/mupDkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMyAtIDInLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya55yf5oiQ57eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsp4TshLHtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDnnJ/mupDkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMyAtIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMycsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGRlIEJhaGFtdXQgSUlJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSA0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ0OCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDQsXHJcbiAgfSxcclxuICAyMDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m56K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHcmFiIGRlciBMb2hlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3dsIG9mIEVtYmVycycsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zJyxcclxuICAgICAgJ2phJzogJ+OCpOODleODquODvOODiOiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfsnbTtlITrpqztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI1LFxyXG4gIH0sXHJcbiAgMjA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgTmFiZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwnLFxyXG4gICAgICAnamEnOiAn44K/44Kk44K/44Oz6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyMDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WWhOeOi+ODouOCsOODq+ODu+ODouOCsFhJSeS4luiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfshKDsmZUg66qo6re466OoIOuqqOq3uCBYSUnshLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMwLFxyXG4gIH0sXHJcbiAgMjA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+iuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgVG9zZW5kZSBBdWdlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZScsXHJcbiAgICAgICdmcic6ICdIdXJsxZNpbCcsXHJcbiAgICAgICdqYSc6ICfjgqzjg6vjg7zjg4DoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDIxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrozmiJDpm4blm6LmiJjorq3nu4PvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluZXIgZsO8ciBhbGxlLCBhbGxlIGbDvHIgZWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmFzaWMgVHJhaW5pbmc6IEVuZW15IFBhcnRpZXMnLFxyXG4gICAgICAnZnInOiAnRW50cmHDrm5lbWVudDxJbmRlbnQvPjogZ3JvdXBlcyBkXFwnZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICfpm4blm6PmiKboqJPnt7TjgpLjgY/jgZDjgormipzjgZHjgo3vvIEnLFxyXG4gICAgICAna28nOiAn7KeR64uo7KCEIO2biOugqOydhCDsmYTsiJjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE2LFxyXG4gIH0sXHJcbiAgMjE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eqgeegtOaJgOacieWFs+mXqO+8jOiuqOS8kOacgOa3seWkhOeahOaVjOS6uu+8gScsXHJcbiAgICAgICdkZSc6ICdTdHVybWtvbW1hbmRvJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBTdHJvbmdob2xkcycsXHJcbiAgICAgICdmcic6XHJcbiAgICAgICAgJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGluPFNvZnRIeXBoZW4vPmZpbDxTb2Z0SHlwaGVuLz50cmE8U29mdEh5cGhlbi8+dGlvbiBlbiBiYXNlIGVubmVtaWUnLFxyXG4gICAgICAnamEnOiAn5YWo6Zai6ZaA44KS56qB56C044GX44CB5pyA5rex6YOo44Gu5pW144KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+q0gOusuOydhCDrj4ztjIztlZjqs6Ag7LWc7Ius67aA7J2YIOyggeydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAyMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o2V6I636YeR5biB6b6f77yBJyxcclxuICAgICAgJ2RlJzogJ0dpbCBvZGVyIExlYmVuJyxcclxuICAgICAgJ2VuJzogJ0hlcm8gb24gdGhlIEhhbGYgU2hlbGwnLFxyXG4gICAgICAnZnInOiAnUmVjb25xdcOqdGUgZFxcJ3VuZSBjYXJhcGFjZSBlc2NhbW90w6llJyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeOCkuaNleeNsuOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfquLjqsbDrtoHsnYQg7IKs66Gc7J6h7JWE6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMCxcclxuICB9LFxyXG4gIDIxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluJ3lm73ljZfmlrnloKHlpJblm7Tmv4DmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gQXXDn2VuYmVyZWljaCcsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1lcmlkaWFudW0nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2phJzogJ+WklumDreaUu+eVpSDjgqvjgrnjg4jjg6vjg6Djg7vjg6Hjg6rjg4fjgqPjgqLjg4zjg6AnLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuplOumrOuUlOyVhOuIlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WHu+a6g+WTpeW4g+ael+eCuOW8ueWGm+Wbou+8gScsXHJcbiAgICAgICdkZSc6ICdCb21iaWdlIEdvYmxpbnMnLFxyXG4gICAgICAnZW4nOiAnRmxpY2tpbmcgU3RpY2tzIGFuZCBUYWtpbmcgTmFtZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIEdvYmVsaW5zIGJvbWJhcmRpZXJzJyxcclxuICAgICAgJ2phJzogJ+eIhuW8vumtlOOCtOODluODquODs+i7jeWbo+OCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICftj63tg4TqtJEg6rOg67iU66awIOq1sOuLqOydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAyMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5qKm5bm75LmL5biD5ouJ5aWH5biM5aWl77yBJyxcclxuICAgICAgJ2RlJzogJ0JyaWF4aW8gYXVzc2NoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIHRoYXQgRW5kcyBpbiB0aGUgV2VsbCcsXHJcbiAgICAgICdmcic6ICdCcmlheGlvIMOgIGJyYXMgcmFjY291cmNpcycsXHJcbiAgICAgICdqYSc6ICflpKLlubvjga7jg5bjg6njgq3jgrfjgqrjgpLoqI7jgabvvIEnLFxyXG4gICAgICAna28nOiAn66q97ZmY7J2YIOu4jOudvO2BrOyLnOyYpOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAyMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5rGh5p+T5rqQ5aS06a2U55WM6Iqx77yBJyxcclxuICAgICAgJ2RlJzogJ1TDtmRsaWNoZXMgUmFua2Vuc3BpZWwnLFxyXG4gICAgICAnZW4nOiAnTW9yZSB0aGFuIGEgRmVlbGVyJyxcclxuICAgICAgJ2ZyJzogJ1N1cyBhdSBtb3Jib2wgcG9sbHVldXInLFxyXG4gICAgICAnamEnOiAn5rGa5p+T5rqQ44Oi44Or44Oc44Or44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+yYpOyXvOybkCDrqrDrs7zsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDIyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICforqjkvJDlnZHpgZPkuK3lh7rnjrDnmoTlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnR2VmYWhyIGF1cyBkZW0gTmljaHRzJyxcclxuICAgICAgJ2VuJzogJ0Fubm95IHRoZSBWb2lkJyxcclxuICAgICAgJ2ZyJzogJ0J1c28gbFxcJ2ltbW9sYXRldXInLFxyXG4gICAgICAnamEnOiAn5Z2R6YGT44Gr54++44KM44Gf5aaW55Ww44OW44K944KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+qwseuPhOyXkCDrgpjtg4Drgpwg7JqU66eIIOu2gOyGjOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE3LFxyXG4gIH0sXHJcbiAgMjIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azqOaEj+aXoOaVjOeahOect+Wxnu+8jOiuqOS8kOWkp+Wei+WmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBTY2hhdHRlbicsXHJcbiAgICAgICdlbic6ICdTaGFkb3cgYW5kIENsYXcnLFxyXG4gICAgICAnZnInOiAnT21icmVzIGV0IGdyaWZmZXMnLFxyXG4gICAgICAnamEnOiAn54Sh5pW144Gu55y35bGe44KS5b6T44GI44GX44CB5aSn5Z6L5aaW55Ww44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+ustOyggeydmCDrtoDtlZjrpbwg7KGw7KKF7ZWY64qUIOyalOuniOulvCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeW5lemtlOWvvOWfjuacgOe7iOWGs+aImCcsXHJcbiAgICAgICdkZSc6ICdDYXN0cnVtIE1lcmlkaWFudW0gLSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIFByYWV0b3JpdW0nLFxyXG4gICAgICAnamEnOiAn5pyA57WC5rG65oimIOmtlOWwjuWfjuODl+ODqeOCqOODiOODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICfrp4jrj4TshLEg7ZSE65287J207Yag66as7JuAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrpgoLpgIXnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IO2VtO2bhO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMycsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrpgoLpgIXnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IO2VtO2bhO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAyNDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOmCgumAheS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiA0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCaW5kaW5nIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhlIGRlIEJhaGFtdXQgSVYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoNCcsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A1JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDUnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IFYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoNScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggNScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjUwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54u854ux5YGc6Ii55Zy6JyxcclxuICAgICAgJ2RlJzogJ1dvbGZzaMO2aGxlbi1QaWVyJyxcclxuICAgICAgJ2VuJzogJ1dvbHZlc1xcJyBEZW4gUGllcicsXHJcbiAgICAgICdmcic6ICdKZXTDqWUgZGUgbFxcJ0FudHJlIGRlcyBsb3VwcycsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg7TjgrrjgrjjgqfjgqTjg6vkv4LoiLnloLQnLFxyXG4gICAgICAna28nOiAn64qR64yA7Jqw66asIOu2gOuRkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzcsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI5LFxyXG4gIH0sXHJcbiAgMjgxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgQnJpc2V1ciBkZSBtYXLDqWVzIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDI5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Kk44OV44Oq44O844OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsnbTtlITrpqztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI1LFxyXG4gIH0sXHJcbiAgMjkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFRpdGFuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgTm9tYnJpbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgr/jgqTjgr/jg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIO2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+m5qW8572X5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gR2FydWRhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIElmcml0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3dsIG9mIEVtYmVycyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnabmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgr/jgqTjgr/jg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2DgOydtO2DhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICAyOTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+m5qW8572X5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gR2FydWRhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIb3dsaW5nIEV5ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqzjg6vjg7zjg4DoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOqwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyOTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ54iG5by55oCq55qE5aWz546L77yBJyxcclxuICAgICAgJ2RlJzogJ01pc3MgQm9tYmFzdGljJyxcclxuICAgICAgJ2VuJzogJ0xvbmcgTGl2ZSB0aGUgUXVlZW4nLFxyXG4gICAgICAnZnInOiAnTG9uZ3VlIHZpZSDDoCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjg5zjg6DjgpLnjofjgYTjgovjgIzjg5zjg6Djgq/jgqTjg7zjg7PjgI3jgpLoqI7jgabvvIEnLFxyXG4gICAgICAna28nOiAn67SE7J2EIOqxsOuKkOumsCBcXCfrtIQg7Jes7JmVXFwn7J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAyOTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q2854Gt54m55q6K6Zi15Z6L55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ1VuemVydHJlbm5saWNoJyxcclxuICAgICAgJ2VuJzogJ1dhcmQgVXAnLFxyXG4gICAgICAnZnInOiAnUXVpbnRldHRlcyBpbmZlcm5hdXgnLFxyXG4gICAgICAnamEnOiAn5LiN5rCX5ZGz44Gq6Zmj5b2i44KS57WE44KA5aaW55Ww44KS44Gb44KT5ruF44Gb44KI77yBJyxcclxuICAgICAgJ2tvJzogJ+u2iOq4uO2VnCDsp4TtmJXsnYQg7Kec64qUIOyalOuniOulvCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WItuatouS4ieaWuea3t+aImOeahOW3qOS6uuaXj++8jOWuiOS9j+mBl+eJqe+8gScsXHJcbiAgICAgICdkZSc6ICdXdWNodGlnZSBEcmVpZmFsdGlna2VpdCcsXHJcbiAgICAgICdlbic6ICdTb2xlbW4gVHJpbml0eScsXHJcbiAgICAgICdmcic6ICdUcmluaXTDqSBzaW5pc3RyZScsXHJcbiAgICAgICdqYSc6ICfkuInjgaTlt7Tjga7lt6jkurrml4/jgpLliLbjgZfjgIHpgbrnianjgpLlrojjgozvvIEnLFxyXG4gICAgICAna28nOiAn7IS4IOqxsOyduOyhseydhCDsoJzslZXtlZjsl6wg7Jyg66y87J2EIOyngOy8nOuCtOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAzMzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YeM5aGU5o+Q5oGp5by65pS75oiYJyxcclxuICAgICAgJ2RlJzogJ0thcCBXZXN0d2luZCcsXHJcbiAgICAgICdlbic6ICdDYXBlIFdlc3R3aW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIENhcCBWZW5kb3Vlc3QnLFxyXG4gICAgICAnamEnOiAn44Oq44OD44OI44Ki44OG44Kj44Oz5by36KWy5oimJyxcclxuICAgICAgJ2tvJzogJ+umrO2KuOyVhO2LtCDqsJXsirXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOSxcclxuICB9LFxyXG4gIDM0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnoLTlnY/kvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBVbHRpbWFcXCdzIEJhbmUnLFxyXG4gICAgICAnZnInOiAnTGUgZmzDqWF1IGRcXCdVbHRpbWEnLFxyXG4gICAgICAnamEnOiAn56m25qW15bm75oOzIOOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfslYzthYzrp4gg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMSxcclxuICB9LFxyXG4gIDM0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqprkubHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNaW5lcyBkZSBDbG9jaGVjdWl2cmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6aiS5Lmx5Z2R6YGTIOOCq+ODg+ODkeODvOODmeODq+mKheWxsSAoSGFyZCknLFxyXG4gICAgICAna28nOiAn6rWs66as7KKFIOq0keyCsCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oG254G15bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vciAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgTWFub2lyIGRlcyBIYXVra2UgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5aaW55Ww5bGL5pW3IOODj+OCpuOCseOCv+W+oeeUqOmCuCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7ZWY7Jqw7LyA7YOAIOuzhOq2gSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMicsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMScsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IEknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSScsXHJcbiAgICAgICdqYSc6ICfjgqTjg5njg7Pjg4jnlKjjgrPjg7Pjg4bjg7Pjg4TvvJoxJyxcclxuICAgICAgJ2tvJzogJ+ydtOuypO2KuOyaqSDsnoTrrLQ6IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtLvliqjmjJHmiJgzJyxcclxuICAgICAgJ2RlJzogJ0V2ZW50LUluaGFsdCAyJyxcclxuICAgICAgJ2VuJzogJ1NwZWNpYWwgRXZlbnQgSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMicsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDM1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAxJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gyJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMzU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSVYnLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoNCcsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgQnJpc2V1ciBkZSBtYXLDqWVzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44O044Kh44Kk44Ki44K144Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzrsJTsnbTslrTshKAg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM4LFxyXG4gIH0sXHJcbiAgMzYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WJkeaWl+mihuWfn+aXpeW9seWcsOS/rueCvOaJgCcsXHJcbiAgICAgICdkZSc6ICdIYWxhdGFsaSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYWxhdGFsaSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGkgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Ymj6ZeY6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7ZWg65287YOI66asIOyImOugqOyepSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LSi5a6d5Lyg6K+056C06Iiw5bKbJyxcclxuICAgICAgJ2RlJzogJ1NjaGlmZmJyZWNoZXItSW5zZWwnLFxyXG4gICAgICAnZW4nOiAnSHVsbGJyZWFrZXIgSXNsZScsXHJcbiAgICAgICdmcic6ICdMXFwnw45sZSBkZSBDcsOodmVjYXLDqG5lJyxcclxuICAgICAgJ2phJzogJ+iyoeWuneS8neiqrCDjg4/jg6vjg5bjg6zjg7zjgqvjg7zjg7vjgqLjgqTjg6snLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6t+S6ieimgeWcsOW4g+mbt+emj+a0m+WFi+aWr+mHjuiQpeWcsCcsXHJcbiAgICAgICdkZSc6ICdCcsO8bGx2b2x4XFwnIExhbmdyYXN0IChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0JyYXlmbG94XFwncyBMb25nc3RvcCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnm5/lj4vmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfruIzroIjsnbTtlIzroZ3siqTsnZgg7JW87JiB7KeAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzcsXHJcbiAgfSxcclxuICAzNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IWQ5Z2P6YGX6L+55peg6ZmQ5Z+O5biC6KGX5Y+k6L+5JyxcclxuICAgICAgJ2RlJzogJ0hpc3RvcmlzY2hlcyBBbWRhcG9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IENpdHkgb2YgQW1kYXBvcicsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6IWQ5pWX6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDM2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojqvlj6TlipvotKTnjovmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnS8O2bmlnbGljaGUgS29uZnJvbnRhdGlvbiAoZXh0cmVtKScsXHJcbiAgICAgICdlbic6ICdUaG9ybm1hcmNoIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBMaXNpw6hyZSBkZSByb25jZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re57JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDM2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmv4DmiJjln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0IChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgVmlnaWxlIGRlIFBpZXJyZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfln47loZ7lparlm54g44K544OI44O844Oz44O044Kj44K444OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrj4zrsKntjKgg6rK96rOE7LSI7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn5qGl5LiK55qE5Yaz5paXJyxcclxuICAgICAgJ2RlJzogJ0R1ZWxsIGF1ZiBkZXIgZ3Jvw59lbiBCcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0JhdHRsZSBvbiB0aGUgQmlnIEJyaWRnZScsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZW1lbnQgc3VyIGxlIGdyYW5kIHBvbnQnLFxyXG4gICAgICAnamEnOiAn44Ku44Or44Ks44Oh44OD44K344Ol6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+q4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoi4/phpLpgZfov7nlloDmganln4vmsqHlnKPloIInLFxyXG4gICAgICAnZGUnOiAnVmVyc3Vua2VuZXIgVGVtcGVsIHZvbiBRYXJuIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdW5rZW4gVGVtcGxlIG9mIFFhcm4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaVkeaPtCDjgqvjg6vjg7Pln4vmsqHlr7rpmaIgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+y5tOuluOydmCDrrLTrhIjsp4Qg7IKs7JuQKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDEsXHJcbiAgfSxcclxuICAzNjg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275YyW5aWH576O5ouJ6K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGdlZ2VuIGRpZSBEaG9ybWUtQ2hpbcOkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBDaGltZXJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIGNoaW3DqHJlIGRob3JtZSBkdSBDb2VydGhhcycsXHJcbiAgICAgICdqYSc6ICfjg4njg6vjg6Djgq3jg57jgqTjg6noqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn64+E66aEIO2CpOuniOydtOudvCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjEsXHJcbiAgfSxcclxuICAzNjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35b635ouJ6K6o5LyQ5oiYJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGdlZ2VuIGRpZSBIeWRyYScsXHJcbiAgICAgICdlbic6ICdBIFJlbGljIFJlYm9ybjogdGhlIEh5ZHJhJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdoeWRyZSBkXFwnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn44OP44Kk44OJ44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOydtOuTnOudvCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh5vlhr3mtJ7lpKnmiqvpm6rlpKflhrDlo4EnLFxyXG4gICAgICAnZGUnOiAnRGFzIFNjaG5lZWtsZWlkJyxcclxuICAgICAgJ2VuJzogJ1Nub3djbG9haycsXHJcbiAgICAgICdmcic6ICdNYW50ZW5laWdlJyxcclxuICAgICAgJ2phJzogJ+awt+e1kOa9nOeqnyDjgrnjg47jg7zjgq/jg63jg7zjgq/lpKfmsLflo4EnLFxyXG4gICAgICAna28nOiAn7Ja87J2M7Jm47YisIOuMgOu5meuyvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MixcclxuICB9LFxyXG4gIDM3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5biM5bCU56eR5pav5aGUJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERlciBTeXJjdXMtVHVybScsXHJcbiAgICAgICdlbic6ICdTeXJjdXMgVG93ZXInLFxyXG4gICAgICAnZnInOiAnTGEgVG91ciBkZSBDcmlzdGFsIC0gVG91ciBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn44Kv44Oq44K544K/44Or44K/44Ov44O877ya44K344Or44Kv44K544Gu5aGUJyxcclxuICAgICAgJ2tvJzogJ+2BrOumrOyKpO2DiCDtg4Dsm4w6IOyLnOultOy/oOyKpCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmg6jliafngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cG9nw6llIGRlIFRhbS1UYXJhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+aDqOWKh+mciuauvyDjgr/jg6Djgr/jg6njga7lopPmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2DkO2DgOudvCDrrJjshowo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAzMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWnhuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFJhbXVoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdHJpa2luZyBUcmVlIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJicmUgZHUganVnZW1lbnQgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWnhuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFJhbXVoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdHJpa2luZyBUcmVlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJicmUgZHUganVnZW1lbnQgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6njg6DjgqboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOudvOustCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDMsXHJcbiAgfSxcclxuICAzNzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZGo6L656YGX6L+5576kICjpmLXlnLDmiJgpJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlIFJ1aW5lbiAoU2ljaGVydW5nKScsXHJcbiAgICAgICdlbic6ICdUaGUgQm9yZGVybGFuZCBSdWlucyAoU2VjdXJlKScsXHJcbiAgICAgICdmcic6ICdMZXMgUnVpbmVzIGZyb250YWxpw6hyZXMgKGFubmV4aW9uKScsXHJcbiAgICAgICdqYSc6ICflpJbnuIHpgbrot6HnvqQgKOWItuWcp+aIpiknLFxyXG4gICAgICAna28nOiAn7Jm46rO9IOycoOyggeyngOuMgCjsoJzslZXsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM55Om5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzNzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM55Om5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCt+ODtOOCoeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Iuc67CUIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NixcclxuICB9LFxyXG4gIDM4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAxIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAyIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgMzgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElJSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gNCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gNCcsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSVYgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzg3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mAhui9rOimgeWus+aymeaWr+WhlOWkj+a6tua0nicsXHJcbiAgICAgICdkZSc6ICdTYXN0YXNoYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYXN0YXNoYSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU2FzdGFzaGEgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6YCG6KWy6KaB5a6zIOOCteOCueOCv+OCt+ODo+a1uOmjn+a0niAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmYbooYzpuJ/nq57otZvvvJrlpKrpmLPmtbflsrgnLFxyXG4gICAgICAnZGUnOiAnQ2hvY29iby1SZW5uZW46IFNvbm5lbmvDvHN0ZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IENvc3RhIGRlbCBTb2wnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCs+OCueOCv+ODu+ODh+ODq+ODu+OCveODqycsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsvZTsiqTtg4Ag6424IOyGlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDcyLFxyXG4gICAgJ29mZnNldFknOiAtNDI0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmYbooYzpuJ/nq57otZvvvJrojZLph47lpKfpgZMnLFxyXG4gICAgICAnZGUnOiAnQ2hvY29iby1SZW5uZW46IFNhZ29saWktU3RyYcOfZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFNhZ29saWkgUm9hZCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZGUgY2hvY29ib3M8SW5kZW50Lz46IFJvdXRlIGRlIFNhZ29saWknLFxyXG4gICAgICAnamEnOiAn44OB44On44Kz44Oc44Os44O844K577ya44K144K044Oq44O844Ot44O844OJJyxcclxuICAgICAgJ2tvJzogJ+y0iOy9lOuztCDqsr3so7w6IOyCrOqzqOumrCDsgqzrp4knLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5oGs6Z2Z5bCP6LevJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBQZmFkIGRlciBTZWVsZW5ydWhlJyxcclxuICAgICAgJ2VuJzogJ0Nob2NvYm8gUmFjZTogVHJhbnF1aWwgUGF0aHMnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBTZW50ZXMgdHJhbnF1aWxsZXMnLFxyXG4gICAgICAnamEnOiAn44OB44On44Kz44Oc44Os44O844K577ya44OI44Op44Oz44Kt44Or44OR44K5JyxcclxuICAgICAgJ2tvJzogJ+y0iOy9lOuztCDqsr3so7w6IOqzoOyalO2VnCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpaXkuIHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnSmVuc2VpdHMgVXJ0aHMgUXVlbGxlJyxcclxuICAgICAgJ2VuJzogJ1VydGhcXCdzIEZvdW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIEZvbnRhaW5lIGRcXCdVcnRoJyxcclxuICAgICAgJ2phJzogJ+mXmOelnuOCquODvOODh+OCo+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftiKzsi6Ag7Jik65SYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NSxcclxuICB9LFxyXG4gIDM5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DpmZDln47nmoTmrbvmlpcnLFxyXG4gICAgICAnZGUnOiAnUmV2YW5jaGUgaW4gZGVuIFJ1aW5lbicsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgaW4gdGhlIEJpZyBLZWVwJyxcclxuICAgICAgJ2ZyJzogJ1JldmFuY2hlIGF1IHZpZXV4IGNow6J0ZWF1JyxcclxuICAgICAgJ2phJzogJ+ecn+OCruODq+OCrOODoeODg+OCt+ODpeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6ri46rCA66mU7IucIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM5Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W6k+WwlOacreaWr+ilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIEhvY2hsYW5kIHZvbiBDb2VydGhhcycsXHJcbiAgICAgICdlbic6ICdDb2VydGhhcyBXZXN0ZXJuIEhpZ2hsYW5kcycsXHJcbiAgICAgICdmcic6ICdIYXV0ZXMgdGVycmVzIGR1IENvZXJ0aGFzIG9jY2lkZW50YWwnLFxyXG4gICAgICAnamEnOiAn44Kv44Or44K244K56KW/6YOo6auY5ZywJyxcclxuICAgICAgJ2tvJzogJ+y7pOultOuLpOyKpCDshJzrtoDqs6Dsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OSxcclxuICB9LFxyXG4gIDM5ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWPguWkqemrmOWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgVm9ybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEZvcmVsYW5kcycsXHJcbiAgICAgICdmcic6ICdBdmFudC1wYXlzIGRyYXZhbmllbicsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg4njg6njg7TjgqHjg4vjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOuTnOudvOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUwLFxyXG4gIH0sXHJcbiAgMzk5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6b6Z5aCh5YaF6ZmG5L2O5ZywJyxcclxuICAgICAgJ2RlJzogJ0RyYXZhbmlzY2hlcyBIaW50ZXJsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEcmF2YW5pYW4gSGludGVybGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXJyacOocmUtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn5L2O5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+yggOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MSxcclxuICB9LFxyXG4gIDQwMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e/u+S6kembvua1tycsXHJcbiAgICAgICdkZSc6ICdXYWxsZW5kZSBOZWJlbCcsXHJcbiAgICAgICdlbic6ICdUaGUgQ2h1cm5pbmcgTWlzdHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJY3VtZSBkZXMgY2lldXggZGUgRHJhdmFuaWEnLFxyXG4gICAgICAnamEnOiAn44OJ44Op44O044Kh44OL44Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+uTnOudvOuwlOuLiOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MixcclxuICB9LFxyXG4gIDQwMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mYv+W3tOaLieaPkOS6muS6kea1tycsXHJcbiAgICAgICdkZSc6ICdBYmFsYXRoaXNjaGVzIFdvbGtlbm1lZXInLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYSBvZiBDbG91ZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJY3VtZSBkZXMgY2lldXggZFxcJ0FiYWxhdGhpYScsXHJcbiAgICAgICdqYSc6ICfjgqLjg5Djg6njgrfjgqLpm7LmtbcnLFxyXG4gICAgICAna28nOiAn7JWE67Cc65287Iuc7JWEIOq1rOumhOuwlOuLpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUzLFxyXG4gIH0sXHJcbiAgNDAyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5aSn6ZmG6Zi/5rWO5YW55ouJJyxcclxuICAgICAgJ2RlJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2VuJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2ZyJzogJ0F6eXMgTGxhJyxcclxuICAgICAgJ2phJzogJ+OCouOCuOOCueODu+ODqeODvCcsXHJcbiAgICAgICdrbyc6ICfslYTsp4DsiqQg6528JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTQsXHJcbiAgfSxcclxuICA0MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5b2S5p2lJyxcclxuICAgICAgJ2RlJzogJ1ZlcnJhdCBkZXIgUWFseWFuYScsXHJcbiAgICAgICdlbic6ICdSZXR1cm4gb2YgdGhlIEJ1bGwnLFxyXG4gICAgICAnZnInOiAnUmV0b3VyIGF1IGJlcmNhaWwnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44Gu5biw6YKEJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydmCDqt4DtmZgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTI1MCxcclxuICAgICdvZmZzZXRZJzogMTI4LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WtpuivhuWuneW6k+i/puW3tOWLkuW5u+aDs+WbvuS5pummhicsXHJcbiAgICAgICdkZSc6ICdHcm/Dn2UgR3ViYWwtQmlibGlvdGhlaycsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgR3ViYWwgTGlicmFyeScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCcsXHJcbiAgICAgICdqYSc6ICfnpoHmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoJyxcclxuICAgICAgJ2tvJzogJ+q1rOu4jOudvCDtmZjsg4Hrj4TshJzqtIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya56ue6LWb5pWZ5a2mJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiDDnGJ1bmdzYmFobicsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFR1dG9yaWFsJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkXFwnYXBwZW50aXNzYWdlJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODgeODpeODvOODiOODquOCouODqycsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDtipzthqDrpqzslrwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTY5MCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuS/ruWKoOW+t+WfuuehgOWxgicsXHJcbiAgICAgICdkZSc6ICdGdW5kYW1lbnRlJyxcclxuICAgICAgJ2VuJzogJ0ZvdW5kYXRpb24nLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExcXCdBc3Npc2UnLFxyXG4gICAgICAnamEnOiAn44Kk44K344Ol44Ks44Or44OJ77ya5LiL5bGkJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDtlZjsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDcsXHJcbiAgfSxcclxuICA0MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfnoKXmn7HlsYInLFxyXG4gICAgICAnZGUnOiAnU3RyZWJld2VyaycsXHJcbiAgICAgICdlbic6ICdUaGUgUGlsbGFycycsXHJcbiAgICAgICdmcic6ICdJc2hnYXJkIC0gTGVzIENvbnRyZWZvcnRzJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4iuWxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7IOB7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ4LFxyXG4gIH0sXHJcbiAgNDIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epuuS4reelnuWfn+S4jeiOt+WymycsXHJcbiAgICAgICdkZSc6ICdOaW1tZXJyZWljaCcsXHJcbiAgICAgICdlbic6ICdOZXZlcnJlYXAnLFxyXG4gICAgICAnZnInOiAnTmFsbG9uY3F1ZXMnLFxyXG4gICAgICAnamEnOiAn56We5Z+f5rWu5bO2IOODjeODkOODvOODquODvOODlycsXHJcbiAgICAgICdrbyc6ICfqsbDrkZDsp4Ag7JWK64qUIOyErCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wco+aVmeS4reaeouS8iuS/ruWKoOW+t+aVmeeah+WOhScsXHJcbiAgICAgICdkZSc6ICdFcnpiYXNpbGlrYScsXHJcbiAgICAgICdlbic6ICdUaGUgVmF1bHQnLFxyXG4gICAgICAnZnInOiAnTGEgVm/Du3RlJyxcclxuICAgICAgJ2phJzogJ+W8t+ehrOeqgeWFpSDjgqTjgrfjg6Xjgqzjg6vjg4nmlZnnmofluoEnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOq1kO2ZqeyyrScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCo+W4g+mHjOS6muWLkuaWr+iuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdDaHJ5c2FsaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIENocnlzYWxpcycsXHJcbiAgICAgICdmcic6ICdMYSBDaHJ5c2FsaWRlJyxcclxuICAgICAgJ2phJzogJ+OCouOCt+OCqOODs+ODu+ODiuODl+ODquOCouODrOOCueiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfslYTslKjsl5Qg64KY67iM66as7JWM66CI7IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WNmueJqeaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbnRpbnV1bSBmcmFjdGFsJyxcclxuICAgICAgJ2phJzogJ+WNmueJqeaIpuiJpiDjg5Xjg6njgq/jgr/jg6vjg7vjgrPjg7Pjg4bjgqPjg4vjgqLjg6AnLFxyXG4gICAgICAna28nOiAn66y07ZWc7Jew7IaNIOuwleusvO2VqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMjEzLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwmOWwgeenmOWyqSAo5LqJ5aS65oiYKScsXHJcbiAgICAgICdkZSc6ICdSb2JiZW5ob2xtIChFcm9iZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1NlYWwgUm9jayAoU2VpemUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFJvY2hlciBkZXMgdHLDqWZvbmRzIChpbnZhc2lvbiknLFxyXG4gICAgICAnamEnOiAn44K344O844Or44Ot44OD44KvICjkuonlparmiKYpJyxcclxuICAgICAgJ2tvJzogJ+u0ieyduOuQnCDrsJTsnITshKwo7J+B7YOI7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1OSxcclxuICB9LFxyXG4gIDQzMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6njg7zjg7TjgqHjg4roqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOudvOuwlOuCmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTcsXHJcbiAgfSxcclxuICA0MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yaw6Zuq5bqf5aCh5pqu5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ0FiZW5kcm90LVdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBEdXNrIFZpZ2lsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkdSBDcsOpcHVzY3VsZScsXHJcbiAgICAgICdqYSc6ICflu4PnoKbmjZzntKIg44OA44K544Kv44O044Kj44K444OrJyxcclxuICAgICAgJ2tvJzogJ+yWtOyKpOumhCDsmpTsg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICA0MzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq6b6Z546L5bqn6b6Z5bei56We5q6/JyxcclxuICAgICAgJ2RlJzogJ05lc3QgZGVzIERyYWNoZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFlcnknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FpcmUnLFxyXG4gICAgICAnamEnOiAn6YKq56uc6KGA5oimIOODieODqeOCtOODs+OCuuOCqOOCouODquODvCcsXHJcbiAgICAgICdrbyc6ICfsmqnsnZgg65Gl7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogNTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/vuaWr+m6puatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEJpc21hcmNrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMaW1pdGxlc3MgQmx1ZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0ltbWVuc2l0w6kgYmxldWUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdTaW5ndWxhcml0w6R0cy1SZWFrdG9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaW5ndWxhcml0eSBSZWFjdG9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDqWFjdGV1ciBkZSBzaW5ndWxhcml0w6knLFxyXG4gICAgICAnamEnOiAn44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+uCmOydtOy4oCDsmKTruIwg65287Jq065OcIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NixcclxuICB9LFxyXG4gIDQzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfooYDmiJjoi43nqbnprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAnZGUnOiAnw4R0aGVyb2NoZW1pc2NoZXMgRm9yPFNvZnRIeXBoZW4vPnNjaHVuZ3M8U29mdEh5cGhlbi8+bGFib3InLFxyXG4gICAgICAnZW4nOiAnVGhlIEFldGhlcm9jaGVtaWNhbCBSZXNlYXJjaCBGYWNpbGl0eScsXHJcbiAgICAgICdmcic6ICdMZSBMYWJvcmF0b2lyZSBkZSBtYWdpc21vbG9naWUnLFxyXG4gICAgICAnamEnOiAn6JK85aSp6IGW5oimIOmtlOenkeWtpueglOeptuaJgCcsXHJcbiAgICAgICdrbyc6ICfrp4jqs7ztlZkg7Jew6rWs7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWxsee7nemhtue0ouWnhumYv+WwlOeBteWzsCcsXHJcbiAgICAgICdkZSc6ICdTb2htIEFsJyxcclxuICAgICAgJ2VuJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnZnInOiAnU29obSBBbCcsXHJcbiAgICAgICdqYSc6ICfpnIrls7DouI/noLQg44K944O844Og44O744Ki44OrJyxcclxuICAgICAgJ2tvJzogJ+yGnCDslYwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1MSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlkK/liqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlkK/liqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgUMOocmUnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya6LW35YuV57eoNCcsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e9l+azoumCo+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFJhdmFuYScsXHJcbiAgICAgICdlbic6ICdUaG9rIGFzdCBUaG9rIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdUaG9rIGFzdCBUaG9rIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/vuaWr+m6puatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEJpc21hcmNrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMaW1pdGxlc3MgQmx1ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0ltbWVuc2l0w6kgYmxldWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg5Pjgrnjg57jg6vjgq/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOu5hOyKpOuniOultO2BrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA0NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZyG5qGM6aqR5aOr5bm75oOz5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFRob3JkYW5zIEZhbGwnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFRob3JkYW5cXCdzIFJlaWduJyxcclxuICAgICAgJ2ZyJzogJ0xlIHLDqGduZSBkZSBUaG9yZGFuJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeW5u+aDsyDjg4rjgqTjg4Tjg7vjgqrjg5bjg7vjg6njgqbjg7Pjg4noqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuCmOydtOy4oCDsmKTruIwg65287Jq065OcIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NixcclxuICB9LFxyXG4gIDQ0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlkK/liqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlkK/liqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgUMOocmUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNDc4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55Sw5Zut6YOhJyxcclxuICAgICAgJ2RlJzogJ0Zyb2hlaGFsZGUnLFxyXG4gICAgICAnZW4nOiAnSWR5bGxzaGlyZScsXHJcbiAgICAgICdmcic6ICdJZHlsbMOpZScsXHJcbiAgICAgICdqYSc6ICfjgqTjg4fjgqPjg6vjgrfjg6PjgqTjgqInLFxyXG4gICAgICAna28nOiAn7J2065Sc7IOk7J207Ja0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU1LFxyXG4gIH0sXHJcbiAgNTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjkurrmnLrlr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gQXJlbmFtZWlzdGVyKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBNYXN0ZXIgVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBsXFwnb3JkaW5hdGV1cicsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimIChDUFXlr77miKYpJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDrjIDtmowg64yA6rKwKOyduOqztSDsp4DriqUg64yA6rKwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOiIquiIueiZmuaXoOaWueiInycsXHJcbiAgICAgICdkZSc6ICdEaWUgTmljaHRzLUFyY2hlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBWb2lkIEFyaycsXHJcbiAgICAgICdmcic6ICdMXFwnQXJjaGUgZHUgbsOpYW50JyxcclxuICAgICAgJ2phJzogJ+mtlOiIquiIueODtOOCqeOCpOODieOCouODvOOCrycsXHJcbiAgICAgICdrbyc6ICfrs7TsnbTrk5zsnZgg67Cp7KO8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI4OSxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzcsXHJcbiAgfSxcclxuICA1MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMScsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMycsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJSScsXHJcbiAgICAgICdmcic6ICdEw6lmaSBzcMOpY2lhbCBJSUknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMycsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgNTEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WcsOiEieeBteeBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBoYXJlIGRlIFNpcml1cyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfliLblnKflt6jloZQg44K344Oq44Km44K55aSn54Gv5Y+wIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsi5zrpqzsmrDsiqQg64yA65Ox64yAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA1MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I2J5pyo5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcmJvcmV0dW0gU2FpbnRlLU1vY2lhbm5lJyxcclxuICAgICAgJ2phJzogJ+iNieacqOW6reWckiDogZbjg6Ljgrfjg6Pjg7zjg4zmpI3nianlnJInLFxyXG4gICAgICAna28nOiAn7ISxIOuqqOyDqCDsi53rrLzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChsZWljaHQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChmYWNpbGUpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEVhc3kpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ims7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MCxcclxuICB9LFxyXG4gIDUxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5aSc5pma5o6i57SiJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztiAoSGFyZCknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYyLFxyXG4gIH0sXHJcbiAgNTE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aYn+a1t+epuumXtOmioOWAkuWhlCcsXHJcbiAgICAgICdkZSc6ICdBbnRpdHVybScsXHJcbiAgICAgICdlbic6ICdUaGUgQW50aXRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbnRpdG91cicsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfoprPmuKwg6YCG44GV44Gu5aGUICcsXHJcbiAgICAgICdrbyc6ICfqsbDqvrjroZwg7ISgIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOiPsua0m+eJueatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNlcGhpcm90JyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBTMVQ3JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcnLFxyXG4gICAgICAnamEnOiAn6a2U56We44K744OV44Kj44Ot44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+uniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuWco+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvciAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBWZXN0aWdlcyBkZSBsYSBjaXTDqSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnpZ7ogZbpgbrot6Eg5Y+k44Ki44Og44OA44OX44O844Or5biC6KGXIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyLnOqwgOyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDY0LFxyXG4gICAgJ29mZnNldFknOiAzMTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNTIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5b6L5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMnLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5b6L5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUzFQNyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+altemtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66eI7IugIOyEuO2UvOuhnO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjYsXHJcbiAgfSxcclxuICA1MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICg05a+5NCAvIOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICg0IGdlZ2VuIDQsIMOcYnVuZ3NrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBUcmFpbmluZyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0ICg0eDQvZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICg05a++NCAvIOOCq+OCuOODpeOCouODq+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAoNCDrjIAgNCAvIOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjUsXHJcbiAgfSxcclxuICA1Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICg05a+5NCAvIOauteS9jei1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICg0IGdlZ2VuIDQsIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKDQgb24gNCAtIFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0ICg0eDQvY2xhc3PDqSknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICg05a++NCAvIOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAoNCDrjIAgNCAvIOuTseq4ieyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjUsXHJcbiAgfSxcclxuICA1Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEVsbGUgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQ3VmZiBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaWduZXQgZHUgRmlscyAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5b6L5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXJtIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEFybSBvZiB0aGUgU29uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEJyYXMgZHUgRmlscyAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5b6L5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsnKjrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMTAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOW+i+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wbm+WbveiBlOWQiOWGm+a8lCcsXHJcbiAgICAgICdkZSc6ICdUcnVwcGVuw7xidW5nIGRlciBFb3J6w6Rpc2NoZW4gQWxsaWFueicsXHJcbiAgICAgICdlbic6ICdBIFNwZWN0YWNsZSBmb3IgdGhlIEFnZXMnLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIG1hbsWTdXZyZSDDqW9yesOpZW5uZScsXHJcbiAgICAgICdqYSc6ICflm5vlm73lkIjlkIzmvJTnv5InLFxyXG4gICAgICAna28nOiAnNOqwnOq1rSDtlanrj5kg7ZuI66CoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHuycsXHJcbiAgICAgICdkZSc6ICdGbMOkY2hlbmFuZ3JpZmZlbiBhdXN3ZWljaGVuJyxcclxuICAgICAgJ2VuJzogJ0F2b2lkIEFyZWEgb2YgRWZmZWN0IEF0dGFja3MnLFxyXG4gICAgICAnZnInOiAnw4l2aXRlciBsZXMgYXR0YXF1ZXMgw6AgYWlyZSBkXFwnZWZmZXQnLFxyXG4gICAgICAnamEnOiAn56+E5Zuy5pS75pKD44KS6YG/44GR44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uylOychCDqs7XqsqnsnYQg7ZS87ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjozmj6Hku4fmgajov57lh7snLFxyXG4gICAgICAnZGUnOiAnTWl0IEtvbWJvcyBGZWluZHNlbGlna2VpdCBhdWYgc2ljaCB6aWVoZW4nLFxyXG4gICAgICAnZW4nOiAnRXhlY3V0ZSBhIENvbWJvIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSBhdmVjIHVuIGNvbWJvJyxcclxuICAgICAgJ2phJzogJ+OCs+ODs+ODnOOBp+aVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfsvaTrs7Trpbwg7J207Ja0IOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Mzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aOp+WItuaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdLb21ib3MgaW0gS2FtcGYgZWluc2V0emVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyBpbiBCYXR0bGUnLFxyXG4gICAgICAnZnInOiAnRWZmZWN0dWVyIGxlIGNvbWJvIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICflrp/miKbjgafjgrPjg7Pjg5zjgavmjJHmiKbjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Iuk7KCE7JeQ7IScIOy9pOuztOulvCDsgqzsmqntlbTrs7TsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aOp+WItuWkmuS4quaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdGZWluZHNlbGlna2VpdCBtZWhyZXJlciBHZWduZXIgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0FjY3J1ZSBFbm1pdHkgZnJvbSBNdWx0aXBsZSBUYXJnZXRzJyxcclxuICAgICAgJ2ZyJzogJ0F0dGlyZXIgbFxcJ2luaW1pdGnDqSBkZSBwbHVzaWV1cnMgZW5uZW1pcyBzdXIgc29pJyxcclxuICAgICAgJ2phJzogJ+ikh+aVsOOBruaVteOBi+OCieaVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfri6TsiJjsnZgg7KCB7JeQ6rKM7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WunuaImOaOp+WItuWkmuS4quaVjOS6uueahOS7h+aBqCcsXHJcbiAgICAgICdkZSc6ICdHZWdlbiBtZWhyZXJlIEdlZ25lciBhdWYgZWlubWFsIGvDpG1wZmVuJyxcclxuICAgICAgJ2VuJzogJ0VuZ2FnZSBNdWx0aXBsZSBUYXJnZXRzJyxcclxuICAgICAgJ2ZyJzogJ0FmZnJvbnRlciBwbHVzaWV1cnMgZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICflrp/miKbjgafopIfmlbDjga7mlbXjgajmiKbjgaPjgabjgb/jgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Iuk7KCE7JeQ7IScIOuLpOyImOydmCDsoIHqs7wg7Iu47JuM67O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbov5zlpITmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBGZXJuZSBGZWluZHNlbGlna2VpdCBhdWYgc2ljaCB6aWVoZW4nLFxyXG4gICAgICAnZW4nOiAnRXhlY3V0ZSBhIFJhbmdlZCBBdHRhY2sgdG8gSW5jcmVhc2UgRW5taXR5JyxcclxuICAgICAgJ2ZyJzogJ0fDqW7DqXJlciBkZSBsXFwnaW5pbWl0acOpIMOgIGRpc3RhbmNlJyxcclxuICAgICAgJ2phJzogJ+mBoOi3nembouOBi+OCieaVteimluOCkumbhuOCgeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrqYDrpqzshJwg7KCB6rCc7Ius7J2EIOuBjOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55WZ5b+D5aKe5o+055qE5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0ZlaW5kbGljaGUgVmVyc3TDpHJrdW5nIGF1ZmhhbHRlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgRW5lbXkgUmVpbmZvcmNlbWVudHMnLFxyXG4gICAgICAnZnInOiAnRmFpcmUgZmFjZSDDoCBkZXMgcmVuZm9ydHMgZW5uZW1pcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7lopfmj7Tjgavlr77lv5zjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCBIOyngOybkOq1sOyXkCDrjIDsspjtlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mFjeWQiOmYsuaKpOiBjOS4muaJk+WAkuWNleS4quaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdHZWduZXIgZ2VtZWluc2FtIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0Fzc2lzdCBBbGxpZXMgaW4gRGVmZWF0aW5nIGEgVGFyZ2V0JyxcclxuICAgICAgJ2ZyJzogJ1ZhaW5jcmUgdW4gZW5uZW1pIGVuIGFzc2lzdGFudCBkZXMgYWxsacOpcycsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgajljZTlipvjgZfjgabmlbXjgpLlgJLjgZ3jgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ6rO8IO2Ykeugpe2VmOyXrCDsoIHsnYQg66y866as7LmY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLlpJrkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnRGVuIEdlZ25lciBlaW5lcyBWZXJiw7xuZGV0ZW4gYmVzaWVnZW4nLFxyXG4gICAgICAnZW4nOiAnRGVmZWF0IGFuIE9jY3VwaWVkIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBvY2N1cMOpIHBhciB1biBhbGxpw6knLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544GM5byV44GN44Gk44GR44Gm44GE44KL5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDqsJnsnYAg7KCB7J2EIOqzteqyqe2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Lqy6YG/6IyD5Zu05pS75Ye755qE5ZCM5pe26L+b6KGM5oiY5paXJyxcclxuICAgICAgJ2RlJzogJ0FuZ3JpZmZlbiBhdXN3ZWljaGVuJyxcclxuICAgICAgJ2VuJzogJ0F2b2lkIEVuZ2FnZWQgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdDb21iYXR0cmUgZW4gw6l2aXRhbnQgbGVzIGF0dGFxdWVzIGVubmVtaWVzJyxcclxuICAgICAgJ2phJzogJ+aVteOBruaUu+aSg+OCkumBv+OBkeOBquOBjOOCieaIpuOBiuOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfsoIHsnZgg6rO16rKp7J2EIO2UvO2VmOuptOyEnCDsi7jsmrDsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBtea0u+i/kOeUqOWcuuWcsOacuuWFsycsXHJcbiAgICAgICdkZSc6ICdNaXQgZGVtIEdlbMOkbmRlIGludGVyYWdpZXJlbicsXHJcbiAgICAgICdlbic6ICdJbnRlcmFjdCB3aXRoIHRoZSBCYXR0bGVmaWVsZCcsXHJcbiAgICAgICdmcic6ICdJbnRlcmFnaXIgYXZlYyBsZSBkw6ljb3IgZW4gY29tYmF0JyxcclxuICAgICAgJ2phJzogJ+OCruODn+ODg+OCr+OCkua0u+eUqOOBl+OBpuaIpuOBiuOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftirnsiJgg7J6l7LmY66W8IO2ZnOyaqe2VmOupsCDsi7jsmrDsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayu+eWl+mYsuaKpOiBjOS4micsXHJcbiAgICAgICdkZSc6ICdWZXJiw7xuZGV0ZSBoZWlsZW4nLFxyXG4gICAgICAnZW4nOiAnSGVhbCBhbiBBbGx5JyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOCkuWbnuW+qeOBl+OCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpflsI/pmJ/pmJ/lkZgnLFxyXG4gICAgICAnZGUnOiAnTWVocmVyZSBWZXJiw7xuZGV0ZSBoZWlsZW4nLFxyXG4gICAgICAnZW4nOiAnSGVhbCBNdWx0aXBsZSBBbGxpZXMnLFxyXG4gICAgICAnZnInOiAnU29pZ25lciBwbHVzaWV1cnMgYWxsacOpcycsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7lkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIO2MjO2LsOybkOydhCDtmozrs7Xsi5ztgqTsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acgOe7iOiuree7gycsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgw5xidW5nJyxcclxuICAgICAgJ2VuJzogJ0ZpbmFsIEV4ZXJjaXNlJyxcclxuICAgICAgJ2ZyJzogJ0V4ZXJjaWNlIGZpbmFsJyxcclxuICAgICAgJ2phJzogJ+acgOe1guiok+e3tO+8gScsXHJcbiAgICAgICdrbyc6ICfrp4jsp4Drp4kg7ZuI66CoIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNo+iqiemHjiAo56KO5Yaw5oiYKScsXHJcbiAgICAgICdkZSc6ICdGZWxkIGRlciBFaHJlIChaZXJzcGxpdHRlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpZWxkcyBvZiBHbG9yeSAoU2hhdHRlciknLFxyXG4gICAgICAnZnInOiAnTGVzIENoYW1wcyBkZSBsYSBHbG9pcmUgKGJyaXNlLWdsYWNlKScsXHJcbiAgICAgICdqYSc6ICfjg5XjgqPjg7zjg6vjg4njg7vjgqrjg5bjg7vjgrDjg63jg7zjg6rjg7wgKOegleawt+aIpiknLFxyXG4gICAgICAna28nOiAn7JiB6rSR7J2YIO2PieybkCjsh4TruZnsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY3LFxyXG4gIH0sXHJcbiAgNTU1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkqem+meWuq+auv+W/hue9quWuqycsXHJcbiAgICAgICdkZSc6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnZW4nOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2ZyJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdqYSc6ICflpKnnq5zlrq7mrr8g44K944O844Or44O744Kr44KkJyxcclxuICAgICAgJ2tvJzogJ+yGjOultCDsubTsnbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMzcwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeW/jOWfjumCpueOm+WTiCcsXHJcbiAgICAgICdkZSc6ICdEaWUgU3RhZHQgZGVyIFRyw6RuZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlZXBpbmcgQ2l0eSBvZiBNaGFjaCcsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSBkw6lmZW5kdWUgZGUgTWhhY2gnLFxyXG4gICAgICAnamEnOiAn56aB5b+M6YO95biC44Oe44OPJyxcclxuICAgICAgJ2tvJzogJ+q4iOq4sOuPhOyLnCDrp4jtlZgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQwLFxyXG4gICAgJ29mZnNldFknOiAtNDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR5rah5Lyg6K+056C06Iiw5bKbJyxcclxuICAgICAgJ2RlJzogJ1NjaGlmZmJyZWNoZXItSW5zZWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSHVsbGJyZWFrZXIgSXNsZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpu5LmuKbkvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrgpztjIzshKDsnZgg7ISsKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjgsXHJcbiAgfSxcclxuICA1NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05Z+O5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0FxdWFwb2xpcycsXHJcbiAgICAgICdlbic6ICdUaGUgQXF1YXBvbGlzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcXVhcG9sZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ki44Kv44Ki44Od44Oq44K5JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDslYTsv6DslYTtj7TrpqzsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsLzlvrfpnI3moLzlvoHpvpnmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIGxldHp0ZSBTY2hpY2tzYWxzd2VnJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBTdGVwcyBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdMYSBEZXJuacOocmUgYXZhbmPDqWUgZGUgbGEgRm9pJyxcclxuICAgICAgJ2phJzogJ+ODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfri4jrk5ztmLjqt7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mbt+WPpOaLicK36IyDwrfkvJHokZfmlq/ov73lh7vmiJgnLFxyXG4gICAgICAnZGUnOiAnQmx1dGlnZXMgV2llZGVyPFNvZnRIeXBoZW4vPnNlaGVuJyxcclxuICAgICAgJ2VuJzogJ0EgQmxvb2R5IFJldW5pb24nLFxyXG4gICAgICAnZnInOiAnQ291cnNlLXBvdXJzdWl0ZSBkYW5zIGxlIGxhYm9yYXRvaXJlJyxcclxuICAgICAgJ2phJzogJ+ODrOOCsOODqeODu+ODtOOCoeODs+ODu+ODkuODpeODieODq+OCuei/veaSg+aIpicsXHJcbiAgICAgICdrbyc6ICfroIjqtbTrnbwg67CYIO2eiOuTnOujqOyKpCDstpTqsqnsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE4LFxyXG4gICAgJ29mZnNldFknOiAxNDksXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsx772eMTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEtMTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxLTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMS0xMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIx772eQjEwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjF+QjEwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDExLTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTHvvZ5CMjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTF+QjIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsyMe+9njMw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAyMS0zMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMjEtMzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMjHvvZ5CMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMjF+QjMwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIszMe+9njQw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAzMS00MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDMxLTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMzEtNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMzHvvZ5CNDAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMzF+QjQwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs0Me+9njUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA0MS01MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDQxLTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNDEtNTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNDHvvZ5CNTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNDF+QjUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85Lyg5aWH5b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RhcyBMaWVkIHZvbiBOaWRob2dncyBsZXR6dGVtIFJ1ZicsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogTmlkaG9nZ1xcJ3MgUmFnZScsXHJcbiAgICAgICdmcic6ICdMXFwnaXJlIGRlIE5pZGhvZ2cnLFxyXG4gICAgICAnamEnOiAn5qW144OL44O844K644OY44OD44Kw5b6B56uc5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDri4jrk5ztmLjqt7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTcxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuqHngbXlupzpgrjpl7nprLzluoTlm60nLFxyXG4gICAgICAnZGUnOiAnRGFzIEdlaXN0ZXJzY2hsb3NzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXVudGVkIE1hbm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBoYW50w6knLFxyXG4gICAgICAnamEnOiAn5Lqh6ZyK5bGL5pW3IOODm+ODvOODs+ODhuODg+ODieODnuODiuODvCcsXHJcbiAgICAgICdrbyc6ICfsnKDroLnsnZgg7KeRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zmp5bO75bOh6LC35aGe5bCU5rOV54m55bCU5rqq6LC3JyxcclxuICAgICAgJ2RlJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdlbic6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZnInOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2phJzogJ+Wzu+WOs+a4k+iwtyDjgrzjg6vjg5XjgqHjg4jjg6snLFxyXG4gICAgICAna28nOiAn7KCk7YyM7YaoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNDgsXHJcbiAgICAnb2Zmc2V0WSc6IDM1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MCxcclxuICB9LFxyXG4gIDU3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfntKLoj7LlqIXmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTb3BoaWEnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFAxVDYnLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNicsXHJcbiAgICAgICdqYSc6ICflpbPnpZ7jgr3jg5XjgqPjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBQMVA2IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW15aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl6zsi6Ag7IaM7ZS87JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OSxcclxuICB9LFxyXG4gIDU3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnp5jmnKzlrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEdyYW5kZSBiaWJsaW90aMOocXVlIGRlIEd1YmFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+eogOabuOWbnuWPjiDjgrDjg5bjg6nlubvmg7Plm7Pmm7jppKggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOu4jOudvCDtmZjsg4Hrj4TshJzqtIAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxMTYsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muW5u+WNoeWvueWxgOWupCcsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IFdlbHRlbnNhbG9uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUcmlwbGUgVHJpYWQgQmF0dGxlaGFsbCcsXHJcbiAgICAgICdmcic6ICdBcsOobmUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqvjg7zjg4njg5Djg4jjg6vjg6vjg7zjg6AnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog7Lm065OcIOuMgOqysOyepScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEF1Z2VuIGRlcyBTY2jDtnBmZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBFeWVzIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlcyBZZXV4IGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDc1LFxyXG4gICAgJ29mZnNldFknOiAxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdGVtIGRlcyBTY2jDtnBmZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCcmVhdGggb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgU291ZmZsZSBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMicsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtODAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gSGVyeiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgSGVhcnQgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQ8WTdXIgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBTZWVsZSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgU291bCBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMXFwnw4JtZSBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoNCcsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEF1Z2VuIGRlcyBTY2jDtnBmZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBFeWVzIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlcyBZZXV4IGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDc1LFxyXG4gICAgJ29mZnNldFknOiAxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdGVtIGRlcyBTY2jDtnBmZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCcmVhdGggb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgU291ZmZsZSBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtODAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gSGVyeiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgSGVhcnQgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQ8WTdXIgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBTZWVsZSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgU291bCBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMXFwnw4JtZSBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrnjqnlrrblr7nmiJjvvIjnu6nngrnotZvvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogR2VnZW4gU3BpZWxlciAodW0gUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKFJQKScsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBzaW1wbGUgY29udHJlIHVuIGpvdWV1ciAoYXZlYyBQUiknLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muODl+ODrOOCpOODpOODvOWvvuaIpiAoUlDlpInli5XjgYLjgoopJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDtlIzroIjsnbTslrQg64yA6rKwKFJQIOuzgOuPmSDsnojsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQjOWuoOS5i+eOi++8muWkp+i1m+WvueaImO+8iOeOqeWutuWvueaImO+8iScsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBkZXIgVHJhYmFudGVuOiBUdXJuaWVyIChnZWdlbiBTcGllbGVyKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBUb3VybmFtZW50JyxcclxuICAgICAgJ2ZyJzogJ0JhdGFpbGxlIGRlIHRvdXJub2kgY29udHJlIGRlcyBqb3VldXJzJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrlpKfkvJrlr77miKYgKOODl+ODrOOCpOODpOODvOWvvuaIpu+8iScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjtlIzroIjsnbTslrQg64yA6rKwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrnjqnlrrblr7nmiJjvvIjml6Dnu6nngrnotZvvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogR2VnZW4gU3BpZWxlciAob2huZSBSUCknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogUGxheWVyIEJhdHRsZSAoTm9uLVJQKScsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBzaW1wbGUgY29udHJlIHVuIGpvdWV1ciAoc2FucyBQUiknLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muODl+ODrOOCpOODpOODvOWvvuaIpiAoUlDlpInli5XjgarjgZcpJyxcclxuICAgICAgJ2tvJzogJ+q8rOuniCDsuZzqtawg6rO167Cp7KCEOiDtlIzroIjsnbTslrQg64yA6rKwKFJQIOuzgOuPmSDsl4bsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qg57yg5LiN5riF55qE5a6/5ZG9JyxcclxuICAgICAgJ2RlJzogJ1dlbHRlbsO8YmVyZ3JlaWZlbmRlcyBTY2hpY2tzYWwnLFxyXG4gICAgICAnZW4nOiAnT25lIExpZmUgZm9yIE9uZSBXb3JsZCcsXHJcbiAgICAgICdmcic6ICdEZXN0aW5zIGVudHJlY3JvaXPDqXMnLFxyXG4gICAgICAnamEnOiAn57Wh44G/5ZCI44GG5a6/5ZG9JyxcclxuICAgICAgJ2tvJzogJ+uSpOyWve2eiOuKlCDsiJnrqoUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA1OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA1MSAtIDYwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA1MS02MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI1Me+9nkI2MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI1MX5CNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izYx772eNzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDYxIC0gNzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA2MS03MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDYxLTcwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjYx772eQjcwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjYxfkI3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNzEgLSA4MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNzEtODApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNzHvvZ5CODAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNzF+QjgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs4Me+9njkw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA4MSAtIDkwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgODEtOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA4MS05MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI4Me+9nkI5MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI4MX5COTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA5MSAtIDEwMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDkxLTEwMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI5Me+9nkIxMDAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCOTF+QjEwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTAx772eMTEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMDEgLSAxMTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMDEtMTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTAxLTExMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMDHvvZ5CMTEwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjEwMX5CMTEwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMTHvvZ4xMjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDExMSAtIDEyMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDExMS0xMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMTEtMTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjExMe+9nkIxMjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTExfkIxMjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEyMe+9njEzMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTIxIC0gMTMwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTIxLTEzMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEyMS0xMzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTIx772eQjEzMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMjF+QjEzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTMx772eMTQw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMzEgLSAxNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMzEtMTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTMxLTE0MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMzHvvZ5CMTQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjEzMX5CMTQwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNDHvvZ4xNTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE0MSAtIDE1MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE0MS0xNTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNDEtMTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE0Me+9nkIxNTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTQxfkIxNTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE1Me+9njE2MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTUxIC0gMTYwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTUxLTE2MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE1MS0xNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTUx772eQjE2MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNTF+QjE2MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTYx772eMTcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNjEgLSAxNzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNjEtMTcwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTYxLTE3MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNjHvvZ5CMTcwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE2MX5CMTcwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNzHvvZ4xODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE3MSAtIDE4MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE3MS0xODApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNzEtMTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE3Me+9nkIxODAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTcxfkIxODAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE4Me+9njE5MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTgxIC0gMTkwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTgxLTE5MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE4MS0xOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTgx772eQjE5MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxODF+QjE5MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTkx772eMjAw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxOTEgLSAyMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxOTEtMjAwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTkxLTIwMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxOTHvvZ5CMjAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE5MX5CMjAwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfln7rmi4nlt7TlsLzkuprovrnljLonLFxyXG4gICAgICAnZGUnOiAnQWJhbmlzY2hlcyBHcmVuemxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyaW5nZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1hcmdlcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLovrrlooPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOuzgOuwqeyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OSxcclxuICB9LFxyXG4gIDYxMzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oueOiea1tycsXHJcbiAgICAgICdkZSc6ICdSdWJpbnNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgUnVieSBTZWEnLFxyXG4gICAgICAnZnInOiAnTWVyIGRlIFJ1YmlzJyxcclxuICAgICAgJ2phJzogJ+e0heeOiea1tycsXHJcbiAgICAgICdrbyc6ICftmY3smKXtlbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA2MTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflu7blpI8nLFxyXG4gICAgICAnZGUnOiAnWWFueGlhJyxcclxuICAgICAgJ2VuJzogJ1lhbnhpYScsXHJcbiAgICAgICdmcic6ICdZYW54aWEnLFxyXG4gICAgICAnamEnOiAn44Ok44Oz44K1JyxcclxuICAgICAgJ2tvJzogJ+yWgOyDpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NCxcclxuICB9LFxyXG4gIDYxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnZrniaLpk4Hlo4Hlt7Tln4PokKjplb/ln44nLFxyXG4gICAgICAnZGUnOiAnQmFlbHNhci1XYWxsJyxcclxuICAgICAgJ2VuJzogJ0JhZWxzYXJcXCdzIFdhbGwnLFxyXG4gICAgICAnZnInOiAnTGEgTXVyYWlsbGUgZGUgQmFlbHNhcicsXHJcbiAgICAgICdqYSc6ICflt6jlpKfpmLLlo4Eg44OQ44Ko44K144Or44Gu6ZW35Z+OJyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOyCrOultCDsnqXshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTgyLFxyXG4gICAgJ29mZnNldFknOiAzMixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA2MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35bqV5a6r5q6/57Sr5rC05a6rJyxcclxuICAgICAgJ2RlJzogJ1NoaXN1aScsXHJcbiAgICAgICdlbic6ICdTaGlzdWkgb2YgdGhlIFZpb2xldCBUaWRlcycsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgYXV4IE1hcsOpZXMgdmlvbGV0dGVzJyxcclxuICAgICAgJ2phJzogJ+a1t+W6leWuruauvyDntKvmsLTlrq4nLFxyXG4gICAgICAna28nOiAn7Iuc7Iqk7J20IOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHmt7HlooPntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTb2htIEFsIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdTb2htIEFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mciuWzsOa1hOWMliDjgr3jg7zjg6Djg7vjgqLjg6sgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yGnCDslYwo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxMjgsXHJcbiAgICAnb2Zmc2V0WSc6IC0zMixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA2MTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjni7zni7HmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoV29sZnNow7ZobGU6IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gRmVhc3RpbmcgR3JvdW5kcyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL0Zlc3RpbiBkZXMgbG91cHMpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Km44Or44O044K644K444Kn44Kk44Or5ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOuKkeuMgOyasOumrCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNjIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa5bGx5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBaaW5uZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFBlYWtzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBQaWNzJyxcclxuICAgICAgJ2phJzogJ+OCruODqeODkOODi+OCouWxseWys+WcsOW4rycsXHJcbiAgICAgICdrbyc6ICfquLDrnbzrsJTri4jslYQg7IKw7JWF7KeA64yAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgwLFxyXG4gIH0sXHJcbiAgNjIxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa5rmW5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBGZW5uJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb2NocycsXHJcbiAgICAgICdmcic6ICdMZXMgTGFjcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLmuZbnlZTlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIO2YuOuwmOyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MSxcclxuICB9LFxyXG4gIDYyMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqumYs+elnuiNieWOnycsXHJcbiAgICAgICdkZSc6ICdBemltLVN0ZXBwZScsXHJcbiAgICAgICdlbic6ICdUaGUgQXppbSBTdGVwcGUnLFxyXG4gICAgICAnZnInOiAnU3RlcHBlIGRcXCdBemltJyxcclxuICAgICAgJ2phJzogJ+OCouOCuOODoOOCueODhuODg+ODlycsXHJcbiAgICAgICdrbyc6ICfslYTsp5Ag64yA7LSI7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNjIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ivleeCvOihjOi3r+W3tOWEv+i+vuacqOmcuOmBkycsXHJcbiAgICAgICdkZSc6ICdCYXJkYW1zIFByb2JlJyxcclxuICAgICAgJ2VuJzogJ0JhcmRhbVxcJ3MgTWV0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZvcmNlIGRlIEJhcmRhbScsXHJcbiAgICAgICdqYSc6ICfkvJ3ntbHoqabnt7Qg44OQ44Or44OA44Og6KaH6YGTJyxcclxuICAgICAgJ2tvJzogJ+uwlOultOuLtCDtjKjrj4QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb55m95pi85o6i57Si77yI54up54yO5LiT55So77yJJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBKYWdkZ3LDvG5kZSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIEh1bnRpbmcgR3JvdW5kcyAoRWFzeSknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWU8SW5kZW50Lz46IHRlcnJhaW5zIGRlIGNoYXNzZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO277ya54up54yf6ZmQ5a6aIChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA2MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+m7hOaYj+aOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMnLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWU8SW5kZW50Lz46IHRlcnJhaW5zIGRlIGNoYXNzZScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO277ya54up54yf6ZmQ5a6aJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyghO2IrCDtlZzsoJUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjEsXHJcbiAgfSxcclxuICA2MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ryC5rWB5rW35Z+f5aaW5q2M5rW3JyxcclxuICAgICAgJ2RlJzogJ1NpcmVuZW4tU2VlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaXJlbnNvbmcgU2VhJyxcclxuICAgICAgJ2ZyJzogJ0xhIE1lciBkdSBDaGFudCBkZXMgc2lyw6huZXMnLFxyXG4gICAgICAnamEnOiAn5ryC5rWB5rW35Z+fIOOCu+OCpOODrOODvOODs+a1tycsXHJcbiAgICAgICdrbyc6ICfshLjsnbTroIwg7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM2LFxyXG4gIH0sXHJcbiAgNjI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9seS5i+WbvScsXHJcbiAgICAgICdkZSc6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2VuJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnZnInOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdqYSc6ICflvbHjga7lm73jg4Djg7Pjg7vjgrnjgqvjg7wnLFxyXG4gICAgICAna28nOiAn65GUIOyKpOy5tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMzUwLFxyXG4gICAgJ29mZnNldFknOiAtNDAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1OCxcclxuICB9LFxyXG4gIDYyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7hOmHkea4rycsXHJcbiAgICAgICdkZSc6ICdLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lJyxcclxuICAgICAgJ2ZyJzogJ0t1Z2FuZScsXHJcbiAgICAgICdqYSc6ICfjgq/jgqzjg40nLFxyXG4gICAgICAna28nOiAn7L+g6rCA64SkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgyLFxyXG4gIH0sXHJcbiAgNjMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvmiJjkuonnpZ7njI7lnLonLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEhhbG9uZXMgUHLDvGZ1bmcnLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSAtIFRyaWFscyBvZiB0aGUgRnVyeScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAtIMOJcHJldXZlcyBkZSBIYWxvbmUnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztiAo54up54yfKScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzEsXHJcbiAgfSxcclxuICA2MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg5bCU5o+Q6K+65bmz5Y6f6YGt6YGH5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGlvZHJvbScsXHJcbiAgICAgICdlbic6ICdUaGUgQ2FydGVuZWF1IEZsYXRzOiBIZWxpb2Ryb21lJyxcclxuICAgICAgJ2ZyJzogJ1JpeGUgw6AgbFxcJ0jDqWxpb2Ryb21lJyxcclxuICAgICAgJ2phJzogJ+OCq+ODq+ODhuODjuODvOW5s+WOn+mBremBh+aIpicsXHJcbiAgICAgICdrbyc6ICfsubTrpbTthYzrhbgg7Y+J7JuQIOyhsOyasOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjM1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5ouz55eVJyxcclxuICAgICAgJ2RlJzogJ1JoYWxncnMgV2FjaHQnLFxyXG4gICAgICAnZW4nOiAnUmhhbGdyXFwncyBSZWFjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l0ZW5kdWUgZGUgUmhhbGdyJyxcclxuICAgICAgJ2phJzogJ+ODqeODvOODq+OCrOODvOOCuuODquODvOODgScsXHJcbiAgICAgICdrbyc6ICfrnoTqsbDsnZgg7IaQ6ri4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc4LFxyXG4gIH0sXHJcbiAgNjM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elluWwlOWum+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFp1cnZhbicsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgWjFUOScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5JyxcclxuICAgICAgJ2phJzogJ+msvOelnuOCuuODq+ODr+ODvOODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDYzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDkgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFoxUDkgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOq3gOyLoCDso7zrpbTrsJgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc1LFxyXG4gIH0sXHJcbiAgNjQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5Zyw6KGj5a6r5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKEZsZWNodGVuaGFpbjogU2NoYXVrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0IChDdXN0b20gTWF0Y2ggLSBMaWNoZW53ZWVkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKHBlcnNvbm5hbGlzw6kvUHLDqS1kZS1saWNoZW4pJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Op44Kk44Kx44Oz44Km44Kj44O844OJ5ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOyeoey0iCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDczLFxyXG4gIH0sXHJcbiAgNjU2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvkuLDppbbnpZ7npo/lnLAnLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIE5vcGhpY2FzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIE1hdHJvbicsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAtIMOJcHJldXZlcyBkZSBOb3BoaWNhJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOaOoembhiknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7LGE7KeRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ino+aUvuWGs+aImOWkmueOm+eOi+WfjicsXHJcbiAgICAgICdkZSc6ICdCdXJnIERvbWEnLFxyXG4gICAgICAnZW4nOiAnRG9tYSBDYXN0bGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZGUgRG9tYScsXHJcbiAgICAgICdqYSc6ICfop6PmlL7msbrmiKYg44OJ44Oe5Z+OJyxcclxuICAgICAgJ2tvJzogJ+uPhOuniCDshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt6jngq7opoHloZ7luJ3lm73nmb3lsbHloKEnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBBYmFuaWEnLFxyXG4gICAgICAnamEnOiAn5beo56Cy6KaB5aGeIOOCq+OCueODiOODq+ODoOODu+OCouODkOODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsubTsiqTtirjro7gg7JWE67CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcyLFxyXG4gICAgJ29mZnNldFknOiAtMTg2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtuWFmuWtpOWfjum7hOmHkemYgScsXHJcbiAgICAgICdkZSc6ICdTY2hsb3NzIEt1Z2FuZScsXHJcbiAgICAgICdlbic6ICdLdWdhbmUgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIEt1Z2FuZScsXHJcbiAgICAgICdqYSc6ICfmgqrlhZrmiJDmlZcg44Kv44Ks44ON5Z+OJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCDshLEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNzAsXHJcbiAgICAnb2Zmc2V0WSc6IDMzLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/ruihjOWPpOWIueaYn+WvvOWvuicsXHJcbiAgICAgICdkZSc6ICdUZW1wZWwgZGVyIEZhdXN0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBUZW1wbGUgb2YgdGhlIEZpc3QnLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIGR1IFBvaW5nJyxcclxuICAgICAgJ2phJzogJ+WjiuelnuS/ruihjCDmmJ/lsI7lsbHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7ISx64+E7IKwIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDI3LFxyXG4gICAgJ29mZnNldFknOiAtMzE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mxvOmBk+eOsOi6q++8gScsXHJcbiAgICAgICdkZSc6ICdFaW4gendlaWZlbGhhZnRlcyBBbmdlYm90JyxcclxuICAgICAgJ2VuJzogJ0l0XFwncyBQcm9iYWJseSBhIFRyYXAnLFxyXG4gICAgICAnZnInOiAnVW4gZHLDtGxlIGRlIE5hbWF6dScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6fjg4njgqbnj77jgovvvIEnLFxyXG4gICAgICAna28nOiAn6rWQ64+EIOuTseyepSEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpobvkvZDkuYvnlLfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTdXNhbm8nLFxyXG4gICAgICAnZW4nOiAnVGhlIFBvb2wgb2YgVHJpYnV0ZScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMnLFxyXG4gICAgICAnamEnOiAn44K544K144OO44Kq6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIENyaXF1ZSBhdXggdHJpYnV0cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Iqk7IKs64W47JikIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NyxcclxuICB9LFxyXG4gIDY3OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7pvpnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS8O2bmlnbGljaGUgTWVuYWdlcmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBNZW5hZ2VyaWUnLFxyXG4gICAgICAnZnInOiAnTGEgTcOpbmFnZXJpZSByb3lhbGUnLFxyXG4gICAgICAnamEnOiAn56We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yLoOujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzYsXHJcbiAgfSxcclxuICA2ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqO6YeM5piC54Ot55qE56eY562WJyxcclxuICAgICAgJ2RlJzogJ1dlZ2UgenVyIFRyYW5zemVuZGVueicsXHJcbiAgICAgICdlbic6ICdUaGUgUmVzb25hbnQnLFxyXG4gICAgICAnZnInOiAnTGEgcnVzZSBkXFwnVXJpYW5nZXInLFxyXG4gICAgICAnamEnOiAn44Km44Oq44Ko44Oz44K444Kn44Gu56eY562WJyxcclxuICAgICAgJ2tvJzogJ+ychOumrOyVmeygnOydmCDruYTssYUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPovr7mhZUnLFxyXG4gICAgICAnZGUnOiAnTmFhZGFtJyxcclxuICAgICAgJ2VuJzogJ05hYWRhbScsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgYmF0YWlsbGUgZHUgTmFhZGFtJyxcclxuICAgICAgJ2phJzogJ+e1guevgOOBruWQiOaIpicsXHJcbiAgICAgICdrbyc6ICfqs4TsoIjrgZ0g7ZWp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Y+W5oiY57qi6I6y6Zi/5ouJ57Gz5qC8JyxcclxuICAgICAgJ2RlJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdlbic6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZnInOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2phJzogJ+e0heiTruaxuuaIpiDjgqLjg6njg5/jgrQnLFxyXG4gICAgICAna28nOiAn7JWM652866+46rOgJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MixcclxuICAgICdvZmZzZXRZJzogLTE2MyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml7bnqbrni63nvJ3lpJbnvJgnLFxyXG4gICAgICAnZGUnOiAnSW50ZXJkaW1lbnNpb25hbGVyIFJpc3MnLFxyXG4gICAgICAnZW4nOiAnSW50ZXJkaW1lbnNpb25hbCBSaWZ0JyxcclxuICAgICAgJ2ZyJzogJ0Zpc3N1cmUgaW50ZXJkaW1lbnNpb25uZWxsZScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPvvJrlpJbnuIEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiDog7Jm46rO9JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDlvrflsJTloZTlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muODh+ODq+OCv+e3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOuNuO2DgO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDlvrflsJTloZTlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0RlbHRhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx0YXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnRGVsdGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4Dtjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg4LFxyXG4gIH0sXHJcbiAgNzA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+S8muW8gOWniycsXHJcbiAgICAgICdkZSc6ICdUaGFsIHp1IEVocmVuJyxcclxuICAgICAgJ2VuJzogJ0luIFRoYWxcXCdzIE5hbWUnLFxyXG4gICAgICAnZnInOiAnTGUgdG91cm5vaSBjb21tw6ltb3JhdGlmIGR1IHN1bHRhbmF0JyxcclxuICAgICAgJ2phJzogJ+OCpuODq+eOi+adr+mXmOaKgOS8muOBruWni+OBvuOCiicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg7JmV7Iuk67CwIO2IrOq4sOuMgO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S4uuS6huabtOW8uicsXHJcbiAgICAgICdkZSc6ICdEaWUgaG9oZSBLdW5zdCBkZXMgU2Nod2VydGthbXBmcycsXHJcbiAgICAgICdlbic6ICdSYWlzaW5nIHRoZSBTd29yZCcsXHJcbiAgICAgICdmcic6ICdMYSBmaW5hbGUgZGVzIGNoYW1waW9ucycsXHJcbiAgICAgICdqYSc6ICfjgZXjgonjgarjgovliaPooZPjga7pq5jjgb/jgbgnLFxyXG4gICAgICAna28nOiAn642UIOuGkuydgCDqsoDsiKDsnZgg6rK97KeA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICA3MDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oqX5LqJ5LmL5YqbJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLcmFmdCBkZXMgV2lkZXJzdGFuZHMnLFxyXG4gICAgICAnZW4nOiAnV2l0aCBIZWFydCBhbmQgU3RlZWwnLFxyXG4gICAgICAnZnInOiAnVHJhbnNtaWdyYXRpb24gZMOpbW9uaWFxdWUnLFxyXG4gICAgICAnamEnOiAn5oqX44GG5YqbJyxcclxuICAgICAgJ2tvJzogJ+unnuyEnOuKlCDtnpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjk4LFxyXG4gICAgJ29mZnNldFknOiAzNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNzA4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mDvei3r+S6uui6q+mmluW8gicsXHJcbiAgICAgICdkZSc6ICdNb3JkIGlzdCBzZWluIEhvYmJ5JyxcclxuICAgICAgJ2VuJzogJ0Jsb29kIG9uIHRoZSBEZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xhIGzDqWdlbmRlIGRlIE11c29zYWk8SW5kZW50Lz46IGxcXCdhc3Nhc3NpbiBkZSBMaW1zYSBMb21pbnNhJyxcclxuICAgICAgJ2phJzogJ+a1t+mDveOCkumch+OCj+OBmeS6uuaWrOOCiuOBruWutO+8gScsXHJcbiAgICAgICdrbyc6ICftlbTslpHrj4Tsi5zrpbwg7Z2U65Oc64qUIOyCtOyduOyekOydmCDsl7DtmowhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5p6B5oG25LmL5Lq65pyo5p6vJyxcclxuICAgICAgJ2RlJzogJ0RlciBJbmJlZ3JpZmYgZGVzIELDtnNlbicsXHJcbiAgICAgICdlbic6ICdUaGUgRmFjZSBvZiBUcnVlIEV2aWwnLFxyXG4gICAgICAnZnInOiAnTFxcJ2Fib21pbmFibGUgS29nYXJhc2hpJyxcclxuICAgICAgJ2phJzogJ+alteaCquS6uuOCs+OCrOODqeOCtycsXHJcbiAgICAgICdrbyc6ICfqt7nslYXrrLTrj4TtlZwg7L2U6rCA65287IucJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICA3MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5p2+5Y+26Zeo5aSW5LmL5Y+YJyxcclxuICAgICAgJ2RlJzogJ1ZvcmZhbGwgYXVmIGRlbSBNYXRzdWJhLVBsYXR6JyxcclxuICAgICAgJ2VuJzogJ01hdHN1YmEgTWF5aGVtJyxcclxuICAgICAgJ2ZyJzogJ1LDqGdsZW1lbnQgZGUgY29tcHRlIGF1IHNxdWFyZSBNYXRzdWJhJyxcclxuICAgICAgJ2phJzogJ+advuiRiemWgOWkluOBruWkiScsXHJcbiAgICAgICdrbyc6ICfrp4jsuKDrsJQg7IKs67OAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgyLFxyXG4gIH0sXHJcbiAgNzExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGs+aImOm+n+eUsuWymycsXHJcbiAgICAgICdkZSc6ICdFbnQ8U29mdEh5cGhlbi8+c2NoZWk8U29mdEh5cGhlbi8+ZHVuZ3M8U29mdEh5cGhlbi8+c2NobGFjaHQgYXVmIEJla2tvJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCYXR0bGUgb24gQmVra28nLFxyXG4gICAgICAnZnInOiAnTFxcJ2FmPFNvZnRIeXBoZW4vPmZyb248U29mdEh5cGhlbi8+dGU8U29mdEh5cGhlbi8+bWVudCBkZSBkZXV4IGp1c3RpY2VzJyxcclxuICAgICAgJ2phJzogJ+ODmeODg+OCs+OCpuWztuOBruaxuumXmCcsXHJcbiAgICAgICdrbyc6ICfrsqDsvZTsmrAg7ISs7J2YIOqysO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MyxcclxuICB9LFxyXG4gIDcxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov5DmsrPlrp3nianlupMnLFxyXG4gICAgICAnZGUnOiAnS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IENhbmFscyBvZiBVem5haXInLFxyXG4gICAgICAnZnInOiAnTGVzIENhbmF1eCBwZXJkdXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44OrJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ryG6buR55qE5beo6b6ZJyxcclxuICAgICAgJ2RlJzogJ0RlciB0b2JlbmRlIERyYWNoZScsXHJcbiAgICAgICdlbic6ICdEYXJrIGFzIHRoZSBOaWdodCBTa3knLFxyXG4gICAgICAnZnInOiAnQXVzc2kgc29tYnJlIHF1ZSBsYSBudWl0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuOBruW3qOernCcsXHJcbiAgICAgICdrbyc6ICfsuaDtnZHsnZgg6rGw66OhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNzE0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouihgOS5i+m+memqkeWjqycsXHJcbiAgICAgICdkZSc6ICdEZXIgUnViaW4tRHJhY2hlbnJlaXRlcicsXHJcbiAgICAgICdlbic6ICdEcmFnb24gU291bmQnLFxyXG4gICAgICAnZnInOiAnTGUgRHJhZ29uIMOpY2FybGF0ZScsXHJcbiAgICAgICdqYSc6ICfntIXjga7nq5zpqI7lo6snLFxyXG4gICAgICAna28nOiAn67aJ7J2AIOyaqeq4sOyCrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mBpei/nOeahOaGp+aGrCcsXHJcbiAgICAgICdkZSc6ICdQcm9iZSBkZXMgTWVpc3RlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9ycGhhbnMgYW5kIHRoZSBCcm9rZW4gQmxhZGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ2FzcGlyYXRpb24gcmVmb3Vsw6llJyxcclxuICAgICAgJ2phJzogJ+OBguOBqOS4ieW6puOAgemBpeOBi+OBquaGp+aGrCcsXHJcbiAgICAgICdrbyc6ICfslZ7snLzroZwg7IS4IOuyiCwg7JWE65Od7ZWcIOuPmeqyvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg2LFxyXG4gIH0sXHJcbiAgNzE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGjeasoeebuOingScsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVyIFRpZWZlIGRlcyBIZXJ6ZW5zJyxcclxuICAgICAgJ2VuJzogJ091ciBDb21wcm9taXNlJyxcclxuICAgICAgJ2ZyJzogJ0xhIGRlcm5pw6hyZSBzw6lwYXJhdGlvbicsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuIDluqbjgIHlkJvjgavkvJrjgYjjgZ/jgoknLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIO2VnCDrsogsIOuEiOyZgCDrp4zrgqAg7IiYIOyeiOuLpOuptCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDcxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljp/liJ3nmoTmiJjlo6snLFxyXG4gICAgICAnZGUnOiAnRGllIFVya3JhZnQgaW4gaWhyJyxcclxuICAgICAgJ2VuJzogJ0N1cmlvdXMgR29yZ2UgTWVldHMgSGlzIE1hdGNoJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDqXByZXV2ZSBkZSBmb3JjZScsXHJcbiAgICAgICdqYSc6ICfljp/liJ3nmoTjgarlvbzlpbMnLFxyXG4gICAgICAna28nOiAn7JuQ7LSI7KCBIOq3uOuFgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzcsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54eD54On5ZCn6auY5ZCJJyxcclxuICAgICAgJ2RlJzogJ0tyaWVnZXJpc2NoZSBMZWlkZW5zY2hhZnQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhlYXJ0IG9mIHRoZSBQcm9ibGVtJyxcclxuICAgICAgJ2ZyJzogJ1Bhc3Npb24gZ3VlcnJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfnh4PjgYjjgojjgrTjg7zjgrjvvIEnLFxyXG4gICAgICAna28nOiAn67aI7YOA7Jis65286528LCDsgrDqs6jsp5zquLAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg1LFxyXG4gIH0sXHJcbiAgNzE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ8OJbWFuYXRpb24nLFxyXG4gICAgICAnamEnOiAn44Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+udveyKiOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODcsXHJcbiAgfSxcclxuICA3MjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCJ56Wl5aSp5aWz5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gTGFrc2htaScsXHJcbiAgICAgICdlbic6ICdFbWFuYXRpb24gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ8OJbWFuYXRpb24gKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6njgq/jgrfjg6Xjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOudveyKiOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODcsXHJcbiAgfSxcclxuICA3MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m/6LaK5pe256m655qE5aSZ5oS/JyxcclxuICAgICAgJ2RlJzogJ0VpbiBXdW5zY2ggYXVzIGFsdGVuIFplaXRlbicsXHJcbiAgICAgICdlbic6ICdPdXIgVW5zdW5nIEhlcm9lcycsXHJcbiAgICAgICdmcic6ICdMXFwnZXNwb2lyIGVuIGjDqXJpdGFnZScsXHJcbiAgICAgICdqYSc6ICfmmYLjgpLjgYvjgZHjgovpoZjjgYQnLFxyXG4gICAgICAna28nOiAn7Iuc6rCE7J2EIOubsOyWtOuEmOydgCDsl7zsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE3NSxcclxuICAgICdvZmZzZXRZJzogLTI5NyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjMsXHJcbiAgfSxcclxuICA3MjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5b2x6ZqQ5b+N5rOV6LS0JyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZW0gVmVyYm9yZ2VuZW4nLFxyXG4gICAgICAnZW4nOiAnV2hlbiBDbGFucyBDb2xsaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIGJhdGFpbGxlIGRlcyBjbGFucycsXHJcbiAgICAgICdqYSc6ICflvbHpmqDlv43ms5XluJYnLFxyXG4gICAgICAna28nOiAn6re466a87J6QIOyduOuyleyyqScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcyNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov5DmsrPlrp3nianlupPmt7HlsYInLFxyXG4gICAgICAnZGUnOiAnVmVyZ2Vzc2VuZSBLYW7DpGxlIHZvbiBVem5haXInLFxyXG4gICAgICAnZW4nOiAnVGhlIEhpZGRlbiBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggY2FjaMOpcyBkXFwnVXpuYWlyJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqbjgrrjg43jgqLjgqvjg4rjg6vmt7HlsaQnLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOyasOymiOuEpOyWtCDsmrTtlZgg7Ius7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Led6aqo56CU56m25omAICjmnLrliqjmiJgpJyxcclxuICAgICAgJ2RlJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZW4nOiAnQXN0cmFnYWxvcycsXHJcbiAgICAgICdmcic6ICdBc3RyYWdhbG9zIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrnjg4jjg6njgqzjg63jgrkgKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7JWE7Iqk7Yq465286rCI66Gc7IqkKOq4sOqzteyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDczMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7pvpnmoqblubvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gU2hpbnJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogU2hpbnJ5dVxcJ3MgRG9tYWluJyxcclxuICAgICAgJ2ZyJzogJ0xlIGRvbWFpbmUgZGUgU2hpbnJ5dScsXHJcbiAgICAgICdqYSc6ICfmpbXnpZ7pvo3oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLoOujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzYsXHJcbiAgfSxcclxuICA3MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rKJ5rKh56We5q6/5pav5Y2h5ouJ6YGX6L+5JyxcclxuICAgICAgJ2RlJzogJ0RpZSB2ZXJzdW5rZW5lIFN0YWR0IFNrYWxsYScsXHJcbiAgICAgICdlbic6ICdUaGUgRHJvd25lZCBDaXR5IG9mIFNrYWxsYScsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSBlbmdsb3V0aWUgZGUgU2thbGxhJyxcclxuICAgICAgJ2phJzogJ+awtOayoemBuuaniyDjgrnjgqvjg6knLFxyXG4gICAgICAna28nOiAn7Iqk7Lm86528IOycoOyggScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxODUsXHJcbiAgICAnb2Zmc2V0WSc6IDUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDluLjpo47kuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEFuZW1vcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZnInOiAnRXVyw6prYSBBbmVtb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muOCouODjeODouOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7JWE64Sk66qo7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkxLFxyXG4gIH0sXHJcbiAgNzMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnRW5kbG9zZSBTY2hhdHRlbiB2b24gQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBVbmVuZGluZyBDb2lsIG9mIEJhaGFtdXQgKFVsdGltYXRlKScsXHJcbiAgICAgICdmcic6ICdMXFwnQWLDrm1lIGluZmluaSBkZSBCYWhhbXV0IChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244OQ44OP44Og44O844OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDrsJTtlZjrrLTtirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSx6JC95LmL6YO95ouJ5be057qz5pav5aGUJyxcclxuICAgICAgJ2RlJzogJ1JhYmFuYXN0cmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJveWFsIENpdHkgb2YgUmFiYW5hc3RyZScsXHJcbiAgICAgICdmcic6ICdMYSBDaXTDqSByb3lhbGUgZGUgUmFiYW5hc3RyZScsXHJcbiAgICAgICdqYSc6ICflpLHjgo/jgozjgZ/pg70g44Op44OQ44OK44K544K/JyxcclxuICAgICAgJ2tvJzogJ+yZleuPhCDrnbzrsJTrgpjsiqTthLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMzAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoia/nvJjku6rlvI8nLFxyXG4gICAgICAnZGUnOiAnVmFsZW50aW9uemVyZW1vbmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBWYWxlbnRpb25lXFwncyBDZXJlbW9ueScsXHJcbiAgICAgICdmcic6ICdMYSBDw6lyw6ltb25pZSBkZSBsYSBWYWxlbnRpb24nLFxyXG4gICAgICAnamEnOiAn44O044Kh44Os44Oz44OG44Kj44Kq44Oz44K744Os44Oi44OL44O8JyxcclxuICAgICAgJ2tvJzogJ+uwnOugjO2LsOyYqCDsmIjsi53snqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMTI1LFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oueOieeBq+WxseeLseS5i+eblicsXHJcbiAgICAgICdkZSc6ICdIw7ZsbGVuc3B1bmQnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgTGlkJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvdXZlcmNsZSBkZXMgZW5mZXJzJyxcclxuICAgICAgJ2phJzogJ+e0heeOieeBq+WxsSDnjYTkuYvok4snLFxyXG4gICAgICAna28nOiAn7KeA7Jil65qc6ruRJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55av54uC5oiY6Iiw5peg6ZmQ5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGcmFrdGFsLUtvbnRpbnV1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgRnJhY3RhbCBDb250aW51dW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbnRpbnV1bSBmcmFjdGFsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+aatOi1sOaIpuiJpiDjg5Xjg6njgq/jgr/jg6vjg7vjgrPjg7Pjg4bjgqPjg4vjgqLjg6AgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlago7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmiJjpmJ/mrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoVGVhbSwgZ2V3ZXJ0ZXQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVGVhbSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoY2xhc3PDqS/DqXF1aXBlIEpjSiknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjg4Hjg7zjg6DnlKjjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2MgCDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eZveiZjumVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gQnlha2tvJyxcclxuICAgICAgJ2VuJzogJ1RoZSBKYWRlIFN0b2EnLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlJyxcclxuICAgICAgJ2phJzogJ+eZveiZjuW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDopb/moLznjpvlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCt+OCsOODnue3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyLnOq3uOuniO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDopb/moLznjpvlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ1NpZ21hbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdTaWdtYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnU2lnbWFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eZveiZjuivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDbGFpcmnDqHJlIGRlIEphZGUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuwse2YuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTMsXHJcbiAgfSxcclxuICA3NTk6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpJrnjpvpo57lnLAnLFxyXG4gICAgICAnZGUnOiAnRG9tYW5pc2NoZSBFbmtsYXZlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEb21hbiBFbmNsYXZlJyxcclxuICAgICAgJ2ZyJzogJ1F1YXJ0aWVyIGVuY2xhdsOpIGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe55S65Lq65ZywJyxcclxuICAgICAgJ2tvJzogJ+uPhOuniCDrj4TsnY3sp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjMsXHJcbiAgICAnb2Zmc2V0WSc6IDM0LFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NCxcclxuICB9LFxyXG4gIDc2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngavpvpnni6nnjI7miJgnLFxyXG4gICAgICAnZGUnOiAnSmFnZCBhdWYgUmF0aGFsb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEh1bnQnLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zJyxcclxuICAgICAgJ2phJzogJ+ODquOCquODrOOCpuOCueeLqeeMn+aIpicsXHJcbiAgICAgICdrbyc6ICfrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z5LiK5L2N54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdDaGFzc2UgYXUgUmF0aGFsb3MgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn6re5IOumrOyYpOugiOyasOyKpCDsiJjroLXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjYsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56aB5Zyw5LyY6Zu35Y2hIOaBkuWGsOS5i+WcsCcsXHJcbiAgICAgICdkZSc6ICdFdXJla2EgUGFnb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgUGFnb3MnLFxyXG4gICAgICAnZnInOiAnRXVyw6prYSBQYWdvcycsXHJcbiAgICAgICdqYSc6ICfnpoHmlq3jga7lnLAg44Ko44Km44Os44Kr77ya44OR44K044K557eoJyxcclxuICAgICAgJ2tvJzogJ+q4iOuLqOydmCDrlYUg7JeQ7Jqw66CI7Lm0OiDtjIzqs6DsiqTtjrgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTQsXHJcbiAgfSxcclxuICA3NjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoZ2V3ZXJ0ZXQpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo57uD5Lmg6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKMOcYnVuZ3NrYW1wZiknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0IChUcmFpbmluZyknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChlbjxTb2Z0SHlwaGVuLz50cmHDrjxTb2Z0SHlwaGVuLz5uZTxTb2Z0SHlwaGVuLz5tZW50KScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCq+OCuOODpeOCouODq+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo7J2867CY7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOawtOaZtuWhlOa8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChLcmlzdGFsbHR1cm0tQXJlbmE6IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gQ3J5c3RhbCBUb3dlciknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1RvdXIgZGUgQ3Jpc3RhbCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zmvJTnv5LloLTvvJrjgqvjgrnjgr/jg6Djg57jg4Pjg4HvvIknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo7YGs66as7Iqk7YOIIO2DgOybjCDtm4jroKjsnqU6IOy5nOyEoCDqsr3quLApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkwLFxyXG4gIH0sXHJcbiAgNzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjjuawtOeBteW6meWyqeeHleW6mScsXHJcbiAgICAgICdkZSc6ICdLb21wYXNzIGRlciBTY2h3YWxiZScsXHJcbiAgICAgICdlbic6ICdUaGUgU3dhbGxvd1xcJ3MgQ29tcGFzcycsXHJcbiAgICAgICdmcic6ICdMZSBDb21wYXMgZGUgbFxcJ0hpcm9uZGVsbGUnLFxyXG4gICAgICAnamEnOiAn6aKo5rC06ZyK5q6/IOOCrOODs+OCqOODs+W7nycsXHJcbiAgICAgICdrbyc6ICfqsJXsl5Qg7KKF66yYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4LmmZPnmoTlsJHlubQnLFxyXG4gICAgICAnZGUnOiAnRGVyIEtuYWJlIGRlciBNb3JnZW5yw7Z0ZScsXHJcbiAgICAgICdlbic6ICdFbWlzc2FyeSBvZiB0aGUgRGF3bicsXHJcbiAgICAgICdmcic6ICdWb3lhZ2UgZW4gdGVycmUgaG9zdGlsZScsXHJcbiAgICAgICdqYSc6ICfjgIzmmoHjgI3jga7lsJHlubQnLFxyXG4gICAgICAna28nOiAnXFwn7IOI67K9XFwn7J2YIOyGjOuFhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAxLTEwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAx772eMTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDF+MTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDEx772eMjDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDExLTIwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxMS0yMCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDEx772eMjDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDExfjIw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAyMe+9njMw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAyMS0zMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMjEtMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMjEtMzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAyMe+9njMw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAyMX4zMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzczOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDQxLTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNDHvvZ41MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNDF+NTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDYx772eNzDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDYxLTcwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA2MS03MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDYx772eNzDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDYxfjcw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA4Me+9njkw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA4MS05MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgODEtOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA4Me+9njkw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA4MX45MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwgemXreWco+WhlOm7jumTjuaLiee6s+Wkp+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSaWNodGZldWVyIHZvbiBSaWRvcmFuYScsXHJcbiAgICAgICdlbic6ICdUaGUgUmlkb3JhbmEgTGlnaHRob3VzZScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBSaWRvcmFuYScsXHJcbiAgICAgICdqYSc6ICflsIHjgZjjgonjgozjgZ/ogZbloZQg44Oq44OJ44Or44Ki44OKJyxcclxuICAgICAgJ2tvJzogJ+uMgOuTseuMgCDrpqzrj4TrpbTslYTrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjAyLFxyXG4gICAgJ29mZnNldFknOiAtOTIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI4LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eptuaegeelnuWFtee7neWig+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBVbHRpbWEgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgV2VhcG9uXFwncyBSZWZyYWluIChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTGEgRmFudGFzbWFnb3JpZSBkXFwnVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Or44OG44Oe44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzthYzrp4gg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDc3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIjor7vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUc3VrdXlvbWknLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdmcic6ICdDYXN0cnVtIEZsdW1pbmlzJyxcclxuICAgICAgJ2phJzogJ+ODhOOCr+ODqOODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsuKDsv6DsmpTrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75bm95aSc5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUc3VrdXlvbWlcXCdzIFBhaW4nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODhOOCr+ODqOODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDMxLTQwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMzHvvZ40MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMzF+NDDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDUx772eNjDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDUxLTYwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA1MS02MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA1MS02MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDUx772eNjDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDUxfjYw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA3Me+9njgw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA3MS04MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNzEtODApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNzEtODApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA3Me+9njgw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA3MX44MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgOTHvvZ4xMDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDkxLTEwMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgOTEtMTAwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDkxLTEwMCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDkx772eMTAw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA5MX4xMDDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsaHmn5Pluq3lm63lnKPojInlpI/lqJzmpI3nianlm60nLFxyXG4gICAgICAnZGUnOiAnU2Fua3QgTW9jaWFubmUtQXJib3JldHVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1NhaW50IE1vY2lhbm5lXFwncyBBcmJvcmV0dW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBcmJvcmV0dW0gU2FpbnRlLU1vY2lhbm5lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+iNieacqOaxmuafkyDogZbjg6Ljgrfjg6Pjg7zjg4zmpI3nianlnJIgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvkuqHlpKflnLDnu4jmnKvnhKblnJ8nLFxyXG4gICAgICAnZGUnOiAnRGFzIEthcmdsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCdXJuJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFc2NhcnJlJyxcclxuICAgICAgJ2phJzogJ+awuOS5heeEpuWcnyDjgrbjg7vjg5Djg7zjg7MnLFxyXG4gICAgICAna28nOiAn7JiB6rWsIOy0iO2GoOyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NyxcclxuICB9LFxyXG4gIDc5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54G+5Y6E6YeN546w5Yab5LqL5ryU5LmgJyxcclxuICAgICAgJ2RlJzogJ0dlZGVua3NjaGxhY2h0IGRlciBFb3J6w6Rpc2NoZW4gQWxsaWFueicsXHJcbiAgICAgICdlbic6ICdUaGUgQ2FsYW1pdHkgUmV0b2xkJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBncmFuZGVzIG1hbsWTdXZyZXMgY29tbcOpbW9yYXRpdmVzJyxcclxuICAgICAgJ2phJzogJ+aWsOeUn+elrei7jeS6i+a8lOe/kicsXHJcbiAgICAgICdrbyc6ICfsi6Dsg53soJwg6rWw7IKs7ZuI66CoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk1LFxyXG4gIH0sXHJcbiAgNzkxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+makOWhniAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdWZXJib3JnZW5lIFNjaGx1Y2h0JyxcclxuICAgICAgJ2VuJzogJ0hpZGRlbiBHb3JnZScsXHJcbiAgICAgICdmcic6ICdHb3JnZSBkw6lyb2LDqWUgKG1hY2hpbmVyaWUpJyxcclxuICAgICAgJ2phJzogJ+ODkuODieOCpeODs+OCtOODvOOCuCAo5qmf5bel5oimKScsXHJcbiAgICAgICdrbyc6ICfsiKjqsqjsp4Qg67O066OoKOq4sOqzteyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Jma5pmv6Lez6Lez5LmQ5aSn5oyR5oiYJyxcclxuICAgICAgJ2RlJzogJ0tha3Rvci1LbGV0dGVyd2FuZCcsXHJcbiAgICAgICdlbic6ICdMZWFwIG9mIEZhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlIHZvbHRpZ2UnLFxyXG4gICAgICAnamEnOiAn5oyR5oim77yBIOOCuOODo+ODs+ODlOODs+OCsOOCouOCueODrOODgeODg+OCrycsXHJcbiAgICAgICdrbyc6ICfrm7DslrTrnbwhIOygkO2VkSDsmrTrj5ntmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm73looPpmLLnur/ln7rlp4bliKnnibnmmpfljLonLFxyXG4gICAgICAnZGUnOiAnRGllIEdoaW1seXQtRmluc3Rlcm5pcycsXHJcbiAgICAgICdlbic6ICdUaGUgR2hpbWx5dCBEYXJrJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBUw6luw6hicmVzIGRlIEdoaW1seXQnLFxyXG4gICAgICAnamEnOiAn5aKD55WM5oim57eaIOOCruODoOODquODiOODgOODvOOCrycsXHJcbiAgICAgICdrbyc6ICfquYDrpqztirgg7Zmp7JW8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT56We5q6/JyxcclxuICAgICAgJ2RlJzogJ0dsw7xja3NhbHTDpHJlIHZvbiBVem5haXInLFxyXG4gICAgICAnZW4nOiAnVGhlIFNoaWZ0aW5nIEFsdGFycyBvZiBVem5haXInLFxyXG4gICAgICAnZnInOiAnTGUgVGVtcGxlIHNhY3LDqSBkXFwnVXpuYWlyJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjgqbjgrrjg43jgqLjgqvjg4rjg6vnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOyasOymiOuEpOyWtCDsmrTtlZgg7KCc7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmtozngavkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFB5cm9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFB5cm9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUHlyb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODlOODpeODvOODreOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7ZS866Gc7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk2LFxyXG4gIH0sXHJcbiAgNzk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7rpgZPmiJgnLFxyXG4gICAgICAnZGUnOiAnRGViw7x0IGluIGRlciBIaW1tbGlzY2hlbiBBcmVuYScsXHJcbiAgICAgICdlbic6ICdBbGxcXCdzIFdlbGwgVGhhdCBTdGFydHMgV2VsbCcsXHJcbiAgICAgICdmcic6ICdEw6lidXQgZHUgc3BlY3RhY2xlJyxcclxuICAgICAgJ2phJzogJ+ODh+ODk+ODpeODvOODnuODg+ODgScsXHJcbiAgICAgICdrbyc6ICfrjbDrt5TsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmpZTnn7PmtJ4nLFxyXG4gICAgICAnZGUnOiAnRGVyIFdpbGxlIGRlciBNb25kZ8O2dHRpbicsXHJcbiAgICAgICdlbic6ICdUaGUgV2lsbCBvZiB0aGUgTW9vbicsXHJcbiAgICAgICdmcic6ICdSYWxsaWVtZW50IGRhbnMgbGEgc3RlcHBlJyxcclxuICAgICAgJ2phJzogJ+allOefs+OBruiZmicsXHJcbiAgICAgICdrbyc6ICfskJDquLDrj4wg64+Z6rW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzEnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMS4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjEuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYxLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA3OTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzInLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMi4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjIuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYyLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzMnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMy4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjMuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYzLjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzQnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgNC4wJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjQuMCcsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHY0LjAnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks77ya44Ki44Or44OV44Kh57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7JWM7YyM7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzEnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMS4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjEuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYxLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzInLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMi4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjIuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYyLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzMnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgMy4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjMuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHYzLjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qyn57Gz6IyE6Zu25byP5pe256m654ut57ydIOmYv+WwlOazleW5u+WigzQnLFxyXG4gICAgICAnZGUnOiAnQWxwaGFtZXRyaWUgNC4wIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FscGhhc2NhcGUgVjQuMCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbHBoYXN0aWNlIHY0LjAgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrOmbtuW8j++8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTIsXHJcbiAgfSxcclxuICA4MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L+d6ZWW5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0R1ZWxsIGF1ZiBkZXIgS3VnYW5lLUJyw7xja2UnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIE9oYXNoaScsXHJcbiAgICAgICdmcic6ICdMZSBQb250IE9oYXNoaScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6jjgqbjgrjjg7Pjg5zjgqboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOyalOyasOynhOuztCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4DplYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIFN1emFrdScsXHJcbiAgICAgICdlbic6ICdIZWxsc1xcJyBLaWVyJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5pZCBkZXMgTGFtZW50YXRpb25zJyxcclxuICAgICAgJ2phJzogJ+acsembgOW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfso7zsnpEg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk4LFxyXG4gIH0sXHJcbiAgODExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acsembgOivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFN1emFrdScsXHJcbiAgICAgICdlbic6ICdIZWxsc1xcJyBLaWVyIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteacsembgOW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mbt+WFi+WFsOW+tycsXHJcbiAgICAgICdkZSc6ICdTZWVubGFuZCcsXHJcbiAgICAgICdlbic6ICdMYWtlbGFuZCcsXHJcbiAgICAgICdmcic6ICdHcmFuZC1MYWMnLFxyXG4gICAgICAnamEnOiAn44Os44Kk44Kv44Op44Oz44OJJyxcclxuICAgICAgJ2tvJzogJ+ugiOydtO2BrOuenOuTnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDYsXHJcbiAgfSxcclxuICA4MTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnj4LpnLLopb/kuprlspsnLFxyXG4gICAgICAnZGUnOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnZW4nOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnZnInOiAnS2hvbHVzaWEnLFxyXG4gICAgICAnamEnOiAn44Kz44Or44K344Ki5bO2JyxcclxuICAgICAgJ2tvJzogJ+y9nOujqOyLnOyVhCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA3LFxyXG4gIH0sXHJcbiAgODE1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6J56mGwrfoib7lhbAnLFxyXG4gICAgICAnZGUnOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdlbic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2ZyJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnamEnOiAn44Ki44Og44O744Ki44Os44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yVhOuvgCDslYTrnq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA4LFxyXG4gIH0sXHJcbiAgODE2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5bCU576O5qC8JyxcclxuICAgICAgJ2RlJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnSWwgTWhlZycsXHJcbiAgICAgICdmcic6ICdJbCBNaGVnJyxcclxuICAgICAgJ2phJzogJ+OCpOODq+ODu+ODoeOCsCcsXHJcbiAgICAgICdrbyc6ICfsnbwg66mU6re4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOSxcclxuICB9LFxyXG4gIDgxNzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aLieWHr+aPkOWNoeWkp+ajruaelycsXHJcbiAgICAgICdkZSc6ICdEZXIgR3Jvw59lIFdhbGQgUmFrXFwndGlrYScsXHJcbiAgICAgICdlbic6ICdUaGUgUmFrXFwndGlrYSBHcmVhdHdvb2QnLFxyXG4gICAgICAnZnInOiAnUmFrXFwndGlrYScsXHJcbiAgICAgICdqYSc6ICfjg6njgrHjg4bjgqPjgqvlpKfmo67mnpcnLFxyXG4gICAgICAna28nOiAn65287LyA7Yuw7Lm0IOuMgOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTAsXHJcbiAgfSxcclxuICA4MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbcnLFxyXG4gICAgICAnZGUnOiAnVGVtcGVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGVzdCcsXHJcbiAgICAgICdmcic6ICdMYSBUZW1ww6p0ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjg7Pjg5rjgrnjg4gnLFxyXG4gICAgICAna28nOiAn7YWc7Y6Y7Iqk7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMSxcclxuICB9LFxyXG4gIDgxOToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOaZtumDvScsXHJcbiAgICAgICdkZSc6ICdDcnlzdGFyaXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcnlzdGFyaXVtJyxcclxuICAgICAgJ2ZyJzogJ0NyaXN0YXJpdW0nLFxyXG4gICAgICAnamEnOiAn44Kv44Oq44K544K/44Oq44Km44OgJyxcclxuICAgICAgJ2tvJzogJ+2BrOumrOyKpO2DgOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTIsXHJcbiAgfSxcclxuICA4MjA6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmuLjmnKvpgqYnLFxyXG4gICAgICAnZGUnOiAnRXVsbW9yZScsXHJcbiAgICAgICdlbic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2ZyJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnamEnOiAn44Om44O844Or44Oi44KiJyxcclxuICAgICAgJ2tvJzogJ+ycqOuqqOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTMsXHJcbiAgfSxcclxuICA4MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05aaW5bm75Zut5aSa5oGp576O5qC856aB5ZutJyxcclxuICAgICAgJ2RlJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdlbic6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZnInOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2phJzogJ+awtOWmluW5u+WckiDjg4njgqnjg7zjg4zjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn64+E64qQIOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAyMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lyq6YCg5aSp55WM5qC86bKB5qC854Gr5bGxJyxcclxuICAgICAgJ2RlJzogJ0RlciBHdWxnJyxcclxuICAgICAgJ2VuJzogJ010LiBHdWxnJyxcclxuICAgICAgJ2ZyJzogJ01vbnQgR3VsZycsXHJcbiAgICAgICdqYSc6ICflgb3pgKDlpKnnlYwg44Kw44Or44Kw54Gr5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1tOq3uCDtmZTsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTE4OCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aWh+aYjuWPpOi/ueWlh+WdpumCo+elnuW9sea0nicsXHJcbiAgICAgICdkZSc6ICdJcnJ1bmdlbiBkZXIgUWl0YXJpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBRaXRhbmEgUmF2ZWwnLFxyXG4gICAgICAnZnInOiAnTFxcJ0VuY2hldsOqdHJlbWVudCBkZXMgUWl0YXJpJyxcclxuICAgICAgJ2phJzogJ+WPpOi3oeaOoue0oiDjgq3jgr/jg7Pjg4rnpZ7lvbHmtJ4nLFxyXG4gICAgICAna28nOiAn7YKk7YOA64KYIOyLoOq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMjc0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Z2S6b6Z6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTZWlyeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdyZWF0aCBvZiBTbmFrZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMnLFxyXG4gICAgICAnamEnOiAn6Z2S6b6N5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+yyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Z2S6b6Z6K+X6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnN0dXJtIC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMXFwnw45sb3QgZGVzIEFtZXJ0dW1lcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+altemdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7LKt66OhIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OSxcclxuICB9LFxyXG4gIDgyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZDmrLLkuYvmiYDnk6/ljZrorrfkv67pgZPpmaInLFxyXG4gICAgICAnZGUnOiAnS2xvc3RlciB2b24gT3Jib25uZScsXHJcbiAgICAgICdlbic6ICdUaGUgT3Jib25uZSBNb25hc3RlcnknLFxyXG4gICAgICAnZnInOiAnTGUgTW9uYXN0w6hyZSBkXFwnT3Jib25uZScsXHJcbiAgICAgICdqYSc6ICfmpb3mrLLjga7lg6fpmaIg44Kq44O844Oc44Oz44OMJyxcclxuICAgICAgJ2tvJzogJ+yYpOuzuOuKkCDsiJjrj4Tsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTU0NSxcclxuICAgICdvZmZzZXRZJzogLTY2MyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjYsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56aB5Zyw5LyY6Zu35Y2hIOS4sOawtOS5i+WcsCcsXHJcbiAgICAgICdkZSc6ICdFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBIeWRhdG9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgSHlkYXRvcycsXHJcbiAgICAgICdqYSc6ICfnpoHmlq3jga7lnLAg44Ko44Km44Os44Kr77ya44OS44Ol44OA44OI44K557eoJyxcclxuICAgICAgJ2tvJzogJ+q4iOuLqOydmCDrlYUg7JeQ7Jqw66CI7Lm0OiDtnojri6TthqDsiqTtjrgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNDc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDAsXHJcbiAgfSxcclxuICA4MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5oy95q2MJyxcclxuICAgICAgJ2RlJzogJ1JlcXVpZW0gZGVyIEhlbGRlbicsXHJcbiAgICAgICdlbic6ICdBIFJlcXVpZW0gZm9yIEhlcm9lcycsXHJcbiAgICAgICdmcic6ICdVbiByZXF1aWVtIHBvdXIgbGVzIGjDqXJvcycsXHJcbiAgICAgICdqYSc6ICfoi7Hpm4Tjgbjjga7pjq7prYLmrYwnLFxyXG4gICAgICAna28nOiAn7JiB7JuF7J2EIOychO2VnCDsp4TtmLzqsIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b5pa55Z+O5oiY77ya5Lic6aOO5oiYNOS6uuS6suWPi+ahjO+8iOS4jeW4pumjn+aWre+8iScsXHJcbiAgICAgICdkZSc6ICc0LVNwaWVsZXItTWFoam9uZyAoc2NobmVsbGUgUGFydGllLCBLdWl0YW4gZGVha3RpdmllcnQpJyxcclxuICAgICAgJ2VuJzogJ0ZvdXItcGxheWVyIE1haGpvbmcgKFF1aWNrIE1hdGNoLCBLdWl0YW4gRGlzYWJsZWQpJyxcclxuICAgICAgJ2ZyJzogJ01haGpvbmcgZG9taWVuPEluZGVudC8+OiA0IGpvdWV1cnMgKHBhcnRpZSByYXBpZGUgc2FucyBrdWl0YW4pJyxcclxuICAgICAgJ2phJzogJ+ODieODnuW8j+m6u+mbgO+8muadsemiqOaIpjTkurrjgrvjg4Pjg4jljZPvvIjjgq/jgqTjgr/jg7PnhKHjgZfvvIknLFxyXG4gICAgICAna28nOiAn7J6R7Yyo7Jyg7Z2sOiDrj5ntko3soIQgNOyduOyaqSDtg4HsnpAo67aA66W06riwIOuLqOyalOq1rCDsl4bsnYwpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epuuWGm+ijheeUsumpvumptuWRmCcsXHJcbiAgICAgICdkZSc6ICdMdWZ0d2FmZmUsIEZldWVyIGZyZWkhJyxcclxuICAgICAgJ2VuJzogJ0FpciBGb3JjZSBPbmUnLFxyXG4gICAgICAnZnInOiAnQXMgZGUgbFxcJ2FpcicsXHJcbiAgICAgICdqYSc6ICflh7rmkoPvvIEg44Ko44Ki44OV44Kp44O844K544OR44Kk44Ot44OD44OIJyxcclxuICAgICAgJ2tvJzogJ+y2nOqyqSEg7JeQ7Ja07Y+s7IqkIOyhsOyiheyCrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjjuS5i+S9v+iAhScsXHJcbiAgICAgICdkZSc6ICdEdXJjaCBkZW4gU3R1cm0gdW5kIHp1csO8Y2snLFxyXG4gICAgICAnZW4nOiAnTWVzc2VuZ2VyIG9mIHRoZSBXaW5kcycsXHJcbiAgICAgICdmcic6ICdMYSBNZXNzYWfDqHJlIGR1IHZlbnQnLFxyXG4gICAgICAnamEnOiAn5p2l6Kiq44Gb44GX6aKo44Gu5b6h5L2/JyxcclxuICAgICAgJ2tvJzogJ+uwlOuejOydmCDslrTsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAxLFxyXG4gIH0sXHJcbiAgODM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mBv+aakeemu+Wuq+mprOWIqeWNoeWkp+S6lScsXHJcbiAgICAgICdkZSc6ICdNYWxpa2FocyBCcnVubmVuJyxcclxuICAgICAgJ2VuJzogJ01hbGlrYWhcXCdzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnTGUgUHVpdHMgZGUgTWFsaWthaCcsXHJcbiAgICAgICdqYSc6ICfniL3mtrzpm6Llrq4g44Oe44Oq44Kr44Gu5aSn5LqV5oi4JyxcclxuICAgICAgJ2tvJzogJ+unkOumrOy5tCDtgbDsmrDrrLwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTY1LFxyXG4gICAgJ29mZnNldFknOiAtMzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgYfooq3pm4bokL3msLTmu6nmnZEnLFxyXG4gICAgICAnZGUnOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdlbic6ICdIb2xtaW5zdGVyIFN3aXRjaCcsXHJcbiAgICAgICdmcic6ICdIb2xtaW5zdGVyJyxcclxuICAgICAgJ2phJzogJ+auuuaIrumDt+adkSDjg5vjg6vjg5/jg7Pjgrnjgr/jg7wnLFxyXG4gICAgICAna28nOiAn7ZmA66+87Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmmpflvbHkuprpqazkuYznvZfmj5AnLFxyXG4gICAgICAnZGUnOiAnQW1hdXJvdCcsXHJcbiAgICAgICdlbic6ICdBbWF1cm90JyxcclxuICAgICAgJ2ZyJzogJ0FtYXVyb3RlJyxcclxuICAgICAgJ2phJzogJ+e1guacq+W5u+aDsyDjgqLjg7zjg6Ljg63jg7zjg4gnLFxyXG4gICAgICAna28nOiAn7JWE66qo66Gc7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg0MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILnlYzpgZfmnoTluIzlsJTnp5Hmlq/lrarmmbbloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIEtyaXN0YWxsendpbGxpbmcnLFxyXG4gICAgICAnZW4nOiAnVGhlIFR3aW5uaW5nJyxcclxuICAgICAgJ2ZyJzogJ0xhIE1hY2xlIGRlIFN5cmN1cycsXHJcbiAgICAgICdqYSc6ICfnlbDnlYzpgbrmp4sg44K344Or44Kv44K544O744OE44Kk44OL44Oz44KwJyxcclxuICAgICAgJ2tvJzogJ+yMjeuRpeydtCDsi5zrpbTsv6DsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliJvpgKDmnLrmnoTpmL/lsLzlvrfnvZflrabpmaInLFxyXG4gICAgICAnZGUnOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBa2FkYWVtaWEgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FrYWRhZW1pYSBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn5Ym16YCg5qmf6ZaiIOOCouODiuOCpOODgOOCouOCq+ODh+ODn+OCoicsXHJcbiAgICAgICdrbyc6ICfslaDrgpjsnbTrjZQg7JWE7Lm0642w66+47JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e8h+WdpuWmrumbheatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIFRpdGFuaWEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhbmNpbmcgUGxhZ3VlJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlJyxcclxuICAgICAgJ2phJzogJ+ODhuOCo+OCv+ODvOODi+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DnkZXngbXlkJvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBJbm5vemVueicsXHJcbiAgICAgICdlbic6ICdUaGUgQ3Jvd24gb2YgdGhlIEltbWFjdWxhdGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqScsXHJcbiAgICAgICdqYSc6ICfjgqTjg47jgrvjg7PjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIER5aW5nIEdhc3AnLFxyXG4gICAgICAnZnInOiAnTGUgUsOibGUgZGUgbFxcJ0Fnb25pZScsXHJcbiAgICAgICdqYSc6ICfjg4/jg7zjg4fjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ZWY642w7IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDb3Vyb25uZSBkZSBsXFwnSW1tYWN1bMOpIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsnbTrhbjshLzsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNCxcclxuICB9LFxyXG4gIDg0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEF1ZmVyc3RlaHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBSZXN1cnJlY3Rpb24nLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdmVpbCBkXFwnw4lkZW4gLSBSw6lzdXJyZWN0aW9uJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBOaWVkZXJrdW5mdCcsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBEZXNjZW50JyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRGVzY2VudGUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMicsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIMOcYmVyZmx1dHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBJbnVuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRMOpbHVnZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDg1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEJlZXJkaWd1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogU2VwdWx0dXJlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gSW5odW1hdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6g0JyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDg1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEF1ZmVyc3RlaHVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBSZXN1cnJlY3Rpb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdmVpbCBkXFwnw4lkZW4gLSBSw6lzdXJyZWN0aW9uIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBOaWVkZXJrdW5mdCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBEZXNjZW50IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRGVzY2VudGUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIMOcYmVyZmx1dHVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBHYXRlOiBJbnVuZGF0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gRMOpbHVnZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDg1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g6KeJ6YaS5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBFcndhY2hlbiAtIEJlZXJkaWd1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogU2VwdWx0dXJlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gSW5odW1hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDg1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4XmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIEzDpHV0ZXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgVmFsc2UgZHUgTW9uYXJxdWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2LsO2DgOuLiOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAzLFxyXG4gIH0sXHJcbiAgODU5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acuuWFs+OAgeivheWSkuOAgeWJp+avkuS4juKApuKApicsXHJcbiAgICAgICdkZSc6ICdEZXIgQmVpY2h0c3R1aGwgdm9uIFRvdXBhc2EgZGVtIMOEbHRlcmVuJyxcclxuICAgICAgJ2VuJzogJ0xlZ2VuZCBvZiB0aGUgTm90LXNvLWhpZGRlbiBUZW1wbGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ29uZmVzc2lvbm5hbCBkZSBUb3VwYXNhIGxcXCdhbmNpZW4nLFxyXG4gICAgICAnamEnOiAn5LuV5o6b44GR44Go5ZGq44GE44Go5q+S44GoJyxcclxuICAgICAgJ2tvJzogJ+2VqOygleqzvCDsoIDso7zsmYAg64+FJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDg2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflup/pg73mi7/lt7TnpLroib7lhbAnLFxyXG4gICAgICAnZGUnOiAnVmF0ZXIgdW5kIEJydWRlcicsXHJcbiAgICAgICdlbic6ICdDb21pbmcgQ2xlYW4nLFxyXG4gICAgICAnZnInOiAnU3VyIGxlcyByYWlscyBkZSBOYWJhYXRoIEFyZW5nJyxcclxuICAgICAgJ2phJzogJ+W7g+mDveODiuODkOOCueOCouODrOODsycsXHJcbiAgICAgICdrbyc6ICfrgpjrsJTsiqTslYTroJ0g7Y+Q7ZeIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDg3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmkYfmkYbnmoTlpKnlubMnLFxyXG4gICAgICAnZGUnOiAnT2IgTWl0bGVpZCBvZGVyIEhhc3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEhhcmRlbmVkIEhlYXJ0JyxcclxuICAgICAgJ2ZyJzogJ05haXNzYW5jZSBkXFwndW4gYm91cnJlYXUnLFxyXG4gICAgICAnamEnOiAn5o+644KM44KL5aSp56ekJyxcclxuICAgICAgJ2tvJzogJ+2dlOuTpOumrOuKlCDsspzsua0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj6Tku6PlpKflho3nlJ/prZTms5UnLFxyXG4gICAgICAnZGUnOiAnQWx0ZXIgWmF1YmVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMb3N0IGFuZCB0aGUgRm91bmQnLFxyXG4gICAgICAnZnInOiAnTWFnaWUgYW5jZXN0cmFsZScsXHJcbiAgICAgICdqYSc6ICflj6Tjga7lpKflho3nlJ/prZTms5UnLFxyXG4gICAgICAna28nOiAn6rOg64yA7J2YIOuMgOyerOyDnSDrp4jrspUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WLh+aVoueahOeMjuS6uicsXHJcbiAgICAgICdkZSc6ICdEZXIgTGVnZW5kZSBhdWYgZGVyIFNwdXInLFxyXG4gICAgICAnZW4nOiAnVGhlIEh1bnRlclxcJ3MgTGVnYWN5JyxcclxuICAgICAgJ2ZyJzogJ0xhIGNoYXNzZXVzZSBkZSBsw6lnZW5kZScsXHJcbiAgICAgICdqYSc6ICfli4fmsJfjga7ni6nkuronLFxyXG4gICAgICAna28nOiAn7Jqp6riwIOyeiOuKlCDsgqzrg6XqvrwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjMsXHJcbiAgfSxcclxuICA4NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWI6LSd5bCU54m555qE5ZCO5oKUJyxcclxuICAgICAgJ2RlJzogJ0VpbiBncm/Dn2VzIE9wZmVyJyxcclxuICAgICAgJ2VuJzogJ055ZWxiZXJ0XFwncyBMYW1lbnQnLFxyXG4gICAgICAnZnInOiAnVW5lIGN1cGlkaXTDqSBiaWVuIGfDqW7DqXJldXNlJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODq+ODmeODq+ODiOOBruW+jOaClCcsXHJcbiAgICAgICdrbyc6ICfrgpjsnbzrsqDrpbTtirjsnZgg7ZuE7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qKm57695a6d5aKDJyxcclxuICAgICAgJ2RlJzogJ1ZlcmxpZXNlIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEdW5nZW9ucyBvZiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2ZyJzogJ0xlIERvbmpvbiBoeXBvZ8OpZW4gZHUgTHloZSBHaGlhaCcsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Oq44Kn44O844O744Ku44Ki44O744OA44Oz44K444On44OzJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDrpqzsmIgg6riw7JWEIOyngO2VmOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkjeWItuW3peWOguW6n+WinycsXHJcbiAgICAgICdkZSc6ICdEaWUga29waWVydGUgRmFicmlrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDb3BpZWQgRmFjdG9yeScsXHJcbiAgICAgICdmcic6ICdMYSByw6lwbGlxdWUgZGUgbFxcJ3VzaW5lIGTDqXNhZmZlY3TDqWUnLFxyXG4gICAgICAnamEnOiAn6KSH6KO944K144Os44K/5bel5aC05buD5aKfJyxcclxuICAgICAgJ2tvJzogJ+uzteygnOuQnCDqs7XsnqUg7Y+Q7ZeIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYxMCxcclxuICAgICdvZmZzZXRZJzogNzAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5rOV5a6r5q6/5a6H5a6Z5a6rJyxcclxuICAgICAgJ2RlJzogJ0NoYXRlYXUgQ29zbWVhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmFuZCBDb3Ntb3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29zbW9zIGNvcnVzY2FudCcsXHJcbiAgICAgICdqYSc6ICfprZTms5Xlrq7mrr8g44Kw44Op44Oz44O744Kz44K544Oi44K5JyxcclxuICAgICAgJ2tvJzogJ+q3uOuekSDsvZTsiqTrqqjsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflk4jov6rmlq/lraTlv7Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIEzDpHV0ZXJ1bmcgLSBIYWRlcycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogSGFkZXNcXCdzIEVsZWd5JyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4/jg7zjg4fjgrnoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IO2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODg3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEVwaWMgb2YgQWxleGFuZGVyIChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ09keXNzw6llIGRcXCdBbGV4YW5kZXIgKGZhdGFsKScsXHJcbiAgICAgICdqYSc6ICfntbbjgqLjg6zjgq3jgrXjg7Pjg4Djg7zoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KCIIOyVjOugieyCsOuNlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmILokKjlk4jlh6/lsJTvvIjnq57kuonmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnZW4nOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnZnInOiAnT25zYWwgSGFrYWlyIChEYW5zaGlnIE5hYWRhbSknLFxyXG4gICAgICAnamEnOiAn44Kq44Oz44K144Or44O744OP44Kr44Kk44OrICjntYLnr4DmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYqOyCtCDtlZjsubTsnbTrpbQo6rOE7KCI64GdIO2VqeyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE3LFxyXG4gIH0sXHJcbiAgODkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6r+eZveiqk+e6puOAgea8hum7keWvhue6picsXHJcbiAgICAgICdkZSc6ICdEZXIgV29sZiB1bmQgZGVyIERyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnVm93cyBvZiBWaXJ0dWUsIERlZWRzIG9mIENydWVsdHknLFxyXG4gICAgICAnZnInOiAnVsWTdXggZGUgdmVydHUsIGFjdGVzIGRlIGNydWF1dMOpJyxcclxuICAgICAgJ2phJzogJ+eZveOBjeiqk+e0hOOAgem7kuOBjeWvhue0hCcsXHJcbiAgICAgICdrbyc6ICftlZjsloAg7ISc7JW9LCDqsoDsnYAg67CA7JW9JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oiR5b+D5L6d5penJyxcclxuICAgICAgJ2RlJzogJ1RydWJlbCBpbSBUcmF1bWxhbmQnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXJ0IEJpZHMnLFxyXG4gICAgICAnZnInOiAnw4AgbFxcJ8OpY291dGUgZGUgc29pJyxcclxuICAgICAgJ2phJzogJ+OBk+OBruW/g+OBjOacm+OCgOOBjOOBvuOBvuOBqycsXHJcbiAgICAgICdrbyc6ICfsnbQg66eI7J2M7J20IOybkO2VmOuKlCDrjIDroZwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyLFxyXG4gICAgJ29mZnNldFknOiA1MCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA4OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0JyxcclxuICAgICAgJ2ZyJzogJ0xlcyBOdcOpZXMgZGUgQnJhbmRvbnMnLFxyXG4gICAgICAnamEnOiAn44Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+ujqOu5hCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgODk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kemjjua1t+W6lemYv+WwvOW+t+e9l+i/veW/hummhicsXHJcbiAgICAgICdkZSc6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2VuJzogJ0FuYW1uZXNpcyBBbnlkZXInLFxyXG4gICAgICAnZnInOiAnQW5hbW5lc2lzIEFueWRyZScsXHJcbiAgICAgICdqYSc6ICfpu5LpoqjmtbflupUg44Ki44OL44OJ44Op44K544O744Ki44OK44Og44ON44O844K344K5JyxcclxuICAgICAgJ2tvJzogJ+yVoOuLiOuTnOudvOyKpCDslYTrgqjrhKTsi5zsiqQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMzkwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7rmtbflnoLpkpMnLFxyXG4gICAgICAnZGUnOiAnQXVmIGdyb8OfZXIgRmFocnQnLFxyXG4gICAgICAnZW4nOiAnT2NlYW4gRmlzaGluZycsXHJcbiAgICAgICdmcic6ICdQw6pjaGUgZW4gbWVyJyxcclxuICAgICAgJ2phJzogJ+OCquODvOOCt+ODo+ODs+ODleOCo+ODg+OCt+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfrqLzrsJTri6Qg64Ka7IucJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgOTAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbicsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3InLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBFbnRsYWR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1bG1pbmF0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1bG1pbmF0aW9uIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBSYXNlcmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdXJvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdXJldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YWx6bij5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEJpbGRlcnN0dXJtIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBJY29ub2NsYXNtIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEljb25vY2xhc21lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBFcnN0YXJydW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBSZWZ1bGdlbmNlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIMOJY2xhdCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0NixcclxuICB9LFxyXG4gIDkxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLokrjlj5Hkuovku7YnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJvemphLVZvcmZhbGwnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvemphIEluY2lkZW50JyxcclxuICAgICAgJ2ZyJzogJ1Byw6lsdWRlIMOgIGxhIGNhdGFzdHJvcGhlJyxcclxuICAgICAgJ2phJzogJ+OCt+OCv+ODh+ODq+ODu+ODnOOCuuODpOiSuOeZuuS6i+WkiScsXHJcbiAgICAgICdrbyc6ICfrs7Tspojslbwg7IKs6rG0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyMyxcclxuICB9LFxyXG4gIDkxMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLlrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnUnViaW5mZXVlciAtIFRyYXVtYScsXHJcbiAgICAgICdlbic6ICdDaW5kZXIgRHJpZnQgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBOdcOpZXMgZGUgQnJhbmRvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg6vjg5Pjg7zjgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOujqOu5hCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgOTEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WNmuWFuembheWgoeWekui/veW/huaImCcsXHJcbiAgICAgICdkZSc6ICdNZW1vcmlhIE1pc2VyYSAoZXh0cmVtKScsXHJcbiAgICAgICdlbic6ICdNZW1vcmlhIE1pc2VyYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6Tov73mhrbmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuztOymiOyVvCDstpTslrXsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1LFxyXG4gICAgJ29mZnNldFknOiA2ODMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyMyxcclxuICB9LFxyXG4gIDkxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfoi7Hpm4Tml6Dms5Xlronmga8nLFxyXG4gICAgICAnZGUnOiAnVm9uIHNjaGxhZmVuZGVuIEhlbGRlbicsXHJcbiAgICAgICdlbic6ICdBIFNsZWVwIERpc3R1cmJlZCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgcm9ua2EnLFxyXG4gICAgICAnamEnOiAn5rGd44CB6Iux6ZuE44Gu55yg44KK5aao44GS44KL44GvJyxcclxuICAgICAgJ2tvJzogJ+q3uOuMgCwg7JiB7JuF7J2YIOyeoOydhCDrsKntlbTtlZjripTqsIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmpflvbHlhrPmiJjor7rlvJflhbDnibknLFxyXG4gICAgICAnZGUnOiAnU2NobGFjaHQgdW0gTm9ydnJhbmR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZXJvZXNcXCcgR2F1bnRsZXQnLFxyXG4gICAgICAnZnInOiAnTGEgVHJhdmVyc8OpZSBkZSBOb3J2cmFuZHQnLFxyXG4gICAgICAnamEnOiAn5ryG6buS5rG65oimIOODjuODq+ODtOODqeODs+ODiCcsXHJcbiAgICAgICdrbyc6ICfrhbjrpbTruIzrnoDtirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNjI2LFxyXG4gICAgJ29mZnNldFknOiAtNjExLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjUsXHJcbiAgfSxcclxuICA5MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lq65YG25Yab5LqL5Z+65ZywJyxcclxuICAgICAgJ2RlJzogJ0RpZSBQdXBwZW5mZXN0dW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQdXBwZXRzXFwnIEJ1bmtlcicsXHJcbiAgICAgICdmcic6ICdMYSBiYXNlIG1pbGl0YWlyZSBkZXMgUGFudGlucycsXHJcbiAgICAgICdqYSc6ICfkurrlvaLjgr/jg4Hjg47ou43kuovln7rlnLAnLFxyXG4gICAgICAna28nOiAn7J247ZiV65Ok7J2YIOq1sOyCrCDquLDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjkwLFxyXG4gICAgJ29mZnNldFknOiAtMTkwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZfmlrnljZrlhbnpm4XmiJjnur8nLFxyXG4gICAgICAnZGUnOiAnQm96amEtU8O8ZGZyb250JyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYW4gU291dGhlcm4gRnJvbnQnLFxyXG4gICAgICAnZnInOiAnRnJvbnQgc3VkIGRlIEJvemphJyxcclxuICAgICAgJ2phJzogJ+WNl+aWueODnOOCuuODpOaIpue3micsXHJcbiAgICAgICdrbyc6ICfrgqjrtoAg67O07KaI7JW8IOyghOyEoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTI3LFxyXG4gICAgJ29mZnNldFknOiAtNDI0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjQsXHJcbiAgfSxcclxuICA5MjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5YWJ5LmL5oiY5aOr5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0tyaWVnZXIgZGVzIExpY2h0cycsXHJcbiAgICAgICdlbic6ICdUaGUgU2VhdCBvZiBTYWNyaWZpY2UnLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZScsXHJcbiAgICAgICdqYSc6ICfjgqbjgqnjg7zjg6rjgqLjg7vjgqrjg5bjg7vjg6njgqTjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+W5u+iAgOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUcsO0bmUgZHUgU2FjcmlmaWNlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruZvsnZgg7KCE7IKsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjYsXHJcbiAgfSxcclxuICA5MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qKm57695a6d5q6/JyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJ1c3NlbGwgdm9uIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNoaWZ0aW5nIE91YmxpZXR0ZXMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBKYXJkaW4gc2VjcmV0IGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODs+elreauvycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEg7KCc7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aOe57+U5ZCn77yM5YmN5b6A57u05bCU5Yip54m577yBJyxcclxuICAgICAgJ2RlJzogJ0x1ZnRhbmdyaWZmIGF1ZiBXZXJseXQnLFxyXG4gICAgICAnZW4nOiAnU2xlZXAgTm93IGluIFNhcHBoaXJlJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsYSBtZXIgZGUgc2FwaGlyJyxcclxuICAgICAgJ2phJzogJ+mjm+OBue+8gSDjgqbjgqfjg6vjg6rjg4jjgbggJyxcclxuICAgICAgJ2tvJzogJ+uCoOyVhOudvCEg7Juw66as7Yq466W8IO2Wpe2VmOyXrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAxNSxcclxuICAgICdvZmZzZXRZJzogLTYxMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LiK56aP5Zyw5LqR5Yag576k5bKbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBFcnNjaGxpZcOfdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6h6ZuGIOODh+OCo+OCouODh+ODoOiruOWzticsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgOTMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gU2hpdmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFraCBBZmFoIEFtcGhpdGhlYXRyZSAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMXFwnQW1waGl0aMOpw6J0cmUgZFxcJ0FraCBBZmFoIChpcnLDqWVsKScsXHJcbiAgICAgICdqYSc6ICflubvjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ZmYIOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KSq6Imy55qE6K6w5b+GJyxcclxuICAgICAgJ2RlJzogJ1ZlcmJsYXNzdGUgRXJpbm5lcnVuZ2VuJyxcclxuICAgICAgJ2VuJzogJ0ZhZGVkIE1lbW9yaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvdXZlbmlyIHDDqXJpc3NhYmxlJyxcclxuICAgICAgJ2phJzogJ+iJsuOBguOBm+OBn+iomOaGticsXHJcbiAgICAgICdrbyc6ICfruZvrsJTrnpwg6riw7Ja1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNCxcclxuICB9LFxyXG4gIDkzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTmnK/lt6XmiL/njpvmiZjpm4Xlt6XkvZzlrqQnLFxyXG4gICAgICAnZGUnOiAnTWF0b3lhcyBBdGVsaWVyJyxcclxuICAgICAgJ2VuJzogJ01hdG95YVxcJ3MgUmVsaWN0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBdGVsaWVyIGFiYW5kb25uw6kgZGUgTWF0b3lhJyxcclxuICAgICAgJ2phJzogJ+mtlOihk+W3peaIvyDjg57jg4jjg7zjg6Tjga7jgqLjg4jjg6rjgqgnLFxyXG4gICAgICAna28nOiAn66eI7Yag7JW87J2YIOqzteuwqScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57u/5a6d55+z56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1NtYXJhZ2RzdHVybSAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2phJzogJ+OCqOODoeODqeODq+ODieOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteeLguaDs+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdDYXN0cnVtIE1hcmludW0gKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyXkOuplOuehOuTnCDsm6jtj7Ag7YyM6rS07J6R7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wls+eOi+WPpOauvycsXHJcbiAgICAgICdkZSc6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2VuJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnZnInOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6AnLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAtMzc4LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7blvI/lpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+OCsOODs+ODkuODq+ODieODu+ODh+OCo+ODq+ODvOODluODqeODoOmbtuW8jycsXHJcbiAgICAgICdrbyc6ICfqtbDtnpDrk5wg7IKs7JuQKOyYgeybhSknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HlubPljp/luJXmiIjlsJTotZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnRGllIEdvbGRlbmUgRWJlbmUgdm9uIFBhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2VuJzogJ1BhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBwcmFpcmllIGRlIFBhZ2x0aFxcJ2FuJyxcclxuICAgICAgJ2phJzogJ+m7hOmHkeW5s+WOnyDjg5Hjgqzjg6vjgrbjg7MnLFxyXG4gICAgICAna28nOiAn7YyM6riA64uoJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQxNSxcclxuICAgICdvZmZzZXRZJzogLTExMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya5a6Y5pa56ZSm5qCH6LWbJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogTWFuZGVydmlsbGUtVHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgT3BlbiBUb3VybmFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1RvdXJub2kgb2ZmaWNpZWwgZGUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqrjg5XjgqPjgrfjg6Pjg6vjg4jjg7zjg4rjg6Hjg7Pjg4gnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog6rO17IudIO2GoOuEiOuovO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrplKbmoIfotZvlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBQcml2YXR0dXJuaWVyJyxcclxuICAgICAgJ2VuJzogJ1RyaXBsZSBUcmlhZCBJbnZpdGF0aW9uYWwgUGFybG9yJyxcclxuICAgICAgJ2ZyJzogJ1NhbGxlIGRlIHRvdXJub2kgbGlicmUgZGUgVHJpcGxlIFRyaWFkZScsXHJcbiAgICAgICdqYSc6ICfjg4jjg6rjg5fjg6vjg4jjg6njgqTjgqLjg4nvvJrjgqvjgrnjgr/jg6Djg4jjg7zjg4rjg6Hjg7Pjg4jjg6vjg7zjg6AnLFxyXG4gICAgICAna28nOiAn7Yq466as7ZSMIO2KuOudvOydtOyWtOuTnDog7Lmc7ISgIO2GoOuEiOuovO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA4MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gVW1icmEnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogVW1icmEnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gTnXDqWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIExpdGFuZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogTGl0YW55JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIExpdGFuaWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMicsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEFuYW1vcnBob3NlJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEFuYW1vcnBob3NpcycsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlho3nlJ/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gRXdpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogRXRlcm5pdHknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gw4l0ZXJuaXTDqScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlho3nlJ/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNzEsXHJcbiAgICAnb2Zmc2V0WSc6IDIzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gVW1icmEgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogVW1icmEgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gTnXDqWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIExpdGFuZWkgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogTGl0YW55IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIExpdGFuaWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEFuYW1vcnBob3NlIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEFuYW1vcnBob3NpcyAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBBbmFtb3JwaG9zZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlho3nlJ/kuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFZlcmhlacOfdW5nIC0gRXdpZ2tlaXQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgUHJvbWlzZTogRXRlcm5pdHkgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gw4l0ZXJuaXTDqSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiA3NSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXmjZXojrfkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRpbGxhYyBkZXMgQ2lycnVzJyxcclxuICAgICAgJ2phJzogJ+ODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfri6TsnbTslYTrqqzrk5wg7Juo7Y+wIO2PrO2ajeyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mSu+efs+elnuWFteeLguaDs+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdEaWFtYW50YmxpdHogLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnVGhlIENsb3VkIERlY2sgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRpbGxhYyBkZXMgQ2lycnVzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OA44Kk44Ok44Km44Kn44Od44Oz5o2V542y5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDri6TsnbTslYTrqqzrk5wg7Juo7Y+wIO2PrO2ajeyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W8guW9oualvOmYgeS9kOeJueWhlCcsXHJcbiAgICAgICdkZSc6ICdEZXIgVHVybSB2b24gWm90JyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBab3QnLFxyXG4gICAgICAnZnInOiAnTGEgdG91ciBkZSBab3R0JyxcclxuICAgICAgJ2phJzogJ+eVsOW9oualvOmWoyDjgr7jg4Pjg4jjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTUwLFxyXG4gICAgJ29mZnNldFknOiAtNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5bm75ben5oiYJyxcclxuICAgICAgJ2RlJzogJ1RyYXVtcHLDvGZ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTGUgTm9tYnJpbCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgOTU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WogeWwlOW4g+WFsOW+t+aJrOW4hui1t+iIqicsXHJcbiAgICAgICdkZSc6ICdHdXRlIFdpbmRlIGbDvHIgVnlsYnJhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IFNoaXAgVnlsYnJhbmQnLFxyXG4gICAgICAnZnInOiAnVW4gbmF2aXJlIG5vbW3DqSBWeWxicmFuZCcsXHJcbiAgICAgICdqYSc6ICfjg5DjgqTjg6vjg5bjg6njg7Pjg4njga7oiLnlh7onLFxyXG4gICAgICAna28nOiAn67CU7J2867iM656c65OcIOy2nO2VrScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7kvZHlpbPnjosnLFxyXG4gICAgICAnZGUnOiAnSGluYWIgaW4gZGllIFJ1aW5lbicsXHJcbiAgICAgICdlbic6ICdGaXQgZm9yIGEgUXVlZW4nLFxyXG4gICAgICAnZnInOiAnUXVlIGxlcyBEaWV1eCBnYXJkZW50IGxhIFJlaW5lJyxcclxuICAgICAgJ2phJzogJ+OCtOODg+ODieODu+OCu+OCpOODluODu+OCtuODu+OCr+OCpOODvOODsycsXHJcbiAgICAgICdrbyc6ICfqsJMg7IS47J2067iMIOuNlCDtgLgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Njoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/t+a0pScsXHJcbiAgICAgICdkZSc6ICdMYWJ5cmludGhvcycsXHJcbiAgICAgICdlbic6ICdMYWJ5cmludGhvcycsXHJcbiAgICAgICdmcic6ICdMZSBMYWJ5cmludGhvcycsXHJcbiAgICAgICdqYSc6ICfjg6njg7TjgqPjg6rjg7Pjgr3jgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMxLFxyXG4gIH0sXHJcbiAgOTU3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo57u05aWI5bKbJyxcclxuICAgICAgJ2RlJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2ZyJzogJ1RoYXZuYWlyJyxcclxuICAgICAgJ2phJzogJ+OCteODmeODjeOCouWzticsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzIsXHJcbiAgfSxcclxuICA5NTg6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliqDpm7fpqawnLFxyXG4gICAgICAnZGUnOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2VuJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdmcic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnamEnOiAn44Ks44Os44Oe44Or44OJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMyxcclxuICB9LFxyXG4gIDk1OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WPueaBr+a1tycsXHJcbiAgICAgICdkZSc6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnZW4nOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2ZyJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdqYSc6ICflmIbjgY3jga7mtbcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM1LFxyXG4gIH0sXHJcbiAgOTYwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5aSW5aSp5Z6TJyxcclxuICAgICAgJ2RlJzogJ1VsdGltYSBUaHVsZScsXHJcbiAgICAgICdlbic6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZnInOiAnVWx0aW1hIFRodWzDqScsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vjg4bjgqPjg57jg7vjg4jjgqXjg7zjg6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM2LFxyXG4gIH0sXHJcbiAgOTYxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6E5bCU5bqH5pavJyxcclxuICAgICAgJ2RlJzogJ0VscGlzJyxcclxuICAgICAgJ2VuJzogJ0VscGlzJyxcclxuICAgICAgJ2ZyJzogJ0VscGlzJyxcclxuICAgICAgJ2phJzogJ+OCqOODq+ODlOOCuScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICA5NjI6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6fokKjpm7flroknLFxyXG4gICAgICAnZGUnOiAnQWx0LVNoYXJsYXlhbicsXHJcbiAgICAgICdlbic6ICdPbGQgU2hhcmxheWFuJyxcclxuICAgICAgJ2ZyJzogJ1ZpZWlsbGUgU2hhcmxheWFuJyxcclxuICAgICAgJ2phJzogJ+OCquODvOODq+ODieODu+OCt+ODo+ODvOODrOOCouODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzcsXHJcbiAgfSxcclxuICA5NjM6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nmnK3nvZUnLFxyXG4gICAgICAnZGUnOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnZW4nOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnZnInOiAnUmFkei1hdC1IYW4nLFxyXG4gICAgICAnamEnOiAn44Op44K244OP44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOCxcclxuICB9LFxyXG4gIDk2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIzmnJvkuYvngq7lj7DvvJrigJzloZTigJ0nLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0sIFBhcmFkaWdtZW5icmVjaGVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBhdCBQYXJhZGlnbVxcJ3MgQnJlYWNoJyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgbGEgQ29udGluZ2VuY2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44OO56Cy5Y+w77ya44CM5aGU44CNJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDtj6zrjIA6IFxcJ+2DkVxcJycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA4MDgsXHJcbiAgICAnb2Zmc2V0WSc6IC03NzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Njc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluJ3lm73mtbfkuIrln7rlnLDlubLoiLnlnZ4nLFxyXG4gICAgICAnZGUnOiAnVHJvY2tlbmRvY2sgdm9uIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdlbic6ICdDYXN0cnVtIE1hcmludW0gRHJ5ZG9ja3MnLFxyXG4gICAgICAnZnInOiAnQ2FsZSBzw6hjaGUgZGUgQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2phJzogJ+OCq+OCueODhuODg+ODq+ODoOODu+ODnuODquODjOODoOODu+ODieODqeOCpOODieODg+OCrycsXHJcbiAgICAgICdrbyc6ICfsubTsiqTtirjro7gg66eI66as64iUIOqxtOyEoOqxsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWvvOelnumXqOW3tOWIq+WhlCcsXHJcbiAgICAgICdkZSc6ICdEZXIgVHVybSB2b24gQmFiaWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRvd2VyIG9mIEJhYmlsJyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgQmFiaWwnLFxyXG4gICAgICAnamEnOiAn6a2U5bCO56We6ZaAIOODkOODluOCpOODq+OBruWhlCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNzAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgOTcwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acq+aXpeagkea1t+S4h+ebuOajruWbvScsXHJcbiAgICAgICdkZSc6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnZW4nOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2ZyJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvmqLnmtbcg44O044Kh44OK44K544OR44OG44KjJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI4MCxcclxuICAgICdvZmZzZXRZJzogOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQxLFxyXG4gIH0sXHJcbiAgOTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqee7tOS6muahkeW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gTGV2aWF0aGFuJyxcclxuICAgICAgJ2VuJzogJ1RoZSA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+IChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744Oq44O044Kh44Kk44Ki44K144Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDrpqzrsJTsnbTslrTshKAg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM4LFxyXG4gIH0sXHJcbiAgOTczOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acgOe7iOW5u+aDs+acq+S4lue7iOi/uScsXHJcbiAgICAgICdkZSc6ICdEYXMgU3Rlcm5lbmdyYWInLFxyXG4gICAgICAnZW4nOiAnVGhlIERlYWQgRW5kcycsXHJcbiAgICAgICdmcic6ICdMXFwnSXNzdWUgYXV4IEltcGFzc2VzJyxcclxuICAgICAgJ2phJzogJ+acgOe1guW5u+aDsyDjg6zjg6Djg4rjg7Pjg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTMxMCxcclxuICAgICdvZmZzZXRZJzogMTUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NCxcclxuICB9LFxyXG4gIDk3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliJvpgKDnjq/looPmnoHljJfpgKDnianpmaInLFxyXG4gICAgICAnZGUnOiAnS3Rpc2lzIEh5cGVyYm9yZWlhJyxcclxuICAgICAgJ2VuJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwZXJib3LDqWUnLFxyXG4gICAgICAnamEnOiAn5Ym16YCg55Kw5aKDIOODkuODpeODmuODq+ODnOODrOOCoumAoOeJqemZoicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MCxcclxuICAgICdvZmZzZXRZJzogLTE1MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omO5p2c6K+65bCU6auY5Y6fJyxcclxuICAgICAgJ2RlJzogJ1phZG5vci1Ib2NoZWJlbmUnLFxyXG4gICAgICAnZW4nOiAnWmFkbm9yJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRzIHBsYXRlYXV4IGRlIFphZG5vcicsXHJcbiAgICAgICdqYSc6ICfjgrbjg4jjgqXjg47jg6vpq5jljp8nLFxyXG4gICAgICAna28nOiAn7J6Q7Yq464W466W0IOqzoOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzAsXHJcbiAgfSxcclxuICA5NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5Zut6YO95biC56yR56yR6ZWHJyxcclxuICAgICAgJ2RlJzogJ1NtaWxldG9uJyxcclxuICAgICAgJ2VuJzogJ1NtaWxldG9uJyxcclxuICAgICAgJ2ZyJzogJ1Jpc2V0dGUtc3VyLWx1bmUnLFxyXG4gICAgICAnamEnOiAn5qW95ZyS6YO95biCIOOCueODnuOCpOODq+ODiOODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMjIsXHJcbiAgICAnb2Zmc2V0WSc6IC00MixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk3Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvmlpfoh7Ppu47mmI4nLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgaW0gTW9yZ2VuZ3JhdWVuJyxcclxuICAgICAgJ2VuJzogJ0RlYXRoIFVudG8gRGF3bicsXHJcbiAgICAgICdmcic6ICdBdWJlIG1ldXJ0cmnDqHJlJyxcclxuICAgICAgJ2phJzogJ+m7juaYjuOBruatu+mXmCcsXHJcbiAgICAgICdrbyc6ICfsl6zrqoXsnZgg7IKs7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNCxcclxuICB9LFxyXG4gIDk3ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfmt7Hlub3lr7vlm6DmmJ/mmbbplZwnLFxyXG4gICAgICAnZGUnOiAnRGFzIEFpdGlhc2tvcCcsXHJcbiAgICAgICdlbic6ICdUaGUgQWl0aWFzY29wZScsXHJcbiAgICAgICdmcic6ICdMZSBQcmlzbWUgZGUgbFxcJ0FpdGlhJyxcclxuICAgICAgJ2phJzogJ+aYn+a1t+a9nOiIqiDjgqLjgqTjg4bjgqPjgqrjg7PmmJ/mmbbpj6EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogOCxcclxuICAgICdvZmZzZXRZJzogLTUwMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk4Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnlLXohJHmoqblooPmlq/mj5DmoLznjpvlm5snLFxyXG4gICAgICAnZGUnOiAnU3RpZ21hLUhvbG9tZXRyaWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN0aWdtYSBEcmVhbXNjYXBlJyxcclxuICAgICAgJ2ZyJzogJ1LDqnZlIMOpbGVjdHJpcXVlIGRlIFN0aWdtYS00JyxcclxuICAgICAgJ2phJzogJ+mbu+iEs+WkouaDsyDjgrnjg4bjgqPjgrDjg57jg7vjg5Xjgqnjg7wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTQ0LFxyXG4gICAgJ29mZnNldFknOiAtMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MCxcclxuICB9LFxyXG4gIDk5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvZDov6rkuprlhYvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgRGFyayBJbnNpZGUnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIE1hcnR5cnMnLFxyXG4gICAgICAnamEnOiAn44K+44OH44Kj44Ki44O844Kv6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvZDov6rkuprlhYvmmp3mmpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnRXNjaGF0b3MgLSBab2RpYXJrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBab2RpYXJrXFwncyBGYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K+44OH44Kj44Ki44O844Kv6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ruR56i954G15q6/6Ze56ay855ub5a60JyxcclxuICAgICAgJ2RlJzogJ0x1c3RpZ2VzIEJhbmtldHQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBoYW50b21zXFwnIEZlYXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIGJhbnF1ZXQgY2F1Y2hlbWFyZGVzcXVlJyxcclxuICAgICAgJ2phJzogJ+mBk+WMlumll+WutCDjg5vjg7zjg7Pjg4bjg4Pjg4njg5XjgqPjg7zjgrnjg4gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjAsXHJcbiAgICAnb2Zmc2V0WSc6IDEwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdQcm9waGV0aWUgLSBIeWRhZWx5bicsXHJcbiAgICAgICdlbic6ICdUaGUgTW90aGVyY3J5c3RhbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODh+ODquODs+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rW35b635p6X5pmW5YWJ5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEh5ZGFlbHluXFwncyBDYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyaXN0YWwtbcOocmUgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7iOe7k+S5i+aImCcsXHJcbiAgICAgICdkZSc6ICdQcm9waGV0aWUgLSBFbmRzw6RuZ2VyaW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZpbmFsIERheScsXHJcbiAgICAgICdmcic6ICdMZSBSw6lwb25zIGZpbmFsJyxcclxuICAgICAgJ2phJzogJ+e1gueEieOBruaIpuOBhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTYsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsImltcG9ydCB7IFpvbmVJZFR5cGUgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBab25lSWQgZnJvbSAnLi96b25lX2lkJztcclxuXHJcbi8vIE9yZGVyZWQgYXMgcGVyIGR1dHkgZmluZGVyLiAgVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIG9yZGVyaW5nIGZvclxyXG4vLyBhbnkgdWkgdGhhdCBpcyBkZWFsaW5nIHdpdGggbXVsdGlwbGUgem9uZXMgLyB0cmlnZ2Vycy5cclxuLy9cclxuLy8gVGhlc2UgYXJlIG5vdCB0aGluZ3MgdGhhdCBjYWN0Ym90IG5lY2Vzc2FyaWx5IHN1cHBvcnRzLCBidXQgdGhpbmdzIHRoYXQgaXRcclxuLy8gdGhlb3JldGljYWxseSBjb3VsZCBiZSBzdXBwb3J0aW5nIGluIHRoZSBmdXR1cmUgd2l0aCByYWlkYm9zcyBhbmQgb29wc3kuXHJcblxyXG5jb25zdCBjb250ZW50TGlzdDogKFpvbmVJZFR5cGUpW10gPSBbXHJcbiAgLy8gR2VuZXJhbCAoY2FjdGJvdCBjdXN0b20gem9uZSBpZClcclxuICBab25lSWQuTWF0Y2hBbGwsXHJcblxyXG4gIC8vIER1bmdlb25zIChBIFJlYWxtIFJlYm9ybilcclxuICBab25lSWQuU2FzdGFzaGEsXHJcbiAgWm9uZUlkLlRoZVRhbVRhcmFEZWVwY3JvZnQsXHJcbiAgWm9uZUlkLkNvcHBlcmJlbGxNaW5lcyxcclxuICBab25lSWQuSGFsYXRhbGksXHJcbiAgWm9uZUlkLlRoZVRob3VzYW5kTWF3c09mVG90b1JhayxcclxuICBab25lSWQuSGF1a2tlTWFub3IsXHJcbiAgWm9uZUlkLkJyYXlmbG94c0xvbmdzdG9wLFxyXG4gIFpvbmVJZC5UaGVTdW5rZW5UZW1wbGVPZlFhcm4sXHJcbiAgWm9uZUlkLkN1dHRlcnNDcnksXHJcbiAgWm9uZUlkLlRoZVN0b25lVmlnaWwsXHJcbiAgWm9uZUlkLkR6ZW1hZWxEYXJraG9sZCxcclxuICBab25lSWQuVGhlQXVydW1WYWxlLFxyXG4gIFpvbmVJZC5UaGVXYW5kZXJlcnNQYWxhY2UsXHJcbiAgWm9uZUlkLkNhc3RydW1NZXJpZGlhbnVtLFxyXG4gIFpvbmVJZC5UaGVQcmFldG9yaXVtLFxyXG4gIFpvbmVJZC5BbWRhcG9yS2VlcCxcclxuICBab25lSWQuUGhhcm9zU2lyaXVzLFxyXG4gIFpvbmVJZC5Db3BwZXJiZWxsTWluZXNIYXJkLFxyXG4gIFpvbmVJZC5IYXVra2VNYW5vckhhcmQsXHJcbiAgWm9uZUlkLlRoZUxvc3RDaXR5T2ZBbWRhcG9yLFxyXG4gIFpvbmVJZC5IYWxhdGFsaUhhcmQsXHJcbiAgWm9uZUlkLkJyYXlmbG94c0xvbmdzdG9wSGFyZCxcclxuICBab25lSWQuSHVsbGJyZWFrZXJJc2xlLFxyXG4gIFpvbmVJZC5UaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCxcclxuICBab25lSWQuVGhlU3RvbmVWaWdpbEhhcmQsXHJcbiAgWm9uZUlkLlNub3djbG9hayxcclxuICBab25lSWQuU2FzdGFzaGFIYXJkLFxyXG4gIFpvbmVJZC5UaGVTdW5rZW5UZW1wbGVPZlFhcm5IYXJkLFxyXG4gIFpvbmVJZC5UaGVLZWVwZXJPZlRoZUxha2UsXHJcbiAgWm9uZUlkLlRoZVdhbmRlcmVyc1BhbGFjZUhhcmQsXHJcbiAgWm9uZUlkLkFtZGFwb3JLZWVwSGFyZCxcclxuXHJcbiAgLy8gRHVuZ2VvbnMgKEhlYXZlbnN3YXJkKVxyXG4gIFpvbmVJZC5UaGVEdXNrVmlnaWwsXHJcbiAgWm9uZUlkLlNvaG1BbCxcclxuICBab25lSWQuVGhlQWVyeSxcclxuICBab25lSWQuVGhlVmF1bHQsXHJcbiAgWm9uZUlkLlRoZUdyZWF0R3ViYWxMaWJyYXJ5LFxyXG4gIFpvbmVJZC5UaGVBZXRoZXJvY2hlbWljYWxSZXNlYXJjaEZhY2lsaXR5LFxyXG4gIFpvbmVJZC5OZXZlcnJlYXAsXHJcbiAgWm9uZUlkLlRoZUZyYWN0YWxDb250aW51dW0sXHJcbiAgWm9uZUlkLlNhaW50TW9jaWFubmVzQXJib3JldHVtLFxyXG4gIFpvbmVJZC5QaGFyb3NTaXJpdXNIYXJkLFxyXG4gIFpvbmVJZC5UaGVBbnRpdG93ZXIsXHJcbiAgWm9uZUlkLlRoZUxvc3RDaXR5T2ZBbWRhcG9ySGFyZCxcclxuICBab25lSWQuU29ocktoYWksXHJcbiAgWm9uZUlkLkh1bGxicmVha2VySXNsZUhhcmQsXHJcbiAgWm9uZUlkLlhlbHBoYXRvbCxcclxuICBab25lSWQuVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkLFxyXG4gIFpvbmVJZC5CYWVsc2Fyc1dhbGwsXHJcbiAgWm9uZUlkLlNvaG1BbEhhcmQsXHJcblxyXG4gIC8vIER1bmdlb25zIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVTaXJlbnNvbmdTZWEsXHJcbiAgWm9uZUlkLlNoaXN1aU9mVGhlVmlvbGV0VGlkZXMsXHJcbiAgWm9uZUlkLkJhcmRhbXNNZXR0bGUsXHJcbiAgWm9uZUlkLkRvbWFDYXN0bGUsXHJcbiAgWm9uZUlkLkNhc3RydW1BYmFuaWEsXHJcbiAgWm9uZUlkLkFsYU1oaWdvLFxyXG4gIFpvbmVJZC5LdWdhbmVDYXN0bGUsXHJcbiAgWm9uZUlkLlRoZVRlbXBsZU9mVGhlRmlzdCxcclxuICBab25lSWQuVGhlRHJvd25lZENpdHlPZlNrYWxsYSxcclxuICBab25lSWQuSGVsbHNMaWQsXHJcbiAgWm9uZUlkLlRoZUZyYWN0YWxDb250aW51dW1IYXJkLFxyXG4gIFpvbmVJZC5UaGVTd2FsbG93c0NvbXBhc3MsXHJcbiAgWm9uZUlkLlRoZUJ1cm4sXHJcbiAgWm9uZUlkLlNhaW50TW9jaWFubmVzQXJib3JldHVtSGFyZCxcclxuICBab25lSWQuVGhlR2hpbWx5dERhcmssXHJcblxyXG4gIC8vIER1bmdlb25zIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuSG9sbWluc3RlclN3aXRjaCxcclxuICBab25lSWQuRG9obk1oZWcsXHJcbiAgWm9uZUlkLlRoZVFpdGFuYVJhdmVsLFxyXG4gIFpvbmVJZC5NYWxpa2Foc1dlbGwsXHJcbiAgWm9uZUlkLk10R3VsZyxcclxuICBab25lSWQuQW1hdXJvdCxcclxuICBab25lSWQuVGhlVHdpbm5pbmcsXHJcbiAgWm9uZUlkLkFrYWRhZW1pYUFueWRlcixcclxuICBab25lSWQuVGhlR3JhbmRDb3Ntb3MsXHJcbiAgWm9uZUlkLkFuYW1uZXNpc0FueWRlcixcclxuICBab25lSWQuVGhlSGVyb2VzR2F1bnRsZXQsXHJcbiAgWm9uZUlkLk1hdG95YXNSZWxpY3QsXHJcbiAgWm9uZUlkLlBhZ2x0aGFuLFxyXG5cclxuICAvLyBEdW5nZW9ucyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5UaGVUb3dlck9mWm90LFxyXG4gIFpvbmVJZC5UaGVUb3dlck9mQmFiaWwsXHJcbiAgWm9uZUlkLlZhbmFzcGF0aSxcclxuICBab25lSWQuS3Rpc2lzSHlwZXJib3JlaWEsXHJcbiAgWm9uZUlkLlRoZUFpdGlhc2NvcGUsXHJcbiAgWm9uZUlkLlRoZURlYWRFbmRzLFxyXG4gIFpvbmVJZC5TbWlsZXRvbixcclxuICBab25lSWQuVGhlU3RpZ21hRHJlYW1zY2FwZSxcclxuXHJcbiAgLy8gR3VpbGRoZXN0c1xyXG4gIFpvbmVJZC5CYXNpY1RyYWluaW5nRW5lbXlQYXJ0aWVzLFxyXG4gIFpvbmVJZC5VbmRlclRoZUFybW9yLFxyXG4gIFpvbmVJZC5CYXNpY1RyYWluaW5nRW5lbXlTdHJvbmdob2xkcyxcclxuICBab25lSWQuSGVyb09uVGhlSGFsZlNoZWxsLFxyXG4gIFpvbmVJZC5QdWxsaW5nUG9pc29uUG9zaWVzLFxyXG4gIFpvbmVJZC5TdGluZ2luZ0JhY2ssXHJcbiAgWm9uZUlkLkFsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwsXHJcbiAgWm9uZUlkLkZsaWNraW5nU3RpY2tzQW5kVGFraW5nTmFtZXMsXHJcbiAgWm9uZUlkLk1vcmVUaGFuQUZlZWxlcixcclxuICBab25lSWQuQW5ub3lUaGVWb2lkLFxyXG4gIFpvbmVJZC5TaGFkb3dBbmRDbGF3LFxyXG4gIFpvbmVJZC5Mb25nTGl2ZVRoZVF1ZWVuLFxyXG4gIFpvbmVJZC5XYXJkVXAsXHJcbiAgWm9uZUlkLlNvbGVtblRyaW5pdHksXHJcblxyXG4gIC8vIFRyaWFscyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZUJvd2xPZkVtYmVycyxcclxuICBab25lSWQuVGhlTmF2ZWwsXHJcbiAgWm9uZUlkLlRoZUhvd2xpbmdFeWUsXHJcbiAgWm9uZUlkLkNhcGVXZXN0d2luZCxcclxuICBab25lSWQuVGhlQ2hyeXNhbGlzLFxyXG4gIFpvbmVJZC5UaGVTdGVwc09mRmFpdGgsXHJcbiAgWm9uZUlkLkFSZWxpY1JlYm9yblRoZUNoaW1lcmEsXHJcbiAgWm9uZUlkLkFSZWxpY1JlYm9yblRoZUh5ZHJhLFxyXG4gIFpvbmVJZC5CYXR0bGVPblRoZUJpZ0JyaWRnZSxcclxuICBab25lSWQuVGhlRHJhZ29uc05lY2ssXHJcbiAgWm9uZUlkLkJhdHRsZUluVGhlQmlnS2VlcCxcclxuICBab25lSWQuVGhlQm93bE9mRW1iZXJzSGFyZCxcclxuICBab25lSWQuVGhlSG93bGluZ0V5ZUhhcmQsXHJcbiAgWm9uZUlkLlRoZU5hdmVsSGFyZCxcclxuICBab25lSWQuVGhvcm5tYXJjaEhhcmQsXHJcbiAgWm9uZUlkLlRoZVdob3JsZWF0ZXJIYXJkLFxyXG4gIFpvbmVJZC5UaGVTdHJpa2luZ1RyZWVIYXJkLFxyXG4gIFpvbmVJZC5UaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCxcclxuICBab25lSWQuVXJ0aHNGb3VudCxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChBIFJlYWxtIFJlYm9ybilcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkVWx0aW1hc0JhbmUsXHJcbiAgWm9uZUlkLlRoZUhvd2xpbmdFeWVFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVOYXZlbEV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZUJvd2xPZkVtYmVyc0V4dHJlbWUsXHJcbiAgWm9uZUlkLlRob3JubWFyY2hFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVXaG9ybGVhdGVyRXh0cmVtZSxcclxuICBab25lSWQuVGhlU3RyaWtpbmdUcmVlRXh0cmVtZSxcclxuICBab25lSWQuVGhlQWtoQWZhaEFtcGhpdGhlYXRyZUV4dHJlbWUsXHJcblxyXG4gIC8vIFRyaWFscyAoSGVhdmVuc3dhcmQpXHJcbiAgWm9uZUlkLlRob2tBc3RUaG9rSGFyZCxcclxuICBab25lSWQuVGhlTGltaXRsZXNzQmx1ZUhhcmQsXHJcbiAgWm9uZUlkLlRoZVNpbmd1bGFyaXR5UmVhY3RvcixcclxuICBab25lSWQuVGhlRmluYWxTdGVwc09mRmFpdGgsXHJcbiAgWm9uZUlkLkNvbnRhaW5tZW50QmF5UzFUNyxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlQMVQ2LFxyXG4gIFpvbmVJZC5Db250YWlubWVudEJheVoxVDksXHJcblxyXG4gIC8vIEhpZ2gtZW5kIFRyaWFscyAoSGVhdmVuc3dhcmQpXHJcbiAgWm9uZUlkLlRoZUxpbWl0bGVzc0JsdWVFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaG9rQXN0VGhva0V4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFRob3JkYW5zUmVpZ24sXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZE5pZGhvZ2dzUmFnZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlQMVQ2RXh0cmVtZSxcclxuICBab25lSWQuQ29udGFpbm1lbnRCYXlaMVQ5RXh0cmVtZSxcclxuXHJcbiAgLy8gVHJpYWxzIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVQb29sT2ZUcmlidXRlLFxyXG4gIFpvbmVJZC5FbWFuYXRpb24sXHJcbiAgWm9uZUlkLlRoZVJveWFsTWVuYWdlcmllLFxyXG4gIFpvbmVJZC5DYXN0cnVtRmx1bWluaXMsXHJcbiAgWm9uZUlkLkt1Z2FuZU9oYXNoaSxcclxuICBab25lSWQuVGhlR3JlYXRIdW50LFxyXG4gIFpvbmVJZC5UaGVKYWRlU3RvYSxcclxuICBab25lSWQuSGVsbHNLaWVyLFxyXG4gIFpvbmVJZC5UaGVXcmVhdGhPZlNuYWtlcyxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChTdG9ybWJsb29kKVxyXG4gIFpvbmVJZC5UaGVQb29sT2ZUcmlidXRlRXh0cmVtZSxcclxuICBab25lSWQuRW1hbmF0aW9uRXh0cmVtZSxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkU2hpbnJ5dXNEb21haW4sXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFRzdWt1eW9taXNQYWluLFxyXG4gIFpvbmVJZC5UaGVHcmVhdEh1bnRFeHRyZW1lLFxyXG4gIFpvbmVJZC5UaGVKYWRlU3RvYUV4dHJlbWUsXHJcbiAgWm9uZUlkLkhlbGxzS2llckV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZVdyZWF0aE9mU25ha2VzRXh0cmVtZSxcclxuXHJcbiAgLy8gVHJpYWxzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuVGhlRGFuY2luZ1BsYWd1ZSxcclxuICBab25lSWQuVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGUsXHJcbiAgWm9uZUlkLlRoZUR5aW5nR2FzcCxcclxuICBab25lSWQuQ2luZGVyRHJpZnQsXHJcbiAgWm9uZUlkLlRoZVNlYXRPZlNhY3JpZmljZSxcclxuICBab25lSWQuQ2FzdHJ1bU1hcmludW0sXHJcbiAgWm9uZUlkLlRoZUNsb3VkRGVjayxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuVGhlRGFuY2luZ1BsYWd1ZUV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZUNyb3duT2ZUaGVJbW1hY3VsYXRlRXh0cmVtZSxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkSGFkZXNzRWxlZ3ksXHJcbiAgWm9uZUlkLkNpbmRlckRyaWZ0RXh0cmVtZSxcclxuICBab25lSWQuTWVtb3JpYU1pc2VyYUV4dHJlbWUsXHJcbiAgWm9uZUlkLlRoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUsXHJcbiAgWm9uZUlkLkNhc3RydW1NYXJpbnVtRXh0cmVtZSxcclxuICBab25lSWQuVGhlQ2xvdWREZWNrRXh0cmVtZSxcclxuICBab25lSWQuVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCxcclxuICBab25lSWQuVGhlTmF2ZWxVbnJlYWwsXHJcbiAgWm9uZUlkLlRoZVdob3JsZWF0ZXJVbnJlYWwsXHJcblxyXG4gIC8vIFRyaWFscyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5UaGVEYXJrSW5zaWRlLFxyXG4gIFpvbmVJZC5UaGVNb3RoZXJjcnlzdGFsLFxyXG4gIFpvbmVJZC5UaGVGaW5hbERheSxcclxuXHJcbiAgLy8gSGlnaC1lbmQgVHJpYWxzIChFbmR3YWxrZXIpXHJcbiAgWm9uZUlkLlRoZU1pbnN0cmVsc0JhbGxhZFpvZGlhcmtzRmFsbCxcclxuICBab25lSWQuVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKEEgUmVhbG0gUmVib3JuKVxyXG4gIFpvbmVJZC5UaGVMYWJ5cmludGhPZlRoZUFuY2llbnRzLFxyXG4gIFpvbmVJZC5TeXJjdXNUb3dlcixcclxuICBab25lSWQuVGhlV29ybGRPZkRhcmtuZXNzLFxyXG5cclxuICAvLyBSYWlkcyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjEsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjIsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjMsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjQsXHJcbiAgWm9uZUlkLlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjUsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMSxcclxuICBab25lSWQuVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4yLFxyXG4gIFpvbmVJZC5UaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjMsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuNCxcclxuICBab25lSWQuVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjEsXHJcbiAgWm9uZUlkLlRoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4yLFxyXG4gIFpvbmVJZC5UaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMyxcclxuICBab25lSWQuVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjQsXHJcblxyXG4gIC8vIFNhdmFnZSBSYWlkcyAoQSBSZWFsbSBSZWJvcm4pXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSxcclxuICBab25lSWQuVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yLFxyXG4gIFpvbmVJZC5UaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMsXHJcbiAgWm9uZUlkLlRoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKEhlYXZlbnN3YXJkKVxyXG4gIFpvbmVJZC5UaGVWb2lkQXJrLFxyXG4gIFpvbmVJZC5UaGVXZWVwaW5nQ2l0eU9mTWhhY2gsXHJcbiAgWm9uZUlkLkR1blNjYWl0aCxcclxuXHJcbiAgLy8gTm9ybWFsIFJhaWRzIChIZWF2ZW5zd2FyZClcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXIsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24sXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlU29uLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbixcclxuICBab25lSWQuQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcixcclxuICBab25lSWQuQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvcixcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChIZWF2ZW5zd2FyZClcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVGYXRoZXJTYXZhZ2UsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb25TYXZhZ2UsXHJcbiAgWm9uZUlkLkFsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvblNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yU2F2YWdlLFxyXG4gIFpvbmVJZC5BbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvclNhdmFnZSxcclxuICBab25lSWQuQWxleGFuZGVyVGhlU291bE9mVGhlQ3JlYXRvclNhdmFnZSxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKFN0b3JtYmxvb2QpXHJcbiAgWm9uZUlkLlRoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSxcclxuICBab25lSWQuVGhlUmlkb3JhbmFMaWdodGhvdXNlLFxyXG4gIFpvbmVJZC5UaGVPcmJvbm5lTW9uYXN0ZXJ5LFxyXG5cclxuICAvLyBOb3JtYWwgUmFpZHMgKFN0b3JtYmxvb2QpXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMTAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMjAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWMzAsXHJcbiAgWm9uZUlkLkRlbHRhc2NhcGVWNDAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMTAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMjAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWMzAsXHJcbiAgWm9uZUlkLlNpZ21hc2NhcGVWNDAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMTAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMjAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWMzAsXHJcbiAgWm9uZUlkLkFscGhhc2NhcGVWNDAsXHJcblxyXG4gIC8vIFNhdmFnZSBSYWlkcyAoU3Rvcm1ibG9vZClcclxuICBab25lSWQuRGVsdGFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuRGVsdGFzY2FwZVY0MFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuU2lnbWFzY2FwZVY0MFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYxMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYyMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVYzMFNhdmFnZSxcclxuICBab25lSWQuQWxwaGFzY2FwZVY0MFNhdmFnZSxcclxuXHJcbiAgLy8gQWxsaWFuY2UgUmFpZHMgKFNoYWRvd2JyaW5nZXJzKVxyXG4gIFpvbmVJZC5UaGVDb3BpZWRGYWN0b3J5LFxyXG4gIFpvbmVJZC5UaGVQdXBwZXRzQnVua2VyLFxyXG4gIFpvbmVJZC5UaGVUb3dlckF0UGFyYWRpZ21zQnJlYWNoLFxyXG5cclxuICAvLyBOb3JtYWwgUmFpZHMgKFNoYWRvd2JyaW5nZXJzKVxyXG4gIFpvbmVJZC5FZGVuc0dhdGVSZXN1cnJlY3Rpb24sXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZURlc2NlbnQsXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZUludW5kYXRpb24sXHJcbiAgWm9uZUlkLkVkZW5zR2F0ZVNlcHVsdHVyZSxcclxuICBab25lSWQuRWRlbnNWZXJzZUZ1bG1pbmF0aW9uLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlRnVyb3IsXHJcbiAgWm9uZUlkLkVkZW5zVmVyc2VJY29ub2NsYXNtLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlUmVmdWxnZW5jZSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlVW1icmEsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZUxpdGFueSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzLFxyXG4gIFpvbmVJZC5FZGVuc1Byb21pc2VFdGVybml0eSxcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChTaGFkb3dicmluZ2VycylcclxuICBab25lSWQuRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVEZXNjZW50U2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVJbnVuZGF0aW9uU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc0dhdGVTZXB1bHR1cmVTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zVmVyc2VGdWxtaW5hdGlvblNhdmFnZSxcclxuICBab25lSWQuRWRlbnNWZXJzZUZ1cm9yU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc1ZlcnNlSWNvbm9jbGFzbVNhdmFnZSxcclxuICBab25lSWQuRWRlbnNWZXJzZVJlZnVsZ2VuY2VTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZVVtYnJhU2F2YWdlLFxyXG4gIFpvbmVJZC5FZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UsXHJcbiAgWm9uZUlkLkVkZW5zUHJvbWlzZUFuYW1vcnBob3Npc1NhdmFnZSxcclxuICBab25lSWQuRWRlbnNQcm9taXNlRXRlcm5pdHlTYXZhZ2UsXHJcblxyXG4gIC8vIE5vcm1hbCBSYWlkcyAoRW5kd2Fsa2VyKVxyXG4gIFpvbmVJZC5Bc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGUsXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVTZWNvbmRDaXJjbGUsXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSxcclxuXHJcbiAgLy8gU2F2YWdlIFJhaWRzIChFbmR3YWxrZXIpXHJcbiAgWm9uZUlkLkFzcGhvZGVsb3NUaGVGaXJzdENpcmNsZVNhdmFnZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSxcclxuICBab25lSWQuQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlU2F2YWdlLFxyXG4gIFpvbmVJZC5Bc3Bob2RlbG9zVGhlRm91cnRoQ2lyY2xlU2F2YWdlLFxyXG5cclxuICAvLyBVbHRpbWF0ZSBSYWlkc1xyXG4gIFpvbmVJZC5UaGVVbmVuZGluZ0NvaWxPZkJhaGFtdXRVbHRpbWF0ZSxcclxuICBab25lSWQuVGhlV2VhcG9uc1JlZnJhaW5VbHRpbWF0ZSxcclxuICBab25lSWQuVGhlRXBpY09mQWxleGFuZGVyVWx0aW1hdGUsXHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb250ZW50TGlzdDtcclxuIiwiaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuXHJcbmNvbnN0IGRlZmF1bHRDb25maWdDb25maWdPcHRpb25zID0ge1xyXG4gIENhY3Rib3RVc2VyRGlyZWN0b3J5OiAnJyxcclxuICBTaG93RGV2ZWxvcGVyT3B0aW9uczogZmFsc2UsXHJcbn07XHJcbnR5cGUgQ29uZmlnQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0Q29uZmlnQ29uZmlnT3B0aW9ucztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyBleHRlbmRzIEJhc2VPcHRpb25zLCBDb25maWdDb25maWdPcHRpb25zIHt9XHJcblxyXG5jb25zdCBPcHRpb25zOiBDb25maWdPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdENvbmZpZ0NvbmZpZ09wdGlvbnMsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBPcHRpb25zO1xyXG4iLCJpbXBvcnQgeyBpc0xhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuXHJcblVzZXJDb25maWcucmVnaXN0ZXJPcHRpb25zKCdnZW5lcmFsJywge1xyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdDYWN0Ym90VXNlckRpcmVjdG9yeScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0NhY3Rib3QgdXNlciBkaXJlY3RvcnknLFxyXG4gICAgICAgIGRlOiAnQ2FjdGJvdCBCZW51dHplcnZlcnplaWNobmlzJyxcclxuICAgICAgICBmcjogJ1LDqXBlcnRvaXJlIHV0aWxpc2F0ZXVyIGRlIENhY3Rib3QnLFxyXG4gICAgICAgIGphOiAnQ2FjdGJvdCDjg6bjg7zjgrbjg7zjg4fjgqPjg6zjgq/jg4jjg6onLFxyXG4gICAgICAgIGNuOiAnQ2FjdGJvdCB1c2Vy55uu5b2VJyxcclxuICAgICAgICBrbzogJ0NhY3Rib3Qg7IKs7Jqp7J6QIOuUlOugie2GoOumrCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdkaXJlY3RvcnknLFxyXG4gICAgICBkZWZhdWx0OiAnJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd0RldmVsb3Blck9wdGlvbnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IGRldmVsb3BlciBvcHRpb25zJyxcclxuICAgICAgICBkZTogJ1plaWdlIEVudHdpY2tsZXJvcHRpb25lbicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZXMgb3B0aW9ucyBkw6l2ZWxvcHBldXInLFxyXG4gICAgICAgIGphOiAn6ZaL55m66ICF5ZCR44GR44Kq44OX44K344On44OzJyxcclxuICAgICAgICBjbjogJ+aYvuekuuW8gOWPkeiAhemAiemhuScsXHJcbiAgICAgICAga286ICfqsJzrsJzsnpAg7Ji17IWYIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5TGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEaXNwbGF5IGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0Rpc3BsYXlzcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkXFwnYWZmaWNoYWdlJyxcclxuICAgICAgICBqYTogJ+ihqOekuuiogOiqnicsXHJcbiAgICAgICAgY246ICfmmL7npLror63oqIAnLFxyXG4gICAgICAgIGtvOiAn7KO8IOyCrOyaqSDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3mlocgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAoaXNMYW5nKHZhbHVlKSlcclxuICAgICAgICAgIG9wdGlvbnNbJ0Rpc3BsYXlMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG4iLCJpbXBvcnQgVXNlckNvbmZpZyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdXNlcl9jb25maWcnO1xyXG5cclxuVXNlckNvbmZpZy5yZWdpc3Rlck9wdGlvbnMoJ2V1cmVrYScsIHtcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVidWcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZGVidWcgbW9kZScsXHJcbiAgICAgICAgZGU6ICdBa3RpdmllcmUgRGVidWdtb2R1cycsXHJcbiAgICAgICAgZnI6ICdBY3RpdmVyIGxlIG1vZGUgZGVidWcnLFxyXG4gICAgICAgIGphOiAn44OH44OQ44OD44Kw44Oi44O844OJ44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOiwg+ivleaooeW8jycsXHJcbiAgICAgICAga286ICfrlJTrsoTqt7gg66qo65OcIO2ZnOyEse2ZlCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0ZsYWdUaW1lb3V0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIG9mIGZsYWdzIG9uIHRoZSBtYXAgKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgZGVyIEZsYWdnZW4gYXVmIGRlciBLYXJ0ZSAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkZXMgZHJhcGVhdXggc3VyIGxhIGNhcnRlIGVuIChzKScsXHJcbiAgICAgICAgamE6ICfjg57jg4Pjg5fjgavjg57jg7zjgqvjg7zjga7ooajnpLrmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5Zyw5Zu+5qCH5b+X5pi+56S65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yngOuPhOyXkCDquYPrsJzsnbQg7ZGc7Iuc65CgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDkwLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBsZXQgc2Vjb25kczogbnVtYmVyO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBzZWNvbmRzID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ0ZsYWdUaW1lb3V0TXMnXSA9IHNlY29uZHMgKiAxMDAwO1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdDb21wbGV0ZU5hbWVzU1RRJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHJlZmVyIGNvbXBsZXRlIG5hbWVzIGZvciBTa2lybWlzaGVzL0NyaXRpY2FsIEVuZ2FnZW1lbnRzJyxcclxuICAgICAgICBkZTogJ0Jldm9yenVnZSBrb21wbGV0dGUgTmFtZW4gZsO8ciBTY2hhcm3DvHR6ZWwvS3JpdGlzY2hlIEdlZmVjaHRlJyxcclxuICAgICAgICBmcjogJ1Byw6lmw6lyZXIgbGVzIG5vbXMgY29tcGxldCBwb3VyIGxlcyBFc2Nhcm1vdWNoZXMvQWZmcm9udGVtZW50cyBDcnVjaWF1eCcsXHJcbiAgICAgICAgamE6ICfjgrnjgqvjg7zjg5/jg4Pjgrfjg6UvQ0Xjgavjg5Xjg7zjg6vjg43jg7zjg6DjgpLooajnpLrjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5pi+56S65Yay56qB5oiYL+e0p+aApemBremBh+aImOWFqOWQjScsXHJcbiAgICAgICAga286ICfrj4zrsJwg6rWQ7KCEL+u5hOyDgSDqtZDsoIQg7KSE7J6E66eQIOyTsOyngCDslYrquLAnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRW5yaWNoZWRTVFEnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBZGQgaW5mb3JtYXRpb24gYWJvdXQgRmllbGQgTm90ZXMnLFxyXG4gICAgICAgIGRlOiAnRsO8Z2UgSW5mb3JtYXRpb25lbiDDvGJlciBGcm9udGJlcmljaHRlIGhpbnp1JyxcclxuICAgICAgICBmcjogJ0Fqb3V0ZXIgbGVzIGluZm9ybWF0aW9ucyByZWxhdGl2ZXMgYXV4IFJhcHBvcnRzIGR1IEZyb250IEJvemppZW4nLFxyXG4gICAgICAgIGphOiAn44OV44Kj44O844Or44OJ44OO44O844OI44Gr5oim5p6c6KiY6Yyy5oOF5aCx44KS6L+95Yqg44GZ44KLJyxcclxuICAgICAgICBjbjogJ+aYvuekuuWPr+iDveaOieiQveeahOaImOaenOiusOW9lScsXHJcbiAgICAgICAga286ICfsoITqs7zquLDroZ0g7KCV67O0IOuztOyXrOyjvOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQb3BOb2lzZUZvck5NJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUGxheSBwb3Agc291bmQgZm9yIE5NcycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgTk1zJyxcclxuICAgICAgICBmcjogJ0pvdWVyIHVuIHNvbiBwb3VyIGxcXCdhcHBhcml0aW9uIGRlcyBOTXMnLFxyXG4gICAgICAgIGphOiAnTk3pgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAnTk3lh7rnjrDml7bmkq3mlL7mj5DnpLrpn7MnLFxyXG4gICAgICAgIGtvOiAn64+M67Cc7J6E66y0IOyVjOumvCDshozrpqwg7Lyc6riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JCdW5ueScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBidW5ueSBmYXRlcycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgQnVubnktRmF0ZXMnLFxyXG4gICAgICAgIGZyOiAnSm91ZXIgdW4gc29uIHBvdXIgbFxcJ2FwcGFyaXRpb24gZGUgbFxcJ2Fsw6lhIGRlcyBsYXBpbnMnLFxyXG4gICAgICAgIGphOiAn44GX44GC44KP44Gb44GG44GV44GO6YCa55+l5qmf6IO944KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+W5uOemj+WFlOWHuueOsOaXtuaSreaUvuaPkOekuumfsycsXHJcbiAgICAgICAga286ICfthqDrgbwg64+M67CcIOyVjOumvCDshozrpqwg7Lyc6riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JTa2lybWlzaCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBza2lybWlzaGVzJyxcclxuICAgICAgICBkZTogJ1NwaWVsZSBQb3AtU291bmQgYWIgZsO8ciBTY2hhcm3DvHR6ZWwnLFxyXG4gICAgICAgIGZyOiAnSm91ZXIgdW4gc29uIHBvdXIgbFxcJ2FwcGFyaXRpb24gZGVzIGVzY2FybW91Y2hlcycsXHJcbiAgICAgICAgamE6ICfjgrnjgqvjg7zjg5/jg4Pjgrfjg6XpgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5Yay56qB5oiY5Ye6546w5pe25pKt5pS+5o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+uPjOuwnCDqtZDsoIQg7JWM66a8IOyGjOumrCDsvJzquLAnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wTm9pc2VGb3JDcml0aWNhbEVuZ2FnZW1lbnQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQbGF5IHBvcCBzb3VuZCBmb3IgY3JpdGljYWwgZW5nYWdlbWVudHMnLFxyXG4gICAgICAgIGRlOiAnU3BpZWxlIFBvcC1Tb3VuZCBhYiBmw7xyIEtyaXRpc2NoZSBHZWZlY2h0ZScsXHJcbiAgICAgICAgZnI6ICdKb3VlciB1biBzb24gcG91ciBsXFwnYXBwYXJpdGlvbiBkZXMgYWZmcm9udGVtZW50IGNydWNpYXV4JyxcclxuICAgICAgICBqYTogJ0NF6YCa55+l5qmf6IO944KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+e0p+aApemBremBh+aImChDRSnlh7rnjrDml7bmkq3mlL7mj5DnpLrpn7MnLFxyXG4gICAgICAgIGtvOiAn67mE7IOBIOq1kOyghCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1BvcE5vaXNlRm9yRHVlbCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1BsYXkgcG9wIHNvdW5kIGZvciBkdWVscycsXHJcbiAgICAgICAgZGU6ICdTcGllbGUgUG9wLVNvdW5kIGFiIGbDvHIgRHVlbGxlJyxcclxuICAgICAgICBmcjogJ0pvdWVyIHVuIHNvbiBwb3VyIGxcXCdhcHBhcml0aW9uIGRlcyBkdWVscycsXHJcbiAgICAgICAgamE6ICfkuIDpqI7miZPjgaHpgJrnn6XmqZ/og73jgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5LiA5a+55LiA5Yaz5paX5Ye6546w5pe25pKt5pS+5o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+qysO2IrCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQb3BWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdWb2x1bWUgb2YgdGhlIG5tIHBvcCBzb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYXV0c3TDpHJrZSBkZXMgUG9wc291bmRzIGJlaSBlcnNjaGVpbmVuIGVpbmVzIE5NICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZFxcJ2FwcGFyaXRpb24gZFxcJ3VuIE5NICgwLTEpJyxcclxuICAgICAgICBqYTogJ05N5Ye654++6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ05N5o+Q56S66Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+uPjOuwnOyehOustCDrk7HsnqUg7JWM66a8IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCdW5ueVBvcFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1ZvbHVtZSBvZiB0aGUgYnVubnkgcG9wIHNvdW5kICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhdXRzdMOkcmtlIGRlcyBCdW5ueSBQb3AgU291bmRzICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZFxcJ2FwcGFyaXRpb24gZGVzIGxhcGlucyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfjgZfjgYLjgo/jgZvjgYbjgZXjgY7lh7rnj77pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5bm456aP5YWU5o+Q56S66Z+z6YeP77yIMC0x77yJJyxcclxuICAgICAgICBrbzogJ+2GoOuBvCDrj4zrsJwg65Ox7J6lIOyVjOumvCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4zLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdDcml0aWNhbFBvcFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1ZvbHVtZSBvZiB0aGUgY3JpdGljYWwgZW5nYWdlbWVudCBwb3Agc291bmQgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnTGF1dHN0w6Rya2UgZGVzIEtyaXRpc2NoZW4gR2VmZWNodCBTb3VuZHMgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGR1IHNvbiBkXFwnYXBwYXJpdGlvbiBkZXMgYWZmcm9udGVtZW50cyBjcnVjaWF1eCAoMC0xKScsXHJcbiAgICAgICAgamE6ICdDRemAmuefpemfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICdDReaPkOekuumfs+mHj++8iDAtMe+8iScsXHJcbiAgICAgICAga286ICfruYTsg4Eg6rWQ7KCEIOyVjOumvCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4zLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdSZWZyZXNoUmF0ZVNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdVcGRhdGUgcmF0ZSBvZiBubSBjb29sZG93bnMgKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0FrdHVhbGlzaWVydW5nIGRlciBOTSBjb29sZG93bnMgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSYWZyYcOuY2hpc3NlbWVudCBkdSB0ZW1wcyBkZSByw6lhcHBhcml0aW9uIGRcXCd1biBOTSAocyknLFxyXG4gICAgICAgIGphOiAnTk3jga7lho3msrjjgY3mmYLplpPjga7jg6rjg5Xjg6zjg4Pjgrfjg6XplpPpmpQgKOenkiknLFxyXG4gICAgICAgIGNuOiAnTk3lhrfljbTml7bpl7TliLfmlrDpl7TpmpQgKOenkiknLFxyXG4gICAgICAgIGtvOiAn64+M67CcIOyGjO2ZmOqwgOuKpeyLnOqwhCDqsLHsi6Ag7KO86riwICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgICAgc2V0dGVyRnVuYzogKG9wdGlvbnMsIHZhbHVlKSA9PiB7XHJcbiAgICAgICAgbGV0IHNlY29uZHM6IG51bWJlcjtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIHNlY29uZHMgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHZhbHVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydSZWZyZXNoUmF0ZU1zJ10gPSBzZWNvbmRzICogMTAwMDtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgXSxcclxufSk7XHJcbiIsImltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygnam9icycsIHtcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSnVzdEJ1ZmZUcmFja2VyJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnT25seSBzaG93IHRoZSBwYXJ0eSBidWZmIHRyYWNrZXInLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgbnVyIGRlbiBHcnVwcGVuIEJ1ZmYtVHJhY2tlcicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBzZXVsZW1lbnQgbGUgdHJhY2tlciBkZSBidWZmIGRlIGxcXCfDqXF1aXBlJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOWKueaenOOBruOBv+OCkuihqOekuuOBmeOCiycsXHJcbiAgICAgICAgY246ICfku4Xnm5Hmjqflm6LovoXmioDog70nLFxyXG4gICAgICAgIGtvOiAn7YyM7YuwIOuyhO2UhOunjCDtkZzsi5wnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ29tcGFjdFZpZXcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgY29tcGFjdCB2aWV3JyxcclxuICAgICAgICBkZTogJ0tvbXBha3RhbnNpY2h0IGFrdGl2aWVyZW4nLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsYSB2dWUgY29tcGFjdGUnLFxyXG4gICAgICAgIGphOiAn44Kz44Oz44OR44Kv44OIVUnjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So57Sn5YeR6KeG5Zu+JyxcclxuICAgICAgICBrbzogJ+qwhOuete2VnCBVSSDsgqzsmqknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTG93ZXJPcGFjaXR5T3V0T2ZDb21iYXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb3dlciB1aSBvcGFjaXR5IHdoZW4gb3V0IG9mIGNvbWJhdCcsXHJcbiAgICAgICAgZGU6ICdWZXJpbmdlcmUgZGllIERlY2trcmFmdCBhdXNlcmhhbGIgZGVzIEthbXBmZXMnLFxyXG4gICAgICAgIGZyOiAnRGltaW5pdWVyIGxcXCdvcGFjaXTDqSBkZSBsXFwnVUkgaG9ycyBjb21iYXQnLFxyXG4gICAgICAgIGphOiAn6Z2e5oim6ZeY5pmC44GrVUnjgpLpgI/pgY7jgZnjgosnLFxyXG4gICAgICAgIGNuOiAn6Z2e5oiY5paX54q25oCB5pe25L2/VUnljYrpgI/mmI4nLFxyXG4gICAgICAgIGtvOiAn7KCE7YisIOykkeydtCDslYTri5Ag65WMLCBVSSDtiKzrqoXrj4Qg64aS7J206riwJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnT3BhY2l0eU91dE9mQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnT3BhY2l0eSBvZiB1aSB3aGVuIG91dCBvZiBjb21iYXQnLFxyXG4gICAgICAgIGRlOiAnRGVja2tyYWZ0IGRlciBVSSBhdXNlcmhhbGIgZGVzIEthbXBmZXMnLFxyXG4gICAgICAgIGZyOiAnT3BhY2l0w6kgZGUgbFxcJ1VJIGhvcnMgY29tYmF0JyxcclxuICAgICAgICBqYTogJ+mdnuaIpumXmOaZguOBrlVJ6YCP6YGO5bqmJyxcclxuICAgICAgICBjbjogJ+mdnuaImOaWl+eKtuaAgeaXtueahFVJ6YCP5piO5bqmJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJHsnbQg7JWE64uQIOuVjCwgVUkg7Yis66qF64+EJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC41LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQbGF5Q291bnRkb3duU291bmQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgY291bnRkb3duIG5vdGlmaWNhdGlvbiBzb3VuZCcsXHJcbiAgICAgICAgZGU6ICdBa3RpdmllcmUgQ291bnRkb3duIEhpbndlaXMtVG9uJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgbm90aWZpY2F0aW9uIHNvbm9yZSBkdSBjb21wdGUgw6AgcmVib3VycycsXHJcbiAgICAgICAgamE6ICfjgqvjgqbjg7Pjg4jjg4Djgqbjg7PjgpLpn7Plo7Djgafnn6XjgonjgZvjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5YCS6K6h5pe25o+Q56S66Z+zJyxcclxuICAgICAgICBrbzogJ+y0iOydveq4sCDslYzrprwg7IaM66asIOy8nOq4sCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0hpZGVXZWxsRmVkQWJvdmVTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGlkZSBjaGVlc2UgaWNvbiB3aGVuIGZvb2QgPiB0aW1lIChpbiBzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdWZXJzdGVja2UgZGFzIEvDpHNlIEljb24gd2VubiBCdWZmZm9vZCA+IFplaXQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdNYXNxdWVyIGxcXCdpY8O0bmUgZHUgZnJvbWFnZSBsb3JzcXVlIHZvdXMgw6p0ZXMgcmVwdSA+IGR1csOpZSAoZW4gc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+mjr+WKueaenOOBruaZgumWk+OBjOS4jei2s+OBl+OBn+OCieODgeODvOOCuuOCouOCpOOCs+ODs+OCkuihqOekuuOBmeOCiyAo56eSKScsXHJcbiAgICAgICAgY246ICfpo5/niakgQnVmZiDliankvZnml7bpl7TkuI3otrPorabmiqUgKOenkiknLFxyXG4gICAgICAgIGtvOiAn64Ko7J2AIOyLneyCrCDtmqjqs7wg7Iuc6rCE7J20IOydtCDsi5zqsITrs7Tri6Qg6ri466m0LCDsuZjspogg7JWE7J207L2YIOyIqOq5gCAo64uo7JyEOiDstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAxNSAqIDYwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTaG93TVBUaWNrZXJPdXRPZkNvbWJhdCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1Nob3cgTVAgdGlja2VyIG91dCBvZiBjb21iYXQnLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgTVAtVGlja2VyIGF1c2VyaGFsYiBkZXMgS2FtcGZlcycsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZSBzeW1ib2xlIFBNIGhvcnMgY29tYmF0JyxcclxuICAgICAgICBqYTogJ+mdnuaIpumXmOaZguOBq+OCgk1Q44KS6KGo56S644GZ44KLJyxcclxuICAgICAgICBjbjogJ+S4gOebtOaYvuekuk1Q55uR5o6nJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJHsnbQg7JWE64uQIOuVjCwgTVAg7Yuw7LukIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdNaWRIZWFsdGhUaHJlc2hvbGRQZXJjZW50JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUGVyY2VudCBvZiBoZWFsdGggY29uc2lkZXJlZCBtaWRkbGluZycsXHJcbiAgICAgICAgZGU6ICdQcm96ZW50IGRlciBMZWJlbnNwdW5rdGUgKG1pdHRlbG1hw58pJyxcclxuICAgICAgICBmcjogJ1BvdXJjZW50YWdlIGRlIHZpZSBjb25zaWTDqXLDqSBjb21tZSBtb3llbm5lJyxcclxuICAgICAgICBqYTogJ+WBpeW6t+OBqkhQ44Go44GX44Gm5omx44GGSFDph48gKDEgPSAxMDAlKScsXHJcbiAgICAgICAgY246ICfkuK3nrYnooYDph4/pmIjlgLwgKDEgPSAxMDAlKScsXHJcbiAgICAgICAga286ICfrs7TthrUgSFDroZwg7Leo6riJ65CgIEhQ67mE7JyoICgxID0gMTAwJSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjgsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0xvd0hlYWx0aFRocmVzaG9sZFBlcmNlbnQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQZXJjZW50IG9mIGhlYWx0aCBjb25zaWRlcmVkIGxvdycsXHJcbiAgICAgICAgZGU6ICdQcm96ZW50IGRlciBMZWJlbnNwdW5rdGUgKGdlcmluZyknLFxyXG4gICAgICAgIGZyOiAnUG91cmNlbnRhZ2UgZGUgdmllIGNvbnNpZMOpcsOpIGNvbW1lIGJhcycsXHJcbiAgICAgICAgamE6ICfljbHpmbrjgapIUOOBqOOBl+OBpuaJseOBhkhQ6YePICgxID0gMTAwJSknLFxyXG4gICAgICAgIGNuOiAn5Y2x6Zmp6KGA6YeP6ZiI5YC8ICgxID0gMTAwJSknLFxyXG4gICAgICAgIGtvOiAn64Ku7J2AIEhQ66GcIOy3qOq4ieuQoCBIUOu5hOycqCAoMSA9IDEwMCUpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC4yLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCaWdCdWZmU2hvd0Nvb2xkb3duU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01pbmltdW0gc2Vjb25kcyBvbiBhIGNvb2xkb3duIGJlZm9yZSBzaG93bicsXHJcbiAgICAgICAgZGU6ICdNaW5pbXVtIGFuIFNla3VuZGVuIGbDvHIgZWluZW4gQ29vbGRvd24gdm9yIGRlciBBbnplaWdlJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtaW5pbWFsIGRlIHNlY29uZGVzIGF2YW50IGxcXCdhZmZpY2hhZ2UgZHUgdGVtcHMgZGUgcmVjaGFyZ2UnLFxyXG4gICAgICAgIGphOiAn44K344OK44K444O844K544Kt44Or44GM5L2/55So5Y+v6IO95YmN44Gr44Ki44Kk44Kz44Oz44KS6KGo56S644GZ44KLICjnp5IpJyxcclxuICAgICAgICBjbjogJ+Wboui+heWGt+WNtOWujOaIkOmihOWRiiAo56eSKScsXHJcbiAgICAgICAga286ICfsnqzsgqzsmqkg64yA6riw7Iuc6rCE7J2EIO2RnOyLnO2VoCDquLDspIAg7Iuc6rCEKOy0iCDsnbTtlZgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMjAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZJY29uV2lkdGgnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdXaWR0aCBvZiBidWZmIGljb25zIChweCknLFxyXG4gICAgICAgIGRlOiAnV2VpdGUgZGVzIEJ1ZmYgSWNvbnMgKHB4KScsXHJcbiAgICAgICAgZnI6ICdMYXJnZXVyIGRlcyBpY8O0bmVzIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jgqLjgqTjgrPjg7Pjga7luoPjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5Hmjqflm77moIflrr3luqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIOyVhOydtOy9mCDrhIjruYQgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNDQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZJY29uSGVpZ2h0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGVpZ2h0IG9mIGJ1ZmYgaWNvbnMgKHB4KScsXHJcbiAgICAgICAgZGU6ICdIw7ZoZSBkZXMgQnVmZiBJY29ucyAocHgpJyxcclxuICAgICAgICBmcjogJ0hhdXRldXIgZGVzIGljw7RuZXMgZGUgYnVmZiAocGl4ZWwpJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOOCueOCreODq+OBruOCouOCpOOCs+ODs+OBrumrmOOBlSAocGl4ZWwpJyxcclxuICAgICAgICBjbjogJ+Wboui+heebkeaOp+Wbvuagh+mrmOW6piAo5YOP57SgKScsXHJcbiAgICAgICAga286ICfrsoTtlIQg7JWE7J207L2YIOuGkuydtCAocGl4ZWwpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAzMixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmlnQnVmZkJhckhlaWdodCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0hlaWdodCBvZiBidWZmIHRpbWVyIGJhcnMgKHB4KScsXHJcbiAgICAgICAgZGU6ICdIw7ZoZSBkZXIgQnVmZi1UaW1lciBMZWlzdGVuIChweCknLFxyXG4gICAgICAgIGZyOiAnSGF1dGV1ciBkZXMgYmFycmVzIGRlIHRlbXBzIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jgr/jgqTjg6Djg5Djg7zjga7pq5jjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5HmjqforqHml7bmnaHpq5jluqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIO2DgOydtOuouCDrsJQg64aS7J20IChwaXhlbCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0JpZ0J1ZmZUZXh0SGVpZ2h0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSGVpZ2h0IG9mIGJ1ZmYgdGV4dCAocHgpJyxcclxuICAgICAgICBkZTogJ0jDtmhlIGRlcyBCdWZmLVRleHQgKHB4KScsXHJcbiAgICAgICAgZnI6ICdIYXV0ZXVyIGR1IHRleHRlIGRlIGJ1ZmYgKHBpeGVsKScsXHJcbiAgICAgICAgamE6ICfjgrfjg4rjgrjjg7zjgrnjgq3jg6vjga7jg4bjgq3jgrnjg4jjga7pq5jjgZUgKHBpeGVsKScsXHJcbiAgICAgICAgY246ICflm6LovoXnm5HmjqfmloflrZfpq5jluqYgKOWDj+e0oCknLFxyXG4gICAgICAgIGtvOiAn67KE7ZSEIO2FjeyKpO2KuCDrhpLsnbQgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmlnQnVmZkJvcmRlclNpemUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaXplIG9mIGJ1ZmYgYm9yZGVycyAocHgpJyxcclxuICAgICAgICBkZTogJ0dyw7bDn2UgZGVyIEJ1ZmYtUsOkbmRlciAocHgpJyxcclxuICAgICAgICBmcjogJ1RhaWxsZSBkZXMgYm9yZHVyZXMgZGUgYnVmZiAocGl4ZWwpJyxcclxuICAgICAgICBqYTogJ+OCt+ODiuOCuOODvOOCueOCreODq+OBruODnOODvOODgOODvOOBruW6g+OBlSAocGl4ZWwpJyxcclxuICAgICAgICBjbjogJ+Wboui+heebkeaOp+i+ueahhuWwuuWvuCAo5YOP57SgKScsXHJcbiAgICAgICAga286ICfrsoTtlIQg7JWE7J207L2YIO2FjOuRkOumrCDtgazquLAgKHBpeGVsKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnR3BBbGFybVBvaW50JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnR1AgYWxhcm0gdGhyZXNob2xkICgwIHRvIGRpc2FibGUpJyxcclxuICAgICAgICBkZTogJ1NQIEFsYXJtIEdyZW56ZSAoMCB0byBkaXNhYmxlKScsXHJcbiAgICAgICAgZnI6ICdTZXVpbCBkXFwnYWxhcm1lIFBSICgwIHBvdXIgZMOpc2FjdGl2ZXIpJyxcclxuICAgICAgICBqYTogJ0dQ44GM5L2O44GE5pmC44Gr6K2m5ZGK44GZ44KLICjvvJDvvJ3nhKHlirkpJyxcclxuICAgICAgICBjbjogJ+S9jumHh+mbhuWKm+aPkOekuumYiOWAvCAoMOS4uuemgeeUqCknLFxyXG4gICAgICAgIGtvOiAnR1Ag7JWM656MIOyEpOygleqwkiAoMCA9IOq4sOuKpSDsoJXsp4ApJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdHcEFsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdHUCBhbGFybSBzb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdTUCBBbGFybSBTb3VuZCAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdTb24gZFxcJ2FsYXJtZSBQUiAoMC0xKScsXHJcbiAgICAgICAgamE6ICfkvY7jgYRHUOOBruitpuWRiumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkvY7ph4fpm4blipvmj5DnpLrpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAnR1Ag7JWM656MIOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjgsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ05vdGlmeUV4cGlyZWRQcm9jc0luQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOlxyXG4gICAgICAgICAgJ0ZsYXNoIHByb2NzIGJveGVzIG9mIGluYWN0aXZlIGRvdHMvZXRjLiB1cCB0byBuIHRpbWVzIHdoaWxlIGluIGNvbWJhdC4gKC0xOiBkaXNhYmxlZCwgMDogaW5maW5pdGUpJyxcclxuICAgICAgICBkZTpcclxuICAgICAgICAgICdEb3QvZXRjLiBib3hlbiBibGlua2VuIGJpcyB6dSBuIG1hbCB3ZW5uIGltIEthbXBmIHVuZCBkb3QgaXN0IG5pY2h0IGFrdGl2LiAoLTE6IGRlYWt0aXZpZXJ0LCAwOiBvaG5lIExpbWl0KScsXHJcbiAgICAgICAgZnI6ICdGYWlyZSBjbGlnbm90ZXIgbiBmb2lzIGxlcyBEb1QvQnVmZnMgaW5hY3RpZnMgZW4gY29tYmF0ICgtMSA6IGTDqXNhY3RpdsOpLCAwIDogaW5maW5pKScsXHJcbiAgICAgICAgamE6ICfmiKbpl5jkuK3jgadEb1Qv44OQ44OV44GM5YiH44Gj44Gf44KJcHJvY+ODnOODg+OCr+OCueOCku+9juWbnueCuea7heOBleOBm+OCiygtMe+8mueEoeWKueOAgTDvvJrnhKHpmZDlm57mlbApJyxcclxuICAgICAgICBjbjogJ+aImOaWl+S4reaooeWdl+ebkeaOp+eahOmHjeimgURvVC9CdWZm5Lit5pat5pe25Luk5a+55bqU6K6h5pe25Zmo6Zeq54OBTuasoe+8iC0x77ya56aB55So77yMMO+8muaXoOmZkOmXqueDge+8iScsXHJcbiAgICAgICAga286ICfrj4Ttirjrgpgg67KE7ZSE6rCAIOq6vOyngOuptCDtlITroZ0g67CV7Iqk66W8IG7rsogg6rmc67mh7ZWY6rKMIO2VqeuLiOuLpC4gKC0xOiDruYTtmZzshLHtmZQsIDA6IOustO2VnCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ05vdGlmeUV4cGlyZWRQcm9jc0luQ29tYmF0U291bmQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQbGF5IGEgc291bmQgbm90aWZpY2F0aW9uIGlmIGEgcHJvYyBib3ggZm9yIGRvdHMvZXRjLiBleHBpcmVzIHdoaWxlIGluIGNvbWJhdC4nLFxyXG4gICAgICAgIGRlOiAnU3BpZWxlIGVpbmVuIEFsYXJtIFNvdW5kIHdlbm4gZWluZSBkb3QvZXRjLiBib3ggaW0gS2FtcGYgaW5ha3RpdiB3aXJkLicsXHJcbiAgICAgICAgZnI6ICdKb3VlciB1biBzb24gc2kgdW4gRG90L0J1ZmYgZXhwaXJlIGVuIGNvbWJhdC4nLFxyXG4gICAgICAgIGphOiAn5oim6ZeY5Lit44GnRG9UL+ODkOODleOBjOWIh+OBo+OBn+OCiemfs+OCkumztOOCieOBmScsXHJcbiAgICAgICAgY246ICfmiJjmlpfkuK3mqKHlnZfnm5HmjqfnmoTph43opoFEb1QvQnVmZuS4reaWreaXtuaSreaUvuaPkOekuumfsycsXHJcbiAgICAgICAga286ICfrj4Ttirjrgpgg67KE7ZSE6rCAIOq6vOyngOuptCDshozrpqzroZwg7JWM66a87J2EIOykjeuLiOuLpC4nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgICAgJ1doZW4gY291bnRlciByZWFjaGVzIDAuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1doZW4gY291bnRlciBpcyBjbG9zZSB0byAwLic6ICd0aHJlc2hvbGQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdEZWFrdGl2aWVydCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAnV2VubiBkZXIgQ291bnRkb3duIDAgZXJyZWljaHQuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1dlbm4gZGVyIENvdW50ZG93biBuYWhlIDAgaXN0Lic6ICd0aHJlc2hvbGQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdEw6lzYWN0aXbDqSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAnUXVhbmQgbGUgY29tcHRldXIgYXJyaXZlIMOgIDAuJzogJ2V4cGlyZWQnLFxyXG4gICAgICAgICAgJ1F1YW5kIGxlIGNvbXB0ZXVyIGVzdCBwcm9jaGUgZGUgMC4nOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn54Sh5Yq5JzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAgICfmrovjgormmYLplpMg4oaSIDAnOiAnZXhwaXJlZCcsXHJcbiAgICAgICAgICAn5q6L44KK5pmC6ZaTIOKGkiDjgZfjgY3jgYTlgKQnOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn56aB55SoJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICAgICforqHml7blmajlvZLpm7bml7YnOiAnZXhwaXJlZCcsXHJcbiAgICAgICAgICAn6K6h5pe25Zmo5Yiw6L6+5o+Q56S66ZiI5YC85pe2JzogJ3RocmVzaG9sZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+u5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgICAn7Lm07Jq07Yq4IOuLpOyatOydtCAw7LSI7J28IOuVjCc6ICdleHBpcmVkJyxcclxuICAgICAgICAgICfrpqztlYTtlZjquLAg7KCB7KCI7ZWcIOuVjOyXkCDslYzroKTso7zquLAnOiAndGhyZXNob2xkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAndGhyZXNob2xkJyxcclxuICAgIH0sXHJcbiAgXSxcclxufSk7XHJcbiIsImV4cG9ydCB0eXBlIE1pc3NhYmxlQnVmZlR5cGUgPSAnaGVhbCcgfCAnZGFtYWdlJyB8ICdtaXRpZ2F0aW9uJztcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlRWZmZWN0ID0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdHlwZTogTWlzc2FibGVCdWZmVHlwZTtcclxuICBlZmZlY3RJZDogc3RyaW5nIHwgcmVhZG9ubHkgc3RyaW5nW107XHJcbiAgY29sbGVjdFNlY29uZHM6IG51bWJlcjtcclxuICBpZ25vcmVTZWxmPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlQWJpbGl0eSA9IHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHR5cGU6IE1pc3NhYmxlQnVmZlR5cGU7XHJcbiAgYWJpbGl0eUlkOiBzdHJpbmcgfCByZWFkb25seSBzdHJpbmdbXTtcclxuICBjb2xsZWN0U2Vjb25kcz86IG51bWJlcjtcclxuICBpZ25vcmVTZWxmPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1pc3NhYmxlQnVmZiA9IE1pc3NhYmxlQWJpbGl0eSB8IE1pc3NhYmxlRWZmZWN0O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1pc3NlZEVmZmVjdEJ1ZmZNYXA6IHJlYWRvbmx5IE1pc3NhYmxlRWZmZWN0W10gPSBbXHJcbiAge1xyXG4gICAgaWQ6ICdDb2xsZWN0aXZlIFVuY29uc2Npb3VzJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGVmZmVjdElkOiAnMzUxJyxcclxuICAgIGNvbGxlY3RTZWNvbmRzOiAyMCxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUGFzc2FnZSBvZiBBcm1zJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIC8vIEFybXMgVXAgPSA0OTggKG90aGVycyksIFBhc3NhZ2UgT2YgQXJtcyA9IDQ5NyAoeW91KS4gIFVzZSBib3RoIGluIGNhc2UgZXZlcnlib2R5IGlzIG1pc3NlZC5cclxuICAgIGVmZmVjdElkOiBbJzQ5NycsICc0OTgnXSxcclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgICBjb2xsZWN0U2Vjb25kczogMTUsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0RpdmluZSBWZWlsJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGVmZmVjdElkOiAnMkQ3JyxcclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgICBjb2xsZWN0U2Vjb25kczogMixcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIFJQUiBoZWFsXHJcbiAgICBpZDogJ0NyZXN0IG9mIFRpbWUgUmV0dXJuZWQnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgZWZmZWN0SWQ6ICdBMjYnLFxyXG4gICAgY29sbGVjdFNlY29uZHM6IDIsXHJcbiAgfSxcclxuXSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBtaXNzZWRBYmlsaXR5QnVmZk1hcDogcmVhZG9ubHkgTWlzc2FibGVBYmlsaXR5W10gPSBbXHJcbiAge1xyXG4gICAgaWQ6ICdIZWFydCBPZiBMaWdodCcsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICczRjIwJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRGFyayBNaXNzaW9uYXJ5JyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQwNTcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTaGFrZSBJdCBPZmYnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnMUNEQycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1RlY2huaWNhbCBGaW5pc2gnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICAvLyAzRjQ0IGlzIHRoZSBjb3JyZWN0IFF1YWRydXBsZSBUZWNobmljYWwgRmluaXNoLCBvdGhlcnMgYXJlIERpbmt5IFRlY2huaWNhbCBGaW5pc2guXHJcbiAgICBhYmlsaXR5SWQ6IFsnM0Y0MScsICczRjQyJywgJzNGNDMnLCAnM0Y0NCddLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdEaXZpbmF0aW9uJyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBOCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0Jyb3RoZXJob29kJyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUNFNCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0JhdHRsZSBMaXRhbnknLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICdERTUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdFbWJvbGRlbicsXHJcbiAgICB0eXBlOiAnZGFtYWdlJyxcclxuICAgIGFiaWxpdHlJZDogJzFENjAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdCYXR0bGUgVm9pY2UnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICc3NicsXHJcbiAgICAvLyBUT0RPOiByZW1vdmUgdGhpcyBsaW5lIGFmdGVyIDUueCBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXHJcbiAgICAvLyBUZWNobmljYWxseSBCYXR0bGUgVm9pY2UgY2FuJ3QgbWlzcyB0aGUgYmFyZCBpdHNlbGYsIHNvIHRoaXMgaXMgYSBub29wIGluIDYueC5cclxuICAgIGlnbm9yZVNlbGY6IHRydWUsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyA1eFxyXG4gICAgaWQ6ICdEZXZvdGlvbicsXHJcbiAgICB0eXBlOiAnZGFtYWdlJyxcclxuICAgIGFiaWxpdHlJZDogJzFEMUEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTZWFyaW5nIExpZ2h0JyxcclxuICAgIHR5cGU6ICdkYW1hZ2UnLFxyXG4gICAgYWJpbGl0eUlkOiAnNjRGMicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0FyY2FuZSBDaXJjbGUnLFxyXG4gICAgdHlwZTogJ2RhbWFnZScsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RjU1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVHJvdWJhZG91cicsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICcxQ0VEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVGFjdGljaWFuJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQxRjknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdTaGllbGQgU2FtYmEnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnM0U4QycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ01hbnRyYScsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MScsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyBMQjFcclxuICAgIGlkOiAnSGVhbGluZyBXaW5kJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0NFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIExCMlxyXG4gICAgaWQ6ICdCcmVhdGggb2YgdGhlIEVhcnRoJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0NGJyxcclxuICB9LFxyXG4gIHtcclxuICAgIC8vIExCIDNcclxuICAgIGlkOiAnUHVsc2Ugb2YgTGlmZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdEMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICAvLyBTTU4gcGhvZW5peCBoZWFsXHJcbiAgICBpZDogJ0V2ZXJsYXN0aW5nIEZsaWdodCcsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MDg1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnTWVkaWNhJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzdDJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnTWVkaWNhIElJJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzg1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQWZmbGF0dXMgUmFwdHVyZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MDk2JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnVGVtcGVyYW5jZScsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc3NTEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdQbGVuYXJ5IEluZHVsZ2VuY2UnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUQwOScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N1Y2NvcicsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdCQScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0luZG9taXRhYmlsaXR5JyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0RGRicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0RlcGxveW1lbnQgVGFjdGljcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICdFMDEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdXaGlzcGVyaW5nIERhd24nLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMzIzJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRmV5IEJsZXNzaW5nJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzQwQTAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdDb25zb2xhdGlvbicsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc0MEEzJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQW5nZWxcXCdzIFdoaXNwZXInLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBNicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0ZleSBJbGx1bWluYXRpb24nLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnMzI1JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnU2VyYXBoaWMgSWxsdW1pbmF0aW9uJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzQwQTcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdLZXJhY2hvbGUnLFxyXG4gICAgdHlwZTogJ21pdGlnYXRpb24nLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVFQScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BhbmhhaW1hJyxcclxuICAgIHR5cGU6ICdtaXRpZ2F0aW9uJyxcclxuICAgIGFiaWxpdHlJZDogJzVFRjcnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdBbmdlbCBGZWF0aGVycycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICcxMDk3JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnSGVsaW9zJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJ0UxMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ0FzcGVjdGVkIEhlbGlvcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6IFsnRTExJywgJzMyMDAnXSxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnQ2VsZXN0aWFsIE9wcG9zaXRpb24nLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNDBBOScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N0ZWxsYXIgQnVyc3QnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnMUQxMCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1N0ZWxsYXIgRXhwbG9zaW9uJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzFEMTEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdBc3RyYWwgU3Rhc2lzJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzEwOTgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdQcm9nbm9zaXMnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVERScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BoeXNpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUUwJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnRXVrcmFzaWFuIFByb2dub3NpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUU0JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnSXhvY2hvbGUnLFxyXG4gICAgdHlwZTogJ2hlYWwnLFxyXG4gICAgYWJpbGl0eUlkOiAnNUVFQicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogJ1BlcHNpcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUVEJyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUGh5c2lzIElJJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzVFRUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdIb2xvcycsXHJcbiAgICB0eXBlOiAnaGVhbCcsXHJcbiAgICBhYmlsaXR5SWQ6ICc1RUY2JyxcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiAnUG5ldW1hJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIC8vIDVFRkUgb24gZW5lbWllcywgYW5kIDZDQjYgb24gZnJpZW5kbGllcy5cclxuICAgIGFiaWxpdHlJZDogJzZDQjYnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdXaGl0ZSBXaW5kJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzJDOEUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdHb2Jza2luJyxcclxuICAgIHR5cGU6ICdoZWFsJyxcclxuICAgIGFiaWxpdHlJZDogJzQ3ODAnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6ICdMb3N0IEFldGhlcnNoaWVsZCcsXHJcbiAgICB0eXBlOiAnbWl0aWdhdGlvbicsXHJcbiAgICBhYmlsaXR5SWQ6ICc1NzUzJyxcclxuICB9LFxyXG5dIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQnVmZlRyaWdnZXJJZHMgPSAoKTogc3RyaW5nW10gPT4ge1xyXG4gIGNvbnN0IGJ1ZmZzOiBNaXNzYWJsZUJ1ZmZbXSA9IFsuLi5taXNzZWRFZmZlY3RCdWZmTWFwLCAuLi5taXNzZWRBYmlsaXR5QnVmZk1hcF07XHJcbiAgYnVmZnMuc29ydCgoYSwgYikgPT4gYS5pZC5sb2NhbGVDb21wYXJlKGIuaWQpKTtcclxuICByZXR1cm4gYnVmZnMubWFwKChidWZmKSA9PiBgQnVmZiAke2J1ZmYuaWR9YCk7XHJcbn07XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBVc2VyQ29uZmlnLCB7IE9wdGlvbnNUZW1wbGF0ZSwgVXNlckZpbGVDYWxsYmFjayB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IExvb3NlT29wc3lUcmlnZ2VyU2V0LCBPb3BzeUZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvb29wc3knO1xyXG5pbXBvcnQge1xyXG4gIENhY3Rib3RDb25maWd1cmF0b3IsXHJcbiAgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXJTZXQsXHJcbiAgQ29uZmlnUHJvY2Vzc2VkRmlsZSxcclxuICBDb25maWdQcm9jZXNzZWRGaWxlTWFwLFxyXG59IGZyb20gJy4uL2NvbmZpZy9jb25maWcnO1xyXG5cclxuaW1wb3J0IHsgZ2VuZXJhdGVCdWZmVHJpZ2dlcklkcyB9IGZyb20gJy4vYnVmZl9tYXAnO1xyXG5pbXBvcnQgb29wc3lGaWxlRGF0YSBmcm9tICcuL2RhdGEvb29wc3lfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgT29wc3lPcHRpb25zIH0gZnJvbSAnLi9vb3BzeV9vcHRpb25zJztcclxuXHJcbmNvbnN0IG9vcHN5SGVscGVyczogKGtleW9mIExvb3NlT29wc3lUcmlnZ2VyU2V0KVtdID0gW1xyXG4gICdkYW1hZ2VXYXJuJyxcclxuICAnZGFtYWdlRmFpbCcsXHJcbiAgJ3NoYXJlV2FybicsXHJcbiAgJ3NoYXJlRmFpbCcsXHJcbiAgJ2dhaW5zRWZmZWN0V2FybicsXHJcbiAgJ2dhaW5zRWZmZWN0RmFpbCcsXHJcbl07XHJcblxyXG4vLyBUaGlzIGNvdWxkIGJlIGEgY2hlY2tib3gsIGJ1dCBpdCdzIHBvc3NpYmxlIHdlIGNvdWxkIGFkZCBtb3JlIHRoaW5ncyBoZXJlLFxyXG4vLyBsaWtlIGNoYW5naW5nIGZhaWwtPndhcm5pbmcgb3Igd2hvIGtub3dzIHdoYXQuXHJcbmNvbnN0IGtUcmlnZ2VyT3B0aW9ucyA9IHtcclxuICBkZWZhdWx0OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ+KclCBEZWZhdWx0cycsXHJcbiAgICAgIGRlOiAn4pyUIFN0YW5kYXJkcycsXHJcbiAgICAgIGZyOiAn4pyUIETDqWZhdXRzJyxcclxuICAgICAgamE6ICfinJQg5Yid5pyf6Kit5a6aJyxcclxuICAgICAgY246ICfinJQg6buY6K6k6K6+572uJyxcclxuICAgICAga286ICfinJQg6riw67O4JyxcclxuICAgIH0sXHJcbiAgfSxcclxuICBkaXNhYmxlZDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinYwgRGlzYWJsZWQnLFxyXG4gICAgICBkZTogJ+KdjCBEZWFrdGl2aWVydCcsXHJcbiAgICAgIGZyOiAn4p2MIETDqXNhY3RpdsOpJyxcclxuICAgICAgamE6ICfinYwg54Sh5Yq5JyxcclxuICAgICAgY246ICfinYwg56aB55SoJyxcclxuICAgICAga286ICfinYwg67mE7Zmc7ISx7ZmUJyxcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuXHJcbmNsYXNzIE9vcHN5Q29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25LZXkgPSAnb29wc3lyYWlkc3knO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRVSShjb250YWluZXI6IEhUTUxFbGVtZW50LCBmaWxlczogT29wc3lGaWxlRGF0YSkge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc09vcHN5RmlsZXMoZmlsZXMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaW5mbyBvZiBPYmplY3QudmFsdWVzKGZpbGVNYXApKSB7XHJcbiAgICAgIGNvbnN0IGV4cGFuc2lvbiA9IGluZm8ucHJlZml4O1xyXG5cclxuICAgICAgaWYgKCFpbmZvLnRyaWdnZXJzIHx8IE9iamVjdC5rZXlzKGluZm8udHJpZ2dlcnMpLmxlbmd0aCA9PT0gMClcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIGxldCBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl07XHJcbiAgICAgIGlmICghZXhwYW5zaW9uRGl2KSB7XHJcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZXhwYW5zaW9uLWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZXhwYW5zaW9uQ29udGFpbmVyKTtcclxuXHJcbiAgICAgICAgY29uc3QgZXhwYW5zaW9uSGVhZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZXhwYW5zaW9uLWhlYWRlcicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLmlubmVyVGV4dCA9IGV4cGFuc2lvbjtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoZXhwYW5zaW9uSGVhZGVyKTtcclxuXHJcbiAgICAgICAgZXhwYW5zaW9uRGl2ID0gZXhwYW5zaW9uRGl2c1tleHBhbnNpb25dID0gZXhwYW5zaW9uQ29udGFpbmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB0cmlnZ2VyQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgICAgZXhwYW5zaW9uRGl2LmFwcGVuZENoaWxkKHRyaWdnZXJDb250YWluZXIpO1xyXG5cclxuICAgICAgY29uc3QgaGVhZGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGhlYWRlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyJyk7XHJcbiAgICAgIGhlYWRlckRpdi5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgIHRyaWdnZXJDb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBwYXJ0cyA9IFtpbmZvLnRpdGxlLCBpbmZvLnR5cGUsIGV4cGFuc2lvbl07XHJcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xyXG4gICAgICAgIGlmICghcGFydClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHBhcnREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBwYXJ0RGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXItcGFydCcpO1xyXG4gICAgICAgIHBhcnREaXYuaW5uZXJUZXh0ID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJPcHRpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRyaWdnZXJPcHRpb25zLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1vcHRpb25zJyk7XHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQodHJpZ2dlck9wdGlvbnMpO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhpbmZvLnRyaWdnZXJzID8/IHt9KSkge1xyXG4gICAgICAgIC8vIEJ1aWxkIHRoZSB0cmlnZ2VyIGxhYmVsLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGl2LmlubmVySFRNTCA9IGlkO1xyXG4gICAgICAgIHRyaWdnZXJEaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlcicpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEaXYpO1xyXG5cclxuICAgICAgICAvLyBDb250YWluZXIgZm9yIHRoZSByaWdodCBzaWRlIHVpIChzZWxlY3QgYm94ZXMsIGFsbCBvZiB0aGUgaW5mbykuXHJcbiAgICAgICAgY29uc3QgdHJpZ2dlckRldGFpbHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbHMnKTtcclxuICAgICAgICB0cmlnZ2VyT3B0aW9ucy5hcHBlbmRDaGlsZCh0cmlnZ2VyRGV0YWlscyk7XHJcblxyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyhpZCwgdHJpZ2dlckRpdikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZFRyaWdnZXJPcHRpb25zKGlkOiBzdHJpbmcsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGtGaWVsZCA9ICdPdXRwdXQnO1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKHRoaXMub3B0aW9uS2V5LCBbJ3RyaWdnZXJzJywgaWQsIGtGaWVsZF0sICdkZWZhdWx0Jyk7XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoa1RyaWdnZXJPcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XHJcbiAgICAgIGVsZW0uaW5uZXJIVE1MID0gdGhpcy5iYXNlLnRyYW5zbGF0ZSh2YWx1ZS5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24odGhpcy5vcHRpb25LZXksIFsndHJpZ2dlcnMnLCBpZCwga0ZpZWxkXSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzT29wc3lGaWxlcyhmaWxlczogT29wc3lGaWxlRGF0YSk6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8TG9vc2VPb3BzeVRyaWdnZXJTZXQ+IHtcclxuICAgIGNvbnN0IG1hcCA9IHRoaXMuYmFzZS5wcm9jZXNzRmlsZXMoZmlsZXMpO1xyXG5cclxuICAgIC8vIEhhY2tpbHkgaW5zZXJ0IFwibWlzc2VkIGJ1ZmZzXCIgaW50byB0aGUgbGlzdCBvZiB0cmlnZ2Vycy5cclxuICAgIGNvbnN0IGdlbmVyYWxFbnRyeSA9IG1hcFsnMDAtbWlzYy1nZW5lcmFsJ107XHJcbiAgICBpZiAoIWdlbmVyYWxFbnRyeSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgY29uc3QgZmFrZUJ1ZmZzOiBDb25maWdQcm9jZXNzZWRGaWxlPExvb3NlT29wc3lUcmlnZ2VyU2V0PiA9IHtcclxuICAgICAgLi4uZ2VuZXJhbEVudHJ5LFxyXG4gICAgICBmaWxlS2V5OiAnMDAtbWlzYy1idWZmcycsXHJcbiAgICAgIGZpbGVuYW1lOiAnYnVmZl9tYXAudHMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5iYXNlLnRyYW5zbGF0ZSh7XHJcbiAgICAgICAgZW46ICdNaXNzZWQgQnVmZnMnLFxyXG4gICAgICAgIGRlOiAnVmVyZmVobHRlIEJ1ZmZzJyxcclxuICAgICAgICBmcjogJ0J1ZmZzIG1hbnF1w6lzJyxcclxuICAgICAgICBqYTogJ+asoOOBkeODkOODlScsXHJcbiAgICAgICAgY246ICfpgZfmvI9CdWZmJyxcclxuICAgICAgICBrbzogJ+uGk+y5nCDrsoTtlIQg7JWM66a8JyxcclxuICAgICAgfSksXHJcbiAgICAgIHRyaWdnZXJTZXQ6IHtcclxuICAgICAgICB0cmlnZ2VyczogZ2VuZXJhdGVCdWZmVHJpZ2dlcklkcygpLm1hcCgoaWQpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGlkOiBpZCB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIG1hcFtmYWtlQnVmZnMuZmlsZUtleV0gPSBmYWtlQnVmZnM7XHJcblxyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIE9iamVjdC52YWx1ZXMobWFwKSkge1xyXG4gICAgICBpdGVtLnRyaWdnZXJzID0ge307XHJcbiAgICAgIGNvbnN0IHRyaWdnZXJTZXQgPSBpdGVtLnRyaWdnZXJTZXQ7XHJcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBvb3BzeUhlbHBlcnMpIHtcclxuICAgICAgICBpZiAodHJpZ2dlclNldFtwcm9wXSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IG9iaiA9IHRyaWdnZXJTZXRbcHJvcF07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGlkIGluIG9iailcclxuICAgICAgICAgICAgaXRlbS50cmlnZ2Vyc1tpZF0gPSB7IGlkOiBpZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF0cmlnZ2VyU2V0LnRyaWdnZXJzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJTZXQudHJpZ2dlcnMpIHtcclxuICAgICAgICBpZiAoIXRyaWdnZXIuaWQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAvLyBTa2lwIHRyaWdnZXJzIHRoYXQganVzdCBzZXQgZGF0YSwgYnV0IGluY2x1ZGUgdHJpZ2dlcnMgdGhhdCBhcmUganVzdCBpZHMuXHJcbiAgICAgICAgaWYgKHRyaWdnZXIucnVuICYmICF0cmlnZ2VyLm1pc3Rha2UpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBpdGVtLnRyaWdnZXJzW3RyaWdnZXIuaWRdID0gdHJpZ2dlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hcDtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHRlbXBsYXRlT3B0aW9uczogT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVSTogKGJhc2UsIGNvbnRhaW5lcikgPT4ge1xyXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBPb3BzeUNvbmZpZ3VyYXRvcihiYXNlKTtcclxuICAgIGJ1aWxkZXIuYnVpbGRVSShjb250YWluZXIsIG9vcHN5RmlsZURhdGEpO1xyXG4gIH0sXHJcbiAgcHJvY2Vzc0V4dHJhT3B0aW9uczogKGJhc2VPcHRpb25zLCBzYXZlZENvbmZpZykgPT4ge1xyXG4gICAgLy8gVE9ETzogUmV3cml0ZSB1c2VyX2NvbmZpZyB0byBiZSB0ZW1wbGF0ZWQgb24gb3B0aW9uIHR5cGUgc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGtub3dzXHJcbiAgICAvLyB3aGF0IHR5cGUgb2Ygb3B0aW9ucyBpdCBpcyB1c2luZy4gIFdpdGhvdXQgdGhpcywgcGVyVHJpZ2dlckF1dG9Db25maWcgaXMgdW5rbm93bi5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBPb3BzeU9wdGlvbnM7XHJcblxyXG4gICAgY29uc3QgcGVyVHJpZ2dlckF1dG9Db25maWcgPSBvcHRpb25zWydQZXJUcmlnZ2VyQXV0b0NvbmZpZyddID8/PSB7fTtcclxuICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCB0cmlnZ2VycyA9IHNhdmVkQ29uZmlnWyd0cmlnZ2VycyddO1xyXG5cclxuICAgIGlmICghdHJpZ2dlcnMgfHwgdHlwZW9mIHRyaWdnZXJzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRyaWdnZXJzKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2lkLCBlbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModHJpZ2dlcnMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVsnT3V0cHV0J107XHJcbiAgICAgIGlmICghb3V0cHV0KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgcGVyVHJpZ2dlckF1dG9Db25maWdbaWRdID0ge1xyXG4gICAgICAgIGVuYWJsZWQ6IG91dHB1dCAhPT0gJ2Rpc2FibGVkJyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9LFxyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTnVtTGl2ZUxpc3RJdGVtc0luQ29tYmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTnVtYmVyIG9mIG1pc3Rha2VzIHRvIHNob3cgaW4gY29tYmF0JyxcclxuICAgICAgICBkZTogJ0FuemFobCBkZXIgRmVobGVyLCBkaWUgd8OkaHJlbmQgZGVzIEthbXBmZXMgYW5nZXplaWd0IHdlcmRlbicsXHJcbiAgICAgICAgZnI6ICdOb21icmUgZGUgZmF1dGVzIMOgIGFmZmljaGVyIGVuIGNvbWJhdCcsXHJcbiAgICAgICAgamE6ICfmiKbpl5jkuK3jgavooajnpLrjgZnjgovjg5/jgrnjgpLjgZfjgZ/lm57mlbAnLFxyXG4gICAgICAgIGNuOiAn5oiY5paX5Lit5pi+56S655qE6ZSZ6K+v5pWw6YePJyxcclxuICAgICAgICBrbzogJ+yghO2IrCDspJEg7ZGc7Iuc7ZWgIOyLpOyImOuTpOydmCDqsJzsiJgnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ01pbmltdW1UaW1lRm9yUHVsbE1pc3Rha2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNaW5pbXVtIHRpbWUgdG8gc2hvdyBlYXJseSBwdWxsIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdNaW5pbXVtIFplaXQgaW4gZGVyIEVhcmx5LVB1bGxzIGFuZ2V6ZWlndCB3ZXJkZW4gKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgbWluaW1hbGUgcG91ciBhZmZpY2hlciBsXFwnZWFybHkgcHVsbCAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+OCv+OCsuWPluOCi+OBruOBjOaXqeOBi+OBo+OBn+OCieOAgeODn+OCueOBqOOBl+OBpuihqOekuuOBmeOCi+OAgeOCq+OCpuODs+ODiOODgOOCpuODs+OBqOOBruacgOefreaZgumWkyAo56eSKScsXHJcbiAgICAgICAgY246ICfmmL7npLrmj5DliY3lvIDmgKrmnIDlsI/ml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn7ZKA66eB7J20IOu5oOultOuLpOqzoCDtkZzsi5wg7ZWgIOy1nOyGjCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVUb1Nob3dEZWF0aFJlcG9ydFNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTZWNvbmRzIHRvIHNob3cgZGVhdGggcmVwb3J0IG9uIGRlYXRoICgwPW5vbmUpJyxcclxuICAgICAgICBkZTogJ1Nla3VuZGVuIHVtIGRlbiBUb2Rlc3JlcG9ydCBiZWltIFRvdCBhbnp1emVpZ2VuICgwPW5pZW1hbHMpJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBk4oCZYWZmaWNoYWdlIChlbiBzZWNvbmRlcykgZHUgcmFwcG9ydCBkZSBtb3J0ICgwID0gYXVjdW4pJyxcclxuICAgICAgICBqYTogJ+WAkuOCjOOBn+aZguOBq+ODh+OCueODrOODneODvOODiOOCkuihqOekuiAoMD3pnZ7ooajnpLopJyxcclxuICAgICAgICBjbjogJ+atu+S6oeaXtuaYvuekuuatu+S6oeaKpeWRiueahOenkuaVsCAoMD3kuI3mmL7npLopJyxcclxuICAgICAgICBrbzogJ+yjveyXiOydhCDrlYwg7IKs66edIOuztOqzoOyEnOulvCDrs7Tsl6zso7zripQg7Iuc6rCEKOy0iCkgKDA967mE7Zmc7ISx7ZmUKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDQsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBzZWNvbmRzO1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgc2Vjb25kcyA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICBzZWNvbmRzID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ1RpbWVUb1Nob3dEZWF0aFJlcG9ydE1zJ10gPSBzZWNvbmRzICogMTAwMDtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVhdGhSZXBvcnRTaWRlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSG93IHRvIHNob3cgdGhlIGRlYXRoIHJlcG9ydCcsXHJcbiAgICAgICAgZGU6ICdXaWUgemVpZ2UgaWNoIGRlbiBUb2Rlc3JlcG9ydCBhbicsXHJcbiAgICAgICAgZnI6ICdPw7kgYWZmaWNoZXIgbGUgcmFwcG9ydCBkZSBtb3J0JyxcclxuICAgICAgICBqYTogJ+ODh+OCueODrOODneODvOODiOOBruihqOekuuaWueazlScsXHJcbiAgICAgICAgY246ICfmrbvkuqHmiqXlkYrnmoTmmL7npLrmlrnlvI8nLFxyXG4gICAgICAgIGtvOiAn7IKs66edIOuztOqzoOyEnCDtkZzsi5wg7JyE7LmYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ0xlZnQgU2lkZSc6ICdsZWZ0JyxcclxuICAgICAgICAgICdSaWdodCBTaWRlJzogJ3JpZ2h0JyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdMZWZ0IFNpZGUnOiAnbGlua3MnLFxyXG4gICAgICAgICAgJ1JpZ2h0IFNpZGUnOiAncmVjaHRzJyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGVha3RpdmllcnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdDw7R0w6kgZ2F1Y2hlJzogJ2dhdWNoZScsXHJcbiAgICAgICAgICAnQ8O0dMOpIGRyb2l0JzogJ2Ryb2l0ZScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2TDqXNhY3RpdsOpJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn5bem5YG0JzogJ2xlZnQnLFxyXG4gICAgICAgICAgJ+WPs+WBtCc6ICdyaWdodCcsXHJcbiAgICAgICAgICAn4p2MIOeEoeWKuSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+W3puS+pyc6ICdsZWZ0JyxcclxuICAgICAgICAgICflj7PkvqcnOiAncmlnaHQnLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfsmbzsqr0nOiAnbGVmdCcsXHJcbiAgICAgICAgICAn7Jik66W47Kq9JzogJ3JpZ2h0JyxcclxuICAgICAgICAgICfinYwg67mE7Zmc7ISx7ZmUJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnbGVmdCcsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn07XHJcblxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIF9maWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4gIGJhc2VPcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHtcclxuICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAvLyB3aGF0IHR5cGUgb2Ygb3B0aW9ucyBpdCBpcyB1c2luZy5cclxuICBjb25zdCBvcHRpb25zID0gYmFzZU9wdGlvbnMgYXMgT29wc3lPcHRpb25zO1xyXG5cclxuICBpZiAoIW9wdGlvbnMuVHJpZ2dlcnMpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgYmFzZVRyaWdnZXJTZXQgb2Ygb3B0aW9ucy5UcmlnZ2Vycykge1xyXG4gICAgY29uc3Qgc2V0OiBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuICB9XHJcbn07XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygnb29wc3lyYWlkc3knLCB0ZW1wbGF0ZU9wdGlvbnMsIHVzZXJGaWxlSGFuZGxlcik7XHJcbiIsImltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygncmFkYXInLCB7XHJcbiAgb3B0aW9uczogW1xyXG4gICAge1xyXG4gICAgICBpZDogJ0JSYW5rRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0ItUmFuayBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0ItUmFuayBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnUmFuZy1CIGFjdGl2w6knLFxyXG4gICAgICAgIGphOiAn44Op44Oz44KvQuODouODlicsXHJcbiAgICAgICAgY246ICflvIDlkK9C5oCq5o6i5rWLJyxcclxuICAgICAgICBrbzogJ0Lrnq3tgawg7ZGc7IucJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGV0ZWN0aW9uUmFuZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNaW5pbXVtIGRpc3RhbmNlIHRvIGRldGVjdCBtb2JzICh5YWxtcyknLFxyXG4gICAgICAgIGRlOiAnTWluaW11bSBFbnRmZXJudW5nIHVtIE1vYnMgenUgZXJrZW5uZW4gKGluIFlhbG1zKScsXHJcbiAgICAgICAgZnI6ICdEaXN0YW5jZSBtaW5pbWFsZSBkZSBkw6l0ZWN0aW9uIGRlcyBtb2JzICh5YWxtcyknLFxyXG4gICAgICAgIGphOiAn5pyA55+t5o6i5ris6Led6ZuiICjjg6Tjg6vjg6ApJyxcclxuICAgICAgICBjbjogJ+acgOefreaOoua1i+i3neemuyAo57GzKScsXHJcbiAgICAgICAga286ICfrqqzsiqTthLDrpbwg7YOQ7KeA7ZWgIOy1nOyGjCDqsbDrpqwgKOuvuO2EsCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdUVFMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbm5vdW5jZSBuZXcgbW9icyB3aXRoIHRleHQgdG8gc3BlZWNoJyxcclxuICAgICAgICBkZTogJ0vDvG5kaWdlIG5ldWUgTW9icyBtaXQgVFRTIGFuJyxcclxuICAgICAgICBmcjogJ0Fubm9uY2VyIGxlcyBub3V2ZWF1eCBtb2JzIHZpYSBUVFMnLFxyXG4gICAgICAgIGphOiAn5rK444GN44Oi44OW44KS5o6i55+l44GX44Gf44KJVFRT44Gn55+l44KJ44Gb44KLJyxcclxuICAgICAgICBjbjogJ+S9v+eUqFRUU+aPkOmGkuaWsOWPkeeOsOebruaghycsXHJcbiAgICAgICAga286ICfsg4gg66qs7Iqk7YSw66W8IFRUU+uhnCDslYzrprwnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wU291bmRBbGVydCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0Fubm91bmNlIG5ldyBtb2JzIHdpdGggYSBzb3VuZCcsXHJcbiAgICAgICAgZGU6ICdLw7xuZGlnZSBuZXVlIE1vYnMgbWl0IGVpbmVtIFNvdW5kIGFuJyxcclxuICAgICAgICBmcjogJ0Fubm9uY2VyIGxlcyBub3V2ZWF1eCBtb2JzIGF2ZWMgdW4gc29uJyxcclxuICAgICAgICBqYTogJ+ayuOOBjeODouODluOCkuaOouefpeOBl+OBn+OCiemfs+WjsOOBp+efpeOCieOBm+OCiycsXHJcbiAgICAgICAgY246ICfkvb/nlKjpooTorr7mj5DnpLrpn7Pmj5DphpLmlrDlj5HnjrDnm67moIcnLFxyXG4gICAgICAgIGtvOiAn7IOIIOuqrOyKpO2EsOulvCDshozrpqzroZwg7JWM66a8JyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9wVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVm9sdW1lIHRvIHBsYXkgcG9wIHNvdW5kICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhdXRzdMOkcmtlIGbDvHIgZGVuIFBvcHNvdW5kICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9ycyBkXFwndW5lIGFwcGFyaXRpb24gKDAtMSknLFxyXG4gICAgICAgIGphOiAn44GK55+l44KJ44Gb6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC41LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQdWxsZXInLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IHB1bGxlciBvZiBtb2InLFxyXG4gICAgICAgIGRlOiAnWmVpZ2UgZGVuIGVyc3RlbiBBbmdyZWlmZXIgZWluZXMgTW9icyBhbicsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsZSBwdWxsZXIgZHUgbW9iJyxcclxuICAgICAgICBqYTogJ+acgOWIneOBq+OCv+OCsuWPluOBo+OBn+S6uuOBruWQjeWJjeOCkuihqOekuicsXHJcbiAgICAgICAgY246ICfmmL7npLrnm67moIflvIDmgKrogIXnmoTlkI3np7AnLFxyXG4gICAgICAgIGtvOiAn66qs7Iqk7YSw66W8IO2SgOunge2VnCDsgqzrnowg7ZGc7IucJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUG9zaXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTaG93IHBvc2l0aW9uIG9mIG1vYicsXHJcbiAgICAgICAgZGU6ICdaZWlnZSBkaWUgUG9zaXRpb24gZWluZXMgTW9icycsXHJcbiAgICAgICAgZnI6ICdBZmZpY2hlciBsYSBwb3NpdGlvbiBkdSBtb2InLFxyXG4gICAgICAgIGphOiAn5rK444GN44Oi44OW44Gu5L2N572u44KS6KGo56S6JyxcclxuICAgICAgICBjbjogJ+aYvuekuuebruagh+S9jee9ricsXHJcbiAgICAgICAga286ICfrqqzsiqTthLDsnZgg7JyE7LmYIO2RnOyLnCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pO1xyXG4iLCJpbXBvcnQgeyBQYXJ0eSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCBVdGlsIGZyb20gJy4vdXRpbCc7XHJcblxyXG5jb25zdCBlbXB0eVJvbGVUb1BhcnR5TmFtZXMgPSAoKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRhbms6IFtdLFxyXG4gICAgaGVhbGVyOiBbXSxcclxuICAgIGRwczogW10sXHJcbiAgICBjcmFmdGVyOiBbXSxcclxuICAgIGdhdGhlcmVyOiBbXSxcclxuICAgIG5vbmU6IFtdLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0eVRyYWNrZXIge1xyXG4gIGRldGFpbHM6IFBhcnR5W10gPSBbXTtcclxuICBwYXJ0eU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBwYXJ0eUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VOYW1lc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VJZHNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5hbWVUb1JvbGVfOiB7IFtuYW1lOiBzdHJpbmddOiBSb2xlIH0gPSB7fTtcclxuICBpZFRvTmFtZV86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHJvbGVUb1BhcnR5TmFtZXNfOiBSZWNvcmQ8Um9sZSwgc3RyaW5nW10+ID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcblxyXG4gIC8vIEJpbmQgdGhpcyB0byBQYXJ0eUNoYW5nZWQgZXZlbnRzLlxyXG4gIG9uUGFydHlDaGFuZ2VkKGU6IHsgcGFydHk6IFBhcnR5W10gfSk6IHZvaWQge1xyXG4gICAgaWYgKCFlIHx8ICFlLnBhcnR5KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5kZXRhaWxzID0gZS5wYXJ0eTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHAgb2YgZS5wYXJ0eSkge1xyXG4gICAgICB0aGlzLmFsbGlhbmNlSWRzXy5wdXNoKHAuaWQpO1xyXG4gICAgICB0aGlzLmFsbGlhbmNlTmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgY29uc3Qgam9iTmFtZSA9IFV0aWwuam9iRW51bVRvSm9iKHAuam9iKTtcclxuICAgICAgY29uc3Qgcm9sZSA9IFV0aWwuam9iVG9Sb2xlKGpvYk5hbWUpO1xyXG4gICAgICB0aGlzLmlkVG9OYW1lX1twLmlkXSA9IHAubmFtZTtcclxuICAgICAgdGhpcy5uYW1lVG9Sb2xlX1twLm5hbWVdID0gcm9sZTtcclxuICAgICAgaWYgKHAuaW5QYXJ0eSkge1xyXG4gICAgICAgIHRoaXMucGFydHlJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgICAgdGhpcy5wYXJ0eU5hbWVzXy5wdXNoKHAubmFtZSk7XHJcbiAgICAgICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1tyb2xlXS5wdXNoKHAubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgLy8gb3JpZ2luYWwgZXZlbnQgZGF0YVxyXG4gICAgdGhpcy5kZXRhaWxzID0gW107XHJcbiAgICB0aGlzLnBhcnR5TmFtZXNfID0gW107XHJcbiAgICB0aGlzLnBhcnR5SWRzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZU5hbWVzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZUlkc18gPSBbXTtcclxuICAgIHRoaXMubmFtZVRvUm9sZV8gPSB7fTtcclxuICAgIHRoaXMuaWRUb05hbWVfID0ge307XHJcblxyXG4gICAgLy8gcm9sZSAtPiBbbmFtZXNdIGJ1dCBvbmx5IGZvciBwYXJ0eVxyXG4gICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzXyA9IGVtcHR5Um9sZVRvUGFydHlOYW1lcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCBwYXJ0eU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5TmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcnR5SWRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5SWRzXztcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIHBsYXllcnMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGdldCBhbGxpYW5jZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmFsbGlhbmNlTmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgdGFua3MgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgdGFua05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWyd0YW5rJ107XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBoZWFsZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGhlYWxlck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGRwcyBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGRwc05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydkcHMnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBwYXJ0aWN1bGFyIHJvbGVcclxuICBpc1JvbGUobmFtZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWVUb1JvbGVfW25hbWVdID09PSByb2xlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHRhbmtcclxuICBpc1RhbmsobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ3RhbmsnKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBoZWFsZXJcclxuICBpc0hlYWxlcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnaGVhbGVyJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgZHBzXHJcbiAgaXNEUFMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ2RwcycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBpblBhcnR5KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGlzIGluIHlvdXIgYWxsaWFuY2VcclxuICBpbkFsbGlhbmNlKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBhIG5hbWVkIHBsYXllciwgcmV0dXJucyB0aGUgb3RoZXIgdGFuayBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIC8vIGlmIG5hbWVkIHBsYXllciBpcyBub3QgYSB0YW5rLCBvciB0aGVyZSdzIG5vdCBleGFjdGx5IHR3byB0YW5rc1xyXG4gIC8vIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5LCByZXR1cm5zIG51bGwuXHJcbiAgb3RoZXJUYW5rKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMudGFua05hbWVzO1xyXG4gICAgaWYgKG5hbWVzLmxlbmd0aCAhPT0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKG5hbWVzWzBdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMV07XHJcbiAgICBpZiAobmFtZXNbMV0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1swXTtcclxuICB9XHJcblxyXG4gIC8vIHNlZTogb3RoZXJUYW5rLCBidXQgZm9yIGhlYWxlcnMuXHJcbiAgb3RoZXJIZWFsZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1snaGVhbGVyJ107XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0aGUgam9iIG5hbWUgb2YgdGhlIHNwZWNpZmllZCBwYXJ0eSBtZW1iZXJcclxuICBqb2JOYW1lKG5hbWU6IHN0cmluZyk6IEpvYiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBwYXJ0eUluZGV4ID0gdGhpcy5wYXJ0eU5hbWVzLmluZGV4T2YobmFtZSk7XHJcbiAgICBpZiAocGFydHlJbmRleCA+PSAwKVxyXG4gICAgICByZXR1cm4gVXRpbC5qb2JFbnVtVG9Kb2IodGhpcy5kZXRhaWxzW3BhcnR5SW5kZXhdPy5qb2IgYXMgbnVtYmVyKTtcclxuICB9XHJcblxyXG4gIG5hbWVGcm9tSWQoaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFRvTmFtZV9baWRdO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb29zZVRyaWdnZXJTZXQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgVHJpZ2dlckZpZWxkLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG4vLyBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgYmFzZSBvcHRpb25zIHRoYXQgcmFpZGJvc3MgZXhwZWN0cyB0byBzZWUuXHJcblxyXG4vLyBCYWNrd2FyZHMgY29tcGF0IGZvciB0aGlzIG9sZCBzdHlsZSBvZiBvdmVycmlkaW5nIHRyaWdnZXJzLlxyXG4vLyBUT0RPOiB3ZSBzaG91bGQgcHJvYmFibHkgZGVwcmVjYXRlIGFuZCByZW1vdmUgdGhpcy5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbiA9IFBhcnRpYWw8e1xyXG4gIFRleHRBbGVydDogYm9vbGVhbjtcclxuICBTb3VuZEFsZXJ0OiBib29sZWFuO1xyXG4gIFNwZWVjaEFsZXJ0OiBib29sZWFuO1xyXG4gIEdyb3VwU3BlZWNoQWxlcnQ6IGJvb2xlYW47IC8vIFRPRE86IHdlIHNob3VsZCByZW1vdmUgdGhpc1xyXG4gIFNvdW5kT3ZlcnJpZGU6IHN0cmluZztcclxuICBWb2x1bWVPdmVycmlkZTogbnVtYmVyO1xyXG4gIENvbmRpdGlvbjogVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgYm9vbGVhbj47XHJcbiAgSW5mb1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGVydFRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGFybVRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBUVFNUZXh0OiBUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz47XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVDb25maWcgPSBQYXJ0aWFsPHtcclxuICBJZ25vcmU6IHN0cmluZ1tdO1xyXG4gIFJlbmFtZTogeyBbdGV4dDogc3RyaW5nXTogc3RyaW5nIH07XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlckF1dG9Db25maWcgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbmV4cG9ydCB0eXBlIFBlclRyaWdnZXJPcHRpb25zID0geyBbdHJpZ2dlcklkOiBzdHJpbmddOiBQZXJUcmlnZ2VyT3B0aW9uIH07XHJcbmV4cG9ydCB0eXBlIERpc2FibGVkVHJpZ2dlcnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuZXhwb3J0IHR5cGUgUGVyWm9uZVRpbWVsaW5lQ29uZmlnID0geyBbem9uZUlkOiBudW1iZXJdOiBUaW1lbGluZUNvbmZpZyB9O1xyXG5cclxudHlwZSBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHsgW2dhbWVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICBJbmZvU291bmQ6IHN0cmluZztcclxuICBBbGVydFNvdW5kOiBzdHJpbmc7XHJcbiAgQWxhcm1Tb3VuZDogc3RyaW5nO1xyXG4gIExvbmdTb3VuZDogc3RyaW5nO1xyXG4gIFB1bGxTb3VuZDogc3RyaW5nO1xyXG4gIEF1ZGlvQWxsb3dlZDogYm9vbGVhbjtcclxuICBEaXNhYmxlZFRyaWdnZXJzOiBEaXNhYmxlZFRyaWdnZXJzO1xyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiBQZXJUcmlnZ2VyQXV0b0NvbmZpZztcclxuICBQZXJUcmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbnM7XHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiBQZXJab25lVGltZWxpbmVDb25maWc7XHJcbiAgVHJpZ2dlcnM6IExvb3NlVHJpZ2dlclNldFtdO1xyXG4gIFBsYXllck5hbWVPdmVycmlkZT86IHN0cmluZztcclxuICBJc1JlbW90ZVJhaWRib3NzOiBib29sZWFuO1xyXG4gIC8vIFRyYW5zZm9ybXMgdGV4dCBiZWZvcmUgcGFzc2luZyBpdCB0byBUVFMuXHJcbiAgVHJhbnNmb3JtVHRzOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBUaGVzZSBvcHRpb25zIGFyZSBvbmVzIHRoYXQgYXJlIG5vdCBhdXRvLWRlZmluZWQgYnkgcmFpZGJvc3NfY29uZmlnLmpzLlxyXG5jb25zdCBkZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zOiBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHt9LFxyXG5cclxuICBJbmZvU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9wZXJjdXNzaW9uX2hpdC53ZWJtJyxcclxuICBBbGVydFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0FsZXJ0LndlYm0nLFxyXG4gIEFsYXJtU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxhcm0ud2VibScsXHJcbiAgTG9uZ1NvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0xvbmcud2VibScsXHJcbiAgUHVsbFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9mcmVlc291bmQvc29uYXIud2VibScsXHJcblxyXG4gIEF1ZGlvQWxsb3dlZDogdHJ1ZSxcclxuXHJcbiAgRGlzYWJsZWRUcmlnZ2Vyczoge30sXHJcblxyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiB7fSxcclxuICBQZXJUcmlnZ2VyT3B0aW9uczoge30sXHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiB7fSxcclxuXHJcbiAgVHJpZ2dlcnM6IFtdLFxyXG5cclxuICBJc1JlbW90ZVJhaWRib3NzOiBmYWxzZSxcclxuXHJcbiAgVHJhbnNmb3JtVHRzOiAodCkgPT4gdCxcclxufTtcclxuXHJcbi8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIGdldCB0aGlzIHR5cGUgZnJvbSByYWlkYm9zc19jb25maWc/P1xyXG4vLyBUaGVzZSB2YWx1ZXMgYXJlIG92ZXJ3cml0dGVuIGFuZCBhcmUganVzdCBoZXJlIGZvciB0eXBpbmcuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMgPSB7XHJcbiAgRGVidWc6IGZhbHNlLFxyXG4gIERlZmF1bHRBbGVydE91dHB1dDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgQWxlcnRzTGFuZ3VhZ2U6IHVuZGVmaW5lZCBhcyAoTGFuZyB8IHVuZGVmaW5lZCksXHJcbiAgVGltZWxpbmVMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUVuYWJsZWQ6IHRydWUsXHJcbiAgQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICBTaG93VGltZXJCYXJzQXRTZWNvbmRzOiAzMCxcclxuICBLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHM6IDAuNyxcclxuICBCYXJFeHBpcmVzU29vblNlY29uZHM6IDYsXHJcbiAgTWF4TnVtYmVyT2ZUaW1lckJhcnM6IDYsXHJcbiAgRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kczogMyxcclxuICBBbGFybVNvdW5kVm9sdW1lOiAxLFxyXG4gIEFsZXJ0U291bmRWb2x1bWU6IDEsXHJcbiAgSW5mb1NvdW5kVm9sdW1lOiAxLFxyXG4gIExvbmdTb3VuZFZvbHVtZTogMSxcclxuICBQdWxsU291bmRWb2x1bWU6IDEsXHJcbiAgUnVtYmxlRW5hYmxlZDogZmFsc2UsXHJcbiAgSW5mb1J1bWJsZUR1cmF0aW9uOiA0MDAsXHJcbiAgSW5mb1J1bWJsZVdlYWs6IDAuNSxcclxuICBJbmZvUnVtYmxlU3Ryb25nOiAwLFxyXG4gIEFsZXJ0UnVtYmxlRHVyYXRpb246IDUwMCxcclxuICBBbGVydFJ1bWJsZVdlYWs6IDAsXHJcbiAgQWxlcnRSdW1ibGVTdHJvbmc6IDAuNSxcclxuICBBbGFybVJ1bWJsZUR1cmF0aW9uOiA3NTAsXHJcbiAgQWxhcm1SdW1ibGVXZWFrOiAwLjc1LFxyXG4gIEFsYXJtUnVtYmxlU3Ryb25nOiAwLjc1LFxyXG4gIGNhY3Rib3RXb3JtaG9sZVN0cmF0OiBmYWxzZSxcclxuICBjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQ6IGZhbHNlLFxyXG59O1xyXG50eXBlIFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWlkYm9zc09wdGlvbnNcclxuICBleHRlbmRzIEJhc2VPcHRpb25zLCBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMsIFJhaWRib3NzQ29uZmlnT3B0aW9ucyB7fVxyXG5cclxuLy8gU2VlIHVzZXIvcmFpZGJvc3MtZXhhbXBsZS5qcyBmb3IgZG9jdW1lbnRhdGlvbi5cclxuY29uc3QgT3B0aW9uczogUmFpZGJvc3NPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgT3B0aW9ucztcclxuIiwiLy8gVE9ETzogbWF5YmUgdGhpcyBzaG91bGQgYmUgc3RydWN0dXJlZCBpZGVudGljYWxseSB0byBhIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9uLlxyXG5cclxuaW1wb3J0IHsgTGFuZywgTm9uRW5MYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcblxyXG4vLyBJdCdzIGF3a3dhcmQgdG8gcmVmZXIgdG8gdGhlc2Ugc3RyaW5nIGtleXMsIHNvIG5hbWUgdGhlbSBhcyByZXBsYWNlU3luY1trZXlzLnNlYWxLZXldLlxyXG5leHBvcnQgY29uc3Qgc3luY0tleXMgPSB7XHJcbiAgLy8gTWF0Y2ggUmVnZXhlcywgTmV0UmVnZXhlcywgYW5kIHRpbWVsaW5lIGNvbnN0cnVjdGlvbnMgb2Ygc2VhbCBsb2cgbGluZXMuXHJcbiAgLy8gRklYTUU6IFRoaXMgc2VhbCByZWdleCBpbmNsdWRlcyBhbiBvcHRpb25hbCBzZWNvbmQgY29sb24sIGFzIFwiMDgzOTo6P1wiXCIuXHJcbiAgLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlbHkgY29udmVydGVkIHRoaW5ncyBmb3IgNi4wLFxyXG4gIC8vIHdlIHNob3VsZCBjb21lIGJhY2sgaGVyZSBhbmQgbWFrZSB0aGUgZG91YmxlZCBjb2xvbiBub24tb3B0aW9uYWwuXHJcbiAgc2VhbDogJyg/PD0wMDowODM5Ojp8MDBcXFxcfFtefF0qXFxcXHwwODM5XFxcXHxcXFxcfCkoLiopIHdpbGwgYmUgc2VhbGVkIG9mZig/OiBpbiAoPzpbMC05XSsgc2Vjb25kcyk/KT8nLFxyXG4gIHVuc2VhbDogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gIGVuZ2FnZTogJ0VuZ2FnZSEnLFxyXG59O1xyXG5cclxuY29uc3QgdGV4dEtleXMgPSB7XHJcbiAgLy8gTWF0Y2ggZGlyZWN0aW9ucyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKE4pYCwgYChTVylgLCBgKE5FL05XKWAsIGV0Yy5cclxuICBFOiAnKD88PSBcXFxcKHxcXFxcLylFKD89XFxcXCl8XFxcXC8pJyxcclxuICBOOiAnKD88PSBcXFxcKHxcXFxcLylOKD89XFxcXCl8XFxcXC8pJyxcclxuICBTOiAnKD88PSBcXFxcKHxcXFxcLylTKD89XFxcXCl8XFxcXC8pJyxcclxuICBXOiAnKD88PSBcXFxcKHxcXFxcLylXKD89XFxcXCl8XFxcXC8pJyxcclxuICBORTogJyg/PD0gXFxcXCh8XFxcXC8pTkUoPz1cXFxcKXxcXFxcLyknLFxyXG4gIE5XOiAnKD88PSBcXFxcKHxcXFxcLylOVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU0U6ICcoPzw9IFxcXFwofFxcXFwvKVNFKD89XFxcXCl8XFxcXC8pJyxcclxuICBTVzogJyg/PD0gXFxcXCh8XFxcXC8pU1coPz1cXFxcKXxcXFxcLyknLFxyXG4gIC8vIE1hdGNoIFJvbGVzIGluIHJlcGxhY2VUZXh0XHJcbiAgLy8gZWc6IGAoVGFuaylgLCBgKEhlYWxlcilgLCBgKERQUylgLCBldGNcclxuICBUYW5rOiAnKD88PSBcXFxcKHxcXFxcLylUYW5rcz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIEhlYWxlcjogJyg/PD0gXFxcXCh8XFxcXC8pSGVhbGVycz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIERQUzogJyg/PD0gXFxcXCh8XFxcXC8pRFBTKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBgLS0xLS1gIHN0eWxlIHRleHQuXHJcbiAgTnVtYmVyOiAnLS0oXFxcXHMqXFxcXGQrXFxcXHMqKS0tJyxcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1vblJlcGxhY2VtZW50ID0ge1xyXG4gIHJlcGxhY2VTeW5jOiB7XHJcbiAgICBbcmVwbGFjZUtleTogc3RyaW5nXTogeyBba2V5IGluIExhbmddPzogc3RyaW5nIH07XHJcbiAgfTtcclxuICByZXBsYWNlVGV4dDoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106XHJcbiAgICAgICYge1xyXG4gICAgICAgIFtrZXkgaW4gTm9uRW5MYW5nXT86IHN0cmluZztcclxuICAgICAgfVxyXG4gICAgICAmIHtcclxuICAgICAgICAvLyBkb24ndCBzZXQgdGhpcyBrZXksIGJ1dCBhbGxvdyB1cyB0byBhc2sgaWYgaXQgZXhpc3RzXHJcbiAgICAgICAgZW4/OiBuZXZlcjtcclxuICAgICAgfTtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbW1vblJlcGxhY2VtZW50OiBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3N5bmNLZXlzLnNlYWxdOiB7XHJcbiAgICAgIGVuOiAnJDEgd2lsbCBiZSBzZWFsZWQgb2ZmJyxcclxuICAgICAgZGU6XHJcbiAgICAgICAgJ05vY2ggMTUgU2VrdW5kZW4sIGJpcyBzaWNoICg/Oig/OmRlcnxkaWV8ZGFzKSApPyg/Olp1Z2FuZyB6dSg/OltybV18IGRlbik/ICk/JDEgc2NobGllw590JyxcclxuICAgICAgZnI6ICdGZXJtZXR1cmUgZCg/OmV8dXxlcykgKD86bFxcJ3xsYSB8bGVzPyApPyQxIGRhbnMnLFxyXG4gICAgICBqYTogJyQx44Gu5bCB6Y6W44G+44Gn44GC44GoJyxcclxuICAgICAgY246ICfot50kMeiiq+WwgemUgei/mOaciScsXHJcbiAgICAgIGtvOiAnMTXstIgg7ZuE7JeQICQxKD867J20fOqwgCkg67SJ7IeE65Cp64uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMudW5zZWFsXToge1xyXG4gICAgICBlbjogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gICAgICBkZTogJ8O2ZmZuZXQgc2ljaCAoPzp3aWVkZXJ8ZXJuZXV0KScsXHJcbiAgICAgIGZyOiAnT3V2ZXJ0dXJlICcsXHJcbiAgICAgIGphOiAn44Gu5bCB6Y6W44GM6Kej44GL44KM44GfJyxcclxuICAgICAgY246ICfnmoTlsIHplIHop6PpmaTkuoYnLFxyXG4gICAgICBrbzogJ+ydmCDrtInsh4TqsIAg7ZW07KCc65CY7JeI7Iq164uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMuZW5nYWdlXToge1xyXG4gICAgICBlbjogJ0VuZ2FnZSEnLFxyXG4gICAgICBkZTogJ1N0YXJ0IScsXHJcbiAgICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWUnLFxyXG4gICAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICAgIGNuOiAn5oiY5paX5byA5aeL77yBJyxcclxuICAgICAga286ICfsoITtiKwg7Iuc7J6RIScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgICctLWFkZHMgc3Bhd24tLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZFxcJ2FkZHMtLScsXHJcbiAgICAgIGphOiAnLS3pm5HprZrlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lsI/mgKrlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3sq4Qg7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWFkZHMgdGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tQWRkcyBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLUFkZHMgY2libGFibGVzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Y+v6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIO2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2VudGVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1NaXR0ZS0tJyxcclxuICAgICAgZnI6ICctLUNlbnRyZS0tJyxcclxuICAgICAgamE6ICctLeOCu+ODs+OCv+ODvC0tJyxcclxuICAgICAgY246ICctLeS4reWkri0tJyxcclxuICAgICAga286ICctLeykkeyVmS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChjZW50ZXJcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoTWl0dGUpJyxcclxuICAgICAgZnI6ICcoQ2VudHJlKScsXHJcbiAgICAgIGphOiAnKOOCu+ODs+OCv+ODvCknLFxyXG4gICAgICBjbjogJyjkuK3lpK4pJyxcclxuICAgICAga286ICco7KSR7JWZKScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2xvbmVzIGFwcGVhci0tJzoge1xyXG4gICAgICBkZTogJy0tS2xvbmUgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZGVzIGNsb25lcy0tJyxcclxuICAgICAgamE6ICctLeW5u+W9seWHuuePvi0tJyxcclxuICAgICAgY246ICctLeW5u+W9seWHuueOsC0tJyxcclxuICAgICAga286ICctLeu2hOyLoCDshoztmZgtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY29ybmVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1FY2tlLS0nLFxyXG4gICAgICBmcjogJy0tQ29pbi0tJyxcclxuICAgICAgamE6ICctLeOCs+ODvOODiuODvC0tJyxcclxuICAgICAgY246ICctLeinkuiQvS0tJyxcclxuICAgICAga286ICctLeq1rOyEnS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1kcHMgYnVybi0tJzoge1xyXG4gICAgICBkZTogJy0tRFBTIGJ1cm4tLScsXHJcbiAgICAgIGZyOiAnLS1CdXJuIGRwcy0tJyxcclxuICAgICAgamE6ICctLeeBq+WKm+WHuuOBmy0tJyxcclxuICAgICAgY246ICctLei9rOeBqy0tJyxcclxuICAgICAga286ICctLeuUnCDssrTtgawtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tT3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3mnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJwtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoZWFzdFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhPc3RlbiknLFxyXG4gICAgICBmcjogJyhFc3QpJyxcclxuICAgICAgamE6ICco5p2xKScsXHJcbiAgICAgIGNuOiAnKOS4nCknLFxyXG4gICAgICBrbzogJyjrj5nsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnRW5yYWdlJzoge1xyXG4gICAgICBkZTogJ0ZpbmFsYW5ncmlmZicsXHJcbiAgICAgIGZyOiAnRW5yYWdlJyxcclxuICAgICAgamE6ICfmmYLplpPliIfjgownLFxyXG4gICAgICBjbjogJ+eLguaatCcsXHJcbiAgICAgIGtvOiAn7KCE66m46riwJyxcclxuICAgIH0sXHJcbiAgICAnLS1mcm96ZW4tLSc6IHtcclxuICAgICAgZGU6ICctLWVpbmdlZnJvcmVuLS0nLFxyXG4gICAgICBmcjogJy0tR2Vsw6ktLScsXHJcbiAgICAgIGphOiAnLS3lh43ntZAtLScsXHJcbiAgICAgIGNuOiAnLS3lhrvnu5MtLScsXHJcbiAgICAgIGtvOiAnLS3ruZnqsrAtLScsXHJcbiAgICB9LFxyXG4gICAgJy0taW4tLSc6IHtcclxuICAgICAgZGU6ICctLVJlaW4tLScsXHJcbiAgICAgIGZyOiAnLS1JbnTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5LitLS0nLFxyXG4gICAgICBjbjogJy0t5YaFLS0nLFxyXG4gICAgICBrbzogJy0t7JWILS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKEluXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJlaW4pJyxcclxuICAgICAgZnI6ICcoSW50w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjkuK0pJyxcclxuICAgICAgY246ICco5YaFKScsXHJcbiAgICAgIGtvOiAnKOyViCknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGlubmVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGlubmVuKScsXHJcbiAgICAgIGZyOiAnKGludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnLS1qdW1wLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1TcHJ1bmctLScsXHJcbiAgICAgIGZyOiAnLS1TYXV0LS0nLFxyXG4gICAgICBqYTogJy0t44K444Oj44Oz44OXLS0nLFxyXG4gICAgICBjbjogJy0t6LezLS0nLFxyXG4gICAgICBrbzogJy0t7KCQ7ZSELS0nLFxyXG4gICAgfSxcclxuICAgICctLWtub2NrYmFjay0tJzoge1xyXG4gICAgICBkZTogJy0tUsO8Y2tzdG/Dny0tJyxcclxuICAgICAgZnI6ICctLVBvdXNzw6llLS0nLFxyXG4gICAgICBqYTogJy0t44OO44OD44Kv44OQ44OD44KvLS0nLFxyXG4gICAgICBjbjogJy0t5Ye76YCALS0nLFxyXG4gICAgICBrbzogJy0t64SJ67CxLS0nLFxyXG4gICAgfSxcclxuICAgICctLW1pZGRsZS0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1NaWxpZXUtLScsXHJcbiAgICAgIGphOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGNuOiAnLS3kuK3pl7QtLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwobWlkZGxlXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKE1pbGlldSknLFxyXG4gICAgICBqYTogJyjkuK3lpK4pJyxcclxuICAgICAgY246ICco5Lit6Ze0KScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3JkZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLS0nLFxyXG4gICAgICBqYTogJy0t5YyXLS0nLFxyXG4gICAgICBjbjogJy0t5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG5vcnRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE5vcmRlbiknLFxyXG4gICAgICBmcjogJyhOb3JkKScsXHJcbiAgICAgIGphOiAnKOWMlyknLFxyXG4gICAgICBjbjogJyjljJcpJyxcclxuICAgICAga286ICco67aB7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLUVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+adsS0tJyxcclxuICAgICAgY246ICctLeS4nOWMly0tJyxcclxuICAgICAga286ICctLeu2geuPmS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aHdlc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU5vcmR3ZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5YyX6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLW91dC0tJzoge1xyXG4gICAgICBkZTogJy0tUmF1cy0tJyxcclxuICAgICAgZnI6ICctLUV4dMOpcmlldXItLScsXHJcbiAgICAgIGphOiAnLS3lpJYtLScsXHJcbiAgICAgIGNuOiAnLS3lpJYtLScsXHJcbiAgICAgIGtvOiAnLS3rsJYtLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoT3V0XFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJhdXMpJyxcclxuICAgICAgZnI6ICcoRXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGF1w59lbiknLFxyXG4gICAgICBmcjogJyhleHTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOWkliknLFxyXG4gICAgICBjbjogJyjlpJYpJyxcclxuICAgICAga286ICco67CWKScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwob3V0c2lkZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhEcmF1w59lbiknLFxyXG4gICAgICBmcjogJyjDgCBsXFwnZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSW6Z2iKScsXHJcbiAgICAgIGtvOiAnKOuwlOq5pSknLFxyXG4gICAgfSxcclxuICAgICctLXJvdGF0ZS0tJzoge1xyXG4gICAgICBkZTogJy0tcm90aWVyZW4tLScsXHJcbiAgICAgIGZyOiAnLS1yb3RhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeWbnui7oi0tJyxcclxuICAgICAgY246ICctLeaXi+i9rC0tJyxcclxuICAgICAga286ICctLe2ajOyghC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLS0nLFxyXG4gICAgICBqYTogJy0t5Y2XLS0nLFxyXG4gICAgICBjbjogJy0t5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKHNvdXRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFPDvGRlbiknLFxyXG4gICAgICBmcjogJyhTdWQpJyxcclxuICAgICAgamE6ICco5Y2XKScsXHJcbiAgICAgIGNuOiAnKOWNlyknLFxyXG4gICAgICBrbzogJyjrgqjsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aGVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRvc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljZfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljZctLScsXHJcbiAgICAgIGtvOiAnLS3rgqjrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNwbGl0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS10ZWlsZW4tLScsXHJcbiAgICAgIGZyOiAnLS1kaXZpc2lvbi0tJyxcclxuICAgICAgamE6ICctLeWIhuijgi0tJyxcclxuICAgICAgY246ICctLeWIhuijgi0tJyxcclxuICAgICAga286ICctLeu2hOyXtC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zdHVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1CZXTDpHVidW5nLS0nLFxyXG4gICAgICBmcjogJy0tw4l0b3VyZGlzc2VtZW50LS0nLFxyXG4gICAgICBqYTogJy0t44K544K/44OzLS0nLFxyXG4gICAgICBjbjogJy0t5Ye75pmVLS0nLFxyXG4gICAgICBrbzogJy0t6riw7KCILS0nLFxyXG4gICAgfSxcclxuICAgICctLXN5bmMtLSc6IHtcclxuICAgICAgZGU6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeOCt+ODs+OCry0tJyxcclxuICAgICAgY246ICctLeWQjOatpeWMli0tJyxcclxuICAgICAga286ICctLeuPmeq4sO2ZlC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS0oWzAtOV0reCApP3RhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLSQxYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS0kMWNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0tJDHjgr/jg7zjgrLjg4Pjg4jlj6/og70tLScsXHJcbiAgICAgIGNuOiAnLS0kMeWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLSQx7YOA6rKfIOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS10ZWxlcG9ydC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVsZXBvcnRhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXTDqWzDqXBvcnRhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeODhuODrOODneODvOODiC0tJyxcclxuICAgICAgY246ICctLeS8oOmAgS0tJyxcclxuICAgICAga286ICctLeyInOqwhCDsnbTrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdW50YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1uaWNoIGFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tbm9uIGNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0t44K/44O844Ky44OD44OI5LiN5Y+vLS0nLFxyXG4gICAgICBjbjogJy0t5peg5rOV6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7YOA6rKfIOu2iOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS13ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1XZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeilvy0tJyxcclxuICAgICAgY246ICctLeilvy0tJyxcclxuICAgICAga286ICctLeyEnOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRV06IHtcclxuICAgICAgZGU6ICdPJyxcclxuICAgICAgZnI6ICdFJyxcclxuICAgICAgamE6ICfmnbEnLFxyXG4gICAgICBjbjogJ+S4nCcsXHJcbiAgICAgIGtvOiAn64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTl06IHtcclxuICAgICAgZGU6ICdOJyxcclxuICAgICAgZnI6ICdOJyxcclxuICAgICAgamE6ICfljJcnLFxyXG4gICAgICBjbjogJ+WMlycsXHJcbiAgICAgIGtvOiAn67aBJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU106IHtcclxuICAgICAgZGU6ICdTJyxcclxuICAgICAgZnI6ICdTJyxcclxuICAgICAgamE6ICfljZcnLFxyXG4gICAgICBjbjogJ+WNlycsXHJcbiAgICAgIGtvOiAn64KoJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuV106IHtcclxuICAgICAgZGU6ICdXJyxcclxuICAgICAgZnI6ICdPJyxcclxuICAgICAgamE6ICfopb8nLFxyXG4gICAgICBjbjogJ+ilvycsXHJcbiAgICAgIGtvOiAn7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTkVdOiB7XHJcbiAgICAgIGRlOiAnTk8nLFxyXG4gICAgICBmcjogJ05FJyxcclxuICAgICAgamE6ICfljJfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWMlycsXHJcbiAgICAgIGtvOiAn67aB64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTlddOiB7XHJcbiAgICAgIGRlOiAnTlcnLFxyXG4gICAgICBmcjogJ05PJyxcclxuICAgICAgamE6ICfljJfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WMlycsXHJcbiAgICAgIGtvOiAn67aB7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU0VdOiB7XHJcbiAgICAgIGRlOiAnU08nLFxyXG4gICAgICBmcjogJ1NFJyxcclxuICAgICAgamE6ICfljZfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWNlycsXHJcbiAgICAgIGtvOiAn64Ko64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU1ddOiB7XHJcbiAgICAgIGRlOiAnU1cnLFxyXG4gICAgICBmcjogJ1NPJyxcclxuICAgICAgamE6ICfljZfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WNlycsXHJcbiAgICAgIGtvOiAn64Ko7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuVGFua106IHtcclxuICAgICAgZGU6ICdUYW5rJyxcclxuICAgICAgZnI6ICdUYW5rJyxcclxuICAgICAgamE6ICfjgr/jg7Pjgq8nLFxyXG4gICAgICBjbjogJ+WdpuWFiycsXHJcbiAgICAgIGtvOiAn7YOx7LukJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuSGVhbGVyXToge1xyXG4gICAgICBkZTogJ0hlaWxlcicsXHJcbiAgICAgIGZyOiAnSGVhbGVyJyxcclxuICAgICAgamE6ICfjg5Ljg7zjg6njg7wnLFxyXG4gICAgICBjbjogJ+ayu+eWlycsXHJcbiAgICAgIGtvOiAn7Z6Q65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRFBTXToge1xyXG4gICAgICBkZTogJ0RQUycsXHJcbiAgICAgIGZyOiAnRFBTJyxcclxuICAgICAgamE6ICdEUFMnLFxyXG4gICAgICBjbjogJ0RQUycsXHJcbiAgICAgIGtvOiAn65Sc65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTnVtYmVyXToge1xyXG4gICAgICBkZTogJy0tJDEtLScsXHJcbiAgICAgIGZyOiAnLS0kMS0tJyxcclxuICAgICAgamE6ICctLSQxLS0nLFxyXG4gICAgICBjbjogJy0tJDEtLScsXHJcbiAgICAgIGtvOiAnLS0kMS0tJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIEtleXMgaW50byBjb21tb25SZXBsYWNlbWVudCBvYmplY3RzIHRoYXQgcmVwcmVzZW50IFwicGFydGlhbFwiIHRyYW5zbGF0aW9ucyxcclxuLy8gaW4gdGhlIHNlbnNlIHRoYXQgZXZlbiBpZiBpdCBhcHBsaWVzLCB0aGVyZSBzdGlsbCBuZWVkcyB0byBiZSBhbm90aGVyXHJcbi8vIHRyYW5zbGF0aW9uIGZvciBpdCB0byBiZSBjb21wbGV0ZS4gIFRoZXNlIGtleXMgc2hvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWVcclxuLy8gYXMgdGhlIGtleXMgZnJvbSB0aGUgY29tbW9uUmVwbGFjZW1lbnQgYmxvY2sgYWJvdmUuXHJcbmV4cG9ydCBjb25zdCBwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzID0gW1xyXG4gIC8vIEJlY2F1c2UgdGhlIHpvbmUgbmFtZSBuZWVkcyB0byBiZSB0cmFuc2xhdGVkIGhlcmUsIHRoaXMgaXMgcGFydGlhbC5cclxuICBzeW5jS2V5cy5zZWFsLFxyXG4gIC8vIERpcmVjdGlvbnNcclxuICB0ZXh0S2V5cy5FLFxyXG4gIHRleHRLZXlzLk4sXHJcbiAgdGV4dEtleXMuUyxcclxuICB0ZXh0S2V5cy5XLFxyXG4gIHRleHRLZXlzLk5FLFxyXG4gIHRleHRLZXlzLk5XLFxyXG4gIHRleHRLZXlzLlNFLFxyXG4gIHRleHRLZXlzLlNXLFxyXG4gIC8vIFJvbGVzXHJcbiAgdGV4dEtleXMuVGFuayxcclxuICB0ZXh0S2V5cy5IZWFsZXIsXHJcbiAgdGV4dEtleXMuRFBTLFxyXG5dO1xyXG5cclxuLy8gUmVwbGFjZW1lbnQgd2hlbiB1c2luZyBLb3JlYW4gbGFuZ3VhZ2UgaW4gdGhlIHBhcnNlciwgYXMgdGhlIEtvcmVhbiB2ZXJzaW9uXHJcbi8vIGRvZXMgbm90IGhhdmUgdGhlIDYueCBjaGFuZ2VzIGZyb20gUmF2YWhuIHlldC5cclxuLy8gVGhlc2UgYXJlIGFwcGxpZWQgYWZ0ZXIgb3RoZXIgdHJhbnNsYXRpb25zIGFuZCBkb24ndCBjb3VudCBmb3IgY29sbGlzaW9ucy5cclxuLy8gVE9ETzogdGhpcyBtaXNzZXMgYSBmZXcgdGhpbmdzIGxpa2UgMUEgbGluZXMgaW4gYTdzL283bi9vN3MuXHJcbmV4cG9ydCBjb25zdCBiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2U6IHsgW3JlcGxhY2VLZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICcgMDA6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOic6ICcgMDA6JyxcclxuICAnIDAwOjA4Mzk6Oic6ICcgMDA6MDgzOTonLFxyXG4gICcgMTQ6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOihbXjpdKik6KFteOl0qKTonOiAnOiQyOiQxJyxcclxufTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCB7IExvb3NlVGltZWxpbmVUcmlnZ2VyLCBUcmlnZ2VyQXV0b0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlLCBjb21tb25SZXBsYWNlbWVudCB9IGZyb20gJy4vY29tbW9uX3JlcGxhY2VtZW50JztcclxuaW1wb3J0IGRlZmF1bHRPcHRpb25zLCB7IFJhaWRib3NzT3B0aW9ucywgVGltZWxpbmVDb25maWcgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVSZXBsYWNlbWVudCA9IHtcclxuICBsb2NhbGU6IExhbmc7XHJcbiAgbWlzc2luZ1RyYW5zbGF0aW9ucz86IGJvb2xlYW47XHJcbiAgcmVwbGFjZVN5bmM/OiB7IFtyZWdleFN0cmluZzogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVwbGFjZVRleHQ/OiB7IFt0aW1lbGluZVRleHQ6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVTdHlsZSA9IHtcclxuICBzdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICByZWdleDogUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnQgPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhY3RpdmVUaW1lPzogbnVtYmVyO1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgc29ydEtleT86IG51bWJlcjtcclxuICBpc0R1cj86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3IgPSB7XHJcbiAgbGluZU51bWJlcj86IG51bWJlcjtcclxuICBsaW5lPzogc3RyaW5nO1xyXG4gIGVycm9yOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTeW5jID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgb3JpZ1JlZ2V4U3RyOiBzdHJpbmc7XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpbWU6IG51bWJlcjtcclxuICBsaW5lTnVtYmVyOiBudW1iZXI7XHJcbiAganVtcD86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgUGFyc2VkUG9wdXBUZXh0ID0ge1xyXG4gIHR5cGU6ICdpbmZvJyB8ICdhbGVydCcgfCAnYWxhcm0nIHwgJ3R0cyc7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFRyaWdnZXJUZXh0ID0ge1xyXG4gIHR5cGU6ICd0cmlnZ2VyJztcclxuICBzZWNvbmRzQmVmb3JlPzogbnVtYmVyO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgbWF0Y2hlczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcclxuICB0cmlnZ2VyOiBMb29zZVRpbWVsaW5lVHJpZ2dlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlZFRleHQgPSBQYXJzZWRQb3B1cFRleHQgfCBQYXJzZWRUcmlnZ2VyVGV4dDtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHQgPSBQYXJzZWRUZXh0ICYgeyB0aW1lOiBudW1iZXIgfTtcclxuXHJcbi8vIFRoaXMgY2xhc3MgcmVhZHMgdGhlIGZvcm1hdCBvZiBBQ1QgVGltZWxpbmUgcGx1Z2luLCBkZXNjcmliZWQgaW5cclxuLy8gZG9jcy9UaW1lbGluZUd1aWRlLm1kXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVBhcnNlciB7XHJcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucztcclxuICBwcm90ZWN0ZWQgcGVyVHJpZ2dlckF1dG9Db25maWc6IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuICBwcm90ZWN0ZWQgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUNvbmZpZzogVGltZWxpbmVDb25maWc7XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuICBwdWJsaWMgZXJyb3JzOiBFcnJvcltdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM/OiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICBvcHRpb25zPzogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgem9uZUlkPzogbnVtYmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyA/PyBkZWZhdWx0T3B0aW9ucztcclxuICAgIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWcgPSB0aGlzLm9wdGlvbnNbJ1BlclRyaWdnZXJBdXRvQ29uZmlnJ10gfHwge307XHJcbiAgICB0aGlzLnJlcGxhY2VtZW50cyA9IHJlcGxhY2VtZW50cztcclxuXHJcbiAgICAvLyBBIHNldCBvZiBuYW1lcyB3aGljaCB3aWxsIG5vdCBiZSBub3RpZmllZCBhYm91dC5cclxuICAgIHRoaXMuaWdub3JlcyA9IHt9O1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgZXZlbnQgb2NjdXJyZW5jZSB0aW1lLlxyXG4gICAgdGhpcy50ZXh0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuc3RhcnQgdGltZS5cclxuICAgIHRoaXMuc3luY1N0YXJ0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuZW5kIHRpbWUuXHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgbGluZS5cclxuICAgIHRoaXMuZXJyb3JzID0gW107XHJcblxyXG4gICAgdGhpcy50aW1lbGluZUNvbmZpZyA9IHR5cGVvZiB6b25lSWQgPT09ICdudW1iZXInXHJcbiAgICAgID8gdGhpcy5vcHRpb25zLlBlclpvbmVUaW1lbGluZUNvbmZpZ1t6b25lSWRdID8/IHt9XHJcbiAgICAgIDoge307XHJcbiAgICBmb3IgKGNvbnN0IHRleHQgb2YgdGhpcy50aW1lbGluZUNvbmZpZy5JZ25vcmUgPz8gW10pXHJcbiAgICAgIHRoaXMuaWdub3Jlc1t0ZXh0XSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5wYXJzZSh0ZXh0LCB0cmlnZ2Vycywgc3R5bGVzID8/IFtdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIHRoaXMuc3luY0VuZHMgPSBbXTtcclxuXHJcbiAgICBsZXQgdW5pcXVlaWQgPSAxO1xyXG4gICAgY29uc3QgdGV4dHM6IHsgW2lkOiBzdHJpbmddOiBQYXJzZWRUZXh0W10gfSA9IHt9O1xyXG4gICAgY29uc3QgcmVnZXhlcyA9IHtcclxuICAgICAgY29tbWVudDogL15cXHMqIy8sXHJcbiAgICAgIGNvbW1lbnRMaW5lOiAvIy4qJC8sXHJcbiAgICAgIGR1cmF0aW9uQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5kdXJhdGlvblxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoXFxzLiopPyQvLFxyXG4gICAgICBpZ25vcmU6IC9eaGlkZWFsbFxccytcXFwiKD88aWQ+W15cIl0rKVxcXCIkLyxcclxuICAgICAganVtcENvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+anVtcFxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICAgIGxpbmU6IC9eKD88dGV4dD4oPzx0aW1lPlswLTldKyg/OlxcLlswLTldKyk/KVxccytcIig/PG5hbWU+Lio/KVwiKShcXHMrKC4qKSk/LyxcclxuICAgICAgcG9wdXBUZXh0OlxyXG4gICAgICAgIC9eKD88dHlwZT5pbmZvfGFsZXJ0fGFsYXJtKXRleHRcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pKD86XFxzK1xcXCIoPzx0ZXh0PlteXCJdKylcXFwiKT8kLyxcclxuICAgICAgc291bmRBbGVydDogL15kZWZpbmVcXHMrc291bmRhbGVydFxccytcIlteXCJdKlwiXFxzK1wiW15cIl0qXCIkLyxcclxuICAgICAgc3BlYWtlcjpcclxuICAgICAgICAvZGVmaW5lIHNwZWFrZXIgXCJbXlwiXSpcIihcXHMrXCJbXlwiXSpcIik/XFxzKygtP1swLTldKyg/OlxcLlswLTldKyk/KVxccysoLT9bMC05XSsoPzpcXC5bMC05XSspPykvLFxyXG4gICAgICBzeW5jQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5zeW5jXFxzKlxcLyg/PHJlZ2V4Pi4qKVxcLykoPzxhcmdzPlxccy4qKT8kLyxcclxuICAgICAgdHRzOlxyXG4gICAgICAgIC9eYWxlcnRhbGxcXHMrXCIoPzxpZD5bXlwiXSopXCJcXHMrYmVmb3JlXFxzKyg/PGJlZm9yZVNlY29uZHM+LT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKD88Y29tbWFuZD5zb3VuZHxzcGVha1xccytcIlteXCJdKlwiKVxccytcIig/PHRleHQ+W15cIl0qKVwiJC8sXHJcbiAgICAgIHdpbmRvd0NvbW1hbmQ6XHJcbiAgICAgICAgLyg/OlteI10qP1xccyk/KD88dGV4dD53aW5kb3dcXHMrKD86KD88c3RhcnQ+WzAtOV0rKD86XFwuWzAtOV0rKT8pLCk/KD88ZW5kPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1ha2UgYWxsIHJlZ2V4ZXMgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHBhcnNlIGFueSBzcGVjaWFsIFxceXt9IGdyb3Vwcy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBpZiAodHJpZ2dlci5yZWdleClcclxuICAgICAgICB0cmlnZ2VyLnJlZ2V4ID0gUmVnZXhlcy5wYXJzZSh0cmlnZ2VyLnJlZ2V4KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcbicpO1xyXG4gICAgbGV0IGxpbmVOdW1iZXIgPSAwO1xyXG4gICAgZm9yIChsZXQgbGluZSBvZiBsaW5lcykge1xyXG4gICAgICArK2xpbmVOdW1iZXI7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcclxuICAgICAgLy8gRHJvcCBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMuXHJcbiAgICAgIGlmICghbGluZSB8fCByZWdleGVzLmNvbW1lbnQudGVzdChsaW5lKSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gbGluZTtcclxuXHJcbiAgICAgIGxldCBtYXRjaCA9IHJlZ2V4ZXMuaWdub3JlLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICBjb25zdCBpZ25vcmUgPSBtYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgaWYgKGlnbm9yZS5pZClcclxuICAgICAgICAgIHRoaXMuaWdub3Jlc1tpZ25vcmUuaWRdID0gdHJ1ZTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnR0cy5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgdHRzID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghdHRzLmlkIHx8ICF0dHMuYmVmb3JlU2Vjb25kcyB8fCAhdHRzLmNvbW1hbmQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgLy8gVE9ETzogU3VwcG9ydCBhbGVydCBzb3VuZHM/XHJcbiAgICAgICAgaWYgKHR0cy5jb21tYW5kID09PSAnc291bmQnKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgY29uc3QgdHRzSXRlbXMgPSB0ZXh0c1t0dHMuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3R0cy5pZF0gPSB0dHNJdGVtcztcclxuICAgICAgICB0dHNJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0dHMnLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdCh0dHMuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiB0dHMudGV4dCA/IHR0cy50ZXh0IDogdHRzLmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zb3VuZEFsZXJ0LmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnNwZWFrZXIuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnBvcHVwVGV4dC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0ID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghcG9wdXBUZXh0LnR5cGUgfHwgIXBvcHVwVGV4dC5pZCB8fCAhcG9wdXBUZXh0LmJlZm9yZVNlY29uZHMpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0SXRlbXMgPSB0ZXh0c1twb3B1cFRleHQuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3BvcHVwVGV4dC5pZF0gPSBwb3B1cFRleHRJdGVtcztcclxuICAgICAgICBjb25zdCB0eXBlID0gcG9wdXBUZXh0LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBwb3B1cFRleHRJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgICBzZWNvbmRzQmVmb3JlOiBwYXJzZUZsb2F0KHBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKSxcclxuICAgICAgICAgIHRleHQ6IHBvcHVwVGV4dC50ZXh0ID8gcG9wdXBUZXh0LnRleHQgOiBwb3B1cFRleHQuaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLmxpbmUuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKCEobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnSW52YWxpZCBmb3JtYXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmtub3duIHRpbWVsaW5lOiAnICsgb3JpZ2luYWxMaW5lKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJzZWRMaW5lID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAvLyBUZWNobmljYWxseSB0aGUgbmFtZSBjYW4gYmUgZW1wdHlcclxuICAgICAgaWYgKCFwYXJzZWRMaW5lLnRleHQgfHwgIXBhcnNlZExpbmUudGltZSB8fCBwYXJzZWRMaW5lLm5hbWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocGFyc2VkTGluZS50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAvLyBUaGVyZSBjYW4gYmUgIyBpbiB0aGUgYWJpbGl0eSBuYW1lLCBidXQgcHJvYmFibHkgbm90IGluIHRoZSByZWdleC5cclxuICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShyZWdleGVzLmNvbW1lbnRMaW5lLCAnJykudHJpbSgpO1xyXG5cclxuICAgICAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlRmxvYXQocGFyc2VkTGluZS50aW1lKTtcclxuICAgICAgY29uc3QgZTogRXZlbnQgPSB7XHJcbiAgICAgICAgaWQ6IHVuaXF1ZWlkKyssXHJcbiAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAvLyBUaGUgb3JpZ2luYWwgYWJpbGl0eSBuYW1lIGluIHRoZSB0aW1lbGluZS4gIFVzZWQgZm9yIGhpZGVhbGwsIGluZm90ZXh0LCBldGMuXHJcbiAgICAgICAgbmFtZTogcGFyc2VkTGluZS5uYW1lLFxyXG4gICAgICAgIC8vIFRoZSB0ZXh0IHRvIGRpc3BsYXkuICBOb3QgdXNlZCBmb3IgYW55IGxvZ2ljLlxyXG4gICAgICAgIHRleHQ6IHRoaXMuR2V0UmVwbGFjZWRUZXh0KHBhcnNlZExpbmUubmFtZSksXHJcbiAgICAgICAgYWN0aXZlVGltZTogMCxcclxuICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAobGluZSkge1xyXG4gICAgICAgIGxldCBjb21tYW5kTWF0Y2ggPSByZWdleGVzLmR1cmF0aW9uQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3QgZHVyYXRpb25Db21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghZHVyYXRpb25Db21tYW5kLnRleHQgfHwgIWR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGR1cmF0aW9uQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgZS5kdXJhdGlvbiA9IHBhcnNlRmxvYXQoZHVyYXRpb25Db21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5zeW5jQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3Qgc3luY0NvbW1hbmQgPSBjb21tYW5kTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgaWYgKCFzeW5jQ29tbWFuZC50ZXh0IHx8ICFzeW5jQ29tbWFuZC5yZWdleClcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShzeW5jQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgY29uc3Qgc3luYzogU3luYyA9IHtcclxuICAgICAgICAgICAgaWQ6IHVuaXF1ZWlkLFxyXG4gICAgICAgICAgICBvcmlnUmVnZXhTdHI6IHN5bmNDb21tYW5kLnJlZ2V4LFxyXG4gICAgICAgICAgICByZWdleDogUmVnZXhlcy5wYXJzZSh0aGlzLkdldFJlcGxhY2VkU3luYyhzeW5jQ29tbWFuZC5yZWdleCkpLFxyXG4gICAgICAgICAgICBzdGFydDogc2Vjb25kcyAtIDIuNSxcclxuICAgICAgICAgICAgZW5kOiBzZWNvbmRzICsgMi41LFxyXG4gICAgICAgICAgICB0aW1lOiBzZWNvbmRzLFxyXG4gICAgICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChzeW5jQ29tbWFuZC5hcmdzKSB7XHJcbiAgICAgICAgICAgIGxldCBhcmdNYXRjaCA9IHJlZ2V4ZXMud2luZG93Q29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd2luZG93Q29tbWFuZCA9IGFyZ01hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgICAgICBpZiAoIXdpbmRvd0NvbW1hbmQudGV4dCB8fCAhd2luZG93Q29tbWFuZC5lbmQpXHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh3aW5kb3dDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHdpbmRvd0NvbW1hbmQuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHN5bmMuc3RhcnQgPSBzZWNvbmRzIC0gcGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLnN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgc3luYy5lbmQgPSBzZWNvbmRzICsgKHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpIC8gMik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyZ01hdGNoID0gcmVnZXhlcy5qdW1wQ29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganVtcENvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCFqdW1wQ29tbWFuZC50ZXh0IHx8ICFqdW1wQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoanVtcENvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICBzeW5jLmp1bXAgPSBwYXJzZUZsb2F0KGp1bXBDb21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnN5bmNTdGFydHMucHVzaChzeW5jKTtcclxuICAgICAgICAgIHRoaXMuc3luY0VuZHMucHVzaChzeW5jKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gSWYgdGhlcmUncyB0ZXh0IGxlZnQgdGhhdCBpc24ndCBhIGNvbW1lbnQgdGhlbiB3ZSBkaWRuJ3QgcGFyc2UgdGhhdCB0ZXh0IHNvIHJlcG9ydCBpdC5cclxuICAgICAgaWYgKGxpbmUgJiYgIXJlZ2V4ZXMuY29tbWVudC5leGVjKGxpbmUpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFVua25vd24gY29udGVudCAnJHtsaW5lfScgaW4gdGltZWxpbmU6ICR7b3JpZ2luYWxMaW5lfWApO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnRXh0cmEgdGV4dCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhbGlkYXRlIHRoYXQgYWxsIHRpbWVsaW5lIHRyaWdnZXJzIG1hdGNoIHNvbWV0aGluZy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICAgIGlmICh0cmlnZ2VyLnJlZ2V4ICYmIHRyaWdnZXIucmVnZXgudGVzdChldmVudC5uYW1lKSkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gYE5vIG1hdGNoIGZvciB0aW1lbGluZSB0cmlnZ2VyICR7dHJpZ2dlci5yZWdleD8uc291cmNlID8/XHJcbiAgICAgICAgICAnJ30gaW4gJHt0cmlnZ2VyLmlkID8/ICcnfWA7XHJcbiAgICAgICAgdGhpcy5lcnJvcnMucHVzaCh7IGVycm9yOiB0ZXh0IH0pO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCoqKiBFUlJPUjogJHt0ZXh0fWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBlIG9mIHRoaXMuZXZlbnRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbWF0Y2hlZFRleHRFdmVudCBvZiB0ZXh0c1tlLm5hbWVdID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IG1hdGNoZWRUZXh0RXZlbnQudHlwZTtcclxuICAgICAgICBpZiAodHlwZSAhPT0gJ2luZm8nICYmIHR5cGUgIT09ICdhbGVydCcgJiYgdHlwZSAhPT0gJ2FsYXJtJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lIC0gKG1hdGNoZWRUZXh0RXZlbnQuc2Vjb25kc0JlZm9yZSB8fCAwKSxcclxuICAgICAgICAgIHRleHQ6IG1hdGNoZWRUZXh0RXZlbnQudGV4dCA/PyAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmF0aGVyIHRoYW4gbWF0Y2hpbmcgdHJpZ2dlcnMgYXQgcnVuIHRpbWUsIHByZS1tYXRjaCBhbGwgdGhlIHRyaWdnZXJzXHJcbiAgICAgIC8vIGFnYWluc3QgdGltZWxpbmUgdGV4dCBhbmQgaW5zZXJ0IHRoZW0gYXMgdGV4dCBldmVudHMgdG8gcnVuLlxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgICBjb25zdCBtID0gdHJpZ2dlci5yZWdleD8uZXhlYyhlLm5hbWUpO1xyXG4gICAgICAgIGlmICghbSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBUT0RPOiBiZWZvcmVTZWNvbmRzIHNob3VsZCBzdXBwb3J0IGJlaW5nIGEgZnVuY3Rpb24uXHJcbiAgICAgICAgY29uc3QgYXV0b0NvbmZpZyA9IHRyaWdnZXIuaWQgJiYgdGhpcy5wZXJUcmlnZ2VyQXV0b0NvbmZpZ1t0cmlnZ2VyLmlkXSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gYXV0b0NvbmZpZ1snQmVmb3JlU2Vjb25kcyddID8/IHRyaWdnZXIuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgdGhpcy50ZXh0cy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0cmlnZ2VyJyxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChiZWZvcmVTZWNvbmRzIHx8IDApLFxyXG4gICAgICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgICAgIG1hdGNoZXM6IG0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzID8/IFtdKSB7XHJcbiAgICAgICAgaWYgKCFzdHlsZS5yZWdleC50ZXN0KGUubmFtZSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBlLnN0eWxlID0gc3R5bGUuc3R5bGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTb3J0IGJ5IHRpbWUsIGJ1dCB3aGVuIHRoZSB0aW1lIGlzIHRoZSBzYW1lLCBzb3J0IGJ5IGZpbGUgb3JkZXIuXHJcbiAgICAvLyBUaGVuIGFzc2lnbiBhIHNvcnRLZXkgdG8gZWFjaCBldmVudCBzbyB0aGF0IHdlIGNhbiBtYWludGFpbiB0aGF0IG9yZGVyLlxyXG4gICAgdGhpcy5ldmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS50aW1lID09PSBiLnRpbWUpXHJcbiAgICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkO1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKChldmVudCwgaWR4KSA9PiBldmVudC5zb3J0S2V5ID0gaWR4KTtcclxuXHJcbiAgICB0aGlzLnRleHRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuc3RhcnQgLSBiLnN0YXJ0O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNFbmRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuZW5kIC0gYi5lbmQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRIZWxwZXIoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlS2V5OiAncmVwbGFjZVN5bmMnIHwgJ3JlcGxhY2VUZXh0JyxcclxuICAgIHJlcGxhY2VMYW5nOiBMYW5nLFxyXG4gICAgaXNHbG9iYWw6IGJvb2xlYW4sXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGZvciAoY29uc3QgciBvZiB0aGlzLnJlcGxhY2VtZW50cykge1xyXG4gICAgICBpZiAoci5sb2NhbGUgJiYgci5sb2NhbGUgIT09IHJlcGxhY2VMYW5nKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZXBzID0gcltyZXBsYWNlS2V5XTtcclxuICAgICAgaWYgKCFyZXBzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBzKSlcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFJlZ2V4ZXMucGFyc2Uoa2V5KSwgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29tbW9uIFJlcGxhY2VtZW50c1xyXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBjb21tb25SZXBsYWNlbWVudFtyZXBsYWNlS2V5XTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50ID8/IHt9KSkge1xyXG4gICAgICBjb25zdCByZXBsID0gdmFsdWVbcmVwbGFjZUxhbmddO1xyXG4gICAgICBpZiAoIXJlcGwpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gaXNHbG9iYWwgPyBSZWdleGVzLnBhcnNlR2xvYmFsKGtleSkgOiBSZWdleGVzLnBhcnNlKGtleSk7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgcmVwbGFjZW1lbnRzIGZvciBLb3JlYW4gcGFyc2VkIGxvZyBsaW5lcyBiZWZvcmUgNi54IGNoYW5nZXMuXHJcbiAgICBpZiAocmVwbGFjZUxhbmcgPT09ICdrbycgJiYgcmVwbGFjZUtleSA9PT0gJ3JlcGxhY2VTeW5jJykge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHJlcGxdIG9mIE9iamVjdC5lbnRyaWVzKGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSkpIHtcclxuICAgICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQW55dGhpbmcgaW4gdGhlIHRpbWVsaW5lIGNvbmZpZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGltZWxpbmVSZXBsYWNlIHNlY3Rpb25zIGluXHJcbiAgICAvLyB0aGUgdHJpZ2dlciBmaWxlLiAgSXQgaXMgYWxzbyBhIGZ1bGwgcmVwbGFjZW1lbnQsIHZzIHRoZSByZWdleC1zdHlsZSBHZXRSZXBsYWNlZEhlbHBlci5cclxuICAgIGNvbnN0IHJlbmFtZSA9IHRoaXMudGltZWxpbmVDb25maWc/LlJlbmFtZT8uW3RleHRdO1xyXG4gICAgaWYgKHJlbmFtZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gcmVuYW1lO1xyXG5cclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGNvbnN0IHJlcGxhY2VMYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICBjb25zdCBpc0dsb2JhbCA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIodGV4dCwgJ3JlcGxhY2VUZXh0JywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRTeW5jKHN5bmM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gc3luYztcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIoc3luYywgJ3JlcGxhY2VTeW5jJywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUoKTogUmVnRXhwW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJy0tUmVzZXQtLScsXHJcbiAgICAgICctLXN5bmMtLScsXHJcbiAgICAgICdTdGFydCcsXHJcbiAgICAgICdeID8yMTonLFxyXG4gICAgICAnXihcXFxcKFxcXFw/XFxcXDx0aW1lc3RhbXBcXFxcPlxcXFxeXFxcXC5cXFxcezE0XFxcXH1cXFxcKSkgKDFCfDIxfDIzKTonLFxyXG4gICAgICAnXihcXFxcXlxcXFwuXFxcXHsxNFxcXFx9KT8gPygxQnwyMXwyMyk6JyxcclxuICAgICAgJ146OlxcXFx5e0FiaWxpdHlDb2RlfTokJyxcclxuICAgICAgJ15cXFxcLlxcXFwqJCcsXHJcbiAgICBdLm1hcCgoeCkgPT4gUmVnZXhlcy5wYXJzZSh4KSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IGlzTGFuZywgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUGFydHlUcmFja2VyIGZyb20gJy4uLy4uL3Jlc291cmNlcy9wYXJ0eSc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZWdleGVzJztcclxuaW1wb3J0IHsgdHJpZ2dlck91dHB1dEZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZXNwb25zZXMnO1xyXG5pbXBvcnQgVXNlckNvbmZpZywge1xyXG4gIENvbmZpZ1ZhbHVlLFxyXG4gIE9wdGlvbnNUZW1wbGF0ZSxcclxuICBVc2VyRmlsZUNhbGxiYWNrLFxyXG59IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb2NhbGVUZXh0LFxyXG4gIExvb3NlVHJpZ2dlcixcclxuICBPdXRwdXQsXHJcbiAgT3V0cHV0U3RyaW5ncyxcclxuICBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gIFRpbWVsaW5lRmllbGQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7XHJcbiAgQ2FjdGJvdENvbmZpZ3VyYXRvcixcclxuICBDb25maWdMb29zZVRyaWdnZXIsXHJcbiAgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LFxyXG4gIENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXAsXHJcbn0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NUcmlnZ2VyRmllbGQsIFJhaWRib3NzVHJpZ2dlck91dHB1dCB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCByYWlkYm9zc09wdGlvbnMsIHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVQYXJzZXIgfSBmcm9tICcuL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5jb25zdCBrT3B0aW9uS2V5cyA9IHtcclxuICBvdXRwdXQ6ICdPdXRwdXQnLFxyXG4gIGR1cmF0aW9uOiAnRHVyYXRpb24nLFxyXG4gIGJlZm9yZVNlY29uZHM6ICdCZWZvcmVTZWNvbmRzJyxcclxuICBvdXRwdXRTdHJpbmdzOiAnT3V0cHV0U3RyaW5ncycsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFRyaWdnZXJTb3VuZE9wdGlvbiA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG59O1xyXG5cclxuLy8gTm8gc291bmQgb25seSBvcHRpb24sIGJlY2F1c2UgdGhhdCdzIHNpbGx5LlxyXG5jb25zdCBrVHJpZ2dlck9wdGlvbnMgPSB7XHJcbiAgZGVmYXVsdDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinJQgRGVmYXVsdHMnLFxyXG4gICAgICBkZTogJ+KclCBTdGFuZGFyZHMnLFxyXG4gICAgICBmcjogJ+KclCBEw6lmYXV0cycsXHJcbiAgICAgIGphOiAn4pyUIOWIneacn+ioreWumicsXHJcbiAgICAgIGNuOiAn4pyUIOm7mOiupOiuvue9ricsXHJcbiAgICAgIGtvOiAn4pyUIOq4sOuzuCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dEFuZFNvdW5kOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/Cfhpnwn5SKIFRleHQgYW5kIFNvdW5kJyxcclxuICAgICAgZGU6ICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nLFxyXG4gICAgICBmcjogJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbicsXHJcbiAgICAgIGphOiAn8J+GmfCflIog44OG44Kt44K544OI44Go6Z+z5aOwJyxcclxuICAgICAgY246ICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c0FuZFRleHQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCfkqwgVGV4dCBhbmQgVFRTJyxcclxuICAgICAgZGU6ICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnLFxyXG4gICAgICBmcjogJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUycsXHJcbiAgICAgIGphOiAn8J+GmfCfkqwg44OG44Kt44K544OI44GoVFRTJyxcclxuICAgICAgY246ICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5KsIO2FjeyKpO2KuOyZgCBUVFMnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c09ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+SrCBUVFMgT25seScsXHJcbiAgICAgIGRlOiAn8J+SrCBOdXIgVFRTJyxcclxuICAgICAgZnI6ICfwn5KsIFRUUyBTZXVsZW1lbnQnLFxyXG4gICAgICBqYTogJ/CfkqwgVFRT44Gu44G/JyxcclxuICAgICAgY246ICfwn5KsIOWPquS9v+eUqFRUUycsXHJcbiAgICAgIGtvOiAn8J+SrCBUVFPrp4wnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHRleHRPbmx5OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/CfhpkgVGV4dCBPbmx5JyxcclxuICAgICAgZGU6ICfwn4aZIE51ciBUZXh0JyxcclxuICAgICAgZnI6ICfwn4aZIFRleHRlIHNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfhpkg5Y+q5L2/55So5paH5a2X5pi+56S6JyxcclxuICAgICAga286ICfwn4aZIO2FjeyKpO2KuOunjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGlzYWJsZWQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn4p2MIERpc2FibGVkJyxcclxuICAgICAgZGU6ICfinYwgRGVha3RpdmllcnQnLFxyXG4gICAgICBmcjogJ+KdjCBEw6lzYWN0aXbDqScsXHJcbiAgICAgIGphOiAn4p2MIOeEoeWKuScsXHJcbiAgICAgIGNuOiAn4p2MIOemgeeUqCcsXHJcbiAgICAgIGtvOiAn4p2MIOu5hO2ZnOyEse2ZlCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB0cmlnZ2VyU291bmRPcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJTb3VuZE9wdGlvbiB9ID0ga1RyaWdnZXJPcHRpb25zO1xyXG5cclxudHlwZSBEZXRhaWxLZXkgPSB7XHJcbiAgbGFiZWw6IExvY2FsZVRleHQ7XHJcbiAgY2xzOiBzdHJpbmc7XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICBnZW5lcmF0ZWRNYW51YWxseT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5jb25zdCBrRGV0YWlsS2V5cyA9IHtcclxuICAndHJpZ2dlclJlZ2V4Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdyZWdleCcsXHJcbiAgICAgIGRlOiAncmVnZXgnLFxyXG4gICAgICBmcjogJ3JlZ2V4JyxcclxuICAgICAgamE6ICfmraPopo/ooajnj74nLFxyXG4gICAgICBjbjogJ+ato+WImeihqOi+vuW8jycsXHJcbiAgICAgIGtvOiAn7KCV6rec7IudJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdyZWdleC10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICd0cmlnZ2VyTmV0UmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ25ldHJlZ2V4JyxcclxuICAgICAgZGU6ICduZXRyZWdleCcsXHJcbiAgICAgIGZyOiAnbmV0cmVnZXgnLFxyXG4gICAgICBqYTogJ+ODjeODg+ODiOato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn572R57uc5pel5b+X5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5ztkZztmITsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RpbWVsaW5lUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3RpbWVsaW5lJyxcclxuICAgICAgZGU6ICd0aW1lbGluZScsXHJcbiAgICAgIGZyOiAndGltZWxpbmUnLFxyXG4gICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODsycsXHJcbiAgICAgIGNuOiAn5pe26Ze06L20JyxcclxuICAgICAga286ICftg4DsnoTrnbzsnbgnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2JlZm9yZVNlY29uZHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2JlZm9yZSAoc2VjKScsXHJcbiAgICAgIGRlOiAnVm9yaGVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ2F2YW50IChzZWNvbmRlKScsXHJcbiAgICAgIGphOiAn44Gd44Gu5YmN44GrICjnp5IpJyxcclxuICAgICAgY246ICfmj5DliY0gKOenkiknLFxyXG4gICAgICBrbzogJ+yVnuuLueq5gCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYmVmb3JlLXNlY29uZHMtdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdjb25kaXRpb24nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGRlOiAnY29uZGl0aW9uJyxcclxuICAgICAgZnI6ICdjb25kaXRpb24nLFxyXG4gICAgICBqYTogJ+adoeS7ticsXHJcbiAgICAgIGNuOiAn5p2h5Lu2JyxcclxuICAgICAga286ICfsobDqsbQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2NvbmRpdGlvbi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdkdXJhdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnZHVyYXRpb24gKHNlYyknLFxyXG4gICAgICBkZTogJ0RhdWVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ0R1csOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgamE6ICflrZjntprmmYLplpMgKOenkiknLFxyXG4gICAgICBjbjogJ+aMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgIGtvOiAn7KeA7IaNIOyLnOqwhCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnZHVyYXRpb24tdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdwcmVSdW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3ByZVJ1bicsXHJcbiAgICAgIGRlOiAncHJlUnVuJyxcclxuICAgICAgZnI6ICdwcmVSdW4nLFxyXG4gICAgICBqYTogJ+ODl+ODrOWun+ihjCcsXHJcbiAgICAgIGNuOiAn6aKE6L+Q6KGMJyxcclxuICAgICAga286ICfsgqzsoIQg7Iuk7ZaJJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdwcmVydW4tdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYWxhcm1UZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGFybScsXHJcbiAgICAgIGRlOiAnYWxhcm0nLFxyXG4gICAgICBmcjogJ2FsYXJtZScsXHJcbiAgICAgIGphOiAn6K2m5aCxJyxcclxuICAgICAgY246ICforabmiqXmlofmnKwnLFxyXG4gICAgICBrbzogJ+qyveqzoCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxhcm0tdGV4dCcsXHJcbiAgfSxcclxuICAnYWxlcnRUZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGVydCcsXHJcbiAgICAgIGRlOiAnYWxlcnQnLFxyXG4gICAgICBmcjogJ2FsZXJ0ZScsXHJcbiAgICAgIGphOiAn6K2m5ZGKJyxcclxuICAgICAgY246ICforablkYrmlofmnKwnLFxyXG4gICAgICBrbzogJ+yjvOydmCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxlcnQtdGV4dCcsXHJcbiAgfSxcclxuICAnaW5mb1RleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2luZm8nLFxyXG4gICAgICBkZTogJ2luZm8nLFxyXG4gICAgICBmcjogJ2luZm8nLFxyXG4gICAgICBqYTogJ+aDheWgsScsXHJcbiAgICAgIGNuOiAn5L+h5oGv5paH5pysJyxcclxuICAgICAga286ICfslYjrgrQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2luZm8tdGV4dCcsXHJcbiAgfSxcclxuICAndHRzJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICd0dHMnLFxyXG4gICAgICBkZTogJ3R0cycsXHJcbiAgICAgIGZyOiAndHRzJyxcclxuICAgICAgamE6ICdUVFMnLFxyXG4gICAgICBjbjogJ1RUUycsXHJcbiAgICAgIGtvOiAnVFRTJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICd0dHMtdGV4dCcsXHJcbiAgfSxcclxuICAnc291bmQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3NvdW5kJyxcclxuICAgICAgZGU6ICdzb3VuZCcsXHJcbiAgICAgIGZyOiAnc29uJyxcclxuICAgICAgamE6ICfpn7Plo7AnLFxyXG4gICAgICBjbjogJ+aPkOekuumfsycsXHJcbiAgICAgIGtvOiAn7IaM66asJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdzb3VuZC10ZXh0JyxcclxuICB9LFxyXG4gICdydW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3J1bicsXHJcbiAgICAgIGRlOiAncnVuJyxcclxuICAgICAgZnI6ICdydW4nLFxyXG4gICAgICBqYTogJ+Wun+ihjCcsXHJcbiAgICAgIGNuOiAn6L+Q6KGMJyxcclxuICAgICAga286ICfsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3J1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gT3JkZXJlZCBzZXQgb2YgaGVhZGVycyBpbiB0aGUgdGltZWxpbmUgZWRpdCB0YWJsZS5cclxuY29uc3Qga1RpbWVsaW5lVGFibGVIZWFkZXJzID0ge1xyXG4gIHNob3VsZERpc3BsYXlUZXh0OiB7XHJcbiAgICBlbjogJ1Nob3cnLFxyXG4gICAgZGU6ICdBbnplaWdlbicsXHJcbiAgICBmcjogJ0FmZmljaGVyJyxcclxuICAgIGNuOiAn5pi+56S6JyxcclxuICB9LFxyXG4gIHRleHQ6IHtcclxuICAgIGVuOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBkZTogJ1RpbWVsaW5lIFRleHQnLFxyXG4gICAgZnI6ICdUZXh0ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICBjbjogJ+aXtumXtOi9tOaWh+acrCcsXHJcbiAgfSxcclxuICBvdmVycmlkZVRleHQ6IHtcclxuICAgIGVuOiAnUmVuYW1lJyxcclxuICAgIGRlOiAnVW1iZW5lbm5lbicsXHJcbiAgICBmcjogJ1Jlbm9tbWVyJyxcclxuICAgIGNuOiAn5L+u5pS55paH5pysJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZGV0YWlsS2V5czogeyBba2V5IGluIGtleW9mIExvb3NlVHJpZ2dlcl06IERldGFpbEtleSB9ID0ga0RldGFpbEtleXM7XHJcblxyXG5jb25zdCBrTWlzY1RyYW5zbGF0aW9ucyA9IHtcclxuICAvLyBTaG93cyB1cCBmb3IgdW4tc2V0IHZhbHVlcy5cclxuICB2YWx1ZURlZmF1bHQ6IHtcclxuICAgIGVuOiAnKGRlZmF1bHQpJyxcclxuICAgIGRlOiAnKFN0YW5kYXJkKScsXHJcbiAgICBmcjogJyhEw6lmYXV0KScsXHJcbiAgICBqYTogJyjliJ3mnJ/lgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco6riw67O46rCSKScsXHJcbiAgfSxcclxuICAvLyBTaG93biB3aGVuIHRoZSBVSSBjYW4ndCBkZWNpcGhlciB0aGUgb3V0cHV0IG9mIGEgZnVuY3Rpb24uXHJcbiAgdmFsdWVJc0Z1bmN0aW9uOiB7XHJcbiAgICBlbjogJyhmdW5jdGlvbiknLFxyXG4gICAgZGU6ICcoRnVua3Rpb24pJyxcclxuICAgIGZyOiAnKEZvbmN0aW9uKScsXHJcbiAgICBqYTogJyjplqLmlbApJyxcclxuICAgIGNuOiAnKOWHveaVsCknLFxyXG4gICAga286ICco7ZWo7IiYKScsXHJcbiAgfSxcclxuICAvLyBXYXJuaW5nIGxhYmVsIGZvciB0cmlnZ2VycyB3aXRob3V0IGlkcyBvciBvdmVycmlkZGVuIHRyaWdnZXJzLlxyXG4gIHdhcm5pbmc6IHtcclxuICAgIGVuOiAn4pqg77iPIHdhcm5pbmcnLFxyXG4gICAgZGU6ICfimqDvuI8gV2FybnVuZycsXHJcbiAgICBmcjogJ+KaoO+4jyBBdHRlbnRpb24nLFxyXG4gICAgamE6ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGNuOiAn4pqg77iPIOitpuWRiicsXHJcbiAgICBrbzogJ+KaoO+4jyDso7zsnZgnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzLlxyXG4gIG1pc3NpbmdJZDoge1xyXG4gICAgZW46ICdtaXNzaW5nIGlkIGZpZWxkJyxcclxuICAgIGRlOiAnRmVobGVuZGVzIElEIEZlbGQnLFxyXG4gICAgZnI6ICdDaGFtcCBJRCBtYW5xdWFudCcsXHJcbiAgICBqYTogJ2lk44GM44GC44KK44G+44Gb44KTJyxcclxuICAgIGNuOiAn57y65bCRaWTlsZ7mgKcnLFxyXG4gICAga286ICdJRCDtlYTrk5zqsJIg7JeG7J2MJyxcclxuICB9LFxyXG4gIC8vIFNob3dzIHVwIGZvciB0cmlnZ2VycyB0aGF0IGFyZSBvdmVycmlkZGVuIGJ5IG90aGVyIHRyaWdnZXJzLlxyXG4gIG92ZXJyaWRkZW5CeUZpbGU6IHtcclxuICAgIGVuOiAnb3ZlcnJpZGRlbiBieSBcIiR7ZmlsZX1cIicsXHJcbiAgICBkZTogJ8OcYmVyc2NocmllYmVuIGR1cmNoIFwiJHtmaWxlfVwiJyxcclxuICAgIGZyOiAnw4ljcmFzw6koZSkgcGFyIFwiJHtmaWxlfVwiJyxcclxuICAgIGphOiAnXCIke2ZpbGV9XCLjgavkuIrmm7jjgY3jgb7jgZfjgZ8nLFxyXG4gICAgY246ICfooqtcIiR7ZmlsZX1cIuaWh+S7tuimhueblicsXHJcbiAgICBrbzogJ1wiJHtmaWxlfVwiIO2MjOydvOyXkOyEnCDrja7slrTslIzsm4AnLFxyXG4gIH0sXHJcbiAgLy8gT3BlbnMgdHJpZ2dlciBmaWxlIG9uIEdpdGh1Yi5cclxuICB2aWV3VHJpZ2dlclNvdXJjZToge1xyXG4gICAgZW46ICdWaWV3IFRyaWdnZXIgU291cmNlJyxcclxuICAgIGRlOiAnWmVpZ2UgVHJpZ2dlciBRdWVsbGUnLFxyXG4gICAgZnI6ICdBZmZpY2hlciBsYSBzb3VyY2UgZHUgVHJpZ2dlcicsXHJcbiAgICBqYTogJ+ODiOODquOCrOODvOOBruOCs+ODvOODieOCkuihqOekuicsXHJcbiAgICBjbjogJ+aYvuekuuinpuWPkeWZqOa6kOeggScsXHJcbiAgICBrbzogJ+2KuOumrOqxsCDstpzsspgg7Je06riwJyxcclxuICB9LFxyXG4gIC8vIFRoZSBoZWFkZXIgZm9yIHRoZSBlZGl0aW5nIHRpbWVsaW5lIHNlY3Rpb24gaW5zaWRlIGEgdHJpZ2dlciBmaWxlLlxyXG4gIGVkaXRUaW1lbGluZToge1xyXG4gICAgZW46ICdFZGl0IFRpbWVsaW5lJyxcclxuICAgIGRlOiAnVGltZWxpbmUgYmVhcmJlaXRlbicsXHJcbiAgICBmcjogJ8OJZGl0ZXIgbGEgdGltZWxpbmUnLFxyXG4gICAgY246ICfnvJbovpHml7bpl7TovbQnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQgPSAodmFsRW50cnk/OiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiB2YWxFbnRyeSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEVudHJ5ICE9PSAnbnVtYmVyJylcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWxFbnRyeS50b1N0cmluZygpKTtcclxuICBpZiAoIWlzTmFOKHZhbCkgJiYgdmFsID49IDApXHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5jb25zdCBjYW5CZUNvbmZpZ3VyZWQgPSAodHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyKSA9PiAhdHJpZy5pc01pc3NpbmdJZCAmJiAhdHJpZy5vdmVycmlkZGVuQnlGaWxlO1xyXG5cclxuY29uc3QgYWRkVHJpZ2dlckRldGFpbCA9IChcclxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxyXG4gIGxhYmVsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbFRleHQ6IHN0cmluZyxcclxuICBkZXRhaWxDbHM/OiBzdHJpbmdbXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBsYWJlbC5pbm5lclRleHQgPSBsYWJlbFRleHQ7XHJcbiAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gIGNvbnN0IGRldGFpbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGRldGFpbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbCcpO1xyXG4gIGRldGFpbC5pbm5lclRleHQgPSBkZXRhaWxUZXh0O1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkZXRhaWwpO1xyXG5cclxuICBpZiAoZGV0YWlsQ2xzKVxyXG4gICAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoLi4uZGV0YWlsQ2xzKTtcclxufTtcclxuXHJcbi8vIFRoaXMgaXMgdXNlZCBib3RoIGZvciB0b3AgbGV2ZWwgT3B0aW9ucyBhbmQgZm9yIFBlclRyaWdnZXJBdXRvQ29uZmlnIHNldHRpbmdzLlxyXG4vLyBVbmZvcnR1bmF0ZWx5IGR1ZSB0byBwb29yIGRlY2lzaW9ucyBpbiB0aGUgcGFzdCwgUGVyVHJpZ2dlck9wdGlvbnMgaGFzIGRpZmZlcmVudFxyXG4vLyBmaWVsZHMgaGVyZS4gIFRoaXMgc2hvdWxkIGJlIGZpeGVkLlxyXG5jb25zdCBzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlID0gKFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zIHwgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnksXHJcbikgPT4ge1xyXG4gIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAvLyBOb3RoaW5nLlxyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0QW5kU291bmQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNBbmRUZXh0Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNPbmx5Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAndGV4dE9ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAnZGlzYWJsZWQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gb3V0cHV0IHR5cGU6ICR7dmFsdWUudG9TdHJpbmcoKX1gKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBIZWxwZXIgZm9yIGRvaW5nIG5vdGhpbmcgZHVyaW5nIHRyaWdnZXIgZXZhbCwgYnV0IHN0aWxsIHJlY29yZGluZyBhbnlcclxuLy8gY2FsbHMgdG8gYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB4O2AgdmlhIGNhbGxiYWNrLlxyXG5jbGFzcyBEb05vdGhpbmdGdW5jUHJveHkge1xyXG4gIGNvbnN0cnVjdG9yKG91dHB1dFN0cmluZ3NDYWxsYmFjazogKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xyXG4gICAgICBzZXQoX3RhcmdldCwgcHJvcGVydHksIHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncmVzcG9uc2VPdXRwdXRTdHJpbmdzJykge1xyXG4gICAgICAgICAgLy8gVE9ETzogbmVlZCBzb21lIHdheSBvZiB2ZXJpZnlpbmcgdGhhdCBhIHZhbHVlIGlzIGFuIE91dHB1dFN0cmluZ3MuXHJcbiAgICAgICAgICBvdXRwdXRTdHJpbmdzQ2FsbGJhY2sodmFsdWUgYXMgT3V0cHV0U3RyaW5ncyk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElnbm9yZSBvdGhlciBwcm9wZXJ0eSBzZXR0aW5nIGhlcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KF90YXJnZXQsIF9uYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHsvKiBub29wICovfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgbWFrZUxpbmsgPSAoaHJlZjogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7aHJlZn08L2E+YDtcclxufTtcclxuXHJcbmNvbnN0IGxhbmdPckVuID0gKGxhbmc6IENvbmZpZ1ZhbHVlKTogTGFuZyA9PiB7XHJcbiAgcmV0dXJuIHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJyAmJiBpc0xhbmcobGFuZykgPyBsYW5nIDogJ2VuJztcclxufTtcclxuXHJcbmNsYXNzIFJhaWRib3NzQ29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSBhbGVydHNMYW5nOiBMYW5nO1xyXG4gIHByaXZhdGUgdGltZWxpbmVMYW5nOiBMYW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG5cclxuICAgIC8vIFRPRE86IGlzIGl0IHdvcnRoIGFkZGluZyB0aGUgY29tcGxleGl0eSB0byByZWZsZWN0IHRoaXMgY2hhbmdlIGluIHRyaWdnZXJzIHRoYXQgdXNlIGl0P1xyXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB1c2luZyBzb21ldGhpbmcgbGlrZSB2dWUgb3IgcmVhY3Qgd291bGQgYmUgZWFzaWVyLlxyXG4gICAgLy8gRm9yIHRoZSBtb21lbnQsIGZvbGtzIGNhbiBqdXN0IHJlbG9hZCwgZm9yIHJlYWwuXHJcbiAgICB0aGlzLmFsZXJ0c0xhbmcgPSBsYW5nT3JFbih0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdBbGVydHNMYW5ndWFnZScsIHRoaXMuYmFzZS5sYW5nKSk7XHJcbiAgICB0aGlzLnRpbWVsaW5lTGFuZyA9IGxhbmdPckVuKFxyXG4gICAgICB0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdUaW1lbGluZUxhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkVUkoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgcmFpZGJvc3NGaWxlczogUmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc1JhaWRib3NzRmlsZXMocmFpZGJvc3NGaWxlcywgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZU1hcCkpIHtcclxuICAgICAgLy8gXCJleHBhbnNpb25cIiBoZXJlIGlzIHRlY2huaWNhbGx5IHNlY3Rpb24sIHdoaWNoIGluY2x1ZGVzIFwiZ2VuZXJhbCB0cmlnZ2Vyc1wiXHJcbiAgICAgIC8vIGFuZCBvbmUgc2VjdGlvbiBwZXIgdXNlciBmaWxlLlxyXG4gICAgICBjb25zdCBleHBhbnNpb24gPSBpbmZvLnNlY3Rpb247XHJcblxyXG4gICAgICBpZiAoIWluZm8udHJpZ2dlcnMgfHwgT2JqZWN0LmtleXMoaW5mby50cmlnZ2VycykubGVuZ3RoID09PSAwKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbGV0IGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXTtcclxuICAgICAgaWYgKCFleHBhbnNpb25EaXYpIHtcclxuICAgICAgICBjb25zdCBleHBhbnNpb25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24tY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25Db250YWluZXIpO1xyXG5cclxuICAgICAgICBjb25zdCBleHBhbnNpb25IZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24taGVhZGVyJyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuaW5uZXJUZXh0ID0gZXhwYW5zaW9uO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25IZWFkZXIpO1xyXG5cclxuICAgICAgICBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl0gPSBleHBhbnNpb25Db250YWluZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICBleHBhbnNpb25EaXYuYXBwZW5kQ2hpbGQodHJpZ2dlckNvbnRhaW5lcik7XHJcblxyXG4gICAgICBjb25zdCBoZWFkZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXInKTtcclxuICAgICAgaGVhZGVyRGl2Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhcnRzID0gW2luZm8udGl0bGUsIGluZm8udHlwZSwgaW5mby5wcmVmaXhdO1xyXG4gICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgICBpZiAoIXBhcnQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBwYXJ0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcGFydERpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyLXBhcnQnKTtcclxuICAgICAgICAvLyBVc2UgaW5uZXJIVE1MIGhlcmUgYmVjYXVzZSBvZiA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+LlxyXG4gICAgICAgIHBhcnREaXYuaW5uZXJIVE1MID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIC8vIFRpbWVsaW5lIGVkaXRpbmcgaXMgdGllZCB0byBhIHNpbmdsZSwgc3BlY2lmaWMgem9uZUlkIHBlciBmaWxlIGZvciBub3cuXHJcbiAgICAgIC8vIFdlIGNvdWxkIGFkZCBtb3JlIGluZGlyZWN0aW9uICh2aWEgZmlsZUtleT8pIGFuZCBsb29rIHVwIHpvbmVJZCAtPiBmaWxlS2V5W11cclxuICAgICAgLy8gYW5kIGZpbGVLZXkgLT4gdGltZWxpbmUgZWRpdHMgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoaW5mby50cmlnZ2VyU2V0LnRpbWVsaW5lICYmIHR5cGVvZiBpbmZvLnpvbmVJZCA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgdGhpcy5idWlsZFRpbWVsaW5lVUlDb250YWluZXIoaW5mby56b25lSWQsIGluZm8udHJpZ2dlclNldCwgdHJpZ2dlckNvbnRhaW5lciwgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlck9wdGlvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlck9wdGlvbnMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLW9wdGlvbnMnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0cmlnZ2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFt0cmlnSWQsIHRyaWddIG9mIE9iamVjdC5lbnRyaWVzKGluZm8udHJpZ2dlcnMgPz8ge30pKSB7XHJcbiAgICAgICAgLy8gRG9uJ3QgY29uc3RydWN0IHRyaWdnZXJzIHRoYXQgd29uJ3Qgc2hvdyBhbnl0aGluZy5cclxuICAgICAgICBsZXQgaGFzT3V0cHV0RnVuYyA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgZnVuYyBvZiB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zKSB7XHJcbiAgICAgICAgICBpZiAoZnVuYyBpbiB0cmlnKSB7XHJcbiAgICAgICAgICAgIGhhc091dHB1dEZ1bmMgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFoYXNPdXRwdXRGdW5jICYmICF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBCdWlsZCB0aGUgdHJpZ2dlciBsYWJlbC5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRpdi5pbm5lckhUTUwgPSB0cmlnLmlzTWlzc2luZ0lkID8gJyg/Pz8pJyA6IHRyaWdJZDtcclxuXHJcbiAgICAgICAgdHJpZ2dlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRpdik7XHJcblxyXG4gICAgICAgIC8vIENvbnRhaW5lciBmb3IgdGhlIHJpZ2h0IHNpZGUgdWkgKHNlbGVjdCBib3hlcywgYWxsIG9mIHRoZSBpbmZvKS5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlscycpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEZXRhaWxzKTtcclxuXHJcbiAgICAgICAgaWYgKGNhbkJlQ29uZmlndXJlZCh0cmlnKSlcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnLCB0cmlnZ2VyRGl2KSk7XHJcblxyXG4gICAgICAgIGlmICh0cmlnLmlzTWlzc2luZ0lkKSB7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy5taXNzaW5nSWQpLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSkge1xyXG4gICAgICAgICAgY29uc3QgYmFzZVRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsVGV4dCA9IGJhc2VUZXh0LnJlcGxhY2UoJyR7ZmlsZX0nLCB0cmlnLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMud2FybmluZyksXHJcbiAgICAgICAgICAgIGRldGFpbFRleHQsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwZW5kIHNvbWUgZGV0YWlscyBhYm91dCB0aGUgdHJpZ2dlciBzbyBpdCdzIG1vcmUgb2J2aW91cyB3aGF0IGl0IGlzLlxyXG4gICAgICAgIGZvciAoY29uc3QgW2RldGFpbFN0cmluZ0tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyhkZXRhaWxLZXlzKSkge1xyXG4gICAgICAgICAgLy8gT2JqZWN0LmVudHJpZXMgY29lcmNlcyB0byBhIHN0cmluZywgYnV0IHRoZSBkZXRhaWxLZXlzIGRlZmluaXRpb24gbWFrZXMgdGhpcyB0cnVlLlxyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gZGV0YWlsU3RyaW5nS2V5IGFzIGtleW9mIExvb3NlVHJpZ2dlcjtcclxuXHJcbiAgICAgICAgICBpZiAob3B0LmdlbmVyYXRlZE1hbnVhbGx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGlmICghdGhpcy5iYXNlLmRldmVsb3Blck9wdGlvbnMgJiYgb3B0LmRlYnVnT25seSlcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICBjb25zdCB0cmlnT3V0cHV0ID0gdHJpZy5jb25maWdPdXRwdXQ/LltkZXRhaWxLZXldO1xyXG4gICAgICAgICAgY29uc3QgdHJpZ0Z1bmMgPSB0cmlnW2RldGFpbEtleV07XHJcbiAgICAgICAgICBpZiAoIXRyaWdGdW5jKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxDbHMgPSBbb3B0LmNsc107XHJcbiAgICAgICAgICBsZXQgZGV0YWlsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgaWYgKHRyaWdPdXRwdXQpIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdPdXRwdXQ7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0cmlnRnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZUlzRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICBkZXRhaWxDbHMucHVzaCgnZnVuY3Rpb24tdGV4dCcpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdGdW5jLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICAgZGV0YWlsQ2xzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEFkZCBiZWZvcmVTZWNvbmRzIG1hbnVhbGx5IGZvciB0aW1lbGluZSB0cmlnZ2Vycy5cclxuICAgICAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2JlZm9yZVNlY29uZHMnO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrRGV0YWlsS2V5c1tkZXRhaWxLZXldLmxhYmVsKTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbGFiZWwnKTtcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItYmVmb3JlLXNlY29uZHMnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnN0ZXAgPSAnYW55JztcclxuXHJcbiAgICAgICAgICAvLyBTYXkgXCIoZGVmYXVsdClcIiBmb3IgbW9yZSBjb21wbGljYXRlZCB0aGluZ3MgbGlrZSBmdW5jdGlvbnMuXHJcbiAgICAgICAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZURlZmF1bHQpO1xyXG4gICAgICAgICAgaWYgKHRyaWcuYmVmb3JlU2Vjb25kcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSAnMCc7XHJcbiAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdHJpZy5iZWZvcmVTZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlID0gdHJpZy5iZWZvcmVTZWNvbmRzLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgZHVyYXRpb24gbWFudWFsbHkgd2l0aCBhbiBpbnB1dCB0byBvdmVycmlkZS5cclxuICAgICAgICBpZiAoaGFzT3V0cHV0RnVuYykge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2R1cmF0aW9uJztcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLmR1cmF0aW9uO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1kdXJhdGlvbicpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB0cmlnLmR1cmF0aW9uU2Vjb25kcyA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gYCR7dHJpZy5kdXJhdGlvblNlY29uZHN9YDtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgb3V0cHV0IHN0cmluZ3MgbWFudWFsbHlcclxuICAgICAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIG91dHB1dFN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMob3V0cHV0U3RyaW5ncykpIHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLm91dHB1dFN0cmluZ3M7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHR5cGVvZiBvdXRwdXRTdHJpbmcgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgICAgID8gb3V0cHV0U3RyaW5nXHJcbiAgICAgICAgICAgIDogdGhpcy5iYXNlLnRyYW5zbGF0ZShvdXRwdXRTdHJpbmcpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSBrZXk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW91dHB1dHN0cmluZy1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1vdXRwdXRzdHJpbmcnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gdGVtcGxhdGU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oXHJcbiAgICAgICAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgICAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleSwga2V5XSxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgICAgICBpbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy0nKTtcclxuICAgICAgICBjb25zdCBbcDAsIHAxLCBwMl0gPSBwYXRoO1xyXG4gICAgICAgIGlmIChwMCAhPT0gdW5kZWZpbmVkICYmIHAxICE9PSB1bmRlZmluZWQgJiYgcDIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLXNvdXJjZScpO1xyXG4gICAgICAgICAgY29uc3QgYmFzZVVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi90cmlnZ2Vycyc7XHJcbiAgICAgICAgICBsZXQgdXJsRmlsZXBhdGg7XHJcbiAgICAgICAgICBpZiAocGF0aC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICAgICAgLy8gMDAtbWlzYy9nZW5lcmFsLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7Wy4uLnBhdGhdLnNsaWNlKDIpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gMDItYXJyL3JhaWRzL3QxLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7cDJ9LyR7Wy4uLnBhdGhdLnNsaWNlKDMpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZFRyaWdnZXJJZCA9IHRyaWdJZC5yZXBsYWNlKC8nL2csICdcXFxcXFwnJyk7XHJcbiAgICAgICAgICBjb25zdCB1cmlDb21wb25lbnQgPSBlbmNvZGVVUklDb21wb25lbnQoYGlkOiAnJHtlc2NhcGVkVHJpZ2dlcklkfSdgKS5yZXBsYWNlKC8nL2csICclMjcnKTtcclxuICAgICAgICAgIGNvbnN0IHVybFN0cmluZyA9IGAke2Jhc2VVcmx9LyR7dXJsRmlsZXBhdGh9LmpzIzp+OnRleHQ9JHt1cmlDb21wb25lbnR9YDtcclxuICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBgPGEgaHJlZj1cIiR7dXJsU3RyaW5nfVwiIHRhcmdldD1cIl9ibGFua1wiPigke1xyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZpZXdUcmlnZ2VyU291cmNlKVxyXG4gICAgICAgICAgfSk8L2E+YDtcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnVpbGQgdGhlIHRvcCBsZXZlbCB0aW1lbGluZSBlZGl0aW5nIGV4cGFuZGFibGUgY29udGFpbmVyLlxyXG4gIGJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBsZXQgaGFzRXZlckJlZW5FeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLWVkaXQtaGVhZGVyJyk7XHJcbiAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAvLyBCdWlsZCB0aGUgcmVzdCBvZiB0aGlzIFVJIG9uIGRlbWFuZCBsYXppbHkuXHJcbiAgICAgIGlmICghaGFzRXZlckJlZW5FeHBhbmRlZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWVsaW5lID0gdGhpcy50aW1lbGluZUZyb21TZXQoc2V0LCBvcHRpb25zKTtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSSh6b25lSWQsIHRpbWVsaW5lLCBjb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGhhc0V2ZXJCZWVuRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgfTtcclxuICAgIGhlYWRlckRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLmVkaXRUaW1lbGluZSk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYSBwYXJzZWQgdGltZWxpbmUgZnJvbSBhIGdpdmVuIHRyaWdnZXIgc2V0LlxyXG4gIHRpbWVsaW5lRnJvbVNldChzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCwgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zKTogVGltZWxpbmVQYXJzZXIge1xyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBSZWN1cnNpdmVseSB0dXJuIHRoZSB0aW1lbGluZSBhcnJheSBpbnRvIGEgc3RyaW5nLlxyXG4gICAgY29uc3QgYWRkVGltZWxpbmUgPSAob2JqPzogVGltZWxpbmVGaWVsZCkgPT4ge1xyXG4gICAgICBpZiAob2JqID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgLy8gSGFjaywgcGFzcyBibGFuayBkYXRhIGluLCBhcyB3ZSBkb24ndCBoYXZlIGEgcmVhbCBkYXRhIGhlcmUuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xyXG4gICAgICAgIGNvbnN0IGJsYW5rRGF0YTogUmFpZGJvc3NEYXRhID0ge30gYXMgUmFpZGJvc3NEYXRhO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmooYmxhbmtEYXRhKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gRG8gbm90aGluZyBpZiB0aGlzIGZhaWxzLlxyXG4gICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBwcmV0dHkgdW5jb21tb24gaW4gYnVpbHQtaW4gdGltZWxpbmVzLlxyXG4gICAgICAgICAgLy8gSWYgdXNlciBmdW5jdGlvbnMgZG8gZnVua3kgdGhpbmdzLCB0aG9zZSBleHRyYSBsaW5lcyB3aWxsIGJlIHNraXBwZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7b2JqfWA7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBhZGRUaW1lbGluZShzZXQudGltZWxpbmUpO1xyXG4gICAgLy8gVXNpbmcgdGhlIHRpbWVsaW5lUmVwbGFjZSBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbGV0cyB0aGUgdGltZWxpbmVcclxuICAgIC8vIGVudHJpZXMgbG9vayBsaWtlIHRoZXkgd291bGQgaW4gZ2FtZS5cclxuICAgIHJldHVybiBuZXcgVGltZWxpbmVQYXJzZXIodGV4dCwgc2V0LnRpbWVsaW5lUmVwbGFjZSA/PyBbXSwgW10sIFtdLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBpbnRlcm5hbCBwYXJ0IG9mIHRpbWVsaW5lIGVkaXRpbmcgdWkuXHJcbiAgYnVpbGRUaW1lbGluZVVJKHpvbmVJZDogbnVtYmVyLCB0aW1lbGluZTogVGltZWxpbmVQYXJzZXIsIHBhcmVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVuaXFFdmVudHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIHRpbWVsaW5lLmV2ZW50cykge1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB1bmlxRXZlbnRzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB0aW1lbGluZS5pZ25vcmVzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAvLyBuYW1lID0gb3JpZ2luYWwgdGltZWxpbmUgdGV4dFxyXG4gICAgICAvLyB0ZXh0ID0gcmVwbGFjZWQgdGV4dCBpbiBjdXJyZW50IGxhbmd1YWdlXHJcbiAgICAgIHVuaXFFdmVudHNbZXZlbnQubmFtZV0gPSBldmVudC50ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtY29udGFpbmVyJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiBPYmplY3QudmFsdWVzKGtUaW1lbGluZVRhYmxlSGVhZGVycykpIHtcclxuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGhlYWRlcik7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh1bmlxRXZlbnRzKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdW5pcUV2ZW50c1trZXldO1xyXG4gICAgICBpZiAoIWV2ZW50KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY29uc3QgY2hlY2tJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lbmFibGUnKTtcclxuICAgICAgY2hlY2tJbnB1dC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNoZWNrSW5wdXQpO1xyXG5cclxuICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgaGVyZSBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIGBoaWRlYWxsIFwia2V5XCJgLCB3aGVyZSB0aGlzIHRleHQgd2lsbFxyXG4gICAgICAvLyBub3QgYmUgc2hvd24sIGJ1dCB0aW1lbGluZSB0cmlnZ2VycyByZWxhdGVkIHRvIGl0IHdpbGwgc3RpbGwgZmlyZS5cclxuICAgICAgY29uc3QgZW5hYmxlSWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdlbmFibGUnLCBrZXldO1xyXG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0cnVlO1xyXG4gICAgICBjaGVja0lucHV0LmNoZWNrZWQgPSB0aGlzLmJhc2UuZ2V0Qm9vbGVhbk9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgZGVmYXVsdFZhbHVlKTtcclxuICAgICAgY2hlY2tJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgZW5hYmxlSWQsIGNoZWNrSW5wdXQuY2hlY2tlZCk7XHJcblxyXG4gICAgICBjb25zdCB0aW1lbGluZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdGltZWxpbmVUZXh0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtdGV4dCcpO1xyXG4gICAgICB0aW1lbGluZVRleHQuaW5uZXJIVE1MID0gZXZlbnQ7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW1lbGluZVRleHQpO1xyXG5cclxuICAgICAgY29uc3QgdGV4dElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgdGV4dElucHV0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtZWRpdCcpO1xyXG4gICAgICB0ZXh0SW5wdXQucGxhY2Vob2xkZXIgPSBldmVudDtcclxuXHJcbiAgICAgIC8vIEFueSBjaGFuZ2VzIGFyZSB0aWVkIHRvIHRoZSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0IChrZXkpLCBidXQgdGhlIGNvbmZpZyB1aSB3aWxsXHJcbiAgICAgIC8vIGRpc3BsYXkgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UncyB0ZXh0IHdpdGggcmVwbGFjZW1lbnRzIChldmVudCkgYXMgdGhlIHBsYWNlaG9sZGVyIGFib3ZlLlxyXG4gICAgICBjb25zdCB0ZXh0SWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdnbG9iYWxSZXBsYWNlJywga2V5XTtcclxuICAgICAgdGV4dElucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsICcnKTtcclxuICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgdGV4dElkLCB0ZXh0SW5wdXQudmFsdWUpO1xyXG4gICAgICB0ZXh0SW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICB0ZXh0SW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dElucHV0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRoaXMgZHVwbGljYXRlcyB0aGUgcmFpZGJvc3MgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZS5cclxuICB2YWx1ZU9yRnVuY3Rpb24oXHJcbiAgICBmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCxcclxuICAgIGRhdGE6IFJhaWRib3NzRGF0YSxcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBvdXRwdXQ6IE91dHB1dCxcclxuICApOiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gKHR5cGVvZiBmID09PSAnZnVuY3Rpb24nKSA/IGYoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA6IGY7XHJcbiAgICBpZiAocmVzdWx0ICE9PSBPYmplY3QocmVzdWx0KSlcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICBpZiAocmVzdWx0W3RoaXMuYWxlcnRzTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIGlmIChyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddKVxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMudGltZWxpbmVMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIC8vIEZvciBwYXJ0aWFsbHkgbG9jYWxpemVkIHJlc3VsdHMgd2hlcmUgdGhpcyBsb2NhbGl6YXRpb24gZG9lc24ndFxyXG4gICAgLy8gZXhpc3QsIHByZWZlciBFbmdsaXNoIG92ZXIgbm90aGluZy5cclxuICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbJ2VuJ10sIGRhdGEsIG1hdGNoZXMsIG91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzVHJpZ2dlcih0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpOiBDb25maWdMb29zZVRyaWdnZXIge1xyXG4gICAgLy8gVE9ETzogd2l0aCBzb21lIGhhY2tpbmVzcyAoZS5nLiByZWdleGVzPykgd2UgY291bGQgZmlndXJlIG91dCB3aGljaFxyXG4gICAgLy8gb3V0cHV0IHN0cmluZyBjYW1lIGZyb20gd2hpY2ggYWxlcnQgdHlwZSAoYWxhcm0sIGFsZXJ0LCBpbmZvLCB0dHMpLlxyXG4gICAgLy8gU2VlIGBtYWtlT3V0cHV0YCBjb21tZW50cyBmb3Igd2h5IHRoaXMgbmVlZHMgYSB0eXBlIGFzc2VydGlvbiB0byBiZSBhbiBPdXRwdXQuXHJcbiAgICBjb25zdCBmYWtlT3V0cHV0UHJveHkgPSBuZXcgRG9Ob3RoaW5nRnVuY1Byb3h5KChvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzKSA9PiB7XHJcbiAgICAgIHRyaWcub3V0cHV0U3RyaW5ncyA9IHRyaWcub3V0cHV0U3RyaW5ncyB8fCB7fTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0cmlnLm91dHB1dFN0cmluZ3MsIG91dHB1dFN0cmluZ3MpO1xyXG4gICAgfSkgYXMgT3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGJhc2VGYWtlRGF0YTogUmFpZGJvc3NEYXRhID0ge1xyXG4gICAgICBtZTogJycsXHJcbiAgICAgIGpvYjogJ05PTkUnLFxyXG4gICAgICByb2xlOiAnbm9uZScsXHJcbiAgICAgIHBhcnR5OiBuZXcgUGFydHlUcmFja2VyKCksXHJcbiAgICAgIGxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IDEwMDAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMuYmFzZS5jb25maWdPcHRpb25zLFxyXG4gICAgICBTaG9ydE5hbWU6ICh4Pzogc3RyaW5nKSA9PiB4ID8/ICc/Pz8nLFxyXG4gICAgICBTdG9wQ29tYmF0OiAoKSA9PiB7Lyogbm9vcCAqL30sXHJcbiAgICAgIFBhcnNlTG9jYWxlRmxvYXQ6IHBhcnNlRmxvYXQsXHJcbiAgICAgIENhblN0dW46ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuU2xlZXA6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5DbGVhbnNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuRmVpbnQ6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5BZGRsZTogKCkgPT4gZmFsc2UsXHJcbiAgICAgIHBhcnNlckxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBkaXNwbGF5TGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICB9O1xyXG5cclxuICAgIHR5cGUgUGFydGlhbEZha2VEYXRhRW50cnkgPSB7IG1lOiBzdHJpbmc7IGpvYjogSm9iOyByb2xlOiBSb2xlIH07XHJcbiAgICBjb25zdCBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzOiBQYXJ0aWFsRmFrZURhdGFFbnRyeVtdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUaW5pIFBvdXRpbmknLFxyXG4gICAgICAgIGpvYjogJ0dOQicsXHJcbiAgICAgICAgcm9sZTogJ3RhbmsnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdQb3RhdG8gQ2hpcHB5JyxcclxuICAgICAgICBqb2I6ICdXSE0nLFxyXG4gICAgICAgIHJvbGU6ICdoZWFsZXInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUYXRlciBUb3QnLFxyXG4gICAgICAgIGpvYjogJ0JMTScsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0hhc2ggQnJvd24nLFxyXG4gICAgICAgIGpvYjogJ0RSRycsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0Fsb28gR29iaScsXHJcbiAgICAgICAgam9iOiAnQkxVJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBjb25zdCBmYWtlRGF0YUVudHJpZXM6IFJhaWRib3NzRGF0YVtdID0gcGFydGlhbEZha2VEYXRhRW50cmllcy5tYXAoKHgpID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHgsIGJhc2VGYWtlRGF0YSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZpcnN0RGF0YSA9IGZha2VEYXRhRW50cmllc1swXTtcclxuICAgIGlmICghZmlyc3REYXRhKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qga0Zha2VNYXRjaGVzID0ge1xyXG4gICAgICAvLyBUT0RPOiByZWFsbHkgc2hvdWxkIGNvbnZlcnQgYWxsIHRyaWdnZXJzIHRvIHVzZSByZWdleGVzLmpzLlxyXG4gICAgICAvLyBNb29vb29zdCB0cmlnZ2VycyB1c2UgbWF0Y2hlc1sxXSB0byBiZSBhIG5hbWUuXHJcbiAgICAgIDE6IGZpcnN0RGF0YS5tZSxcclxuXHJcbiAgICAgIHNvdXJjZUlkOiAnNDEyMzQ1NjcnLFxyXG4gICAgICBzb3VyY2U6ICdFbmVteScsXHJcbiAgICAgIGlkOiAnMTIzNCcsXHJcbiAgICAgIGFiaWxpdHk6ICdBYmlsaXR5JyxcclxuICAgICAgdGFyZ2V0SWQ6ICcxMjM0NTY3JyxcclxuICAgICAgdGFyZ2V0OiBmaXJzdERhdGEubWUsXHJcbiAgICAgIGZsYWdzOiAnJyxcclxuICAgICAgeDogJzEwMCcsXHJcbiAgICAgIHk6ICcxMDAnLFxyXG4gICAgICB6OiAnMCcsXHJcbiAgICAgIGhlYWRpbmc6ICcwJyxcclxuICAgICAgbnBjSWQ6ICcnLFxyXG4gICAgICBlZmZlY3Q6ICdFZmZlY3QnLFxyXG4gICAgICBkdXJhdGlvbjogJzMwJyxcclxuICAgICAgY29kZTogJzAwJyxcclxuICAgICAgbGluZTogJycsXHJcbiAgICAgIG5hbWU6ICdOYW1lJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0OiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXRLZXlzID0gWydhbGFybVRleHQnLCAnYWxlcnRUZXh0JywgJ2luZm9UZXh0JywgJ3R0cycsICdzb3VuZCddIGFzIGNvbnN0O1xyXG4gICAgdHlwZSBPdXRwdXRLZXkgPSB0eXBlb2Ygb3V0cHV0S2V5c1tudW1iZXJdO1xyXG5cclxuICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgc29tZSBzYW1wbGUgb3V0cHV0P1xyXG4gICAgLy8gVGhpcyBjb3VsZCBnZXQgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGlmIHdlIHdhbnRlZCBpdCB0by5cclxuICAgIGNvbnN0IGV2YWxUcmlnZ2VyID0gKHRyaWc6IExvb3NlVHJpZ2dlciwga2V5OiBPdXRwdXRLZXksIGRhdGE6IFJhaWRib3NzRGF0YSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsdWVPckZ1bmN0aW9uKHRyaWdba2V5XSwgZGF0YSwga0Zha2VNYXRjaGVzLCBmYWtlT3V0cHV0UHJveHkpO1xyXG4gICAgICAgIGlmICghcmVzdWx0KVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBTdXBlciBoYWNrOlxyXG4gICAgICAgIGNvbnN0IHJlc3VsdFN0ciA9IHJlc3VsdC50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChyZXN1bHRTdHIuaW5jbHVkZXMoJ3VuZGVmaW5lZCcpIHx8IHJlc3VsdFN0ci5pbmNsdWRlcygnTmFOJykpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIG91dHB1dFtrZXldID0gcmVzdWx0U3RyO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBhbGwgdG90YWxseSBib2d1cy4gIE1hbnkgdHJpZ2dlcnMgYXNzdW1lIGZpZWxkcyBvbiBkYXRhXHJcbiAgICAgICAgLy8gYXJlIHByb3Blcmx5IGRlZmluZWQgd2hlbiB0aGVzZSBjYWxscyBoYXBwZW4sIHNvIHdpbGwgdGhyb3cgZXJyb3JzLlxyXG4gICAgICAgIC8vIFNvIGp1c3Qgc2lsZW50bHkgaWdub3JlLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBIYW5kbGUgJ3Jlc3BvbnNlJyBmaXJzdC5cclxuICAgIGlmICh0cmlnLnJlc3BvbnNlKSB7XHJcbiAgICAgIGNvbnN0IHIgPSB0cmlnLnJlc3BvbnNlO1xyXG4gICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIC8vIENhbid0IHVzZSBWYWx1ZU9yRnVuY3Rpb24gaGVyZSBhcyByIHJldHVybnMgYSBub24tbG9jYWxpemFibGUgb2JqZWN0LlxyXG4gICAgICAgICAgLy8gRklYTUU6IHRoaXMgaGFja2lseSByZXBsaWNhdGVzIHNvbWUgcmFpZGJvc3MgbG9naWMgdG9vLlxyXG4gICAgICAgICAgbGV0IHJlc3BvbnNlOiB0eXBlb2YgdHJpZy5yZXNwb25zZSB8IHVuZGVmaW5lZCA9IHI7XHJcbiAgICAgICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaGFzIGJ1aWx0SW5SZXNwb25zZVN0ciBmaXJzdC5cclxuICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZShkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKVxyXG4gICAgICAgICAgICAgIGV2YWxUcmlnZ2VyKHJlc3BvbnNlLCBrZXksIGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT25seSBldmFsdWF0ZSBmaWVsZHMgaWYgdGhlcmUgYXJlIG5vdCBvdXRwdXRTdHJpbmdzLlxyXG4gICAgLy8gb3V0cHV0U3RyaW5ncyB3aWxsIGluZGljYXRlIG1vcmUgY2xlYXJseSB3aGF0IHRoZSB0cmlnZ2VyIHNheXMuXHJcbiAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKSB7XHJcbiAgICAgICAgaWYgKCEoa2V5IGluIHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZm9yIChjb25zdCBkYXRhIG9mIGZha2VEYXRhRW50cmllcykge1xyXG4gICAgICAgICAgaWYgKGV2YWxUcmlnZ2VyKHRyaWcsIGtleSwgZGF0YSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWcuY29uZmlnT3V0cHV0ID0gb3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLmJhc2UubGFuZztcclxuXHJcbiAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleGVzID0gW1xyXG4gICAgICAnbmV0UmVnZXhEZScsXHJcbiAgICAgICduZXRSZWdleEZyJyxcclxuICAgICAgJ25ldFJlZ2V4SmEnLFxyXG4gICAgICAnbmV0UmVnZXhDbicsXHJcbiAgICAgICduZXRSZWdleEtvJyxcclxuICAgICAgJ3JlZ2V4RGUnLFxyXG4gICAgICAncmVnZXhGcicsXHJcbiAgICAgICdyZWdleEphJyxcclxuICAgICAgJ3JlZ2V4Q24nLFxyXG4gICAgICAncmVnZXhLbycsXHJcbiAgICBdIGFzIGNvbnN0O1xyXG4gICAgY29uc3QgZ2V0UmVnZXggPSAoYmFzZUZpZWxkOiAncmVnZXgnIHwgJ25ldFJlZ2V4JykgPT4ge1xyXG4gICAgICBjb25zdCBzaG9ydExhbmd1YWdlID0gbGFuZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGxhbmcuc2xpY2UoMSk7XHJcbiAgICAgIGNvbnN0IGNvbmNhdFN0ciA9IGxhbmdTcGVjaWZpY1JlZ2V4ZXMuZmluZCgoeCkgPT4geCA9PT0gYCR7YmFzZUZpZWxkfSR7c2hvcnRMYW5ndWFnZX1gKTtcclxuICAgICAgaWYgKCFjb25jYXRTdHIpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleCA9IHRyaWdbY29uY2F0U3RyXSA/PyB0cmlnW2Jhc2VGaWVsZF07XHJcbiAgICAgIGlmICghbGFuZ1NwZWNpZmljUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBiYXNlUmVnZXggPSBSZWdleGVzLnBhcnNlKGxhbmdTcGVjaWZpY1JlZ2V4KTtcclxuICAgICAgaWYgKCFiYXNlUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICByZXR1cm4gUmVnZXhlcy5wYXJzZShiYXNlUmVnZXgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICB0cmlnLnRpbWVsaW5lUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyaWcudHJpZ2dlclJlZ2V4ID0gZ2V0UmVnZXgoJ3JlZ2V4Jyk7XHJcbiAgICAgIHRyaWcudHJpZ2dlck5ldFJlZ2V4ID0gZ2V0UmVnZXgoJ25ldFJlZ2V4Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyaWc7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzUmFpZGJvc3NGaWxlcyhcclxuICAgIGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICApOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4ge1xyXG4gICAgLy8gYGZpbGVzYCBpcyBtYXAgb2YgZmlsZW5hbWUgPT4gdHJpZ2dlclNldCAoZm9yIHRyaWdnZXIgZmlsZXMpXHJcbiAgICAvLyBgbWFwYCBpcyBhIHNvcnRlZCBtYXAgb2Ygc2hvcnRlbmVkIHpvbmUga2V5ID0+IHsgdmFyaW91cyBmaWVsZHMsIHRyaWdnZXJTZXQgfVxyXG4gICAgY29uc3QgdHJpZ2dlckZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0IH0gPSB7fTtcclxuICAgIGNvbnN0IHRpbWVsaW5lRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIHRyaWdnZXJTZXRPclN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdHJpZ2dlclNldE9yU3RyaW5nID09PSAnc3RyaW5nJylcclxuICAgICAgICB0aW1lbGluZUZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRyaWdnZXJGaWxlc1tmaWxlbmFtZV0gPSB0cmlnZ2VyU2V0T3JTdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWFwID0gdGhpcy5iYXNlLnByb2Nlc3NGaWxlczxDb25maWdMb29zZVRyaWdnZXJTZXQ+KHRyaWdnZXJGaWxlcywgdXNlck9wdGlvbnMuVHJpZ2dlcnMpO1xyXG4gICAgbGV0IHRyaWdnZXJJZHggPSAwO1xyXG5cclxuICAgIC8vIFdoaWxlIHdhbGtpbmcgdGhyb3VnaCB0cmlnZ2VycywgcmVjb3JkIGFueSBwcmV2aW91cyB0cmlnZ2VycyB3aXRoIHRoZSBzYW1lXHJcbiAgICAvLyBpZCBzbyB0aGF0IHRoZSB1aSBjYW4gZGlzYWJsZSBvdmVycmlkaW5nIGluZm9ybWF0aW9uLlxyXG4gICAgY29uc3QgcHJldmlvdXNUcmlnZ2VyV2l0aElkOiB7IFtpZDogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhtYXApKSB7XHJcbiAgICAgIC8vIFRPRE86IG1heWJlIGVhY2ggdHJpZ2dlciBzZXQgbmVlZHMgYSB6b25lIG5hbWUsIGFuZCB3ZSBzaG91bGRcclxuICAgICAgLy8gdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgZmlsZW5hbWU/Pz9cclxuICAgICAgY29uc3QgcmF3VHJpZ2dlcnM6IHsgdHJpZ2dlcjogTG9vc2VUcmlnZ2VyW107IHRpbWVsaW5lOiBMb29zZVRyaWdnZXJbXSB9ID0ge1xyXG4gICAgICAgIHRyaWdnZXI6IFtdLFxyXG4gICAgICAgIHRpbWVsaW5lOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgdHJpZ2dlclNldCA9IGl0ZW0udHJpZ2dlclNldDtcclxuICAgICAgaWYgKHRyaWdnZXJTZXQudHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudHJpZ2dlci5wdXNoKC4uLnRyaWdnZXJTZXQudHJpZ2dlcnMpO1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKVxyXG4gICAgICAgIHJhd1RyaWdnZXJzLnRpbWVsaW5lLnB1c2goLi4udHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKTtcclxuXHJcbiAgICAgIGlmICghdHJpZ2dlclNldC5pc1VzZXJUcmlnZ2VyU2V0ICYmIHRyaWdnZXJTZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgZmxhdHRlblRpbWVsaW5lKHRyaWdnZXJTZXQsIHRyaWdnZXJTZXQuZmlsZW5hbWUsIHRpbWVsaW5lRmlsZXMpO1xyXG5cclxuICAgICAgaXRlbS50cmlnZ2VycyA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHRyaWdnZXJBcnJdIG9mIE9iamVjdC5lbnRyaWVzKHJhd1RyaWdnZXJzKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZVRyaWcgb2YgdHJpZ2dlckFycikge1xyXG4gICAgICAgICAgY29uc3QgdHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyID0gYmFzZVRyaWc7XHJcbiAgICAgICAgICB0cmlnZ2VySWR4Kys7XHJcbiAgICAgICAgICBpZiAoIXRyaWcuaWQpIHtcclxuICAgICAgICAgICAgLy8gR2l2ZSB0cmlnZ2VycyB3aXRoIG5vIGlkIHNvbWUgXCJ1bmlxdWVcIiBzdHJpbmcgc28gdGhhdCB0aGV5IGNhblxyXG4gICAgICAgICAgICAvLyBzdGlsbCBiZSBhZGRlZCB0byB0aGUgc2V0IGFuZCBzaG93IHVwIGluIHRoZSB1aS5cclxuICAgICAgICAgICAgdHJpZy5pZCA9IGAhIU5vSWRUcmlnZ2VyJHt0cmlnZ2VySWR4fWA7XHJcbiAgICAgICAgICAgIHRyaWcuaXNNaXNzaW5nSWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIFRyYWNrIGlmIHRoaXMgdHJpZ2dlciBvdmVycmlkZXMgYW55IHByZXZpb3VzIHRyaWdnZXIuXHJcbiAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXTtcclxuICAgICAgICAgIGlmIChwcmV2aW91cylcclxuICAgICAgICAgICAgcHJldmlvdXMub3ZlcnJpZGRlbkJ5RmlsZSA9IHRyaWdnZXJTZXQuZmlsZW5hbWU7XHJcbiAgICAgICAgICBwcmV2aW91c1RyaWdnZXJXaXRoSWRbdHJpZy5pZF0gPSB0cmlnO1xyXG5cclxuICAgICAgICAgIHRyaWcuaXNUaW1lbGluZVRyaWdnZXIgPSBrZXkgPT09ICd0aW1lbGluZSc7XHJcbiAgICAgICAgICAvLyBBbHNvLCBpZiBhIHVzZXIgaGFzIHR3byBvZiB0aGUgc2FtZSBpZCBpbiB0aGUgc2FtZSB0cmlnZ2VyU2V0ICg/ISlcclxuICAgICAgICAgIC8vIHRoZW4gb25seSB0aGUgc2Vjb25kIHRyaWdnZXIgd2lsbCBzaG93IHVwLlxyXG4gICAgICAgICAgaXRlbS50cmlnZ2Vyc1t0cmlnLmlkXSA9IHRoaXMucHJvY2Vzc1RyaWdnZXIodHJpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnOiBMb29zZVRyaWdnZXIsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCkge1xyXG4gICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBhcyBhbGwgdHJpZ2dlcnMgc2hvdWxkIGJlIHByb2Nlc3NlZCB3aXRoIGEgdW5pcXVlIGlkLlxyXG4gICAgY29uc3QgdHJpZ0lkID0gdHJpZy5pZDtcclxuICAgIGlmICghdHJpZ0lkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0O1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKFxyXG4gICAgICAncmFpZGJvc3MnLFxyXG4gICAgICBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLFxyXG4gICAgICAnZGVmYXVsdCcsXHJcbiAgICApO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VyU291bmRPcHRpb25zKSkge1xyXG4gICAgICAvLyBIaWRlIGRlYnVnIG9ubHkgb3B0aW9ucyB1bmxlc3MgdGhleSBhcmUgc2VsZWN0ZWQuXHJcbiAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBsb29rIHdlaXJkIHRvIHBpY2sgc29tZXRoaW5nIGxpa2UgJ0Rpc2FibGVkJyxcclxuICAgICAgLy8gYnV0IHRoZW4gbm90IHNob3cgaXQgd2hlbiBkZXZlbG9wZXIgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cclxuICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5ICYmIGtleSAhPT0gc2VsZWN0VmFsdWUpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgZWxlbS5pbm5lckhUTUwgPSB0aGlzLmJhc2UudHJhbnNsYXRlKG9wdC5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBmbGF0dGVuVGltZWxpbmUgPSAoXHJcbiAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBmaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4pID0+IHtcclxuICAvLyBDb252ZXJ0IHNldC50aW1lbGluZUZpbGUgdG8gc2V0LnRpbWVsaW5lLlxyXG4gIGlmICghc2V0LnRpbWVsaW5lRmlsZSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCBsYXN0SW5kZXggPSBNYXRoLm1heChmaWxlbmFtZS5sYXN0SW5kZXhPZignLycpLCBmaWxlbmFtZS5sYXN0SW5kZXhPZignXFxcXCcpKTtcclxuICAvLyBJZiBsYXN0SW5kZXggPT09IC0xLCB0cnVuY2F0ZSBuYW1lIHRvIHRoZSBlbXB0eSBzdHJpbmcuXHJcbiAgLy8gaWYgbGFzdEluZGV4ID4gLTEsIHRydW5jYXRlIG5hbWUgYWZ0ZXIgdGhlIGZpbmFsIHNsYXNoLlxyXG4gIGNvbnN0IGRpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuXHJcbiAgY29uc3QgdGltZWxpbmVGaWxlID0gYCR7ZGlyfSR7c2V0LnRpbWVsaW5lRmlsZX1gO1xyXG4gIGRlbGV0ZSBzZXQudGltZWxpbmVGaWxlO1xyXG5cclxuICBpZiAoISh0aW1lbGluZUZpbGUgaW4gZmlsZXMpKSB7XHJcbiAgICBjb25zb2xlLmxvZyhgRVJST1I6ICcke2ZpbGVuYW1lfScgc3BlY2lmaWVzIG5vbi1leGlzdGVudCB0aW1lbGluZSBmaWxlICcke3RpbWVsaW5lRmlsZX0nLmApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLy8gc2V0LnRpbWVsaW5lIGlzIHByb2Nlc3NlZCByZWN1cnNpdmVseS5cclxuICBzZXQudGltZWxpbmUgPSBbc2V0LnRpbWVsaW5lLCBmaWxlc1t0aW1lbGluZUZpbGVdXTtcclxufTtcclxuXHJcbi8vIFJhaWRib3NzIG5lZWRzIHRvIGRvIHNvbWUgZXh0cmEgcHJvY2Vzc2luZyBvZiB1c2VyIGZpbGVzLlxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbiAgYmFzZU9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4ge1xyXG4gIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLlxyXG4gIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBSYWlkYm9zc09wdGlvbnM7XHJcblxyXG4gIGlmICghb3B0aW9ucy5UcmlnZ2VycylcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBiYXNlVHJpZ2dlclNldCBvZiBvcHRpb25zLlRyaWdnZXJzKSB7XHJcbiAgICBjb25zdCBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuXHJcbiAgICBmbGF0dGVuVGltZWxpbmUoc2V0LCBuYW1lLCBmaWxlcyk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnID0gKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICAvLyByYWlkYm9zcyB3aWxsIGxvb2sgdXAgdGhpcy5vcHRpb25zLlBlclRyaWdnZXJBdXRvQ29uZmlnIHRvIGZpbmQgdGhlc2UgdmFsdWVzLlxyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyVHJpZ2dlckF1dG9Db25maWcnO1xyXG5cclxuICBjb25zdCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IG9wdGlvbnNbb3B0aW9uTmFtZV0gPz89IHt9O1xyXG4gIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IHRyaWdnZXJzID0gc2F2ZWRDb25maWdbJ3RyaWdnZXJzJ107XHJcbiAgaWYgKCF0cmlnZ2VycyB8fCB0eXBlb2YgdHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkodHJpZ2dlcnMpKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBjb25zdCBvdXRwdXRPYmpzOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH0gPSB7fTtcclxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoa1RyaWdnZXJPcHRpb25zKTtcclxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICBjb25zdCBvYmogPSBvdXRwdXRPYmpzW2tleV0gPSB7fTtcclxuICAgIHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUob2JqLCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBbaWQsIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VycykpIHtcclxuICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWcgPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVtrT3B0aW9uS2V5cy5vdXRwdXRdPy50b1N0cmluZygpO1xyXG4gICAgaWYgKG91dHB1dClcclxuICAgICAgT2JqZWN0LmFzc2lnbihhdXRvQ29uZmlnLCBvdXRwdXRPYmpzW291dHB1dF0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmR1cmF0aW9uXSk7XHJcbiAgICBpZiAoZHVyYXRpb24pXHJcbiAgICAgIGF1dG9Db25maWdba09wdGlvbktleXMuZHVyYXRpb25dID0gZHVyYXRpb247XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZChlbnRyeVtrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSk7XHJcbiAgICBpZiAoYmVmb3JlU2Vjb25kcylcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSA9IGJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdO1xyXG4gICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgU2F2ZWRDb25maWdFbnRyeSBpcyBhbiBhbiBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLFxyXG4gICAgLy8gd2hpY2ggaXMgYSBzdWJzZXQgb2YgdGhlIE91dHB1dFN0cmluZ3MgdHlwZS5cclxuICAgIGlmIChcclxuICAgICAgKChlbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpOiBlbnRyeSBpcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIGVudHJ5ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGVudHJ5KSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoZW50cnkpKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfSkob3V0cHV0U3RyaW5ncylcclxuICAgIClcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5vdXRwdXRTdHJpbmdzXSA9IG91dHB1dFN0cmluZ3M7XHJcblxyXG4gICAgaWYgKG91dHB1dCB8fCBkdXJhdGlvbiB8fCBvdXRwdXRTdHJpbmdzKVxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPSBhdXRvQ29uZmlnO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyWm9uZVRpbWVsaW5lQ29uZmlnJztcclxuICAvLyBTYXZlZENvbmZpZyB1c2VzIHRoaXMga2V5IHN0cnVjdHVyZTpcclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2VuYWJsZScsIHRleHQsIGJvb2xlYW5cclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2dsb2JhbFJlcGxhY2UnLCB0ZXh0LCBzdHJpbmdcclxuICAvLyAuLi5hbmQgdGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGl0IGludG8gYSBgUGVyWm9uZVRpbWVsaW5lQ29uZmlnYC5cclxuXHJcbiAgY29uc3QgcGVyWm9uZVRpbWVsaW5lQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdGltZWxpbmUgPSBzYXZlZENvbmZpZ1sndGltZWxpbmUnXTtcclxuICBpZiAoIXRpbWVsaW5lIHx8IHR5cGVvZiB0aW1lbGluZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0aW1lbGluZSkpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgW3pvbmVLZXksIHpvbmVFbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModGltZWxpbmUpKSB7XHJcbiAgICBjb25zdCB6b25lSWQgPSBwYXJzZUludCh6b25lS2V5KTtcclxuICAgIGlmICghem9uZUlkKVxyXG4gICAgICBjb250aW51ZTtcclxuICAgIGNvbnN0IHRpbWVsaW5lQ29uZmlnID0gcGVyWm9uZVRpbWVsaW5lQ29uZmlnW3pvbmVJZF0gPz89IHt9O1xyXG5cclxuICAgIGlmICghem9uZUVudHJ5IHx8IHR5cGVvZiB6b25lRW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoem9uZUVudHJ5KSlcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3QgZW5hYmxlRW50cnkgPSB6b25lRW50cnlbJ2VuYWJsZSddO1xyXG4gICAgY29uc3QgcmVwbGFjZUVudHJ5ID0gem9uZUVudHJ5WydnbG9iYWxSZXBsYWNlJ107XHJcblxyXG4gICAgaWYgKGVuYWJsZUVudHJ5ICYmIHR5cGVvZiBlbmFibGVFbnRyeSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVuYWJsZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiAhdmFsdWUpXHJcbiAgICAgICAgICAodGltZWxpbmVDb25maWcuSWdub3JlID8/PSBbXSkucHVzaChrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcGxhY2VFbnRyeSAmJiB0eXBlb2YgcmVwbGFjZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShyZXBsYWNlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5SZW5hbWUgPz89IHt9KVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG5jb25zdCB0ZW1wbGF0ZU9wdGlvbnM6IE9wdGlvbnNUZW1wbGF0ZSA9IHtcclxuICBidWlsZEV4dHJhVUk6IChiYXNlLCBjb250YWluZXIpID0+IHtcclxuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgUmFpZGJvc3NDb25maWd1cmF0b3IoYmFzZSk7XHJcbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IHsgLi4ucmFpZGJvc3NPcHRpb25zIH07XHJcbiAgICBVc2VyQ29uZmlnLmxvYWRVc2VyRmlsZXMoJ3JhaWRib3NzJywgdXNlck9wdGlvbnMsICgpID0+IHtcclxuICAgICAgYnVpbGRlci5idWlsZFVJKGNvbnRhaW5lciwgcmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgfSxcclxuICBwcm9jZXNzRXh0cmFPcHRpb25zOiAoYmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnKSA9PiB7XHJcbiAgICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAgIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLiAgV2l0aG91dCB0aGlzLCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyBpcyB1bmtub3duLlxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgICBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gICAgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgfSxcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ292ZXJhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTdXBwb3J0ZWQgY29udGVudCAobGF0ZXN0IHZlcnNpb24pJyxcclxuICAgICAgICBkZTogJ1VudGVyc3TDvHR6dGUgSW5oYWx0ZSAoYWt0dWVsbHN0ZSBWZXJzaW9uKScsXHJcbiAgICAgICAgZnI6ICdDb250ZW51IHN1cHBvcnTDqSAoZGVybmnDqHJlIHZlcnNpb24pJyxcclxuICAgICAgICBqYTogJ+WvvuW/nOOCs+ODs+ODhuODs+ODhOS4gOimpyAo5pyA5paw44OQ44O844K444On44OzKScsXHJcbiAgICAgICAgY246ICfmlK/mjIHlia/mnKzkuIDop4ggKOWQq+acquWPkeW4g+abtOaWsCknLFxyXG4gICAgICAgIGtvOiAn7KeA7JuQ7ZWY64qUIOy7qO2FkOy4oCAo66a066as7KaI67KE7KCE67O064ukIOy1nOyLoCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaHRtbCcsXHJcbiAgICAgIGh0bWw6IHtcclxuICAgICAgICAvLyBUT0RPOiBpdCdkIGJlIG5pY2UgaWYgT3ZlcmxheVBsdWdpbiBjb3VsZCBvcGVuIGxpbmtzIG9uIHRoZSBzeXN0ZW0gb3V0c2lkZSBvZiBBQ1QuXHJcbiAgICAgICAgZW46IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgICAgIGRlOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZGUnKSxcclxuICAgICAgICBmcjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWZyJyksXHJcbiAgICAgICAgamE6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1qYScpLFxyXG4gICAgICAgIGNuOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9Y24nKSxcclxuICAgICAgICBrbzogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWtvJyksXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVmYXVsdEFsZXJ0T3V0cHV0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRGVmYXVsdCBhbGVydCBvdXRwdXQnLFxyXG4gICAgICAgIGRlOiAnU3RhbmRhcmQgQWxlcnQgQXVzZ2FiZScsXHJcbiAgICAgICAgZnI6ICdBbGVydGUgcGFyIGTDqWZhdXQnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx5Ye65Yqb5pei5a6a5YCkJyxcclxuICAgICAgICBjbjogJ+m7mOiupOitpuaKpeaPkOekuuS/oeaBr+i+k+WHuuaWueW8jycsXHJcbiAgICAgICAga286ICfquLDrs7gg7JWM656MIOy2nOugpSDrsKnsi50nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgT25seSc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIFRleHQgT25seSc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCB1bmQgVG9uJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwgVGV4dCB1bmQgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgTnVyIFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIE51ciBUZXh0JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGVha3RpdmllcnQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0ZSBldCBzb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0ZSBldCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgc2V1bGVtZW50JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dGUgc2V1bGVtZW50JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRMOpc2FjdGl2w6knOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFPjga7jgb8nOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnhKHlirknOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCDlj6rkvb/nlKhUVFMnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDthY3siqTtirjsmYAg7IaM66asJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+unjCc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIO2FjeyKpO2KuOunjCc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOu5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgIHNldHRlckZ1bmM6IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0c0xhbmd1YWdlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0FsZXJ0IFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlcyBhbGVydGVzJyxcclxuICAgICAgICBqYTogJ+itpuWRiuaDheWgseOBruiogOiqnicsXHJcbiAgICAgICAgY246ICforabmiqXmj5DnpLrmloflrZfnmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7JWM656MIOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRGlzcGxheSBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ1V0aWxpc2VyIGxhIGxhbmd1ZSBkXFwnYWZmaWNoYWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn6KGo56S66KiA6Kqe5pei5a6a5YCkJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmmL7npLror63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+yjvCDsgqzsmqkg7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydBbGVydHNMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVsaW5lTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBsYW5ndWFnZScsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBTcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7Pjga7oqIDoqp4nLFxyXG4gICAgICAgIGNuOiAn5pe26Ze06L205paH5pys55qE6K+t6KiAJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfmsYnor60gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydUaW1lbGluZUxhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2tpbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGRlOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZnI6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBqYTogJ1JhaWRib3Nz44Gu44K544Kt44OzJyxcclxuICAgICAgICBjbjogJ1JhaWRib3Nz55qu6IKkJyxcclxuICAgICAgICBrbzogJ1JhaWRib3NzIOyKpO2CqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnRGVmYXVsdCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ0TDqWZhdXQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfliJ3mnJ/oqK3lrponOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfpu5jorqQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfquLDrs7gnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZWxpbmUgZW5hYmxlZCcsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnVGltZWxpbmUgYWN0aXbDqWUnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44Oz44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaXtumXtOi9tCcsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbgg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0cyBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0FsZXJ0cyBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnQWxlcnRlcyBhY3RpdsOpZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaPkOekuuaWh+acrOaYvuekuicsXHJcbiAgICAgICAga286ICfslYzrnowg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd1RpbWVyQmFyc0F0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVyIGJhciBzaG93IHdpbmRvdyAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnVGltZXItQmFyIEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0ZlbsOqdHJlIGRcXCdhZmZpY2hhZ2UgZGUgbGEgYmFycmUgZGUgdGVtcHMgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgavmmYLplpPooajnpLogKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K6h5pe25p2h5pi+56S65pe26ZW/ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydhCDtkZzsi5ztlaAg6riw7KSAIOyLnOqwhCAo7LSIIOydtO2VmCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnS2VlcCBleHBpcmVkIHRpbWVyIGJhciAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQmVoYWx0ZSBhYmdlbGF1ZmVuZSBUaW1lci1CYXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdHYXJkZXIgbGEgYmFycmUgZGUgdGVtcHMgZXhwaXLDqWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfntYLkuobjgZfjgZ/jgr/jgqTjg6Djg5Djg7zjgYzmtojjgYjjgovjgb7jgafjga7lvoXjgaHmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5bey5aSx5pWI55qE6K6h5pe25p2h55qE5reh5Ye65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+unjOujjOuQnCDtg4DsnoTrnbzsnbjsnbQg7IKs65287KeA6riw6rmM7KeA7J2YIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmFyRXhwaXJlc1Nvb25TZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZSB0byByZWNvbG9yIHRpbWVyIGFzIGV4cGlyaW5nIHNvb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgYmlzIGVpbiBiYWxkIGF1c2xhdWZlbmRlciBUaW1lciB1bWdlZsOkcmJ0IHdpcmQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSZWNvbG9yaXNhdGlvbiBkZSBsYSBiYXJyZSBkZSB0ZW1wcyBhdmFudCBleHBpcmF0aW9uIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844GM57WC5LqG5YmN44Gr5YaN5bqm6Imy5LuY44GR44Gu5q6L44KK5pmC6ZaTICjnp5IpJyxcclxuICAgICAgICBjbjogJ+WAkuiuoeaXtuWwj+S6juivpeWAvOaXtuW9k+WJjeiuoeaXtuadoeWPmOiJsiAo56eSKScsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbjsnZgg7IOJ7IOB7J2EIOuwlOq/gCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTWF4TnVtYmVyT2ZUaW1lckJhcnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYXggbnVtYmVyIG9mIHRpbWVyIGJhcnMnLFxyXG4gICAgICAgIGRlOiAnTWF4IEFuemFobCBhbiBUaW1lci1CYXJzJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtYXggZGUgYmFycmVzIGRlIHRlbXBzJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBruacgOWkp+aVsCcsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmnIDlpKfmlbDph48nLFxyXG4gICAgICAgIGtvOiAn7ZGc7Iuc7ZWgIO2DgOyehOudvOyduOydmCDstZzrjIAg6rCc7IiYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxhcm1lIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuaKpee6p+WIq+aWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQtVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxlcnRlIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+aWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyB0ZXh0IGRpc3BsYXkgZHVyYXRpb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0luZm8tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnaW5mb3JtYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfmg4XloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yViOuCtCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGFybSBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGFybWUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuaKpee6p+WIq+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGVydGUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0luZm8gc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0luZm8gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdpbmZvICgwLTEpJyxcclxuICAgICAgICBqYTogJ+aDheWgsemfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvmj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdMb25nU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb25nIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYW5nZXIgVG9uIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9uZyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfplbfjgYTpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6ZW/5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+q4tCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUHVsbFNvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHVsbCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnUHVsbCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZHUgc29uIGRlIHB1bGwgKDAtMSknLFxyXG4gICAgICAgIGphOiAn44K/44Ky5Y+W44KL5Yq55p6c6Z+z44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+W8gOaAquaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICftkoDrp4Eg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1J1bWJsZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZ2FtZXBhZCBydW1ibGUgZm9yIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ0dhbWVwYWQtVmlicmF0aW9uIGbDvHIgVHJpZ2dlciBha3RpdmllcmVuJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgdmlicmF0aW9uIGRlIGxhIG1hbmV0dGUgZGUgamV1IHBvdXIgbGVzIHRyaWdnZXJzJyxcclxuICAgICAgICBjbjogJ+inpuWPkeWZqOa0u+WKqOaXtuS9v+aJi+afhOaMr+WKqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdJbmZvUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEdXJhdGlvbiAobWlsbGlzZWNvbmRzKSBvZiBydW1ibGUgZm9yIGluZm8gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMnLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir6Kem5Y+R5Zmo5oyv5Yqo5oyB57ut5pe26Ze0ICjmr6vnp5IpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNDAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdJbmZvUnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGluZm8gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvop6blj5HlmajlvLHnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir6Kem5Y+R5Zmo5by655S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRSdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgYWxlcnQgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcycsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajmjK/liqjmjIHnu63ml7bpl7QgKOavq+enkiknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiA1MDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgYWxlcnQgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZhaWJsZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajlvLHnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajlvLrnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEdXJhdGlvbiAobWlsbGlzZWNvbmRzKSBvZiBydW1ibGUgZm9yIGFsYXJtIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1plaXQgKGluIE1pbGxpc2VrdW5kZW4pIGRlciBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMnLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5oyv5Yqo5oyB57ut5pe26Ze0ICjmr6vnp5IpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNzUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGFsYXJtIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5byx55S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgc3RhcmtlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5by655S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnY2FjdGJvdFdvcm1ob2xlU3RyYXQnLFxyXG4gICAgICAvLyBUT0RPOiBtYXliZSBuZWVkIHNvbWUgd2F5IHRvIGdyb3VwIHRoZXNlIGtpbmRzIG9mXHJcbiAgICAgIC8vIG9wdGlvbnMgaWYgd2UgZW5kIHVwIGhhdmluZyBhIGxvdD9cclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxleCBVbHRpbWF0ZTogZW5hYmxlIGNhY3Rib3QgV29ybWhvbGUgc3RyYXQnLFxyXG4gICAgICAgIGRlOiAnQWxleCBVbHRpbWF0ZTogYWt0aXZpZXJlIGNhY3Rib3QgV29ybWhvbGUgU3RyYXRlZ2llJyxcclxuICAgICAgICBmcjogJ0FsZXggZmF0YWwgOiBhY3RpdmVyIGNhY3Rib3QgcG91ciBsYSBzdHJhdCBXb3JtaG9sZScsXHJcbiAgICAgICAgamE6ICfntbbjgqLjg6zjgq3jgrXjg7Pjg4Djg7zoqI7mu4XmiKbvvJpjYWN0Ym9044CM5qyh5YWD5pat57W244Gu44Oe44O844OB44CN44Ku44Of44OD44KvJyxcclxuICAgICAgICBjbjogJ+S6muWOhuWxseWkp+e7neWig+aImO+8mmNhY3Rib3TngbXms4novoXliqnlip/og70nLFxyXG4gICAgICAgIGtvOiAn7KCIIOyVjOugiTogY2FjdGJvdCDsm5ztmYAg6rO1656167Cp7IudIO2ZnOyEse2ZlCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdlOHM6IGVuYWJsZSBjYWN0Ym90IFVwdGltZSBLbm9ja2JhY2sgc3RyYXQnLFxyXG4gICAgICAgIGRlOiAnZThzOiBha3RpdmllcmUgY2FjdGJvdCBVcHRpbWUgS25vY2tiYWNrIFN0cmF0ZWdpZScsXHJcbiAgICAgICAgZnI6ICdlOHMgOiBhY3RpdmVyIGNhY3Rib3QgcG91ciBsYSBzdHJhdCBVcHRpbWUgS25vY2tiYWNrJyxcclxuICAgICAgICBqYTogJ+OCqOODh+ODs+mbtuW8j+WFsemztOe3qO+8lOWxpO+8mmNhY3Rib3TjgIzjg5jjg7Tjg7Pjg6rjg7zjgrnjg4jjg6njgqTjgq8gKOODjuODg+OCr+ODkOODg+OCrynjgI3jgq7jg5/jg4Pjgq8nLFxyXG4gICAgICAgIGNuOiAnRThTOiDlkK/nlKhjYWN0Ym9055qE5Ye76YCA5o+Q56S65Yqf6IO9JyxcclxuICAgICAgICBrbzogJ+qzteuqhSDsmIHsm4UgNOy4tTogY2FjdGJvdCDsoJXtmZXtlZwg7YOA7J2067CNIOuEieuwseuwqeyngCDqs7XrnrUg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn07XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygncmFpZGJvc3MnLCB0ZW1wbGF0ZU9wdGlvbnMsIHVzZXJGaWxlSGFuZGxlcik7XHJcbiIsImltcG9ydCBjb250ZW50TGlzdCBmcm9tICcuLi8uLi9yZXNvdXJjZXMvY29udGVudF9saXN0JztcclxuaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBjYWxsT3ZlcmxheUhhbmRsZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgVXNlckNvbmZpZywgeyBDb25maWdFbnRyeSwgQ29uZmlnVmFsdWUsIE9wdGlvbnNUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCBab25lSW5mbyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvem9uZV9pbmZvJztcclxuaW1wb3J0IHsgU2F2ZWRDb25maWcsIFNhdmVkQ29uZmlnRW50cnkgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IExvb3NlT29wc3lUcmlnZ2VyLCBMb29zZU9vcHN5VHJpZ2dlclNldCB9IGZyb20gJy4uLy4uL3R5cGVzL29vcHN5JztcclxuaW1wb3J0IHtcclxuICBMb2NhbGVPYmplY3QsXHJcbiAgTG9jYWxlVGV4dCxcclxuICBMb29zZVRpbWVsaW5lVHJpZ2dlcixcclxuICBMb29zZVRyaWdnZXIsXHJcbiAgTG9vc2VUcmlnZ2VyU2V0LFxyXG59IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IGRlZmF1bHRPcHRpb25zLCB7IENvbmZpZ09wdGlvbnMgfSBmcm9tICcuL2NvbmZpZ19vcHRpb25zJztcclxuXHJcbi8vIExvYWQgb3RoZXIgY29uZmlnIGZpbGVzXHJcbmltcG9ydCAnLi9nZW5lcmFsX2NvbmZpZyc7XHJcbmltcG9ydCAnLi4vZXVyZWthL2V1cmVrYV9jb25maWcnO1xyXG5pbXBvcnQgJy4uL2pvYnMvam9ic19jb25maWcnO1xyXG5pbXBvcnQgJy4uL29vcHN5cmFpZHN5L29vcHN5cmFpZHN5X2NvbmZpZyc7XHJcbmltcG9ydCAnLi4vcmFkYXIvcmFkYXJfY29uZmlnJztcclxuaW1wb3J0ICcuLi9yYWlkYm9zcy9yYWlkYm9zc19jb25maWcnO1xyXG5cclxuaW1wb3J0ICcuLi8uLi9yZXNvdXJjZXMvZGVmYXVsdHMuY3NzJztcclxuaW1wb3J0ICcuL2NvbmZpZy5jc3MnO1xyXG5cclxuLy8gVGV4dCBpbiB0aGUgYnV0dGVyIGJhciwgdG8gcHJvbXB0IHRoZSB1c2VyIHRvIHJlbG9hZCBhZnRlciBhIGNvbmZpZyBjaGFuZ2UuXHJcbmNvbnN0IGtSZWxvYWRUZXh0ID0ge1xyXG4gIGVuOiAnVG8gYXBwbHkgY29uZmlndXJhdGlvbiBjaGFuZ2VzLCByZWxvYWQgY2FjdGJvdCBvdmVybGF5cy4nLFxyXG4gIGRlOiAnVW0gZGllIMOEbmRlcnVuZ2VuIHp1IGFrdGl2aWVyZW4sIGFrdHVhbGlzaWVyZSBiaXR0ZSBkaWUgQ2FjdGJvdCBPdmVybGF5cy4nLFxyXG4gIGZyOiAnQWZpbiBkXFwnYXBwbGlxdWVyIGxlcyBtb2RpZmljYXRpb25zLCBpbCBmYXV0IHJlY2hhcmdlciBsXFwnb3ZlcmxheSBDYWN0Ym90LicsXHJcbiAgamE6ICfoqK3lrprjgpLmnInlirnjgavjgZnjgovngrrjgIFDYWN0Ym9044Kq44O844OQ44O844Os44Kk44KS5YaN6Kqt44G/6L6844G/44GX44Gm44GP44Gg44GV44GEJyxcclxuICBjbjogJ+imgeW6lOeUqOmFjee9ruabtOaUue+8jOivt+mHjeaWsOWKoOi9vWNhY3Rib3Tmgqzmta7nqpfjgIInLFxyXG4gIGtvOiAn67OA6rK97IKs7ZWt7J2EIOyggeyaqe2VmOugpOuptCwg7Jik67KE66CI7J2066W8IOyDiOuhnOqzoOy5qCDtlZjsi63si5zsmKQuJyxcclxufTtcclxuXHJcbi8vIFRleHQgaW4gdGhlIGJ1dHRlciBiYXIgcmVsb2FkIGJ1dHRvbi5cclxuY29uc3Qga1JlbG9hZEJ1dHRvblRleHQgPSB7XHJcbiAgZW46ICdSZWxvYWQnLFxyXG4gIGRlOiAnQWt0dWFsaXNpZXJlbicsXHJcbiAgZnI6ICdSZWNoYXJnZXInLFxyXG4gIGphOiAn5YaN6Kqt44G/6L6844G/JyxcclxuICBjbjogJ+mHjeaWsOWKoOi9vScsXHJcbiAga286ICfsg4jroZzqs6DsuagnLFxyXG59O1xyXG5cclxuLy8gVGV4dCBvbiB0aGUgZGlyZWN0b3J5IGNob29zaW5nIGJ1dHRvbi5cclxuY29uc3Qga0RpcmVjdG9yeUNob29zZUJ1dHRvblRleHQgPSB7XHJcbiAgZW46ICdDaG9vc2UgRGlyZWN0b3J5JyxcclxuICBkZTogJ1fDpGhsZSBlaW4gVmVyemVpY2huaXMnLFxyXG4gIGZyOiAnQ2hvaXggZHUgcsOpcGVydG9pcmUnLFxyXG4gIGphOiAn44OH44Kj44Os44Kv44OI44Oq44KS6YG45oqeJyxcclxuICBjbjogJ+mAieaLqeebruW9lScsXHJcbiAga286ICfrlJTroInthqDrpqwg7ISg7YOdJyxcclxufTtcclxuXHJcbi8vIFdoYXQgdG8gc2hvdyB3aGVuIGEgZGlyZWN0b3J5IGhhc24ndCBiZWVuIGNob3Nlbi5cclxuY29uc3Qga0RpcmVjdG9yeURlZmF1bHRUZXh0ID0ge1xyXG4gIGVuOiAnKERlZmF1bHQpJyxcclxuICBkZTogJyhTdGFuZGFyZCknLFxyXG4gIGZyOiAnKETDqWZhdXQpJyxcclxuICBqYTogJyjliJ3mnJ/oqK3lrpopJyxcclxuICBjbjogJyjpu5jorqQpJyxcclxuICBrbzogJyjquLDrs7gpJyxcclxufTtcclxuXHJcbi8vIFRyYW5zbGF0aW5nIGRhdGEgZm9sZGVycyB0byBhIGNhdGVnb3J5IG5hbWUuXHJcbmNvbnN0IGtQcmVmaXhUb0NhdGVnb3J5ID0ge1xyXG4gICcwMC1taXNjJzoge1xyXG4gICAgZW46ICdHZW5lcmFsIFRyaWdnZXJzJyxcclxuICAgIGRlOiAnR2VuZXJhbCBUcmlnZ2VyJyxcclxuICAgIGZyOiAnR8OpbsOpcmFsIFRyaWdnZXJzJyxcclxuICAgIGphOiAn5rGO55SoJyxcclxuICAgIGNuOiAn6YCa55So6Kem5Y+R5ZmoJyxcclxuICAgIGtvOiAn6rO17JqpIO2KuOumrOqxsCcsXHJcbiAgfSxcclxuICAnMDItYXJyJzoge1xyXG4gICAgZW46ICdBIFJlYWxtIFJlYm9ybiAoQVJSIDIueCknLFxyXG4gICAgZGU6ICdBIFJlYWxtIFJlYm9ybiAoQVJSIDIueCknLFxyXG4gICAgZnI6ICdBIFJlYWxtIFJlYm9ybiAoQVJSIDIueCknLFxyXG4gICAgamE6ICfmlrDnlJ/jgqjjgqrjg6vjgrzjgqIgKDIueCknLFxyXG4gICAgY246ICfph43nlJ/kuYvlooMgKDIueCknLFxyXG4gICAga286ICfsi6Dsg50g7JeQ7Jik66W07KCc7JWEICgyLngpJyxcclxuICB9LFxyXG4gICcwMy1odyc6IHtcclxuICAgIGVuOiAnSGVhdmVuc3dhcmQgKEhXIDMueCknLFxyXG4gICAgZGU6ICdIZWF2ZW5zd2FyZCAoSFcgMy54KScsXHJcbiAgICBmcjogJ0hlYXZlbnN3YXJkIChIVyAzLngpJyxcclxuICAgIGphOiAn6JK85aSp44Gu44Kk44K344Ol44Ks44Or44OJICgzLngpJyxcclxuICAgIGNuOiAn6IuN56m55LmL56aB5Z+OICgzLngpJyxcclxuICAgIGtvOiAn7LC97LKc7J2YIOydtOyKiOqwgOultOuTnCAoMy54KScsXHJcbiAgfSxcclxuICAnMDQtc2InOiB7XHJcbiAgICBlbjogJ1N0b3JtYmxvb2QgKFNCIDQueCknLFxyXG4gICAgZGU6ICdTdG9ybWJsb29kIChTQiA0LngpJyxcclxuICAgIGZyOiAnU3Rvcm1ibG9vZCAoU0IgNC54KScsXHJcbiAgICBqYTogJ+e0heiTruOBruODquODmeODrOODvOOCv+ODvCAoNC54KScsXHJcbiAgICBjbjogJ+e6ouiOsuS5i+eLgua9riAoNC54KScsXHJcbiAgICBrbzogJ+2ZjeugqOydmCDtlbTrsKnsnpAgKDQueCknLFxyXG4gIH0sXHJcbiAgJzA1LXNoYic6IHtcclxuICAgIGVuOiAnU2hhZG93YnJpbmdlcnMgKFNoQiA1LngpJyxcclxuICAgIGRlOiAnU2hhZG93YnJpbmdlcnMgKFNoQiA1LngpJyxcclxuICAgIGZyOiAnU2hhZG93YnJpbmdlcnMgKFNoQiA1LngpJyxcclxuICAgIGphOiAn5ryG6buS44Gu44O044Kj44Op44Oz44K6ICg1LngpJyxcclxuICAgIGNuOiAn5pqX5b2x5LmL6YCG54SwICg1LngpJyxcclxuICAgIGtvOiAn7Lmg7Z2R7J2YIOuwmOyXreyekCAoNS54KScsXHJcbiAgfSxcclxuICAnMDYtZXcnOiB7XHJcbiAgICBlbjogJ0VuZHdhbGtlciAoRVcgNi54KScsXHJcbiAgICBkZTogJ0VuZHdhbGtlciAoRVcgNi54KScsXHJcbiAgICBmcjogJ0VuZHdhbGtlciAoRVcgNi54KScsXHJcbiAgICBqYTogJ+aageaciOOBruODleOCo+ODiuODvOODrCAoNi54KScsXHJcbiAgICBjbjogJ+aZk+aciOS5i+e7iOmAlCAoNi54KScsXHJcbiAgICBrbzogJ+2aqOyblOydmCDsooXslrggKDYueCknLFxyXG4gIH0sXHJcbiAgJ3VzZXInOiB7XHJcbiAgICBlbjogJ1VzZXIgVHJpZ2dlcnMnLFxyXG4gICAgZGU6ICdCZW51dHplciBUcmlnZ2VyJyxcclxuICAgIGZyOiAnVHJpZ2dlcnMgcGVyc29ubmFsaXPDqXMnLFxyXG4gICAgamE6ICfjg6bjg7zjgrbjg7zjg4jjg6rjgqzjg7wnLFxyXG4gICAgY246ICfoh6rlrprkuYnop6blj5HlmagnLFxyXG4gICAga286ICfsu6TsiqTthYAg7Yq466as6rGwJyxcclxuICB9LFxyXG59O1xyXG5cclxuLy8gVHJhbnNsYXRpbmcgZGF0YSBzdWJmb2xkZXJzIHRvIGVuY291bnRlciB0eXBlLlxyXG5jb25zdCBrRGlyZWN0b3J5VG9DYXRlZ29yeSA9IHtcclxuICBhbGxpYW5jZToge1xyXG4gICAgZW46ICdBbGxpYW5jZSBSYWlkJyxcclxuICAgIGRlOiAnQWxsaWFuei1SYWlkJyxcclxuICAgIGZyOiAnUmFpZCBlbiBBbGxpYW5jZScsXHJcbiAgICBqYTogJ+OCouODqeOCpOOCouODs+OCueODrOOCpOODiScsXHJcbiAgICBjbjogJ+WboumYn+S7u+WKoScsXHJcbiAgICBrbzogJ+yXsO2VqSDroIjsnbTrk5wnLFxyXG4gIH0sXHJcbiAgZHVuZ2Vvbjoge1xyXG4gICAgZW46ICdEdW5nZW9uJyxcclxuICAgIGRlOiAnRHVuZ2VvbicsXHJcbiAgICBmcjogJ0RvbmpvbicsXHJcbiAgICBqYTogJ+ODgOODs+OCuOODp+ODsycsXHJcbiAgICBjbjogJ+i/t+Wuq+aMkeaImCcsXHJcbiAgICBrbzogJ+uNmOyghCcsXHJcbiAgfSxcclxuICBldXJla2E6IHtcclxuICAgIGVuOiAnQWR2ZW50dXJpbmcgRm9yYXlzJyxcclxuICAgIGRlOiAnRmVsZGV4a3Vyc2lvbicsXHJcbiAgICBmcjogJ01pc3Npb25zIGRcXCdleHBsb3JhdGlvbicsXHJcbiAgICBqYTogJ+eJueauiuODleOCo+ODvOODq+ODieaOoue0oicsXHJcbiAgICBjbjogJ+eJueauiuWcuuaZr+aOoue0oicsXHJcbiAgICBrbzogJ+2KueyImCDtlYTrk5wg7J6E66y0JyxcclxuICB9LFxyXG4gIHJhaWQ6IHtcclxuICAgIGVuOiAnUmFpZCcsXHJcbiAgICBkZTogJ1JhaWQnLFxyXG4gICAgZnI6ICdSYWlkJyxcclxuICAgIGphOiAn44Os44Kk44OJJyxcclxuICAgIGNuOiAn5aSn5Z6L5Lu75YqhJyxcclxuICAgIGtvOiAn66CI7J2065OcJyxcclxuICB9LFxyXG4gIHB2cDoge1xyXG4gICAgZW46ICdQVlAnLFxyXG4gICAgZGU6ICdQdlAnLFxyXG4gICAgZnI6ICdKY0onLFxyXG4gICAgamE6ICdQdlAnLFxyXG4gICAgY246ICdQdlAnLFxyXG4gICAga286ICdQdlAnLFxyXG4gIH0sXHJcbiAgdHJpYWw6IHtcclxuICAgIGVuOiAnVHJpYWwnLFxyXG4gICAgZGU6ICdQcsO8ZnVuZycsXHJcbiAgICBmcjogJ0TDqWZpJyxcclxuICAgIGphOiAn6KiO5LyQ44O76KiO5ruF5oimJyxcclxuICAgIGNuOiAn6K6o5LyQ5q2854Gt5oiYJyxcclxuICAgIGtvOiAn7Yag67KM7KCEJyxcclxuICB9LFxyXG4gIHVsdGltYXRlOiB7XHJcbiAgICBlbjogJ1VsdGltYXRlJyxcclxuICAgIGRlOiAnRmF0YWxlIFJhaWRzJyxcclxuICAgIGZyOiAnUmFpZCBmYXRhbCcsXHJcbiAgICBqYTogJ+e1tuOCt+ODquODvOOCuicsXHJcbiAgICBjbjogJ+e7neWig+aImCcsXHJcbiAgICBrbzogJ+ygiCDrgpzsnbTrj4QnLFxyXG4gIH0sXHJcbn07XHJcblxyXG4vLyBUT0RPOiBtYXliZSB3ZSBzaG91bGQgYWxzbyBzb3J0IGFsbCB0aGUgZmlsZW5hbWVzIHByb3Blcmx5IHRvbz9cclxuLy8gVE9ETzogdXNlIFpvbmVJZCB0byBnZXQgdGhpc1xyXG5jb25zdCBmaWxlTmFtZVRvVGl0bGUgPSAoZmlsZW5hbWU6IHN0cmluZykgPT4ge1xyXG4gIC8vIFN0cmlwIGRpcmVjdG9yeSBhbmQgZXh0ZW5zaW9uLlxyXG4gIGNvbnN0IGZpbGUgPSBmaWxlbmFtZS5yZXBsYWNlKC9eLipcXC8vLCAnJykucmVwbGFjZSgvXFwuW2p0XXMvZywgJycpO1xyXG4gIC8vIFJlbW92ZSBub24tbmFtZSBjaGFyYWN0ZXJzIChwcm9iYWJseSkuXHJcbiAgY29uc3QgbmFtZSA9IGZpbGUucmVwbGFjZSgvW18tXS9nLCAnICcpO1xyXG4gIC8vIENhcGl0YWxpemUgdGhlIGZpcnN0IGxldHRlciBvZiBldmVyeSB3b3JkLlxyXG4gIGxldCBjYXBpdGFsaXplZCA9IG5hbWUucmVwbGFjZSgvKD86XnwgKVxcdy9nLCAoYykgPT4gYy50b1VwcGVyQ2FzZSgpKTtcclxuXHJcbiAgLy8gRnVsbHkgY2FwaXRhbGl6ZSBhY3JvbnltcyBsaWtlIGU0bi5cclxuICBpZiAoL15cXHdbMC05XStcXHckLy50ZXN0KGNhcGl0YWxpemVkKSlcclxuICAgIGNhcGl0YWxpemVkID0gY2FwaXRhbGl6ZWQudG9VcHBlckNhc2UoKTtcclxuXHJcbiAgcmV0dXJuIGNhcGl0YWxpemVkO1xyXG59O1xyXG5cclxuLy8gQW5ub3RhdGlvbnMgYnkgdXNlckZpbGVIYW5kbGVyIChwcm9jZXNzUmFpZGJvc3NGaWxlcykgb24gdHJpZ2dlcnMuXHJcbi8vIHJhaWRib3NzX2NvbmZpZyBhbHNvIGNvbWJpbmVzIG5vcm1hbCBhbmQgdGltZWxpbmUgdHJpZ2dlcnMgd2hlbiBidWlsZGluZyB0aGUgY29uZmlnIHVpLlxyXG5leHBvcnQgdHlwZSBDb25maWdMb29zZVRyaWdnZXIgPSBMb29zZVRyaWdnZXIgJiBMb29zZVRpbWVsaW5lVHJpZ2dlciAmIHtcclxuICBpc01pc3NpbmdJZD86IGJvb2xlYW47XHJcbiAgb3ZlcnJpZGRlbkJ5RmlsZT86IHN0cmluZztcclxuICBpc1RpbWVsaW5lVHJpZ2dlcj86IGJvb2xlYW47XHJcbiAgdGltZWxpbmVSZWdleD86IFJlZ0V4cDtcclxuICB0cmlnZ2VyUmVnZXg/OiBSZWdFeHA7XHJcbiAgdHJpZ2dlck5ldFJlZ2V4PzogUmVnRXhwO1xyXG4gIGNvbmZpZ091dHB1dD86IHsgW2ZpZWxkOiBzdHJpbmddOiBzdHJpbmcgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0xvb3NlVHJpZ2dlclNldCA9IExvb3NlVHJpZ2dlclNldCAmIHtcclxuICBmaWxlbmFtZT86IHN0cmluZztcclxuICBpc1VzZXJUcmlnZ2VyU2V0PzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0xvb3NlT29wc3lUcmlnZ2VyID0gTG9vc2VPb3BzeVRyaWdnZXI7XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldCA9IExvb3NlT29wc3lUcmlnZ2VyU2V0ICYge1xyXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xyXG4gIGlzVXNlclRyaWdnZXJTZXQ/OiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnQ29udGVudHMgPSB7IFtncm91cDogc3RyaW5nXTogT3B0aW9uc1RlbXBsYXRlW10gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1Byb2Nlc3NlZEZpbGU8VCBleHRlbmRzIENvbmZpZ0xvb3NlT29wc3lUcmlnZ2VyU2V0IHwgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0PiA9IHtcclxuICBmaWxlbmFtZTogc3RyaW5nO1xyXG4gIGZpbGVLZXk6IHN0cmluZztcclxuICBwcmVmaXhLZXk6IHN0cmluZztcclxuICBwcmVmaXg6IHN0cmluZztcclxuICBzZWN0aW9uOiBzdHJpbmc7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRyaWdnZXJTZXQ6IFQ7XHJcbiAgem9uZUlkPzogbnVtYmVyO1xyXG4gIHRyaWdnZXJzPzoge1xyXG4gICAgW2lkOiBzdHJpbmddOiBUIGV4dGVuZHMgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXJTZXQgPyBDb25maWdMb29zZU9vcHN5VHJpZ2dlclxyXG4gICAgICA6IENvbmZpZ0xvb3NlVHJpZ2dlcjtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnUHJvY2Vzc2VkRmlsZU1hcDxUIGV4dGVuZHMgQ29uZmlnTG9vc2VPb3BzeVRyaWdnZXJTZXQgfCBDb25maWdMb29zZVRyaWdnZXJTZXQ+ID0ge1xyXG4gIFtmaWxlbmFtZTogc3RyaW5nXTogQ29uZmlnUHJvY2Vzc2VkRmlsZTxUPjtcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBDYWN0Ym90Q29uZmlndXJhdG9yIHtcclxuICBwdWJsaWMgbGFuZzogTGFuZztcclxuICBwcml2YXRlIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZztcclxuICBwcml2YXRlIGNvbnRlbnRzOiBDb25maWdDb250ZW50cztcclxuICBwdWJsaWMgZGV2ZWxvcGVyT3B0aW9uczogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbmZpZ09wdGlvbnM6IENvbmZpZ09wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZykge1xyXG4gICAgLy8gUHJlZGVmaW5lZCwgb25seSBmb3Igb3JkZXJpbmcgcHVycG9zZXMuXHJcbiAgICB0aGlzLmNvbnRlbnRzID0ge1xyXG4gICAgICAvLyB0b3AgbGV2ZWxcclxuICAgICAgJ2dlbmVyYWwnOiBbXSxcclxuXHJcbiAgICAgIC8vIHRoaW5ncyBtb3N0IHBlb3BsZSBjYXJlIGFib3V0XHJcbiAgICAgICdyYWlkYm9zcyc6IFtdLFxyXG4gICAgICAnam9icyc6IFtdLFxyXG4gICAgfTtcclxuICAgIC8vIElmIHRoZSB1c2VyIGhhcyBzZXQgYSBkaXNwbGF5IGxhbmd1YWdlLCB1c2UgdGhhdC5cclxuICAgIC8vIE90aGVyd2lzZSwgdXNlIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGxhbmd1YWdlIGFzIGEgZGVmYXVsdCBmb3IgdGhlIGNvbmZpZyB0b29sLlxyXG4gICAgdGhpcy5sYW5nID0gdGhpcy5jb25maWdPcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA/PyB0aGlzLmNvbmZpZ09wdGlvbnMuU2hvcnRMb2NhbGU7XHJcbiAgICB0aGlzLnNhdmVkQ29uZmlnID0gc2F2ZWRDb25maWcgPz8ge307XHJcbiAgICB0aGlzLmRldmVsb3Blck9wdGlvbnMgPSB0aGlzLmdldEJvb2xlYW5PcHRpb24oJ2dlbmVyYWwnLCAnU2hvd0RldmVsb3Blck9wdGlvbnMnLCBmYWxzZSk7XHJcblxyXG4gICAgY29uc3QgdGVtcGxhdGVzID0gVXNlckNvbmZpZy5vcHRpb25UZW1wbGF0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IFtncm91cCwgdGVtcGxhdGVdIG9mIE9iamVjdC5lbnRyaWVzKHRlbXBsYXRlcykpXHJcbiAgICAgICh0aGlzLmNvbnRlbnRzW2dyb3VwXSA/Pz0gW10pLnB1c2godGVtcGxhdGUpO1xyXG5cclxuICAgIHRoaXMuYnVpbGRCdXR0ZXJCYXIoKTtcclxuXHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7XHJcbiAgICBpZiAoIWNvbnRhaW5lcilcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgdGhpcy5idWlsZFVJKGNvbnRhaW5lciwgdGhpcy5jb250ZW50cyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzYXZlQ29uZmlnRGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIFRPRE86IHJhdGUgbGltaXQgdGhpcz9cclxuICAgIGF3YWl0IGNhbGxPdmVybGF5SGFuZGxlcih7XHJcbiAgICAgIGNhbGw6ICdjYWN0Ym90U2F2ZURhdGEnLFxyXG4gICAgICBvdmVybGF5OiAnb3B0aW9ucycsXHJcbiAgICAgIGRhdGE6IHRoaXMuc2F2ZWRDb25maWcsXHJcbiAgICB9KTtcclxuXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dGVyLW1hcmdpbicpPy5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcclxuICB9XHJcblxyXG4gIC8vIEhlbHBlciB0cmFuc2xhdGUgZnVuY3Rpb24uICBUYWtlcyBpbiBhbiBvYmplY3Qgd2l0aCBsYW5ndWFnZSBrZXlzXHJcbiAgLy8gYW5kIHJldHVybnMgYSBzaW5nbGUgZW50cnkgYmFzZWQgb24gYXZhaWxhYmxlIHRyYW5zbGF0aW9ucy5cclxuICB0cmFuc2xhdGU8VD4odGV4dE9iajogTG9jYWxlT2JqZWN0PFQ+KTogVCB7XHJcbiAgICBpZiAodGV4dE9iaiA9PT0gbnVsbCB8fCB0eXBlb2YgdGV4dE9iaiAhPT0gJ29iamVjdCcgfHwgIXRleHRPYmpbJ2VuJ10pXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25maWc6ICR7SlNPTi5zdHJpbmdpZnkodGV4dE9iail9YCk7XHJcbiAgICBjb25zdCB0ID0gdGV4dE9ialt0aGlzLmxhbmddO1xyXG4gICAgaWYgKHQpXHJcbiAgICAgIHJldHVybiB0O1xyXG4gICAgcmV0dXJuIHRleHRPYmpbJ2VuJ107XHJcbiAgfVxyXG5cclxuICBnZXRCb29sZWFuT3B0aW9uKGdyb3VwOiBzdHJpbmcsIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRPcHRpb24oZ3JvdXAsIHBhdGgsIGRlZmF1bHRWYWx1ZSk7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlID09PSAnZmFsc2UnKVxyXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGFyZ3MgPSBBcnJheS5pc0FycmF5KHBhdGgpID8gcGF0aCA6IFtwYXRoXTtcclxuICAgIGNvbnN0IGluZm8gPSBKU09OLnN0cmluZ2lmeShbZ3JvdXAsIC4uLmFyZ3NdLmpvaW4oJywgJykpO1xyXG4gICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBib29sZWFuIHN0cmluZzogJHtpbmZvfSwgJHt2YWx1ZX1gKTtcclxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRTdHJpbmdPcHRpb24oZ3JvdXA6IHN0cmluZywgcGF0aDogc3RyaW5nIHwgc3RyaW5nW10sIGRlZmF1bHRWYWx1ZTogQ29uZmlnVmFsdWUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldE9wdGlvbihncm91cCwgcGF0aCwgZGVmYXVsdFZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TnVtYmVyT3B0aW9uKGdyb3VwOiBzdHJpbmcsIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0T3B0aW9uKGdyb3VwLCBwYXRoLCBkZWZhdWx0VmFsdWUpO1xyXG4gICAgaWYgKHZhbHVlID09PSAnJykge1xyXG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgICAgaWYgKCFpc05hTigrdmFsdWUpICYmICFpc05hTihudW0pKVxyXG4gICAgICAgIHJldHVybiBudW07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXJncyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xyXG4gICAgY29uc3QgaW5mbyA9IEpTT04uc3RyaW5naWZ5KFtncm91cCwgLi4uYXJnc10uam9pbignLCAnKSk7XHJcbiAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIG51bWJlciBzdHJpbmc6ICR7aW5mb30sICR7dmFsdWUudG9TdHJpbmcoKX1gKTtcclxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBUYWtlcyBhIHZhcmlhYmxlIGxlbmd0aCBgcGF0aGAgYW5kIHJldHVybnMgdGhlIGRlZmF1bHRWYWx1ZSBpZiBhbnkga2V5IGlzIG1pc3NpbmcuXHJcbiAgLy8gZS5nLiAoZm9vLCBbYmFyLCBiYXpdLCA1KSB3aXRoIHtmb286IHsgYmFyOiB7IGJhejogMyB9IH0gfSB3aWxsIHJldHVyblxyXG4gIC8vIHRoZSB2YWx1ZSAzLlxyXG4gIGdldE9wdGlvbihncm91cDogc3RyaW5nLCBwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSwgZGVmYXVsdFZhbHVlOiBDb25maWdWYWx1ZSk6IENvbmZpZ1ZhbHVlIHtcclxuICAgIGxldCBvYmpPclZhbHVlID0gdGhpcy5zYXZlZENvbmZpZ1tncm91cF07XHJcbiAgICBpZiAob2JqT3JWYWx1ZSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgIGNvbnN0IGFyZ3MgPSBBcnJheS5pc0FycmF5KHBhdGgpID8gcGF0aCA6IFtwYXRoXTtcclxuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBwYXRoIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZWxlbWVudGApO1xyXG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcclxuICAgICAgaWYgKHR5cGVvZiBvYmpPclZhbHVlICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KG9iak9yVmFsdWUpKSB7XHJcbiAgICAgICAgLy8gU2F2ZWRDb25maWdFbnRyeSBpcyBhcmJpdHJhcnkgSlNPTiwgYnV0IHRoZXNlIG9wdGlvbnMgc2hvdWxkIGJlIG5vdGhpbmcgYnV0IG9iamVjdHNcclxuICAgICAgICAvLyB1bnRpbCBsZWFmIG5vZGUgQ29uZmlnVmFsdWUuXHJcbiAgICAgICAgY29uc3QgaW5mbyA9IEpTT04uc3RyaW5naWZ5KFtncm91cCwgLi4uYXJnc10uam9pbignLCAnKSk7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVW5leHBlY3RlZCBlbnRyeTogJHtpbmZvfX1gKTtcclxuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGl0ZW06IFNhdmVkQ29uZmlnRW50cnkgfCB1bmRlZmluZWQgPSBvYmpPclZhbHVlW2FyZ107XHJcbiAgICAgIC8vIElmIG5vdCBmb3VuZCwgdGhlbiB1c2UgZGVmYXVsdCB2YWx1ZS5cclxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAndW5kZWZpbmVkJylcclxuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgICBvYmpPclZhbHVlID0gaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBdCB0aGUgbGVhZiBub2RlLlxyXG4gICAgLy8gU29tZSBudW1iZXIgb3B0aW9ucyBwYXNzIGluIGVtcHR5IHN0cmluZyBhcyBhIGRlZmF1bHQuXHJcbiAgICBjb25zdCBlbXB0eURlZmF1bHROdW1iZXIgPSBkZWZhdWx0VmFsdWUgPT09ICcnICYmIHR5cGVvZiBvYmpPclZhbHVlID09PSAnbnVtYmVyJztcclxuICAgIC8vIEFsc28gZHVlIHRvIGluY29uc2lzdGVuY2llcyBpbiBvcHRpb24gY29kZSwgc29tZSBudW1iZXJzIGFyZSBzdG9yZWQgYXMgdW5wYXJzZWQgc3RyaW5ncy5cclxuICAgIGNvbnN0IGlzU3RyaW5nTnVtYmVyID0gdHlwZW9mIGRlZmF1bHRWYWx1ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIG9iak9yVmFsdWUgPT09ICdzdHJpbmcnO1xyXG4gICAgaWYgKFxyXG4gICAgICAhZW1wdHlEZWZhdWx0TnVtYmVyICYmICFpc1N0cmluZ051bWJlciAmJiB0eXBlb2YgZGVmYXVsdFZhbHVlICE9PSB0eXBlb2Ygb2JqT3JWYWx1ZSB8fFxyXG4gICAgICB0eXBlb2Ygb2JqT3JWYWx1ZSA9PT0gJ29iamVjdCdcclxuICAgICkge1xyXG4gICAgICBjb25zdCBpbmZvID0gSlNPTi5zdHJpbmdpZnkoW2dyb3VwLCAuLi5hcmdzXS5qb2luKCcsICcpKTtcclxuICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICBgVW5leHBlY3RlZCB0eXBlOiAke2luZm99LCAke29iak9yVmFsdWUudG9TdHJpbmcoKX0sICR7dHlwZW9mIG9iak9yVmFsdWV9LCAke3R5cGVvZiBkZWZhdWx0VmFsdWV9YCxcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBvYmpPclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0cyBhbiBvcHRpb24gaW4gdGhlIGNvbmZpZyBhdCBhIHZhcmlhYmxlIGxldmVsIG9mIG5lc3RpbmcuXHJcbiAgLy8gZS5nLiAoZm9vLCBbYmFyLCBiYXpdLCAzKSB3aWxsIHNldCB7Zm9vOiB7IGJhcjogeyBiYXo6IDMgfSB9IH0uXHJcbiAgLy8gZS5nLiAoZm9vLCBiYXIsIDQpIHdpbGwgc2V0IHsgZm9vOiB7IGJhcjogNCB9IH0uXHJcbiAgc2V0T3B0aW9uKGdyb3VwOiBzdHJpbmcsIHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBkZWZhdWx0VmFsdWU6IENvbmZpZ1ZhbHVlKTogdm9pZCB7XHJcbiAgICAvLyBTZXQga2V5cyBhbmQgY3JlYXRlIGRlZmF1bHQge30gaWYgaXQgZG9lc24ndCBleGlzdC5cclxuICAgIGxldCBvYmogPSB0aGlzLnNhdmVkQ29uZmlnW2dyb3VwXSA/Pz0ge307XHJcblxyXG4gICAgY29uc3QgYXJncyA9IEFycmF5LmlzQXJyYXkocGF0aCkgPyBwYXRoIDogW3BhdGhdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYHBhdGggbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50YCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpbmFsQXJnID0gYXJncy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAoIWZpbmFsQXJnKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgYWxsQnV0RmluYWxBcmcgPSBhcmdzLnNsaWNlKDAsIC0xKTtcclxuICAgIGZvciAoY29uc3QgYXJnIG9mIGFsbEJ1dEZpbmFsQXJnKSB7XHJcbiAgICAgIGlmICh0eXBlb2Ygb2JqICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICAvLyBTYXZlZENvbmZpZ0VudHJ5IGlzIGFyYml0cmFyeSBKU09OLCBidXQgdGhlc2Ugb3B0aW9ucyBzaG91bGQgYmUgbm90aGluZyBidXQgb2JqZWN0c1xyXG4gICAgICAgIC8vIHVudGlsIGxlYWYgbm9kZSBDb25maWdWYWx1ZS5cclxuICAgICAgICBjb25zb2xlLmVycm9yKGBVbmV4cGVjdGVkIGVudHJ5OiAke0pTT04uc3RyaW5naWZ5KFtncm91cCwgLi4uYXJnc10uam9pbignLCAnKSl9YCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvYmogPSBvYmpbYXJnXSA/Pz0ge307XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBvYmogIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAvLyBTYXZlZENvbmZpZ0VudHJ5IGlzIGFyYml0cmFyeSBKU09OLCBidXQgdGhlc2Ugb3B0aW9ucyBzaG91bGQgYmUgbm90aGluZyBidXQgb2JqZWN0c1xyXG4gICAgICAvLyB1bnRpbCBsZWFmIG5vZGUgQ29uZmlnVmFsdWUuXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFVuZXhwZWN0ZWQgZW50cnk6ICR7SlNPTi5zdHJpbmdpZnkoW2dyb3VwLCAuLi5hcmdzXS5qb2luKCcsICcpKX1gKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gQW55IHR5cGUgb2YgQ29uZmlnVmFsdWUgaXMgZmluZSBoZXJlIGFuZCB3ZSdsbCB2YWxpZGF0ZSBvbiBsb2FkaW5nLlxyXG4gICAgb2JqW2ZpbmFsQXJnXSA9IGRlZmF1bHRWYWx1ZTtcclxuICAgIHZvaWQgdGhpcy5zYXZlQ29uZmlnRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRCdXR0ZXJCYXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dGVyLWJhcicpO1xyXG4gICAgaWYgKCFjb250YWluZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCB0ZXh0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0ZXh0RGl2LmNsYXNzTGlzdC5hZGQoJ3JlbG9hZC10ZXh0Jyk7XHJcbiAgICB0ZXh0RGl2LmlubmVyVGV4dCA9IHRoaXMudHJhbnNsYXRlKGtSZWxvYWRUZXh0KTtcclxuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0ZXh0RGl2KTtcclxuXHJcbiAgICBjb25zdCBidXR0b25JbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBidXR0b25JbnB1dC5jbGFzc0xpc3QuYWRkKCdyZWxvYWQtYnV0dG9uJyk7XHJcbiAgICBidXR0b25JbnB1dC50eXBlID0gJ2J1dHRvbic7XHJcbiAgICBidXR0b25JbnB1dC5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7IGNhbGw6ICdjYWN0Ym90UmVsb2FkT3ZlcmxheXMnIH0pO1xyXG4gICAgfTtcclxuICAgIGJ1dHRvbklucHV0LnZhbHVlID0gdGhpcy50cmFuc2xhdGUoa1JlbG9hZEJ1dHRvblRleHQpO1xyXG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGJ1dHRvbklucHV0KTtcclxuICB9XHJcblxyXG4gIC8vIFRvcCBsZXZlbCBVSSBidWlsZGVyLCBidWlsZHMgZXZlcnl0aGluZy5cclxuICBidWlsZFVJKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIGNvbnRlbnRzOiBDb25maWdDb250ZW50cyk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBncm91cCBpbiBjb250ZW50cykge1xyXG4gICAgICBjb25zdCBjb250ZW50ID0gY29udGVudHNbZ3JvdXBdO1xyXG4gICAgICBpZiAoIWNvbnRlbnQgfHwgY29udGVudC5sZW5ndGggPT09IDApXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAvLyBGb3IgZWFjaCBvdmVybGF5IG9wdGlvbnMgdGVtcGxhdGUsIGJ1aWxkIGEgc2VjdGlvbiBmb3IgaXQuXHJcbiAgICAgIC8vIFRoZW4gaXRlcmF0ZSB0aHJvdWdoIGFsbCBvZiBpdHMgb3B0aW9ucyBhbmQgYnVpbGQgdWkgZm9yIHRob3NlIG9wdGlvbnMuXHJcbiAgICAgIC8vIEdpdmUgZWFjaCBvcHRpb25zIHRlbXBsYXRlIGEgY2hhbmNlIHRvIGJ1aWxkIHNwZWNpYWwgdWkuXHJcbiAgICAgIGNvbnN0IGdyb3VwRGl2ID0gdGhpcy5idWlsZE92ZXJsYXlHcm91cChjb250YWluZXIsIGdyb3VwKTtcclxuICAgICAgZm9yIChjb25zdCB0ZW1wbGF0ZSBvZiBjb250ZW50KSB7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRlbXBsYXRlLm9wdGlvbnMgPz8gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBvcHQgb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmRldmVsb3Blck9wdGlvbnMgJiYgb3B0LmRlYnVnT25seSlcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICBzd2l0Y2ggKG9wdC50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2NoZWNrYm94JzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkQ2hlY2tib3goZ3JvdXBEaXYsIG9wdCwgZ3JvdXApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdodG1sJzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkSHRtbChncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgICAgICAgdGhpcy5idWlsZFNlbGVjdChncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Zsb2F0JzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkRmxvYXQoZ3JvdXBEaXYsIG9wdCwgZ3JvdXApO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdpbnRlZ2VyJzpcclxuICAgICAgICAgICAgICB0aGlzLmJ1aWxkSW50ZWdlcihncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RpcmVjdG9yeSc6XHJcbiAgICAgICAgICAgICAgdGhpcy5idWlsZERpcmVjdG9yeShncm91cERpdiwgb3B0LCBncm91cCk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biB0eXBlOiAnICsgSlNPTi5zdHJpbmdpZnkob3B0KSk7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBidWlsZGVyID0gdGVtcGxhdGUuYnVpbGRFeHRyYVVJO1xyXG4gICAgICAgIGlmIChidWlsZGVyKVxyXG4gICAgICAgICAgYnVpbGRlcih0aGlzLCBncm91cERpdik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE92ZXJsYXkgYnVpbGRlciBmb3IgZWFjaCBvdmVybGF5IHR5cGUgKGUuZy4gcmFpZGJvc3MsIGpvYnMpLlxyXG4gIGJ1aWxkT3ZlcmxheUdyb3VwKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIGdyb3VwOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCBjb2xsYXBzZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbGxhcHNlci5jbGFzc0xpc3QuYWRkKCdvdmVybGF5LWNvbnRhaW5lcicpO1xyXG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNvbGxhcHNlcik7XHJcblxyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEubmFtZSA9IGdyb3VwO1xyXG4gICAgY29sbGFwc2VyLmFwcGVuZENoaWxkKGEpO1xyXG5cclxuICAgIGNvbnN0IGhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgaGVhZGVyLmNsYXNzTGlzdC5hZGQoJ292ZXJsYXktaGVhZGVyJyk7XHJcbiAgICBoZWFkZXIuaW5uZXJUZXh0ID0gZ3JvdXA7XHJcbiAgICBhLmFwcGVuZENoaWxkKGhlYWRlcik7XHJcblxyXG4gICAgY29uc3QgZ3JvdXBEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGdyb3VwRGl2LmNsYXNzTGlzdC5hZGQoJ292ZXJsYXktb3B0aW9ucycpO1xyXG4gICAgY29sbGFwc2VyLmFwcGVuZENoaWxkKGdyb3VwRGl2KTtcclxuXHJcbiAgICBhLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IGEucGFyZW50Tm9kZTtcclxuICAgICAgaWYgKHBhcmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KVxyXG4gICAgICAgIHBhcmVudC5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGdyb3VwRGl2O1xyXG4gIH1cclxuXHJcbiAgYnVpbGROYW1lRGl2KG9wdDogQ29uZmlnRW50cnkpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5pbm5lckhUTUwgPSB0aGlzLnRyYW5zbGF0ZShvcHQubmFtZSk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLW5hbWUnKTtcclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG5cclxuICBidWlsZENoZWNrYm94KHBhcmVudDogSFRNTEVsZW1lbnQsIG9wdDogQ29uZmlnRW50cnksIGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInKTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgaW5wdXQudHlwZSA9ICdjaGVja2JveCc7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdHlwZW9mIG9wdC5kZWZhdWx0ID09PSAnYm9vbGVhbicgPyBvcHQuZGVmYXVsdCA6IGZhbHNlO1xyXG4gICAgaWYgKHR5cGVvZiBvcHQuZGVmYXVsdCAhPT0gJ2Jvb2xlYW4nKVxyXG4gICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIG5vbi1ib29sZWFuIGRlZmF1bHQ6ICR7Z3JvdXB9ICR7b3B0LmlkfWApO1xyXG4gICAgaW5wdXQuY2hlY2tlZCA9IHRoaXMuZ2V0Qm9vbGVhbk9wdGlvbihncm91cCwgb3B0LmlkLCBkZWZhdWx0VmFsdWUpO1xyXG4gICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB0aGlzLnNldE9wdGlvbihncm91cCwgb3B0LmlkLCBpbnB1dC5jaGVja2VkKTtcclxuXHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5idWlsZE5hbWVEaXYob3B0KSk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICB9XHJcblxyXG4gIGJ1aWxkSHRtbChwYXJlbnQ6IEhUTUxFbGVtZW50LCBvcHQ6IENvbmZpZ0VudHJ5LCBfZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicpO1xyXG4gICAgaWYgKG9wdC5odG1sKVxyXG4gICAgICBkaXYuaW5uZXJIVE1MID0gdGhpcy50cmFuc2xhdGUob3B0Lmh0bWwpO1xyXG5cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmJ1aWxkTmFtZURpdihvcHQpKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGREaXJlY3RvcnkocGFyZW50OiBIVE1MRWxlbWVudCwgb3B0OiBDb25maWdFbnRyeSwgZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ2lucHV0LWRpci1jb250YWluZXInKTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBpbnB1dC50eXBlID0gJ3N1Ym1pdCc7XHJcbiAgICBpbnB1dC52YWx1ZSA9IHRoaXMudHJhbnNsYXRlKGtEaXJlY3RvcnlDaG9vc2VCdXR0b25UZXh0KTtcclxuICAgIGlucHV0LmNsYXNzTGlzdC5hZGQoJ2lucHV0LWRpci1zdWJtaXQnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ2lucHV0LWRpci1sYWJlbCcpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICBjb25zdCBzZXRMYWJlbCA9IChzdHI6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAoc3RyKVxyXG4gICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IHN0cjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IHRoaXMudHJhbnNsYXRlKGtEaXJlY3RvcnlEZWZhdWx0VGV4dCk7XHJcbiAgICB9O1xyXG4gICAgc2V0TGFiZWwodGhpcy5nZXRTdHJpbmdPcHRpb24oZ3JvdXAsIG9wdC5pZCwgb3B0LmRlZmF1bHQpKTtcclxuXHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5idWlsZE5hbWVEaXYob3B0KSk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuXHJcbiAgICBpbnB1dC5vbmNsaWNrID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAvLyBQcmV2ZW50IHJlcGVhdGVkIGNsaWNrcyBvbiB0aGUgZm9sZGVyIGNob29zZXIuXHJcbiAgICAgIC8vIGNhbGxPdmVybGF5SGFuZGxlciBpcyBub3Qgc3luY2hyb25vdXMuXHJcbiAgICAgIC8vIEZJWE1FOiBkbyB3ZSBuZWVkIHNvbWUgY2xlYXJlciBVSSBoZXJlIChsaWtlIHByZXRlbmRpbmcgdG8gYmUgbW9kYWw/KVxyXG4gICAgICBpbnB1dC5kaXNhYmxlZCA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBwcmV2VmFsdWUgPSBsYWJlbC5pbm5lclRleHQ7XHJcbiAgICAgIGxhYmVsLmlubmVyVGV4dCA9ICcnO1xyXG5cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgICBjYWxsOiAnY2FjdGJvdENob29zZURpcmVjdG9yeScsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29uc3QgZGlyID0gcmVzdWx0LmRhdGEgPz8gJyc7XHJcbiAgICAgICAgaWYgKGRpciAhPT0gcHJldlZhbHVlKVxyXG4gICAgICAgICAgdGhpcy5zZXRPcHRpb24oZ3JvdXAsIG9wdC5pZCwgZGlyKTtcclxuICAgICAgICBzZXRMYWJlbChkaXIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2NhY3Rib3RDaG9vc2VEaXJlY3RvcnkgcmV0dXJuZWQgdW5kZWZpbmVkJyk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBidWlsZFNlbGVjdChwYXJlbnQ6IEhUTUxFbGVtZW50LCBvcHQ6IENvbmZpZ0VudHJ5LCBncm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJyk7XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5nZXRPcHRpb24oZ3JvdXAsIG9wdC5pZCwgb3B0LmRlZmF1bHQpO1xyXG4gICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB0aGlzLnNldE9wdGlvbihncm91cCwgb3B0LmlkLCBpbnB1dC52YWx1ZSk7XHJcblxyXG4gICAgaWYgKG9wdC5vcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IGlubmVyT3B0aW9ucyA9IHRoaXMudHJhbnNsYXRlKG9wdC5vcHRpb25zKTtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaW5uZXJPcHRpb25zKSkge1xyXG4gICAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgICBlbGVtLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgZWxlbS5pbm5lckhUTUwgPSBrZXk7XHJcbiAgICAgICAgaWYgKGlubmVyT3B0aW9uc1trZXldID09PSBkZWZhdWx0VmFsdWUpXHJcbiAgICAgICAgICBlbGVtLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmJ1aWxkTmFtZURpdihvcHQpKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG4gIH1cclxuXHJcbiAgLy8gRklYTUU6IHRoaXMgY291bGQgdXNlIHNvbWUgZGF0YSB2YWxpZGF0aW9uIGlmIGEgdXNlciBpbnB1dHMgbm9uLWZsb2F0cy5cclxuICBidWlsZEZsb2F0KHBhcmVudDogSFRNTEVsZW1lbnQsIG9wdDogQ29uZmlnRW50cnksIGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInKTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgIGlucHV0LnN0ZXAgPSAnYW55JztcclxuICAgIGlucHV0LnZhbHVlID0gdGhpcy5nZXROdW1iZXJPcHRpb24oXHJcbiAgICAgIGdyb3VwLFxyXG4gICAgICBvcHQuaWQsXHJcbiAgICAgIHBhcnNlRmxvYXQob3B0LmRlZmF1bHQudG9TdHJpbmcoKSksXHJcbiAgICApLnRvU3RyaW5nKCk7XHJcbiAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4gdGhpcy5zZXRPcHRpb24oZ3JvdXAsIG9wdC5pZCwgaW5wdXQudmFsdWUpO1xyXG4gICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuYnVpbGROYW1lRGl2KG9wdCkpO1xyXG4gICAgcGFyZW50LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgfVxyXG5cclxuICAvLyBGSVhNRTogdGhpcyBjb3VsZCB1c2Ugc29tZSBkYXRhIHZhbGlkYXRpb24gaWYgYSB1c2VyIGlucHV0cyBub24taW50ZWdlcnMuXHJcbiAgYnVpbGRJbnRlZ2VyKHBhcmVudDogSFRNTEVsZW1lbnQsIG9wdDogQ29uZmlnRW50cnksIGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInKTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgIGlucHV0LnN0ZXAgPSAnMSc7XHJcbiAgICBpbnB1dC52YWx1ZSA9IHRoaXMuZ2V0TnVtYmVyT3B0aW9uKGdyb3VwLCBvcHQuaWQsIHBhcnNlSW50KG9wdC5kZWZhdWx0LnRvU3RyaW5nKCkpKS50b1N0cmluZygpO1xyXG4gICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHRoaXMuc2V0T3B0aW9uKGdyb3VwLCBvcHQuaWQsIGlucHV0LnZhbHVlKTtcclxuICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmJ1aWxkTmFtZURpdihvcHQpKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc0ZpbGVzPFQgZXh0ZW5kcyBDb25maWdMb29zZVRyaWdnZXJTZXQgfCBDb25maWdMb29zZU9vcHN5VHJpZ2dlclNldD4oXHJcbiAgICBmaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IFQgfSxcclxuICAgIHVzZXJUcmlnZ2VyU2V0cz86IFRbXSxcclxuICApOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPFQ+IHtcclxuICAgIGNvbnN0IG1hcDogQ29uZmlnUHJvY2Vzc2VkRmlsZU1hcDxUPiA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIHRyaWdnZXJTZXRdIG9mIE9iamVjdC5lbnRyaWVzKGZpbGVzKSkge1xyXG4gICAgICBpZiAoIWZpbGVuYW1lLmVuZHNXaXRoKCcuanMnKSAmJiAhZmlsZW5hbWUuZW5kc1dpdGgoJy50cycpKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgdHJpZ2dlclNldC5maWxlbmFtZSA9IGZpbGVuYW1lO1xyXG5cclxuICAgICAgbGV0IHByZWZpeEtleSA9ICcwMC1taXNjJztcclxuICAgICAgbGV0IHByZWZpeDogTG9jYWxlVGV4dCA9IGtQcmVmaXhUb0NhdGVnb3J5WycwMC1taXNjJ107XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGtQcmVmaXhUb0NhdGVnb3J5KSkge1xyXG4gICAgICAgIGlmICghZmlsZW5hbWUuc3RhcnRzV2l0aChrZXkpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgcHJlZml4S2V5ID0ga2V5O1xyXG4gICAgICAgIHByZWZpeCA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgY2F0ZWdvcnkgPSB1bmRlZmluZWQ7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGtEaXJlY3RvcnlUb0NhdGVnb3J5KSkge1xyXG4gICAgICAgIGlmICghZmlsZW5hbWUuaW5jbHVkZXMoYC8ke2tleX0vYCkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjYXRlZ29yeSA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdGl0bGUgPSBmaWxlTmFtZVRvVGl0bGUoZmlsZW5hbWUpO1xyXG4gICAgICBsZXQgem9uZUlkOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAvLyBNYWtlIGFzc3VtcHRpb25zIGFib3V0IHRyaWdnZXIgc3RydWN0dXJlIGhlcmUgdG8gdHJ5IHRvIGdldCB0aGUgem9uZUlkIG91dC5cclxuICAgICAgaWYgKHRyaWdnZXJTZXQgJiYgdHlwZW9mIHRyaWdnZXJTZXQuem9uZUlkID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHpvbmVJZCA9IHRyaWdnZXJTZXQuem9uZUlkO1xyXG4gICAgICAgIC8vIFVzZSB0aGUgdHJhbnNsYXRhYmxlIHpvbmUgaW5mbyBuYW1lLCBpZiBwb3NzaWJsZS5cclxuICAgICAgICBjb25zdCB6b25lSW5mbyA9IFpvbmVJbmZvW3pvbmVJZF07XHJcbiAgICAgICAgaWYgKHpvbmVJbmZvKVxyXG4gICAgICAgICAgdGl0bGUgPSB0aGlzLnRyYW5zbGF0ZSh6b25lSW5mby5uYW1lKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZmlsZUtleSA9IGZpbGVuYW1lLnJlcGxhY2UoL1xcLy9nLCAnLScpLnJlcGxhY2UoLy5banRdcyQvLCAnJyk7XHJcbiAgICAgIG1hcFtmaWxlS2V5XSA9IHtcclxuICAgICAgICBmaWxlbmFtZTogZmlsZW5hbWUsXHJcbiAgICAgICAgZmlsZUtleTogZmlsZUtleSxcclxuICAgICAgICBwcmVmaXhLZXk6IHByZWZpeEtleSxcclxuICAgICAgICBwcmVmaXg6IHRoaXMudHJhbnNsYXRlKHByZWZpeCksXHJcbiAgICAgICAgc2VjdGlvbjogdGhpcy50cmFuc2xhdGUocHJlZml4KSxcclxuICAgICAgICB0eXBlOiBjYXRlZ29yeSA/IHRoaXMudHJhbnNsYXRlKGNhdGVnb3J5KSA6IHVuZGVmaW5lZCxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgdHJpZ2dlclNldDogdHJpZ2dlclNldCxcclxuICAgICAgICB6b25lSWQ6IHpvbmVJZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1c2VyTWFwOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPFQ+ID0ge307XHJcbiAgICBsZXQgdXNlckZpbGVJZHggPSAwO1xyXG4gICAgZm9yIChjb25zdCB0cmlnZ2VyU2V0IG9mIHVzZXJUcmlnZ2VyU2V0cyB8fCBbXSkge1xyXG4gICAgICBpZiAoIXRyaWdnZXJTZXQpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIC8vIFRPRE86IHBhc3MgaW4gdXNlclRyaWdnZXJTZXRzIGFzIGEgZmlsZW5hbWUgLT4gdHJpZ2dlclNldCBtYXAgYXMgd2VsbFxyXG4gICAgICAvLyBzbyB3ZSBkb24ndCBuZWVkIHRvIHJlYWQgdGhpcyBhZGRlZCB2YWx1ZS5cclxuICAgICAgaWYgKCF0cmlnZ2VyU2V0LmZpbGVuYW1lKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVXNlckhhbmRsZXIgbXVzdCBhZGQgZmlsZW5hbWUnKTtcclxuICAgICAgY29uc3QgZmlsZUtleSA9IGB1c2VyLyR7dHJpZ2dlclNldC5maWxlbmFtZX0vJHt1c2VyRmlsZUlkeCsrfWA7XHJcblxyXG4gICAgICAvLyBjYWN0Ym90IHRyaWdnZXJzIGFsbCB1c2Ugem9uZUlkLCBidXQgdXNlciB0cmlnZ2VycyBpbiB0aGUgd2lsZFxyXG4gICAgICAvLyBtYXkgYWxzbyB1c2Ugem9uZVJlZ2V4IG9yIGFsc28gaGF2ZSBlcnJvcnMgYW5kIG5vdCBoYXZlIGVpdGhlci5cclxuICAgICAgbGV0IHRpdGxlID0gJz8/Pyc7XHJcbiAgICAgIGxldCB6b25lSWQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VyU2V0LnpvbmVJZCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICB6b25lSWQgPSB0cmlnZ2VyU2V0LnpvbmVJZDtcclxuICAgICAgICAvLyBVc2UgdGhlIHRyYW5zbGF0YWJsZSB6b25lIGluZm8gbmFtZSwgaWYgcG9zc2libGUuXHJcbiAgICAgICAgY29uc3Qgem9uZUluZm8gPSBab25lSW5mb1t6b25lSWRdO1xyXG4gICAgICAgIGlmICh6b25lSW5mbylcclxuICAgICAgICAgIHRpdGxlID0gdGhpcy50cmFuc2xhdGUoem9uZUluZm8ubmFtZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHJpZ2dlclNldC56b25lUmVnZXgpIHtcclxuICAgICAgICAvLyB6b25lUmVnZXggY2FuIGJlIGEgbG9jYWxpemVkIG9iamVjdC5cclxuICAgICAgICBsZXQgem9uZVJlZ2V4ID0gdHJpZ2dlclNldC56b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHBcclxuICAgICAgICAgID8gdHJpZ2dlclNldC56b25lUmVnZXhcclxuICAgICAgICAgIDogdHJpZ2dlclNldC56b25lUmVnZXhbdGhpcy5sYW5nXTtcclxuICAgICAgICBpZiAodHlwZW9mIHpvbmVSZWdleCA9PT0gJ3N0cmluZycpXHJcbiAgICAgICAgICB6b25lUmVnZXggPSBSZWdleGVzLnBhcnNlKHpvbmVSZWdleCk7XHJcbiAgICAgICAgaWYgKHpvbmVSZWdleCBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgICAgIHRpdGxlID0gYC8ke3pvbmVSZWdleC5zb3VyY2V9L2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVzZXJNYXBbZmlsZUtleV0gPSB7XHJcbiAgICAgICAgZmlsZW5hbWU6IHRyaWdnZXJTZXQuZmlsZW5hbWUsXHJcbiAgICAgICAgZmlsZUtleTogZmlsZUtleSxcclxuICAgICAgICBwcmVmaXhLZXk6ICd1c2VyJyxcclxuICAgICAgICBwcmVmaXg6IHRoaXMudHJhbnNsYXRlKGtQcmVmaXhUb0NhdGVnb3J5Wyd1c2VyJ10pLFxyXG4gICAgICAgIHNlY3Rpb246IHRyaWdnZXJTZXQuZmlsZW5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIHR5cGU6IHVuZGVmaW5lZCxcclxuICAgICAgICB0cmlnZ2VyU2V0OiB0cmlnZ2VyU2V0LFxyXG4gICAgICAgIHpvbmVJZDogem9uZUlkLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNvcnRlZEVudHJpZXMgPSBPYmplY3Qua2V5cyhtYXApLnNvcnQoKGtleUEsIGtleUIpID0+IHtcclxuICAgICAgLy8gU29ydCBmaXJzdCBieSBleHBhbnNpb24uXHJcbiAgICAgIGNvbnN0IGVudHJ5QSA9IG1hcFtrZXlBXTtcclxuICAgICAgY29uc3QgZW50cnlCID0gbWFwW2tleUJdO1xyXG4gICAgICAvLyBBbGwga2V5cyBoZXJlIGFyZSB2YWxpZCBlbnRyaWVzIGluIG1hcC5cclxuICAgICAgaWYgKGVudHJ5QSA9PT0gdW5kZWZpbmVkIHx8IGVudHJ5QiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgY29uc3QgcHJlZml4Q29tcGFyZSA9IGVudHJ5QS5wcmVmaXhLZXkubG9jYWxlQ29tcGFyZShlbnRyeUIucHJlZml4S2V5KTtcclxuICAgICAgaWYgKHByZWZpeENvbXBhcmUgIT09IDApXHJcbiAgICAgICAgcmV0dXJuIHByZWZpeENvbXBhcmU7XHJcblxyXG4gICAgICAvLyBUaGVuIHNvcnQgYnkgY29udGVudExpc3QuXHJcbiAgICAgIGNvbnN0IGluZGV4QSA9IGVudHJ5QS56b25lSWQgIT09IHVuZGVmaW5lZCA/IGNvbnRlbnRMaXN0LmluZGV4T2YoZW50cnlBLnpvbmVJZCkgOiAtMTtcclxuICAgICAgY29uc3QgaW5kZXhCID0gZW50cnlCLnpvbmVJZCAhPT0gdW5kZWZpbmVkID8gY29udGVudExpc3QuaW5kZXhPZihlbnRyeUIuem9uZUlkKSA6IC0xO1xyXG5cclxuICAgICAgaWYgKGluZGV4QSA9PT0gLTEgJiYgaW5kZXhCID09PSAtMSkge1xyXG4gICAgICAgIC8vIElmIHdlIGRvbid0IGtub3csIHNvcnQgYnkgc3RyaW5ncy5cclxuICAgICAgICByZXR1cm4ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpO1xyXG4gICAgICB9IGVsc2UgaWYgKGluZGV4QSA9PT0gLTEpIHtcclxuICAgICAgICAvLyBTb3J0IEIgZmlyc3QuXHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXhCID09PSAtMSkge1xyXG4gICAgICAgIC8vIFNvcnQgQSBmaXJzdC5cclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgLy8gRGVmYXVsdDogc29ydCBieSBpbmRleCBpbiBjb250ZW50TGlzdC5cclxuICAgICAgcmV0dXJuIGluZGV4QSAtIGluZGV4QjtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFJlYnVpbGQgbWFwIHdpdGgga2V5cyBpbiB0aGUgcmlnaHQgb3JkZXIuXHJcbiAgICBjb25zdCBzb3J0ZWRNYXA6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8VD4gPSB7fTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIHNvcnRlZEVudHJpZXMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBtYXBba2V5XTtcclxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBzb3J0ZWRNYXBba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRhY2sgb24gdXNlciB0cmlnZ2VycyBhdCB0aGUgZW5kIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgZXZhbCdkLlxyXG4gICAgZm9yIChjb25zdCBba2V5LCB0cmlnZ2VyU2V0XSBvZiBPYmplY3QuZW50cmllcyh1c2VyTWFwKSlcclxuICAgICAgc29ydGVkTWFwW2tleV0gPSB0cmlnZ2VyU2V0O1xyXG5cclxuICAgIHJldHVybiBzb3J0ZWRNYXA7XHJcbiAgfVxyXG59XHJcblxyXG5Vc2VyQ29uZmlnLmdldFVzZXJDb25maWdMb2NhdGlvbignY29uZmlnJywgZGVmYXVsdE9wdGlvbnMsICgpID0+IHtcclxuICBjb25zdCBvcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucyB9O1xyXG4gIG5ldyBDYWN0Ym90Q29uZmlndXJhdG9yKFxyXG4gICAgb3B0aW9ucyxcclxuICAgIFVzZXJDb25maWcuc2F2ZWRDb25maWcsXHJcbiAgKTtcclxufSk7XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgTG9jYWxlVGV4dCB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgT29wc3lPcHRpb25zIH0gZnJvbSAnLi9vb3BzeV9vcHRpb25zJztcclxuXHJcbi8vIEZpZWxkcyBmb3IgbmV0IGxvZyBhYmlsaXR5IGxpbmVzLlxyXG5leHBvcnQgY29uc3Qga0ZpZWxkRmxhZ3MgPSA4O1xyXG5leHBvcnQgY29uc3Qga0ZpZWxkRGFtYWdlID0gOTtcclxuXHJcbi8vIElmIGtGaWVsZEZsYWdzIGlzIGFueSBvZiB0aGVzZSB2YWx1ZXMsIHRoZW4gY29uc2lkZXIgZmllbGQgMTAvMTEgYXMgOC85LlxyXG4vLyBJdCBhcHBlYXJzIGEgbGl0dGxlIGJpdCB0aGF0IGZsYWdzIGNvbWUgaW4gcGFpcnMgb2YgdmFsdWVzLCBidXQgaXQncyB1bmNsZWFyXHJcbi8vIHdoYXQgdGhlc2UgbWVhbi5cclxuZXhwb3J0IGNvbnN0IGtTaGlmdEZsYWdWYWx1ZXMgPSBbJzNFJywgJzExMycsICcyMTMnLCAnMzEzJ107XHJcbmV4cG9ydCBjb25zdCBrRmxhZ0luc3RhbnREZWF0aCA9ICczNic7IC8vIEFsd2F5cyAzNiA/XHJcbi8vIG1pc3MsIGRhbWFnZSwgYmxvY2ssIHBhcnJ5LCBpbnN0YW50IGRlYXRoXHJcbmV4cG9ydCBjb25zdCBrQXR0YWNrRmxhZ3MgPSBbJzAxJywgJzAzJywgJzA1JywgJzA2Jywga0ZsYWdJbnN0YW50RGVhdGhdO1xyXG5leHBvcnQgY29uc3Qga0hlYWxGbGFncyA9IFsnMDQnXTtcclxuXHJcbi8vIFRPRE86IHNob3VsZCB3ZSBpbmNsdWRlIGRhbWFnZSAhPSAwIGhlcmU/XHJcbmV4cG9ydCBjb25zdCBkYW1hZ2VGaWVsZHMgPSB7XHJcbiAgZmxhZ3M6IGBbXnxdKig/OiR7a0F0dGFja0ZsYWdzLmpvaW4oJ3wnKX0pKD89XFxcXHwpYCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBwbGF5ZXJEYW1hZ2VGaWVsZHMgPSB7XHJcbiAgdGFyZ2V0SWQ6ICdbXjRdLi4uLi4uLicsXHJcbiAgLi4uZGFtYWdlRmllbGRzLFxyXG59O1xyXG5cclxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xyXG5cclxuLypcclxuRmllbGQgNyBGbGFnczpcclxuICAnMCcgPSBtZWRpdGF0aW9uLCBhb2Ugd2l0aCBubyB0YXJnZXRzXHJcblxyXG4gIGRhbWFnZSBsb3cgYnl0ZXM6XHJcbiAgICAweDAxID0gZG9kZ2VcclxuICAgIDB4MDMgPSBkYW1hZ2VcclxuICAgIDB4MDUgPSBibG9ja2VkIGRhbWFnZVxyXG4gICAgMHgwNiA9IHBhcnJpZWQgZGFtYWdlXHJcbiAgICAweD8/ID0gaW5zdGFudCBkZWF0aFxyXG5cclxuICBkYW1hZ2UgbW9kaWZpZXJzOlxyXG4gICAgMHgxMDAgPSBjcml0IGRhbWFnZVxyXG4gICAgMHgyMDAgPSBkaXJlY3QgaGl0IGRhbWFnZVxyXG4gICAgMHgzMDAgPSBjcml0IGRpcmVjdCBoaXQgZGFtYWdlXHJcblxyXG4gIGhlYWwgbW9kaWZpZXJzOlxyXG4gICAgMHgwMDAwNCA9IGhlYWxcclxuICAgIDB4MTAwMDQgPSBjcml0IGhlYWxcclxuXHJcbiAgU3BlY2lhbCBjYXNlczpcclxuICAgICogSWYgZmxhZ3MgYXJlIDNFLCBzaGlmdCA5KzEwIHR3byBvdmVyIHRvIGJlIDcrOC4gICh3aHk/Pz8pXHJcbiAgICAqIFBsZW5hcnkgaW5kdWxnZW5jZSBoYXMgZmxhZ3M9MTEzLzIxMy8zMTMgZm9yIHN0YWNrcywgc2hpZnQgdHdvIGFzIHdlbGwuXHJcblxyXG4gIERhbWFnZTpcclxuICAgICogTGVmdC1leHRlbmQgemVyb2VzIHRvIDggY2hhcnMsIGUuZy4gMjkzNDAwMSA9PiAwMjkzNDAwMSwgb3IgMTAwMCA9PiAwMDAwMTAwMC5cclxuICAgICogU2hvdWxkIGJlIGludGVycHJldGVkIGFzIDQgYnl0ZXMgKDggY2hhcnMpLlxyXG4gICAgKiBGaXJzdCB0d28gYnl0ZXMgYXJlIGRhbWFnZS5cclxuICAgICogMDAwMDQwMDAgbWFzayBpbXBsaWVzIGV4dHJhIGRhbWFnZSAoYW5kIHNvbWUgd2VpcmQgbWF0aCk6XHJcbiAgICAgIGJ5dGVzID0gQUJDRCwgd2hlcmUgQyA9IDB4NDAuXHJcbiAgICAgIHRvdGFsIGRhbWFnZSA9IERBKEItRCksIGFzIHRocmVlIGJ5dGVzIHRvZ2V0aGVyIGludGVycHJldGVkIGFzIGFuIGludGVnZXIuXHJcbiAgICAgIGUuZy4gNDI0RTQwMEYgPT4gMEYgNDIgKDRFIC0gMEYgPSAzRikgPT4gMEY0MjNGID0+IDk5OTk5OVxyXG4gICAgKiAwMDAwMTAwMCBtYXNrIGltcGxpZXMgMCBkYW1hZ2UsIGUuZy4gaGFsbG93ZWQuXHJcblxyXG5FeGFtcGxlczpcclxuKDEpIDE4MjE2IGRhbWFnZSBmcm9tIEdyYW5kIENyb3NzIEFscGhhIChiYXNpYyBkYW1hZ2UpXHJcbiAgMTY6NDAwMDEzMzM6TmVvIEV4ZGVhdGg6MjQyQjpHcmFuZCBDcm9zcyBBbHBoYToxMDQ4NjM4QzpUYXRlciBUb3Q6NzUwMDAzOjQ3MjgwMDAwOjFDOjgwMjQyQjowOjA6MDowOjA6MDowOjA6MDowOjA6MDozNjkwNjo0MTI0MTo1MTYwOjUxNjA6ODgwOjEwMDA6MC4wMDkyMjYzNjU6LTcuODExMjg6LTEuMTkyMDkzRS0wNzoxNjA0MzAxNToxNzcwMjI3MjoxMjAwMDoxMjAwMDoxMDAwOjEwMDA6LTAuMDE1MzE5ODI6LTE5LjAyODA4OjA6XHJcblxyXG4oMikgODI1MzggZGFtYWdlIGZyb20gSHlwZXJkcml2ZSAoMHg0MDAwIGV4dHJhIGRhbWFnZSBtYXNrKVxyXG4gIDE1OjQwMDI0RkJBOktlZmthOjI4RTg6SHlwZXJkcml2ZToxMDZDMURCQTpPa29ub21pIFlha2k6NzUwMDAzOjQyNkI0MDAxOjFDOjI4RTg4MDAwOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjM1ODExOjYyNDY0OjQ1NjA6NDU2MDo5NDA6MTAwMDotMC4xNTg2MDYxOi01Ljc1MzE1MzowOjMwMDk4OTA2OjMxNTU5MDYyOjEyMDAwOjEyMDAwOjEwMDA6MTAwMDowLjM1MDg5MTE6MC40NDI1MDQ5OjIuMzg0MTg2RS0wNzpcclxuXHJcbigzKSAyMjEwOSBkYW1hZ2UgZnJvbSBHcmFuZCBDcm9zcyBPbWVnYSAoOjNFOjA6IHNoaWZ0LCB1bmtub3duIDB4NDAwMDAgZmxhZylcclxuICAxNjo0MDAwMTMzMzpOZW8gRXhkZWF0aDoyNDJEOkdyYW5kIENyb3NzIE9tZWdhOjEwNDg2MzhDOlRhdGVyIFRvdDozRTowOjc1MDAwMzo1NjVEMDAwMDoxQzo4MDI0MkQ6MDowOjA6MDowOjA6MDowOjA6MDo0MTI0MTo0MTI0MTo1MTYwOjUxNjA6NjcwOjEwMDA6LTAuMzI1MTY0MTo2LjUyNjI5OToxLjE5MjA5M0UtMDc6NzU2MDk0NDoxNzcwMjI3MjoxMjAwMDoxMjAwMDoxMDAwOjEwMDA6MDoxOToyLjM4NDE4NkUtMDc6XHJcblxyXG4oNCkgMTU3MzIgY3JpdCBoZWFsIGZyb20gMyBjb25mZXNzaW9uIHN0YWNrIFBsZW5hcnkgSW5kdWxnZW5jZSAoOj8xMzo0QzM6IHNoaWZ0KVxyXG4gIDE2OjEwNjQ3RDJGOlRha28gWWFraToxRDA5OlBsZW5hcnkgSW5kdWxnZW5jZToxMDZERDAxOTpPa29ub21pIFlha2k6MzEzOjRDMzoxMDAwNDozRDc0OjA6MDowOjA6MDowOjA6MDowOjA6MDowOjcxMjQ6NDAyNjU6MTQ0MDA6OTE5MjoxMDAwOjEwMDA6LTEwLjc4ODE1OjExLjk0NzgxOjA6MTEzNDM6NDAwMjk6MTk2NTI6MTY0NTE6MTAwMDoxMDAwOjYuMzM2NjQ4OjcuNzEwMDA0OjA6XHJcblxyXG4oNSkgaW5zdGFudCBkZWF0aCB0d2lzdGVyXHJcbiAgMTY6NDAwMDRENUQ6VHdpbnRhbmlhOjI2QUI6VHdpc3RlcjoxMDU3M0ZEQzpUaW5pIFBvdXRpbmk6MzM6MDoxQzoyNkFCODAwMDowOjA6MDowOjA6MDowOjA6MDowOjA6MDo0Mzk4NTo0Mzk4NTo1NzYwOjU3NjA6OTEwOjEwMDA6LTguNDIxNzk6OS40OTI1MTotMS4xOTIwOTNFLTA3OjU3MjUwOjU3MjUwOjA6MDoxMDAwOjEwMDA6LTguNTY1NjQ1OjEwLjIwOTU5OjA6XHJcblxyXG4oNikgemVybyBkYW1hZ2UgdGFyZ2V0bGVzcyBhb2UgKEUwMDAwMDAwIHRhcmdldClcclxuICAxNjoxMDNBQUVFNDpQb3RhdG8gQ2hpcHB5OkIxOk1pYXNtYSBJSTpFMDAwMDAwMDo6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDo6Ojo6Ojo6OjoxOTQwMDo0MDI4NzoxNzY0OToxNzYzMzoxMDAwOjEwMDA6LTAuNjU2MTg5Oi0zLjc5OTU2MTotNS45NjA0NjRFLTA4OlxyXG5cclxuKi9cclxuXHJcbi8qIGVzbGludC1lbmFibGUgKi9cclxuXHJcbmV4cG9ydCBjb25zdCBTaG9ydE5hbWlmeSA9IChcclxuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgcGxheWVyTmlja3M6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4pOiBzdHJpbmcgPT4ge1xyXG4gIC8vIFRPRE86IG1ha2UgdGhpcyB1bmlxdWUgYW1vbmcgdGhlIHBhcnR5IGluIGNhc2Ugb2YgZmlyc3QgbmFtZSBjb2xsaXNpb25zLlxyXG4gIC8vIFRPRE86IHByb2JhYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2VuZXJhbCBjYWN0Ym90IHV0aWxpdHkuXHJcbiAgaWYgKCFuYW1lKVxyXG4gICAgcmV0dXJuICc/Pz8nO1xyXG5cclxuICBjb25zdCBuaWNrID0gcGxheWVyTmlja3NbbmFtZV07XHJcbiAgaWYgKG5pY2spXHJcbiAgICByZXR1cm4gbmljaztcclxuXHJcbiAgY29uc3QgaWR4ID0gbmFtZS5pbmRleE9mKCcgJyk7XHJcbiAgcmV0dXJuIGlkeCA8IDAgPyBuYW1lIDogbmFtZS5zdWJzdHIoMCwgaWR4KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBUcmFuc2xhdGUgPSAobGFuZzogTGFuZywgb2JqPzogTG9jYWxlVGV4dCB8IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgaWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnKVxyXG4gICAgcmV0dXJuIG9iajtcclxuICByZXR1cm4gb2JqW2xhbmddID8/IG9ialsnZW4nXTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZXRGb3JtYXR0ZWRUaW1lID0gKGJhc2VUaW1lOiBudW1iZXIgfCB1bmRlZmluZWQsIHRpbWU6IG51bWJlcik6IHN0cmluZyA9PiB7XHJcbiAgaWYgKCFiYXNlVGltZSlcclxuICAgIHJldHVybiAnJztcclxuICBjb25zdCB0b3RhbFNlY29uZHMgPSBNYXRoLmZsb29yKCh0aW1lIC0gYmFzZVRpbWUpIC8gMTAwMCk7XHJcbiAgY29uc3Qgc2Vjb25kcyA9IHRvdGFsU2Vjb25kcyAlIDYwO1xyXG4gIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKHRvdGFsU2Vjb25kcyAvIDYwKTtcclxuICByZXR1cm4gYCR7bWludXRlc306JHtzZWNvbmRzIDwgMTAgPyBgMCR7c2Vjb25kc31gIDogc2Vjb25kc31gO1xyXG59O1xyXG5cclxuLy8gVHVybnMgYSBzY3JhbWJsZWQgc3RyaW5nIGRhbWFnZSBmaWVsZCBpbnRvIGFuIGludGVnZXIuXHJcbi8vIFNpbmNlIGZpZWxkcyBhcmUgbW9kaWZpZWQgaW4gcGxhY2UgcmlnaHQgbm93LCB0aGlzIGRvZXMgbm90aGluZyBpZiBjYWxsZWRcclxuLy8gYWdhaW4gd2l0aCBhbiBpbnRlZ2VyLiAgVGhpcyBpcyBraW5kIG9mIGEgaGFjaywgc29ycnkuXHJcbmV4cG9ydCBjb25zdCBVbnNjcmFtYmxlRGFtYWdlID0gKGZpZWxkPzogc3RyaW5nKTogbnVtYmVyID0+IHtcclxuICBpZiAoZmllbGQgPT09IHVuZGVmaW5lZClcclxuICAgIHJldHVybiAwO1xyXG4gIGNvbnN0IGxlbiA9IGZpZWxkLmxlbmd0aDtcclxuICBpZiAobGVuIDw9IDQpXHJcbiAgICByZXR1cm4gMDtcclxuICAvLyBHZXQgdGhlIGxlZnQgdHdvIGJ5dGVzIGFzIGRhbWFnZS5cclxuICBsZXQgZGFtYWdlID0gcGFyc2VJbnQoZmllbGQuc3Vic3RyKDAsIGxlbiAtIDQpLCAxNik7XHJcbiAgLy8gQ2hlY2sgZm9yIHRoaXJkIGJ5dGUgPT0gMHg0MC5cclxuICBpZiAoZmllbGRbbGVuIC0gNF0gPT09ICc0Jykge1xyXG4gICAgLy8gV3JhcCBpbiB0aGUgNHRoIGJ5dGUgYXMgZXh0cmEgZGFtYWdlLiAgU2VlIG5vdGVzIGFib3ZlLlxyXG4gICAgY29uc3QgcmlnaHREYW1hZ2UgPSBwYXJzZUludChmaWVsZC5zdWJzdHIobGVuIC0gMiwgMiksIDE2KTtcclxuICAgIGRhbWFnZSA9IGRhbWFnZSAtIHJpZ2h0RGFtYWdlICsgKHJpZ2h0RGFtYWdlIDw8IDE2KTtcclxuICB9XHJcbiAgcmV0dXJuIGRhbWFnZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBJc1BsYXllcklkID0gKGlkPzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKGlkID09PSB1bmRlZmluZWQpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgY29uc3QgZmlyc3RDaGFyID0gaWRbMF07XHJcbiAgcmV0dXJuIGZpcnN0Q2hhciA/IGZpcnN0Q2hhciA8ICc0JyA6IGZhbHNlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IElzVHJpZ2dlckVuYWJsZWQgPSAob3B0aW9uczogT29wc3lPcHRpb25zLCBpZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgaWYgKGlkIGluIG9wdGlvbnMuRGlzYWJsZWRUcmlnZ2VycylcclxuICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgY29uc3QgYXV0b0NvbmZpZyA9IG9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWdbaWRdO1xyXG4gIGlmIChhdXRvQ29uZmlnKVxyXG4gICAgcmV0dXJuIGF1dG9Db25maWcuZW5hYmxlZDtcclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgR2V0U29sb01pc3Rha2VUZXh0ID0gKGFiaWxpdHk6IHN0cmluZyk6IExvY2FsZVRleHQgPT4ge1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogYCR7YWJpbGl0eX0gKGFsb25lKWAsXHJcbiAgICBkZTogYCR7YWJpbGl0eX0gKGFsbGVpbilgLFxyXG4gICAgZnI6IGAke2FiaWxpdHl9IChzZXVsKGUpKWAsXHJcbiAgICBqYTogYCR7YWJpbGl0eX0gKOS4gOS6uilgLFxyXG4gICAgY246IGAke2FiaWxpdHl9ICjljZXlkIMpYCxcclxuICAgIGtvOiBgJHthYmlsaXR5fSAo7Zi87J6QIOunnuydjClgLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgR2V0U2hhcmVNaXN0YWtlVGV4dCA9IChhYmlsaXR5OiBzdHJpbmcpOiBMb2NhbGVUZXh0ID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZW46IGAke2FiaWxpdHl9IChzaGFyZSlgLFxyXG4gICAgZGU6IGAke2FiaWxpdHl9IChnZXRlaWx0KWAsXHJcbiAgICBmcjogYCR7YWJpbGl0eX0gKHBhcnRhZ2UpYCxcclxuICAgIGphOiBgJHthYmlsaXR5fSAo6aCt5Ymy44KKKWAsXHJcbiAgICBjbjogYCR7YWJpbGl0eX0gKOmHjeWPoClgLFxyXG4gICAga286IGAke2FiaWxpdHl9ICjqsJnsnbQg66ee7J2MKWAsXHJcbiAgfTtcclxufTtcclxuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4iLCJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gbm8gYmFzZVVSSVxuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGFuZCBsb2FkaW5nIGNodW5rc1xuLy8gdW5kZWZpbmVkID0gY2h1bmsgbm90IGxvYWRlZCwgbnVsbCA9IGNodW5rIHByZWxvYWRlZC9wcmVmZXRjaGVkXG4vLyBbcmVzb2x2ZSwgcmVqZWN0LCBQcm9taXNlXSA9IGNodW5rIGxvYWRpbmcsIDAgPSBjaHVuayBsb2FkZWRcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDc6IDBcbn07XG5cbi8vIG5vIGNodW5rIG9uIGRlbWFuZCBsb2FkaW5nXG5cbi8vIG5vIHByZWZldGNoaW5nXG5cbi8vIG5vIHByZWxvYWRlZFxuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0XG5cbl9fd2VicGFja19yZXF1aXJlX18uTy5qID0gKGNodW5rSWQpID0+IChpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPT09IDApO1xuXG4vLyBpbnN0YWxsIGEgSlNPTlAgY2FsbGJhY2sgZm9yIGNodW5rIGxvYWRpbmdcbnZhciB3ZWJwYWNrSnNvbnBDYWxsYmFjayA9IChwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiwgZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHQvLyBhZGQgXCJtb3JlTW9kdWxlc1wiIHRvIHRoZSBtb2R1bGVzIG9iamVjdCxcblx0Ly8gdGhlbiBmbGFnIGFsbCBcImNodW5rSWRzXCIgYXMgbG9hZGVkIGFuZCBmaXJlIGNhbGxiYWNrXG5cdHZhciBtb2R1bGVJZCwgY2h1bmtJZCwgaSA9IDA7XG5cdGlmKGNodW5rSWRzLnNvbWUoKGlkKSA9PiAoaW5zdGFsbGVkQ2h1bmtzW2lkXSAhPT0gMCkpKSB7XG5cdFx0Zm9yKG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8obW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuXHRcdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihydW50aW1lKSB2YXIgcmVzdWx0ID0gcnVudGltZShfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblx0fVxuXHRpZihwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbikgcGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG5cdGZvcig7aSA8IGNodW5rSWRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0Y2h1bmtJZCA9IGNodW5rSWRzW2ldO1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhpbnN0YWxsZWRDaHVua3MsIGNodW5rSWQpICYmIGluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuXHRcdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdWzBdKCk7XG5cdFx0fVxuXHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkc1tpXV0gPSAwO1xuXHR9XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fLk8ocmVzdWx0KTtcbn1cblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtjYWN0Ym90XCJdID0gc2VsZltcIndlYnBhY2tDaHVua2NhY3Rib3RcIl0gfHwgW107XG5jaHVua0xvYWRpbmdHbG9iYWwuZm9yRWFjaCh3ZWJwYWNrSnNvbnBDYWxsYmFjay5iaW5kKG51bGwsIDApKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gd2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLCBjaHVua0xvYWRpbmdHbG9iYWwucHVzaC5iaW5kKGNodW5rTG9hZGluZ0dsb2JhbCkpOyIsIiIsIi8vIHN0YXJ0dXBcbi8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLy8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyh1bmRlZmluZWQsIFs4OTAsNzI3XSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oMjE0NSkpKVxuX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcbiIsIiJdLCJuYW1lcyI6WyJ0YXJnZXRJc1lvdSIsImRhdGEiLCJtYXRjaGVzIiwibWUiLCJ0YXJnZXQiLCJ0YXJnZXRJc05vdFlvdSIsImNhcmVzQWJvdXRBT0UiLCJyb2xlIiwiQ2FuQWRkbGUiLCJqb2IiLCJjYXJlc0Fib3V0TWFnaWNhbCIsImNhcmVzQWJvdXRQaHlzaWNhbCIsIkNhbkZlaW50IiwibGFuZ3VhZ2VzIiwibGFuZ01hcCIsImVuIiwiZGUiLCJmciIsImphIiwiY24iLCJrbyIsImlzTGFuZyIsImxhbmciLCJsYW5nU3RycyIsImluY2x1ZGVzIiwibGFuZ1RvTG9jYWxlIiwibG9nRGVmaW5pdGlvbnMiLCJHYW1lTG9nIiwidHlwZSIsIm5hbWUiLCJtZXNzYWdlVHlwZSIsImZpZWxkcyIsInRpbWVzdGFtcCIsImNvZGUiLCJsaW5lIiwic3ViRmllbGRzIiwiY2FuQW5vbnltaXplIiwiQ2hhbmdlWm9uZSIsImlkIiwibGFzdEluY2x1ZGUiLCJDaGFuZ2VkUGxheWVyIiwicGxheWVySWRzIiwiQWRkZWRDb21iYXRhbnQiLCJsZXZlbCIsIm93bmVySWQiLCJ3b3JsZElkIiwid29ybGQiLCJucGNOYW1lSWQiLCJucGNCYXNlSWQiLCJjdXJyZW50SHAiLCJocCIsImN1cnJlbnRNcCIsIm1wIiwieCIsInkiLCJ6IiwiaGVhZGluZyIsIlJlbW92ZWRDb21iYXRhbnQiLCJvd25lciIsIlBhcnR5TGlzdCIsInBhcnR5Q291bnQiLCJpZDAiLCJpZDEiLCJpZDIiLCJpZDMiLCJpZDQiLCJpZDUiLCJpZDYiLCJpZDciLCJpZDgiLCJpZDkiLCJpZDEwIiwiaWQxMSIsImlkMTIiLCJpZDEzIiwiaWQxNCIsImlkMTUiLCJpZDE2IiwiaWQxNyIsImlkMTgiLCJpZDE5IiwiaWQyMCIsImlkMjEiLCJpZDIyIiwiaWQyMyIsIm9wdGlvbmFsRmllbGRzIiwiUGxheWVyU3RhdHMiLCJzdHJlbmd0aCIsImRleHRlcml0eSIsInZpdGFsaXR5IiwiaW50ZWxsaWdlbmNlIiwibWluZCIsInBpZXR5IiwiYXR0YWNrUG93ZXIiLCJkaXJlY3RIaXQiLCJjcml0aWNhbEhpdCIsImF0dGFja01hZ2ljUG90ZW5jeSIsImhlYWxNYWdpY1BvdGVuY3kiLCJkZXRlcm1pbmF0aW9uIiwic2tpbGxTcGVlZCIsInNwZWxsU3BlZWQiLCJ0ZW5hY2l0eSIsImxvY2FsQ29udGVudElkIiwiU3RhcnRzVXNpbmciLCJzb3VyY2VJZCIsInNvdXJjZSIsImFiaWxpdHkiLCJ0YXJnZXRJZCIsImNhc3RUaW1lIiwiQWJpbGl0eSIsImZsYWdzIiwiZGFtYWdlIiwidGFyZ2V0Q3VycmVudEhwIiwidGFyZ2V0TWF4SHAiLCJ0YXJnZXRDdXJyZW50TXAiLCJ0YXJnZXRNYXhNcCIsInRhcmdldFgiLCJ0YXJnZXRZIiwidGFyZ2V0WiIsInRhcmdldEhlYWRpbmciLCJtYXhIcCIsIm1heE1wIiwic2VxdWVuY2UiLCJmaXJzdFVua25vd25GaWVsZCIsIk5ldHdvcmtBT0VBYmlsaXR5IiwiTmV0d29ya0NhbmNlbEFiaWxpdHkiLCJyZWFzb24iLCJOZXR3b3JrRG9UIiwid2hpY2giLCJlZmZlY3RJZCIsIldhc0RlZmVhdGVkIiwiR2FpbnNFZmZlY3QiLCJlZmZlY3QiLCJkdXJhdGlvbiIsImNvdW50Iiwic291cmNlTWF4SHAiLCJIZWFkTWFya2VyIiwiTmV0d29ya1JhaWRNYXJrZXIiLCJvcGVyYXRpb24iLCJ3YXltYXJrIiwiTmV0d29ya1RhcmdldE1hcmtlciIsInRhcmdldE5hbWUiLCJMb3Nlc0VmZmVjdCIsIk5ldHdvcmtHYXVnZSIsImRhdGEwIiwiZGF0YTEiLCJkYXRhMiIsImRhdGEzIiwiTmV0d29ya1dvcmxkIiwiaXNVbmtub3duIiwiQWN0b3JDb250cm9sIiwiaW5zdGFuY2UiLCJjb21tYW5kIiwiTmFtZVRvZ2dsZSIsInRvZ2dsZSIsIlRldGhlciIsIkxpbWl0QnJlYWsiLCJ2YWx1ZUhleCIsImJhcnMiLCJOZXR3b3JrRWZmZWN0UmVzdWx0Iiwic2VxdWVuY2VJZCIsIlN0YXR1c0VmZmVjdCIsImpvYkxldmVsRGF0YSIsIk5ldHdvcmtVcGRhdGVIUCIsIk1hcCIsInJlZ2lvbk5hbWUiLCJwbGFjZU5hbWUiLCJwbGFjZU5hbWVTdWIiLCJTeXN0ZW1Mb2dNZXNzYWdlIiwicGFyYW0wIiwicGFyYW0xIiwicGFyYW0yIiwiUGFyc2VySW5mbyIsImdsb2JhbEluY2x1ZGUiLCJQcm9jZXNzSW5mbyIsIkRlYnVnIiwiUGFja2V0RHVtcCIsIlZlcnNpb24iLCJFcnJvciIsIk5vbmUiLCJhc3NlcnRMb2dEZWZpbml0aW9ucyIsImNvbnNvbGUiLCJhc3NlcnQiLCJSZWdleGVzIiwic2VwYXJhdG9yIiwibWF0Y2hEZWZhdWx0IiwibWFnaWNUcmFuc2xhdGlvblN0cmluZyIsIm1hZ2ljU3RyaW5nUmVnZXgiLCJrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbiIsImRlZmF1bHRQYXJhbXMiLCJpbmNsdWRlIiwiT2JqZWN0Iiwia2V5cyIsInBhcmFtcyIsInByb3AiLCJpbmRleCIsImVudHJpZXMiLCJwYXJhbSIsImZpZWxkIiwidmFsdWUiLCJwYXJzZUhlbHBlciIsImZ1bmNOYW1lIiwidmFsaWRGaWVsZHMiLCJwdXNoIiwidmFsaWRhdGVQYXJhbXMiLCJjYXB0dXJlIiwidHJ1ZUlmVW5kZWZpbmVkIiwiZmllbGRLZXlzIiwic29ydCIsImEiLCJiIiwicGFyc2VJbnQiLCJtYXhLZXlTdHIiLCJsZW5ndGgiLCJrZXkiLCJmaWVsZE5hbWUiLCJtYXhLZXkiLCJ0cmFuc1BhcmFtcyIsImZpbHRlciIsImsiLCJuZWVkc1RyYW5zbGF0aW9ucyIsIk5ldFJlZ2V4ZXMiLCJmbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwic3RyIiwibGFzdEtleSIsImtleVN0ciIsIm1pc3NpbmdGaWVsZHMiLCJKU09OIiwic3RyaW5naWZ5IiwiZmllbGRWYWx1ZSIsInRvU3RyaW5nIiwibWF5YmVDYXB0dXJlIiwicGFyc2UiLCJzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwiZG9lc05ldFJlZ2V4TmVlZFRyYW5zbGF0aW9uIiwicmVnZXgiLCJleGVjIiwic3RhcnRzVXNpbmciLCJhYmlsaXR5RnVsbCIsImhlYWRNYXJrZXIiLCJhZGRlZENvbWJhdGFudCIsImFkZGVkQ29tYmF0YW50RnVsbCIsInJlbW92aW5nQ29tYmF0YW50IiwiZ2FpbnNFZmZlY3QiLCJzdGF0dXNFZmZlY3RFeHBsaWNpdCIsImxvc2VzRWZmZWN0IiwidGV0aGVyIiwid2FzRGVmZWF0ZWQiLCJlY2hvIiwiZ2FtZUxvZyIsImRpYWxvZyIsIm1lc3NhZ2UiLCJnYW1lTmFtZUxvZyIsInN0YXRDaGFuZ2UiLCJjaGFuZ2Vab25lIiwibmV0d29yazZkIiwibmFtZVRvZ2dsZSIsIm1hcCIsInN5c3RlbUxvZ01lc3NhZ2UiLCJVbnJlYWNoYWJsZUNvZGUiLCJjb25zdHJ1Y3RvciIsIm51bWJlclRvT3V0cHV0U3RyaW5nIiwibiIsImFvZSIsImJpZ0FvZSIsInRhbmtCdXN0ZXIiLCJtaW5pQnVzdGVyIiwidGFua0J1c3Rlck9uUGxheWVyIiwidGFua0J1c3Rlck9uWW91IiwidGFua0J1c3RlcnMiLCJ0YW5rQ2xlYXZlIiwiYXZvaWRUYW5rQ2xlYXZlIiwidGFua0NsZWF2ZU9uWW91Iiwic2hhcmVkVGFua2J1c3RlciIsInNoYXJlZFRhbmtidXN0ZXJPbllvdSIsInNoYXJlZFRhbmtidXN0ZXJPblBsYXllciIsInRhbmtTd2FwIiwic3ByZWFkIiwic3RhY2tNYXJrZXIiLCJnZXRUb2dldGhlciIsInN0YWNrT25Zb3UiLCJzdGFja09uUGxheWVyIiwic3RhY2tNaWRkbGUiLCJkb3JpdG9TdGFjayIsInNwcmVhZFRoZW5TdGFjayIsInN0YWNrVGhlblNwcmVhZCIsImRyYXdJbiIsImtub2NrYmFjayIsImtub2NrYmFja09uWW91Iiwia25vY2tiYWNrT25QbGF5ZXIiLCJsb29rVG93YXJkc0Jvc3MiLCJsb29rQXdheSIsImxvb2tBd2F5RnJvbVBsYXllciIsImxvb2tBd2F5RnJvbVRhcmdldCIsImdldEJlaGluZCIsImdvRnJvbnRPclNpZGVzIiwiZ29Gcm9udCIsImdldFVuZGVyIiwiaW4iLCJvdXQiLCJvdXRPZk1lbGVlIiwiaW5UaGVuT3V0Iiwib3V0VGhlbkluIiwiYmFja1RoZW5Gcm9udCIsImZyb250VGhlbkJhY2siLCJnb0ludG9NaWRkbGUiLCJyaWdodCIsImxlZnQiLCJnZXRMZWZ0QW5kV2VzdCIsImdldFJpZ2h0QW5kRWFzdCIsImdvRnJvbnRCYWNrIiwic2lkZXMiLCJtaWRkbGUiLCJraWxsQWRkcyIsImtpbGxFeHRyYUFkZCIsImF3YXlGcm9tRnJvbnQiLCJzbGVlcFRhcmdldCIsInN0dW5UYXJnZXQiLCJpbnRlcnJ1cHRUYXJnZXQiLCJwcmV5T25Zb3UiLCJwcmV5T25QbGF5ZXIiLCJhd2F5RnJvbUdyb3VwIiwiYXdheUZyb21QbGF5ZXIiLCJtZXRlb3JPbllvdSIsInN0b3BNb3ZpbmciLCJzdG9wRXZlcnl0aGluZyIsIm1vdmVBd2F5IiwibW92ZUFyb3VuZCIsImJyZWFrQ2hhaW5zIiwibW92ZUNoYWluc1RvZ2V0aGVyIiwiZWFydGhzaGFrZXJPbllvdSIsIndha2VVcCIsImNsb3NlVGV0aGVyc1dpdGhQbGF5ZXIiLCJmYXJUZXRoZXJzV2l0aFBsYXllciIsInVua25vd24iLCJub3J0aCIsInNvdXRoIiwiZWFzdCIsIndlc3QiLCJub3J0aHdlc3QiLCJub3J0aGVhc3QiLCJzb3V0aHdlc3QiLCJzb3V0aGVhc3QiLCJkaXJOIiwiZGlyUyIsImRpckUiLCJkaXJXIiwiZGlyTlciLCJkaXJORSIsImRpclNXIiwiZGlyU0UiLCJudW0wIiwibnVtMSIsIm51bTIiLCJudW0zIiwibnVtNCIsIm51bTUiLCJudW02IiwibnVtNyIsIm51bTgiLCJudW05IiwiaW5pdGVkIiwid3NVcmwiLCJ3cyIsInF1ZXVlIiwicnNlcUNvdW50ZXIiLCJyZXNwb25zZVByb21pc2VzIiwic3Vic2NyaWJlcnMiLCJzZW5kTWVzc2FnZSIsIm1zZyIsImNiIiwic2VuZCIsIndpbmRvdyIsIk92ZXJsYXlQbHVnaW5BcGkiLCJjYWxsSGFuZGxlciIsInByb2Nlc3NFdmVudCIsImluaXQiLCJzdWJzIiwiZm9yRWFjaCIsInN1YiIsImUiLCJlcnJvciIsImRpc3BhdGNoT3ZlcmxheUV2ZW50IiwiYWRkT3ZlcmxheUxpc3RlbmVyIiwiZXZlbnQiLCJjYWxsIiwiZXZlbnRzIiwicmVtb3ZlT3ZlcmxheUxpc3RlbmVyIiwibGlzdCIsInBvcyIsImluZGV4T2YiLCJ1bmRlZmluZWQiLCJzcGxpY2UiLCJjYWxsT3ZlcmxheUhhbmRsZXJJbnRlcm5hbCIsIl9tc2ciLCJyc2VxIiwicCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGFyc2VkIiwiY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXAiLCJjYWxsT3ZlcmxheUhhbmRsZXIiLCJjYWxsRnVuYyIsInNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUiLCJvdmVycmlkZSIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZ2V0IiwiY29ubmVjdFdzIiwiV2ViU29ja2V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxvZyIsInEiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9taXNlRnVuY3MiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckFwaSIsInJlYWR5IiwiX19PdmVybGF5Q2FsbGJhY2siLCJpdGVtIiwibWF0Y2hXaXRoQ29sb25zRGVmYXVsdCIsImZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMiLCJkZWZLZXkiLCJhYmlsaXR5TWVzc2FnZVR5cGUiLCJhYmlsaXR5SGV4Q29kZSIsInByZWZpeCIsImhleENvZGUiLCJzbGljZSIsInRvVXBwZXJDYXNlIiwiZmllbGREZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwiYW55T2YiLCJuYW1lZENhcHR1cmUiLCJvcHRpb25hbCIsImFyZ3MiLCJhbnlPZkFycmF5IiwiYXJyYXkiLCJlbGVtIiwiUmVnRXhwIiwiam9pbiIsInJlZ2V4cFN0cmluZyIsImtDYWN0Ym90Q2F0ZWdvcmllcyIsIlRpbWVzdGFtcCIsIk5ldFRpbWVzdGFtcCIsIk5ldEZpZWxkIiwiTG9nVHlwZSIsIkFiaWxpdHlDb2RlIiwiT2JqZWN0SWQiLCJOYW1lIiwiRmxvYXQiLCJtb2RpZmllcnMiLCJnbG9iYWwiLCJtdWx0aWxpbmUiLCJyZXBsYWNlIiwibWF0Y2giLCJncm91cCIsInBhcnNlR2xvYmFsIiwiZiIsIk91dHB1dHMiLCJzZXZlcml0eUxpc3QiLCJidWlsdEluUmVzcG9uc2VTdHIiLCJ0cmlnZ2VyRnVuY3Rpb25zIiwidHJpZ2dlclRleHRPdXRwdXRGdW5jdGlvbnMiLCJ0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zIiwic2V2ZXJpdHlNYXAiLCJnZXRUZXh0Iiwic2V2IiwiZGVmYXVsdEluZm9UZXh0IiwiZGVmYXVsdEFsZXJ0VGV4dCIsImRlZmF1bHRBbGFybVRleHQiLCJnZXRUYXJnZXQiLCJnZXRTb3VyY2UiLCJjb21iaW5lRnVuY3MiLCJ0ZXh0MSIsImZ1bmMxIiwidGV4dDIiLCJmdW5jMiIsIm9iaiIsIm91dHB1dCIsImlzUGxheWVySWQiLCJzdGF0aWNSZXNwb25zZSIsInRleHQiLCJfZGF0YSIsIl9tYXRjaGVzIiwicmVzcG9uc2VPdXRwdXRTdHJpbmdzIiwiUmVzcG9uc2VzIiwidGFyZ2V0U2V2Iiwib3RoZXJTZXYiLCJvdXRwdXRTdHJpbmdzIiwibm9UYXJnZXQiLCJidXN0ZXJPbllvdSIsImJ1c3Rlck9uVGFyZ2V0IiwidGFyZ2V0RnVuYyIsIm90aGVyRnVuYyIsInBsYXllciIsIlNob3J0TmFtZSIsImNvbWJpbmVkIiwidGFua0J1c3RlclN3YXAiLCJidXN0ZXJTZXYiLCJzd2FwU2V2IiwidGFua1N3YXBGdW5jIiwiYnVzdGVyRnVuYyIsImNsZWF2ZU9uWW91IiwiY2xlYXZlTm9UYXJnZXQiLCJhdm9pZENsZWF2ZSIsInNoYXJlZFRhbmtCdXN0ZXIiLCJzaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQiLCJzdGFja01hcmtlck9uIiwic3RhY2tPblRhcmdldCIsImtub2NrYmFja09uIiwia25vY2tiYWNrT25UYXJnZXQiLCJsb29rVG93YXJkcyIsImxvb2tBd2F5RnJvbSIsImxvb2tBd2F5RnJvbVNvdXJjZSIsImdldEluIiwiZ2V0T3V0IiwiZ2V0SW5UaGVuT3V0IiwiZ2V0T3V0VGhlbkluIiwiZ2V0QmFja1RoZW5Gcm9udCIsImdldEZyb250VGhlbkJhY2siLCJnb01pZGRsZSIsImdvUmlnaHQiLCJnb0xlZnQiLCJnb1dlc3QiLCJnb0Vhc3QiLCJnb1NpZGVzIiwic2xlZXAiLCJzdHVuT3JJbnRlcnJ1cHRJZlBvc3NpYmxlIiwic3R1biIsImludGVycnVwdCIsIkNhblNpbGVuY2UiLCJDYW5TdHVuIiwicHJleU9uIiwicHJleU9uVGFyZ2V0IiwiYXdheUZyb20iLCJhd2F5RnJvbVRhcmdldCIsImVhcnRoc2hha2VyIiwicmVzcG9uc2VNYXBUeXBlQXNzZXJ0aW9uIiwiX0NvbmRpdGlvbnMiLCJDb25kaXRpb25zIiwiX0NvbnRlbnRUeXBlIiwiQ29udGVudFR5cGUiLCJfTmV0UmVnZXhlcyIsIl9SZWdleGVzIiwiX1Jlc3BvbnNlcyIsIl9PdXRwdXRzIiwiX1V0aWwiLCJVdGlsIiwiX1pvbmVJZCIsIlpvbmVJZCIsIl9ab25lSW5mbyIsIlpvbmVJbmZvIiwiVXNlckNvbmZpZyIsImdldERlZmF1bHRCYXNlT3B0aW9ucyIsIlBhcnNlckxhbmd1YWdlIiwiU2hvcnRMb2NhbGUiLCJEaXNwbGF5TGFuZ3VhZ2UiLCJUZXh0QWxlcnRzRW5hYmxlZCIsIlNvdW5kQWxlcnRzRW5hYmxlZCIsIlNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJHcm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJldmFsVXNlckZpbGUiLCJjb250ZW50Iiwib3B0aW9ucyIsIk9wdGlvbnMiLCJldmFsIiwicmVnaXN0ZXJPcHRpb25zIiwib3ZlcmxheU5hbWUiLCJvcHRpb25UZW1wbGF0ZSIsInVzZXJGaWxlQ2FsbGJhY2siLCJvcHRpb25UZW1wbGF0ZXMiLCJ1c2VyRmlsZUNhbGxiYWNrcyIsInNvcnRVc2VyRmlsZXMiLCJzcGxpdEtleU1hcCIsInNwbGl0Iiwia2V5QSIsImtleUIiLCJsaXN0QSIsImxpc3RCIiwibWF4TGVuIiwiTWF0aCIsIm1heCIsImlkeCIsImVudHJ5QSIsImVudHJ5QiIsImlzTGFzdEEiLCJpc0xhc3RCIiwiZmlsZUEiLCJmaWxlQiIsImZpbGVuYW1lT25seURpZmYiLCJsb2NhbGVDb21wYXJlIiwiZGlmZiIsImZpbHRlclVzZXJGaWxlcyIsInBhdGhzIiwib3JpZ092ZXJsYXlOYW1lIiwib3JpZ0V4dGVuc2lvbiIsImV4dGVuc2lvbiIsInRvTG93ZXJDYXNlIiwib3JpZ1BhdGgiLCJwYXRoIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwiZ2V0VXNlckNvbmZpZ0xvY2F0aW9uIiwiY2FsbGJhY2siLCJjdXJyZW50bHlSZWxvYWRpbmciLCJyZWxvYWRPbmNlIiwicmVsb2FkIiwibG9hZFVzZXJGaWxlcyIsInJlYWRPcHRpb25zIiwib3ZlcmxheSIsImxvYWRVc2VyIiwiYmFzZVBhdGgiLCJkZXRhaWwiLCJ1c2VyTG9jYXRpb24iLCJsb2NhbEZpbGVzIiwibG9jYWxVc2VyRmlsZXMiLCJsYW5ndWFnZSIsInBhcnNlckxhbmd1YWdlIiwiTGFuZ3VhZ2UiLCJzeXN0ZW1Mb2NhbGUiLCJTeXN0ZW1Mb2NhbGUiLCJzaG9ydExvY2FsZSIsInN1YnN0cmluZyIsImRpc3BsYXlMYW5nIiwiZGlzcGxheUxhbmd1YWdlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGFzc0xpc3QiLCJhZGQiLCJhZGRVbmxvY2tUZXh0Iiwic2F2ZWRDb25maWciLCJwcm9jZXNzT3B0aW9ucyIsInByaW50VXNlckZpbGUiLCJ3YXJuT25WYXJpYWJsZVJlc2V0TWFwIiwicmFpZGJvc3MiLCJ2YXJpYWJsZVRyYWNrZXIiLCJzb3J0ZWRGaWxlcyIsImpzRmlsZXMiLCJjc3NGaWxlcyIsImpzRmlsZSIsIlNraW4iLCJoYW5kbGVTa2luIiwiY3NzRmlsZSIsInVzZXJDc3NUZXh0IiwiY3JlYXRlRWxlbWVudCIsImNvbnRlbnRzIiwiaW5uZXJUZXh0IiwiaGVhZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiYXBwZW5kQ2hpbGQiLCJocmVmIiwidGhlbiIsInJlYWR5U3RhdGUiLCJza2luTmFtZSIsInNsYXNoSWR4IiwibGFzdEluZGV4T2YiLCJzdWJzdHIiLCJza2luSHJlZiIsImFwcGVuZENTU0xpbmsiLCJhcHBlbmRKU0xpbmsiLCJzcmMiLCJ1c2VySlMiLCJzZXRBdHRyaWJ1dGUiLCJ1c2VyQ1NTIiwidGVtcGxhdGUiLCJ0ZW1wbGF0ZU9wdGlvbnMiLCJvcHQiLCJkZWZhdWx0IiwibmV3VmFsdWUiLCJzZXR0ZXJGdW5jIiwiZmxvb3IiLCJwYXJzZUZsb2F0IiwicHJvY2Vzc0V4dHJhT3B0aW9ucyIsInVubG9ja1RleHQiLCJ0ZXh0RWxlbSIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJkaXNwbGF5IiwiYm9keSIsImFwcGVuZCIsImlubmVySFRNTCIsImRvY0NsYXNzTGlzdCIsImlzTG9ja2VkIiwicmVtb3ZlIiwibmFtZVRvSm9iRW51bSIsIk5PTkUiLCJHTEEiLCJQR0wiLCJNUkQiLCJMTkMiLCJBUkMiLCJDTkoiLCJUSE0iLCJDUlAiLCJCU00iLCJBUk0iLCJHU00iLCJMVFciLCJXVlIiLCJBTEMiLCJDVUwiLCJNSU4iLCJCVE4iLCJGU0giLCJQTEQiLCJNTksiLCJXQVIiLCJEUkciLCJCUkQiLCJXSE0iLCJCTE0iLCJBQ04iLCJTTU4iLCJTQ0giLCJST0ciLCJOSU4iLCJNQ0giLCJEUksiLCJBU1QiLCJTQU0iLCJSRE0iLCJCTFUiLCJHTkIiLCJETkMiLCJSUFIiLCJTR0UiLCJhbGxKb2JzIiwiYWxsUm9sZXMiLCJ0YW5rSm9icyIsImhlYWxlckpvYnMiLCJtZWxlZURwc0pvYnMiLCJyYW5nZWREcHNKb2JzIiwiY2FzdGVyRHBzSm9icyIsImRwc0pvYnMiLCJjcmFmdGluZ0pvYnMiLCJnYXRoZXJpbmdKb2JzIiwic3R1bkpvYnMiLCJzaWxlbmNlSm9icyIsInNsZWVwSm9icyIsImZlaW50Sm9icyIsImFkZGxlSm9icyIsImNsZWFuc2VKb2JzIiwiam9iVG9Sb2xlTWFwIiwiYWRkVG9NYXAiLCJqb2JzIiwic2V0Iiwid2F0Y2hDb21iYXRhbnRNYXAiLCJzaG91bGRDYW5jZWxXYXRjaCIsImVudHJ5IiwiY2FuY2VsIiwibWF4RHVyYXRpb24iLCJEYXRlIiwibm93Iiwic3RhcnQiLCJ3YXRjaENvbWJhdGFudCIsImZ1bmMiLCJyZXMiLCJyZWoiLCJkZWxheSIsImlkcyIsIm5hbWVzIiwicHJvcHMiLCJjaGVja0Z1bmMiLCJyZXNwb25zZSIsImpvYkVudW1Ub0pvYiIsImZpbmQiLCJqb2JUb0pvYkVudW0iLCJqb2JUb1JvbGUiLCJnZXRBbGxSb2xlcyIsImlzVGFua0pvYiIsImlzSGVhbGVySm9iIiwiaXNNZWxlZURwc0pvYiIsImlzUmFuZ2VkRHBzSm9iIiwiaXNDYXN0ZXJEcHNKb2IiLCJpc0Rwc0pvYiIsImlzQ3JhZnRpbmdKb2IiLCJpc0dhdGhlcmluZ0pvYiIsImlzQ29tYmF0Sm9iIiwiY2FuU3R1biIsImNhblNpbGVuY2UiLCJjYW5TbGVlcCIsImNhbkNsZWFuc2UiLCJjYW5GZWludCIsImNhbkFkZGxlIiwiY2xlYXJXYXRjaENvbWJhdGFudHMiLCJ3YXRjaCIsInBvcCIsImNvbnRlbnRMaXN0IiwiTWF0Y2hBbGwiLCJTYXN0YXNoYSIsIlRoZVRhbVRhcmFEZWVwY3JvZnQiLCJDb3BwZXJiZWxsTWluZXMiLCJIYWxhdGFsaSIsIlRoZVRob3VzYW5kTWF3c09mVG90b1JhayIsIkhhdWtrZU1hbm9yIiwiQnJheWZsb3hzTG9uZ3N0b3AiLCJUaGVTdW5rZW5UZW1wbGVPZlFhcm4iLCJDdXR0ZXJzQ3J5IiwiVGhlU3RvbmVWaWdpbCIsIkR6ZW1hZWxEYXJraG9sZCIsIlRoZUF1cnVtVmFsZSIsIlRoZVdhbmRlcmVyc1BhbGFjZSIsIkNhc3RydW1NZXJpZGlhbnVtIiwiVGhlUHJhZXRvcml1bSIsIkFtZGFwb3JLZWVwIiwiUGhhcm9zU2lyaXVzIiwiQ29wcGVyYmVsbE1pbmVzSGFyZCIsIkhhdWtrZU1hbm9ySGFyZCIsIlRoZUxvc3RDaXR5T2ZBbWRhcG9yIiwiSGFsYXRhbGlIYXJkIiwiQnJheWZsb3hzTG9uZ3N0b3BIYXJkIiwiSHVsbGJyZWFrZXJJc2xlIiwiVGhlVGFtVGFyYURlZXBjcm9mdEhhcmQiLCJUaGVTdG9uZVZpZ2lsSGFyZCIsIlNub3djbG9hayIsIlNhc3Rhc2hhSGFyZCIsIlRoZVN1bmtlblRlbXBsZU9mUWFybkhhcmQiLCJUaGVLZWVwZXJPZlRoZUxha2UiLCJUaGVXYW5kZXJlcnNQYWxhY2VIYXJkIiwiQW1kYXBvcktlZXBIYXJkIiwiVGhlRHVza1ZpZ2lsIiwiU29obUFsIiwiVGhlQWVyeSIsIlRoZVZhdWx0IiwiVGhlR3JlYXRHdWJhbExpYnJhcnkiLCJUaGVBZXRoZXJvY2hlbWljYWxSZXNlYXJjaEZhY2lsaXR5IiwiTmV2ZXJyZWFwIiwiVGhlRnJhY3RhbENvbnRpbnV1bSIsIlNhaW50TW9jaWFubmVzQXJib3JldHVtIiwiUGhhcm9zU2lyaXVzSGFyZCIsIlRoZUFudGl0b3dlciIsIlRoZUxvc3RDaXR5T2ZBbWRhcG9ySGFyZCIsIlNvaHJLaGFpIiwiSHVsbGJyZWFrZXJJc2xlSGFyZCIsIlhlbHBoYXRvbCIsIlRoZUdyZWF0R3ViYWxMaWJyYXJ5SGFyZCIsIkJhZWxzYXJzV2FsbCIsIlNvaG1BbEhhcmQiLCJUaGVTaXJlbnNvbmdTZWEiLCJTaGlzdWlPZlRoZVZpb2xldFRpZGVzIiwiQmFyZGFtc01ldHRsZSIsIkRvbWFDYXN0bGUiLCJDYXN0cnVtQWJhbmlhIiwiQWxhTWhpZ28iLCJLdWdhbmVDYXN0bGUiLCJUaGVUZW1wbGVPZlRoZUZpc3QiLCJUaGVEcm93bmVkQ2l0eU9mU2thbGxhIiwiSGVsbHNMaWQiLCJUaGVGcmFjdGFsQ29udGludXVtSGFyZCIsIlRoZVN3YWxsb3dzQ29tcGFzcyIsIlRoZUJ1cm4iLCJTYWludE1vY2lhbm5lc0FyYm9yZXR1bUhhcmQiLCJUaGVHaGltbHl0RGFyayIsIkhvbG1pbnN0ZXJTd2l0Y2giLCJEb2huTWhlZyIsIlRoZVFpdGFuYVJhdmVsIiwiTWFsaWthaHNXZWxsIiwiTXRHdWxnIiwiQW1hdXJvdCIsIlRoZVR3aW5uaW5nIiwiQWthZGFlbWlhQW55ZGVyIiwiVGhlR3JhbmRDb3Ntb3MiLCJBbmFtbmVzaXNBbnlkZXIiLCJUaGVIZXJvZXNHYXVudGxldCIsIk1hdG95YXNSZWxpY3QiLCJQYWdsdGhhbiIsIlRoZVRvd2VyT2Zab3QiLCJUaGVUb3dlck9mQmFiaWwiLCJWYW5hc3BhdGkiLCJLdGlzaXNIeXBlcmJvcmVpYSIsIlRoZUFpdGlhc2NvcGUiLCJUaGVEZWFkRW5kcyIsIlNtaWxldG9uIiwiVGhlU3RpZ21hRHJlYW1zY2FwZSIsIkJhc2ljVHJhaW5pbmdFbmVteVBhcnRpZXMiLCJVbmRlclRoZUFybW9yIiwiQmFzaWNUcmFpbmluZ0VuZW15U3Ryb25naG9sZHMiLCJIZXJvT25UaGVIYWxmU2hlbGwiLCJQdWxsaW5nUG9pc29uUG9zaWVzIiwiU3RpbmdpbmdCYWNrIiwiQWxsc1dlbGxUaGF0RW5kc0luVGhlV2VsbCIsIkZsaWNraW5nU3RpY2tzQW5kVGFraW5nTmFtZXMiLCJNb3JlVGhhbkFGZWVsZXIiLCJBbm5veVRoZVZvaWQiLCJTaGFkb3dBbmRDbGF3IiwiTG9uZ0xpdmVUaGVRdWVlbiIsIldhcmRVcCIsIlNvbGVtblRyaW5pdHkiLCJUaGVCb3dsT2ZFbWJlcnMiLCJUaGVOYXZlbCIsIlRoZUhvd2xpbmdFeWUiLCJDYXBlV2VzdHdpbmQiLCJUaGVDaHJ5c2FsaXMiLCJUaGVTdGVwc09mRmFpdGgiLCJBUmVsaWNSZWJvcm5UaGVDaGltZXJhIiwiQVJlbGljUmVib3JuVGhlSHlkcmEiLCJCYXR0bGVPblRoZUJpZ0JyaWRnZSIsIlRoZURyYWdvbnNOZWNrIiwiQmF0dGxlSW5UaGVCaWdLZWVwIiwiVGhlQm93bE9mRW1iZXJzSGFyZCIsIlRoZUhvd2xpbmdFeWVIYXJkIiwiVGhlTmF2ZWxIYXJkIiwiVGhvcm5tYXJjaEhhcmQiLCJUaGVXaG9ybGVhdGVySGFyZCIsIlRoZVN0cmlraW5nVHJlZUhhcmQiLCJUaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCIsIlVydGhzRm91bnQiLCJUaGVNaW5zdHJlbHNCYWxsYWRVbHRpbWFzQmFuZSIsIlRoZUhvd2xpbmdFeWVFeHRyZW1lIiwiVGhlTmF2ZWxFeHRyZW1lIiwiVGhlQm93bE9mRW1iZXJzRXh0cmVtZSIsIlRob3JubWFyY2hFeHRyZW1lIiwiVGhlV2hvcmxlYXRlckV4dHJlbWUiLCJUaGVTdHJpa2luZ1RyZWVFeHRyZW1lIiwiVGhlQWtoQWZhaEFtcGhpdGhlYXRyZUV4dHJlbWUiLCJUaG9rQXN0VGhva0hhcmQiLCJUaGVMaW1pdGxlc3NCbHVlSGFyZCIsIlRoZVNpbmd1bGFyaXR5UmVhY3RvciIsIlRoZUZpbmFsU3RlcHNPZkZhaXRoIiwiQ29udGFpbm1lbnRCYXlTMVQ3IiwiQ29udGFpbm1lbnRCYXlQMVQ2IiwiQ29udGFpbm1lbnRCYXlaMVQ5IiwiVGhlTGltaXRsZXNzQmx1ZUV4dHJlbWUiLCJUaG9rQXN0VGhva0V4dHJlbWUiLCJUaGVNaW5zdHJlbHNCYWxsYWRUaG9yZGFuc1JlaWduIiwiVGhlTWluc3RyZWxzQmFsbGFkTmlkaG9nZ3NSYWdlIiwiQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSIsIkNvbnRhaW5tZW50QmF5UDFUNkV4dHJlbWUiLCJDb250YWlubWVudEJheVoxVDlFeHRyZW1lIiwiVGhlUG9vbE9mVHJpYnV0ZSIsIkVtYW5hdGlvbiIsIlRoZVJveWFsTWVuYWdlcmllIiwiQ2FzdHJ1bUZsdW1pbmlzIiwiS3VnYW5lT2hhc2hpIiwiVGhlR3JlYXRIdW50IiwiVGhlSmFkZVN0b2EiLCJIZWxsc0tpZXIiLCJUaGVXcmVhdGhPZlNuYWtlcyIsIlRoZVBvb2xPZlRyaWJ1dGVFeHRyZW1lIiwiRW1hbmF0aW9uRXh0cmVtZSIsIlRoZU1pbnN0cmVsc0JhbGxhZFNoaW5yeXVzRG9tYWluIiwiVGhlTWluc3RyZWxzQmFsbGFkVHN1a3V5b21pc1BhaW4iLCJUaGVHcmVhdEh1bnRFeHRyZW1lIiwiVGhlSmFkZVN0b2FFeHRyZW1lIiwiSGVsbHNLaWVyRXh0cmVtZSIsIlRoZVdyZWF0aE9mU25ha2VzRXh0cmVtZSIsIlRoZURhbmNpbmdQbGFndWUiLCJUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZSIsIlRoZUR5aW5nR2FzcCIsIkNpbmRlckRyaWZ0IiwiVGhlU2VhdE9mU2FjcmlmaWNlIiwiQ2FzdHJ1bU1hcmludW0iLCJUaGVDbG91ZERlY2siLCJUaGVEYW5jaW5nUGxhZ3VlRXh0cmVtZSIsIlRoZUNyb3duT2ZUaGVJbW1hY3VsYXRlRXh0cmVtZSIsIlRoZU1pbnN0cmVsc0JhbGxhZEhhZGVzc0VsZWd5IiwiQ2luZGVyRHJpZnRFeHRyZW1lIiwiTWVtb3JpYU1pc2VyYUV4dHJlbWUiLCJUaGVTZWF0T2ZTYWNyaWZpY2VFeHRyZW1lIiwiQ2FzdHJ1bU1hcmludW1FeHRyZW1lIiwiVGhlQ2xvdWREZWNrRXh0cmVtZSIsIlRoZUFraEFmYWhBbXBoaXRoZWF0cmVVbnJlYWwiLCJUaGVOYXZlbFVucmVhbCIsIlRoZVdob3JsZWF0ZXJVbnJlYWwiLCJUaGVEYXJrSW5zaWRlIiwiVGhlTW90aGVyY3J5c3RhbCIsIlRoZUZpbmFsRGF5IiwiVGhlTWluc3RyZWxzQmFsbGFkWm9kaWFya3NGYWxsIiwiVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCIsIlRoZUxhYnlyaW50aE9mVGhlQW5jaWVudHMiLCJTeXJjdXNUb3dlciIsIlRoZVdvcmxkT2ZEYXJrbmVzcyIsIlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjEiLCJUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm4yIiwiVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMyIsIlRoZUJpbmRpbmdDb2lsT2ZCYWhhbXV0VHVybjQiLCJUaGVCaW5kaW5nQ29pbE9mQmFoYW11dFR1cm41IiwiVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4xIiwiVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4yIiwiVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4zIiwiVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm40IiwiVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjEiLCJUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMiIsIlRoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4zIiwiVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjQiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjEiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjIiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMiLCJUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjQiLCJUaGVWb2lkQXJrIiwiVGhlV2VlcGluZ0NpdHlPZk1oYWNoIiwiRHVuU2NhaXRoIiwiQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyIiwiQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyIiwiQWxleGFuZGVyVGhlQXJtT2ZUaGVGYXRoZXIiLCJBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlciIsIkFsZXhhbmRlclRoZUZpc3RPZlRoZVNvbiIsIkFsZXhhbmRlclRoZUN1ZmZPZlRoZVNvbiIsIkFsZXhhbmRlclRoZUFybU9mVGhlU29uIiwiQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb24iLCJBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yIiwiQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yIiwiQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3IiLCJBbGV4YW5kZXJUaGVTb3VsT2ZUaGVDcmVhdG9yIiwiQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyU2F2YWdlIiwiQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyU2F2YWdlIiwiQWxleGFuZGVyVGhlQXJtT2ZUaGVGYXRoZXJTYXZhZ2UiLCJBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZUZhdGhlclNhdmFnZSIsIkFsZXhhbmRlclRoZUZpc3RPZlRoZVNvblNhdmFnZSIsIkFsZXhhbmRlclRoZUN1ZmZPZlRoZVNvblNhdmFnZSIsIkFsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlIiwiQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb25TYXZhZ2UiLCJBbGV4YW5kZXJUaGVFeWVzT2ZUaGVDcmVhdG9yU2F2YWdlIiwiQWxleGFuZGVyVGhlQnJlYXRoT2ZUaGVDcmVhdG9yU2F2YWdlIiwiQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3JTYXZhZ2UiLCJBbGV4YW5kZXJUaGVTb3VsT2ZUaGVDcmVhdG9yU2F2YWdlIiwiVGhlUm95YWxDaXR5T2ZSYWJhbmFzdHJlIiwiVGhlUmlkb3JhbmFMaWdodGhvdXNlIiwiVGhlT3Jib25uZU1vbmFzdGVyeSIsIkRlbHRhc2NhcGVWMTAiLCJEZWx0YXNjYXBlVjIwIiwiRGVsdGFzY2FwZVYzMCIsIkRlbHRhc2NhcGVWNDAiLCJTaWdtYXNjYXBlVjEwIiwiU2lnbWFzY2FwZVYyMCIsIlNpZ21hc2NhcGVWMzAiLCJTaWdtYXNjYXBlVjQwIiwiQWxwaGFzY2FwZVYxMCIsIkFscGhhc2NhcGVWMjAiLCJBbHBoYXNjYXBlVjMwIiwiQWxwaGFzY2FwZVY0MCIsIkRlbHRhc2NhcGVWMTBTYXZhZ2UiLCJEZWx0YXNjYXBlVjIwU2F2YWdlIiwiRGVsdGFzY2FwZVYzMFNhdmFnZSIsIkRlbHRhc2NhcGVWNDBTYXZhZ2UiLCJTaWdtYXNjYXBlVjEwU2F2YWdlIiwiU2lnbWFzY2FwZVYyMFNhdmFnZSIsIlNpZ21hc2NhcGVWMzBTYXZhZ2UiLCJTaWdtYXNjYXBlVjQwU2F2YWdlIiwiQWxwaGFzY2FwZVYxMFNhdmFnZSIsIkFscGhhc2NhcGVWMjBTYXZhZ2UiLCJBbHBoYXNjYXBlVjMwU2F2YWdlIiwiQWxwaGFzY2FwZVY0MFNhdmFnZSIsIlRoZUNvcGllZEZhY3RvcnkiLCJUaGVQdXBwZXRzQnVua2VyIiwiVGhlVG93ZXJBdFBhcmFkaWdtc0JyZWFjaCIsIkVkZW5zR2F0ZVJlc3VycmVjdGlvbiIsIkVkZW5zR2F0ZURlc2NlbnQiLCJFZGVuc0dhdGVJbnVuZGF0aW9uIiwiRWRlbnNHYXRlU2VwdWx0dXJlIiwiRWRlbnNWZXJzZUZ1bG1pbmF0aW9uIiwiRWRlbnNWZXJzZUZ1cm9yIiwiRWRlbnNWZXJzZUljb25vY2xhc20iLCJFZGVuc1ZlcnNlUmVmdWxnZW5jZSIsIkVkZW5zUHJvbWlzZVVtYnJhIiwiRWRlbnNQcm9taXNlTGl0YW55IiwiRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzIiwiRWRlbnNQcm9taXNlRXRlcm5pdHkiLCJFZGVuc0dhdGVSZXN1cnJlY3Rpb25TYXZhZ2UiLCJFZGVuc0dhdGVEZXNjZW50U2F2YWdlIiwiRWRlbnNHYXRlSW51bmRhdGlvblNhdmFnZSIsIkVkZW5zR2F0ZVNlcHVsdHVyZVNhdmFnZSIsIkVkZW5zVmVyc2VGdWxtaW5hdGlvblNhdmFnZSIsIkVkZW5zVmVyc2VGdXJvclNhdmFnZSIsIkVkZW5zVmVyc2VJY29ub2NsYXNtU2F2YWdlIiwiRWRlbnNWZXJzZVJlZnVsZ2VuY2VTYXZhZ2UiLCJFZGVuc1Byb21pc2VVbWJyYVNhdmFnZSIsIkVkZW5zUHJvbWlzZUxpdGFueVNhdmFnZSIsIkVkZW5zUHJvbWlzZUFuYW1vcnBob3Npc1NhdmFnZSIsIkVkZW5zUHJvbWlzZUV0ZXJuaXR5U2F2YWdlIiwiQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlIiwiQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZSIsIkFzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSIsIkFzcGhvZGVsb3NUaGVGb3VydGhDaXJjbGUiLCJBc3Bob2RlbG9zVGhlRmlyc3RDaXJjbGVTYXZhZ2UiLCJBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlU2F2YWdlIiwiQXNwaG9kZWxvc1RoZVRoaXJkQ2lyY2xlU2F2YWdlIiwiQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZVNhdmFnZSIsIlRoZVVuZW5kaW5nQ29pbE9mQmFoYW11dFVsdGltYXRlIiwiVGhlV2VhcG9uc1JlZnJhaW5VbHRpbWF0ZSIsIlRoZUVwaWNPZkFsZXhhbmRlclVsdGltYXRlIiwiZGVmYXVsdENvbmZpZ0NvbmZpZ09wdGlvbnMiLCJDYWN0Ym90VXNlckRpcmVjdG9yeSIsIlNob3dEZXZlbG9wZXJPcHRpb25zIiwiZGVidWciLCJkZWJ1Z09ubHkiLCJzZWNvbmRzIiwibWlzc2VkRWZmZWN0QnVmZk1hcCIsImNvbGxlY3RTZWNvbmRzIiwiaWdub3JlU2VsZiIsIm1pc3NlZEFiaWxpdHlCdWZmTWFwIiwiYWJpbGl0eUlkIiwiZ2VuZXJhdGVCdWZmVHJpZ2dlcklkcyIsImJ1ZmZzIiwiYnVmZiIsIm9vcHN5RmlsZURhdGEiLCJvb3BzeUhlbHBlcnMiLCJrVHJpZ2dlck9wdGlvbnMiLCJsYWJlbCIsImRpc2FibGVkIiwiT29wc3lDb25maWd1cmF0b3IiLCJjYWN0Ym90Q29uZmlndXJhdG9yIiwiYmFzZSIsImJ1aWxkVUkiLCJjb250YWluZXIiLCJmaWxlcyIsImZpbGVNYXAiLCJwcm9jZXNzT29wc3lGaWxlcyIsImV4cGFuc2lvbkRpdnMiLCJpbmZvIiwidmFsdWVzIiwiZXhwYW5zaW9uIiwidHJpZ2dlcnMiLCJleHBhbnNpb25EaXYiLCJleHBhbnNpb25Db250YWluZXIiLCJleHBhbnNpb25IZWFkZXIiLCJvbmNsaWNrIiwidHJpZ2dlckNvbnRhaW5lciIsImhlYWRlckRpdiIsInBhcnRzIiwidGl0bGUiLCJwYXJ0IiwicGFydERpdiIsInRyaWdnZXJPcHRpb25zIiwidHJpZ2dlckRpdiIsInRyaWdnZXJEZXRhaWxzIiwiYnVpbGRUcmlnZ2VyT3B0aW9ucyIsImxhYmVsRGl2Iiwia0ZpZWxkIiwiZGl2IiwidXBkYXRlTGFiZWwiLCJpbnB1dCIsInNlbGVjdFZhbHVlIiwiZ2V0T3B0aW9uIiwib3B0aW9uS2V5IiwidHJhbnNsYXRlIiwic2VsZWN0ZWQiLCJvbmNoYW5nZSIsInNldE9wdGlvbiIsInByb2Nlc3NGaWxlcyIsImdlbmVyYWxFbnRyeSIsImZha2VCdWZmcyIsImZpbGVLZXkiLCJmaWxlbmFtZSIsInRyaWdnZXJTZXQiLCJ0cmlnZ2VyIiwicnVuIiwibWlzdGFrZSIsImJ1aWxkRXh0cmFVSSIsImJ1aWxkZXIiLCJiYXNlT3B0aW9ucyIsInBlclRyaWdnZXJBdXRvQ29uZmlnIiwiZW5hYmxlZCIsInVzZXJGaWxlSGFuZGxlciIsIl9maWxlcyIsIlRyaWdnZXJzIiwiYmFzZVRyaWdnZXJTZXQiLCJpc1VzZXJUcmlnZ2VyU2V0IiwiZW1wdHlSb2xlVG9QYXJ0eU5hbWVzIiwidGFuayIsImhlYWxlciIsImRwcyIsImNyYWZ0ZXIiLCJnYXRoZXJlciIsIm5vbmUiLCJQYXJ0eVRyYWNrZXIiLCJvblBhcnR5Q2hhbmdlZCIsInBhcnR5IiwicmVzZXQiLCJkZXRhaWxzIiwiYWxsaWFuY2VJZHNfIiwiYWxsaWFuY2VOYW1lc18iLCJqb2JOYW1lIiwiaWRUb05hbWVfIiwibmFtZVRvUm9sZV8iLCJpblBhcnR5IiwicGFydHlJZHNfIiwicGFydHlOYW1lc18iLCJyb2xlVG9QYXJ0eU5hbWVzXyIsInBhcnR5TmFtZXMiLCJwYXJ0eUlkcyIsImFsbGlhbmNlTmFtZXMiLCJ0YW5rTmFtZXMiLCJoZWFsZXJOYW1lcyIsImRwc05hbWVzIiwiaXNSb2xlIiwiaXNUYW5rIiwiaXNIZWFsZXIiLCJpc0RQUyIsImluQWxsaWFuY2UiLCJvdGhlclRhbmsiLCJvdGhlckhlYWxlciIsInBhcnR5SW5kZXgiLCJuYW1lRnJvbUlkIiwiZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyIsIlBsYXllck5pY2tzIiwiSW5mb1NvdW5kIiwiQWxlcnRTb3VuZCIsIkFsYXJtU291bmQiLCJMb25nU291bmQiLCJQdWxsU291bmQiLCJBdWRpb0FsbG93ZWQiLCJEaXNhYmxlZFRyaWdnZXJzIiwiUGVyVHJpZ2dlckF1dG9Db25maWciLCJQZXJUcmlnZ2VyT3B0aW9ucyIsIlBlclpvbmVUaW1lbGluZUNvbmZpZyIsIklzUmVtb3RlUmFpZGJvc3MiLCJUcmFuc2Zvcm1UdHMiLCJ0IiwiZGVmYXVsdFJhaWRib3NzQ29uZmlnT3B0aW9ucyIsIkRlZmF1bHRBbGVydE91dHB1dCIsIkFsZXJ0c0xhbmd1YWdlIiwiVGltZWxpbmVMYW5ndWFnZSIsIlRpbWVsaW5lRW5hYmxlZCIsIkFsZXJ0c0VuYWJsZWQiLCJTaG93VGltZXJCYXJzQXRTZWNvbmRzIiwiS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzIiwiQmFyRXhwaXJlc1Nvb25TZWNvbmRzIiwiTWF4TnVtYmVyT2ZUaW1lckJhcnMiLCJEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcyIsIkRpc3BsYXlBbGVydFRleHRGb3JTZWNvbmRzIiwiRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kcyIsIkFsYXJtU291bmRWb2x1bWUiLCJBbGVydFNvdW5kVm9sdW1lIiwiSW5mb1NvdW5kVm9sdW1lIiwiTG9uZ1NvdW5kVm9sdW1lIiwiUHVsbFNvdW5kVm9sdW1lIiwiUnVtYmxlRW5hYmxlZCIsIkluZm9SdW1ibGVEdXJhdGlvbiIsIkluZm9SdW1ibGVXZWFrIiwiSW5mb1J1bWJsZVN0cm9uZyIsIkFsZXJ0UnVtYmxlRHVyYXRpb24iLCJBbGVydFJ1bWJsZVdlYWsiLCJBbGVydFJ1bWJsZVN0cm9uZyIsIkFsYXJtUnVtYmxlRHVyYXRpb24iLCJBbGFybVJ1bWJsZVdlYWsiLCJBbGFybVJ1bWJsZVN0cm9uZyIsImNhY3Rib3RXb3JtaG9sZVN0cmF0IiwiY2FjdGJvdGU4c1VwdGltZUtub2NrYmFja1N0cmF0Iiwic3luY0tleXMiLCJzZWFsIiwidW5zZWFsIiwiZW5nYWdlIiwidGV4dEtleXMiLCJFIiwiTiIsIlMiLCJXIiwiTkUiLCJOVyIsIlNFIiwiU1ciLCJUYW5rIiwiSGVhbGVyIiwiRFBTIiwiTnVtYmVyIiwiY29tbW9uUmVwbGFjZW1lbnQiLCJyZXBsYWNlU3luYyIsInJlcGxhY2VUZXh0IiwicGFydGlhbENvbW1vblJlcGxhY2VtZW50S2V5cyIsImJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSIsImRlZmF1bHRPcHRpb25zIiwiVGltZWxpbmVQYXJzZXIiLCJyZXBsYWNlbWVudHMiLCJzdHlsZXMiLCJ6b25lSWQiLCJpZ25vcmVzIiwidGV4dHMiLCJzeW5jU3RhcnRzIiwic3luY0VuZHMiLCJlcnJvcnMiLCJ0aW1lbGluZUNvbmZpZyIsIklnbm9yZSIsInVuaXF1ZWlkIiwicmVnZXhlcyIsImNvbW1lbnQiLCJjb21tZW50TGluZSIsImR1cmF0aW9uQ29tbWFuZCIsImlnbm9yZSIsImp1bXBDb21tYW5kIiwicG9wdXBUZXh0Iiwic291bmRBbGVydCIsInNwZWFrZXIiLCJzeW5jQ29tbWFuZCIsInR0cyIsIndpbmRvd0NvbW1hbmQiLCJsaW5lcyIsImxpbmVOdW1iZXIiLCJ0cmltIiwidGVzdCIsIm9yaWdpbmFsTGluZSIsImJlZm9yZVNlY29uZHMiLCJ0dHNJdGVtcyIsInNlY29uZHNCZWZvcmUiLCJwb3B1cFRleHRJdGVtcyIsInBhcnNlZExpbmUiLCJ0aW1lIiwiR2V0UmVwbGFjZWRUZXh0IiwiYWN0aXZlVGltZSIsImNvbW1hbmRNYXRjaCIsInN5bmMiLCJvcmlnUmVnZXhTdHIiLCJHZXRSZXBsYWNlZFN5bmMiLCJlbmQiLCJhcmdNYXRjaCIsImp1bXAiLCJmb3VuZCIsIm1hdGNoZWRUZXh0RXZlbnQiLCJtIiwiYXV0b0NvbmZpZyIsInNvcnRLZXkiLCJHZXRSZXBsYWNlZEhlbHBlciIsInJlcGxhY2VLZXkiLCJyZXBsYWNlTGFuZyIsImlzR2xvYmFsIiwiciIsImxvY2FsZSIsInJlcHMiLCJyZXBsYWNlbWVudCIsInJlcGwiLCJyZW5hbWUiLCJSZW5hbWUiLCJHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUiLCJyYWlkYm9zc0ZpbGVEYXRhIiwicmFpZGJvc3NPcHRpb25zIiwia09wdGlvbktleXMiLCJ0ZXh0QW5kU291bmQiLCJ0dHNBbmRUZXh0IiwidHRzT25seSIsInRleHRPbmx5IiwidHJpZ2dlclNvdW5kT3B0aW9ucyIsImtEZXRhaWxLZXlzIiwiY2xzIiwiZ2VuZXJhdGVkTWFudWFsbHkiLCJrVGltZWxpbmVUYWJsZUhlYWRlcnMiLCJzaG91bGREaXNwbGF5VGV4dCIsIm92ZXJyaWRlVGV4dCIsImRldGFpbEtleXMiLCJrTWlzY1RyYW5zbGF0aW9ucyIsInZhbHVlRGVmYXVsdCIsInZhbHVlSXNGdW5jdGlvbiIsIndhcm5pbmciLCJtaXNzaW5nSWQiLCJvdmVycmlkZGVuQnlGaWxlIiwidmlld1RyaWdnZXJTb3VyY2UiLCJlZGl0VGltZWxpbmUiLCJ2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQiLCJ2YWxFbnRyeSIsInZhbCIsImlzTmFOIiwiY2FuQmVDb25maWd1cmVkIiwidHJpZyIsImlzTWlzc2luZ0lkIiwiYWRkVHJpZ2dlckRldGFpbCIsImxhYmVsVGV4dCIsImRldGFpbFRleHQiLCJkZXRhaWxDbHMiLCJzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlIiwiRG9Ob3RoaW5nRnVuY1Byb3h5Iiwib3V0cHV0U3RyaW5nc0NhbGxiYWNrIiwiUHJveHkiLCJfdGFyZ2V0IiwicHJvcGVydHkiLCJfbmFtZSIsIm1ha2VMaW5rIiwibGFuZ09yRW4iLCJSYWlkYm9zc0NvbmZpZ3VyYXRvciIsImFsZXJ0c0xhbmciLCJ0aW1lbGluZUxhbmciLCJyYWlkYm9zc0ZpbGVzIiwidXNlck9wdGlvbnMiLCJwcm9jZXNzUmFpZGJvc3NGaWxlcyIsInNlY3Rpb24iLCJ0aW1lbGluZSIsImJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lciIsInRyaWdJZCIsImhhc091dHB1dEZ1bmMiLCJkZXZlbG9wZXJPcHRpb25zIiwiYmFzZVRleHQiLCJkZXRhaWxTdHJpbmdLZXkiLCJkZXRhaWxLZXkiLCJ0cmlnT3V0cHV0IiwiY29uZmlnT3V0cHV0IiwidHJpZ0Z1bmMiLCJpc1RpbWVsaW5lVHJpZ2dlciIsInN0ZXAiLCJwbGFjZWhvbGRlciIsImdldFN0cmluZ09wdGlvbiIsInNldEZ1bmMiLCJvbmlucHV0IiwiZHVyYXRpb25TZWNvbmRzIiwib3V0cHV0U3RyaW5nIiwicDAiLCJwMSIsInAyIiwiYmFzZVVybCIsInVybEZpbGVwYXRoIiwiZXNjYXBlZFRyaWdnZXJJZCIsInVyaUNvbXBvbmVudCIsImVuY29kZVVSSUNvbXBvbmVudCIsInVybFN0cmluZyIsInBhcmVudCIsImhhc0V2ZXJCZWVuRXhwYW5kZWQiLCJ0aW1lbGluZUZyb21TZXQiLCJidWlsZFRpbWVsaW5lVUkiLCJhZGRUaW1lbGluZSIsIm9ialZhbCIsImJsYW5rRGF0YSIsInRpbWVsaW5lUmVwbGFjZSIsInVuaXFFdmVudHMiLCJoZWFkZXIiLCJjaGVja0lucHV0IiwiZW5hYmxlSWQiLCJjaGVja2VkIiwiZ2V0Qm9vbGVhbk9wdGlvbiIsInRpbWVsaW5lVGV4dCIsInRleHRJbnB1dCIsInRleHRJZCIsInZhbHVlT3JGdW5jdGlvbiIsInJlc3VsdCIsInByb2Nlc3NUcmlnZ2VyIiwiZmFrZU91dHB1dFByb3h5IiwiYXNzaWduIiwiYmFzZUZha2VEYXRhIiwiY3VycmVudEhQIiwiY29uZmlnT3B0aW9ucyIsIlN0b3BDb21iYXQiLCJQYXJzZUxvY2FsZUZsb2F0IiwiQ2FuU2xlZXAiLCJDYW5DbGVhbnNlIiwicGFyc2VyTGFuZyIsInBhcnRpYWxGYWtlRGF0YUVudHJpZXMiLCJmYWtlRGF0YUVudHJpZXMiLCJmaXJzdERhdGEiLCJrRmFrZU1hdGNoZXMiLCJucGNJZCIsIm91dHB1dEtleXMiLCJldmFsVHJpZ2dlciIsInJlc3VsdFN0ciIsImxhbmdTcGVjaWZpY1JlZ2V4ZXMiLCJnZXRSZWdleCIsImJhc2VGaWVsZCIsInNob3J0TGFuZ3VhZ2UiLCJjaGFyQXQiLCJjb25jYXRTdHIiLCJsYW5nU3BlY2lmaWNSZWdleCIsImJhc2VSZWdleCIsInRpbWVsaW5lUmVnZXgiLCJ0cmlnZ2VyUmVnZXgiLCJ0cmlnZ2VyTmV0UmVnZXgiLCJ0cmlnZ2VyRmlsZXMiLCJ0aW1lbGluZUZpbGVzIiwidHJpZ2dlclNldE9yU3RyaW5nIiwidHJpZ2dlcklkeCIsInByZXZpb3VzVHJpZ2dlcldpdGhJZCIsInJhd1RyaWdnZXJzIiwidGltZWxpbmVUcmlnZ2VycyIsImZsYXR0ZW5UaW1lbGluZSIsInRyaWdnZXJBcnIiLCJiYXNlVHJpZyIsInByZXZpb3VzIiwidGltZWxpbmVGaWxlIiwibGFzdEluZGV4IiwiZGlyIiwicHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnIiwib3B0aW9uTmFtZSIsIm91dHB1dE9ianMiLCJwcm9jZXNzUGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwicGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwiem9uZUtleSIsInpvbmVFbnRyeSIsImVuYWJsZUVudHJ5IiwicmVwbGFjZUVudHJ5IiwiaHRtbCIsImtSZWxvYWRUZXh0Iiwia1JlbG9hZEJ1dHRvblRleHQiLCJrRGlyZWN0b3J5Q2hvb3NlQnV0dG9uVGV4dCIsImtEaXJlY3RvcnlEZWZhdWx0VGV4dCIsImtQcmVmaXhUb0NhdGVnb3J5Iiwia0RpcmVjdG9yeVRvQ2F0ZWdvcnkiLCJhbGxpYW5jZSIsImR1bmdlb24iLCJldXJla2EiLCJyYWlkIiwicHZwIiwidHJpYWwiLCJ1bHRpbWF0ZSIsImZpbGVOYW1lVG9UaXRsZSIsImZpbGUiLCJjYXBpdGFsaXplZCIsImMiLCJDYWN0Ym90Q29uZmlndXJhdG9yIiwidGVtcGxhdGVzIiwiYnVpbGRCdXR0ZXJCYXIiLCJzYXZlQ29uZmlnRGF0YSIsInRleHRPYmoiLCJnZXROdW1iZXJPcHRpb24iLCJudW0iLCJvYmpPclZhbHVlIiwiYXJnIiwiZW1wdHlEZWZhdWx0TnVtYmVyIiwiaXNTdHJpbmdOdW1iZXIiLCJmaW5hbEFyZyIsImFsbEJ1dEZpbmFsQXJnIiwidGV4dERpdiIsImJ1dHRvbklucHV0IiwiZ3JvdXBEaXYiLCJidWlsZE92ZXJsYXlHcm91cCIsImJ1aWxkQ2hlY2tib3giLCJidWlsZEh0bWwiLCJidWlsZFNlbGVjdCIsImJ1aWxkRmxvYXQiLCJidWlsZEludGVnZXIiLCJidWlsZERpcmVjdG9yeSIsImNvbGxhcHNlciIsInBhcmVudE5vZGUiLCJIVE1MRWxlbWVudCIsImJ1aWxkTmFtZURpdiIsIl9ncm91cCIsInNldExhYmVsIiwicHJldlZhbHVlIiwiaW5uZXJPcHRpb25zIiwidXNlclRyaWdnZXJTZXRzIiwicHJlZml4S2V5IiwiY2F0ZWdvcnkiLCJ6b25lSW5mbyIsInVzZXJNYXAiLCJ1c2VyRmlsZUlkeCIsInpvbmVSZWdleCIsInNvcnRlZEVudHJpZXMiLCJwcmVmaXhDb21wYXJlIiwiaW5kZXhBIiwiaW5kZXhCIiwic29ydGVkTWFwIiwia0ZpZWxkRmxhZ3MiLCJrRmllbGREYW1hZ2UiLCJrU2hpZnRGbGFnVmFsdWVzIiwia0ZsYWdJbnN0YW50RGVhdGgiLCJrQXR0YWNrRmxhZ3MiLCJrSGVhbEZsYWdzIiwiZGFtYWdlRmllbGRzIiwicGxheWVyRGFtYWdlRmllbGRzIiwiU2hvcnROYW1pZnkiLCJwbGF5ZXJOaWNrcyIsIm5pY2siLCJUcmFuc2xhdGUiLCJHZXRGb3JtYXR0ZWRUaW1lIiwiYmFzZVRpbWUiLCJ0b3RhbFNlY29uZHMiLCJtaW51dGVzIiwiVW5zY3JhbWJsZURhbWFnZSIsImxlbiIsInJpZ2h0RGFtYWdlIiwiSXNQbGF5ZXJJZCIsImZpcnN0Q2hhciIsIklzVHJpZ2dlckVuYWJsZWQiLCJHZXRTb2xvTWlzdGFrZVRleHQiLCJHZXRTaGFyZU1pc3Rha2VUZXh0Il0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/ui/raidboss/raidboss.bundle.js b/ui/raidboss/raidboss.bundle.js index d7366952ad..06b8b57cca 100644 --- a/ui/raidboss/raidboss.bundle.js +++ b/ui/raidboss/raidboss.bundle.js @@ -16671,17 +16671,20 @@ const kTimelineTableHeaders = { shouldDisplayText: { en: 'Show', de: 'Anzeigen', - fr: 'Afficher' + fr: 'Afficher', + cn: '显示' }, text: { en: 'Timeline Text', de: 'Timeline Text', - fr: 'Texte de la timeline' + fr: 'Texte de la timeline', + cn: '时间轴文本' }, overrideText: { en: 'Rename', de: 'Umbenennen', - fr: 'Renommer' + fr: 'Renommer', + cn: '修改文本' } }; const detailKeys = kDetailKeys; @@ -16744,7 +16747,8 @@ const kMiscTranslations = { editTimeline: { en: 'Edit Timeline', de: 'Timeline bearbeiten', - fr: 'Éditer la timeline' + fr: 'Éditer la timeline', + cn: '编辑时间轴' } }; @@ -17951,7 +17955,7 @@ const templateOptions = { de: 'Alarm-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alarme (secondes)', ja: '警報テキスト表示時間の長さ (秒)', - cn: '警报文字显示持续时间 (秒)', + cn: '警报级别文字显示持续时间 (秒)', ko: '경고 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -17963,7 +17967,7 @@ const templateOptions = { de: 'Alert-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alerte (secondes)', ja: '警告テキスト表示時間の長さ (秒)', - cn: '警告文字显示持续时间 (秒)', + cn: '警告级别文字显示持续时间 (秒)', ko: '주의 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -17975,7 +17979,7 @@ const templateOptions = { de: 'Info-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'information (secondes)', ja: '情報テキスト表示時間の長さ (秒)', - cn: '信息文字显示持续时间 (秒)', + cn: '信息级别文字显示持续时间 (秒)', ko: '안내 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -17987,7 +17991,7 @@ const templateOptions = { de: 'Alarm Lautstärke (0-1)', fr: 'Volume de l\'alarme (0-1)', ja: '警報音声の音量 (0-1)', - cn: '警报提示音的音量 (0-1)', + cn: '警报级别提示音的音量 (0-1)', ko: '경고 소리 크기 (0-1)' }, type: 'float', @@ -17999,7 +18003,7 @@ const templateOptions = { de: 'Alert Lautstärke (0-1)', fr: 'Volume de l\'alerte (0-1)', ja: '警告音声の音量 (0-1)', - cn: '警告提示音的音量 (0-1)', + cn: '警告级别提示音的音量 (0-1)', ko: '주의 소리 크기 (0-1)' }, type: 'float', @@ -18011,7 +18015,7 @@ const templateOptions = { de: 'Info Lautstärke (0-1)', fr: 'Volume de l\'info (0-1)', ja: '情報音声の音量 (0-1)', - cn: '信息提示音的音量 (0-1)', + cn: '信息级别提示音的音量 (0-1)', ko: '안내 소리 크기 (0-1)' }, type: 'float', @@ -18045,7 +18049,8 @@ const templateOptions = { name: { en: 'Enable gamepad rumble for triggers', de: 'Gamepad-Vibration für Trigger aktivieren', - fr: 'Activer la vibration de la manette de jeu pour les triggers' + fr: 'Activer la vibration de la manette de jeu pour les triggers', + cn: '触发器活动时使手柄振动' }, type: 'checkbox', default: false @@ -18054,7 +18059,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for info triggers', de: 'Zeit (in Millisekunden) der Vibration bei info trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations', + cn: '信息级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 400 @@ -18063,7 +18069,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for info triggers', de: 'Stärke (0-1) der leichten Vibration bei info trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)', + cn: '信息级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -18072,7 +18079,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for info triggers', de: 'Stärke (0-1) der starken Vibration bei info trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)', + cn: '信息级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -18081,7 +18089,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alert triggers', de: 'Zeit (in Millisekunden) der Vibration bei alert trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes', + cn: '警告级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 500 @@ -18090,7 +18099,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alert triggers', de: 'Stärke (0-1) der leichten Vibration bei alert trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -18099,7 +18109,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alert triggers', de: 'Stärke (0-1) der starken Vibration bei alert trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -18108,7 +18119,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alarm triggers', de: 'Zeit (in Millisekunden) der Vibration bei alarm trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes', + cn: '警报级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 750 @@ -18117,7 +18129,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alarm triggers', de: 'Stärke (0-1) der leichten Vibration bei alarm trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -18126,7 +18139,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alarm triggers', de: 'Stärke (0-1) der starken Vibration bei alarm trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -18395,4 +18409,4 @@ user_config/* default.getUserConfigLocation */.Z.getUserConfigLocation('raidboss /******/ /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNKbFUsSUFBQUEsRUFBRSxFQUFFLE1BREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLE9BRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEtBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0ExbEJPO0FBa21CYjhULEVBQUFBLElBQUksRUFBRTtBQUNKblUsSUFBQUEsRUFBRSxFQUFFLE1BREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLFFBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLE9BSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FsbUJPO0FBMG1CYitULEVBQUFBLFNBQVMsRUFBRTtBQUNUcFUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFlBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFlBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0ExbUJFO0FBa25CYmdVLEVBQUFBLFNBQVMsRUFBRTtBQUNUclUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFdBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFVBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0FsbkJFO0FBMG5CYmlVLEVBQUFBLFNBQVMsRUFBRTtBQUNUdFUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFdBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFdBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0ExbkJFO0FBa29CYmtVLEVBQUFBLFNBQVMsRUFBRTtBQUNUdlUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFVBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFNBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0Fsb0JFO0FBMG9CYm1VLEVBQUFBLElBQUksRUFBRTtBQUNKeFUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0Exb0JPO0FBa3BCYm9VLEVBQUFBLElBQUksRUFBRTtBQUNKelUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FscEJPO0FBMHBCYnFVLEVBQUFBLElBQUksRUFBRTtBQUNKMVUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0ExcEJPO0FBa3FCYnNVLEVBQUFBLElBQUksRUFBRTtBQUNKM1UsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FscUJPO0FBMHFCYnVVLEVBQUFBLEtBQUssRUFBRTtBQUNMNVUsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0ExcUJNO0FBa3JCYndVLEVBQUFBLEtBQUssRUFBRTtBQUNMN1UsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0FsckJNO0FBMHJCYnlVLEVBQUFBLEtBQUssRUFBRTtBQUNMOVUsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0ExckJNO0FBa3NCYjBVLEVBQUFBLEtBQUssRUFBRTtBQUNML1UsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0Fs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O1dBQ0E7V0FDQTtXQUNBO1dBQ0E7O1dBRUE7V0FDQTtXQUNBOzs7OztVRWhEQTtVQUNBO1VBQ0E7VUFDQTtVQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9jb25kaXRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29udGVudF90eXBlLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9uZXRyZWdleGVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9vdXRwdXRzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcmVnZXhlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3Jlc3BvbnNlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3VzZXJfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdXRpbC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3pvbmVfaWQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy96b25lX2luZm8udHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wYXJ0eS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvYXV0b3BsYXlfaGVscGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9icm93c2VyX3R0c19lbmdpbmUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3BvcHVwLXRleHQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3JhaWRib3NzX29wdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy90aW1lcmJhci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3RyYW5zbGF0aW9ucy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvY29tbW9uX3JlcGxhY2VtZW50LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy90aW1lbGluZV9wYXJzZXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3JhaWRib3NzLnRzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9qc29ucCBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3IgY29uc2lzdGVuY3kgd2l0aCBSZXNwb25zZXMsIENvbmRpdGlvbnNcclxuLy8gYXJlIGFsc28gZnVuY3Rpb25zLlxyXG5cclxuaW1wb3J0IHsgUmFpZGJvc3NEYXRhIGFzIERhdGEgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgVGFyZ2V0ZWRNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgdGFyZ2V0SXNZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSA9PT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgdGFyZ2V0SXNOb3RZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSAhPT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dEFPRSgpOiAoZGF0YTogRGF0YSkgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEpID0+XHJcbiAgICAgIGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicgfHwgZGF0YS5DYW5BZGRsZSgpIHx8IGRhdGEuam9iID09PSAnQkxVJztcclxuICB9LFxyXG4gIGNhcmVzQWJvdXRNYWdpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dFBoeXNpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkZlaW50KCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbn07XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5jb25zdCBkYXRhID0ge1xyXG4gICdCZWFzdFRyaWJlUXVlc3RzJzogMTMsXHJcbiAgJ0NvbXBhbmlvbnMnOiAxMixcclxuICAnQ3VzdG9tRGVsaXZlcmllcyc6IDI1LFxyXG4gICdEZWVwRHVuZ2VvbnMnOiAyMSxcclxuICAnRGlzY2lwbGVzT2ZUaGVIYW5kJzogMTcsXHJcbiAgJ0Rpc2NpcGxlc09mVGhlTGFuZCc6IDE2LFxyXG4gICdEdW5nZW9ucyc6IDIsXHJcbiAgJ0R1dHlSb3VsZXR0ZSc6IDEsXHJcbiAgJ0V1cmVrYSc6IDI2LFxyXG4gICdGYXRlcyc6IDgsXHJcbiAgJ0dvbGRTYXVjZXInOiAxOSxcclxuICAnR3JhbmRDb21wYW55JzogMTEsXHJcbiAgJ0d1aWxkaGVzdHMnOiAzLFxyXG4gICdMZXZlcXVlc3RzJzogMTAsXHJcbiAgJ092ZXJhbGxDb21wbGV0aW9uJzogMTQsXHJcbiAgJ1BsYXllckNvbW1lbmRhdGlvbic6IDE1LFxyXG4gICdQdnAnOiA2LFxyXG4gICdRdWVzdEJhdHRsZXMnOiA3LFxyXG4gICdSYWlkcyc6IDUsXHJcbiAgJ1JldGFpbmVyVmVudHVyZXMnOiAxOCxcclxuICAnVHJlYXN1cmVIdW50JzogOSxcclxuICAnVHJpYWxzJzogNCxcclxuICAnVWx0aW1hdGVSYWlkcyc6IDI4LFxyXG4gICdXb25kcm91c1RhaWxzJzogMjQsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJleHBvcnQgY29uc3QgbGFuZ3VhZ2VzID0gWydlbicsICdkZScsICdmcicsICdqYScsICdjbicsICdrbyddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgTGFuZyA9IHR5cGVvZiBsYW5ndWFnZXNbbnVtYmVyXTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vbkVuTGFuZyA9IEV4Y2x1ZGU8TGFuZywgJ2VuJz47XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ01hcDogeyBbbGFuZyBpbiBMYW5nXTogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nIH0gfSA9IHtcclxuICBlbjoge1xyXG4gICAgZW46ICdFbmdsaXNoJyxcclxuICAgIGRlOiAnR2VybWFuJyxcclxuICAgIGZyOiAnRnJlbmNoJyxcclxuICAgIGphOiAnSmFwYW5lc2UnLFxyXG4gICAgY246ICdDaGluZXNlJyxcclxuICAgIGtvOiAnS29yZWFuJyxcclxuICB9LFxyXG4gIGRlOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2NoJyxcclxuICAgIGRlOiAnRGV1dHNjaCcsXHJcbiAgICBmcjogJ0ZyYW56w7ZzaXNjaCcsXHJcbiAgICBqYTogJ0phcGFuaXNjaCcsXHJcbiAgICBjbjogJ0NoaW5lc2lzY2gnLFxyXG4gICAga286ICdLb3JlYW5pc2NoJyxcclxuICB9LFxyXG4gIGZyOiB7XHJcbiAgICBlbjogJ0FuZ2xhaXMnLFxyXG4gICAgZGU6ICdBbGxlbWFuZCcsXHJcbiAgICBmcjogJ0ZyYW7Dp2FpcycsXHJcbiAgICBqYTogJ0phcG9uYWlzJyxcclxuICAgIGNuOiAnQ2hpbm9pcycsXHJcbiAgICBrbzogJ0NvcsOpZW4nLFxyXG4gIH0sXHJcbiAgamE6IHtcclxuICAgIGVuOiAn6Iux6KqeJyxcclxuICAgIGRlOiAn44OJ44Kk44OE6KqeJyxcclxuICAgIGZyOiAn44OV44Op44Oz44K56KqeJyxcclxuICAgIGphOiAn5pel5pys6KqeJyxcclxuICAgIGNuOiAn5Lit5Zu96KqeJyxcclxuICAgIGtvOiAn6Z+T5Zu96KqeJyxcclxuICB9LFxyXG4gIGNuOiB7XHJcbiAgICBlbjogJ+iLseivrScsXHJcbiAgICBkZTogJ+W+t+ivrScsXHJcbiAgICBmcjogJ+azleivrScsXHJcbiAgICBqYTogJ+aXpeivrScsXHJcbiAgICBjbjogJ+S4reaWhycsXHJcbiAgICBrbzogJ+mfqeivrScsXHJcbiAgfSxcclxuICBrbzoge1xyXG4gICAgZW46ICfsmIHslrQnLFxyXG4gICAgZGU6ICfrj4XsnbzslrQnLFxyXG4gICAgZnI6ICftlITrnpHsiqTslrQnLFxyXG4gICAgamE6ICfsnbzrs7jslrQnLFxyXG4gICAgY246ICfspJHqta3slrQnLFxyXG4gICAga286ICftlZzqta3slrQnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgY29uc3QgaXNMYW5nID0gKGxhbmc/OiBzdHJpbmcpOiBsYW5nIGlzIExhbmcgPT4ge1xyXG4gIGNvbnN0IGxhbmdTdHJzOiByZWFkb25seSBzdHJpbmdbXSA9IGxhbmd1YWdlcztcclxuICBpZiAoIWxhbmcpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgcmV0dXJuIGxhbmdTdHJzLmluY2x1ZGVzKGxhbmcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxhbmdUb0xvY2FsZSA9IChsYW5nOiBMYW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZW46ICdlbicsXHJcbiAgICBkZTogJ2RlJyxcclxuICAgIGZyOiAnZnInLFxyXG4gICAgamE6ICdqYScsXHJcbiAgICBjbjogJ3poLUNOJyxcclxuICAgIGtvOiAna28nLFxyXG4gIH1bbGFuZ107XHJcbn07XHJcbiIsImltcG9ydCB7IE5ldEZpZWxkc1JldmVyc2UgfSBmcm9tICcuLi90eXBlcy9uZXRfZmllbGRzJztcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb24gPSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvLyBQYXJzZWQgQUNUIGxvZyBsaW5lIHR5cGUuXHJcbiAgbWVzc2FnZVR5cGU6IHN0cmluZztcclxuICAvLyBpbmNsdWRlIGFsbCBvZiB0aGVzZSBsaW5lcyBpbiBhbnkgc3BsaXRcclxuICBnbG9iYWxJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyBpbmNsdWRlIHRoZSBsYXN0IGxpbmUgb2YgdGhpcyB0eXBlIGluIGFueSBzcGxpdFxyXG4gIGxhc3RJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyB3aGV0aGVyIHRoaXMgbGluZSBjYW4gYmUgYW5vbnltaXplZFxyXG4gIGNhbkFub255bWl6ZT86IGJvb2xlYW47XHJcbiAgLy8gbmVlZHMgbW9yZSBpbmZvcm1hdGlvbiwgbmV2ZXIgc2VlbiB0aGlzIGxvZ1xyXG4gIGlzVW5rbm93bj86IGJvb2xlYW47XHJcbiAgLy8gZmllbGRzIGF0IHRoaXMgaW5kZXggYW5kIGJleW9uZCBhcmUgY2xlYXJlZCwgd2hlbiBhbm9ueW1pemluZ1xyXG4gIGZpcnN0VW5rbm93bkZpZWxkPzogbnVtYmVyO1xyXG4gIGZpZWxkcz86IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XHJcbiAgc3ViRmllbGRzPzoge1xyXG4gICAgW2ZpZWxkTmFtZTogc3RyaW5nXToge1xyXG4gICAgICBbZmllbGRWYWx1ZTogc3RyaW5nXToge1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICBjYW5Bbm9ueW1pemU6IGJvb2xlYW47XHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG4gIH07XHJcbiAgLy8gbWFwIG9mIGluZGV4ZXMgZnJvbSBhIHBsYXllciBpZCB0byB0aGUgaW5kZXggb2YgdGhhdCBwbGF5ZXIgbmFtZVxyXG4gIHBsYXllcklkcz86IHsgW2ZpZWxkSWR4OiBudW1iZXJdOiBudW1iZXIgfCBudWxsIH07XHJcbiAgLy8gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IGFyZSBvayB0byBub3QgYXBwZWFyIChvciBoYXZlIGludmFsaWQgaWRzKVxyXG4gIG9wdGlvbmFsRmllbGRzPzogcmVhZG9ubHkgbnVtYmVyW107XHJcbn07XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25NYXAgPSB7IFtuYW1lOiBzdHJpbmddOiBMb2dEZWZpbml0aW9uIH07XHJcblxyXG5jb25zdCBsb2dEZWZpbml0aW9ucyA9IHtcclxuICBHYW1lTG9nOiB7XHJcbiAgICB0eXBlOiAnMDAnLFxyXG4gICAgbmFtZTogJ0dhbWVMb2cnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGF0TG9nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGNvZGU6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGxpbmU6IDQsXHJcbiAgICB9LFxyXG4gICAgc3ViRmllbGRzOiB7XHJcbiAgICAgIGNvZGU6IHtcclxuICAgICAgICAnMDAzOSc6IHtcclxuICAgICAgICAgIG5hbWU6ICdtZXNzYWdlJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwMDM4Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ2VjaG8nLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwNDQnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZGlhbG9nJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwODM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgQ2hhbmdlWm9uZToge1xyXG4gICAgdHlwZTogJzAxJyxcclxuICAgIG5hbWU6ICdDaGFuZ2Vab25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGVycml0b3J5JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQ2hhbmdlZFBsYXllcjoge1xyXG4gICAgdHlwZTogJzAyJyxcclxuICAgIG5hbWU6ICdDaGFuZ2VkUGxheWVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlUHJpbWFyeVBsYXllcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEFkZGVkQ29tYmF0YW50OiB7XHJcbiAgICB0eXBlOiAnMDMnLFxyXG4gICAgbmFtZTogJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWRkQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcklkOiA2LFxyXG4gICAgICB3b3JsZElkOiA3LFxyXG4gICAgICB3b3JsZDogOCxcclxuICAgICAgbnBjTmFtZUlkOiA5LFxyXG4gICAgICBucGNCYXNlSWQ6IDEwLFxyXG4gICAgICBjdXJyZW50SHA6IDExLFxyXG4gICAgICBocDogMTIsXHJcbiAgICAgIGN1cnJlbnRNcDogMTMsXHJcbiAgICAgIG1wOiAxNCxcclxuICAgICAgLy8gbWF4VHA6IDE1LFxyXG4gICAgICAvLyB0cDogMTYsXHJcbiAgICAgIHg6IDE3LFxyXG4gICAgICB5OiAxOCxcclxuICAgICAgejogMTksXHJcbiAgICAgIGhlYWRpbmc6IDIwLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFJlbW92ZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwNCcsXHJcbiAgICBuYW1lOiAnUmVtb3ZlZENvbWJhdGFudCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1JlbW92ZUNvbWJhdGFudCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgam9iOiA0LFxyXG4gICAgICBsZXZlbDogNSxcclxuICAgICAgb3duZXI6IDYsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGFydHlMaXN0OiB7XHJcbiAgICB0eXBlOiAnMTEnLFxyXG4gICAgbmFtZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBwYXJ0eUNvdW50OiAyLFxyXG4gICAgICBpZDA6IDMsXHJcbiAgICAgIGlkMTogNCxcclxuICAgICAgaWQyOiA1LFxyXG4gICAgICBpZDM6IDYsXHJcbiAgICAgIGlkNDogNyxcclxuICAgICAgaWQ1OiA4LFxyXG4gICAgICBpZDY6IDksXHJcbiAgICAgIGlkNzogMTAsXHJcbiAgICAgIGlkODogMTEsXHJcbiAgICAgIGlkOTogMTIsXHJcbiAgICAgIGlkMTA6IDEzLFxyXG4gICAgICBpZDExOiAxNCxcclxuICAgICAgaWQxMjogMTUsXHJcbiAgICAgIGlkMTM6IDE2LFxyXG4gICAgICBpZDE0OiAxNyxcclxuICAgICAgaWQxNTogMTgsXHJcbiAgICAgIGlkMTY6IDE5LFxyXG4gICAgICBpZDE3OiAyMCxcclxuICAgICAgaWQxODogMjEsXHJcbiAgICAgIGlkMTk6IDIyLFxyXG4gICAgICBpZDIwOiAyMyxcclxuICAgICAgaWQyMTogMjQsXHJcbiAgICAgIGlkMjI6IDI1LFxyXG4gICAgICBpZDIzOiAyNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMzogbnVsbCxcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgICAgNjogbnVsbCxcclxuICAgICAgNzogbnVsbCxcclxuICAgICAgODogbnVsbCxcclxuICAgICAgOTogbnVsbCxcclxuICAgICAgMTA6IG51bGwsXHJcbiAgICAgIDExOiBudWxsLFxyXG4gICAgICAxMjogbnVsbCxcclxuICAgICAgMTM6IG51bGwsXHJcbiAgICAgIDE0OiBudWxsLFxyXG4gICAgICAxNTogbnVsbCxcclxuICAgICAgMTY6IG51bGwsXHJcbiAgICAgIDE3OiBudWxsLFxyXG4gICAgICAxODogbnVsbCxcclxuICAgICAgMTk6IG51bGwsXHJcbiAgICAgIDIwOiBudWxsLFxyXG4gICAgICAyMTogbnVsbCxcclxuICAgICAgMjI6IG51bGwsXHJcbiAgICAgIDIzOiBudWxsLFxyXG4gICAgICAyNDogbnVsbCxcclxuICAgICAgMjU6IG51bGwsXHJcbiAgICAgIDI2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbXHJcbiAgICAgIDMsXHJcbiAgICAgIDQsXHJcbiAgICAgIDUsXHJcbiAgICAgIDYsXHJcbiAgICAgIDcsXHJcbiAgICAgIDgsXHJcbiAgICAgIDksXHJcbiAgICAgIDEwLFxyXG4gICAgICAxMSxcclxuICAgICAgMTIsXHJcbiAgICAgIDEzLFxyXG4gICAgICAxNCxcclxuICAgICAgMTUsXHJcbiAgICAgIDE2LFxyXG4gICAgICAxNyxcclxuICAgICAgMTgsXHJcbiAgICAgIDE5LFxyXG4gICAgICAyMCxcclxuICAgICAgMjEsXHJcbiAgICAgIDIyLFxyXG4gICAgICAyMyxcclxuICAgICAgMjQsXHJcbiAgICAgIDI1LFxyXG4gICAgICAyNixcclxuICAgIF0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBsYXllclN0YXRzOiB7XHJcbiAgICB0eXBlOiAnMTInLFxyXG4gICAgbmFtZTogJ1BsYXllclN0YXRzJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgam9iOiAyLFxyXG4gICAgICBzdHJlbmd0aDogMyxcclxuICAgICAgZGV4dGVyaXR5OiA0LFxyXG4gICAgICB2aXRhbGl0eTogNSxcclxuICAgICAgaW50ZWxsaWdlbmNlOiA2LFxyXG4gICAgICBtaW5kOiA3LFxyXG4gICAgICBwaWV0eTogOCxcclxuICAgICAgYXR0YWNrUG93ZXI6IDksXHJcbiAgICAgIGRpcmVjdEhpdDogMTAsXHJcbiAgICAgIGNyaXRpY2FsSGl0OiAxMSxcclxuICAgICAgYXR0YWNrTWFnaWNQb3RlbmN5OiAxMixcclxuICAgICAgaGVhbE1hZ2ljUG90ZW5jeTogMTMsXHJcbiAgICAgIGRldGVybWluYXRpb246IDE0LFxyXG4gICAgICBza2lsbFNwZWVkOiAxNSxcclxuICAgICAgc3BlbGxTcGVlZDogMTYsXHJcbiAgICAgIHRlbmFjaXR5OiAxOCxcclxuICAgICAgbG9jYWxDb250ZW50SWQ6IDE5LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgU3RhcnRzVXNpbmc6IHtcclxuICAgIHR5cGU6ICcyMCcsXHJcbiAgICBuYW1lOiAnU3RhcnRzVXNpbmcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGFydHNDYXN0aW5nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBjYXN0VGltZTogOCxcclxuICAgICAgeDogOSxcclxuICAgICAgeTogMTAsXHJcbiAgICAgIHo6IDExLFxyXG4gICAgICBoZWFkaW5nOiAxMixcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIxJyxcclxuICAgIG5hbWU6ICdBYmlsaXR5JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWN0aW9uRWZmZWN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBmbGFnczogOCxcclxuICAgICAgZGFtYWdlOiA5LFxyXG4gICAgICB0YXJnZXRDdXJyZW50SHA6IDI0LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMjUsXHJcbiAgICAgIHRhcmdldEN1cnJlbnRNcDogMjYsXHJcbiAgICAgIHRhcmdldE1heE1wOiAyNyxcclxuICAgICAgLy8gdGFyZ2V0Q3VycmVudFRwOiAyOCxcclxuICAgICAgLy8gdGFyZ2V0TWF4VHA6IDI5LFxyXG4gICAgICB0YXJnZXRYOiAzMCxcclxuICAgICAgdGFyZ2V0WTogMzEsXHJcbiAgICAgIHRhcmdldFo6IDMyLFxyXG4gICAgICB0YXJnZXRIZWFkaW5nOiAzMyxcclxuICAgICAgY3VycmVudEhwOiAzNCxcclxuICAgICAgbWF4SHA6IDM1LFxyXG4gICAgICBjdXJyZW50TXA6IDM2LFxyXG4gICAgICBtYXhNcDogMzcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogMzg7XHJcbiAgICAgIC8vIG1heFRwOiAzOTtcclxuICAgICAgeDogNDAsXHJcbiAgICAgIHk6IDQxLFxyXG4gICAgICB6OiA0MixcclxuICAgICAgaGVhZGluZzogNDMsXHJcbiAgICAgIHNlcXVlbmNlOiA0NCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0FPRUFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMicsXHJcbiAgICBuYW1lOiAnTmV0d29ya0FPRUFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBT0VBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0NhbmNlbEFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0NhbmNlbEFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDYW5jZWxBY3Rpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHJlYXNvbjogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRG9UOiB7XHJcbiAgICB0eXBlOiAnMjQnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtEb1QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEb1RIb1QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHdoaWNoOiA0LFxyXG4gICAgICBlZmZlY3RJZDogNSxcclxuICAgICAgZGFtYWdlOiA2LFxyXG4gICAgICBjdXJyZW50SHA6IDcsXHJcbiAgICAgIG1heEhwOiA4LFxyXG4gICAgICBjdXJyZW50TXA6IDksXHJcbiAgICAgIG1heE1wOiAxMCxcclxuICAgICAgLy8gY3VycmVudFRwOiAxMSxcclxuICAgICAgLy8gbWF4VHA6IDEyLFxyXG4gICAgICB4OiAxMyxcclxuICAgICAgeTogMTQsXHJcbiAgICAgIHo6IDE1LFxyXG4gICAgICBoZWFkaW5nOiAxNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBXYXNEZWZlYXRlZDoge1xyXG4gICAgdHlwZTogJzI1JyxcclxuICAgIG5hbWU6ICdXYXNEZWZlYXRlZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYXRoJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA0LFxyXG4gICAgICBzb3VyY2U6IDUsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgR2FpbnNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICcyNicsXHJcbiAgICBuYW1lOiAnR2FpbnNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNBZGQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgZWZmZWN0SWQ6IDIsXHJcbiAgICAgIGVmZmVjdDogMyxcclxuICAgICAgZHVyYXRpb246IDQsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMTAsXHJcbiAgICAgIHNvdXJjZU1heEhwOiAxMSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBIZWFkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjcnLFxyXG4gICAgbmFtZTogJ0hlYWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUYXJnZXRJY29uJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGlkOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtSYWlkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjgnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtSYWlkTWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnV2F5bWFya01hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB4OiA2LFxyXG4gICAgICB5OiA3LFxyXG4gICAgICB6OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtUYXJnZXRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1RhcmdldE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1NpZ25NYXJrZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgb3BlcmF0aW9uOiAyLCAvLyBBZGQsIFVwZGF0ZSwgRGVsZXRlXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0TmFtZTogNyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgIH0sXHJcbiAgfSxcclxuICBMb3Nlc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzMwJyxcclxuICAgIG5hbWU6ICdMb3Nlc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c1JlbW92ZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBzb3VyY2VJZDogNSxcclxuICAgICAgc291cmNlOiA2LFxyXG4gICAgICB0YXJnZXRJZDogNyxcclxuICAgICAgdGFyZ2V0OiA4LFxyXG4gICAgICBjb3VudDogOSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrR2F1Z2U6IHtcclxuICAgIHR5cGU6ICczMScsXHJcbiAgICBuYW1lOiAnTmV0d29ya0dhdWdlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnR2F1Z2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGRhdGEwOiAzLFxyXG4gICAgICBkYXRhMTogNCxcclxuICAgICAgZGF0YTI6IDUsXHJcbiAgICAgIGRhdGEzOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiBudWxsLFxyXG4gICAgfSxcclxuICAgIC8vIFNvbWV0aW1lcyB0aGlzIGxhc3QgZmllbGQgbG9va3MgbGlrZSBhIHBsYXllciBpZC5cclxuICAgIC8vIEZvciBzYWZldHksIGFub255bWl6ZSBhbGwgb2YgdGhlIGdhdWdlIGRhdGEuXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMyxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtXb3JsZDoge1xyXG4gICAgdHlwZTogJzMyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrV29ybGQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXb3JsZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG4gIEFjdG9yQ29udHJvbDoge1xyXG4gICAgdHlwZTogJzMzJyxcclxuICAgIG5hbWU6ICdBY3RvckNvbnRyb2wnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEaXJlY3RvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpbnN0YW5jZTogMixcclxuICAgICAgY29tbWFuZDogMyxcclxuICAgICAgZGF0YTA6IDQsXHJcbiAgICAgIGRhdGExOiA1LFxyXG4gICAgICBkYXRhMjogNixcclxuICAgICAgZGF0YTM6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmFtZVRvZ2dsZToge1xyXG4gICAgdHlwZTogJzM0JyxcclxuICAgIG5hbWU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTmFtZVRvZ2dsZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldE5hbWU6IDUsXHJcbiAgICAgIHRvZ2dsZTogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBUZXRoZXI6IHtcclxuICAgIHR5cGU6ICczNScsXHJcbiAgICBuYW1lOiAnVGV0aGVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGV0aGVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIHRhcmdldElkOiA0LFxyXG4gICAgICB0YXJnZXQ6IDUsXHJcbiAgICAgIGlkOiA4LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiA5LFxyXG4gIH0sXHJcbiAgTGltaXRCcmVhazoge1xyXG4gICAgdHlwZTogJzM2JyxcclxuICAgIG5hbWU6ICdMaW1pdEJyZWFrJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTGltaXRCcmVhaycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB2YWx1ZUhleDogMixcclxuICAgICAgYmFyczogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRWZmZWN0UmVzdWx0OiB7XHJcbiAgICB0eXBlOiAnMzcnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtFZmZlY3RSZXN1bHQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFZmZlY3RSZXN1bHQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHNlcXVlbmNlSWQ6IDQsXHJcbiAgICAgIGN1cnJlbnRIcDogNSxcclxuICAgICAgbWF4SHA6IDYsXHJcbiAgICAgIGN1cnJlbnRNcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOSxcclxuICAgICAgLy8gbWF4VHA6IDEwLFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjIsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTdGF0dXNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICczOCcsXHJcbiAgICBuYW1lOiAnU3RhdHVzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzTGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB0YXJnZXRJZDogMixcclxuICAgICAgdGFyZ2V0OiAzLFxyXG4gICAgICBqb2JMZXZlbERhdGE6IDQsXHJcbiAgICAgIGhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgbXA6IDcsXHJcbiAgICAgIG1heE1wOiA4LFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgICAgZGF0YTA6IDE1LFxyXG4gICAgICBkYXRhMTogMTYsXHJcbiAgICAgIGRhdGEyOiAxNyxcclxuICAgICAgLy8gVmFyaWFibGUgbnVtYmVyIG9mIHRyaXBsZXRzIGhlcmUsIGJ1dCBhdCBsZWFzdCBvbmUuXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDIwLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1VwZGF0ZUhQOiB7XHJcbiAgICB0eXBlOiAnMzknLFxyXG4gICAgbmFtZTogJ05ldHdvcmtVcGRhdGVIUCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1VwZGF0ZUhwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBjdXJyZW50SHA6IDQsXHJcbiAgICAgIG1heEhwOiA1LFxyXG4gICAgICBjdXJyZW50TXA6IDYsXHJcbiAgICAgIG1heE1wOiA3LFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDgsXHJcbiAgICAgIC8vIG1heFRwOiA5LFxyXG4gICAgICB4OiAxMCxcclxuICAgICAgeTogMTEsXHJcbiAgICAgIHo6IDEyLFxyXG4gICAgICBoZWFkaW5nOiAxMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBNYXA6IHtcclxuICAgIHR5cGU6ICc0MCcsXHJcbiAgICBuYW1lOiAnTWFwJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlTWFwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICByZWdpb25OYW1lOiAzLFxyXG4gICAgICBwbGFjZU5hbWU6IDQsXHJcbiAgICAgIHBsYWNlTmFtZVN1YjogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTeXN0ZW1Mb2dNZXNzYWdlOiB7XHJcbiAgICB0eXBlOiAnNDEnLFxyXG4gICAgbmFtZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTeXN0ZW1Mb2dNZXNzYWdlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBpZDogMyxcclxuICAgICAgcGFyYW0wOiA0LFxyXG4gICAgICBwYXJhbTE6IDUsXHJcbiAgICAgIHBhcmFtMjogNixcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJzZXJJbmZvOiB7XHJcbiAgICB0eXBlOiAnMjQ5JyxcclxuICAgIG5hbWU6ICdQYXJzZXJJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2V0dGluZ3MnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUHJvY2Vzc0luZm86IHtcclxuICAgIHR5cGU6ICcyNTAnLFxyXG4gICAgbmFtZTogJ1Byb2Nlc3NJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUHJvY2VzcycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBEZWJ1Zzoge1xyXG4gICAgdHlwZTogJzI1MScsXHJcbiAgICBuYW1lOiAnRGVidWcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEZWJ1ZycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgUGFja2V0RHVtcDoge1xyXG4gICAgdHlwZTogJzI1MicsXHJcbiAgICBuYW1lOiAnUGFja2V0RHVtcCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhY2tldER1bXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgVmVyc2lvbjoge1xyXG4gICAgdHlwZTogJzI1MycsXHJcbiAgICBuYW1lOiAnVmVyc2lvbicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1ZlcnNpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgRXJyb3I6IHtcclxuICAgIHR5cGU6ICcyNTQnLFxyXG4gICAgbmFtZTogJ0Vycm9yJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRXJyb3InLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgTm9uZToge1xyXG4gICAgdHlwZTogJ1swLTldKycsXHJcbiAgICBuYW1lOiAnTm9uZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ05vbmUnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBpc1Vua25vd246IHRydWUsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFZlcmlmeSB0aGF0IHRoaXMgaGFzIHRoZSByaWdodCB0eXBlLCBidXQgZXhwb3J0IGBhcyBjb25zdGAuXHJcbmNvbnN0IGFzc2VydExvZ0RlZmluaXRpb25zOiBMb2dEZWZpbml0aW9uTWFwID0gbG9nRGVmaW5pdGlvbnM7XHJcbmNvbnNvbGUuYXNzZXJ0KGFzc2VydExvZ0RlZmluaXRpb25zKTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25zID0gdHlwZW9mIGxvZ0RlZmluaXRpb25zO1xyXG5leHBvcnQgdHlwZSBMb2dEZWZpbml0aW9uVHlwZXMgPSBrZXlvZiBMb2dEZWZpbml0aW9ucztcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlSGVscGVyRmllbGQ8XHJcbiAgVHlwZSBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcyxcclxuICBGaWVsZHMgZXh0ZW5kcyBOZXRGaWVsZHNSZXZlcnNlW1R5cGVdLFxyXG4gIEZpZWxkIGV4dGVuZHMga2V5b2YgRmllbGRzLFxyXG4+ID0ge1xyXG4gIGZpZWxkOiBGaWVsZHNbRmllbGRdIGV4dGVuZHMgc3RyaW5nID8gRmllbGRzW0ZpZWxkXSA6IG5ldmVyO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZHM8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4gPSB7XHJcbiAgW2ZpZWxkIGluIGtleW9mIE5ldEZpZWxkc1JldmVyc2VbVF1dOiBQYXJzZUhlbHBlckZpZWxkPFQsIE5ldEZpZWxkc1JldmVyc2VbVF0sIGZpZWxkPjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGxvZ0RlZmluaXRpb25zO1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnXFxcXHwnO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW158XSonO1xyXG5cclxuLy8gSWYgTmV0UmVnZXhlcy5zZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIGlzIHNldCB0byB0cnVlLCB0aGVuIGFueVxyXG4vLyByZWdleCBjcmVhdGVkIHRoYXQgcmVxdWlyZXMgYSB0cmFuc2xhdGlvbiB3aWxsIGJlZ2luIHdpdGggdGhpcyBzdHJpbmdcclxuLy8gYW5kIG1hdGNoIHRoZSBtYWdpY1N0cmluZ1JlZ2V4LiAgVGhpcyBpcyBtYXliZSBhIGJpdCBnb29meSwgYnV0IGlzXHJcbi8vIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCB3YXkgdG8gbWFyayByZWdleGVzIGZvciB0cmFuc2xhdGlvbnMuXHJcbi8vIElmIGlzc3VlICMxMzA2IGlzIGV2ZXIgcmVzb2x2ZWQsIHdlIGNhbiByZW1vdmUgdGhpcy5cclxuY29uc3QgbWFnaWNUcmFuc2xhdGlvblN0cmluZyA9IGBeXmA7XHJcbmNvbnN0IG1hZ2ljU3RyaW5nUmVnZXggPSAvXlxcXlxcXi87XHJcbmNvbnN0IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uID0gW1xyXG4gICdhYmlsaXR5JyxcclxuICAnbmFtZScsXHJcbiAgJ3NvdXJjZScsXHJcbiAgJ3RhcmdldCcsXHJcbiAgJ2xpbmUnLFxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZnVuY05hbWU6IHN0cmluZyxcclxuICBmaWVsZHM6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+LFxyXG4pOiBDYWN0Ym90QmFzZVJlZ0V4cDxUPiA9PiB7XHJcbiAgcGFyYW1zID0gcGFyYW1zID8/IHt9O1xyXG4gIGNvbnN0IHZhbGlkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBmb3IgKGNvbnN0IGluZGV4IGluIGZpZWxkcykge1xyXG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaW5kZXhdO1xyXG4gICAgaWYgKGZpZWxkKVxyXG4gICAgICB2YWxpZEZpZWxkcy5wdXNoKGZpZWxkLmZpZWxkKTtcclxuICB9XHJcblxyXG4gIFJlZ2V4ZXMudmFsaWRhdGVQYXJhbXMocGFyYW1zLCBmdW5jTmFtZSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIEZvciB0ZXN0aW5nLCBpdCdzIHVzZWZ1bCB0byBrbm93IGlmIHRoaXMgaXMgYSByZWdleCB0aGF0IHJlcXVpcmVzXHJcbiAgLy8gdHJhbnNsYXRpb24uICBXZSB0ZXN0IHRoaXMgYnkgc2VlaW5nIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWVkXHJcbiAgLy8gZmllbGRzLCBhbmQgaWYgc28sIGluc2VydGluZyBhIG1hZ2ljIHN0cmluZyB0aGF0IHdlIGNhbiBkZXRlY3QuXHJcbiAgLy8gVGhpcyBsZXRzIHVzIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBcInJlZ2V4IHRoYXQgc2hvdWxkIGJlIHRyYW5zbGF0ZWRcIlxyXG4gIC8vIGUuZy4gYSByZWdleCB3aXRoIGB0YXJnZXRgIHNwZWNpZmllZCwgYW5kIFwicmVnZXggdGhhdCBzaG91bGRuJ3RcIlxyXG4gIC8vIGUuZy4gYSBnYWlucyBlZmZlY3Qgd2l0aCBqdXN0IGVmZmVjdElkIHNwZWNpZmllZC5cclxuICBjb25zdCB0cmFuc1BhcmFtcyA9IE9iamVjdC5rZXlzKHBhcmFtcykuZmlsdGVyKChrKSA9PiBrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbi5pbmNsdWRlcyhrKSk7XHJcbiAgY29uc3QgbmVlZHNUcmFuc2xhdGlvbnMgPSBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgJiYgdHJhbnNQYXJhbXMubGVuZ3RoID4gMDtcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBsZXQgc3RyID0gbmVlZHNUcmFuc2xhdGlvbnMgPyBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIDogJ14nO1xyXG4gIGxldCBsYXN0S2V5ID0gLTE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9ICdcXFxceXtOZXRGaWVsZH0nO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgXFxcXHl7TmV0RmllbGR9eyR7bWlzc2luZ0ZpZWxkc319YDtcclxuICAgIGxhc3RLZXkgPSBrZXk7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKTtcclxuXHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IG1hdGNoRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICkgK1xyXG4gICAgICAgIHNlcGFyYXRvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0ciArPSBmaWVsZFZhbHVlICsgc2VwYXJhdG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3AgaWYgd2UncmUgbm90IGNhcHR1cmluZyBhbmQgZG9uJ3QgY2FyZSBhYm91dCBmdXR1cmUgZmllbGRzLlxyXG4gICAgaWYgKGtleSA+PSBtYXhLZXkpXHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0UmVnZXhlcyB7XHJcbiAgc3RhdGljIGZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSBmYWxzZTtcclxuICBzdGF0aWMgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN0YXRpYyBkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24ocmVnZXg6IFJlZ0V4cCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gTmVlZCB0byBgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZGAgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5cclxuICAgIGNvbnNvbGUuYXNzZXJ0KE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCk7XHJcbiAgICBjb25zdCBzdHIgPSB0eXBlb2YgcmVnZXggPT09ICdzdHJpbmcnID8gcmVnZXggOiByZWdleC5zb3VyY2U7XHJcbiAgICByZXR1cm4gISFtYWdpY1N0cmluZ1JlZ2V4LmV4ZWMoc3RyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNC1uZXR3b3Jrc3RhcnRzY2FzdGluZ1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGFydHNVc2luZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXJ0c1VzaW5nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhcnRzVXNpbmcnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhcnRzVXNpbmcnLCBkZWZhdWx0UGFyYW1zKCdTdGFydHNVc2luZycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5KHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWJpbGl0eScsIHtcclxuICAgICAgLi4uZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpLFxyXG4gICAgICAvLyBPdmVycmlkZSB0eXBlXHJcbiAgICAgIDA6IHsgZmllbGQ6ICd0eXBlJywgdmFsdWU6ICcyWzEyXScgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ2FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWRkZWRDb21iYXRhbnRGdWxsJywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAncmVtb3ZpbmdDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdSZW1vdmVkQ29tYmF0YW50JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFhLW5ldHdvcmtidWZmXHJcbiAgICovXHJcbiAgc3RhdGljIGdhaW5zRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snR2FpbnNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYWluc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdnYWluc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0dhaW5zRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZmVyIGdhaW5zRWZmZWN0IG92ZXIgdGhpcyBmdW5jdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGV4dHJhIGRhdGEuXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI2LW5ldHdvcmtzdGF0dXNlZmZlY3RzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXR1c0VmZmVjdEV4cGxpY2l0KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTdGF0dXNFZmZlY3QnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhdHVzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXR1c0VmZmVjdEV4cGxpY2l0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdsb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXRDaGFuZ2UnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdjaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbmV0d29yazZkJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ21hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcbn1cclxuIiwiLy8gSGVscGVyIEVycm9yIGZvciBUeXBlU2NyaXB0IHNpdHVhdGlvbnMgd2hlcmUgdGhlIHByb2dyYW1tZXIgdGhpbmtzIHRoZXlcclxuLy8ga25vdyBiZXR0ZXIgdGhhbiBUeXBlU2NyaXB0IHRoYXQgc29tZSBzaXR1YXRpb24gd2lsbCBuZXZlciBvY2N1ci5cclxuXHJcbi8vIFRoZSBpbnRlbnRpb24gaGVyZSBpcyB0aGF0IHRoZSBwcm9ncmFtbWVyIGRvZXMgbm90IGV4cGVjdCBhIHBhcnRpY3VsYXJcclxuLy8gYml0IG9mIGNvZGUgdG8gaGFwcGVuLCBhbmQgc28gaGFzIG5vdCB3cml0dGVuIGNhcmVmdWwgZXJyb3IgaGFuZGxpbmcuXHJcbi8vIElmIGl0IGRvZXMgb2NjdXIsIGF0IGxlYXN0IHRoZXJlIHdpbGwgYmUgYW4gZXJyb3IgYW5kIHdlIGNhbiBmaWd1cmUgb3V0IHdoeS5cclxuLy8gVGhpcyBpcyBwcmVmZXJhYmxlIHRvIGNhc3Rpbmcgb3IgZGlzYWJsaW5nIFR5cGVTY3JpcHQgYWx0b2dldGhlciBpbiBvcmRlciB0b1xyXG4vLyBhdm9pZCBzeW50YXggZXJyb3JzLlxyXG5cclxuLy8gT25lIGNvbW1vbiBleGFtcGxlIGlzIGEgcmVnZXgsIHdoZXJlIGlmIHRoZSByZWdleCBtYXRjaGVzIHRoZW4gYWxsIG9mIHRoZVxyXG4vLyAobm9uLW9wdGlvbmFsKSByZWdleCBncm91cHMgd2lsbCBhbHNvIGJlIHZhbGlkLCBidXQgVHlwZVNjcmlwdCBkb2Vzbid0IGtub3cuXHJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNvZGUgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVGhpcyBjb2RlIHNob3VsZG5cXCd0IGJlIHJlYWNoZWQnKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgRnVsbExvY2FsZVRleHQgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIE91dHB1dCBzdHJpbmdzIGZvciBub3cgcmVxdWlyZSBhIGZpZWxkIGZvciBldmVyeSBsYW5ndWFnZSwgc28gdGhpcyBpcyBhXHJcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZW5lcmF0ZSBvbmUgZm9yIGxpdGVyYWwgbnVtYmVycy5cclxuY29uc3QgbnVtYmVyVG9PdXRwdXRTdHJpbmcgPSBmdW5jdGlvbihuOiBudW1iZXIpOiBGdWxsTG9jYWxlVGV4dCB7XHJcbiAgY29uc3Qgc3RyID0gbi50b1N0cmluZygpO1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogc3RyLFxyXG4gICAgZGU6IHN0cixcclxuICAgIGZyOiBzdHIsXHJcbiAgICBqYTogc3RyLFxyXG4gICAgY246IHN0cixcclxuICAgIGtvOiBzdHIsXHJcbiAgfTtcclxufTtcclxuXHJcbi8vIEdlbmVyYWwgZ3VpZGVsaW5lczpcclxuLy8gKiBwcm9wZXJ0eSBuYW1lcyBzaG91bGQgY2xvc2VseSBtYXRjaCBFbmdsaXNoIHRleHRcclxuLy8gKiB1c2UgT25QbGF5ZXIgc3VmZml4IGZvciB0aGluZ3Mgd2l0aCBgJHtwbGF5ZXJ9YFxyXG4vLyAqIHVzZSBPblRhcmdldCBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke25hbWV9YFxyXG4vLyAqIGFueSBvdGhlciBwYXJhbWV0ZXJzIChvZiB3aGljaCB0aGVyZSBhcmUgbm9uZSwgY3VycmVudGx5KSBzaG91bGQgdXNlIGNvbnNpc3RlbnQgc3VmZml4ZXMuXHJcbi8vICogdGhlIHZhbHVlIG9mIGVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIGEgc2luZ2xlIG9iamVjdCB3aXRoIGxvY2FsaXplZCBrZXlzXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBhb2U6IHtcclxuICAgIGVuOiAnYW9lJyxcclxuICAgIGRlOiAnQW9FJyxcclxuICAgIGZyOiAnQW9FJyxcclxuICAgIGphOiAnQW9FJyxcclxuICAgIGNuOiAnQW9FJyxcclxuICAgIGtvOiAn7KCE7LK0IOqzteqyqScsXHJcbiAgfSxcclxuICBiaWdBb2U6IHtcclxuICAgIGVuOiAnYmlnIGFvZSEnLFxyXG4gICAgZGU6ICdHcm/Dn2UgQW9FIScsXHJcbiAgICBmcjogJ0dyb3NzZSBBb0UgIScsXHJcbiAgICBqYTogJ+Wkp+ODgOODoeODvOOCuEFvRScsXHJcbiAgICBjbjogJ+Wkp0FvReS8pOWus++8gScsXHJcbiAgICBrbzogJ+qwle2VnCDsoITssrQg6rO16rKpIScsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiB7XHJcbiAgICBlbjogJ01pbmkgQnVzdGVyJyxcclxuICAgIGRlOiAnS2xlaW5lciBUYW5rYnVzdGVyJyxcclxuICAgIGZyOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgamE6ICfjg5/jg4vjg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflsI/mrbvliJEnLFxyXG4gICAga286ICfslb3tlZwg7YOx67KEJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJPblBsYXllcjoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkSDngrkgJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiBESVInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkeeCueWQjScsXHJcbiAgICBrbzogJ+2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgLy8gd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgdGFua2J1c3RlcnMgZ29pbmcgb3V0XHJcbiAgdGFua0J1c3RlcnM6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXJzJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcnMnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflnablhYvmrbvliJEnLFxyXG4gICAga286ICftg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlJyxcclxuICAgIGZyOiAnVGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoMnLFxyXG4gICAgY246ICfpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIGF2b2lkVGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdBdm9pZCB0YW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1c3dlaWNoZW4nLFxyXG4gICAgZnI6ICfDiXZpdGV6IGxlIHRhbmsgY2xlYXZlJyxcclxuICAgIGphOiAn5YmN5pa556+E5Zuy5pS75pKD44KS6YG/44GR44KLJyxcclxuICAgIGNuOiAn6L+c56a76aG65YqIJyxcclxuICAgIGtvOiAn6rSR7JetIO2DseuyhCDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZU9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1ZCBESVInLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiOeCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyJyxcclxuICAgIGZyOiAnUGFydGFnZXogbGUgVGFuayBidXN0ZXInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJEnLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXJPbllvdToge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnZ2V0ZWlsdGVyIFRhbmtidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7ImQ7Ja0IO2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciDDoCBwYXJ0YWdlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ9IOOBq+OCv+ODs+OCr+OCt+OCp+OCoicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkeeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua1N3YXA6IHtcclxuICAgIGVuOiAnVGFuayBTd2FwIScsXHJcbiAgICBkZTogJ1Rhbmt3ZWNoc2VsIScsXHJcbiAgICBmcjogJ1Rhbmsgc3dhcCAhJyxcclxuICAgIGphOiAn44K/44Oz44Kv44K544Kk44OD44OBIScsXHJcbiAgICBjbjogJ+aNolTvvIEnLFxyXG4gICAga286ICftg7Eg6rWQ64yAJyxcclxuICB9LFxyXG4gIHNwcmVhZDoge1xyXG4gICAgZW46ICdTcHJlYWQnLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdEaXNwZXJzZXotdm91cycsXHJcbiAgICBqYTogJ+aVo+mWiycsXHJcbiAgICBjbjogJ+WIhuaVoycsXHJcbiAgICBrbzogJ+yCsOqwnCcsXHJcbiAgfSxcclxuICBzdGFja01hcmtlcjoge1xyXG4gICAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6aCt5Ymy44KKJyxcclxuICAgIGNuOiAn5YiG5pGKJyxcclxuICAgIGtvOiAn7ImQ7Ja0646AJyxcclxuICB9LFxyXG4gIGdldFRvZ2V0aGVyOiB7XHJcbiAgICAvLyBmb3IgZ2V0dGluZyB0b2dldGhlciB3aXRob3V0IHN0YWNrIG1hcmtlclxyXG4gICAgZW46ICdTdGFjaycsXHJcbiAgICBkZTogJ1NhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cycsXHJcbiAgICBqYTogJ+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiCcsXHJcbiAgICBrbzogJ+uqqOydtOq4sCcsXHJcbiAgfSxcclxuICBzdGFja09uWW91OiB7XHJcbiAgICBlbjogJ1N0YWNrIG9uIFlPVScsXHJcbiAgICBkZTogJ0F1ZiBESVIgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2thZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavpm4blkIgnLFxyXG4gICAgY246ICfpm4blkIjngrnlkI0nLFxyXG4gICAga286ICfsiZDslrTsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHN0YWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gJHtwbGF5ZXJ9JyxcclxuICAgIGRlOiAnQXVmICR7cGxheWVyfSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mdoOi/kSAke3BsYXllcn3pm4blkIgnLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtOynlScsXHJcbiAgfSxcclxuICBzdGFja01pZGRsZToge1xyXG4gICAgZW46ICdTdGFjayBpbiBtaWRkbGUnLFxyXG4gICAgZGU6ICdJbiBkZXIgTWl0dGUgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzIGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reWkruOBp+mbhuWQiCcsXHJcbiAgICBjbjogJ+S4remXtOmbhuWQiCcsXHJcbiAgICBrbzogJ+ykkeyVmeyXkOyEnCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgZG9yaXRvU3RhY2s6IHtcclxuICAgIGVuOiAnRG9yaXRvIFN0YWNrJyxcclxuICAgIGRlOiAnTWl0IE1hcmtlciBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6IGxlcyBtYXJxdWFnZXMnLFxyXG4gICAgamE6ICfjg57jg7zjgqvjg7zku5jjgZHjgZ/kurrjgajpm4blkIgnLFxyXG4gICAgY246ICfngrnlkI3pm4blkIgnLFxyXG4gICAga286ICfsp5Xrgbzrpqwg66qo7J206riwJyxcclxuICB9LFxyXG4gIHNwcmVhZFRoZW5TdGFjazoge1xyXG4gICAgZW46ICdTcHJlYWQgPT4gU3RhY2snLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4gPT4gU2FtbWVsbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNpb24gPT4gUGFja2FnZScsXHJcbiAgICBqYTogJ+aVo+mWiyA9PiDpm4blkIgnLFxyXG4gICAgY246ICfliIbmlaMgPT4g6ZuG5ZCIJyxcclxuICAgIGtvOiAn7IKw6rCcID0+IOynke2VqScsXHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IHtcclxuICAgIGVuOiAnU3RhY2sgPT4gU3ByZWFkJyxcclxuICAgIGRlOiAnU2FtbWVsbiA9PiBWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdQYWNrYWdlID0+IERpc3BlcnNpb24nLFxyXG4gICAgamE6ICfjgrnjgr/jg4Pjgq8gPT4g5pWj6ZaLJyxcclxuICAgIGNuOiAn6ZuG5ZCIID0+IOWIhuaVoycsXHJcbiAgICBrbzogJ+ynke2VqSA9PiDsgrDqsJwnLFxyXG4gIH0sXHJcbiAgZHJhd0luOiB7XHJcbiAgICAvLyBPcHBvc2l0ZSBvZiBhIGtub2NrYmFjay5cclxuICAgIGVuOiAnRHJhdyBJbicsXHJcbiAgICBkZTogJ0Vpbnp1ZycsXHJcbiAgICBmcjogJ0F0dHJhY3Rpb24nLFxyXG4gICAgamE6ICflkLjovrzjgb8nLFxyXG4gICAgY246ICflkLjlvJUnLFxyXG4gICAga286ICfrgYzslrTri7nquYAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjaycsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZScsXHJcbiAgICBqYTogJ+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgCcsXHJcbiAgICBrbzogJ+uEieuwsScsXHJcbiAgfSxcclxuICBrbm9ja2JhY2tPbllvdToge1xyXG4gICAgZW46ICdLbm9ja2JhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnUG91c3PDqWUgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0nLFxyXG4gICAga286ICfrhInrsLHsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uUGxheWVyOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCA54K55ZCNJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDrhInrsLHsp5UnLFxyXG4gIH0sXHJcbiAgbG9va1Rvd2FyZHNCb3NzOiB7XHJcbiAgICBlbjogJ0xvb2sgVG93YXJkcyBCb3NzJyxcclxuICAgIGRlOiAnQW5zY2hhdWVuIEJvc3MnLFxyXG4gICAgZnI6ICdSZWdhcmRleiBsZSBib3NzJyxcclxuICAgIGphOiAn44Oc44K544KS6KaL44KLJyxcclxuICAgIGNuOiAn6Z2i5ZCRQm9zcycsXHJcbiAgICBrbzogJ+yzkOuLpOuztOq4sCcsXHJcbiAgfSxcclxuICBsb29rQXdheToge1xyXG4gICAgZW46ICdMb29rIEF3YXknLFxyXG4gICAgZGU6ICdXZWdzY2hhdWVuJyxcclxuICAgIGZyOiAnUmVnYXJkZXogYWlsbGV1cnMnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7lCb3NzJyxcclxuICAgIGtvOiAn65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVBsYXllcjoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ05lIHJlZ2FyZGV6IHBhcyAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke3BsYXllcn0nLFxyXG4gICAga286ICcke3BsYXllcn3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVRhcmdldDoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke25hbWV9JyxcclxuICAgIGRlOiAnU2NoYXUgd2VnIHZvbiAke25hbWV9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV944KS6KaL44Gq44GEJyxcclxuICAgIGNuOiAn6IOM5a+5JHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGdldEJlaGluZDoge1xyXG4gICAgZW46ICdHZXQgQmVoaW5kJyxcclxuICAgIGRlOiAnSGludGVyIGlobicsXHJcbiAgICBmcjogJ1Bhc3NleiBkZXJyacOocmUnLFxyXG4gICAgamE6ICfog4zpnaLjgbgnLFxyXG4gICAgY246ICfljrvog4zlkI4nLFxyXG4gICAga286ICfrs7TsiqQg65Kk66GcJyxcclxuICB9LFxyXG4gIGdvRnJvbnRPclNpZGVzOiB7XHJcbiAgICBlbjogJ0dvIEZyb250IC8gU2lkZXMnLFxyXG4gICAgZGU6ICdHZWhlIG5hY2ggVm9ybmUvIHp1IGRlbiBTZWl0ZW4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQgLyBDw7R0w6lzJyxcclxuICAgIGphOiAn5YmN77yP5qiq44G4JyxcclxuICAgIGNuOiAn5Y675YmN5L6n5pa5JyxcclxuICAgIGtvOiAn67O07IqkIO2bhOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udDoge1xyXG4gICAgZW46ICdHbyBGcm9udCcsXHJcbiAgICBkZTogJ0dlaCBuYWNoIHZvcm4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQnLFxyXG4gICAgamE6ICfliY3jgbgnLFxyXG4gICAgY246ICfljrvliY3pnaInLFxyXG4gICAga286ICfslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gZ2V0VW5kZXIgaXMgdXNlZCB3aGVuIHlvdSBoYXZlIHRvIGdldCBpbnRvIHRoZSBib3NzZXMgaGl0Ym94XHJcbiAgZ2V0VW5kZXI6IHtcclxuICAgIGVuOiAnR2V0IFVuZGVyJyxcclxuICAgIGRlOiAnVW50ZXIgaWhuJyxcclxuICAgIGZyOiAnRW4gZGVzc291cycsXHJcbiAgICBqYTogJ+ODnOOCueOBq+iyvOOCiuS7mOOBjycsXHJcbiAgICBjbjogJ+WOu+iEmuS4iycsXHJcbiAgICBrbzogJ+uztOyKpCDslYTrnpjroZwnLFxyXG4gIH0sXHJcbiAgLy8gaW4gaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGluOiB7XHJcbiAgICBlbjogJ0luJyxcclxuICAgIGRlOiAnUmVpbicsXHJcbiAgICBmcjogJ0ludMOpcmlldXInLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfpnaDov5EnLFxyXG4gICAga286ICfslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gb3V0IG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIG91dDoge1xyXG4gICAgZW46ICdPdXQnLFxyXG4gICAgZGU6ICdSYXVzJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemuycsXHJcbiAgICBrbzogJ+uwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRPZk1lbGVlOiB7XHJcbiAgICBlbjogJ091dCBvZiBtZWxlZScsXHJcbiAgICBkZTogJ1JhdXMgYXVzIE5haGthbXBmJyxcclxuICAgIGZyOiAnU29ydGV6IGRlIGxhIG3DqmzDqWUnLFxyXG4gICAgamE6ICfov5HmjqXmnIDlpKfjg6zjg7PjgrgnLFxyXG4gICAgY246ICfov5HmiJjmnIDov5zot53nprvlm57pgb8nLFxyXG4gICAga286ICfqt7zsoJHrspTsnIQg67CW7Jy866GcJyxcclxuICB9LFxyXG4gIGluVGhlbk91dDoge1xyXG4gICAgZW46ICdJbiwgdGhlbiBvdXQnLFxyXG4gICAgZGU6ICdSZWluLCBkYW5uIHJhdXMnLFxyXG4gICAgZnI6ICdJbnTDqXJpZXVyLCBwdWlzIGV4dMOpcmlldXInLFxyXG4gICAgamE6ICfkuK0gPT4g5aSWJyxcclxuICAgIGNuOiAn5YWI6Z2g6L+R77yM5YaN6L+c56a7JyxcclxuICAgIGtvOiAn7JWI7Jy866GcID0+IOuwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRUaGVuSW46IHtcclxuICAgIGVuOiAnT3V0LCB0aGVuIGluJyxcclxuICAgIGRlOiAnUmF1cywgZGFubiByZWluJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1ciwgcHVpcyBpbnTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSWID0+IOS4rScsXHJcbiAgICBjbjogJ+WFiOi/nOemu++8jOWGjemdoOi/kScsXHJcbiAgICBrbzogJ+uwluycvOuhnCA9PiDslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgYmFja1RoZW5Gcm9udDoge1xyXG4gICAgZW46ICdCYWNrIFRoZW4gRnJvbnQnLFxyXG4gICAgZGU6ICdOYWNoIEhpbnRlbiwgZGFuYWNoIG5hY2ggVm9ybmUnLFxyXG4gICAgZnI6ICdEZXJyacOocmUgcHVpcyBkZXZhbnQnLFxyXG4gICAgamE6ICflvozjgo0gPT4g5YmNJyxcclxuICAgIGNuOiAn5ZCOID0+IOWJjScsXHJcbiAgICBrbzogJ+uSpOuhnCA9PiDslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgZnJvbnRUaGVuQmFjazoge1xyXG4gICAgZW46ICdGcm9udCBUaGVuIEJhY2snLFxyXG4gICAgZGU6ICdOYWNoIFZvcm5lLCBkYW5hY2ggbmFjaCBIaW50ZW4nLFxyXG4gICAgZnI6ICdEZXZhbnQgcHVpcyBkZXJyacOocmUnLFxyXG4gICAgamE6ICfliY0gPT4g5b6M44KNJyxcclxuICAgIGNuOiAn5YmNID0+IOWQjicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCA9PiDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29JbnRvTWlkZGxlOiB7XHJcbiAgICBlbjogJ0dldCBNaWRkbGUnLFxyXG4gICAgZGU6ICdpbiBkaWUgTWl0dGUgZ2VoZW4nLFxyXG4gICAgZnI6ICdBbGxleiBhdSBtaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfljrvkuK3pl7QnLFxyXG4gICAga286ICfspJHslZnsnLzroZwnLFxyXG4gIH0sXHJcbiAgcmlnaHQ6IHtcclxuICAgIGVuOiAnUmlnaHQnLFxyXG4gICAgZGU6ICdSZWNodHMnLFxyXG4gICAgZnI6ICfDgCBkcm9pdGUnLFxyXG4gICAgamE6ICflj7PjgbgnLFxyXG4gICAgY246ICflj7MnLFxyXG4gICAga286ICfsmKTrpbjsqr0nLFxyXG4gIH0sXHJcbiAgbGVmdDoge1xyXG4gICAgZW46ICdMZWZ0JyxcclxuICAgIGRlOiAnTGlua3MnLFxyXG4gICAgZnI6ICfDgCBnYXVjaGUnLFxyXG4gICAgamE6ICflt6bjgbgnLFxyXG4gICAgY246ICflt6YnLFxyXG4gICAga286ICfsmbzsqr0nLFxyXG4gIH0sXHJcbiAgZ2V0TGVmdEFuZFdlc3Q6IHtcclxuICAgIGVuOiAnPD0gR2V0IExlZnQvV2VzdCcsXHJcbiAgICBkZTogJzw9IE5hY2ggTGlua3MvV2VzdGVuJyxcclxuICAgIGZyOiAnPD0gQWxsZXogw6AgR2F1Y2hlL091ZXN0JyxcclxuICAgIGphOiAnPD0g5bemL+ilv+OBuCcsXHJcbiAgICBjbjogJzw9IOWOu+W3pi/opb/ovrknLFxyXG4gICAga286ICc8PSDsmbzsqr3snLzroZwnLFxyXG4gIH0sXHJcbiAgZ2V0UmlnaHRBbmRFYXN0OiB7XHJcbiAgICBlbjogJ0dldCBSaWdodC9FYXN0ID0+JyxcclxuICAgIGRlOiAnTmFjaCBSZWNodHMvT3N0ZW4gPT4nLFxyXG4gICAgZnI6ICdBbGxleiDDoCBEcm9pdGUvRXN0ID0+JyxcclxuICAgIGphOiAn5Y+zL+adseOBuCA9PicsXHJcbiAgICBjbjogJ+WOu+WPsy/kuJzovrkgPT4nLFxyXG4gICAga286ICfsmKTrpbjsqr3snLzroZwgPT4nLFxyXG4gIH0sXHJcbiAgZ29Gcm9udEJhY2s6IHtcclxuICAgIGVuOiAnR28gRnJvbnQvQmFjaycsXHJcbiAgICBkZTogJ0dlaCBuYWNoIFZvcm5lL0hpbnRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudC9EZXJyacOocmUnLFxyXG4gICAgamE6ICfnuKbjgbgnLFxyXG4gICAgY246ICfljrvliY3lkI4nLFxyXG4gICAga286ICfslZ4v65Kk66GcJyxcclxuICB9LFxyXG4gIHNpZGVzOiB7XHJcbiAgICBlbjogJ1NpZGVzJyxcclxuICAgIGRlOiAnU2VpdGVuJyxcclxuICAgIGZyOiAnQ8O0dMOpcycsXHJcbiAgICBqYTogJ+aoquOBuCcsXHJcbiAgICBjbjogJ+WOu+S+p+mdoicsXHJcbiAgICBrbzogJ+yWkeyYhuycvOuhnCcsXHJcbiAgfSxcclxuICBtaWRkbGU6IHtcclxuICAgIGVuOiAnTWlkZGxlJyxcclxuICAgIGRlOiAnTWl0dGUnLFxyXG4gICAgZnI6ICdNaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfkuK3pl7QnLFxyXG4gICAga286ICfspJHslZknLFxyXG4gIH0sXHJcbiAgLy8ga2lsbEFkZHMgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiB7XHJcbiAgICBlbjogJ0tpbGwgYWRkcycsXHJcbiAgICBkZTogJ0FkZHMgYmVzaWVnZW4nLFxyXG4gICAgZnI6ICdUdWV6IGxlcyBhZGRzJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5Yem55CGJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICAvLyBraWxsRXh0cmFBZGQgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDoge1xyXG4gICAgZW46ICdLaWxsIEV4dHJhIEFkZCcsXHJcbiAgICBkZTogJ0FkZCBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbFxcJ2FkZCcsXHJcbiAgICBqYTogJ+mbkemtmuOCkuWAkuOBmScsXHJcbiAgICBjbjogJ+WHu+adgOWwj+aAqicsXHJcbiAgICBrbzogJ+yrhCDsnqHquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21Gcm9udDoge1xyXG4gICAgZW46ICdBd2F5IEZyb20gRnJvbnQnLFxyXG4gICAgZGU6ICdXZWcgdm9uIFZvcm5lJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZGV2YW50JyxcclxuICAgIGphOiAn5YmN5pa544GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a75q2j6Z2iJyxcclxuICAgIGtvOiAn67O07IqkIOyghOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgc2xlZXBUYXJnZXQ6IHtcclxuICAgIGVuOiAnU2xlZXAgJHtuYW1lfScsXHJcbiAgICBkZTogJ1NjaGxhZiBhdWYgJHtuYW1lfScsXHJcbiAgICBmcjogJ1NvbW1laWwgc3VyICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueODquODl+ODqycsXHJcbiAgICBjbjogJ+WCrOecoCAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfSDsiqzrpqztlIwnLFxyXG4gIH0sXHJcbiAgc3R1blRhcmdldDoge1xyXG4gICAgZW46ICdTdHVuICR7bmFtZX0nLFxyXG4gICAgZGU6ICdCZXTDpHVidW5nIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnw4l0b3VyZGlzc2V6ICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueOCv+ODsycsXHJcbiAgICBjbjogJ+ecqeaZlSAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOygiCcsXHJcbiAgfSxcclxuICBpbnRlcnJ1cHRUYXJnZXQ6IHtcclxuICAgIGVuOiAnaW50ZXJydXB0ICR7bmFtZX0nLFxyXG4gICAgZGU6ICd1bnRlcmJyZWNoZSAke25hbWV9JyxcclxuICAgIGZyOiAnSW50ZXJyb21wZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr5rKI6buZJyxcclxuICAgIGNuOiAn5omT5patJHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3quLDsiKAg7Iuc7KCEIOuBiuq4sCcsXHJcbiAgfSxcclxuICBwcmV5T25Zb3U6IHtcclxuICAgIGVuOiAnUHJleSBvbiBZT1UnLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5o2V6aOfJyxcclxuICAgIGNuOiAn5o6g6aOf54K55ZCNJyxcclxuICAgIGtvOiAn7ZmN7Jil7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBwcmV5T25QbGF5ZXI6IHtcclxuICAgIGVuOiAnUHJleSBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2ZjeyYpeynlScsXHJcbiAgfSxcclxuICBhd2F5RnJvbUdyb3VwOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSBHcm91cCcsXHJcbiAgICBkZTogJ1dlZyB2b24gZGVyIEdydXBwZScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGR1IGdyb3VwZScsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemu+S6uue+pCcsXHJcbiAgICBrbzogJ+uLpOuluCDsgqzrnozrk6TsnbTrnpEg65ao7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdXZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGRlICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBi+OCiembouOCjOOCiycsXHJcbiAgICBjbjogJ+i/nOemuyR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCLsl5DshJwg66mA7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIG1ldGVvck9uWW91OiB7XHJcbiAgICBlbjogJ01ldGVvciBvbiBZT1UnLFxyXG4gICAgZGU6ICdNZXRlb3IgYXVmIERJUicsXHJcbiAgICBmcjogJ03DqXTDqW9yZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODoeODhuOCqicsXHJcbiAgICBjbjogJ+mZqOefs+eCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDrqZTthYzsmKTsp5UnLFxyXG4gIH0sXHJcbiAgc3RvcE1vdmluZzoge1xyXG4gICAgZW46ICdTdG9wIE1vdmluZyEnLFxyXG4gICAgZGU6ICdCZXdlZ3VuZyBzdG9wcGVuIScsXHJcbiAgICBmcjogJ05lIGJvdWdleiBwYXMgIScsXHJcbiAgICBqYTogJ+enu+WLleemgeatou+8gScsXHJcbiAgICBjbjogJ+WBnOatouenu+WKqO+8gScsXHJcbiAgICBrbzogJ+ydtOuPmSDrqYjstpTquLAhJyxcclxuICB9LFxyXG4gIHN0b3BFdmVyeXRoaW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgRXZlcnl0aGluZyEnLFxyXG4gICAgZGU6ICdTdG9wcGUgQWxsZXMhJyxcclxuICAgIGZyOiAnQXJyw6p0ZXogVE9VVCAhJyxcclxuICAgIGphOiAn6KGM5YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i6KGM5Yqo77yBJyxcclxuICAgIGtvOiAn7ZaJ64+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUF3YXk6IHtcclxuICAgIC8vIG1vdmUgYXdheSB0byBkb2RnZSBhb2VzXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+mBv+OBkeOBpu+8gScsXHJcbiAgICBjbjogJ+W/q+i6suW8gO+8gScsXHJcbiAgICBrbzogJ+ydtOuPme2VmOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUFyb3VuZDoge1xyXG4gICAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+WLleOBj++8gScsXHJcbiAgICBjbjogJ+W/q+WKqO+8gScsXHJcbiAgICBrbzogJ+ybgOyngeydtOq4sCEnLFxyXG4gIH0sXHJcbiAgYnJlYWtDaGFpbnM6IHtcclxuICAgIGVuOiAnQnJlYWsgY2hhaW5zJyxcclxuICAgIGRlOiAnS2V0dGUgemVyYnJlY2hlbicsXHJcbiAgICBmcjogJ0JyaXNleiBsZXMgY2hhaW5lcycsXHJcbiAgICBqYTogJ+e3muOCkuWIh+OCiycsXHJcbiAgICBjbjogJ+WIh+aWrei/nue6vycsXHJcbiAgICBrbzogJ+yEoCDrgYrquLAnLFxyXG4gIH0sXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiB7XHJcbiAgICBlbjogJ01vdmUgY2hhaW5zIHRvZ2V0aGVyJyxcclxuICAgIGRlOiAnS2V0dGVuIHp1c2FtbWVuIGJld2VnZW4nLFxyXG4gICAgZnI6ICdCb3VnZXogbGVzIGNoYWluZXMgZW5zZW1ibGUnLFxyXG4gICAgamE6ICfnt5rlkIzlo6vkuIDnt5Ljgavnp7vli5UnLFxyXG4gICAgY246ICfov57nur/kuIDotbfnp7vliqgnLFxyXG4gICAga286ICfshKAg67aZ7Ja07IScIOqwmeydtCDsm4Dsp4HsnbTquLAnLFxyXG4gIH0sXHJcbiAgZWFydGhzaGFrZXJPbllvdToge1xyXG4gICAgZW46ICdFYXJ0aCBTaGFrZXIgb24gWU9VJyxcclxuICAgIGRlOiAnRXJkc3Rvw58gYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1ZSBkZSB0ZXJyZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCouODvOOCueOCt+OCp+OCpOOCq+ODvCcsXHJcbiAgICBjbjogJ+Wkp+WcsOaRh+WKqOeCueWQjScsXHJcbiAgICBrbzogJ+yWtOyKpOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgd2FrZVVwOiB7XHJcbiAgICBlbjogJ1dBS0UgVVAnLFxyXG4gICAgZGU6ICdBVUZXQUNIRU4nLFxyXG4gICAgZnI6ICdSw4lWRUlMTEUtVE9JJyxcclxuICAgIGphOiAn55uu44KS6Kaa44G+44GX44Gm77yBJyxcclxuICAgIGNuOiAn6YaS6YaS77yB5Yqo5LiA5Yqo77yB77yBJyxcclxuICAgIGtvOiAn7J287Ja064KY7IS47JqUIScsXHJcbiAgfSxcclxuICBjbG9zZVRldGhlcnNXaXRoUGxheWVyOiB7XHJcbiAgICBlbjogJ0Nsb3NlIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdOYWhlIFZlcmJpbmR1bmdlbiAoJHtwbGF5ZXJ9KScsXHJcbiAgICBmcjogJ0xpZW5zIHByb2NoZXMgYXZlYyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBqYTogJygke3BsYXllcn0p44Gr6L+R44Gl44GPJyxcclxuICAgIGNuOiAn6Z2g6L+R6L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOqwgOq5jOydtCDrtpnquLAgKCR7cGxheWVyfSknLFxyXG4gIH0sXHJcbiAgZmFyVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnRmFyIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdFbnRmZXJudGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgw6lsb2lnbsOpcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnICgke3BsYXllcn0p44GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a76L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOuWqOyWtOyngOq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJz8/PycsXHJcbiAgICBkZTogJz8/PycsXHJcbiAgICBmcjogJz8/PycsXHJcbiAgICBqYTogJz8/PycsXHJcbiAgICBjbjogJz8/PycsXHJcbiAgICBrbzogJz8/PycsXHJcbiAgfSxcclxuICBub3J0aDoge1xyXG4gICAgZW46ICdOb3J0aCcsXHJcbiAgICBkZTogJ05vcmRlbicsXHJcbiAgICBmcjogJ05vcmQnLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBzb3V0aDoge1xyXG4gICAgZW46ICdTb3V0aCcsXHJcbiAgICBkZTogJ1PDvGRlbicsXHJcbiAgICBmcjogJ1N1ZCcsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGVhc3Q6IHtcclxuICAgIGVuOiAnRWFzdCcsXHJcbiAgICBkZTogJ09zdGVuJyxcclxuICAgIGZyOiAnRXN0JyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgd2VzdDoge1xyXG4gICAgZW46ICdXZXN0JyxcclxuICAgIGRlOiAnV2VzdGVuJyxcclxuICAgIGZyOiAnT3Vlc3QnLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBub3J0aHdlc3Q6IHtcclxuICAgIGVuOiAnTm9ydGh3ZXN0JyxcclxuICAgIGRlOiAnTm9yZHdlc3RlbicsXHJcbiAgICBmcjogJ05vcmQtT3Vlc3QnLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBub3J0aGVhc3Q6IHtcclxuICAgIGVuOiAnTm9ydGhlYXN0JyxcclxuICAgIGRlOiAnTm9yZG9zdGVuJyxcclxuICAgIGZyOiAnTm9yZC1Fc3QnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBzb3V0aHdlc3Q6IHtcclxuICAgIGVuOiAnU291dGh3ZXN0JyxcclxuICAgIGRlOiAnU8O8ZHdlc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIHNvdXRoZWFzdDoge1xyXG4gICAgZW46ICdTb3V0aGVhc3QnLFxyXG4gICAgZGU6ICdTw7xkb3N0ZW4nLFxyXG4gICAgZnI6ICdTdWQtRXN0JyxcclxuICAgIGphOiAn5Y2X5p2xJyxcclxuICAgIGNuOiAn5Y+z5LiLKOS4nOWNlyknLFxyXG4gICAga286ICfrgqjrj5knLFxyXG4gIH0sXHJcbiAgZGlyTjoge1xyXG4gICAgZW46ICdOJyxcclxuICAgIGRlOiAnTicsXHJcbiAgICBmcjogJ04nLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBkaXJTOiB7XHJcbiAgICBlbjogJ1MnLFxyXG4gICAgZGU6ICdTJyxcclxuICAgIGZyOiAnUycsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGRpckU6IHtcclxuICAgIGVuOiAnRScsXHJcbiAgICBkZTogJ08nLFxyXG4gICAgZnI6ICdFJyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgZGlyVzoge1xyXG4gICAgZW46ICdXJyxcclxuICAgIGRlOiAnVycsXHJcbiAgICBmcjogJ08nLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBkaXJOVzoge1xyXG4gICAgZW46ICdOVycsXHJcbiAgICBkZTogJ05XJyxcclxuICAgIGZyOiAnTk8nLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBkaXJORToge1xyXG4gICAgZW46ICdORScsXHJcbiAgICBkZTogJ05PJyxcclxuICAgIGZyOiAnTkUnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBkaXJTVzoge1xyXG4gICAgZW46ICdTVycsXHJcbiAgICBkZTogJ1NXJyxcclxuICAgIGZyOiAnU08nLFxyXG4gICAgamE6ICfljZfopb8nLFxyXG4gICAgY246ICflt6bkuIso6KW/5Y2XKScsXHJcbiAgICBrbzogJ+uCqOyEnCcsXHJcbiAgfSxcclxuICBkaXJTRToge1xyXG4gICAgZW46ICdTRScsXHJcbiAgICBkZTogJ1NPJyxcclxuICAgIGZyOiAnU0UnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICAvLyBMaXRlcmFsIG51bWJlcnMuXHJcbiAgbnVtMDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMCksXHJcbiAgbnVtMTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMSksXHJcbiAgbnVtMjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMiksXHJcbiAgbnVtMzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMyksXHJcbiAgbnVtNDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNCksXHJcbiAgbnVtNTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNSksXHJcbiAgbnVtNjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNiksXHJcbiAgbnVtNzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNyksXHJcbiAgbnVtODogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOCksXHJcbiAgbnVtOTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOSksXHJcbn0gYXMgY29uc3Q7XHJcbiIsIi8vIE92ZXJsYXlQbHVnaW4gQVBJIHNldHVwXHJcblxyXG5pbXBvcnQge1xyXG4gIEV2ZW50TWFwLFxyXG4gIEV2ZW50VHlwZSxcclxuICBJT3ZlcmxheUhhbmRsZXIsXHJcbiAgT3ZlcmxheUhhbmRsZXJGdW5jcyxcclxuICBPdmVybGF5SGFuZGxlclR5cGVzLFxyXG59IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuXHJcbnR5cGUgQmFzZVJlc3BvbnNlID0geyByc2VxPzogbnVtYmVyOyAnJGVycm9yJz86IGJvb2xlYW4gfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgIF9fT3ZlcmxheUNhbGxiYWNrOiBFdmVudE1hcFtFdmVudFR5cGVdO1xyXG4gICAgZGlzcGF0Y2hPdmVybGF5RXZlbnQ/OiB0eXBlb2YgcHJvY2Vzc0V2ZW50O1xyXG4gICAgT3ZlcmxheVBsdWdpbkFwaToge1xyXG4gICAgICByZWFkeTogYm9vbGVhbjtcclxuICAgICAgY2FsbEhhbmRsZXI6IChtc2c6IHN0cmluZywgY2I/OiAodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bikgPT4gdm9pZDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlcjtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgSUFkZE92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG50eXBlIElSZW1vdmVPdmVybGF5TGlzdGVuZXIgPSA8VCBleHRlbmRzIEV2ZW50VHlwZT4oZXZlbnQ6IFQsIGNiOiBFdmVudE1hcFtUXSkgPT4gdm9pZDtcclxuXHJcbnR5cGUgU3Vic2NyaWJlcjxUPiA9IHtcclxuICBba2V5IGluIEV2ZW50VHlwZV0/OiBUW107XHJcbn07XHJcbnR5cGUgRXZlbnRQYXJhbWV0ZXIgPSBQYXJhbWV0ZXJzPEV2ZW50TWFwW0V2ZW50VHlwZV0+WzBdO1xyXG50eXBlIFZvaWRGdW5jPFQ+ID0gKC4uLmFyZ3M6IFRbXSkgPT4gdm9pZDtcclxuXHJcbmxldCBpbml0ZWQgPSBmYWxzZTtcclxuXHJcbmxldCB3c1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7XHJcbmxldCBxdWV1ZTogKFxyXG4gIHwgeyBbczogc3RyaW5nXTogdW5rbm93biB9XHJcbiAgfCBbeyBbczogc3RyaW5nXTogdW5rbm93biB9LCAoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duKSB8IHVuZGVmaW5lZF1cclxuKVtdIHwgbnVsbCA9IFtdO1xyXG5sZXQgcnNlcUNvdW50ZXIgPSAwO1xyXG50eXBlIFByb21pc2VGdW5jcyA9IHtcclxuICByZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbn07XHJcbmNvbnN0IHJlc3BvbnNlUHJvbWlzZXM6IHsgW3JzZXFJZHg6IG51bWJlcl06IFByb21pc2VGdW5jcyB9ID0ge307XHJcblxyXG5jb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxWb2lkRnVuYzx1bmtub3duPj4gPSB7fTtcclxuXHJcbmNvbnN0IHNlbmRNZXNzYWdlID0gKFxyXG4gIG1zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIGNiPzogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAod3MpIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChtc2cpO1xyXG4gICAgZWxzZVxyXG4gICAgICB3cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAocXVldWUpXHJcbiAgICAgIHF1ZXVlLnB1c2goW21zZywgY2JdKTtcclxuICAgIGVsc2VcclxuICAgICAgd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkuY2FsbEhhbmRsZXIoSlNPTi5zdHJpbmdpZnkobXNnKSwgY2IpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NFdmVudCA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihtc2c6IFBhcmFtZXRlcnM8RXZlbnRNYXBbVF0+WzBdKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBzdWJzID0gc3Vic2NyaWJlcnNbbXNnLnR5cGVdO1xyXG4gIHN1YnM/LmZvckVhY2goKHN1YikgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgc3ViKG1zZyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGF0Y2hPdmVybGF5RXZlbnQgPSBwcm9jZXNzRXZlbnQ7XHJcblxyXG5leHBvcnQgY29uc3QgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKCFzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIHN1YnNjcmliZXJzW2V2ZW50XSA9IFtdO1xyXG5cclxuICAgIGlmICghcXVldWUpIHtcclxuICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgIGV2ZW50czogW2V2ZW50XSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVyc1tldmVudF0/LnB1c2goY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IChldmVudCwgY2IpOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGlmIChzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIGNvbnN0IGxpc3QgPSBzdWJzY3JpYmVyc1tldmVudF07XHJcbiAgICBjb25zdCBwb3MgPSBsaXN0Py5pbmRleE9mKGNiIGFzIFZvaWRGdW5jPHVua25vd24+KTtcclxuXHJcbiAgICBpZiAocG9zICE9PSB1bmRlZmluZWQgJiYgcG9zID4gLTEpXHJcbiAgICAgIGxpc3Q/LnNwbGljZShwb3MsIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlckludGVybmFsOiBJT3ZlcmxheUhhbmRsZXIgPSAoXHJcbiAgX21zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbik6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBtc2cgPSB7XHJcbiAgICAuLi5fbXNnLFxyXG4gICAgcnNlcTogMCxcclxuICB9O1xyXG4gIGxldCBwOiBQcm9taXNlPHVua25vd24+O1xyXG5cclxuICBpZiAod3MpIHtcclxuICAgIG1zZy5yc2VxID0gcnNlcUNvdW50ZXIrKztcclxuICAgIHAgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdID0geyByZXNvbHZlOiByZXNvbHZlLCByZWplY3Q6IHJlamVjdCB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgc2VuZE1lc3NhZ2UobXNnLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgcmVzb2x2ZShkYXRhKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShkYXRhKSBhcyBCYXNlUmVzcG9uc2U7XHJcbiAgICAgICAgaWYgKHBhcnNlZFsnJGVycm9yJ10pXHJcbiAgICAgICAgICByZWplY3QocGFyc2VkKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXNvbHZlKHBhcnNlZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcDtcclxufTtcclxuXHJcbnR5cGUgT3ZlcnJpZGVNYXAgPSB7IFtjYWxsIGluIE92ZXJsYXlIYW5kbGVyVHlwZXNdPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tjYWxsXSB9O1xyXG5jb25zdCBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcDogT3ZlcnJpZGVNYXAgPSB7fTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIC8vIElmIHRoaXMgYGFzYCBpcyBpbmNvcnJlY3QsIHRoZW4gaXQgd2lsbCBub3QgZmluZCBhbiBvdmVycmlkZS5cclxuICAvLyBUT0RPOiB3ZSBjb3VsZCBhbHNvIHJlcGxhY2UgdGhpcyB3aXRoIGEgdHlwZSBndWFyZC5cclxuICBjb25zdCB0eXBlID0gX21zZy5jYWxsIGFzIGtleW9mIE92ZXJyaWRlTWFwO1xyXG4gIGNvbnN0IGNhbGxGdW5jID0gY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV0gPz8gY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw7XHJcblxyXG4gIC8vIFRoZSBgSU92ZXJsYXlIYW5kbGVyYCB0eXBlIGd1YXJhbnRlZXMgdGhhdCBwYXJhbWV0ZXJzL3JldHVybiB0eXBlIG1hdGNoXHJcbiAgLy8gb25lIG9mIHRoZSBvdmVybGF5IGhhbmRsZXJzLiAgVGhlIE92ZXJyaWRlTWFwIGFsc28gb25seSBzdG9yZXMgZnVuY3Rpb25zXHJcbiAgLy8gdGhhdCBtYXRjaCBieSB0aGUgZGlzY3JpbWluYXRpbmcgYGNhbGxgIGZpZWxkLCBhbmQgc28gYW55IG92ZXJyaWRlc1xyXG4gIC8vIHNob3VsZCBiZSBjb3JyZWN0IGhlcmUuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XHJcbiAgcmV0dXJuIGNhbGxGdW5jKF9tc2cgYXMgYW55KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlID0gPFQgZXh0ZW5kcyBrZXlvZiBPdmVybGF5SGFuZGxlckZ1bmNzPihcclxuICB0eXBlOiBULFxyXG4gIG92ZXJyaWRlPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tUXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgaWYgKCFvdmVycmlkZSkge1xyXG4gICAgZGVsZXRlIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA9IG92ZXJyaWRlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluaXQgPSAoKTogdm9pZCA9PiB7XHJcbiAgaWYgKGluaXRlZClcclxuICAgIHJldHVybjtcclxuXHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB3c1VybCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdPVkVSTEFZX1dTJyk7XHJcbiAgICBpZiAod3NVcmwgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgY29ubmVjdFdzID0gZnVuY3Rpb24od3NVcmw6IHN0cmluZykge1xyXG4gICAgICAgIHdzID0gbmV3IFdlYlNvY2tldCh3c1VybCk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGVkIScpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGZvciAoY29uc3QgbXNnIG9mIHEpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1zZykpXHJcbiAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChfbXNnKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIF9tc2cuZGF0YSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIG1lc3NhZ2UgZGF0YSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoX21zZy5kYXRhKSBhcyBFdmVudFBhcmFtZXRlciAmIEJhc2VSZXNwb25zZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2VGdW5jcyA9IG1zZz8ucnNlcSAhPT0gdW5kZWZpbmVkID8gcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChtc2cucnNlcSAhPT0gdW5kZWZpbmVkICYmIHByb21pc2VGdW5jcykge1xyXG4gICAgICAgICAgICAgIGlmIChtc2dbJyRlcnJvciddKVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlamVjdChtc2cpO1xyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHByb21pc2VGdW5jcy5yZXNvbHZlKG1zZyk7XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NFdmVudChtc2cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCAoKSA9PiB7XHJcbiAgICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ1RyeWluZyB0byByZWNvbm5lY3QuLi4nKTtcclxuICAgICAgICAgIC8vIERvbid0IHNwYW0gdGhlIHNlcnZlciB3aXRoIHJldHJpZXMuXHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbm5lY3RXcyh3c1VybCk7XHJcbiAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHdhaXRGb3JBcGkgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpIHx8ICF3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5yZWFkeSkge1xyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQod2FpdEZvckFwaSwgMzAwKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgIHdpbmRvdy5fX092ZXJsYXlDYWxsYmFjayA9IHByb2Nlc3NFdmVudDtcclxuXHJcbiAgICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHEpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKVxyXG4gICAgICAgICAgICBzZW5kTWVzc2FnZShpdGVtWzBdLCBpdGVtWzFdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB3YWl0Rm9yQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVyZSB0aGUgT3ZlcmxheVBsdWdpbiBBUEkgaXMgcmVnaXN0ZXJlZCB0byB0aGUgd2luZG93IG9iamVjdCxcclxuICAgIC8vIGJ1dCB0aGlzIGlzIG1haW5seSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuRm9yIGNhY3Rib3QncyBidWlsdC1pbiBmaWxlcyxcclxuICAgIC8vIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgdmFyaW91cyBmdW5jdGlvbnMgZXhwb3J0ZWQgaW4gcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cy5cclxuICAgIHdpbmRvdy5hZGRPdmVybGF5TGlzdGVuZXIgPSBhZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cucmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gcmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgd2luZG93LmNhbGxPdmVybGF5SGFuZGxlciA9IGNhbGxPdmVybGF5SGFuZGxlcjtcclxuICAgIHdpbmRvdy5kaXNwYXRjaE92ZXJsYXlFdmVudCA9IGRpc3BhdGNoT3ZlcmxheUV2ZW50O1xyXG4gIH1cclxuXHJcbiAgaW5pdGVkID0gdHJ1ZTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0UGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3Byb3BzJztcclxuaW1wb3J0IHsgQ2FjdGJvdEJhc2VSZWdFeHAgfSBmcm9tICcuLi90eXBlcy9uZXRfdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgbG9nRGVmaW5pdGlvbnMsIHsgTG9nRGVmaW5pdGlvblR5cGVzLCBQYXJzZUhlbHBlckZpZWxkcyB9IGZyb20gJy4vbmV0bG9nX2RlZnMnO1xyXG5cclxuY29uc3Qgc2VwYXJhdG9yID0gJzonO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW146XSonO1xyXG5jb25zdCBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0ID0gJyg/OlteOl18OiApKj8nO1xyXG5jb25zdCBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zID0gWydlZmZlY3QnLCAnYWJpbGl0eSddO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZGVmS2V5OiBULFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGRlZktleSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIFNwZWNpYWwgY2FzZSBmb3IgQWJpbGl0eSB0byBoYW5kbGUgYW9lIGFuZCBub24tYW9lLlxyXG4gIGNvbnN0IGFiaWxpdHlNZXNzYWdlVHlwZSA9XHJcbiAgICBgKD86JHtsb2dEZWZpbml0aW9ucy5BYmlsaXR5Lm1lc3NhZ2VUeXBlfXwke2xvZ0RlZmluaXRpb25zLk5ldHdvcmtBT0VBYmlsaXR5Lm1lc3NhZ2VUeXBlfSlgO1xyXG4gIGNvbnN0IGFiaWxpdHlIZXhDb2RlID0gJyg/OjE1fDE2KSc7XHJcblxyXG4gIC8vIEJ1aWxkIHRoZSByZWdleCBmcm9tIHRoZSBmaWVsZHMuXHJcbiAgY29uc3QgcHJlZml4ID0gZGVmS2V5ICE9PSAnQWJpbGl0eScgPyBsb2dEZWZpbml0aW9uc1tkZWZLZXldLm1lc3NhZ2VUeXBlIDogYWJpbGl0eU1lc3NhZ2VUeXBlO1xyXG4gIGNvbnN0IGhleENvZGUgPSBkZWZLZXkgIT09ICdBYmlsaXR5J1xyXG4gICAgPyBgMDAke3BhcnNlSW50KGxvZ0RlZmluaXRpb25zW2RlZktleV0udHlwZSkudG9TdHJpbmcoMTYpfWAuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKClcclxuICAgIDogYWJpbGl0eUhleENvZGU7XHJcblxyXG4gIGxldCBzdHIgPSAnJztcclxuICBpZiAoY2FwdHVyZSlcclxuICAgIHN0ciArPSBgKD88dGltZXN0YW1wPlxcXFx5e1RpbWVzdGFtcH0pICR7cHJlZml4fSAoPzx0eXBlPiR7aGV4Q29kZX0pYDtcclxuICBlbHNlXHJcbiAgICBzdHIgKz0gYFxcXFx5e1RpbWVzdGFtcH0gJHtwcmVmaXh9ICR7aGV4Q29kZX1gO1xyXG5cclxuICBsZXQgbGFzdEtleSA9IDE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcblxyXG4gICAgLy8gUmVnZXggaGFuZGxlcyB0aGVzZSBtYW51YWxseSBhYm92ZSBpbiB0aGUgYHN0cmAgaW5pdGlhbGl6YXRpb24uXHJcbiAgICBpZiAoZmllbGROYW1lID09PSAndGltZXN0YW1wJyB8fCBmaWVsZE5hbWUgPT09ICd0eXBlJylcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3Qga2V5ID0gcGFyc2VJbnQoa2V5U3RyKTtcclxuICAgIC8vIEZpbGwgaW4gYmxhbmtzLlxyXG4gICAgY29uc3QgbWlzc2luZ0ZpZWxkcyA9IGtleSAtIGxhc3RLZXkgLSAxO1xyXG4gICAgaWYgKG1pc3NpbmdGaWVsZHMgPT09IDEpXHJcbiAgICAgIHN0ciArPSBgJHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9YDtcclxuICAgIGVsc2UgaWYgKG1pc3NpbmdGaWVsZHMgPiAxKVxyXG4gICAgICBzdHIgKz0gYCg/OiR7c2VwYXJhdG9yfSR7bWF0Y2hEZWZhdWx0fSl7JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBzdHIgKz0gc2VwYXJhdG9yO1xyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleVN0cl07XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RlZktleX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkRGVmYXVsdCA9IGZpZWxkTmFtZSAmJiBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zLmluY2x1ZGVzKGZpZWxkTmFtZSlcclxuICAgICAgPyBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0XHJcbiAgICAgIDogbWF0Y2hEZWZhdWx0O1xyXG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkc1trZXlTdHJdPy52YWx1ZT8udG9TdHJpbmcoKSA/PyBmaWVsZERlZmF1bHQ7XHJcblxyXG4gICAgaWYgKGZpZWxkTmFtZSkge1xyXG4gICAgICBzdHIgKz0gUmVnZXhlcy5tYXliZUNhcHR1cmUoXHJcbiAgICAgICAgLy8gbW9yZSBhY2N1cmF0ZSB0eXBlIGluc3RlYWQgb2YgYGFzYCBjYXN0XHJcbiAgICAgICAgLy8gbWF5YmUgdGhpcyBmdW5jdGlvbiBuZWVkcyBhIHJlZmFjdG9yaW5nXHJcbiAgICAgICAgY2FwdHVyZSxcclxuICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgKHBhcmFtcyBhcyB7IFtzOiBzdHJpbmddOiBzdHJpbmcgfSlbZmllbGROYW1lXSxcclxuICAgICAgICBmaWVsZFZhbHVlLFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBzdHIgKz0gJyg/OiR8OiknO1xyXG5cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhlcyB7XHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdBYmlsaXR5JywgZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhYmlsaXR5YCBpbnN0ZWFkXHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHlGdWxsKHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hYmlsaXR5KHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWItbmV0d29ya3RhcmdldGljb24taGVhZC1tYXJrZXJzXHJcbiAgICovXHJcbiAgc3RhdGljIGhlYWRNYXJrZXIocGFyYW1zPzogTmV0UGFyYW1zWydIZWFkTWFya2VyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnSGVhZE1hcmtlcic+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdIZWFkTWFya2VyJywgZGVmYXVsdFBhcmFtcygnSGVhZE1hcmtlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnQocGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdBZGRlZENvbWJhdGFudCcsXHJcbiAgICAgIGRlZmF1bHRQYXJhbXMoJ0FkZGVkQ29tYmF0YW50JywgW1xyXG4gICAgICAgICd0eXBlJyxcclxuICAgICAgICAndGltZXN0YW1wJyxcclxuICAgICAgICAnaWQnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgXSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudEZ1bGwoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FkZGVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUmVtb3ZlZENvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3RhdHVzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdMb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1BsYXllclN0YXRzJywgZGVmYXVsdFBhcmFtcygnUGxheWVyU3RhdHMnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDEtY2hhbmdlem9uZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBjaGFuZ2Vab25lKHBhcmFtcz86IE5ldFBhcmFtc1snQ2hhbmdlWm9uZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0NoYW5nZVpvbmUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQ2hhbmdlWm9uZScsIGRlZmF1bHRQYXJhbXMoJ0NoYW5nZVpvbmUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjEtbmV0d29yazZkLWFjdG9yLWNvbnRyb2wtbGluZXNcclxuICAgKi9cclxuICBzdGF0aWMgbmV0d29yazZkKHBhcmFtcz86IE5ldFBhcmFtc1snQWN0b3JDb250cm9sJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWN0b3JDb250cm9sJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FjdG9yQ29udHJvbCcsIGRlZmF1bHRQYXJhbXMoJ0FjdG9yQ29udHJvbCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMi1uZXR3b3JrbmFtZXRvZ2dsZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBuYW1lVG9nZ2xlKHBhcmFtcz86IE5ldFBhcmFtc1snTmFtZVRvZ2dsZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J05hbWVUb2dnbGUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnTmFtZVRvZ2dsZScsIGRlZmF1bHRQYXJhbXMoJ05hbWVUb2dnbGUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjgtbWFwXHJcbiAgICovXHJcbiAgc3RhdGljIG1hcChwYXJhbXM/OiBOZXRQYXJhbXNbJ01hcCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J01hcCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdNYXAnLCBkZWZhdWx0UGFyYW1zKCdNYXAnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjktc3lzdGVtbG9nbWVzc2FnZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBzeXN0ZW1Mb2dNZXNzYWdlKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTeXN0ZW1Mb2dNZXNzYWdlJ10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N5c3RlbUxvZ01lc3NhZ2UnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3lzdGVtTG9nTWVzc2FnZScsIGRlZmF1bHRQYXJhbXMoJ1N5c3RlbUxvZ01lc3NhZ2UnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIG5hbWVkIGNhcHR1cmUgZ3JvdXBcclxuICAgKi9cclxuICBzdGF0aWMgbWF5YmVDYXB0dXJlKFxyXG4gICAgY2FwdHVyZTogYm9vbGVhbixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZyxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlID8/IG1hdGNoRGVmYXVsdDtcclxuICAgIHZhbHVlID0gUmVnZXhlcy5hbnlPZih2YWx1ZSk7XHJcbiAgICByZXR1cm4gY2FwdHVyZSA/IFJlZ2V4ZXMubmFtZWRDYXB0dXJlKG5hbWUsIHZhbHVlKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG9wdGlvbmFsKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgKD86JHtzdHJ9KT9gO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3JlYXRlcyBhIG5hbWVkIHJlZ2V4IGNhcHR1cmUgZ3JvdXAgbmFtZWQgfG5hbWV8IGZvciB0aGUgbWF0Y2ggfHZhbHVlfC5cclxuICBzdGF0aWMgbmFtZWRDYXB0dXJlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPicpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoJzwnKSlcclxuICAgICAgY29uc29sZS5lcnJvcignXCInICsgbmFtZSArICdcIiBjb250YWlucyBcIj5cIi4nKTtcclxuXHJcbiAgICByZXR1cm4gJyg/PCcgKyBuYW1lICsgJz4nICsgdmFsdWUgKyAnKSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZW5pZW5jZSBmb3IgdHVybmluZyBtdWx0aXBsZSBhcmdzIGludG8gYSB1bmlvbmVkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cclxuICAgKiBhbnlPZih4LCB5LCB6KSBvciBhbnlPZihbeCwgeSwgel0pIGRvIHRoZSBzYW1lIHRoaW5nLCBhbmQgcmV0dXJuICg/Onh8eXx6KS5cclxuICAgKiBhbnlPZih4KSBvciBhbnlPZih4KSBvbiBpdHMgb3duIHNpbXBsaWZpZXMgdG8ganVzdCB4LlxyXG4gICAqIGFyZ3MgbWF5IGJlIHN0cmluZ3Mgb3IgUmVnRXhwLCBhbHRob3VnaCBhbnkgYWRkaXRpb25hbCBtYXJrZXJzIHRvIFJlZ0V4cFxyXG4gICAqIGxpa2UgL2luc2Vuc2l0aXZlL2kgYXJlIGRyb3BwZWQuXHJcbiAgICovXHJcbiAgc3RhdGljIGFueU9mKC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSB8IFJlZ0V4cClbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhbnlPZkFycmF5ID0gKGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGAoPzoke2FycmF5Lm1hcCgoZWxlbSkgPT4gZWxlbSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGVsZW0uc291cmNlIDogZWxlbSkuam9pbignfCcpfSlgO1xyXG4gICAgfTtcclxuICAgIGxldCBhcnJheTogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZ3NbMF0pKVxyXG4gICAgICAgIGFycmF5ID0gYXJnc1swXTtcclxuICAgICAgZWxzZSBpZiAoYXJnc1swXSlcclxuICAgICAgICBhcnJheSA9IFthcmdzWzBdXTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGFycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPOiBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgYXJyYXkgPSBhcmdzIGFzIHN0cmluZ1tdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFueU9mQXJyYXkoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhcnNlKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nIHwgQ2FjdGJvdEJhc2VSZWdFeHA8J05vbmUnPik6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBrQ2FjdGJvdENhdGVnb3JpZXMgPSB7XHJcbiAgICAgIFRpbWVzdGFtcDogJ14uezE0fScsXHJcbiAgICAgIE5ldFRpbWVzdGFtcDogJy57MzN9JyxcclxuICAgICAgTmV0RmllbGQ6ICcoPzpbXnxdKlxcXFx8KScsXHJcbiAgICAgIExvZ1R5cGU6ICdbMC05QS1GYS1mXXsyfScsXHJcbiAgICAgIEFiaWxpdHlDb2RlOiAnWzAtOUEtRmEtZl17MSw4fScsXHJcbiAgICAgIE9iamVjdElkOiAnWzAtOUEtRl17OH0nLFxyXG4gICAgICAvLyBNYXRjaGVzIGFueSBjaGFyYWN0ZXIgbmFtZSAoaW5jbHVkaW5nIGVtcHR5IHN0cmluZ3Mgd2hpY2ggdGhlIEZGWElWXHJcbiAgICAgIC8vIEFDVCBwbHVnaW4gY2FuIGdlbmVyYXRlIHdoZW4gdW5rbm93bikuXHJcbiAgICAgIE5hbWU6ICcoPzpbXlxcXFxzOnxdKyg/OiBbXlxcXFxzOnxdKyk/fCknLFxyXG4gICAgICAvLyBGbG9hdHMgY2FuIGhhdmUgY29tbWEgYXMgc2VwYXJhdG9yIGluIEZGWElWIHBsdWdpbiBvdXRwdXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXZhaG4vRkZYSVZfQUNUX1BsdWdpbi9pc3N1ZXMvMTM3XHJcbiAgICAgIEZsb2F0OiAnLT9bMC05XSsoPzpbLixdWzAtOV0rKT8oPzpFLT9bMC05XSspPycsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEFsbCByZWdleGVzIGluIGNhY3Rib3QgYXJlIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICAvLyBUaGlzIGF2b2lkcyBoZWFkYWNoZXMgYXMgdGhpbmdzIGxpa2UgYFZpY2UgYW5kIFZhbml0eWAgdHVybnMgaW50b1xyXG4gICAgLy8gYFZpY2UgQW5kIFZhbml0eWAsIGVzcGVjaWFsbHkgZm9yIEZyZW5jaCBhbmQgR2VybWFuLiAgSXQgYXBwZWFycyB0b1xyXG4gICAgLy8gaGF2ZSBhIH4yMCUgcmVnZXggcGFyc2luZyBvdmVyaGVhZCwgYnV0IGF0IGxlYXN0IHRoZXkgd29yay5cclxuICAgIGxldCBtb2RpZmllcnMgPSAnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgIG1vZGlmaWVycyArPSAocmVnZXhwU3RyaW5nLmdsb2JhbCA/ICdnJyA6ICcnKSArXHJcbiAgICAgICAgKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5zb3VyY2U7XHJcbiAgICB9XHJcbiAgICByZWdleHBTdHJpbmcgPSByZWdleHBTdHJpbmcucmVwbGFjZSgvXFxcXHlcXHsoLio/KVxcfS9nLCAobWF0Y2gsIGdyb3VwKSA9PiB7XHJcbiAgICAgIHJldHVybiBrQ2FjdGJvdENhdGVnb3JpZXNbZ3JvdXAgYXMga2V5b2YgdHlwZW9mIGtDYWN0Ym90Q2F0ZWdvcmllc10gfHwgbWF0Y2g7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ2V4cFN0cmluZywgbW9kaWZpZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIExpa2UgUmVnZXguUmVnZXhlcy5wYXJzZSwgYnV0IGZvcmNlIGdsb2JhbCBmbGFnLlxyXG4gIHN0YXRpYyBwYXJzZUdsb2JhbChyZWdleHBTdHJpbmc6IFJlZ0V4cCB8IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCByZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXhwU3RyaW5nKTtcclxuICAgIGxldCBtb2RpZmllcnMgPSAnZ2knO1xyXG4gICAgaWYgKHJlZ2V4cFN0cmluZyBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcubXVsdGlsaW5lID8gJ20nIDogJycpO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXguc291cmNlLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRydWVJZlVuZGVmaW5lZCh2YWx1ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICEhdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdmFsaWRhdGVQYXJhbXMoXHJcbiAgICBmOiBSZWFkb25seTx7IFtzOiBzdHJpbmddOiB1bmtub3duIH0+LFxyXG4gICAgZnVuY05hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtczogUmVhZG9ubHk8c3RyaW5nW10+LFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGYgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgZiAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmKTtcclxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwga2V5cy5sZW5ndGg7ICsraykge1xyXG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2tdO1xyXG4gICAgICBpZiAoa2V5ICYmICFwYXJhbXMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGAke2Z1bmNOYW1lfTogaW52YWxpZCBwYXJhbWV0ZXIgJyR7a2V5fScuICBgICtcclxuICAgICAgICAgICAgYFZhbGlkIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfWAsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gYSB0cmlnZ2VyIGFzIHN1Y2g6XHJcbi8vIHtcclxuLy8gICBpZDogJ1NvbWUgdGFua2J1c3RlcicsXHJcbi8vICAgcmVnZXg6IFJlZ2V4ZXMuc3RhcnRzVXNpbmcoe3NvdXJjZTogJ1llIE9sZGUgQm9zc2UnLCBpZDogJzY2Nid9KSxcclxuLy8gICBjb25kaXRpb246IENvbmRpdGlvbnMuY2FyZXNBYm91dE1hZ2ljYWwoZGF0YSksXHJcbi8vICAgcmVzcG9uc2U6IFJlc3BvbnNlcy50YW5rYnVzdGVyKCksXHJcbi8vIH0sXHJcbi8vXHJcbi8vIE5vdGU6IEJyZWFraW5nIG91dCB0aGUgY29uZGl0aW9uIGxpa2UgdGhpcyBsZXRzIHBlb3BsZSBvdmVycmlkZSBpdCBpZiB0aGV5XHJcbi8vIGFsd2F5cyAob3IgbmV2ZXIpIHdhbnQgdG8ga25vdyBhYm91dCBpdCwgcmF0aGVyIHRoYW4gaGlkaW5nIHRoZSBsb2dpYyBpbnNpZGVcclxuLy8gdGhlIHRhbmtidXN0ZXIgY2FsbGJhY2sgd2l0aCBhIFwiaXMgaGVhbGVyXCIgY2hlY2suXHJcbi8vXHJcbi8vIElmIGRhdGEucm9sZSBpcyB1c2VkLCBpdCBzaG91bGQgYmUgb25seSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWxlcnQgbGV2ZWxzLFxyXG4vLyBhbmQgbm90IHdoZXRoZXIgYSBtZXNzYWdlIGlzIHNlbnQgYXQgYWxsLlxyXG4vL1xyXG4vLyBBbHRob3VnaCB0aGlzIGlzIG5vdCB0cnVlIG9mIGByZXNwb25zZTogYCBmaWVsZHMgb24gdHJpZ2dlcnMgaW4gZ2VuZXJhbCxcclxuLy8gYWxsIHJlc3BvbnNlcyBpbiB0aGlzIGZpbGUgc2hvdWxkIGVpdGhlciByZXR1cm4gYW4gb2JqZWN0IG9yIGEgc2luZ2xlXHJcbi8vIGZ1bmN0aW9uIHRoYXQgc2V0cyBvdXRwdXRTdHJpbmdzIGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aXRob3V0IGRvaW5nXHJcbi8vIGFueXRoaW5nIHdpdGggZGF0YSBvciBtYXRjaGVzLiAgU2VlIGByZXNwb25zZXNfdGVzdC5qc2AuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBSZXNwb25zZUZ1bmMsXHJcbiAgUmVzcG9uc2VPdXRwdXQsXHJcbiAgVGFyZ2V0ZWRNYXRjaGVzLFxyXG4gIFRyaWdnZXJGdW5jLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5cclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0gUmVzcG9uc2VPdXRwdXQ8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzPjtcclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkRnVuYyA9IFRyaWdnZXJGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+PjtcclxudHlwZSBTdGF0aWNSZXNwb25zZUZ1bmMgPSBSZXNwb25zZUZ1bmM8RGF0YSwgTWF0Y2hlcz47XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlMaXN0ID0gWydpbmZvJywgJ2FsZXJ0JywgJ2FsYXJtJ10gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFNldmVyaXR5ID0gdHlwZW9mIHNldmVyaXR5TGlzdFtudW1iZXJdO1xyXG5leHBvcnQgdHlwZSBTZXZUZXh0ID0gJ2luZm9UZXh0JyB8ICdhbGVydFRleHQnIHwgJ2FsYXJtVGV4dCc7XHJcblxyXG5leHBvcnQgY29uc3QgYnVpbHRJblJlc3BvbnNlU3RyID0gJ2NhY3Rib3QtYnVpbHRpbi1yZXNwb25zZSc7XHJcblxyXG4vLyBBbGwgdmFsaWQgdHJpZ2dlciBmaWVsZHMuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyRnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdjb25kaXRpb24nLFxyXG4gICdkZWxheVNlY29uZHMnLFxyXG4gICdkaXNhYmxlZCcsXHJcbiAgJ2R1cmF0aW9uU2Vjb25kcycsXHJcbiAgJ2lkJyxcclxuICAndHlwZScsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncHJlUnVuJyxcclxuICAncHJvbWlzZScsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAncnVuJyxcclxuICAnc291bmQnLFxyXG4gICdzb3VuZFZvbHVtZScsXHJcbiAgJ3N1cHByZXNzU2Vjb25kcycsXHJcbiAgJ3R0cycsXHJcbiAgJ291dHB1dFN0cmluZ3MnLFxyXG5dO1xyXG5cclxuLy8gVHJpZ2dlciBmaWVsZHMgdGhhdCBjYW4gcHJvZHVjZSB0ZXh0IG91dHB1dC5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdpbmZvVGV4dCcsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAndHRzJyxcclxuXTtcclxuXHJcbi8vIElmIGEgdHJpZ2dlciBoYXMgYW55IG9mIHRoZXNlLCB0aGVuIGl0IGhhcyBhIHZpc2libGUvYXVkaW8gZWZmZWN0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlck91dHB1dEZ1bmN0aW9uczogKGtleW9mIExvb3NlVHJpZ2dlcilbXSA9IFtcclxuICAuLi50cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyxcclxuICAnc291bmQnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldmVyaXR5TWFwOiB7IFtzZXYgaW4gU2V2ZXJpdHldOiBTZXZUZXh0IH0gPSB7XHJcbiAgJ2luZm8nOiAnaW5mb1RleHQnLFxyXG4gICdhbGVydCc6ICdhbGVydFRleHQnLFxyXG4gICdhbGFybSc6ICdhbGFybVRleHQnLFxyXG59O1xyXG5cclxuY29uc3QgZ2V0VGV4dCA9IChzZXY6IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCEoc2V2IGluIHNldmVyaXR5TWFwKSlcclxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXZlcml0eTogJHtzZXZ9LmApO1xyXG4gIHJldHVybiBzZXZlcml0eU1hcFtzZXZdO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEluZm9UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2luZm9UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEFsZXJ0VGV4dCA9IChzZXY/OiBTZXZlcml0eSk6IFNldlRleHQgPT4ge1xyXG4gIGlmICghc2V2KVxyXG4gICAgcmV0dXJuICdhbGVydFRleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxhcm1UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsYXJtVGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGdldFRhcmdldCA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICAvLyBPZnRlbiB0YW5rYnVzdGVycyBjYW4gYmUgY2FzdGVkIGJ5IHRoZSBib3NzIG9uIHRoZSBib3NzLlxyXG4gIC8vIENvbnNpZGVyIHRoaXMgYXMgXCJub3QgaGF2aW5nIGEgdGFyZ2V0XCIuXHJcbiAgaWYgKCFtYXRjaGVzIHx8IG1hdGNoZXMudGFyZ2V0ID09PSBtYXRjaGVzLnNvdXJjZSlcclxuICAgIHJldHVybjtcclxuICByZXR1cm4gbWF0Y2hlcy50YXJnZXQ7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTb3VyY2UgPSAobWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiB7XHJcbiAgcmV0dXJuIG1hdGNoZXM/LnNvdXJjZTtcclxufTtcclxuXHJcbi8vIEZJWE1FOiBtYWtlIHRoaXMgd29yayBmb3IgYW55IG51bWJlciBvZiBwYWlycyBvZiBwYXJhbXNcclxuY29uc3QgY29tYmluZUZ1bmNzID0gZnVuY3Rpb24oXHJcbiAgdGV4dDE6IFNldlRleHQsXHJcbiAgZnVuYzE6IFRhcmdldGVkRnVuYyxcclxuICB0ZXh0MjogU2V2VGV4dCxcclxuICBmdW5jMjogVGFyZ2V0ZWRGdW5jLFxyXG4pIHtcclxuICBjb25zdCBvYmo6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSB7fTtcclxuXHJcbiAgaWYgKHRleHQxICE9PSB0ZXh0Mikge1xyXG4gICAgb2JqW3RleHQxXSA9IGZ1bmMxO1xyXG4gICAgb2JqW3RleHQyXSA9IGZ1bmMyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvYmpbdGV4dDFdID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgcmV0dXJuIGZ1bmMxKGRhdGEsIG1hdGNoZXMsIG91dHB1dCkgfHwgZnVuYzIoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn07XHJcblxyXG5jb25zdCBpc1BsYXllcklkID0gKGlkPzogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGlkICYmIGlkWzBdICE9PSAnNCc7XHJcbn07XHJcblxyXG4vLyBGb3IgcmVzcG9uc2VzIHRoYXQgdW5jb25kaXRpb25hbGx5IHJldHVybiBzdGF0aWMgdGV4dC5cclxuY29uc3Qgc3RhdGljUmVzcG9uc2UgPSAoZmllbGQ6IFNldlRleHQsIHRleHQ6IExvY2FsZVRleHQpOiBTdGF0aWNSZXNwb25zZUZ1bmMgPT4ge1xyXG4gIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0ZXh0OiB0ZXh0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFtmaWVsZF06IChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiBvdXRwdXQudGV4dD8uKCksXHJcbiAgICB9O1xyXG4gIH07XHJcbn07XHJcblxyXG50eXBlIFNpbmdsZVNldlRvUmVzcG9uc2VGdW5jID0gKHNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYyB8IFN0YXRpY1Jlc3BvbnNlRnVuYztcclxudHlwZSBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYyA9ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4gVGFyZ2V0ZWRSZXNwb25zZUZ1bmM7XHJcbnR5cGUgUmVzcG9uc2VzTWFwID0ge1xyXG4gIFtyZXNwb25zZTogc3RyaW5nXTogU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgfCBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXNwb25zZXMgPSB7XHJcbiAgdGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBub1RhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyLFxyXG4gICAgICBidXN0ZXJPbllvdTogT3V0cHV0cy50YW5rQnVzdGVyT25Zb3UsXHJcbiAgICAgIGJ1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXJPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lm5vVGFyZ2V0Py4oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJTd2FwOiAoYnVzdGVyU2V2PzogU2V2ZXJpdHksIHN3YXBTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgdGFua1N3YXA6IE91dHB1dHMudGFua1N3YXAsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBOb3RlOiBidXN0ZXJTZXYgYW5kIHN3YXBTZXYgY2FuIGJlIHRoZSBzYW1lIHByaW9yaXR5LlxyXG4gICAgY29uc3QgdGFua1N3YXBGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQudGFua1N3YXA/LigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGJ1c3RlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcblxyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPbllvdT8uKCk7XHJcbiAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGFybVRleHQoc3dhcFNldiksXHJcbiAgICAgIHRhbmtTd2FwRnVuYyxcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dChidXN0ZXJTZXYpLFxyXG4gICAgICBidXN0ZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBjbGVhdmVPbllvdTogT3V0cHV0cy50YW5rQ2xlYXZlT25Zb3UsXHJcbiAgICAgICAgY2xlYXZlTm9UYXJnZXQ6IE91dHB1dHMudGFua0NsZWF2ZSxcclxuICAgICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRJbmZvVGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlT25Zb3U/LigpO1xyXG4gICAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEuam9iID09PSAnQkxVJykge1xyXG4gICAgICAgICAgICAvLyB0YXJnZXRsZXNzIHRhbmsgY2xlYXZlXHJcbiAgICAgICAgICAgIC8vIEJMVSBwbGF5ZXJzIHNob3VsZCBhbHdheXMgZ2V0IHRoaXMgZ2VuZXJpYyBjbGVhdmUgbWVzc2FnZS5cclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyByb2J1c3Qgd2F5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXkgaGF2ZSB0YW5rIE1pbWljcnkgb24sXHJcbiAgICAgICAgICAgIC8vIGFuZCBpdCdzIHJlYWxseSBhbm5veWluZyBmb3IgYSBCTFUgdGFuayB0byBiZSB0b2xkIHRvIGF2b2lkIGNsZWF2ZXMgd2hlbiB0aGV5IGNhbid0LlxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmNsZWF2ZU5vVGFyZ2V0Py4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHNoYXJlZFRhbmtCdXN0ZXI6ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPbllvdSxcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPblBsYXllcixcclxuICAgICAgc2hhcmVkVGFua2J1c3RlcjogT3V0cHV0cy5zaGFyZWRUYW5rYnVzdGVyLFxyXG4gICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXI/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlck9uWW91Py4oKTtcclxuICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUgfHwgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmF2b2lkQ2xlYXZlPy4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCk6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1pbmlCdXN0ZXIpLFxyXG4gIGFvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5hb2UpLFxyXG4gIGJpZ0FvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iaWdBb2UpLFxyXG4gIHNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5zcHJlYWQpLFxyXG4gIC8vIGZvciBzdGFjayBtYXJrZXIgc2l0dWF0aW9ucy5cclxuICBzdGFja01hcmtlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3RhY2tNYXJrZXIpLFxyXG4gIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgZ2V0VG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFRvZ2V0aGVyKSxcclxuICBzdGFja01hcmtlck9uOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdGFja09uWW91OiBPdXRwdXRzLnN0YWNrT25Zb3UsXHJcbiAgICAgICAgc3RhY2tPblRhcmdldDogT3V0cHV0cy5zdGFja09uUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uWW91Py4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc3RhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHN0YWNrTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrTWlkZGxlKSxcclxuICBkb3JpdG9TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZG9yaXRvU3RhY2spLFxyXG4gIHNwcmVhZFRoZW5TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZFRoZW5TdGFjayk7XHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IChzZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgcmV0dXJuIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja1RoZW5TcHJlYWQpO1xyXG4gIH0sXHJcbiAga25vY2tiYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5rbm9ja2JhY2spLFxyXG4gIGtub2NrYmFja09uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIGtub2NrYmFja09uWW91OiBPdXRwdXRzLmtub2NrYmFja09uWW91LFxyXG4gICAgICBrbm9ja2JhY2tPblRhcmdldDogT3V0cHV0cy5rbm9ja2JhY2tPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lmtub2NrYmFja09uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgZHJhd0luOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmRyYXdJbiksXHJcbiAgbG9va1Rvd2FyZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubG9va1Rvd2FyZHNCb3NzKSxcclxuICBsb29rQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rQXdheSksXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8udGFyZ2V0SWQpID8gZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSA6IHRhcmdldDtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGxvb2tBd2F5RnJvbVNvdXJjZTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgbG9va0F3YXlGcm9tOiBPdXRwdXRzLmxvb2tBd2F5RnJvbVRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChzb3VyY2UgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBpc1BsYXllcklkKG1hdGNoZXM/LnNvdXJjZUlkKSA/IGRhdGEuU2hvcnROYW1lKHNvdXJjZSkgOiBzb3VyY2U7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0Lmxvb2tBd2F5RnJvbT8uKHsgbmFtZTogbmFtZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBnZXRCZWhpbmQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldEJlaGluZCksXHJcbiAgZ29Gcm9udE9yU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRPclNpZGVzKSxcclxuICAvLyAuZ2V0VW5kZXIoKSBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5nZXRVbmRlciksXHJcbiAgLy8gLmdldEluKCkgaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGdldEluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5pbiksXHJcbiAgLy8gLmdldE91dCgpIG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIGdldE91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMub3V0KSxcclxuICBvdXRPZk1lbGVlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dE9mTWVsZWUpLFxyXG4gIGdldEluVGhlbk91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5pblRoZW5PdXQpLFxyXG4gIGdldE91dFRoZW5JbjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5vdXRUaGVuSW4pLFxyXG4gIGdldEJhY2tUaGVuRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuYmFja1RoZW5Gcm9udCksXHJcbiAgZ2V0RnJvbnRUaGVuQmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5mcm9udFRoZW5CYWNrKSxcclxuICBnb01pZGRsZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29JbnRvTWlkZGxlKSxcclxuICBnb1JpZ2h0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5yaWdodCksXHJcbiAgZ29MZWZ0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5sZWZ0KSxcclxuICBnb1dlc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldExlZnRBbmRXZXN0KSxcclxuICBnb0Vhc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFJpZ2h0QW5kRWFzdCksXHJcbiAgZ29Gcm9udEJhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRCYWNrKSxcclxuICBnb1NpZGVzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zaWRlcyksXHJcbiAgLy8gLmtpbGxBZGRzKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxBZGRzKSxcclxuICAvLyAua2lsbEV4dHJhQWRkKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5raWxsRXh0cmFBZGQpLFxyXG4gIGF3YXlGcm9tRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmF3YXlGcm9tRnJvbnQpLFxyXG4gIHNsZWVwOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzbGVlcDogT3V0cHV0cy5zbGVlcFRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnNsZWVwPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3R1bk9ySW50ZXJydXB0SWZQb3NzaWJsZTogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgICAgaW50ZXJydXB0OiBPdXRwdXRzLmludGVycnVwdFRhcmdldCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5DYW5TaWxlbmNlKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChkYXRhLkNhblN0dW4oKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfSxcclxuICBzdHVuOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgaW50ZXJydXB0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgcHJleU9uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHByZXlPbllvdTogT3V0cHV0cy5wcmV5T25Zb3UsXHJcbiAgICAgIHByZXlPblRhcmdldDogT3V0cHV0cy5wcmV5T25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLm1lID09PSB0YXJnZXQpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBhd2F5RnJvbTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgYXdheUZyb21Hcm91cDogT3V0cHV0cy5hd2F5RnJvbUdyb3VwLFxyXG4gICAgICAgIGF3YXlGcm9tVGFyZ2V0OiBPdXRwdXRzLmF3YXlGcm9tUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbUdyb3VwPy4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXdheUZyb21UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBtZXRlb3JPbllvdTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMubWV0ZW9yT25Zb3UpLFxyXG4gIHN0b3BNb3Zpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BNb3ZpbmcpLFxyXG4gIHN0b3BFdmVyeXRoaW5nOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5zdG9wRXZlcnl0aGluZyksXHJcbiAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICBtb3ZlQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXdheSksXHJcbiAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgbW92ZUFyb3VuZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXJvdW5kKSxcclxuICBicmVha0NoYWluczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5icmVha0NoYWlucyksXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQ2hhaW5zVG9nZXRoZXIpLFxyXG4gIGVhcnRoc2hha2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBlYXJ0aHNoYWtlcjogT3V0cHV0cy5lYXJ0aHNoYWtlck9uWW91LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5lYXJ0aHNoYWtlcj8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgd2FrZVVwOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy53YWtlVXApLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gRG9uJ3QgZ2l2ZSBgUmVzcG9uc2VzYCBhIHR5cGUgaW4gaXRzIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgY2FuIGJlIHRyZWF0ZWQgYXMgbW9yZSBzdHJpY3RcclxuLy8gdGhhbiBgUmVzcG9uc2VzTWFwYCwgYnV0IGRvIGFzc2VydCB0aGF0IGl0cyB0eXBlIGlzIGNvcnJlY3QuICBUaGlzIGFsbG93cyBjYWxsZXJzIHRvIGtub3dcclxuLy8gd2hpY2ggcHJvcGVydGllcyBhcmUgZGVmaW5lZCBpbiBSZXNwb25zZXMgd2l0aG91dCBoYXZpbmcgdG8gY29uZGl0aW9uYWxseSBjaGVjayBmb3IgdW5kZWZpbmVkLlxyXG5jb25zdCByZXNwb25zZU1hcFR5cGVBc3NlcnRpb246IFJlc3BvbnNlc01hcCA9IFJlc3BvbnNlcztcclxuLy8gU3VwcHJlc3MgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcuXHJcbmNvbnNvbGUuYXNzZXJ0KHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbik7XHJcbiIsIi8vIFRPRE86IEZpeCBpbXBvcnQvb3JkZXJcclxuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L29yZGVyICovXHJcbmltcG9ydCB7IENhY3Rib3RDb25maWd1cmF0b3IgfSBmcm9tICcuLi91aS9jb25maWcvY29uZmlnJztcclxuaW1wb3J0IHsgaXNMYW5nLCBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IENhY3Rib3RMb2FkVXNlclJldCwgU2F2ZWRDb25maWcsIFNhdmVkQ29uZmlnRW50cnkgfSBmcm9tICcuLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IExvY2FsZU9iamVjdCwgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIsIGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi9ub3RfcmVhY2hlZCc7XHJcblxyXG4vLyBUT0RPOlxyXG4vLyBUaGUgY29udmVudGlvbiBvZiBcImltcG9ydCBYIGFzIF9YOyBjb25zdCBYID0gX1g7XCIgaXMgY3VycmVudGx5XHJcbi8vIGJlaW5nIHVzZWQgYXMgYSBtZXRob2QgdG8gd29ya2Fyb3VuZCBmb3IgZG93bnN0cmVhbSBjb2RlXHJcbi8vIHRoYXQgaXMgcnVubmluZyB2aWEgZXZhbCgpLiBCZWNhdXNlIGltcG9ydGluZyBzdGF0ZW1lbnRzIGRvIG5vdFxyXG4vLyBjcmVhdGUgYSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLCB0aGUgZXZhbCgpJ2QgY29kZSBkb2VzIG5vdCBrbm93XHJcbi8vIGFib3V0IHRoZSBpbXBvcnQsIGFuZCB0aHVzIHRocm93cyBSZWZlcmVuY2VFcnJvcnMuXHJcbi8vIFVzZWQgYnkgZG93bnN0cmVhbSBldmFsXHJcbmltcG9ydCBfQ29uZGl0aW9ucyBmcm9tICcuL2NvbmRpdGlvbnMnO1xyXG5jb25zdCBDb25kaXRpb25zID0gX0NvbmRpdGlvbnM7XHJcbmltcG9ydCBfQ29udGVudFR5cGUgZnJvbSAnLi9jb250ZW50X3R5cGUnO1xyXG5jb25zdCBDb250ZW50VHlwZSA9IF9Db250ZW50VHlwZTtcclxuaW1wb3J0IF9OZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmNvbnN0IE5ldFJlZ2V4ZXMgPSBfTmV0UmVnZXhlcztcclxuaW1wb3J0IF9SZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcbmNvbnN0IFJlZ2V4ZXMgPSBfUmVnZXhlcztcclxuaW1wb3J0IHsgUmVzcG9uc2VzIGFzIF9SZXNwb25zZXMgfSBmcm9tICcuL3Jlc3BvbnNlcyc7XHJcbmNvbnN0IFJlc3BvbnNlcyA9IF9SZXNwb25zZXM7XHJcbmltcG9ydCBfT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5jb25zdCBPdXRwdXRzID0gX091dHB1dHM7XHJcbmltcG9ydCBfVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5jb25zdCBVdGlsID0gX1V0aWw7XHJcbmltcG9ydCBfWm9uZUlkIGZyb20gJy4vem9uZV9pZCc7XHJcbmNvbnN0IFpvbmVJZCA9IF9ab25lSWQ7XHJcbmltcG9ydCBfWm9uZUluZm8gZnJvbSAnLi96b25lX2luZm8nO1xyXG5jb25zdCBab25lSW5mbyA9IF9ab25lSW5mbztcclxuXHJcbi8vIENvbnZpbmNlIFR5cGVTY3JpcHQgYW5kIGVzbGludCB0aGF0IHRoZXNlIGFyZSB1c2VkLiAgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgYSBncmVhdCB3YXlcclxuLy8gdG8gZGlzYWJsZSBpbmRpdmlkdWFsIHJ1bGVzLCBzbyB0aGlzIGlzIHNhZmVyIHRoYW4gZGlzYWJsaW5nIGFsbCBydWxlcy5cclxuY29uc29sZS5hc3NlcnQoXHJcbiAgQ29uZGl0aW9ucyAmJiBDb250ZW50VHlwZSAmJiBOZXRSZWdleGVzICYmIFJlZ2V4ZXMgJiZcclxuICAgIFJlc3BvbnNlcyAmJiBPdXRwdXRzICYmIFV0aWwgJiYgWm9uZUlkICYmIFpvbmVJbmZvLFxyXG4pO1xyXG5cclxuLy8gVE9ETzogbW92ZSBhbGwgb2YgdGhlc2UgdG8gY29uZmlnLmpzP1xyXG5leHBvcnQgdHlwZSBVc2VyRmlsZUNhbGxiYWNrID0gKFxyXG4gIGpzRmlsZTogc3RyaW5nLFxyXG4gIGxvY2FsRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBvcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuZXhwb3J0IHR5cGUgQ29uZmlnRW50cnkgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBMb2NhbGVUZXh0O1xyXG4gIHR5cGU6ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdmbG9hdCcgfCAnaW50ZWdlcicgfCAnZGlyZWN0b3J5JyB8ICdodG1sJztcclxuICBodG1sPzogTG9jYWxlVGV4dDtcclxuICBkZWZhdWx0OiBDb25maWdWYWx1ZTtcclxuICBkZWJ1Zz86IGJvb2xlYW47XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICAvLyBGb3Igc2VsZWN0LlxyXG4gIG9wdGlvbnM/OiBMb2NhbGVPYmplY3Q8eyBbc2VsZWN0VGV4dDogc3RyaW5nXTogc3RyaW5nIH0+O1xyXG4gIHNldHRlckZ1bmM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVST86IChiYXNlOiBDYWN0Ym90Q29uZmlndXJhdG9yLCBjb250YWluZXI6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG4gIG9wdGlvbnM6IENvbmZpZ0VudHJ5W107XHJcbn07XHJcblxyXG5jbGFzcyBVc2VyQ29uZmlnIHtcclxuICBwdWJsaWMgb3B0aW9uVGVtcGxhdGVzOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogT3B0aW9uc1RlbXBsYXRlIH0gPSB7fTtcclxuICBwdWJsaWMgdXNlckZpbGVDYWxsYmFja3M6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBVc2VyRmlsZUNhbGxiYWNrIH0gPSB7fTtcclxuICBwdWJsaWMgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnID0ge307XHJcblxyXG4gIGdldERlZmF1bHRCYXNlT3B0aW9ucygpOiBCYXNlT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBQYXJzZXJMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgU2hvcnRMb2NhbGU6ICdlbicsXHJcbiAgICAgIERpc3BsYXlMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgVGV4dEFsZXJ0c0VuYWJsZWQ6IHRydWUsXHJcbiAgICAgIFNvdW5kQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIEdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZXZhbFVzZXJGaWxlKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMpOiB2b2lkIHtcclxuICAgIGNvbnN0IE9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgY29uc29sZS5hc3NlcnQoT3B0aW9ucyk7IC8vIFVzZWQgYnkgZXZhbC5cclxuXHJcbiAgICAvLyBUaGlzIGlzIHRoZSBvbmUgZXZhbCBjYWN0Ym90IHNob3VsZCBldmVyIG5lZWQsIHdoaWNoIGlzIGZvciBoYW5kbGluZyB1c2VyIGZpbGVzLlxyXG4gICAgLy8gQmVjYXVzZSB1c2VyIGZpbGVzIGNhbiBiZSBsb2NhdGVkIGFueXdoZXJlIG9uIGRpc2sgYW5kIHRoZXJlJ3MgYmFja3dhcmRzIGNvbXBhdFxyXG4gICAgLy8gaXNzdWVzLCBpdCdzIHVubGlrZWx5IHRoYXQgdGhlc2Ugd2lsbCBiZSBhYmxlIHRvIGJlIGFueXRoaW5nIGJ1dCBldmFsIGZvcmV2ZXIuXHJcbiAgICAvL1xyXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tZXZhbCAqL1xyXG4gICAgZXZhbChjb250ZW50KTtcclxuICAgIC8qIGVzbGludC1lbmFibGUgbm8tZXZhbCAqL1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPcHRpb25zKFxyXG4gICAgb3ZlcmxheU5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvblRlbXBsYXRlOiBPcHRpb25zVGVtcGxhdGUsXHJcbiAgICB1c2VyRmlsZUNhbGxiYWNrPzogVXNlckZpbGVDYWxsYmFjayxcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSA9IG9wdGlvblRlbXBsYXRlO1xyXG4gICAgaWYgKHVzZXJGaWxlQ2FsbGJhY2spXHJcbiAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdID0gdXNlckZpbGVDYWxsYmFjaztcclxuICB9XHJcblxyXG4gIHNvcnRVc2VyRmlsZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIC8vIEhlbHBlciBkYXRhIHN0cnVjdHVyZSBmb3Igc3ViZGlyZWN0b3JpZXMuXHJcbiAgICBjb25zdCBzcGxpdEtleU1hcDogeyBbazogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cylcclxuICAgICAgc3BsaXRLZXlNYXBba2V5XSA9IGtleS50b1VwcGVyQ2FzZSgpLnNwbGl0KC9bL1xcXFxdLyk7XHJcblxyXG4gICAgLy8gU29ydCBwYXRocyBhcyBhIGRlcHRoLWZpcnN0IGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsIHN1YmRpcmVjdG9yeSB3YWxrLCBmb2xsb3dlZCBieVxyXG4gICAgLy8gYWxsIGZpbGVzIHNvcnRlZCBjYXNlLWluc2Vuc2l0aXZlIGFscGhhYmV0aWNhbGx5IG9uY2UgYSBzdWJkaXIgaGFzIGJlZW4gcHJvY2Vzc2VkLCBlLmcuXHJcbiAgICAvLyAgKiBhL3NvbWUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMS96L3ovei9uZXN0ZWRfZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL2ZpbGUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMi9maXJzdC5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL3NlY29uZC5qc1xyXG4gICAgLy8gICogYi9zb21lX2ZpbGUuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTEuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTIuanNcclxuICAgIHJldHVybiBrZXlzLnNvcnQoKGtleUEsIGtleUIpID0+IHtcclxuICAgICAgY29uc3QgbGlzdEEgPSBzcGxpdEtleU1hcFtrZXlBXTtcclxuICAgICAgY29uc3QgbGlzdEIgPSBzcGxpdEtleU1hcFtrZXlCXTtcclxuICAgICAgaWYgKGxpc3RBID09PSB1bmRlZmluZWQgfHwgbGlzdEIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBjb25zdCBtYXhMZW4gPSBNYXRoLm1heChsaXN0QS5sZW5ndGgsIGxpc3RCLmxlbmd0aCk7XHJcbiAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1heExlbjsgKytpZHgpIHtcclxuICAgICAgICBjb25zdCBlbnRyeUEgPSBsaXN0QVtpZHhdO1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QiA9IGxpc3RCW2lkeF07XHJcbiAgICAgICAgLy8gSW4gcHJhY3RpY2UsIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBlbnRyeS5cclxuICAgICAgICBpZiAoZW50cnlBID09PSB1bmRlZmluZWQgfHwgZW50cnlCID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGJvdGggc3ViZGlyZWN0b3JpZXMgb3IgYm90aCBmaWxlcywgdGhlbiBjb21wYXJlIG5hbWVzLlxyXG4gICAgICAgIGNvbnN0IGlzTGFzdEEgPSBsaXN0QS5sZW5ndGggLSAxID09PSBpZHg7XHJcbiAgICAgICAgY29uc3QgaXNMYXN0QiA9IGxpc3RCLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuXHJcbiAgICAgICAgaWYgKGlzTGFzdEEgJiYgaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBsYXN0LCB0aGVuIHRoaXMgaXMgYSBmaWxlbmFtZSBjb21wYXJpc29uLlxyXG5cclxuICAgICAgICAgIC8vIEZpcnN0LCBjb21wYXJlIGZpbGVuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uLlxyXG4gICAgICAgICAgY29uc3QgZmlsZUEgPSBlbnRyeUEucmVwbGFjZSgvXFwuW15cXC5dKiQvLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBmaWxlQiA9IGVudHJ5Qi5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lT25seURpZmYgPSBmaWxlQS5sb2NhbGVDb21wYXJlKGZpbGVCKTtcclxuICAgICAgICAgIGlmIChmaWxlbmFtZU9ubHlEaWZmKVxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWVPbmx5RGlmZjtcclxuXHJcbiAgICAgICAgICAvLyBTZWNvbmQsIGNvbXBhcmUgaW5jbHVkaW5nIHRoZSBleHRlbnNpb24uXHJcbiAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHNvbWV0aGluZyBoZXJlLCBzZWUgbm90ZSBiZWxvdy5cclxuICAgICAgICAgIHJldHVybiBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTGFzdEEgJiYgIWlzTGFzdEIpIHtcclxuICAgICAgICAgIC8vIElmIGJvdGggbm90IGxhc3QsIHRoaXMgaXMgYSBzdWJkaXJlY3RvcnkgY29tcGFyaXNvbi5cclxuICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgICAgaWYgKGRpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaWYgaWR4IGlzIHRoZSBmaW5hbCBmb3IgZWFjaCwgd2Ugd291bGQgaGF2ZSByZXR1cm5lZCBhYm92ZS5cclxuICAgICAgICAvLyBTbywgY2hlY2sgaWYgZWl0aGVyIGEgb3IgYiBpcyBhdCB0aGUgZmluYWwgZW50cnkgaW4gc3BsaXRLZXlNYXAuXHJcbiAgICAgICAgLy8gSWYgc28sIHRoZW4gdGhlcmUncyBhIG1pc21hdGNoIGluIG51bWJlciBvZiBkaXJlY3RvcmllcywgYW5kIHdlIGtub3cgb25lXHJcbiAgICAgICAgLy8gdGhlIG9uZSB3aXRoIGEgZmlsZW5hbWUgc2hvdWxkIGJlIHNvcnRlZCBsYXN0LlxyXG5cclxuICAgICAgICBpZiAobGlzdEEubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIGZld2VyIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxpc3RCLmxlbmd0aCAtIDEgPD0gaWR4KSB7XHJcbiAgICAgICAgICAvLyBhIGhhcyBtb3JlIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGZpcnN0LlxyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gR2l2ZW4gYSBzZXQgb2YgcGF0aHMsIGFuIG92ZXJsYXlOYW1lLCBhbmQgYW4gZXh0ZW5zaW9uLCByZXR1cm4gYWxsIHBhdGhzIHdpdGhcclxuICAvLyB0aGF0IGV4dGVuc2lvbiB0aGF0IGhhdmUgYG92ZXJsYXlOYW1lYCBlaXRoZXIgYXMgdGhlaXIgZW50aXJlIGZpbGVuYW1lIChubyBzdWJkaXIpXHJcbiAgLy8gb3IgYXJlIGluc2lkZSBhIHJvb3QtbGV2ZWwgc3ViZGlyZWN0b3J5IG5hbWVkIGBvdmVybGF5TmFtZWAvICBUaGUgZXh0ZW5zaW9uIHNob3VsZFxyXG4gIC8vIGluY2x1ZGUgdGhlIHBlcmlvZCBzZXBhcmF0b3IsIGUuZy4gXCIuanNcIi4gIEFsbCBjb21wYXJpc29ucyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICBmaWx0ZXJVc2VyRmlsZXMocGF0aHM6IHN0cmluZ1tdLCBvcmlnT3ZlcmxheU5hbWU6IHN0cmluZywgb3JpZ0V4dGVuc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBvcmlnRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBvdmVybGF5TmFtZSA9IG9yaWdPdmVybGF5TmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHBhdGhzLmZpbHRlcigob3JpZ1BhdGgpID0+IHtcclxuICAgICAgY29uc3QgcGF0aCA9IG9yaWdQYXRoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aChleHRlbnNpb24pKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHBhdGggPT09IGAke292ZXJsYXlOYW1lfSR7ZXh0ZW5zaW9ufWApXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYCR7b3ZlcmxheU5hbWV9L2ApIHx8IHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX1cXFxcYCkpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgbGV0IGN1cnJlbnRseVJlbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3QgcmVsb2FkT25jZSA9ICgpID0+IHtcclxuICAgICAgaWYgKGN1cnJlbnRseVJlbG9hZGluZylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGN1cnJlbnRseVJlbG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH07XHJcblxyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvblVzZXJGaWxlQ2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uRm9yY2VSZWxvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHJlbG9hZE9uY2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucywgY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcclxuICAgIGNvbnN0IHJlYWRPcHRpb25zID0gY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkRGF0YScsXHJcbiAgICAgIG92ZXJsYXk6ICdvcHRpb25zJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGxvYWRVc2VyID0gYXN5bmMgKGU6IHsgZGV0YWlsOiBDYWN0Ym90TG9hZFVzZXJSZXQgfSkgPT4ge1xyXG4gICAgICAvLyBUaGUgYmFzZVBhdGggaXNuJ3QgdXNpbmcgZm9yIGFueXRoaW5nIG90aGVyIHRoYW4gY29zbWV0aWMgcHJpbnRpbmcgb2YgZnVsbCBwYXRocyxcclxuICAgICAgLy8gc28gcmVwbGFjZSBhbnkgc2xhc2hlcyBoZXJlIGZvciB1bmlmb3JtaXR5LiAgSW4gY2FzZSBhbnlib2R5IGlzIHVzaW5nIGNhY3Rib3Qgb25cclxuICAgICAgLy8gTGludXggKD8hPyksIHN1cHBvcnQgYW55IHN0eWxlIG9mIHNsYXNoZXMgZWxzZXdoZXJlLlxyXG4gICAgICBjb25zdCBiYXNlUGF0aCA9IGUuZGV0YWlsLnVzZXJMb2NhdGlvbi5yZXBsYWNlKC9bL1xcXFxdKiQvLCAnJykgKyAnXFxcXCc7XHJcbiAgICAgIGNvbnN0IGxvY2FsRmlsZXMgPSBlLmRldGFpbC5sb2NhbFVzZXJGaWxlcztcclxuXHJcbiAgICAgIC8vIFRoZSBwbHVnaW4gYXV0by1kZXRlY3RzIHRoZSBsYW5ndWFnZSwgc28gc2V0IHRoaXMgZmlyc3QuXHJcbiAgICAgIC8vIElmIG9wdGlvbnMgZmlsZXMgd2FudCB0byBvdmVycmlkZSBpdCwgdGhleSBjYW4gZm9yIHRlc3RpbmcuXHJcblxyXG4gICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IChsYW5ndWFnZSBpcyBub3cgc2VwYXJhdGVkIHRvIHRocmVlIHR5cGVzLilcclxuICAgICAgaWYgKGUuZGV0YWlsLmxhbmd1YWdlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBlLmRldGFpbC5sYW5ndWFnZTtcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFBhcnNlciBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgICAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZXZlcnl0aGluZyBcIkxhbmd1YWdlXCIgc2hvdWxkIGJlIGNoYW5nZWQgdG8gXCJQYXJzZXJMYW5ndWFnZVwiXHJcbiAgICAgICAgb3B0aW9ucy5MYW5ndWFnZSA9IGUuZGV0YWlsLnBhcnNlckxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFN5c3RlbSBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwuc3lzdGVtTG9jYWxlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5TeXN0ZW1Mb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGU7XHJcbiAgICAgICAgbGV0IHNob3J0TG9jYWxlID0gZS5kZXRhaWwuc3lzdGVtTG9jYWxlLnN1YnN0cmluZygwLCAyKTtcclxuICAgICAgICBpZiAoc2hvcnRMb2NhbGUgPT09ICd6aCcpXHJcbiAgICAgICAgICBzaG9ydExvY2FsZSA9ICdjbic7XHJcbiAgICAgICAgaWYgKGlzTGFuZyhzaG9ydExvY2FsZSkpXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gc2hvcnRMb2NhbGU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gVXNlcidzIHNldHRpbmcgTGFuZ3VhZ2VcclxuICAgICAgY29uc3QgZGlzcGxheUxhbmcgPSBlLmRldGFpbC5kaXNwbGF5TGFuZ3VhZ2U7XHJcbiAgICAgIGlmIChpc0xhbmcoZGlzcGxheUxhbmcpKVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZGlzcGxheUxhbmc7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuXHJcbiAgICAgIC8vIFRPRE86IGxlZnQgZm9yIG5vdyBhcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHVzZXIgY3NzLiAgUmVtb3ZlIHRoaXMgbGF0ZXI/P1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbGFuZy0ke29wdGlvbnMuRGlzcGxheUxhbmd1YWdlfWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmdUb0xvY2FsZShvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuYWRkVW5sb2NrVGV4dChvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgcHJvY2Vzc09wdGlvbnMgYWZ0ZXIgZGVmYXVsdCBsYW5ndWFnZSBzZWxlY3Rpb24gYWJvdmUsXHJcbiAgICAgIC8vIGJ1dCBiZWZvcmUgY3NzIGJlbG93IHdoaWNoIG1heSBsb2FkIHNraW4gZmlsZXMuXHJcbiAgICAgIC8vIHByb2Nlc3NPcHRpb25zIG5lZWRzIHRvIGJlIGNhbGxlZCB3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmVcclxuICAgICAgLy8gYW55IHVzZXJPcHRpb25zIHNhdmVkLCBhcyBpdCBzZXRzIHVwIHRoZSBkZWZhdWx0cy5cclxuICAgICAgdGhpcy5zYXZlZENvbmZpZyA9IChhd2FpdCByZWFkT3B0aW9ucyk/LmRhdGEgPz8ge307XHJcbiAgICAgIHRoaXMucHJvY2Vzc09wdGlvbnMoXHJcbiAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB0aGlzLnNhdmVkQ29uZmlnW292ZXJsYXlOYW1lXSA/PyB7fSxcclxuICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlc1tvdmVybGF5TmFtZV0sXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBJZiB0aGUgb3ZlcmxheSBoYXMgYSBcIkRlYnVnXCIgc2V0dGluZywgc2V0IHRvIHRydWUgdmlhIHRoZSBjb25maWcgdG9vbCxcclxuICAgICAgLy8gdGhlbiBhbHNvIHByaW50IG91dCB1c2VyIGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZC5cclxuICAgICAgY29uc3QgcHJpbnRVc2VyRmlsZSA9IG9wdGlvbnMuRGVidWcgPyAoeDogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyh4KSA6ICgpID0+IHsvKiBub29wICovfTtcclxuXHJcbiAgICAgIC8vIFdpdGggdXNlciBmaWxlcyBiZWluZyBhcmJpdHJhcnkgamF2YXNjcmlwdCwgYW5kIGhhdmluZyBtdWx0aXBsZSBmaWxlc1xyXG4gICAgICAvLyBpbiB1c2VyIGZvbGRlcnMsIGl0J3MgcG9zc2libGUgZm9yIGxhdGVyIGZpbGVzIHRvIGFjY2lkZW50YWxseSByZW1vdmVcclxuICAgICAgLy8gdGhpbmdzIHRoYXQgcHJldmlvdXMgZmlsZXMgaGF2ZSBhZGRlZC4gIFdhcm4gYWJvdXQgdGhpcywgc2luY2UgbW9zdFxyXG4gICAgICAvLyB1c2VycyBhcmUgbm90IHByb2dyYW1tZXJzLlxyXG4gICAgICBjb25zdCB3YXJuT25WYXJpYWJsZVJlc2V0TWFwOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcclxuICAgICAgICByYWlkYm9zczogW1xyXG4gICAgICAgICAgJ1RyaWdnZXJzJyxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgICB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA9IHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdIHx8IFtdO1xyXG5cclxuICAgICAgLy8gVGhlIHZhbHVlcyBvZiBlYWNoIGB3YXJuT25WYXJpYWJsZVJlc2V0TWFwYCBmaWVsZCBhcmUgaW5pdGlhbGx5IHNldFxyXG4gICAgICAvLyBhZnRlciB0aGUgZmlyc3QgZmlsZSwgc28gdGhhdCBpZiB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlLCB0aGVyZSBhcmVcclxuICAgICAgLy8gbm90IGFueSB3YXJuaW5ncy5cclxuXHJcbiAgICAgIC8vIFRoZSBmaWVsZHMgdGhhdCBhIHVzZXIgZmlsZSBzZXRzIGluIE9wdGlvbnMgY2FuIGJlIGFueXRoaW5nIChwdW4gbm90IGludGVuZGVkKVxyXG4gICAgICAvLyBhbmQgc28gd2UgdXNlIGBhbnlgIGhlcmUuICBUaGUgb25seSBvcGVyYXRpb24gZG9uZSBvbiB0aGlzIGZpZWxkIGlzIGEgIT09XHJcbiAgICAgIC8vIGZvciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHNlZSBpZiB0aGUgdGhlIHVzZXIgZmlsZSBoYXMgbW9kaWZpZWQgaXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHJhY2tlcjogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgaWYgKGxvY2FsRmlsZXMpIHtcclxuICAgICAgICAvLyBsb2NhbEZpbGVzIG1heSBiZSBudWxsIGlmIHRoZXJlIGlzIG5vIHZhbGlkIHVzZXIgZGlyZWN0b3J5LlxyXG4gICAgICAgIGNvbnN0IHNvcnRlZEZpbGVzID0gdGhpcy5zb3J0VXNlckZpbGVzKE9iamVjdC5rZXlzKGxvY2FsRmlsZXMpKTtcclxuICAgICAgICBjb25zdCBqc0ZpbGVzID0gdGhpcy5maWx0ZXJVc2VyRmlsZXMoc29ydGVkRmlsZXMsIG92ZXJsYXlOYW1lLCAnLmpzJyk7XHJcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuY3NzJyk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QganNGaWxlIG9mIGpzRmlsZXMpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2pzRmlsZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5ldmFsVXNlckZpbGUobG9jYWxGaWxlc1tqc0ZpbGVdID8/ICcnLCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gPz8gW10pIHtcclxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVUcmFja2VyW2ZpZWxkXSAmJiB2YXJpYWJsZVRyYWNrZXJbZmllbGRdICE9PSBvcHRpb25zW2ZpZWxkXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWRlYWxseSB1c2VycyBzaG91bGQgZG8gc29tZXRoaW5nIGxpa2UgYE9wdGlvbnMuVHJpZ2dlcnMucHVzaChbZXRjXSk7YFxyXG4gICAgICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBgT3B0aW9ucy5UcmlnZ2VycyA9IFtldGNdO2BcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICAgICAgICBgKioqIFdBUk5JTkc6ICR7YmFzZVBhdGh9JHtqc0ZpbGV9IG92ZXJ3cml0ZXMgT3B0aW9ucy4ke2ZpZWxkfSBmcm9tIHByZXZpb3VzIGZpbGVzLmAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB2YXJpYWJsZVRyYWNrZXJbZmllbGRdID0gb3B0aW9uc1tmaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdPy4oanNGaWxlLCBsb2NhbEZpbGVzLCBvcHRpb25zLCBiYXNlUGF0aCk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIC8vIEJlIHZlcnkgdmlzaWJsZSBmb3IgdXNlcnMuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcqKiogRVJST1IgSU4gVVNFUiBGSUxFICoqKicpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgYXdrd2FyZCB0byBoYW5kbGUgc2tpbiBzZXR0aW5ncyBoZXJlLCBidXRcclxuICAgICAgICAvLyBkb2luZyBpdCBhZnRlciB1c2VyIGNvbmZpZyBmaWxlcyBhbmQgYmVmb3JlIHVzZXIgY3NzIGZpbGVzXHJcbiAgICAgICAgLy8gYWxsb3dzIHVzZXIgY3NzIHRvIG92ZXJyaWRlIHNraW4tc3BlY2lmaWMgY3NzIGFzIHdlbGwuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMuU2tpbilcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2tpbihvcHRpb25zLlNraW4pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNzc0ZpbGUgb2YgY3NzRmlsZXMpIHtcclxuICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2Nzc0ZpbGV9YCk7XHJcbiAgICAgICAgICBjb25zdCB1c2VyQ3NzVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGxvY2FsRmlsZXNbY3NzRmlsZV07XHJcbiAgICAgICAgICBpZiAoY29udGVudHMpXHJcbiAgICAgICAgICAgIHVzZXJDc3NUZXh0LmlubmVyVGV4dCA9IGNvbnRlbnRzO1xyXG4gICAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICAgICAgICBpZiAoaGVhZClcclxuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ3NzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBQb3N0IHRoaXMgY2FsbGJhY2sgc28gdGhhdCB0aGUganMgYW5kIGNzcyBjYW4gYmUgZXhlY3V0ZWQgZmlyc3QuXHJcbiAgICAgIGlmIChjYWxsYmFjaylcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG5cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoeyBjYWxsOiAnY2FjdGJvdFJlcXVlc3RTdGF0ZScgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkVXNlcicsXHJcbiAgICAgIHNvdXJjZTogbG9jYXRpb24uaHJlZixcclxuICAgICAgb3ZlcmxheU5hbWU6IG92ZXJsYXlOYW1lLFxyXG4gICAgfSkudGhlbigoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIERPTUNvbnRlbnRMb2FkZWQgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgdm9pZCBsb2FkVXNlcihlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2tpbihza2luTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXNraW5OYW1lIHx8IHNraW5OYW1lID09PSAnZGVmYXVsdCcpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgYmFzZVBhdGggPSBkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpO1xyXG4gICAgY29uc3Qgc2xhc2hJZHggPSBiYXNlUGF0aC5sYXN0SW5kZXhPZignLycpO1xyXG4gICAgaWYgKHNsYXNoSWR4ICE9PSAtMSlcclxuICAgICAgYmFzZVBhdGggPSBiYXNlUGF0aC5zdWJzdHIoMCwgc2xhc2hJZHgpO1xyXG4gICAgaWYgKGJhc2VQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKVxyXG4gICAgICBiYXNlUGF0aCArPSAnLyc7XHJcbiAgICBjb25zdCBza2luSHJlZiA9IGJhc2VQYXRoICsgJ3NraW5zLycgKyBza2luTmFtZSArICcvJyArIHNraW5OYW1lICsgJy5jc3MnO1xyXG4gICAgdGhpcy5hcHBlbmRDU1NMaW5rKHNraW5IcmVmKTtcclxuICB9XHJcbiAgYXBwZW5kSlNMaW5rKHNyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VySlMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdzcmMnLCBzcmMpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnZmFsc2UnKTtcclxuICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgaWYgKGhlYWQpXHJcbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQodXNlckpTKTtcclxuICB9XHJcbiAgYXBwZW5kQ1NTTGluayhocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJDU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ1NTKTtcclxuICB9XHJcbiAgcHJvY2Vzc09wdGlvbnMob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5LCB0ZW1wbGF0ZT86IE9wdGlvbnNUZW1wbGF0ZSkge1xyXG4gICAgLy8gVGFrZSBvcHRpb25zIGZyb20gdGhlIHRlbXBsYXRlLCBmaW5kIHRoZW0gaW4gc2F2ZWRDb25maWcsXHJcbiAgICAvLyBhbmQgYXBwbHkgdGhlbSB0byBvcHRpb25zLiBUaGlzIGFsc28gaGFuZGxlcyBzZXR0aW5nXHJcbiAgICAvLyBkZWZhdWx0cyBmb3IgYW55dGhpbmcgaW4gdGhlIHRlbXBsYXRlLCBldmVuIGlmIGl0IGRvZXMgbm90XHJcbiAgICAvLyBleGlzdCBpbiBzYXZlZENvbmZpZy5cclxuXHJcbiAgICAvLyBOb3QgYWxsIG92ZXJsYXlzIGhhdmUgb3B0aW9uIHRlbXBsYXRlcy5cclxuICAgIGlmICghdGVtcGxhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0ZW1wbGF0ZU9wdGlvbnMgPSB0ZW1wbGF0ZS5vcHRpb25zIHx8IFtdO1xyXG4gICAgZm9yIChjb25zdCBvcHQgb2YgdGVtcGxhdGVPcHRpb25zKSB7XHJcbiAgICAgIC8vIEdyYWIgdGhlIHNhdmVkIHZhbHVlIG9yIHRoZSBkZWZhdWx0IHRvIHNldCBpbiBvcHRpb25zLlxyXG5cclxuICAgICAgbGV0IHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5ID0gb3B0LmRlZmF1bHQ7XHJcbiAgICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSkge1xyXG4gICAgICAgIGlmIChvcHQuaWQgaW4gc2F2ZWRDb25maWcpIHtcclxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gc2F2ZWRDb25maWdbb3B0LmlkXTtcclxuICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3B0aW9ucyBjYW4gcHJvdmlkZSBjdXN0b20gbG9naWMgdG8gdHVybiBhIHZhbHVlIGludG8gb3B0aW9ucyBzZXR0aW5ncy5cclxuICAgICAgLy8gSWYgdGhpcyBkb2Vzbid0IGV4aXN0LCBqdXN0IHNldCB0aGUgdmFsdWUgZGlyZWN0bHkuXHJcbiAgICAgIC8vIE9wdGlvbiB0ZW1wbGF0ZSBpZHMgYXJlIGlkZW50aWNhbCB0byBmaWVsZCBuYW1lcyBvbiBPcHRpb25zLlxyXG4gICAgICBpZiAob3B0LnNldHRlckZ1bmMpIHtcclxuICAgICAgICBvcHQuc2V0dGVyRnVuYyhvcHRpb25zLCB2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0LnR5cGUgPT09ICdpbnRlZ2VyJykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gTWF0aC5mbG9vcih2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlSW50KHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2Zsb2F0Jykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIHRoaW5ncyBsaWtlIHJhaWRib3NzIHRoYXQgYnVpbGQgZXh0cmEgVUksIGFsc28gZ2l2ZSB0aGVtIGEgY2hhbmNlXHJcbiAgICAvLyB0byBoYW5kbGUgYW55dGhpbmcgdGhhdCBoYXMgYmVlbiBzZXQgb24gdGhhdCBVSS5cclxuICAgIGlmICh0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKVxyXG4gICAgICB0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9XHJcbiAgYWRkVW5sb2NrVGV4dChsYW5nOiBMYW5nKSB7XHJcbiAgICBjb25zdCB1bmxvY2tUZXh0ID0ge1xyXG4gICAgICBlbjogJ/CflJMgVW5sb2NrZWQgKGxvY2sgb3ZlcmxheSBiZWZvcmUgdXNpbmcpJyxcclxuICAgICAgZGU6ICfwn5STIEVudHNwZXJydCAoU3BlcnJlIGRhcyBPdmVybGF5IHZvciBkZXIgTnV0enVuZyknLFxyXG4gICAgICBmcjogJ/CflJMgRMOpYmxvcXXDqSAoQmxvcXVleiBsXFwnb3ZlcmxheSBhdmFudCB1dGlsaXNhdGlvbiknLFxyXG4gICAgICBqYTogJ/CflJMg44Ot44OD44Kv6Kej6ZmkICjjgqrjg7zjg5Djg7zjg6zjgqTjgpLkvb/nlKjjgZnjgovliY3jgavjg63jg4Pjgq/jgZfjgabjgY/jgaDjgZXjgYQpJyxcclxuICAgICAgY246ICfwn5STIOW3suino+mZpOmUgeWumiAo5L2g6ZyA6KaB5bCG5q2k5oKs5rWu56qX6ZSB5a6a5ZCO5pa55Y+v5L2/55SoKScsXHJcbiAgICAgIGtvOiAn8J+UkyDsnITsuZgg7J6g6riIIO2VtOygnOuQqCAo7IKs7Jqp7ZWY6riwIOyghOyXkCDsnITsuZgg7J6g6riI7J2EIOyEpOygle2VmOyEuOyalCknLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpZCA9ICdjYWN0Ym90LXVubG9ja2VkLXRleHQnO1xyXG4gICAgbGV0IHRleHRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYgKCF0ZXh0RWxlbSkge1xyXG4gICAgICB0ZXh0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0ZXh0RWxlbS5pZCA9IGlkO1xyXG4gICAgICB0ZXh0RWxlbS5jbGFzc0xpc3QuYWRkKCd0ZXh0Jyk7XHJcbiAgICAgIC8vIFNldCBlbGVtZW50IGRpc3BsYXkgdG8gbm9uZSBpbiBjYXNlIHRoZSBwYWdlIGhhcyBub3QgaW5jbHVkZWQgZGVmYXVsdHMuY3NzLlxyXG4gICAgICB0ZXh0RWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0ZXh0RWxlbSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0RWxlbS5pbm5lckhUTUwgPSB1bmxvY2tUZXh0W2xhbmddIHx8IHVubG9ja1RleHRbJ2VuJ107XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgVXNlckNvbmZpZygpO1xyXG5cclxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAvLyBUaGlzIGV2ZW50IGNvbWVzIGVhcmx5IGFuZCBpcyBub3QgY2FjaGVkLCBzbyBzZXQgdXAgZXZlbnQgbGlzdGVuZXIgaW1tZWRpYXRlbHkuXHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignb25PdmVybGF5U3RhdGVVcGRhdGUnLCAoZSkgPT4ge1xyXG4gICAgY29uc3QgZG9jQ2xhc3NMaXN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcclxuICAgIGlmIChlLmRldGFpbC5pc0xvY2tlZClcclxuICAgICAgZG9jQ2xhc3NMaXN0LnJlbW92ZSgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRvY0NsYXNzTGlzdC5hZGQoJ3Jlc2l6ZUhhbmRsZScsICd1bmxvY2tlZCcpO1xyXG4gIH0pO1xyXG59XHJcbiIsImltcG9ydCB7IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHMsIE92ZXJsYXlIYW5kbGVyUmVzcG9uc2VUeXBlcyB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuXHJcbi8vIFRPRE86IGl0J2QgYmUgbmljZSB0byBub3QgcmVwZWF0IGpvYiBuYW1lcywgYnV0IGF0IGxlYXN0IFJlY29yZCBlbmZvcmNlcyB0aGF0IGFsbCBhcmUgc2V0LlxyXG5jb25zdCBuYW1lVG9Kb2JFbnVtOiBSZWNvcmQ8Sm9iLCBudW1iZXI+ID0ge1xyXG4gIE5PTkU6IDAsXHJcbiAgR0xBOiAxLFxyXG4gIFBHTDogMixcclxuICBNUkQ6IDMsXHJcbiAgTE5DOiA0LFxyXG4gIEFSQzogNSxcclxuICBDTko6IDYsXHJcbiAgVEhNOiA3LFxyXG4gIENSUDogOCxcclxuICBCU006IDksXHJcbiAgQVJNOiAxMCxcclxuICBHU006IDExLFxyXG4gIExUVzogMTIsXHJcbiAgV1ZSOiAxMyxcclxuICBBTEM6IDE0LFxyXG4gIENVTDogMTUsXHJcbiAgTUlOOiAxNixcclxuICBCVE46IDE3LFxyXG4gIEZTSDogMTgsXHJcbiAgUExEOiAxOSxcclxuICBNTks6IDIwLFxyXG4gIFdBUjogMjEsXHJcbiAgRFJHOiAyMixcclxuICBCUkQ6IDIzLFxyXG4gIFdITTogMjQsXHJcbiAgQkxNOiAyNSxcclxuICBBQ046IDI2LFxyXG4gIFNNTjogMjcsXHJcbiAgU0NIOiAyOCxcclxuICBST0c6IDI5LFxyXG4gIE5JTjogMzAsXHJcbiAgTUNIOiAzMSxcclxuICBEUks6IDMyLFxyXG4gIEFTVDogMzMsXHJcbiAgU0FNOiAzNCxcclxuICBSRE06IDM1LFxyXG4gIEJMVTogMzYsXHJcbiAgR05COiAzNyxcclxuICBETkM6IDM4LFxyXG4gIFJQUjogMzksXHJcbiAgU0dFOiA0MCxcclxufTtcclxuXHJcbmNvbnN0IGFsbEpvYnMgPSBPYmplY3Qua2V5cyhuYW1lVG9Kb2JFbnVtKSBhcyBKb2JbXTtcclxuY29uc3QgYWxsUm9sZXMgPSBbJ3RhbmsnLCAnaGVhbGVyJywgJ2RwcycsICdjcmFmdGVyJywgJ2dhdGhlcmVyJywgJ25vbmUnXSBhcyBSb2xlW107XHJcblxyXG5jb25zdCB0YW5rSm9iczogSm9iW10gPSBbJ0dMQScsICdQTEQnLCAnTVJEJywgJ1dBUicsICdEUksnLCAnR05CJ107XHJcbmNvbnN0IGhlYWxlckpvYnM6IEpvYltdID0gWydDTkonLCAnV0hNJywgJ1NDSCcsICdBU1QnLCAnU0dFJ107XHJcbmNvbnN0IG1lbGVlRHBzSm9iczogSm9iW10gPSBbJ1BHTCcsICdNTksnLCAnTE5DJywgJ0RSRycsICdST0cnLCAnTklOJywgJ1NBTScsICdSUFInXTtcclxuY29uc3QgcmFuZ2VkRHBzSm9iczogSm9iW10gPSBbJ0FSQycsICdCUkQnLCAnRE5DJywgJ01DSCddO1xyXG5jb25zdCBjYXN0ZXJEcHNKb2JzOiBKb2JbXSA9IFsnQkxVJywgJ1JETScsICdCTE0nLCAnU01OJywgJ0FDTicsICdUSE0nXTtcclxuY29uc3QgZHBzSm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzLCAuLi5yYW5nZWREcHNKb2JzLCAuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY3JhZnRpbmdKb2JzOiBKb2JbXSA9IFsnQ1JQJywgJ0JTTScsICdBUk0nLCAnR1NNJywgJ0xUVycsICdXVlInLCAnQUxDJywgJ0NVTCddO1xyXG5jb25zdCBnYXRoZXJpbmdKb2JzOiBKb2JbXSA9IFsnTUlOJywgJ0JUTicsICdGU0gnXTtcclxuXHJcbmNvbnN0IHN0dW5Kb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLm1lbGVlRHBzSm9ic107XHJcbmNvbnN0IHNpbGVuY2VKb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLnJhbmdlZERwc0pvYnNdO1xyXG5jb25zdCBzbGVlcEpvYnM6IEpvYltdID0gWydCTE0nLCAnQkxVJywgLi4uaGVhbGVySm9ic107XHJcbmNvbnN0IGZlaW50Sm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3QgYWRkbGVKb2JzOiBKb2JbXSA9IFsuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY2xlYW5zZUpvYnM6IEpvYltdID0gWydCTFUnLCAnQlJEJywgLi4uaGVhbGVySm9ic107XHJcblxyXG5jb25zdCBqb2JUb1JvbGVNYXA6IE1hcDxKb2IsIFJvbGU+ID0gKCgpID0+IHtcclxuICBjb25zdCBhZGRUb01hcCA9IChtYXA6IE1hcDxKb2IsIFJvbGU+LCBqb2JzOiBKb2JbXSwgcm9sZTogUm9sZSkgPT4ge1xyXG4gICAgam9icy5mb3JFYWNoKChqb2IpID0+IG1hcC5zZXQoam9iLCByb2xlKSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFwOiBNYXA8Sm9iLCBSb2xlPiA9IG5ldyBNYXAoW1snTk9ORScsICdub25lJ11dKTtcclxuICBhZGRUb01hcChtYXAsIHRhbmtKb2JzLCAndGFuaycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgaGVhbGVySm9icywgJ2hlYWxlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZHBzSm9icywgJ2RwcycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgY3JhZnRpbmdKb2JzLCAnY3JhZnRlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZ2F0aGVyaW5nSm9icywgJ2dhdGhlcmVyJyk7XHJcblxyXG4gIHJldHVybiBtYXA7XHJcbn0pKCk7XHJcblxyXG50eXBlIFdhdGNoQ29tYmF0YW50UGFyYW1zID0ge1xyXG4gIGlkcz86IG51bWJlcltdO1xyXG4gIG5hbWVzPzogc3RyaW5nW107XHJcbiAgcHJvcHM/OiBzdHJpbmdbXTtcclxuICBkZWxheT86IG51bWJlcjtcclxuICBtYXhEdXJhdGlvbj86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRGdW5jID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZnVuYzogKHJldDogT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzWydnZXRDb21iYXRhbnRzJ10pID0+IGJvb2xlYW4sXHJcbikgPT4gUHJvbWlzZTx2b2lkPjtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IHdhdGNoQ29tYmF0YW50TWFwOiBXYXRjaENvbWJhdGFudE1hcEVudHJ5W10gPSBbXTtcclxuXHJcbmNvbnN0IHNob3VsZENhbmNlbFdhdGNoID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZW50cnk6IFdhdGNoQ29tYmF0YW50TWFwRW50cnksXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGlmIChlbnRyeS5jYW5jZWwpXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICBpZiAocGFyYW1zLm1heER1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgRGF0ZS5ub3coKSAtIGVudHJ5LnN0YXJ0ID4gcGFyYW1zLm1heER1cmF0aW9uKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnQ6IFdhdGNoQ29tYmF0YW50RnVuYyA9IChwYXJhbXMsIGZ1bmMpID0+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlcywgcmVqKSA9PiB7XHJcbiAgICBjb25zdCBkZWxheSA9IHBhcmFtcy5kZWxheSA/PyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IGNhbGw6IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHNbJ2dldENvbWJhdGFudHMnXSA9IHtcclxuICAgICAgY2FsbDogJ2dldENvbWJhdGFudHMnLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAocGFyYW1zLmlkcylcclxuICAgICAgY2FsbC5pZHMgPSBwYXJhbXMuaWRzO1xyXG5cclxuICAgIGlmIChwYXJhbXMubmFtZXMpXHJcbiAgICAgIGNhbGwubmFtZXMgPSBwYXJhbXMubmFtZXM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5wcm9wcylcclxuICAgICAgY2FsbC5wcm9wcyA9IHBhcmFtcy5wcm9wcztcclxuXHJcbiAgICBjb25zdCBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICAgICAgY2FuY2VsOiBmYWxzZSxcclxuICAgICAgc3RhcnQ6IERhdGUubm93KCksXHJcbiAgICB9O1xyXG5cclxuICAgIHdhdGNoQ29tYmF0YW50TWFwLnB1c2goZW50cnkpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrRnVuYyA9ICgpID0+IHtcclxuICAgICAgaWYgKHNob3VsZENhbmNlbFdhdGNoKHBhcmFtcywgZW50cnkpKSB7XHJcbiAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKGNhbGwpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVudHJ5LmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmdW5jKHJlc3BvbnNlKSlcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoZWNrRnVuYywgZGVsYXkpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5jb25zdCBVdGlsID0ge1xyXG4gIGpvYkVudW1Ub0pvYjogKGlkOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGpvYiA9IGFsbEpvYnMuZmluZCgoam9iOiBKb2IpID0+IG5hbWVUb0pvYkVudW1bam9iXSA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIGpvYiA/PyAnTk9ORSc7XHJcbiAgfSxcclxuICBqb2JUb0pvYkVudW06IChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdLFxyXG4gIGpvYlRvUm9sZTogKGpvYjogSm9iKSA9PiB7XHJcbiAgICBjb25zdCByb2xlID0gam9iVG9Sb2xlTWFwLmdldChqb2IpO1xyXG4gICAgcmV0dXJuIHJvbGUgPz8gJ25vbmUnO1xyXG4gIH0sXHJcbiAgZ2V0QWxsUm9sZXM6ICgpOiByZWFkb25seSBSb2xlW10gPT4gYWxsUm9sZXMsXHJcbiAgaXNUYW5rSm9iOiAoam9iOiBKb2IpID0+IHRhbmtKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNIZWFsZXJKb2I6IChqb2I6IEpvYikgPT4gaGVhbGVySm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzTWVsZWVEcHNKb2I6IChqb2I6IEpvYikgPT4gbWVsZWVEcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNSYW5nZWREcHNKb2I6IChqb2I6IEpvYikgPT4gcmFuZ2VkRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzQ2FzdGVyRHBzSm9iOiAoam9iOiBKb2IpID0+IGNhc3RlckRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0Rwc0pvYjogKGpvYjogSm9iKSA9PiBkcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDcmFmdGluZ0pvYjogKGpvYjogSm9iKSA9PiBjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0dhdGhlcmluZ0pvYjogKGpvYjogSm9iKSA9PiBnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDb21iYXRKb2I6IChqb2I6IEpvYikgPT4ge1xyXG4gICAgcmV0dXJuICFjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSAmJiAhZ2F0aGVyaW5nSm9icy5pbmNsdWRlcyhqb2IpO1xyXG4gIH0sXHJcbiAgY2FuU3R1bjogKGpvYjogSm9iKSA9PiBzdHVuSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNpbGVuY2U6IChqb2I6IEpvYikgPT4gc2lsZW5jZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5TbGVlcDogKGpvYjogSm9iKSA9PiBzbGVlcEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5DbGVhbnNlOiAoam9iOiBKb2IpID0+IGNsZWFuc2VKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuRmVpbnQ6IChqb2I6IEpvYikgPT4gZmVpbnRKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuQWRkbGU6IChqb2I6IEpvYikgPT4gYWRkbGVKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgd2F0Y2hDb21iYXRhbnQ6IHdhdGNoQ29tYmF0YW50LFxyXG4gIGNsZWFyV2F0Y2hDb21iYXRhbnRzOiAoKSA9PiB7XHJcbiAgICB3aGlsZSAod2F0Y2hDb21iYXRhbnRNYXAubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB3YXRjaCA9IHdhdGNoQ29tYmF0YW50TWFwLnBvcCgpO1xyXG4gICAgICBpZiAod2F0Y2gpXHJcbiAgICAgICAgd2F0Y2guY2FuY2VsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVXRpbDtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0FCbG9vZHlSZXVuaW9uJzogNTYwLFxyXG4gICdBRnJvc3R5UmVjZXB0aW9uJzogMTAxMCxcclxuICAnQVBhdGhVbnZlaWxlZCc6IDEwMTUsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUNoaW1lcmEnOiAzNjgsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUh5ZHJhJzogMzY5LFxyXG4gICdBUmVxdWllbUZvckhlcm9lcyc6IDgzMCxcclxuICAnQVNsZWVwRGlzdHVyYmVkJzogOTE0LFxyXG4gICdBU3BlY3RhY2xlRm9yVGhlQWdlcyc6IDUzMyxcclxuICAnQWNjcnVlRW5taXR5RnJvbU11bHRpcGxlVGFyZ2V0cyc6IDU0MCxcclxuICAnQWlyRm9yY2VPbmUnOiA4MzIsXHJcbiAgJ0FrYWRhZW1pYUFueWRlcic6IDg0MSxcclxuICAnQWxhTWhpZ28nOiA2ODksXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyJzogNDQ0LFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlclNhdmFnZSc6IDQ1MSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb24nOiA1MjIsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlJzogNTMxLFxyXG4gICdBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3InOiA1ODEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXInOiA0NDUsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyU2F2YWdlJzogNDUyLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbic6IDUyMyxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb25TYXZhZ2UnOiA1MzIsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZUZhdGhlcic6IDQ0MyxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyU2F2YWdlJzogNDUwLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24nOiA1MjEsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvblNhdmFnZSc6IDUzMCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcic6IDU4MCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyJzogNDQyLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NDksXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZVNvbic6IDUyMCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlJzogNTI5LFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcic6IDU4MixcclxuICAnQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODYsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3InOiA1ODMsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODcsXHJcbiAgJ0FsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwnOiAyMjAsXHJcbiAgJ0FsbHNXZWxsVGhhdFN0YXJ0c1dlbGwnOiA3OTYsXHJcbiAgJ0FscGhhc2NhcGVWMTAnOiA3OTgsXHJcbiAgJ0FscGhhc2NhcGVWMTBTYXZhZ2UnOiA4MDIsXHJcbiAgJ0FscGhhc2NhcGVWMjAnOiA3OTksXHJcbiAgJ0FscGhhc2NhcGVWMjBTYXZhZ2UnOiA4MDMsXHJcbiAgJ0FscGhhc2NhcGVWMzAnOiA4MDAsXHJcbiAgJ0FscGhhc2NhcGVWMzBTYXZhZ2UnOiA4MDQsXHJcbiAgJ0FscGhhc2NhcGVWNDAnOiA4MDEsXHJcbiAgJ0FscGhhc2NhcGVWNDBTYXZhZ2UnOiA4MDUsXHJcbiAgJ0FtYXVyb3QnOiA4MzgsXHJcbiAgJ0FtZGFwb3JLZWVwJzogMTY3LFxyXG4gICdBbWRhcG9yS2VlcEhhcmQnOiAxODksXHJcbiAgJ0FtaEFyYWVuZyc6IDgxNSxcclxuICAnQW5hbW5lc2lzQW55ZGVyJzogODk4LFxyXG4gICdBbm5veVRoZVZvaWQnOiAyMjIsXHJcbiAgJ0FzVGhlSGVhcnRCaWRzJzogODk0LFxyXG4gICdBc1RoZUhlYXZlbnNCdXJuJzogMTAxMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlJzogMTAwMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlU2F2YWdlJzogMTAwMyxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSc6IDEwMDgsXHJcbiAgJ0FzcGhvZGVsb3NUaGVGb3VydGhDaXJjbGVTYXZhZ2UnOiAxMDA5LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlJzogMTAwNCxcclxuICAnQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSc6IDEwMDUsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSc6IDEwMDYsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZVNhdmFnZSc6IDEwMDcsXHJcbiAgJ0Fzc2lzdEFsbGllc0luRGVmZWF0aW5nQVRhcmdldCc6IDU0NCxcclxuICAnQXN0cmFnYWxvcyc6IDcyOSxcclxuICAnQXZvaWRBcmVhT2ZFZmZlY3RBdHRhY2tzJzogNTM3LFxyXG4gICdBenlzTGxhJzogNDAyLFxyXG4gICdCYWVsc2Fyc1dhbGwnOiA2MTUsXHJcbiAgJ0JhcmRhbXNNZXR0bGUnOiA2MjMsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVBhcnRpZXMnOiAyMTQsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVN0cm9uZ2hvbGRzJzogMjE1LFxyXG4gICdCYXR0bGVJblRoZUJpZ0tlZXAnOiAzOTYsXHJcbiAgJ0JhdHRsZU9uVGhlQmlnQnJpZGdlJzogMzY2LFxyXG4gICdCbG9vZE9uVGhlRGVjayc6IDcwOCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3AnOiAxNTgsXHJcbiAgJ0JyYXlmbG94c0xvbmdzdG9wSGFyZCc6IDM2MixcclxuICAnQ2FwZVdlc3R3aW5kJzogMzMyLFxyXG4gICdDYXN0cnVtQWJhbmlhJzogNjYxLFxyXG4gICdDYXN0cnVtRmx1bWluaXMnOiA3NzgsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtJzogOTM0LFxyXG4gICdDYXN0cnVtTWFyaW51bURyeWRvY2tzJzogOTY3LFxyXG4gICdDYXN0cnVtTWFyaW51bUV4dHJlbWUnOiA5MzUsXHJcbiAgJ0Nhc3RydW1NZXJpZGlhbnVtJzogMjE3LFxyXG4gICdDZW50cmFsU2hyb3VkJzogMTQ4LFxyXG4gICdDZW50cmFsVGhhbmFsYW4nOiAxNDEsXHJcbiAgJ0Nob2NvYm9SYWNlQ29zdGFEZWxTb2wnOiAzODksXHJcbiAgJ0Nob2NvYm9SYWNlU2Fnb2xpaVJvYWQnOiAzOTAsXHJcbiAgJ0Nob2NvYm9SYWNlVHJhbnF1aWxQYXRocyc6IDM5MSxcclxuICAnQ2hvY29ib1JhY2VUdXRvcmlhbCc6IDQxNyxcclxuICAnQ2luZGVyRHJpZnQnOiA4OTcsXHJcbiAgJ0NpbmRlckRyaWZ0RXh0cmVtZSc6IDkxMixcclxuICAnQ29lcnRoYXNDZW50cmFsSGlnaGxhbmRzJzogMTU1LFxyXG4gICdDb2VydGhhc1dlc3Rlcm5IaWdobGFuZHMnOiAzOTcsXHJcbiAgJ0NvbWluZ0NsZWFuJzogODYwLFxyXG4gICdDb250YWlubWVudEJheVAxVDYnOiA1NzYsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNkV4dHJlbWUnOiA1NzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UzFUNyc6IDUxNyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSc6IDUyNCxcclxuICAnQ29udGFpbm1lbnRCYXlaMVQ5JzogNjM3LFxyXG4gICdDb250YWlubWVudEJheVoxVDlFeHRyZW1lJzogNjM4LFxyXG4gICdDb3BwZXJiZWxsTWluZXMnOiAxNjEsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lc0hhcmQnOiAzNDksXHJcbiAgJ0N1cmlvdXNHb3JnZU1lZXRzSGlzTWF0Y2gnOiA3MTcsXHJcbiAgJ0N1dHRlcnNDcnknOiAxNzAsXHJcbiAgJ0RhcmtBc1RoZU5pZ2h0U2t5JzogNzEzLFxyXG4gICdEZWF0aFVudG9EYXduJzogOTc3LFxyXG4gICdEZWZlYXRBbk9jY3VwaWVkVGFyZ2V0JzogNTQ1LFxyXG4gICdEZWx0YXNjYXBlVjEwJzogNjkxLFxyXG4gICdEZWx0YXNjYXBlVjEwU2F2YWdlJzogNjk1LFxyXG4gICdEZWx0YXNjYXBlVjIwJzogNjkyLFxyXG4gICdEZWx0YXNjYXBlVjIwU2F2YWdlJzogNjk2LFxyXG4gICdEZWx0YXNjYXBlVjMwJzogNjkzLFxyXG4gICdEZWx0YXNjYXBlVjMwU2F2YWdlJzogNjk3LFxyXG4gICdEZWx0YXNjYXBlVjQwJzogNjk0LFxyXG4gICdEZWx0YXNjYXBlVjQwU2F2YWdlJzogNjk4LFxyXG4gICdEZWx1YnJ1bVJlZ2luYWUnOiA5MzYsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZVNhdmFnZSc6IDkzNyxcclxuICAnRG9obk1oZWcnOiA4MjEsXHJcbiAgJ0RvbWFDYXN0bGUnOiA2NjAsXHJcbiAgJ0RyYWdvblNvdW5kJzogNzE0LFxyXG4gICdEdW5TY2FpdGgnOiA2MjcsXHJcbiAgJ0R6ZW1hZWxEYXJraG9sZCc6IDE3MSxcclxuICAnRWFzdFNocm91ZCc6IDE1MixcclxuICAnRWFzdGVybkxhTm9zY2VhJzogMTM3LFxyXG4gICdFYXN0ZXJuVGhhbmFsYW4nOiAxNDUsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnQnOiA4NTAsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnRTYXZhZ2UnOiA4NTQsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb24nOiA4NTEsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb25TYXZhZ2UnOiA4NTUsXHJcbiAgJ0VkZW5zR2F0ZVJlc3VycmVjdGlvbic6IDg0OSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlJzogODUzLFxyXG4gICdFZGVuc0dhdGVTZXB1bHR1cmUnOiA4NTIsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZVNhdmFnZSc6IDg1NixcclxuICAnRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzJzogOTQ0LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXNTYXZhZ2UnOiA5NDgsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5JzogOTQ1LFxyXG4gICdFZGVuc1Byb21pc2VFdGVybml0eVNhdmFnZSc6IDk0OSxcclxuICAnRWRlbnNQcm9taXNlTGl0YW55JzogOTQzLFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UnOiA5NDcsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhJzogOTQyLFxyXG4gICdFZGVuc1Byb21pc2VVbWJyYVNhdmFnZSc6IDk0NixcclxuICAnRWRlbnNWZXJzZUZ1bG1pbmF0aW9uJzogOTAyLFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb25TYXZhZ2UnOiA5MDYsXHJcbiAgJ0VkZW5zVmVyc2VGdXJvcic6IDkwMyxcclxuICAnRWRlbnNWZXJzZUZ1cm9yU2F2YWdlJzogOTA3LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbSc6IDkwNCxcclxuICAnRWRlbnNWZXJzZUljb25vY2xhc21TYXZhZ2UnOiA5MDgsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlJzogOTA1LFxyXG4gICdFZGVuc1ZlcnNlUmVmdWxnZW5jZVNhdmFnZSc6IDkwOSxcclxuICAnRWxwaXMnOiA5NjEsXHJcbiAgJ0VtYW5hdGlvbic6IDcxOSxcclxuICAnRW1hbmF0aW9uRXh0cmVtZSc6IDcyMCxcclxuICAnRW1pc3NhcnlPZlRoZURhd24nOiA3NjksXHJcbiAgJ0VuZHdhbGtlcic6IDEwMTMsXHJcbiAgJ0VuZ2FnZU11bHRpcGxlVGFyZ2V0cyc6IDU0MSxcclxuICAnRXVsbW9yZSc6IDgyMCxcclxuICAnRXZlck1hcmNoSGVhdmVuc3dhcmQnOiAxMDE4LFxyXG4gICdFeGVjdXRlQUNvbWJvSW5CYXR0bGUnOiA1MzksXHJcbiAgJ0V4ZWN1dGVBQ29tYm9Ub0luY3JlYXNlRW5taXR5JzogNTM4LFxyXG4gICdFeGVjdXRlQVJhbmdlZEF0dGFja1RvSW5jcmVhc2VFbm1pdHknOiA1NDIsXHJcbiAgJ0ZhZGVkTWVtb3JpZXMnOiA5MzIsXHJcbiAgJ0ZpbmFsRXhlcmNpc2UnOiA1NTIsXHJcbiAgJ0ZpdEZvckFRdWVlbic6IDk1NSxcclxuICAnRmxpY2tpbmdTdGlja3NBbmRUYWtpbmdOYW1lcyc6IDIxOSxcclxuICAnRm91bmRhdGlvbic6IDQxOCxcclxuICAnRm91clBsYXllck1haGpvbmdRdWlja01hdGNoS3VpdGFuRGlzYWJsZWQnOiA4MzEsXHJcbiAgJ0dhcmxlbWFsZCc6IDk1OCxcclxuICAnSGFsYXRhbGknOiAxNjIsXHJcbiAgJ0hhbGF0YWxpSGFyZCc6IDM2MCxcclxuICAnSGF1a2tlTWFub3InOiAxNjYsXHJcbiAgJ0hhdWtrZU1hbm9ySGFyZCc6IDM1MCxcclxuICAnSGVhbEFuQWxseSc6IDU0OSxcclxuICAnSGVhbE11bHRpcGxlQWxsaWVzJzogNTUwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxMV8yMCc6IDc3MSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMV8xMCc6IDc3MCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMjFfMzAnOiA3NzIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczMxXzQwJzogNzgyLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM0MV81MCc6IDc3MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNTFfNjAnOiA3ODMsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczYxXzcwJzogNzc0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM3MV84MCc6IDc4NCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzODFfOTAnOiA3NzUsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczkxXzEwMCc6IDc4NSxcclxuICAnSGVsbHNLaWVyJzogODEwLFxyXG4gICdIZWxsc0tpZXJFeHRyZW1lJzogODExLFxyXG4gICdIZWxsc0xpZCc6IDc0MixcclxuICAnSGVyb09uVGhlSGFsZlNoZWxsJzogMjE2LFxyXG4gICdIaWRkZW5Hb3JnZSc6IDc5MSxcclxuICAnSG9sbWluc3RlclN3aXRjaCc6IDgzNyxcclxuICAnSHVsbGJyZWFrZXJJc2xlJzogMzYxLFxyXG4gICdIdWxsYnJlYWtlcklzbGVIYXJkJzogNTU3LFxyXG4gICdJZHlsbHNoaXJlJzogNDc4LFxyXG4gICdJbE1oZWcnOiA4MTYsXHJcbiAgJ0luRnJvbVRoZUNvbGQnOiAxMDExLFxyXG4gICdJblRoYWxzTmFtZSc6IDcwNSxcclxuICAnSW50ZXJhY3RXaXRoVGhlQmF0dGxlZmllbGQnOiA1NDgsXHJcbiAgJ0ludGVyZGltZW5zaW9uYWxSaWZ0JzogNjkwLFxyXG4gICdJdHNQcm9iYWJseUFUcmFwJzogNjY1LFxyXG4gICdLaG9sdXNpYSc6IDgxNCxcclxuICAnS3Rpc2lzSHlwZXJib3JlaWEnOiA5NzQsXHJcbiAgJ0t1Z2FuZSc6IDYyOCxcclxuICAnS3VnYW5lQ2FzdGxlJzogNjYyLFxyXG4gICdLdWdhbmVPaGFzaGknOiA4MDYsXHJcbiAgJ0xhYnlyaW50aG9zJzogOTU2LFxyXG4gICdMYWlkVG9SZXN0JzogMTAxNyxcclxuICAnTGFrZWxhbmQnOiA4MTMsXHJcbiAgJ0xlZ2VuZE9mVGhlTm90U29IaWRkZW5UZW1wbGUnOiA4NTksXHJcbiAgJ0xpZmVFcGhlbWVyYWxQYXRoRXRlcm5hbCc6IDEwMjMsXHJcbiAgJ0xpbXNhTG9taW5zYUxvd2VyRGVja3MnOiAxMjksXHJcbiAgJ0xpbXNhTG9taW5zYVVwcGVyRGVja3MnOiAxMjgsXHJcbiAgJ0xvbmdMaXZlVGhlUXVlZW4nOiAyOTgsXHJcbiAgJ0xvdm1NYXN0ZXJUb3VybmFtZW50JzogNTA2LFxyXG4gICdMb3ZtUGxheWVyQmF0dGxlTm9uUnAnOiA1OTEsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVScCc6IDU4OSxcclxuICAnTG92bVRvdXJuYW1lbnQnOiA1OTAsXHJcbiAgJ0xvd2VyTGFOb3NjZWEnOiAxMzUsXHJcbiAgJ01hbGlrYWhzV2VsbCc6IDgzNixcclxuICAnTWFyZUxhbWVudG9ydW0nOiA5NTksXHJcbiAgJ01hdGNoQWxsJzogbnVsbCxcclxuICAnTWF0b3lhc1JlbGljdCc6IDkzMyxcclxuICAnTWF0c3ViYU1heWhlbSc6IDcxMCxcclxuICAnTWVtb3JpYU1pc2VyYUV4dHJlbWUnOiA5MTMsXHJcbiAgJ01lc3Nlbmdlck9mVGhlV2luZHMnOiA4MzQsXHJcbiAgJ01pZGRsZUxhTm9zY2VhJzogMTM0LFxyXG4gICdNaXN0JzogMTM2LFxyXG4gICdNb3JEaG9uYSc6IDE1NixcclxuICAnTW9yZVRoYW5BRmVlbGVyJzogMjIxLFxyXG4gICdNdEd1bGcnOiA4MjIsXHJcbiAgJ05hYWRhbSc6IDY4OCxcclxuICAnTmV2ZXJyZWFwJzogNDIwLFxyXG4gICdOZXdHcmlkYW5pYSc6IDEzMixcclxuICAnTm9ydGhTaHJvdWQnOiAxNTQsXHJcbiAgJ05vcnRoZXJuVGhhbmFsYW4nOiAxNDcsXHJcbiAgJ055ZWxiZXJ0c0xhbWVudCc6IDg3NixcclxuICAnT2NlYW5GaXNoaW5nJzogOTAwLFxyXG4gICdPbGRHcmlkYW5pYSc6IDEzMyxcclxuICAnT2xkU2hhcmxheWFuJzogOTYyLFxyXG4gICdPbmVMaWZlRm9yT25lV29ybGQnOiA1OTIsXHJcbiAgJ09uc2FsSGFrYWlyRGFuc2hpZ05hYWRhbSc6IDg4OCxcclxuICAnT3VyQ29tcHJvbWlzZSc6IDcxNixcclxuICAnT3VyVW5zdW5nSGVyb2VzJzogNzIyLFxyXG4gICdPdXRlckxhTm9zY2VhJzogMTgwLFxyXG4gICdQYWdsdGhhbic6IDkzOCxcclxuICAnUGhhcm9zU2lyaXVzJzogMTYwLFxyXG4gICdQaGFyb3NTaXJpdXNIYXJkJzogNTEwLFxyXG4gICdQdWxsaW5nUG9pc29uUG9zaWVzJzogMTkxLFxyXG4gICdSYWR6QXRIYW4nOiA5NjMsXHJcbiAgJ1JhaXNpbmdUaGVTd29yZCc6IDcwNixcclxuICAnUmV0dXJuT2ZUaGVCdWxsJzogNDAzLFxyXG4gICdSaGFsZ3JzUmVhY2gnOiA2MzUsXHJcbiAgJ1NhZ2VzRm9jdXMnOiAxMDIyLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bSc6IDUxMSxcclxuICAnU2FpbnRNb2NpYW5uZXNBcmJvcmV0dW1IYXJkJzogNzg4LFxyXG4gICdTYXN0YXNoYSc6IDE1NyxcclxuICAnU2FzdGFzaGFIYXJkJzogMzg3LFxyXG4gICdTZWFsUm9ja1NlaXplJzogNDMxLFxyXG4gICdTaGFkb3dBbmRDbGF3JzogMjIzLFxyXG4gICdTaGlzdWlPZlRoZVZpb2xldFRpZGVzJzogNjE2LFxyXG4gICdTaWdtYXNjYXBlVjEwJzogNzQ4LFxyXG4gICdTaWdtYXNjYXBlVjEwU2F2YWdlJzogNzUyLFxyXG4gICdTaWdtYXNjYXBlVjIwJzogNzQ5LFxyXG4gICdTaWdtYXNjYXBlVjIwU2F2YWdlJzogNzUzLFxyXG4gICdTaWdtYXNjYXBlVjMwJzogNzUwLFxyXG4gICdTaWdtYXNjYXBlVjMwU2F2YWdlJzogNzU0LFxyXG4gICdTaWdtYXNjYXBlVjQwJzogNzUxLFxyXG4gICdTaWdtYXNjYXBlVjQwU2F2YWdlJzogNzU1LFxyXG4gICdTbWlsZXRvbic6IDk3NixcclxuICAnU25vd2Nsb2FrJzogMzcxLFxyXG4gICdTb2htQWwnOiA0NDEsXHJcbiAgJ1NvaG1BbEhhcmQnOiA2MTcsXHJcbiAgJ1NvaHJLaGFpJzogNTU1LFxyXG4gICdTb2xlbW5UcmluaXR5JzogMzAwLFxyXG4gICdTb3V0aFNocm91ZCc6IDE1MyxcclxuICAnU291dGhlcm5UaGFuYWxhbic6IDE0NixcclxuICAnU3BlY2lhbEV2ZW50SSc6IDM1MyxcclxuICAnU3BlY2lhbEV2ZW50SWknOiAzNTQsXHJcbiAgJ1NwZWNpYWxFdmVudElpaSc6IDUwOSxcclxuICAnU3RpbmdpbmdCYWNrJzogMTkyLFxyXG4gICdTeXJjdXNUb3dlcic6IDM3MixcclxuICAnVGhhdm5haXInOiA5NTcsXHJcbiAgJ1RoZUFlcnknOiA0MzUsXHJcbiAgJ1RoZUFldGhlcm9jaGVtaWNhbFJlc2VhcmNoRmFjaWxpdHknOiA0MzgsXHJcbiAgJ1RoZUFpdGlhc2NvcGUnOiA5NzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVFeHRyZW1lJzogMzc4LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCc6IDM3NyxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCc6IDkzMCxcclxuICAnVGhlQW50aXRvd2VyJzogNTE2LFxyXG4gICdUaGVBcXVhcG9saXMnOiA1NTgsXHJcbiAgJ1RoZUF1cnVtVmFsZSc6IDE3MixcclxuICAnVGhlQXppbVN0ZXBwZSc6IDYyMixcclxuICAnVGhlQmF0dGxlT25CZWtrbyc6IDcxMSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMSc6IDI0MSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMic6IDI0MixcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMyc6IDI0MyxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNCc6IDI0NCxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNSc6IDI0NSxcclxuICAnVGhlQm9yZGVybGFuZFJ1aW5zU2VjdXJlJzogMzc2LFxyXG4gICdUaGVCb3dsT2ZFbWJlcnMnOiAyMDIsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0V4dHJlbWUnOiAyOTUsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0hhcmQnOiAyOTIsXHJcbiAgJ1RoZUJvemphSW5jaWRlbnQnOiA5MTEsXHJcbiAgJ1RoZUJvemphblNvdXRoZXJuRnJvbnQnOiA5MjAsXHJcbiAgJ1RoZUJ1cm4nOiA3ODksXHJcbiAgJ1RoZUNhbGFtaXR5UmV0b2xkJzogNzkwLFxyXG4gICdUaGVDYXJ0ZW5lYXVGbGF0c0hlbGlvZHJvbWUnOiA2MzMsXHJcbiAgJ1RoZUNocnlzYWxpcyc6IDQyNixcclxuICAnVGhlQ2h1cm5pbmdNaXN0cyc6IDQwMCxcclxuICAnVGhlQ2xvdWREZWNrJzogOTUwLFxyXG4gICdUaGVDbG91ZERlY2tFeHRyZW1lJzogOTUxLFxyXG4gICdUaGVDb3BpZWRGYWN0b3J5JzogODgyLFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZSc6IDg0NixcclxuICAnVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGVFeHRyZW1lJzogODQ4LFxyXG4gICdUaGVDcnlzdGFyaXVtJzogODE5LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlJzogODQ1LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlRXh0cmVtZSc6IDg1OCxcclxuICAnVGhlRGFya0luc2lkZSc6IDk5MixcclxuICAnVGhlRGVhZEVuZHMnOiA5NzMsXHJcbiAgJ1RoZURpYWRlbSc6IDkyOSxcclxuICAnVGhlRGlhZGVtRWFzeSc6IDUxMixcclxuICAnVGhlRGlhZGVtSGFyZCc6IDUxNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHMnOiA2MjUsXHJcbiAgJ1RoZURpYWRlbUh1bnRpbmdHcm91bmRzRWFzeSc6IDYyNCxcclxuICAnVGhlRGlhZGVtVHJpYWxzT2ZUaGVGdXJ5JzogNjMwLFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZU1hdHJvbic6IDY1NixcclxuICAnVGhlRG9tYW5FbmNsYXZlJzogNzU5LFxyXG4gICdUaGVEcmFnb25zTmVjayc6IDE0MixcclxuICAnVGhlRHJhdmFuaWFuRm9yZWxhbmRzJzogMzk4LFxyXG4gICdUaGVEcmF2YW5pYW5IaW50ZXJsYW5kcyc6IDM5OSxcclxuICAnVGhlRHJvd25lZENpdHlPZlNrYWxsYSc6IDczMSxcclxuICAnVGhlRHVuZ2VvbnNPZkx5aGVHaGlhaCc6IDg3OSxcclxuICAnVGhlRHVza1ZpZ2lsJzogNDM0LFxyXG4gICdUaGVEeWluZ0dhc3AnOiA4NDcsXHJcbiAgJ1RoZUVwaWNPZkFsZXhhbmRlclVsdGltYXRlJzogODg3LFxyXG4gICdUaGVFeGNpdGF0cm9uNjAwMCc6IDEwMDAsXHJcbiAgJ1RoZUZhY2VPZlRydWVFdmlsJzogNzA5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoQ3J5c3RhbFRvd2VyJzogNzY3LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoRmVhc3RpbmdHcm91bmRzJzogNjE5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoTGljaGVud2VlZCc6IDY0NixcclxuICAnVGhlRmVhc3RSYW5rZWQnOiA3NjUsXHJcbiAgJ1RoZUZlYXN0VGVhbVJhbmtlZCc6IDc0NSxcclxuICAnVGhlRmVhc3RUcmFpbmluZyc6IDc2NixcclxuICAnVGhlRmllbGRzT2ZHbG9yeVNoYXR0ZXInOiA1NTQsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4xJzogMTkzLFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMic6IDE5NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjMnOiAxOTUsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm40JzogMTk2LFxyXG4gICdUaGVGaW5hbERheSc6IDk5NyxcclxuICAnVGhlRmluYWxTdGVwc09mRmFpdGgnOiA1NTksXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FBbmVtb3MnOiA3MzIsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FIeWRhdG9zJzogODI3LFxyXG4gICdUaGVGb3JiaWRkZW5MYW5kRXVyZWthUGFnb3MnOiA3NjMsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQeXJvcyc6IDc5NSxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bSc6IDQzMCxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bUhhcmQnOiA3NDMsXHJcbiAgJ1RoZUZyaW5nZXMnOiA2MTIsXHJcbiAgJ1RoZUdoaW1seXREYXJrJzogNzkzLFxyXG4gICdUaGVHaWZ0T2ZNZXJjeSc6IDEwMTksXHJcbiAgJ1RoZUdyYW5kQ29zbW9zJzogODg0LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeSc6IDQxNixcclxuICAnVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkJzogNTc4LFxyXG4gICdUaGVHcmVhdEh1bnQnOiA3NjEsXHJcbiAgJ1RoZUdyZWF0SHVudEV4dHJlbWUnOiA3NjIsXHJcbiAgJ1RoZUdyZWF0U2hpcFZ5bGJyYW5kJzogOTU0LFxyXG4gICdUaGVIYXJkZW5lZEhlYXJ0JzogODczLFxyXG4gICdUaGVIYXJ2ZXN0QmVnaW5zJzogMTAyMCxcclxuICAnVGhlSGF1bnRlZE1hbm9yJzogNTcxLFxyXG4gICdUaGVIZWFydE9mVGhlUHJvYmxlbSc6IDcxOCxcclxuICAnVGhlSGVyb2VzR2F1bnRsZXQnOiA5MTYsXHJcbiAgJ1RoZUhpZGRlbkNhbmFsc09mVXpuYWlyJzogNzI1LFxyXG4gICdUaGVIb3dsaW5nRXllJzogMjA4LFxyXG4gICdUaGVIb3dsaW5nRXllRXh0cmVtZSc6IDI5NyxcclxuICAnVGhlSG93bGluZ0V5ZUhhcmQnOiAyOTQsXHJcbiAgJ1RoZUh1bnRlcnNMZWdhY3knOiA4NzUsXHJcbiAgJ1RoZUphZGVTdG9hJzogNzQ2LFxyXG4gICdUaGVKYWRlU3RvYUV4dHJlbWUnOiA3NTgsXHJcbiAgJ1RoZUtlZXBlck9mVGhlTGFrZSc6IDE1MCxcclxuICAnVGhlS2lsbGluZ0FydCc6IDEwMjEsXHJcbiAgJ1RoZUxhYnlyaW50aE9mVGhlQW5jaWVudHMnOiAxNzQsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVFeHRyZW1lJzogNDQ3LFxyXG4gICdUaGVMaW1pdGxlc3NCbHVlSGFyZCc6IDQzNixcclxuICAnVGhlTG9jaHMnOiA2MjEsXHJcbiAgJ1RoZUxvc3RBbmRUaGVGb3VuZCc6IDg3NCxcclxuICAnVGhlTG9zdENhbmFsc09mVXpuYWlyJzogNzEyLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvcic6IDM2MyxcclxuICAnVGhlTG9zdENpdHlPZkFtZGFwb3JIYXJkJzogNTE5LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIYWRlc3NFbGVneSc6IDg4NSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCc6IDk5NixcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkTmlkaG9nZ3NSYWdlJzogNTY2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRTaGlucnl1c0RvbWFpbic6IDczMCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVGhvcmRhbnNSZWlnbic6IDQ0OCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVHN1a3V5b21pc1BhaW4nOiA3NzksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFVsdGltYXNCYW5lJzogMzQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRab2RpYXJrc0ZhbGwnOiA5OTMsXHJcbiAgJ1RoZU1vdGhlcmNyeXN0YWwnOiA5OTUsXHJcbiAgJ1RoZU5hdmVsJzogMjA2LFxyXG4gICdUaGVOYXZlbEV4dHJlbWUnOiAyOTYsXHJcbiAgJ1RoZU5hdmVsSGFyZCc6IDI5MyxcclxuICAnVGhlTmF2ZWxVbnJlYWwnOiA5NTMsXHJcbiAgJ1RoZU9yYm9ubmVNb25hc3RlcnknOiA4MjYsXHJcbiAgJ1RoZU9ycGhhbnNBbmRUaGVCcm9rZW5CbGFkZSc6IDcxNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTAxXzExMCc6IDU5OCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTExXzEyMCc6IDU5OSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTFfMjAnOiA1NjIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEyMV8xMzAnOiA2MDAsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEzMV8xNDAnOiA2MDEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE0MV8xNTAnOiA2MDIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE1MV8xNjAnOiA2MDMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE2MV8xNzAnOiA2MDQsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE3MV8xODAnOiA2MDUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE4MV8xOTAnOiA2MDYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE5MV8yMDAnOiA2MDcsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczFfMTAnOiA1NjEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczIxXzMwJzogNTYzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMzMV80MCc6IDU2NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNDFfNTAnOiA1NjUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczUxXzYwJzogNTkzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM2MV83MCc6IDU5NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNzFfODAnOiA1OTUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczgxXzkwJzogNTk2LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM5MV8xMDAnOiA1OTcsXHJcbiAgJ1RoZVBlYWtzJzogNjIwLFxyXG4gICdUaGVQaGFudG9tc0ZlYXN0JzogOTk0LFxyXG4gICdUaGVQaWxsYXJzJzogNDE5LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlJzogNjc0LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlRXh0cmVtZSc6IDY3NyxcclxuICAnVGhlUHJhZXRvcml1bSc6IDIyNCxcclxuICAnVGhlUHVwcGV0c0J1bmtlcic6IDkxNyxcclxuICAnVGhlUWl0YW5hUmF2ZWwnOiA4MjMsXHJcbiAgJ1RoZVJha3Rpa2FHcmVhdHdvb2QnOiA4MTcsXHJcbiAgJ1RoZVJlc29uYW50JzogNjg0LFxyXG4gICdUaGVSaWRvcmFuYUxpZ2h0aG91c2UnOiA3NzYsXHJcbiAgJ1RoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSc6IDczNCxcclxuICAnVGhlUm95YWxNZW5hZ2VyaWUnOiA2NzksXHJcbiAgJ1RoZVJ1YnlTZWEnOiA2MTMsXHJcbiAgJ1RoZVNlYU9mQ2xvdWRzJzogNDAxLFxyXG4gICdUaGVTZWF0T2ZTYWNyaWZpY2UnOiA5MjIsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUnOiA5MjMsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSc6IDM4MCxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yJzogMzgxLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMnOiAzODIsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCc6IDM4MyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4xJzogMzU1LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjInOiAzNTYsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMyc6IDM1NyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm40JzogMzU4LFxyXG4gICdUaGVTaGlmdGluZ0FsdGFyc09mVXpuYWlyJzogNzk0LFxyXG4gICdUaGVTaGlmdGluZ091YmxpZXR0ZXNPZkx5aGVHaGlhaCc6IDkyNCxcclxuICAnVGhlU2luZ3VsYXJpdHlSZWFjdG9yJzogNDM3LFxyXG4gICdUaGVTaXJlbnNvbmdTZWEnOiA2MjYsXHJcbiAgJ1RoZVN0ZXBzT2ZGYWl0aCc6IDE0MyxcclxuICAnVGhlU3RpZ21hRHJlYW1zY2FwZSc6IDk4NixcclxuICAnVGhlU3RvbmVWaWdpbCc6IDE2OCxcclxuICAnVGhlU3RvbmVWaWdpbEhhcmQnOiAzNjUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUV4dHJlbWUnOiAzNzUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUhhcmQnOiAzNzQsXHJcbiAgJ1RoZVN1bmtlblRlbXBsZU9mUWFybic6IDE2MyxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuSGFyZCc6IDM2NyxcclxuICAnVGhlU3dhbGxvd3NDb21wYXNzJzogNzY4LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0JzogMTY0LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCc6IDM3MyxcclxuICAnVGhlVGVtcGVzdCc6IDgxOCxcclxuICAnVGhlVGVtcGxlT2ZUaGVGaXN0JzogNjYzLFxyXG4gICdUaGVUaG91c2FuZE1hd3NPZlRvdG9SYWsnOiAxNjksXHJcbiAgJ1RoZVRvd2VyQXRQYXJhZGlnbXNCcmVhY2gnOiA5NjYsXHJcbiAgJ1RoZVRvd2VyT2ZCYWJpbCc6IDk2OSxcclxuICAnVGhlVG93ZXJPZlpvdCc6IDk1MixcclxuICAnVGhlVHJpcGxlVHJpYWRCYXR0bGVoYWxsJzogNTc5LFxyXG4gICdUaGVUd2lubmluZyc6IDg0MCxcclxuICAnVGhlVW5lbmRpbmdDb2lsT2ZCYWhhbXV0VWx0aW1hdGUnOiA3MzMsXHJcbiAgJ1RoZVZhbGVudGlvbmVzQ2VyZW1vbnknOiA3NDEsXHJcbiAgJ1RoZVZhdWx0JzogNDIxLFxyXG4gICdUaGVWb2lkQXJrJzogNTA4LFxyXG4gICdUaGVXYW5kZXJlcnNQYWxhY2UnOiAxNTksXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZUhhcmQnOiAxODgsXHJcbiAgJ1RoZVdlYXBvbnNSZWZyYWluVWx0aW1hdGUnOiA3NzcsXHJcbiAgJ1RoZVdlZXBpbmdDaXR5T2ZNaGFjaCc6IDU1NixcclxuICAnVGhlV2hvcmxlYXRlckV4dHJlbWUnOiAzNTksXHJcbiAgJ1RoZVdob3JsZWF0ZXJIYXJkJzogMjgxLFxyXG4gICdUaGVXaG9ybGVhdGVyVW5yZWFsJzogOTcyLFxyXG4gICdUaGVXaWxsT2ZUaGVNb29uJzogNzk3LFxyXG4gICdUaGVXb3JsZE9mRGFya25lc3MnOiAxNTEsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzJzogODI0LFxyXG4gICdUaGVXcmVhdGhPZlNuYWtlc0V4dHJlbWUnOiA4MjUsXHJcbiAgJ1Rob2tBc3RUaG9rRXh0cmVtZSc6IDQ0NixcclxuICAnVGhva0FzdFRob2tIYXJkJzogNDMyLFxyXG4gICdUaG9ybm1hcmNoRXh0cmVtZSc6IDM2NCxcclxuICAnVGhvcm5tYXJjaEhhcmQnOiAyMDcsXHJcbiAgJ1RvQ2FsbWVyU2Vhcyc6IDEwMTYsXHJcbiAgJ1RyaXBsZVRyaWFkSW52aXRhdGlvbmFsUGFybG9yJzogOTQxLFxyXG4gICdUcmlwbGVUcmlhZE9wZW5Ub3VybmFtZW50JzogOTQwLFxyXG4gICdVbGRhaFN0ZXBzT2ZOYWxkJzogMTMwLFxyXG4gICdVbGRhaFN0ZXBzT2ZUaGFsJzogMTMxLFxyXG4gICdVbHRpbWFUaHVsZSc6IDk2MCxcclxuICAnVW5kZXJUaGVBcm1vcic6IDE5MCxcclxuICAnVXBwZXJMYU5vc2NlYSc6IDEzOSxcclxuICAnVXJ0aHNGb3VudCc6IDM5NCxcclxuICAnVmFuYXNwYXRpJzogOTcwLFxyXG4gICdWb3dzT2ZWaXJ0dWVEZWVkc09mQ3J1ZWx0eSc6IDg5MyxcclxuICAnV2FyZFVwJzogMjk5LFxyXG4gICdXZXN0ZXJuTGFOb3NjZWEnOiAxMzgsXHJcbiAgJ1dlc3Rlcm5UaGFuYWxhbic6IDE0MCxcclxuICAnV2hlbkNsYW5zQ29sbGlkZSc6IDcyMyxcclxuICAnV2l0aEhlYXJ0QW5kU3RlZWwnOiA3MDcsXHJcbiAgJ1dvbHZlc0RlblBpZXInOiAyNTAsXHJcbiAgJ1dvcnRoeU9mSGlzQmFjayc6IDEwMTQsXHJcbiAgJ1hlbHBoYXRvbCc6IDU3MixcclxuICAnWWFueGlhJzogNjE0LFxyXG4gICdaYWRub3InOiA5NzUsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuaW1wb3J0IHsgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxudHlwZSBab25lSW5mb1R5cGUgPSB7XHJcbiAgW3pvbmVJZDogbnVtYmVyXToge1xyXG4gICAgcmVhZG9ubHkgZXhWZXJzaW9uOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBjb250ZW50VHlwZT86IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgICByZWFkb25seSBvZmZzZXRYOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBvZmZzZXRZOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBzaXplRmFjdG9yOiBudW1iZXI7XHJcbiAgICByZWFkb25seSB3ZWF0aGVyUmF0ZTogbnVtYmVyO1xyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBkYXRhOiBab25lSW5mb1R5cGUgPSB7XHJcbiAgMTAwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdFdXBob3JhdHJvbicsXHJcbiAgICAgICdlbic6ICdUaGUgRXhjaXRhdHJvbiA2MDAwJyxcclxuICAgICAgJ2ZyJzogJ0xlIEx1ZG9kcm9tZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ko44Kt44K144Kk44OI44Ot44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBFcnN0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZpcnN0IENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIFBhcnZpcycsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFp3ZWl0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIFNlY29uZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBDbG9hcXVlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBWaWVydGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGb3VydGggQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQWLDrm1lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LiP56C06aOO6ZuqJyxcclxuICAgICAgJ2RlJzogJ0VpbiBmcm9zdGlnZXIgRW1wZmFuZycsXHJcbiAgICAgICdlbic6ICdBIEZyb3N0eSBSZWNlcHRpb24nLFxyXG4gICAgICAnZnInOiAnVW4gYWNjdWVpbCBnbGFjaWFsJyxcclxuICAgICAgJ2phJzogJ+mcnOmbquOCkui4j+OBv+OBl+OCgeOBpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DlsL3lr5LlpJwnLFxyXG4gICAgICAnZGUnOiAnSW4gZnJlbWRlciBIYXV0JyxcclxuICAgICAgJ2VuJzogJ0luIGZyb20gdGhlIENvbGQnLFxyXG4gICAgICAnZnInOiAnTGUgdm9sZXVyIGRlIGNvcnBzJyxcclxuICAgICAgJ2phJzogJ+WvkuWknOOBruOBk+OBqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDEwMTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omp5pWj55qE5pyr5pelJyxcclxuICAgICAgJ2RlJzogJ1JvdGUgSGltbWVsLCByb3RlciBTY2huZWUnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXZlbnMgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnYXLDqG5lIGRlcyBuZWlnZXMnLFxyXG4gICAgICAnamEnOiAn5ouh44GM44KL57WC5pyrJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDEwMTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pmT5pyI5LmL57uI6YCUJyxcclxuICAgICAgJ2RlJzogJ0VuZHNjaHJlaXRlcicsXHJcbiAgICAgICdlbic6ICdFbmR3YWxrZXInLFxyXG4gICAgICAnZnInOiAnQXJwZW50ZXVyIGRlcyBmaW5pdHVkZXMnLFxyXG4gICAgICAnamEnOiAn5pqB5pyI44Gu44OV44Kj44OK44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MyxcclxuICB9LFxyXG4gIDEwMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LiK5LiA5Lu76Zi/6LCi5aeG55qE5pWZ5a+8JyxcclxuICAgICAgJ2RlJzogJyBFcyByZWltdCBzaWNoIGF1ZiBHZWJlbGwnLFxyXG4gICAgICAnZW4nOiAnV29ydGh5IG9mIEhpcyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIGTDqWZpIGRlIGxcXCdhbmNpZW5uZSBBemVtJyxcclxuICAgICAgJ2phJzogJ+WJjeS7o+OCouOCvOODoOOBruaJi+OBu+OBqeOBjScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICAxMDE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acquadpeS5i+i3rycsXHJcbiAgICAgICdkZSc6ICdPZmZlbiBmw7xyIG5ldWUgV2VnZScsXHJcbiAgICAgICdlbic6ICdBIFBhdGggVW52ZWlsZWQnLFxyXG4gICAgICAnZnInOiAnRGVzIGVzcHJpdHMgZXQgZGVzIGhvbW1lcycsXHJcbiAgICAgICdqYSc6ICfplovjgYvjgozjgZ/pgZPjga7lhYjjgbgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDEwMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6am25ZCR6J6N5ZCI55qE5beo6L2uJyxcclxuICAgICAgJ2RlJzogJ0ltIEhhZmVuIGRlcyBGcmllZGVucycsXHJcbiAgICAgICdlbic6ICdUbyBDYWxtZXIgU2VhcycsXHJcbiAgICAgICdmcic6ICdDYXAgc3VyIGxhIHBhaXgnLFxyXG4gICAgICAnamEnOiAn6J6N5ZKM44G444Gu6Ii55Ye6JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsemtguWuieaBrycsXHJcbiAgICAgICdkZSc6ICdEb21hbmlzY2hlcyBCZWdyw6RibmlzJyxcclxuICAgICAgJ2VuJzogJ0xhaWQgdG8gUmVzdCcsXHJcbiAgICAgICdmcic6ICdEZXMgYWRpZXV4IGRvbWllbnMnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe44Gu5byU44GEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Luw5pyb6IuN56m577yM5LiN5pat6L+I6L+bJyxcclxuICAgICAgJ2RlJzogJ0RlciBXZWcgenVyIEVybmV1ZXJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRXZlciBNYXJjaCBIZWF2ZW5zd2FyZCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IHJlbm91dmVhdScsXHJcbiAgICAgICdqYSc6ICfokrzlpKnjgpLku7DjgY7jgIHmranjgb/ntprjgZHjgosnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE0LFxyXG4gIH0sXHJcbiAgMTAxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm67pgIHnlJ/ogIXliY3ooYwnLFxyXG4gICAgICAnZGUnOiAnVHJhdWVyIHVuZCBIb2ZmbnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgR2lmdCBvZiBNZXJjeScsXHJcbiAgICAgICdmcic6ICdBY2NlcHRhdGlvbicsXHJcbiAgICAgICdqYSc6ICflg5XjgZ/jgaHjga/pgoTjgorjgIHlkJvjgpLopovpgIHjgo3jgYYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn6ZWw55qE5oSP5LmJJyxcclxuICAgICAgJ2RlJzogJ0RpZSBCZWRldXR1bmcgZGVyIFNlbnNlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJ2ZXN0IEJlZ2lucycsXHJcbiAgICAgICdmcic6ICdMYSB2cmFpZSBwdWlzc2FuY2UgZGUgbGEgZmF1eCcsXHJcbiAgICAgICdqYSc6ICflpKfpjozjga7mhI/lkbMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5p2A6YGTJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLdW5zdCBkZXMgVMO2dGVucycsXHJcbiAgICAgICdlbic6ICdUaGUgS2lsbGluZyBBcnQnLFxyXG4gICAgICAnZnInOiAnTGEgdm9pZSBkdSBuw6lhbnQnLFxyXG4gICAgICAnamEnOiAn5pqX5q666YGTJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMTAyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfotKTogIXnmoTnn63mnZYnLFxyXG4gICAgICAnZGUnOiAnRGVzIFdlaXNlbiB3dW5kZXJzYW1lcyBXZXJremV1ZycsXHJcbiAgICAgICdlbic6ICdTYWdlXFwncyBGb2N1cycsXHJcbiAgICAgICdmcic6ICdMZXMgYXJtZXMgZHUgc2FnZScsXHJcbiAgICAgICdqYSc6ICfos6LogIXjga7nn63mnZYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUn+WRveeerOmAne+8jOacr+mBk+aBkuS5hScsXHJcbiAgICAgICdkZSc6ICdEYXMgTGViZW4gaXN0IGt1cnosIGRpZSBLdW5zdCBpc3QgbGFuZycsXHJcbiAgICAgICdlbic6ICdMaWZlIEVwaGVtZXJhbCwgUGF0aCBFdGVybmFsJyxcclxuICAgICAgJ2ZyJzogJ0V4aXN0ZW5jZXMgw6lwaMOpbcOocmVzIGV0IHNhdm9pciDDqXRlcm5lbCcsXHJcbiAgICAgICdqYSc6ICfkurrlkb3jga/lhJrjgY/jgIHooZPjga7jgb/jgaHjga/msLjkuYXjgasnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDEyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqeWnhuiQqMK3572X5pWP6JCo5LiK5bGC55Sy5p2/JyxcclxuICAgICAgJ2RlJzogJ09iZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgVXBwZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExlIFRpbGxhYycsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIrnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDsg4HsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTI5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIvlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgTG93ZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExcXCdFbnRyZXBvbnQnLFxyXG4gICAgICAnamEnOiAn44Oq44Og44K144O744Ot44Of44Oz44K177ya5LiL55Sy5p2/5bGkJyxcclxuICAgICAgJ2tvJzogJ+umvOyCrCDroZzrr7zsgqwg7ZWY7Li1IOqwke2MkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNSxcclxuICB9LFxyXG4gIDEzMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5jOWwlOi+vuWTiOeOsOS4luWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdOYWxkLUtyZXV6Z2FuZycsXHJcbiAgICAgICdlbic6ICdVbFxcJ2RhaCAtIFN0ZXBzIG9mIE5hbGQnLFxyXG4gICAgICAnZnInOiAnVWxcXCdkYWggLSBGYXVib3VyZyBkZSBOYWxkJyxcclxuICAgICAgJ2phJzogJ+OCpuODq+ODgOODj++8muODiuODq+WbnuW7iicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg64KgIO2ajOuekScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3LFxyXG4gIH0sXHJcbiAgMTMxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI5p2l55Sf5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ1RoYWwtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgVGhhbCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIFRoYWwnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44K244Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDri6wg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICAxMzI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprmlrDooZcnLFxyXG4gICAgICAnZGUnOiAnTmV1LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ05ldyBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdOb3V2ZWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrmlrDluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOyLoOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxLFxyXG4gIH0sXHJcbiAgMTMzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qC86YeM6L6+5bC85Lqa5pen6KGXJyxcclxuICAgICAgJ2RlJzogJ0FsdC1HcmlkYW5pYScsXHJcbiAgICAgICdlbic6ICdPbGQgR3JpZGFuaWEnLFxyXG4gICAgICAnZnInOiAnVmllaWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrml6fluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOq1rOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyLFxyXG4gIH0sXHJcbiAgMTM0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTWlkZGxlIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTYsXHJcbiAgfSxcclxuICAxMzU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprkvY7lnLAnLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTG93ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0Jhc3NlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfkvY7lnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KCA7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDEzNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mbvuadkScsXHJcbiAgICAgICdkZSc6ICdEb3JmIGRlcyBOZWJlbHMnLFxyXG4gICAgICAnZW4nOiAnTWlzdCcsXHJcbiAgICAgICdmcic6ICdCcnVtw6llJyxcclxuICAgICAgJ2phJzogJ+ODn+OCueODiOODu+ODtOOCo+ODrOODg+OCuCcsXHJcbiAgICAgICdrbyc6ICfslYjqsK/ruZsg66eI7J2EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTM3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lic5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ8OWc3RsaWNoZXMgTGEgTm9zY2VhJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBvcmllbnRhbGUnLFxyXG4gICAgICAnamEnOiAn5p2x44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTgsXHJcbiAgfSxcclxuICAxMzg6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfopb/mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9jY2lkZW50YWxlJyxcclxuICAgICAgJ2phJzogJ+ilv+ODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE5LFxyXG4gIH0sXHJcbiAgMTM5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ09iZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnVXBwZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDE0MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ1dlc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb2NjaWRlbnRhbCcsXHJcbiAgICAgICdqYSc6ICfopb/jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7ISc67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMTQxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAxNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Im+546b5ZCJ5aic5p2v5paX5oqA5aSn5Lya5Yaz6LWbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEcmFjaGVuaGFscy1Lb2xvc3NldW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYWdvblxcJ3MgTmVjaycsXHJcbiAgICAgICdmcic6ICdMZSBDb2wgZHUgZHJhZ29uJyxcclxuICAgICAgJ2phJzogJ+OCouODnuOCuOODiuadr+mXmOaKgOS8muaxuuWLneaIpicsXHJcbiAgICAgICdrbyc6ICfslYTrp4jsp4DrgpjrsLAg7Yis6riw64yA7ZqMIOqysOyKueyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eah+mDveS8iuS/ruWKoOW+t+S/neWNq+aImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGUgU2nDqGdlIGRlIGxhIHNhaW50ZSBDaXTDqSBkXFwnSXNoZ2FyZCcsXHJcbiAgICAgICdqYSc6ICfnmofpg73jgqTjgrfjg6Xjgqzjg6vjg4npmLLooZvmiKYnLFxyXG4gICAgICAna28nOiAn7ISx64+EIOydtOyKiOqwgOultOuTnCDrsKnslrTsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAxNDU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdFYXN0ZXJuIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIG9yaWVudGFsJyxcclxuICAgICAgJ2phJzogJ+adseOCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrj5nrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExLFxyXG4gIH0sXHJcbiAgMTQ2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1PDvGRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnU291dGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gbcOpcmlkaW9uYWwnLFxyXG4gICAgICAnamEnOiAn5Y2X44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uCqOu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTIsXHJcbiAgfSxcclxuICAxNDc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljJfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnTsO2cmRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnTm9ydGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gc2VwdGVudHJpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljJfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn67aB67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMyxcclxuICB9LFxyXG4gIDE0ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+S4reWkruael+WMuicsXHJcbiAgICAgICdkZSc6ICdUaWVmZXIgV2FsZCcsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Lit5aSu5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg7KSR67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAxNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bm76b6Z5q6L6aq45a+G57qm5LmL5aGUJyxcclxuICAgICAgJ2RlJzogJ0jDvHRlciBkZXMgU2VlcycsXHJcbiAgICAgICdlbic6ICdUaGUgS2VlcGVyIG9mIHRoZSBMYWtlJyxcclxuICAgICAgJ2ZyJzogJ0xlIEdhcmRpZW4gZHUgbGFjJyxcclxuICAgICAgJ2phJzogJ+W5u+m+jeaui+mquCDpu5nntITjga7loZQnLFxyXG4gICAgICAna28nOiAn66y17JW97J2YIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NCxcclxuICB9LFxyXG4gIDE1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5pqX5LmL5LiW55WMJyxcclxuICAgICAgJ2RlJzogJ0RpZSBXZWx0IGRlciBEdW5rZWxoZWl0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXb3JsZCBvZiBEYXJrbmVzcycsXHJcbiAgICAgICdmcic6ICdMYSBUb3VyIGRlIENyaXN0YWwgLSBNb25kZSBkZXMgVMOpbsOoYnJlcycsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrpl4fjga7kuJbnlYwnLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog7Ja065Gg7J2YIOyEuOqzhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTUyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lic6YOo5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ09zdHdhbGQnLFxyXG4gICAgICAnZW4nOiAnRWFzdCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGRlIGxcXCdlc3QnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5p2x6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64+Z67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxNTM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljZfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnU8O8ZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnU291dGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBzdWQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Y2X6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64Ko67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxNTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljJfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnTm9yZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnTm9ydGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBub3JkJyxcclxuICAgICAgJ2phJzogJ+m7kuiho+ajru+8muWMl+mDqOajruaelycsXHJcbiAgICAgICdrbyc6ICfqsoDsnYDsnqXrp4kg7IiyIOu2geu2gOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2LFxyXG4gIH0sXHJcbiAgMTU1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqT5bCU5pyt5pav5Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgQ2VudHJhbCBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBjZW50cmFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueS4reWkrumrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7KSR7JWZ6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMTU2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGp5p2c57qzJyxcclxuICAgICAgJ2RlJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdlbic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnZnInOiAnTW9yIERob25hJyxcclxuICAgICAgJ2phJzogJ+ODouODvOODieOCpeODiicsXHJcbiAgICAgICdrbyc6ICfrqqjrpbTrj4TrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAxNTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp54S26KaB5a6z5rKZ5pav5aGU5aSP5rq25rSeJyxcclxuICAgICAgJ2RlJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2VuJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2phJzogJ+WkqeeEtuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4nLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvJHlhbvog5zlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCcsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AnLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCcsXHJcbiAgICAgICdqYSc6ICflparpgoTmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywJyxcclxuICAgICAgJ2tvJzogJ+u4jOugiOydtO2UjOuhneyKpOydmCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7ngbXlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kJyxcclxuICAgICAgJ2phJzogJ+aXheelnuiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrknLFxyXG4gICAgICAna28nOiAn67Cp656R7J6Q7J2YIOq2geyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mihuiIquaYjueBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgU2lyaXVzJyxcclxuICAgICAgJ2phJzogJ+aAqumzpeW3qOWhlCDjgrfjg6rjgqbjgrnlpKfnga/lj7AnLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHplIHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbmVzIGRlIENsb2NoZWN1aXZyZScsXHJcbiAgICAgICdqYSc6ICflsIHpjpblnZHpgZMg44Kr44OD44OR44O844OZ44Or6YqF5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlhb3poobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn6a2U542j6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCcsXHJcbiAgICAgICdrbyc6ICftlaDrnbztg4jrpqwg7IiY66Co7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybicsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaOoue0oiDjgqvjg6vjg7Pln4vmsqHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7Lm066W47J2YIOustOuEiOynhCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDkuIvngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCcsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwb2fDqWUgZGUgVGFtLVRhcmEnLFxyXG4gICAgICAnamEnOiAn5Zyw5LiL6ZyK5q6/IOOCv+ODoOOCv+ODqeOBruWik+aJgCcsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDMwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCN6Zeo5bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgZGVzIEhhdWtrZScsXHJcbiAgICAgICdqYSc6ICflkI3ploDlsYvmlbcg44OP44Km44Kx44K/5b6h55So6YK4JyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrmlZnpqbvlnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6YKq5pWZ5o6S5pKDIOWPpOWfjuOCouODoOODgOODl+ODvOODqycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflr7npvpnln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZGUgUGllcnJlJyxcclxuICAgICAgJ2phJzogJ+WfjuWhnuaUu+eVpSDjgrnjg4jjg7zjg7Pjg7TjgqPjgrjjg6snLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDE2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm5Hni7Hlup/lop/miZjmiZjCt+aLieWFi+WNg+eLsScsXHJcbiAgICAgICdkZSc6ICdUYXVzZW5kIEzDtmNoZXIgdm9uIFRvdG8tUmFrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUaG91c2FuZCBNYXdzIG9mIFRvdG/igJNSYWsnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbGxlIEd1ZXVsZXMgZGUgVG90by1SYWsnLFxyXG4gICAgICAnamEnOiAn55uj542E5buD5aKfIOODiOODiOODqeOCr+OBruWNg+eNhCcsXHJcbiAgICAgICdrbyc6ICfthqDthqDrnbztgawg6rCQ7JilJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rWB5rKZ6L+35a6r5qi16bij5rSeJyxcclxuICAgICAgJ2RlJzogJ1PDpGdlcnNjaHJlaScsXHJcbiAgICAgICdlbic6ICdDdXR0ZXJcXCdzIENyeScsXHJcbiAgICAgICdmcic6ICdMZSBHb3VmZnJlIGh1cmxhbnQnLFxyXG4gICAgICAnamEnOiAn5rWB56CC6L+35a6uIOOCq+ODg+OCv+ODvOOCuuOCr+ODqeOCpCcsXHJcbiAgICAgICdrbyc6ICfrgpjrrLTqvrzsnZgg67mE66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bGx5Lit5oiY57q/5rO95qKF5bCU6KaB5aGeJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGZXN0ZSBEemVtYWVsJyxcclxuICAgICAgJ2VuJzogJ0R6ZW1hZWwgRGFya2hvbGQnLFxyXG4gICAgICAnZnInOiAnTGEgRm9ydGVyZXNzZSBkZSBEemVtYWVsJyxcclxuICAgICAgJ2phJzogJ+aOg+iojuS9nOaIpiDjgrzjg7zjg6Hjg6vopoHloZ4nLFxyXG4gICAgICAna28nOiAn7KCc66mcIOyalOyDiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+avkumbvua0nueqn+m7hOmHkeiwtycsXHJcbiAgICAgICdkZSc6ICdHb2xka2xhbW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEF1cnVtIFZhbGUnLFxyXG4gICAgICAnZnInOiAnTGUgVmFsIGRcXCdBdXJ1bScsXHJcbiAgICAgICdqYSc6ICfpnKfkuK3ooYzou40g44Kq44O844Op44Og44O044Kn44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+q4iOu5myDqs6jsp5zquLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5Y+k5Luj5Lq66L+35a6rJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERhcyBMYWJ5cmludGggZGVyIEFsdGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMYWJ5cmludGggb2YgdGhlIEFuY2llbnRzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIETDqWRhbGUgYW50aXF1ZScsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrlj6Tku6Pjga7msJHjga7ov7flrq4nLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog6rOg64yA7J247J2YIOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTgwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa5aSW5ZywJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnT3V0ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBleHTDqXJpZXVyZScsXHJcbiAgICAgICdqYSc6ICflpJblnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7Jm47KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNCxcclxuICB9LFxyXG4gIDE4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmraboo4XlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkdSBWYWdhYm9uZCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmraboo4XogZbln58g44Ov44Oz44OA44Op44O844OR44Os44K5IChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq5b+15aaW5Zyw5peg6ZmQ5Z+O5Y+k5aChJyxcclxuICAgICAgJ2RlJzogJ0RpZSBSdWluZW4gdm9uIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnQW1kYXBvciBLZWVwIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgqrlv7XmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgMTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOW9t+W+qOatu+eBte+8gScsXHJcbiAgICAgICdkZSc6ICdCb2NrbWFubnMgR2Vmb2xnZScsXHJcbiAgICAgICdlbic6ICdVbmRlciB0aGUgQXJtb3InLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IGZhbnTDtG1lIGZhbnRvY2hlJyxcclxuICAgICAgJ2phJzogJ+W9t+W+qOOBhuatu+mciuOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrsKntmantlZjripQg7IKs66C57J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbHpmaTliafmr5LlppboirHvvIEnLFxyXG4gICAgICAnZGUnOiAnVW5rcmF1dCBqw6R0ZW4nLFxyXG4gICAgICAnZW4nOiAnUHVsbGluZyBQb2lzb24gUG9zaWVzJyxcclxuICAgICAgJ2ZyJzogJ09ww6lyYXRpb24gZmxldXJzIGR1IG1hbCcsXHJcbiAgICAgICdqYSc6ICfmnInmr5LlppboirHjgpLpp4bpmaTjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn64+F7ISxIOyalOq0tOq9g+ydhCDsoJzqsbDtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5raI54Gt5oG25b6S5Zui5LyZ5a+E55Sf6JyC5Zui77yBJyxcclxuICAgICAgJ2RlJzogJ0lucyBXZXNwZW5uZXN0IHN0ZWNoZW4nLFxyXG4gICAgICAnZW4nOiAnU3RpbmdpbmcgQmFjaycsXHJcbiAgICAgICdmcic6ICdFeHDDqWRpdGlvbiBwdW5pdGl2ZSBjb250cmUgbGVzIFZlbnRyZXJvdWdlJyxcclxuICAgICAgJ2phJzogJ+eEoeazleiAheOAjOS8vOaIkeicguWbo+OAjeOCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTrspXsnpAg7KeR64uoIFxcJ+uCmOuCmOuLiOuLqFxcJ+ydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxOTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJVicsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00NDgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ0LFxyXG4gIH0sXHJcbiAgMjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgR3JhYiBkZXIgTG9oZScsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucycsXHJcbiAgICAgICdqYSc6ICfjgqTjg5Xjg6rjg7zjg4joqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDIwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnaborqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIE5hYmVsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCcsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsJyxcclxuICAgICAgJ2phJzogJ+OCv+OCpOOCv+ODs+iojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iOq+WPpOWKm+i0pOeOi+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLw7ZuaWdsaWNoZSBLb25mcm9udGF0aW9uIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1Rob3JubWFyY2ggKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIExpc2nDqHJlIGRlIHJvbmNlcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICflloTnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ISg7JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDIwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov6bmpbznvZforqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGFzIFRvc2VuZGUgQXVnZScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUnLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwnLFxyXG4gICAgICAnamEnOiAn44Ks44Or44O844OA6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+qwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6M5oiQ6ZuG5Zui5oiY6K6t57uD77yBJyxcclxuICAgICAgJ2RlJzogJ0VpbmVyIGbDvHIgYWxsZSwgYWxsZSBmw7xyIGVpbmVuJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBQYXJ0aWVzJyxcclxuICAgICAgJ2ZyJzogJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGdyb3VwZXMgZFxcJ2VubmVtaXMnLFxyXG4gICAgICAnamEnOiAn6ZuG5Zuj5oim6KiT57e044KS44GP44GQ44KK5oqc44GR44KN77yBJyxcclxuICAgICAgJ2tvJzogJ+ynkeuLqOyghCDtm4jroKjsnYQg7JmE7IiY7ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDIxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqoHnoLTmiYDmnInlhbPpl6jvvIzorqjkvJDmnIDmt7HlpITnmoTmlYzkurrvvIEnLFxyXG4gICAgICAnZGUnOiAnU3R1cm1rb21tYW5kbycsXHJcbiAgICAgICdlbic6ICdCYXNpYyBUcmFpbmluZzogRW5lbXkgU3Ryb25naG9sZHMnLFxyXG4gICAgICAnZnInOlxyXG4gICAgICAgICdFbnRyYcOubmVtZW50PEluZGVudC8+OiBpbjxTb2Z0SHlwaGVuLz5maWw8U29mdEh5cGhlbi8+dHJhPFNvZnRIeXBoZW4vPnRpb24gZW4gYmFzZSBlbm5lbWllJyxcclxuICAgICAgJ2phJzogJ+WFqOmWoumWgOOCkueqgeegtOOBl+OAgeacgOa3semDqOOBruaVteOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqtIDrrLjsnYQg64+M7YyM7ZWY6rOgIOy1nOyLrOu2gOydmCDsoIHsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aNleiOt+mHkeW4gem+n++8gScsXHJcbiAgICAgICdkZSc6ICdHaWwgb2RlciBMZWJlbicsXHJcbiAgICAgICdlbic6ICdIZXJvIG9uIHRoZSBIYWxmIFNoZWxsJyxcclxuICAgICAgJ2ZyJzogJ1JlY29ucXXDqnRlIGRcXCd1bmUgY2FyYXBhY2UgZXNjYW1vdMOpZScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6vjgqzjg6HjgpLmjZXnjbLjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn6ri46rGw67aB7J2EIOyCrOuhnOyeoeyVhOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAyMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95Y2X5pa55aCh5aSW5Zu05r+A5oiYJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gTWVyaWRpYW51bSAtIEF1w59lbmJlcmVpY2gnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWVyaWRpYW51bScsXHJcbiAgICAgICdqYSc6ICflpJbpg63mlLvnlaUg44Kr44K544OI44Or44Og44O744Oh44Oq44OH44Kj44Ki44OM44OgJyxcclxuICAgICAgJ2tvJzogJ+y5tOyKpO2KuOujuCDrqZTrpqzrlJTslYTriJQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDIxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7vmuoPlk6XluIPmnpfngrjlvLnlhpvlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnQm9tYmlnZSBHb2JsaW5zJyxcclxuICAgICAgJ2VuJzogJ0ZsaWNraW5nIFN0aWNrcyBhbmQgVGFraW5nIE5hbWVzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBHb2JlbGlucyBib21iYXJkaWVycycsXHJcbiAgICAgICdqYSc6ICfniIblvL7prZTjgrTjg5bjg6rjg7Pou43lm6PjgpLmkoPmu4XjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn7Y+t7YOE6rSRIOqzoOu4lOumsCDqtbDri6jsnYQg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMjIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaipuW5u+S5i+W4g+aLieWlh+W4jOWlpe+8gScsXHJcbiAgICAgICdkZSc6ICdCcmlheGlvIGF1c3NjaGFsdGVuJyxcclxuICAgICAgJ2VuJzogJ0FsbFxcJ3MgV2VsbCB0aGF0IEVuZHMgaW4gdGhlIFdlbGwnLFxyXG4gICAgICAnZnInOiAnQnJpYXhpbyDDoCBicmFzIHJhY2NvdXJjaXMnLFxyXG4gICAgICAnamEnOiAn5aSi5bm744Gu44OW44Op44Kt44K344Kq44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uqve2ZmOydmCDruIzrnbztgazsi5zsmKTrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1LFxyXG4gIH0sXHJcbiAgMjIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaxoeafk+a6kOWktOmtlOeVjOiKse+8gScsXHJcbiAgICAgICdkZSc6ICdUw7ZkbGljaGVzIFJhbmtlbnNwaWVsJyxcclxuICAgICAgJ2VuJzogJ01vcmUgdGhhbiBhIEZlZWxlcicsXHJcbiAgICAgICdmcic6ICdTdXMgYXUgbW9yYm9sIHBvbGx1ZXVyJyxcclxuICAgICAgJ2phJzogJ+axmuafk+a6kOODouODq+ODnOODq+OCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfsmKTsl7zsm5Ag66qw67O87J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjAsXHJcbiAgfSxcclxuICAyMjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5Z2R6YGT5Lit5Ye6546w55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ0dlZmFociBhdXMgZGVtIE5pY2h0cycsXHJcbiAgICAgICdlbic6ICdBbm5veSB0aGUgVm9pZCcsXHJcbiAgICAgICdmcic6ICdCdXNvIGxcXCdpbW1vbGF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+WdkemBk+OBq+ePvuOCjOOBn+WmlueVsOODluOCveOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqsLHrj4Tsl5Ag64KY7YOA64KcIOyalOuniCDrtoDshozrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDIyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms6jmhI/ml6DmlYznmoTnnLflsZ7vvIzorqjkvJDlpKflnovlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZ2VnZW4gU2NoYXR0ZW4nLFxyXG4gICAgICAnZW4nOiAnU2hhZG93IGFuZCBDbGF3JyxcclxuICAgICAgJ2ZyJzogJ09tYnJlcyBldCBncmlmZmVzJyxcclxuICAgICAgJ2phJzogJ+eEoeaVteOBruect+WxnuOCkuW+k+OBiOOBl+OAgeWkp+Wei+WmlueVsOOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTsoIHsnZgg67aA7ZWY66W8IOyhsOyihe2VmOuKlCDsmpTrp4jrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMSxcclxuICB9LFxyXG4gIDIyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnluZXprZTlr7zln47mnIDnu4jlhrPmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gUHJhZXRvcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgUHJhZXRvcml1bScsXHJcbiAgICAgICdmcic6ICdMZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2phJzogJ+acgOe1guaxuuaIpiDprZTlsI7ln47jg5fjg6njgqjjg4jjg6rjgqbjg6AnLFxyXG4gICAgICAna28nOiAn66eI64+E7ISxIO2UhOudvOydtO2GoOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMicsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugNScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA1JyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDUnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI1MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eLvOeLseWBnOiIueWcuicsXHJcbiAgICAgICdkZSc6ICdXb2xmc2jDtmhsZW4tUGllcicsXHJcbiAgICAgICdlbic6ICdXb2x2ZXNcXCcgRGVuIFBpZXInLFxyXG4gICAgICAnZnInOiAnSmV0w6llIGRlIGxcXCdBbnRyZSBkZXMgbG91cHMnLFxyXG4gICAgICAnamEnOiAn44Km44Or44O044K644K444Kn44Kk44Or5L+C6Ii55aC0JyxcclxuICAgICAgJ2tvJzogJ+uKkeuMgOyasOumrCDrtoDrkZAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOSxcclxuICB9LFxyXG4gIDI4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6rjg7TjgqHjgqTjgqLjgrXjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOumrOuwlOydtOyWtOyEoCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICAyOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m55q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gSWZyaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvd2wgb2YgRW1iZXJzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7Dlnabmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCrOODq+ODvOODgOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDI5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqTjg5Xjg6rjg7zjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOydtO2UhOumrO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjUsXHJcbiAgfSxcclxuICAyOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOeIhuW8ueaAqueahOWls+eOi++8gScsXHJcbiAgICAgICdkZSc6ICdNaXNzIEJvbWJhc3RpYycsXHJcbiAgICAgICdlbic6ICdMb25nIExpdmUgdGhlIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ0xvbmd1ZSB2aWUgw6AgbGEgUmVpbmUnLFxyXG4gICAgICAnamEnOiAn44Oc44Og44KS546H44GE44KL44CM44Oc44Og44Kv44Kk44O844Oz44CN44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+u0hOydhCDqsbDripDrprAgXFwn67SEIOyXrOyZlVxcJ+ydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atvOeBreeJueauiumYteWei+eahOWmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdVbnplcnRyZW5ubGljaCcsXHJcbiAgICAgICdlbic6ICdXYXJkIFVwJyxcclxuICAgICAgJ2ZyJzogJ1F1aW50ZXR0ZXMgaW5mZXJuYXV4JyxcclxuICAgICAgJ2phJzogJ+S4jeawl+WRs+OBqumZo+W9ouOCkue1hOOCgOWmlueVsOOCkuOBm+OCk+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrtojquLjtlZwg7KeE7ZiV7J2EIOynnOuKlCDsmpTrp4jrpbwg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDMwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliLbmraLkuInmlrnmt7fmiJjnmoTlt6jkurrml4/vvIzlrojkvY/pgZfnianvvIEnLFxyXG4gICAgICAnZGUnOiAnV3VjaHRpZ2UgRHJlaWZhbHRpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnU29sZW1uIFRyaW5pdHknLFxyXG4gICAgICAnZnInOiAnVHJpbml0w6kgc2luaXN0cmUnLFxyXG4gICAgICAnamEnOiAn5LiJ44Gk5be044Gu5beo5Lq65peP44KS5Yi244GX44CB6YG654mp44KS5a6I44KM77yBJyxcclxuICAgICAgJ2tvJzogJ+yEuCDqsbDsnbjsobHsnYQg7KCc7JWV7ZWY7JesIOycoOusvOydhCDsp4DsvJzrgrTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mHjOWhlOaPkOaBqeW8uuaUu+aImCcsXHJcbiAgICAgICdkZSc6ICdLYXAgV2VzdHdpbmQnLFxyXG4gICAgICAnZW4nOiAnQ2FwZSBXZXN0d2luZCcsXHJcbiAgICAgICdmcic6ICdMZSBDYXAgVmVuZG91ZXN0JyxcclxuICAgICAgJ2phJzogJ+ODquODg+ODiOOCouODhuOCo+ODs+W8t+ilsuaIpicsXHJcbiAgICAgICdrbyc6ICfrpqztirjslYTti7Qg6rCV7Iq17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAzNDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m25p6B56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFVsdGltYScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVWx0aW1hXFwncyBCYW5lJyxcclxuICAgICAgJ2ZyJzogJ0xlIGZsw6lhdSBkXFwnVWx0aW1hJyxcclxuICAgICAgJ2phJzogJ+eptualteW5u+aDsyDjgqLjg6vjg4bjg57jgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzEsXHJcbiAgfSxcclxuICAzNDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aqa5Lmx5Z2R6YGT6ZOc6ZOD6ZOc5bGxJyxcclxuICAgICAgJ2RlJzogJ0t1cGZlcmdsb2NrZW4tTWluZSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdDb3BwZXJiZWxsIE1pbmVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mokuS5seWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtueBteW6nOmCuOmdmeivreW6hOWbrScsXHJcbiAgICAgICdkZSc6ICdIYXVra2UtSGVycmVuaGF1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYXVra2UgTWFub3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WmlueVsOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDInLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDEnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIEknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMScsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMycsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMicsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIElJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjInLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICAzNTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMicsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDM2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliZHmlpfpoobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGkgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0hhbGF0YWxpIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WJo+mXmOmgmOWfnyDjg4/jg6njgr/jg6rkv67nt7TmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0ouWuneS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZScsXHJcbiAgICAgICdqYSc6ICfosqHlrp3kvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+uCnO2MjOyEoOydmCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnurfkuonopoHlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJpdm91YWMgZGUgQnJheWZsb3ggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55uf5Y+L5pSv5o+0IOODluODrOOCpOODleODreOCr+OCueOBrumHjuWWtuWcsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgMzYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iFkOWdj+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3InLFxyXG4gICAgICAnZnInOiAnTGVzIFZlc3RpZ2VzIGRlIGxhIGNpdMOpIGRcXCdBbWRhcG9yJyxcclxuICAgICAgJ2phJzogJ+iFkOaVl+mBuui3oSDlj6TjgqLjg6Djg4Djg5fjg7zjg6vluILooZcnLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAzNjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW1546L44Oi44Kw44Or44O744Oi44KwWElJ5LiW6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3ueyZlSDrqqjqt7jro6gg66qo6re4IFhJSeyEuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzAsXHJcbiAgfSxcclxuICAzNjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5r+A5oiY5Z+O5aGe55+z5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ1N0ZWluZXJuZSBXYWNodCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3RvbmUgVmlnaWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5aWq5ZueIOOCueODiOODvOODs+ODtOOCo+OCuOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+ahpeS4iueahOWGs+aWlycsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIGdyb8OfZW4gQnLDvGNrZScsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgb24gdGhlIEJpZyBCcmlkZ2UnLFxyXG4gICAgICAnZnInOiAnQWZmcm9udGVtZW50IHN1ciBsZSBncmFuZCBwb250JyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeODg+OCt+ODpeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfquLjqsIDrqZTsi5wg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IuP6YaS6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybiAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBUZW1wbGUgZW5zZXZlbGkgZGUgUWFybiAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgbrot6HmlZHmj7Qg44Kr44Or44Oz5Z+L5rKh5a+66ZmiIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQxLFxyXG4gIH0sXHJcbiAgMzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+WMluWlh+e+juaLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgRGhvcm1lLUNoaW3DpHJhJyxcclxuICAgICAgJ2VuJzogJ0EgUmVsaWMgUmVib3JuOiB0aGUgQ2hpbWVyYScsXHJcbiAgICAgICdmcic6ICdMYSBjaGltw6hyZSBkaG9ybWUgZHUgQ29lcnRoYXMnLFxyXG4gICAgICAnamEnOiAn44OJ44Or44Og44Kt44Oe44Kk44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+uPhOumhCDtgqTrp4jsnbTrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMzY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+aLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgSHlkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBIeWRyYScsXHJcbiAgICAgICdmcic6ICdMXFwnaHlkcmUgZFxcJ0hhbGF0YWxpJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODieODqeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftlZjsnbTrk5zrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yeb5Ya95rSe5aSp5oqr6Zuq5aSn5Yaw5aOBJyxcclxuICAgICAgJ2RlJzogJ0RhcyBTY2huZWVrbGVpZCcsXHJcbiAgICAgICdlbic6ICdTbm93Y2xvYWsnLFxyXG4gICAgICAnZnInOiAnTWFudGVuZWlnZScsXHJcbiAgICAgICdqYSc6ICfmsLfntZDmvZznqp8g44K544OO44O844Kv44Ot44O844Kv5aSn5rC35aOBJyxcclxuICAgICAgJ2tvJzogJ+yWvOydjOyZuO2IrCDrjIDruZnrsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05pm25aGUIOW4jOWwlOenkeaWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdLcmlzdGFsbHR1cm0gLSBEZXIgU3lyY3VzLVR1cm0nLFxyXG4gICAgICAnZW4nOiAnU3lyY3VzIFRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIFRvdXIgZGUgU3lyY3VzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muOCt+ODq+OCr+OCueOBruWhlCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDsi5zrpbTsv6DsiqQg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oOo5Ymn54G15q6/5aGU5aeGwrfloZTmi4nlopPlm60nLFxyXG4gICAgICAnZGUnOiAnVG90ZW5hY2tlciBUYW0tVGFyYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgVGFt4oCTVGFyYSBEZWVwY3JvZnQgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmg6jliofpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODqeODoOOCpuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg652866y0IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MyxcclxuICB9LFxyXG4gIDM3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WRqOi+uemBl+i/uee+pCAo6Zi15Zyw5oiYKScsXHJcbiAgICAgICdkZSc6ICfDhHXDn2VyZSBSdWluZW4gKFNpY2hlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvcmRlcmxhbmQgUnVpbnMgKFNlY3VyZSknLFxyXG4gICAgICAnZnInOiAnTGVzIFJ1aW5lcyBmcm9udGFsacOocmVzIChhbm5leGlvbiknLFxyXG4gICAgICAnamEnOiAn5aSW57iB6YG66Leh576kICjliLblnKfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yZuOqzvSDsnKDsoIHsp4DrjIAo7KCc7JWV7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgMzc4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzODA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMiAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzgzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgIbovazopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mAhuilsuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4gKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yCrOyKpO2DgOyDpCDsuajsi50g64+Z6rW0KOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5aSq6Ziz5rW35bK4JyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTb25uZW5rw7xzdGUnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogQ29zdGEgZGVsIFNvbCcsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjgrPjgrnjgr/jg7vjg4fjg6vjg7vjgr3jg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7L2U7Iqk7YOAIOuNuCDshpQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ3MixcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya6I2S6YeO5aSn6YGTJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTYWdvbGlpLVN0cmHDn2UnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBTYWdvbGlpIFJvYWQnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBSb3V0ZSBkZSBTYWdvbGlpJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCteOCtOODquODvOODreODvOODiScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsgqzqs6jrpqwg7IKs66eJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muaBrOmdmeWwj+i3rycsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogUGZhZCBkZXIgU2VlbGVucnVoZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFRyYW5xdWlsIFBhdGhzJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogU2VudGVzIHRyYW5xdWlsbGVzJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODiOODqeODs+OCreODq+ODkeOCuScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDqs6DsmpTtlZwg7JW87JiB7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWl5LiB5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0plbnNlaXRzIFVydGhzIFF1ZWxsZScsXHJcbiAgICAgICdlbic6ICdVcnRoXFwncyBGb3VudCcsXHJcbiAgICAgICdmcic6ICdMYSBGb250YWluZSBkXFwnVXJ0aCcsXHJcbiAgICAgICdqYSc6ICfpl5jnpZ7jgqrjg7zjg4fjgqPjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yis7IugIOyYpOuUmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDUsXHJcbiAgfSxcclxuICAzOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg6ZmQ5Z+O55qE5q275paXJyxcclxuICAgICAgJ2RlJzogJ1JldmFuY2hlIGluIGRlbiBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmF0dGxlIGluIHRoZSBCaWcgS2VlcCcsXHJcbiAgICAgICdmcic6ICdSZXZhbmNoZSBhdSB2aWV1eCBjaMOidGVhdScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgq7jg6vjgqzjg6Hjg4Pjgrfjg6XoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOq4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAzOTc6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/opb/pg6jpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgV2VzdGVybiBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7ISc67aA6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICAzOTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpvpnloKHlj4LlpKnpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnRHJhdmFuaXNjaGVzIFZvcmxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYXZhbmlhbiBGb3JlbGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXZhbnQtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn6auY5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+qzoOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDM5OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWGhemZhuS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgSGludGVybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEhpbnRlcmxhbmRzJyxcclxuICAgICAgJ2ZyJzogJ0FycmnDqHJlLXBheXMgZHJhdmFuaWVuJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODieODqeODtOOCoeODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag65Oc652867CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTEsXHJcbiAgfSxcclxuICA0MDA6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnv7vkupHpm77mtbcnLFxyXG4gICAgICAnZGUnOiAnV2FsbGVuZGUgTmViZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIENodXJuaW5nIE1pc3RzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRlIERyYXZhbmlhJyxcclxuICAgICAgJ2phJzogJ+ODieODqeODtOOCoeODi+OCoumbsua1tycsXHJcbiAgICAgICdrbyc6ICfrk5zrnbzrsJTri4jslYQg6rWs66aE67CU64ukJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTIsXHJcbiAgfSxcclxuICA0MDE6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmL/lt7Tmi4nmj5DkuprkupHmtbcnLFxyXG4gICAgICAnZGUnOiAnQWJhbGF0aGlzY2hlcyBXb2xrZW5tZWVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWEgb2YgQ2xvdWRzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRcXCdBYmFsYXRoaWEnLFxyXG4gICAgICAnamEnOiAn44Ki44OQ44Op44K344Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+yVhOuwnOudvOyLnOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MyxcclxuICB9LFxyXG4gIDQwMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWkp+mZhumYv+a1juWFueaLiScsXHJcbiAgICAgICdkZSc6ICdBenlzIExsYScsXHJcbiAgICAgICdlbic6ICdBenlzIExsYScsXHJcbiAgICAgICdmcic6ICdBenlzIExsYScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjgrnjg7vjg6njg7wnLFxyXG4gICAgICAna28nOiAn7JWE7KeA7IqkIOudvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU0LFxyXG4gIH0sXHJcbiAgNDAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOW9kuadpScsXHJcbiAgICAgICdkZSc6ICdWZXJyYXQgZGVyIFFhbHlhbmEnLFxyXG4gICAgICAnZW4nOiAnUmV0dXJuIG9mIHRoZSBCdWxsJyxcclxuICAgICAgJ2ZyJzogJ1JldG91ciBhdSBiZXJjYWlsJyxcclxuICAgICAgJ2phJzogJ+iLsembhOOBruW4sOmChCcsXHJcbiAgICAgICdrbyc6ICfsmIHsm4XsnZgg6reA7ZmYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0yNTAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrabor4blrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnknLFxyXG4gICAgICAnZnInOiAnTGEgR3JhbmRlIGJpYmxpb3Row6hxdWUgZGUgR3ViYWwnLFxyXG4gICAgICAnamEnOiAn56aB5pu45Zue5Y+OIOOCsOODluODqeW5u+aDs+Wbs+abuOmkqCcsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muernui1m+aVmeWtpicsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogw5xidW5nc2JhaG4nLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBUdXRvcmlhbCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZFxcJ2FwcGVudGlzc2FnZScsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjg4Hjg6Xjg7zjg4jjg6rjgqLjg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7Yqc7Yag66as7Ja8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC02OTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfln7rnoYDlsYInLFxyXG4gICAgICAnZGUnOiAnRnVuZGFtZW50ZScsXHJcbiAgICAgICdlbic6ICdGb3VuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0lzaGdhcmQgLSBMXFwnQXNzaXNlJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4i+WxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7ZWY7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ3LFxyXG4gIH0sXHJcbiAgNDE5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5L+u5Yqg5b6356Cl5p+x5bGCJyxcclxuICAgICAgJ2RlJzogJ1N0cmViZXdlcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBpbGxhcnMnLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExlcyBDb250cmVmb3J0cycsXHJcbiAgICAgICdqYSc6ICfjgqTjgrfjg6Xjgqzjg6vjg4nvvJrkuIrlsaQnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOyDgey4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OCxcclxuICB9LFxyXG4gIDQyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrkuK3npZ7ln5/kuI3ojrflspsnLFxyXG4gICAgICAnZGUnOiAnTmltbWVycmVpY2gnLFxyXG4gICAgICAnZW4nOiAnTmV2ZXJyZWFwJyxcclxuICAgICAgJ2ZyJzogJ05hbGxvbmNxdWVzJyxcclxuICAgICAgJ2phJzogJ+elnuWfn+a1ruWztiDjg43jg5Djg7zjg6rjg7zjg5cnLFxyXG4gICAgICAna28nOiAn6rGw65GQ7KeAIOyViuuKlCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnKPmlZnkuK3mnqLkvIrkv67liqDlvrfmlZnnmofljoUnLFxyXG4gICAgICAnZGUnOiAnRXJ6YmFzaWxpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFZhdWx0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFZvw7t0ZScsXHJcbiAgICAgICdqYSc6ICflvLfnoaznqoHlhaUg44Kk44K344Ol44Ks44Or44OJ5pWZ55qH5bqBJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDqtZDtmanssq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPluIPph4zkuprli5Lmlq/orqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2hyeXNhbGlzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDaHJ5c2FsaXMnLFxyXG4gICAgICAnZnInOiAnTGEgQ2hyeXNhbGlkZScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrfjgqjjg7Pjg7vjg4rjg5fjg6rjgqLjg6zjgrnoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7JWE7JSo7JeUIOuCmOu4jOumrOyVjOugiOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrnianmiJjoiLDml6DpmZDlm57lu4onLFxyXG4gICAgICAnZGUnOiAnRGllIEZyYWt0YWwtS29udGludXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmFjdGFsIENvbnRpbnV1bScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCcsXHJcbiAgICAgICdqYSc6ICfljZrnianmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlagnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTIxMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsJjlsIHnp5jlsqkgKOS6ieWkuuaImCknLFxyXG4gICAgICAnZGUnOiAnUm9iYmVuaG9sbSAoRXJvYmVydW5nKScsXHJcbiAgICAgICdlbic6ICdTZWFsIFJvY2sgKFNlaXplKScsXHJcbiAgICAgICdmcic6ICdMZSBSb2NoZXIgZGVzIHRyw6lmb25kcyAoaW52YXNpb24pJyxcclxuICAgICAgJ2phJzogJ+OCt+ODvOODq+ODreODg+OCryAo5LqJ5aWq5oimKScsXHJcbiAgICAgICdrbyc6ICfrtInsnbjrkJwg67CU7JyE7ISsKOyfge2DiOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTksXHJcbiAgfSxcclxuICA0MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn572X5rOi6YKj5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gUmF2YW5hJyxcclxuICAgICAgJ2VuJzogJ1Rob2sgYXN0IFRob2sgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Rob2sgYXN0IFRob2sgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGsOmbquW6n+WgoeaaruWNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdBYmVuZHJvdC1XYWNodCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVzayBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZHUgQ3LDqXB1c2N1bGUnLFxyXG4gICAgICAnamEnOiAn5buD56Cm5o2c57SiIOODgOOCueOCr+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfslrTsiqTrpoQg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgNDM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCqum+meeOi+W6p+m+meW3ouelnuauvycsXHJcbiAgICAgICdkZSc6ICdOZXN0IGRlcyBEcmFjaGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBaXJlJyxcclxuICAgICAgJ2phJzogJ+mCquernOihgOaIpiDjg4njg6njgrTjg7PjgrrjgqjjgqLjg6rjg7wnLFxyXG4gICAgICAna28nOiAn7Jqp7J2YIOuRpeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDU1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODk+OCueODnuODq+OCr+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg67mE7Iqk66eI66W07YGsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnIbmoYzpqpHlo6vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnU2luZ3VsYXJpdMOkdHMtUmVha3RvcicsXHJcbiAgICAgICdlbic6ICdUaGUgU2luZ3VsYXJpdHkgUmVhY3RvcicsXHJcbiAgICAgICdmcic6ICdMZSBSw6lhY3RldXIgZGUgc2luZ3VsYXJpdMOpJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODhOODu+OCquODluODu+ODqeOCpuODs+ODieiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KGA5oiY6IuN56m56a2U56eR5a2m56CU56m25omAJyxcclxuICAgICAgJ2RlJzogJ8OEdGhlcm9jaGVtaXNjaGVzIEZvcjxTb2Z0SHlwaGVuLz5zY2h1bmdzPFNvZnRIeXBoZW4vPmxhYm9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXRoZXJvY2hlbWljYWwgUmVzZWFyY2ggRmFjaWxpdHknLFxyXG4gICAgICAnZnInOiAnTGUgTGFib3JhdG9pcmUgZGUgbWFnaXNtb2xvZ2llJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeiBluaIpiDprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAna28nOiAn66eI6rO87ZWZIOyXsOq1rOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTgsXHJcbiAgICAnb2Zmc2V0WSc6IDE0OSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHnu53pobbntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCcsXHJcbiAgICAgICdlbic6ICdTb2htIEFsJyxcclxuICAgICAgJ2ZyJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnamEnOiAn6ZyK5bOw6LiP56C0IOOCveODvOODoOODu+OCouODqycsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4NSxcclxuICAgICdvZmZzZXRZJzogNTEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODqeODvOODtOOCoeODiuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg652867CU64KYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NyxcclxuICB9LFxyXG4gIDQ0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+W5u+aDs+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBUaG9yZGFucyBGYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUaG9yZGFuXFwncyBSZWlnbicsXHJcbiAgICAgICdmcic6ICdMZSByw6hnbmUgZGUgVGhvcmRhbicsXHJcbiAgICAgICdqYSc6ICfokrzlpKnlubvmg7Mg44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya6LW35YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ3ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUsOWbremDoScsXHJcbiAgICAgICdkZSc6ICdGcm9oZWhhbGRlJyxcclxuICAgICAgJ2VuJzogJ0lkeWxsc2hpcmUnLFxyXG4gICAgICAnZnInOiAnSWR5bGzDqWUnLFxyXG4gICAgICAnamEnOiAn44Kk44OH44Kj44Or44K344Oj44Kk44KiJyxcclxuICAgICAgJ2tvJzogJ+ydtOuUnOyDpOydtOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NSxcclxuICB9LFxyXG4gIDUwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya5aSn6LWb5a+55oiY77yI5Lq65py65a+55oiY77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IFR1cm5pZXIgKGdlZ2VuIEFyZW5hbWVpc3RlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogTWFzdGVyIFRvdXJuYW1lbnQnLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgZGUgdG91cm5vaSBjb250cmUgbFxcJ29yZGluYXRldXInLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muWkp+S8muWvvuaIpiAoQ1BV5a++5oimKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjsnbjqs7Ug7KeA64qlIOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZToiKroiLnomZrml6DmlrnoiJ8nLFxyXG4gICAgICAnZGUnOiAnRGllIE5pY2h0cy1BcmNoZScsXHJcbiAgICAgICdlbic6ICdUaGUgVm9pZCBBcmsnLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyY2hlIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfprZToiKroiLnjg7TjgqnjgqTjg4njgqLjg7zjgq8nLFxyXG4gICAgICAna28nOiAn67O07J2065Oc7J2YIOuwqeyjvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODksXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDEnLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDMnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUlJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjMnLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDUxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDohInngbXnga/lpKnni7zmmJ/nga/loZQnLFxyXG4gICAgICAnZGUnOiAnUGhhcm9zIFNpcml1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdQaGFyb3MgU2lyaXVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Yi25Zyn5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNieacqOW6reWbreWco+iMieWkj+WonOakjeeJqeWbrScsXHJcbiAgICAgICdkZSc6ICdTYW5rdCBNb2NpYW5uZS1BcmJvcmV0dW0nLFxyXG4gICAgICAnZW4nOiAnU2FpbnQgTW9jaWFubmVcXCdzIEFyYm9yZXR1bScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjluq3lnJIg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQwLFxyXG4gICAgJ29mZnNldFknOiA2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTEyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvnmb3mmLzmjqLntKInLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIChFYXN5KScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2IChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA1MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+WknOaZmuaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MixcclxuICB9LFxyXG4gIDUxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfnqbrpl7TpoqDlgJLloZQnLFxyXG4gICAgICAnZGUnOiAnQW50aXR1cm0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFudGl0b3dlcicsXHJcbiAgICAgICdmcic6ICdMXFwnQW50aXRvdXInLFxyXG4gICAgICAnamEnOiAn5pif5rW36Kaz5risIOmAhuOBleOBruWhlCAnLFxyXG4gICAgICAna28nOiAn6rGw6r6466GcIOyEoCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNycsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBTMVA3JyxcclxuICAgICAgJ2phJzogJ+mtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrp4jsi6Ag7IS47ZS866Gc7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NixcclxuICB9LFxyXG4gIDUxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7lnKPpgZfov7nml6DpmZDln47luILooZflj6Tov7knLFxyXG4gICAgICAnZGUnOiAnSGlzdG9yaXNjaGVzIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIExvc3QgQ2l0eSBvZiBBbWRhcG9yIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3IgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn56We6IGW6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4Ao7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2NCxcclxuICAgICdvZmZzZXRZJzogMzE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MyxcclxuICB9LFxyXG4gIDUyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOW+i+WKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRWxsZSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBDdWZmIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pZ25ldCBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTExMCxcclxuICAgICdvZmZzZXRZJzogLTE3MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgU29uJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo6I+y5rSb54m55q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2VwaGlyb3QnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFMxVDcgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprZTnpZ7jgrvjg5XjgqPjg63jg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDnu4PkuaDotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCDDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoNCBvbiA0IC0gVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2VuPFNvZnRIeXBoZW4vPnRyYcOuPFNvZnRIeXBoZW4vPm5lPFNvZnRIeXBoZW4vPm1lbnQpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDsnbzrsJjsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCBnZXdlcnRldCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2NsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm5vlm73ogZTlkIjlhpvmvJQnLFxyXG4gICAgICAnZGUnOiAnVHJ1cHBlbsO8YnVuZyBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnQSBTcGVjdGFjbGUgZm9yIHRoZSBBZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBtYW7Fk3V2cmUgw6lvcnrDqWVubmUnLFxyXG4gICAgICAnamEnOiAn5Zub5Zu95ZCI5ZCM5ryU57+SJyxcclxuICAgICAgJ2tvJzogJzTqsJzqta0g7ZWp64+ZIO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfourLpgb/ojIPlm7TmlLvlh7snLFxyXG4gICAgICAnZGUnOiAnRmzDpGNoZW5hbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBBcmVhIG9mIEVmZmVjdCBBdHRhY2tzJyxcclxuICAgICAgJ2ZyJzogJ8OJdml0ZXIgbGVzIGF0dGFxdWVzIMOgIGFpcmUgZFxcJ2VmZmV0JyxcclxuICAgICAgJ2phJzogJ+evhOWbsuaUu+aSg+OCkumBv+OBkeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrspTsnIQg6rO16rKp7J2EIO2UvO2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6M5o+h5LuH5oGo6L+e5Ye7JyxcclxuICAgICAgJ2RlJzogJ01pdCBLb21ib3MgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyB0byBJbmNyZWFzZSBFbm1pdHknLFxyXG4gICAgICAnZnInOiAnR8OpbsOpcmVyIGRlIGxcXCdpbmltaXRpw6kgYXZlYyB1biBjb21ibycsXHJcbiAgICAgICdqYSc6ICfjgrPjg7Pjg5zjgafmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7L2k67O066W8IOydtOyWtCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnS29tYm9zIGltIEthbXBmIGVpbnNldHplbicsXHJcbiAgICAgICdlbic6ICdFeGVjdXRlIGEgQ29tYm8gaW4gQmF0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0VmZmVjdHVlciBsZSBjb21ibyBlbiBjb21iYXQnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn44Kz44Oz44Oc44Gr5oyR5oim44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDsvaTrs7Trpbwg7IKs7Jqp7ZW067O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnRmVpbmRzZWxpZ2tlaXQgbWVocmVyZXIgR2VnbmVyIGF1ZiBzaWNoIHppZWhlbicsXHJcbiAgICAgICdlbic6ICdBY2NydWUgRW5taXR5IGZyb20gTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBdHRpcmVyIGxcXCdpbmltaXRpw6kgZGUgcGx1c2lldXJzIGVubmVtaXMgc3VyIHNvaScsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7mlbXjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIOyggeyXkOqyjOyEnCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrp7miJjmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnR2VnZW4gbWVocmVyZSBHZWduZXIgYXVmIGVpbm1hbCBrw6RtcGZlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZXIgcGx1c2lldXJzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn6KSH5pWw44Gu5pW144Go5oim44Gj44Gm44G/44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDri6TsiJjsnZgg7KCB6rO8IOyLuOybjOuztOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6n5Yi26L+c5aSE5pWM5Lq655qE5LuH5oGoJyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZXIgRmVybmUgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBSYW5nZWQgQXR0YWNrIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSDDoCBkaXN0YW5jZScsXHJcbiAgICAgICdqYSc6ICfpgaDot53pm6LjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn66mA66as7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eVmeW/g+WinuaPtOeahOaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdGZWluZGxpY2hlIFZlcnN0w6Rya3VuZyBhdWZoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnRW5nYWdlIEVuZW15IFJlaW5mb3JjZW1lbnRzJyxcclxuICAgICAgJ2ZyJzogJ0ZhaXJlIGZhY2Ugw6AgZGVzIHJlbmZvcnRzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5pW144Gu5aKX5o+044Gr5a++5b+c44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yggSDsp4Dsm5DqtbDsl5Ag64yA7LKY7ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLljZXkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnR2VnbmVyIGdlbWVpbnNhbSBiZXNpZWdlbicsXHJcbiAgICAgICdlbic6ICdBc3Npc3QgQWxsaWVzIGluIERlZmVhdGluZyBhIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBlbiBhc3Npc3RhbnQgZGVzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544Go5Y2U5Yqb44GX44Gm5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDtmJHroKXtlZjsl6wg7KCB7J2EIOusvOumrOy5mOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YWN5ZCI6Ziy5oqk6IGM5Lia5omT5YCS5aSa5Liq5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0RlbiBHZWduZXIgZWluZXMgVmVyYsO8bmRldGVuIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0RlZmVhdCBhbiBPY2N1cGllZCBUYXJnZXQnLFxyXG4gICAgICAnZnInOiAnVmFpbmNyZSB1biBlbm5lbWkgb2NjdXDDqSBwYXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOBjOW8leOBjeOBpOOBkeOBpuOBhOOCi+aVteOCkuWAkuOBneOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5Dqs7wg6rCZ7J2AIOyggeydhCDqs7XqsqntlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHu+eahOWQjOaXtui/m+ihjOaImOaWlycsXHJcbiAgICAgICdkZSc6ICdBbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBFbmdhZ2VkIFRhcmdldHMnLFxyXG4gICAgICAnZnInOiAnQ29tYmF0dHJlIGVuIMOpdml0YW50IGxlcyBhdHRhcXVlcyBlbm5lbWllcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7mlLvmkoPjgpLpgb/jgZHjgarjgYzjgonmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCB7J2YIOqzteqyqeydhCDtlLztlZjrqbTshJwg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngbXmtLvov5DnlKjlnLrlnLDmnLrlhbMnLFxyXG4gICAgICAnZGUnOiAnTWl0IGRlbSBHZWzDpG5kZSBpbnRlcmFnaWVyZW4nLFxyXG4gICAgICAnZW4nOiAnSW50ZXJhY3Qgd2l0aCB0aGUgQmF0dGxlZmllbGQnLFxyXG4gICAgICAnZnInOiAnSW50ZXJhZ2lyIGF2ZWMgbGUgZMOpY29yIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICfjgq7jg5/jg4Pjgq/jgpLmtLvnlKjjgZfjgabmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Yq57IiYIOyepey5mOulvCDtmZzsmqntlZjrqbAg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpfpmLLmiqTogYzkuJonLFxyXG4gICAgICAnZGUnOiAnVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgYW4gQWxseScsXHJcbiAgICAgICdmcic6ICdTb2lnbmVyIHVuIGFsbGnDqScsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ7J2EIO2ajOuzteyLnO2CpOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rK755aX5bCP6Zif6Zif5ZGYJyxcclxuICAgICAgJ2RlJzogJ01laHJlcmUgVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgTXVsdGlwbGUgQWxsaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgcGx1c2lldXJzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn6KSH5pWw44Gu5ZGz5pa544KS5Zue5b6p44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uLpOyImOydmCDtjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jorq3nu4MnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIMOcYnVuZycsXHJcbiAgICAgICdlbic6ICdGaW5hbCBFeGVyY2lzZScsXHJcbiAgICAgICdmcic6ICdFeGVyY2ljZSBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfmnIDntYLoqJPnt7TvvIEnLFxyXG4gICAgICAna28nOiAn66eI7KeA66eJIO2biOugqCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojaPoqonph44gKOeijuWGsOaImCknLFxyXG4gICAgICAnZGUnOiAnRmVsZCBkZXIgRWhyZSAoWmVyc3BsaXR0ZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaWVsZHMgb2YgR2xvcnkgKFNoYXR0ZXIpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDaGFtcHMgZGUgbGEgR2xvaXJlIChicmlzZS1nbGFjZSknLFxyXG4gICAgICAnamEnOiAn44OV44Kj44O844Or44OJ44O744Kq44OW44O744Kw44Ot44O844Oq44O8ICjnoJXmsLfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYgeq0keydmCDtj4nsm5Ao7IeE67mZ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NyxcclxuICB9LFxyXG4gIDU1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnpvpnlrqvmrr/lv4bnvarlrqsnLFxyXG4gICAgICAnZGUnOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2VuJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdmcic6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnamEnOiAn5aSp56uc5a6u5q6/IOOCveODvOODq+ODu+OCq+OCpCcsXHJcbiAgICAgICdrbyc6ICfshozrpbQg7Lm07J20JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDM3MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlv4zln47pgqbnjpvlk4gnLFxyXG4gICAgICAnZGUnOiAnRGllIFN0YWR0IGRlciBUcsOkbmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBXZWVwaW5nIENpdHkgb2YgTWhhY2gnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZMOpZmVuZHVlIGRlIE1oYWNoJyxcclxuICAgICAgJ2phJzogJ+emgeW/jOmDveW4guODnuODjycsXHJcbiAgICAgICdrbyc6ICfquIjquLDrj4Tsi5wg66eI7ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogLTQwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kea2oeS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxlIGRlIENyw6h2ZWNhcsOobmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6buS5rim5Lyd6KqsIOODj+ODq+ODluODrOODvOOCq+ODvOODu+OCouOCpOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgNTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWfjuWuneeJqeW6kycsXHJcbiAgICAgICdkZSc6ICdBcXVhcG9saXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFxdWFwb2xpcycsXHJcbiAgICAgICdmcic6ICdMXFwnQXF1YXBvbGUnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCouOCr+OCouODneODquOCuScsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7JWE7L+g7JWE7Y+066as7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBsZXR6dGUgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGEgRGVybmnDqHJlIGF2YW5jw6llIGRlIGxhIEZvaScsXHJcbiAgICAgICdqYSc6ICfjg4vjg7zjgrrjg5jjg4PjgrDlvoHnq5zmiKYnLFxyXG4gICAgICAna28nOiAn64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flj6Tmi4nCt+iMg8K35LyR6JGX5pav6L+95Ye75oiYJyxcclxuICAgICAgJ2RlJzogJ0JsdXRpZ2VzIFdpZWRlcjxTb2Z0SHlwaGVuLz5zZWhlbicsXHJcbiAgICAgICdlbic6ICdBIEJsb29keSBSZXVuaW9uJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZS1wb3Vyc3VpdGUgZGFucyBsZSBsYWJvcmF0b2lyZScsXHJcbiAgICAgICdqYSc6ICfjg6zjgrDjg6njg7vjg7TjgqHjg7Pjg7vjg5Ljg6Xjg4njg6vjgrnov73mkoPmiKYnLFxyXG4gICAgICAna28nOiAn66CI6rW06528IOuwmCDtnojrk5zro6jsiqQg7LaU6rKp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMe+9nkIxMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxfkIxMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTHvvZ4yMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTEtMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDExLTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEx772eQjIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExfkIyMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAyMS0zMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjIx772eQjMwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjIxfkIzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjMx772eQjQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjMxfkI0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjQx772eQjUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjQxfkI1MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwvOW+t+mcjeagvOS8oOWlh+W+gem+meaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgTGllZCB2b24gTmlkaG9nZ3MgbGV0enRlbSBSdWYnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IE5pZGhvZ2dcXCdzIFJhZ2UnLFxyXG4gICAgICAnZnInOiAnTFxcJ2lyZSBkZSBOaWRob2dnJyxcclxuICAgICAgJ2phJzogJ+alteODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqh54G15bqc6YK46Ze56ay85bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHZWlzdGVyc2NobG9zcycsXHJcbiAgICAgICdlbic6ICdUaGUgSGF1bnRlZCBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgaGFudMOpJyxcclxuICAgICAgJ2phJzogJ+S6oemciuWxi+aVtyDjg5vjg7zjg7Pjg4bjg4Pjg4njg57jg4rjg7wnLFxyXG4gICAgICAna28nOiAn7Jyg66C57J2YIOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZqeWzu+Wzoeiwt+WhnuWwlOazleeJueWwlOa6quiwtycsXHJcbiAgICAgICdkZSc6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZW4nOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2ZyJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdqYSc6ICfls7vljrPmuJPosLcg44K844Or44OV44Kh44OI44OrJyxcclxuICAgICAgJ2tvJzogJ+ygpO2MjO2GqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTQ4LFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA1NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFAxUDYnLFxyXG4gICAgICAnamEnOiAn5aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yXrOyLoCDshoztlLzslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY5LFxyXG4gIH0sXHJcbiAgNTc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e0ouiPsuWoheatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNvcGhpYScsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUDFUNiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNiAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteWls+elnuOCveODleOCo+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56eY5pys5a6d5bqT6L+m5be05YuS5bm75oOz5Zu+5Lmm6aaGJyxcclxuICAgICAgJ2RlJzogJ0dyb8OfZSBHdWJhbC1CaWJsaW90aGVrIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBHdWJhbCBMaWJyYXJ5IChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnqIDmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTE2LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrlubvljaHlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBXZWx0ZW5zYWxvbicsXHJcbiAgICAgICdlbic6ICdUaGUgVHJpcGxlIFRyaWFkIEJhdHRsZWhhbGwnLFxyXG4gICAgICAnZnInOiAnQXLDqG5lIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44O844OJ44OQ44OI44Or44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5tOuTnCDrjIDqsrDsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKHVtIFJQKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBQbGF5ZXIgQmF0dGxlIChSUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKGF2ZWMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44GC44KKKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7J6I7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjnjqnlrrblr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gU3BpZWxlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBkZXMgam91ZXVycycsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimICjjg5fjg6zjgqTjg6Tjg7zlr77miKbvvIknLFxyXG4gICAgICAna28nOiAn6rys66eIIOy5nOq1rCDqs7XrsKnsoIQ6IOuMgO2ajCDrjIDqsrAo7ZSM66CI7J207Ja0IOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI5peg57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKG9obmUgUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKE5vbi1SUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKHNhbnMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44Gq44GXKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oOe8oOS4jea4heeahOWuv+WRvScsXHJcbiAgICAgICdkZSc6ICdXZWx0ZW7DvGJlcmdyZWlmZW5kZXMgU2NoaWNrc2FsJyxcclxuICAgICAgJ2VuJzogJ09uZSBMaWZlIGZvciBPbmUgV29ybGQnLFxyXG4gICAgICAnZnInOiAnRGVzdGlucyBlbnRyZWNyb2lzw6lzJyxcclxuICAgICAgJ2phJzogJ+e1oeOBv+WQiOOBhuWuv+WRvScsXHJcbiAgICAgICdrbyc6ICfrkqTslr3tnojripQg7IiZ66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNTHvvZ42MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNTEgLSA2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDUxLTYwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNTHvvZ5CNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNTF+QjYwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA2MSAtIDcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI2Me+9nkI3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI2MX5CNzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izcx772eODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDcxIC0gODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA3MS04MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjcx772eQjgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjcxfkI4MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gODEgLSA5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCODHvvZ5COTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCODF+QjkwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs5Me+9njEwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gOTEgLSAxMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA5MS0xMDApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCOTHvvZ5CMTAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjkxfkIxMDAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEwMe+9njExMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTAxIC0gMTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTAxLTExMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEwMS0xMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTAx772eQjExMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMDF+QjExMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTEx772eMTIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMTEgLSAxMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMTEtMTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTExLTEyMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMTHvvZ5CMTIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExMX5CMTIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMjHvvZ4xMzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEyMSAtIDEzMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDEyMS0xMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMjEtMTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEyMe+9nkIxMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTIxfkIxMzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEzMe+9njE0MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTMxIC0gMTQwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTMxLTE0MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEzMS0xNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTMx772eQjE0MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMzF+QjE0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTQx772eMTUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNDEgLSAxNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNDEtMTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTQxLTE1MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNDHvvZ5CMTUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE0MX5CMTUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNTHvvZ4xNjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE1MSAtIDE2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE1MS0xNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNTEtMTYwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE1Me+9nkIxNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTUxfkIxNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE2Me+9njE3MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTYxIC0gMTcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTYxLTE3MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE2MS0xNzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTYx772eQjE3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNjF+QjE3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTcx772eMTgw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNzEgLSAxODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNzEtMTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTcxLTE4MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNzHvvZ5CMTgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE3MX5CMTgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxODHvvZ4xOTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE4MSAtIDE5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE4MS0xOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxODEtMTkwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE4Me+9nkIxOTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTgxfkIxOTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE5Me+9njIwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTkxIC0gMjAwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTkxLTIwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE5MS0yMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTkx772eQjIwMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxOTF+QjIwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjEyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa6L655Yy6JyxcclxuICAgICAgJ2RlJzogJ0FiYW5pc2NoZXMgR3JlbnpsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmluZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNYXJnZXMnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki6L665aKD5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDrs4DrsKnsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzksXHJcbiAgfSxcclxuICA2MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonmtbcnLFxyXG4gICAgICAnZGUnOiAnUnViaW5zZWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJ1YnkgU2VhJyxcclxuICAgICAgJ2ZyJzogJ01lciBkZSBSdWJpcycsXHJcbiAgICAgICdqYSc6ICfntIXnjonmtbcnLFxyXG4gICAgICAna28nOiAn7ZmN7Jil7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgzLFxyXG4gIH0sXHJcbiAgNjE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bu25aSPJyxcclxuICAgICAgJ2RlJzogJ1lhbnhpYScsXHJcbiAgICAgICdlbic6ICdZYW54aWEnLFxyXG4gICAgICAnZnInOiAnWWFueGlhJyxcclxuICAgICAgJ2phJzogJ+ODpOODs+OCtScsXHJcbiAgICAgICdrbyc6ICfsloDsg6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA2MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z2a54mi6ZOB5aOB5be05Z+D6JCo6ZW/5Z+OJyxcclxuICAgICAgJ2RlJzogJ0JhZWxzYXItV2FsbCcsXHJcbiAgICAgICdlbic6ICdCYWVsc2FyXFwncyBXYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xhIE11cmFpbGxlIGRlIEJhZWxzYXInLFxyXG4gICAgICAnamEnOiAn5beo5aSn6Ziy5aOBIOODkOOCqOOCteODq+OBrumVt+WfjicsXHJcbiAgICAgICdrbyc6ICfrsJTsnbzsgqzrpbQg7J6l7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4MixcclxuICAgICdvZmZzZXRZJzogMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgNjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W6leWuq+auv+e0q+awtOWuqycsXHJcbiAgICAgICdkZSc6ICdTaGlzdWknLFxyXG4gICAgICAnZW4nOiAnU2hpc3VpIG9mIHRoZSBWaW9sZXQgVGlkZXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGF1eCBNYXLDqWVzIHZpb2xldHRlcycsXHJcbiAgICAgICdqYSc6ICfmtbflupXlrq7mrr8g57Sr5rC05a6uJyxcclxuICAgICAgJ2tvJzogJ+yLnOyKpOydtCDqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5bGx5rex5aKD57Si5aeG6Zi/5bCU54G15bOwJyxcclxuICAgICAgJ2RlJzogJ1NvaG0gQWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU29obSBBbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU29obSBBbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpnIrls7DmtYTljJYg44K944O844Og44O744Ki44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTI4LFxyXG4gICAgJ29mZnNldFknOiAtMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo54u854ux5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFdvbGZzaMO2aGxlOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIEZlYXN0aW5nIEdyb3VuZHMpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9GZXN0aW4gZGVzIGxvdXBzKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCpuODq+ODtOOCuuOCuOOCp+OCpOODq+a8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjripHrjIDsmrDrpqwg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NSxcclxuICB9LFxyXG4gIDYyMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6muWxseWMuicsXHJcbiAgICAgICdkZSc6ICdEaWUgWmlubmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQZWFrcycsXHJcbiAgICAgICdmcic6ICdMZXMgUGljcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLlsbHlsrPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOyCsOyVheyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MCxcclxuICB9LFxyXG4gIDYyMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6mua5luWMuicsXHJcbiAgICAgICdkZSc6ICdEYXMgRmVubicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9jaHMnLFxyXG4gICAgICAnZnInOiAnTGVzIExhY3MnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki5rmW55WU5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDtmLjrsJjsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODEsXHJcbiAgfSxcclxuICA2MjI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKrpmLPnpZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnQXppbS1TdGVwcGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEF6aW0gU3RlcHBlJyxcclxuICAgICAgJ2ZyJzogJ1N0ZXBwZSBkXFwnQXppbScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjg6Djgrnjg4bjg4Pjg5cnLFxyXG4gICAgICAna28nOiAn7JWE7KeQIOuMgOy0iOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDYyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfor5XngrzooYzot6/lt7TlhL/ovr7mnKjpnLjpgZMnLFxyXG4gICAgICAnZGUnOiAnQmFyZGFtcyBQcm9iZScsXHJcbiAgICAgICdlbic6ICdCYXJkYW1cXCdzIE1ldHRsZScsXHJcbiAgICAgICdmcic6ICdMYSBGb3JjZSBkZSBCYXJkYW0nLFxyXG4gICAgICAnamEnOiAn5Lyd57Wx6Kmm57e0IOODkOODq+ODgOODoOimh+mBkycsXHJcbiAgICAgICdrbyc6ICfrsJTrpbTri7Qg7Yyo64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUgKGxlaWNodCknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMgKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UgKGZhY2lsZSknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumiAoRWFzeSknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisIO2VnOyglSjsiazsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYwLFxyXG4gIH0sXHJcbiAgNjI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvpu4TmmI/mjqLntKLvvIjni6nnjI7kuJPnlKjvvIknLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEphZ2RncsO8bmRlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gSHVudGluZyBHcm91bmRzJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumicsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYxLFxyXG4gIH0sXHJcbiAgNjI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8gua1gea1t+Wfn+WmluatjOa1tycsXHJcbiAgICAgICdkZSc6ICdTaXJlbmVuLVNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgU2lyZW5zb25nIFNlYScsXHJcbiAgICAgICdmcic6ICdMYSBNZXIgZHUgQ2hhbnQgZGVzIHNpcsOobmVzJyxcclxuICAgICAgJ2phJzogJ+a8gua1gea1t+WfnyDjgrvjgqTjg6zjg7zjg7PmtbcnLFxyXG4gICAgICAna28nOiAn7IS47J2066CMIO2VtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNixcclxuICB9LFxyXG4gIDYyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvbHkuYvlm70nLFxyXG4gICAgICAnZGUnOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdlbic6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnamEnOiAn5b2x44Gu5Zu944OA44Oz44O744K544Kr44O8JyxcclxuICAgICAgJ2tvJzogJ+uRlCDsiqTsubQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1MCxcclxuICAgICdvZmZzZXRZJzogLTQwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTgsXHJcbiAgfSxcclxuICA2Mjg6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HmuK8nLFxyXG4gICAgICAnZGUnOiAnS3VnYW5lJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZScsXHJcbiAgICAgICdmcic6ICdLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn44Kv44Ks44ONJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDYzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5oiY5LqJ56We54yO5Zy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBIYWxvbmVzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIEZ1cnknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgSGFsb25lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOeLqeeMnyknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WKoOWwlOaPkOivuuW5s+WOn+mBremBh+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxpb2Ryb20nLFxyXG4gICAgICAnZW4nOiAnVGhlIENhcnRlbmVhdSBGbGF0czogSGVsaW9kcm9tZScsXHJcbiAgICAgICdmcic6ICdSaXhlIMOgIGxcXCdIw6lsaW9kcm9tZScsXHJcbiAgICAgICdqYSc6ICfjgqvjg6vjg4bjg47jg7zlubPljp/pga3pgYfmiKYnLFxyXG4gICAgICAna28nOiAn7Lm066W07YWM64W4IO2PieybkCDsobDsmrDsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuaLs+eXlScsXHJcbiAgICAgICdkZSc6ICdSaGFsZ3JzIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1JoYWxnclxcJ3MgUmVhY2gnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdGVuZHVlIGRlIFJoYWxncicsXHJcbiAgICAgICdqYSc6ICfjg6njg7zjg6vjgqzjg7zjgrrjg6rjg7zjg4EnLFxyXG4gICAgICAna28nOiAn656E6rGw7J2YIOyGkOq4uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OCxcclxuICB9LFxyXG4gIDYzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gWjFQOScsXHJcbiAgICAgICdqYSc6ICfprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6reA7IugIOyjvOultOuwmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzUsXHJcbiAgfSxcclxuICA2Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56WW5bCU5a6b5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gWnVydmFuJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBaMVQ5IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW16ay856We44K644Or44Ov44O844Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDY0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOWcsOiho+Wuq+a8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChGbGVjaHRlbmhhaW46IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gTGljaGVud2VlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1Byw6ktZGUtbGljaGVuKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeOCpOOCseODs+OCpuOCo+ODvOODiea8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjsnqHstIgg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MyxcclxuICB9LFxyXG4gIDY1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5Liw6aW256We56aP5ZywJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBOb3BoaWNhcyBQcsO8ZnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIC0gVHJpYWxzIG9mIHRoZSBNYXRyb24nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgTm9waGljYScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2ICjmjqHpm4YpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyxhOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MSxcclxuICB9LFxyXG4gIDY2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfop6PmlL7lhrPmiJjlpJrnjpvnjovln44nLFxyXG4gICAgICAnZGUnOiAnQnVyZyBEb21hJyxcclxuICAgICAgJ2VuJzogJ0RvbWEgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn6Kej5pS+5rG65oimIOODieODnuWfjicsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5beo54Ku6KaB5aGe5bid5Zu955m95bGx5aChJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2phJzogJ+W3qOegsuimgeWhniDjgqvjgrnjg4jjg6vjg6Djg7vjgqLjg5Djg4vjgqInLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOyVhOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3MixcclxuICAgICdvZmZzZXRZJzogLTE4NixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmgbblhZrlraTln47pu4Tph5HpmIEnLFxyXG4gICAgICAnZGUnOiAnU2NobG9zcyBLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIENhc3RsZScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkZSBLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn5oKq5YWa5oiQ5pWXIOOCr+OCrOODjeWfjicsXHJcbiAgICAgICdrbyc6ICfsv6DqsIDrhKQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcwLFxyXG4gICAgJ29mZnNldFknOiAzMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv67ooYzlj6TliLnmmJ/lr7zlr7onLFxyXG4gICAgICAnZGUnOiAnVGVtcGVsIGRlciBGYXVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGxlIG9mIHRoZSBGaXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBkdSBQb2luZycsXHJcbiAgICAgICdqYSc6ICflo4rnpZ7kv67ooYwg5pif5bCO5bGx5a+66ZmiJyxcclxuICAgICAgJ2tvJzogJ+yEseuPhOyCsCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQyNyxcclxuICAgICdvZmZzZXRZJzogLTMxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpsbzpgZPnjrDouqvvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluIHp3ZWlmZWxoYWZ0ZXMgQW5nZWJvdCcsXHJcbiAgICAgICdlbic6ICdJdFxcJ3MgUHJvYmFibHkgYSBUcmFwJyxcclxuICAgICAgJ2ZyJzogJ1VuIGRyw7RsZSBkZSBOYW1henUnLFxyXG4gICAgICAnamEnOiAn44Ku44On44OJ44Km54++44KL77yBJyxcclxuICAgICAgJ2tvJzogJ+q1kOuPhCDrk7HsnqUhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ3JpcXVlIGF1eCB0cmlidXRzJyxcclxuICAgICAgJ2phJzogJ+OCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsiqTsgqzrhbjsmKQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc3LFxyXG4gIH0sXHJcbiAgNjc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mhu+S9kOS5i+eUt+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFN1c2FubycsXHJcbiAgICAgICdlbic6ICdUaGUgUG9vbCBvZiBUcmlidXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrnjgrXjg47jgqroqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIE1lbmFnZXJpZScsXHJcbiAgICAgICdlbic6ICdUaGUgUm95YWwgTWVuYWdlcmllJyxcclxuICAgICAgJ2ZyJzogJ0xhIE3DqW5hZ2VyaWUgcm95YWxlJyxcclxuICAgICAgJ2phJzogJ+elnum+jeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNjg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6jumHjOaYgueDreeahOenmOetlicsXHJcbiAgICAgICdkZSc6ICdXZWdlIHp1ciBUcmFuc3plbmRlbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIFJlc29uYW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIHJ1c2UgZFxcJ1VyaWFuZ2VyJyxcclxuICAgICAgJ2phJzogJ+OCpuODquOCqOODs+OCuOOCp+OBruenmOetlicsXHJcbiAgICAgICdrbyc6ICfsnITrpqzslZnsoJzsnZgg67mE7LGFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKj6L6+5oWVJyxcclxuICAgICAgJ2RlJzogJ05hYWRhbScsXHJcbiAgICAgICdlbic6ICdOYWFkYW0nLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIGJhdGFpbGxlIGR1IE5hYWRhbScsXHJcbiAgICAgICdqYSc6ICfntYLnr4Djga7lkIjmiKYnLFxyXG4gICAgICAna28nOiAn6rOE7KCI64GdIO2VqeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mPluaImOe6ouiOsumYv+aLieexs+agvCcsXHJcbiAgICAgICdkZSc6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZW4nOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2ZyJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdqYSc6ICfntIXok67msbrmiKYg44Ki44Op44Of44K0JyxcclxuICAgICAgJ2tvJzogJ+yVjOudvOuvuOqzoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyOTIsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pe256m654ut57yd5aSW57yYJyxcclxuICAgICAgJ2RlJzogJ0ludGVyZGltZW5zaW9uYWxlciBSaXNzJyxcclxuICAgICAgJ2VuJzogJ0ludGVyZGltZW5zaW9uYWwgUmlmdCcsXHJcbiAgICAgICdmcic6ICdGaXNzdXJlIGludGVyZGltZW5zaW9ubmVsbGUnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT77ya5aSW57iBJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4g6IOyZuOqzvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDcwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfkvJrlvIDlp4snLFxyXG4gICAgICAnZGUnOiAnVGhhbCB6dSBFaHJlbicsXHJcbiAgICAgICdlbic6ICdJbiBUaGFsXFwncyBOYW1lJyxcclxuICAgICAgJ2ZyJzogJ0xlIHRvdXJub2kgY29tbcOpbW9yYXRpZiBkdSBzdWx0YW5hdCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vnjovmna/pl5jmioDkvJrjga7lp4vjgb7jgoonLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOyZleyLpOuwsCDtiKzquLDrjIDtmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDcwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuLrkuobmm7TlvLonLFxyXG4gICAgICAnZGUnOiAnRGllIGhvaGUgS3Vuc3QgZGVzIFNjaHdlcnRrYW1wZnMnLFxyXG4gICAgICAnZW4nOiAnUmFpc2luZyB0aGUgU3dvcmQnLFxyXG4gICAgICAnZnInOiAnTGEgZmluYWxlIGRlcyBjaGFtcGlvbnMnLFxyXG4gICAgICAnamEnOiAn44GV44KJ44Gq44KL5Ymj6KGT44Gu6auY44G/44G4JyxcclxuICAgICAgJ2tvJzogJ+uNlCDrhpLsnYAg6rKA7Iig7J2YIOqyveyngOuhnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aKl+S6ieS5i+WKmycsXHJcbiAgICAgICdkZSc6ICdEaWUgS3JhZnQgZGVzIFdpZGVyc3RhbmRzJyxcclxuICAgICAgJ2VuJzogJ1dpdGggSGVhcnQgYW5kIFN0ZWVsJyxcclxuICAgICAgJ2ZyJzogJ1RyYW5zbWlncmF0aW9uIGTDqW1vbmlhcXVlJyxcclxuICAgICAgJ2phJzogJ+aKl+OBhuWKmycsXHJcbiAgICAgICdrbyc6ICfrp57shJzripQg7Z6YJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5OCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNyxcclxuICB9LFxyXG4gIDcwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbfpg73ot6/kurrouqvpppblvIInLFxyXG4gICAgICAnZGUnOiAnTW9yZCBpc3Qgc2VpbiBIb2JieScsXHJcbiAgICAgICdlbic6ICdCbG9vZCBvbiB0aGUgRGVjaycsXHJcbiAgICAgICdmcic6ICdMYSBsw6lnZW5kZSBkZSBNdXNvc2FpPEluZGVudC8+OiBsXFwnYXNzYXNzaW4gZGUgTGltc2EgTG9taW5zYScsXHJcbiAgICAgICdqYSc6ICfmtbfpg73jgpLpnIfjgo/jgZnkurrmlqzjgorjga7lrrTvvIEnLFxyXG4gICAgICAna28nOiAn7ZW07JaR64+E7Iuc66W8IO2dlOuTnOuKlCDsgrTsnbjsnpDsnZgg7Jew7ZqMIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aegeaBtuS5i+S6uuacqOaerycsXHJcbiAgICAgICdkZSc6ICdEZXIgSW5iZWdyaWZmIGRlcyBCw7ZzZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZhY2Ugb2YgVHJ1ZSBFdmlsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhYm9taW5hYmxlIEtvZ2FyYXNoaScsXHJcbiAgICAgICdqYSc6ICfmpbXmgqrkurrjgrPjgqzjg6njgrcnLFxyXG4gICAgICAna28nOiAn6re57JWF66y064+E7ZWcIOy9lOqwgOudvOyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ5LFxyXG4gIH0sXHJcbiAgNzEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+advuWPtumXqOWkluS5i+WPmCcsXHJcbiAgICAgICdkZSc6ICdWb3JmYWxsIGF1ZiBkZW0gTWF0c3ViYS1QbGF0eicsXHJcbiAgICAgICdlbic6ICdNYXRzdWJhIE1heWhlbScsXHJcbiAgICAgICdmcic6ICdSw6hnbGVtZW50IGRlIGNvbXB0ZSBhdSBzcXVhcmUgTWF0c3ViYScsXHJcbiAgICAgICdqYSc6ICfmnb7okYnploDlpJbjga7lpIknLFxyXG4gICAgICAna28nOiAn66eI7Lig67CUIOyCrOuzgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDcxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhrPmiJjpvp/nlLLlspsnLFxyXG4gICAgICAnZGUnOiAnRW50PFNvZnRIeXBoZW4vPnNjaGVpPFNvZnRIeXBoZW4vPmR1bmdzPFNvZnRIeXBoZW4vPnNjaGxhY2h0IGF1ZiBCZWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgQmF0dGxlIG9uIEJla2tvJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhZjxTb2Z0SHlwaGVuLz5mcm9uPFNvZnRIeXBoZW4vPnRlPFNvZnRIeXBoZW4vPm1lbnQgZGUgZGV1eCBqdXN0aWNlcycsXHJcbiAgICAgICdqYSc6ICfjg5njg4PjgrPjgqbls7bjga7msbrpl5gnLFxyXG4gICAgICAna28nOiAn67Kg7L2U7JqwIOyErOydmCDqsrDtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA3MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0thbsOkbGUgdm9uIFV6bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggcGVyZHVzIGRcXCdVem5haXInLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCpuOCuuODjeOCouOCq+ODiuODqycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7Jqw7KaI64Sk7Ja0IOyatO2VmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8hum7keeahOW3qOm+mScsXHJcbiAgICAgICdkZSc6ICdEZXIgdG9iZW5kZSBEcmFjaGUnLFxyXG4gICAgICAnZW4nOiAnRGFyayBhcyB0aGUgTmlnaHQgU2t5JyxcclxuICAgICAgJ2ZyJzogJ0F1c3NpIHNvbWJyZSBxdWUgbGEgbnVpdCcsXHJcbiAgICAgICdqYSc6ICfmvIbpu5Ljga7lt6jnq5wnLFxyXG4gICAgICAna28nOiAn7Lmg7Z2R7J2YIOqxsOujoScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLooYDkuYvpvpnpqpHlo6snLFxyXG4gICAgICAnZGUnOiAnRGVyIFJ1YmluLURyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnRHJhZ29uIFNvdW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIERyYWdvbiDDqWNhcmxhdGUnLFxyXG4gICAgICAnamEnOiAn57SF44Gu56uc6aiO5aOrJyxcclxuICAgICAgJ2tvJzogJ+u2ieydgCDsmqnquLDsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDcxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgaXov5znmoTmhqfmhqwnLFxyXG4gICAgICAnZGUnOiAnUHJvYmUgZGVzIE1laXN0ZXJzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBPcnBoYW5zIGFuZCB0aGUgQnJva2VuIEJsYWRlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhc3BpcmF0aW9uIHJlZm91bMOpZScsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuInluqbjgIHpgaXjgYvjgarmhqfmhqwnLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIOyEuCDrsogsIOyVhOuTne2VnCDrj5nqsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NixcclxuICB9LFxyXG4gIDcxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflho3mrKHnm7jop4EnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBUaWVmZSBkZXMgSGVyemVucycsXHJcbiAgICAgICdlbic6ICdPdXIgQ29tcHJvbWlzZScsXHJcbiAgICAgICdmcic6ICdMYSBkZXJuacOocmUgc8OpcGFyYXRpb24nLFxyXG4gICAgICAnamEnOiAn44GC44Go5LiA5bqm44CB5ZCb44Gr5Lya44GI44Gf44KJJyxcclxuICAgICAgJ2tvJzogJ+yVnuycvOuhnCDtlZwg67KILCDrhIjsmYAg66eM64KgIOyImCDsnojri6TrqbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA3MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6f5Yid55qE5oiY5aOrJyxcclxuICAgICAgJ2RlJzogJ0RpZSBVcmtyYWZ0IGluIGlocicsXHJcbiAgICAgICdlbic6ICdDdXJpb3VzIEdvcmdlIE1lZXRzIEhpcyBNYXRjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgZGUgZm9yY2UnLFxyXG4gICAgICAnamEnOiAn5Y6f5Yid55qE44Gq5b285aWzJyxcclxuICAgICAgJ2tvJzogJ+ybkOy0iOyggSDqt7jrhYAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eHg+eDp+WQp+mrmOWQiScsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyaXNjaGUgTGVpZGVuc2NoYWZ0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZWFydCBvZiB0aGUgUHJvYmxlbScsXHJcbiAgICAgICdmcic6ICdQYXNzaW9uIGd1ZXJyacOocmUnLFxyXG4gICAgICAnamEnOiAn54eD44GI44KI44K044O844K477yBJyxcclxuICAgICAgJ2tvJzogJ+u2iO2DgOyYrOudvOudvCwg7IKw6rOo7Kec6riwIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkInnpaXlpKnlpbPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMYWtzaG1pJyxcclxuICAgICAgJ2VuJzogJ0VtYW5hdGlvbicsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uJyxcclxuICAgICAgJ2phJzogJ+ODqeOCr+OCt+ODpeODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epv+i2iuaXtuepuueahOWkmeaEvycsXHJcbiAgICAgICdkZSc6ICdFaW4gV3Vuc2NoIGF1cyBhbHRlbiBaZWl0ZW4nLFxyXG4gICAgICAnZW4nOiAnT3VyIFVuc3VuZyBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ2VzcG9pciBlbiBow6lyaXRhZ2UnLFxyXG4gICAgICAnamEnOiAn5pmC44KS44GL44GR44KL6aGY44GEJyxcclxuICAgICAgJ2tvJzogJ+yLnOqwhOydhCDrm7DslrTrhJjsnYAg7Je87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNzUsXHJcbiAgICAnb2Zmc2V0WSc6IC0yOTcsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNzIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9semakOW/jeazlei0tCcsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVtIFZlcmJvcmdlbmVuJyxcclxuICAgICAgJ2VuJzogJ1doZW4gQ2xhbnMgQ29sbGlkZScsXHJcbiAgICAgICdmcic6ICdMYSBiYXRhaWxsZSBkZXMgY2xhbnMnLFxyXG4gICAgICAnamEnOiAn5b2x6Zqg5b+N5rOV5biWJyxcclxuICAgICAgJ2tvJzogJ+q3uOumvOyekCDsnbjrspXssqknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODUsXHJcbiAgfSxcclxuICA3MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT5rex5bGCJyxcclxuICAgICAgJ2RlJzogJ1Zlcmdlc3NlbmUgS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIaWRkZW4gQ2FuYWxzIG9mIFV6bmFpcicsXHJcbiAgICAgICdmcic6ICdMZXMgQ2FuYXV4IGNhY2jDqXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or5rex5bGkJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOyLrOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i3nemqqOeglOeptuaJgCAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdBc3RyYWdhbG9zJyxcclxuICAgICAgJ2VuJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZnInOiAnQXN0cmFnYWxvcyAobWFjaGluZXJpZSknLFxyXG4gICAgICAnamEnOiAn44Ki44K544OI44Op44Ks44Ot44K5ICjmqZ/lt6XmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yVhOyKpO2KuOudvOqwiOuhnOyKpCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5qKm5bm75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFNoaW5yeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFNoaW5yeXVcXCdzIERvbWFpbicsXHJcbiAgICAgICdmcic6ICdMZSBkb21haW5lIGRlIFNoaW5yeXUnLFxyXG4gICAgICAnamEnOiAn5qW156We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNzMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayieayoeelnuauv+aWr+WNoeaLiemBl+i/uScsXHJcbiAgICAgICdkZSc6ICdEaWUgdmVyc3Vua2VuZSBTdGFkdCBTa2FsbGEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyb3duZWQgQ2l0eSBvZiBTa2FsbGEnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZW5nbG91dGllIGRlIFNrYWxsYScsXHJcbiAgICAgICdqYSc6ICfmsLTmsqHpgbrmp4sg44K544Kr44OpJyxcclxuICAgICAgJ2tvJzogJ+yKpOy5vOudvCDsnKDsoIEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5bi46aOO5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgQW5lbW9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgQW5lbW9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjgqLjg43jg6Ljgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IOyVhOuEpOuqqOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MSxcclxuICB9LFxyXG4gIDczMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m557ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0VuZGxvc2UgU2NoYXR0ZW4gdm9uIEJhaGFtdXQgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgVW5lbmRpbmcgQ29pbCBvZiBCYWhhbXV0IChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBpbmZpbmkgZGUgQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuODkOODj+ODoOODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg67CU7ZWY66y07Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkseiQveS5i+mDveaLieW3tOe6s+aWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSYWJhbmFzdHJlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBDaXR5IG9mIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgcm95YWxlIGRlIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnamEnOiAn5aSx44KP44KM44Gf6YO9IOODqeODkOODiuOCueOCvycsXHJcbiAgICAgICdrbyc6ICfsmZXrj4Qg652867CU64KY7Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDMwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Imv57yY5Luq5byPJyxcclxuICAgICAgJ2RlJzogJ1ZhbGVudGlvbnplcmVtb25pZScsXHJcbiAgICAgICdlbic6ICdUaGUgVmFsZW50aW9uZVxcJ3MgQ2VyZW1vbnknLFxyXG4gICAgICAnZnInOiAnTGEgQ8OpcsOpbW9uaWUgZGUgbGEgVmFsZW50aW9uJyxcclxuICAgICAgJ2phJzogJ+ODtOOCoeODrOODs+ODhuOCo+OCquODs+OCu+ODrOODouODi+ODvCcsXHJcbiAgICAgICdrbyc6ICfrsJzroIzti7DsmKgg7JiI7Iud7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyNSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonngavlsbHni7HkuYvnm5YnLFxyXG4gICAgICAnZGUnOiAnSMO2bGxlbnNwdW5kJyxcclxuICAgICAgJ2VuJzogJ0hlbGxzXFwnIExpZCcsXHJcbiAgICAgICdmcic6ICdMZSBDb3V2ZXJjbGUgZGVzIGVuZmVycycsXHJcbiAgICAgICdqYSc6ICfntIXnjonngavlsbEg542E5LmL6JOLJyxcclxuICAgICAgJ2tvJzogJ+yngOyYpeuanOq7kScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eWr+eLguaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmmrTotbDmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrrLTtlZzsl7Dsho0g67CV66y87ZWoKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5oiY6Zif5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFRlYW0sIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFRlYW0gUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kvw6lxdWlwZSBKY0opJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44OB44O844Og55So44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjtjIAg65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7plYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hJyxcclxuICAgICAgJ2ZyJzogJ0xhIENsYWlyacOocmUgZGUgSmFkZScsXHJcbiAgICAgICdqYSc6ICfnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn67Cx7Zi4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MyxcclxuICB9LFxyXG4gIDc0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7or5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBCeWFra28nLFxyXG4gICAgICAnZW4nOiAnVGhlIEphZGUgU3RvYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW155m96JmO5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzU5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b6aOe5ZywJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGUgRW5rbGF2ZScsXHJcbiAgICAgICdlbic6ICdUaGUgRG9tYW4gRW5jbGF2ZScsXHJcbiAgICAgICdmcic6ICdRdWFydGllciBlbmNsYXbDqSBkZSBEb21hJyxcclxuICAgICAgJ2phJzogJ+ODieODnueUuuS6uuWcsCcsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg64+E7J2N7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIzLFxyXG4gICAgJ29mZnNldFknOiAzNCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA3NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50JyxcclxuICAgICAgJ2ZyJzogJ0NoYXNzZSBhdSBSYXRoYWxvcycsXHJcbiAgICAgICdqYSc6ICfjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn66as7Jik66CI7Jqw7IqkIOyImOugteyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBq+m+meS4iuS9jeeLqeeMjuaImCcsXHJcbiAgICAgICdkZSc6ICdKYWdkIGF1ZiBSYXRoYWxvcyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgSHVudCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44Kq44Os44Km44K554up54yf5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmgZLlhrDkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUGFnb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkeOCtOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7YyM6rOg7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk0LFxyXG4gIH0sXHJcbiAgNzY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChjbGFzc8OpKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICjDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTAsXHJcbiAgfSxcclxuICA3Njc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmsLTmmbbloZTmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoS3Jpc3RhbGx0dXJtLUFyZW5hOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIENyeXN0YWwgVG93ZXIpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9Ub3VyIGRlIENyaXN0YWwpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Kv44Oq44K544K/44Or44K/44Ov44O85ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2BrOumrOyKpO2DiCDtg4Dsm4wg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47msLTngbXlupnlsqnnh5XlupknLFxyXG4gICAgICAnZGUnOiAnS29tcGFzcyBkZXIgU2Nod2FsYmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN3YWxsb3dcXCdzIENvbXBhc3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29tcGFzIGRlIGxcXCdIaXJvbmRlbGxlJyxcclxuICAgICAgJ2phJzogJ+miqOawtOmciuauvyDjgqzjg7Pjgqjjg7Plu58nLFxyXG4gICAgICAna28nOiAn6rCV7JeUIOyiheusmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Njk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouC5pmT55qE5bCR5bm0JyxcclxuICAgICAgJ2RlJzogJ0RlciBLbmFiZSBkZXIgTW9yZ2VucsO2dGUnLFxyXG4gICAgICAnZW4nOiAnRW1pc3Nhcnkgb2YgdGhlIERhd24nLFxyXG4gICAgICAnZnInOiAnVm95YWdlIGVuIHRlcnJlIGhvc3RpbGUnLFxyXG4gICAgICAnamEnOiAn44CM5pqB44CN44Gu5bCR5bm0JyxcclxuICAgICAgJ2tvJzogJ1xcJ+yDiOuyvVxcJ+ydmCDshozrhYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDHvvZ4xMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMS0xMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxLTEwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMe+9njEw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxfjEw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMTEtMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAxMe+9njIw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxMX4yMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMjHvvZ4zMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMjF+MzDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDQx772eNTDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDQxLTUwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA0MS01MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDQx772eNTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDQxfjUw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA2MS03MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNjEtNzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA2Me+9njcw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA2MX43MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gODEtOTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDgxLTkwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgODHvvZ45MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgODF+OTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHpl63lnKPloZTpu47pk47mi4nnurPlpKfnga/loZQnLFxyXG4gICAgICAnZGUnOiAnUmljaHRmZXVlciB2b24gUmlkb3JhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJpZG9yYW5hIExpZ2h0aG91c2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgUmlkb3JhbmEnLFxyXG4gICAgICAnamEnOiAn5bCB44GY44KJ44KM44Gf6IGW5aGUIOODquODieODq+OCouODiicsXHJcbiAgICAgICdrbyc6ICfrjIDrk7HrjIAg66as64+E66W07JWE64KYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwMixcclxuICAgICdvZmZzZXRZJzogLTkyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlYXBvblxcJ3MgUmVmcmFpbiAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZhbnRhc21hZ29yaWUgZFxcJ1VsdGltYSAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICA3Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gRmx1bWluaXMnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdqYSc6ICfjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aciOivu+W5veWknOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFRzdWt1eW9taScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVHN1a3V5b21pXFwncyBQYWluJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gRmx1bWluaXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOy4oOy/oOyalOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDMx772eNDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDMxLTQwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAzMS00MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDMx772eNDDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDMxfjQw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA1MS02MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA1Me+9njYw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA1MX42MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNzEtODApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNzHvvZ44MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNzF+ODDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA5MS0xMDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA5Me+9njEwMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgOTF+MTAw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rGh5p+T5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjmsZrmn5Mg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshLEg66qo7IOoIOyLneusvOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275Lqh5aSn5Zyw57uI5pyr54Sm5ZyfJyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJnbGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnRXNjYXJyZScsXHJcbiAgICAgICdqYSc6ICfmsLjkuYXnhKblnJ8g44K244O744OQ44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yYgeq1rCDstIjthqDsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTcsXHJcbiAgfSxcclxuICA3OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBvuWOhOmHjeeOsOWGm+S6i+a8lOS5oCcsXHJcbiAgICAgICdkZSc6ICdHZWRlbmtzY2hsYWNodCBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENhbGFtaXR5IFJldG9sZCcsXHJcbiAgICAgICdmcic6ICdMZXMgZ3JhbmRlcyBtYW7Fk3V2cmVzIGNvbW3DqW1vcmF0aXZlcycsXHJcbiAgICAgICdqYSc6ICfmlrDnlJ/npa3ou43kuovmvJTnv5InLFxyXG4gICAgICAna28nOiAn7Iug7IOd7KCcIOq1sOyCrO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NSxcclxuICB9LFxyXG4gIDc5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmpDloZ4gKOacuuWKqOaImCknLFxyXG4gICAgICAnZGUnOiAnVmVyYm9yZ2VuZSBTY2hsdWNodCcsXHJcbiAgICAgICdlbic6ICdIaWRkZW4gR29yZ2UnLFxyXG4gICAgICAnZnInOiAnR29yZ2UgZMOpcm9iw6llIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjg5Ljg4njgqXjg7PjgrTjg7zjgrggKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7Iio6rKo7KeEIOuztOujqCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iZmuaZr+i3s+i3s+S5kOWkp+aMkeaImCcsXHJcbiAgICAgICdkZSc6ICdLYWt0b3ItS2xldHRlcndhbmQnLFxyXG4gICAgICAnZW4nOiAnTGVhcCBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdIYXV0ZSB2b2x0aWdlJyxcclxuICAgICAgJ2phJzogJ+aMkeaIpu+8gSDjgrjjg6Pjg7Pjg5Tjg7PjgrDjgqLjgrnjg6zjg4Hjg4Pjgq8nLFxyXG4gICAgICAna28nOiAn65uw7Ja06528ISDsoJDtlZEg7Jq064+Z7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Zu95aKD6Ziy57q/5Z+65aeG5Yip54m55pqX5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBHaGltbHl0LUZpbnN0ZXJuaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdoaW1seXQgRGFyaycsXHJcbiAgICAgICdmcic6ICdMZXMgVMOpbsOoYnJlcyBkZSBHaGltbHl0JyxcclxuICAgICAgJ2phJzogJ+Wig+eVjOaIpue3miDjgq7jg6Djg6rjg4jjg4Djg7zjgq8nLFxyXG4gICAgICAna28nOiAn6rmA66as7Yq4IO2ZqeyVvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/kOays+WuneeJqeW6k+elnuauvycsXHJcbiAgICAgICdkZSc6ICdHbMO8Y2tzYWx0w6RyZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBBbHRhcnMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBzYWNyw6kgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or56Wt5q6/JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5raM54Gr5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBQeXJvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBQeXJvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIFB5cm9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjg5Tjg6Xjg7zjg63jgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IO2UvOuhnOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NixcclxuICB9LFxyXG4gIDc5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjcsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye66YGT5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlYsO8dCBpbiBkZXIgSGltbWxpc2NoZW4gQXJlbmEnLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIFRoYXQgU3RhcnRzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnRMOpYnV0IGR1IHNwZWN0YWNsZScsXHJcbiAgICAgICdqYSc6ICfjg4fjg5Pjg6Xjg7zjg57jg4Pjg4EnLFxyXG4gICAgICAna28nOiAn642w67eU7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qWU55+z5rSeJyxcclxuICAgICAgJ2RlJzogJ0RlciBXaWxsZSBkZXIgTW9uZGfDtnR0aW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdpbGwgb2YgdGhlIE1vb24nLFxyXG4gICAgICAnZnInOiAnUmFsbGllbWVudCBkYW5zIGxhIHN0ZXBwZScsXHJcbiAgICAgICdqYSc6ICfmpZTnn7Pjga7omZonLFxyXG4gICAgICAna28nOiAn7JCQ6riw64+MIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/nemVluatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIEt1Z2FuZS1CcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZSBPaGFzaGknLFxyXG4gICAgICAnZnInOiAnTGUgUG9udCBPaGFzaGknLFxyXG4gICAgICAnamEnOiAn55yf44Oo44Km44K444Oz44Oc44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsmpTsmrDsp4Trs7Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyx6ZuA6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llcicsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucycsXHJcbiAgICAgICdqYSc6ICfmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4Dor5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llciAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgTmlkIGRlcyBMYW1lbnRhdGlvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyjvOyekSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTgsXHJcbiAgfSxcclxuICA4MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flhYvlhbDlvrcnLFxyXG4gICAgICAnZGUnOiAnU2VlbmxhbmQnLFxyXG4gICAgICAnZW4nOiAnTGFrZWxhbmQnLFxyXG4gICAgICAnZnInOiAnR3JhbmQtTGFjJyxcclxuICAgICAgJ2phJzogJ+ODrOOCpOOCr+ODqeODs+ODiScsXHJcbiAgICAgICdrbyc6ICfroIjsnbTtgazrnpzrk5wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA2LFxyXG4gIH0sXHJcbiAgODE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54+C6Zyy6KW/5Lqa5bKbJyxcclxuICAgICAgJ2RlJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2VuJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2ZyJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2phJzogJ+OCs+ODq+OCt+OCouWzticsXHJcbiAgICAgICdrbyc6ICfsvZzro6jsi5zslYQg7ISsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNyxcclxuICB9LFxyXG4gIDgxNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WuieephsK36Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnZW4nOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdmcic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2phJzogJ+OCouODoOODu+OCouODrOODvOODsycsXHJcbiAgICAgICdrbyc6ICfslYTrr4Ag7JWE656tJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOCxcclxuICB9LFxyXG4gIDgxNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuWwlOe+juagvCcsXHJcbiAgICAgICdkZSc6ICdJbCBNaGVnJyxcclxuICAgICAgJ2VuJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZnInOiAnSWwgTWhlZycsXHJcbiAgICAgICdqYSc6ICfjgqTjg6vjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn7J28IOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDksXHJcbiAgfSxcclxuICA4MTc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlh6/mj5DljaHlpKfmo67mnpcnLFxyXG4gICAgICAnZGUnOiAnRGVyIEdyb8OfZSBXYWxkIFJha1xcJ3Rpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJha1xcJ3Rpa2EgR3JlYXR3b29kJyxcclxuICAgICAgJ2ZyJzogJ1Jha1xcJ3Rpa2EnLFxyXG4gICAgICAnamEnOiAn44Op44Kx44OG44Kj44Kr5aSn5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+udvOy8gO2LsOy5tCDrjIDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODE4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6aOO5rW3JyxcclxuICAgICAgJ2RlJzogJ1RlbXBlc3QnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRlbXBlc3QnLFxyXG4gICAgICAnZnInOiAnTGEgVGVtcMOqdGUnLFxyXG4gICAgICAnamEnOiAn44OG44Oz44Oa44K544OIJyxcclxuICAgICAgJ2tvJzogJ+2FnO2OmOyKpO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTEsXHJcbiAgfSxcclxuICA4MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbpg70nLFxyXG4gICAgICAnZGUnOiAnQ3J5c3Rhcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgQ3J5c3Rhcml1bScsXHJcbiAgICAgICdmcic6ICdDcmlzdGFyaXVtJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4Drpqzsm4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEyLFxyXG4gIH0sXHJcbiAgODIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ri45pyr6YKmJyxcclxuICAgICAgJ2RlJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnZW4nOiAnRXVsbW9yZScsXHJcbiAgICAgICdmcic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2phJzogJ+ODpuODvOODq+ODouOCoicsXHJcbiAgICAgICdrbyc6ICfsnKjrqqjslrQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEzLFxyXG4gIH0sXHJcbiAgODIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWmluW5u+WbreWkmuaBqee+juagvOemgeWbrScsXHJcbiAgICAgICdkZSc6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2ZyJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdqYSc6ICfmsLTlppblubvlnJIg44OJ44Kp44O844OM44O744Oh44KwJyxcclxuICAgICAgJ2tvJzogJ+uPhOuKkCDrqZTqt7gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMjAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8qumAoOWkqeeVjOagvOmygeagvOeBq+WxsScsXHJcbiAgICAgICdkZSc6ICdEZXIgR3VsZycsXHJcbiAgICAgICdlbic6ICdNdC4gR3VsZycsXHJcbiAgICAgICdmcic6ICdNb250IEd1bGcnLFxyXG4gICAgICAnamEnOiAn5YG96YCg5aSp55WMIOOCsOODq+OCsOeBq+WxsScsXHJcbiAgICAgICdrbyc6ICfqtbTqt7gg7ZmU7IKwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xODgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmlofmmI7lj6Tov7nlpYflnabpgqPnpZ7lvbHmtJ4nLFxyXG4gICAgICAnZGUnOiAnSXJydW5nZW4gZGVyIFFpdGFyaScsXHJcbiAgICAgICdlbic6ICdUaGUgUWl0YW5hIFJhdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFbmNoZXbDqnRyZW1lbnQgZGVzIFFpdGFyaScsXHJcbiAgICAgICdqYSc6ICflj6Tot6HmjqLntKIg44Kt44K/44Oz44OK56We5b2x5rSeJyxcclxuICAgICAgJ2tvJzogJ+2CpO2DgOuCmCDsi6DqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTI3NCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+memVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxvdCBkZXMgQW1lcnR1bWVzJyxcclxuICAgICAgJ2phJzogJ+mdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfssq3ro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk5LFxyXG4gIH0sXHJcbiAgODI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+meivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFNlaXJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgV3JlYXRoIG9mIFNuYWtlcyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXpnZLpvo3lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5qyy5LmL5omA55Ov5Y2a6K635L+u6YGT6ZmiJyxcclxuICAgICAgJ2RlJzogJ0tsb3N0ZXIgdm9uIE9yYm9ubmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9yYm9ubmUgTW9uYXN0ZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xlIE1vbmFzdMOocmUgZFxcJ09yYm9ubmUnLFxyXG4gICAgICAnamEnOiAn5qW95qyy44Gu5YOn6ZmiIOOCquODvOODnOODs+ODjCcsXHJcbiAgICAgICdrbyc6ICfsmKTrs7jripAg7IiY64+E7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01NDUsXHJcbiAgICAnb2Zmc2V0WSc6IC02NjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDkuLDmsLTkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEh5ZGF0b3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIEh5ZGF0b3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkuODpeODgOODiOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7Z6I64uk7Yag7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDQ3NSxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAwLFxyXG4gIH0sXHJcbiAgODMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOaMveatjCcsXHJcbiAgICAgICdkZSc6ICdSZXF1aWVtIGRlciBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBSZXF1aWVtIGZvciBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnVW4gcmVxdWllbSBwb3VyIGxlcyBow6lyb3MnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44G444Gu6Y6u6a2C5q2MJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydhCDsnITtlZwg7KeE7Zi86rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkmueOm+aWueWfjuaImO+8muS4nOmjjuaImDTkurrkurLlj4vmoYzvvIjkuI3luKbpo5/mlq3vvIknLFxyXG4gICAgICAnZGUnOiAnNC1TcGllbGVyLU1haGpvbmcgKHNjaG5lbGxlIFBhcnRpZSwgS3VpdGFuIGRlYWt0aXZpZXJ0KScsXHJcbiAgICAgICdlbic6ICdGb3VyLXBsYXllciBNYWhqb25nIChRdWljayBNYXRjaCwgS3VpdGFuIERpc2FibGVkKScsXHJcbiAgICAgICdmcic6ICdNYWhqb25nIGRvbWllbjxJbmRlbnQvPjogNCBqb3VldXJzIChwYXJ0aWUgcmFwaWRlIHNhbnMga3VpdGFuKScsXHJcbiAgICAgICdqYSc6ICfjg4njg57lvI/purvpm4DvvJrmnbHpoqjmiKY05Lq644K744OD44OI5Y2T77yI44Kv44Kk44K/44Oz54Sh44GX77yJJyxcclxuICAgICAgJ2tvJzogJ+yeke2MqOycoO2drDog64+Z7ZKN7KCEIDTsnbjsmqkg7YOB7J6QKOu2gOultOq4sCDri6jsmpTqtawg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrlhpvoo4XnlLLpqb7pqbblkZgnLFxyXG4gICAgICAnZGUnOiAnTHVmdHdhZmZlLCBGZXVlciBmcmVpIScsXHJcbiAgICAgICdlbic6ICdBaXIgRm9yY2UgT25lJyxcclxuICAgICAgJ2ZyJzogJ0FzIGRlIGxcXCdhaXInLFxyXG4gICAgICAnamEnOiAn5Ye65pKD77yBIOOCqOOCouODleOCqeODvOOCueODkeOCpOODreODg+ODiCcsXHJcbiAgICAgICdrbyc6ICfstpzqsqkhIOyXkOyWtO2PrOyKpCDsobDsooXsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47kuYvkvb/ogIUnLFxyXG4gICAgICAnZGUnOiAnRHVyY2ggZGVuIFN0dXJtIHVuZCB6dXLDvGNrJyxcclxuICAgICAgJ2VuJzogJ01lc3NlbmdlciBvZiB0aGUgV2luZHMnLFxyXG4gICAgICAnZnInOiAnTGEgTWVzc2Fnw6hyZSBkdSB2ZW50JyxcclxuICAgICAgJ2phJzogJ+adpeioquOBm+OBl+miqOOBruW+oeS9vycsXHJcbiAgICAgICdrbyc6ICfrsJTrnozsnZgg7Ja07IKsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMSxcclxuICB9LFxyXG4gIDgzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgb/mmpHnprvlrqvpqazliKnljaHlpKfkupUnLFxyXG4gICAgICAnZGUnOiAnTWFsaWthaHMgQnJ1bm5lbicsXHJcbiAgICAgICdlbic6ICdNYWxpa2FoXFwncyBXZWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFB1aXRzIGRlIE1hbGlrYWgnLFxyXG4gICAgICAnamEnOiAn54i95ra86Zui5a6uIOODnuODquOCq+OBruWkp+S6leaIuCcsXHJcbiAgICAgICdrbyc6ICfrp5DrpqzsubQg7YGw7Jqw66y8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC02NSxcclxuICAgICdvZmZzZXRZJzogLTMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YGH6KKt6ZuG6JC95rC05rup5p2RJyxcclxuICAgICAgJ2RlJzogJ0hvbG1pbnN0ZXInLFxyXG4gICAgICAnZW4nOiAnSG9sbWluc3RlciBTd2l0Y2gnLFxyXG4gICAgICAnZnInOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdqYSc6ICfmrrrmiK7pg7fmnZEg44Ob44Or44Of44Oz44K544K/44O8JyxcclxuICAgICAgJ2tvJzogJ+2ZgOuvvOyKpO2EsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyr5pel5pqX5b2x5Lqa6ams5LmM572X5o+QJyxcclxuICAgICAgJ2RlJzogJ0FtYXVyb3QnLFxyXG4gICAgICAnZW4nOiAnQW1hdXJvdCcsXHJcbiAgICAgICdmcic6ICdBbWF1cm90ZScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvlubvmg7Mg44Ki44O844Oi44Ot44O844OIJyxcclxuICAgICAgJ2tvJzogJ+yVhOuqqOuhnO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5byC55WM6YGX5p6E5biM5bCU56eR5pav5a2q5pm25aGUJyxcclxuICAgICAgJ2RlJzogJ0RlciBLcmlzdGFsbHp3aWxsaW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUd2lubmluZycsXHJcbiAgICAgICdmcic6ICdMYSBNYWNsZSBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn55Ww55WM6YG65qeLIOOCt+ODq+OCr+OCueODu+ODhOOCpOODi+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfsjI3rkaXsnbQg7Iuc66W07L+g7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg5py65p6E6Zi/5bC85b63572X5a2m6ZmiJyxcclxuICAgICAgJ2RlJzogJ0FrYWRhZW1pYSBBbnlkZXInLFxyXG4gICAgICAnZW4nOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdmcic6ICdBa2FkYWVtaWEgQW55ZHJlJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOapn+mWoiDjgqLjg4rjgqTjg4DjgqLjgqvjg4fjg5/jgqInLFxyXG4gICAgICAna28nOiAn7JWg64KY7J20642UIOyVhOy5tOuNsOuvuOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZScsXHJcbiAgICAgICdmcic6ICdMYSBWYWxzZSBkdSBNb25hcnF1ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yuw7YOA64uI7JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICA4NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIENvdXJvbm5lIGRlIGxcXCdJbW1hY3Vsw6knLFxyXG4gICAgICAnamEnOiAn44Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ydtOuFuOyEvOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA0LFxyXG4gIH0sXHJcbiAgODQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WTiOi/quaWr+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIEhhZGVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEeWluZyBHYXNwJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUnLFxyXG4gICAgICAnamEnOiAn44OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOeRleeBteWQm+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgTMOkdXRlcnVuZyAtIElubm96ZW56JyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcm93biBvZiB0aGUgSW1tYWN1bGF0ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODjuOCu+ODs+OCueiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbicsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24gKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57yH5Z2m5aau6ZuF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gVGl0YW5pYScsXHJcbiAgICAgICdlbic6ICdUaGUgRGFuY2luZyBQbGFndWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OG44Kj44K/44O844OL44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLrlhbPjgIHor4XlkpLjgIHliafmr5LkuI7igKbigKYnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJlaWNodHN0dWhsIHZvbiBUb3VwYXNhIGRlbSDDhGx0ZXJlbicsXHJcbiAgICAgICdlbic6ICdMZWdlbmQgb2YgdGhlIE5vdC1zby1oaWRkZW4gVGVtcGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbmZlc3Npb25uYWwgZGUgVG91cGFzYSBsXFwnYW5jaWVuJyxcclxuICAgICAgJ2phJzogJ+S7leaOm+OBkeOBqOWRquOBhOOBqOavkuOBqCcsXHJcbiAgICAgICdrbyc6ICftlajsoJXqs7wg7KCA7KO87JmAIOuPhScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqf6YO95ou/5be056S66Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ1ZhdGVyIHVuZCBCcnVkZXInLFxyXG4gICAgICAnZW4nOiAnQ29taW5nIENsZWFuJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsZXMgcmFpbHMgZGUgTmFiYWF0aCBBcmVuZycsXHJcbiAgICAgICdqYSc6ICflu4Ppg73jg4rjg5DjgrnjgqLjg6zjg7MnLFxyXG4gICAgICAna28nOiAn64KY67CU7Iqk7JWE66CdIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGH5pGG55qE5aSp5bmzJyxcclxuICAgICAgJ2RlJzogJ09iIE1pdGxlaWQgb2RlciBIYXNzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJkZW5lZCBIZWFydCcsXHJcbiAgICAgICdmcic6ICdOYWlzc2FuY2UgZFxcJ3VuIGJvdXJyZWF1JyxcclxuICAgICAgJ2phJzogJ+aPuuOCjOOCi+WkqeenpCcsXHJcbiAgICAgICdrbyc6ICftnZTrk6TrpqzripQg7LKc7LmtJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2RlJzogJ0FsdGVyIFphdWJlcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBhbmQgdGhlIEZvdW5kJyxcclxuICAgICAgJ2ZyJzogJ01hZ2llIGFuY2VzdHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Y+k44Gu5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2tvJzogJ+qzoOuMgOydmCDrjIDsnqzsg50g66eI67KVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMCxcclxuICB9LFxyXG4gIDg3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfli4fmlaLnmoTnjI7kuronLFxyXG4gICAgICAnZGUnOiAnRGVyIExlZ2VuZGUgYXVmIGRlciBTcHVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIdW50ZXJcXCdzIExlZ2FjeScsXHJcbiAgICAgICdmcic6ICdMYSBjaGFzc2V1c2UgZGUgbMOpZ2VuZGUnLFxyXG4gICAgICAnamEnOiAn5YuH5rCX44Gu54up5Lq6JyxcclxuICAgICAgJ2tvJzogJ+yaqeq4sCDsnojripQg7IKs64Ol6r68JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgODc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WliOi0neWwlOeJueeahOWQjuaClCcsXHJcbiAgICAgICdkZSc6ICdFaW4gZ3Jvw59lcyBPcGZlcicsXHJcbiAgICAgICdlbic6ICdOeWVsYmVydFxcJ3MgTGFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1VuZSBjdXBpZGl0w6kgYmllbiBnw6luw6lyZXVzZScsXHJcbiAgICAgICdqYSc6ICfjg4rjgqTjg6vjg5njg6vjg4jjga7lvozmgpQnLFxyXG4gICAgICAna28nOiAn64KY7J2867Kg66W07Yq47J2YIO2bhO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneWigycsXHJcbiAgICAgICdkZSc6ICdWZXJsaWVzZSB2b24gTHloZSBHaGlhaCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVuZ2VvbnMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBEb25qb24gaHlwb2fDqWVuIGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODsycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpI3liLblt6XljoLlup/lop8nLFxyXG4gICAgICAnZGUnOiAnRGllIGtvcGllcnRlIEZhYnJpaycsXHJcbiAgICAgICdlbic6ICdUaGUgQ29waWVkIEZhY3RvcnknLFxyXG4gICAgICAnZnInOiAnTGEgcsOpcGxpcXVlIGRlIGxcXCd1c2luZSBkw6lzYWZmZWN0w6llJyxcclxuICAgICAgJ2phJzogJ+ikh+ijveOCteODrOOCv+W3peWgtOW7g+WinycsXHJcbiAgICAgICdrbyc6ICfrs7XsoJzrkJwg6rO17J6lIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2MTAsXHJcbiAgICAnb2Zmc2V0WSc6IDcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOazleWuq+auv+Wuh+WumeWuqycsXHJcbiAgICAgICdkZSc6ICdDaGF0ZWF1IENvc21lYScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JhbmQgQ29zbW9zJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvc21vcyBjb3J1c2NhbnQnLFxyXG4gICAgICAnamEnOiAn6a2U5rOV5a6u5q6/IOOCsOODqeODs+ODu+OCs+OCueODouOCuScsXHJcbiAgICAgICdrbyc6ICfqt7jrnpEg7L2U7Iqk66qo7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5a2k5b+15q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEhhZGVzXFwncyBFbGVneScsXHJcbiAgICAgICdmcic6ICdMZSBSw6JsZSBkZSBsXFwnQWdvbmllIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtlZjrjbDsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFcGljIG9mIEFsZXhhbmRlciAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdPZHlzc8OpZSBkXFwnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Os44Kt44K144Oz44OA44O86KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzroInsgrDrjZQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5piC6JCo5ZOI5Yev5bCU77yI56ue5LqJ5oiY77yJJyxcclxuICAgICAgJ2RlJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2VuJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2ZyJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2phJzogJ+OCquODs+OCteODq+ODu+ODj+OCq+OCpOODqyAo57WC56+A5oimKScsXHJcbiAgICAgICdrbyc6ICfsmKjsgrQg7ZWY7Lm07J2066W0KOqzhOygiOuBnSDtlansoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNyxcclxuICB9LFxyXG4gIDg5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuq/nmb3oqpPnuqbjgIHmvIbpu5Hlr4bnuqYnLFxyXG4gICAgICAnZGUnOiAnRGVyIFdvbGYgdW5kIGRlciBEcmFjaGVucmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ1Zvd3Mgb2YgVmlydHVlLCBEZWVkcyBvZiBDcnVlbHR5JyxcclxuICAgICAgJ2ZyJzogJ1bFk3V4IGRlIHZlcnR1LCBhY3RlcyBkZSBjcnVhdXTDqScsXHJcbiAgICAgICdqYSc6ICfnmb3jgY3oqpPntITjgIHpu5LjgY3lr4bntIQnLFxyXG4gICAgICAna28nOiAn7ZWY7JaAIOyEnOyVvSwg6rKA7J2AIOuwgOyVvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aIkeW/g+S+neaXpycsXHJcbiAgICAgICdkZSc6ICdUcnViZWwgaW0gVHJhdW1sYW5kJyxcclxuICAgICAgJ2VuJzogJ0FzIHRoZSBIZWFydCBCaWRzJyxcclxuICAgICAgJ2ZyJzogJ8OAIGxcXCfDqWNvdXRlIGRlIHNvaScsXHJcbiAgICAgICdqYSc6ICfjgZPjga7lv4PjgYzmnJvjgoDjgYzjgb7jgb7jgasnLFxyXG4gICAgICAna28nOiAn7J20IOuniOydjOydtCDsm5DtlZjripQg64yA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMixcclxuICAgICdvZmZzZXRZJzogNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgODk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouWuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdSdWJpbmZldWVyIC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ0NpbmRlciBEcmlmdCcsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zJyxcclxuICAgICAgJ2phJzogJ+ODq+ODk+ODvOOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDg5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbflupXpmL/lsLzlvrfnvZfov73lv4bppoYnLFxyXG4gICAgICAnZGUnOiAnQW5hbW5lc2lzIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FuYW1uZXNpcyBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn6buS6aKo5rW35bqVIOOCouODi+ODieODqeOCueODu+OCouODiuODoOODjeODvOOCt+OCuScsXHJcbiAgICAgICdrbyc6ICfslaDri4jrk5zrnbzsiqQg7JWE64Ko64Sk7Iuc7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDEwMCxcclxuICAgICdvZmZzZXRZJzogLTM5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye65rW35Z6C6ZKTJyxcclxuICAgICAgJ2RlJzogJ0F1ZiBncm/Dn2VyIEZhaHJ0JyxcclxuICAgICAgJ2VuJzogJ09jZWFuIEZpc2hpbmcnLFxyXG4gICAgICAnZnInOiAnUMOqY2hlIGVuIG1lcicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjgrfjg6Pjg7Pjg5XjgqPjg4Pjgrfjg7PjgrAnLFxyXG4gICAgICAna28nOiAn66i867CU64ukIOuCmuyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNCxcclxuICB9LFxyXG4gIDkwMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVudGxhZHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVsbWluYXRpb24nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVsbWluYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIFJhc2VyZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1cm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1cmV1cicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gQmlsZGVyc3R1cm0nLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEljb25vY2xhc20nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gSWNvbm9jbGFzbWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVyc3RhcnJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IFJlZnVsZ2VuY2UnLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gw4ljbGF0JyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2a5YW56ZuF5aCh5Z6S6JK45Y+R5LqL5Lu2JyxcclxuICAgICAgJ2RlJzogJ0RlciBCb3pqYS1Wb3JmYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYSBJbmNpZGVudCcsXHJcbiAgICAgICdmcic6ICdQcsOpbHVkZSDDoCBsYSBjYXRhc3Ryb3BoZScsXHJcbiAgICAgICdqYSc6ICfjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6TokrjnmbrkuovlpIknLFxyXG4gICAgICAna28nOiAn67O07KaI7JW8IOyCrOqxtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW154uC5oOz5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDkxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLov73lv4bmiJgnLFxyXG4gICAgICAnZGUnOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnTWVtb3JpYSBNaXNlcmEgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ01lbW9yaWEgTWlzZXJhIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K344K/44OH44Or44O744Oc44K644Ok6L+95oa25oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrs7Tspojslbwg7LaU7Ja17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zNSxcclxuICAgICdvZmZzZXRZJzogNjgzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5peg5rOV5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ1ZvbiBzY2hsYWZlbmRlbiBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBTbGVlcCBEaXN0dXJiZWQnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OpcHJldXZlIHJvbmthJyxcclxuICAgICAgJ2phJzogJ+axneOAgeiLsembhOOBruecoOOCiuWmqOOBkuOCi+OBrycsXHJcbiAgICAgICdrbyc6ICfqt7jrjIAsIOyYgeybheydmCDsnqDsnYQg67Cp7ZW07ZWY64qU6rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5b2x5Yaz5oiY6K+65byX5YWw54m5JyxcclxuICAgICAgJ2RlJzogJ1NjaGxhY2h0IHVtIE5vcnZyYW5kdCcsXHJcbiAgICAgICdlbic6ICdUaGUgSGVyb2VzXFwnIEdhdW50bGV0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFRyYXZlcnPDqWUgZGUgTm9ydnJhbmR0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuaxuuaIpiDjg47jg6vjg7Tjg6njg7Pjg4gnLFxyXG4gICAgICAna28nOiAn64W466W067iM656A7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYyNixcclxuICAgICdvZmZzZXRZJzogLTYxMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6uuWBtuWGm+S6i+WfuuWcsCcsXHJcbiAgICAgICdkZSc6ICdEaWUgUHVwcGVuZmVzdHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgUHVwcGV0c1xcJyBCdW5rZXInLFxyXG4gICAgICAnZnInOiAnTGEgYmFzZSBtaWxpdGFpcmUgZGVzIFBhbnRpbnMnLFxyXG4gICAgICAnamEnOiAn5Lq65b2i44K/44OB44OO6LuN5LqL5Z+65ZywJyxcclxuICAgICAgJ2tvJzogJ+yduO2YleuTpOydmCDqtbDsgqwg6riw7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MCxcclxuICAgICdvZmZzZXRZJzogLTE5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X5pa55Y2a5YW56ZuF5oiY57q/JyxcclxuICAgICAgJ2RlJzogJ0JvemphLVPDvGRmcm9udCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm96amFuIFNvdXRoZXJuIEZyb250JyxcclxuICAgICAgJ2ZyJzogJ0Zyb250IHN1ZCBkZSBCb3pqYScsXHJcbiAgICAgICdqYSc6ICfljZfmlrnjg5zjgrrjg6TmiKbnt5onLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuztOymiOyVvCDsoITshKAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyNyxcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI0LFxyXG4gIH0sXHJcbiAgOTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRyw7RuZSBkdSBTYWNyaWZpY2UnLFxyXG4gICAgICAnamEnOiAn44Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+u5m+ydmCDsoITsgqwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyNSxcclxuICB9LFxyXG4gIDkyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhYnkuYvmiJjlo6vlubvogIDmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS3JpZWdlciBkZXMgTGljaHRzIChleHRyZW0pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWF0IG9mIFNhY3JpZmljZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpuOCqeODvOODquOCouODu+OCquODluODu+ODqeOCpOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI2LFxyXG4gIH0sXHJcbiAgOTI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneauvycsXHJcbiAgICAgICdkZSc6ICdEYXMgS2FydXNzZWxsIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBPdWJsaWV0dGVzIG9mIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZnInOiAnTGUgSmFyZGluIHNlY3JldCBkdSBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjg6rjgqfjg7zjg7vjgq7jgqLjg7vjg4Djg7Pjgrjjg6fjg7Pnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOumrOyYiCDquLDslYQg7KeA7ZWY66+46raBIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjnue/lOWQp++8jOWJjeW+gOe7tOWwlOWIqeeJue+8gScsXHJcbiAgICAgICdkZSc6ICdMdWZ0YW5ncmlmZiBhdWYgV2VybHl0JyxcclxuICAgICAgJ2VuJzogJ1NsZWVwIE5vdyBpbiBTYXBwaGlyZScsXHJcbiAgICAgICdmcic6ICdTdXIgbGEgbWVyIGRlIHNhcGhpcicsXHJcbiAgICAgICdqYSc6ICfpo5vjgbnvvIEg44Km44Kn44Or44Oq44OI44G4ICcsXHJcbiAgICAgICdrbyc6ICfrgqDslYTrnbwhIOybsOumrO2KuOulvCDtlqXtlZjsl6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTUsXHJcbiAgICAnb2Zmc2V0WSc6IC02MTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS4iuemj+WcsOS6keWGoOe+pOWymycsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gRXJzY2hsaWXDn3VuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoembhiDjg4fjgqPjgqLjg4fjg6Doq7jls7YnLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OCxcclxuICB9LFxyXG4gIDkzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIznk6blubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ikquiJsueahOiusOW/hicsXHJcbiAgICAgICdkZSc6ICdWZXJibGFzc3RlIEVyaW5uZXJ1bmdlbicsXHJcbiAgICAgICdlbic6ICdGYWRlZCBNZW1vcmllcycsXHJcbiAgICAgICdmcic6ICdTb3V2ZW5pciBww6lyaXNzYWJsZScsXHJcbiAgICAgICdqYSc6ICfoibLjgYLjgZvjgZ/oqJjmhrYnLFxyXG4gICAgICAna28nOiAn67mb67CU656cIOq4sOyWtScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5pyv5bel5oi/546b5omY6ZuF5bel5L2c5a6kJyxcclxuICAgICAgJ2RlJzogJ01hdG95YXMgQXRlbGllcicsXHJcbiAgICAgICdlbic6ICdNYXRveWFcXCdzIFJlbGljdCcsXHJcbiAgICAgICdmcic6ICdMXFwnQXRlbGllciBhYmFuZG9ubsOpIGRlIE1hdG95YScsXHJcbiAgICAgICdqYSc6ICfprZTooZPlt6XmiL8g44Oe44OI44O844Ok44Gu44Ki44OI44Oq44KoJyxcclxuICAgICAgJ2tvJzogJ+uniO2GoOyVvOydmCDqs7XrsKknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JeQ66mU656E65OcIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu7/lrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnU21hcmFnZHN0dXJtIC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gTWFyaW51bSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ko44Oh44Op44Or44OJ44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnamEnOiAn44Kw44Oz44OS44Or44OJ44O744OH44Kj44Or44O844OW44Op44OgJyxcclxuICAgICAgJ2tvJzogJ+q1sO2ekOuTnCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zu25byP5aWz546L5Y+k5q6/JyxcclxuICAgICAgJ2RlJzogJ0RlbHVicnVtIFJlZ2luYWUgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdWJydW0gUmVnaW5hZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdEZWx1YnJ1bSBSZWdpbmFlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6Dpm7blvI8nLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCjsmIHsm4UpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zNzgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buE6YeR5bmz5Y6f5biV5oiI5bCU6LWe6I2J5Y6fJyxcclxuICAgICAgJ2RlJzogJ0RpZSBHb2xkZW5lIEViZW5lIHZvbiBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdlbic6ICdQYWdsdGhcXCdhbicsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgcHJhaXJpZSBkZSBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdqYSc6ICfpu4Tph5HlubPljp8g44OR44Ks44Or44K244OzJyxcclxuICAgICAgJ2tvJzogJ+2MjOq4gOuLqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MTUsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muWumOaWuemUpuagh+i1mycsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IE1hbmRlcnZpbGxlLVR1cm5pZXInLFxyXG4gICAgICAnZW4nOiAnVHJpcGxlIFRyaWFkIE9wZW4gVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdUb3Vybm9pIG9mZmljaWVsIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kq44OV44Kj44K344Oj44Or44OI44O844OK44Oh44Oz44OIJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOqzteyLnSDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya6ZSm5qCH6LWb5a+55bGA5a6kJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogUHJpdmF0dHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgSW52aXRhdGlvbmFsIFBhcmxvcicsXHJcbiAgICAgICdmcic6ICdTYWxsZSBkZSB0b3Vybm9pIGxpYnJlIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44K544K/44Og44OI44O844OK44Oh44Oz44OI44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5nOyEoCDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0JyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6knLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTcxLFxyXG4gICAgJ29mZnNldFknOiAyMyxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0IChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6kgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZK755+z56We5YW15o2V6I635L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0RpYW1hbnRibGl0eiAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgQ2xvdWQgRGVjaycsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cycsXHJcbiAgICAgICdqYSc6ICfjg4DjgqTjg6Tjgqbjgqfjg53jg7PmjZXnjbLkvZzmiKYnLFxyXG4gICAgICAna28nOiAn64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILlvaLmpbzpmIHkvZDnibnloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIFpvdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgb2YgWm90JyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgWm90dCcsXHJcbiAgICAgICdqYSc6ICfnlbDlvaLmpbzplqMg44K+44OD44OI44Gu5aGUJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01MCxcclxuICAgICdvZmZzZXRZJzogLTUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+OCv+OCpOOCv+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg7YOA7J207YOEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflqIHlsJTluIPlhbDlvrfmiazluIbotbfoiKonLFxyXG4gICAgICAnZGUnOiAnR3V0ZSBXaW5kZSBmw7xyIFZ5bGJyYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBTaGlwIFZ5bGJyYW5kJyxcclxuICAgICAgJ2ZyJzogJ1VuIG5hdmlyZSBub21tw6kgVnlsYnJhbmQnLFxyXG4gICAgICAnamEnOiAn44OQ44Kk44Or44OW44Op44Oz44OJ44Gu6Ii55Ye6JyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOu4jOuenOuTnCDstpztla0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA5NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5L2R5aWz546LJyxcclxuICAgICAgJ2RlJzogJ0hpbmFiIGluIGRpZSBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnRml0IGZvciBhIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ1F1ZSBsZXMgRGlldXggZ2FyZGVudCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjgrTjg4Pjg4njg7vjgrvjgqTjg5bjg7vjgrbjg7vjgq/jgqTjg7zjg7MnLFxyXG4gICAgICAna28nOiAn6rCTIOyEuOydtOu4jCDrjZQg7YC4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC03NTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTY6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov7fmtKUnLFxyXG4gICAgICAnZGUnOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZW4nOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRob3MnLFxyXG4gICAgICAnamEnOiAn44Op44O044Kj44Oq44Oz44K944K5JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMSxcclxuICB9LFxyXG4gIDk1Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOe7tOWliOWymycsXHJcbiAgICAgICdkZSc6ICdUaGF2bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdmcic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdqYSc6ICfjgrXjg5njg43jgqLls7YnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMyLFxyXG4gIH0sXHJcbiAgOTU4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg6Zu36amsJyxcclxuICAgICAgJ2RlJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdlbic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnZnInOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2phJzogJ+OCrOODrOODnuODq+ODiScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzMsXHJcbiAgfSxcclxuICA5NTk6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj7nmga/mtbcnLFxyXG4gICAgICAnZGUnOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2VuJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdmcic6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnamEnOiAn5ZiG44GN44Gu5rW3JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNSxcclxuICB9LFxyXG4gIDk2MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWkluWkqeWekycsXHJcbiAgICAgICdkZSc6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZW4nOiAnVWx0aW1hIFRodWxlJyxcclxuICAgICAgJ2ZyJzogJ1VsdGltYSBUaHVsw6knLFxyXG4gICAgICAnamEnOiAn44Km44Or44OG44Kj44Oe44O744OI44Kl44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNixcclxuICB9LFxyXG4gIDk2MToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WOhOWwlOW6h+aWrycsXHJcbiAgICAgICdkZSc6ICdFbHBpcycsXHJcbiAgICAgICdlbic6ICdFbHBpcycsXHJcbiAgICAgICdmcic6ICdFbHBpcycsXHJcbiAgICAgICdqYSc6ICfjgqjjg6vjg5TjgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM0LFxyXG4gIH0sXHJcbiAgOTYyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pen6JCo6Zu35a6JJyxcclxuICAgICAgJ2RlJzogJ0FsdC1TaGFybGF5YW4nLFxyXG4gICAgICAnZW4nOiAnT2xkIFNoYXJsYXlhbicsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIFNoYXJsYXlhbicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjg6vjg4njg7vjgrfjg6Pjg7zjg6zjgqLjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM3LFxyXG4gIH0sXHJcbiAgOTYzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ5pyt572VJyxcclxuICAgICAgJ2RlJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2VuJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2ZyJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2phJzogJ+ODqeOCtuODj+ODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzgsXHJcbiAgfSxcclxuICA5NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM5pyb5LmL54Ku5Y+w77ya4oCc5aGU4oCdJyxcclxuICAgICAgJ2RlJzogJ0RlciBUdXJtLCBQYXJhZGlnbWVuYnJlY2hlcicsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgYXQgUGFyYWRpZ21cXCdzIEJyZWFjaCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIGxhIENvbnRpbmdlbmNlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+ODjuegsuWPsO+8muOAjOWhlOOAjScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg7Y+s64yAOiBcXCftg5FcXCcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogODA4LFxyXG4gICAgJ29mZnNldFknOiAtNzcyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95rW35LiK5Z+65Zyw5bmy6Ii55Z2eJyxcclxuICAgICAgJ2RlJzogJ1Ryb2NrZW5kb2NrIHZvbiBDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIERyeWRvY2tzJyxcclxuICAgICAgJ2ZyJzogJ0NhbGUgc8OoY2hlIGRlIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqvjgrnjg4bjg4Pjg6vjg6Djg7vjg57jg6rjg4zjg6Djg7vjg4njg6njgqTjg4njg4Pjgq8nLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuniOumrOuIlCDqsbTshKDqsbAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlr7znpZ7pl6jlt7TliKvloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIEJhYmlsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBCYWJpbCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIEJhYmlsJyxcclxuICAgICAgJ2phJzogJ+mtlOWwjuelnumWgCDjg5Djg5bjgqTjg6vjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjcwLFxyXG4gICAgJ29mZnNldFknOiAtMzAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDk3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmoJHmtbfkuIfnm7jmo67lm70nLFxyXG4gICAgICAnZGUnOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2VuJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdmcic6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnamEnOiAn57WC5pyr5qi55rW3IOODtOOCoeODiuOCueODkeODhuOCoycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODAsXHJcbiAgICAnb2Zmc2V0WSc6IDgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDk3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHlubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMZSBCcmlzZXVyIGRlIG1hcsOpZXMgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDk3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jlubvmg7PmnKvkuJbnu4jov7knLFxyXG4gICAgICAnZGUnOiAnRGFzIFN0ZXJuZW5ncmFiJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEZWFkIEVuZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0lzc3VlIGF1eCBJbXBhc3NlcycsXHJcbiAgICAgICdqYSc6ICfmnIDntYLlubvmg7Mg44Os44Og44OK44Oz44OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zMTAsXHJcbiAgICAnb2Zmc2V0WSc6IDE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDQsXHJcbiAgfSxcclxuICA5NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg546v5aKD5p6B5YyX6YCg54mp6ZmiJyxcclxuICAgICAgJ2RlJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdlbic6ICdLdGlzaXMgSHlwZXJib3JlaWEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cGVyYm9yw6llJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOeSsOWigyDjg5Ljg6Xjg5rjg6vjg5zjg6zjgqLpgKDnianpmaInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aJjuadnOivuuWwlOmrmOWOnycsXHJcbiAgICAgICdkZSc6ICdaYWRub3ItSG9jaGViZW5lJyxcclxuICAgICAgJ2VuJzogJ1phZG5vcicsXHJcbiAgICAgICdmcic6ICdIYXV0cyBwbGF0ZWF1eCBkZSBaYWRub3InLFxyXG4gICAgICAnamEnOiAn44K244OI44Kl44OO44Or6auY5Y6fJyxcclxuICAgICAgJ2tvJzogJ+yekO2KuOuFuOultCDqs6Dsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMwLFxyXG4gIH0sXHJcbiAgOTc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5kOWbremDveW4gueskeeskemVhycsXHJcbiAgICAgICdkZSc6ICdTbWlsZXRvbicsXHJcbiAgICAgICdlbic6ICdTbWlsZXRvbicsXHJcbiAgICAgICdmcic6ICdSaXNldHRlLXN1ci1sdW5lJyxcclxuICAgICAgJ2phJzogJ+alveWckumDveW4giDjgrnjg57jgqTjg6vjg4jjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTIyLFxyXG4gICAgJ29mZnNldFknOiAtNDIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275paX6Iez6buO5piOJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGltIE1vcmdlbmdyYXVlbicsXHJcbiAgICAgICdlbic6ICdEZWF0aCBVbnRvIERhd24nLFxyXG4gICAgICAnZnInOiAnQXViZSBtZXVydHJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfpu47mmI7jga7mrbvpl5gnLFxyXG4gICAgICAna28nOiAn7Jes66qF7J2YIOyCrO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pif5rW35rex5bm95a+75Zug5pif5pm26ZWcJyxcclxuICAgICAgJ2RlJzogJ0RhcyBBaXRpYXNrb3AnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFpdGlhc2NvcGUnLFxyXG4gICAgICAnZnInOiAnTGUgUHJpc21lIGRlIGxcXCdBaXRpYScsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfmvZzoiKog44Ki44Kk44OG44Kj44Kq44Oz5pif5pm26Y+hJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDgsXHJcbiAgICAnb2Zmc2V0WSc6IC01MDEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55S16ISR5qKm5aKD5pav5o+Q5qC8546b5ZubJyxcclxuICAgICAgJ2RlJzogJ1N0aWdtYS1Ib2xvbWV0cmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGlnbWEgRHJlYW1zY2FwZScsXHJcbiAgICAgICdmcic6ICdSw6p2ZSDDqWxlY3RyaXF1ZSBkZSBTdGlnbWEtNCcsXHJcbiAgICAgICdqYSc6ICfpm7vohLPlpKLmg7Mg44K544OG44Kj44Kw44Oe44O744OV44Kp44O8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE0NCxcclxuICAgICdvZmZzZXRZJzogLTE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDAsXHJcbiAgfSxcclxuICA5OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1Byb3BoZXRpZSAtIFpvZGlhcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhcmsgSW5zaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzJyxcclxuICAgICAgJ2phJzogJ+OCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5pqd5pqX5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogWm9kaWFya1xcJ3MgRmFsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgTWFydHlycyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a7keeoveeBteauv+mXuemsvOebm+WutCcsXHJcbiAgICAgICdkZSc6ICdMdXN0aWdlcyBCYW5rZXR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBQaGFudG9tc1xcJyBGZWFzdCcsXHJcbiAgICAgICdmcic6ICdMZSBiYW5xdWV0IGNhdWNoZW1hcmRlc3F1ZScsXHJcbiAgICAgICdqYSc6ICfpgZPljJbppZflrrQg44Ob44O844Oz44OG44OD44OJ44OV44Kj44O844K544OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwLFxyXG4gICAgJ29mZnNldFknOiAxMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbflvrfmnpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1vdGhlcmNyeXN0YWwnLFxyXG4gICAgICAnZnInOiAnTGUgQ3Jpc3RhbC1tw6hyZScsXHJcbiAgICAgICdqYSc6ICfjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+aZluWFieatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdFc2NoYXRvcyAtIEh5ZGFlbHluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBIeWRhZWx5blxcJ3MgQ2FsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44Kk44OH44Oq44Oz6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu4jnu5PkuYvmiJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gRW5kc8OkbmdlcmluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBEYXknLFxyXG4gICAgICAnZnInOiAnTGUgUsOpcG9ucyBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfntYLnhInjga7miKbjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE2LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFBhcnR5LCBQbGF5ZXJDaGFuZ2VkUmV0IH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IHsgYWRkT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5cclxuLy8gV2lsbCByZWRpcmVjdCBjYWxscyBmcm9tIGBvblBsYXllckNoYW5nZWRFdmVudGAgdG8gfGZ1bmN8IG92ZXJyaWRpbmcgd2l0aFxyXG4vLyB8cGxheWVyTmFtZXwgYW5kIHRoZWlyIGpvYi4gIEpvYiBpcyBpbXBvcnRhbnQgZm9yIHJhaWRib3NzLlxyXG4vLyBJdCBtaWdodCBiZSBuaWNlIHRvIGRvIEhQLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgbWF0aCBzZWN0aW9uIG9mXHJcbi8vIFJpZG9yYW5hIExpZ2h0aG91c2Ugd29uJ3Qgd29yay5cclxuLy9cclxuLy8gT3RoZXIgcGFydHMgb2YgdGhlIHBsYXllciAoc3VjaCB0aGF0IHdvdWxkIGhlbHAgdGhlIGpvYnMgb3ZlcmxheSBydW4pXHJcbi8vIGFyZSBkZWxpYmVyYXRlbHkgbm90IGluY2x1ZGVkIGhlcmUsIGJlY2F1c2UgaXQncyBpbXBvc3NpYmxlIHRvIHJ1blxyXG4vLyBqb2JzIHJlbW90ZWx5IGR1ZSB0byBnYXVnZSBkYXRhIGJlaW5nIGxvY2FsIGFuZCBtYW55IGJpdHMgb2YgaW5mb3JtYXRpb25cclxuLy8gbG9hZGVkIGZyb20gbWVtb3J5LlxyXG5cclxuZXhwb3J0IHR5cGUgUGxheWVyQ2hhbmdlZERldGFpbCA9IHsgZGV0YWlsOiBQbGF5ZXJDaGFuZ2VkUmV0IH07XHJcbnR5cGUgUGxheWVyQ2hhbmdlZEZ1bmMgPSAoZTogUGxheWVyQ2hhbmdlZERldGFpbCkgPT4gdm9pZDtcclxuXHJcbi8vIEBUT0RPOiBTd2FwIHRoZSBvcmRlciBvZiB0aGVzZSBhcmd1bWVudHMsIG1ha2UgcGxheWVyTmFtZSBvcHRpb25hbCBpbnN0ZWFkXHJcbmV4cG9ydCBjb25zdCBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciA9IChcclxuICBmdW5jOiBQbGF5ZXJDaGFuZ2VkRnVuYyxcclxuICBwbGF5ZXJOYW1lPzogc3RyaW5nLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAoIWZ1bmMpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBsYXN0UGxheWVyQ2hhbmdlZEV2ZW50OiBQbGF5ZXJDaGFuZ2VkRGV0YWlsIHwgbnVsbCA9IG51bGw7XHJcbiAgbGV0IGxhc3RQbGF5ZXJKb2I6IEpvYiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdCBvblBsYXllckNoYW5nZWQ6IFBsYXllckNoYW5nZWRGdW5jID0gKGU6IFBsYXllckNoYW5nZWREZXRhaWwpID0+IHtcclxuICAgIGlmIChwbGF5ZXJOYW1lKSB7XHJcbiAgICAgIGUuZGV0YWlsLm5hbWUgPSBwbGF5ZXJOYW1lO1xyXG4gICAgICBpZiAobGFzdFBsYXllckpvYikge1xyXG4gICAgICAgIC8vIFVzZSB0aGUgbm9uLW92ZXJyaWRkZW4gam9iIGlmIHdlIGRvbid0IGtub3cgYW4gb3ZlcnJpZGRlbiBvbmUuXHJcbiAgICAgICAgZS5kZXRhaWwuam9iID0gbGFzdFBsYXllckpvYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFzdFBsYXllckNoYW5nZWRFdmVudCA9IGU7XHJcblxyXG4gICAgZnVuYyhlKTtcclxuICB9O1xyXG5cclxuICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uUGxheWVyQ2hhbmdlZEV2ZW50Jywgb25QbGF5ZXJDaGFuZ2VkKTtcclxuICBpZiAoIXBsYXllck5hbWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgIGNvbnN0IHBsYXllciA9IGUucGFydHkuZmluZCgocCkgPT4gcC5uYW1lID09PSBwbGF5ZXJOYW1lKTtcclxuICAgIGlmICghcGxheWVyKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbmV3Sm9iID0gVXRpbC5qb2JFbnVtVG9Kb2IocGxheWVyLmpvYik7XHJcbiAgICBpZiAobmV3Sm9iID09PSBsYXN0UGxheWVySm9iKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGFzdFBsYXllckpvYiA9IG5ld0pvYjtcclxuICAgIC8vIFRoaXMgZXZlbnQgbWF5IGNvbWUgYmVmb3JlIHRoZSBmaXJzdCBvblBsYXllckNoYW5nZWRFdmVudC5cclxuICAgIGlmIChsYXN0UGxheWVyQ2hhbmdlZEV2ZW50KVxyXG4gICAgICBvblBsYXllckNoYW5nZWQobGFzdFBsYXllckNoYW5nZWRFdmVudCk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyBDb21tb24gVUkgZm9yIHNlbGVjdGluZyBhIHBsYXllci5cclxuLy8gT25seSB1c2VkIGZvciByYWlkYm9zcywgYnV0IGNvdWxkIG9zdGVuc2libHkgYmUgcmV1c2VkIGZvciBvb3BzeSxcclxuLy8gaWYgdGhlcmUncyBldmVyIHBsYXllciBzcGVjaWZpYyBzdHVmZi5cclxuLy8gVE9ETzogaXQgd291bGQgYmUgbmljZSB0byBzaG93IHRoZSBcImNvbm5lY3RlZCAvIG5vdCBjb25uZWN0ZWRcIiBiaXQgaW4gdGhlIFVJLlxyXG5leHBvcnQgY29uc3QgYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkgPSAobGFuZzogTGFuZyk6IHZvaWQgPT4ge1xyXG4gIGNvbnN0IGluc3RydWN0aW9uVGV4dEJ5TGFuZyA9IHtcclxuICAgIGVuOiAnU2VsZWN0IGEgUGxheWVyXFxuKHRoZSBsaXN0IHdpbGwgdXBkYXRlIHdoZW4gaW4gYW4gaW5zdGFuY2UpJyxcclxuICAgIGRlOiAnV8OkaGxlIGVpbmVuIFNwaWVsZXJcXG4oRGllc2UgTGlzdGUgYWt0dWFsaXNpZXJ0IHNpY2gsIHNvYmFsZCBlaW5lIEluc3RhbmNlIGJldHJldHRlbiB3aXJkKScsXHJcbiAgICBmcjogJ1PDqWxlY3Rpb25uZXIgdW4gam91ZXVyXFxuIChsYSBsaXN0ZSBzZSBtZXR0cmEgw6Agam91ciBkYW5zIHVuZSBpbnN0YW5jZSknLFxyXG4gICAgamE6ICfjg5fjg6zjg7zjg6Tjg7zlkI3jgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYRcXG4o44Kk44Oz44K544K/44Oz44K544Gr5YWl44KL44Go44Oq44K544OI44GM5pu05paw44GZ44KLKScsXHJcbiAgICBjbjogJ+ivt+mAieaLqeeOqeWutuWQjeensFxcbijmraTliJfooajlsIbkvJrlnKjov5vlhaXlia/mnKzlkI7mm7TmlrApJyxcclxuICAgIGtvOiAn7ZSM66CI7J207Ja066W8IOyEoO2Dne2VmOyEuOyalFxcbijsnbjsiqTthLTsiqTsl5Ag7J6I7Jy866m0IOumrOyKpO2KuOqwgCDsl4XrjbDsnbTtirjrkKnri4jri6QuKScsXHJcbiAgfTtcclxuICBjb25zdCBmb3JjZVRUU0J5TGFuZyA9IHtcclxuICAgIGVuOiAnRm9yY2UgRW5hYmxlIFRleHQgVG8gU3BlZWNoJyxcclxuICAgIGRlOiAnRXJ6d2luZ2UgVGV4dCBpbiBTcHJhY2hlIChUVFMpJyxcclxuICAgIGZyOiAnRm9yY2VyIGxcXCdhY3RpdmF0aW9uIGRlIGxhIHN5bnRow6hzZSB2b2NhbGUgKFRUUyknLFxyXG4gICAgamE6ICdUVFPjgpLlvLfliLbnmoTjgavmnInlirnljJbjgZnjgosnLFxyXG4gICAgY246ICflvLrliLblkK/nlKhUVFMnLFxyXG4gICAga286ICdUVFMg6riw64ql7J2EIO2ZnOyEse2ZlO2VmOq4sCcsXHJcbiAgfTtcclxuICBjb25zdCBidXR0b25UZXh0QnlMYW5nID0ge1xyXG4gICAgZW46ICdTdGFydCBPdmVybGF5JyxcclxuICAgIGRlOiAnU3RhcnQgT3ZlcmxheScsXHJcbiAgICBmcjogJ0TDqW1hcnJlciBsXFwnT3ZlcmxheScsXHJcbiAgICBqYTogJ+OCquODvOODkOODvOODrOOCpOOCkui1t+WLlScsXHJcbiAgICBjbjogJ+WQr+eUqOaCrOa1rueqlycsXHJcbiAgICBrbzogJ+yYpOuyhOugiOydtCDsi5zsnpEnLFxyXG4gIH07XHJcbiAgY29uc3QgZGVmYXVsdFRleHRCeUxhbmcgPSB7XHJcbiAgICBlbjogJyhubyBvdmVycmlkZSknLFxyXG4gICAgZGU6ICcoa2VpbiDDvGJlcnNjaHJlaWJlbiknLFxyXG4gICAgZnI6ICcocGFzIGRlIGTDqXJvZ2F0aW9uKScsXHJcbiAgICBqYTogJyjml6LlrprlgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco7ZSM66CI7J207Ja0IOyngOyglSDslYjtlagpJyxcclxuICB9O1xyXG5cclxuICAvLyBUT0RPOiBwcm9iYWJseSBzaG91bGQgc2F2ZSBmb3JjZVRUUyBhcyB3ZWxsLCBtYXliZSBzYXZlIHNvbWUge30gb3B0aW9ucz9cclxuICBjb25zdCBrU3RvcmFnZUtleSA9ICdjYWN0Ym90LWxhc3Qtc2VsZWN0ZWQtcGxheWVyJztcclxuICBjb25zdCBzYXZlUGxheWVyTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShrU3RvcmFnZUtleSwgbmFtZSk7XHJcbiAgfTtcclxuICBjb25zdCBsb2FkUGxheWVyTmFtZSA9ICgpID0+IHtcclxuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oa1N0b3JhZ2VLZXkpO1xyXG4gIH07XHJcblxyXG4gIC8vIEFkZCBjb21tb24gVUkgdG8gc2VsZWN0IGEgcGxheWVyLlxyXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGNvbnRhaW5lci5pZCA9ICdwbGF5ZXItc2VsZWN0JztcclxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblxyXG4gIGNvbnN0IGluc3RydWN0aW9uRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGluc3RydWN0aW9uRWxlbS5pZCA9ICdwbGF5ZXItc2VsZWN0LWluc3RydWN0aW9ucyc7XHJcbiAgaW5zdHJ1Y3Rpb25FbGVtLmlubmVySFRNTCA9IGluc3RydWN0aW9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBpbnN0cnVjdGlvblRleHRCeUxhbmdbJ2VuJ107XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGluc3RydWN0aW9uRWxlbSk7XHJcblxyXG4gIGNvbnN0IGxpc3RFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgbGlzdEVsZW0uaWQgPSAncGxheWVyLXNlbGVjdC1saXN0JztcclxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdEVsZW0pO1xyXG5cclxuICBjb25zdCB0dHNFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICB0dHNFbGVtLnR5cGUgPSAnY2hlY2tib3gnO1xyXG4gIHR0c0VsZW0uaWQgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0VsZW0ubmFtZSA9ICdwbGF5ZXItc2VsZWN0LXR0cyc7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKHR0c0VsZW0pO1xyXG5cclxuICBjb25zdCB0dHNMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcbiAgdHRzTGFiZWwuaWQgPSAncGxheWVyLXNlbGVjdC10dHMtbGFiZWwnO1xyXG4gIHR0c0xhYmVsLmh0bWxGb3IgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0xhYmVsLmlubmVySFRNTCA9IGZvcmNlVFRTQnlMYW5nW2xhbmddIHx8IGZvcmNlVFRTQnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0dHNMYWJlbCk7XHJcblxyXG4gIGNvbnN0IGJ1dHRvbkVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICBidXR0b25FbGVtLmlkID0gJ3BsYXllci1zZWxlY3QtYnV0dG9uJztcclxuICBidXR0b25FbGVtLm5hbWUgPSAncGxheWVyLXNlbGVjdC1idXR0b24nO1xyXG4gIGJ1dHRvbkVsZW0uaW5uZXJIVE1MID0gYnV0dG9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBidXR0b25UZXh0QnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChidXR0b25FbGVtKTtcclxuICBidXR0b25FbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgY29uc3QgZm9yY2VUVFMgPSB0dHNFbGVtLmNoZWNrZWQ7XHJcbiAgICBsZXQgcGxheWVyTmFtZSA9ICcnO1xyXG4gICAgbGV0IHJhZGlvSW5kZXggPSAwO1xyXG4gICAgZm9yICg7Oykge1xyXG4gICAgICByYWRpb0luZGV4Kys7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGxheWVyLXJhZGlvLSR7cmFkaW9JbmRleH1gKTtcclxuICAgICAgaWYgKCFlbGVtIHx8ICEoZWxlbSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAoIWVsZW0uY2hlY2tlZClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgcGxheWVyTmFtZSA9IGVsZW0udmFsdWU7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwbGF5ZXJOYW1lKVxyXG4gICAgICBzYXZlUGxheWVyTmFtZShwbGF5ZXJOYW1lKTtcclxuXHJcbiAgICAvLyBQcmVzZXJ2ZSBleGlzdGluZyBwYXJhbWV0ZXJzLlxyXG4gICAgY29uc3QgY3VycmVudFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgICBjb25zdCBwYXJhbU1hcDogeyBbdmFsdWU6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9ID0ge307XHJcbiAgICAvLyBZZXMsIHRoaXMgaXMgKHYsIGspIGFuZCBub3QgKGssIHYpLlxyXG4gICAgY3VycmVudFBhcmFtcy5mb3JFYWNoKCh2LCBrKSA9PiBwYXJhbU1hcFtrXSA9IGRlY29kZVVSSUNvbXBvbmVudCh2KSk7XHJcblxyXG4gICAgcGFyYW1NYXAucGxheWVyID0gcGxheWVyTmFtZTtcclxuICAgIC8vIFVzZSAxLzAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHF1ZXJ5IHBhcmFtZXRlcnMgcmF0aGVyIHRoYW4gc3RyaW5nIHRydWUvZmFsc2UuXHJcbiAgICBwYXJhbU1hcC5mb3JjZVRUUyA9IGZvcmNlVFRTID8gMSA6IDA7XHJcblxyXG4gICAgLy8gVE9ETzogb3ZlcmxheV9wbHVnaW5fYXBpLmpzIGRvZXNuJ3Qgc3VwcG9ydCB1cmkgZW5jb2RlZCBPVkVSTEFZX1dTIHBhcmFtZXRlcnMuXHJcbiAgICAvLyBTbyB0aGlzIGNhbid0IHVzZSBVUkxTZWFyY2hQYXJhbXMudG9TdHJpbmcgeWV0LiAgTWFudWFsbHkgYnVpbGQgc3RyaW5nLlxyXG4gICAgbGV0IHNlYXJjaCA9ICc/JztcclxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtTWFwKSlcclxuICAgICAgc2VhcmNoICs9IGAke2t9PSR7dn0mYDtcclxuXHJcbiAgICAvLyBSZWxvYWQgdGhlIHBhZ2Ugd2l0aCBtb3JlIG9wdGlvbnMuXHJcbiAgICB3aW5kb3cubG9jYXRpb24uc2VhcmNoID0gc2VhcmNoO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBsYXN0U2VsZWN0ZWRQbGF5ZXIgPSBsb2FkUGxheWVyTmFtZSgpO1xyXG5cclxuICBjb25zdCBidWlsZExpc3QgPSAocGFydHk6IFBhcnR5W10pID0+IHtcclxuICAgIHdoaWxlIChsaXN0RWxlbS5maXJzdENoaWxkKSB7XHJcbiAgICAgIGlmIChsaXN0RWxlbS5sYXN0Q2hpbGQpXHJcbiAgICAgICAgbGlzdEVsZW0ucmVtb3ZlQ2hpbGQobGlzdEVsZW0ubGFzdENoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmFkaW9Db3VudCA9IDA7XHJcblxyXG4gICAgY29uc3QgYWRkUmFkaW8gPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHRyYUNsYXNzOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmFkaW9Db3VudCsrO1xyXG5cclxuICAgICAgY29uc3QgaW5wdXROYW1lID0gYHBsYXllci1yYWRpby0ke3JhZGlvQ291bnR9YDtcclxuXHJcbiAgICAgIGNvbnN0IGlucHV0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGlucHV0RWxlbS50eXBlID0gJ3JhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIGlucHV0RWxlbS5pZCA9IGlucHV0TmFtZTtcclxuICAgICAgaW5wdXRFbGVtLm5hbWUgPSAncGxheWVyLXJhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLmNsYXNzTGlzdC5hZGQoJ3BsYXllci1yYWRpbycsIGV4dHJhQ2xhc3MpO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChpbnB1dEVsZW0pO1xyXG5cclxuICAgICAgY29uc3QgbGFiZWxFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcclxuICAgICAgbGFiZWxFbGVtLmh0bWxGb3IgPSBpbnB1dE5hbWU7XHJcbiAgICAgIGxhYmVsRWxlbS5pbm5lckhUTUwgPSBuYW1lO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChsYWJlbEVsZW0pO1xyXG5cclxuICAgICAgcmV0dXJuIGlucHV0RWxlbTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFRleHQgPSBkZWZhdWx0VGV4dEJ5TGFuZ1tsYW5nXSB8fCBkZWZhdWx0VGV4dEJ5TGFuZ1snZW4nXTtcclxuICAgIGNvbnN0IGRlZmF1bHRFbGVtID0gYWRkUmFkaW8oZGVmYXVsdFRleHQsICcnLCAncGxheWVyLXJhZGlvLWRlZmF1bHQnKTtcclxuICAgIGRlZmF1bHRFbGVtLmNoZWNrZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmIChsYXN0U2VsZWN0ZWRQbGF5ZXIpIHtcclxuICAgICAgY29uc3QgbGFzdCA9IGFkZFJhZGlvKGxhc3RTZWxlY3RlZFBsYXllciwgbGFzdFNlbGVjdGVkUGxheWVyLCAncGxheWVyLXJhZGlvLWxhc3QnKTtcclxuICAgICAgbGFzdC5jaGVja2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJ0eVBsYXllcnMgPSBwYXJ0eS5maWx0ZXIoKHApID0+IHAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBwYXJ0eU5hbWVzID0gcGFydHlQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcGFydHlOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1wYXJ0eScpO1xyXG5cclxuICAgIGNvbnN0IGFsbGlhbmNlUGxheWVycyA9IHBhcnR5LmZpbHRlcigocCkgPT4gIXAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBhbGxpYW5jZU5hbWVzID0gYWxsaWFuY2VQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgYWxsaWFuY2VOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1hbGxpYW5jZScpO1xyXG4gIH07XHJcbiAgYWRkT3ZlcmxheUxpc3RlbmVyKCdQYXJ0eUNoYW5nZWQnLCAoZSkgPT4ge1xyXG4gICAgYnVpbGRMaXN0KGUucGFydHkpO1xyXG4gIH0pO1xyXG4gIGJ1aWxkTGlzdChbXSk7XHJcbn07XHJcbiIsImltcG9ydCB7IFBhcnR5IH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IFV0aWwgZnJvbSAnLi91dGlsJztcclxuXHJcbmNvbnN0IGVtcHR5Um9sZVRvUGFydHlOYW1lcyA9ICgpID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgdGFuazogW10sXHJcbiAgICBoZWFsZXI6IFtdLFxyXG4gICAgZHBzOiBbXSxcclxuICAgIGNyYWZ0ZXI6IFtdLFxyXG4gICAgZ2F0aGVyZXI6IFtdLFxyXG4gICAgbm9uZTogW10sXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnR5VHJhY2tlciB7XHJcbiAgZGV0YWlsczogUGFydHlbXSA9IFtdO1xyXG4gIHBhcnR5TmFtZXNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHBhcnR5SWRzXzogc3RyaW5nW10gPSBbXTtcclxuICBhbGxpYW5jZU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBhbGxpYW5jZUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgbmFtZVRvUm9sZV86IHsgW25hbWU6IHN0cmluZ106IFJvbGUgfSA9IHt9O1xyXG4gIGlkVG9OYW1lXzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgcm9sZVRvUGFydHlOYW1lc186IFJlY29yZDxSb2xlLCBzdHJpbmdbXT4gPSBlbXB0eVJvbGVUb1BhcnR5TmFtZXMoKTtcclxuXHJcbiAgLy8gQmluZCB0aGlzIHRvIFBhcnR5Q2hhbmdlZCBldmVudHMuXHJcbiAgb25QYXJ0eUNoYW5nZWQoZTogeyBwYXJ0eTogUGFydHlbXSB9KTogdm9pZCB7XHJcbiAgICBpZiAoIWUgfHwgIWUucGFydHkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICB0aGlzLmRldGFpbHMgPSBlLnBhcnR5O1xyXG5cclxuICAgIGZvciAoY29uc3QgcCBvZiBlLnBhcnR5KSB7XHJcbiAgICAgIHRoaXMuYWxsaWFuY2VJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgIHRoaXMuYWxsaWFuY2VOYW1lc18ucHVzaChwLm5hbWUpO1xyXG4gICAgICBjb25zdCBqb2JOYW1lID0gVXRpbC5qb2JFbnVtVG9Kb2IocC5qb2IpO1xyXG4gICAgICBjb25zdCByb2xlID0gVXRpbC5qb2JUb1JvbGUoam9iTmFtZSk7XHJcbiAgICAgIHRoaXMuaWRUb05hbWVfW3AuaWRdID0gcC5uYW1lO1xyXG4gICAgICB0aGlzLm5hbWVUb1JvbGVfW3AubmFtZV0gPSByb2xlO1xyXG4gICAgICBpZiAocC5pblBhcnR5KSB7XHJcbiAgICAgICAgdGhpcy5wYXJ0eUlkc18ucHVzaChwLmlkKTtcclxuICAgICAgICB0aGlzLnBhcnR5TmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgICB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfW3JvbGVdLnB1c2gocC5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICAvLyBvcmlnaW5hbCBldmVudCBkYXRhXHJcbiAgICB0aGlzLmRldGFpbHMgPSBbXTtcclxuICAgIHRoaXMucGFydHlOYW1lc18gPSBbXTtcclxuICAgIHRoaXMucGFydHlJZHNfID0gW107XHJcbiAgICB0aGlzLmFsbGlhbmNlTmFtZXNfID0gW107XHJcbiAgICB0aGlzLmFsbGlhbmNlSWRzXyA9IFtdO1xyXG4gICAgdGhpcy5uYW1lVG9Sb2xlXyA9IHt9O1xyXG4gICAgdGhpcy5pZFRvTmFtZV8gPSB7fTtcclxuXHJcbiAgICAvLyByb2xlIC0+IFtuYW1lc10gYnV0IG9ubHkgZm9yIHBhcnR5XHJcbiAgICB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IHBhcnR5TmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lc187XHJcbiAgfVxyXG5cclxuICBnZXQgcGFydHlJZHMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlJZHNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGFsbGlhbmNlXHJcbiAgZ2V0IGFsbGlhbmNlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lc187XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiB0YW5rcyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCB0YW5rTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ3RhbmsnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGhlYWxlcnMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgaGVhbGVyTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ2hlYWxlciddO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgZHBzIHBsYXllcnMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgZHBzTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ2RwcyddO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHBhcnRpY3VsYXIgcm9sZVxyXG4gIGlzUm9sZShuYW1lOiBzdHJpbmcsIHJvbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZVRvUm9sZV9bbmFtZV0gPT09IHJvbGU7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgdGFua1xyXG4gIGlzVGFuayhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAndGFuaycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIGhlYWxlclxyXG4gIGlzSGVhbGVyKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNSb2xlKG5hbWUsICdoZWFsZXInKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBkcHNcclxuICBpc0RQUyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnZHBzJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpcyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGluUGFydHkobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJ0eU5hbWVzLmluY2x1ZGVzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGluQWxsaWFuY2UobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbGxpYW5jZU5hbWVzLmluY2x1ZGVzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIGEgbmFtZWQgcGxheWVyLCByZXR1cm5zIHRoZSBvdGhlciB0YW5rIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgLy8gaWYgbmFtZWQgcGxheWVyIGlzIG5vdCBhIHRhbmssIG9yIHRoZXJlJ3Mgbm90IGV4YWN0bHkgdHdvIHRhbmtzXHJcbiAgLy8gaW4geW91ciBpbW1lZGlhdGUgcGFydHksIHJldHVybnMgbnVsbC5cclxuICBvdGhlclRhbmsobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy50YW5rTmFtZXM7XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gc2VlOiBvdGhlclRhbmssIGJ1dCBmb3IgaGVhbGVycy5cclxuICBvdGhlckhlYWxlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgbmFtZXMgPSB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICAgIGlmIChuYW1lcy5sZW5ndGggIT09IDIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmIChuYW1lc1swXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzFdO1xyXG4gICAgaWYgKG5hbWVzWzFdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMF07XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRoZSBqb2IgbmFtZSBvZiB0aGUgc3BlY2lmaWVkIHBhcnR5IG1lbWJlclxyXG4gIGpvYk5hbWUobmFtZTogc3RyaW5nKTogSm9iIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHBhcnR5SW5kZXggPSB0aGlzLnBhcnR5TmFtZXMuaW5kZXhPZihuYW1lKTtcclxuICAgIGlmIChwYXJ0eUluZGV4ID49IDApXHJcbiAgICAgIHJldHVybiBVdGlsLmpvYkVudW1Ub0pvYih0aGlzLmRldGFpbHNbcGFydHlJbmRleF0/LmpvYiBhcyBudW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgbmFtZUZyb21JZChpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmlkVG9OYW1lX1tpZF07XHJcbiAgfVxyXG59XHJcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dG9wbGF5SGVscGVyIHtcclxuICBzdGF0aWMgQ2hlY2tJZkFscmVhZHlSdW5uaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVGhpcyBjaGVjayB3aWxsIG9ubHkgZXZlciBzdWNjZWVkIG9uIHJ1bm5pbmcgQ2hyb21pdW0gcGFzc2luZ1xyXG4gICAgLy8gIC0tYXV0b3BsYXktcG9saWN5PW5vLXVzZXItZ2VzdHVyZS1yZXF1aXJlZFxyXG4gICAgLy8gYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50IG9yIGNvbmZpZ3VyaW5nIENFRiB0aGUgY29ycmVjdCB3YXkuXHJcbiAgICAvLyBPbmNlIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExMDYzODBcclxuICAgIC8vIGlzIGZpeGVkIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gZmFsc2Ugb24gZXZlcnkgKHVwLXRvLWRhdGUpIGJyb3dzZXJcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICByZXR1cm4gY29udGV4dC5zdGF0ZSA9PT0gJ3J1bm5pbmcnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIFByb21wdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgIGJ1dHRvbi5pbm5lclRleHQgPSAnQ2xpY2sgdG8gZW5hYmxlIGF1ZGlvJztcclxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhdXRvcGxheS1oZWxwZXItYnV0dG9uJyk7XHJcbiAgICBidXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICB2b2lkIGNvbnRleHQucmVzdW1lKCk7XHJcbiAgICB9O1xyXG4gICAgY29udGV4dC5vbnN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgIGJ1dHRvbi5yZW1vdmUoKTtcclxuICAgIH07XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ2hlY2tBbmRQcm9tcHQoKTogdm9pZCB7XHJcbiAgICBpZiAoIUF1dG9wbGF5SGVscGVyLkNoZWNrSWZBbHJlYWR5UnVubmluZygpKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5Qcm9tcHQoKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5cclxuY2xhc3MgVFRTSXRlbSB7XHJcbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGl0ZW06IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTtcclxuXHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBsYW5nPzogc3RyaW5nLCB2b2ljZT86IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKSB7XHJcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5pdGVtID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSh0ZXh0KTtcclxuICAgIGlmIChsYW5nKVxyXG4gICAgICB0aGlzLml0ZW0ubGFuZyA9IGxhbmc7XHJcbiAgICBpZiAodm9pY2UpXHJcbiAgICAgIHRoaXMuaXRlbS52b2ljZSA9IHZvaWNlO1xyXG4gIH1cclxuXHJcbiAgcGxheSgpIHtcclxuICAgIHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuc3BlYWsodGhpcy5pdGVtKTtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgVFRTSXRlbURpY3Rpb25hcnkgPSB7XHJcbiAgW2tleTogc3RyaW5nXTogVFRTSXRlbTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyb3dzZXJUVFNFbmdpbmUge1xyXG4gIHJlYWRvbmx5IHR0c0l0ZW1zOiBUVFNJdGVtRGljdGlvbmFyeSA9IHt9O1xyXG4gIHByaXZhdGUgc3BlZWNoTGFuZz86IHN0cmluZztcclxuICBwcml2YXRlIHNwZWVjaFZvaWNlPzogU3BlZWNoU3ludGhlc2lzVm9pY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGxhbmc6IExhbmcpIHtcclxuICAgIGNvbnN0IGNhY3Rib3RMYW5nVG9TcGVlY2hMYW5nID0ge1xyXG4gICAgICBlbjogJ2VuLVVTJyxcclxuICAgICAgZGU6ICdkZS1ERScsXHJcbiAgICAgIGZyOiAnZnItRlInLFxyXG4gICAgICBqYTogJ2phLUpQJyxcclxuICAgICAgLy8gVE9ETzogbWF5YmUgbmVlZCB0byBwcm92aWRlIGFuIG9wdGlvbiBvZiB6aC1DTiwgemgtSEssIHpoLVRXP1xyXG4gICAgICBjbjogJ3poLUNOJyxcclxuICAgICAga286ICdrby1LUicsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGZpZ3VyZSBvdXQgd2hhdCBUVFMgZW5naW5lIHR5cGUgd2UgbmVlZFxyXG4gICAgaWYgKHdpbmRvdy5zcGVlY2hTeW50aGVzaXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBzcGVlY2hMYW5nID0gY2FjdGJvdExhbmdUb1NwZWVjaExhbmdbbGFuZ107XHJcbiAgICAgICAgY29uc3Qgdm9pY2UgPSB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLmdldFZvaWNlcygpLmZpbmQoKHZvaWNlKSA9PiB2b2ljZS5sYW5nID09PSBzcGVlY2hMYW5nKTtcclxuICAgICAgICBpZiAodm9pY2UpIHtcclxuICAgICAgICAgIHRoaXMuc3BlZWNoTGFuZyA9IHNwZWVjaExhbmc7XHJcbiAgICAgICAgICB0aGlzLnNwZWVjaFZvaWNlID0gdm9pY2U7XHJcbiAgICAgICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jyb3dzZXJUVFMgZXJyb3I6IGNvdWxkIG5vdCBmaW5kIHZvaWNlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQnJvd3NlclRUUyBlcnJvcjogbm8gYnJvd3NlciBzdXBwb3J0IGZvciB3aW5kb3cuc3BlZWNoU3ludGhlc2lzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwbGF5KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNwZWVjaFZvaWNlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHR0c0l0ZW0gPSB0aGlzLnR0c0l0ZW1zW3RleHRdO1xyXG4gICAgICBpZiAoIXR0c0l0ZW0pIHtcclxuICAgICAgICB0dHNJdGVtID0gbmV3IFRUU0l0ZW0odGV4dCwgdGhpcy5zcGVlY2hMYW5nLCB0aGlzLnNwZWVjaFZvaWNlKTtcclxuICAgICAgICB0aGlzLnR0c0l0ZW1zW3RleHRdID0gdHRzSXRlbTtcclxuICAgICAgfVxyXG4gICAgICB0dHNJdGVtLnBsYXkoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXhjZXB0aW9uIHBlcmZvcm1pbmcgVFRTJywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyLCBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFBhcnR5VHJhY2tlciBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcGFydHknO1xyXG5pbXBvcnQgeyBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciwgUGxheWVyQ2hhbmdlZERldGFpbCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCBVdGlsIGZyb20gJy4uLy4uL3Jlc291cmNlcy91dGlsJztcclxuaW1wb3J0IFpvbmVJZCBmcm9tICcuLi8uLi9yZXNvdXJjZXMvem9uZV9pZCc7XHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBFdmVudFJlc3BvbnNlcywgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IEpvYiwgUm9sZSB9IGZyb20gJy4uLy4uL3R5cGVzL2pvYic7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi8uLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7XHJcbiAgTG9vc2VUcmlnZ2VyLCBPdXRwdXRTdHJpbmdzLCBUaW1lbGluZUZpZWxkLCBUaW1lbGluZUZ1bmMsIExvb3NlVHJpZ2dlclNldCxcclxuICBSZXNwb25zZUZpZWxkLCBUcmlnZ2VyQXV0b0NvbmZpZywgVHJpZ2dlckZpZWxkLCBUcmlnZ2VyT3V0cHV0LFxyXG4gIE91dHB1dCwgUmFpZGJvc3NGaWxlRGF0YSwgUmVzcG9uc2VPdXRwdXQsIFBhcnRpYWxUcmlnZ2VyT3V0cHV0LCBEYXRhSW5pdGlhbGl6ZUZ1bmMsXHJcbiAgR2VuZXJhbE5ldFJlZ2V4VHJpZ2dlciwgUmVnZXhUcmlnZ2VyLFxyXG59IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IEF1dG9wbGF5SGVscGVyIGZyb20gJy4vYXV0b3BsYXlfaGVscGVyJztcclxuaW1wb3J0IEJyb3dzZXJUVFNFbmdpbmUgZnJvbSAnLi9icm93c2VyX3R0c19lbmdpbmUnO1xyXG5pbXBvcnQgeyBQZXJUcmlnZ2VyQXV0b0NvbmZpZywgUGVyVHJpZ2dlck9wdGlvbiwgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuL3RpbWVsaW5lJztcclxuaW1wb3J0IHsgVGltZWxpbmVSZXBsYWNlbWVudCB9IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlciA9XHJcbiAgKHRyaWdnZXI6IExvb3NlVHJpZ2dlcik6IHRyaWdnZXIgaXMgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0+IHtcclxuICAgIHJldHVybiAnaXNUaW1lbGluZVRyaWdnZXInIGluIHRyaWdnZXI7XHJcbiAgfTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc05ldFJlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxHZW5lcmFsTmV0UmVnZXhUcmlnZ2VyPFJhaWRib3NzRGF0YSwgJ05vbmUnPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ25ldFJlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1JlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxSZWdleFRyaWdnZXI8UmFpZGJvc3NEYXRhPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ3JlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2Nlc3NlZFRyaWdnZXIgPSBMb29zZVRyaWdnZXIgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgbG9jYWxSZWdleD86IFJlZ0V4cDtcclxuICBsb2NhbE5ldFJlZ2V4PzogUmVnRXhwO1xyXG4gIG91dHB1dD86IE91dHB1dDtcclxufTtcclxuXHJcbnR5cGUgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0gUHJvY2Vzc2VkVHJpZ2dlciAmIHtcclxuICBpc1RpbWVsaW5lVHJpZ2dlcj86IHRydWU7XHJcbn07XHJcblxyXG50eXBlIFByb2Nlc3NlZFRyaWdnZXJTZXQgPSBMb29zZVRyaWdnZXJTZXQgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgdGltZWxpbmVUcmlnZ2Vycz86IFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlcltdO1xyXG4gIHRyaWdnZXJzPzogUHJvY2Vzc2VkVHJpZ2dlcltdO1xyXG59O1xyXG5cclxuLy8gVGhlcmUgc2hvdWxkIGJlIChhdCBtb3N0KSBzaXggbGluZXMgb2YgaW5zdHJ1Y3Rpb25zLlxyXG5jb25zdCByYWlkYm9zc0luc3RydWN0aW9uczogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nW10gfSA9IHtcclxuICBlbjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyBhcyBmb2xsb3dzOicsXHJcbiAgICAnVGhpcyBpcyBkZWJ1ZyB0ZXh0IGZvciByZXNpemluZy4nLFxyXG4gICAgJ0l0IGdvZXMgYXdheSB3aGVuIHlvdSBsb2NrIHRoZSBvdmVybGF5JyxcclxuICAgICdhbG9uZyB3aXRoIHRoZSBibHVlIGJhY2tncm91bmQuJyxcclxuICAgICdUaW1lbGluZXMgYW5kIHRyaWdnZXJzIHdpbGwgc2hvdyB1cCBpbiBzdXBwb3J0ZWQgem9uZXMuJyxcclxuICAgICdUZXN0IHJhaWRib3NzIHdpdGggYSAvY291bnRkb3duIGluIFN1bW1lcmZvcmQgRmFybXMuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnQW53ZWlzdW5nZW4gd2llIGZvbGd0OicsXHJcbiAgICAnRGllcyBpc3QgZWluIERlYnVnLVRleHQgenVyIEdyw7bDn2Vuw6RuZGVydW5nLicsXHJcbiAgICAnRXIgdmVyc2Nod2luZGV0LCB3ZW5uIGR1IGRhcyBPdmVybGF5IHNwZXJyc3QsJyxcclxuICAgICd6dXNhbW1lbiBtaXQgZGVtIGJsYXVlbiBIaW50ZXJncnVuZC4nLFxyXG4gICAgJ1RpbWVsaW5lIHVuZCBUcmlnZ2VyIHdlcmRlbiBpbiBkZW4gdW50ZXJzdMO8dHp0ZW4gWm9uZW4gYW5nZXplaWd0LicsXHJcbiAgICAnVGVzdGVuIFNpZSBSYWlkYm9zcyBtaXQgZWluZW0gL2NvdW50ZG93biBpbiBTb21tZXJmdXJ0LUjDtmZlLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyA6JyxcclxuICAgICdDZWNpIGVzdCB1biB0ZXh0ZSBkZSB0ZXN0IHBvdXIgcmVkaW1lbnNpb25uZXIuJyxcclxuICAgICdJbCBkaXNwYXJhaXRyYSBcXChhaW5zaSBxdWUgbGUgZm9uZCBibGV1XFwpIHF1YW5kJyxcclxuICAgICdsXFwnb3ZlcmxheSBzZXJhIGJsb3F1w6kuJyxcclxuICAgICdMZXMgdGltZWxpbmVzIGV0IHRyaWdnZXJzIHNlcm9udCBhZmZpY2jDqXMgZGFucyBsZXMgem9uZXMgc3VwcG9ydMOpZXMuJyxcclxuICAgICdUZXN0ZXogcmFpZGJvc3MgYXZlYyB1biAvY291bnRkb3duIGF1eCBWZXJnZXJzIGRcXCdFc3RpdmFsJyxcclxuICBdLFxyXG4gIGphOiBbXHJcbiAgICAn5pON5L2c5omL6aCG77yaJyxcclxuICAgICfjg4fjg5Djg4PjgrDnlKjjga7jg4bjgq3jgrnjg4jjgafjgZnjgIInLFxyXG4gICAgJ+mdkuiJsuOBruOCquODvOODkOODvOODrOOCpOOCkicsXHJcbiAgICAn44Ot44OD44Kv44GZ44KM44Gw5raI44GI44KL44CCJyxcclxuICAgICfjgrXjg53jg7zjg4jjgZnjgovjgr7jg7zjg7Pjgavjgr/jgqTjg6Djg6njgqTjg7Pjgajjg4jjg6rjgqzjg7zjg4bjgq3jgrnjg4jjgYzooajnpLrjgafjgY3jgovjgIInLFxyXG4gICAgJ+OCteODnuODvOODleOCqeODvOODieW6hOOBqy9jb3VudGRvd27jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgIFyYWlkYm9zc+OCkuODhuOCueODiOOBp+OBjeOCi+OAgicsXHJcbiAgXSxcclxuICBjbjogW1xyXG4gICAgJ+ivt+aMieS7peS4i+atpemqpOaTjeS9nO+8micsXHJcbiAgICAn6L+Z5piv5L6b55So5oi36LCD5pW05oKs5rWu56qX5aSn5bCP55qE6LCD6K+V55So5paH5pysJyxcclxuICAgICflvZPkvaDplIHlrprmraTok53oibLog4zmma/nmoTmgqzmta7nqpcnLFxyXG4gICAgJ+ivpeaWh+acrOWNs+S8mua2iOWkseOAgicsXHJcbiAgICAn5Zyo5pSv5oyB55qE5Yy65Z+f5Lit5Lya6Ieq5Yqo5Yqg6L295pe26Ze06L205ZKM6Kem5Y+R5Zmo44CCJyxcclxuICAgICflj6/lnKjnm5vlpI/lhpzluoTkvb/nlKgvY291bnRkb3du5ZG95Luk5rWL6K+V6K+lcmFpZGJvc3PmqKHlnZfjgIInLFxyXG4gIF0sXHJcbiAga286IFtcclxuICAgICc87KGw7J6RIOyEpOuqhT4nLFxyXG4gICAgJ+2BrOq4sCDsobDsoJXsnYQg7JyE7ZWcIOuUlOuyhOq3uCDssL3snoXri4jri6QnLFxyXG4gICAgJ+2MjOuegCDrsLDqsr3qs7wg7J20IO2FjeyKpO2KuOuKlCcsXHJcbiAgICAn7Jik67KE66CI7J2066W8IOychOy5mOyeoOq4iO2VmOuptCDsgqzrnbzsp5Hri4jri6QnLFxyXG4gICAgJ+yngOybkOuQmOuKlCDqtazsl63sl5DshJwg7YOA7J6E65287J246rO8IO2KuOumrOqxsOqwgCDtkZzsi5zrkKnri4jri6QnLFxyXG4gICAgJ+yXrOumhOyXrOyauCDrho3snqXsl5DshJwg7LSI7J296riw66W8IOyLpO2Wie2VmOyXrCDthYzsiqTtirgg7ZW067O8IOyImCDsnojsirXri4jri6QnLFxyXG4gIF0sXHJcbn07XHJcblxyXG4vLyBCZWNhdXNlIGFwcGFyZW50bHkgcGVvcGxlIGRvbid0IHVuZGVyc3RhbmQgdXBwZXJjYXNlIGdyZWVrIGxldHRlcnMsXHJcbi8vIGFkZCBhIHNwZWNpYWwgY2FzZSB0byBub3QgdXBwZXJjYXNlIHRoZW0uXHJcbmNvbnN0IHRyaWdnZXJVcHBlckNhc2UgPSAoc3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiBzdHIucmVwbGFjZSgvW17Osc6yzrPOtF0vZywgKHgpID0+IHgudG9VcHBlckNhc2UoKSk7XHJcbn07XHJcblxyXG4vLyBEaXNhYmxlIG5vLWV4cGxpY2l0LWFueSBkdWUgdG8gY2F0Y2ggY2xhdXNlcyByZXF1aXJpbmcgYW55XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbmNvbnN0IG9uVHJpZ2dlckV4Y2VwdGlvbiA9ICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLCBlOiBhbnkpID0+IHtcclxuICAvLyBXaGVuIGEgZmlnaHQgZW5kcyBhbmQgdGhlcmUgYXJlIG9wZW4gcHJvbWlzZXMsIGZyb20gZGVsYXlTZWNvbmRzIG9yIHByb21pc2UgaXRzZWxmLFxyXG4gIC8vIGFsbCBwcm9taXNlcyB3aWxsIGJlIHJlamVjdGVkLiAgSW4gdGhpcyBjYXNlIHRoZXJlIGlzIG5vIGVycm9yOyBzaW1wbHkgcmV0dXJuIHdpdGhvdXQgbG9nZ2luZy5cclxuICBpZiAoIWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBzdHIgPSAnRXJyb3IgaW4gdHJpZ2dlcjogJyArICh0cmlnZ2VyLmlkID8gdHJpZ2dlci5pZCA6ICdbdW5rbm93biB0cmlnZ2VyIGlkXScpO1xyXG5cclxuICBpZiAodHJpZ2dlci5maWxlbmFtZSlcclxuICAgIHN0ciArPSAnICgnICsgdHJpZ2dlci5maWxlbmFtZSArICcpJztcclxuICBjb25zb2xlLmVycm9yKHN0cik7XHJcblxyXG4gIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgIGNvbnN0IGxpbmVzID0gZS5zdGFjaz8uc3BsaXQoJ1xcbicpID8/IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSlcclxuICAgICAgY29uc29sZS5lcnJvcihsaW5lc1tpXSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3Qgc291bmRzID0gWydBbGFybScsICdBbGVydCcsICdJbmZvJywgJ0xvbmcnLCAnUHVsbCddIGFzIGNvbnN0O1xyXG5jb25zdCBzb3VuZFN0cnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gc291bmRzO1xyXG5cclxudHlwZSBTb3VuZCA9IHR5cGVvZiBzb3VuZHNbbnVtYmVyXTtcclxudHlwZSBTb3VuZFR5cGUgPSBgJHtTb3VuZH1Tb3VuZGA7XHJcbnR5cGUgU291bmRUeXBlVm9sdW1lID0gYCR7U291bmRUeXBlfVZvbHVtZWA7XHJcblxyXG5jb25zdCB0ZXh0cyA9IFsnaW5mbycsICdhbGVydCcsICdhbGFybSddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgVGV4dCA9IHR5cGVvZiB0ZXh0c1tudW1iZXJdO1xyXG50eXBlIFRleHRVcHBlciA9IGAke0NhcGl0YWxpemU8VGV4dD59YDtcclxuZXhwb3J0IHR5cGUgVGV4dFRleHQgPSBgJHtUZXh0fVRleHRgO1xyXG50eXBlIFRleHRVcHBlclRleHQgPSBgJHtUZXh0VXBwZXJ9VGV4dGA7XHJcblxyXG50eXBlIFRleHRNYXAgPSB7XHJcbiAgW3RleHQgaW4gVGV4dF06IHtcclxuICAgIHRleHQ6IFRleHRUZXh0O1xyXG4gICAgdXBwZXJUZXh0OiBUZXh0VXBwZXJUZXh0O1xyXG4gICAgdXBwZXJTb3VuZDogU291bmRUeXBlO1xyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogU291bmRUeXBlVm9sdW1lO1xyXG4gICAgcnVtYmxlRHVyYXRpb246IGAke1RleHRVcHBlcn1SdW1ibGVEdXJhdGlvbmA7XHJcbiAgICBydW1ibGVXZWFrOiBgJHtUZXh0VXBwZXJ9UnVtYmxlV2Vha2A7XHJcbiAgICBydW1ibGVTdHJvbmc6IGAke1RleHRVcHBlcn1SdW1ibGVTdHJvbmdgO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHRleHRNYXA6IFRleHRNYXAgPSB7XHJcbiAgaW5mbzoge1xyXG4gICAgdGV4dDogJ2luZm9UZXh0JyxcclxuICAgIHVwcGVyVGV4dDogJ0luZm9UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdJbmZvU291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICBydW1ibGVEdXJhdGlvbjogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnSW5mb1J1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnSW5mb1J1bWJsZVN0cm9uZycsXHJcbiAgfSxcclxuICBhbGVydDoge1xyXG4gICAgdGV4dDogJ2FsZXJ0VGV4dCcsXHJcbiAgICB1cHBlclRleHQ6ICdBbGVydFRleHQnLFxyXG4gICAgdXBwZXJTb3VuZDogJ0FsZXJ0U291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgcnVtYmxlRHVyYXRpb246ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgIHJ1bWJsZVdlYWs6ICdBbGVydFJ1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnQWxlcnRSdW1ibGVTdHJvbmcnLFxyXG4gIH0sXHJcbiAgYWxhcm06IHtcclxuICAgIHRleHQ6ICdhbGFybVRleHQnLFxyXG4gICAgdXBwZXJUZXh0OiAnQWxhcm1UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdBbGFybVNvdW5kJyxcclxuICAgIHVwcGVyU291bmRWb2x1bWU6ICdBbGFybVNvdW5kVm9sdW1lJyxcclxuICAgIHJ1bWJsZUR1cmF0aW9uOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnQWxhcm1SdW1ibGVXZWFrJyxcclxuICAgIHJ1bWJsZVN0cm9uZzogJ0FsYXJtUnVtYmxlU3Ryb25nJyxcclxuICB9LFxyXG59O1xyXG5cclxuLy8gSGVscGVyIGZvciBoYW5kbGluZyB0cmlnZ2VyIG92ZXJyaWRlcy5cclxuLy9cclxuLy8gYXNMaXN0IHdpbGwgcmV0dXJuIGEgbGlzdCBvZiB0cmlnZ2VycyBpbiB0aGUgc2FtZSBvcmRlciBhcyBhcHBlbmQgd2FzIGNhbGxlZCwgZXhjZXB0OlxyXG4vLyBJZiBhIGxhdGVyIHRyaWdnZXIgaGFzIHRoZSBzYW1lIGlkIGFzIGEgcHJldmlvdXMgdHJpZ2dlciwgaXQgd2lsbCByZXBsYWNlIHRoZSBwcmV2aW91cyB0cmlnZ2VyXHJcbi8vIGFuZCBhcHBlYXIgaW4gdGhlIHNhbWUgb3JkZXIgdGhhdCB0aGUgcHJldmlvdXMgdHJpZ2dlciBhcHBlYXJlZC5cclxuLy8gZS5nLiBhLCBiMSwgYywgYjIgKHdoZXJlIGIxIGFuZCBiMiBzaGFyZSB0aGUgc2FtZSBpZCkgeWllbGRzIFthLCBiMiwgY10gYXMgdGhlIGZpbmFsIGxpc3QuXHJcbi8vXHJcbi8vIEphdmFTY3JpcHQgZGljdGlvbmFyaWVzIGFyZSAqYWxtb3N0KiBvcmRlcmVkIGF1dG9tYXRpY2FsbHkgYXMgd2Ugd291bGQgd2FudCxcclxuLy8gYnV0IHdhbnQgdG8gaGFuZGxlIG1pc3NpbmcgaWRzIGFuZCBpbnRlZ2VyIGlkcyAoeW91IHNob3VsZG4ndCwgYnV0IGp1c3QgaW4gY2FzZSkuXHJcbmNsYXNzIE9yZGVyZWRUcmlnZ2VyTGlzdCB7XHJcbiAgdHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIGlkVG9JbmRleDogeyBbaWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG4gIHB1c2godHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcikge1xyXG4gICAgY29uc3QgaWR4ID0gdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkID8gdGhpcy5pZFRvSW5kZXhbdHJpZ2dlci5pZF0gOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoaWR4ICE9PSB1bmRlZmluZWQgJiYgdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG9sZFRyaWdnZXIgPSB0aGlzLnRyaWdnZXJzW2lkeF07XHJcblxyXG4gICAgICBpZiAob2xkVHJpZ2dlciA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIC8vIFRPRE86IGJlIHZlcmJvc2Ugbm93IHdoaWxlIHRoaXMgaXMgZnJlc2gsIGJ1dCBoaWRlIHRoaXMgb3V0cHV0IGJlaGluZCBkZWJ1ZyBmbGFncyBsYXRlci5cclxuICAgICAgY29uc3QgdHJpZ2dlckZpbGUgPVxyXG4gICAgICAgICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyKSA9PiB0cmlnZ2VyLmZpbGVuYW1lID8gYCcke3RyaWdnZXIuZmlsZW5hbWV9J2AgOiAndXNlciBvdmVycmlkZSc7XHJcbiAgICAgIGNvbnN0IG9sZEZpbGUgPSB0cmlnZ2VyRmlsZShvbGRUcmlnZ2VyKTtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHRyaWdnZXJGaWxlKHRyaWdnZXIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhgT3ZlcnJpZGluZyAnJHt0cmlnZ2VyLmlkfScgZnJvbSAke29sZEZpbGV9IHdpdGggJHtuZXdGaWxlfS5gKTtcclxuXHJcbiAgICAgIHRoaXMudHJpZ2dlcnNbaWR4XSA9IHRyaWdnZXI7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBOb3JtYWwgY2FzZSBvZiBhIG5ldyB0cmlnZ2VyLCB3aXRoIG5vIG92ZXJyaWRpbmcuXHJcbiAgICBpZiAodHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLmlkVG9JbmRleFt0cmlnZ2VyLmlkXSA9IHRoaXMudHJpZ2dlcnMubGVuZ3RoO1xyXG4gICAgdGhpcy50cmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gIH1cclxuXHJcbiAgYXNMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlcnM7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBpc09iamVjdCA9ICh4OiB1bmtub3duKTogeCBpcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9PiB4IGluc3RhbmNlb2YgT2JqZWN0O1xyXG5cclxuLy8gVXNlciB0cmlnZ2VyIG1heSBwYXNzIGFueXRoaW5nIGFzIHBhcmFtZXRlcnNcclxudHlwZSBUcmlnZ2VyUGFyYW1zID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcblxyXG5jbGFzcyBUcmlnZ2VyT3V0cHV0UHJveHkge1xyXG4gIHB1YmxpYyBvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzO1xyXG4gIHB1YmxpYyBvdmVycmlkZVN0cmluZ3M6IE91dHB1dFN0cmluZ3MgPSB7fTtcclxuICBwdWJsaWMgcmVzcG9uc2VPdXRwdXRTdHJpbmdzOiB7IFtvdXRwdXROYW1lOiBzdHJpbmddOiB1bmtub3duIH0gPSB7fTtcclxuICBwdWJsaWMgdW5rbm93blZhbHVlID0gJz8/Pyc7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIHB1YmxpYyBkaXNwbGF5TGFuZzogTGFuZyxcclxuICAgIHB1YmxpYyBwZXJUcmlnZ2VyQXV0b0NvbmZpZz86IFBlclRyaWdnZXJBdXRvQ29uZmlnKSB7XHJcbiAgICB0aGlzLm91dHB1dFN0cmluZ3MgPSB0cmlnZ2VyLm91dHB1dFN0cmluZ3MgPz8ge307XHJcblxyXG4gICAgaWYgKHRyaWdnZXIuaWQgJiYgcGVyVHJpZ2dlckF1dG9Db25maWcpIHtcclxuICAgICAgY29uc3QgY29uZmlnID0gcGVyVHJpZ2dlckF1dG9Db25maWdbdHJpZ2dlci5pZF07XHJcbiAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLk91dHB1dFN0cmluZ3MpXHJcbiAgICAgICAgdGhpcy5vdmVycmlkZVN0cmluZ3MgPSBjb25maWcuT3V0cHV0U3RyaW5ncztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcclxuICAgICAgLy8gUmVzcG9uc2Ugb3V0cHV0IHN0cmluZyBzdWJ0bGV0eTpcclxuICAgICAgLy8gVGFrZSB0aGlzIGV4YW1wbGUgcmVzcG9uc2U6XHJcbiAgICAgIC8vXHJcbiAgICAgIC8vICAgIHJlc3BvbnNlOiAoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vICAgICAgcmV0dXJuIHtcclxuICAgICAgLy8gICAgICAgIGFsYXJtVGV4dDogb3V0cHV0LnNvbWVBbGFybSgpLFxyXG4gICAgICAvLyAgICAgICAgb3V0cHV0U3RyaW5nczogeyBzb21lQWxhcm06ICdzdHJpbmcnIH0sIC8vIDwtIGltcG9zc2libGVcclxuICAgICAgLy8gICAgICB9O1xyXG4gICAgICAvLyAgICB9LFxyXG4gICAgICAvL1xyXG4gICAgICAvLyBCZWNhdXNlIHRoZSBvYmplY3QgYmVpbmcgcmV0dXJuZWQgaXMgZXZhbHVhdGVkIGFsbCBhdCBvbmNlLCB0aGUgb2JqZWN0XHJcbiAgICAgIC8vIGNhbm5vdCBzaW11bHRhbmVvdXNseSBkZWZpbmUgb3V0cHV0U3RyaW5ncyBhbmQgdXNlIHRob3NlIG91dHB1dFN0cmluZ3MuXHJcbiAgICAgIC8vIFNvLCBpbnN0ZWFkLCByZXNwb25zZXMgbmVlZCB0byBzZXQgYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3NgLlxyXG4gICAgICAvLyBIT1dFVkVSLCB0aGlzIGFsc28gaGFzIGl0cyBvd24gaXNzdWVzISAgVGhpcyB2YWx1ZSBpcyBzZXQgZm9yIHRoZSB0cmlnZ2VyXHJcbiAgICAgIC8vICh3aGljaCBtYXkgaGF2ZSBtdWx0aXBsZSBhY3RpdmUgaW4gZmxpZ2h0IGluc3RhbmNlcykuICBUaGlzICpzaG91bGQqIGJlXHJcbiAgICAgIC8vIG9rIGJlY2F1c2Ugd2UgZ3VhcmFudGVlIHRoYXQgcmVzcG9uc2UvYWxhcm1UZXh0L2FsZXJ0VGV4dC9pbmZvVGV4dC90dHNcclxuICAgICAgLy8gYXJlIGV2YWx1YXRlZCBzZXF1ZW50aWFsbHkgZm9yIGEgc2luZ2xlIHRyaWdnZXIgYmVmb3JlIGFueSBvdGhlciB0cmlnZ2VyXHJcbiAgICAgIC8vIGluc3RhbmNlIGV2YWx1YXRlcyB0aGF0IHNldCBvZiB0cmlnZ2Vycy4gIEZpbmFsbHksIGZvciBlYXNlIG9mIGF1dG9tYXRpbmdcclxuICAgICAgLy8gdGhlIGNvbmZpZyB1aSwgdGhlIHJlc3BvbnNlIHNob3VsZCByZXR1cm4gdGhlIGV4YWN0IHNhbWUgc2V0IG9mXHJcbiAgICAgIC8vIG91dHB1dFN0cmluZ3MgZXZlcnkgdGltZS4gIFRoYW5rIHlvdSBmb3IgY29taW5nIHRvIG15IFRFRCB0YWxrLlxyXG4gICAgICBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdyZXNwb25zZU91dHB1dFN0cmluZ3MnKSB7XHJcbiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRhcmdldFtwcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHJlc3BvbnNlT3V0cHV0U3RyaW5ncyBvbiB0cmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQmUga2luZCB0byB1c2VyIHRyaWdnZXJzIHRoYXQgZG8gd2VpcmQgdGhpbmdzLCBhbmQganVzdCBjb25zb2xlIGVycm9yIHRoaXNcclxuICAgICAgICAvLyBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGV4Y2VwdGlvbi5cclxuICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHByb3BlcnR5ICcke1N0cmluZyhwcm9wZXJ0eSl9JyBvbiBvdXRwdXQuYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KHRhcmdldCwgbmFtZSkge1xyXG4gICAgICAgIC8vIFRPRE86IGFkZCBhIHRlc3QgdGhhdCB2ZXJpZmllcyBub2JvZHkgZG9lcyB0aGlzLlxyXG4gICAgICAgIGlmIChuYW1lID09PSAndG9KU09OJyB8fCB0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycpXHJcbiAgICAgICAgICByZXR1cm4gJ3t9JztcclxuXHJcbiAgICAgICAgLy8gQmVjYXVzZSBvdXRwdXQuZnVuYygpIG11c3QgZXhpc3QgYXQgdGhlIHRpbWUgb2YgdHJpZ2dlciBldmFsLFxyXG4gICAgICAgIC8vIGFsd2F5cyBwcm92aWRlIGEgZnVuY3Rpb24gZXZlbiBiZWZvcmUgd2Uga25vdyB3aGljaCBrZXlzIGFyZSB2YWxpZC5cclxuICAgICAgICByZXR1cm4gKHBhcmFtczogVHJpZ2dlclBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB0YXJnZXQudHJpZ2dlci5pZCA/PyAnVW5rbm93biBUcmlnZ2VyJztcclxuXHJcbiAgICAgICAgICAvLyBQcmlvcml0eTogcGVyLXRyaWdnZXIgY29uZmlnIGZyb20gdWkgPiByZXNwb25zZSA+IGJ1aWx0LWluIHRyaWdnZXJcclxuICAgICAgICAgIC8vIElkZWFsbHksIHJlc3BvbnNlIHByb3ZpZGVzIGV2ZXJ5dGhpbmcgYW5kIHRyaWdnZXIgcHJvdmlkZXMgbm90aGluZyxcclxuICAgICAgICAgIC8vIG9yIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgYW5kIHRyaWdnZXIgcHJvdmlkZXMgZXZlcnl0aGluZy4gIEhhdmluZ1xyXG4gICAgICAgICAgLy8gdGhpcyB3ZWxsLWRlZmluZWQgc21vb3RocyBvdXQgdGhlIGNvbGxpc2lvbiBlZGdlIGNhc2VzLlxyXG4gICAgICAgICAgbGV0IHN0ciA9IHRhcmdldC5nZXRSZXBsYWNlbWVudCh0YXJnZXQub3ZlcnJpZGVTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZVN0cmluZyA9IHRhcmdldC5yZXNwb25zZU91dHB1dFN0cmluZ3NbbmFtZV07XHJcbiAgICAgICAgICAgIGlmIChpc09iamVjdChyZXNwb25zZVN0cmluZykpXHJcbiAgICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHJlc3BvbnNlU3RyaW5nLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHRhcmdldC5vdXRwdXRTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJyd9IGhhcyBtaXNzaW5nIG91dHB1dFN0cmluZyAke25hbWV9LmApO1xyXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnVua25vd25WYWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHI7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVwbGFjZW1lbnQoXHJcbiAgICAvLyBDYW4ndCB1c2Ugb3B0aW9uYWwgbW9kaWZpZXIgZm9yIHRoaXMgYXJnIHNpbmNlIHRoZSBvdGhlcnMgYXJlbid0IG9wdGlvbmFsXHJcbiAgICB0ZW1wbGF0ZTogeyBbbGFuZzogc3RyaW5nXTogdW5rbm93biB9IHwgc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zOiBUcmlnZ2VyUGFyYW1zLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRlbXBsYXRlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IHZhbHVlOiB1bmtub3duO1xyXG4gICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIC8vIHVzZXIgY29uZmlnXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGVbdGhpcy5kaXNwbGF5TGFuZ10gPz8gdGVtcGxhdGVbJ2VuJ107XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgaW52YWxpZCBvdXRwdXRTdHJpbmcgJHtuYW1lfS5gLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcJHtcXHMqKFtefVxcc10rKVxccyp9L2csIChfZnVsbE1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXMgJiYga2V5IGluIHBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHN0ciA9IHBhcmFtc1trZXldO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHN0cikge1xyXG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgIHJldHVybiBzdHIudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgbm9uLXN0cmluZyBwYXJhbSB2YWx1ZSAke2tleX0uYCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudW5rbm93blZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH0gY2FuJ3QgcmVwbGFjZSAke2tleX0gaW4gJHtKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSl9LmApO1xyXG4gICAgICByZXR1cm4gdGhpcy51bmtub3duVmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYWtlT3V0cHV0KFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIGRpc3BsYXlMYW5nOiBMYW5nLFxyXG4gICAgcGVyVHJpZ2dlckF1dG9Db25maWc/OiBQZXJUcmlnZ2VyQXV0b0NvbmZpZyk6IE91dHB1dCB7XHJcbiAgICAvLyBgT3V0cHV0YCBpcyB0aGUgY29tbW9uIHR5cGUgdXNlZCBmb3IgdGhlIHRyaWdnZXIgZGF0YSBpbnRlcmZhY2UgdG8gc3VwcG9ydCBhcmJpdHJhcnlcclxuICAgIC8vIHN0cmluZyBrZXlzIGFuZCBhbHdheXMgcmV0dXJucyBhIHN0cmluZy4gSG93ZXZlciwgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgZ29vZCBzdXBwb3J0XHJcbiAgICAvLyBmb3IgdGhlIFByb3h5IHJlcHJlc2VudGluZyB0aGlzIHN0cnVjdHVyZSBzbyB3ZSBuZWVkIHRvIGNhc3QgUHJveHkgPT4gdW5rbm93biA9PiBPdXRwdXRcclxuICAgIHJldHVybiBuZXcgVHJpZ2dlck91dHB1dFByb3h5KHRyaWdnZXIsIGRpc3BsYXlMYW5nLFxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZykgYXMgdW5rbm93biBhcyBPdXRwdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSYWlkYm9zc1RyaWdnZXJGaWVsZCA9XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+PiB8XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPj47XHJcbmV4cG9ydCB0eXBlIFJhaWRib3NzVHJpZ2dlck91dHB1dCA9IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPiB8XHJcbiAgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuXHJcbmNvbnN0IGRlZmF1bHRPdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh7fSwgJ2VuJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJIZWxwZXIge1xyXG4gIHZhbHVlT3JGdW5jdGlvbjogKGY6IFJhaWRib3NzVHJpZ2dlckZpZWxkKSA9PiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQ7XHJcbiAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcjtcclxuICBub3c6IG51bWJlcjtcclxuICB0cmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbjtcclxuICB0cmlnZ2VyQXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWc7XHJcbiAgLy8gVGhpcyBzZXR0aW5nIG9ubHkgc3VwcHJlc3NlcyBvdXRwdXQsIHRyaWdnZXIgc3RpbGwgcnVucyBmb3IgZGF0YS9sb2dpYyBwdXJwb3Nlc1xyXG4gIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBib29sZWFuO1xyXG4gIG1hdGNoZXM6IE1hdGNoZXM7XHJcbiAgcmVzcG9uc2U/OiBSZXNwb25zZU91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIC8vIERlZmF1bHQgb3B0aW9uc1xyXG4gIHNvdW5kVXJsPzogc3RyaW5nO1xyXG4gIHNvdW5kVm9sPzogbnVtYmVyO1xyXG4gIHRyaWdnZXJTb3VuZFZvbD86IG51bWJlcjtcclxuICBkZWZhdWx0VFRTVGV4dD86IHN0cmluZztcclxuICB0ZXh0QWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBzb3VuZEFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc3Bva2VuQWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgZHVyYXRpb24/OiB7XHJcbiAgICBmcm9tQ29uZmlnPzogbnVtYmVyO1xyXG4gICAgZnJvbVRyaWdnZXI/OiBudW1iZXI7XHJcbiAgICBhbGFybVRleHQ6IG51bWJlcjtcclxuICAgIGFsZXJ0VGV4dDogbnVtYmVyO1xyXG4gICAgaW5mb1RleHQ6IG51bWJlcjtcclxuICB9O1xyXG4gIHR0c1RleHQ/OiBzdHJpbmc7XHJcbiAgcnVtYmxlRHVyYXRpb25Ncz86IG51bWJlcjtcclxuICBydW1ibGVXZWFrPzogbnVtYmVyO1xyXG4gIHJ1bWJsZVN0cm9uZz86IG51bWJlcjtcclxuICBvdXRwdXQ6IE91dHB1dDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBvcHVwVGV4dCB7XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJzOiBQcm9jZXNzZWRUcmlnZ2VyW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgbmV0VHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB0aW1lcnM6IHsgW3RyaWdnZXJJZDogbnVtYmVyXTogYm9vbGVhbiB9ID0ge307XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJTdXBwcmVzczogeyBbdHJpZ2dlcklkOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCBjdXJyZW50VHJpZ2dlcklEID0gMDtcclxuICBwcm90ZWN0ZWQgaW5Db21iYXQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgcmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG4gIC8vIFRoZXNlIGFyZSBkZWxpYmVyYXRlbHkgYHwgbnVsbGAgZm9yIHJhaWRlbXVsYXRvciBleHRlbmRhYmlsaXR5IHJlYXNvbnNcclxuICBwcm90ZWN0ZWQgaW5mb1RleHQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBwcm90ZWN0ZWQgYWxlcnRUZXh0OiBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgcHJvdGVjdGVkIGFsYXJtVGV4dDogSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gIHByb3RlY3RlZCBwYXJzZXJMYW5nOiBMYW5nO1xyXG4gIHByb3RlY3RlZCBkaXNwbGF5TGFuZzogTGFuZztcclxuICBwcm90ZWN0ZWQgdHRzRW5naW5lPzogQnJvd3NlclRUU0VuZ2luZTtcclxuICBwcm90ZWN0ZWQgdHRzU2F5OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIHByb3RlY3RlZCBwYXJ0eVRyYWNrZXIgPSBuZXcgUGFydHlUcmFja2VyKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGtNYXhSb3dzT2ZUZXh0ID0gMjtcclxuICBwcm90ZWN0ZWQgZGF0YTogUmFpZGJvc3NEYXRhO1xyXG4gIHByb3RlY3RlZCBtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCBqb2I6IEpvYiA9ICdOT05FJztcclxuICBwcm90ZWN0ZWQgcm9sZTogUm9sZSA9ICdub25lJztcclxuICBwcm90ZWN0ZWQgdHJpZ2dlclNldHM6IFByb2Nlc3NlZFRyaWdnZXJTZXRbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB6b25lTmFtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCB6b25lSWQgPSAtMTtcclxuICBwcm90ZWN0ZWQgZGF0YUluaXRpYWxpemVyczoge1xyXG4gICAgZmlsZTogc3RyaW5nO1xyXG4gICAgZnVuYzogRGF0YUluaXRpYWxpemVGdW5jPFJhaWRib3NzRGF0YT47XHJcbiAgfVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB0aW1lbGluZUxvYWRlcjogVGltZWxpbmVMb2FkZXIsXHJcbiAgICBwcm90ZWN0ZWQgcmFpZGJvc3NEYXRhRmlsZXM6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyID0gdGltZWxpbmVMb2FkZXI7XHJcbiAgICB0aGlzLlByb2Nlc3NEYXRhRmlsZXMocmFpZGJvc3NEYXRhRmlsZXMpO1xyXG5cclxuICAgIHRoaXMuaW5mb1RleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtdGV4dC1pbmZvJyk7XHJcbiAgICB0aGlzLmFsZXJ0VGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsZXJ0Jyk7XHJcbiAgICB0aGlzLmFsYXJtVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsYXJtJyk7XHJcblxyXG4gICAgdGhpcy5wYXJzZXJMYW5nID0gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcbiAgICB0aGlzLmRpc3BsYXlMYW5nID0gdGhpcy5vcHRpb25zLkFsZXJ0c0xhbmd1YWdlID8/IHRoaXMub3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPz8gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5Jc1JlbW90ZVJhaWRib3NzKSB7XHJcbiAgICAgIHRoaXMudHRzRW5naW5lID0gbmV3IEJyb3dzZXJUVFNFbmdpbmUodGhpcy5kaXNwbGF5TGFuZyk7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLnR0c0VuZ2luZT8ucGxheSh0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpKTtcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7XHJcbiAgICAgICAgICBjYWxsOiAnY2FjdGJvdFNheScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZ2V0RGF0YU9iamVjdCgpO1xyXG5cclxuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHVzZXIgaW50ZXJhY3Rpb24gdG8gcGxheSBhdWRpb1xyXG4gICAgLy8gb25seSBpZiBhdWRpbyBpcyBlbmFibGVkIGluIG9wdGlvbnNcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuQXVkaW9BbGxvd2VkKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5DaGVja0FuZFByb21wdCgpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuICAgIHRoaXMuQWRkRGVidWdJbnN0cnVjdGlvbnMoKTtcclxuICAgIHRoaXMuSG9va092ZXJsYXlzKCk7XHJcbiAgfVxyXG5cclxuICBBZGREZWJ1Z0luc3RydWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHJhaWRib3NzSW5zdHJ1Y3Rpb25zW3RoaXMuZGlzcGxheUxhbmddLmZvckVhY2goKGxpbmUsIGkpID0+IHtcclxuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpbnN0cnVjdGlvbnMtJHtpfWApO1xyXG4gICAgICBpZiAoIWVsZW0pXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBlbGVtLmlubmVySFRNTCA9IGxpbmU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEhvb2tPdmVybGF5cygpOiB2b2lkIHtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5wYXJ0eVRyYWNrZXIub25QYXJ0eUNoYW5nZWQoZSk7XHJcbiAgICB9KTtcclxuICAgIGFkZFBsYXllckNoYW5nZWRPdmVycmlkZUxpc3RlbmVyKChlOiBQbGF5ZXJDaGFuZ2VkRGV0YWlsKSA9PiB7XHJcbiAgICAgIHRoaXMuT25QbGF5ZXJDaGFuZ2UoZSk7XHJcbiAgICB9LCB0aGlzLm9wdGlvbnMuUGxheWVyTmFtZU92ZXJyaWRlKTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignQ2hhbmdlWm9uZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuT25DaGFuZ2Vab25lKGUpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uSW5Db21iYXRDaGFuZ2VkRXZlbnQnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLk9uSW5Db21iYXRDaGFuZ2UoZS5kZXRhaWwuaW5HYW1lQ29tYmF0KTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvbkxvZ0V2ZW50JywgKGUpID0+IHtcclxuICAgICAgdGhpcy5PbkxvZyhlKTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdMb2dMaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5Pbk5ldExvZyhlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgT25QbGF5ZXJDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuam9iICE9PSBlLmRldGFpbC5qb2IgfHwgdGhpcy5tZSAhPT0gZS5kZXRhaWwubmFtZSlcclxuICAgICAgdGhpcy5PbkpvYkNoYW5nZShlKTtcclxuICAgIHRoaXMuZGF0YS5jdXJyZW50SFAgPSBlLmRldGFpbC5jdXJyZW50SFA7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzRGF0YUZpbGVzKGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyaWdnZXJTZXRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwganNvbl0gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy5qcycpICYmICFmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBpZiAodHlwZW9mIGpzb24gIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGFuIGFycmF5Jyk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFqc29uLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGEgdHJpZ2dlcnMnKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIGpzb24udHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8ICEoanNvbi50cmlnZ2Vycy5sZW5ndGggPj0gMCkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5leHBlY3RlZCBKU09OIGZyb20gJyArIGZpbGVuYW1lICsgJywgZXhwZWN0ZWQgdHJpZ2dlcnMgdG8gYmUgYW4gYXJyYXknKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwcm9jZXNzZWRTZXQgPSB7XHJcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lLFxyXG4gICAgICAgIC4uLmpzb24sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudHJpZ2dlclNldHMucHVzaChwcm9jZXNzZWRTZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZXIgdHJpZ2dlcnMgbXVzdCBjb21lIGxhc3Qgc28gdGhhdCB0aGV5IG92ZXJyaWRlIGJ1aWx0LWluIGZpbGVzLlxyXG4gICAgdGhpcy50cmlnZ2VyU2V0cy5wdXNoKC4uLnRoaXMub3B0aW9ucy5UcmlnZ2Vycyk7XHJcbiAgfVxyXG5cclxuICBPbkNoYW5nZVpvbmUoZTogRXZlbnRSZXNwb25zZXNbJ0NoYW5nZVpvbmUnXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuem9uZU5hbWUgIT09IGUuem9uZU5hbWUpIHtcclxuICAgICAgdGhpcy56b25lTmFtZSA9IGUuem9uZU5hbWU7XHJcbiAgICAgIHRoaXMuem9uZUlkID0gZS56b25lSUQ7XHJcbiAgICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBSZWxvYWRUaW1lbGluZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudHJpZ2dlclNldHMgfHwgIXRoaXMubWUgfHwgIXRoaXMuem9uZU5hbWUgfHwgIXRoaXMudGltZWxpbmVMb2FkZXIuSXNSZWFkeSgpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gRHJvcCB0aGUgdHJpZ2dlcnMgYW5kIHRpbWVsaW5lcyBmcm9tIHRoZSBwcmV2aW91cyB6b25lLCBzbyB3ZSBjYW4gYWRkIG5ldyBvbmVzLlxyXG4gICAgdGhpcy50cmlnZ2VycyA9IFtdO1xyXG4gICAgdGhpcy5uZXRUcmlnZ2VycyA9IFtdO1xyXG4gICAgbGV0IHRpbWVsaW5lRmlsZXMgPSBbXTtcclxuICAgIGxldCB0aW1lbGluZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSA9IFtdO1xyXG4gICAgY29uc3QgdGltZWxpbmVTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IG9yZGVyZWRUcmlnZ2VycyA9IG5ldyBPcmRlcmVkVHJpZ2dlckxpc3QoKTtcclxuXHJcbiAgICAvLyBTb21lIHVzZXIgdGltZWxpbmVzIG1heSByZWx5IG9uIGhhdmluZyB2YWxpZCBpbml0IGRhdGFcclxuICAgIC8vIERvbid0IHVzZSBgdGhpcy5SZXNldCgpYCBzaW5jZSB0aGF0IGNsZWFycyBvdGhlciB0aGluZ3MgYXMgd2VsbFxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5nZXREYXRhT2JqZWN0KCk7XHJcblxyXG4gICAgLy8gUmVjdXJzaXZlbHkvaXRlcmF0aXZlbHkgcHJvY2VzcyB0aW1lbGluZSBlbnRyaWVzIGZvciB0cmlnZ2Vycy5cclxuICAgIC8vIEZ1bmN0aW9ucyBnZXQgY2FsbGVkIHdpdGggZGF0YSwgYXJyYXlzIGdldCBpdGVyYXRlZCwgc3RyaW5ncyBnZXQgYXBwZW5kZWQuXHJcbiAgICBjb25zdCBhZGRUaW1lbGluZSA9IChmdW5jdGlvbih0aGlzOiBQb3B1cFRleHQsIG9iajogVGltZWxpbmVGaWVsZCB8IFRpbWVsaW5lRnVuYyB8IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgYWRkVGltZWxpbmUob2JqKHRoaXMuZGF0YSkpO1xyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRpbWVsaW5lcy5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pLmJpbmQodGhpcyk7XHJcblxyXG4gICAgLy8gY29uc3RydWN0IHNvbWV0aGluZyBsaWtlIHJlZ2V4RGUgb3IgcmVnZXhGci5cclxuICAgIGNvbnN0IGxhbmdTdWZmaXggPSB0aGlzLnBhcnNlckxhbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLnBhcnNlckxhbmcuc2xpY2UoMSk7XHJcbiAgICBjb25zdCByZWdleFBhcnNlckxhbmcgPSAncmVnZXgnICsgbGFuZ1N1ZmZpeDtcclxuICAgIGNvbnN0IG5ldFJlZ2V4UGFyc2VyTGFuZyA9ICduZXRSZWdleCcgKyBsYW5nU3VmZml4O1xyXG5cclxuICAgIGZvciAoY29uc3Qgc2V0IG9mIHRoaXMudHJpZ2dlclNldHMpIHtcclxuICAgICAgLy8gem9uZVJlZ2V4IGNhbiBiZSB1bmRlZmluZWQsIGEgcmVnZXgsIG9yIHRyYW5zbGF0YWJsZSBvYmplY3Qgb2YgcmVnZXguXHJcbiAgICAgIGNvbnN0IGhhdmVab25lUmVnZXggPSAnem9uZVJlZ2V4JyBpbiBzZXQ7XHJcbiAgICAgIGNvbnN0IGhhdmVab25lSWQgPSAnem9uZUlkJyBpbiBzZXQ7XHJcbiAgICAgIGlmICghaGF2ZVpvbmVSZWdleCAmJiAhaGF2ZVpvbmVJZCB8fCBoYXZlWm9uZVJlZ2V4ICYmIGhhdmVab25lSWQpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyIHNldCBtdXN0IGluY2x1ZGUgZXhhY3RseSBvbmUgb2Ygem9uZVJlZ2V4IG9yIHpvbmVJZCBwcm9wZXJ0eWApO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChoYXZlWm9uZUlkICYmIHNldC56b25lSWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gc2V0LmZpbGVuYW1lID8gYCcke3NldC5maWxlbmFtZX0nYCA6ICcodXNlciBmaWxlKSc7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciBzZXQgaGFzIHpvbmVJZCwgYnV0IHdpdGggbm90aGluZyBzcGVjaWZpZWQgaW4gJHtmaWxlbmFtZX0uICBgICtcclxuICAgICAgICAgICAgICAgICAgICAgIGBEaWQgeW91IG1pc3NwZWxsIHRoZSBab25lSWQuWm9uZU5hbWU/YCk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQuem9uZUlkKSB7XHJcbiAgICAgICAgaWYgKHNldC56b25lSWQgIT09IFpvbmVJZC5NYXRjaEFsbCAmJiBzZXQuem9uZUlkICE9PSB0aGlzLnpvbmVJZCAmJiAhKHR5cGVvZiBzZXQuem9uZUlkID09PSAnb2JqZWN0JyAmJiBzZXQuem9uZUlkLmluY2x1ZGVzKHRoaXMuem9uZUlkKSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmIChzZXQuem9uZVJlZ2V4KSB7XHJcbiAgICAgICAgbGV0IHpvbmVSZWdleCA9IHNldC56b25lUmVnZXg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB6b25lUmVnZXggIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCd6b25lUmVnZXggbXVzdCBiZSB0cmFuc2xhdGFibGUgb2JqZWN0IG9yIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZXJMYW5nUmVnZXggPSB6b25lUmVnZXhbdGhpcy5wYXJzZXJMYW5nXTtcclxuICAgICAgICAgIGlmIChwYXJzZXJMYW5nUmVnZXgpIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gcGFyc2VyTGFuZ1JlZ2V4O1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh6b25lUmVnZXhbJ2VuJ10pIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gem9uZVJlZ2V4WydlbiddO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biB6b25lUmVnZXggcGFyc2VyIGxhbmd1YWdlOiAnICsgSlNPTi5zdHJpbmdpZnkoc2V0LnpvbmVSZWdleCkpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3pvbmVSZWdleCBtdXN0IGJlIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnpvbmVOYW1lLnNlYXJjaChSZWdleGVzLnBhcnNlKHpvbmVSZWdleCkpIDwgMClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLkRlYnVnKSB7XHJcbiAgICAgICAgaWYgKHNldC5maWxlbmFtZSlcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nICcgKyBzZXQuZmlsZW5hbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nIHVzZXIgdHJpZ2dlcnMgZm9yIHpvbmUnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgc2V0RmlsZW5hbWUgPSBzZXQuZmlsZW5hbWUgPz8gJ1Vua25vd24nO1xyXG5cclxuICAgICAgaWYgKHNldC5pbml0RGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YUluaXRpYWxpemVycy5wdXNoKHtcclxuICAgICAgICAgIGZpbGU6IHNldEZpbGVuYW1lLFxyXG4gICAgICAgICAgZnVuYzogc2V0LmluaXREYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGp1c3QgdHJpZ2dlcnMgZm9yIHRoZSBwYXJzZXIgbGFuZ3VhZ2UuXHJcbiAgICAgIGlmIChzZXQudHJpZ2dlcnMgJiYgdGhpcy5vcHRpb25zLkFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2Ygc2V0LnRyaWdnZXJzKSB7XHJcbiAgICAgICAgICAvLyBBZGQgYW4gYWRkaXRpb25hbCByZXNvbHZlZCByZWdleCBoZXJlIHRvIHNhdmVcclxuICAgICAgICAgIC8vIHRpbWUgbGF0ZXIuICBUaGlzIHdpbGwgY2xvYmJlciBlYWNoIHRpbWUgd2VcclxuICAgICAgICAgIC8vIGxvYWQgdGhpcywgYnV0IHRoYXQncyBvay5cclxuICAgICAgICAgIHRyaWdnZXIuZmlsZW5hbWUgPSBzZXRGaWxlbmFtZTtcclxuICAgICAgICAgIGNvbnN0IGlkID0gdHJpZ2dlci5pZDtcclxuXHJcbiAgICAgICAgICBpZiAoIWlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpICYmICFpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBoYXMgbm8gcmVnZXggcHJvcGVydHkgc3BlY2lmaWVkYCk7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuUHJvY2Vzc1RyaWdnZXIodHJpZ2dlcik7XHJcblxyXG4gICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgdHJpZ2dlck9iamVjdDogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB0cmlnZ2VyO1xyXG5cclxuICAgICAgICAgIC8vIHBhcnNlci1sYW5ndWFnZS1iYXNlZCByZWdleCB0YWtlcyBwcmVjZWRlbmNlLlxyXG4gICAgICAgICAgaWYgKGlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gdHJpZ2dlck9iamVjdFtyZWdleFBhcnNlckxhbmddID8/IHRyaWdnZXIucmVnZXg7XHJcbiAgICAgICAgICAgIGlmIChyZWdleCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAgIHRyaWdnZXIubG9jYWxSZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXgpO1xyXG4gICAgICAgICAgICAgIG9yZGVyZWRUcmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXRSZWdleCA9IHRyaWdnZXJPYmplY3RbbmV0UmVnZXhQYXJzZXJMYW5nXSA/PyB0cmlnZ2VyLm5ldFJlZ2V4O1xyXG4gICAgICAgICAgICBpZiAobmV0UmVnZXggaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgICB0cmlnZ2VyLmxvY2FsTmV0UmVnZXggPSBSZWdleGVzLnBhcnNlKG5ldFJlZ2V4KTtcclxuICAgICAgICAgICAgICBvcmRlcmVkVHJpZ2dlcnMucHVzaCh0cmlnZ2VyKTtcclxuICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RyaWdnZXIgJyArIHRyaWdnZXIuaWQgKyAnOiBtaXNzaW5nIHJlZ2V4IGFuZCBuZXRSZWdleCcpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQub3ZlcnJpZGVUaW1lbGluZUZpbGUpIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHNldC5maWxlbmFtZSA/IGAnJHtzZXQuZmlsZW5hbWV9J2AgOiAnKHVzZXIgZmlsZSknO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBPdmVycmlkaW5nIHRpbWVsaW5lIGZyb20gJHtmaWxlbmFtZX0uYCk7XHJcblxyXG4gICAgICAgIC8vIElmIHRoZSB0aW1lbGluZSBmaWxlIG92ZXJyaWRlIGlzIHNldCwgYWxsIHByZXZpb3VzbHkgbG9hZGVkIHRpbWVsaW5lIGluZm8gaXMgZHJvcHBlZC5cclxuICAgICAgICAvLyBTdHlsZXMsIHRyaWdnZXJzLCBhbmQgdHJhbnNsYXRpb25zIGFyZSBrZXB0LCBhcyB0aGV5IG1heSBzdGlsbCBhcHBseSB0byB0aGUgbmV3IG9uZS5cclxuICAgICAgICB0aW1lbGluZUZpbGVzID0gW107XHJcbiAgICAgICAgdGltZWxpbmVzID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFuZCBzZXQgdGhlIHRpbWVsaW5lIGZpbGVzL3RpbWVsaW5lcyBmcm9tIGVhY2ggc2V0IHRoYXQgbWF0Y2hlcy5cclxuICAgICAgaWYgKHNldC50aW1lbGluZUZpbGUpIHtcclxuICAgICAgICBpZiAoc2V0LmZpbGVuYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkaXIgPSBzZXQuZmlsZW5hbWUuc3Vic3RyaW5nKDAsIHNldC5maWxlbmFtZS5sYXN0SW5kZXhPZignLycpKTtcclxuICAgICAgICAgIHRpbWVsaW5lRmlsZXMucHVzaChkaXIgKyAnLycgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gTm90ZTogRm9yIHVzZXIgZmlsZXMsIHRoaXMgc2hvdWxkIGdldCBoYW5kbGVkIGJ5IHJhaWRib3NzX2NvbmZpZy5qcyxcclxuICAgICAgICAgIC8vIHdoZXJlIGB0aW1lbGluZUZpbGVgIHNob3VsZCBnZXQgY29udmVydGVkIHRvIGB0aW1lbGluZWAuXHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5cXCd0IHNwZWNpZnkgdGltZWxpbmVGaWxlIGluIG5vbi1tYW5pZmVzdCBmaWxlOicgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQudGltZWxpbmUpXHJcbiAgICAgICAgYWRkVGltZWxpbmUoc2V0LnRpbWVsaW5lKTtcclxuICAgICAgaWYgKHNldC50aW1lbGluZVJlcGxhY2UpXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goLi4uc2V0LnRpbWVsaW5lUmVwbGFjZSk7XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgICAgdGhpcy5Qcm9jZXNzVHJpZ2dlcih0cmlnZ2VyKTtcclxuICAgICAgICAgIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXIgPSB0cnVlO1xyXG4gICAgICAgICAgb3JkZXJlZFRyaWdnZXJzLnB1c2godHJpZ2dlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVTdHlsZXMpXHJcbiAgICAgICAgdGltZWxpbmVTdHlsZXMucHVzaCguLi5zZXQudGltZWxpbmVTdHlsZXMpO1xyXG4gICAgICBpZiAoc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdCAmJj0gc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3JlIGFsbCB0aGUgY29sbGVjdGVkIHRyaWdnZXJzIGluIG9yZGVyLCBhbmQgZmlsdGVyIG91dCBkaXNhYmxlZCB0cmlnZ2Vycy5cclxuICAgIGNvbnN0IGZpbHRlckVuYWJsZWQgPSAodHJpZ2dlcjogTG9vc2VUcmlnZ2VyKSA9PiAhKCdkaXNhYmxlZCcgaW4gdHJpZ2dlciAmJiB0cmlnZ2VyLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IGFsbFRyaWdnZXJzID0gb3JkZXJlZFRyaWdnZXJzLmFzTGlzdCgpLmZpbHRlcihmaWx0ZXJFbmFibGVkKTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJzID0gYWxsVHJpZ2dlcnMuZmlsdGVyKGlzUmVnZXhUcmlnZ2VyKTtcclxuICAgIHRoaXMubmV0VHJpZ2dlcnMgPSBhbGxUcmlnZ2Vycy5maWx0ZXIoaXNOZXRSZWdleFRyaWdnZXIpO1xyXG4gICAgY29uc3QgdGltZWxpbmVUcmlnZ2VycyA9IGFsbFRyaWdnZXJzLmZpbHRlcihpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyLlNldFRpbWVsaW5lcyhcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRpbWVsaW5lVHJpZ2dlcnMsXHJcbiAgICAgIHRpbWVsaW5lU3R5bGVzLFxyXG4gICAgICB0aGlzLnpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzVHJpZ2dlcih0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyIHwgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyKTogdm9pZCB7XHJcbiAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFyZSB1c2VkIGludGVybmFsbHkgYnkgUmVsb2FkVGltZWxpbmVzIG9ubHkgYW5kIHNob3VsZFxyXG4gICAgLy8gbm90IGV4aXN0IG9uIHVzZXIgdHJpZ2dlcnMuICBIb3dldmVyLCB0aGUgdHJpZ2dlciBvYmplY3RzIHRoZW1zZWx2ZXMgYXJlXHJcbiAgICAvLyByZXVzZWQgd2hlbiByZWxvYWRpbmcgcGFnZXMsIGFuZCBzbyBpdCBpcyBpbXBvc3NpYmxlIHRvIHZlcmlmeSB0aGF0XHJcbiAgICAvLyB0aGVzZSBwcm9wZXJ0aWVzIGRvbid0IGV4aXN0LiAgVGhlcmVmb3JlLCBqdXN0IGRlbGV0ZSB0aGVtIHNpbGVudGx5LlxyXG4gICAgaWYgKGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlcih0cmlnZ2VyKSlcclxuICAgICAgZGVsZXRlIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXI7XHJcblxyXG4gICAgZGVsZXRlIHRyaWdnZXIubG9jYWxSZWdleDtcclxuICAgIGRlbGV0ZSB0cmlnZ2VyLmxvY2FsTmV0UmVnZXg7XHJcblxyXG4gICAgdHJpZ2dlci5vdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh0cmlnZ2VyLCB0aGlzLm9wdGlvbnMuRGlzcGxheUxhbmd1YWdlLFxyXG4gICAgICB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWcpO1xyXG4gIH1cclxuXHJcbiAgT25Kb2JDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZSA9IGUuZGV0YWlsLm5hbWU7XHJcbiAgICB0aGlzLmpvYiA9IGUuZGV0YWlsLmpvYjtcclxuICAgIHRoaXMucm9sZSA9IFV0aWwuam9iVG9Sb2xlKHRoaXMuam9iKTtcclxuICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgfVxyXG5cclxuICBPbkluQ29tYmF0Q2hhbmdlKGluQ29tYmF0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdCA9PT0gaW5Db21iYXQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdClcclxuICAgICAgdGhpcy5TZXRJbkNvbWJhdChpbkNvbWJhdCk7XHJcbiAgfVxyXG5cclxuICBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5Db21iYXQgPT09IGluQ29tYmF0KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gU3RvcCB0aW1lcnMgd2hlbiBzdG9wcGluZyBjb21iYXQgdG8gc3RvcCBhbnkgYWN0aXZlIHRpbWVycyB0aGF0XHJcbiAgICAvLyBhcmUgZGVsYXllZC4gIEhvd2V2ZXIsIGFsc28gcmVzZXQgd2hlbiBzdGFydGluZyBjb21iYXQuXHJcbiAgICAvLyBUaGlzIHByZXZlbnRzIGxhdGUgYXR0YWNrcyBmcm9tIGFmZmVjdGluZyB8ZGF0YXwgd2hpY2hcclxuICAgIC8vIHRocm93cyBvZmYgdGhlIG5leHQgcnVuLCBwb3RlbnRpYWxseS5cclxuICAgIHRoaXMuaW5Db21iYXQgPSBpbkNvbWJhdDtcclxuICAgIGlmICghdGhpcy5pbkNvbWJhdCkge1xyXG4gICAgICB0aGlzLlN0b3BUaW1lcnMoKTtcclxuICAgICAgdGhpcy50aW1lbGluZUxvYWRlci5TdG9wQ29tYmF0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdClcclxuICAgICAgdGhpcy5SZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgU2hvcnROYW1pZnkobmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBUT0RPOiBtYWtlIHRoaXMgdW5pcXVlIGFtb25nIHRoZSBwYXJ0eSBpbiBjYXNlIG9mIGZpcnN0IG5hbWUgY29sbGlzaW9ucy5cclxuICAgIC8vIFRPRE86IHByb2JhYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2VuZXJhbCBjYWN0Ym90IHV0aWxpdHkuXHJcbiAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgbmFtZSAhPT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FsbGVkIFNob3J0TmFtaWZ5IHdpdGggbm9uLXN0cmluZycpO1xyXG4gICAgICByZXR1cm4gJz8/Pyc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmljayA9IHRoaXMub3B0aW9ucy5QbGF5ZXJOaWNrc1tuYW1lXTtcclxuXHJcbiAgICBpZiAobmljaylcclxuICAgICAgcmV0dXJuIG5pY2s7XHJcblxyXG4gICAgY29uc3QgaWR4ID0gbmFtZS5pbmRleE9mKCcgJyk7XHJcbiAgICByZXR1cm4gaWR4IDwgMCA/IG5hbWUgOiBuYW1lLnN1YnN0cigwLCBpZHgpO1xyXG4gIH1cclxuXHJcbiAgUmVzZXQoKTogdm9pZCB7XHJcbiAgICBVdGlsLmNsZWFyV2F0Y2hDb21iYXRhbnRzKCk7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmdldERhdGFPYmplY3QoKTtcclxuICAgIHRoaXMuU3RvcFRpbWVycygpO1xyXG4gICAgdGhpcy50cmlnZ2VyU3VwcHJlc3MgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGluaXRPYmogb2YgdGhpcy5kYXRhSW5pdGlhbGl6ZXJzKSB7XHJcbiAgICAgIGNvbnN0IGluaXQgPSBpbml0T2JqLmZ1bmM7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBpbml0KCk7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7XHJcbiAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgLi4udGhpcy5kYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEVycm9yIGluIGZpbGU6ICR7aW5pdE9iai5maWxlfTogdGhlc2UgdHJpZ2dlcnMgbWF5IG5vdCB3b3JrO1xyXG4gICAgICAgIGluaXREYXRhIGZ1bmN0aW9uIHJldHVybmVkIGludmFsaWQgb2JqZWN0OiAke2luaXQudG9TdHJpbmcoKX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU3RvcFRpbWVycygpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZXJzID0ge307XHJcbiAgfVxyXG5cclxuICBPbkxvZyhlOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gVGhpcyBjb3VsZCBjb25jZWl2YWJseSBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBsaW5lJ3MgY29udGVudHMgYXMgd2VsbCwgYnV0XHJcbiAgICAvLyBub3Qgc3VyZSBpZiB0aGF0J3Mgd29ydGggdGhlIGVmZm9ydFxyXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSArbmV3IERhdGUoKTtcclxuICAgIGZvciAoY29uc3QgbG9nIG9mIGUuZGV0YWlsLmxvZ3MpIHtcclxuICAgICAgaWYgKGxvZy5pbmNsdWRlcygnMDA6MDAzODpjYWN0Ym90IHdpcGUnKSlcclxuICAgICAgICB0aGlzLlNldEluQ29tYmF0KGZhbHNlKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxSZWdleD8uZXhlYyhsb2cpO1xyXG4gICAgICAgIGlmIChyKVxyXG4gICAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgY3VycmVudFRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBPbk5ldExvZyhlOiBFdmVudFJlc3BvbnNlc1snTG9nTGluZSddKTogdm9pZCB7XHJcbiAgICBjb25zdCBsb2cgPSBlLnJhd0xpbmU7XHJcbiAgICAvLyBUaGlzIGNvdWxkIGNvbmNlaXZhYmx5IGJlIGRldGVybWluZWQgYmFzZWQgb24gYG5ldyBEYXRlKGUubGluZVsxXSlgIGFzIHdlbGwsIGJ1dFxyXG4gICAgLy8gbm90IHN1cmUgaWYgdGhhdCdzIHdvcnRoIHRoZSBlZmZvcnRcclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gK25ldyBEYXRlKCk7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy5uZXRUcmlnZ2Vycykge1xyXG4gICAgICBjb25zdCByID0gdHJpZ2dlci5sb2NhbE5ldFJlZ2V4Py5leGVjKGxvZyk7XHJcbiAgICAgIGlmIChyKVxyXG4gICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlcihcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5PblRyaWdnZXJJbnRlcm5hbCh0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlckludGVybmFsKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsXHJcbiAgICBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fb25UcmlnZ2VySW50ZXJuYWxDaGVja1N1cHByZXNzZWQodHJpZ2dlciwgY3VycmVudFRpbWUpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IGdyb3VwczogTWF0Y2hlcyA9IHt9O1xyXG4gICAgLy8gSWYgdXNpbmcgbmFtZWQgZ3JvdXBzLCB0cmVhdCBtYXRjaGVzLmdyb3VwcyBhcyBtYXRjaGVzXHJcbiAgICAvLyBzbyB0cmlnZ2VycyBjYW4gZG8gdGhpbmdzIGxpa2UgbWF0Y2hlcy50YXJnZXQuXHJcbiAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmdyb3Vwcykge1xyXG4gICAgICBncm91cHMgPSBtYXRjaGVzLmdyb3VwcztcclxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcykge1xyXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbWF0Y2hpbmcgZ3JvdXBzLCByZXByb2R1Y2UgdGhlIG9sZCBqcyBsb2dpYyB3aGVyZVxyXG4gICAgICAvLyBncm91cHMgZW5kZWQgdXAgYXMgdGhlIG9yaWdpbmFsIFJlZ0V4cEV4ZWNBcnJheSBvYmplY3RcclxuICAgICAgbWF0Y2hlcy5mb3JFYWNoKCh2YWx1ZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgZ3JvdXBzW2lkeF0gPSB2YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0IHVwIGEgaGVscGVyIG9iamVjdCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRocm93XHJcbiAgICAvLyBhIHRvbiBvZiBpbmZvIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gc3ViZnVuY3Rpb25zXHJcbiAgICBjb25zdCB0cmlnZ2VySGVscGVyID0gdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIodHJpZ2dlciwgZ3JvdXBzLCBjdXJyZW50VGltZSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbih0cmlnZ2VySGVscGVyKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJlUnVuKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIC8vIEV2YWx1YXRlIGZvciBkZWxheSBoZXJlLCBidXQgcnVuIGRlbGF5IGxhdGVyXHJcbiAgICBjb25zdCBkZWxheVByb21pc2UgPSB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyKTtcclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsRHVyYXRpb25TZWNvbmRzKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlclBvc3REZWxheSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgY29uc3QgdHJpZ2dlclBvc3RQcm9taXNlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxlcnRUZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFJ1bWJsZSBpc24ndCBhIHRyaWdnZXIgZnVuY3Rpb24sIHNvIG9ubHkgbmVlZHMgdG8gYmUgb3JkZXJlZFxyXG4gICAgICAgIC8vIGFmdGVyIGFsYXJtL2FsZXJ0L2luZm8uXHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxSdW1ibGUodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFByaW9yaXR5IGF1ZGlvIG9yZGVyOlxyXG4gICAgICAgIC8vICogdXNlciBkaXNhYmxlZCAocGxheSBub3RoaW5nKVxyXG4gICAgICAgIC8vICogaWYgdHRzIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciBUVFMgdHJpZ2dlcnMgdHRzIG92ZXJyaWRlXHJcbiAgICAgICAgLy8gICAqIHR0cyBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxhcm0gdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxlcnQgdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgaW5mbyB0dHNcclxuICAgICAgICAvLyAqIGlmIHNvdW5kIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciB0cmlnZ2VyIHNvdW5kIG92ZXJyaWRlc1xyXG4gICAgICAgIC8vICAgKiBzb3VuZCBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGFsYXJtIG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGFsZXJ0IG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGluZm8gbm9pc2VcclxuICAgICAgICAvLyAqIGVsc2UsIG5vdGhpbmdcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIEluIGdlbmVyYWwsIHR0cyBjb21lcyBiZWZvcmUgc291bmRzIGFuZCB1c2VyIG92ZXJyaWRlcyBjb21lXHJcbiAgICAgICAgLy8gYmVmb3JlIGRlZmF1bHRzLiAgSWYgYSB1c2VyIHRyaWdnZXIgb3IgdHRzIGVudHJ5IGlzIHNwZWNpZmllZCBhc1xyXG4gICAgICAgIC8vIGJlaW5nIHZhbGlkIGJ1dCBlbXB0eSwgdGhpcyB3aWxsIHRha2UgcHJpb3JpdHkgb3ZlciB0aGUgZGVmYXVsdFxyXG4gICAgICAgIC8vIHR0cyB0ZXh0cyBmcm9tIGFsYXJtL2FsZXJ0L2luZm8gYW5kIHdpbGwgcHJldmVudCB0dHMgZnJvbSBwbGF5aW5nXHJcbiAgICAgICAgLy8gYW5kIGFsbG93aW5nIHNvdW5kcyB0byBiZSBwbGF5ZWQgaW5zdGVhZC5cclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFRUUyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFBsYXlBdWRpbyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIHByb21pc2UuXHJcbiAgICAgIGlmIChwcm9taXNlKVxyXG4gICAgICAgIHByb21pc2UudGhlbih0cmlnZ2VyUG9zdFByb21pc2UsIChlKSA9PiBvblRyaWdnZXJFeGNlcHRpb24odHJpZ2dlciwgZSkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdHJpZ2dlclBvc3RQcm9taXNlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIGRlbGF5LlxyXG4gICAgaWYgKGRlbGF5UHJvbWlzZSlcclxuICAgICAgZGVsYXlQcm9taXNlLnRoZW4odHJpZ2dlclBvc3REZWxheSwgKGUpID0+IG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRyaWdnZXJQb3N0RGVsYXkoKTtcclxuICB9XHJcblxyXG4gIC8vIEJ1aWxkIGEgZGVmYXVsdCB0cmlnZ2VySGVscGVyIG9iamVjdCBmb3IgdGhpcyB0cmlnZ2VyXHJcbiAgX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBub3c6IG51bWJlcik6IFRyaWdnZXJIZWxwZXIge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgbGV0IG9wdGlvbnM6IFBlclRyaWdnZXJPcHRpb24gPSB7fTtcclxuICAgIGxldCBjb25maWc6IFRyaWdnZXJBdXRvQ29uZmlnID0ge307XHJcbiAgICBsZXQgc3VwcHJlc3NlZCA9IGZhbHNlO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlck9wdGlvbnNbaWRdID8/IG9wdGlvbnM7XHJcbiAgICAgIGNvbmZpZyA9IHRoaXMub3B0aW9ucy5QZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPz8gY29uZmlnO1xyXG4gICAgICBzdXBwcmVzc2VkID0gdGhpcy5vcHRpb25zLkRpc2FibGVkVHJpZ2dlcnNbaWRdID8/IHN1cHByZXNzZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciA9IHtcclxuICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgbm93OiBub3csXHJcbiAgICAgIHRyaWdnZXJPcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICB0cmlnZ2VyQXV0b0NvbmZpZzogY29uZmlnLFxyXG4gICAgICAvLyBUaGlzIHNldHRpbmcgb25seSBzdXBwcmVzc2VzIG91dHB1dCwgdHJpZ2dlciBzdGlsbCBydW5zIGZvciBkYXRhL2xvZ2ljIHB1cnBvc2VzXHJcbiAgICAgIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBzdXBwcmVzc2VkLFxyXG4gICAgICBtYXRjaGVzOiBtYXRjaGVzLFxyXG4gICAgICAvLyBEZWZhdWx0IG9wdGlvbnNcclxuICAgICAgdGV4dEFsZXJ0c0VuYWJsZWQ6IHRoaXMub3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCxcclxuICAgICAgc291bmRBbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkLFxyXG4gICAgICBzcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCxcclxuICAgICAgZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkLFxyXG4gICAgICB2YWx1ZU9yRnVuY3Rpb246IChmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCk6IFJhaWRib3NzVHJpZ2dlck91dHB1dCA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGY7XHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICAgICAgICAvLyBBbGwgdHJpZ2dlcnMgcmV0dXJuIGVpdGhlciBhIHN0cmluZyBkaXJlY3RseSwgb3IgYW4gb2JqZWN0XHJcbiAgICAgICAgLy8gd2hvc2Uga2V5cyBhcmUgZGlmZmVyZW50IHBhcnNlciBsYW5ndWFnZSBiYXNlZCBuYW1lcy4gIEZvciBzaW1wbGljaXR5LFxyXG4gICAgICAgIC8vIHRoaXMgaXMgdmFsaWQgdG8gZG8gZm9yIGFueSB0cmlnZ2VyIGVudHJ5IHRoYXQgY2FuIGhhbmRsZSBhIGZ1bmN0aW9uLlxyXG4gICAgICAgIC8vIEluIGNhc2UgYW55Ym9keSB3YW50cyB0byBlbmNhcHN1bGF0ZSBhbnkgZmFuY3kgZ3JhbW1hciwgdGhlIHZhbHVlc1xyXG4gICAgICAgIC8vIGluIHRoaXMgb2JqZWN0IGNhbiBhbHNvIGJlIGZ1bmN0aW9ucy5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCAhPT0gJ29iamVjdCcgfHwgcmVzdWx0ID09PSBudWxsKVxyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICByZXR1cm4gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMuZGlzcGxheUxhbmddID8/IHJlc3VsdFsnZW4nXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGdldCBvdXRwdXQoKTogT3V0cHV0IHtcclxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLm91dHB1dClcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXIub3V0cHV0O1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhgTWlzc2luZyB0cmlnZ2VyLm91dHB1dCBmb3IgdHJpZ2dlciAke3RyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0O1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEhlbHBlckRlZmF1bHRzKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIHJldHVybiB0cmlnZ2VySGVscGVyO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsQ2hlY2tTdXBwcmVzc2VkKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIHdoZW46IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3Qgc3VwcHJlc3MgPSB0aGlzLnRyaWdnZXJTdXBwcmVzc1tpZF07XHJcbiAgICAgIGlmIChzdXBwcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHN1cHByZXNzID4gd2hlbilcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWxldGUgdGhpcy50cmlnZ2VyU3VwcHJlc3NbaWRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxDb25kaXRpb24odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY29uZGl0aW9uID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Db25kaXRpb24gPz8gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmNvbmRpdGlvbjtcclxuICAgIGlmIChjb25kaXRpb24pIHtcclxuICAgICAgaWYgKGNvbmRpdGlvbiA9PT0gdHJ1ZSlcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgaWYgKCFjb25kaXRpb24odGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIFNldCBkZWZhdWx0cyBmb3IgdHJpZ2dlckhlbHBlciBvYmplY3QgKGFueXRoaW5nIHRoYXQgd29uJ3QgY2hhbmdlIGJhc2VkIG9uXHJcbiAgLy8gb3RoZXIgdHJpZ2dlciBmdW5jdGlvbnMgcnVubmluZylcclxuICBfb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZykge1xyXG4gICAgICBjb25zdCB0ZXh0QWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuVGV4dEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZy5Tb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmIChzb3VuZEFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kQWxlcnRzRW5hYmxlZCA9IHNvdW5kQWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuU3Bva2VuQWxlcnRzRW5hYmxlZDtcclxuICAgICAgaWYgKHNwb2tlbkFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBzcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHRleHRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UZXh0QWxlcnQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Tb3VuZEFsZXJ0O1xyXG4gICAgICBpZiAoc291bmRBbGVydHNFbmFibGVkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBzb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNwZWVjaEFsZXJ0O1xyXG4gICAgICBpZiAoc3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHNwb2tlbkFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuR3JvdXBTcGVlY2hBbGVydDtcclxuICAgICAgaWYgKGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnVzZXJTdXBwcmVzc2VkT3V0cHV0KSB7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5BdWRpb0FsbG93ZWQpIHtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQcmVSdW4odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyPy5wcmVSdW4/LihcclxuICAgICAgdGhpcy5kYXRhLFxyXG4gICAgICB0cmlnZ2VySGVscGVyLm1hdGNoZXMsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBkZWxheSA9ICdkZWxheVNlY29uZHMnIGluIHRyaWdnZXJIZWxwZXIudHJpZ2dlciA/IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kZWxheVNlY29uZHMpIDogMDtcclxuICAgIGlmICghZGVsYXkgfHwgZGVsYXkgPD0gMCB8fCB0eXBlb2YgZGVsYXkgIT09ICdudW1iZXInKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlcklEID0gdGhpcy5jdXJyZW50VHJpZ2dlcklEKys7XHJcbiAgICB0aGlzLnRpbWVyc1t0cmlnZ2VySURdID0gdHJ1ZTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcclxuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVyc1t0cmlnZ2VySURdKVxyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgZWxzZSBpZiAocmVqKVxyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMudGltZXJzW3RyaWdnZXJJRF07XHJcbiAgICAgIH0sIGRlbGF5ICogMTAwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbER1cmF0aW9uU2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBsZXQgdmFsdWVEdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kdXJhdGlvblNlY29uZHMpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZUR1cmF0aW9uICE9PSAnbnVtYmVyJylcclxuICAgICAgdmFsdWVEdXJhdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24gPSB7XHJcbiAgICAgIGZyb21Db25maWc6IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuRHVyYXRpb24sXHJcbiAgICAgIGZyb21UcmlnZ2VyOiB2YWx1ZUR1cmF0aW9uLFxyXG4gICAgICBhbGFybVRleHQ6IHRoaXMub3B0aW9ucy5EaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcyxcclxuICAgICAgYWxlcnRUZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMsXHJcbiAgICAgIGluZm9UZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kcyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VwcHJlc3MgPSAnc3VwcHJlc3NTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuc3VwcHJlc3NTZWNvbmRzKSA6IDA7XHJcbiAgICBpZiAodHlwZW9mIHN1cHByZXNzICE9PSAnbnVtYmVyJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5pZCAmJiBzdXBwcmVzcyA+IDApXHJcbiAgICAgIHRoaXMudHJpZ2dlclN1cHByZXNzW3RyaWdnZXJIZWxwZXIudHJpZ2dlci5pZF0gPSB0cmlnZ2VySGVscGVyLm5vdyArIChzdXBwcmVzcyAqIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgcHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcclxuICAgIGlmICgncHJvbWlzZScgaW4gdHJpZ2dlckhlbHBlci50cmlnZ2VyKSB7XHJcbiAgICAgIGNvbnN0IGlkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmlkID8/ICdVbmtub3duJztcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHByb21pc2UgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZShcclxuICAgICAgICAgIHRoaXMuZGF0YSxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVhbGx5IGdldCBhIFByb21pc2UgYmFjayBmcm9tIHRoZSBmdW5jdGlvblxyXG4gICAgICAgIGlmIChQcm9taXNlLnJlc29sdmUocHJvbWlzZSkgIT09IHByb21pc2UpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH06IHByb21pc2UgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYSBwcm9taXNlYCk7XHJcbiAgICAgICAgICBwcm9taXNlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBwcm9taXNlIGRlZmluZWQgYnV0IG5vdCBhIGZ1bmN0aW9uYCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyLnNvdW5kKTtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJylcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZFVybCA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFNvdW5kVm9sdW1lKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZFZvbHVtZSk7XHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ251bWJlcicpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID0gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUmVzcG9uc2UodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB7fTtcclxuICAgIGNvbnN0IHRyaWdnZXIgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXI7XHJcbiAgICBpZiAodHJpZ2dlci5yZXNwb25zZSkge1xyXG4gICAgICAvLyBDYW4ndCB1c2UgVmFsdWVPckZ1bmN0aW9uIGhlcmUgYXMgciByZXR1cm5zIGEgbm9uLWxvY2FsaXphYmxlIG9iamVjdC5cclxuICAgICAgcmVzcG9uc2UgPSB0cmlnZ2VyLnJlc3BvbnNlO1xyXG4gICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgIC8vIFR1cm4gZmFsc3kgdmFsdWVzIGludG8gYSBkZWZhdWx0IG5vLW9wIHJlc3BvbnNlLlxyXG4gICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgIHJlc3BvbnNlID0ge307XHJcbiAgICB9XHJcbiAgICB0cmlnZ2VySGVscGVyLnJlc3BvbnNlID0gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxBbGFybVRleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignYWxhcm0nLCB0cmlnZ2VySGVscGVyKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbEFsZXJ0VGV4dCh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hZGRUZXh0Rm9yKCdhbGVydCcsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignaW5mbycsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUnVtYmxlKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLlJ1bWJsZUVuYWJsZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBnZXRHYW1lcGFkcyByZXR1cm5zIGEgXCJHYW1lUGFkTGlzdFwiIHdoaWNoIGlzbid0IGl0ZXJhYmxlLlxyXG4gICAgWy4uLm5hdmlnYXRvci5nZXRHYW1lcGFkcygpXS5mb3JFYWNoKChncCkgPT4ge1xyXG4gICAgICAvLyBUaGlzIGxpc3QgYWxzbyBjb250YWlucyBudWxscyBzbyB0aGF0IHRoZSBnYW1lcGFkIGluZGV4IGlzIHByZXNlcnZlZC5cclxuICAgICAgaWYgKCFncClcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAvLyBgdmlicmF0aW9uQWN0dWF0b3JgIGlzIHN1cHBvcnRlZCBpbiBDRUYgYnV0IGlzIG5vdCBpbiB0aGUgc3BlYyB5ZXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IGdhbWVwYWQ6IGFueSA9IGdwO1xyXG5cclxuICAgICAgLy8gRnV0dXJlIGNhbGxzIHRvIGBwbGF5RWZmZWN0YCB3aWxsIGN1dCBvZmYgdGhlIHByZXZpb3VzIGVmZmVjdC5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcclxuICAgICAgdm9pZCBnYW1lcGFkPy52aWJyYXRpb25BY3R1YXRvcj8ucGxheUVmZmVjdChnYW1lcGFkLnZpYnJhdGlvbkFjdHVhdG9yLnR5cGUsIHtcclxuICAgICAgICBzdGFydERlbGF5OiAwLFxyXG4gICAgICAgIGR1cmF0aW9uOiB0cmlnZ2VySGVscGVyLnJ1bWJsZUR1cmF0aW9uTXMsXHJcbiAgICAgICAgd2Vha01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVXZWFrLFxyXG4gICAgICAgIHN0cm9uZ01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxUVFModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKCF0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCB8fCB0eXBlb2YgdHJpZ2dlckhlbHBlci50dHNUZXh0ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KTtcclxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXIudHRzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyBBbGxvdyBudWxsL2ZhbHNlL05hTi8wLycnIGluIHRoaXMgYnJhbmNoLlxyXG4gICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci50dHMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIucmVzcG9uc2UpIHtcclxuICAgICAgICBjb25zdCByZXNwOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB0cmlnZ2VySGVscGVyLnJlc3BvbnNlO1xyXG4gICAgICAgIGlmIChyZXNwLnR0cylcclxuICAgICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHJlc3AudHRzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWxsb3cgZmFsc2V5IHZhbHVlcyB0byBkaXNhYmxlIHR0cyBlbnRpcmVseVxyXG4gICAgICAvLyBVbmRlZmluZWQgd2lsbCBmYWxsIGJhY2sgdG8gZGVmYXVsdFRUU1RleHRcclxuICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHJlc3VsdD8udG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLmRlZmF1bHRUVFNUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZCAmJlxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiZcclxuICAgICAgICBzb3VuZFN0cnMuaW5jbHVkZXModHJpZ2dlckhlbHBlci5zb3VuZFVybCkpIHtcclxuICAgICAgY29uc3QgbmFtZWRTb3VuZCA9IHRyaWdnZXJIZWxwZXIuc291bmRVcmwgKyAnU291bmQnO1xyXG4gICAgICBjb25zdCBuYW1lZFNvdW5kVm9sdW1lID0gdHJpZ2dlckhlbHBlci5zb3VuZFVybCArICdTb3VuZFZvbHVtZSc7XHJcbiAgICAgIGNvbnN0IHNvdW5kID0gdGhpcy5vcHRpb25zW25hbWVkU291bmRdO1xyXG4gICAgICBpZiAodHlwZW9mIHNvdW5kID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSBzb3VuZDtcclxuICAgICAgICBjb25zdCBzb3VuZFZvbCA9IHRoaXMub3B0aW9uc1tuYW1lZFNvdW5kVm9sdW1lXTtcclxuICAgICAgICBpZiAodHlwZW9mIHNvdW5kVm9sID09PSAnbnVtYmVyJylcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSBzb3VuZFZvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNvdW5kT3ZlcnJpZGUgPz8gdHJpZ2dlckhlbHBlci5zb3VuZFVybDtcclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlZvbHVtZU92ZXJyaWRlID8/XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID8/IHRyaWdnZXJIZWxwZXIuc291bmRWb2w7XHJcblxyXG4gICAgLy8gVGV4dCB0byBzcGVlY2ggb3ZlcnJpZGVzIGFsbCBvdGhlciBzb3VuZHMuICBUaGlzIGlzIHNvXHJcbiAgICAvLyB0aGF0IGEgdXNlciB3aG8gcHJlZmVycyB0dHMgY2FuIHN0aWxsIGdldCB0aGUgYmVuZWZpdFxyXG4gICAgLy8gb2YgaW5mb1RleHQgdHJpZ2dlcnMgd2l0aG91dCB0dHMgZW50cmllcyBieSB0dXJuaW5nXHJcbiAgICAvLyBvbiAoc3BlZWNoPXRydWUsIHRleHQ9dHJ1ZSwgc291bmQ9dHJ1ZSkgYnV0IHRoaXMgd2lsbFxyXG4gICAgLy8gbm90IGNhdXNlIHR0cyB0byBwbGF5IG92ZXIgdG9wIG9mIHNvdW5kcyBvciBub2lzZXMuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50dHNUZXh0ICYmIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCkge1xyXG4gICAgICAvLyBIZXVyaXN0aWNzIGZvciBhdXRvIHR0cy5cclxuICAgICAgLy8gKiBJbiBjYXNlIHRoaXMgaXMgYW4gaW50ZWdlci5cclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnRvU3RyaW5nKCk7XHJcbiAgICAgIC8vICogUmVtb3ZlIGEgYnVuY2ggb2YgY2hhcnMuXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9bIyFdL2csICcnKTtcclxuICAgICAgLy8gKiBzbGFzaGVzIGJldHdlZW4gbWVjaGFuaWNzXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKCcvJywgJyAnKTtcclxuICAgICAgLy8gKiB0aWxkZXMgYXQgdGhlIGVuZCBmb3IgZW1waGFzaXNcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL34rJC8sICcnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgaGVscGluZyB2aXN1YWxseSBzaW1wbGUgdG8gdW5kZXJzdGFuZCBlLmcuIOKGliBGcm9udCBsZWZ0IC8gQmFjayByaWdodCDihphcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1vihpYt4oaZXS9nLCAnJyk7XHJcbiAgICAgIC8vICogS29yZWFuIFRUUyByZWFkcyB3cm9uZyB3aXRoICcx67KI7Ke4J1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgnMeuyiOynuCcsICfssqvrsojsp7gnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgYXQgdGhlIGZyb250IG9yIHRoZSBlbmQgYXJlIGRpcmVjdGlvbnMsIGUuZy4gXCJlYXN0ID0+XCJcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1stPV0+XFxzKiQvZywgJycpO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXlxccyo8Wy09XS9nLCAnJyk7XHJcbiAgICAgIC8vICogYXJyb3dzIGluIHRoZSBtaWRkbGUgYXJlIGEgc2VxdWVuY2UsIGUuZy4gXCJpbiA9PiBvdXQgPT4gc3ByZWFkXCJcclxuICAgICAgY29uc3QgYXJyb3dSZXBsYWNlbWVudCA9IHtcclxuICAgICAgICBlbjogJyB0aGVuICcsXHJcbiAgICAgICAgZGU6ICcgZGFubiAnLFxyXG4gICAgICAgIGZyOiAnIHB1aXMgJyxcclxuICAgICAgICBqYTogJ+OChCcsXHJcbiAgICAgICAgY246ICfnhLblkI4nLFxyXG4gICAgICAgIGtvOiAnIOq3uOumrOqzoCAnLFxyXG4gICAgICB9O1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXFxzKig8Wy09XXxbPS1dPilcXHMqL2csXHJcbiAgICAgICAgYXJyb3dSZXBsYWNlbWVudFt0aGlzLmRpc3BsYXlMYW5nXSk7XHJcbiAgICAgIHRoaXMudHRzU2F5KHRyaWdnZXJIZWxwZXIudHRzVGV4dCk7XHJcbiAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiYgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgdGhpcy5fcGxheUF1ZGlvRmlsZSh0cmlnZ2VySGVscGVyLCB0cmlnZ2VySGVscGVyLnNvdW5kVXJsLCB0cmlnZ2VySGVscGVyLnNvdW5kVm9sKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0cmlnZ2VySGVscGVyLnRyaWdnZXI/LnJ1bj8uKFxyXG4gICAgICB0aGlzLmRhdGEsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgdHJpZ2dlckhlbHBlci5vdXRwdXQpO1xyXG4gIH1cclxuXHJcbiAgX2NyZWF0ZVRleHRGb3IoXHJcbiAgICB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGV4dFR5cGU6IFRleHQsXHJcbiAgICBsb3dlclRleHRLZXk6IFRleHRUZXh0LFxyXG4gICAgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gaW5mby10ZXh0XHJcbiAgICBjb25zdCB0ZXh0RWxlbWVudENsYXNzID0gdGV4dFR5cGUgKyAnLXRleHQnO1xyXG4gICAgaWYgKHRleHRUeXBlICE9PSAnaW5mbycpXHJcbiAgICAgIHRleHQgPSB0cmlnZ2VyVXBwZXJDYXNlKHRleHQpO1xyXG5cclxuICAgIGNvbnN0IGhvbGRlciA9IHRoaXNbbG93ZXJUZXh0S2V5XT8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaG9sZGVyJylbMF07XHJcbiAgICBjb25zdCBkaXYgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dEVsZW1lbnRDbGFzcyk7XHJcblxyXG4gICAgaWYgKCFob2xkZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBob2xkZXIuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgIGlmIChob2xkZXIuY2hpbGRyZW4ubGVuZ3RoID4gdGhpcy5rTWF4Um93c09mVGV4dClcclxuICAgICAgaG9sZGVyLmZpcnN0Q2hpbGQ/LnJlbW92ZSgpO1xyXG5cclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGhvbGRlci5jb250YWlucyhkaXYpKVxyXG4gICAgICAgIGhvbGRlci5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfSwgZHVyYXRpb24gKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIF9hZGRUZXh0Rm9yKHRleHRUeXBlOiBUZXh0LCB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICAvLyBpbmZvVGV4dFxyXG4gICAgY29uc3QgbG93ZXJUZXh0S2V5ID0gdGV4dE1hcFt0ZXh0VHlwZV0udGV4dDtcclxuICAgIC8vIEluZm9UZXh0XHJcbiAgICBjb25zdCB1cHBlclRleHRLZXkgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclRleHQ7XHJcbiAgICAvLyBJbmZvU291bmRcclxuICAgIGNvbnN0IHVwcGVyU291bmQgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclNvdW5kO1xyXG4gICAgLy8gSW5mb1NvdW5kVm9sdW1lXHJcbiAgICBjb25zdCB1cHBlclNvdW5kVm9sdW1lID0gdGV4dE1hcFt0ZXh0VHlwZV0udXBwZXJTb3VuZFZvbHVtZTtcclxuXHJcbiAgICBsZXQgdGV4dE9iajogUmFpZGJvc3NUcmlnZ2VyT3V0cHV0ID1cclxuICAgICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9uc1t1cHBlclRleHRLZXldO1xyXG4gICAgaWYgKCF0ZXh0T2JqICYmIHRyaWdnZXJIZWxwZXIudHJpZ2dlcltsb3dlclRleHRLZXldKVxyXG4gICAgICB0ZXh0T2JqID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyW2xvd2VyVGV4dEtleV07XHJcbiAgICBpZiAoIXRleHRPYmogJiYgdHJpZ2dlckhlbHBlci5yZXNwb25zZSlcclxuICAgICAgdGV4dE9iaiA9IHRyaWdnZXJIZWxwZXIucmVzcG9uc2VbbG93ZXJUZXh0S2V5XTtcclxuICAgIGlmICghdGV4dE9iailcclxuICAgICAgcmV0dXJuO1xyXG4gICAgbGV0IHRleHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0ZXh0T2JqKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJylcclxuICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcclxuICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpXHJcbiAgICAgIHRleHQgPSBTdHJpbmcodGV4dCk7XHJcbiAgICAvLyBJZ25vcmUgZW1wdHkgc3RyaW5ncyBzbyB0aGF0IGNvbmZpZyB1aSBcImJsYW5rIHNwYWNlc1wiIGFyZSBpZ25vcmVkLlxyXG4gICAgdGV4dCA9IHRleHQudHJpbSgpO1xyXG4gICAgaWYgKHRleHQgPT09ICcnKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJpZ2dlckhlbHBlci5kZWZhdWx0VFRTVGV4dCA9IHRyaWdnZXJIZWxwZXIuZGVmYXVsdFRUU1RleHQgPz8gdGV4dDtcclxuICAgIGlmICh0ZXh0ICYmIHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyAmJiB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkKSB7XHJcbiAgICAgIC8vIHBlci10cmlnZ2VyIG9wdGlvbiA+IHRyaWdnZXIgZmllbGQgPiBvcHRpb24gZHVyYXRpb24gYnkgdGV4dCB0eXBlXHJcbiAgICAgIGxldCBkdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIuZHVyYXRpb24/LmZyb21Db25maWcgPz8gdHJpZ2dlckhlbHBlci5kdXJhdGlvbj8uZnJvbVRyaWdnZXI7XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkICYmIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24pXHJcbiAgICAgICAgZHVyYXRpb24gPSB0cmlnZ2VySGVscGVyLmR1cmF0aW9uW2xvd2VyVGV4dEtleV07XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIGR1cmF0aW9uID0gMDtcclxuXHJcbiAgICAgIHRoaXMuX2NyZWF0ZVRleHRGb3IodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dFR5cGUsIGxvd2VyVGV4dEtleSwgZHVyYXRpb24pO1xyXG4gICAgICBpZiAoIXRyaWdnZXJIZWxwZXIuc291bmRVcmwpIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsID0gdGhpcy5vcHRpb25zW3VwcGVyU291bmRdO1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0aGlzLm9wdGlvbnNbdXBwZXJTb3VuZFZvbHVtZV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIucnVtYmxlRHVyYXRpb25NcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVEdXJhdGlvbk1zID0gdGhpcy5vcHRpb25zW3RleHRNYXBbdGV4dFR5cGVdLnJ1bWJsZUR1cmF0aW9uXTtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnJ1bWJsZVdlYWsgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlV2Vha107XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlU3Ryb25nXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX21ha2VUZXh0RWxlbWVudChfdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciwgdGV4dDogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRleHQnKTtcclxuICAgIGRpdi5pbm5lclRleHQgPSB0ZXh0O1xyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcblxyXG4gIF9wbGF5QXVkaW9GaWxlKF90cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLCB1cmw6IHN0cmluZywgdm9sdW1lPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdWRpbyA9IG5ldyBBdWRpbyh1cmwpO1xyXG4gICAgYXVkaW8udm9sdW1lID0gdm9sdW1lID8/IDE7XHJcbiAgICB2b2lkIGF1ZGlvLnBsYXkoKTtcclxuICB9XHJcblxyXG4gIGdldERhdGFPYmplY3QoKTogUmFpZGJvc3NEYXRhIHtcclxuICAgIGxldCBwcmVzZXJ2ZUhQID0gMDtcclxuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmN1cnJlbnRIUClcclxuICAgICAgcHJlc2VydmVIUCA9IHRoaXMuZGF0YS5jdXJyZW50SFA7XHJcblxyXG4gICAgLy8gVE9ETzogbWFrZSBhIGJyZWFraW5nIGNoYW5nZSBhdCBzb21lIHBvaW50IGFuZFxyXG4gICAgLy8gbWFrZSBhbGwgdGhpcyBzdHlsZSBjb25zaXN0ZW50LCBzb3JyeS5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1lOiB0aGlzLm1lLFxyXG4gICAgICBqb2I6IHRoaXMuam9iLFxyXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXHJcbiAgICAgIHBhcnR5OiB0aGlzLnBhcnR5VHJhY2tlcixcclxuICAgICAgbGFuZzogdGhpcy5wYXJzZXJMYW5nLFxyXG4gICAgICBwYXJzZXJMYW5nOiB0aGlzLnBhcnNlckxhbmcsXHJcbiAgICAgIGRpc3BsYXlMYW5nOiB0aGlzLmRpc3BsYXlMYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IHByZXNlcnZlSFAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcclxuICAgICAgU2hvcnROYW1lOiB0aGlzLlNob3J0TmFtaWZ5LmJpbmQodGhpcyksXHJcbiAgICAgIFN0b3BDb21iYXQ6ICgpID0+IHRoaXMuU2V0SW5Db21iYXQoZmFsc2UpLFxyXG4gICAgICBQYXJzZUxvY2FsZUZsb2F0OiBwYXJzZUZsb2F0LFxyXG4gICAgICBDYW5TdHVuOiAoKSA9PiBVdGlsLmNhblN0dW4odGhpcy5qb2IpLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBVdGlsLmNhblNpbGVuY2UodGhpcy5qb2IpLFxyXG4gICAgICBDYW5TbGVlcDogKCkgPT4gVXRpbC5jYW5TbGVlcCh0aGlzLmpvYiksXHJcbiAgICAgIENhbkNsZWFuc2U6ICgpID0+IFV0aWwuY2FuQ2xlYW5zZSh0aGlzLmpvYiksXHJcbiAgICAgIENhbkZlaW50OiAoKSA9PiBVdGlsLmNhbkZlaW50KHRoaXMuam9iKSxcclxuICAgICAgQ2FuQWRkbGU6ICgpID0+IFV0aWwuY2FuQWRkbGUodGhpcy5qb2IpLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFRleHRHZW5lcmF0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXBUZXh0OiBQb3B1cFRleHQpIHtcclxuICB9XHJcblxyXG4gIEluZm8odGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGVydCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsZXJ0VGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGFybSh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsYXJtVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUcmlnZ2VyKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMsIFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvb3NlVHJpZ2dlclNldCxcclxuICBUcmlnZ2VyQXV0b0NvbmZpZyxcclxuICBUcmlnZ2VyRmllbGQsXHJcbiAgVHJpZ2dlck91dHB1dCxcclxufSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBiYXNlIG9wdGlvbnMgdGhhdCByYWlkYm9zcyBleHBlY3RzIHRvIHNlZS5cclxuXHJcbi8vIEJhY2t3YXJkcyBjb21wYXQgZm9yIHRoaXMgb2xkIHN0eWxlIG9mIG92ZXJyaWRpbmcgdHJpZ2dlcnMuXHJcbi8vIFRPRE86IHdlIHNob3VsZCBwcm9iYWJseSBkZXByZWNhdGUgYW5kIHJlbW92ZSB0aGlzLlxyXG5leHBvcnQgdHlwZSBQZXJUcmlnZ2VyT3B0aW9uID0gUGFydGlhbDx7XHJcbiAgVGV4dEFsZXJ0OiBib29sZWFuO1xyXG4gIFNvdW5kQWxlcnQ6IGJvb2xlYW47XHJcbiAgU3BlZWNoQWxlcnQ6IGJvb2xlYW47XHJcbiAgR3JvdXBTcGVlY2hBbGVydDogYm9vbGVhbjsgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGlzXHJcbiAgU291bmRPdmVycmlkZTogc3RyaW5nO1xyXG4gIFZvbHVtZU92ZXJyaWRlOiBudW1iZXI7XHJcbiAgQ29uZGl0aW9uOiBUcmlnZ2VyRmllbGQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzLCBib29sZWFuPjtcclxuICBJbmZvVGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIEFsZXJ0VGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIEFsYXJtVGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIFRUU1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxufT47XHJcblxyXG5leHBvcnQgdHlwZSBUaW1lbGluZUNvbmZpZyA9IFBhcnRpYWw8e1xyXG4gIElnbm9yZTogc3RyaW5nW107XHJcbiAgUmVuYW1lOiB7IFt0ZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufT47XHJcblxyXG5leHBvcnQgdHlwZSBQZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFBlclRyaWdnZXJPcHRpb24gfTtcclxuZXhwb3J0IHR5cGUgRGlzYWJsZWRUcmlnZ2VycyA9IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5leHBvcnQgdHlwZSBQZXJab25lVGltZWxpbmVDb25maWcgPSB7IFt6b25lSWQ6IG51bWJlcl06IFRpbWVsaW5lQ29uZmlnIH07XHJcblxyXG50eXBlIFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyA9IHtcclxuICBQbGF5ZXJOaWNrczogeyBbZ2FtZU5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIEluZm9Tb3VuZDogc3RyaW5nO1xyXG4gIEFsZXJ0U291bmQ6IHN0cmluZztcclxuICBBbGFybVNvdW5kOiBzdHJpbmc7XHJcbiAgTG9uZ1NvdW5kOiBzdHJpbmc7XHJcbiAgUHVsbFNvdW5kOiBzdHJpbmc7XHJcbiAgQXVkaW9BbGxvd2VkOiBib29sZWFuO1xyXG4gIERpc2FibGVkVHJpZ2dlcnM6IERpc2FibGVkVHJpZ2dlcnM7XHJcbiAgUGVyVHJpZ2dlckF1dG9Db25maWc6IFBlclRyaWdnZXJBdXRvQ29uZmlnO1xyXG4gIFBlclRyaWdnZXJPcHRpb25zOiBQZXJUcmlnZ2VyT3B0aW9ucztcclxuICBQZXJab25lVGltZWxpbmVDb25maWc6IFBlclpvbmVUaW1lbGluZUNvbmZpZztcclxuICBUcmlnZ2VyczogTG9vc2VUcmlnZ2VyU2V0W107XHJcbiAgUGxheWVyTmFtZU92ZXJyaWRlPzogc3RyaW5nO1xyXG4gIElzUmVtb3RlUmFpZGJvc3M6IGJvb2xlYW47XHJcbiAgLy8gVHJhbnNmb3JtcyB0ZXh0IGJlZm9yZSBwYXNzaW5nIGl0IHRvIFRUUy5cclxuICBUcmFuc2Zvcm1UdHM6ICh0ZXh0OiBzdHJpbmcpID0+IHN0cmluZztcclxufTtcclxuXHJcbi8vIFRoZXNlIG9wdGlvbnMgYXJlIG9uZXMgdGhhdCBhcmUgbm90IGF1dG8tZGVmaW5lZCBieSByYWlkYm9zc19jb25maWcuanMuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnM6IFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyA9IHtcclxuICBQbGF5ZXJOaWNrczoge30sXHJcblxyXG4gIEluZm9Tb3VuZDogJy4uLy4uL3Jlc291cmNlcy9zb3VuZHMvZnJlZXNvdW5kL3BlcmN1c3Npb25faGl0LndlYm0nLFxyXG4gIEFsZXJ0U291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxlcnQud2VibScsXHJcbiAgQWxhcm1Tb3VuZDogJy4uLy4uL3Jlc291cmNlcy9zb3VuZHMvQmlnV2lncy9BbGFybS53ZWJtJyxcclxuICBMb25nU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvTG9uZy53ZWJtJyxcclxuICBQdWxsU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9zb25hci53ZWJtJyxcclxuXHJcbiAgQXVkaW9BbGxvd2VkOiB0cnVlLFxyXG5cclxuICBEaXNhYmxlZFRyaWdnZXJzOiB7fSxcclxuXHJcbiAgUGVyVHJpZ2dlckF1dG9Db25maWc6IHt9LFxyXG4gIFBlclRyaWdnZXJPcHRpb25zOiB7fSxcclxuICBQZXJab25lVGltZWxpbmVDb25maWc6IHt9LFxyXG5cclxuICBUcmlnZ2VyczogW10sXHJcblxyXG4gIElzUmVtb3RlUmFpZGJvc3M6IGZhbHNlLFxyXG5cclxuICBUcmFuc2Zvcm1UdHM6ICh0KSA9PiB0LFxyXG59O1xyXG5cclxuLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gZ2V0IHRoaXMgdHlwZSBmcm9tIHJhaWRib3NzX2NvbmZpZz8/XHJcbi8vIFRoZXNlIHZhbHVlcyBhcmUgb3ZlcndyaXR0ZW4gYW5kIGFyZSBqdXN0IGhlcmUgZm9yIHR5cGluZy5cclxuY29uc3QgZGVmYXVsdFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHtcclxuICBEZWJ1ZzogZmFsc2UsXHJcbiAgRGVmYXVsdEFsZXJ0T3V0cHV0OiAndGV4dEFuZFNvdW5kJyxcclxuICBBbGVydHNMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUxhbmd1YWdlOiB1bmRlZmluZWQgYXMgKExhbmcgfCB1bmRlZmluZWQpLFxyXG4gIFRpbWVsaW5lRW5hYmxlZDogdHJ1ZSxcclxuICBBbGVydHNFbmFibGVkOiB0cnVlLFxyXG4gIFNob3dUaW1lckJhcnNBdFNlY29uZHM6IDMwLFxyXG4gIEtlZXBFeHBpcmVkVGltZXJCYXJzRm9yU2Vjb25kczogMC43LFxyXG4gIEJhckV4cGlyZXNTb29uU2Vjb25kczogNixcclxuICBNYXhOdW1iZXJPZlRpbWVyQmFyczogNixcclxuICBEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kczogMyxcclxuICBEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kczogMyxcclxuICBEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzOiAzLFxyXG4gIEFsYXJtU291bmRWb2x1bWU6IDEsXHJcbiAgQWxlcnRTb3VuZFZvbHVtZTogMSxcclxuICBJbmZvU291bmRWb2x1bWU6IDEsXHJcbiAgTG9uZ1NvdW5kVm9sdW1lOiAxLFxyXG4gIFB1bGxTb3VuZFZvbHVtZTogMSxcclxuICBSdW1ibGVFbmFibGVkOiBmYWxzZSxcclxuICBJbmZvUnVtYmxlRHVyYXRpb246IDQwMCxcclxuICBJbmZvUnVtYmxlV2VhazogMC41LFxyXG4gIEluZm9SdW1ibGVTdHJvbmc6IDAsXHJcbiAgQWxlcnRSdW1ibGVEdXJhdGlvbjogNTAwLFxyXG4gIEFsZXJ0UnVtYmxlV2VhazogMCxcclxuICBBbGVydFJ1bWJsZVN0cm9uZzogMC41LFxyXG4gIEFsYXJtUnVtYmxlRHVyYXRpb246IDc1MCxcclxuICBBbGFybVJ1bWJsZVdlYWs6IDAuNzUsXHJcbiAgQWxhcm1SdW1ibGVTdHJvbmc6IDAuNzUsXHJcbiAgY2FjdGJvdFdvcm1ob2xlU3RyYXQ6IGZhbHNlLFxyXG4gIGNhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdDogZmFsc2UsXHJcbn07XHJcbnR5cGUgUmFpZGJvc3NDb25maWdPcHRpb25zID0gdHlwZW9mIGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnM7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhaWRib3NzT3B0aW9uc1xyXG4gIGV4dGVuZHMgQmFzZU9wdGlvbnMsIFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucywgUmFpZGJvc3NDb25maWdPcHRpb25zIHt9XHJcblxyXG4vLyBTZWUgdXNlci9yYWlkYm9zcy1leGFtcGxlLmpzIGZvciBkb2N1bWVudGF0aW9uLlxyXG5jb25zdCBPcHRpb25zOiBSYWlkYm9zc09wdGlvbnMgPSB7XHJcbiAgLi4uVXNlckNvbmZpZy5nZXREZWZhdWx0QmFzZU9wdGlvbnMoKSxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zLFxyXG4gIC4uLmRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBPcHRpb25zO1xyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuL25vdF9yZWFjaGVkJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRpbWVyQmFyIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xyXG4gIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBmb3JlZ3JvdW5kRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgYmFja2dyb3VuZEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGxlZnRUZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgY2VudGVyVGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHJpZ2h0VGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2R1cmF0aW9uOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfc3RhcnQ6IG51bWJlcjtcclxuICBwcml2YXRlIF93aWR0aDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hlaWdodDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2JnOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfZmc6IHN0cmluZztcclxuICBwcml2YXRlIF90b3dhcmRSaWdodDogYm9vbGVhbjtcclxuICBwcml2YXRlIF9maWxsOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2xlZnRUZXh0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY2VudGVyVGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JpZ2h0VGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hpZGVBZnRlcjogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2xvb3A6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfY29ubmVjdGVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2hpZGVUaW1lcjogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ2R1cmF0aW9uJyxcclxuICAgICAgJ3ZhbHVlJyxcclxuICAgICAgJ2VsYXBzZWQnLFxyXG4gICAgICAnaGlkZWFmdGVyJyxcclxuICAgICAgJ2xlZnR0ZXh0JyxcclxuICAgICAgJ2NlbnRlcnRleHQnLFxyXG4gICAgICAncmlnaHR0ZXh0JyxcclxuICAgICAgJ3dpZHRoJyxcclxuICAgICAgJ2hlaWdodCcsXHJcbiAgICAgICdiZycsXHJcbiAgICAgICdmZycsXHJcbiAgICAgICdzdHlsZWZpbGwnLFxyXG4gICAgICAndG93YXJkJyxcclxuICAgICAgJ2xvb3AnLFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8qKiBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgVGltZXJCYXIgd2l0aCBhdHRyaWJ1dGVzICovXHJcbiAgc3RhdGljIGNyZWF0ZShvPzoge1xyXG4gICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgICB2YWx1ZT86IG51bWJlcjtcclxuICAgIGVsYXBzZWQ/OiBudW1iZXI7XHJcbiAgICBoaWRlYWZ0ZXI/OiBudW1iZXI7XHJcbiAgICBsZWZ0dGV4dD86IHN0cmluZztcclxuICAgIGNlbnRlcnRleHQ/OiBzdHJpbmc7XHJcbiAgICByaWdodHRleHQ/OiBzdHJpbmc7XHJcbiAgICB3aWR0aD86IHN0cmluZztcclxuICAgIGhlaWdodD86IHN0cmluZztcclxuICAgIGJnPzogc3RyaW5nO1xyXG4gICAgZmc/OiBzdHJpbmc7XHJcbiAgICBzdHlsZWZpbGw/OiAnZW1wdHknIHwgJ2ZpbGwnO1xyXG4gICAgdG93YXJkPzogJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICAgIGxvb3A/OiBib29sZWFuO1xyXG4gIH0pOiBUaW1lckJhciB7XHJcbiAgICBpZiAoIXdpbmRvdy5jdXN0b21FbGVtZW50cy5nZXQoJ3RpbWVyLWJhcicpKVxyXG4gICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0aW1lci1iYXInLCBUaW1lckJhcik7XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RpbWVyLWJhcicpO1xyXG4gICAgaWYgKCFvKVxyXG4gICAgICByZXR1cm4gZWxlbWVudDtcclxuXHJcbiAgICBpZiAodHlwZW9mIG8uZHVyYXRpb24gPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmR1cmF0aW9uID0gby5kdXJhdGlvbjtcclxuICAgIGlmICh0eXBlb2Ygby52YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgIGVsZW1lbnQudmFsdWUgPSBvLnZhbHVlO1xyXG4gICAgaWYgKHR5cGVvZiBvLmVsYXBzZWQgPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmVsYXBzZWQgPSBvLmVsYXBzZWQ7XHJcbiAgICBpZiAodHlwZW9mIG8uaGlkZWFmdGVyID09PSAnbnVtYmVyJylcclxuICAgICAgZWxlbWVudC5oaWRlYWZ0ZXIgPSBvLmhpZGVhZnRlcjtcclxuICAgIGlmICh0eXBlb2Ygby5sZWZ0dGV4dCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQubGVmdHRleHQgPSBvLmxlZnR0ZXh0O1xyXG4gICAgaWYgKHR5cGVvZiBvLmNlbnRlcnRleHQgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmNlbnRlcnRleHQgPSBvLmNlbnRlcnRleHQ7XHJcbiAgICBpZiAodHlwZW9mIG8ucmlnaHR0ZXh0ID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5yaWdodHRleHQgPSBvLnJpZ2h0dGV4dDtcclxuICAgIGlmICh0eXBlb2Ygby53aWR0aCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQud2lkdGggPSBvLndpZHRoO1xyXG4gICAgaWYgKHR5cGVvZiBvLmhlaWdodCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuaGVpZ2h0ID0gby5oZWlnaHQ7XHJcbiAgICBpZiAodHlwZW9mIG8uYmcgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmJnID0gby5iZztcclxuICAgIGlmICh0eXBlb2Ygby5mZyA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuZmcgPSBvLmZnO1xyXG4gICAgaWYgKHR5cGVvZiBvLnN0eWxlZmlsbCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuc3R5bGVmaWxsID0gby5zdHlsZWZpbGw7XHJcbiAgICBpZiAodHlwZW9mIG8udG93YXJkID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC50b3dhcmQgPSBvLnRvd2FyZDtcclxuICAgIGlmICh0eXBlb2Ygby5sb29wID09PSAnYm9vbGVhbicpXHJcbiAgICAgIGVsZW1lbnQubG9vcCA9IG8ubG9vcDtcclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gQmFja2dyb3VuZCBjb2xvci5cclxuICBzZXQgYmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdiZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGJnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdiZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9yZWdyb3VuZCBjb2xvci5cclxuICBzZXQgZmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdmZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGZnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdmZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHdpZHRoIG9mIHRoZSBiYXIuXHJcbiAgc2V0IHdpZHRoKHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgdyk7XHJcbiAgfVxyXG4gIGdldCB3aWR0aCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBoZWlnaHQgb2YgdGhlIGJhci5cclxuICBzZXQgaGVpZ2h0KHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCB3KTtcclxuICB9XHJcbiAgZ2V0IGhlaWdodCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdG90YWwgbGVuZ3RoIG9mIHRpbWUgdG8gY291bnQgZG93bi5cclxuICBzZXQgZHVyYXRpb24oczogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkdXJhdGlvbicpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZHVyYXRpb24nLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZHVyYXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2R1cmF0aW9uJyk7XHJcbiAgICBpZiAocyA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdChzKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBsZW5ndGggcmVtYWluaW5nIGluIHRoZSBjb3VudCBkb3duLlxyXG4gIHNldCB2YWx1ZShzOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHMudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHJldHVybiB0aGlzLl9kdXJhdGlvbjtcclxuICAgIGNvbnN0IGVsYXBzZWRNcyA9IERhdGUubm93KCkgLSB0aGlzLl9zdGFydDtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIChlbGFwc2VkTXMgLyAxMDAwKSk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgZWxhcHNlZCB0aW1lLlxyXG4gIHNldCBlbGFwc2VkKHM6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2VsYXBzZWQnLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZWxhcHNlZCgpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aGlzLl9zdGFydClcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICByZXR1cm4gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJyaWdodFwiIHRoZW4gYW5pbWF0ZXMgbGVmdC10by1yaWdodCAodGhlIGRlZmF1bHQpLiBJZiBcImxlZnRcIlxyXG4gIC8vIHRoZW4gYW5pbWF0ZXMgcmlnaHQtdG8tbGVmdC5cclxuICBzZXQgdG93YXJkKHQ6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsKSB7XHJcbiAgICBpZiAodCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3Rvd2FyZCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndG93YXJkJywgdCk7XHJcbiAgfVxyXG4gIGdldCB0b3dhcmQoKTogJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCd0b3dhcmQnKSBhcyAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJmaWxsXCIgdGhlbiB0aGUgcHJvZ3Jlc3MgZ29lcyBlbXB0eS10by1mdWxsLCBpZiBcImVtcHR5XCIgdGhlbiB0aGVcclxuICAvLyBwcm9ncmVzcyBiYXIgc3RhcnRzIGZ1bGwgYW5kIGdvZXMgdG8gZW1wdHkuXHJcbiAgc2V0IHN0eWxlZmlsbChzOiAnZW1wdHknIHwgJ2ZpbGwnIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdzdHlsZWZpbGwnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3N0eWxlZmlsbCcsIHMpO1xyXG4gIH1cclxuICBnZXQgc3R5bGVmaWxsKCk6ICdlbXB0eScgfCAnZmlsbCcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnc3R5bGVmaWxsJykgYXMgJ2VtcHR5JyB8ICdmaWxsJztcclxuICB9XHJcblxyXG4gIC8vIFdoZW4gdGhlIGJhciByZWFjaGVzIDAsIGl0IGlzIGhpZGRlbiBhZnRlciB0aGlzIG1hbnkgc2Vjb25kcy4gSWYgbnVsbFxyXG4gIC8vIHRoZW4gaXQgaXMgbm90IGhpZGRlbi5cclxuICBzZXQgaGlkZWFmdGVyKGg6IG51bWJlciB8IG51bGwpIHtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZWFmdGVyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInLCBoLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgaGlkZWFmdGVyKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgY29uc3QgaCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInKTtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBwYXJzZUludChoKTtcclxuICB9XHJcblxyXG4gIC8vIENob29zZXMgd2hhdCBzaG91bGQgYmUgc2hvd24gaW4gdGhlIHRleHQgZmllbGQgaW4gZWFjaCBhcmVhIG9mXHJcbiAgLy8gdGhlIGJhci4gQ2FuIGJlIG9uZSBvZjpcclxuICAvLyBlbXB0eSAtIG5vdGhpbmcgaXMgc2hvd24uXHJcbiAgLy8gXCJyZW1haW5cIiAtIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cclxuICAvLyBcImR1cmF0aW9uXCIgLSBzaG93cyB0aGUgcmVtYWluaW5nIGFuZCB0b3RhbCBkdXJhdGlvbiB0aW1lXHJcbiAgLy8gICAgICAgICAgICAgIG9mIHRoZSBiYXIuXHJcbiAgLy8gXCJwZXJjZW50XCIgLSBzaG93cyB0aGUgcGVyY2VudGFnZSBvZiByZW1haW5pbmcgdGltZSB0b1xyXG4gIC8vICAgICAgICAgICAgIHRoZSBkdXJhdGlvbi5cclxuICAvLyBcImVsYXBzZWRcIiAgIC0gc2hvd3MgdGhlIGVsYXBzZWQgdGltZVxyXG4gIC8vIGFueXRoaW5nIGVsc2UgLSB0aGUgZ2l2ZW4gdGV4dCBpcyBzaG93biBsaXRlcmFsbHkuXHJcbiAgc2V0IGxlZnR0ZXh0KHA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChwID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xlZnR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCBsZWZ0dGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICB9XHJcbiAgc2V0IHJpZ2h0dGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncmlnaHR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCByaWdodHRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gIH1cclxuICBzZXQgY2VudGVydGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnLCBwKTtcclxuICB9XHJcbiAgZ2V0IGNlbnRlcnRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQsIHRoZSB0aW1lciB3aWxsIGxvb3AgZm9yZXZlci5cclxuICBzZXQgbG9vcChsOiBib29sZWFuKSB7XHJcbiAgICBpZiAobClcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xvb3AnLCAnJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG4gIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIHdvdWxkIGJlIHVzZWQgd2l0aCB3aW5kb3cuY3VzdG9tRWxlbWVudHMuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pO1xyXG4gICAgdGhpcy5pbml0KHJvb3QpO1xyXG5cclxuICAgIHRoaXMuX2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8vIERlZmF1bHQgdmFsdWVzLlxyXG4gICAgdGhpcy5fc3RhcnQgPSAwO1xyXG4gICAgdGhpcy5fZHVyYXRpb24gPSAwO1xyXG4gICAgdGhpcy5fd2lkdGggPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9iZyA9ICdibGFjayc7XHJcbiAgICB0aGlzLl9mZyA9ICd5ZWxsb3cnO1xyXG4gICAgdGhpcy5fdG93YXJkUmlnaHQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2ZpbGwgPSBmYWxzZTtcclxuICAgIHRoaXMuX2xlZnRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9jZW50ZXJUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9yaWdodFRleHQgPSAnJztcclxuICAgIHRoaXMuX2hpZGVBZnRlciA9IC0xO1xyXG4gICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gMDtcclxuXHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgncm9vdCcpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ2ZnJykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLmJhY2tncm91bmRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnYmcnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMubGVmdFRleHRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnbGVmdHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdjZW50ZXJ0ZXh0JykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICB9XHJcblxyXG4gIGluaXQocm9vdDogU2hhZG93Um9vdCk6IHZvaWQge1xyXG4gICAgcm9vdC5pbm5lckhUTUwgPSBgXHJcbiAgICAgIDxzdHlsZT5cclxuICAgICAgICAudGltZXJiYXItcm9vdCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMS4wO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogYXJpYWw7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAtMXB4IDAgM3B4IGJsYWNrLCAwIDFweCAzcHggYmxhY2ssIDFweCAwIDNweCBibGFjaywgMCAtMXB4IDNweCBibGFjaztcclxuICAgICAgICAgIHdpbGwtY2hhbmdlOiBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEuMmV4KTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWxlZnR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItY2VudGVydGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4IDAuNGVtIDBweCAwLjRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMjAwOCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0FBNkUwMyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwICNBQTZFMDM7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIGhlaWdodDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW46IDFweDtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5za2luLWxpcHBlKSAudGV4dCB7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzpcclxuICAgICAgICAgICAgMCAwIDNweCAjQUE2RTAzLFxyXG4gICAgICAgICAgICAwIDFweCAzcHggI0FBNkUwMyxcclxuICAgICAgICAgICAgMCAtMXB4IDNweCAjQUE2RTAzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguanVzdC1hLW51bWJlcikgLnRpbWVyYmFyLWJnIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1mZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBLb3JlYW4gYmV0dGVyIHZpc2liaWxpdHkgQ1NTICovXHJcbiAgICAgICAgOmxhbmcoa28pIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMS41ZXgpO1xyXG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjNleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpsYW5nKGtvKSAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHRvcDogMC4zZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3N0eWxlPlxyXG4gICAgICA8ZGl2IGlkPVwicm9vdFwiIGNsYXNzPVwidGltZXJiYXItcm9vdFwiPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJiZ1wiIGNsYXNzPVwidGltZXJiYXItYmdcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGlkPVwiZmdcIiBjbGFzcz1cInRpbWVyYmFyLWZnXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImxlZnR0ZXh0XCIgY2xhc3M9XCJ0ZXh0IHRpbWVyYmFyLWxlZnR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImNlbnRlcnRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItY2VudGVydGV4dFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRhaW5lclwiPjxkaXYgaWQ9XCJyaWdodHRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItcmlnaHR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYDtcclxuICB9XHJcblxyXG4gIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBfb2xkVmFsdWU6IHN0cmluZyB8IG51bWJlciwgbmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG5hbWUgPT09ICdkdXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5fZHVyYXRpb24gPSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCk7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAndmFsdWUnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUoTWF0aC5tYXgocGFyc2VGbG9hdChuZXdWYWx1ZSksIDApKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2VsYXBzZWQnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gLSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCkpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnd2lkdGgnKSB7XHJcbiAgICAgIHRoaXMuX3dpZHRoID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoZWlnaHQnKSB7XHJcbiAgICAgIHRoaXMuX2hlaWdodCA9IG5ld1ZhbHVlO1xyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnYmcnKSB7XHJcbiAgICAgIHRoaXMuX2JnID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdmZycpIHtcclxuICAgICAgdGhpcy5fZmcgPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3N0eWxlZmlsbCcpIHtcclxuICAgICAgdGhpcy5fZmlsbCA9IG5ld1ZhbHVlID09PSAnZmlsbCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd0b3dhcmQnKSB7XHJcbiAgICAgIHRoaXMuX3Rvd2FyZFJpZ2h0ID0gbmV3VmFsdWUgPT09ICdyaWdodCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsZWZ0dGV4dCcpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0gbmV3VmFsdWUgIT09IHRoaXMuX2xlZnRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fbGVmdFRleHQgPSBuZXdWYWx1ZTtcclxuICAgICAgaWYgKHVwZGF0ZSlcclxuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2NlbnRlcnRleHQnKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IG5ld1ZhbHVlICE9PSB0aGlzLl9jZW50ZXJUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fY2VudGVyVGV4dCA9IG5ld1ZhbHVlO1xyXG4gICAgICBpZiAodXBkYXRlKVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncmlnaHR0ZXh0Jykge1xyXG4gICAgICBjb25zdCB1cGRhdGUgPSBuZXdWYWx1ZSAhPT0gdGhpcy5fcmlnaHRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fcmlnaHRUZXh0ID0gbmV3VmFsdWU7XHJcbiAgICAgIGlmICh1cGRhdGUpXHJcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoaWRlYWZ0ZXInKSB7XHJcbiAgICAgIHRoaXMuX2hpZGVBZnRlciA9IE1hdGgubWF4KHRoaXMuaGlkZWFmdGVyID8/IDAsIDApO1xyXG4gICAgICBpZiAodGhpcy52YWx1ZSA9PT0gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPj0gMClcclxuICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsb29wJykge1xyXG4gICAgICB0aGlzLl9sb29wID0gbmV3VmFsdWUgIT09IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5kcmF3KCk7XHJcbiAgfVxyXG5cclxuICBsYXlvdXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuYmFja2dyb3VuZEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fYmc7XHJcbiAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuX2ZnO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLl9oZWlnaHQ7XHJcblxyXG4gICAgLy8gVG8gc3RhcnQgZnVsbCBhbmQgYW5pbWF0ZSB0byBlbXB0eSwgd2UgYW5pbWF0ZSBiYWNrd2FyZHMgYW5kIGZsaXBcclxuICAgIC8vIHRoZSBkaXJlY3Rpb24uXHJcbiAgICBpZiAodGhpcy5fdG93YXJkUmlnaHQgIT09IHRoaXMuX2ZpbGwpIHtcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS5sZWZ0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUucmlnaHQgPSAnMHB4JztcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAncmlnaHQgY2VudGVyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xyXG4gICAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLnJpZ2h0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUudHJhbnNmb3JtT3JpZ2luID0gJ2xlZnQgY2VudGVyJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRleHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YXJ5aW5nVGV4dHMgPSBbJ2VsYXBzZWQnLCAnZHVyYXRpb24nLCAncGVyY2VudCcsICdyZW1haW4nXTtcclxuICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgZmlsbGVkIGluIGR1cmluZyBkcmF3KCkgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX2xlZnRUZXh0KSkge1xyXG4gICAgICAvLyBPdGhlcndpc2UgdGhlIHZhbHVlIGlzIGZpeGVkIHNvIGl0IGNhbiBiZSBzZXQgaGVyZS5cclxuICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fbGVmdFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIXZhcnlpbmdUZXh0cy5pbmNsdWRlcyh0aGlzLl9jZW50ZXJUZXh0KSlcclxuICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9jZW50ZXJUZXh0O1xyXG5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX3JpZ2h0VGV4dCkpXHJcbiAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9yaWdodFRleHQ7XHJcbiAgfVxyXG5cclxuICBkcmF3KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWxhcHNlZFNlYyA9IChEYXRlLm5vdygpIC0gdGhpcy5fc3RhcnQpIC8gMTAwMDtcclxuICAgIGNvbnN0IHJlbWFpblNlYyA9IE1hdGgubWF4KDAsIHRoaXMuX2R1cmF0aW9uIC0gZWxhcHNlZFNlYyk7XHJcbiAgICBsZXQgcGVyY2VudCA9IHRoaXMuX2R1cmF0aW9uIDw9IDAgPyAwIDogcmVtYWluU2VjIC8gdGhpcy5fZHVyYXRpb247XHJcbiAgICAvLyBLZWVwIGl0IGJldHdlZW4gMCBhbmQgMS5cclxuICAgIHBlcmNlbnQgPSBNYXRoLm1pbigxLCBNYXRoLm1heCgwLCBwZXJjZW50KSk7XHJcbiAgICBjb25zdCBkaXNwbGF5UmVtYWluID0gcmVtYWluU2VjID8gcmVtYWluU2VjLnRvRml4ZWQoMSkgOiAnJztcclxuICAgIGNvbnN0IGRpc3BsYXlFbGFwc2VkID0gZWxhcHNlZFNlYy50b0ZpeGVkKDEpO1xyXG4gICAgaWYgKHRoaXMuX2ZpbGwpXHJcbiAgICAgIHBlcmNlbnQgPSAxLjAgLSBwZXJjZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgc2NhbGVYKCR7cGVyY2VudC50b0ZpeGVkKDMpfSlgO1xyXG4gICAgaWYgKHRoaXMuX2xlZnRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdyZW1haW4nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlSZW1haW47XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2xlZnRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAke2Rpc3BsYXlSZW1haW59IC8gJHt0aGlzLl9kdXJhdGlvbn1gO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9sZWZ0VGV4dCA9PT0gJ3BlcmNlbnQnKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdlbGFwc2VkJylcclxuICAgICAgICB0aGlzLmxlZnRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5RWxhcHNlZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jZW50ZXJUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ3JlbWFpbicpXHJcbiAgICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5UmVtYWluO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9jZW50ZXJUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7ZGlzcGxheVJlbWFpbn0gLyAke3RoaXMuX2R1cmF0aW9ufWA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2NlbnRlclRleHQgPT09ICdwZXJjZW50JylcclxuICAgICAgICB0aGlzLmNlbnRlclRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ2VsYXBzZWQnKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheUVsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fcmlnaHRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncmVtYWluJylcclxuICAgICAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheVJlbWFpbjtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBgJHtkaXNwbGF5UmVtYWlufSAvICR7dGhpcy5fZHVyYXRpb259YDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncGVyY2VudCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZWxhcHNlZCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlFbGFwc2VkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQXBwbHkgYWxsIHN0eWxlcyBmcm9tIGFuIG9iamVjdCB3aGVyZSBrZXlzIGFyZSBDU1MgcHJvcGVydGllc1xyXG4gIGFwcGx5U3R5bGVzKHN0eWxlczogeyBbczogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSBPYmplY3Qua2V5cyhzdHlsZXMpLm1hcCgoaykgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7a306JHtzdHlsZXM/LltrXSA/PyAnJ307YDtcclxuICAgIH0pLmpvaW4oJycpO1xyXG5cclxuICAgIGNvbnN0IGxlZnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdsZWZ0dGV4dCcpO1xyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnY2VudGVydGV4dCcpO1xyXG4gICAgY29uc3QgcmlnaHQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKTtcclxuICAgIGlmICghbGVmdCB8fCAhY2VudGVyIHx8ICFyaWdodClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgbGVmdC5zdHlsZS5jc3NUZXh0ICs9IHM7XHJcbiAgICBjZW50ZXIuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gICAgcmlnaHQuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gIH1cclxuXHJcbiAgc2V0dmFsdWUocmVtYWluU2VjOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsYXBzZWRTZWMgPSBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIHJlbWFpblNlYyk7XHJcbiAgICB0aGlzLl9zdGFydCA9IERhdGUubm93KCkgLSAoZWxhcHNlZFNlYyAqIDEwMDApO1xyXG5cclxuICAgIGlmICghdGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVyID8/IDApO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGFkdmFuY2UoKTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGUgZWxlbWVudCBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NLCBzdG9wIHJlcXVlc3RpbmcgYW5pbWF0aW9uIGZyYW1lc1xyXG4gICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBlbGFwc2VkU2VjID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gICAgaWYgKGVsYXBzZWRTZWMgPj0gdGhpcy5fZHVyYXRpb24pIHtcclxuICAgICAgLy8gVGltZXIgY29tcGxldGVkXHJcbiAgICAgIGlmICh0aGlzLl9sb29wICYmIHRoaXMuX2R1cmF0aW9uID4gMCkge1xyXG4gICAgICAgIC8vIFNldHMgdGhlIHJlbWFpbmluZyB0aW1lIHRvIGluY2x1ZGUgYW55IGV4dHJhIGVsYXBzZWQgc2Vjb25kcyBwYXN0IHRoZSBkdXJhdGlvblxyXG4gICAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gKyAodGhpcy5fZHVyYXRpb24gLSBlbGFwc2VkU2VjKSAlIHRoaXMuX2R1cmF0aW9uKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNldHMgdGhlIGF0dHJpYnV0ZSB0byAwIHNvIHVzZXJzIGNhbiBzZWUgdGhlIGNvdW50ZXIgaXMgZG9uZSwgYW5kXHJcbiAgICAgIC8vIGlmIHRoZXkgc2V0IHRoZSBzYW1lIGR1cmF0aW9uIGFnYWluIGl0IHdpbGwgY291bnQuXHJcbiAgICAgIHRoaXMuX2R1cmF0aW9uID0gMDtcclxuICAgICAgaWYgKHRoaXMuX2hpZGVBZnRlciA+IDApXHJcbiAgICAgICAgdGhpcy5faGlkZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQodGhpcy5oaWRlLmJpbmQodGhpcyksIHRoaXMuX2hpZGVBZnRlciAqIDEwMDApO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPT09IDApXHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaW1lciBub3QgY29tcGxldGVkLCByZXF1ZXN0IGFub3RoZXIgYW5pbWF0aW9uIGZyYW1lXHJcbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hZHZhbmNlLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJhdygpO1xyXG4gIH1cclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHRoaXMucm9vdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcbiAgfVxyXG5cclxuICBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIH1cclxufVxyXG5cclxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGltZXItYmFyJywgVGltZXJCYXIpO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xyXG4gICAgJ3RpbWVyLWJhcic6IFRpbWVyQmFyO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCB7IExhbmcgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBOZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG4vLyBGaWxsIGluIExvY2FsZVJlZ2V4IHNvIHRoYXQgdGhpbmdzIGxpa2UgTG9jYWxlUmVnZXguY291bnRkb3duU3RhcnQuZGUgaXMgYSB2YWxpZCByZWdleC5cclxuY29uc3QgbG9jYWxlTGluZXMgPSB7XHJcbiAgY291bnRkb3duU3RhcnQ6IHtcclxuICAgIGVuOiAnQmF0dGxlIGNvbW1lbmNpbmcgaW4gKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZHMhIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuIGJpcyBLYW1wZmJlZ2lubiEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICAgIGZyOiAnRMOpYnV0IGR1IGNvbWJhdCBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT8hIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni+OBvuOBpyg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBjbjogJ+i3neemu+aImOaWl+W8gOWni+i/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEgKD88dGltZT5cXFxceXtGbG9hdH0p7LSIIOyghCEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkVuZ2FnZToge1xyXG4gICAgZW46ICdFbmdhZ2UhJyxcclxuICAgIGRlOiAnU3RhcnQhJyxcclxuICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWVbIF0/IScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICBjbjogJ+aImOaWl+W8gOWni++8gScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEhJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkNhbmNlbDoge1xyXG4gICAgZW46ICdDb3VudGRvd24gY2FuY2VsZWQgYnkgKD88cGxheWVyPlxcXFx5e05hbWV9KScsXHJcbiAgICBkZTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkgaGF0IGRlbiBDb3VudGRvd24gYWJnZWJyb2NoZW4nLFxyXG4gICAgZnI6ICdMZSBjb21wdGUgw6AgcmVib3VycyBhIMOpdMOpIGludGVycm9tcHUgcGFyICg/PHBsYXllcj5cXFxceXtOYW1lfSlbIF0/XFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44Gr44KI44KK44CB5oim6ZeY6ZaL5aeL44Kr44Km44Oz44OI44GM44Kt44Oj44Oz44K744Or44GV44KM44G+44GX44Gf44CCJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeWPlua2iOS6huaImOaWl+W8gOWni+WAkuiuoeaXtuOAgicsXHJcbiAgICBrbzogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkg64uY7J20IOy0iOydveq4sOulvCDst6jshoztlojsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICBhcmVhU2VhbDoge1xyXG4gICAgZW46ICcoPzxhcmVhPi4qPykgd2lsbCBiZSBzZWFsZWQgb2ZmIGluICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRzIScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuLCBiaXMgc2ljaCAoPzxhcmVhPi4qPykgc2NobGllw590JyxcclxuICAgIGZyOiAnRmVybWV0dXJlICg/PGFyZWE+Lio/KSBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT9cXFxcLicsXHJcbiAgICBqYTogJyg/PGFyZWE+Lio/KeOBruWwgemOluOBvuOBp+OBguOBqCg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBjbjogJ+i3nSg/PGFyZWE+Lio/Keiiq+WwgemUgei/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBrbzogJyg/PHRpbWU+XFxcXHl7RmxvYXR9Key0iCDtm4Tsl5AgKD88YXJlYT4uKj8pKOydtHzqsIApIOu0ieyHhOuQqeuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIGFyZWFVbnNlYWw6IHtcclxuICAgIGVuOiAnKD88YXJlYT4uKj8pIGlzIG5vIGxvbmdlciBzZWFsZWQuJyxcclxuICAgIGRlOiAnKD88YXJlYT4uKj8pIMO2ZmZuZXQgc2ljaCBlcm5ldXQuJyxcclxuICAgIGZyOiAnT3V2ZXJ0dXJlICg/PGFyZWE+Lio/KVsgXT8hJyxcclxuICAgIGphOiAnKD88YXJlYT4uKj8p44Gu5bCB6Y6W44GM6Kej44GL44KM44Gf4oCm4oCmJyxcclxuICAgIGNuOiAnKD88YXJlYT4uKj8p55qE5bCB6ZSB6Kej6Zmk5LqGJyxcclxuICAgIGtvOiAnKD88YXJlYT4uKj8p7J2YIOu0ieyHhOqwgCDtlbTsoJzrkJjsl4jsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICAvLyBSZWNpcGUgbmFtZSBhbHdheXMgc3RhcnQgd2l0aCBcXHVlMGJiXHJcbiAgLy8gSFEgaWNvbiBpcyBcXHVlMDNjXHJcbiAgY3JhZnRpbmdTdGFydDoge1xyXG4gICAgZW46ICdZb3UgYmVnaW4gc3ludGhlc2l6aW5nICg/PGNvdW50Pihhbj98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGJlZ29ubmVuLCBkdXJjaCBTeW50aGVzZSAoPzxjb3VudD4oZWluKGV8ZXN8ZW18ZXIpP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikgaGVyenVzdGVsbGVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiDDoCBmYWJyaXF1ZXIgKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKikow5coPzxjb3VudD5cXFxcZCspKT/jga7oo73kvZzjgpLplovlp4vjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5byA5aeL5Yi25L2c4oCcXFx1ZTBiYig/PHJlY2lwZT4uKinigJ0ow5coPzxjb3VudD5cXFxcZCspKT/jgIInLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSjDlyg/PGNvdW50PlxcXFxkKynqsJwpPyDsoJzsnpHsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgdHJpYWxDcmFmdGluZ1N0YXJ0OiB7XHJcbiAgICBlbjogJ1lvdSBiZWdpbiB0cmlhbCBzeW50aGVzaXMgb2YgXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBkZTogJ0R1IGhhc3QgbWl0IGRlciBUZXN0c3ludGhlc2Ugdm9uIFxcdWUwYmIoPzxyZWNpcGU+LiopIGJlZ29ubmVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiB1bmUgc3ludGjDqHNlIGRcXCdlc3NhaSBwb3VyIHVuZT8gXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga9cXHVlMGJiKD88cmVjaXBlPi4qKeOBruijveS9nOe3tOe/kuOCkumWi+Wni+OBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlvIDlp4vnu4PkuaDliLbkvZxcXHVlMGJiKD88cmVjaXBlPi4qKeOAgicsXHJcbiAgICBrbzogJ1xcdWUwYmIoPzxyZWNpcGU+LiopIOygnOyekSDsl7DsirXsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgY3JhZnRpbmdGaW5pc2g6IHtcclxuICAgIGVuOiAnWW91IHN5bnRoZXNpemUgKD88Y291bnQ+KGFuP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikoXFx1ZTAzYyk/XFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGVyZm9sZ3JlaWNoICg/PGNvdW50PihlaW4oZXxlc3xlbXxlcik/fFxcXFxkKykgKT8oPzxyZWNpcGU+LiopKFxcdWUwM2MpPyBoZXJnZXN0ZWxsdFxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBmYWJyaXF1ZXogKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpP1xcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpPyjDlyg/PGNvdW50PlxcXFxkKykpP+OCkuWujOaIkOOBleOBm+OBn++8gScsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnliLbkvZzigJxcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT/igJ0ow5coPzxjb3VudD5cXFxcZCspKT/miJDlip/vvIEnLFxyXG4gICAga286ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0pIOuLmOydtCBcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT8ow5coPzxjb3VudD5cXFxcZCsp6rCcKT8o7J2EfOulvCkg7JmE7ISx7ZaI7Iq164uI64ukIScsXHJcbiAgfSxcclxuICB0cmlhbENyYWZ0aW5nRmluaXNoOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIHByb3ZlZCBhIHN1Y2Nlc3MhJyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgd2FyIGVyZm9sZ3JlaWNoIScsXHJcbiAgICBmcjogJ1ZvdHJlIHN5bnRow6hzZSBkXFwnZXNzYWkgcG91ciBmYWJyaXF1ZXIgXFx1ZTBiYig/PHJlY2lwZT4uKikgYSDDqXTDqSBjb3Vyb25uw6llIGRlIHN1Y2PDqHMhJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+Liop44Gu6KO95L2c57e057+S44Gr5oiQ5Yqf44GX44Gf77yBJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9Kee7g+S5oOWItuS9nFxcdWUwYmIoPzxyZWNpcGU+Liop5oiQ5Yqf5LqG77yBJyxcclxuICAgIGtvOiAnXFx1ZTBiYig/PHJlY2lwZT4uKikg7KCc7J6RIOyXsOyKteyXkCDshLHqs7XtlojsirXri4jri6QhJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nRmFpbDoge1xyXG4gICAgZW46ICdZb3VyIHN5bnRoZXNpcyBmYWlscyEnLFxyXG4gICAgZGU6ICdEZWluZSBTeW50aGVzZSBpc3QgZmVobGdlc2NobGFnZW4hJyxcclxuICAgIGZyOiAnTGEgc3ludGjDqHNlIMOpY2hvdWVcXFxcLnszfScsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Yi25L2c5aSx6LSl5LqG4oCm4oCmJyxcclxuICAgIGtvOiAn7KCc7J6R7JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdGYWlsOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIGZhaWxlZFxcXFwuezN9JyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgaXN0IGZlaGxnZXNjaGxhZ2VuXFxcXC57M30nLFxyXG4gICAgZnI6XHJcbiAgICAgICdWb3RyZSBzeW50aMOoc2UgZFxcJ2Vzc2FpIHBvdXIgZmFicmlxdWVyIFxcdWUwYmIoPzxyZWNpcGU+LiopIHNcXCdlc3Qgc29sZMOpZSBwYXIgdW4gw6ljaGVjXFxcXC57M30nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKinjga7oo73kvZznt7Tnv5LjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p57uD5Lmg5Yi25L2cXFx1ZTBiYig/PHJlY2lwZT4uKinlpLHotKXkuobigKbigKYnLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSDsoJzsnpEg7Jew7Iq17JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nQ2FuY2VsOiB7XHJcbiAgICBlbjogJ1lvdSBjYW5jZWwgdGhlIHN5bnRoZXNpc1xcXFwuJyxcclxuICAgIGRlOiAnRHUgaGFzdCBkaWUgU3ludGhlc2UgYWJnZWJyb2NoZW5cXFxcLicsXHJcbiAgICBmcjogJ0xhIHN5bnRow6hzZSBlc3QgYW5udWzDqWVcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgpLkuK3mraLjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Lit5q2i5LqG5Yi25L2c5L2c5Lia44CCJyxcclxuICAgIGtvOiAn7KCc7J6R7J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdDYW5jZWw6IHtcclxuICAgIGVuOiAnWW91IGFiYW5kb25lZCB0cmlhbCBzeW50aGVzaXNcXFxcLicsXHJcbiAgICBkZTogJ1Rlc3RzeW50aGVzZSBhYmdlYnJvY2hlblxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBhdmV6IGludGVycm9tcHUgbGEgc3ludGjDqHNlIGRcXCdlc3NhaVxcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr+ijveS9nOe3tOe/kuOCkuS4reatouOBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlgZzmraLkuobnu4PkuaDjgIInLFxyXG4gICAga286ICfsoJzsnpEg7Jew7Iq17J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxudHlwZSBMb2NhbGVMaW5lID0geyBlbjogc3RyaW5nIH0gJiBQYXJ0aWFsPFJlY29yZDxFeGNsdWRlPExhbmcsICdlbic+LCBzdHJpbmc+PjtcclxuXHJcbnR5cGUgTG9jYWxlUmVnZXhlc09iaiA9IFJlY29yZDxrZXlvZiB0eXBlb2YgbG9jYWxlTGluZXMsIFJlY29yZDxMYW5nLCBSZWdFeHA+PjtcclxuXHJcbmNsYXNzIFJlZ2V4U2V0IHtcclxuICByZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuICBuZXRSZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuXHJcbiAgZ2V0IGxvY2FsZVJlZ2V4KCk6IExvY2FsZVJlZ2V4ZXNPYmoge1xyXG4gICAgaWYgKHRoaXMucmVnZXhlcylcclxuICAgICAgcmV0dXJuIHRoaXMucmVnZXhlcztcclxuICAgIHRoaXMucmVnZXhlcyA9IHRoaXMuYnVpbGRMb2NhbGVSZWdleGVzKFxyXG4gICAgICBsb2NhbGVMaW5lcyxcclxuICAgICAgKHM6IHN0cmluZykgPT4gUmVnZXhlcy5nYW1lTG9nKHsgbGluZTogcyArICcuKj8nIH0pLFxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLnJlZ2V4ZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9jYWxlTmV0UmVnZXgoKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICBpZiAodGhpcy5uZXRSZWdleGVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5uZXRSZWdleGVzO1xyXG4gICAgdGhpcy5uZXRSZWdleGVzID0gdGhpcy5idWlsZExvY2FsZVJlZ2V4ZXMoXHJcbiAgICAgIGxvY2FsZUxpbmVzLFxyXG4gICAgICAoczogc3RyaW5nKSA9PiBOZXRSZWdleGVzLmdhbWVMb2coeyBsaW5lOiBzICsgJ1tefF0qPycgfSksXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMubmV0UmVnZXhlcztcclxuICB9XHJcblxyXG4gIGJ1aWxkTG9jYWxlUmVnZXhlcyhcclxuICAgIGxvY2FsZXM6IHR5cGVvZiBsb2NhbGVMaW5lcyxcclxuICAgIGJ1aWxkZXI6IChzOiBzdHJpbmcpID0+IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4gfCBSZWdFeHAsXHJcbiAgKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICBPYmplY3RcclxuICAgICAgICAuZW50cmllcyhsb2NhbGVzKVxyXG4gICAgICAgIC5tYXAoKFtrZXksIGxpbmVzXSkgPT4gW2tleSwgdGhpcy5idWlsZExvY2FsZVJlZ2V4KGxpbmVzLCBidWlsZGVyKV0pLFxyXG4gICAgKSBhcyBMb2NhbGVSZWdleGVzT2JqO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRMb2NhbGVSZWdleChcclxuICAgIGxpbmVzOiBMb2NhbGVMaW5lLFxyXG4gICAgYnVpbGRlcjogKHM6IHN0cmluZykgPT4gQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cCxcclxuICApOiBSZWNvcmQ8TGFuZywgQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cD4ge1xyXG4gICAgY29uc3QgcmVnZXhFbiA9IGJ1aWxkZXIobGluZXMuZW4pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZW46IHJlZ2V4RW4sXHJcbiAgICAgIGRlOiBsaW5lcy5kZSA/IGJ1aWxkZXIobGluZXMuZGUpIDogcmVnZXhFbixcclxuICAgICAgZnI6IGxpbmVzLmZyID8gYnVpbGRlcihsaW5lcy5mcikgOiByZWdleEVuLFxyXG4gICAgICBqYTogbGluZXMuamEgPyBidWlsZGVyKGxpbmVzLmphKSA6IHJlZ2V4RW4sXHJcbiAgICAgIGNuOiBsaW5lcy5jbiA/IGJ1aWxkZXIobGluZXMuY24pIDogcmVnZXhFbixcclxuICAgICAga286IGxpbmVzLmtvID8gYnVpbGRlcihsaW5lcy5rbykgOiByZWdleEVuLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHJlZ2V4U2V0ID0gbmV3IFJlZ2V4U2V0KCk7XHJcblxyXG5leHBvcnQgY29uc3QgTG9jYWxlUmVnZXggPSByZWdleFNldC5sb2NhbGVSZWdleDtcclxuZXhwb3J0IGNvbnN0IExvY2FsZU5ldFJlZ2V4ID0gcmVnZXhTZXQubG9jYWxlTmV0UmVnZXg7XHJcbiIsIi8vIFRPRE86IG1heWJlIHRoaXMgc2hvdWxkIGJlIHN0cnVjdHVyZWQgaWRlbnRpY2FsbHkgdG8gYSB0aW1lbGluZVJlcGxhY2Ugc2VjdGlvbi5cclxuXHJcbmltcG9ydCB7IExhbmcsIE5vbkVuTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5cclxuLy8gSXQncyBhd2t3YXJkIHRvIHJlZmVyIHRvIHRoZXNlIHN0cmluZyBrZXlzLCBzbyBuYW1lIHRoZW0gYXMgcmVwbGFjZVN5bmNba2V5cy5zZWFsS2V5XS5cclxuZXhwb3J0IGNvbnN0IHN5bmNLZXlzID0ge1xyXG4gIC8vIE1hdGNoIFJlZ2V4ZXMsIE5ldFJlZ2V4ZXMsIGFuZCB0aW1lbGluZSBjb25zdHJ1Y3Rpb25zIG9mIHNlYWwgbG9nIGxpbmVzLlxyXG4gIC8vIEZJWE1FOiBUaGlzIHNlYWwgcmVnZXggaW5jbHVkZXMgYW4gb3B0aW9uYWwgc2Vjb25kIGNvbG9uLCBhcyBcIjA4Mzk6Oj9cIlwiLlxyXG4gIC8vIE9uY2Ugd2UgaGF2ZSBjb21wbGV0ZWx5IGNvbnZlcnRlZCB0aGluZ3MgZm9yIDYuMCxcclxuICAvLyB3ZSBzaG91bGQgY29tZSBiYWNrIGhlcmUgYW5kIG1ha2UgdGhlIGRvdWJsZWQgY29sb24gbm9uLW9wdGlvbmFsLlxyXG4gIHNlYWw6ICcoPzw9MDA6MDgzOTo6fDAwXFxcXHxbXnxdKlxcXFx8MDgzOVxcXFx8XFxcXHwpKC4qKSB3aWxsIGJlIHNlYWxlZCBvZmYoPzogaW4gKD86WzAtOV0rIHNlY29uZHMpPyk/JyxcclxuICB1bnNlYWw6ICdpcyBubyBsb25nZXIgc2VhbGVkJyxcclxuICBlbmdhZ2U6ICdFbmdhZ2UhJyxcclxufTtcclxuXHJcbmNvbnN0IHRleHRLZXlzID0ge1xyXG4gIC8vIE1hdGNoIGRpcmVjdGlvbnMgaW4gcmVwbGFjZVRleHRcclxuICAvLyBlZzogYChOKWAsIGAoU1cpYCwgYChORS9OVylgLCBldGMuXHJcbiAgRTogJyg/PD0gXFxcXCh8XFxcXC8pRSg/PVxcXFwpfFxcXFwvKScsXHJcbiAgTjogJyg/PD0gXFxcXCh8XFxcXC8pTig/PVxcXFwpfFxcXFwvKScsXHJcbiAgUzogJyg/PD0gXFxcXCh8XFxcXC8pUyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgVzogJyg/PD0gXFxcXCh8XFxcXC8pVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgTkU6ICcoPzw9IFxcXFwofFxcXFwvKU5FKD89XFxcXCl8XFxcXC8pJyxcclxuICBOVzogJyg/PD0gXFxcXCh8XFxcXC8pTlcoPz1cXFxcKXxcXFxcLyknLFxyXG4gIFNFOiAnKD88PSBcXFxcKHxcXFxcLylTRSg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU1c6ICcoPzw9IFxcXFwofFxcXFwvKVNXKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBSb2xlcyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKFRhbmspYCwgYChIZWFsZXIpYCwgYChEUFMpYCwgZXRjXHJcbiAgVGFuazogJyg/PD0gXFxcXCh8XFxcXC8pVGFua3M/KD89XFxcXCl8XFxcXC8pJyxcclxuICBIZWFsZXI6ICcoPzw9IFxcXFwofFxcXFwvKUhlYWxlcnM/KD89XFxcXCl8XFxcXC8pJyxcclxuICBEUFM6ICcoPzw9IFxcXFwofFxcXFwvKURQUyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgLy8gTWF0Y2ggYC0tMS0tYCBzdHlsZSB0ZXh0LlxyXG4gIE51bWJlcjogJy0tKFxcXFxzKlxcXFxkK1xcXFxzKiktLScsXHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106IHsgW2tleSBpbiBMYW5nXT86IHN0cmluZyB9O1xyXG4gIH07XHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgIFtyZXBsYWNlS2V5OiBzdHJpbmddOlxyXG4gICAgICAmIHtcclxuICAgICAgICBba2V5IGluIE5vbkVuTGFuZ10/OiBzdHJpbmc7XHJcbiAgICAgIH1cclxuICAgICAgJiB7XHJcbiAgICAgICAgLy8gZG9uJ3Qgc2V0IHRoaXMga2V5LCBidXQgYWxsb3cgdXMgdG8gYXNrIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgIGVuPzogbmV2ZXI7XHJcbiAgICAgIH07XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb21tb25SZXBsYWNlbWVudDogQ29tbW9uUmVwbGFjZW1lbnQgPSB7XHJcbiAgcmVwbGFjZVN5bmM6IHtcclxuICAgIFtzeW5jS2V5cy5zZWFsXToge1xyXG4gICAgICBlbjogJyQxIHdpbGwgYmUgc2VhbGVkIG9mZicsXHJcbiAgICAgIGRlOlxyXG4gICAgICAgICdOb2NoIDE1IFNla3VuZGVuLCBiaXMgc2ljaCAoPzooPzpkZXJ8ZGllfGRhcykgKT8oPzpadWdhbmcgenUoPzpbcm1dfCBkZW4pPyApPyQxIHNjaGxpZcOfdCcsXHJcbiAgICAgIGZyOiAnRmVybWV0dXJlIGQoPzplfHV8ZXMpICg/OmxcXCd8bGEgfGxlcz8gKT8kMSBkYW5zJyxcclxuICAgICAgamE6ICckMeOBruWwgemOluOBvuOBp+OBguOBqCcsXHJcbiAgICAgIGNuOiAn6LedJDHooqvlsIHplIHov5jmnIknLFxyXG4gICAgICBrbzogJzE17LSIIO2bhOyXkCAkMSg/OuydtHzqsIApIOu0ieyHhOuQqeuLiOuLpCcsXHJcbiAgICB9LFxyXG4gICAgW3N5bmNLZXlzLnVuc2VhbF06IHtcclxuICAgICAgZW46ICdpcyBubyBsb25nZXIgc2VhbGVkJyxcclxuICAgICAgZGU6ICfDtmZmbmV0IHNpY2ggKD86d2llZGVyfGVybmV1dCknLFxyXG4gICAgICBmcjogJ091dmVydHVyZSAnLFxyXG4gICAgICBqYTogJ+OBruWwgemOluOBjOino+OBi+OCjOOBnycsXHJcbiAgICAgIGNuOiAn55qE5bCB6ZSB6Kej6Zmk5LqGJyxcclxuICAgICAga286ICfsnZgg67SJ7IeE6rCAIO2VtOygnOuQmOyXiOyKteuLiOuLpCcsXHJcbiAgICB9LFxyXG4gICAgW3N5bmNLZXlzLmVuZ2FnZV06IHtcclxuICAgICAgZW46ICdFbmdhZ2UhJyxcclxuICAgICAgZGU6ICdTdGFydCEnLFxyXG4gICAgICBmcjogJ8OAIGxcXCdhdHRhcXVlJyxcclxuICAgICAgamE6ICfmiKbpl5jplovlp4vvvIEnLFxyXG4gICAgICBjbjogJ+aImOaWl+W8gOWni++8gScsXHJcbiAgICAgIGtvOiAn7KCE7YisIOyLnOyekSEnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHJlcGxhY2VUZXh0OiB7XHJcbiAgICAnLS1hZGRzIHNwYXduLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1BZGRzIGVyc2NoZWluZW4tLScsXHJcbiAgICAgIGZyOiAnLS1BcHBhcml0aW9uIGRcXCdhZGRzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a5Ye654++LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Ye6546wLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIOyGjO2ZmC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1hZGRzIHRhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS1BZGRzIGNpYmxhYmxlcy0tJyxcclxuICAgICAgamE6ICctLembkemtmuOCv+ODvOOCsuODg+ODiOWPr+iDvS0tJyxcclxuICAgICAgY246ICctLeWwj+aAquWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLeyrhCDtg4Dqsp8g6rCA64qlLS0nLFxyXG4gICAgfSxcclxuICAgICctLWNlbnRlci0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1DZW50cmUtLScsXHJcbiAgICAgIGphOiAnLS3jgrvjg7Pjgr/jg7wtLScsXHJcbiAgICAgIGNuOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoY2VudGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKENlbnRyZSknLFxyXG4gICAgICBqYTogJyjjgrvjg7Pjgr/jg7wpJyxcclxuICAgICAgY246ICco5Lit5aSuKScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLWNsb25lcyBhcHBlYXItLSc6IHtcclxuICAgICAgZGU6ICctLUtsb25lIGVyc2NoZWluZW4tLScsXHJcbiAgICAgIGZyOiAnLS1BcHBhcml0aW9uIGRlcyBjbG9uZXMtLScsXHJcbiAgICAgIGphOiAnLS3lubvlvbHlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lubvlvbHlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3rtoTsi6Ag7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWNvcm5lci0tJzoge1xyXG4gICAgICBkZTogJy0tRWNrZS0tJyxcclxuICAgICAgZnI6ICctLUNvaW4tLScsXHJcbiAgICAgIGphOiAnLS3jgrPjg7zjg4rjg7wtLScsXHJcbiAgICAgIGNuOiAnLS3op5LokL0tLScsXHJcbiAgICAgIGtvOiAnLS3qtazshJ0tLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZHBzIGJ1cm4tLSc6IHtcclxuICAgICAgZGU6ICctLURQUyBidXJuLS0nLFxyXG4gICAgICBmcjogJy0tQnVybiBkcHMtLScsXHJcbiAgICAgIGphOiAnLS3ngavlipvlh7rjgZstLScsXHJcbiAgICAgIGNuOiAnLS3ovazngastLScsXHJcbiAgICAgIGtvOiAnLS3rlJwg7LK07YGsLS0nLFxyXG4gICAgfSxcclxuICAgICctLWVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU9zdGVuLS0nLFxyXG4gICAgICBmcjogJy0tRXN0LS0nLFxyXG4gICAgICBqYTogJy0t5p2xLS0nLFxyXG4gICAgICBjbjogJy0t5LicLS0nLFxyXG4gICAgICBrbzogJy0t64+Z7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGVhc3RcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoT3N0ZW4pJyxcclxuICAgICAgZnI6ICcoRXN0KScsXHJcbiAgICAgIGphOiAnKOadsSknLFxyXG4gICAgICBjbjogJyjkuJwpJyxcclxuICAgICAga286ICco64+Z7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJ0VucmFnZSc6IHtcclxuICAgICAgZGU6ICdGaW5hbGFuZ3JpZmYnLFxyXG4gICAgICBmcjogJ0VucmFnZScsXHJcbiAgICAgIGphOiAn5pmC6ZaT5YiH44KMJyxcclxuICAgICAgY246ICfni4LmmrQnLFxyXG4gICAgICBrbzogJ+yghOupuOq4sCcsXHJcbiAgICB9LFxyXG4gICAgJy0tZnJvemVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1laW5nZWZyb3Jlbi0tJyxcclxuICAgICAgZnI6ICctLUdlbMOpLS0nLFxyXG4gICAgICBqYTogJy0t5YeN57WQLS0nLFxyXG4gICAgICBjbjogJy0t5Ya757uTLS0nLFxyXG4gICAgICBrbzogJy0t67mZ6rKwLS0nLFxyXG4gICAgfSxcclxuICAgICctLWluLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1SZWluLS0nLFxyXG4gICAgICBmcjogJy0tSW50w6lyaWV1ci0tJyxcclxuICAgICAgamE6ICctLeS4rS0tJyxcclxuICAgICAgY246ICctLeWGhS0tJyxcclxuICAgICAga286ICctLeyViC0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChJblxcXFwpJzoge1xyXG4gICAgICBkZTogJyhSZWluKScsXHJcbiAgICAgIGZyOiAnKEludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChpbm5lclxcXFwpJzoge1xyXG4gICAgICBkZTogJyhpbm5lbiknLFxyXG4gICAgICBmcjogJyhpbnTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOS4rSknLFxyXG4gICAgICBjbjogJyjlhoUpJyxcclxuICAgICAga286ICco7JWIKScsXHJcbiAgICB9LFxyXG4gICAgJy0tanVtcC0tJzoge1xyXG4gICAgICBkZTogJy0tU3BydW5nLS0nLFxyXG4gICAgICBmcjogJy0tU2F1dC0tJyxcclxuICAgICAgamE6ICctLeOCuOODo+ODs+ODly0tJyxcclxuICAgICAgY246ICctLei3sy0tJyxcclxuICAgICAga286ICctLeygkO2UhC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1rbm9ja2JhY2stLSc6IHtcclxuICAgICAgZGU6ICctLVLDvGNrc3Rvw58tLScsXHJcbiAgICAgIGZyOiAnLS1Qb3Vzc8OpZS0tJyxcclxuICAgICAgamE6ICctLeODjuODg+OCr+ODkOODg+OCry0tJyxcclxuICAgICAgY246ICctLeWHu+mAgC0tJyxcclxuICAgICAga286ICctLeuEieuwsS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1taWRkbGUtLSc6IHtcclxuICAgICAgZGU6ICctLU1pdHRlLS0nLFxyXG4gICAgICBmcjogJy0tTWlsaWV1LS0nLFxyXG4gICAgICBqYTogJy0t5Lit5aSuLS0nLFxyXG4gICAgICBjbjogJy0t5Lit6Ze0LS0nLFxyXG4gICAgICBrbzogJy0t7KSR7JWZLS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG1pZGRsZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhNaXR0ZSknLFxyXG4gICAgICBmcjogJyhNaWxpZXUpJyxcclxuICAgICAgamE6ICco5Lit5aSuKScsXHJcbiAgICAgIGNuOiAnKOS4remXtCknLFxyXG4gICAgICBrbzogJyjspJHslZkpJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aC0tJzoge1xyXG4gICAgICBkZTogJy0tTm9yZGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC0tJyxcclxuICAgICAgamE6ICctLeWMly0tJyxcclxuICAgICAgY246ICctLeWMly0tJyxcclxuICAgICAga286ICctLeu2geyqvS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChub3J0aFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhOb3JkZW4pJyxcclxuICAgICAgZnI6ICcoTm9yZCknLFxyXG4gICAgICBqYTogJyjljJcpJyxcclxuICAgICAgY246ICco5YyXKScsXHJcbiAgICAgIGtvOiAnKOu2geyqvSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tTm9yZG9zdGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljJfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljJctLScsXHJcbiAgICAgIGtvOiAnLS3rtoHrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+ilvy0tJyxcclxuICAgICAgY246ICctLeilv+WMly0tJyxcclxuICAgICAga286ICctLeu2geyEnC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1vdXQtLSc6IHtcclxuICAgICAgZGU6ICctLVJhdXMtLScsXHJcbiAgICAgIGZyOiAnLS1FeHTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5aSWLS0nLFxyXG4gICAgICBjbjogJy0t5aSWLS0nLFxyXG4gICAgICBrbzogJy0t67CWLS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKE91dFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhSYXVzKScsXHJcbiAgICAgIGZyOiAnKEV4dMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5aSWKScsXHJcbiAgICAgIGNuOiAnKOWkliknLFxyXG4gICAgICBrbzogJyjrsJYpJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChvdXRlclxcXFwpJzoge1xyXG4gICAgICBkZTogJyhhdcOfZW4pJyxcclxuICAgICAgZnI6ICcoZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dHNpZGVcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoRHJhdcOfZW4pJyxcclxuICAgICAgZnI6ICcow4AgbFxcJ2V4dMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5aSWKScsXHJcbiAgICAgIGNuOiAnKOWklumdoiknLFxyXG4gICAgICBrbzogJyjrsJTquaUpJyxcclxuICAgIH0sXHJcbiAgICAnLS1yb3RhdGUtLSc6IHtcclxuICAgICAgZGU6ICctLXJvdGllcmVuLS0nLFxyXG4gICAgICBmcjogJy0tcm90YXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3lm57ou6ItLScsXHJcbiAgICAgIGNuOiAnLS3ml4vovawtLScsXHJcbiAgICAgIGtvOiAnLS3tmozsoIQtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGgtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC0tJyxcclxuICAgICAgamE6ICctLeWNly0tJyxcclxuICAgICAgY246ICctLeWNly0tJyxcclxuICAgICAga286ICctLeuCqOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChzb3V0aFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhTw7xkZW4pJyxcclxuICAgICAgZnI6ICcoU3VkKScsXHJcbiAgICAgIGphOiAnKOWNlyknLFxyXG4gICAgICBjbjogJyjljZcpJyxcclxuICAgICAga286ICco64Ko7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1TdWQtRXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X5p2xLS0nLFxyXG4gICAgICBjbjogJy0t5Lic5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko64+ZLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNvdXRod2VzdC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZHdlc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeWNl+ilvy0tJyxcclxuICAgICAgY246ICctLeilv+WNly0tJyxcclxuICAgICAga286ICctLeuCqOyEnC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zcGxpdC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVpbGVuLS0nLFxyXG4gICAgICBmcjogJy0tZGl2aXNpb24tLScsXHJcbiAgICAgIGphOiAnLS3liIboo4ItLScsXHJcbiAgICAgIGNuOiAnLS3liIboo4ItLScsXHJcbiAgICAgIGtvOiAnLS3rtoTsl7QtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc3R1bi0tJzoge1xyXG4gICAgICBkZTogJy0tQmV0w6R1YnVuZy0tJyxcclxuICAgICAgZnI6ICctLcOJdG91cmRpc3NlbWVudC0tJyxcclxuICAgICAgamE6ICctLeOCueOCv+ODsy0tJyxcclxuICAgICAgY246ICctLeWHu+aZlS0tJyxcclxuICAgICAga286ICctLeq4sOygiC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zeW5jLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1zeW5jaHJvbmlzYXRpb24tLScsXHJcbiAgICAgIGZyOiAnLS1zeW5jaHJvbmlzYXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3jgrfjg7Pjgq8tLScsXHJcbiAgICAgIGNuOiAnLS3lkIzmraXljJYtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nquLDtmZQtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tKFswLTldK3ggKT90YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS0kMWFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tJDFjaWJsYWJsZS0tJyxcclxuICAgICAgamE6ICctLSQx44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0tJDHlj6/pgInkuK0tLScsXHJcbiAgICAgIGtvOiAnLS0kMe2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdGVsZXBvcnQtLSc6IHtcclxuICAgICAgZGU6ICctLXRlbGVwb3J0YXRpb24tLScsXHJcbiAgICAgIGZyOiAnLS10w6lsw6lwb3J0YXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3jg4bjg6zjg53jg7zjg4gtLScsXHJcbiAgICAgIGNuOiAnLS3kvKDpgIEtLScsXHJcbiAgICAgIGtvOiAnLS3siJzqsIQg7J2064+ZLS0nLFxyXG4gICAgfSxcclxuICAgICctLXVudGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tbmljaCBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLW5vbiBjaWJsYWJsZS0tJyxcclxuICAgICAgamE6ICctLeOCv+ODvOOCsuODg+ODiOS4jeWPry0tJyxcclxuICAgICAgY246ICctLeaXoOazlemAieS4rS0tJyxcclxuICAgICAga286ICctLe2DgOqynyDrtojqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0td2VzdC0tJzoge1xyXG4gICAgICBkZTogJy0tV2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tT3Vlc3QtLScsXHJcbiAgICAgIGphOiAnLS3opb8tLScsXHJcbiAgICAgIGNuOiAnLS3opb8tLScsXHJcbiAgICAgIGtvOiAnLS3shJzsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkVdOiB7XHJcbiAgICAgIGRlOiAnTycsXHJcbiAgICAgIGZyOiAnRScsXHJcbiAgICAgIGphOiAn5p2xJyxcclxuICAgICAgY246ICfkuJwnLFxyXG4gICAgICBrbzogJ+uPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5dOiB7XHJcbiAgICAgIGRlOiAnTicsXHJcbiAgICAgIGZyOiAnTicsXHJcbiAgICAgIGphOiAn5YyXJyxcclxuICAgICAgY246ICfljJcnLFxyXG4gICAgICBrbzogJ+u2gScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNdOiB7XHJcbiAgICAgIGRlOiAnUycsXHJcbiAgICAgIGZyOiAnUycsXHJcbiAgICAgIGphOiAn5Y2XJyxcclxuICAgICAgY246ICfljZcnLFxyXG4gICAgICBrbzogJ+uCqCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlddOiB7XHJcbiAgICAgIGRlOiAnVycsXHJcbiAgICAgIGZyOiAnTycsXHJcbiAgICAgIGphOiAn6KW/JyxcclxuICAgICAgY246ICfopb8nLFxyXG4gICAgICBrbzogJ+yEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5FXToge1xyXG4gICAgICBkZTogJ05PJyxcclxuICAgICAgZnI6ICdORScsXHJcbiAgICAgIGphOiAn5YyX5p2xJyxcclxuICAgICAgY246ICfkuJzljJcnLFxyXG4gICAgICBrbzogJ+u2geuPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5XXToge1xyXG4gICAgICBkZTogJ05XJyxcclxuICAgICAgZnI6ICdOTycsXHJcbiAgICAgIGphOiAn5YyX6KW/JyxcclxuICAgICAgY246ICfopb/ljJcnLFxyXG4gICAgICBrbzogJ+u2geyEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNFXToge1xyXG4gICAgICBkZTogJ1NPJyxcclxuICAgICAgZnI6ICdTRScsXHJcbiAgICAgIGphOiAn5Y2X5p2xJyxcclxuICAgICAgY246ICfkuJzljZcnLFxyXG4gICAgICBrbzogJ+uCqOuPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNXXToge1xyXG4gICAgICBkZTogJ1NXJyxcclxuICAgICAgZnI6ICdTTycsXHJcbiAgICAgIGphOiAn5Y2X6KW/JyxcclxuICAgICAgY246ICfopb/ljZcnLFxyXG4gICAgICBrbzogJ+uCqOyEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlRhbmtdOiB7XHJcbiAgICAgIGRlOiAnVGFuaycsXHJcbiAgICAgIGZyOiAnVGFuaycsXHJcbiAgICAgIGphOiAn44K/44Oz44KvJyxcclxuICAgICAgY246ICflnablhYsnLFxyXG4gICAgICBrbzogJ+2Dsey7pCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkhlYWxlcl06IHtcclxuICAgICAgZGU6ICdIZWlsZXInLFxyXG4gICAgICBmcjogJ0hlYWxlcicsXHJcbiAgICAgIGphOiAn44OS44O844Op44O8JyxcclxuICAgICAgY246ICfmsrvnlpcnLFxyXG4gICAgICBrbzogJ+2ekOufrCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkRQU106IHtcclxuICAgICAgZGU6ICdEUFMnLFxyXG4gICAgICBmcjogJ0RQUycsXHJcbiAgICAgIGphOiAnRFBTJyxcclxuICAgICAgY246ICdEUFMnLFxyXG4gICAgICBrbzogJ+uUnOufrCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk51bWJlcl06IHtcclxuICAgICAgZGU6ICctLSQxLS0nLFxyXG4gICAgICBmcjogJy0tJDEtLScsXHJcbiAgICAgIGphOiAnLS0kMS0tJyxcclxuICAgICAgY246ICctLSQxLS0nLFxyXG4gICAgICBrbzogJy0tJDEtLScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBLZXlzIGludG8gY29tbW9uUmVwbGFjZW1lbnQgb2JqZWN0cyB0aGF0IHJlcHJlc2VudCBcInBhcnRpYWxcIiB0cmFuc2xhdGlvbnMsXHJcbi8vIGluIHRoZSBzZW5zZSB0aGF0IGV2ZW4gaWYgaXQgYXBwbGllcywgdGhlcmUgc3RpbGwgbmVlZHMgdG8gYmUgYW5vdGhlclxyXG4vLyB0cmFuc2xhdGlvbiBmb3IgaXQgdG8gYmUgY29tcGxldGUuICBUaGVzZSBrZXlzIHNob3VsZCBiZSBleGFjdGx5IHRoZSBzYW1lXHJcbi8vIGFzIHRoZSBrZXlzIGZyb20gdGhlIGNvbW1vblJlcGxhY2VtZW50IGJsb2NrIGFib3ZlLlxyXG5leHBvcnQgY29uc3QgcGFydGlhbENvbW1vblJlcGxhY2VtZW50S2V5cyA9IFtcclxuICAvLyBCZWNhdXNlIHRoZSB6b25lIG5hbWUgbmVlZHMgdG8gYmUgdHJhbnNsYXRlZCBoZXJlLCB0aGlzIGlzIHBhcnRpYWwuXHJcbiAgc3luY0tleXMuc2VhbCxcclxuICAvLyBEaXJlY3Rpb25zXHJcbiAgdGV4dEtleXMuRSxcclxuICB0ZXh0S2V5cy5OLFxyXG4gIHRleHRLZXlzLlMsXHJcbiAgdGV4dEtleXMuVyxcclxuICB0ZXh0S2V5cy5ORSxcclxuICB0ZXh0S2V5cy5OVyxcclxuICB0ZXh0S2V5cy5TRSxcclxuICB0ZXh0S2V5cy5TVyxcclxuICAvLyBSb2xlc1xyXG4gIHRleHRLZXlzLlRhbmssXHJcbiAgdGV4dEtleXMuSGVhbGVyLFxyXG4gIHRleHRLZXlzLkRQUyxcclxuXTtcclxuXHJcbi8vIFJlcGxhY2VtZW50IHdoZW4gdXNpbmcgS29yZWFuIGxhbmd1YWdlIGluIHRoZSBwYXJzZXIsIGFzIHRoZSBLb3JlYW4gdmVyc2lvblxyXG4vLyBkb2VzIG5vdCBoYXZlIHRoZSA2LnggY2hhbmdlcyBmcm9tIFJhdmFobiB5ZXQuXHJcbi8vIFRoZXNlIGFyZSBhcHBsaWVkIGFmdGVyIG90aGVyIHRyYW5zbGF0aW9ucyBhbmQgZG9uJ3QgY291bnQgZm9yIGNvbGxpc2lvbnMuXHJcbi8vIFRPRE86IHRoaXMgbWlzc2VzIGEgZmV3IHRoaW5ncyBsaWtlIDFBIGxpbmVzIGluIGE3cy9vN24vbzdzLlxyXG5leHBvcnQgY29uc3QgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlOiB7IFtyZXBsYWNlS2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAnIDAwOlxcXFxbXFxcXF46XFxcXF1cXFxcKjonOiAnIDAwOicsXHJcbiAgJyAwMDowODM5OjonOiAnIDAwOjA4Mzk6JyxcclxuICAnIDE0OlxcXFxbXFxcXF46XFxcXF1cXFxcKjooW146XSopOihbXjpdKik6JzogJzokMjokMScsXHJcbn07XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciwgVHJpZ2dlckF1dG9Db25maWcgfSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCB7IGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSwgY29tbW9uUmVwbGFjZW1lbnQgfSBmcm9tICcuL2NvbW1vbl9yZXBsYWNlbWVudCc7XHJcbmltcG9ydCBkZWZhdWx0T3B0aW9ucywgeyBSYWlkYm9zc09wdGlvbnMsIFRpbWVsaW5lQ29uZmlnIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuXHJcbmV4cG9ydCB0eXBlIFRpbWVsaW5lUmVwbGFjZW1lbnQgPSB7XHJcbiAgbG9jYWxlOiBMYW5nO1xyXG4gIG1pc3NpbmdUcmFuc2xhdGlvbnM/OiBib29sZWFuO1xyXG4gIHJlcGxhY2VTeW5jPzogeyBbcmVnZXhTdHJpbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIHJlcGxhY2VUZXh0PzogeyBbdGltZWxpbmVUZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRpbWVsaW5lU3R5bGUgPSB7XHJcbiAgc3R5bGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEV2ZW50ID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdGltZTogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgYWN0aXZlVGltZT86IG51bWJlcjtcclxuICBsaW5lTnVtYmVyPzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIHNvcnRLZXk/OiBudW1iZXI7XHJcbiAgaXNEdXI/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEVycm9yID0ge1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgbGluZT86IHN0cmluZztcclxuICBlcnJvcjogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU3luYyA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG9yaWdSZWdleFN0cjogc3RyaW5nO1xyXG4gIHJlZ2V4OiBSZWdFeHA7XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxuICBlbmQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbGluZU51bWJlcjogbnVtYmVyO1xyXG4gIGp1bXA/OiBudW1iZXI7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFBvcHVwVGV4dCA9IHtcclxuICB0eXBlOiAnaW5mbycgfCAnYWxlcnQnIHwgJ2FsYXJtJyB8ICd0dHMnO1xyXG4gIHNlY29uZHNCZWZvcmU/OiBudW1iZXI7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG59O1xyXG5cclxudHlwZSBQYXJzZWRUcmlnZ2VyVGV4dCA9IHtcclxuICB0eXBlOiAndHJpZ2dlcic7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgdHJpZ2dlcjogTG9vc2VUaW1lbGluZVRyaWdnZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXJzZWRUZXh0ID0gUGFyc2VkUG9wdXBUZXh0IHwgUGFyc2VkVHJpZ2dlclRleHQ7XHJcblxyXG5leHBvcnQgdHlwZSBUZXh0ID0gUGFyc2VkVGV4dCAmIHsgdGltZTogbnVtYmVyIH07XHJcblxyXG4vLyBUaGlzIGNsYXNzIHJlYWRzIHRoZSBmb3JtYXQgb2YgQUNUIFRpbWVsaW5lIHBsdWdpbiwgZGVzY3JpYmVkIGluXHJcbi8vIGRvY3MvVGltZWxpbmVHdWlkZS5tZFxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVQYXJzZXIge1xyXG4gIHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnM7XHJcbiAgcHJvdGVjdGVkIHBlclRyaWdnZXJBdXRvQ29uZmlnOiB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbiAgcHJvdGVjdGVkIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdO1xyXG4gIHByaXZhdGUgdGltZWxpbmVDb25maWc6IFRpbWVsaW5lQ29uZmlnO1xyXG5cclxuICBwdWJsaWMgaWdub3JlczogeyBbaWdub3JlSWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBwdWJsaWMgZXZlbnRzOiBFdmVudFtdO1xyXG4gIHB1YmxpYyB0ZXh0czogVGV4dFtdO1xyXG4gIHB1YmxpYyBzeW5jU3RhcnRzOiBTeW5jW107XHJcbiAgcHVibGljIHN5bmNFbmRzOiBTeW5jW107XHJcbiAgcHVibGljIGVycm9yczogRXJyb3JbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzPzogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgb3B0aW9ucz86IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHpvbmVJZD86IG51bWJlcixcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgPz8gZGVmYXVsdE9wdGlvbnM7XHJcbiAgICB0aGlzLnBlclRyaWdnZXJBdXRvQ29uZmlnID0gdGhpcy5vcHRpb25zWydQZXJUcmlnZ2VyQXV0b0NvbmZpZyddIHx8IHt9O1xyXG4gICAgdGhpcy5yZXBsYWNlbWVudHMgPSByZXBsYWNlbWVudHM7XHJcblxyXG4gICAgLy8gQSBzZXQgb2YgbmFtZXMgd2hpY2ggd2lsbCBub3QgYmUgbm90aWZpZWQgYWJvdXQuXHJcbiAgICB0aGlzLmlnbm9yZXMgPSB7fTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMudGV4dHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLnN0YXJ0IHRpbWUuXHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLmVuZCB0aW1lLlxyXG4gICAgdGhpcy5zeW5jRW5kcyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGxpbmUuXHJcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMudGltZWxpbmVDb25maWcgPSB0eXBlb2Ygem9uZUlkID09PSAnbnVtYmVyJ1xyXG4gICAgICA/IHRoaXMub3B0aW9ucy5QZXJab25lVGltZWxpbmVDb25maWdbem9uZUlkXSA/PyB7fVxyXG4gICAgICA6IHt9O1xyXG4gICAgZm9yIChjb25zdCB0ZXh0IG9mIHRoaXMudGltZWxpbmVDb25maWcuSWdub3JlID8/IFtdKVxyXG4gICAgICB0aGlzLmlnbm9yZXNbdGV4dF0gPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucGFyc2UodGV4dCwgdHJpZ2dlcnMsIHN0eWxlcyA/PyBbXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlKHRleHQ6IHN0cmluZywgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sIHN0eWxlczogVGltZWxpbmVTdHlsZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcblxyXG4gICAgbGV0IHVuaXF1ZWlkID0gMTtcclxuICAgIGNvbnN0IHRleHRzOiB7IFtpZDogc3RyaW5nXTogUGFyc2VkVGV4dFtdIH0gPSB7fTtcclxuICAgIGNvbnN0IHJlZ2V4ZXMgPSB7XHJcbiAgICAgIGNvbW1lbnQ6IC9eXFxzKiMvLFxyXG4gICAgICBjb21tZW50TGluZTogLyMuKiQvLFxyXG4gICAgICBkdXJhdGlvbkNvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+ZHVyYXRpb25cXHMrKD88c2Vjb25kcz5bMC05XSsoPzpcXC5bMC05XSspPykpKFxccy4qKT8kLyxcclxuICAgICAgaWdub3JlOiAvXmhpZGVhbGxcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiJC8sXHJcbiAgICAgIGp1bXBDb21tYW5kOiAvKD86W14jXSo/XFxzKT8oPzx0ZXh0Pmp1bXBcXHMrKD88c2Vjb25kcz5bMC05XSsoPzpcXC5bMC05XSspPykpKD86XFxzLiopPyQvLFxyXG4gICAgICBsaW5lOiAvXig/PHRleHQ+KD88dGltZT5bMC05XSsoPzpcXC5bMC05XSspPylcXHMrXCIoPzxuYW1lPi4qPylcIikoXFxzKyguKikpPy8sXHJcbiAgICAgIHBvcHVwVGV4dDpcclxuICAgICAgICAvXig/PHR5cGU+aW5mb3xhbGVydHxhbGFybSl0ZXh0XFxzK1xcXCIoPzxpZD5bXlwiXSspXFxcIlxccytiZWZvcmVcXHMrKD88YmVmb3JlU2Vjb25kcz4tP1swLTldKyg/OlxcLlswLTldKyk/KSg/OlxccytcXFwiKD88dGV4dD5bXlwiXSspXFxcIik/JC8sXHJcbiAgICAgIHNvdW5kQWxlcnQ6IC9eZGVmaW5lXFxzK3NvdW5kYWxlcnRcXHMrXCJbXlwiXSpcIlxccytcIlteXCJdKlwiJC8sXHJcbiAgICAgIHNwZWFrZXI6XHJcbiAgICAgICAgL2RlZmluZSBzcGVha2VyIFwiW15cIl0qXCIoXFxzK1wiW15cIl0qXCIpP1xccysoLT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKC0/WzAtOV0rKD86XFwuWzAtOV0rKT8pLyxcclxuICAgICAgc3luY0NvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+c3luY1xccypcXC8oPzxyZWdleD4uKilcXC8pKD88YXJncz5cXHMuKik/JC8sXHJcbiAgICAgIHR0czpcclxuICAgICAgICAvXmFsZXJ0YWxsXFxzK1wiKD88aWQ+W15cIl0qKVwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pXFxzKyg/PGNvbW1hbmQ+c291bmR8c3BlYWtcXHMrXCJbXlwiXSpcIilcXHMrXCIoPzx0ZXh0PlteXCJdKilcIiQvLFxyXG4gICAgICB3aW5kb3dDb21tYW5kOlxyXG4gICAgICAgIC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+d2luZG93XFxzKyg/Oig/PHN0YXJ0PlswLTldKyg/OlxcLlswLTldKyk/KSwpPyg/PGVuZD5bMC05XSsoPzpcXC5bMC05XSspPykpKD86XFxzLiopPyQvLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBNYWtlIGFsbCByZWdleGVzIGNhc2UgaW5zZW5zaXRpdmUsIGFuZCBwYXJzZSBhbnkgc3BlY2lhbCBcXHl7fSBncm91cHMuXHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgaWYgKHRyaWdnZXIucmVnZXgpXHJcbiAgICAgICAgdHJpZ2dlci5yZWdleCA9IFJlZ2V4ZXMucGFyc2UodHJpZ2dlci5yZWdleCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGluZXMgPSB0ZXh0LnNwbGl0KCdcXG4nKTtcclxuICAgIGxldCBsaW5lTnVtYmVyID0gMDtcclxuICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcclxuICAgICAgKytsaW5lTnVtYmVyO1xyXG4gICAgICBsaW5lID0gbGluZS50cmltKCk7XHJcbiAgICAgIC8vIERyb3AgY29tbWVudHMgYW5kIGVtcHR5IGxpbmVzLlxyXG4gICAgICBpZiAoIWxpbmUgfHwgcmVnZXhlcy5jb21tZW50LnRlc3QobGluZSkpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IG9yaWdpbmFsTGluZSA9IGxpbmU7XHJcblxyXG4gICAgICBsZXQgbWF0Y2ggPSByZWdleGVzLmlnbm9yZS5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgaWdub3JlID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmIChpZ25vcmUuaWQpXHJcbiAgICAgICAgICB0aGlzLmlnbm9yZXNbaWdub3JlLmlkXSA9IHRydWU7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy50dHMuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgIGNvbnN0IHR0cyA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgICBpZiAoIXR0cy5pZCB8fCAhdHRzLmJlZm9yZVNlY29uZHMgfHwgIXR0cy5jb21tYW5kKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIC8vIFRPRE86IFN1cHBvcnQgYWxlcnQgc291bmRzP1xyXG4gICAgICAgIGlmICh0dHMuY29tbWFuZCA9PT0gJ3NvdW5kJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHR0c0l0ZW1zID0gdGV4dHNbdHRzLmlkXSB8fCBbXTtcclxuICAgICAgICB0ZXh0c1t0dHMuaWRdID0gdHRzSXRlbXM7XHJcbiAgICAgICAgdHRzSXRlbXMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAndHRzJyxcclxuICAgICAgICAgIHNlY29uZHNCZWZvcmU6IHBhcnNlRmxvYXQodHRzLmJlZm9yZVNlY29uZHMpLFxyXG4gICAgICAgICAgdGV4dDogdHRzLnRleHQgPyB0dHMudGV4dCA6IHR0cy5pZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBtYXRjaCA9IHJlZ2V4ZXMuc291bmRBbGVydC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2gpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zcGVha2VyLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5wb3B1cFRleHQuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwVGV4dCA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgICBpZiAoIXBvcHVwVGV4dC50eXBlIHx8ICFwb3B1cFRleHQuaWQgfHwgIXBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGNvbnN0IHBvcHVwVGV4dEl0ZW1zID0gdGV4dHNbcG9wdXBUZXh0LmlkXSB8fCBbXTtcclxuICAgICAgICB0ZXh0c1twb3B1cFRleHQuaWRdID0gcG9wdXBUZXh0SXRlbXM7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IHBvcHVwVGV4dC50eXBlO1xyXG4gICAgICAgIGlmICh0eXBlICE9PSAnaW5mbycgJiYgdHlwZSAhPT0gJ2FsZXJ0JyAmJiB0eXBlICE9PSAnYWxhcm0nKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgcG9wdXBUZXh0SXRlbXMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdChwb3B1cFRleHQuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiBwb3B1cFRleHQudGV4dCA/IHBvcHVwVGV4dC50ZXh0IDogcG9wdXBUZXh0LmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5saW5lLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmICghKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkpIHtcclxuICAgICAgICB0aGlzLmVycm9ycy5wdXNoKHtcclxuICAgICAgICAgIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsXHJcbiAgICAgICAgICBsaW5lOiBvcmlnaW5hbExpbmUsXHJcbiAgICAgICAgICBlcnJvcjogJ0ludmFsaWQgZm9ybWF0JyxcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5rbm93biB0aW1lbGluZTogJyArIG9yaWdpbmFsTGluZSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGFyc2VkTGluZSA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgLy8gVGVjaG5pY2FsbHkgdGhlIG5hbWUgY2FuIGJlIGVtcHR5XHJcbiAgICAgIGlmICghcGFyc2VkTGluZS50ZXh0IHx8ICFwYXJzZWRMaW5lLnRpbWUgfHwgcGFyc2VkTGluZS5uYW1lID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBsaW5lID0gbGluZS5yZXBsYWNlKHBhcnNlZExpbmUudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgLy8gVGhlcmUgY2FuIGJlICMgaW4gdGhlIGFiaWxpdHkgbmFtZSwgYnV0IHByb2JhYmx5IG5vdCBpbiB0aGUgcmVnZXguXHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocmVnZXhlcy5jb21tZW50TGluZSwgJycpLnRyaW0oKTtcclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBwYXJzZUZsb2F0KHBhcnNlZExpbmUudGltZSk7XHJcbiAgICAgIGNvbnN0IGU6IEV2ZW50ID0ge1xyXG4gICAgICAgIGlkOiB1bmlxdWVpZCsrLFxyXG4gICAgICAgIHRpbWU6IHNlY29uZHMsXHJcbiAgICAgICAgLy8gVGhlIG9yaWdpbmFsIGFiaWxpdHkgbmFtZSBpbiB0aGUgdGltZWxpbmUuICBVc2VkIGZvciBoaWRlYWxsLCBpbmZvdGV4dCwgZXRjLlxyXG4gICAgICAgIG5hbWU6IHBhcnNlZExpbmUubmFtZSxcclxuICAgICAgICAvLyBUaGUgdGV4dCB0byBkaXNwbGF5LiAgTm90IHVzZWQgZm9yIGFueSBsb2dpYy5cclxuICAgICAgICB0ZXh0OiB0aGlzLkdldFJlcGxhY2VkVGV4dChwYXJzZWRMaW5lLm5hbWUpLFxyXG4gICAgICAgIGFjdGl2ZVRpbWU6IDAsXHJcbiAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgfTtcclxuICAgICAgaWYgKGxpbmUpIHtcclxuICAgICAgICBsZXQgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5kdXJhdGlvbkNvbW1hbmQuZXhlYyhsaW5lKTtcclxuICAgICAgICBpZiAoY29tbWFuZE1hdGNoICYmIGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uQ29tbWFuZCA9IGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICBpZiAoIWR1cmF0aW9uQ29tbWFuZC50ZXh0IHx8ICFkdXJhdGlvbkNvbW1hbmQuc2Vjb25kcylcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShkdXJhdGlvbkNvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgIGUuZHVyYXRpb24gPSBwYXJzZUZsb2F0KGR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbW1hbmRNYXRjaCA9IHJlZ2V4ZXMuc3luY0NvbW1hbmQuZXhlYyhsaW5lKTtcclxuICAgICAgICBpZiAoY29tbWFuZE1hdGNoICYmIGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICAgIGNvbnN0IHN5bmNDb21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghc3luY0NvbW1hbmQudGV4dCB8fCAhc3luY0NvbW1hbmQucmVnZXgpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2Uoc3luY0NvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgIGNvbnN0IHN5bmM6IFN5bmMgPSB7XHJcbiAgICAgICAgICAgIGlkOiB1bmlxdWVpZCxcclxuICAgICAgICAgICAgb3JpZ1JlZ2V4U3RyOiBzeW5jQ29tbWFuZC5yZWdleCxcclxuICAgICAgICAgICAgcmVnZXg6IFJlZ2V4ZXMucGFyc2UodGhpcy5HZXRSZXBsYWNlZFN5bmMoc3luY0NvbW1hbmQucmVnZXgpKSxcclxuICAgICAgICAgICAgc3RhcnQ6IHNlY29uZHMgLSAyLjUsXHJcbiAgICAgICAgICAgIGVuZDogc2Vjb25kcyArIDIuNSxcclxuICAgICAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBpZiAoc3luY0NvbW1hbmQuYXJncykge1xyXG4gICAgICAgICAgICBsZXQgYXJnTWF0Y2ggPSByZWdleGVzLndpbmRvd0NvbW1hbmQuZXhlYyhzeW5jQ29tbWFuZC5hcmdzKTtcclxuICAgICAgICAgICAgaWYgKGFyZ01hdGNoICYmIGFyZ01hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHdpbmRvd0NvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCF3aW5kb3dDb21tYW5kLnRleHQgfHwgIXdpbmRvd0NvbW1hbmQuZW5kKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2Uod2luZG93Q29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgICAgIGlmICh3aW5kb3dDb21tYW5kLnN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5zdGFydCk7XHJcbiAgICAgICAgICAgICAgICBzeW5jLmVuZCA9IHNlY29uZHMgKyBwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgc3luYy5zdGFydCA9IHNlY29uZHMgLSAocGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLmVuZCkgLyAyKTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhcmdNYXRjaCA9IHJlZ2V4ZXMuanVtcENvbW1hbmQuZXhlYyhzeW5jQ29tbWFuZC5hcmdzKTtcclxuICAgICAgICAgICAgaWYgKGFyZ01hdGNoICYmIGFyZ01hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGp1bXBDb21tYW5kID0gYXJnTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgICAgIGlmICghanVtcENvbW1hbmQudGV4dCB8fCAhanVtcENvbW1hbmQuc2Vjb25kcylcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGp1bXBDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgc3luYy5qdW1wID0gcGFyc2VGbG9hdChqdW1wQ29tbWFuZC5zZWNvbmRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zeW5jU3RhcnRzLnB1c2goc3luYyk7XHJcbiAgICAgICAgICB0aGlzLnN5bmNFbmRzLnB1c2goc3luYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIElmIHRoZXJlJ3MgdGV4dCBsZWZ0IHRoYXQgaXNuJ3QgYSBjb21tZW50IHRoZW4gd2UgZGlkbid0IHBhcnNlIHRoYXQgdGV4dCBzbyByZXBvcnQgaXQuXHJcbiAgICAgIGlmIChsaW5lICYmICFyZWdleGVzLmNvbW1lbnQuZXhlYyhsaW5lKSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBVbmtub3duIGNvbnRlbnQgJyR7bGluZX0nIGluIHRpbWVsaW5lOiAke29yaWdpbmFsTGluZX1gKTtcclxuICAgICAgICB0aGlzLmVycm9ycy5wdXNoKHtcclxuICAgICAgICAgIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsXHJcbiAgICAgICAgICBsaW5lOiBvcmlnaW5hbExpbmUsXHJcbiAgICAgICAgICBlcnJvcjogJ0V4dHJhIHRleHQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZXZlbnRzLnB1c2goZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IGFsbCB0aW1lbGluZSB0cmlnZ2VycyBtYXRjaCBzb21ldGhpbmcuXHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGhpcy5ldmVudHMpIHtcclxuICAgICAgICBpZiAodHJpZ2dlci5yZWdleCAmJiB0cmlnZ2VyLnJlZ2V4LnRlc3QoZXZlbnQubmFtZSkpIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWZvdW5kKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IGBObyBtYXRjaCBmb3IgdGltZWxpbmUgdHJpZ2dlciAke3RyaWdnZXIucmVnZXg/LnNvdXJjZSA/P1xyXG4gICAgICAgICAgJyd9IGluICR7dHJpZ2dlci5pZCA/PyAnJ31gO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goeyBlcnJvcjogdGV4dCB9KTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGAqKiogRVJST1I6ICR7dGV4dH1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgZSBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICBmb3IgKGNvbnN0IG1hdGNoZWRUZXh0RXZlbnQgb2YgdGV4dHNbZS5uYW1lXSA/PyBbXSkge1xyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBtYXRjaGVkVGV4dEV2ZW50LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB0aGlzLnRleHRzLnB1c2goe1xyXG4gICAgICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChtYXRjaGVkVGV4dEV2ZW50LnNlY29uZHNCZWZvcmUgfHwgMCksXHJcbiAgICAgICAgICB0ZXh0OiBtYXRjaGVkVGV4dEV2ZW50LnRleHQgPz8gJycsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFJhdGhlciB0aGFuIG1hdGNoaW5nIHRyaWdnZXJzIGF0IHJ1biB0aW1lLCBwcmUtbWF0Y2ggYWxsIHRoZSB0cmlnZ2Vyc1xyXG4gICAgICAvLyBhZ2FpbnN0IHRpbWVsaW5lIHRleHQgYW5kIGluc2VydCB0aGVtIGFzIHRleHQgZXZlbnRzIHRvIHJ1bi5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgbSA9IHRyaWdnZXIucmVnZXg/LmV4ZWMoZS5uYW1lKTtcclxuICAgICAgICBpZiAoIW0pXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogYmVmb3JlU2Vjb25kcyBzaG91bGQgc3VwcG9ydCBiZWluZyBhIGZ1bmN0aW9uLlxyXG4gICAgICAgIGNvbnN0IGF1dG9Db25maWcgPSB0cmlnZ2VyLmlkICYmIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWdbdHJpZ2dlci5pZF0gfHwge307XHJcbiAgICAgICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IGF1dG9Db25maWdbJ0JlZm9yZVNlY29uZHMnXSA/PyB0cmlnZ2VyLmJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAndHJpZ2dlcicsXHJcbiAgICAgICAgICB0aW1lOiBlLnRpbWUgLSAoYmVmb3JlU2Vjb25kcyB8fCAwKSxcclxuICAgICAgICAgIHRyaWdnZXI6IHRyaWdnZXIsXHJcbiAgICAgICAgICBtYXRjaGVzOiBtLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IHN0eWxlIG9mIHN0eWxlcyA/PyBbXSkge1xyXG4gICAgICAgIGlmICghc3R5bGUucmVnZXgudGVzdChlLm5hbWUpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZS5zdHlsZSA9IHN0eWxlLnN0eWxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU29ydCBieSB0aW1lLCBidXQgd2hlbiB0aGUgdGltZSBpcyB0aGUgc2FtZSwgc29ydCBieSBmaWxlIG9yZGVyLlxyXG4gICAgLy8gVGhlbiBhc3NpZ24gYSBzb3J0S2V5IHRvIGVhY2ggZXZlbnQgc28gdGhhdCB3ZSBjYW4gbWFpbnRhaW4gdGhhdCBvcmRlci5cclxuICAgIHRoaXMuZXZlbnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgaWYgKGEudGltZSA9PT0gYi50aW1lKVxyXG4gICAgICAgIHJldHVybiBhLmlkIC0gYi5pZDtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5ldmVudHMuZm9yRWFjaCgoZXZlbnQsIGlkeCkgPT4gZXZlbnQuc29ydEtleSA9IGlkeCk7XHJcblxyXG4gICAgdGhpcy50ZXh0cy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLnRpbWUgLSBiLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3luY1N0YXJ0cy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLnN0YXJ0IC0gYi5zdGFydDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jRW5kcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLmVuZCAtIGIuZW5kO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkSGVscGVyKFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgcmVwbGFjZUtleTogJ3JlcGxhY2VTeW5jJyB8ICdyZXBsYWNlVGV4dCcsXHJcbiAgICByZXBsYWNlTGFuZzogTGFuZyxcclxuICAgIGlzR2xvYmFsOiBib29sZWFuLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gdGV4dDtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHIgb2YgdGhpcy5yZXBsYWNlbWVudHMpIHtcclxuICAgICAgaWYgKHIubG9jYWxlICYmIHIubG9jYWxlICE9PSByZXBsYWNlTGFuZylcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3QgcmVwcyA9IHJbcmVwbGFjZUtleV07XHJcbiAgICAgIGlmICghcmVwcylcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwcykpXHJcbiAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShSZWdleGVzLnBhcnNlKGtleSksIHZhbHVlKTtcclxuICAgIH1cclxuICAgIC8vIENvbW1vbiBSZXBsYWNlbWVudHNcclxuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gY29tbW9uUmVwbGFjZW1lbnRbcmVwbGFjZUtleV07XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudCA/PyB7fSkpIHtcclxuICAgICAgY29uc3QgcmVwbCA9IHZhbHVlW3JlcGxhY2VMYW5nXTtcclxuICAgICAgaWYgKCFyZXBsKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHJlZ2V4LCByZXBsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCYWNrd2FyZHMgY29tcGF0IHJlcGxhY2VtZW50cyBmb3IgS29yZWFuIHBhcnNlZCBsb2cgbGluZXMgYmVmb3JlIDYueCBjaGFuZ2VzLlxyXG4gICAgaWYgKHJlcGxhY2VMYW5nID09PSAna28nICYmIHJlcGxhY2VLZXkgPT09ICdyZXBsYWNlU3luYycpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCByZXBsXSBvZiBPYmplY3QuZW50cmllcyhiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2UpKSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBpc0dsb2JhbCA/IFJlZ2V4ZXMucGFyc2VHbG9iYWwoa2V5KSA6IFJlZ2V4ZXMucGFyc2Uoa2V5KTtcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHJlZ2V4LCByZXBsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBHZXRSZXBsYWNlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIEFueXRoaW5nIGluIHRoZSB0aW1lbGluZSBjb25maWcgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9ucyBpblxyXG4gICAgLy8gdGhlIHRyaWdnZXIgZmlsZS4gIEl0IGlzIGFsc28gYSBmdWxsIHJlcGxhY2VtZW50LCB2cyB0aGUgcmVnZXgtc3R5bGUgR2V0UmVwbGFjZWRIZWxwZXIuXHJcbiAgICBjb25zdCByZW5hbWUgPSB0aGlzLnRpbWVsaW5lQ29uZmlnPy5SZW5hbWU/Llt0ZXh0XTtcclxuICAgIGlmIChyZW5hbWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHJlbmFtZTtcclxuXHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gdGV4dDtcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLkdldFJlcGxhY2VkSGVscGVyKHRleHQsICdyZXBsYWNlVGV4dCcsIHJlcGxhY2VMYW5nLCBpc0dsb2JhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkU3luYyhzeW5jOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnJlcGxhY2VtZW50cylcclxuICAgICAgcmV0dXJuIHN5bmM7XHJcblxyXG4gICAgY29uc3QgcmVwbGFjZUxhbmcgPSB0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuICAgIGNvbnN0IGlzR2xvYmFsID0gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLkdldFJlcGxhY2VkSGVscGVyKHN5bmMsICdyZXBsYWNlU3luYycsIHJlcGxhY2VMYW5nLCBpc0dsb2JhbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0TWlzc2luZ1RyYW5zbGF0aW9uc1RvSWdub3JlKCk6IFJlZ0V4cFtdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgICctLVJlc2V0LS0nLFxyXG4gICAgICAnLS1zeW5jLS0nLFxyXG4gICAgICAnU3RhcnQnLFxyXG4gICAgICAnXiA/MjE6JyxcclxuICAgICAgJ14oXFxcXChcXFxcP1xcXFw8dGltZXN0YW1wXFxcXD5cXFxcXlxcXFwuXFxcXHsxNFxcXFx9XFxcXCkpICgxQnwyMXwyMyk6JyxcclxuICAgICAgJ14oXFxcXF5cXFxcLlxcXFx7MTRcXFxcfSk/ID8oMUJ8MjF8MjMpOicsXHJcbiAgICAgICdeOjpcXFxceXtBYmlsaXR5Q29kZX06JCcsXHJcbiAgICAgICdeXFxcXC5cXFxcKiQnLFxyXG4gICAgXS5tYXAoKHgpID0+IFJlZ2V4ZXMucGFyc2UoeCkpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IE5ldFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMnO1xyXG5pbXBvcnQgVGltZXJCYXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3RpbWVyYmFyJztcclxuaW1wb3J0IHsgTG9jYWxlUmVnZXggfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNsYXRpb25zJztcclxuaW1wb3J0IHsgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciwgUmFpZGJvc3NGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgUG9wdXBUZXh0R2VuZXJhdG9yIH0gZnJvbSAnLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHtcclxuICBFdmVudCxcclxuICBTeW5jLFxyXG4gIFRleHQsXHJcbiAgVGltZWxpbmVQYXJzZXIsXHJcbiAgVGltZWxpbmVSZXBsYWNlbWVudCxcclxuICBUaW1lbGluZVN0eWxlLFxyXG59IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGtCaWcgPSAxMDAwMDAwMDAwOyAvLyBTb21ldGhpbmcgYmlnZ2VyIHRoYW4gYW55IGZpZ2h0IGxlbmd0aCBpbiBzZWNvbmRzLlxyXG5cclxuY29uc3QgdGltZWxpbmVJbnN0cnVjdGlvbnMgPSB7XHJcbiAgZW46IFtcclxuICAgICdUaGVzZSBsaW5lcyBhcmUnLFxyXG4gICAgJ2RlYnVnIHRpbWVsaW5lIGVudHJpZXMuJyxcclxuICAgICdJZiB5b3UgbG9jayB0aGUgb3ZlcmxheSwnLFxyXG4gICAgJ3RoZXkgd2lsbCBkaXNhcHBlYXIhJyxcclxuICAgICdSZWFsIHRpbWVsaW5lcyBhdXRvbWF0aWNhbGx5JyxcclxuICAgICdhcHBlYXIgd2hlbiBzdXBwb3J0ZWQuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnRGllc2UgWmVpbGVuIHNpbmQnLFxyXG4gICAgJ1RpbWVsaW5lIERlYnVnLUVpbnRyw6RnZS4nLFxyXG4gICAgJ1dlbm4gZHUgZGFzIE92ZXJsYXkgc3BlcnJzdCwnLFxyXG4gICAgJ3dlcmRlbiBzaWUgdmVyc2Nod2luZGVuIScsXHJcbiAgICAnRWNodGUgVGltZWxpbmVzIGVyc2NoZWluZW4gYXV0b21hdGlzY2gsJyxcclxuICAgICd3ZW5uIHNpZSB1bnRlcnN0w7x0enQgd2VyZGVuLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0NlcyBsaWduZXMgc29udCcsXHJcbiAgICAnZGVzIHRpbWVsaW5lcyBkZSB0ZXN0LicsXHJcbiAgICAnU2kgdm91cyBibG9xdWV6IGxcXCdvdmVybGF5LCcsXHJcbiAgICAnZWxsZXMgZGlzcGFyYcOudHJvbnQgIScsXHJcbiAgICAnTGVzIHZyYWllcyBUaW1lbGluZXMnLFxyXG4gICAgJ2FwcGFyYcOudHJvbnQgYXV0b21hdGlxdWVtZW50LicsXHJcbiAgXSxcclxuICBqYTogW1xyXG4gICAgJ+OBk+OBoeOCieOBr+ODh+ODkOODg+OCsOeUqOOBricsXHJcbiAgICAn44K/44Kk44Og44Op44Kk44Oz44Gn44GZ44CCJyxcclxuICAgICfjgqrjg7zjg5Djg7zjg6zjgqTjgpLjg63jg4Pjgq/jgZnjgozjgbDjgIEnLFxyXG4gICAgJ+ODh+ODkOODg+OCsOeUqOODhuOCreOCueODiOOCgua2iOOBiOOCiycsXHJcbiAgICAn44K144Od44O844OI44GZ44KL44K+44O844Oz44Gr44Gv44K/44Kk44OgJyxcclxuICAgICfjg6njgqTjg7PjgpLli5XnmoTjgavjg63jg7zjg4njgZnjgovjgIInLFxyXG4gIF0sXHJcbiAgY246IFtcclxuICAgICfmmL7npLrlnKjmraTlpITnmoTmmK8nLFxyXG4gICAgJ+iwg+ivleeUqOaXtumXtOi9tOOAgicsXHJcbiAgICAn5bCG5q2k5oKs5rWu56qX6ZSB5a6aJyxcclxuICAgICfliJnkvJrnq4vliLvmtojlpLEnLFxyXG4gICAgJ+ecn+WunueahOaXtumXtOi9tOS8muagueaNricsXHJcbiAgICAn5b2T5YmN5Yy65Z+f5Yqo5oCB5Yqg6L295bm25pi+56S6JyxcclxuICBdLFxyXG4gIGtvOiBbXHJcbiAgICAn7J20IOunieuMgOuwlOuKlCDrlJTrsoTqt7jsmqknLFxyXG4gICAgJ+2DgOyehOudvOyduCDsnoXri4jri6QuJyxcclxuICAgICfsmKTrsoTroIjsnbTrpbwg7JyE7LmY7J6g6riI7ZWY66m0LCcsXHJcbiAgICAn7J20IOunieuMgOuwlOuPhCDsgqzrnbzsp5Hri4jri6QuJyxcclxuICAgICfsp4Dsm5DrkJjripQg6rWs7Jet7JeQ7IScIO2DgOyehOudvOyduOydtCcsXHJcbiAgICAn7J6Q64+Z7Jy866GcIO2RnOyLnOuQqeuLiOuLpC4nLFxyXG4gIF0sXHJcbn07XHJcblxyXG5jb25zdCBhY3RpdmVUZXh0ID0ge1xyXG4gIGVuOiAnQWN0aXZlOicsXHJcbiAgZGU6ICdBa3RpdjonLFxyXG4gIGZyOiAnQWN0aXZlIDonLFxyXG4gIGphOiAnKOmAsuihjCk6JyxcclxuICBjbjogJyjov5vooYzkuK0pOicsXHJcbiAga286ICfsi5zsoITspJE6JyxcclxufTtcclxuXHJcbi8vIFRPRE86IER1cGxpY2F0ZWQgaW4gJ2pvYnMnXHJcbmNvbnN0IGNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc0xpc3Q6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgY29uc3QgY2xhc3NlcyA9IGNsYXNzTGlzdC5zcGxpdCgnLicpO1xyXG4gIGZvciAoY29uc3QgY2xzIG9mIGNsYXNzZXMpXHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZChjbHMpO1xyXG4gIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICBjb25zdCBjb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuYmFja2dyb3VuZENvbG9yO1xyXG4gIGVsZW1lbnQucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICByZXR1cm4gY29sb3I7XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmUge1xyXG4gIHByaXZhdGUgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zO1xyXG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlVGV4dDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZVN5bmNzOiBTeW5jW107XHJcbiAgcHJpdmF0ZSBhY3RpdmVFdmVudHM6IEV2ZW50W107XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuXHJcbiAgcHVibGljIHRpbWViYXNlID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBuZXh0RXZlbnQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFRleHQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgcHJpdmF0ZSBuZXh0U3luY0VuZCA9IDA7XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGltZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgdWk/OiBUaW1lbGluZVVJO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSxcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByaXZhdGUgem9uZUlkOiBudW1iZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5yZXBsYWNlbWVudHMgPSByZXBsYWNlbWVudHM7XHJcblxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5hY3RpdmVUZXh0ID0gbGFuZyBpbiBhY3RpdmVUZXh0ID8gYWN0aXZlVGV4dFtsYW5nXSA6IGFjdGl2ZVRleHRbJ2VuJ107XHJcblxyXG4gICAgLy8gTm90IHNvcnRlZC5cclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gICAgLy8gQSBzZXQgb2YgbmFtZXMgd2hpY2ggd2lsbCBub3QgYmUgbm90aWZpZWQgYWJvdXQuXHJcbiAgICB0aGlzLmlnbm9yZXMgPSB7fTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMudGV4dHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLnN0YXJ0IHRpbWUuXHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLmVuZCB0aW1lLlxyXG4gICAgdGhpcy5zeW5jRW5kcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuTG9hZEZpbGUodGV4dCwgdHJpZ2dlcnMsIHN0eWxlcyk7XHJcbiAgICB0aGlzLlN0b3AoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbGUodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBUaW1lbGluZVBhcnNlcihcclxuICAgICAgdGV4dCxcclxuICAgICAgdGhpcy5yZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgdGhpcy56b25lSWQsXHJcbiAgICApO1xyXG4gICAgdGhpcy5pZ25vcmVzID0gcGFyc2VkLmlnbm9yZXM7XHJcbiAgICB0aGlzLmV2ZW50cyA9IHBhcnNlZC5ldmVudHM7XHJcbiAgICB0aGlzLnRleHRzID0gcGFyc2VkLnRleHRzO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzID0gcGFyc2VkLnN5bmNTdGFydHM7XHJcbiAgICB0aGlzLnN5bmNFbmRzID0gcGFyc2VkLnN5bmNFbmRzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFN0b3AoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWViYXNlID0gMDtcclxuXHJcbiAgICB0aGlzLm5leHRFdmVudCA9IDA7XHJcbiAgICB0aGlzLm5leHRUZXh0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgICB0aGlzLm5leHRTeW5jRW5kID0gMDtcclxuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IDA7XHJcbiAgICB0aGlzLl9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NvbGxlY3RBY3RpdmVTeW5jcyhmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy5fQ2xlYXJUaW1lcnMoKTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBTeW5jVG8oZmlnaHROb3c6IG51bWJlciwgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gVGhpcyByZWNvcmRzIHRoZSBhY3R1YWwgdGltZSB3aGljaCBhbGlnbnMgd2l0aCBcIjBcIiBpbiB0aGUgdGltZWxpbmUuXHJcbiAgICBjb25zdCBuZXdUaW1lYmFzZSA9IG5ldyBEYXRlKGN1cnJlbnRUaW1lIC0gZmlnaHROb3cgKiAxMDAwKS52YWx1ZU9mKCk7XHJcbiAgICAvLyBTa2lwIHN5bmNzIHRoYXQgYXJlIHRvbyBjbG9zZS4gIE1hbnkgc3luY3MgaGFwcGVuIG9uIGFiaWxpdGllcyB0aGF0XHJcbiAgICAvLyBoaXQgOCB0byAyNCBwZW9wbGUsIGFuZCBzbyB0aGlzIGlzIGEgbG90IG9mIGNodXJuLlxyXG4gICAgaWYgKE1hdGguYWJzKG5ld1RpbWViYXNlIC0gdGhpcy50aW1lYmFzZSkgPD0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50aW1lYmFzZSA9IG5ld1RpbWViYXNlO1xyXG5cclxuICAgIHRoaXMubmV4dEV2ZW50ID0gMDtcclxuICAgIHRoaXMubmV4dFRleHQgPSAwO1xyXG4gICAgdGhpcy5uZXh0U3luY1N0YXJ0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNFbmQgPSAwO1xyXG5cclxuICAgIC8vIFRoaXMgd2lsbCBza2lwIHRleHQgZXZlbnRzIHdpdGhvdXQgcnVubmluZyB0aGVtLlxyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIC8vIENsZWFyIGFsbCB0aW1lcnMgZXhjZXB0IGFueSBzeW50aGV0aWMgZHVyYXRpb24gZXZlbnRzLlxyXG4gICAgLy8gVGhpcyBpcyBiZWNhdXNlIGlmIHRoZSBzeW5jIGdvZXMgZXZlbiBhIGhhaXIgaW50byB0aGUgZnV0dXJlLCB0aGVuXHJcbiAgICAvLyB0aGUgZHVyYXRpb24gZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRyb3BwZWQgaGVyZS5cclxuXHJcbiAgICAvLyBGSVhNRTogd2UgY291bGQgYmUgc21hcnRlciBoZXJlIGFuZCBrbm93IGFoZWFkIG9mIHRpbWUgd2hlcmUgYWxsIHRoZSBkdXJhdGlvblxyXG4gICAgLy8gZXZlbnRzIGFyZSwgc28gdGhhdCB3ZSBjb3VsZCBza2lwIGFoZWFkIGludG8gdGhlIGZ1dHVyZSB3aGVyZSBhIGR1cmF0aW9uXHJcbiAgICAvLyBldmVudCBoYXMgc3RhcnRlZCBidXQgbm90IGV4cGlyZWQgYW5kIGhhdmUgdGhhdCB3b3JrIHByb3Blcmx5LlxyXG4gICAgdGhpcy5fQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZFVwY29taW5nVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ29sbGVjdEFjdGl2ZVN5bmNzKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLm5leHRTeW5jRW5kOyBpIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGg7ICsraSkge1xyXG4gICAgICBjb25zdCBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1tpXTtcclxuICAgICAgaWYgKHN5bmNFbmQgJiYgc3luY0VuZC5zdGFydCA8PSBmaWdodE5vdylcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5bmNzLnB1c2goc3luY0VuZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25Mb2dMaW5lKGxpbmU6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBzeW5jIG9mIHRoaXMuYWN0aXZlU3luY3MpIHtcclxuICAgICAgaWYgKGxpbmUuc2VhcmNoKHN5bmMucmVnZXgpID49IDApIHtcclxuICAgICAgICBpZiAoJ2p1bXAnIGluIHN5bmMpIHtcclxuICAgICAgICAgIGlmICghc3luYy5qdW1wKVxyXG4gICAgICAgICAgICB0aGlzLlN0b3AoKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5TeW5jVG8oc3luYy5qdW1wLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuU3luY1RvKHN5bmMudGltZSwgY3VycmVudFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWR2YW5jZVRpbWVUbyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgZXZlbnQgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0RXZlbnQgPCB0aGlzLmV2ZW50cy5sZW5ndGggJiYgZXZlbnQgJiYgZXZlbnQudGltZSA8PSBmaWdodE5vdylcclxuICAgICAgZXZlbnQgPSB0aGlzLmV2ZW50c1srK3RoaXMubmV4dEV2ZW50XTtcclxuICAgIGxldCB0ZXh0ID0gdGhpcy50ZXh0c1t0aGlzLm5leHRUZXh0XTtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGggJiYgdGV4dCAmJiB0ZXh0LnRpbWUgPD0gZmlnaHROb3cpXHJcbiAgICAgIHRleHQgPSB0aGlzLnRleHRzWysrdGhpcy5uZXh0VGV4dF07XHJcbiAgICBsZXQgc3luY1N0YXJ0ID0gdGhpcy5zeW5jU3RhcnRzW3RoaXMubmV4dFN5bmNTdGFydF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0U3luY1N0YXJ0IDwgdGhpcy5zeW5jU3RhcnRzLmxlbmd0aCAmJiBzeW5jU3RhcnQgJiYgc3luY1N0YXJ0LnN0YXJ0IDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jU3RhcnQgPSB0aGlzLnN5bmNTdGFydHNbKyt0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgbGV0IHN5bmNFbmQgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgd2hpbGUgKHRoaXMubmV4dFN5bmNFbmQgPCB0aGlzLnN5bmNFbmRzLmxlbmd0aCAmJiBzeW5jRW5kICYmIHN5bmNFbmQuZW5kIDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1srK3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJUaW1lcnMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGFjdGl2ZUV2ZW50IG9mIHRoaXMuYWN0aXZlRXZlbnRzKVxyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCBmYWxzZSk7XHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZHVyYXRpb25FdmVudHMgPSBbXTtcclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGhpcy5hY3RpdmVFdmVudHMpIHtcclxuICAgICAgaWYgKGV2ZW50LmlzRHVyICYmIGV2ZW50LnRpbWUgPiBmaWdodE5vdykge1xyXG4gICAgICAgIGR1cmF0aW9uRXZlbnRzLnB1c2goZXZlbnQpO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudWk/Lk9uUmVtb3ZlVGltZXIoZXZlbnQsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IGR1cmF0aW9uRXZlbnRzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfUmVtb3ZlRXhwaXJlZFRpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlRXZlbnQgPSB0aGlzLmFjdGl2ZUV2ZW50c1swXTtcclxuICAgIHdoaWxlICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggJiYgYWN0aXZlRXZlbnQgJiYgYWN0aXZlRXZlbnQudGltZSA8PSBmaWdodE5vdykge1xyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCB0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKDAsIDEpO1xyXG4gICAgICBhY3RpdmVFdmVudCA9IHRoaXMuYWN0aXZlRXZlbnRzWzBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZXZlbnRzID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmFjdGl2ZUV2ZW50c1tpXTtcclxuICAgICAgaWYgKGUgJiYgZS50aW1lIDw9IGZpZ2h0Tm93ICYmIGUuZHVyYXRpb24pIHtcclxuICAgICAgICBjb25zdCBkdXJhdGlvbkV2ZW50OiBFdmVudCA9IHtcclxuICAgICAgICAgIGlkOiBlLmlkLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lICsgZS5kdXJhdGlvbixcclxuICAgICAgICAgIHNvcnRLZXk6IGUuc29ydEtleSxcclxuICAgICAgICAgIG5hbWU6IGUubmFtZSxcclxuICAgICAgICAgIHRleHQ6IGAke3RoaXMuYWN0aXZlVGV4dH0gJHtlLnRleHR9YCxcclxuICAgICAgICAgIGlzRHVyOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgZXZlbnRzLnB1c2goZHVyYXRpb25FdmVudCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHRoaXMudWk/Lk9uQWRkVGltZXIoZmlnaHROb3csIGR1cmF0aW9uRXZlbnQsIHRydWUpO1xyXG4gICAgICAgIC0taTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50cy5sZW5ndGgpXHJcbiAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuYWN0aXZlRXZlbnRzLCBldmVudHMpO1xyXG4gICAgdGhpcy5hY3RpdmVFdmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9BZGRVcGNvbWluZ1RpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAoXHJcbiAgICAgIHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aCA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc1xyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICAgIGlmICghZSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLlNob3dUaW1lckJhcnNBdFNlY29uZHMpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGlmIChmaWdodE5vdyA8IGUudGltZSAmJiAhKGUubmFtZSBpbiB0aGlzLmlnbm9yZXMpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMucHVzaChlKTtcclxuICAgICAgICB0aGlzLnVpPy5PbkFkZFRpbWVyKGZpZ2h0Tm93LCBlLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgKyt0aGlzLm5leHRFdmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0FkZFBhc3NlZFRleHRzKGZpZ2h0Tm93OiBudW1iZXIsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgdCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmICghdClcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKHQudGltZSA+IGZpZ2h0Tm93KVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAodC50eXBlID09PSAnaW5mbycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TaG93SW5mb1RleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsZXJ0JylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGVydFRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsYXJtJylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGFybVRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ3R0cycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TcGVha1RUUyh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAndHJpZ2dlcicpXHJcbiAgICAgICAgdGhpcy51aT8uT25UcmlnZ2VyKHQudHJpZ2dlciwgdC5tYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICsrdGhpcy5uZXh0VGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0NhbmNlbFVwZGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyKSB7XHJcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lcik7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9TY2hlZHVsZVVwZGF0ZShmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnRpbWViYXNlLCAnX1NjaGVkdWxlVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgbGV0IG5leHRFdmVudFN0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0VGV4dE9jY3VycyA9IGtCaWc7XHJcbiAgICBsZXQgbmV4dEV2ZW50RW5kaW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY1N0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY0VuZGluZyA9IGtCaWc7XHJcblxyXG4gICAgaWYgKHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5leHRFdmVudCA9IHRoaXMuZXZlbnRzW3RoaXMubmV4dEV2ZW50XTtcclxuICAgICAgaWYgKG5leHRFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IG5leHRFdmVudEVuZHNBdCA9IG5leHRFdmVudC50aW1lO1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dEV2ZW50U3RhcnRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICduZXh0RXZlbnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgbW9yZSBldmVudHMgdGhhbiB3ZSBjYW4gc2hvdywgc28gdGhlIG5leHQgZXZlbnQgbWlnaHQgYmUgaW5cclxuICAgICAgICAvLyB0aGUgcGFzdC4gSWYgdGhhdCBoYXBwZW5zLCB0aGVuIGlnbm9yZSBpdCwgYXMgd2UgY2FuJ3QgdXNlIHRoYXQgZm9yIG91ciB0aW1lci5cclxuICAgICAgICBjb25zdCBzaG93TmV4dEV2ZW50QXQgPSBuZXh0RXZlbnRFbmRzQXQgLSB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgICAgICBpZiAoc2hvd05leHRFdmVudEF0ID4gZmlnaHROb3cpXHJcbiAgICAgICAgICBuZXh0RXZlbnRTdGFydGluZyA9IHNob3dOZXh0RXZlbnRBdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFRleHQgPCB0aGlzLnRleHRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBuZXh0VGV4dCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmIChuZXh0VGV4dCkge1xyXG4gICAgICAgIG5leHRUZXh0T2NjdXJzID0gbmV4dFRleHQudGltZTtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRUZXh0T2NjdXJzID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFRleHQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFjdGl2ZUV2ZW50ID0gdGhpcy5hY3RpdmVFdmVudHNbMF07XHJcbiAgICAgIGlmIChhY3RpdmVFdmVudCkge1xyXG4gICAgICAgIG5leHRFdmVudEVuZGluZyA9IGFjdGl2ZUV2ZW50LnRpbWU7XHJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoXHJcbiAgICAgICAgICBuZXh0RXZlbnRFbmRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICdFeHBpcmVkIGFjdGl2ZUV2ZW50cyB3ZXJlblxcJ3QgcHJ1bmVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFN5bmNTdGFydCA8IHRoaXMuc3luY1N0YXJ0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY1N0YXJ0cyA9IHRoaXMuc3luY1N0YXJ0c1t0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgICBpZiAoc3luY1N0YXJ0cykge1xyXG4gICAgICAgIG5leHRTeW5jU3RhcnRpbmcgPSBzeW5jU3RhcnRzLnN0YXJ0O1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dFN5bmNTdGFydGluZyA+IGZpZ2h0Tm93LFxyXG4gICAgICAgICAgJ25leHRTeW5jU3RhcnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5leHRTeW5jRW5kIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY0VuZHMgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgICBpZiAoc3luY0VuZHMpIHtcclxuICAgICAgICBuZXh0U3luY0VuZGluZyA9IHN5bmNFbmRzLmVuZDtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRTeW5jRW5kaW5nID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFN5bmNFbmQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXh0VGltZSA9IE1hdGgubWluKFxyXG4gICAgICBuZXh0RXZlbnRTdGFydGluZyxcclxuICAgICAgbmV4dEV2ZW50RW5kaW5nLFxyXG4gICAgICBuZXh0VGV4dE9jY3VycyxcclxuICAgICAgbmV4dFN5bmNTdGFydGluZyxcclxuICAgICAgbmV4dFN5bmNFbmRpbmcsXHJcbiAgICApO1xyXG4gICAgaWYgKG5leHRUaW1lICE9PSBrQmlnKSB7XHJcbiAgICAgIGNvbnNvbGUuYXNzZXJ0KG5leHRUaW1lID4gZmlnaHROb3csICduZXh0VGltZSBpcyBpbiB0aGUgcGFzdCcpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fT25VcGRhdGVUaW1lcihEYXRlLm5vdygpKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChuZXh0VGltZSAtIGZpZ2h0Tm93KSAqIDEwMDAsXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgX09uVXBkYXRlVGltZXIoY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy50aW1lYmFzZSwgJ19PblRpbWVyVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgLy8gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgaW50byB0aGUgZmlnaHQgKHN1YnRyYWN0aW5nIERhdGVzIGdpdmVzIG1pbGxpc2Vjb25kcykuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IChjdXJyZW50VGltZSAtIHRoaXMudGltZWJhc2UpIC8gMTAwMDtcclxuICAgIC8vIFNlbmQgdGV4dCBldmVudHMgbm93IG9yIHRoZXknZCBiZSBza2lwcGVkIGJ5IF9BZHZhbmNlVGltZVRvKCkuXHJcbiAgICB0aGlzLl9BZGRQYXNzZWRUZXh0cyhmaWdodE5vdywgY3VycmVudFRpbWUpO1xyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZER1cmF0aW9uVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX1JlbW92ZUV4cGlyZWRUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQWRkVXBjb21pbmdUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lVUkge1xyXG4gIHByaXZhdGUgaW5pdDogYm9vbGVhbjtcclxuICBwcml2YXRlIGxhbmc6IExhbmc7XHJcblxyXG4gIHByaXZhdGUgcm9vdDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckV4cGlyZXNTb29uQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgdGltZXJsaXN0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZUJhcnM6IHsgW2FjdGl2ZWJhcjogc3RyaW5nXTogVGltZXJCYXIgfSA9IHt9O1xyXG4gIHByaXZhdGUgZXhwaXJlVGltZXJzOiB7IFtleHBpcmVUaW1lcjogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkZWJ1Z0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkZWJ1Z0ZpZ2h0VGltZXI6IFRpbWVyQmFyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByb3RlY3RlZCB0aW1lbGluZTogVGltZWxpbmUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBwb3B1cFRleHQ/OiBQb3B1cFRleHRHZW5lcmF0b3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLmluaXQgPSBmYWxzZTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5BZGREZWJ1Z0luc3RydWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbml0KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLmluaXQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1jb250YWluZXInKTtcclxuICAgIGlmICghdGhpcy5yb290KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhblxcJ3QgZmluZCB0aW1lbGluZS1jb250YWluZXInKTtcclxuXHJcbiAgICAvLyBUT0RPOiBsZWZ0IGZvciBub3cgYXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB1c2VyIGNzcy4gIFJlbW92ZSB0aGlzIGxhdGVyPz9cclxuICAgIHRoaXMucm9vdC5jbGFzc0xpc3QuYWRkKGBsYW5nLSR7dGhpcy5sYW5nfWApO1xyXG4gICAgdGhpcy5yb290LmxhbmcgPSBsYW5nVG9Mb2NhbGUodGhpcy5sYW5nKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuU2tpbilcclxuICAgICAgdGhpcy5yb290LmNsYXNzTGlzdC5hZGQoYHNraW4tJHt0aGlzLm9wdGlvbnMuU2tpbn1gKTtcclxuXHJcbiAgICB0aGlzLmJhckNvbG9yID0gY29tcHV0ZUJhY2tncm91bmRDb2xvckZyb20odGhpcy5yb290LCAndGltZWxpbmUtYmFyLWNvbG9yJyk7XHJcbiAgICB0aGlzLmJhckV4cGlyZXNTb29uQ29sb3IgPSBjb21wdXRlQmFja2dyb3VuZENvbG9yRnJvbSh0aGlzLnJvb3QsICd0aW1lbGluZS1iYXItY29sb3Iuc29vbicpO1xyXG5cclxuICAgIHRoaXMudGltZXJsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lJyk7XHJcbiAgICBpZiAodGhpcy50aW1lcmxpc3QpIHtcclxuICAgICAgdGhpcy50aW1lcmxpc3Quc3R5bGUuZ3JpZFRlbXBsYXRlUm93cyA9XHJcbiAgICAgICAgYHJlcGVhdCgke3RoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc30sIG1pbi1jb250ZW50KWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RpdmVCYXJzID0ge307XHJcbiAgICB0aGlzLmV4cGlyZVRpbWVycyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEFkZERlYnVnSW5zdHJ1Y3Rpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMubGFuZyBpbiB0aW1lbGluZUluc3RydWN0aW9ucyA/IHRoaXMubGFuZyA6ICdlbic7XHJcbiAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSB0aW1lbGluZUluc3RydWN0aW9uc1tsYW5nXTtcclxuXHJcbiAgICAvLyBIZWxwZXIgZm9yIHBvc2l0aW9uaW5nL3Jlc2l6aW5nIHdoZW4gbG9ja2VkLlxyXG4gICAgY29uc3QgaGVscGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lLXJlc2l6ZS1oZWxwZXInKTtcclxuICAgIGlmICghaGVscGVyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCByb3dzID0gTWF0aC5tYXgoNiwgdGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzKTtcclxuICAgIGhlbHBlci5zdHlsZS5ncmlkVGVtcGxhdGVSb3dzID0gYHJlcGVhdCgke3Jvd3N9LCAxZnIpYDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyczsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGhlbHBlckJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBpZiAoIWhlbHBlckJhcilcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3RleHQnKTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3Jlc2l6ZS1oZWxwZXItYmFyJyk7XHJcbiAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS1iYXItY29sb3InKTtcclxuICAgICAgaWYgKGkgPCAxKVxyXG4gICAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCdzb29uJyk7XHJcbiAgICAgIGlmIChpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aClcclxuICAgICAgICBoZWxwZXJCYXIuaW5uZXJUZXh0ID0gaW5zdHJ1Y3Rpb25zW2ldID8/ICcnO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgaGVscGVyQmFyLmlubmVyVGV4dCA9IGAke2kgKyAxfWA7XHJcbiAgICAgIGhlbHBlci5hcHBlbmRDaGlsZChoZWxwZXJCYXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvciBzaW1wbGljaXR5IGluIGNvZGUsIGFsd2F5cyBtYWtlIGRlYnVnRWxlbWVudCB2YWxpZCxcclxuICAgIC8vIGhvd2V2ZXIgaXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHJhaWQgZW11bGF0b3IuXHJcbiAgICB0aGlzLmRlYnVnRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1kZWJ1ZycpO1xyXG4gICAgaWYgKCF0aGlzLmRlYnVnRWxlbWVudClcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0OiBQb3B1cFRleHRHZW5lcmF0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0ID0gcG9wdXBUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFRpbWVsaW5lKHRpbWVsaW5lOiBUaW1lbGluZSB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuSW5pdCgpO1xyXG4gICAgaWYgKHRoaXMudGltZWxpbmUpIHtcclxuICAgICAgZGVsZXRlIHRoaXMudGltZWxpbmUudWk7XHJcbiAgICAgIHdoaWxlICh0aGlzLnRpbWVybGlzdCAmJiB0aGlzLnRpbWVybGlzdC5sYXN0Q2hpbGQpXHJcbiAgICAgICAgdGhpcy50aW1lcmxpc3QucmVtb3ZlQ2hpbGQodGhpcy50aW1lcmxpc3QubGFzdENoaWxkKTtcclxuICAgICAgaWYgKHRoaXMuZGVidWdFbGVtZW50KVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LmlubmVySFRNTCA9ICcnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IG51bGw7XHJcbiAgICAgIHRoaXMuYWN0aXZlQmFycyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGltZWxpbmUgPSB0aW1lbGluZTtcclxuICAgIGlmICh0aGlzLnRpbWVsaW5lKVxyXG4gICAgICB0aGlzLnRpbWVsaW5lLnVpID0gdGhpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPbkFkZFRpbWVyKGZpZ2h0Tm93OiBudW1iZXIsIGU6IEV2ZW50LCBjaGFubmVsaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbnN0IGJhciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVyLWJhcicpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGJhcik7XHJcbiAgICBiYXIuZHVyYXRpb24gPSBjaGFubmVsaW5nID8gZS50aW1lIC0gZmlnaHROb3cgOiB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgIGJhci52YWx1ZSA9IGUudGltZSAtIGZpZ2h0Tm93O1xyXG4gICAgYmFyLnJpZ2h0dGV4dCA9ICdyZW1haW4nO1xyXG4gICAgYmFyLmxlZnR0ZXh0ID0gZS50ZXh0O1xyXG4gICAgYmFyLnRvd2FyZCA9ICdyaWdodCc7XHJcbiAgICBiYXIuc3R5bGVmaWxsID0gIWNoYW5uZWxpbmcgPyAnZmlsbCcgOiAnZW1wdHknO1xyXG5cclxuICAgIGlmIChlLnN0eWxlKVxyXG4gICAgICBiYXIuYXBwbHlTdHlsZXMoZS5zdHlsZSk7XHJcblxyXG4gICAgaWYgKCFjaGFubmVsaW5nICYmIGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLkJhckV4cGlyZXNTb29uU2Vjb25kcykge1xyXG4gICAgICBiYXIuZmcgPSB0aGlzLmJhckNvbG9yO1xyXG4gICAgICB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgICB0aGlzLk9uVGltZXJFeHBpcmVzU29vbi5iaW5kKHRoaXMsIGUuaWQpLFxyXG4gICAgICAgIChlLnRpbWUgLSBmaWdodE5vdyAtIHRoaXMub3B0aW9ucy5CYXJFeHBpcmVzU29vblNlY29uZHMpICogMTAwMCxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJhci5mZyA9IHRoaXMuYmFyRXhwaXJlc1Nvb25Db2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGRpbmcgYSB0aW1lciB3aXRoIHRoZSBzYW1lIGlkIGltbWVkaWF0ZWx5IHJlbW92ZXMgdGhlIHByZXZpb3VzLlxyXG4gICAgY29uc3QgYWN0aXZlQmFyID0gdGhpcy5hY3RpdmVCYXJzW2UuaWRdO1xyXG4gICAgaWYgKGFjdGl2ZUJhcikge1xyXG4gICAgICBjb25zdCBkaXYgPSBhY3RpdmVCYXIucGFyZW50Tm9kZTtcclxuICAgICAgZGl2Py5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlLnNvcnRLZXkpXHJcbiAgICAgIGRpdi5zdHlsZS5vcmRlciA9IGUuc29ydEtleS50b1N0cmluZygpO1xyXG4gICAgZGl2LmlkID0gZS5pZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy50aW1lcmxpc3Q/LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICB0aGlzLmFjdGl2ZUJhcnNbZS5pZF0gPSBiYXI7XHJcbiAgICBpZiAoZS5pZCBpbiB0aGlzLmV4cGlyZVRpbWVycykge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdKTtcclxuICAgICAgZGVsZXRlIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uVGltZXJFeHBpcmVzU29vbihpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbaWRdO1xyXG4gICAgaWYgKGJhcilcclxuICAgICAgYmFyLmZnID0gdGhpcy5iYXJFeHBpcmVzU29vbkNvbG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uUmVtb3ZlVGltZXIoZTogRXZlbnQsIGV4cGlyZWQ6IGJvb2xlYW4sIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICghZm9yY2UgJiYgZXhwaXJlZCAmJiB0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzKSB7XHJcbiAgICAgIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgdGhpcy5PblJlbW92ZVRpbWVyLmJpbmQodGhpcywgZSwgZmFsc2UpLFxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMgKiAxMDAwLFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2UgaWYgKGUuaWQgaW4gdGhpcy5leHBpcmVUaW1lcnMpIHtcclxuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXSk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbZS5pZF07XHJcbiAgICBpZiAoIWJhcilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRpdiA9IGJhci5wYXJlbnROb2RlO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuaWQudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIWVsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZW1vdmVCYXIgPSAoKSA9PiB7XHJcbiAgICAgIGRpdj8ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlQmFyc1tlLmlkXTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCFmb3JjZSlcclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRpbWVyLWJhci1yZW1vdmVkJyk7XHJcbiAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuYW5pbWF0aW9uTmFtZSAhPT0gJ25vbmUnKSB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIGFuaW1hdGlvbiB0byBmaW5pc2hcclxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCByZW1vdmVCYXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVtb3ZlQmFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TaG93SW5mb1RleHQodGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LkluZm8odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsZXJ0VGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxlcnQodGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsYXJtVGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxhcm0odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU3BlYWtUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LlRUUyh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25UcmlnZ2VyKFxyXG4gICAgdHJpZ2dlcjogTG9vc2VUaW1lbGluZVRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TeW5jVGltZShmaWdodE5vdzogbnVtYmVyLCBydW5uaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5EZWJ1ZyB8fCAhdGhpcy5kZWJ1Z0VsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXJ1bm5pbmcpIHtcclxuICAgICAgaWYgKHRoaXMuZGVidWdGaWdodFRpbWVyKVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZGVidWdGaWdodFRpbWVyKTtcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmRlYnVnRmlnaHRUaW1lcikge1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci53aWR0aCA9ICcxMDBweCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmhlaWdodCA9ICcxN3B4JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuZHVyYXRpb24gPSBrQmlnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5sZWZ0dGV4dCA9ICdlbGFwc2VkJztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIudG93YXJkID0gJ3JpZ2h0JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuc3R5bGVmaWxsID0gJ2ZpbGwnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5iZyA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmZnID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5kZWJ1Z0ZpZ2h0VGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvcmNlIHRoaXMgdG8gYmUgcmVzZXQuXHJcbiAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5lbGFwc2VkID0gMDtcclxuICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmVsYXBzZWQgPSBmaWdodE5vdztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbnRyb2xsZXIge1xyXG4gIHByb3RlY3RlZCB0aW1lbGluZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgcHJpdmF0ZSBzdXBwcmVzc05leHRFbmdhZ2U6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSB3aXBlUmVnZXg6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPjtcclxuICBwcm90ZWN0ZWQgYWN0aXZlVGltZWxpbmU6IFRpbWVsaW5lIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB1aTogVGltZWxpbmVVSSxcclxuICAgIHJhaWRib3NzRGF0YUZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMudWkgPSB1aTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lcyA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIGZpbGVdIG9mIE9iamVjdC5lbnRyaWVzKHJhaWRib3NzRGF0YUZpbGVzKSkge1xyXG4gICAgICBpZiAoIWZpbGVuYW1lLmVuZHNXaXRoKCcudHh0JykgfHwgdHlwZW9mIGZpbGUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB0aGlzLnRpbWVsaW5lc1tmaWxlbmFtZV0gPSBmaWxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgdG8gc3VwcHJlc3MgYW55IEVuZ2FnZSEgaWYgdGhlcmUncyBhIHdpcGUgYmV0d2VlbiAvY291bnRkb3duIGFuZCBFbmdhZ2UhLlxyXG4gICAgdGhpcy5zdXBwcmVzc05leHRFbmdhZ2UgPSBmYWxzZTtcclxuICAgIHRoaXMud2lwZVJlZ2V4ID0gTmV0UmVnZXhlcy5uZXR3b3JrNmQoeyBjb21tYW5kOiAnNDAwMDAwMTAnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFBvcHVwVGV4dEludGVyZmFjZShwb3B1cFRleHQ6IFBvcHVwVGV4dEdlbmVyYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy51aS5TZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gV2lwZSBsaW5lcyBjb21lIGJlZm9yZSBjb21iYXQgaXMgZmFsc2UsIGJ1dCBiZWNhdXNlIE9uTG9nRXZlbnQgZG9lc24ndCBwcm9jZXNzXHJcbiAgICAvLyBsaW5lcyB3aGVuIG91dCBvZiBjb21iYXQsIHN1cHByZXNzIGFueSBlbmdhZ2VzIHRoYXQgY29tZSBiZWZvcmUgdGhlIG5leHQgY291bnRkb3duXHJcbiAgICAvLyBqdXN0IGFzIGEgc2FmZXR5LCBlc3BlY2lhbGx5IGZvciBvbGQgQVJSIGNvbnRlbnQgd2hlcmUgd2lwZSBsaW5lcyBkb24ndCBoYXBwZW4uXHJcbiAgICBpZiAoIWluQ29tYmF0KVxyXG4gICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICBpZiAoIWluQ29tYmF0ICYmIHRoaXMuYWN0aXZlVGltZWxpbmUpXHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuU3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uTG9nRXZlbnQoZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUaW1lbGluZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGxvZyBvZiBlLmRldGFpbC5sb2dzKSB7XHJcbiAgICAgIGlmIChMb2NhbGVSZWdleC5jb3VudGRvd25TdGFydFt0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2VdLnRlc3QobG9nKSkge1xyXG4gICAgICAgIC8vIEFzIHlvdSBjYW4ndCBzdGFydCBhIGNvdW50ZG93biB3aGlsZSBpbiBjb21iYXQsIHRoZSBuZXh0IGVuZ2FnZSBpcyByZWFsLlxyXG4gICAgICAgIHRoaXMuc3VwcHJlc3NOZXh0RW5nYWdlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoTG9jYWxlUmVnZXguY291bnRkb3duRW5nYWdlW3RoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZV0udGVzdChsb2cpKSB7XHJcbiAgICAgICAgLy8gSWYgd2Ugc2VlIGFuIGVuZ2FnZSBhZnRlciBhIHdpcGUsIGJ1dCBiZWZvcmUgY29tYmF0IGhhcyBzdGFydGVkIG90aGVyd2lzZVxyXG4gICAgICAgIC8vIChlLmcuIGNvdW50ZG93biA+IHdpcGUgPiBmYWNlIHB1bGwgPiBlbmdhZ2UpLCBkb24ndCBwcm9jZXNzIHRoaXMgZW5nYWdlIGxpbmVcclxuICAgICAgICBpZiAodGhpcy5zdXBwcmVzc05leHRFbmdhZ2UpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLndpcGVSZWdleC50ZXN0KGxvZykpIHtcclxuICAgICAgICAvLyBJZiB3ZSBzZWUgYSB3aXBlLCBpZ25vcmUgdGhlIG5leHQgZW5nYWdlLiAgSWYgd2Ugc2VlIGEgY291bnRkb3duIGJlZm9yZSB0aGF0IHdpcGUsXHJcbiAgICAgICAgLy8gd2Ugd2lsbCBjbGVhciB0aGlzLiAgVGhlcmVmb3JlLCB0aGlzIHdpbGwgb25seSBhcHBseSB0byBhY3RpdmUgY291bnRkb3ducy5cclxuICAgICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5PbkxvZ0xpbmUobG9nLCBjdXJyZW50VGltZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0QWN0aXZlVGltZWxpbmUoXHJcbiAgICB0aW1lbGluZUZpbGVzOiBzdHJpbmdbXSxcclxuICAgIHRpbWVsaW5lczogc3RyaW5nW10sXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICB6b25lSWQ6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVGltZWxpbmUgPSBudWxsO1xyXG5cclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcblxyXG4gICAgLy8gR2V0IHRoZSB0ZXh0IGZyb20gZWFjaCBmaWxlIGluIHx0aW1lbGluZUZpbGVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmVGaWxlIG9mIHRpbWVsaW5lRmlsZXMpIHtcclxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudGltZWxpbmVzW3RpbWVsaW5lRmlsZV07XHJcbiAgICAgIGlmIChuYW1lKVxyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7bmFtZX1gO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgY29uc29sZS5sb2coYFRpbWVsaW5lIGZpbGUgbm90IGZvdW5kOiAke3RpbWVsaW5lRmlsZX1gKTtcclxuICAgIH1cclxuICAgIC8vIEFwcGVuZCB0ZXh0IGZyb20gZWFjaCBibG9jayBpbiB8dGltZWxpbmVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmUgb2YgdGltZWxpbmVzKVxyXG4gICAgICB0ZXh0ID0gYCR7dGV4dH1cXG4ke3RpbWVsaW5lfWA7XHJcblxyXG4gICAgaWYgKHRleHQpIHtcclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZSA9IG5ldyBUaW1lbGluZShcclxuICAgICAgICB0ZXh0LFxyXG4gICAgICAgIHJlcGxhY2VtZW50cyxcclxuICAgICAgICB0cmlnZ2VycyxcclxuICAgICAgICBzdHlsZXMsXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICAgIHpvbmVJZCxcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMudWkuU2V0VGltZWxpbmUodGhpcy5hY3RpdmVUaW1lbGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lcyAhPT0gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUxvYWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aW1lbGluZUNvbnRyb2xsZXI6IFRpbWVsaW5lQ29udHJvbGxlcikge1xyXG4gICAgdGhpcy50aW1lbGluZUNvbnRyb2xsZXIgPSB0aW1lbGluZUNvbnRyb2xsZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0VGltZWxpbmVzKFxyXG4gICAgdGltZWxpbmVGaWxlczogc3RyaW5nW10sXHJcbiAgICB0aW1lbGluZXM6IHN0cmluZ1tdLFxyXG4gICAgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10sXHJcbiAgICB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSxcclxuICAgIHN0eWxlczogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgem9uZUlkOiBudW1iZXIsXHJcbiAgKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5TZXRBY3RpdmVUaW1lbGluZShcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5Jc1JlYWR5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RvcENvbWJhdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWxpbmVDb250cm9sbGVyLlNldEluQ29tYmF0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgaXNMYW5nLCBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBQYXJ0eVRyYWNrZXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3BhcnR5JztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3Jlc3BvbnNlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnLCB7XHJcbiAgQ29uZmlnVmFsdWUsXHJcbiAgT3B0aW9uc1RlbXBsYXRlLFxyXG4gIFVzZXJGaWxlQ2FsbGJhY2ssXHJcbn0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMsIFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBTYXZlZENvbmZpZ0VudHJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi8uLi90eXBlcy9qb2InO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBPdXRwdXRTdHJpbmdzLFxyXG4gIFJhaWRib3NzRmlsZURhdGEsXHJcbiAgVGltZWxpbmVGaWVsZCxcclxuICBUcmlnZ2VyQXV0b0NvbmZpZyxcclxufSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHtcclxuICBDYWN0Ym90Q29uZmlndXJhdG9yLFxyXG4gIENvbmZpZ0xvb3NlVHJpZ2dlcixcclxuICBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgQ29uZmlnUHJvY2Vzc2VkRmlsZU1hcCxcclxufSBmcm9tICcuLi9jb25maWcvY29uZmlnJztcclxuXHJcbmltcG9ydCByYWlkYm9zc0ZpbGVEYXRhIGZyb20gJy4vZGF0YS9yYWlkYm9zc19tYW5pZmVzdC50eHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc1RyaWdnZXJGaWVsZCwgUmFpZGJvc3NUcmlnZ2VyT3V0cHV0IH0gZnJvbSAnLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHJhaWRib3NzT3B0aW9ucywgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVBhcnNlciB9IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGtPcHRpb25LZXlzID0ge1xyXG4gIG91dHB1dDogJ091dHB1dCcsXHJcbiAgZHVyYXRpb246ICdEdXJhdGlvbicsXHJcbiAgYmVmb3JlU2Vjb25kczogJ0JlZm9yZVNlY29uZHMnLFxyXG4gIG91dHB1dFN0cmluZ3M6ICdPdXRwdXRTdHJpbmdzJyxcclxufSBhcyBjb25zdDtcclxuXHJcbnR5cGUgVHJpZ2dlclNvdW5kT3B0aW9uID0ge1xyXG4gIGxhYmVsOiBMb2NhbGVUZXh0O1xyXG4gIGRlYnVnT25seT86IGJvb2xlYW47XHJcbn07XHJcblxyXG4vLyBObyBzb3VuZCBvbmx5IG9wdGlvbiwgYmVjYXVzZSB0aGF0J3Mgc2lsbHkuXHJcbmNvbnN0IGtUcmlnZ2VyT3B0aW9ucyA9IHtcclxuICBkZWZhdWx0OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ+KclCBEZWZhdWx0cycsXHJcbiAgICAgIGRlOiAn4pyUIFN0YW5kYXJkcycsXHJcbiAgICAgIGZyOiAn4pyUIETDqWZhdXRzJyxcclxuICAgICAgamE6ICfinJQg5Yid5pyf6Kit5a6aJyxcclxuICAgICAgY246ICfinJQg6buY6K6k6K6+572uJyxcclxuICAgICAga286ICfinJQg6riw67O4JyxcclxuICAgIH0sXHJcbiAgfSxcclxuICB0ZXh0QW5kU291bmQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnLFxyXG4gICAgICBkZTogJ/Cfhpnwn5SKIFRleHQgdW5kIFRvbicsXHJcbiAgICAgIGZyOiAn8J+GmfCflIogVGV4dGUgZXQgc29uJyxcclxuICAgICAgamE6ICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnLFxyXG4gICAgICBjbjogJ/Cfhpnwn5SKIOaWh+Wtl+aYvuekuuS4juaPkOekuumfsycsXHJcbiAgICAgIGtvOiAn8J+GmfCflIog7YWN7Iqk7Yq47JmAIOyGjOumrCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdHRzQW5kVGV4dDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnLFxyXG4gICAgICBkZTogJ/Cfhpnwn5KsIFRleHQgdW5kIFRUUycsXHJcbiAgICAgIGZyOiAn8J+GmfCfkqwgVGV4dGUgZXQgVFRTJyxcclxuICAgICAgamE6ICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnLFxyXG4gICAgICBjbjogJ/Cfhpnwn5KsIOaWh+Wtl+aYvuekuuS4jlRUUycsXHJcbiAgICAgIGtvOiAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUycsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdHRzT25seToge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfwn5KsIFRUUyBPbmx5JyxcclxuICAgICAgZGU6ICfwn5KsIE51ciBUVFMnLFxyXG4gICAgICBmcjogJ/CfkqwgVFRTIFNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+SrCBUVFPjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfkqwg5Y+q5L2/55SoVFRTJyxcclxuICAgICAga286ICfwn5KsIFRUU+unjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dE9ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmSBUZXh0IE9ubHknLFxyXG4gICAgICBkZTogJ/CfhpkgTnVyIFRleHQnLFxyXG4gICAgICBmcjogJ/CfhpkgVGV4dGUgc2V1bGVtZW50JyxcclxuICAgICAgamE6ICfwn4aZIOODhuOCreOCueODiOOBruOBvycsXHJcbiAgICAgIGNuOiAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonLFxyXG4gICAgICBrbzogJ/Cfhpkg7YWN7Iqk7Yq466eMJyxcclxuICAgIH0sXHJcbiAgfSxcclxuICBkaXNhYmxlZDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinYwgRGlzYWJsZWQnLFxyXG4gICAgICBkZTogJ+KdjCBEZWFrdGl2aWVydCcsXHJcbiAgICAgIGZyOiAn4p2MIETDqXNhY3RpdsOpJyxcclxuICAgICAgamE6ICfinYwg54Sh5Yq5JyxcclxuICAgICAgY246ICfinYwg56aB55SoJyxcclxuICAgICAga286ICfinYwg67mE7Zmc7ISx7ZmUJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IHRyaWdnZXJTb3VuZE9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogVHJpZ2dlclNvdW5kT3B0aW9uIH0gPSBrVHJpZ2dlck9wdGlvbnM7XHJcblxyXG50eXBlIERldGFpbEtleSA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBjbHM6IHN0cmluZztcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG4gIGdlbmVyYXRlZE1hbnVhbGx5PzogYm9vbGVhbjtcclxufTtcclxuXHJcbmNvbnN0IGtEZXRhaWxLZXlzID0ge1xyXG4gICd0cmlnZ2VyUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3JlZ2V4JyxcclxuICAgICAgZGU6ICdyZWdleCcsXHJcbiAgICAgIGZyOiAncmVnZXgnLFxyXG4gICAgICBqYTogJ+ato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5zsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RyaWdnZXJOZXRSZWdleCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnbmV0cmVnZXgnLFxyXG4gICAgICBkZTogJ25ldHJlZ2V4JyxcclxuICAgICAgZnI6ICduZXRyZWdleCcsXHJcbiAgICAgIGphOiAn44ON44OD44OI5q2j6KaP6KGo54++JyxcclxuICAgICAgY246ICfnvZHnu5zml6Xlv5fmraPliJnooajovr7lvI8nLFxyXG4gICAgICBrbzogJ+ygleq3nO2RnO2YhOyLnScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncmVnZXgtdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAndGltZWxpbmVSZWdleCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAndGltZWxpbmUnLFxyXG4gICAgICBkZTogJ3RpbWVsaW5lJyxcclxuICAgICAgZnI6ICd0aW1lbGluZScsXHJcbiAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44OzJyxcclxuICAgICAgY246ICfml7bpl7TovbQnLFxyXG4gICAgICBrbzogJ+2DgOyehOudvOyduCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncmVnZXgtdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYmVmb3JlU2Vjb25kcyc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnYmVmb3JlIChzZWMpJyxcclxuICAgICAgZGU6ICdWb3JoZXIgKFNla3VuZGVuKScsXHJcbiAgICAgIGZyOiAnYXZhbnQgKHNlY29uZGUpJyxcclxuICAgICAgamE6ICfjgZ3jga7liY3jgasgKOenkiknLFxyXG4gICAgICBjbjogJ+aPkOWJjSAo56eSKScsXHJcbiAgICAgIGtvOiAn7JWe64u56rmAICjstIgpJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdiZWZvcmUtc2Vjb25kcy10ZXh0JyxcclxuICAgIGdlbmVyYXRlZE1hbnVhbGx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2NvbmRpdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnY29uZGl0aW9uJyxcclxuICAgICAgZGU6ICdjb25kaXRpb24nLFxyXG4gICAgICBmcjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGphOiAn5p2h5Lu2JyxcclxuICAgICAgY246ICfmnaHku7YnLFxyXG4gICAgICBrbzogJ+yhsOqxtCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnY29uZGl0aW9uLXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2R1cmF0aW9uJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdkdXJhdGlvbiAoc2VjKScsXHJcbiAgICAgIGRlOiAnRGF1ZXIgKFNla3VuZGVuKScsXHJcbiAgICAgIGZyOiAnRHVyw6llIChzZWNvbmRlcyknLFxyXG4gICAgICBqYTogJ+WtmOe2muaZgumWkyAo56eSKScsXHJcbiAgICAgIGNuOiAn5oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAga286ICfsp4Dsho0g7Iuc6rCEICjstIgpJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdkdXJhdGlvbi10ZXh0JyxcclxuICAgIGdlbmVyYXRlZE1hbnVhbGx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3ByZVJ1bic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAncHJlUnVuJyxcclxuICAgICAgZGU6ICdwcmVSdW4nLFxyXG4gICAgICBmcjogJ3ByZVJ1bicsXHJcbiAgICAgIGphOiAn44OX44Os5a6f6KGMJyxcclxuICAgICAgY246ICfpooTov5DooYwnLFxyXG4gICAgICBrbzogJ+yCrOyghCDsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3ByZXJ1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdhbGFybVRleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2FsYXJtJyxcclxuICAgICAgZGU6ICdhbGFybScsXHJcbiAgICAgIGZyOiAnYWxhcm1lJyxcclxuICAgICAgamE6ICforabloLEnLFxyXG4gICAgICBjbjogJ+itpuaKpeaWh+acrCcsXHJcbiAgICAgIGtvOiAn6rK96rOgJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdhbGFybS10ZXh0JyxcclxuICB9LFxyXG4gICdhbGVydFRleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2FsZXJ0JyxcclxuICAgICAgZGU6ICdhbGVydCcsXHJcbiAgICAgIGZyOiAnYWxlcnRlJyxcclxuICAgICAgamE6ICforablkYonLFxyXG4gICAgICBjbjogJ+itpuWRiuaWh+acrCcsXHJcbiAgICAgIGtvOiAn7KO87J2YJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdhbGVydC10ZXh0JyxcclxuICB9LFxyXG4gICdpbmZvVGV4dCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnaW5mbycsXHJcbiAgICAgIGRlOiAnaW5mbycsXHJcbiAgICAgIGZyOiAnaW5mbycsXHJcbiAgICAgIGphOiAn5oOF5aCxJyxcclxuICAgICAgY246ICfkv6Hmga/mlofmnKwnLFxyXG4gICAgICBrbzogJ+yViOuCtCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnaW5mby10ZXh0JyxcclxuICB9LFxyXG4gICd0dHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3R0cycsXHJcbiAgICAgIGRlOiAndHRzJyxcclxuICAgICAgZnI6ICd0dHMnLFxyXG4gICAgICBqYTogJ1RUUycsXHJcbiAgICAgIGNuOiAnVFRTJyxcclxuICAgICAga286ICdUVFMnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3R0cy10ZXh0JyxcclxuICB9LFxyXG4gICdzb3VuZCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnc291bmQnLFxyXG4gICAgICBkZTogJ3NvdW5kJyxcclxuICAgICAgZnI6ICdzb24nLFxyXG4gICAgICBqYTogJ+mfs+WjsCcsXHJcbiAgICAgIGNuOiAn5o+Q56S66Z+zJyxcclxuICAgICAga286ICfshozrpqwnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3NvdW5kLXRleHQnLFxyXG4gIH0sXHJcbiAgJ3J1bic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAncnVuJyxcclxuICAgICAgZGU6ICdydW4nLFxyXG4gICAgICBmcjogJ3J1bicsXHJcbiAgICAgIGphOiAn5a6f6KGMJyxcclxuICAgICAgY246ICfov5DooYwnLFxyXG4gICAgICBrbzogJ+yLpO2WiScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncnVuLXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBPcmRlcmVkIHNldCBvZiBoZWFkZXJzIGluIHRoZSB0aW1lbGluZSBlZGl0IHRhYmxlLlxyXG5jb25zdCBrVGltZWxpbmVUYWJsZUhlYWRlcnMgPSB7XHJcbiAgc2hvdWxkRGlzcGxheVRleHQ6IHtcclxuICAgIGVuOiAnU2hvdycsXHJcbiAgICBkZTogJ0FuemVpZ2VuJyxcclxuICAgIGZyOiAnQWZmaWNoZXInLFxyXG4gIH0sXHJcbiAgdGV4dDoge1xyXG4gICAgZW46ICdUaW1lbGluZSBUZXh0JyxcclxuICAgIGRlOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBmcjogJ1RleHRlIGRlIGxhIHRpbWVsaW5lJyxcclxuICB9LFxyXG4gIG92ZXJyaWRlVGV4dDoge1xyXG4gICAgZW46ICdSZW5hbWUnLFxyXG4gICAgZGU6ICdVbWJlbmVubmVuJyxcclxuICAgIGZyOiAnUmVub21tZXInLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBkZXRhaWxLZXlzOiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogRGV0YWlsS2V5IH0gPSBrRGV0YWlsS2V5cztcclxuXHJcbmNvbnN0IGtNaXNjVHJhbnNsYXRpb25zID0ge1xyXG4gIC8vIFNob3dzIHVwIGZvciB1bi1zZXQgdmFsdWVzLlxyXG4gIHZhbHVlRGVmYXVsdDoge1xyXG4gICAgZW46ICcoZGVmYXVsdCknLFxyXG4gICAgZGU6ICcoU3RhbmRhcmQpJyxcclxuICAgIGZyOiAnKETDqWZhdXQpJyxcclxuICAgIGphOiAnKOWIneacn+WApCknLFxyXG4gICAgY246ICco6buY6K6k5YC8KScsXHJcbiAgICBrbzogJyjquLDrs7jqsJIpJyxcclxuICB9LFxyXG4gIC8vIFNob3duIHdoZW4gdGhlIFVJIGNhbid0IGRlY2lwaGVyIHRoZSBvdXRwdXQgb2YgYSBmdW5jdGlvbi5cclxuICB2YWx1ZUlzRnVuY3Rpb246IHtcclxuICAgIGVuOiAnKGZ1bmN0aW9uKScsXHJcbiAgICBkZTogJyhGdW5rdGlvbiknLFxyXG4gICAgZnI6ICcoRm9uY3Rpb24pJyxcclxuICAgIGphOiAnKOmWouaVsCknLFxyXG4gICAgY246ICco5Ye95pWwKScsXHJcbiAgICBrbzogJyjtlajsiJgpJyxcclxuICB9LFxyXG4gIC8vIFdhcm5pbmcgbGFiZWwgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzIG9yIG92ZXJyaWRkZW4gdHJpZ2dlcnMuXHJcbiAgd2FybmluZzoge1xyXG4gICAgZW46ICfimqDvuI8gd2FybmluZycsXHJcbiAgICBkZTogJ+KaoO+4jyBXYXJudW5nJyxcclxuICAgIGZyOiAn4pqg77iPIEF0dGVudGlvbicsXHJcbiAgICBqYTogJ+KaoO+4jyDorablkYonLFxyXG4gICAgY246ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGtvOiAn4pqg77iPIOyjvOydmCcsXHJcbiAgfSxcclxuICAvLyBTaG93cyB1cCBmb3IgdHJpZ2dlcnMgd2l0aG91dCBpZHMuXHJcbiAgbWlzc2luZ0lkOiB7XHJcbiAgICBlbjogJ21pc3NpbmcgaWQgZmllbGQnLFxyXG4gICAgZGU6ICdGZWhsZW5kZXMgSUQgRmVsZCcsXHJcbiAgICBmcjogJ0NoYW1wIElEIG1hbnF1YW50JyxcclxuICAgIGphOiAnaWTjgYzjgYLjgorjgb7jgZvjgpMnLFxyXG4gICAgY246ICfnvLrlsJFpZOWxnuaApycsXHJcbiAgICBrbzogJ0lEIO2VhOuTnOqwkiDsl4bsnYwnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHRoYXQgYXJlIG92ZXJyaWRkZW4gYnkgb3RoZXIgdHJpZ2dlcnMuXHJcbiAgb3ZlcnJpZGRlbkJ5RmlsZToge1xyXG4gICAgZW46ICdvdmVycmlkZGVuIGJ5IFwiJHtmaWxlfVwiJyxcclxuICAgIGRlOiAnw5xiZXJzY2hyaWViZW4gZHVyY2ggXCIke2ZpbGV9XCInLFxyXG4gICAgZnI6ICfDiWNyYXPDqShlKSBwYXIgXCIke2ZpbGV9XCInLFxyXG4gICAgamE6ICdcIiR7ZmlsZX1cIuOBq+S4iuabuOOBjeOBvuOBl+OBnycsXHJcbiAgICBjbjogJ+iiq1wiJHtmaWxlfVwi5paH5Lu26KaG55uWJyxcclxuICAgIGtvOiAnXCIke2ZpbGV9XCIg7YyM7J287JeQ7IScIOuNruyWtOyUjOybgCcsXHJcbiAgfSxcclxuICAvLyBPcGVucyB0cmlnZ2VyIGZpbGUgb24gR2l0aHViLlxyXG4gIHZpZXdUcmlnZ2VyU291cmNlOiB7XHJcbiAgICBlbjogJ1ZpZXcgVHJpZ2dlciBTb3VyY2UnLFxyXG4gICAgZGU6ICdaZWlnZSBUcmlnZ2VyIFF1ZWxsZScsXHJcbiAgICBmcjogJ0FmZmljaGVyIGxhIHNvdXJjZSBkdSBUcmlnZ2VyJyxcclxuICAgIGphOiAn44OI44Oq44Ks44O844Gu44Kz44O844OJ44KS6KGo56S6JyxcclxuICAgIGNuOiAn5pi+56S66Kem5Y+R5Zmo5rqQ56CBJyxcclxuICAgIGtvOiAn7Yq466as6rGwIOy2nOyymCDsl7TquLAnLFxyXG4gIH0sXHJcbiAgLy8gVGhlIGhlYWRlciBmb3IgdGhlIGVkaXRpbmcgdGltZWxpbmUgc2VjdGlvbiBpbnNpZGUgYSB0cmlnZ2VyIGZpbGUuXHJcbiAgZWRpdFRpbWVsaW5lOiB7XHJcbiAgICBlbjogJ0VkaXQgVGltZWxpbmUnLFxyXG4gICAgZGU6ICdUaW1lbGluZSBiZWFyYmVpdGVuJyxcclxuICAgIGZyOiAnw4lkaXRlciBsYSB0aW1lbGluZScsXHJcbiAgfSxcclxufTtcclxuXHJcbmNvbnN0IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZCA9ICh2YWxFbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICBpZiAodHlwZW9mIHZhbEVudHJ5ICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsRW50cnkgIT09ICdudW1iZXInKVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KHZhbEVudHJ5LnRvU3RyaW5nKCkpO1xyXG4gIGlmICghaXNOYU4odmFsKSAmJiB2YWwgPj0gMClcclxuICAgIHJldHVybiB2YWw7XHJcbiAgcmV0dXJuIHVuZGVmaW5lZDtcclxufTtcclxuXHJcbmNvbnN0IGNhbkJlQ29uZmlndXJlZCA9ICh0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpID0+ICF0cmlnLmlzTWlzc2luZ0lkICYmICF0cmlnLm92ZXJyaWRkZW5CeUZpbGU7XHJcblxyXG5jb25zdCBhZGRUcmlnZ2VyRGV0YWlsID0gKFxyXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXHJcbiAgbGFiZWxUZXh0OiBzdHJpbmcsXHJcbiAgZGV0YWlsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbENscz86IHN0cmluZ1tdLFxyXG4pOiB2b2lkID0+IHtcclxuICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGxhYmVsLmlubmVyVGV4dCA9IGxhYmVsVGV4dDtcclxuICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWxhYmVsJyk7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgY29uc3QgZGV0YWlsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlsJyk7XHJcbiAgZGV0YWlsLmlubmVyVGV4dCA9IGRldGFpbFRleHQ7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRldGFpbCk7XHJcblxyXG4gIGlmIChkZXRhaWxDbHMpXHJcbiAgICBkZXRhaWwuY2xhc3NMaXN0LmFkZCguLi5kZXRhaWxDbHMpO1xyXG59O1xyXG5cclxuLy8gVGhpcyBpcyB1c2VkIGJvdGggZm9yIHRvcCBsZXZlbCBPcHRpb25zIGFuZCBmb3IgUGVyVHJpZ2dlckF1dG9Db25maWcgc2V0dGluZ3MuXHJcbi8vIFVuZm9ydHVuYXRlbHkgZHVlIHRvIHBvb3IgZGVjaXNpb25zIGluIHRoZSBwYXN0LCBQZXJUcmlnZ2VyT3B0aW9ucyBoYXMgZGlmZmVyZW50XHJcbi8vIGZpZWxkcyBoZXJlLiAgVGhpcyBzaG91bGQgYmUgZml4ZWQuXHJcbmNvbnN0IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUgPSAoXHJcbiAgb3B0aW9uczogQmFzZU9wdGlvbnMgfCBUcmlnZ2VyQXV0b0NvbmZpZyxcclxuICB2YWx1ZTogU2F2ZWRDb25maWdFbnRyeSxcclxuKSA9PiB7XHJcbiAgaWYgKHZhbHVlID09PSAnZGVmYXVsdCcpIHtcclxuICAgIC8vIE5vdGhpbmcuXHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3RleHRBbmRTb3VuZCcpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3R0c0FuZFRleHQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3R0c09ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0T25seScpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICdkaXNhYmxlZCcpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcihgdW5rbm93biBvdXRwdXQgdHlwZTogJHt2YWx1ZS50b1N0cmluZygpfWApO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIEhlbHBlciBmb3IgZG9pbmcgbm90aGluZyBkdXJpbmcgdHJpZ2dlciBldmFsLCBidXQgc3RpbGwgcmVjb3JkaW5nIGFueVxyXG4vLyBjYWxscyB0byBgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHg7YCB2aWEgY2FsbGJhY2suXHJcbmNsYXNzIERvTm90aGluZ0Z1bmNQcm94eSB7XHJcbiAgY29uc3RydWN0b3Iob3V0cHV0U3RyaW5nc0NhbGxiYWNrOiAob3V0cHV0U3RyaW5nczogT3V0cHV0U3RyaW5ncykgPT4gdm9pZCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLCB7XHJcbiAgICAgIHNldChfdGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdyZXNwb25zZU91dHB1dFN0cmluZ3MnKSB7XHJcbiAgICAgICAgICAvLyBUT0RPOiBuZWVkIHNvbWUgd2F5IG9mIHZlcmlmeWluZyB0aGF0IGEgdmFsdWUgaXMgYW4gT3V0cHV0U3RyaW5ncy5cclxuICAgICAgICAgIG91dHB1dFN0cmluZ3NDYWxsYmFjayh2YWx1ZSBhcyBPdXRwdXRTdHJpbmdzKTtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWdub3JlIG90aGVyIHByb3BlcnR5IHNldHRpbmcgaGVyZS5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXQoX3RhcmdldCwgX25hbWUpIHtcclxuICAgICAgICByZXR1cm4gKCkgPT4gey8qIG5vb3AgKi99O1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBtYWtlTGluayA9IChocmVmOiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gYDxhIGhyZWY9XCIke2hyZWZ9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+JHtocmVmfTwvYT5gO1xyXG59O1xyXG5cclxuY29uc3QgbGFuZ09yRW4gPSAobGFuZzogQ29uZmlnVmFsdWUpOiBMYW5nID0+IHtcclxuICByZXR1cm4gdHlwZW9mIGxhbmcgPT09ICdzdHJpbmcnICYmIGlzTGFuZyhsYW5nKSA/IGxhbmcgOiAnZW4nO1xyXG59O1xyXG5cclxuY2xhc3MgUmFpZGJvc3NDb25maWd1cmF0b3Ige1xyXG4gIHByaXZhdGUgYmFzZTogQ2FjdGJvdENvbmZpZ3VyYXRvcjtcclxuICBwcml2YXRlIGFsZXJ0c0xhbmc6IExhbmc7XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUxhbmc6IExhbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNhY3Rib3RDb25maWd1cmF0b3I6IENhY3Rib3RDb25maWd1cmF0b3IpIHtcclxuICAgIHRoaXMuYmFzZSA9IGNhY3Rib3RDb25maWd1cmF0b3I7XHJcblxyXG4gICAgLy8gVE9ETzogaXMgaXQgd29ydGggYWRkaW5nIHRoZSBjb21wbGV4aXR5IHRvIHJlZmxlY3QgdGhpcyBjaGFuZ2UgaW4gdHJpZ2dlcnMgdGhhdCB1c2UgaXQ/XHJcbiAgICAvLyBUaGlzIGlzIHByb2JhYmx5IHdoZXJlIHVzaW5nIHNvbWV0aGluZyBsaWtlIHZ1ZSBvciByZWFjdCB3b3VsZCBiZSBlYXNpZXIuXHJcbiAgICAvLyBGb3IgdGhlIG1vbWVudCwgZm9sa3MgY2FuIGp1c3QgcmVsb2FkLCBmb3IgcmVhbC5cclxuICAgIHRoaXMuYWxlcnRzTGFuZyA9IGxhbmdPckVuKHRoaXMuYmFzZS5nZXRPcHRpb24oJ3JhaWRib3NzJywgJ0FsZXJ0c0xhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpKTtcclxuICAgIHRoaXMudGltZWxpbmVMYW5nID0gbGFuZ09yRW4oXHJcbiAgICAgIHRoaXMuYmFzZS5nZXRPcHRpb24oJ3JhaWRib3NzJywgJ1RpbWVsaW5lTGFuZ3VhZ2UnLCB0aGlzLmJhc2UubGFuZyksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRVSShjb250YWluZXI6IEhUTUxFbGVtZW50LCByYWlkYm9zc0ZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLCB1c2VyT3B0aW9uczogUmFpZGJvc3NPcHRpb25zKSB7XHJcbiAgICBjb25zdCBmaWxlTWFwID0gdGhpcy5wcm9jZXNzUmFpZGJvc3NGaWxlcyhyYWlkYm9zc0ZpbGVzLCB1c2VyT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgZXhwYW5zaW9uRGl2czogeyBbZXhwYW5zaW9uOiBzdHJpbmddOiBIVE1MRWxlbWVudCB9ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCBpbmZvXSBvZiBPYmplY3QuZW50cmllcyhmaWxlTWFwKSkge1xyXG4gICAgICAvLyBcImV4cGFuc2lvblwiIGhlcmUgaXMgdGVjaG5pY2FsbHkgc2VjdGlvbiwgd2hpY2ggaW5jbHVkZXMgXCJnZW5lcmFsIHRyaWdnZXJzXCJcclxuICAgICAgLy8gYW5kIG9uZSBzZWN0aW9uIHBlciB1c2VyIGZpbGUuXHJcbiAgICAgIGNvbnN0IGV4cGFuc2lvbiA9IGluZm8uc2VjdGlvbjtcclxuXHJcbiAgICAgIGlmICghaW5mby50cmlnZ2VycyB8fCBPYmplY3Qua2V5cyhpbmZvLnRyaWdnZXJzKS5sZW5ndGggPT09IDApXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBsZXQgZXhwYW5zaW9uRGl2ID0gZXhwYW5zaW9uRGl2c1tleHBhbnNpb25dO1xyXG4gICAgICBpZiAoIWV4cGFuc2lvbkRpdikge1xyXG4gICAgICAgIGNvbnN0IGV4cGFuc2lvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWV4cGFuc2lvbi1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGV4cGFuc2lvbkNvbnRhaW5lcik7XHJcblxyXG4gICAgICAgIGNvbnN0IGV4cGFuc2lvbkhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWV4cGFuc2lvbi1oZWFkZXInKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIub25jbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5pbm5lclRleHQgPSBleHBhbnNpb247XHJcbiAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKGV4cGFuc2lvbkhlYWRlcik7XHJcblxyXG4gICAgICAgIGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXSA9IGV4cGFuc2lvbkNvbnRhaW5lcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0cmlnZ2VyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICAgIGV4cGFuc2lvbkRpdi5hcHBlbmRDaGlsZCh0cmlnZ2VyQ29udGFpbmVyKTtcclxuXHJcbiAgICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBoZWFkZXJEaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLWhlYWRlcicpO1xyXG4gICAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgICB0cmlnZ2VyQ29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgcGFydHMgPSBbaW5mby50aXRsZSwgaW5mby50eXBlLCBpbmZvLnByZWZpeF07XHJcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xyXG4gICAgICAgIGlmICghcGFydClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHBhcnREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBwYXJ0RGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXItcGFydCcpO1xyXG4gICAgICAgIC8vIFVzZSBpbm5lckhUTUwgaGVyZSBiZWNhdXNlIG9mIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4uXHJcbiAgICAgICAgcGFydERpdi5pbm5lckhUTUwgPSBwYXJ0O1xyXG4gICAgICAgIGhlYWRlckRpdi5hcHBlbmRDaGlsZChwYXJ0RGl2KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZChoZWFkZXJEaXYpO1xyXG5cclxuICAgICAgLy8gVGltZWxpbmUgZWRpdGluZyBpcyB0aWVkIHRvIGEgc2luZ2xlLCBzcGVjaWZpYyB6b25lSWQgcGVyIGZpbGUgZm9yIG5vdy5cclxuICAgICAgLy8gV2UgY291bGQgYWRkIG1vcmUgaW5kaXJlY3Rpb24gKHZpYSBmaWxlS2V5PykgYW5kIGxvb2sgdXAgem9uZUlkIC0+IGZpbGVLZXlbXVxyXG4gICAgICAvLyBhbmQgZmlsZUtleSAtPiB0aW1lbGluZSBlZGl0cyBpZiBuZWVkZWQuXHJcbiAgICAgIGlmIChpbmZvLnRyaWdnZXJTZXQudGltZWxpbmUgJiYgdHlwZW9mIGluZm8uem9uZUlkID09PSAnbnVtYmVyJylcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihpbmZvLnpvbmVJZCwgaW5mby50cmlnZ2VyU2V0LCB0cmlnZ2VyQ29udGFpbmVyLCB1c2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBjb25zdCB0cmlnZ2VyT3B0aW9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0cmlnZ2VyT3B0aW9ucy5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtb3B0aW9ucycpO1xyXG4gICAgICB0cmlnZ2VyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRyaWdnZXJPcHRpb25zKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgW3RyaWdJZCwgdHJpZ10gb2YgT2JqZWN0LmVudHJpZXMoaW5mby50cmlnZ2VycyA/PyB7fSkpIHtcclxuICAgICAgICAvLyBEb24ndCBjb25zdHJ1Y3QgdHJpZ2dlcnMgdGhhdCB3b24ndCBzaG93IGFueXRoaW5nLlxyXG4gICAgICAgIGxldCBoYXNPdXRwdXRGdW5jID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBmdW5jIG9mIHRyaWdnZXJPdXRwdXRGdW5jdGlvbnMpIHtcclxuICAgICAgICAgIGlmIChmdW5jIGluIHRyaWcpIHtcclxuICAgICAgICAgICAgaGFzT3V0cHV0RnVuYyA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWhhc091dHB1dEZ1bmMgJiYgIXRoaXMuYmFzZS5kZXZlbG9wZXJPcHRpb25zKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEJ1aWxkIHRoZSB0cmlnZ2VyIGxhYmVsLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGl2LmlubmVySFRNTCA9IHRyaWcuaXNNaXNzaW5nSWQgPyAnKD8/PyknIDogdHJpZ0lkO1xyXG5cclxuICAgICAgICB0cmlnZ2VyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXInKTtcclxuICAgICAgICB0cmlnZ2VyT3B0aW9ucy5hcHBlbmRDaGlsZCh0cmlnZ2VyRGl2KTtcclxuXHJcbiAgICAgICAgLy8gQ29udGFpbmVyIGZvciB0aGUgcmlnaHQgc2lkZSB1aSAoc2VsZWN0IGJveGVzLCBhbGwgb2YgdGhlIGluZm8pLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEZXRhaWxzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRldGFpbHMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1kZXRhaWxzJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRldGFpbHMpO1xyXG5cclxuICAgICAgICBpZiAoY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQodGhpcy5idWlsZFRyaWdnZXJPcHRpb25zKHRyaWcsIHRyaWdnZXJEaXYpKTtcclxuXHJcbiAgICAgICAgaWYgKHRyaWcuaXNNaXNzaW5nSWQpIHtcclxuICAgICAgICAgIGFkZFRyaWdnZXJEZXRhaWwoXHJcbiAgICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLFxyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLndhcm5pbmcpLFxyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm1pc3NpbmdJZCksXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHJpZy5vdmVycmlkZGVuQnlGaWxlKSB7XHJcbiAgICAgICAgICBjb25zdCBiYXNlVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMub3ZlcnJpZGRlbkJ5RmlsZSk7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxUZXh0ID0gYmFzZVRleHQucmVwbGFjZSgnJHtmaWxlfScsIHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSk7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBcHBlbmQgc29tZSBkZXRhaWxzIGFib3V0IHRoZSB0cmlnZ2VyIHNvIGl0J3MgbW9yZSBvYnZpb3VzIHdoYXQgaXQgaXMuXHJcbiAgICAgICAgZm9yIChjb25zdCBbZGV0YWlsU3RyaW5nS2V5LCBvcHRdIG9mIE9iamVjdC5lbnRyaWVzKGRldGFpbEtleXMpKSB7XHJcbiAgICAgICAgICAvLyBPYmplY3QuZW50cmllcyBjb2VyY2VzIHRvIGEgc3RyaW5nLCBidXQgdGhlIGRldGFpbEtleXMgZGVmaW5pdGlvbiBtYWtlcyB0aGlzIHRydWUuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSBkZXRhaWxTdHJpbmdLZXkgYXMga2V5b2YgTG9vc2VUcmlnZ2VyO1xyXG5cclxuICAgICAgICAgIGlmIChvcHQuZ2VuZXJhdGVkTWFudWFsbHkpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGNvbnN0IHRyaWdPdXRwdXQgPSB0cmlnLmNvbmZpZ091dHB1dD8uW2RldGFpbEtleV07XHJcbiAgICAgICAgICBjb25zdCB0cmlnRnVuYyA9IHRyaWdbZGV0YWlsS2V5XTtcclxuICAgICAgICAgIGlmICghdHJpZ0Z1bmMpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRldGFpbENscyA9IFtvcHQuY2xzXTtcclxuICAgICAgICAgIGxldCBkZXRhaWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBpZiAodHJpZ091dHB1dCkge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdHJpZ091dHB1dDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRyaWdGdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGRldGFpbFRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlSXNGdW5jdGlvbik7XHJcbiAgICAgICAgICAgIGRldGFpbENscy5wdXNoKCdmdW5jdGlvbi10ZXh0Jyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdHJpZ0Z1bmMudG9TdHJpbmcoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShvcHQubGFiZWwpLFxyXG4gICAgICAgICAgICBkZXRhaWxUZXh0LFxyXG4gICAgICAgICAgICBkZXRhaWxDbHMsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFjYW5CZUNvbmZpZ3VyZWQodHJpZykpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgLy8gQWRkIGJlZm9yZVNlY29uZHMgbWFudWFsbHkgZm9yIHRpbWVsaW5lIHRyaWdnZXJzLlxyXG4gICAgICAgIGlmICh0cmlnLmlzVGltZWxpbmVUcmlnZ2VyKSB7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSAnYmVmb3JlU2Vjb25kcyc7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25LZXkgPSBrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1iZWZvcmUtc2Vjb25kcycpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG5cclxuICAgICAgICAgIC8vIFNheSBcIihkZWZhdWx0KVwiIGZvciBtb3JlIGNvbXBsaWNhdGVkIHRoaW5ncyBsaWtlIGZ1bmN0aW9ucy5cclxuICAgICAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpZiAodHJpZy5iZWZvcmVTZWNvbmRzID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9ICcwJztcclxuICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB0cmlnLmJlZm9yZVNlY29uZHMgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSB0cmlnLmJlZm9yZVNlY29uZHMudG9TdHJpbmcoKTtcclxuXHJcbiAgICAgICAgICBpbnB1dC5wbGFjZWhvbGRlciA9IGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoaW5wdXQudmFsdWUpIHx8ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmJhc2Uuc2V0T3B0aW9uKCdyYWlkYm9zcycsIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sIHZhbCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICAgICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFkZCBkdXJhdGlvbiBtYW51YWxseSB3aXRoIGFuIGlucHV0IHRvIG92ZXJyaWRlLlxyXG4gICAgICAgIGlmIChoYXNPdXRwdXRGdW5jKSB7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSAnZHVyYXRpb24nO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuZHVyYXRpb247XHJcblxyXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa0RldGFpbEtleXNbZGV0YWlsS2V5XS5sYWJlbCk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWxhYmVsJyk7XHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLWR1cmF0aW9uJyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICAgICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuICAgICAgICAgIGlucHV0LnR5cGUgPSAndGV4dCc7XHJcbiAgICAgICAgICBpbnB1dC5zdGVwID0gJ2FueSc7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHRyaWcuZHVyYXRpb25TZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBgJHt0cmlnLmR1cmF0aW9uU2Vjb25kc31gO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBpbnB1dC5wbGFjZWhvbGRlciA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMudmFsdWVEZWZhdWx0KTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoaW5wdXQudmFsdWUpIHx8ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmJhc2Uuc2V0T3B0aW9uKCdyYWlkYm9zcycsIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sIHZhbCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICAgICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFkZCBvdXRwdXQgc3RyaW5ncyBtYW51YWxseVxyXG4gICAgICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB0cmlnLm91dHB1dFN0cmluZ3MgfHwge307XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgb3V0cHV0U3RyaW5nXSBvZiBPYmplY3QuZW50cmllcyhvdXRwdXRTdHJpbmdzKSkge1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0U3RyaW5ncztcclxuICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdHlwZW9mIG91dHB1dFN0cmluZyA9PT0gJ3N0cmluZydcclxuICAgICAgICAgICAgPyBvdXRwdXRTdHJpbmdcclxuICAgICAgICAgICAgOiB0aGlzLmJhc2UudHJhbnNsYXRlKG91dHB1dFN0cmluZyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IGtleTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItb3V0cHV0c3RyaW5nLWxhYmVsJyk7XHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLW91dHB1dHN0cmluZycpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0ZW1wbGF0ZTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbihcclxuICAgICAgICAgICAgJ3JhaWRib3NzJyxcclxuICAgICAgICAgICAgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLFxyXG4gICAgICAgICAgICAnJyxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT5cclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXksIGtleV0sIGlucHV0LnZhbHVlKTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGF0aCA9IGtleS5zcGxpdCgnLScpO1xyXG4gICAgICAgIGNvbnN0IFtwMCwgcDEsIHAyXSA9IHBhdGg7XHJcbiAgICAgICAgaWYgKHAwICE9PSB1bmRlZmluZWQgJiYgcDEgIT09IHVuZGVmaW5lZCAmJiBwMiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItc291cmNlJyk7XHJcbiAgICAgICAgICBjb25zdCBiYXNlVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL3RyaWdnZXJzJztcclxuICAgICAgICAgIGxldCB1cmxGaWxlcGF0aDtcclxuICAgICAgICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMykge1xyXG4gICAgICAgICAgICAvLyAwMC1taXNjL2dlbmVyYWwuanNcclxuICAgICAgICAgICAgdXJsRmlsZXBhdGggPSBgJHtwMH0tJHtwMX0vJHtbLi4ucGF0aF0uc2xpY2UoMikuam9pbignLScpfWA7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAwMi1hcnIvcmFpZHMvdDEuanNcclxuICAgICAgICAgICAgdXJsRmlsZXBhdGggPSBgJHtwMH0tJHtwMX0vJHtwMn0vJHtbLi4ucGF0aF0uc2xpY2UoMykuam9pbignLScpfWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBlc2NhcGVkVHJpZ2dlcklkID0gdHJpZ0lkLnJlcGxhY2UoLycvZywgJ1xcXFxcXCcnKTtcclxuICAgICAgICAgIGNvbnN0IHVyaUNvbXBvbmVudCA9IGVuY29kZVVSSUNvbXBvbmVudChgaWQ6ICcke2VzY2FwZWRUcmlnZ2VySWR9J2ApLnJlcGxhY2UoLycvZywgJyUyNycpO1xyXG4gICAgICAgICAgY29uc3QgdXJsU3RyaW5nID0gYCR7YmFzZVVybH0vJHt1cmxGaWxlcGF0aH0uanMjOn46dGV4dD0ke3VyaUNvbXBvbmVudH1gO1xyXG4gICAgICAgICAgZGl2LmlubmVySFRNTCA9IGA8YSBocmVmPVwiJHt1cmxTdHJpbmd9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+KCR7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMudmlld1RyaWdnZXJTb3VyY2UpXHJcbiAgICAgICAgICB9KTwvYT5gO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBCdWlsZCB0aGUgdG9wIGxldmVsIHRpbWVsaW5lIGVkaXRpbmcgZXhwYW5kYWJsZSBjb250YWluZXIuXHJcbiAgYnVpbGRUaW1lbGluZVVJQ29udGFpbmVyKFxyXG4gICAgem9uZUlkOiBudW1iZXIsXHJcbiAgICBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCxcclxuICAgIHBhcmVudDogSFRNTEVsZW1lbnQsXHJcbiAgICBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsXHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS1lZGl0LWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChjb250YWluZXIpO1xyXG5cclxuICAgIGxldCBoYXNFdmVyQmVlbkV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgaGVhZGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBoZWFkZXJEaXYuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1oZWFkZXInKTtcclxuICAgIGhlYWRlckRpdi5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgIC8vIEJ1aWxkIHRoZSByZXN0IG9mIHRoaXMgVUkgb24gZGVtYW5kIGxhemlseS5cclxuICAgICAgaWYgKCFoYXNFdmVyQmVlbkV4cGFuZGVkKSB7XHJcbiAgICAgICAgY29uc3QgdGltZWxpbmUgPSB0aGlzLnRpbWVsaW5lRnJvbVNldChzZXQsIG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYnVpbGRUaW1lbGluZVVJKHpvbmVJZCwgdGltZWxpbmUsIGNvbnRhaW5lcik7XHJcbiAgICAgIH1cclxuICAgICAgaGFzRXZlckJlZW5FeHBhbmRlZCA9IHRydWU7XHJcbiAgICB9O1xyXG4gICAgaGVhZGVyRGl2LmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMuZWRpdFRpbWVsaW5lKTtcclxuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChoZWFkZXJEaXYpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBhIHBhcnNlZCB0aW1lbGluZSBmcm9tIGEgZ2l2ZW4gdHJpZ2dlciBzZXQuXHJcbiAgdGltZWxpbmVGcm9tU2V0KHNldDogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpOiBUaW1lbGluZVBhcnNlciB7XHJcbiAgICBsZXQgdGV4dCA9ICcnO1xyXG5cclxuICAgIC8vIFJlY3Vyc2l2ZWx5IHR1cm4gdGhlIHRpbWVsaW5lIGFycmF5IGludG8gYSBzdHJpbmcuXHJcbiAgICBjb25zdCBhZGRUaW1lbGluZSA9IChvYmo/OiBUaW1lbGluZUZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChvYmogPT09IHVuZGVmaW5lZClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IG9ialZhbCBvZiBvYmopXHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmpWYWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAvLyBIYWNrLCBwYXNzIGJsYW5rIGRhdGEgaW4sIGFzIHdlIGRvbid0IGhhdmUgYSByZWFsIGRhdGEgaGVyZS5cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXHJcbiAgICAgICAgY29uc3QgYmxhbmtEYXRhOiBSYWlkYm9zc0RhdGEgPSB7fSBhcyBSYWlkYm9zc0RhdGE7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGFkZFRpbWVsaW5lKG9iaihibGFua0RhdGEpKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAvLyBEbyBub3RoaW5nIGlmIHRoaXMgZmFpbHMuXHJcbiAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIHByZXR0eSB1bmNvbW1vbiBpbiBidWlsdC1pbiB0aW1lbGluZXMuXHJcbiAgICAgICAgICAvLyBJZiB1c2VyIGZ1bmN0aW9ucyBkbyBmdW5reSB0aGluZ3MsIHRob3NlIGV4dHJhIGxpbmVzIHdpbGwgYmUgc2tpcHBlZC5cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob2JqKSB7XHJcbiAgICAgICAgdGV4dCA9IGAke3RleHR9XFxuJHtvYmp9YDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGFkZFRpbWVsaW5lKHNldC50aW1lbGluZSk7XHJcbiAgICAvLyBVc2luZyB0aGUgdGltZWxpbmVSZXBsYWNlIGFuZCB0aGUgY3VycmVudCBzZXQgb2Ygb3B0aW9ucyBsZXRzIHRoZSB0aW1lbGluZVxyXG4gICAgLy8gZW50cmllcyBsb29rIGxpa2UgdGhleSB3b3VsZCBpbiBnYW1lLlxyXG4gICAgcmV0dXJuIG5ldyBUaW1lbGluZVBhcnNlcih0ZXh0LCBzZXQudGltZWxpbmVSZXBsYWNlID8/IFtdLCBbXSwgW10sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGludGVybmFsIHBhcnQgb2YgdGltZWxpbmUgZWRpdGluZyB1aS5cclxuICBidWlsZFRpbWVsaW5lVUkoem9uZUlkOiBudW1iZXIsIHRpbWVsaW5lOiBUaW1lbGluZVBhcnNlciwgcGFyZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdW5pcUV2ZW50czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGltZWxpbmUuZXZlbnRzKSB7XHJcbiAgICAgIGlmIChldmVudC5uYW1lIGluIHVuaXFFdmVudHMpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGlmIChldmVudC5uYW1lIGluIHRpbWVsaW5lLmlnbm9yZXMpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIC8vIG5hbWUgPSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0XHJcbiAgICAgIC8vIHRleHQgPSByZXBsYWNlZCB0ZXh0IGluIGN1cnJlbnQgbGFuZ3VhZ2VcclxuICAgICAgdW5pcUV2ZW50c1tldmVudC5uYW1lXSA9IGV2ZW50LnRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1jb250YWluZXInKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChjb250YWluZXIpO1xyXG5cclxuICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIE9iamVjdC52YWx1ZXMoa1RpbWVsaW5lVGFibGVIZWFkZXJzKSkge1xyXG4gICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgZGl2LmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoaGVhZGVyKTtcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHVuaXFFdmVudHMpLnNvcnQoKTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgICAgY29uc3QgZXZlbnQgPSB1bmlxRXZlbnRzW2tleV07XHJcbiAgICAgIGlmICghZXZlbnQpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBjb25zdCBjaGVja0lucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgY2hlY2tJbnB1dC5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS10ZXh0LWVuYWJsZScpO1xyXG4gICAgICBjaGVja0lucHV0LnR5cGUgPSAnY2hlY2tib3gnO1xyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY2hlY2tJbnB1dCk7XHJcblxyXG4gICAgICAvLyBFbmFibGUvZGlzYWJsZSBoZXJlIGJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8gYGhpZGVhbGwgXCJrZXlcImAsIHdoZXJlIHRoaXMgdGV4dCB3aWxsXHJcbiAgICAgIC8vIG5vdCBiZSBzaG93biwgYnV0IHRpbWVsaW5lIHRyaWdnZXJzIHJlbGF0ZWQgdG8gaXQgd2lsbCBzdGlsbCBmaXJlLlxyXG4gICAgICBjb25zdCBlbmFibGVJZCA9IFsndGltZWxpbmUnLCB6b25lSWQudG9TdHJpbmcoKSwgJ2VuYWJsZScsIGtleV07XHJcbiAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRydWU7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2hlY2tlZCA9IHRoaXMuYmFzZS5nZXRCb29sZWFuT3B0aW9uKCdyYWlkYm9zcycsIGVuYWJsZUlkLCBkZWZhdWx0VmFsdWUpO1xyXG4gICAgICBjaGVja0lucHV0Lm9uY2hhbmdlID0gKCkgPT4gdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgY2hlY2tJbnB1dC5jaGVja2VkKTtcclxuXHJcbiAgICAgIGNvbnN0IHRpbWVsaW5lVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0aW1lbGluZVRleHQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC10ZXh0Jyk7XHJcbiAgICAgIHRpbWVsaW5lVGV4dC5pbm5lckhUTUwgPSBldmVudDtcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRpbWVsaW5lVGV4dCk7XHJcblxyXG4gICAgICBjb25zdCB0ZXh0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICB0ZXh0SW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lZGl0Jyk7XHJcbiAgICAgIHRleHRJbnB1dC5wbGFjZWhvbGRlciA9IGV2ZW50O1xyXG5cclxuICAgICAgLy8gQW55IGNoYW5nZXMgYXJlIHRpZWQgdG8gdGhlIG9yaWdpbmFsIHRpbWVsaW5lIHRleHQgKGtleSksIGJ1dCB0aGUgY29uZmlnIHVpIHdpbGxcclxuICAgICAgLy8gZGlzcGxheSB0aGUgY3VycmVudCBsYW5ndWFnZSdzIHRleHQgd2l0aCByZXBsYWNlbWVudHMgKGV2ZW50KSBhcyB0aGUgcGxhY2Vob2xkZXIgYWJvdmUuXHJcbiAgICAgIGNvbnN0IHRleHRJZCA9IFsndGltZWxpbmUnLCB6b25lSWQudG9TdHJpbmcoKSwgJ2dsb2JhbFJlcGxhY2UnLCBrZXldO1xyXG4gICAgICB0ZXh0SW5wdXQudmFsdWUgPSB0aGlzLmJhc2UuZ2V0U3RyaW5nT3B0aW9uKCdyYWlkYm9zcycsIHRleHRJZCwgJycpO1xyXG4gICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4gdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsIHRleHRJbnB1dC52YWx1ZSk7XHJcbiAgICAgIHRleHRJbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgIHRleHRJbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0ZXh0SW5wdXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBkdXBsaWNhdGVzIHRoZSByYWlkYm9zcyBmdW5jdGlvbiBvZiB0aGUgc2FtZSBuYW1lLlxyXG4gIHZhbHVlT3JGdW5jdGlvbihcclxuICAgIGY6IFJhaWRib3NzVHJpZ2dlckZpZWxkLFxyXG4gICAgZGF0YTogUmFpZGJvc3NEYXRhLFxyXG4gICAgbWF0Y2hlczogTWF0Y2hlcyxcclxuICAgIG91dHB1dDogT3V0cHV0LFxyXG4gICk6IFJhaWRib3NzVHJpZ2dlck91dHB1dCB7XHJcbiAgICBjb25zdCByZXN1bHQgPSAodHlwZW9mIGYgPT09ICdmdW5jdGlvbicpID8gZihkYXRhLCBtYXRjaGVzLCBvdXRwdXQpIDogZjtcclxuICAgIGlmIChyZXN1bHQgIT09IE9iamVjdChyZXN1bHQpKVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnIHx8IHJlc3VsdCA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmIChyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSlcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWVPckZ1bmN0aW9uKHJlc3VsdFt0aGlzLmFsZXJ0c0xhbmddLCBkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgaWYgKHJlc3VsdFt0aGlzLnRpbWVsaW5lTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddLCBkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgLy8gRm9yIHBhcnRpYWxseSBsb2NhbGl6ZWQgcmVzdWx0cyB3aGVyZSB0aGlzIGxvY2FsaXphdGlvbiBkb2Vzbid0XHJcbiAgICAvLyBleGlzdCwgcHJlZmVyIEVuZ2xpc2ggb3ZlciBub3RoaW5nLlxyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVPckZ1bmN0aW9uKHJlc3VsdFsnZW4nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NUcmlnZ2VyKHRyaWc6IENvbmZpZ0xvb3NlVHJpZ2dlcik6IENvbmZpZ0xvb3NlVHJpZ2dlciB7XHJcbiAgICAvLyBUT0RPOiB3aXRoIHNvbWUgaGFja2luZXNzIChlLmcuIHJlZ2V4ZXM/KSB3ZSBjb3VsZCBmaWd1cmUgb3V0IHdoaWNoXHJcbiAgICAvLyBvdXRwdXQgc3RyaW5nIGNhbWUgZnJvbSB3aGljaCBhbGVydCB0eXBlIChhbGFybSwgYWxlcnQsIGluZm8sIHR0cykuXHJcbiAgICAvLyBTZWUgYG1ha2VPdXRwdXRgIGNvbW1lbnRzIGZvciB3aHkgdGhpcyBuZWVkcyBhIHR5cGUgYXNzZXJ0aW9uIHRvIGJlIGFuIE91dHB1dC5cclxuICAgIGNvbnN0IGZha2VPdXRwdXRQcm94eSA9IG5ldyBEb05vdGhpbmdGdW5jUHJveHkoKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHtcclxuICAgICAgdHJpZy5vdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRyaWcub3V0cHV0U3RyaW5ncywgb3V0cHV0U3RyaW5ncyk7XHJcbiAgICB9KSBhcyBPdXRwdXQ7XHJcblxyXG4gICAgY29uc3QgYmFzZUZha2VEYXRhOiBSYWlkYm9zc0RhdGEgPSB7XHJcbiAgICAgIG1lOiAnJyxcclxuICAgICAgam9iOiAnTk9ORScsXHJcbiAgICAgIHJvbGU6ICdub25lJyxcclxuICAgICAgcGFydHk6IG5ldyBQYXJ0eVRyYWNrZXIoKSxcclxuICAgICAgbGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICAgIGN1cnJlbnRIUDogMTAwMCxcclxuICAgICAgb3B0aW9uczogdGhpcy5iYXNlLmNvbmZpZ09wdGlvbnMsXHJcbiAgICAgIFNob3J0TmFtZTogKHg/OiBzdHJpbmcpID0+IHggPz8gJz8/PycsXHJcbiAgICAgIFN0b3BDb21iYXQ6ICgpID0+IHsvKiBub29wICovfSxcclxuICAgICAgUGFyc2VMb2NhbGVGbG9hdDogcGFyc2VGbG9hdCxcclxuICAgICAgQ2FuU3R1bjogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhblNpbGVuY2U6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TbGVlcDogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhbkNsZWFuc2U6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5GZWludDogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhbkFkZGxlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgcGFyc2VyTGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICAgIGRpc3BsYXlMYW5nOiB0aGlzLmJhc2UubGFuZyxcclxuICAgIH07XHJcblxyXG4gICAgdHlwZSBQYXJ0aWFsRmFrZURhdGFFbnRyeSA9IHsgbWU6IHN0cmluZzsgam9iOiBKb2I7IHJvbGU6IFJvbGUgfTtcclxuICAgIGNvbnN0IHBhcnRpYWxGYWtlRGF0YUVudHJpZXM6IFBhcnRpYWxGYWtlRGF0YUVudHJ5W10gPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1RpbmkgUG91dGluaScsXHJcbiAgICAgICAgam9iOiAnR05CJyxcclxuICAgICAgICByb2xlOiAndGFuaycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1BvdGF0byBDaGlwcHknLFxyXG4gICAgICAgIGpvYjogJ1dITScsXHJcbiAgICAgICAgcm9sZTogJ2hlYWxlcicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1RhdGVyIFRvdCcsXHJcbiAgICAgICAgam9iOiAnQkxNJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG1lOiAnSGFzaCBCcm93bicsXHJcbiAgICAgICAgam9iOiAnRFJHJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG1lOiAnQWxvbyBHb2JpJyxcclxuICAgICAgICBqb2I6ICdCTFUnLFxyXG4gICAgICAgIHJvbGU6ICdkcHMnLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICAgIGNvbnN0IGZha2VEYXRhRW50cmllczogUmFpZGJvc3NEYXRhW10gPSBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgeCwgYmFzZUZha2VEYXRhKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZmlyc3REYXRhID0gZmFrZURhdGFFbnRyaWVzWzBdO1xyXG4gICAgaWYgKCFmaXJzdERhdGEpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBrRmFrZU1hdGNoZXMgPSB7XHJcbiAgICAgIC8vIFRPRE86IHJlYWxseSBzaG91bGQgY29udmVydCBhbGwgdHJpZ2dlcnMgdG8gdXNlIHJlZ2V4ZXMuanMuXHJcbiAgICAgIC8vIE1vb29vb3N0IHRyaWdnZXJzIHVzZSBtYXRjaGVzWzFdIHRvIGJlIGEgbmFtZS5cclxuICAgICAgMTogZmlyc3REYXRhLm1lLFxyXG5cclxuICAgICAgc291cmNlSWQ6ICc0MTIzNDU2NycsXHJcbiAgICAgIHNvdXJjZTogJ0VuZW15JyxcclxuICAgICAgaWQ6ICcxMjM0JyxcclxuICAgICAgYWJpbGl0eTogJ0FiaWxpdHknLFxyXG4gICAgICB0YXJnZXRJZDogJzEyMzQ1NjcnLFxyXG4gICAgICB0YXJnZXQ6IGZpcnN0RGF0YS5tZSxcclxuICAgICAgZmxhZ3M6ICcnLFxyXG4gICAgICB4OiAnMTAwJyxcclxuICAgICAgeTogJzEwMCcsXHJcbiAgICAgIHo6ICcwJyxcclxuICAgICAgaGVhZGluZzogJzAnLFxyXG4gICAgICBucGNJZDogJycsXHJcbiAgICAgIGVmZmVjdDogJ0VmZmVjdCcsXHJcbiAgICAgIGR1cmF0aW9uOiAnMzAnLFxyXG4gICAgICBjb2RlOiAnMDAnLFxyXG4gICAgICBsaW5lOiAnJyxcclxuICAgICAgbmFtZTogJ05hbWUnLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQ6IHsgW2tleSBpbiBrZXlvZiBMb29zZVRyaWdnZXJdOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0IG91dHB1dEtleXMgPSBbJ2FsYXJtVGV4dCcsICdhbGVydFRleHQnLCAnaW5mb1RleHQnLCAndHRzJywgJ3NvdW5kJ10gYXMgY29uc3Q7XHJcbiAgICB0eXBlIE91dHB1dEtleSA9IHR5cGVvZiBvdXRwdXRLZXlzW251bWJlcl07XHJcblxyXG4gICAgLy8gVHJ5IHRvIGRldGVybWluZSBzb21lIHNhbXBsZSBvdXRwdXQ/XHJcbiAgICAvLyBUaGlzIGNvdWxkIGdldCBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgaWYgd2Ugd2FudGVkIGl0IHRvLlxyXG4gICAgY29uc3QgZXZhbFRyaWdnZXIgPSAodHJpZzogTG9vc2VUcmlnZ2VyLCBrZXk6IE91dHB1dEtleSwgZGF0YTogUmFpZGJvc3NEYXRhKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy52YWx1ZU9yRnVuY3Rpb24odHJpZ1trZXldLCBkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHQpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIFN1cGVyIGhhY2s6XHJcbiAgICAgICAgY29uc3QgcmVzdWx0U3RyID0gcmVzdWx0LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdFN0ci5pbmNsdWRlcygndW5kZWZpbmVkJykgfHwgcmVzdWx0U3RyLmluY2x1ZGVzKCdOYU4nKSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgb3V0cHV0W2tleV0gPSByZXN1bHRTdHI7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBUaGlzIGlzIGFsbCB0b3RhbGx5IGJvZ3VzLiAgTWFueSB0cmlnZ2VycyBhc3N1bWUgZmllbGRzIG9uIGRhdGFcclxuICAgICAgICAvLyBhcmUgcHJvcGVybHkgZGVmaW5lZCB3aGVuIHRoZXNlIGNhbGxzIGhhcHBlbiwgc28gd2lsbCB0aHJvdyBlcnJvcnMuXHJcbiAgICAgICAgLy8gU28ganVzdCBzaWxlbnRseSBpZ25vcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEhhbmRsZSAncmVzcG9uc2UnIGZpcnN0LlxyXG4gICAgaWYgKHRyaWcucmVzcG9uc2UpIHtcclxuICAgICAgY29uc3QgciA9IHRyaWcucmVzcG9uc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBmYWtlRGF0YUVudHJpZXMpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgLy8gQ2FuJ3QgdXNlIFZhbHVlT3JGdW5jdGlvbiBoZXJlIGFzIHIgcmV0dXJucyBhIG5vbi1sb2NhbGl6YWJsZSBvYmplY3QuXHJcbiAgICAgICAgICAvLyBGSVhNRTogdGhpcyBoYWNraWx5IHJlcGxpY2F0ZXMgc29tZSByYWlkYm9zcyBsb2dpYyB0b28uXHJcbiAgICAgICAgICBsZXQgcmVzcG9uc2U6IHR5cGVvZiB0cmlnLnJlc3BvbnNlIHwgdW5kZWZpbmVkID0gcjtcclxuICAgICAgICAgIHdoaWxlICh0eXBlb2YgcmVzcG9uc2UgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogY2hlY2sgaWYgdGhpcyBoYXMgYnVpbHRJblJlc3BvbnNlU3RyIGZpcnN0LlxyXG4gICAgICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlKGRhdGEsIGtGYWtlTWF0Y2hlcywgZmFrZU91dHB1dFByb3h5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghcmVzcG9uc2UpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGlmICghdHJpZy5vdXRwdXRTdHJpbmdzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIG91dHB1dEtleXMpXHJcbiAgICAgICAgICAgICAgZXZhbFRyaWdnZXIocmVzcG9uc2UsIGtleSwgZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPbmx5IGV2YWx1YXRlIGZpZWxkcyBpZiB0aGVyZSBhcmUgbm90IG91dHB1dFN0cmluZ3MuXHJcbiAgICAvLyBvdXRwdXRTdHJpbmdzIHdpbGwgaW5kaWNhdGUgbW9yZSBjbGVhcmx5IHdoYXQgdGhlIHRyaWdnZXIgc2F5cy5cclxuICAgIGlmICghdHJpZy5vdXRwdXRTdHJpbmdzKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIG91dHB1dEtleXMpIHtcclxuICAgICAgICBpZiAoIShrZXkgaW4gdHJpZykpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgICBpZiAoZXZhbFRyaWdnZXIodHJpZywga2V5LCBkYXRhKSlcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJpZy5jb25maWdPdXRwdXQgPSBvdXRwdXQ7XHJcblxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMuYmFzZS5sYW5nO1xyXG5cclxuICAgIGNvbnN0IGxhbmdTcGVjaWZpY1JlZ2V4ZXMgPSBbXHJcbiAgICAgICduZXRSZWdleERlJyxcclxuICAgICAgJ25ldFJlZ2V4RnInLFxyXG4gICAgICAnbmV0UmVnZXhKYScsXHJcbiAgICAgICduZXRSZWdleENuJyxcclxuICAgICAgJ25ldFJlZ2V4S28nLFxyXG4gICAgICAncmVnZXhEZScsXHJcbiAgICAgICdyZWdleEZyJyxcclxuICAgICAgJ3JlZ2V4SmEnLFxyXG4gICAgICAncmVnZXhDbicsXHJcbiAgICAgICdyZWdleEtvJyxcclxuICAgIF0gYXMgY29uc3Q7XHJcbiAgICBjb25zdCBnZXRSZWdleCA9IChiYXNlRmllbGQ6ICdyZWdleCcgfCAnbmV0UmVnZXgnKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNob3J0TGFuZ3VhZ2UgPSBsYW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbGFuZy5zbGljZSgxKTtcclxuICAgICAgY29uc3QgY29uY2F0U3RyID0gbGFuZ1NwZWNpZmljUmVnZXhlcy5maW5kKCh4KSA9PiB4ID09PSBgJHtiYXNlRmllbGR9JHtzaG9ydExhbmd1YWdlfWApO1xyXG4gICAgICBpZiAoIWNvbmNhdFN0cilcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGxhbmdTcGVjaWZpY1JlZ2V4ID0gdHJpZ1tjb25jYXRTdHJdID8/IHRyaWdbYmFzZUZpZWxkXTtcclxuICAgICAgaWYgKCFsYW5nU3BlY2lmaWNSZWdleClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGJhc2VSZWdleCA9IFJlZ2V4ZXMucGFyc2UobGFuZ1NwZWNpZmljUmVnZXgpO1xyXG4gICAgICBpZiAoIWJhc2VSZWdleClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIHJldHVybiBSZWdleGVzLnBhcnNlKGJhc2VSZWdleCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0cmlnLmlzVGltZWxpbmVUcmlnZ2VyKSB7XHJcbiAgICAgIHRyaWcudGltZWxpbmVSZWdleCA9IGdldFJlZ2V4KCdyZWdleCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJpZy50cmlnZ2VyUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgICAgdHJpZy50cmlnZ2VyTmV0UmVnZXggPSBnZXRSZWdleCgnbmV0UmVnZXgnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJpZztcclxuICB9XHJcblxyXG4gIHByb2Nlc3NSYWlkYm9zc0ZpbGVzKFxyXG4gICAgZmlsZXM6IFJhaWRib3NzRmlsZURhdGEsXHJcbiAgICB1c2VyT3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8Q29uZmlnTG9vc2VUcmlnZ2VyU2V0PiB7XHJcbiAgICAvLyBgZmlsZXNgIGlzIG1hcCBvZiBmaWxlbmFtZSA9PiB0cmlnZ2VyU2V0IChmb3IgdHJpZ2dlciBmaWxlcylcclxuICAgIC8vIGBtYXBgIGlzIGEgc29ydGVkIG1hcCBvZiBzaG9ydGVuZWQgem9uZSBrZXkgPT4geyB2YXJpb3VzIGZpZWxkcywgdHJpZ2dlclNldCB9XHJcbiAgICBjb25zdCB0cmlnZ2VyRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBDb25maWdMb29zZVRyaWdnZXJTZXQgfSA9IHt9O1xyXG4gICAgY29uc3QgdGltZWxpbmVGaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwgdHJpZ2dlclNldE9yU3RyaW5nXSBvZiBPYmplY3QuZW50cmllcyhmaWxlcykpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VyU2V0T3JTdHJpbmcgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgIHRpbWVsaW5lRmlsZXNbZmlsZW5hbWVdID0gdHJpZ2dlclNldE9yU3RyaW5nO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdHJpZ2dlckZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXAgPSB0aGlzLmJhc2UucHJvY2Vzc0ZpbGVzPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4odHJpZ2dlckZpbGVzLCB1c2VyT3B0aW9ucy5UcmlnZ2Vycyk7XHJcbiAgICBsZXQgdHJpZ2dlcklkeCA9IDA7XHJcblxyXG4gICAgLy8gV2hpbGUgd2Fsa2luZyB0aHJvdWdoIHRyaWdnZXJzLCByZWNvcmQgYW55IHByZXZpb3VzIHRyaWdnZXJzIHdpdGggdGhlIHNhbWVcclxuICAgIC8vIGlkIHNvIHRoYXQgdGhlIHVpIGNhbiBkaXNhYmxlIG92ZXJyaWRpbmcgaW5mb3JtYXRpb24uXHJcbiAgICBjb25zdCBwcmV2aW91c1RyaWdnZXJXaXRoSWQ6IHsgW2lkOiBzdHJpbmddOiBDb25maWdMb29zZVRyaWdnZXIgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBPYmplY3QudmFsdWVzKG1hcCkpIHtcclxuICAgICAgLy8gVE9ETzogbWF5YmUgZWFjaCB0cmlnZ2VyIHNldCBuZWVkcyBhIHpvbmUgbmFtZSwgYW5kIHdlIHNob3VsZFxyXG4gICAgICAvLyB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBmaWxlbmFtZT8/P1xyXG4gICAgICBjb25zdCByYXdUcmlnZ2VyczogeyB0cmlnZ2VyOiBMb29zZVRyaWdnZXJbXTsgdGltZWxpbmU6IExvb3NlVHJpZ2dlcltdIH0gPSB7XHJcbiAgICAgICAgdHJpZ2dlcjogW10sXHJcbiAgICAgICAgdGltZWxpbmU6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCB0cmlnZ2VyU2V0ID0gaXRlbS50cmlnZ2VyU2V0O1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50cmlnZ2VycylcclxuICAgICAgICByYXdUcmlnZ2Vycy50cmlnZ2VyLnB1c2goLi4udHJpZ2dlclNldC50cmlnZ2Vycyk7XHJcbiAgICAgIGlmICh0cmlnZ2VyU2V0LnRpbWVsaW5lVHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudGltZWxpbmUucHVzaCguLi50cmlnZ2VyU2V0LnRpbWVsaW5lVHJpZ2dlcnMpO1xyXG5cclxuICAgICAgaWYgKCF0cmlnZ2VyU2V0LmlzVXNlclRyaWdnZXJTZXQgJiYgdHJpZ2dlclNldC5maWxlbmFtZSlcclxuICAgICAgICBmbGF0dGVuVGltZWxpbmUodHJpZ2dlclNldCwgdHJpZ2dlclNldC5maWxlbmFtZSwgdGltZWxpbmVGaWxlcyk7XHJcblxyXG4gICAgICBpdGVtLnRyaWdnZXJzID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdHJpZ2dlckFycl0gb2YgT2JqZWN0LmVudHJpZXMocmF3VHJpZ2dlcnMpKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBiYXNlVHJpZyBvZiB0cmlnZ2VyQXJyKSB7XHJcbiAgICAgICAgICBjb25zdCB0cmlnOiBDb25maWdMb29zZVRyaWdnZXIgPSBiYXNlVHJpZztcclxuICAgICAgICAgIHRyaWdnZXJJZHgrKztcclxuICAgICAgICAgIGlmICghdHJpZy5pZCkge1xyXG4gICAgICAgICAgICAvLyBHaXZlIHRyaWdnZXJzIHdpdGggbm8gaWQgc29tZSBcInVuaXF1ZVwiIHN0cmluZyBzbyB0aGF0IHRoZXkgY2FuXHJcbiAgICAgICAgICAgIC8vIHN0aWxsIGJlIGFkZGVkIHRvIHRoZSBzZXQgYW5kIHNob3cgdXAgaW4gdGhlIHVpLlxyXG4gICAgICAgICAgICB0cmlnLmlkID0gYCEhTm9JZFRyaWdnZXIke3RyaWdnZXJJZHh9YDtcclxuICAgICAgICAgICAgdHJpZy5pc01pc3NpbmdJZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gVHJhY2sgaWYgdGhpcyB0cmlnZ2VyIG92ZXJyaWRlcyBhbnkgcHJldmlvdXMgdHJpZ2dlci5cclxuICAgICAgICAgIGNvbnN0IHByZXZpb3VzID0gcHJldmlvdXNUcmlnZ2VyV2l0aElkW3RyaWcuaWRdO1xyXG4gICAgICAgICAgaWYgKHByZXZpb3VzKVxyXG4gICAgICAgICAgICBwcmV2aW91cy5vdmVycmlkZGVuQnlGaWxlID0gdHJpZ2dlclNldC5maWxlbmFtZTtcclxuICAgICAgICAgIHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXSA9IHRyaWc7XHJcblxyXG4gICAgICAgICAgdHJpZy5pc1RpbWVsaW5lVHJpZ2dlciA9IGtleSA9PT0gJ3RpbWVsaW5lJztcclxuICAgICAgICAgIC8vIEFsc28sIGlmIGEgdXNlciBoYXMgdHdvIG9mIHRoZSBzYW1lIGlkIGluIHRoZSBzYW1lIHRyaWdnZXJTZXQgKD8hKVxyXG4gICAgICAgICAgLy8gdGhlbiBvbmx5IHRoZSBzZWNvbmQgdHJpZ2dlciB3aWxsIHNob3cgdXAuXHJcbiAgICAgICAgICBpdGVtLnRyaWdnZXJzW3RyaWcuaWRdID0gdGhpcy5wcm9jZXNzVHJpZ2dlcih0cmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBidWlsZFRyaWdnZXJPcHRpb25zKHRyaWc6IExvb3NlVHJpZ2dlciwgbGFiZWxEaXY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIGFzIGFsbCB0cmlnZ2VycyBzaG91bGQgYmUgcHJvY2Vzc2VkIHdpdGggYSB1bmlxdWUgaWQuXHJcbiAgICBjb25zdCB0cmlnSWQgPSB0cmlnLmlkO1xyXG4gICAgaWYgKCF0cmlnSWQpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25LZXkgPSBrT3B0aW9uS2V5cy5vdXRwdXQ7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW9wdGlvbnMnKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVMYWJlbCA9IChpbnB1dDogSFRNTE9wdGlvbkVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCkgPT4ge1xyXG4gICAgICBpZiAoaW5wdXQudmFsdWUgPT09ICdoaWRkZW4nIHx8IGlucHV0LnZhbHVlID09PSAnZGlzYWJsZWQnKVxyXG4gICAgICAgIGxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCdkaXNhYmxlZCcpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RWYWx1ZSA9IHRoaXMuYmFzZS5nZXRPcHRpb24oXHJcbiAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sXHJcbiAgICAgICdkZWZhdWx0JyxcclxuICAgICk7XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCBvcHRdIG9mIE9iamVjdC5lbnRyaWVzKHRyaWdnZXJTb3VuZE9wdGlvbnMpKSB7XHJcbiAgICAgIC8vIEhpZGUgZGVidWcgb25seSBvcHRpb25zIHVubGVzcyB0aGV5IGFyZSBzZWxlY3RlZC5cclxuICAgICAgLy8gT3RoZXJ3aXNlLCBpdCB3aWxsIGxvb2sgd2VpcmQgdG8gcGljayBzb21ldGhpbmcgbGlrZSAnRGlzYWJsZWQnLFxyXG4gICAgICAvLyBidXQgdGhlbiBub3Qgc2hvdyBpdCB3aGVuIGRldmVsb3BlciBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxyXG4gICAgICBpZiAoIXRoaXMuYmFzZS5kZXZlbG9wZXJPcHRpb25zICYmIG9wdC5kZWJ1Z09ubHkgJiYga2V5ICE9PSBzZWxlY3RWYWx1ZSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xyXG4gICAgICBlbGVtLmlubmVySFRNTCA9IHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKTtcclxuICAgICAgZWxlbS52YWx1ZSA9IGtleTtcclxuICAgICAgZWxlbS5zZWxlY3RlZCA9IGtleSA9PT0gc2VsZWN0VmFsdWU7XHJcbiAgICAgIGlucHV0LmFwcGVuZENoaWxkKGVsZW0pO1xyXG5cclxuICAgICAgdXBkYXRlTGFiZWwoaW5wdXQpO1xyXG5cclxuICAgICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgdXBkYXRlTGFiZWwoaW5wdXQpO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGlucHV0LnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnZGVmYXVsdCcpKVxyXG4gICAgICAgICAgdmFsdWUgPSAnZGVmYXVsdCc7XHJcbiAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IGZsYXR0ZW5UaW1lbGluZSA9IChcclxuICBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCxcclxuICBmaWxlbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbikgPT4ge1xyXG4gIC8vIENvbnZlcnQgc2V0LnRpbWVsaW5lRmlsZSB0byBzZXQudGltZWxpbmUuXHJcbiAgaWYgKCFzZXQudGltZWxpbmVGaWxlKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IGxhc3RJbmRleCA9IE1hdGgubWF4KGZpbGVuYW1lLmxhc3RJbmRleE9mKCcvJyksIGZpbGVuYW1lLmxhc3RJbmRleE9mKCdcXFxcJykpO1xyXG4gIC8vIElmIGxhc3RJbmRleCA9PT0gLTEsIHRydW5jYXRlIG5hbWUgdG8gdGhlIGVtcHR5IHN0cmluZy5cclxuICAvLyBpZiBsYXN0SW5kZXggPiAtMSwgdHJ1bmNhdGUgbmFtZSBhZnRlciB0aGUgZmluYWwgc2xhc2guXHJcbiAgY29uc3QgZGlyID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsIGxhc3RJbmRleCArIDEpO1xyXG5cclxuICBjb25zdCB0aW1lbGluZUZpbGUgPSBgJHtkaXJ9JHtzZXQudGltZWxpbmVGaWxlfWA7XHJcbiAgZGVsZXRlIHNldC50aW1lbGluZUZpbGU7XHJcblxyXG4gIGlmICghKHRpbWVsaW5lRmlsZSBpbiBmaWxlcykpIHtcclxuICAgIGNvbnNvbGUubG9nKGBFUlJPUjogJyR7ZmlsZW5hbWV9JyBzcGVjaWZpZXMgbm9uLWV4aXN0ZW50IHRpbWVsaW5lIGZpbGUgJyR7dGltZWxpbmVGaWxlfScuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLyBzZXQudGltZWxpbmUgaXMgcHJvY2Vzc2VkIHJlY3Vyc2l2ZWx5LlxyXG4gIHNldC50aW1lbGluZSA9IFtzZXQudGltZWxpbmUsIGZpbGVzW3RpbWVsaW5lRmlsZV1dO1xyXG59O1xyXG5cclxuLy8gUmFpZGJvc3MgbmVlZHMgdG8gZG8gc29tZSBleHRyYSBwcm9jZXNzaW5nIG9mIHVzZXIgZmlsZXMuXHJcbmNvbnN0IHVzZXJGaWxlSGFuZGxlcjogVXNlckZpbGVDYWxsYmFjayA9IChcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgZmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBiYXNlT3B0aW9uczogQmFzZU9wdGlvbnMsXHJcbiAgYmFzZVBhdGg6IHN0cmluZyxcclxuKSA9PiB7XHJcbiAgLy8gVE9ETzogUmV3cml0ZSB1c2VyX2NvbmZpZyB0byBiZSB0ZW1wbGF0ZWQgb24gb3B0aW9uIHR5cGUgc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGtub3dzXHJcbiAgLy8gd2hhdCB0eXBlIG9mIG9wdGlvbnMgaXQgaXMgdXNpbmcuXHJcbiAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgaWYgKCFvcHRpb25zLlRyaWdnZXJzKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBmb3IgKGNvbnN0IGJhc2VUcmlnZ2VyU2V0IG9mIG9wdGlvbnMuVHJpZ2dlcnMpIHtcclxuICAgIGNvbnN0IHNldDogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0ID0gYmFzZVRyaWdnZXJTZXQ7XHJcblxyXG4gICAgLy8gQW5ub3RhdGUgdHJpZ2dlcnMgd2l0aCB3aGVyZSB0aGV5IGNhbWUgZnJvbS4gIE5vdGUsIG9wdGlvbnMgaXMgcGFzc2VkIGluIHJlcGVhdGVkbHlcclxuICAgIC8vIGFzIG11bHRpcGxlIHNldHMgb2YgdXNlciBmaWxlcyBhZGQgdHJpZ2dlcnMsIHNvIG9ubHkgcHJvY2VzcyBlYWNoIGZpbGUgb25jZS5cclxuICAgIGlmIChzZXQuaXNVc2VyVHJpZ2dlclNldClcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgLy8gYGZpbGVuYW1lYCBoZXJlIGlzIGp1c3QgY29zbWV0aWMgZm9yIGJldHRlciBkZWJ1ZyBwcmludGluZyB0byBtYWtlIGl0IG1vcmUgY2xlYXJcclxuICAgIC8vIHdoZXJlIGEgdHJpZ2dlciBvciBhbiBvdmVycmlkZSBpcyBjb21pbmcgZnJvbS5cclxuICAgIHNldC5maWxlbmFtZSA9IGAke2Jhc2VQYXRofSR7bmFtZX1gO1xyXG4gICAgc2V0LmlzVXNlclRyaWdnZXJTZXQgPSB0cnVlO1xyXG5cclxuICAgIGZsYXR0ZW5UaW1lbGluZShzZXQsIG5hbWUsIGZpbGVzKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIC8vIHJhaWRib3NzIHdpbGwgbG9vayB1cCB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWcgdG8gZmluZCB0aGVzZSB2YWx1ZXMuXHJcbiAgY29uc3Qgb3B0aW9uTmFtZSA9ICdQZXJUcmlnZ2VyQXV0b0NvbmZpZyc7XHJcblxyXG4gIGNvbnN0IHBlclRyaWdnZXJBdXRvQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdHJpZ2dlcnMgPSBzYXZlZENvbmZpZ1sndHJpZ2dlcnMnXTtcclxuICBpZiAoIXRyaWdnZXJzIHx8IHR5cGVvZiB0cmlnZ2VycyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0cmlnZ2VycykpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGNvbnN0IG91dHB1dE9ianM6IHsgW2tleTogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfSA9IHt9O1xyXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhrVHJpZ2dlck9wdGlvbnMpO1xyXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgIGNvbnN0IG9iaiA9IG91dHB1dE9ianNba2V5XSA9IHt9O1xyXG4gICAgc2V0T3B0aW9uc0Zyb21PdXRwdXRWYWx1ZShvYmosIGtleSk7XHJcbiAgfVxyXG5cclxuICBmb3IgKGNvbnN0IFtpZCwgZW50cnldIG9mIE9iamVjdC5lbnRyaWVzKHRyaWdnZXJzKSkge1xyXG4gICAgaWYgKHR5cGVvZiBlbnRyeSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShlbnRyeSkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBhdXRvQ29uZmlnOiBUcmlnZ2VyQXV0b0NvbmZpZyA9IHt9O1xyXG5cclxuICAgIGNvbnN0IG91dHB1dCA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dF0/LnRvU3RyaW5nKCk7XHJcbiAgICBpZiAob3V0cHV0KVxyXG4gICAgICBPYmplY3QuYXNzaWduKGF1dG9Db25maWcsIG91dHB1dE9ianNbb3V0cHV0XSk7XHJcblxyXG4gICAgY29uc3QgZHVyYXRpb24gPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoZW50cnlba09wdGlvbktleXMuZHVyYXRpb25dKTtcclxuICAgIGlmIChkdXJhdGlvbilcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5kdXJhdGlvbl0gPSBkdXJhdGlvbjtcclxuXHJcbiAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmJlZm9yZVNlY29uZHNdKTtcclxuICAgIGlmIChiZWZvcmVTZWNvbmRzKVxyXG4gICAgICBhdXRvQ29uZmlnW2tPcHRpb25LZXlzLmJlZm9yZVNlY29uZHNdID0gYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gZW50cnlba09wdGlvbktleXMub3V0cHV0U3RyaW5nc107XHJcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBTYXZlZENvbmZpZ0VudHJ5IGlzIGFuIGFuIG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMsXHJcbiAgICAvLyB3aGljaCBpcyBhIHN1YnNldCBvZiB0aGUgT3V0cHV0U3RyaW5ncyB0eXBlLlxyXG4gICAgaWYgKFxyXG4gICAgICAoKGVudHJ5PzogU2F2ZWRDb25maWdFbnRyeSk6IGVudHJ5IGlzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgT2JqZWN0LnZhbHVlcyhlbnRyeSkpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9KShvdXRwdXRTdHJpbmdzKVxyXG4gICAgKVxyXG4gICAgICBhdXRvQ29uZmlnW2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdID0gb3V0cHV0U3RyaW5ncztcclxuXHJcbiAgICBpZiAob3V0cHV0IHx8IGR1cmF0aW9uIHx8IG91dHB1dFN0cmluZ3MpXHJcbiAgICAgIHBlclRyaWdnZXJBdXRvQ29uZmlnW2lkXSA9IGF1dG9Db25maWc7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyA9IChvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgY29uc3Qgb3B0aW9uTmFtZSA9ICdQZXJab25lVGltZWxpbmVDb25maWcnO1xyXG4gIC8vIFNhdmVkQ29uZmlnIHVzZXMgdGhpcyBrZXkgc3RydWN0dXJlOlxyXG4gIC8vICogJ3RpbWVsaW5lJywgem9uZUlkIChhcyBzdHJpbmcpLCAnZW5hYmxlJywgdGV4dCwgYm9vbGVhblxyXG4gIC8vICogJ3RpbWVsaW5lJywgem9uZUlkIChhcyBzdHJpbmcpLCAnZ2xvYmFsUmVwbGFjZScsIHRleHQsIHN0cmluZ1xyXG4gIC8vIC4uLmFuZCB0aGlzIGZ1bmN0aW9uIHRyYW5zZm9ybXMgaXQgaW50byBhIGBQZXJab25lVGltZWxpbmVDb25maWdgLlxyXG5cclxuICBjb25zdCBwZXJab25lVGltZWxpbmVDb25maWcgPSBvcHRpb25zW29wdGlvbk5hbWVdID8/PSB7fTtcclxuICBpZiAodHlwZW9mIHNhdmVkQ29uZmlnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCB0aW1lbGluZSA9IHNhdmVkQ29uZmlnWyd0aW1lbGluZSddO1xyXG4gIGlmICghdGltZWxpbmUgfHwgdHlwZW9mIHRpbWVsaW5lICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRpbWVsaW5lKSlcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBbem9uZUtleSwgem9uZUVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0aW1lbGluZSkpIHtcclxuICAgIGNvbnN0IHpvbmVJZCA9IHBhcnNlSW50KHpvbmVLZXkpO1xyXG4gICAgaWYgKCF6b25lSWQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgdGltZWxpbmVDb25maWcgPSBwZXJab25lVGltZWxpbmVDb25maWdbem9uZUlkXSA/Pz0ge307XHJcblxyXG4gICAgaWYgKCF6b25lRW50cnkgfHwgdHlwZW9mIHpvbmVFbnRyeSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh6b25lRW50cnkpKVxyXG4gICAgICBjb250aW51ZTtcclxuXHJcbiAgICBjb25zdCBlbmFibGVFbnRyeSA9IHpvbmVFbnRyeVsnZW5hYmxlJ107XHJcbiAgICBjb25zdCByZXBsYWNlRW50cnkgPSB6b25lRW50cnlbJ2dsb2JhbFJlcGxhY2UnXTtcclxuXHJcbiAgICBpZiAoZW5hYmxlRW50cnkgJiYgdHlwZW9mIGVuYWJsZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShlbmFibGVFbnRyeSkpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmICF2YWx1ZSlcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5JZ25vcmUgPz89IFtdKS5wdXNoKGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVwbGFjZUVudHJ5ICYmIHR5cGVvZiByZXBsYWNlRW50cnkgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgKHRpbWVsaW5lQ29uZmlnLlJlbmFtZSA/Pz0ge30pW2tleV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHRlbXBsYXRlT3B0aW9uczogT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVSTogKGJhc2UsIGNvbnRhaW5lcikgPT4ge1xyXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBSYWlkYm9zc0NvbmZpZ3VyYXRvcihiYXNlKTtcclxuICAgIGNvbnN0IHVzZXJPcHRpb25zID0geyAuLi5yYWlkYm9zc09wdGlvbnMgfTtcclxuICAgIFVzZXJDb25maWcubG9hZFVzZXJGaWxlcygncmFpZGJvc3MnLCB1c2VyT3B0aW9ucywgKCkgPT4ge1xyXG4gICAgICBidWlsZGVyLmJ1aWxkVUkoY29udGFpbmVyLCByYWlkYm9zc0ZpbGVEYXRhLCB1c2VyT3B0aW9ucyk7XHJcbiAgICB9KTtcclxuICB9LFxyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM6IChiYXNlT3B0aW9ucywgc2F2ZWRDb25maWcpID0+IHtcclxuICAgIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gICAgLy8gd2hhdCB0eXBlIG9mIG9wdGlvbnMgaXQgaXMgdXNpbmcuICBXaXRob3V0IHRoaXMsIHBlclRyaWdnZXJBdXRvQ29uZmlnIGlzIHVua25vd24uXHJcbiAgICBjb25zdCBvcHRpb25zID0gYmFzZU9wdGlvbnMgYXMgUmFpZGJvc3NPcHRpb25zO1xyXG5cclxuICAgIHByb2Nlc3NQZXJUcmlnZ2VyQXV0b0NvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgICBwcm9jZXNzUGVyWm9uZVRpbWVsaW5lQ29uZmlnKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9LFxyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdDb3ZlcmFnZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1N1cHBvcnRlZCBjb250ZW50IChsYXRlc3QgdmVyc2lvbiknLFxyXG4gICAgICAgIGRlOiAnVW50ZXJzdMO8dHp0ZSBJbmhhbHRlIChha3R1ZWxsc3RlIFZlcnNpb24pJyxcclxuICAgICAgICBmcjogJ0NvbnRlbnUgc3VwcG9ydMOpIChkZXJuacOocmUgdmVyc2lvbiknLFxyXG4gICAgICAgIGphOiAn5a++5b+c44Kz44Oz44OG44Oz44OE5LiA6KanICjmnIDmlrDjg5Djg7zjgrjjg6fjg7MpJyxcclxuICAgICAgICBjbjogJ+aUr+aMgeWJr+acrOS4gOiniCAo5ZCr5pyq5Y+R5biD5pu05pawKScsXHJcbiAgICAgICAga286ICfsp4Dsm5DtlZjripQg7Luo7YWQ7LigICjrprTrpqzspojrsoTsoITrs7Tri6Qg7LWc7IugKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdodG1sJyxcclxuICAgICAgaHRtbDoge1xyXG4gICAgICAgIC8vIFRPRE86IGl0J2QgYmUgbmljZSBpZiBPdmVybGF5UGx1Z2luIGNvdWxkIG9wZW4gbGlua3Mgb24gdGhlIHN5c3RlbSBvdXRzaWRlIG9mIEFDVC5cclxuICAgICAgICBlbjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWVuJyksXHJcbiAgICAgICAgZGU6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1kZScpLFxyXG4gICAgICAgIGZyOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZnInKSxcclxuICAgICAgICBqYTogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWphJyksXHJcbiAgICAgICAgY246IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1jbicpLFxyXG4gICAgICAgIGtvOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9a28nKSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWVuJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0RlYnVnJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRW5hYmxlIGRlYnVnIG1vZGUnLFxyXG4gICAgICAgIGRlOiAnQWt0aXZpZXJlIERlYnVnbW9kdXMnLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsZSBtb2RlIGRlYnVnJyxcclxuICAgICAgICBqYTogJ+ODh+ODkOODg+OCsOODouODvOODieOCkuacieWKueOBq+OBmeOCiycsXHJcbiAgICAgICAgY246ICflkK/nlKjosIPor5XmqKHlvI8nLFxyXG4gICAgICAgIGtvOiAn65SU67KE6re4IOuqqOuTnCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWZhdWx0QWxlcnRPdXRwdXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEZWZhdWx0IGFsZXJ0IG91dHB1dCcsXHJcbiAgICAgICAgZGU6ICdTdGFuZGFyZCBBbGVydCBBdXNnYWJlJyxcclxuICAgICAgICBmcjogJ0FsZXJ0ZSBwYXIgZMOpZmF1dCcsXHJcbiAgICAgICAgamE6ICforablkYrmg4XloLHlh7rlipvml6LlrprlgKQnLFxyXG4gICAgICAgIGNuOiAn6buY6K6k6K2m5oql5o+Q56S65L+h5oGv6L6T5Ye65pa55byPJyxcclxuICAgICAgICBrbzogJ+q4sOuzuCDslYzrnowg7Lac66ClIOuwqeyLnScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0IGFuZCBTb3VuZCc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIFRleHQgYW5kIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUUyBPbmx5JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dCBPbmx5JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBOdXIgVFRTJzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgTnVyIFRleHQnOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCBEZWFrdGl2aWVydCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbic6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUUyBzZXVsZW1lbnQnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSBUZXh0ZSBzZXVsZW1lbnQnOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCBEw6lzYWN0aXbDqSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIOODhuOCreOCueODiOOBqOmfs+WjsCc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIOODhuOCreOCueODiOOBqFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+OBruOBvyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIOODhuOCreOCueODiOOBruOBvyc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOeEoeWKuSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIOaWh+Wtl+aYvuekuuS4juaPkOekuumfsyc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIOaWh+Wtl+aYvuekuuS4jlRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIOWPquS9v+eUqFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIOWPquS9v+eUqOaWh+Wtl+aYvuekuic6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOemgeeUqCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDthY3siqTtirjsmYAgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgVFRT66eMJzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/Cfhpkg7YWN7Iqk7Yq466eMJzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwg67mE7Zmc7ISx7ZmUJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgc2V0dGVyRnVuYzogc2V0T3B0aW9uc0Zyb21PdXRwdXRWYWx1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydHMgbGFuZ3VhZ2UnLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgU3ByYWNoZScsXHJcbiAgICAgICAgZnI6ICdMYW5ndWUgZGVzIGFsZXJ0ZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44Gu6KiA6KqeJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaPkOekuuaWh+Wtl+eahOivreiogCcsXHJcbiAgICAgICAga286ICfslYzrnowg7Ja47Ja0JyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ1VzZSBEaXNwbGF5IExhbmd1YWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0VuZ2xpc2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzZSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdHZXJtYW4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJlbmNoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuZXNlIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0tvcmVhbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGRcXCdhZmZpY2hhZ2UnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnQW5nbGFpcyAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICdDaGlub2lzIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ0FsbGVtYW5kIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW7Dp2FpcyAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBvbmFpcyAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdDb3LDqWVuIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfooajnpLroqIDoqp7ml6LlrprlgKQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6KqeIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+S4reWbveiqniAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICfjg4njgqTjg4Toqp4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn44OV44Op44Oz44K56KqeIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeacrOiqniAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn5Plm73oqp4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+S9v+eUqOaYvuekuuivreiogCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hor60gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5rGJ6K+tIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+W+t+ivrSAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfms5Xor60gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel6K+tIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfqeivrSAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGtvOiB7XHJcbiAgICAgICAgICAn7KO8IOyCrOyaqSDslrjslrQg7IKs7JqpJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+yYgeyWtCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfspJHqta3slrQgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn64+F7J287Ja0IChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+2UhOuekeyKpOyWtCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfsnbzrs7jslrQgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn7ZWc6rWt7Ja0IChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgICAgZGVidWc6IHRydWUsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ0FsZXJ0c0xhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVMYW5ndWFnZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVsaW5lIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ1RpbWVsaW5lIFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlIGxhIHRpbWVsaW5lJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODs+OBruiogOiqnicsXHJcbiAgICAgICAgY246ICfml7bpl7TovbTmlofmnKznmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7YOA7J6E65287J24IOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRkZYSVYgUGx1Z2luIExhbmd1YWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0VuZ2xpc2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzZSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdHZXJtYW4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJlbmNoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuZXNlIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0tvcmVhbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnQmVudXR6ZSBGRlhJViBQbHVnaW4gU3ByYWNoZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNjaCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICdDaGluZXNpc2NoIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ0RldXRzY2ggKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbnrDtnNpc2NoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuaXNjaCAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW5pc2NoIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdVdGlsaXNlciBsYSBsYW5ndWUgZHUgUGx1Z2luIEZGWElWJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAnRkZYSVYgUGx1Z2lu44Gu6KiA6Kqe6Kit5a6aJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmnIDnu4jlubvmg7NYSVbop6PmnpDmj5Lku7borr7nva7nmoTor63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbiDslrjslrQg7IKs7JqpJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+yYgeyWtCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfspJHqta3slrQgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn64+F7J287Ja0IChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+2UhOuekeyKpOyWtCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfsnbzrs7jslrQgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn7ZWc6rWt7Ja0IChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgICAgZGVidWc6IHRydWUsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ1RpbWVsaW5lTGFuZ3VhZ2UnXSA9IHZhbHVlO1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTa2luJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZGU6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBmcjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGphOiAnUmFpZGJvc3Pjga7jgrnjgq3jg7MnLFxyXG4gICAgICAgIGNuOiAnUmFpZGJvc3Pnmq7ogqQnLFxyXG4gICAgICAgIGtvOiAnUmFpZGJvc3Mg7Iqk7YKoJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ0RlZmF1bHQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnRMOpZmF1dCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ+WIneacn+ioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+m7mOiupCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+q4sOuzuCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ2RlZmF1bHQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdUaW1lbGluZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ1RpbWVsaW5lIGFrdGl2aWVydCcsXHJcbiAgICAgICAgZnI6ICdUaW1lbGluZSBhY3RpdsOpZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7PjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5pe26Ze06L20JyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydHNFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGVuYWJsZWQnLFxyXG4gICAgICAgIGRlOiAnQWxlcnRzIGFrdGl2aWVydCcsXHJcbiAgICAgICAgZnI6ICdBbGVydGVzIGFjdGl2w6llcycsXHJcbiAgICAgICAgamE6ICforablkYrmg4XloLHjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5o+Q56S65paH5pys5pi+56S6JyxcclxuICAgICAgICBrbzogJ+yVjOuejCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTaG93VGltZXJCYXJzQXRTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZXIgYmFyIHNob3cgd2luZG93IChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdUaW1lci1CYXIgQW56ZWlnZWRhdWVyIChpbiBTZWt1bmRlbiknLFxyXG4gICAgICAgIGZyOiAnRmVuw6p0cmUgZFxcJ2FmZmljaGFnZSBkZSBsYSBiYXJyZSBkZSB0ZW1wcyAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBq+aZgumWk+ihqOekuiAo56eSKScsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmmL7npLrml7bplb8gKOenkiknLFxyXG4gICAgICAgIGtvOiAn7YOA7J6E65287J247J2EIO2RnOyLnO2VoCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdLZWVwIGV4cGlyZWQgdGltZXIgYmFyIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdCZWhhbHRlIGFiZ2VsYXVmZW5lIFRpbWVyLUJhciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0dhcmRlciBsYSBiYXJyZSBkZSB0ZW1wcyBleHBpcsOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+e1guS6huOBl+OBn+OCv+OCpOODoOODkOODvOOBjOa2iOOBiOOCi+OBvuOBp+OBruW+heOBoeaZgumWkyAo56eSKScsXHJcbiAgICAgICAgY246ICflt7LlpLHmlYjnmoTorqHml7bmnaHnmoTmt6Hlh7rml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn66eM66OM65CcIO2DgOyehOudvOyduOydtCDsgqzrnbzsp4DquLDquYzsp4DsnZgg7Iuc6rCEICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCYXJFeHBpcmVzU29vblNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lIHRvIHJlY29sb3IgdGltZXIgYXMgZXhwaXJpbmcgc29vbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnWmVpdCBiaXMgZWluIGJhbGQgYXVzbGF1ZmVuZGVyIFRpbWVyIHVtZ2Vmw6RyYnQgd2lyZCAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ1JlY29sb3Jpc2F0aW9uIGRlIGxhIGJhcnJlIGRlIHRlbXBzIGF2YW50IGV4cGlyYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgYzntYLkuobliY3jgavlho3luqboibLku5jjgZHjga7mrovjgormmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5YCS6K6h5pe25bCP5LqO6K+l5YC85pe25b2T5YmN6K6h5pe25p2h5Y+Y6ImyICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydmCDsg4nsg4HsnYQg67CU6r+AIOq4sOykgCDsi5zqsIQgKOy0iCDsnbTtlZgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdNYXhOdW1iZXJPZlRpbWVyQmFycycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01heCBudW1iZXIgb2YgdGltZXIgYmFycycsXHJcbiAgICAgICAgZGU6ICdNYXggQW56YWhsIGFuIFRpbWVyLUJhcnMnLFxyXG4gICAgICAgIGZyOiAnTm9tYnJlIG1heCBkZSBiYXJyZXMgZGUgdGVtcHMnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844Gu5pyA5aSn5pWwJyxcclxuICAgICAgICBjbjogJ+iuoeaXtuadoeacgOWkp+aVsOmHjycsXHJcbiAgICAgICAga286ICftkZzsi5ztlaAg7YOA7J6E65287J247J2YIOy1nOuMgCDqsJzsiJgnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDYsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlBbGFybVRleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxhcm0gdGV4dCBkaXNwbGF5IGR1cmF0aW9uIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdBbGFybS1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdhbGFybWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICforabloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+qyveqzoCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlBbGVydFRleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnQgdGV4dCBkaXNwbGF5IGR1cmF0aW9uIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdBbGVydC1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdhbGVydGUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICforablkYrjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K2m5ZGK5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yjvOydmCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlJbmZvVGV4dEZvclNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdJbmZvIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnSW5mby1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdpbmZvcm1hdGlvbiAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+aDheWgseODhuOCreOCueODiOihqOekuuaZgumWk+OBrumVt+OBlSAo56eSKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/mloflrZfmmL7npLrmjIHnu63ml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IO2FjeyKpO2KuOulvCDtkZzsi5ztlaAg7Iuc6rCEICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdBbGFybSBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2FsYXJtZSAoMC0xKScsXHJcbiAgICAgICAgamE6ICforabloLHpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+qyveqzoCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRTb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdBbGVydCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2FsZXJ0ZSAoMC0xKScsXHJcbiAgICAgICAgamE6ICforablkYrpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5ZGK5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+yjvOydmCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1NvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnSW5mbyBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2luZm8gKDAtMSknLFxyXG4gICAgICAgIGphOiAn5oOF5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+S/oeaBr+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfslYjrgrQg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0xvbmdTb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0xvbmcgc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhbmdlciBUb24gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGR1IHNvbiBsb25nICgwLTEpJyxcclxuICAgICAgICBqYTogJ+mVt+OBhOmfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfplb/mj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn6ri0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQdWxsU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQdWxsIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdQdWxsIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZGUgcHVsbCAoMC0xKScsXHJcbiAgICAgICAgamE6ICfjgr/jgrLlj5bjgovlirnmnpzpn7Pjga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5byA5oCq5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+2SgOungSDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUnVtYmxlRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBnYW1lcGFkIHJ1bWJsZSBmb3IgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnR2FtZXBhZC1WaWJyYXRpb24gZsO8ciBUcmlnZ2VyIGFrdGl2aWVyZW4nLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsYSB2aWJyYXRpb24gZGUgbGEgbWFuZXR0ZSBkZSBqZXUgcG91ciBsZXMgdHJpZ2dlcnMnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1J1bWJsZUR1cmF0aW9uJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRHVyYXRpb24gKG1pbGxpc2Vjb25kcykgb2YgcnVtYmxlIGZvciBpbmZvIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1plaXQgKGluIE1pbGxpc2VrdW5kZW4pIGRlciBWaWJyYXRpb24gYmVpIGluZm8gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnaW5mb3JtYXRpb25zJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNDAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdJbmZvUnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGluZm8gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1J1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBpbmZvIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIHN0YXJrZW4gVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlRHVyYXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEdXJhdGlvbiAobWlsbGlzZWNvbmRzKSBvZiBydW1ibGUgZm9yIGFsZXJ0IHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1plaXQgKGluIE1pbGxpc2VrdW5kZW4pIGRlciBWaWJyYXRpb24gYmVpIGFsZXJ0IHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsZXJ0ZXMnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiA1MDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgYWxlcnQgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZhaWJsZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlU3Ryb25nJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHN0cm9uZyBydW1ibGUgZm9yIGFsZXJ0IHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIHN0YXJrZW4gVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC41LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZUR1cmF0aW9uJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRHVyYXRpb24gKG1pbGxpc2Vjb25kcykgb2YgcnVtYmxlIGZvciBhbGFybSB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBhbGFybSB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGFybWVzJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNzUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGFsYXJtIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjc1LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGFybSB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNzUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ2NhY3Rib3RXb3JtaG9sZVN0cmF0JyxcclxuICAgICAgLy8gVE9ETzogbWF5YmUgbmVlZCBzb21lIHdheSB0byBncm91cCB0aGVzZSBraW5kcyBvZlxyXG4gICAgICAvLyBvcHRpb25zIGlmIHdlIGVuZCB1cCBoYXZpbmcgYSBsb3Q/XHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXggVWx0aW1hdGU6IGVuYWJsZSBjYWN0Ym90IFdvcm1ob2xlIHN0cmF0JyxcclxuICAgICAgICBkZTogJ0FsZXggVWx0aW1hdGU6IGFrdGl2aWVyZSBjYWN0Ym90IFdvcm1ob2xlIFN0cmF0ZWdpZScsXHJcbiAgICAgICAgZnI6ICdBbGV4IGZhdGFsIDogYWN0aXZlciBjYWN0Ym90IHBvdXIgbGEgc3RyYXQgV29ybWhvbGUnLFxyXG4gICAgICAgIGphOiAn57W244Ki44Os44Kt44K144Oz44OA44O86KiO5ruF5oim77yaY2FjdGJvdOOAjOasoeWFg+aWree1tuOBruODnuODvOODgeOAjeOCruODn+ODg+OCrycsXHJcbiAgICAgICAgY246ICfkuprljoblsbHlpKfnu53looPmiJjvvJpjYWN0Ym9054G15rOJ6L6F5Yqp5Yqf6IO9JyxcclxuICAgICAgICBrbzogJ+ygiCDslYzroIk6IGNhY3Rib3Qg7Juc7ZmAIOqzteueteuwqeyLnSDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnY2FjdGJvdGU4c1VwdGltZUtub2NrYmFja1N0cmF0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnZThzOiBlbmFibGUgY2FjdGJvdCBVcHRpbWUgS25vY2tiYWNrIHN0cmF0JyxcclxuICAgICAgICBkZTogJ2U4czogYWt0aXZpZXJlIGNhY3Rib3QgVXB0aW1lIEtub2NrYmFjayBTdHJhdGVnaWUnLFxyXG4gICAgICAgIGZyOiAnZThzIDogYWN0aXZlciBjYWN0Ym90IHBvdXIgbGEgc3RyYXQgVXB0aW1lIEtub2NrYmFjaycsXHJcbiAgICAgICAgamE6ICfjgqjjg4fjg7Ppm7blvI/lhbHps7Tnt6jvvJTlsaTvvJpjYWN0Ym9044CM44OY44O044Oz44Oq44O844K544OI44Op44Kk44KvICjjg47jg4Pjgq/jg5Djg4Pjgq8p44CN44Ku44Of44OD44KvJyxcclxuICAgICAgICBjbjogJ0U4Uzog5ZCv55SoY2FjdGJvdOeahOWHu+mAgOaPkOekuuWKn+iDvScsXHJcbiAgICAgICAga286ICfqs7XrqoUg7JiB7JuFIDTsuLU6IGNhY3Rib3Qg7KCV7ZmV7ZWcIO2DgOydtOuwjSDrhInrsLHrsKnsp4Ag6rO16561IO2ZnOyEse2ZlCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICBdLFxyXG59O1xyXG5cclxuVXNlckNvbmZpZy5yZWdpc3Rlck9wdGlvbnMoJ3JhaWRib3NzJywgdGVtcGxhdGVPcHRpb25zLCB1c2VyRmlsZUhhbmRsZXIpO1xyXG4iLCJpbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IHsgYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcGxheWVyX292ZXJyaWRlJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuXHJcbmltcG9ydCByYWlkYm9zc0ZpbGVEYXRhIGZyb20gJy4vZGF0YS9yYWlkYm9zc19tYW5pZmVzdC50eHQnO1xyXG5pbXBvcnQgeyBQb3B1cFRleHQsIFBvcHVwVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCBkZWZhdWx0T3B0aW9ucyBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUNvbnRyb2xsZXIsIFRpbWVsaW5lTG9hZGVyLCBUaW1lbGluZVVJIH0gZnJvbSAnLi90aW1lbGluZSc7XHJcblxyXG5pbXBvcnQgJy4uLy4uL3Jlc291cmNlcy90aW1lcmJhcic7XHJcbmltcG9ydCAnLi9yYWlkYm9zc19jb25maWcnO1xyXG5cclxuaW1wb3J0ICcuLi8uLi9yZXNvdXJjZXMvZGVmYXVsdHMuY3NzJztcclxuaW1wb3J0ICcuL3JhaWRib3NzLmNzcyc7XHJcblxyXG5Vc2VyQ29uZmlnLmdldFVzZXJDb25maWdMb2NhdGlvbigncmFpZGJvc3MnLCBkZWZhdWx0T3B0aW9ucywgKCkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zIH07XHJcblxyXG4gIC8vIFF1ZXJ5IHBhcmFtcyBvdmVycmlkZSBkZWZhdWx0IGFuZCB1c2VyIG9wdGlvbnMuXHJcbiAgLy8gVGhpcyBhbGxvd3MgZm9yIGh0bWwgZmlsZXMgdGhhdCBzYXkgXCJ0aW1lbGluZSBvbmx5XCIgb3IgXCJhbGVydHMgb25seVwiLlxyXG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcblxyXG4gIG9wdGlvbnMuSXNSZW1vdGVSYWlkYm9zcyA9IGZhbHNlO1xyXG4gIGNvbnN0IG92ZXJsYXlXc1BhcmFtID0gcGFyYW1zLmdldCgnT1ZFUkxBWV9XUycpO1xyXG4gIGlmIChvdmVybGF5V3NQYXJhbSkge1xyXG4gICAgY29uc3Qgd3NQYXJhbSA9IGRlY29kZVVSSUNvbXBvbmVudChvdmVybGF5V3NQYXJhbSk7XHJcbiAgICAvLyBUT0RPOiBpcyB0aGVyZSBhIGJldHRlciB3YXkgdG8gZG8gdGhpcz8/IFRoaXMgc2VlbXMgYmV0dGVyIHRoYW4gbG9va2luZyBmb3Igbmdyb2suXHJcbiAgICBjb25zdCBpc0xvY2FsID0gd3NQYXJhbS5pbmNsdWRlcygnbG9jYWxob3N0JykgfHwgd3NQYXJhbS5pbmNsdWRlcygnMTI3LjAuMC4xJyk7XHJcbiAgICBvcHRpb25zLklzUmVtb3RlUmFpZGJvc3MgPSAhaXNMb2NhbDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHBsYXllck5hbWVQYXJhbSA9IHBhcmFtcy5nZXQoJ3BsYXllcicpO1xyXG4gIGlmIChwbGF5ZXJOYW1lUGFyYW0pIHtcclxuICAgIG9wdGlvbnMuUGxheWVyTmFtZU92ZXJyaWRlID0gcGxheWVyTmFtZVBhcmFtO1xyXG4gICAgY29uc29sZS5sb2coJ0VuYWJsaW5nIHBsYXllciBuYW1lIG92ZXJyaWRlIHZpYSBxdWVyeSBwYXJhbWV0ZXIsIG5hbWU6ICcgKyBwbGF5ZXJOYW1lUGFyYW0pO1xyXG4gIH1cclxuXHJcbiAgaWYgKG9wdGlvbnMuSXNSZW1vdGVSYWlkYm9zcyAmJiBwbGF5ZXJOYW1lUGFyYW0gPT09IG51bGwpIHtcclxuICAgIGNvbnN0IGxhbmcgPSBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSB8fCBvcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICBhZGRSZW1vdGVQbGF5ZXJTZWxlY3RVSShsYW5nKTtcclxuXHJcbiAgICAvLyBQYWdlIHdpbGwgcmVsb2FkIG9uY2UgcGxheWVyIHNlbGVjdGVkLlxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdHRzUGFyYW0gPSBwYXJhbXMuZ2V0KCdmb3JjZVRUUycpO1xyXG4gIGlmICh0dHNQYXJhbSkge1xyXG4gICAgY29uc3QgZm9yY2VFbmFibGUgPSAhIXBhcnNlSW50KHR0c1BhcmFtKTtcclxuICAgIGlmIChmb3JjZUVuYWJsZSkge1xyXG4gICAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgICBjb25zb2xlLmxvZygnRm9yY2UgZW5hYmxpbmcgVFRTIHZpYSBxdWVyeSBwYXJhbWV0ZXInKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGFsZXJ0c1BhcmFtID0gcGFyYW1zLmdldCgnYWxlcnRzJyk7XHJcbiAgaWYgKGFsZXJ0c1BhcmFtICE9PSBudWxsKSB7XHJcbiAgICBjb25zdCBwcmV2aW91cyA9IG9wdGlvbnMuQWxlcnRzRW5hYmxlZDtcclxuICAgIG9wdGlvbnMuQWxlcnRzRW5hYmxlZCA9ICEhcGFyc2VJbnQoYWxlcnRzUGFyYW0pO1xyXG4gICAgaWYgKCFwcmV2aW91cyAmJiBvcHRpb25zLkFsZXJ0c0VuYWJsZWQpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdFbmFibGluZyBhbGVydHMgdmlhIHF1ZXJ5IHBhcmFtZXRlcicpO1xyXG4gIH1cclxuICBjb25zdCB0aW1lbGluZVBhcmFtID0gcGFyYW1zLmdldCgndGltZWxpbmUnKTtcclxuICBpZiAodGltZWxpbmVQYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgY29uc3QgcHJldmlvdXMgPSBvcHRpb25zLlRpbWVsaW5lRW5hYmxlZDtcclxuICAgIG9wdGlvbnMuVGltZWxpbmVFbmFibGVkID0gISFwYXJzZUludCh0aW1lbGluZVBhcmFtKTtcclxuICAgIGlmICghcHJldmlvdXMgJiYgb3B0aW9ucy5UaW1lbGluZUVuYWJsZWQpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdFbmFibGluZyB0aW1lbGluZSB2aWEgcXVlcnkgcGFyYW1ldGVyJyk7XHJcbiAgfVxyXG4gIGNvbnN0IGF1ZGlvUGFyYW0gPSBwYXJhbXMuZ2V0KCdhdWRpbycpO1xyXG4gIGlmIChhdWRpb1BhcmFtICE9PSBudWxsKSB7XHJcbiAgICBjb25zdCBwcmV2aW91cyA9IG9wdGlvbnMuQXVkaW9BbGxvd2VkO1xyXG4gICAgb3B0aW9ucy5BdWRpb0FsbG93ZWQgPSAhIXBhcnNlSW50KGF1ZGlvUGFyYW0pO1xyXG4gICAgaWYgKCFwcmV2aW91cyAmJiBvcHRpb25zLkF1ZGlvQWxsb3dlZClcclxuICAgICAgY29uc29sZS5sb2coJ0VuYWJsaW5nIGF1ZGlvIHZpYSBxdWVyeSBwYXJhbWV0ZXInKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTtcclxuICBpZiAoIWNvbnRhaW5lcilcclxuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgY29udGFpbmVyIGVsZW1lbnQnKTtcclxuICBpZiAoIW9wdGlvbnMuQWxlcnRzRW5hYmxlZClcclxuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdoaWRlLWFsZXJ0cycpO1xyXG4gIGlmICghb3B0aW9ucy5UaW1lbGluZUVuYWJsZWQpXHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnaGlkZS10aW1lbGluZScpO1xyXG5cclxuICBjb25zdCB0aW1lbGluZVVJID0gbmV3IFRpbWVsaW5lVUkob3B0aW9ucyk7XHJcbiAgY29uc3QgdGltZWxpbmVDb250cm9sbGVyID0gbmV3IFRpbWVsaW5lQ29udHJvbGxlcihvcHRpb25zLCB0aW1lbGluZVVJLCByYWlkYm9zc0ZpbGVEYXRhKTtcclxuICBjb25zdCB0aW1lbGluZUxvYWRlciA9IG5ldyBUaW1lbGluZUxvYWRlcih0aW1lbGluZUNvbnRyb2xsZXIpO1xyXG4gIGNvbnN0IHBvcHVwVGV4dCA9IG5ldyBQb3B1cFRleHQob3B0aW9ucywgdGltZWxpbmVMb2FkZXIsIHJhaWRib3NzRmlsZURhdGEpO1xyXG5cclxuICAvLyBDb25uZWN0IHRoZSB0aW1lbGluZXMgdG8gdGhlIHBvcHVwIHRleHQsIGlmIGFsZXJ0cyBhcmUgZGVzaXJlZC5cclxuICBpZiAob3B0aW9ucy5BbGVydHNFbmFibGVkKVxyXG4gICAgdGltZWxpbmVDb250cm9sbGVyLlNldFBvcHVwVGV4dEludGVyZmFjZShuZXcgUG9wdXBUZXh0R2VuZXJhdG9yKHBvcHVwVGV4dCkpO1xyXG5cclxuICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uTG9nRXZlbnQnLCAoZSkgPT4ge1xyXG4gICAgdGltZWxpbmVDb250cm9sbGVyLk9uTG9nRXZlbnQoZSk7XHJcbiAgfSk7XHJcbn0pO1xyXG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtzXG4vLyB1bmRlZmluZWQgPSBjaHVuayBub3QgbG9hZGVkLCBudWxsID0gY2h1bmsgcHJlbG9hZGVkL3ByZWZldGNoZWRcbi8vIFtyZXNvbHZlLCByZWplY3QsIFByb21pc2VdID0gY2h1bmsgbG9hZGluZywgMCA9IGNodW5rIGxvYWRlZFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0MzE5OiAwXG59O1xuXG4vLyBubyBjaHVuayBvbiBkZW1hbmQgbG9hZGluZ1xuXG4vLyBubyBwcmVmZXRjaGluZ1xuXG4vLyBubyBwcmVsb2FkZWRcblxuLy8gbm8gSE1SXG5cbi8vIG5vIEhNUiBtYW5pZmVzdFxuXG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8uaiA9IChjaHVua0lkKSA9PiAoaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID09PSAwKTtcblxuLy8gaW5zdGFsbCBhIEpTT05QIGNhbGxiYWNrIGZvciBjaHVuayBsb2FkaW5nXG52YXIgd2VicGFja0pzb25wQ2FsbGJhY2sgPSAocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24sIGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Ly8gYWRkIFwibW9yZU1vZHVsZXNcIiB0byB0aGUgbW9kdWxlcyBvYmplY3QsXG5cdC8vIHRoZW4gZmxhZyBhbGwgXCJjaHVua0lkc1wiIGFzIGxvYWRlZCBhbmQgZmlyZSBjYWxsYmFja1xuXHR2YXIgbW9kdWxlSWQsIGNodW5rSWQsIGkgPSAwO1xuXHRpZihjaHVua0lkcy5zb21lKChpZCkgPT4gKGluc3RhbGxlZENodW5rc1tpZF0gIT09IDApKSkge1xuXHRcdGZvcihtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYocnVudGltZSkgdmFyIHJlc3VsdCA9IHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdH1cblx0aWYocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24pIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xuXHRmb3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuXHRcdGNodW5rSWQgPSBjaHVua0lkc1tpXTtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oaW5zdGFsbGVkQ2h1bmtzLCBjaHVua0lkKSAmJiBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkXVswXSgpO1xuXHRcdH1cblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHNbaV1dID0gMDtcblx0fVxuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHJlc3VsdCk7XG59XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rY2FjdGJvdFwiXSA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtjYWN0Ym90XCJdIHx8IFtdO1xuY2h1bmtMb2FkaW5nR2xvYmFsLmZvckVhY2god2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLCAwKSk7XG5jaHVua0xvYWRpbmdHbG9iYWwucHVzaCA9IHdlYnBhY2tKc29ucENhbGxiYWNrLmJpbmQobnVsbCwgY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpKTsiLCIiLCIvLyBzdGFydHVwXG4vLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGRlcGVuZHMgb24gb3RoZXIgbG9hZGVkIGNodW5rcyBhbmQgZXhlY3V0aW9uIG5lZWQgdG8gYmUgZGVsYXllZFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbODkwXSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oNDI2NikpKVxuX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcbiIsIiJdLCJuYW1lcyI6WyJ0YXJnZXRJc1lvdSIsImRhdGEiLCJtYXRjaGVzIiwibWUiLCJ0YXJnZXQiLCJ0YXJnZXRJc05vdFlvdSIsImNhcmVzQWJvdXRBT0UiLCJyb2xlIiwiQ2FuQWRkbGUiLCJqb2IiLCJjYXJlc0Fib3V0TWFnaWNhbCIsImNhcmVzQWJvdXRQaHlzaWNhbCIsIkNhbkZlaW50IiwibGFuZ3VhZ2VzIiwibGFuZ01hcCIsImVuIiwiZGUiLCJmciIsImphIiwiY24iLCJrbyIsImlzTGFuZyIsImxhbmciLCJsYW5nU3RycyIsImluY2x1ZGVzIiwibGFuZ1RvTG9jYWxlIiwibG9nRGVmaW5pdGlvbnMiLCJHYW1lTG9nIiwidHlwZSIsIm5hbWUiLCJtZXNzYWdlVHlwZSIsImZpZWxkcyIsInRpbWVzdGFtcCIsImNvZGUiLCJsaW5lIiwic3ViRmllbGRzIiwiY2FuQW5vbnltaXplIiwiQ2hhbmdlWm9uZSIsImlkIiwibGFzdEluY2x1ZGUiLCJDaGFuZ2VkUGxheWVyIiwicGxheWVySWRzIiwiQWRkZWRDb21iYXRhbnQiLCJsZXZlbCIsIm93bmVySWQiLCJ3b3JsZElkIiwid29ybGQiLCJucGNOYW1lSWQiLCJucGNCYXNlSWQiLCJjdXJyZW50SHAiLCJocCIsImN1cnJlbnRNcCIsIm1wIiwieCIsInkiLCJ6IiwiaGVhZGluZyIsIlJlbW92ZWRDb21iYXRhbnQiLCJvd25lciIsIlBhcnR5TGlzdCIsInBhcnR5Q291bnQiLCJpZDAiLCJpZDEiLCJpZDIiLCJpZDMiLCJpZDQiLCJpZDUiLCJpZDYiLCJpZDciLCJpZDgiLCJpZDkiLCJpZDEwIiwiaWQxMSIsImlkMTIiLCJpZDEzIiwiaWQxNCIsImlkMTUiLCJpZDE2IiwiaWQxNyIsImlkMTgiLCJpZDE5IiwiaWQyMCIsImlkMjEiLCJpZDIyIiwiaWQyMyIsIm9wdGlvbmFsRmllbGRzIiwiUGxheWVyU3RhdHMiLCJzdHJlbmd0aCIsImRleHRlcml0eSIsInZpdGFsaXR5IiwiaW50ZWxsaWdlbmNlIiwibWluZCIsInBpZXR5IiwiYXR0YWNrUG93ZXIiLCJkaXJlY3RIaXQiLCJjcml0aWNhbEhpdCIsImF0dGFja01hZ2ljUG90ZW5jeSIsImhlYWxNYWdpY1BvdGVuY3kiLCJkZXRlcm1pbmF0aW9uIiwic2tpbGxTcGVlZCIsInNwZWxsU3BlZWQiLCJ0ZW5hY2l0eSIsImxvY2FsQ29udGVudElkIiwiU3RhcnRzVXNpbmciLCJzb3VyY2VJZCIsInNvdXJjZSIsImFiaWxpdHkiLCJ0YXJnZXRJZCIsImNhc3RUaW1lIiwiQWJpbGl0eSIsImZsYWdzIiwiZGFtYWdlIiwidGFyZ2V0Q3VycmVudEhwIiwidGFyZ2V0TWF4SHAiLCJ0YXJnZXRDdXJyZW50TXAiLCJ0YXJnZXRNYXhNcCIsInRhcmdldFgiLCJ0YXJnZXRZIiwidGFyZ2V0WiIsInRhcmdldEhlYWRpbmciLCJtYXhIcCIsIm1heE1wIiwic2VxdWVuY2UiLCJmaXJzdFVua25vd25GaWVsZCIsIk5ldHdvcmtBT0VBYmlsaXR5IiwiTmV0d29ya0NhbmNlbEFiaWxpdHkiLCJyZWFzb24iLCJOZXR3b3JrRG9UIiwid2hpY2giLCJlZmZlY3RJZCIsIldhc0RlZmVhdGVkIiwiR2FpbnNFZmZlY3QiLCJlZmZlY3QiLCJkdXJhdGlvbiIsImNvdW50Iiwic291cmNlTWF4SHAiLCJIZWFkTWFya2VyIiwiTmV0d29ya1JhaWRNYXJrZXIiLCJvcGVyYXRpb24iLCJ3YXltYXJrIiwiTmV0d29ya1RhcmdldE1hcmtlciIsInRhcmdldE5hbWUiLCJMb3Nlc0VmZmVjdCIsIk5ldHdvcmtHYXVnZSIsImRhdGEwIiwiZGF0YTEiLCJkYXRhMiIsImRhdGEzIiwiTmV0d29ya1dvcmxkIiwiaXNVbmtub3duIiwiQWN0b3JDb250cm9sIiwiaW5zdGFuY2UiLCJjb21tYW5kIiwiTmFtZVRvZ2dsZSIsInRvZ2dsZSIsIlRldGhlciIsIkxpbWl0QnJlYWsiLCJ2YWx1ZUhleCIsImJhcnMiLCJOZXR3b3JrRWZmZWN0UmVzdWx0Iiwic2VxdWVuY2VJZCIsIlN0YXR1c0VmZmVjdCIsImpvYkxldmVsRGF0YSIsIk5ldHdvcmtVcGRhdGVIUCIsIk1hcCIsInJlZ2lvbk5hbWUiLCJwbGFjZU5hbWUiLCJwbGFjZU5hbWVTdWIiLCJTeXN0ZW1Mb2dNZXNzYWdlIiwicGFyYW0wIiwicGFyYW0xIiwicGFyYW0yIiwiUGFyc2VySW5mbyIsImdsb2JhbEluY2x1ZGUiLCJQcm9jZXNzSW5mbyIsIkRlYnVnIiwiUGFja2V0RHVtcCIsIlZlcnNpb24iLCJFcnJvciIsIk5vbmUiLCJhc3NlcnRMb2dEZWZpbml0aW9ucyIsImNvbnNvbGUiLCJhc3NlcnQiLCJSZWdleGVzIiwic2VwYXJhdG9yIiwibWF0Y2hEZWZhdWx0IiwibWFnaWNUcmFuc2xhdGlvblN0cmluZyIsIm1hZ2ljU3RyaW5nUmVnZXgiLCJrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbiIsImRlZmF1bHRQYXJhbXMiLCJpbmNsdWRlIiwiT2JqZWN0Iiwia2V5cyIsInBhcmFtcyIsInByb3AiLCJpbmRleCIsImVudHJpZXMiLCJwYXJhbSIsImZpZWxkIiwidmFsdWUiLCJwYXJzZUhlbHBlciIsImZ1bmNOYW1lIiwidmFsaWRGaWVsZHMiLCJwdXNoIiwidmFsaWRhdGVQYXJhbXMiLCJjYXB0dXJlIiwidHJ1ZUlmVW5kZWZpbmVkIiwiZmllbGRLZXlzIiwic29ydCIsImEiLCJiIiwicGFyc2VJbnQiLCJtYXhLZXlTdHIiLCJsZW5ndGgiLCJrZXkiLCJmaWVsZE5hbWUiLCJtYXhLZXkiLCJ0cmFuc1BhcmFtcyIsImZpbHRlciIsImsiLCJuZWVkc1RyYW5zbGF0aW9ucyIsIk5ldFJlZ2V4ZXMiLCJmbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwic3RyIiwibGFzdEtleSIsImtleVN0ciIsIm1pc3NpbmdGaWVsZHMiLCJKU09OIiwic3RyaW5naWZ5IiwiZmllbGRWYWx1ZSIsInRvU3RyaW5nIiwibWF5YmVDYXB0dXJlIiwicGFyc2UiLCJzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwiZG9lc05ldFJlZ2V4TmVlZFRyYW5zbGF0aW9uIiwicmVnZXgiLCJleGVjIiwic3RhcnRzVXNpbmciLCJhYmlsaXR5RnVsbCIsImhlYWRNYXJrZXIiLCJhZGRlZENvbWJhdGFudCIsImFkZGVkQ29tYmF0YW50RnVsbCIsInJlbW92aW5nQ29tYmF0YW50IiwiZ2FpbnNFZmZlY3QiLCJzdGF0dXNFZmZlY3RFeHBsaWNpdCIsImxvc2VzRWZmZWN0IiwidGV0aGVyIiwid2FzRGVmZWF0ZWQiLCJlY2hvIiwiZ2FtZUxvZyIsImRpYWxvZyIsIm1lc3NhZ2UiLCJnYW1lTmFtZUxvZyIsInN0YXRDaGFuZ2UiLCJjaGFuZ2Vab25lIiwibmV0d29yazZkIiwibmFtZVRvZ2dsZSIsIm1hcCIsInN5c3RlbUxvZ01lc3NhZ2UiLCJVbnJlYWNoYWJsZUNvZGUiLCJjb25zdHJ1Y3RvciIsIm51bWJlclRvT3V0cHV0U3RyaW5nIiwibiIsImFvZSIsImJpZ0FvZSIsInRhbmtCdXN0ZXIiLCJtaW5pQnVzdGVyIiwidGFua0J1c3Rlck9uUGxheWVyIiwidGFua0J1c3Rlck9uWW91IiwidGFua0J1c3RlcnMiLCJ0YW5rQ2xlYXZlIiwiYXZvaWRUYW5rQ2xlYXZlIiwidGFua0NsZWF2ZU9uWW91Iiwic2hhcmVkVGFua2J1c3RlciIsInNoYXJlZFRhbmtidXN0ZXJPbllvdSIsInNoYXJlZFRhbmtidXN0ZXJPblBsYXllciIsInRhbmtTd2FwIiwic3ByZWFkIiwic3RhY2tNYXJrZXIiLCJnZXRUb2dldGhlciIsInN0YWNrT25Zb3UiLCJzdGFja09uUGxheWVyIiwic3RhY2tNaWRkbGUiLCJkb3JpdG9TdGFjayIsInNwcmVhZFRoZW5TdGFjayIsInN0YWNrVGhlblNwcmVhZCIsImRyYXdJbiIsImtub2NrYmFjayIsImtub2NrYmFja09uWW91Iiwia25vY2tiYWNrT25QbGF5ZXIiLCJsb29rVG93YXJkc0Jvc3MiLCJsb29rQXdheSIsImxvb2tBd2F5RnJvbVBsYXllciIsImxvb2tBd2F5RnJvbVRhcmdldCIsImdldEJlaGluZCIsImdvRnJvbnRPclNpZGVzIiwiZ29Gcm9udCIsImdldFVuZGVyIiwiaW4iLCJvdXQiLCJvdXRPZk1lbGVlIiwiaW5UaGVuT3V0Iiwib3V0VGhlbkluIiwiYmFja1RoZW5Gcm9udCIsImZyb250VGhlbkJhY2siLCJnb0ludG9NaWRkbGUiLCJyaWdodCIsImxlZnQiLCJnZXRMZWZ0QW5kV2VzdCIsImdldFJpZ2h0QW5kRWFzdCIsImdvRnJvbnRCYWNrIiwic2lkZXMiLCJtaWRkbGUiLCJraWxsQWRkcyIsImtpbGxFeHRyYUFkZCIsImF3YXlGcm9tRnJvbnQiLCJzbGVlcFRhcmdldCIsInN0dW5UYXJnZXQiLCJpbnRlcnJ1cHRUYXJnZXQiLCJwcmV5T25Zb3UiLCJwcmV5T25QbGF5ZXIiLCJhd2F5RnJvbUdyb3VwIiwiYXdheUZyb21QbGF5ZXIiLCJtZXRlb3JPbllvdSIsInN0b3BNb3ZpbmciLCJzdG9wRXZlcnl0aGluZyIsIm1vdmVBd2F5IiwibW92ZUFyb3VuZCIsImJyZWFrQ2hhaW5zIiwibW92ZUNoYWluc1RvZ2V0aGVyIiwiZWFydGhzaGFrZXJPbllvdSIsIndha2VVcCIsImNsb3NlVGV0aGVyc1dpdGhQbGF5ZXIiLCJmYXJUZXRoZXJzV2l0aFBsYXllciIsInVua25vd24iLCJub3J0aCIsInNvdXRoIiwiZWFzdCIsIndlc3QiLCJub3J0aHdlc3QiLCJub3J0aGVhc3QiLCJzb3V0aHdlc3QiLCJzb3V0aGVhc3QiLCJkaXJOIiwiZGlyUyIsImRpckUiLCJkaXJXIiwiZGlyTlciLCJkaXJORSIsImRpclNXIiwiZGlyU0UiLCJudW0wIiwibnVtMSIsIm51bTIiLCJudW0zIiwibnVtNCIsIm51bTUiLCJudW02IiwibnVtNyIsIm51bTgiLCJudW05IiwiaW5pdGVkIiwid3NVcmwiLCJ3cyIsInF1ZXVlIiwicnNlcUNvdW50ZXIiLCJyZXNwb25zZVByb21pc2VzIiwic3Vic2NyaWJlcnMiLCJzZW5kTWVzc2FnZSIsIm1zZyIsImNiIiwic2VuZCIsIndpbmRvdyIsIk92ZXJsYXlQbHVnaW5BcGkiLCJjYWxsSGFuZGxlciIsInByb2Nlc3NFdmVudCIsImluaXQiLCJzdWJzIiwiZm9yRWFjaCIsInN1YiIsImUiLCJlcnJvciIsImRpc3BhdGNoT3ZlcmxheUV2ZW50IiwiYWRkT3ZlcmxheUxpc3RlbmVyIiwiZXZlbnQiLCJjYWxsIiwiZXZlbnRzIiwicmVtb3ZlT3ZlcmxheUxpc3RlbmVyIiwibGlzdCIsInBvcyIsImluZGV4T2YiLCJ1bmRlZmluZWQiLCJzcGxpY2UiLCJjYWxsT3ZlcmxheUhhbmRsZXJJbnRlcm5hbCIsIl9tc2ciLCJyc2VxIiwicCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGFyc2VkIiwiY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXAiLCJjYWxsT3ZlcmxheUhhbmRsZXIiLCJjYWxsRnVuYyIsInNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUiLCJvdmVycmlkZSIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZ2V0IiwiY29ubmVjdFdzIiwiV2ViU29ja2V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxvZyIsInEiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9taXNlRnVuY3MiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckFwaSIsInJlYWR5IiwiX19PdmVybGF5Q2FsbGJhY2siLCJpdGVtIiwibWF0Y2hXaXRoQ29sb25zRGVmYXVsdCIsImZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMiLCJkZWZLZXkiLCJhYmlsaXR5TWVzc2FnZVR5cGUiLCJhYmlsaXR5SGV4Q29kZSIsInByZWZpeCIsImhleENvZGUiLCJzbGljZSIsInRvVXBwZXJDYXNlIiwiZmllbGREZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwiYW55T2YiLCJuYW1lZENhcHR1cmUiLCJvcHRpb25hbCIsImFyZ3MiLCJhbnlPZkFycmF5IiwiYXJyYXkiLCJlbGVtIiwiUmVnRXhwIiwiam9pbiIsInJlZ2V4cFN0cmluZyIsImtDYWN0Ym90Q2F0ZWdvcmllcyIsIlRpbWVzdGFtcCIsIk5ldFRpbWVzdGFtcCIsIk5ldEZpZWxkIiwiTG9nVHlwZSIsIkFiaWxpdHlDb2RlIiwiT2JqZWN0SWQiLCJOYW1lIiwiRmxvYXQiLCJtb2RpZmllcnMiLCJnbG9iYWwiLCJtdWx0aWxpbmUiLCJyZXBsYWNlIiwibWF0Y2giLCJncm91cCIsInBhcnNlR2xvYmFsIiwiZiIsIk91dHB1dHMiLCJzZXZlcml0eUxpc3QiLCJidWlsdEluUmVzcG9uc2VTdHIiLCJ0cmlnZ2VyRnVuY3Rpb25zIiwidHJpZ2dlclRleHRPdXRwdXRGdW5jdGlvbnMiLCJ0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zIiwic2V2ZXJpdHlNYXAiLCJnZXRUZXh0Iiwic2V2IiwiZGVmYXVsdEluZm9UZXh0IiwiZGVmYXVsdEFsZXJ0VGV4dCIsImRlZmF1bHRBbGFybVRleHQiLCJnZXRUYXJnZXQiLCJnZXRTb3VyY2UiLCJjb21iaW5lRnVuY3MiLCJ0ZXh0MSIsImZ1bmMxIiwidGV4dDIiLCJmdW5jMiIsIm9iaiIsIm91dHB1dCIsImlzUGxheWVySWQiLCJzdGF0aWNSZXNwb25zZSIsInRleHQiLCJfZGF0YSIsIl9tYXRjaGVzIiwicmVzcG9uc2VPdXRwdXRTdHJpbmdzIiwiUmVzcG9uc2VzIiwidGFyZ2V0U2V2Iiwib3RoZXJTZXYiLCJvdXRwdXRTdHJpbmdzIiwibm9UYXJnZXQiLCJidXN0ZXJPbllvdSIsImJ1c3Rlck9uVGFyZ2V0IiwidGFyZ2V0RnVuYyIsIm90aGVyRnVuYyIsInBsYXllciIsIlNob3J0TmFtZSIsImNvbWJpbmVkIiwidGFua0J1c3RlclN3YXAiLCJidXN0ZXJTZXYiLCJzd2FwU2V2IiwidGFua1N3YXBGdW5jIiwiYnVzdGVyRnVuYyIsImNsZWF2ZU9uWW91IiwiY2xlYXZlTm9UYXJnZXQiLCJhdm9pZENsZWF2ZSIsInNoYXJlZFRhbmtCdXN0ZXIiLCJzaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQiLCJzdGFja01hcmtlck9uIiwic3RhY2tPblRhcmdldCIsImtub2NrYmFja09uIiwia25vY2tiYWNrT25UYXJnZXQiLCJsb29rVG93YXJkcyIsImxvb2tBd2F5RnJvbSIsImxvb2tBd2F5RnJvbVNvdXJjZSIsImdldEluIiwiZ2V0T3V0IiwiZ2V0SW5UaGVuT3V0IiwiZ2V0T3V0VGhlbkluIiwiZ2V0QmFja1RoZW5Gcm9udCIsImdldEZyb250VGhlbkJhY2siLCJnb01pZGRsZSIsImdvUmlnaHQiLCJnb0xlZnQiLCJnb1dlc3QiLCJnb0Vhc3QiLCJnb1NpZGVzIiwic2xlZXAiLCJzdHVuT3JJbnRlcnJ1cHRJZlBvc3NpYmxlIiwic3R1biIsImludGVycnVwdCIsIkNhblNpbGVuY2UiLCJDYW5TdHVuIiwicHJleU9uIiwicHJleU9uVGFyZ2V0IiwiYXdheUZyb20iLCJhd2F5RnJvbVRhcmdldCIsImVhcnRoc2hha2VyIiwicmVzcG9uc2VNYXBUeXBlQXNzZXJ0aW9uIiwiX0NvbmRpdGlvbnMiLCJDb25kaXRpb25zIiwiX0NvbnRlbnRUeXBlIiwiQ29udGVudFR5cGUiLCJfTmV0UmVnZXhlcyIsIl9SZWdleGVzIiwiX1Jlc3BvbnNlcyIsIl9PdXRwdXRzIiwiX1V0aWwiLCJVdGlsIiwiX1pvbmVJZCIsIlpvbmVJZCIsIl9ab25lSW5mbyIsIlpvbmVJbmZvIiwiVXNlckNvbmZpZyIsImdldERlZmF1bHRCYXNlT3B0aW9ucyIsIlBhcnNlckxhbmd1YWdlIiwiU2hvcnRMb2NhbGUiLCJEaXNwbGF5TGFuZ3VhZ2UiLCJUZXh0QWxlcnRzRW5hYmxlZCIsIlNvdW5kQWxlcnRzRW5hYmxlZCIsIlNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJHcm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJldmFsVXNlckZpbGUiLCJjb250ZW50Iiwib3B0aW9ucyIsIk9wdGlvbnMiLCJldmFsIiwicmVnaXN0ZXJPcHRpb25zIiwib3ZlcmxheU5hbWUiLCJvcHRpb25UZW1wbGF0ZSIsInVzZXJGaWxlQ2FsbGJhY2siLCJvcHRpb25UZW1wbGF0ZXMiLCJ1c2VyRmlsZUNhbGxiYWNrcyIsInNvcnRVc2VyRmlsZXMiLCJzcGxpdEtleU1hcCIsInNwbGl0Iiwia2V5QSIsImtleUIiLCJsaXN0QSIsImxpc3RCIiwibWF4TGVuIiwiTWF0aCIsIm1heCIsImlkeCIsImVudHJ5QSIsImVudHJ5QiIsImlzTGFzdEEiLCJpc0xhc3RCIiwiZmlsZUEiLCJmaWxlQiIsImZpbGVuYW1lT25seURpZmYiLCJsb2NhbGVDb21wYXJlIiwiZGlmZiIsImZpbHRlclVzZXJGaWxlcyIsInBhdGhzIiwib3JpZ092ZXJsYXlOYW1lIiwib3JpZ0V4dGVuc2lvbiIsImV4dGVuc2lvbiIsInRvTG93ZXJDYXNlIiwib3JpZ1BhdGgiLCJwYXRoIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwiZ2V0VXNlckNvbmZpZ0xvY2F0aW9uIiwiY2FsbGJhY2siLCJjdXJyZW50bHlSZWxvYWRpbmciLCJyZWxvYWRPbmNlIiwicmVsb2FkIiwibG9hZFVzZXJGaWxlcyIsInJlYWRPcHRpb25zIiwib3ZlcmxheSIsImxvYWRVc2VyIiwiYmFzZVBhdGgiLCJkZXRhaWwiLCJ1c2VyTG9jYXRpb24iLCJsb2NhbEZpbGVzIiwibG9jYWxVc2VyRmlsZXMiLCJsYW5ndWFnZSIsInBhcnNlckxhbmd1YWdlIiwiTGFuZ3VhZ2UiLCJzeXN0ZW1Mb2NhbGUiLCJTeXN0ZW1Mb2NhbGUiLCJzaG9ydExvY2FsZSIsInN1YnN0cmluZyIsImRpc3BsYXlMYW5nIiwiZGlzcGxheUxhbmd1YWdlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGFzc0xpc3QiLCJhZGQiLCJhZGRVbmxvY2tUZXh0Iiwic2F2ZWRDb25maWciLCJwcm9jZXNzT3B0aW9ucyIsInByaW50VXNlckZpbGUiLCJ3YXJuT25WYXJpYWJsZVJlc2V0TWFwIiwicmFpZGJvc3MiLCJ2YXJpYWJsZVRyYWNrZXIiLCJzb3J0ZWRGaWxlcyIsImpzRmlsZXMiLCJjc3NGaWxlcyIsImpzRmlsZSIsIlNraW4iLCJoYW5kbGVTa2luIiwiY3NzRmlsZSIsInVzZXJDc3NUZXh0IiwiY3JlYXRlRWxlbWVudCIsImNvbnRlbnRzIiwiaW5uZXJUZXh0IiwiaGVhZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiYXBwZW5kQ2hpbGQiLCJocmVmIiwidGhlbiIsInJlYWR5U3RhdGUiLCJza2luTmFtZSIsInNsYXNoSWR4IiwibGFzdEluZGV4T2YiLCJzdWJzdHIiLCJza2luSHJlZiIsImFwcGVuZENTU0xpbmsiLCJhcHBlbmRKU0xpbmsiLCJzcmMiLCJ1c2VySlMiLCJzZXRBdHRyaWJ1dGUiLCJ1c2VyQ1NTIiwidGVtcGxhdGUiLCJ0ZW1wbGF0ZU9wdGlvbnMiLCJvcHQiLCJkZWZhdWx0IiwibmV3VmFsdWUiLCJzZXR0ZXJGdW5jIiwiZmxvb3IiLCJwYXJzZUZsb2F0IiwicHJvY2Vzc0V4dHJhT3B0aW9ucyIsInVubG9ja1RleHQiLCJ0ZXh0RWxlbSIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJkaXNwbGF5IiwiYm9keSIsImFwcGVuZCIsImlubmVySFRNTCIsImRvY0NsYXNzTGlzdCIsImlzTG9ja2VkIiwicmVtb3ZlIiwibmFtZVRvSm9iRW51bSIsIk5PTkUiLCJHTEEiLCJQR0wiLCJNUkQiLCJMTkMiLCJBUkMiLCJDTkoiLCJUSE0iLCJDUlAiLCJCU00iLCJBUk0iLCJHU00iLCJMVFciLCJXVlIiLCJBTEMiLCJDVUwiLCJNSU4iLCJCVE4iLCJGU0giLCJQTEQiLCJNTksiLCJXQVIiLCJEUkciLCJCUkQiLCJXSE0iLCJCTE0iLCJBQ04iLCJTTU4iLCJTQ0giLCJST0ciLCJOSU4iLCJNQ0giLCJEUksiLCJBU1QiLCJTQU0iLCJSRE0iLCJCTFUiLCJHTkIiLCJETkMiLCJSUFIiLCJTR0UiLCJhbGxKb2JzIiwiYWxsUm9sZXMiLCJ0YW5rSm9icyIsImhlYWxlckpvYnMiLCJtZWxlZURwc0pvYnMiLCJyYW5nZWREcHNKb2JzIiwiY2FzdGVyRHBzSm9icyIsImRwc0pvYnMiLCJjcmFmdGluZ0pvYnMiLCJnYXRoZXJpbmdKb2JzIiwic3R1bkpvYnMiLCJzaWxlbmNlSm9icyIsInNsZWVwSm9icyIsImZlaW50Sm9icyIsImFkZGxlSm9icyIsImNsZWFuc2VKb2JzIiwiam9iVG9Sb2xlTWFwIiwiYWRkVG9NYXAiLCJqb2JzIiwic2V0Iiwid2F0Y2hDb21iYXRhbnRNYXAiLCJzaG91bGRDYW5jZWxXYXRjaCIsImVudHJ5IiwiY2FuY2VsIiwibWF4RHVyYXRpb24iLCJEYXRlIiwibm93Iiwic3RhcnQiLCJ3YXRjaENvbWJhdGFudCIsImZ1bmMiLCJyZXMiLCJyZWoiLCJkZWxheSIsImlkcyIsIm5hbWVzIiwicHJvcHMiLCJjaGVja0Z1bmMiLCJyZXNwb25zZSIsImpvYkVudW1Ub0pvYiIsImZpbmQiLCJqb2JUb0pvYkVudW0iLCJqb2JUb1JvbGUiLCJnZXRBbGxSb2xlcyIsImlzVGFua0pvYiIsImlzSGVhbGVySm9iIiwiaXNNZWxlZURwc0pvYiIsImlzUmFuZ2VkRHBzSm9iIiwiaXNDYXN0ZXJEcHNKb2IiLCJpc0Rwc0pvYiIsImlzQ3JhZnRpbmdKb2IiLCJpc0dhdGhlcmluZ0pvYiIsImlzQ29tYmF0Sm9iIiwiY2FuU3R1biIsImNhblNpbGVuY2UiLCJjYW5TbGVlcCIsImNhbkNsZWFuc2UiLCJjYW5GZWludCIsImNhbkFkZGxlIiwiY2xlYXJXYXRjaENvbWJhdGFudHMiLCJ3YXRjaCIsInBvcCIsImFkZFBsYXllckNoYW5nZWRPdmVycmlkZUxpc3RlbmVyIiwicGxheWVyTmFtZSIsImxhc3RQbGF5ZXJDaGFuZ2VkRXZlbnQiLCJsYXN0UGxheWVySm9iIiwib25QbGF5ZXJDaGFuZ2VkIiwicGFydHkiLCJuZXdKb2IiLCJhZGRSZW1vdGVQbGF5ZXJTZWxlY3RVSSIsImluc3RydWN0aW9uVGV4dEJ5TGFuZyIsImZvcmNlVFRTQnlMYW5nIiwiYnV0dG9uVGV4dEJ5TGFuZyIsImRlZmF1bHRUZXh0QnlMYW5nIiwia1N0b3JhZ2VLZXkiLCJzYXZlUGxheWVyTmFtZSIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJsb2FkUGxheWVyTmFtZSIsImdldEl0ZW0iLCJjb250YWluZXIiLCJpbnN0cnVjdGlvbkVsZW0iLCJsaXN0RWxlbSIsInR0c0VsZW0iLCJ0dHNMYWJlbCIsImh0bWxGb3IiLCJidXR0b25FbGVtIiwiZm9yY2VUVFMiLCJjaGVja2VkIiwicmFkaW9JbmRleCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50UGFyYW1zIiwicGFyYW1NYXAiLCJ2IiwiZGVjb2RlVVJJQ29tcG9uZW50IiwibGFzdFNlbGVjdGVkUGxheWVyIiwiYnVpbGRMaXN0IiwiZmlyc3RDaGlsZCIsImxhc3RDaGlsZCIsInJlbW92ZUNoaWxkIiwicmFkaW9Db3VudCIsImFkZFJhZGlvIiwiZXh0cmFDbGFzcyIsImlucHV0TmFtZSIsImlucHV0RWxlbSIsImxhYmVsRWxlbSIsImRlZmF1bHRUZXh0IiwiZGVmYXVsdEVsZW0iLCJsYXN0IiwicGFydHlQbGF5ZXJzIiwiaW5QYXJ0eSIsInBhcnR5TmFtZXMiLCJhbGxpYW5jZVBsYXllcnMiLCJhbGxpYW5jZU5hbWVzIiwiZW1wdHlSb2xlVG9QYXJ0eU5hbWVzIiwidGFuayIsImhlYWxlciIsImRwcyIsImNyYWZ0ZXIiLCJnYXRoZXJlciIsIm5vbmUiLCJQYXJ0eVRyYWNrZXIiLCJvblBhcnR5Q2hhbmdlZCIsInJlc2V0IiwiZGV0YWlscyIsImFsbGlhbmNlSWRzXyIsImFsbGlhbmNlTmFtZXNfIiwiam9iTmFtZSIsImlkVG9OYW1lXyIsIm5hbWVUb1JvbGVfIiwicGFydHlJZHNfIiwicGFydHlOYW1lc18iLCJyb2xlVG9QYXJ0eU5hbWVzXyIsInBhcnR5SWRzIiwidGFua05hbWVzIiwiaGVhbGVyTmFtZXMiLCJkcHNOYW1lcyIsImlzUm9sZSIsImlzVGFuayIsImlzSGVhbGVyIiwiaXNEUFMiLCJpbkFsbGlhbmNlIiwib3RoZXJUYW5rIiwib3RoZXJIZWFsZXIiLCJwYXJ0eUluZGV4IiwibmFtZUZyb21JZCIsIkF1dG9wbGF5SGVscGVyIiwiQ2hlY2tJZkFscmVhZHlSdW5uaW5nIiwiY29udGV4dCIsIkF1ZGlvQ29udGV4dCIsInN0YXRlIiwiUHJvbXB0IiwiYnV0dG9uIiwib25jbGljayIsInJlc3VtZSIsIm9uc3RhdGVjaGFuZ2UiLCJDaGVja0FuZFByb21wdCIsIlRUU0l0ZW0iLCJ2b2ljZSIsIlNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsInBsYXkiLCJzcGVlY2hTeW50aGVzaXMiLCJzcGVhayIsIkJyb3dzZXJUVFNFbmdpbmUiLCJjYWN0Ym90TGFuZ1RvU3BlZWNoTGFuZyIsIm9udm9pY2VzY2hhbmdlZCIsInNwZWVjaExhbmciLCJnZXRWb2ljZXMiLCJzcGVlY2hWb2ljZSIsInR0c0l0ZW0iLCJ0dHNJdGVtcyIsImlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlciIsInRyaWdnZXIiLCJpc05ldFJlZ2V4VHJpZ2dlciIsImlzUmVnZXhUcmlnZ2VyIiwicmFpZGJvc3NJbnN0cnVjdGlvbnMiLCJ0cmlnZ2VyVXBwZXJDYXNlIiwib25UcmlnZ2VyRXhjZXB0aW9uIiwiZmlsZW5hbWUiLCJsaW5lcyIsInN0YWNrIiwiaSIsInNvdW5kcyIsInNvdW5kU3RycyIsInRleHRzIiwidGV4dE1hcCIsImluZm8iLCJ1cHBlclRleHQiLCJ1cHBlclNvdW5kIiwidXBwZXJTb3VuZFZvbHVtZSIsInJ1bWJsZUR1cmF0aW9uIiwicnVtYmxlV2VhayIsInJ1bWJsZVN0cm9uZyIsImFsZXJ0IiwiYWxhcm0iLCJPcmRlcmVkVHJpZ2dlckxpc3QiLCJpZFRvSW5kZXgiLCJvbGRUcmlnZ2VyIiwidHJpZ2dlcnMiLCJ0cmlnZ2VyRmlsZSIsIm9sZEZpbGUiLCJuZXdGaWxlIiwiYXNMaXN0IiwiaXNPYmplY3QiLCJUcmlnZ2VyT3V0cHV0UHJveHkiLCJwZXJUcmlnZ2VyQXV0b0NvbmZpZyIsImNvbmZpZyIsIk91dHB1dFN0cmluZ3MiLCJvdmVycmlkZVN0cmluZ3MiLCJQcm94eSIsInByb3BlcnR5IiwiU3RyaW5nIiwiZ2V0UmVwbGFjZW1lbnQiLCJyZXNwb25zZVN0cmluZyIsInVua25vd25WYWx1ZSIsIl9mdWxsTWF0Y2giLCJtYWtlT3V0cHV0IiwiZGVmYXVsdE91dHB1dCIsIlBvcHVwVGV4dCIsInRpbWVsaW5lTG9hZGVyIiwicmFpZGJvc3NEYXRhRmlsZXMiLCJQcm9jZXNzRGF0YUZpbGVzIiwiaW5mb1RleHQiLCJhbGVydFRleHQiLCJhbGFybVRleHQiLCJwYXJzZXJMYW5nIiwiQWxlcnRzTGFuZ3VhZ2UiLCJJc1JlbW90ZVJhaWRib3NzIiwidHRzRW5naW5lIiwidHRzU2F5IiwiVHJhbnNmb3JtVHRzIiwiZ2V0RGF0YU9iamVjdCIsIkF1ZGlvQWxsb3dlZCIsIlJlc2V0IiwiQWRkRGVidWdJbnN0cnVjdGlvbnMiLCJIb29rT3ZlcmxheXMiLCJwYXJ0eVRyYWNrZXIiLCJPblBsYXllckNoYW5nZSIsIlBsYXllck5hbWVPdmVycmlkZSIsIk9uQ2hhbmdlWm9uZSIsIk9uSW5Db21iYXRDaGFuZ2UiLCJpbkdhbWVDb21iYXQiLCJPbkxvZyIsIk9uTmV0TG9nIiwiT25Kb2JDaGFuZ2UiLCJjdXJyZW50SFAiLCJmaWxlcyIsInRyaWdnZXJTZXRzIiwianNvbiIsInByb2Nlc3NlZFNldCIsIlRyaWdnZXJzIiwiem9uZU5hbWUiLCJ6b25lSWQiLCJ6b25lSUQiLCJSZWxvYWRUaW1lbGluZXMiLCJJc1JlYWR5IiwibmV0VHJpZ2dlcnMiLCJ0aW1lbGluZUZpbGVzIiwidGltZWxpbmVzIiwicmVwbGFjZW1lbnRzIiwidGltZWxpbmVTdHlsZXMiLCJyZXNldFdoZW5PdXRPZkNvbWJhdCIsIm9yZGVyZWRUcmlnZ2VycyIsImFkZFRpbWVsaW5lIiwib2JqVmFsIiwiYmluZCIsImxhbmdTdWZmaXgiLCJjaGFyQXQiLCJyZWdleFBhcnNlckxhbmciLCJuZXRSZWdleFBhcnNlckxhbmciLCJoYXZlWm9uZVJlZ2V4IiwiaGF2ZVpvbmVJZCIsIk1hdGNoQWxsIiwiem9uZVJlZ2V4IiwicGFyc2VyTGFuZ1JlZ2V4Iiwic2V0RmlsZW5hbWUiLCJpbml0RGF0YSIsImRhdGFJbml0aWFsaXplcnMiLCJmaWxlIiwiQWxlcnRzRW5hYmxlZCIsIlByb2Nlc3NUcmlnZ2VyIiwiZm91bmQiLCJ0cmlnZ2VyT2JqZWN0IiwibG9jYWxSZWdleCIsIm5ldFJlZ2V4IiwibG9jYWxOZXRSZWdleCIsIm92ZXJyaWRlVGltZWxpbmVGaWxlIiwidGltZWxpbmVGaWxlIiwiZGlyIiwidGltZWxpbmUiLCJ0aW1lbGluZVJlcGxhY2UiLCJ0aW1lbGluZVRyaWdnZXJzIiwiaXNUaW1lbGluZVRyaWdnZXIiLCJmaWx0ZXJFbmFibGVkIiwiZGlzYWJsZWQiLCJhbGxUcmlnZ2VycyIsIlNldFRpbWVsaW5lcyIsIlBlclRyaWdnZXJBdXRvQ29uZmlnIiwiaW5Db21iYXQiLCJTZXRJbkNvbWJhdCIsIlN0b3BUaW1lcnMiLCJTdG9wQ29tYmF0IiwiU2hvcnROYW1pZnkiLCJuaWNrIiwiUGxheWVyTmlja3MiLCJ0cmlnZ2VyU3VwcHJlc3MiLCJpbml0T2JqIiwidGltZXJzIiwiY3VycmVudFRpbWUiLCJsb2dzIiwiciIsIk9uVHJpZ2dlciIsInJhd0xpbmUiLCJPblRyaWdnZXJJbnRlcm5hbCIsIl9vblRyaWdnZXJJbnRlcm5hbENoZWNrU3VwcHJlc3NlZCIsImdyb3VwcyIsInRyaWdnZXJIZWxwZXIiLCJfb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIiLCJfb25UcmlnZ2VySW50ZXJuYWxDb25kaXRpb24iLCJfb25UcmlnZ2VySW50ZXJuYWxQcmVSdW4iLCJkZWxheVByb21pc2UiLCJfb25UcmlnZ2VySW50ZXJuYWxEZWxheVNlY29uZHMiLCJfb25UcmlnZ2VySW50ZXJuYWxEdXJhdGlvblNlY29uZHMiLCJfb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHMiLCJ0cmlnZ2VyUG9zdERlbGF5IiwicHJvbWlzZSIsIl9vblRyaWdnZXJJbnRlcm5hbFByb21pc2UiLCJ0cmlnZ2VyUG9zdFByb21pc2UiLCJfb25UcmlnZ2VySW50ZXJuYWxTb3VuZCIsIl9vblRyaWdnZXJJbnRlcm5hbFNvdW5kVm9sdW1lIiwiX29uVHJpZ2dlckludGVybmFsUmVzcG9uc2UiLCJfb25UcmlnZ2VySW50ZXJuYWxBbGFybVRleHQiLCJfb25UcmlnZ2VySW50ZXJuYWxBbGVydFRleHQiLCJfb25UcmlnZ2VySW50ZXJuYWxJbmZvVGV4dCIsIl9vblRyaWdnZXJJbnRlcm5hbFJ1bWJsZSIsIl9vblRyaWdnZXJJbnRlcm5hbFRUUyIsIl9vblRyaWdnZXJJbnRlcm5hbFBsYXlBdWRpbyIsIl9vblRyaWdnZXJJbnRlcm5hbFJ1biIsInN1cHByZXNzZWQiLCJQZXJUcmlnZ2VyT3B0aW9ucyIsIkRpc2FibGVkVHJpZ2dlcnMiLCJ0cmlnZ2VyT3B0aW9ucyIsInRyaWdnZXJBdXRvQ29uZmlnIiwidXNlclN1cHByZXNzZWRPdXRwdXQiLCJ0ZXh0QWxlcnRzRW5hYmxlZCIsInNvdW5kQWxlcnRzRW5hYmxlZCIsInNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJ2YWx1ZU9yRnVuY3Rpb24iLCJyZXN1bHQiLCJfb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyIsIndoZW4iLCJzdXBwcmVzcyIsImNvbmRpdGlvbiIsIkNvbmRpdGlvbiIsIlRleHRBbGVydCIsIlNvdW5kQWxlcnQiLCJTcGVlY2hBbGVydCIsIkdyb3VwU3BlZWNoQWxlcnQiLCJwcmVSdW4iLCJkZWxheVNlY29uZHMiLCJ0cmlnZ2VySUQiLCJjdXJyZW50VHJpZ2dlcklEIiwidmFsdWVEdXJhdGlvbiIsImR1cmF0aW9uU2Vjb25kcyIsImZyb21Db25maWciLCJEdXJhdGlvbiIsImZyb21UcmlnZ2VyIiwiRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHMiLCJEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kcyIsIkRpc3BsYXlJbmZvVGV4dEZvclNlY29uZHMiLCJzdXBwcmVzc1NlY29uZHMiLCJzb3VuZCIsInNvdW5kVXJsIiwic291bmRWb2x1bWUiLCJ0cmlnZ2VyU291bmRWb2wiLCJfYWRkVGV4dEZvciIsIlJ1bWJsZUVuYWJsZWQiLCJuYXZpZ2F0b3IiLCJnZXRHYW1lcGFkcyIsImdwIiwiZ2FtZXBhZCIsInZpYnJhdGlvbkFjdHVhdG9yIiwicGxheUVmZmVjdCIsInN0YXJ0RGVsYXkiLCJydW1ibGVEdXJhdGlvbk1zIiwid2Vha01hZ25pdHVkZSIsInN0cm9uZ01hZ25pdHVkZSIsInR0c1RleHQiLCJUVFNUZXh0IiwidHRzIiwicmVzcCIsImRlZmF1bHRUVFNUZXh0IiwibmFtZWRTb3VuZCIsIm5hbWVkU291bmRWb2x1bWUiLCJzb3VuZFZvbCIsIlNvdW5kT3ZlcnJpZGUiLCJWb2x1bWVPdmVycmlkZSIsImFycm93UmVwbGFjZW1lbnQiLCJfcGxheUF1ZGlvRmlsZSIsInJ1biIsIl9jcmVhdGVUZXh0Rm9yIiwidGV4dFR5cGUiLCJsb3dlclRleHRLZXkiLCJ0ZXh0RWxlbWVudENsYXNzIiwiaG9sZGVyIiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsImRpdiIsIl9tYWtlVGV4dEVsZW1lbnQiLCJjaGlsZHJlbiIsImtNYXhSb3dzT2ZUZXh0IiwiY29udGFpbnMiLCJ1cHBlclRleHRLZXkiLCJ0ZXh0T2JqIiwidHJpbSIsIl90cmlnZ2VySGVscGVyIiwiY2xhc3NOYW1lIiwidXJsIiwidm9sdW1lIiwiYXVkaW8iLCJBdWRpbyIsInByZXNlcnZlSFAiLCJQYXJzZUxvY2FsZUZsb2F0IiwiQ2FuU2xlZXAiLCJDYW5DbGVhbnNlIiwiUG9wdXBUZXh0R2VuZXJhdG9yIiwicG9wdXBUZXh0IiwiSW5mbyIsIkFsZXJ0IiwiQWxhcm0iLCJUVFMiLCJUcmlnZ2VyIiwiZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyIsIkluZm9Tb3VuZCIsIkFsZXJ0U291bmQiLCJBbGFybVNvdW5kIiwiTG9uZ1NvdW5kIiwiUHVsbFNvdW5kIiwiUGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwidCIsImRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMiLCJEZWZhdWx0QWxlcnRPdXRwdXQiLCJUaW1lbGluZUxhbmd1YWdlIiwiVGltZWxpbmVFbmFibGVkIiwiU2hvd1RpbWVyQmFyc0F0U2Vjb25kcyIsIktlZXBFeHBpcmVkVGltZXJCYXJzRm9yU2Vjb25kcyIsIkJhckV4cGlyZXNTb29uU2Vjb25kcyIsIk1heE51bWJlck9mVGltZXJCYXJzIiwiQWxhcm1Tb3VuZFZvbHVtZSIsIkFsZXJ0U291bmRWb2x1bWUiLCJJbmZvU291bmRWb2x1bWUiLCJMb25nU291bmRWb2x1bWUiLCJQdWxsU291bmRWb2x1bWUiLCJJbmZvUnVtYmxlRHVyYXRpb24iLCJJbmZvUnVtYmxlV2VhayIsIkluZm9SdW1ibGVTdHJvbmciLCJBbGVydFJ1bWJsZUR1cmF0aW9uIiwiQWxlcnRSdW1ibGVXZWFrIiwiQWxlcnRSdW1ibGVTdHJvbmciLCJBbGFybVJ1bWJsZUR1cmF0aW9uIiwiQWxhcm1SdW1ibGVXZWFrIiwiQWxhcm1SdW1ibGVTdHJvbmciLCJjYWN0Ym90V29ybWhvbGVTdHJhdCIsImNhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdCIsIlRpbWVyQmFyIiwiSFRNTEVsZW1lbnQiLCJvYnNlcnZlZEF0dHJpYnV0ZXMiLCJjcmVhdGUiLCJvIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiLCJlbGVtZW50IiwiZWxhcHNlZCIsImhpZGVhZnRlciIsImxlZnR0ZXh0IiwiY2VudGVydGV4dCIsInJpZ2h0dGV4dCIsIndpZHRoIiwiaGVpZ2h0IiwiYmciLCJmZyIsInN0eWxlZmlsbCIsInRvd2FyZCIsImxvb3AiLCJjIiwicmVtb3ZlQXR0cmlidXRlIiwiZ2V0QXR0cmlidXRlIiwidyIsInMiLCJfc3RhcnQiLCJfZHVyYXRpb24iLCJlbGFwc2VkTXMiLCJoIiwibCIsImhhc0F0dHJpYnV0ZSIsInJvb3QiLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiX2Nvbm5lY3RlZCIsIl93aWR0aCIsIl9oZWlnaHQiLCJfYmciLCJfZmciLCJfdG93YXJkUmlnaHQiLCJfZmlsbCIsIl9sZWZ0VGV4dCIsIl9jZW50ZXJUZXh0IiwiX3JpZ2h0VGV4dCIsIl9oaWRlQWZ0ZXIiLCJfbG9vcCIsIl9oaWRlVGltZXIiLCJyb290RWxlbWVudCIsInNoYWRvd1Jvb3QiLCJmb3JlZ3JvdW5kRWxlbWVudCIsImJhY2tncm91bmRFbGVtZW50IiwibGVmdFRleHRFbGVtZW50IiwiY2VudGVyVGV4dEVsZW1lbnQiLCJyaWdodFRleHRFbGVtZW50IiwiY29ubmVjdGVkQ2FsbGJhY2siLCJsYXlvdXQiLCJ1cGRhdGVUZXh0Iiwic2V0dmFsdWUiLCJhZHZhbmNlIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siLCJfb2xkVmFsdWUiLCJ1cGRhdGUiLCJoaWRlIiwic2hvdyIsImRyYXciLCJiYWNrZ3JvdW5kQ29sb3IiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ2YXJ5aW5nVGV4dHMiLCJlbGFwc2VkU2VjIiwicmVtYWluU2VjIiwicGVyY2VudCIsIm1pbiIsImRpc3BsYXlSZW1haW4iLCJ0b0ZpeGVkIiwiZGlzcGxheUVsYXBzZWQiLCJ0cmFuc2Zvcm0iLCJhcHBseVN0eWxlcyIsInN0eWxlcyIsImNlbnRlciIsImNzc1RleHQiLCJjbGVhclRpbWVvdXQiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJsb2NhbGVMaW5lcyIsImNvdW50ZG93blN0YXJ0IiwiY291bnRkb3duRW5nYWdlIiwiY291bnRkb3duQ2FuY2VsIiwiYXJlYVNlYWwiLCJhcmVhVW5zZWFsIiwiY3JhZnRpbmdTdGFydCIsInRyaWFsQ3JhZnRpbmdTdGFydCIsImNyYWZ0aW5nRmluaXNoIiwidHJpYWxDcmFmdGluZ0ZpbmlzaCIsImNyYWZ0aW5nRmFpbCIsInRyaWFsQ3JhZnRpbmdGYWlsIiwiY3JhZnRpbmdDYW5jZWwiLCJ0cmlhbENyYWZ0aW5nQ2FuY2VsIiwiUmVnZXhTZXQiLCJsb2NhbGVSZWdleCIsInJlZ2V4ZXMiLCJidWlsZExvY2FsZVJlZ2V4ZXMiLCJsb2NhbGVOZXRSZWdleCIsIm5ldFJlZ2V4ZXMiLCJsb2NhbGVzIiwiYnVpbGRlciIsImZyb21FbnRyaWVzIiwiYnVpbGRMb2NhbGVSZWdleCIsInJlZ2V4RW4iLCJyZWdleFNldCIsIkxvY2FsZVJlZ2V4IiwiTG9jYWxlTmV0UmVnZXgiLCJzeW5jS2V5cyIsInNlYWwiLCJ1bnNlYWwiLCJlbmdhZ2UiLCJ0ZXh0S2V5cyIsIkUiLCJOIiwiUyIsIlciLCJORSIsIk5XIiwiU0UiLCJTVyIsIlRhbmsiLCJIZWFsZXIiLCJEUFMiLCJOdW1iZXIiLCJjb21tb25SZXBsYWNlbWVudCIsInJlcGxhY2VTeW5jIiwicmVwbGFjZVRleHQiLCJwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzIiwiYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlIiwiZGVmYXVsdE9wdGlvbnMiLCJUaW1lbGluZVBhcnNlciIsImlnbm9yZXMiLCJzeW5jU3RhcnRzIiwic3luY0VuZHMiLCJlcnJvcnMiLCJ0aW1lbGluZUNvbmZpZyIsIklnbm9yZSIsInVuaXF1ZWlkIiwiY29tbWVudCIsImNvbW1lbnRMaW5lIiwiZHVyYXRpb25Db21tYW5kIiwiaWdub3JlIiwianVtcENvbW1hbmQiLCJzb3VuZEFsZXJ0Iiwic3BlYWtlciIsInN5bmNDb21tYW5kIiwid2luZG93Q29tbWFuZCIsImxpbmVOdW1iZXIiLCJ0ZXN0Iiwib3JpZ2luYWxMaW5lIiwiYmVmb3JlU2Vjb25kcyIsInNlY29uZHNCZWZvcmUiLCJwb3B1cFRleHRJdGVtcyIsInBhcnNlZExpbmUiLCJ0aW1lIiwic2Vjb25kcyIsIkdldFJlcGxhY2VkVGV4dCIsImFjdGl2ZVRpbWUiLCJjb21tYW5kTWF0Y2giLCJzeW5jIiwib3JpZ1JlZ2V4U3RyIiwiR2V0UmVwbGFjZWRTeW5jIiwiZW5kIiwiYXJnTWF0Y2giLCJqdW1wIiwibWF0Y2hlZFRleHRFdmVudCIsIm0iLCJhdXRvQ29uZmlnIiwic29ydEtleSIsIkdldFJlcGxhY2VkSGVscGVyIiwicmVwbGFjZUtleSIsInJlcGxhY2VMYW5nIiwiaXNHbG9iYWwiLCJsb2NhbGUiLCJyZXBzIiwicmVwbGFjZW1lbnQiLCJyZXBsIiwicmVuYW1lIiwiUmVuYW1lIiwiR2V0TWlzc2luZ1RyYW5zbGF0aW9uc1RvSWdub3JlIiwia0JpZyIsInRpbWVsaW5lSW5zdHJ1Y3Rpb25zIiwiYWN0aXZlVGV4dCIsImNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tIiwiY2xhc3NlcyIsImNscyIsImNvbG9yIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsIlRpbWVsaW5lIiwiYWN0aXZlU3luY3MiLCJhY3RpdmVFdmVudHMiLCJMb2FkRmlsZSIsIlN0b3AiLCJ0aW1lYmFzZSIsIm5leHRFdmVudCIsIm5leHRUZXh0IiwibmV4dFN5bmNTdGFydCIsIm5leHRTeW5jRW5kIiwiZmlnaHROb3ciLCJfQWR2YW5jZVRpbWVUbyIsIl9Db2xsZWN0QWN0aXZlU3luY3MiLCJfQ2xlYXJUaW1lcnMiLCJfQ2FuY2VsVXBkYXRlIiwidWkiLCJPblN5bmNUaW1lIiwiU3luY1RvIiwibmV3VGltZWJhc2UiLCJ2YWx1ZU9mIiwiYWJzIiwiX0FkZER1cmF0aW9uVGltZXJzIiwiX0NsZWFyRXhjZXB0UnVubmluZ0R1cmF0aW9uVGltZXJzIiwiX0FkZFVwY29taW5nVGltZXJzIiwiX1NjaGVkdWxlVXBkYXRlIiwic3luY0VuZCIsIk9uTG9nTGluZSIsInN5bmNTdGFydCIsImFjdGl2ZUV2ZW50IiwiT25SZW1vdmVUaW1lciIsImR1cmF0aW9uRXZlbnRzIiwiaXNEdXIiLCJfUmVtb3ZlRXhwaXJlZFRpbWVycyIsImR1cmF0aW9uRXZlbnQiLCJPbkFkZFRpbWVyIiwicHJvdG90eXBlIiwiYXBwbHkiLCJfQWRkUGFzc2VkVGV4dHMiLCJPblNob3dJbmZvVGV4dCIsIk9uU2hvd0FsZXJ0VGV4dCIsIk9uU2hvd0FsYXJtVGV4dCIsIk9uU3BlYWtUVFMiLCJ1cGRhdGVUaW1lciIsIm5leHRFdmVudFN0YXJ0aW5nIiwibmV4dFRleHRPY2N1cnMiLCJuZXh0RXZlbnRFbmRpbmciLCJuZXh0U3luY1N0YXJ0aW5nIiwibmV4dFN5bmNFbmRpbmciLCJuZXh0RXZlbnRFbmRzQXQiLCJzaG93TmV4dEV2ZW50QXQiLCJuZXh0VGltZSIsIl9PblVwZGF0ZVRpbWVyIiwiVGltZWxpbmVVSSIsIkluaXQiLCJiYXJDb2xvciIsImJhckV4cGlyZXNTb29uQ29sb3IiLCJ0aW1lcmxpc3QiLCJncmlkVGVtcGxhdGVSb3dzIiwiYWN0aXZlQmFycyIsImV4cGlyZVRpbWVycyIsImluc3RydWN0aW9ucyIsImhlbHBlciIsInJvd3MiLCJoZWxwZXJCYXIiLCJkZWJ1Z0VsZW1lbnQiLCJTZXRQb3B1cFRleHRJbnRlcmZhY2UiLCJTZXRUaW1lbGluZSIsImRlYnVnRmlnaHRUaW1lciIsImNoYW5uZWxpbmciLCJiYXIiLCJPblRpbWVyRXhwaXJlc1Nvb24iLCJhY3RpdmVCYXIiLCJwYXJlbnROb2RlIiwib3JkZXIiLCJleHBpcmVkIiwiZm9yY2UiLCJyZW1vdmVCYXIiLCJhbmltYXRpb25OYW1lIiwicnVubmluZyIsIlRpbWVsaW5lQ29udHJvbGxlciIsInN1cHByZXNzTmV4dEVuZ2FnZSIsIndpcGVSZWdleCIsImFjdGl2ZVRpbWVsaW5lIiwiT25Mb2dFdmVudCIsIlNldEFjdGl2ZVRpbWVsaW5lIiwiVGltZWxpbmVMb2FkZXIiLCJ0aW1lbGluZUNvbnRyb2xsZXIiLCJyYWlkYm9zc0ZpbGVEYXRhIiwicmFpZGJvc3NPcHRpb25zIiwia09wdGlvbktleXMiLCJrVHJpZ2dlck9wdGlvbnMiLCJsYWJlbCIsInRleHRBbmRTb3VuZCIsInR0c0FuZFRleHQiLCJ0dHNPbmx5IiwidGV4dE9ubHkiLCJ0cmlnZ2VyU291bmRPcHRpb25zIiwia0RldGFpbEtleXMiLCJkZWJ1Z09ubHkiLCJnZW5lcmF0ZWRNYW51YWxseSIsImtUaW1lbGluZVRhYmxlSGVhZGVycyIsInNob3VsZERpc3BsYXlUZXh0Iiwib3ZlcnJpZGVUZXh0IiwiZGV0YWlsS2V5cyIsImtNaXNjVHJhbnNsYXRpb25zIiwidmFsdWVEZWZhdWx0IiwidmFsdWVJc0Z1bmN0aW9uIiwid2FybmluZyIsIm1pc3NpbmdJZCIsIm92ZXJyaWRkZW5CeUZpbGUiLCJ2aWV3VHJpZ2dlclNvdXJjZSIsImVkaXRUaW1lbGluZSIsInZhbGlkRHVyYXRpb25PclVuZGVmaW5lZCIsInZhbEVudHJ5IiwidmFsIiwiaXNOYU4iLCJjYW5CZUNvbmZpZ3VyZWQiLCJ0cmlnIiwiaXNNaXNzaW5nSWQiLCJhZGRUcmlnZ2VyRGV0YWlsIiwibGFiZWxUZXh0IiwiZGV0YWlsVGV4dCIsImRldGFpbENscyIsInNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUiLCJEb05vdGhpbmdGdW5jUHJveHkiLCJvdXRwdXRTdHJpbmdzQ2FsbGJhY2siLCJfdGFyZ2V0IiwiX25hbWUiLCJtYWtlTGluayIsImxhbmdPckVuIiwiUmFpZGJvc3NDb25maWd1cmF0b3IiLCJjYWN0Ym90Q29uZmlndXJhdG9yIiwiYmFzZSIsImFsZXJ0c0xhbmciLCJnZXRPcHRpb24iLCJ0aW1lbGluZUxhbmciLCJidWlsZFVJIiwicmFpZGJvc3NGaWxlcyIsInVzZXJPcHRpb25zIiwiZmlsZU1hcCIsInByb2Nlc3NSYWlkYm9zc0ZpbGVzIiwiZXhwYW5zaW9uRGl2cyIsImV4cGFuc2lvbiIsInNlY3Rpb24iLCJleHBhbnNpb25EaXYiLCJleHBhbnNpb25Db250YWluZXIiLCJleHBhbnNpb25IZWFkZXIiLCJ0cmlnZ2VyQ29udGFpbmVyIiwiaGVhZGVyRGl2IiwicGFydHMiLCJ0aXRsZSIsInBhcnQiLCJwYXJ0RGl2IiwidHJpZ2dlclNldCIsImJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lciIsInRyaWdJZCIsImhhc091dHB1dEZ1bmMiLCJkZXZlbG9wZXJPcHRpb25zIiwidHJpZ2dlckRpdiIsInRyaWdnZXJEZXRhaWxzIiwiYnVpbGRUcmlnZ2VyT3B0aW9ucyIsInRyYW5zbGF0ZSIsImJhc2VUZXh0IiwiZGV0YWlsU3RyaW5nS2V5IiwiZGV0YWlsS2V5IiwidHJpZ091dHB1dCIsImNvbmZpZ091dHB1dCIsInRyaWdGdW5jIiwib3B0aW9uS2V5IiwiaW5wdXQiLCJzdGVwIiwicGxhY2Vob2xkZXIiLCJnZXRTdHJpbmdPcHRpb24iLCJzZXRGdW5jIiwic2V0T3B0aW9uIiwib25jaGFuZ2UiLCJvbmlucHV0Iiwib3V0cHV0U3RyaW5nIiwicDAiLCJwMSIsInAyIiwiYmFzZVVybCIsInVybEZpbGVwYXRoIiwiZXNjYXBlZFRyaWdnZXJJZCIsInVyaUNvbXBvbmVudCIsImVuY29kZVVSSUNvbXBvbmVudCIsInVybFN0cmluZyIsInBhcmVudCIsImhhc0V2ZXJCZWVuRXhwYW5kZWQiLCJ0aW1lbGluZUZyb21TZXQiLCJidWlsZFRpbWVsaW5lVUkiLCJibGFua0RhdGEiLCJ1bmlxRXZlbnRzIiwiaGVhZGVyIiwidmFsdWVzIiwiY2hlY2tJbnB1dCIsImVuYWJsZUlkIiwiZ2V0Qm9vbGVhbk9wdGlvbiIsInRpbWVsaW5lVGV4dCIsInRleHRJbnB1dCIsInRleHRJZCIsInByb2Nlc3NUcmlnZ2VyIiwiZmFrZU91dHB1dFByb3h5IiwiYXNzaWduIiwiYmFzZUZha2VEYXRhIiwiY29uZmlnT3B0aW9ucyIsInBhcnRpYWxGYWtlRGF0YUVudHJpZXMiLCJmYWtlRGF0YUVudHJpZXMiLCJmaXJzdERhdGEiLCJrRmFrZU1hdGNoZXMiLCJucGNJZCIsIm91dHB1dEtleXMiLCJldmFsVHJpZ2dlciIsInJlc3VsdFN0ciIsImxhbmdTcGVjaWZpY1JlZ2V4ZXMiLCJnZXRSZWdleCIsImJhc2VGaWVsZCIsInNob3J0TGFuZ3VhZ2UiLCJjb25jYXRTdHIiLCJsYW5nU3BlY2lmaWNSZWdleCIsImJhc2VSZWdleCIsInRpbWVsaW5lUmVnZXgiLCJ0cmlnZ2VyUmVnZXgiLCJ0cmlnZ2VyTmV0UmVnZXgiLCJ0cmlnZ2VyRmlsZXMiLCJ0cmlnZ2VyU2V0T3JTdHJpbmciLCJwcm9jZXNzRmlsZXMiLCJ0cmlnZ2VySWR4IiwicHJldmlvdXNUcmlnZ2VyV2l0aElkIiwicmF3VHJpZ2dlcnMiLCJpc1VzZXJUcmlnZ2VyU2V0IiwiZmxhdHRlblRpbWVsaW5lIiwidHJpZ2dlckFyciIsImJhc2VUcmlnIiwicHJldmlvdXMiLCJsYWJlbERpdiIsInVwZGF0ZUxhYmVsIiwic2VsZWN0VmFsdWUiLCJzZWxlY3RlZCIsImxhc3RJbmRleCIsInVzZXJGaWxlSGFuZGxlciIsImJhc2VPcHRpb25zIiwiYmFzZVRyaWdnZXJTZXQiLCJwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWciLCJvcHRpb25OYW1lIiwib3V0cHV0T2JqcyIsInByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWciLCJwZXJab25lVGltZWxpbmVDb25maWciLCJ6b25lS2V5Iiwiem9uZUVudHJ5IiwiZW5hYmxlRW50cnkiLCJyZXBsYWNlRW50cnkiLCJidWlsZEV4dHJhVUkiLCJodG1sIiwiZGVidWciLCJvdmVybGF5V3NQYXJhbSIsIndzUGFyYW0iLCJpc0xvY2FsIiwicGxheWVyTmFtZVBhcmFtIiwidHRzUGFyYW0iLCJmb3JjZUVuYWJsZSIsImFsZXJ0c1BhcmFtIiwidGltZWxpbmVQYXJhbSIsImF1ZGlvUGFyYW0iLCJ0aW1lbGluZVVJIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNKbFUsSUFBQUEsRUFBRSxFQUFFLE1BREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLE9BRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEtBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0ExbEJPO0FBa21CYjhULEVBQUFBLElBQUksRUFBRTtBQUNKblUsSUFBQUEsRUFBRSxFQUFFLE1BREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLFFBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLE9BSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FsbUJPO0FBMG1CYitULEVBQUFBLFNBQVMsRUFBRTtBQUNUcFUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFlBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFlBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0ExbUJFO0FBa25CYmdVLEVBQUFBLFNBQVMsRUFBRTtBQUNUclUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFdBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFVBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0FsbkJFO0FBMG5CYmlVLEVBQUFBLFNBQVMsRUFBRTtBQUNUdFUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFdBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFdBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0ExbkJFO0FBa29CYmtVLEVBQUFBLFNBQVMsRUFBRTtBQUNUdlUsSUFBQUEsRUFBRSxFQUFFLFdBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLFVBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLFNBSEs7QUFJVEMsSUFBQUEsRUFBRSxFQUFFLElBSks7QUFLVEMsSUFBQUEsRUFBRSxFQUFFLFFBTEs7QUFNVEMsSUFBQUEsRUFBRSxFQUFFO0FBTkssR0Fsb0JFO0FBMG9CYm1VLEVBQUFBLElBQUksRUFBRTtBQUNKeFUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0Exb0JPO0FBa3BCYm9VLEVBQUFBLElBQUksRUFBRTtBQUNKelUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FscEJPO0FBMHBCYnFVLEVBQUFBLElBQUksRUFBRTtBQUNKMVUsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0ExcEJPO0FBa3FCYnNVLEVBQUFBLElBQUksRUFBRTtBQUNKM1UsSUFBQUEsRUFBRSxFQUFFLEdBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLEdBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLEdBSEE7QUFJSkMsSUFBQUEsRUFBRSxFQUFFLEdBSkE7QUFLSkMsSUFBQUEsRUFBRSxFQUFFLE1BTEE7QUFNSkMsSUFBQUEsRUFBRSxFQUFFO0FBTkEsR0FscUJPO0FBMHFCYnVVLEVBQUFBLEtBQUssRUFBRTtBQUNMNVUsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0ExcUJNO0FBa3JCYndVLEVBQUFBLEtBQUssRUFBRTtBQUNMN1UsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0FsckJNO0FBMHJCYnlVLEVBQUFBLEtBQUssRUFBRTtBQUNMOVUsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0ExckJNO0FBa3NCYjBVLEVBQUFBLEtBQUssRUFBRTtBQUNML1UsSUFBQUEsRUFBRSxFQUFFLElBREM7QUFFTEMsSUFBQUEsRUFBRSxFQUFFLElBRkM7QUFHTEMsSUFBQUEsRUFBRSxFQUFFLElBSEM7QUFJTEMsSUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsSUFBQUEsRUFBRSxFQUFFLFFBTEM7QUFNTEMsSUFBQUEsRUFBRSxFQUFFO0FBTkMsR0Fs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V0FDQTtXQUNBLGlCQUFpQixxQkFBcUI7V0FDdEM7V0FDQTtXQUNBLGtCQUFrQixxQkFBcUI7V0FDdkM7V0FDQTtXQUNBLEtBQUs7V0FDTDtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7Ozs7O1dDM0JBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EseUNBQXlDLHdDQUF3QztXQUNqRjtXQUNBO1dBQ0E7Ozs7O1dDUEE7Ozs7O1dDQUE7O1dBRUE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBOztXQUVBOztXQUVBOztXQUVBOztXQUVBOztXQUVBOztXQUVBOztXQUVBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLE1BQU0scUJBQXFCO1dBQzNCO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7O1dBRUE7V0FDQTtXQUNBOzs7OztVRWhEQTtVQUNBO1VBQ0E7VUFDQTtVQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9jb25kaXRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvY29udGVudF90eXBlLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9uZXRyZWdleGVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9vdXRwdXRzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcmVnZXhlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3Jlc3BvbnNlcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3VzZXJfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdXRpbC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3pvbmVfaWQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy96b25lX2luZm8udHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wYXJ0eS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvYXV0b3BsYXlfaGVscGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9icm93c2VyX3R0c19lbmdpbmUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3BvcHVwLXRleHQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3JhaWRib3NzX29wdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy90aW1lcmJhci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3RyYW5zbGF0aW9ucy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvY29tbW9uX3JlcGxhY2VtZW50LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy90aW1lbGluZV9wYXJzZXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3JhaWRib3NzLnRzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9qc29ucCBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3IgY29uc2lzdGVuY3kgd2l0aCBSZXNwb25zZXMsIENvbmRpdGlvbnNcclxuLy8gYXJlIGFsc28gZnVuY3Rpb25zLlxyXG5cclxuaW1wb3J0IHsgUmFpZGJvc3NEYXRhIGFzIERhdGEgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgVGFyZ2V0ZWRNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgdGFyZ2V0SXNZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSA9PT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgdGFyZ2V0SXNOb3RZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSAhPT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dEFPRSgpOiAoZGF0YTogRGF0YSkgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEpID0+XHJcbiAgICAgIGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicgfHwgZGF0YS5DYW5BZGRsZSgpIHx8IGRhdGEuam9iID09PSAnQkxVJztcclxuICB9LFxyXG4gIGNhcmVzQWJvdXRNYWdpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dFBoeXNpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkZlaW50KCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbn07XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5jb25zdCBkYXRhID0ge1xyXG4gICdCZWFzdFRyaWJlUXVlc3RzJzogMTMsXHJcbiAgJ0NvbXBhbmlvbnMnOiAxMixcclxuICAnQ3VzdG9tRGVsaXZlcmllcyc6IDI1LFxyXG4gICdEZWVwRHVuZ2VvbnMnOiAyMSxcclxuICAnRGlzY2lwbGVzT2ZUaGVIYW5kJzogMTcsXHJcbiAgJ0Rpc2NpcGxlc09mVGhlTGFuZCc6IDE2LFxyXG4gICdEdW5nZW9ucyc6IDIsXHJcbiAgJ0R1dHlSb3VsZXR0ZSc6IDEsXHJcbiAgJ0V1cmVrYSc6IDI2LFxyXG4gICdGYXRlcyc6IDgsXHJcbiAgJ0dvbGRTYXVjZXInOiAxOSxcclxuICAnR3JhbmRDb21wYW55JzogMTEsXHJcbiAgJ0d1aWxkaGVzdHMnOiAzLFxyXG4gICdMZXZlcXVlc3RzJzogMTAsXHJcbiAgJ092ZXJhbGxDb21wbGV0aW9uJzogMTQsXHJcbiAgJ1BsYXllckNvbW1lbmRhdGlvbic6IDE1LFxyXG4gICdQdnAnOiA2LFxyXG4gICdRdWVzdEJhdHRsZXMnOiA3LFxyXG4gICdSYWlkcyc6IDUsXHJcbiAgJ1JldGFpbmVyVmVudHVyZXMnOiAxOCxcclxuICAnVHJlYXN1cmVIdW50JzogOSxcclxuICAnVHJpYWxzJzogNCxcclxuICAnVWx0aW1hdGVSYWlkcyc6IDI4LFxyXG4gICdXb25kcm91c1RhaWxzJzogMjQsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJleHBvcnQgY29uc3QgbGFuZ3VhZ2VzID0gWydlbicsICdkZScsICdmcicsICdqYScsICdjbicsICdrbyddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgTGFuZyA9IHR5cGVvZiBsYW5ndWFnZXNbbnVtYmVyXTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vbkVuTGFuZyA9IEV4Y2x1ZGU8TGFuZywgJ2VuJz47XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ01hcDogeyBbbGFuZyBpbiBMYW5nXTogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nIH0gfSA9IHtcclxuICBlbjoge1xyXG4gICAgZW46ICdFbmdsaXNoJyxcclxuICAgIGRlOiAnR2VybWFuJyxcclxuICAgIGZyOiAnRnJlbmNoJyxcclxuICAgIGphOiAnSmFwYW5lc2UnLFxyXG4gICAgY246ICdDaGluZXNlJyxcclxuICAgIGtvOiAnS29yZWFuJyxcclxuICB9LFxyXG4gIGRlOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2NoJyxcclxuICAgIGRlOiAnRGV1dHNjaCcsXHJcbiAgICBmcjogJ0ZyYW56w7ZzaXNjaCcsXHJcbiAgICBqYTogJ0phcGFuaXNjaCcsXHJcbiAgICBjbjogJ0NoaW5lc2lzY2gnLFxyXG4gICAga286ICdLb3JlYW5pc2NoJyxcclxuICB9LFxyXG4gIGZyOiB7XHJcbiAgICBlbjogJ0FuZ2xhaXMnLFxyXG4gICAgZGU6ICdBbGxlbWFuZCcsXHJcbiAgICBmcjogJ0ZyYW7Dp2FpcycsXHJcbiAgICBqYTogJ0phcG9uYWlzJyxcclxuICAgIGNuOiAnQ2hpbm9pcycsXHJcbiAgICBrbzogJ0NvcsOpZW4nLFxyXG4gIH0sXHJcbiAgamE6IHtcclxuICAgIGVuOiAn6Iux6KqeJyxcclxuICAgIGRlOiAn44OJ44Kk44OE6KqeJyxcclxuICAgIGZyOiAn44OV44Op44Oz44K56KqeJyxcclxuICAgIGphOiAn5pel5pys6KqeJyxcclxuICAgIGNuOiAn5Lit5Zu96KqeJyxcclxuICAgIGtvOiAn6Z+T5Zu96KqeJyxcclxuICB9LFxyXG4gIGNuOiB7XHJcbiAgICBlbjogJ+iLseivrScsXHJcbiAgICBkZTogJ+W+t+ivrScsXHJcbiAgICBmcjogJ+azleivrScsXHJcbiAgICBqYTogJ+aXpeivrScsXHJcbiAgICBjbjogJ+S4reaWhycsXHJcbiAgICBrbzogJ+mfqeivrScsXHJcbiAgfSxcclxuICBrbzoge1xyXG4gICAgZW46ICfsmIHslrQnLFxyXG4gICAgZGU6ICfrj4XsnbzslrQnLFxyXG4gICAgZnI6ICftlITrnpHsiqTslrQnLFxyXG4gICAgamE6ICfsnbzrs7jslrQnLFxyXG4gICAgY246ICfspJHqta3slrQnLFxyXG4gICAga286ICftlZzqta3slrQnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgY29uc3QgaXNMYW5nID0gKGxhbmc/OiBzdHJpbmcpOiBsYW5nIGlzIExhbmcgPT4ge1xyXG4gIGNvbnN0IGxhbmdTdHJzOiByZWFkb25seSBzdHJpbmdbXSA9IGxhbmd1YWdlcztcclxuICBpZiAoIWxhbmcpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgcmV0dXJuIGxhbmdTdHJzLmluY2x1ZGVzKGxhbmcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxhbmdUb0xvY2FsZSA9IChsYW5nOiBMYW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZW46ICdlbicsXHJcbiAgICBkZTogJ2RlJyxcclxuICAgIGZyOiAnZnInLFxyXG4gICAgamE6ICdqYScsXHJcbiAgICBjbjogJ3poLUNOJyxcclxuICAgIGtvOiAna28nLFxyXG4gIH1bbGFuZ107XHJcbn07XHJcbiIsImltcG9ydCB7IE5ldEZpZWxkc1JldmVyc2UgfSBmcm9tICcuLi90eXBlcy9uZXRfZmllbGRzJztcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb24gPSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvLyBQYXJzZWQgQUNUIGxvZyBsaW5lIHR5cGUuXHJcbiAgbWVzc2FnZVR5cGU6IHN0cmluZztcclxuICAvLyBpbmNsdWRlIGFsbCBvZiB0aGVzZSBsaW5lcyBpbiBhbnkgc3BsaXRcclxuICBnbG9iYWxJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyBpbmNsdWRlIHRoZSBsYXN0IGxpbmUgb2YgdGhpcyB0eXBlIGluIGFueSBzcGxpdFxyXG4gIGxhc3RJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyB3aGV0aGVyIHRoaXMgbGluZSBjYW4gYmUgYW5vbnltaXplZFxyXG4gIGNhbkFub255bWl6ZT86IGJvb2xlYW47XHJcbiAgLy8gbmVlZHMgbW9yZSBpbmZvcm1hdGlvbiwgbmV2ZXIgc2VlbiB0aGlzIGxvZ1xyXG4gIGlzVW5rbm93bj86IGJvb2xlYW47XHJcbiAgLy8gZmllbGRzIGF0IHRoaXMgaW5kZXggYW5kIGJleW9uZCBhcmUgY2xlYXJlZCwgd2hlbiBhbm9ueW1pemluZ1xyXG4gIGZpcnN0VW5rbm93bkZpZWxkPzogbnVtYmVyO1xyXG4gIGZpZWxkcz86IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XHJcbiAgc3ViRmllbGRzPzoge1xyXG4gICAgW2ZpZWxkTmFtZTogc3RyaW5nXToge1xyXG4gICAgICBbZmllbGRWYWx1ZTogc3RyaW5nXToge1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICBjYW5Bbm9ueW1pemU6IGJvb2xlYW47XHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG4gIH07XHJcbiAgLy8gbWFwIG9mIGluZGV4ZXMgZnJvbSBhIHBsYXllciBpZCB0byB0aGUgaW5kZXggb2YgdGhhdCBwbGF5ZXIgbmFtZVxyXG4gIHBsYXllcklkcz86IHsgW2ZpZWxkSWR4OiBudW1iZXJdOiBudW1iZXIgfCBudWxsIH07XHJcbiAgLy8gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IGFyZSBvayB0byBub3QgYXBwZWFyIChvciBoYXZlIGludmFsaWQgaWRzKVxyXG4gIG9wdGlvbmFsRmllbGRzPzogcmVhZG9ubHkgbnVtYmVyW107XHJcbn07XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25NYXAgPSB7IFtuYW1lOiBzdHJpbmddOiBMb2dEZWZpbml0aW9uIH07XHJcblxyXG5jb25zdCBsb2dEZWZpbml0aW9ucyA9IHtcclxuICBHYW1lTG9nOiB7XHJcbiAgICB0eXBlOiAnMDAnLFxyXG4gICAgbmFtZTogJ0dhbWVMb2cnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGF0TG9nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGNvZGU6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGxpbmU6IDQsXHJcbiAgICB9LFxyXG4gICAgc3ViRmllbGRzOiB7XHJcbiAgICAgIGNvZGU6IHtcclxuICAgICAgICAnMDAzOSc6IHtcclxuICAgICAgICAgIG5hbWU6ICdtZXNzYWdlJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwMDM4Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ2VjaG8nLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwNDQnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZGlhbG9nJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwODM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgQ2hhbmdlWm9uZToge1xyXG4gICAgdHlwZTogJzAxJyxcclxuICAgIG5hbWU6ICdDaGFuZ2Vab25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGVycml0b3J5JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQ2hhbmdlZFBsYXllcjoge1xyXG4gICAgdHlwZTogJzAyJyxcclxuICAgIG5hbWU6ICdDaGFuZ2VkUGxheWVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlUHJpbWFyeVBsYXllcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEFkZGVkQ29tYmF0YW50OiB7XHJcbiAgICB0eXBlOiAnMDMnLFxyXG4gICAgbmFtZTogJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWRkQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcklkOiA2LFxyXG4gICAgICB3b3JsZElkOiA3LFxyXG4gICAgICB3b3JsZDogOCxcclxuICAgICAgbnBjTmFtZUlkOiA5LFxyXG4gICAgICBucGNCYXNlSWQ6IDEwLFxyXG4gICAgICBjdXJyZW50SHA6IDExLFxyXG4gICAgICBocDogMTIsXHJcbiAgICAgIGN1cnJlbnRNcDogMTMsXHJcbiAgICAgIG1wOiAxNCxcclxuICAgICAgLy8gbWF4VHA6IDE1LFxyXG4gICAgICAvLyB0cDogMTYsXHJcbiAgICAgIHg6IDE3LFxyXG4gICAgICB5OiAxOCxcclxuICAgICAgejogMTksXHJcbiAgICAgIGhlYWRpbmc6IDIwLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFJlbW92ZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwNCcsXHJcbiAgICBuYW1lOiAnUmVtb3ZlZENvbWJhdGFudCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1JlbW92ZUNvbWJhdGFudCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgam9iOiA0LFxyXG4gICAgICBsZXZlbDogNSxcclxuICAgICAgb3duZXI6IDYsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGFydHlMaXN0OiB7XHJcbiAgICB0eXBlOiAnMTEnLFxyXG4gICAgbmFtZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBwYXJ0eUNvdW50OiAyLFxyXG4gICAgICBpZDA6IDMsXHJcbiAgICAgIGlkMTogNCxcclxuICAgICAgaWQyOiA1LFxyXG4gICAgICBpZDM6IDYsXHJcbiAgICAgIGlkNDogNyxcclxuICAgICAgaWQ1OiA4LFxyXG4gICAgICBpZDY6IDksXHJcbiAgICAgIGlkNzogMTAsXHJcbiAgICAgIGlkODogMTEsXHJcbiAgICAgIGlkOTogMTIsXHJcbiAgICAgIGlkMTA6IDEzLFxyXG4gICAgICBpZDExOiAxNCxcclxuICAgICAgaWQxMjogMTUsXHJcbiAgICAgIGlkMTM6IDE2LFxyXG4gICAgICBpZDE0OiAxNyxcclxuICAgICAgaWQxNTogMTgsXHJcbiAgICAgIGlkMTY6IDE5LFxyXG4gICAgICBpZDE3OiAyMCxcclxuICAgICAgaWQxODogMjEsXHJcbiAgICAgIGlkMTk6IDIyLFxyXG4gICAgICBpZDIwOiAyMyxcclxuICAgICAgaWQyMTogMjQsXHJcbiAgICAgIGlkMjI6IDI1LFxyXG4gICAgICBpZDIzOiAyNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMzogbnVsbCxcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgICAgNjogbnVsbCxcclxuICAgICAgNzogbnVsbCxcclxuICAgICAgODogbnVsbCxcclxuICAgICAgOTogbnVsbCxcclxuICAgICAgMTA6IG51bGwsXHJcbiAgICAgIDExOiBudWxsLFxyXG4gICAgICAxMjogbnVsbCxcclxuICAgICAgMTM6IG51bGwsXHJcbiAgICAgIDE0OiBudWxsLFxyXG4gICAgICAxNTogbnVsbCxcclxuICAgICAgMTY6IG51bGwsXHJcbiAgICAgIDE3OiBudWxsLFxyXG4gICAgICAxODogbnVsbCxcclxuICAgICAgMTk6IG51bGwsXHJcbiAgICAgIDIwOiBudWxsLFxyXG4gICAgICAyMTogbnVsbCxcclxuICAgICAgMjI6IG51bGwsXHJcbiAgICAgIDIzOiBudWxsLFxyXG4gICAgICAyNDogbnVsbCxcclxuICAgICAgMjU6IG51bGwsXHJcbiAgICAgIDI2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbXHJcbiAgICAgIDMsXHJcbiAgICAgIDQsXHJcbiAgICAgIDUsXHJcbiAgICAgIDYsXHJcbiAgICAgIDcsXHJcbiAgICAgIDgsXHJcbiAgICAgIDksXHJcbiAgICAgIDEwLFxyXG4gICAgICAxMSxcclxuICAgICAgMTIsXHJcbiAgICAgIDEzLFxyXG4gICAgICAxNCxcclxuICAgICAgMTUsXHJcbiAgICAgIDE2LFxyXG4gICAgICAxNyxcclxuICAgICAgMTgsXHJcbiAgICAgIDE5LFxyXG4gICAgICAyMCxcclxuICAgICAgMjEsXHJcbiAgICAgIDIyLFxyXG4gICAgICAyMyxcclxuICAgICAgMjQsXHJcbiAgICAgIDI1LFxyXG4gICAgICAyNixcclxuICAgIF0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBsYXllclN0YXRzOiB7XHJcbiAgICB0eXBlOiAnMTInLFxyXG4gICAgbmFtZTogJ1BsYXllclN0YXRzJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgam9iOiAyLFxyXG4gICAgICBzdHJlbmd0aDogMyxcclxuICAgICAgZGV4dGVyaXR5OiA0LFxyXG4gICAgICB2aXRhbGl0eTogNSxcclxuICAgICAgaW50ZWxsaWdlbmNlOiA2LFxyXG4gICAgICBtaW5kOiA3LFxyXG4gICAgICBwaWV0eTogOCxcclxuICAgICAgYXR0YWNrUG93ZXI6IDksXHJcbiAgICAgIGRpcmVjdEhpdDogMTAsXHJcbiAgICAgIGNyaXRpY2FsSGl0OiAxMSxcclxuICAgICAgYXR0YWNrTWFnaWNQb3RlbmN5OiAxMixcclxuICAgICAgaGVhbE1hZ2ljUG90ZW5jeTogMTMsXHJcbiAgICAgIGRldGVybWluYXRpb246IDE0LFxyXG4gICAgICBza2lsbFNwZWVkOiAxNSxcclxuICAgICAgc3BlbGxTcGVlZDogMTYsXHJcbiAgICAgIHRlbmFjaXR5OiAxOCxcclxuICAgICAgbG9jYWxDb250ZW50SWQ6IDE5LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgU3RhcnRzVXNpbmc6IHtcclxuICAgIHR5cGU6ICcyMCcsXHJcbiAgICBuYW1lOiAnU3RhcnRzVXNpbmcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGFydHNDYXN0aW5nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBjYXN0VGltZTogOCxcclxuICAgICAgeDogOSxcclxuICAgICAgeTogMTAsXHJcbiAgICAgIHo6IDExLFxyXG4gICAgICBoZWFkaW5nOiAxMixcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIxJyxcclxuICAgIG5hbWU6ICdBYmlsaXR5JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWN0aW9uRWZmZWN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBmbGFnczogOCxcclxuICAgICAgZGFtYWdlOiA5LFxyXG4gICAgICB0YXJnZXRDdXJyZW50SHA6IDI0LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMjUsXHJcbiAgICAgIHRhcmdldEN1cnJlbnRNcDogMjYsXHJcbiAgICAgIHRhcmdldE1heE1wOiAyNyxcclxuICAgICAgLy8gdGFyZ2V0Q3VycmVudFRwOiAyOCxcclxuICAgICAgLy8gdGFyZ2V0TWF4VHA6IDI5LFxyXG4gICAgICB0YXJnZXRYOiAzMCxcclxuICAgICAgdGFyZ2V0WTogMzEsXHJcbiAgICAgIHRhcmdldFo6IDMyLFxyXG4gICAgICB0YXJnZXRIZWFkaW5nOiAzMyxcclxuICAgICAgY3VycmVudEhwOiAzNCxcclxuICAgICAgbWF4SHA6IDM1LFxyXG4gICAgICBjdXJyZW50TXA6IDM2LFxyXG4gICAgICBtYXhNcDogMzcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogMzg7XHJcbiAgICAgIC8vIG1heFRwOiAzOTtcclxuICAgICAgeDogNDAsXHJcbiAgICAgIHk6IDQxLFxyXG4gICAgICB6OiA0MixcclxuICAgICAgaGVhZGluZzogNDMsXHJcbiAgICAgIHNlcXVlbmNlOiA0NCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0FPRUFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMicsXHJcbiAgICBuYW1lOiAnTmV0d29ya0FPRUFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBT0VBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0NhbmNlbEFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0NhbmNlbEFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDYW5jZWxBY3Rpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHJlYXNvbjogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRG9UOiB7XHJcbiAgICB0eXBlOiAnMjQnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtEb1QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEb1RIb1QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHdoaWNoOiA0LFxyXG4gICAgICBlZmZlY3RJZDogNSxcclxuICAgICAgZGFtYWdlOiA2LFxyXG4gICAgICBjdXJyZW50SHA6IDcsXHJcbiAgICAgIG1heEhwOiA4LFxyXG4gICAgICBjdXJyZW50TXA6IDksXHJcbiAgICAgIG1heE1wOiAxMCxcclxuICAgICAgLy8gY3VycmVudFRwOiAxMSxcclxuICAgICAgLy8gbWF4VHA6IDEyLFxyXG4gICAgICB4OiAxMyxcclxuICAgICAgeTogMTQsXHJcbiAgICAgIHo6IDE1LFxyXG4gICAgICBoZWFkaW5nOiAxNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBXYXNEZWZlYXRlZDoge1xyXG4gICAgdHlwZTogJzI1JyxcclxuICAgIG5hbWU6ICdXYXNEZWZlYXRlZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYXRoJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA0LFxyXG4gICAgICBzb3VyY2U6IDUsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgR2FpbnNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICcyNicsXHJcbiAgICBuYW1lOiAnR2FpbnNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNBZGQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgZWZmZWN0SWQ6IDIsXHJcbiAgICAgIGVmZmVjdDogMyxcclxuICAgICAgZHVyYXRpb246IDQsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMTAsXHJcbiAgICAgIHNvdXJjZU1heEhwOiAxMSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBIZWFkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjcnLFxyXG4gICAgbmFtZTogJ0hlYWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUYXJnZXRJY29uJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGlkOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtSYWlkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjgnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtSYWlkTWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnV2F5bWFya01hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB4OiA2LFxyXG4gICAgICB5OiA3LFxyXG4gICAgICB6OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtUYXJnZXRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1RhcmdldE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1NpZ25NYXJrZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgb3BlcmF0aW9uOiAyLCAvLyBBZGQsIFVwZGF0ZSwgRGVsZXRlXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0TmFtZTogNyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgIH0sXHJcbiAgfSxcclxuICBMb3Nlc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzMwJyxcclxuICAgIG5hbWU6ICdMb3Nlc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c1JlbW92ZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBzb3VyY2VJZDogNSxcclxuICAgICAgc291cmNlOiA2LFxyXG4gICAgICB0YXJnZXRJZDogNyxcclxuICAgICAgdGFyZ2V0OiA4LFxyXG4gICAgICBjb3VudDogOSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrR2F1Z2U6IHtcclxuICAgIHR5cGU6ICczMScsXHJcbiAgICBuYW1lOiAnTmV0d29ya0dhdWdlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnR2F1Z2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGRhdGEwOiAzLFxyXG4gICAgICBkYXRhMTogNCxcclxuICAgICAgZGF0YTI6IDUsXHJcbiAgICAgIGRhdGEzOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiBudWxsLFxyXG4gICAgfSxcclxuICAgIC8vIFNvbWV0aW1lcyB0aGlzIGxhc3QgZmllbGQgbG9va3MgbGlrZSBhIHBsYXllciBpZC5cclxuICAgIC8vIEZvciBzYWZldHksIGFub255bWl6ZSBhbGwgb2YgdGhlIGdhdWdlIGRhdGEuXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMyxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtXb3JsZDoge1xyXG4gICAgdHlwZTogJzMyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrV29ybGQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXb3JsZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG4gIEFjdG9yQ29udHJvbDoge1xyXG4gICAgdHlwZTogJzMzJyxcclxuICAgIG5hbWU6ICdBY3RvckNvbnRyb2wnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEaXJlY3RvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpbnN0YW5jZTogMixcclxuICAgICAgY29tbWFuZDogMyxcclxuICAgICAgZGF0YTA6IDQsXHJcbiAgICAgIGRhdGExOiA1LFxyXG4gICAgICBkYXRhMjogNixcclxuICAgICAgZGF0YTM6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmFtZVRvZ2dsZToge1xyXG4gICAgdHlwZTogJzM0JyxcclxuICAgIG5hbWU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTmFtZVRvZ2dsZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldE5hbWU6IDUsXHJcbiAgICAgIHRvZ2dsZTogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBUZXRoZXI6IHtcclxuICAgIHR5cGU6ICczNScsXHJcbiAgICBuYW1lOiAnVGV0aGVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGV0aGVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIHRhcmdldElkOiA0LFxyXG4gICAgICB0YXJnZXQ6IDUsXHJcbiAgICAgIGlkOiA4LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiA5LFxyXG4gIH0sXHJcbiAgTGltaXRCcmVhazoge1xyXG4gICAgdHlwZTogJzM2JyxcclxuICAgIG5hbWU6ICdMaW1pdEJyZWFrJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTGltaXRCcmVhaycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB2YWx1ZUhleDogMixcclxuICAgICAgYmFyczogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRWZmZWN0UmVzdWx0OiB7XHJcbiAgICB0eXBlOiAnMzcnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtFZmZlY3RSZXN1bHQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFZmZlY3RSZXN1bHQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHNlcXVlbmNlSWQ6IDQsXHJcbiAgICAgIGN1cnJlbnRIcDogNSxcclxuICAgICAgbWF4SHA6IDYsXHJcbiAgICAgIGN1cnJlbnRNcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOSxcclxuICAgICAgLy8gbWF4VHA6IDEwLFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjIsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTdGF0dXNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICczOCcsXHJcbiAgICBuYW1lOiAnU3RhdHVzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzTGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB0YXJnZXRJZDogMixcclxuICAgICAgdGFyZ2V0OiAzLFxyXG4gICAgICBqb2JMZXZlbERhdGE6IDQsXHJcbiAgICAgIGhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgbXA6IDcsXHJcbiAgICAgIG1heE1wOiA4LFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgICAgZGF0YTA6IDE1LFxyXG4gICAgICBkYXRhMTogMTYsXHJcbiAgICAgIGRhdGEyOiAxNyxcclxuICAgICAgLy8gVmFyaWFibGUgbnVtYmVyIG9mIHRyaXBsZXRzIGhlcmUsIGJ1dCBhdCBsZWFzdCBvbmUuXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDIwLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1VwZGF0ZUhQOiB7XHJcbiAgICB0eXBlOiAnMzknLFxyXG4gICAgbmFtZTogJ05ldHdvcmtVcGRhdGVIUCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1VwZGF0ZUhwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBjdXJyZW50SHA6IDQsXHJcbiAgICAgIG1heEhwOiA1LFxyXG4gICAgICBjdXJyZW50TXA6IDYsXHJcbiAgICAgIG1heE1wOiA3LFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDgsXHJcbiAgICAgIC8vIG1heFRwOiA5LFxyXG4gICAgICB4OiAxMCxcclxuICAgICAgeTogMTEsXHJcbiAgICAgIHo6IDEyLFxyXG4gICAgICBoZWFkaW5nOiAxMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBNYXA6IHtcclxuICAgIHR5cGU6ICc0MCcsXHJcbiAgICBuYW1lOiAnTWFwJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlTWFwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICByZWdpb25OYW1lOiAzLFxyXG4gICAgICBwbGFjZU5hbWU6IDQsXHJcbiAgICAgIHBsYWNlTmFtZVN1YjogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTeXN0ZW1Mb2dNZXNzYWdlOiB7XHJcbiAgICB0eXBlOiAnNDEnLFxyXG4gICAgbmFtZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTeXN0ZW1Mb2dNZXNzYWdlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBpZDogMyxcclxuICAgICAgcGFyYW0wOiA0LFxyXG4gICAgICBwYXJhbTE6IDUsXHJcbiAgICAgIHBhcmFtMjogNixcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJzZXJJbmZvOiB7XHJcbiAgICB0eXBlOiAnMjQ5JyxcclxuICAgIG5hbWU6ICdQYXJzZXJJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2V0dGluZ3MnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUHJvY2Vzc0luZm86IHtcclxuICAgIHR5cGU6ICcyNTAnLFxyXG4gICAgbmFtZTogJ1Byb2Nlc3NJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUHJvY2VzcycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBEZWJ1Zzoge1xyXG4gICAgdHlwZTogJzI1MScsXHJcbiAgICBuYW1lOiAnRGVidWcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEZWJ1ZycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgUGFja2V0RHVtcDoge1xyXG4gICAgdHlwZTogJzI1MicsXHJcbiAgICBuYW1lOiAnUGFja2V0RHVtcCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhY2tldER1bXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgVmVyc2lvbjoge1xyXG4gICAgdHlwZTogJzI1MycsXHJcbiAgICBuYW1lOiAnVmVyc2lvbicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1ZlcnNpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgRXJyb3I6IHtcclxuICAgIHR5cGU6ICcyNTQnLFxyXG4gICAgbmFtZTogJ0Vycm9yJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRXJyb3InLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgTm9uZToge1xyXG4gICAgdHlwZTogJ1swLTldKycsXHJcbiAgICBuYW1lOiAnTm9uZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ05vbmUnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBpc1Vua25vd246IHRydWUsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFZlcmlmeSB0aGF0IHRoaXMgaGFzIHRoZSByaWdodCB0eXBlLCBidXQgZXhwb3J0IGBhcyBjb25zdGAuXHJcbmNvbnN0IGFzc2VydExvZ0RlZmluaXRpb25zOiBMb2dEZWZpbml0aW9uTWFwID0gbG9nRGVmaW5pdGlvbnM7XHJcbmNvbnNvbGUuYXNzZXJ0KGFzc2VydExvZ0RlZmluaXRpb25zKTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25zID0gdHlwZW9mIGxvZ0RlZmluaXRpb25zO1xyXG5leHBvcnQgdHlwZSBMb2dEZWZpbml0aW9uVHlwZXMgPSBrZXlvZiBMb2dEZWZpbml0aW9ucztcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlSGVscGVyRmllbGQ8XHJcbiAgVHlwZSBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcyxcclxuICBGaWVsZHMgZXh0ZW5kcyBOZXRGaWVsZHNSZXZlcnNlW1R5cGVdLFxyXG4gIEZpZWxkIGV4dGVuZHMga2V5b2YgRmllbGRzLFxyXG4+ID0ge1xyXG4gIGZpZWxkOiBGaWVsZHNbRmllbGRdIGV4dGVuZHMgc3RyaW5nID8gRmllbGRzW0ZpZWxkXSA6IG5ldmVyO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZHM8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4gPSB7XHJcbiAgW2ZpZWxkIGluIGtleW9mIE5ldEZpZWxkc1JldmVyc2VbVF1dOiBQYXJzZUhlbHBlckZpZWxkPFQsIE5ldEZpZWxkc1JldmVyc2VbVF0sIGZpZWxkPjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGxvZ0RlZmluaXRpb25zO1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnXFxcXHwnO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW158XSonO1xyXG5cclxuLy8gSWYgTmV0UmVnZXhlcy5zZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIGlzIHNldCB0byB0cnVlLCB0aGVuIGFueVxyXG4vLyByZWdleCBjcmVhdGVkIHRoYXQgcmVxdWlyZXMgYSB0cmFuc2xhdGlvbiB3aWxsIGJlZ2luIHdpdGggdGhpcyBzdHJpbmdcclxuLy8gYW5kIG1hdGNoIHRoZSBtYWdpY1N0cmluZ1JlZ2V4LiAgVGhpcyBpcyBtYXliZSBhIGJpdCBnb29meSwgYnV0IGlzXHJcbi8vIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCB3YXkgdG8gbWFyayByZWdleGVzIGZvciB0cmFuc2xhdGlvbnMuXHJcbi8vIElmIGlzc3VlICMxMzA2IGlzIGV2ZXIgcmVzb2x2ZWQsIHdlIGNhbiByZW1vdmUgdGhpcy5cclxuY29uc3QgbWFnaWNUcmFuc2xhdGlvblN0cmluZyA9IGBeXmA7XHJcbmNvbnN0IG1hZ2ljU3RyaW5nUmVnZXggPSAvXlxcXlxcXi87XHJcbmNvbnN0IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uID0gW1xyXG4gICdhYmlsaXR5JyxcclxuICAnbmFtZScsXHJcbiAgJ3NvdXJjZScsXHJcbiAgJ3RhcmdldCcsXHJcbiAgJ2xpbmUnLFxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZnVuY05hbWU6IHN0cmluZyxcclxuICBmaWVsZHM6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+LFxyXG4pOiBDYWN0Ym90QmFzZVJlZ0V4cDxUPiA9PiB7XHJcbiAgcGFyYW1zID0gcGFyYW1zID8/IHt9O1xyXG4gIGNvbnN0IHZhbGlkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBmb3IgKGNvbnN0IGluZGV4IGluIGZpZWxkcykge1xyXG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaW5kZXhdO1xyXG4gICAgaWYgKGZpZWxkKVxyXG4gICAgICB2YWxpZEZpZWxkcy5wdXNoKGZpZWxkLmZpZWxkKTtcclxuICB9XHJcblxyXG4gIFJlZ2V4ZXMudmFsaWRhdGVQYXJhbXMocGFyYW1zLCBmdW5jTmFtZSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIEZvciB0ZXN0aW5nLCBpdCdzIHVzZWZ1bCB0byBrbm93IGlmIHRoaXMgaXMgYSByZWdleCB0aGF0IHJlcXVpcmVzXHJcbiAgLy8gdHJhbnNsYXRpb24uICBXZSB0ZXN0IHRoaXMgYnkgc2VlaW5nIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWVkXHJcbiAgLy8gZmllbGRzLCBhbmQgaWYgc28sIGluc2VydGluZyBhIG1hZ2ljIHN0cmluZyB0aGF0IHdlIGNhbiBkZXRlY3QuXHJcbiAgLy8gVGhpcyBsZXRzIHVzIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBcInJlZ2V4IHRoYXQgc2hvdWxkIGJlIHRyYW5zbGF0ZWRcIlxyXG4gIC8vIGUuZy4gYSByZWdleCB3aXRoIGB0YXJnZXRgIHNwZWNpZmllZCwgYW5kIFwicmVnZXggdGhhdCBzaG91bGRuJ3RcIlxyXG4gIC8vIGUuZy4gYSBnYWlucyBlZmZlY3Qgd2l0aCBqdXN0IGVmZmVjdElkIHNwZWNpZmllZC5cclxuICBjb25zdCB0cmFuc1BhcmFtcyA9IE9iamVjdC5rZXlzKHBhcmFtcykuZmlsdGVyKChrKSA9PiBrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbi5pbmNsdWRlcyhrKSk7XHJcbiAgY29uc3QgbmVlZHNUcmFuc2xhdGlvbnMgPSBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgJiYgdHJhbnNQYXJhbXMubGVuZ3RoID4gMDtcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBsZXQgc3RyID0gbmVlZHNUcmFuc2xhdGlvbnMgPyBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIDogJ14nO1xyXG4gIGxldCBsYXN0S2V5ID0gLTE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9ICdcXFxceXtOZXRGaWVsZH0nO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgXFxcXHl7TmV0RmllbGR9eyR7bWlzc2luZ0ZpZWxkc319YDtcclxuICAgIGxhc3RLZXkgPSBrZXk7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKTtcclxuXHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IG1hdGNoRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICkgK1xyXG4gICAgICAgIHNlcGFyYXRvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0ciArPSBmaWVsZFZhbHVlICsgc2VwYXJhdG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3AgaWYgd2UncmUgbm90IGNhcHR1cmluZyBhbmQgZG9uJ3QgY2FyZSBhYm91dCBmdXR1cmUgZmllbGRzLlxyXG4gICAgaWYgKGtleSA+PSBtYXhLZXkpXHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0UmVnZXhlcyB7XHJcbiAgc3RhdGljIGZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSBmYWxzZTtcclxuICBzdGF0aWMgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN0YXRpYyBkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24ocmVnZXg6IFJlZ0V4cCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gTmVlZCB0byBgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZGAgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5cclxuICAgIGNvbnNvbGUuYXNzZXJ0KE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCk7XHJcbiAgICBjb25zdCBzdHIgPSB0eXBlb2YgcmVnZXggPT09ICdzdHJpbmcnID8gcmVnZXggOiByZWdleC5zb3VyY2U7XHJcbiAgICByZXR1cm4gISFtYWdpY1N0cmluZ1JlZ2V4LmV4ZWMoc3RyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNC1uZXR3b3Jrc3RhcnRzY2FzdGluZ1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGFydHNVc2luZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXJ0c1VzaW5nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhcnRzVXNpbmcnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhcnRzVXNpbmcnLCBkZWZhdWx0UGFyYW1zKCdTdGFydHNVc2luZycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5KHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWJpbGl0eScsIHtcclxuICAgICAgLi4uZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpLFxyXG4gICAgICAvLyBPdmVycmlkZSB0eXBlXHJcbiAgICAgIDA6IHsgZmllbGQ6ICd0eXBlJywgdmFsdWU6ICcyWzEyXScgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ2FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWRkZWRDb21iYXRhbnRGdWxsJywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAncmVtb3ZpbmdDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdSZW1vdmVkQ29tYmF0YW50JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFhLW5ldHdvcmtidWZmXHJcbiAgICovXHJcbiAgc3RhdGljIGdhaW5zRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snR2FpbnNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYWluc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdnYWluc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0dhaW5zRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZmVyIGdhaW5zRWZmZWN0IG92ZXIgdGhpcyBmdW5jdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGV4dHJhIGRhdGEuXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI2LW5ldHdvcmtzdGF0dXNlZmZlY3RzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXR1c0VmZmVjdEV4cGxpY2l0KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTdGF0dXNFZmZlY3QnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhdHVzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXR1c0VmZmVjdEV4cGxpY2l0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdsb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXRDaGFuZ2UnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdjaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbmV0d29yazZkJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ21hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcbn1cclxuIiwiLy8gSGVscGVyIEVycm9yIGZvciBUeXBlU2NyaXB0IHNpdHVhdGlvbnMgd2hlcmUgdGhlIHByb2dyYW1tZXIgdGhpbmtzIHRoZXlcclxuLy8ga25vdyBiZXR0ZXIgdGhhbiBUeXBlU2NyaXB0IHRoYXQgc29tZSBzaXR1YXRpb24gd2lsbCBuZXZlciBvY2N1ci5cclxuXHJcbi8vIFRoZSBpbnRlbnRpb24gaGVyZSBpcyB0aGF0IHRoZSBwcm9ncmFtbWVyIGRvZXMgbm90IGV4cGVjdCBhIHBhcnRpY3VsYXJcclxuLy8gYml0IG9mIGNvZGUgdG8gaGFwcGVuLCBhbmQgc28gaGFzIG5vdCB3cml0dGVuIGNhcmVmdWwgZXJyb3IgaGFuZGxpbmcuXHJcbi8vIElmIGl0IGRvZXMgb2NjdXIsIGF0IGxlYXN0IHRoZXJlIHdpbGwgYmUgYW4gZXJyb3IgYW5kIHdlIGNhbiBmaWd1cmUgb3V0IHdoeS5cclxuLy8gVGhpcyBpcyBwcmVmZXJhYmxlIHRvIGNhc3Rpbmcgb3IgZGlzYWJsaW5nIFR5cGVTY3JpcHQgYWx0b2dldGhlciBpbiBvcmRlciB0b1xyXG4vLyBhdm9pZCBzeW50YXggZXJyb3JzLlxyXG5cclxuLy8gT25lIGNvbW1vbiBleGFtcGxlIGlzIGEgcmVnZXgsIHdoZXJlIGlmIHRoZSByZWdleCBtYXRjaGVzIHRoZW4gYWxsIG9mIHRoZVxyXG4vLyAobm9uLW9wdGlvbmFsKSByZWdleCBncm91cHMgd2lsbCBhbHNvIGJlIHZhbGlkLCBidXQgVHlwZVNjcmlwdCBkb2Vzbid0IGtub3cuXHJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNvZGUgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVGhpcyBjb2RlIHNob3VsZG5cXCd0IGJlIHJlYWNoZWQnKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgRnVsbExvY2FsZVRleHQgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIE91dHB1dCBzdHJpbmdzIGZvciBub3cgcmVxdWlyZSBhIGZpZWxkIGZvciBldmVyeSBsYW5ndWFnZSwgc28gdGhpcyBpcyBhXHJcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZW5lcmF0ZSBvbmUgZm9yIGxpdGVyYWwgbnVtYmVycy5cclxuY29uc3QgbnVtYmVyVG9PdXRwdXRTdHJpbmcgPSBmdW5jdGlvbihuOiBudW1iZXIpOiBGdWxsTG9jYWxlVGV4dCB7XHJcbiAgY29uc3Qgc3RyID0gbi50b1N0cmluZygpO1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogc3RyLFxyXG4gICAgZGU6IHN0cixcclxuICAgIGZyOiBzdHIsXHJcbiAgICBqYTogc3RyLFxyXG4gICAgY246IHN0cixcclxuICAgIGtvOiBzdHIsXHJcbiAgfTtcclxufTtcclxuXHJcbi8vIEdlbmVyYWwgZ3VpZGVsaW5lczpcclxuLy8gKiBwcm9wZXJ0eSBuYW1lcyBzaG91bGQgY2xvc2VseSBtYXRjaCBFbmdsaXNoIHRleHRcclxuLy8gKiB1c2UgT25QbGF5ZXIgc3VmZml4IGZvciB0aGluZ3Mgd2l0aCBgJHtwbGF5ZXJ9YFxyXG4vLyAqIHVzZSBPblRhcmdldCBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke25hbWV9YFxyXG4vLyAqIGFueSBvdGhlciBwYXJhbWV0ZXJzIChvZiB3aGljaCB0aGVyZSBhcmUgbm9uZSwgY3VycmVudGx5KSBzaG91bGQgdXNlIGNvbnNpc3RlbnQgc3VmZml4ZXMuXHJcbi8vICogdGhlIHZhbHVlIG9mIGVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIGEgc2luZ2xlIG9iamVjdCB3aXRoIGxvY2FsaXplZCBrZXlzXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBhb2U6IHtcclxuICAgIGVuOiAnYW9lJyxcclxuICAgIGRlOiAnQW9FJyxcclxuICAgIGZyOiAnQW9FJyxcclxuICAgIGphOiAnQW9FJyxcclxuICAgIGNuOiAnQW9FJyxcclxuICAgIGtvOiAn7KCE7LK0IOqzteqyqScsXHJcbiAgfSxcclxuICBiaWdBb2U6IHtcclxuICAgIGVuOiAnYmlnIGFvZSEnLFxyXG4gICAgZGU6ICdHcm/Dn2UgQW9FIScsXHJcbiAgICBmcjogJ0dyb3NzZSBBb0UgIScsXHJcbiAgICBqYTogJ+Wkp+ODgOODoeODvOOCuEFvRScsXHJcbiAgICBjbjogJ+Wkp0FvReS8pOWus++8gScsXHJcbiAgICBrbzogJ+qwle2VnCDsoITssrQg6rO16rKpIScsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiB7XHJcbiAgICBlbjogJ01pbmkgQnVzdGVyJyxcclxuICAgIGRlOiAnS2xlaW5lciBUYW5rYnVzdGVyJyxcclxuICAgIGZyOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgamE6ICfjg5/jg4vjg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflsI/mrbvliJEnLFxyXG4gICAga286ICfslb3tlZwg7YOx67KEJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJPblBsYXllcjoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkSDngrkgJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiBESVInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkeeCueWQjScsXHJcbiAgICBrbzogJ+2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgLy8gd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgdGFua2J1c3RlcnMgZ29pbmcgb3V0XHJcbiAgdGFua0J1c3RlcnM6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXJzJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcnMnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflnablhYvmrbvliJEnLFxyXG4gICAga286ICftg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlJyxcclxuICAgIGZyOiAnVGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoMnLFxyXG4gICAgY246ICfpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIGF2b2lkVGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdBdm9pZCB0YW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1c3dlaWNoZW4nLFxyXG4gICAgZnI6ICfDiXZpdGV6IGxlIHRhbmsgY2xlYXZlJyxcclxuICAgIGphOiAn5YmN5pa556+E5Zuy5pS75pKD44KS6YG/44GR44KLJyxcclxuICAgIGNuOiAn6L+c56a76aG65YqIJyxcclxuICAgIGtvOiAn6rSR7JetIO2DseuyhCDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZU9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1ZCBESVInLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiOeCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyJyxcclxuICAgIGZyOiAnUGFydGFnZXogbGUgVGFuayBidXN0ZXInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJEnLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXJPbllvdToge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnZ2V0ZWlsdGVyIFRhbmtidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7ImQ7Ja0IO2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciDDoCBwYXJ0YWdlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ9IOOBq+OCv+ODs+OCr+OCt+OCp+OCoicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkeeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua1N3YXA6IHtcclxuICAgIGVuOiAnVGFuayBTd2FwIScsXHJcbiAgICBkZTogJ1Rhbmt3ZWNoc2VsIScsXHJcbiAgICBmcjogJ1Rhbmsgc3dhcCAhJyxcclxuICAgIGphOiAn44K/44Oz44Kv44K544Kk44OD44OBIScsXHJcbiAgICBjbjogJ+aNolTvvIEnLFxyXG4gICAga286ICftg7Eg6rWQ64yAJyxcclxuICB9LFxyXG4gIHNwcmVhZDoge1xyXG4gICAgZW46ICdTcHJlYWQnLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdEaXNwZXJzZXotdm91cycsXHJcbiAgICBqYTogJ+aVo+mWiycsXHJcbiAgICBjbjogJ+WIhuaVoycsXHJcbiAgICBrbzogJ+yCsOqwnCcsXHJcbiAgfSxcclxuICBzdGFja01hcmtlcjoge1xyXG4gICAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6aCt5Ymy44KKJyxcclxuICAgIGNuOiAn5YiG5pGKJyxcclxuICAgIGtvOiAn7ImQ7Ja0646AJyxcclxuICB9LFxyXG4gIGdldFRvZ2V0aGVyOiB7XHJcbiAgICAvLyBmb3IgZ2V0dGluZyB0b2dldGhlciB3aXRob3V0IHN0YWNrIG1hcmtlclxyXG4gICAgZW46ICdTdGFjaycsXHJcbiAgICBkZTogJ1NhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cycsXHJcbiAgICBqYTogJ+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiCcsXHJcbiAgICBrbzogJ+uqqOydtOq4sCcsXHJcbiAgfSxcclxuICBzdGFja09uWW91OiB7XHJcbiAgICBlbjogJ1N0YWNrIG9uIFlPVScsXHJcbiAgICBkZTogJ0F1ZiBESVIgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2thZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavpm4blkIgnLFxyXG4gICAgY246ICfpm4blkIjngrnlkI0nLFxyXG4gICAga286ICfsiZDslrTsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHN0YWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gJHtwbGF5ZXJ9JyxcclxuICAgIGRlOiAnQXVmICR7cGxheWVyfSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mdoOi/kSAke3BsYXllcn3pm4blkIgnLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtOynlScsXHJcbiAgfSxcclxuICBzdGFja01pZGRsZToge1xyXG4gICAgZW46ICdTdGFjayBpbiBtaWRkbGUnLFxyXG4gICAgZGU6ICdJbiBkZXIgTWl0dGUgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzIGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reWkruOBp+mbhuWQiCcsXHJcbiAgICBjbjogJ+S4remXtOmbhuWQiCcsXHJcbiAgICBrbzogJ+ykkeyVmeyXkOyEnCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgZG9yaXRvU3RhY2s6IHtcclxuICAgIGVuOiAnRG9yaXRvIFN0YWNrJyxcclxuICAgIGRlOiAnTWl0IE1hcmtlciBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6IGxlcyBtYXJxdWFnZXMnLFxyXG4gICAgamE6ICfjg57jg7zjgqvjg7zku5jjgZHjgZ/kurrjgajpm4blkIgnLFxyXG4gICAgY246ICfngrnlkI3pm4blkIgnLFxyXG4gICAga286ICfsp5Xrgbzrpqwg66qo7J206riwJyxcclxuICB9LFxyXG4gIHNwcmVhZFRoZW5TdGFjazoge1xyXG4gICAgZW46ICdTcHJlYWQgPT4gU3RhY2snLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4gPT4gU2FtbWVsbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNpb24gPT4gUGFja2FnZScsXHJcbiAgICBqYTogJ+aVo+mWiyA9PiDpm4blkIgnLFxyXG4gICAgY246ICfliIbmlaMgPT4g6ZuG5ZCIJyxcclxuICAgIGtvOiAn7IKw6rCcID0+IOynke2VqScsXHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IHtcclxuICAgIGVuOiAnU3RhY2sgPT4gU3ByZWFkJyxcclxuICAgIGRlOiAnU2FtbWVsbiA9PiBWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdQYWNrYWdlID0+IERpc3BlcnNpb24nLFxyXG4gICAgamE6ICfjgrnjgr/jg4Pjgq8gPT4g5pWj6ZaLJyxcclxuICAgIGNuOiAn6ZuG5ZCIID0+IOWIhuaVoycsXHJcbiAgICBrbzogJ+ynke2VqSA9PiDsgrDqsJwnLFxyXG4gIH0sXHJcbiAgZHJhd0luOiB7XHJcbiAgICAvLyBPcHBvc2l0ZSBvZiBhIGtub2NrYmFjay5cclxuICAgIGVuOiAnRHJhdyBJbicsXHJcbiAgICBkZTogJ0Vpbnp1ZycsXHJcbiAgICBmcjogJ0F0dHJhY3Rpb24nLFxyXG4gICAgamE6ICflkLjovrzjgb8nLFxyXG4gICAgY246ICflkLjlvJUnLFxyXG4gICAga286ICfrgYzslrTri7nquYAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjaycsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZScsXHJcbiAgICBqYTogJ+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgCcsXHJcbiAgICBrbzogJ+uEieuwsScsXHJcbiAgfSxcclxuICBrbm9ja2JhY2tPbllvdToge1xyXG4gICAgZW46ICdLbm9ja2JhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnUG91c3PDqWUgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0nLFxyXG4gICAga286ICfrhInrsLHsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uUGxheWVyOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCA54K55ZCNJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDrhInrsLHsp5UnLFxyXG4gIH0sXHJcbiAgbG9va1Rvd2FyZHNCb3NzOiB7XHJcbiAgICBlbjogJ0xvb2sgVG93YXJkcyBCb3NzJyxcclxuICAgIGRlOiAnQW5zY2hhdWVuIEJvc3MnLFxyXG4gICAgZnI6ICdSZWdhcmRleiBsZSBib3NzJyxcclxuICAgIGphOiAn44Oc44K544KS6KaL44KLJyxcclxuICAgIGNuOiAn6Z2i5ZCRQm9zcycsXHJcbiAgICBrbzogJ+yzkOuLpOuztOq4sCcsXHJcbiAgfSxcclxuICBsb29rQXdheToge1xyXG4gICAgZW46ICdMb29rIEF3YXknLFxyXG4gICAgZGU6ICdXZWdzY2hhdWVuJyxcclxuICAgIGZyOiAnUmVnYXJkZXogYWlsbGV1cnMnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7lCb3NzJyxcclxuICAgIGtvOiAn65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVBsYXllcjoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ05lIHJlZ2FyZGV6IHBhcyAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke3BsYXllcn0nLFxyXG4gICAga286ICcke3BsYXllcn3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVRhcmdldDoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke25hbWV9JyxcclxuICAgIGRlOiAnU2NoYXUgd2VnIHZvbiAke25hbWV9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV944KS6KaL44Gq44GEJyxcclxuICAgIGNuOiAn6IOM5a+5JHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGdldEJlaGluZDoge1xyXG4gICAgZW46ICdHZXQgQmVoaW5kJyxcclxuICAgIGRlOiAnSGludGVyIGlobicsXHJcbiAgICBmcjogJ1Bhc3NleiBkZXJyacOocmUnLFxyXG4gICAgamE6ICfog4zpnaLjgbgnLFxyXG4gICAgY246ICfljrvog4zlkI4nLFxyXG4gICAga286ICfrs7TsiqQg65Kk66GcJyxcclxuICB9LFxyXG4gIGdvRnJvbnRPclNpZGVzOiB7XHJcbiAgICBlbjogJ0dvIEZyb250IC8gU2lkZXMnLFxyXG4gICAgZGU6ICdHZWhlIG5hY2ggVm9ybmUvIHp1IGRlbiBTZWl0ZW4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQgLyBDw7R0w6lzJyxcclxuICAgIGphOiAn5YmN77yP5qiq44G4JyxcclxuICAgIGNuOiAn5Y675YmN5L6n5pa5JyxcclxuICAgIGtvOiAn67O07IqkIO2bhOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udDoge1xyXG4gICAgZW46ICdHbyBGcm9udCcsXHJcbiAgICBkZTogJ0dlaCBuYWNoIHZvcm4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQnLFxyXG4gICAgamE6ICfliY3jgbgnLFxyXG4gICAgY246ICfljrvliY3pnaInLFxyXG4gICAga286ICfslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gZ2V0VW5kZXIgaXMgdXNlZCB3aGVuIHlvdSBoYXZlIHRvIGdldCBpbnRvIHRoZSBib3NzZXMgaGl0Ym94XHJcbiAgZ2V0VW5kZXI6IHtcclxuICAgIGVuOiAnR2V0IFVuZGVyJyxcclxuICAgIGRlOiAnVW50ZXIgaWhuJyxcclxuICAgIGZyOiAnRW4gZGVzc291cycsXHJcbiAgICBqYTogJ+ODnOOCueOBq+iyvOOCiuS7mOOBjycsXHJcbiAgICBjbjogJ+WOu+iEmuS4iycsXHJcbiAgICBrbzogJ+uztOyKpCDslYTrnpjroZwnLFxyXG4gIH0sXHJcbiAgLy8gaW4gaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGluOiB7XHJcbiAgICBlbjogJ0luJyxcclxuICAgIGRlOiAnUmVpbicsXHJcbiAgICBmcjogJ0ludMOpcmlldXInLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfpnaDov5EnLFxyXG4gICAga286ICfslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gb3V0IG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIG91dDoge1xyXG4gICAgZW46ICdPdXQnLFxyXG4gICAgZGU6ICdSYXVzJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemuycsXHJcbiAgICBrbzogJ+uwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRPZk1lbGVlOiB7XHJcbiAgICBlbjogJ091dCBvZiBtZWxlZScsXHJcbiAgICBkZTogJ1JhdXMgYXVzIE5haGthbXBmJyxcclxuICAgIGZyOiAnU29ydGV6IGRlIGxhIG3DqmzDqWUnLFxyXG4gICAgamE6ICfov5HmjqXmnIDlpKfjg6zjg7PjgrgnLFxyXG4gICAgY246ICfov5HmiJjmnIDov5zot53nprvlm57pgb8nLFxyXG4gICAga286ICfqt7zsoJHrspTsnIQg67CW7Jy866GcJyxcclxuICB9LFxyXG4gIGluVGhlbk91dDoge1xyXG4gICAgZW46ICdJbiwgdGhlbiBvdXQnLFxyXG4gICAgZGU6ICdSZWluLCBkYW5uIHJhdXMnLFxyXG4gICAgZnI6ICdJbnTDqXJpZXVyLCBwdWlzIGV4dMOpcmlldXInLFxyXG4gICAgamE6ICfkuK0gPT4g5aSWJyxcclxuICAgIGNuOiAn5YWI6Z2g6L+R77yM5YaN6L+c56a7JyxcclxuICAgIGtvOiAn7JWI7Jy866GcID0+IOuwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRUaGVuSW46IHtcclxuICAgIGVuOiAnT3V0LCB0aGVuIGluJyxcclxuICAgIGRlOiAnUmF1cywgZGFubiByZWluJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1ciwgcHVpcyBpbnTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSWID0+IOS4rScsXHJcbiAgICBjbjogJ+WFiOi/nOemu++8jOWGjemdoOi/kScsXHJcbiAgICBrbzogJ+uwluycvOuhnCA9PiDslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgYmFja1RoZW5Gcm9udDoge1xyXG4gICAgZW46ICdCYWNrIFRoZW4gRnJvbnQnLFxyXG4gICAgZGU6ICdOYWNoIEhpbnRlbiwgZGFuYWNoIG5hY2ggVm9ybmUnLFxyXG4gICAgZnI6ICdEZXJyacOocmUgcHVpcyBkZXZhbnQnLFxyXG4gICAgamE6ICflvozjgo0gPT4g5YmNJyxcclxuICAgIGNuOiAn5ZCOID0+IOWJjScsXHJcbiAgICBrbzogJ+uSpOuhnCA9PiDslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgZnJvbnRUaGVuQmFjazoge1xyXG4gICAgZW46ICdGcm9udCBUaGVuIEJhY2snLFxyXG4gICAgZGU6ICdOYWNoIFZvcm5lLCBkYW5hY2ggbmFjaCBIaW50ZW4nLFxyXG4gICAgZnI6ICdEZXZhbnQgcHVpcyBkZXJyacOocmUnLFxyXG4gICAgamE6ICfliY0gPT4g5b6M44KNJyxcclxuICAgIGNuOiAn5YmNID0+IOWQjicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCA9PiDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29JbnRvTWlkZGxlOiB7XHJcbiAgICBlbjogJ0dldCBNaWRkbGUnLFxyXG4gICAgZGU6ICdpbiBkaWUgTWl0dGUgZ2VoZW4nLFxyXG4gICAgZnI6ICdBbGxleiBhdSBtaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfljrvkuK3pl7QnLFxyXG4gICAga286ICfspJHslZnsnLzroZwnLFxyXG4gIH0sXHJcbiAgcmlnaHQ6IHtcclxuICAgIGVuOiAnUmlnaHQnLFxyXG4gICAgZGU6ICdSZWNodHMnLFxyXG4gICAgZnI6ICfDgCBkcm9pdGUnLFxyXG4gICAgamE6ICflj7PjgbgnLFxyXG4gICAgY246ICflj7MnLFxyXG4gICAga286ICfsmKTrpbjsqr0nLFxyXG4gIH0sXHJcbiAgbGVmdDoge1xyXG4gICAgZW46ICdMZWZ0JyxcclxuICAgIGRlOiAnTGlua3MnLFxyXG4gICAgZnI6ICfDgCBnYXVjaGUnLFxyXG4gICAgamE6ICflt6bjgbgnLFxyXG4gICAgY246ICflt6YnLFxyXG4gICAga286ICfsmbzsqr0nLFxyXG4gIH0sXHJcbiAgZ2V0TGVmdEFuZFdlc3Q6IHtcclxuICAgIGVuOiAnPD0gR2V0IExlZnQvV2VzdCcsXHJcbiAgICBkZTogJzw9IE5hY2ggTGlua3MvV2VzdGVuJyxcclxuICAgIGZyOiAnPD0gQWxsZXogw6AgR2F1Y2hlL091ZXN0JyxcclxuICAgIGphOiAnPD0g5bemL+ilv+OBuCcsXHJcbiAgICBjbjogJzw9IOWOu+W3pi/opb/ovrknLFxyXG4gICAga286ICc8PSDsmbzsqr3snLzroZwnLFxyXG4gIH0sXHJcbiAgZ2V0UmlnaHRBbmRFYXN0OiB7XHJcbiAgICBlbjogJ0dldCBSaWdodC9FYXN0ID0+JyxcclxuICAgIGRlOiAnTmFjaCBSZWNodHMvT3N0ZW4gPT4nLFxyXG4gICAgZnI6ICdBbGxleiDDoCBEcm9pdGUvRXN0ID0+JyxcclxuICAgIGphOiAn5Y+zL+adseOBuCA9PicsXHJcbiAgICBjbjogJ+WOu+WPsy/kuJzovrkgPT4nLFxyXG4gICAga286ICfsmKTrpbjsqr3snLzroZwgPT4nLFxyXG4gIH0sXHJcbiAgZ29Gcm9udEJhY2s6IHtcclxuICAgIGVuOiAnR28gRnJvbnQvQmFjaycsXHJcbiAgICBkZTogJ0dlaCBuYWNoIFZvcm5lL0hpbnRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudC9EZXJyacOocmUnLFxyXG4gICAgamE6ICfnuKbjgbgnLFxyXG4gICAgY246ICfljrvliY3lkI4nLFxyXG4gICAga286ICfslZ4v65Kk66GcJyxcclxuICB9LFxyXG4gIHNpZGVzOiB7XHJcbiAgICBlbjogJ1NpZGVzJyxcclxuICAgIGRlOiAnU2VpdGVuJyxcclxuICAgIGZyOiAnQ8O0dMOpcycsXHJcbiAgICBqYTogJ+aoquOBuCcsXHJcbiAgICBjbjogJ+WOu+S+p+mdoicsXHJcbiAgICBrbzogJ+yWkeyYhuycvOuhnCcsXHJcbiAgfSxcclxuICBtaWRkbGU6IHtcclxuICAgIGVuOiAnTWlkZGxlJyxcclxuICAgIGRlOiAnTWl0dGUnLFxyXG4gICAgZnI6ICdNaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfkuK3pl7QnLFxyXG4gICAga286ICfspJHslZknLFxyXG4gIH0sXHJcbiAgLy8ga2lsbEFkZHMgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiB7XHJcbiAgICBlbjogJ0tpbGwgYWRkcycsXHJcbiAgICBkZTogJ0FkZHMgYmVzaWVnZW4nLFxyXG4gICAgZnI6ICdUdWV6IGxlcyBhZGRzJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5Yem55CGJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICAvLyBraWxsRXh0cmFBZGQgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDoge1xyXG4gICAgZW46ICdLaWxsIEV4dHJhIEFkZCcsXHJcbiAgICBkZTogJ0FkZCBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbFxcJ2FkZCcsXHJcbiAgICBqYTogJ+mbkemtmuOCkuWAkuOBmScsXHJcbiAgICBjbjogJ+WHu+adgOWwj+aAqicsXHJcbiAgICBrbzogJ+yrhCDsnqHquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21Gcm9udDoge1xyXG4gICAgZW46ICdBd2F5IEZyb20gRnJvbnQnLFxyXG4gICAgZGU6ICdXZWcgdm9uIFZvcm5lJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZGV2YW50JyxcclxuICAgIGphOiAn5YmN5pa544GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a75q2j6Z2iJyxcclxuICAgIGtvOiAn67O07IqkIOyghOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgc2xlZXBUYXJnZXQ6IHtcclxuICAgIGVuOiAnU2xlZXAgJHtuYW1lfScsXHJcbiAgICBkZTogJ1NjaGxhZiBhdWYgJHtuYW1lfScsXHJcbiAgICBmcjogJ1NvbW1laWwgc3VyICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueODquODl+ODqycsXHJcbiAgICBjbjogJ+WCrOecoCAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfSDsiqzrpqztlIwnLFxyXG4gIH0sXHJcbiAgc3R1blRhcmdldDoge1xyXG4gICAgZW46ICdTdHVuICR7bmFtZX0nLFxyXG4gICAgZGU6ICdCZXTDpHVidW5nIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnw4l0b3VyZGlzc2V6ICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueOCv+ODsycsXHJcbiAgICBjbjogJ+ecqeaZlSAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOygiCcsXHJcbiAgfSxcclxuICBpbnRlcnJ1cHRUYXJnZXQ6IHtcclxuICAgIGVuOiAnaW50ZXJydXB0ICR7bmFtZX0nLFxyXG4gICAgZGU6ICd1bnRlcmJyZWNoZSAke25hbWV9JyxcclxuICAgIGZyOiAnSW50ZXJyb21wZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr5rKI6buZJyxcclxuICAgIGNuOiAn5omT5patJHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3quLDsiKAg7Iuc7KCEIOuBiuq4sCcsXHJcbiAgfSxcclxuICBwcmV5T25Zb3U6IHtcclxuICAgIGVuOiAnUHJleSBvbiBZT1UnLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5o2V6aOfJyxcclxuICAgIGNuOiAn5o6g6aOf54K55ZCNJyxcclxuICAgIGtvOiAn7ZmN7Jil7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBwcmV5T25QbGF5ZXI6IHtcclxuICAgIGVuOiAnUHJleSBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2ZjeyYpeynlScsXHJcbiAgfSxcclxuICBhd2F5RnJvbUdyb3VwOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSBHcm91cCcsXHJcbiAgICBkZTogJ1dlZyB2b24gZGVyIEdydXBwZScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGR1IGdyb3VwZScsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemu+S6uue+pCcsXHJcbiAgICBrbzogJ+uLpOuluCDsgqzrnozrk6TsnbTrnpEg65ao7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdXZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGRlICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBi+OCiembouOCjOOCiycsXHJcbiAgICBjbjogJ+i/nOemuyR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCLsl5DshJwg66mA7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIG1ldGVvck9uWW91OiB7XHJcbiAgICBlbjogJ01ldGVvciBvbiBZT1UnLFxyXG4gICAgZGU6ICdNZXRlb3IgYXVmIERJUicsXHJcbiAgICBmcjogJ03DqXTDqW9yZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODoeODhuOCqicsXHJcbiAgICBjbjogJ+mZqOefs+eCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDrqZTthYzsmKTsp5UnLFxyXG4gIH0sXHJcbiAgc3RvcE1vdmluZzoge1xyXG4gICAgZW46ICdTdG9wIE1vdmluZyEnLFxyXG4gICAgZGU6ICdCZXdlZ3VuZyBzdG9wcGVuIScsXHJcbiAgICBmcjogJ05lIGJvdWdleiBwYXMgIScsXHJcbiAgICBqYTogJ+enu+WLleemgeatou+8gScsXHJcbiAgICBjbjogJ+WBnOatouenu+WKqO+8gScsXHJcbiAgICBrbzogJ+ydtOuPmSDrqYjstpTquLAhJyxcclxuICB9LFxyXG4gIHN0b3BFdmVyeXRoaW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgRXZlcnl0aGluZyEnLFxyXG4gICAgZGU6ICdTdG9wcGUgQWxsZXMhJyxcclxuICAgIGZyOiAnQXJyw6p0ZXogVE9VVCAhJyxcclxuICAgIGphOiAn6KGM5YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i6KGM5Yqo77yBJyxcclxuICAgIGtvOiAn7ZaJ64+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUF3YXk6IHtcclxuICAgIC8vIG1vdmUgYXdheSB0byBkb2RnZSBhb2VzXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+mBv+OBkeOBpu+8gScsXHJcbiAgICBjbjogJ+W/q+i6suW8gO+8gScsXHJcbiAgICBrbzogJ+ydtOuPme2VmOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUFyb3VuZDoge1xyXG4gICAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+WLleOBj++8gScsXHJcbiAgICBjbjogJ+W/q+WKqO+8gScsXHJcbiAgICBrbzogJ+ybgOyngeydtOq4sCEnLFxyXG4gIH0sXHJcbiAgYnJlYWtDaGFpbnM6IHtcclxuICAgIGVuOiAnQnJlYWsgY2hhaW5zJyxcclxuICAgIGRlOiAnS2V0dGUgemVyYnJlY2hlbicsXHJcbiAgICBmcjogJ0JyaXNleiBsZXMgY2hhaW5lcycsXHJcbiAgICBqYTogJ+e3muOCkuWIh+OCiycsXHJcbiAgICBjbjogJ+WIh+aWrei/nue6vycsXHJcbiAgICBrbzogJ+yEoCDrgYrquLAnLFxyXG4gIH0sXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiB7XHJcbiAgICBlbjogJ01vdmUgY2hhaW5zIHRvZ2V0aGVyJyxcclxuICAgIGRlOiAnS2V0dGVuIHp1c2FtbWVuIGJld2VnZW4nLFxyXG4gICAgZnI6ICdCb3VnZXogbGVzIGNoYWluZXMgZW5zZW1ibGUnLFxyXG4gICAgamE6ICfnt5rlkIzlo6vkuIDnt5Ljgavnp7vli5UnLFxyXG4gICAgY246ICfov57nur/kuIDotbfnp7vliqgnLFxyXG4gICAga286ICfshKAg67aZ7Ja07IScIOqwmeydtCDsm4Dsp4HsnbTquLAnLFxyXG4gIH0sXHJcbiAgZWFydGhzaGFrZXJPbllvdToge1xyXG4gICAgZW46ICdFYXJ0aCBTaGFrZXIgb24gWU9VJyxcclxuICAgIGRlOiAnRXJkc3Rvw58gYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1ZSBkZSB0ZXJyZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCouODvOOCueOCt+OCp+OCpOOCq+ODvCcsXHJcbiAgICBjbjogJ+Wkp+WcsOaRh+WKqOeCueWQjScsXHJcbiAgICBrbzogJ+yWtOyKpOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgd2FrZVVwOiB7XHJcbiAgICBlbjogJ1dBS0UgVVAnLFxyXG4gICAgZGU6ICdBVUZXQUNIRU4nLFxyXG4gICAgZnI6ICdSw4lWRUlMTEUtVE9JJyxcclxuICAgIGphOiAn55uu44KS6Kaa44G+44GX44Gm77yBJyxcclxuICAgIGNuOiAn6YaS6YaS77yB5Yqo5LiA5Yqo77yB77yBJyxcclxuICAgIGtvOiAn7J287Ja064KY7IS47JqUIScsXHJcbiAgfSxcclxuICBjbG9zZVRldGhlcnNXaXRoUGxheWVyOiB7XHJcbiAgICBlbjogJ0Nsb3NlIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdOYWhlIFZlcmJpbmR1bmdlbiAoJHtwbGF5ZXJ9KScsXHJcbiAgICBmcjogJ0xpZW5zIHByb2NoZXMgYXZlYyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBqYTogJygke3BsYXllcn0p44Gr6L+R44Gl44GPJyxcclxuICAgIGNuOiAn6Z2g6L+R6L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOqwgOq5jOydtCDrtpnquLAgKCR7cGxheWVyfSknLFxyXG4gIH0sXHJcbiAgZmFyVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnRmFyIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdFbnRmZXJudGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgw6lsb2lnbsOpcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnICgke3BsYXllcn0p44GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a76L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOuWqOyWtOyngOq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJz8/PycsXHJcbiAgICBkZTogJz8/PycsXHJcbiAgICBmcjogJz8/PycsXHJcbiAgICBqYTogJz8/PycsXHJcbiAgICBjbjogJz8/PycsXHJcbiAgICBrbzogJz8/PycsXHJcbiAgfSxcclxuICBub3J0aDoge1xyXG4gICAgZW46ICdOb3J0aCcsXHJcbiAgICBkZTogJ05vcmRlbicsXHJcbiAgICBmcjogJ05vcmQnLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBzb3V0aDoge1xyXG4gICAgZW46ICdTb3V0aCcsXHJcbiAgICBkZTogJ1PDvGRlbicsXHJcbiAgICBmcjogJ1N1ZCcsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGVhc3Q6IHtcclxuICAgIGVuOiAnRWFzdCcsXHJcbiAgICBkZTogJ09zdGVuJyxcclxuICAgIGZyOiAnRXN0JyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgd2VzdDoge1xyXG4gICAgZW46ICdXZXN0JyxcclxuICAgIGRlOiAnV2VzdGVuJyxcclxuICAgIGZyOiAnT3Vlc3QnLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBub3J0aHdlc3Q6IHtcclxuICAgIGVuOiAnTm9ydGh3ZXN0JyxcclxuICAgIGRlOiAnTm9yZHdlc3RlbicsXHJcbiAgICBmcjogJ05vcmQtT3Vlc3QnLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBub3J0aGVhc3Q6IHtcclxuICAgIGVuOiAnTm9ydGhlYXN0JyxcclxuICAgIGRlOiAnTm9yZG9zdGVuJyxcclxuICAgIGZyOiAnTm9yZC1Fc3QnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBzb3V0aHdlc3Q6IHtcclxuICAgIGVuOiAnU291dGh3ZXN0JyxcclxuICAgIGRlOiAnU8O8ZHdlc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIHNvdXRoZWFzdDoge1xyXG4gICAgZW46ICdTb3V0aGVhc3QnLFxyXG4gICAgZGU6ICdTw7xkb3N0ZW4nLFxyXG4gICAgZnI6ICdTdWQtRXN0JyxcclxuICAgIGphOiAn5Y2X5p2xJyxcclxuICAgIGNuOiAn5Y+z5LiLKOS4nOWNlyknLFxyXG4gICAga286ICfrgqjrj5knLFxyXG4gIH0sXHJcbiAgZGlyTjoge1xyXG4gICAgZW46ICdOJyxcclxuICAgIGRlOiAnTicsXHJcbiAgICBmcjogJ04nLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBkaXJTOiB7XHJcbiAgICBlbjogJ1MnLFxyXG4gICAgZGU6ICdTJyxcclxuICAgIGZyOiAnUycsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGRpckU6IHtcclxuICAgIGVuOiAnRScsXHJcbiAgICBkZTogJ08nLFxyXG4gICAgZnI6ICdFJyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgZGlyVzoge1xyXG4gICAgZW46ICdXJyxcclxuICAgIGRlOiAnVycsXHJcbiAgICBmcjogJ08nLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBkaXJOVzoge1xyXG4gICAgZW46ICdOVycsXHJcbiAgICBkZTogJ05XJyxcclxuICAgIGZyOiAnTk8nLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBkaXJORToge1xyXG4gICAgZW46ICdORScsXHJcbiAgICBkZTogJ05PJyxcclxuICAgIGZyOiAnTkUnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBkaXJTVzoge1xyXG4gICAgZW46ICdTVycsXHJcbiAgICBkZTogJ1NXJyxcclxuICAgIGZyOiAnU08nLFxyXG4gICAgamE6ICfljZfopb8nLFxyXG4gICAgY246ICflt6bkuIso6KW/5Y2XKScsXHJcbiAgICBrbzogJ+uCqOyEnCcsXHJcbiAgfSxcclxuICBkaXJTRToge1xyXG4gICAgZW46ICdTRScsXHJcbiAgICBkZTogJ1NPJyxcclxuICAgIGZyOiAnU0UnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICAvLyBMaXRlcmFsIG51bWJlcnMuXHJcbiAgbnVtMDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMCksXHJcbiAgbnVtMTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMSksXHJcbiAgbnVtMjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMiksXHJcbiAgbnVtMzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMyksXHJcbiAgbnVtNDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNCksXHJcbiAgbnVtNTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNSksXHJcbiAgbnVtNjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNiksXHJcbiAgbnVtNzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNyksXHJcbiAgbnVtODogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOCksXHJcbiAgbnVtOTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOSksXHJcbn0gYXMgY29uc3Q7XHJcbiIsIi8vIE92ZXJsYXlQbHVnaW4gQVBJIHNldHVwXHJcblxyXG5pbXBvcnQge1xyXG4gIEV2ZW50TWFwLFxyXG4gIEV2ZW50VHlwZSxcclxuICBJT3ZlcmxheUhhbmRsZXIsXHJcbiAgT3ZlcmxheUhhbmRsZXJGdW5jcyxcclxuICBPdmVybGF5SGFuZGxlclR5cGVzLFxyXG59IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuXHJcbnR5cGUgQmFzZVJlc3BvbnNlID0geyByc2VxPzogbnVtYmVyOyAnJGVycm9yJz86IGJvb2xlYW4gfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgIF9fT3ZlcmxheUNhbGxiYWNrOiBFdmVudE1hcFtFdmVudFR5cGVdO1xyXG4gICAgZGlzcGF0Y2hPdmVybGF5RXZlbnQ/OiB0eXBlb2YgcHJvY2Vzc0V2ZW50O1xyXG4gICAgT3ZlcmxheVBsdWdpbkFwaToge1xyXG4gICAgICByZWFkeTogYm9vbGVhbjtcclxuICAgICAgY2FsbEhhbmRsZXI6IChtc2c6IHN0cmluZywgY2I/OiAodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bikgPT4gdm9pZDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlcjtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgSUFkZE92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG50eXBlIElSZW1vdmVPdmVybGF5TGlzdGVuZXIgPSA8VCBleHRlbmRzIEV2ZW50VHlwZT4oZXZlbnQ6IFQsIGNiOiBFdmVudE1hcFtUXSkgPT4gdm9pZDtcclxuXHJcbnR5cGUgU3Vic2NyaWJlcjxUPiA9IHtcclxuICBba2V5IGluIEV2ZW50VHlwZV0/OiBUW107XHJcbn07XHJcbnR5cGUgRXZlbnRQYXJhbWV0ZXIgPSBQYXJhbWV0ZXJzPEV2ZW50TWFwW0V2ZW50VHlwZV0+WzBdO1xyXG50eXBlIFZvaWRGdW5jPFQ+ID0gKC4uLmFyZ3M6IFRbXSkgPT4gdm9pZDtcclxuXHJcbmxldCBpbml0ZWQgPSBmYWxzZTtcclxuXHJcbmxldCB3c1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7XHJcbmxldCBxdWV1ZTogKFxyXG4gIHwgeyBbczogc3RyaW5nXTogdW5rbm93biB9XHJcbiAgfCBbeyBbczogc3RyaW5nXTogdW5rbm93biB9LCAoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duKSB8IHVuZGVmaW5lZF1cclxuKVtdIHwgbnVsbCA9IFtdO1xyXG5sZXQgcnNlcUNvdW50ZXIgPSAwO1xyXG50eXBlIFByb21pc2VGdW5jcyA9IHtcclxuICByZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbn07XHJcbmNvbnN0IHJlc3BvbnNlUHJvbWlzZXM6IHsgW3JzZXFJZHg6IG51bWJlcl06IFByb21pc2VGdW5jcyB9ID0ge307XHJcblxyXG5jb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxWb2lkRnVuYzx1bmtub3duPj4gPSB7fTtcclxuXHJcbmNvbnN0IHNlbmRNZXNzYWdlID0gKFxyXG4gIG1zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIGNiPzogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAod3MpIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChtc2cpO1xyXG4gICAgZWxzZVxyXG4gICAgICB3cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAocXVldWUpXHJcbiAgICAgIHF1ZXVlLnB1c2goW21zZywgY2JdKTtcclxuICAgIGVsc2VcclxuICAgICAgd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkuY2FsbEhhbmRsZXIoSlNPTi5zdHJpbmdpZnkobXNnKSwgY2IpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NFdmVudCA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihtc2c6IFBhcmFtZXRlcnM8RXZlbnRNYXBbVF0+WzBdKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBzdWJzID0gc3Vic2NyaWJlcnNbbXNnLnR5cGVdO1xyXG4gIHN1YnM/LmZvckVhY2goKHN1YikgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgc3ViKG1zZyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGF0Y2hPdmVybGF5RXZlbnQgPSBwcm9jZXNzRXZlbnQ7XHJcblxyXG5leHBvcnQgY29uc3QgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKCFzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIHN1YnNjcmliZXJzW2V2ZW50XSA9IFtdO1xyXG5cclxuICAgIGlmICghcXVldWUpIHtcclxuICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgIGV2ZW50czogW2V2ZW50XSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVyc1tldmVudF0/LnB1c2goY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IChldmVudCwgY2IpOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGlmIChzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIGNvbnN0IGxpc3QgPSBzdWJzY3JpYmVyc1tldmVudF07XHJcbiAgICBjb25zdCBwb3MgPSBsaXN0Py5pbmRleE9mKGNiIGFzIFZvaWRGdW5jPHVua25vd24+KTtcclxuXHJcbiAgICBpZiAocG9zICE9PSB1bmRlZmluZWQgJiYgcG9zID4gLTEpXHJcbiAgICAgIGxpc3Q/LnNwbGljZShwb3MsIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlckludGVybmFsOiBJT3ZlcmxheUhhbmRsZXIgPSAoXHJcbiAgX21zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbik6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBtc2cgPSB7XHJcbiAgICAuLi5fbXNnLFxyXG4gICAgcnNlcTogMCxcclxuICB9O1xyXG4gIGxldCBwOiBQcm9taXNlPHVua25vd24+O1xyXG5cclxuICBpZiAod3MpIHtcclxuICAgIG1zZy5yc2VxID0gcnNlcUNvdW50ZXIrKztcclxuICAgIHAgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdID0geyByZXNvbHZlOiByZXNvbHZlLCByZWplY3Q6IHJlamVjdCB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgc2VuZE1lc3NhZ2UobXNnLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgcmVzb2x2ZShkYXRhKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShkYXRhKSBhcyBCYXNlUmVzcG9uc2U7XHJcbiAgICAgICAgaWYgKHBhcnNlZFsnJGVycm9yJ10pXHJcbiAgICAgICAgICByZWplY3QocGFyc2VkKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXNvbHZlKHBhcnNlZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcDtcclxufTtcclxuXHJcbnR5cGUgT3ZlcnJpZGVNYXAgPSB7IFtjYWxsIGluIE92ZXJsYXlIYW5kbGVyVHlwZXNdPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tjYWxsXSB9O1xyXG5jb25zdCBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcDogT3ZlcnJpZGVNYXAgPSB7fTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIC8vIElmIHRoaXMgYGFzYCBpcyBpbmNvcnJlY3QsIHRoZW4gaXQgd2lsbCBub3QgZmluZCBhbiBvdmVycmlkZS5cclxuICAvLyBUT0RPOiB3ZSBjb3VsZCBhbHNvIHJlcGxhY2UgdGhpcyB3aXRoIGEgdHlwZSBndWFyZC5cclxuICBjb25zdCB0eXBlID0gX21zZy5jYWxsIGFzIGtleW9mIE92ZXJyaWRlTWFwO1xyXG4gIGNvbnN0IGNhbGxGdW5jID0gY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV0gPz8gY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw7XHJcblxyXG4gIC8vIFRoZSBgSU92ZXJsYXlIYW5kbGVyYCB0eXBlIGd1YXJhbnRlZXMgdGhhdCBwYXJhbWV0ZXJzL3JldHVybiB0eXBlIG1hdGNoXHJcbiAgLy8gb25lIG9mIHRoZSBvdmVybGF5IGhhbmRsZXJzLiAgVGhlIE92ZXJyaWRlTWFwIGFsc28gb25seSBzdG9yZXMgZnVuY3Rpb25zXHJcbiAgLy8gdGhhdCBtYXRjaCBieSB0aGUgZGlzY3JpbWluYXRpbmcgYGNhbGxgIGZpZWxkLCBhbmQgc28gYW55IG92ZXJyaWRlc1xyXG4gIC8vIHNob3VsZCBiZSBjb3JyZWN0IGhlcmUuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XHJcbiAgcmV0dXJuIGNhbGxGdW5jKF9tc2cgYXMgYW55KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlID0gPFQgZXh0ZW5kcyBrZXlvZiBPdmVybGF5SGFuZGxlckZ1bmNzPihcclxuICB0eXBlOiBULFxyXG4gIG92ZXJyaWRlPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tUXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgaWYgKCFvdmVycmlkZSkge1xyXG4gICAgZGVsZXRlIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA9IG92ZXJyaWRlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluaXQgPSAoKTogdm9pZCA9PiB7XHJcbiAgaWYgKGluaXRlZClcclxuICAgIHJldHVybjtcclxuXHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB3c1VybCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdPVkVSTEFZX1dTJyk7XHJcbiAgICBpZiAod3NVcmwgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgY29ubmVjdFdzID0gZnVuY3Rpb24od3NVcmw6IHN0cmluZykge1xyXG4gICAgICAgIHdzID0gbmV3IFdlYlNvY2tldCh3c1VybCk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGVkIScpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGZvciAoY29uc3QgbXNnIG9mIHEpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1zZykpXHJcbiAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChfbXNnKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIF9tc2cuZGF0YSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIG1lc3NhZ2UgZGF0YSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoX21zZy5kYXRhKSBhcyBFdmVudFBhcmFtZXRlciAmIEJhc2VSZXNwb25zZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2VGdW5jcyA9IG1zZz8ucnNlcSAhPT0gdW5kZWZpbmVkID8gcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChtc2cucnNlcSAhPT0gdW5kZWZpbmVkICYmIHByb21pc2VGdW5jcykge1xyXG4gICAgICAgICAgICAgIGlmIChtc2dbJyRlcnJvciddKVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlamVjdChtc2cpO1xyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHByb21pc2VGdW5jcy5yZXNvbHZlKG1zZyk7XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NFdmVudChtc2cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCAoKSA9PiB7XHJcbiAgICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ1RyeWluZyB0byByZWNvbm5lY3QuLi4nKTtcclxuICAgICAgICAgIC8vIERvbid0IHNwYW0gdGhlIHNlcnZlciB3aXRoIHJldHJpZXMuXHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbm5lY3RXcyh3c1VybCk7XHJcbiAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHdhaXRGb3JBcGkgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpIHx8ICF3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5yZWFkeSkge1xyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQod2FpdEZvckFwaSwgMzAwKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgIHdpbmRvdy5fX092ZXJsYXlDYWxsYmFjayA9IHByb2Nlc3NFdmVudDtcclxuXHJcbiAgICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHEpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKVxyXG4gICAgICAgICAgICBzZW5kTWVzc2FnZShpdGVtWzBdLCBpdGVtWzFdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB3YWl0Rm9yQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVyZSB0aGUgT3ZlcmxheVBsdWdpbiBBUEkgaXMgcmVnaXN0ZXJlZCB0byB0aGUgd2luZG93IG9iamVjdCxcclxuICAgIC8vIGJ1dCB0aGlzIGlzIG1haW5seSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuRm9yIGNhY3Rib3QncyBidWlsdC1pbiBmaWxlcyxcclxuICAgIC8vIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgdmFyaW91cyBmdW5jdGlvbnMgZXhwb3J0ZWQgaW4gcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cy5cclxuICAgIHdpbmRvdy5hZGRPdmVybGF5TGlzdGVuZXIgPSBhZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cucmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gcmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgd2luZG93LmNhbGxPdmVybGF5SGFuZGxlciA9IGNhbGxPdmVybGF5SGFuZGxlcjtcclxuICAgIHdpbmRvdy5kaXNwYXRjaE92ZXJsYXlFdmVudCA9IGRpc3BhdGNoT3ZlcmxheUV2ZW50O1xyXG4gIH1cclxuXHJcbiAgaW5pdGVkID0gdHJ1ZTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0UGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3Byb3BzJztcclxuaW1wb3J0IHsgQ2FjdGJvdEJhc2VSZWdFeHAgfSBmcm9tICcuLi90eXBlcy9uZXRfdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgbG9nRGVmaW5pdGlvbnMsIHsgTG9nRGVmaW5pdGlvblR5cGVzLCBQYXJzZUhlbHBlckZpZWxkcyB9IGZyb20gJy4vbmV0bG9nX2RlZnMnO1xyXG5cclxuY29uc3Qgc2VwYXJhdG9yID0gJzonO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW146XSonO1xyXG5jb25zdCBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0ID0gJyg/OlteOl18OiApKj8nO1xyXG5jb25zdCBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zID0gWydlZmZlY3QnLCAnYWJpbGl0eSddO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZGVmS2V5OiBULFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGRlZktleSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIFNwZWNpYWwgY2FzZSBmb3IgQWJpbGl0eSB0byBoYW5kbGUgYW9lIGFuZCBub24tYW9lLlxyXG4gIGNvbnN0IGFiaWxpdHlNZXNzYWdlVHlwZSA9XHJcbiAgICBgKD86JHtsb2dEZWZpbml0aW9ucy5BYmlsaXR5Lm1lc3NhZ2VUeXBlfXwke2xvZ0RlZmluaXRpb25zLk5ldHdvcmtBT0VBYmlsaXR5Lm1lc3NhZ2VUeXBlfSlgO1xyXG4gIGNvbnN0IGFiaWxpdHlIZXhDb2RlID0gJyg/OjE1fDE2KSc7XHJcblxyXG4gIC8vIEJ1aWxkIHRoZSByZWdleCBmcm9tIHRoZSBmaWVsZHMuXHJcbiAgY29uc3QgcHJlZml4ID0gZGVmS2V5ICE9PSAnQWJpbGl0eScgPyBsb2dEZWZpbml0aW9uc1tkZWZLZXldLm1lc3NhZ2VUeXBlIDogYWJpbGl0eU1lc3NhZ2VUeXBlO1xyXG4gIGNvbnN0IGhleENvZGUgPSBkZWZLZXkgIT09ICdBYmlsaXR5J1xyXG4gICAgPyBgMDAke3BhcnNlSW50KGxvZ0RlZmluaXRpb25zW2RlZktleV0udHlwZSkudG9TdHJpbmcoMTYpfWAuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKClcclxuICAgIDogYWJpbGl0eUhleENvZGU7XHJcblxyXG4gIGxldCBzdHIgPSAnJztcclxuICBpZiAoY2FwdHVyZSlcclxuICAgIHN0ciArPSBgKD88dGltZXN0YW1wPlxcXFx5e1RpbWVzdGFtcH0pICR7cHJlZml4fSAoPzx0eXBlPiR7aGV4Q29kZX0pYDtcclxuICBlbHNlXHJcbiAgICBzdHIgKz0gYFxcXFx5e1RpbWVzdGFtcH0gJHtwcmVmaXh9ICR7aGV4Q29kZX1gO1xyXG5cclxuICBsZXQgbGFzdEtleSA9IDE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcblxyXG4gICAgLy8gUmVnZXggaGFuZGxlcyB0aGVzZSBtYW51YWxseSBhYm92ZSBpbiB0aGUgYHN0cmAgaW5pdGlhbGl6YXRpb24uXHJcbiAgICBpZiAoZmllbGROYW1lID09PSAndGltZXN0YW1wJyB8fCBmaWVsZE5hbWUgPT09ICd0eXBlJylcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3Qga2V5ID0gcGFyc2VJbnQoa2V5U3RyKTtcclxuICAgIC8vIEZpbGwgaW4gYmxhbmtzLlxyXG4gICAgY29uc3QgbWlzc2luZ0ZpZWxkcyA9IGtleSAtIGxhc3RLZXkgLSAxO1xyXG4gICAgaWYgKG1pc3NpbmdGaWVsZHMgPT09IDEpXHJcbiAgICAgIHN0ciArPSBgJHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9YDtcclxuICAgIGVsc2UgaWYgKG1pc3NpbmdGaWVsZHMgPiAxKVxyXG4gICAgICBzdHIgKz0gYCg/OiR7c2VwYXJhdG9yfSR7bWF0Y2hEZWZhdWx0fSl7JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBzdHIgKz0gc2VwYXJhdG9yO1xyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleVN0cl07XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RlZktleX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkRGVmYXVsdCA9IGZpZWxkTmFtZSAmJiBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zLmluY2x1ZGVzKGZpZWxkTmFtZSlcclxuICAgICAgPyBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0XHJcbiAgICAgIDogbWF0Y2hEZWZhdWx0O1xyXG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkc1trZXlTdHJdPy52YWx1ZT8udG9TdHJpbmcoKSA/PyBmaWVsZERlZmF1bHQ7XHJcblxyXG4gICAgaWYgKGZpZWxkTmFtZSkge1xyXG4gICAgICBzdHIgKz0gUmVnZXhlcy5tYXliZUNhcHR1cmUoXHJcbiAgICAgICAgLy8gbW9yZSBhY2N1cmF0ZSB0eXBlIGluc3RlYWQgb2YgYGFzYCBjYXN0XHJcbiAgICAgICAgLy8gbWF5YmUgdGhpcyBmdW5jdGlvbiBuZWVkcyBhIHJlZmFjdG9yaW5nXHJcbiAgICAgICAgY2FwdHVyZSxcclxuICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgKHBhcmFtcyBhcyB7IFtzOiBzdHJpbmddOiBzdHJpbmcgfSlbZmllbGROYW1lXSxcclxuICAgICAgICBmaWVsZFZhbHVlLFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBzdHIgKz0gJyg/OiR8OiknO1xyXG5cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhlcyB7XHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdBYmlsaXR5JywgZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhYmlsaXR5YCBpbnN0ZWFkXHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHlGdWxsKHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hYmlsaXR5KHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWItbmV0d29ya3RhcmdldGljb24taGVhZC1tYXJrZXJzXHJcbiAgICovXHJcbiAgc3RhdGljIGhlYWRNYXJrZXIocGFyYW1zPzogTmV0UGFyYW1zWydIZWFkTWFya2VyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnSGVhZE1hcmtlcic+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdIZWFkTWFya2VyJywgZGVmYXVsdFBhcmFtcygnSGVhZE1hcmtlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnQocGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdBZGRlZENvbWJhdGFudCcsXHJcbiAgICAgIGRlZmF1bHRQYXJhbXMoJ0FkZGVkQ29tYmF0YW50JywgW1xyXG4gICAgICAgICd0eXBlJyxcclxuICAgICAgICAndGltZXN0YW1wJyxcclxuICAgICAgICAnaWQnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgXSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudEZ1bGwoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FkZGVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUmVtb3ZlZENvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3RhdHVzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdMb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1BsYXllclN0YXRzJywgZGVmYXVsdFBhcmFtcygnUGxheWVyU3RhdHMnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDEtY2hhbmdlem9uZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBjaGFuZ2Vab25lKHBhcmFtcz86IE5ldFBhcmFtc1snQ2hhbmdlWm9uZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0NoYW5nZVpvbmUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQ2hhbmdlWm9uZScsIGRlZmF1bHRQYXJhbXMoJ0NoYW5nZVpvbmUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjEtbmV0d29yazZkLWFjdG9yLWNvbnRyb2wtbGluZXNcclxuICAgKi9cclxuICBzdGF0aWMgbmV0d29yazZkKHBhcmFtcz86IE5ldFBhcmFtc1snQWN0b3JDb250cm9sJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWN0b3JDb250cm9sJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FjdG9yQ29udHJvbCcsIGRlZmF1bHRQYXJhbXMoJ0FjdG9yQ29udHJvbCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMi1uZXR3b3JrbmFtZXRvZ2dsZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBuYW1lVG9nZ2xlKHBhcmFtcz86IE5ldFBhcmFtc1snTmFtZVRvZ2dsZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J05hbWVUb2dnbGUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnTmFtZVRvZ2dsZScsIGRlZmF1bHRQYXJhbXMoJ05hbWVUb2dnbGUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjgtbWFwXHJcbiAgICovXHJcbiAgc3RhdGljIG1hcChwYXJhbXM/OiBOZXRQYXJhbXNbJ01hcCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J01hcCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdNYXAnLCBkZWZhdWx0UGFyYW1zKCdNYXAnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjktc3lzdGVtbG9nbWVzc2FnZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBzeXN0ZW1Mb2dNZXNzYWdlKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTeXN0ZW1Mb2dNZXNzYWdlJ10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N5c3RlbUxvZ01lc3NhZ2UnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3lzdGVtTG9nTWVzc2FnZScsIGRlZmF1bHRQYXJhbXMoJ1N5c3RlbUxvZ01lc3NhZ2UnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIG5hbWVkIGNhcHR1cmUgZ3JvdXBcclxuICAgKi9cclxuICBzdGF0aWMgbWF5YmVDYXB0dXJlKFxyXG4gICAgY2FwdHVyZTogYm9vbGVhbixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZyxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlID8/IG1hdGNoRGVmYXVsdDtcclxuICAgIHZhbHVlID0gUmVnZXhlcy5hbnlPZih2YWx1ZSk7XHJcbiAgICByZXR1cm4gY2FwdHVyZSA/IFJlZ2V4ZXMubmFtZWRDYXB0dXJlKG5hbWUsIHZhbHVlKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG9wdGlvbmFsKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgKD86JHtzdHJ9KT9gO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3JlYXRlcyBhIG5hbWVkIHJlZ2V4IGNhcHR1cmUgZ3JvdXAgbmFtZWQgfG5hbWV8IGZvciB0aGUgbWF0Y2ggfHZhbHVlfC5cclxuICBzdGF0aWMgbmFtZWRDYXB0dXJlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPicpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoJzwnKSlcclxuICAgICAgY29uc29sZS5lcnJvcignXCInICsgbmFtZSArICdcIiBjb250YWlucyBcIj5cIi4nKTtcclxuXHJcbiAgICByZXR1cm4gJyg/PCcgKyBuYW1lICsgJz4nICsgdmFsdWUgKyAnKSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZW5pZW5jZSBmb3IgdHVybmluZyBtdWx0aXBsZSBhcmdzIGludG8gYSB1bmlvbmVkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cclxuICAgKiBhbnlPZih4LCB5LCB6KSBvciBhbnlPZihbeCwgeSwgel0pIGRvIHRoZSBzYW1lIHRoaW5nLCBhbmQgcmV0dXJuICg/Onh8eXx6KS5cclxuICAgKiBhbnlPZih4KSBvciBhbnlPZih4KSBvbiBpdHMgb3duIHNpbXBsaWZpZXMgdG8ganVzdCB4LlxyXG4gICAqIGFyZ3MgbWF5IGJlIHN0cmluZ3Mgb3IgUmVnRXhwLCBhbHRob3VnaCBhbnkgYWRkaXRpb25hbCBtYXJrZXJzIHRvIFJlZ0V4cFxyXG4gICAqIGxpa2UgL2luc2Vuc2l0aXZlL2kgYXJlIGRyb3BwZWQuXHJcbiAgICovXHJcbiAgc3RhdGljIGFueU9mKC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSB8IFJlZ0V4cClbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhbnlPZkFycmF5ID0gKGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGAoPzoke2FycmF5Lm1hcCgoZWxlbSkgPT4gZWxlbSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGVsZW0uc291cmNlIDogZWxlbSkuam9pbignfCcpfSlgO1xyXG4gICAgfTtcclxuICAgIGxldCBhcnJheTogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZ3NbMF0pKVxyXG4gICAgICAgIGFycmF5ID0gYXJnc1swXTtcclxuICAgICAgZWxzZSBpZiAoYXJnc1swXSlcclxuICAgICAgICBhcnJheSA9IFthcmdzWzBdXTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGFycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPOiBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgYXJyYXkgPSBhcmdzIGFzIHN0cmluZ1tdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFueU9mQXJyYXkoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhcnNlKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nIHwgQ2FjdGJvdEJhc2VSZWdFeHA8J05vbmUnPik6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBrQ2FjdGJvdENhdGVnb3JpZXMgPSB7XHJcbiAgICAgIFRpbWVzdGFtcDogJ14uezE0fScsXHJcbiAgICAgIE5ldFRpbWVzdGFtcDogJy57MzN9JyxcclxuICAgICAgTmV0RmllbGQ6ICcoPzpbXnxdKlxcXFx8KScsXHJcbiAgICAgIExvZ1R5cGU6ICdbMC05QS1GYS1mXXsyfScsXHJcbiAgICAgIEFiaWxpdHlDb2RlOiAnWzAtOUEtRmEtZl17MSw4fScsXHJcbiAgICAgIE9iamVjdElkOiAnWzAtOUEtRl17OH0nLFxyXG4gICAgICAvLyBNYXRjaGVzIGFueSBjaGFyYWN0ZXIgbmFtZSAoaW5jbHVkaW5nIGVtcHR5IHN0cmluZ3Mgd2hpY2ggdGhlIEZGWElWXHJcbiAgICAgIC8vIEFDVCBwbHVnaW4gY2FuIGdlbmVyYXRlIHdoZW4gdW5rbm93bikuXHJcbiAgICAgIE5hbWU6ICcoPzpbXlxcXFxzOnxdKyg/OiBbXlxcXFxzOnxdKyk/fCknLFxyXG4gICAgICAvLyBGbG9hdHMgY2FuIGhhdmUgY29tbWEgYXMgc2VwYXJhdG9yIGluIEZGWElWIHBsdWdpbiBvdXRwdXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXZhaG4vRkZYSVZfQUNUX1BsdWdpbi9pc3N1ZXMvMTM3XHJcbiAgICAgIEZsb2F0OiAnLT9bMC05XSsoPzpbLixdWzAtOV0rKT8oPzpFLT9bMC05XSspPycsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEFsbCByZWdleGVzIGluIGNhY3Rib3QgYXJlIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICAvLyBUaGlzIGF2b2lkcyBoZWFkYWNoZXMgYXMgdGhpbmdzIGxpa2UgYFZpY2UgYW5kIFZhbml0eWAgdHVybnMgaW50b1xyXG4gICAgLy8gYFZpY2UgQW5kIFZhbml0eWAsIGVzcGVjaWFsbHkgZm9yIEZyZW5jaCBhbmQgR2VybWFuLiAgSXQgYXBwZWFycyB0b1xyXG4gICAgLy8gaGF2ZSBhIH4yMCUgcmVnZXggcGFyc2luZyBvdmVyaGVhZCwgYnV0IGF0IGxlYXN0IHRoZXkgd29yay5cclxuICAgIGxldCBtb2RpZmllcnMgPSAnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgIG1vZGlmaWVycyArPSAocmVnZXhwU3RyaW5nLmdsb2JhbCA/ICdnJyA6ICcnKSArXHJcbiAgICAgICAgKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5zb3VyY2U7XHJcbiAgICB9XHJcbiAgICByZWdleHBTdHJpbmcgPSByZWdleHBTdHJpbmcucmVwbGFjZSgvXFxcXHlcXHsoLio/KVxcfS9nLCAobWF0Y2gsIGdyb3VwKSA9PiB7XHJcbiAgICAgIHJldHVybiBrQ2FjdGJvdENhdGVnb3JpZXNbZ3JvdXAgYXMga2V5b2YgdHlwZW9mIGtDYWN0Ym90Q2F0ZWdvcmllc10gfHwgbWF0Y2g7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ2V4cFN0cmluZywgbW9kaWZpZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIExpa2UgUmVnZXguUmVnZXhlcy5wYXJzZSwgYnV0IGZvcmNlIGdsb2JhbCBmbGFnLlxyXG4gIHN0YXRpYyBwYXJzZUdsb2JhbChyZWdleHBTdHJpbmc6IFJlZ0V4cCB8IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCByZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXhwU3RyaW5nKTtcclxuICAgIGxldCBtb2RpZmllcnMgPSAnZ2knO1xyXG4gICAgaWYgKHJlZ2V4cFN0cmluZyBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcubXVsdGlsaW5lID8gJ20nIDogJycpO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXguc291cmNlLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRydWVJZlVuZGVmaW5lZCh2YWx1ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICEhdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdmFsaWRhdGVQYXJhbXMoXHJcbiAgICBmOiBSZWFkb25seTx7IFtzOiBzdHJpbmddOiB1bmtub3duIH0+LFxyXG4gICAgZnVuY05hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtczogUmVhZG9ubHk8c3RyaW5nW10+LFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGYgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgZiAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmKTtcclxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwga2V5cy5sZW5ndGg7ICsraykge1xyXG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2tdO1xyXG4gICAgICBpZiAoa2V5ICYmICFwYXJhbXMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGAke2Z1bmNOYW1lfTogaW52YWxpZCBwYXJhbWV0ZXIgJyR7a2V5fScuICBgICtcclxuICAgICAgICAgICAgYFZhbGlkIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfWAsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gYSB0cmlnZ2VyIGFzIHN1Y2g6XHJcbi8vIHtcclxuLy8gICBpZDogJ1NvbWUgdGFua2J1c3RlcicsXHJcbi8vICAgcmVnZXg6IFJlZ2V4ZXMuc3RhcnRzVXNpbmcoe3NvdXJjZTogJ1llIE9sZGUgQm9zc2UnLCBpZDogJzY2Nid9KSxcclxuLy8gICBjb25kaXRpb246IENvbmRpdGlvbnMuY2FyZXNBYm91dE1hZ2ljYWwoZGF0YSksXHJcbi8vICAgcmVzcG9uc2U6IFJlc3BvbnNlcy50YW5rYnVzdGVyKCksXHJcbi8vIH0sXHJcbi8vXHJcbi8vIE5vdGU6IEJyZWFraW5nIG91dCB0aGUgY29uZGl0aW9uIGxpa2UgdGhpcyBsZXRzIHBlb3BsZSBvdmVycmlkZSBpdCBpZiB0aGV5XHJcbi8vIGFsd2F5cyAob3IgbmV2ZXIpIHdhbnQgdG8ga25vdyBhYm91dCBpdCwgcmF0aGVyIHRoYW4gaGlkaW5nIHRoZSBsb2dpYyBpbnNpZGVcclxuLy8gdGhlIHRhbmtidXN0ZXIgY2FsbGJhY2sgd2l0aCBhIFwiaXMgaGVhbGVyXCIgY2hlY2suXHJcbi8vXHJcbi8vIElmIGRhdGEucm9sZSBpcyB1c2VkLCBpdCBzaG91bGQgYmUgb25seSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWxlcnQgbGV2ZWxzLFxyXG4vLyBhbmQgbm90IHdoZXRoZXIgYSBtZXNzYWdlIGlzIHNlbnQgYXQgYWxsLlxyXG4vL1xyXG4vLyBBbHRob3VnaCB0aGlzIGlzIG5vdCB0cnVlIG9mIGByZXNwb25zZTogYCBmaWVsZHMgb24gdHJpZ2dlcnMgaW4gZ2VuZXJhbCxcclxuLy8gYWxsIHJlc3BvbnNlcyBpbiB0aGlzIGZpbGUgc2hvdWxkIGVpdGhlciByZXR1cm4gYW4gb2JqZWN0IG9yIGEgc2luZ2xlXHJcbi8vIGZ1bmN0aW9uIHRoYXQgc2V0cyBvdXRwdXRTdHJpbmdzIGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aXRob3V0IGRvaW5nXHJcbi8vIGFueXRoaW5nIHdpdGggZGF0YSBvciBtYXRjaGVzLiAgU2VlIGByZXNwb25zZXNfdGVzdC5qc2AuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBSZXNwb25zZUZ1bmMsXHJcbiAgUmVzcG9uc2VPdXRwdXQsXHJcbiAgVGFyZ2V0ZWRNYXRjaGVzLFxyXG4gIFRyaWdnZXJGdW5jLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5cclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0gUmVzcG9uc2VPdXRwdXQ8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzPjtcclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkRnVuYyA9IFRyaWdnZXJGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+PjtcclxudHlwZSBTdGF0aWNSZXNwb25zZUZ1bmMgPSBSZXNwb25zZUZ1bmM8RGF0YSwgTWF0Y2hlcz47XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlMaXN0ID0gWydpbmZvJywgJ2FsZXJ0JywgJ2FsYXJtJ10gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFNldmVyaXR5ID0gdHlwZW9mIHNldmVyaXR5TGlzdFtudW1iZXJdO1xyXG5leHBvcnQgdHlwZSBTZXZUZXh0ID0gJ2luZm9UZXh0JyB8ICdhbGVydFRleHQnIHwgJ2FsYXJtVGV4dCc7XHJcblxyXG5leHBvcnQgY29uc3QgYnVpbHRJblJlc3BvbnNlU3RyID0gJ2NhY3Rib3QtYnVpbHRpbi1yZXNwb25zZSc7XHJcblxyXG4vLyBBbGwgdmFsaWQgdHJpZ2dlciBmaWVsZHMuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyRnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdjb25kaXRpb24nLFxyXG4gICdkZWxheVNlY29uZHMnLFxyXG4gICdkaXNhYmxlZCcsXHJcbiAgJ2R1cmF0aW9uU2Vjb25kcycsXHJcbiAgJ2lkJyxcclxuICAndHlwZScsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncHJlUnVuJyxcclxuICAncHJvbWlzZScsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAncnVuJyxcclxuICAnc291bmQnLFxyXG4gICdzb3VuZFZvbHVtZScsXHJcbiAgJ3N1cHByZXNzU2Vjb25kcycsXHJcbiAgJ3R0cycsXHJcbiAgJ291dHB1dFN0cmluZ3MnLFxyXG5dO1xyXG5cclxuLy8gVHJpZ2dlciBmaWVsZHMgdGhhdCBjYW4gcHJvZHVjZSB0ZXh0IG91dHB1dC5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdpbmZvVGV4dCcsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAndHRzJyxcclxuXTtcclxuXHJcbi8vIElmIGEgdHJpZ2dlciBoYXMgYW55IG9mIHRoZXNlLCB0aGVuIGl0IGhhcyBhIHZpc2libGUvYXVkaW8gZWZmZWN0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlck91dHB1dEZ1bmN0aW9uczogKGtleW9mIExvb3NlVHJpZ2dlcilbXSA9IFtcclxuICAuLi50cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyxcclxuICAnc291bmQnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldmVyaXR5TWFwOiB7IFtzZXYgaW4gU2V2ZXJpdHldOiBTZXZUZXh0IH0gPSB7XHJcbiAgJ2luZm8nOiAnaW5mb1RleHQnLFxyXG4gICdhbGVydCc6ICdhbGVydFRleHQnLFxyXG4gICdhbGFybSc6ICdhbGFybVRleHQnLFxyXG59O1xyXG5cclxuY29uc3QgZ2V0VGV4dCA9IChzZXY6IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCEoc2V2IGluIHNldmVyaXR5TWFwKSlcclxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXZlcml0eTogJHtzZXZ9LmApO1xyXG4gIHJldHVybiBzZXZlcml0eU1hcFtzZXZdO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEluZm9UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2luZm9UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEFsZXJ0VGV4dCA9IChzZXY/OiBTZXZlcml0eSk6IFNldlRleHQgPT4ge1xyXG4gIGlmICghc2V2KVxyXG4gICAgcmV0dXJuICdhbGVydFRleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxhcm1UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsYXJtVGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGdldFRhcmdldCA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICAvLyBPZnRlbiB0YW5rYnVzdGVycyBjYW4gYmUgY2FzdGVkIGJ5IHRoZSBib3NzIG9uIHRoZSBib3NzLlxyXG4gIC8vIENvbnNpZGVyIHRoaXMgYXMgXCJub3QgaGF2aW5nIGEgdGFyZ2V0XCIuXHJcbiAgaWYgKCFtYXRjaGVzIHx8IG1hdGNoZXMudGFyZ2V0ID09PSBtYXRjaGVzLnNvdXJjZSlcclxuICAgIHJldHVybjtcclxuICByZXR1cm4gbWF0Y2hlcy50YXJnZXQ7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTb3VyY2UgPSAobWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiB7XHJcbiAgcmV0dXJuIG1hdGNoZXM/LnNvdXJjZTtcclxufTtcclxuXHJcbi8vIEZJWE1FOiBtYWtlIHRoaXMgd29yayBmb3IgYW55IG51bWJlciBvZiBwYWlycyBvZiBwYXJhbXNcclxuY29uc3QgY29tYmluZUZ1bmNzID0gZnVuY3Rpb24oXHJcbiAgdGV4dDE6IFNldlRleHQsXHJcbiAgZnVuYzE6IFRhcmdldGVkRnVuYyxcclxuICB0ZXh0MjogU2V2VGV4dCxcclxuICBmdW5jMjogVGFyZ2V0ZWRGdW5jLFxyXG4pIHtcclxuICBjb25zdCBvYmo6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSB7fTtcclxuXHJcbiAgaWYgKHRleHQxICE9PSB0ZXh0Mikge1xyXG4gICAgb2JqW3RleHQxXSA9IGZ1bmMxO1xyXG4gICAgb2JqW3RleHQyXSA9IGZ1bmMyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvYmpbdGV4dDFdID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgcmV0dXJuIGZ1bmMxKGRhdGEsIG1hdGNoZXMsIG91dHB1dCkgfHwgZnVuYzIoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn07XHJcblxyXG5jb25zdCBpc1BsYXllcklkID0gKGlkPzogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGlkICYmIGlkWzBdICE9PSAnNCc7XHJcbn07XHJcblxyXG4vLyBGb3IgcmVzcG9uc2VzIHRoYXQgdW5jb25kaXRpb25hbGx5IHJldHVybiBzdGF0aWMgdGV4dC5cclxuY29uc3Qgc3RhdGljUmVzcG9uc2UgPSAoZmllbGQ6IFNldlRleHQsIHRleHQ6IExvY2FsZVRleHQpOiBTdGF0aWNSZXNwb25zZUZ1bmMgPT4ge1xyXG4gIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0ZXh0OiB0ZXh0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFtmaWVsZF06IChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiBvdXRwdXQudGV4dD8uKCksXHJcbiAgICB9O1xyXG4gIH07XHJcbn07XHJcblxyXG50eXBlIFNpbmdsZVNldlRvUmVzcG9uc2VGdW5jID0gKHNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYyB8IFN0YXRpY1Jlc3BvbnNlRnVuYztcclxudHlwZSBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYyA9ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4gVGFyZ2V0ZWRSZXNwb25zZUZ1bmM7XHJcbnR5cGUgUmVzcG9uc2VzTWFwID0ge1xyXG4gIFtyZXNwb25zZTogc3RyaW5nXTogU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgfCBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXNwb25zZXMgPSB7XHJcbiAgdGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBub1RhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyLFxyXG4gICAgICBidXN0ZXJPbllvdTogT3V0cHV0cy50YW5rQnVzdGVyT25Zb3UsXHJcbiAgICAgIGJ1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXJPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lm5vVGFyZ2V0Py4oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJTd2FwOiAoYnVzdGVyU2V2PzogU2V2ZXJpdHksIHN3YXBTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgdGFua1N3YXA6IE91dHB1dHMudGFua1N3YXAsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBOb3RlOiBidXN0ZXJTZXYgYW5kIHN3YXBTZXYgY2FuIGJlIHRoZSBzYW1lIHByaW9yaXR5LlxyXG4gICAgY29uc3QgdGFua1N3YXBGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQudGFua1N3YXA/LigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGJ1c3RlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcblxyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPbllvdT8uKCk7XHJcbiAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGFybVRleHQoc3dhcFNldiksXHJcbiAgICAgIHRhbmtTd2FwRnVuYyxcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dChidXN0ZXJTZXYpLFxyXG4gICAgICBidXN0ZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBjbGVhdmVPbllvdTogT3V0cHV0cy50YW5rQ2xlYXZlT25Zb3UsXHJcbiAgICAgICAgY2xlYXZlTm9UYXJnZXQ6IE91dHB1dHMudGFua0NsZWF2ZSxcclxuICAgICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRJbmZvVGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlT25Zb3U/LigpO1xyXG4gICAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEuam9iID09PSAnQkxVJykge1xyXG4gICAgICAgICAgICAvLyB0YXJnZXRsZXNzIHRhbmsgY2xlYXZlXHJcbiAgICAgICAgICAgIC8vIEJMVSBwbGF5ZXJzIHNob3VsZCBhbHdheXMgZ2V0IHRoaXMgZ2VuZXJpYyBjbGVhdmUgbWVzc2FnZS5cclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyByb2J1c3Qgd2F5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXkgaGF2ZSB0YW5rIE1pbWljcnkgb24sXHJcbiAgICAgICAgICAgIC8vIGFuZCBpdCdzIHJlYWxseSBhbm5veWluZyBmb3IgYSBCTFUgdGFuayB0byBiZSB0b2xkIHRvIGF2b2lkIGNsZWF2ZXMgd2hlbiB0aGV5IGNhbid0LlxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmNsZWF2ZU5vVGFyZ2V0Py4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHNoYXJlZFRhbmtCdXN0ZXI6ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPbllvdSxcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPblBsYXllcixcclxuICAgICAgc2hhcmVkVGFua2J1c3RlcjogT3V0cHV0cy5zaGFyZWRUYW5rYnVzdGVyLFxyXG4gICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXI/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlck9uWW91Py4oKTtcclxuICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUgfHwgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmF2b2lkQ2xlYXZlPy4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCk6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1pbmlCdXN0ZXIpLFxyXG4gIGFvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5hb2UpLFxyXG4gIGJpZ0FvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iaWdBb2UpLFxyXG4gIHNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5zcHJlYWQpLFxyXG4gIC8vIGZvciBzdGFjayBtYXJrZXIgc2l0dWF0aW9ucy5cclxuICBzdGFja01hcmtlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3RhY2tNYXJrZXIpLFxyXG4gIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgZ2V0VG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFRvZ2V0aGVyKSxcclxuICBzdGFja01hcmtlck9uOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdGFja09uWW91OiBPdXRwdXRzLnN0YWNrT25Zb3UsXHJcbiAgICAgICAgc3RhY2tPblRhcmdldDogT3V0cHV0cy5zdGFja09uUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uWW91Py4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc3RhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHN0YWNrTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrTWlkZGxlKSxcclxuICBkb3JpdG9TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZG9yaXRvU3RhY2spLFxyXG4gIHNwcmVhZFRoZW5TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZFRoZW5TdGFjayk7XHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IChzZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgcmV0dXJuIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja1RoZW5TcHJlYWQpO1xyXG4gIH0sXHJcbiAga25vY2tiYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5rbm9ja2JhY2spLFxyXG4gIGtub2NrYmFja09uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIGtub2NrYmFja09uWW91OiBPdXRwdXRzLmtub2NrYmFja09uWW91LFxyXG4gICAgICBrbm9ja2JhY2tPblRhcmdldDogT3V0cHV0cy5rbm9ja2JhY2tPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lmtub2NrYmFja09uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgZHJhd0luOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmRyYXdJbiksXHJcbiAgbG9va1Rvd2FyZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubG9va1Rvd2FyZHNCb3NzKSxcclxuICBsb29rQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rQXdheSksXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8udGFyZ2V0SWQpID8gZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSA6IHRhcmdldDtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGxvb2tBd2F5RnJvbVNvdXJjZTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgbG9va0F3YXlGcm9tOiBPdXRwdXRzLmxvb2tBd2F5RnJvbVRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChzb3VyY2UgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBpc1BsYXllcklkKG1hdGNoZXM/LnNvdXJjZUlkKSA/IGRhdGEuU2hvcnROYW1lKHNvdXJjZSkgOiBzb3VyY2U7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0Lmxvb2tBd2F5RnJvbT8uKHsgbmFtZTogbmFtZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBnZXRCZWhpbmQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldEJlaGluZCksXHJcbiAgZ29Gcm9udE9yU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRPclNpZGVzKSxcclxuICAvLyAuZ2V0VW5kZXIoKSBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5nZXRVbmRlciksXHJcbiAgLy8gLmdldEluKCkgaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGdldEluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5pbiksXHJcbiAgLy8gLmdldE91dCgpIG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIGdldE91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMub3V0KSxcclxuICBvdXRPZk1lbGVlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dE9mTWVsZWUpLFxyXG4gIGdldEluVGhlbk91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5pblRoZW5PdXQpLFxyXG4gIGdldE91dFRoZW5JbjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5vdXRUaGVuSW4pLFxyXG4gIGdldEJhY2tUaGVuRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuYmFja1RoZW5Gcm9udCksXHJcbiAgZ2V0RnJvbnRUaGVuQmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5mcm9udFRoZW5CYWNrKSxcclxuICBnb01pZGRsZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29JbnRvTWlkZGxlKSxcclxuICBnb1JpZ2h0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5yaWdodCksXHJcbiAgZ29MZWZ0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5sZWZ0KSxcclxuICBnb1dlc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldExlZnRBbmRXZXN0KSxcclxuICBnb0Vhc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFJpZ2h0QW5kRWFzdCksXHJcbiAgZ29Gcm9udEJhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRCYWNrKSxcclxuICBnb1NpZGVzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zaWRlcyksXHJcbiAgLy8gLmtpbGxBZGRzKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxBZGRzKSxcclxuICAvLyAua2lsbEV4dHJhQWRkKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5raWxsRXh0cmFBZGQpLFxyXG4gIGF3YXlGcm9tRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmF3YXlGcm9tRnJvbnQpLFxyXG4gIHNsZWVwOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzbGVlcDogT3V0cHV0cy5zbGVlcFRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnNsZWVwPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3R1bk9ySW50ZXJydXB0SWZQb3NzaWJsZTogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgICAgaW50ZXJydXB0OiBPdXRwdXRzLmludGVycnVwdFRhcmdldCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5DYW5TaWxlbmNlKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChkYXRhLkNhblN0dW4oKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfSxcclxuICBzdHVuOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgaW50ZXJydXB0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgcHJleU9uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHByZXlPbllvdTogT3V0cHV0cy5wcmV5T25Zb3UsXHJcbiAgICAgIHByZXlPblRhcmdldDogT3V0cHV0cy5wcmV5T25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLm1lID09PSB0YXJnZXQpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBhd2F5RnJvbTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgYXdheUZyb21Hcm91cDogT3V0cHV0cy5hd2F5RnJvbUdyb3VwLFxyXG4gICAgICAgIGF3YXlGcm9tVGFyZ2V0OiBPdXRwdXRzLmF3YXlGcm9tUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbUdyb3VwPy4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXdheUZyb21UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBtZXRlb3JPbllvdTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMubWV0ZW9yT25Zb3UpLFxyXG4gIHN0b3BNb3Zpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BNb3ZpbmcpLFxyXG4gIHN0b3BFdmVyeXRoaW5nOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5zdG9wRXZlcnl0aGluZyksXHJcbiAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICBtb3ZlQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXdheSksXHJcbiAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgbW92ZUFyb3VuZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXJvdW5kKSxcclxuICBicmVha0NoYWluczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5icmVha0NoYWlucyksXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQ2hhaW5zVG9nZXRoZXIpLFxyXG4gIGVhcnRoc2hha2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBlYXJ0aHNoYWtlcjogT3V0cHV0cy5lYXJ0aHNoYWtlck9uWW91LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5lYXJ0aHNoYWtlcj8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgd2FrZVVwOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy53YWtlVXApLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gRG9uJ3QgZ2l2ZSBgUmVzcG9uc2VzYCBhIHR5cGUgaW4gaXRzIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgY2FuIGJlIHRyZWF0ZWQgYXMgbW9yZSBzdHJpY3RcclxuLy8gdGhhbiBgUmVzcG9uc2VzTWFwYCwgYnV0IGRvIGFzc2VydCB0aGF0IGl0cyB0eXBlIGlzIGNvcnJlY3QuICBUaGlzIGFsbG93cyBjYWxsZXJzIHRvIGtub3dcclxuLy8gd2hpY2ggcHJvcGVydGllcyBhcmUgZGVmaW5lZCBpbiBSZXNwb25zZXMgd2l0aG91dCBoYXZpbmcgdG8gY29uZGl0aW9uYWxseSBjaGVjayBmb3IgdW5kZWZpbmVkLlxyXG5jb25zdCByZXNwb25zZU1hcFR5cGVBc3NlcnRpb246IFJlc3BvbnNlc01hcCA9IFJlc3BvbnNlcztcclxuLy8gU3VwcHJlc3MgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcuXHJcbmNvbnNvbGUuYXNzZXJ0KHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbik7XHJcbiIsIi8vIFRPRE86IEZpeCBpbXBvcnQvb3JkZXJcclxuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L29yZGVyICovXHJcbmltcG9ydCB7IENhY3Rib3RDb25maWd1cmF0b3IgfSBmcm9tICcuLi91aS9jb25maWcvY29uZmlnJztcclxuaW1wb3J0IHsgaXNMYW5nLCBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IENhY3Rib3RMb2FkVXNlclJldCwgU2F2ZWRDb25maWcsIFNhdmVkQ29uZmlnRW50cnkgfSBmcm9tICcuLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IExvY2FsZU9iamVjdCwgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIsIGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi9ub3RfcmVhY2hlZCc7XHJcblxyXG4vLyBUT0RPOlxyXG4vLyBUaGUgY29udmVudGlvbiBvZiBcImltcG9ydCBYIGFzIF9YOyBjb25zdCBYID0gX1g7XCIgaXMgY3VycmVudGx5XHJcbi8vIGJlaW5nIHVzZWQgYXMgYSBtZXRob2QgdG8gd29ya2Fyb3VuZCBmb3IgZG93bnN0cmVhbSBjb2RlXHJcbi8vIHRoYXQgaXMgcnVubmluZyB2aWEgZXZhbCgpLiBCZWNhdXNlIGltcG9ydGluZyBzdGF0ZW1lbnRzIGRvIG5vdFxyXG4vLyBjcmVhdGUgYSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLCB0aGUgZXZhbCgpJ2QgY29kZSBkb2VzIG5vdCBrbm93XHJcbi8vIGFib3V0IHRoZSBpbXBvcnQsIGFuZCB0aHVzIHRocm93cyBSZWZlcmVuY2VFcnJvcnMuXHJcbi8vIFVzZWQgYnkgZG93bnN0cmVhbSBldmFsXHJcbmltcG9ydCBfQ29uZGl0aW9ucyBmcm9tICcuL2NvbmRpdGlvbnMnO1xyXG5jb25zdCBDb25kaXRpb25zID0gX0NvbmRpdGlvbnM7XHJcbmltcG9ydCBfQ29udGVudFR5cGUgZnJvbSAnLi9jb250ZW50X3R5cGUnO1xyXG5jb25zdCBDb250ZW50VHlwZSA9IF9Db250ZW50VHlwZTtcclxuaW1wb3J0IF9OZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmNvbnN0IE5ldFJlZ2V4ZXMgPSBfTmV0UmVnZXhlcztcclxuaW1wb3J0IF9SZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcbmNvbnN0IFJlZ2V4ZXMgPSBfUmVnZXhlcztcclxuaW1wb3J0IHsgUmVzcG9uc2VzIGFzIF9SZXNwb25zZXMgfSBmcm9tICcuL3Jlc3BvbnNlcyc7XHJcbmNvbnN0IFJlc3BvbnNlcyA9IF9SZXNwb25zZXM7XHJcbmltcG9ydCBfT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5jb25zdCBPdXRwdXRzID0gX091dHB1dHM7XHJcbmltcG9ydCBfVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5jb25zdCBVdGlsID0gX1V0aWw7XHJcbmltcG9ydCBfWm9uZUlkIGZyb20gJy4vem9uZV9pZCc7XHJcbmNvbnN0IFpvbmVJZCA9IF9ab25lSWQ7XHJcbmltcG9ydCBfWm9uZUluZm8gZnJvbSAnLi96b25lX2luZm8nO1xyXG5jb25zdCBab25lSW5mbyA9IF9ab25lSW5mbztcclxuXHJcbi8vIENvbnZpbmNlIFR5cGVTY3JpcHQgYW5kIGVzbGludCB0aGF0IHRoZXNlIGFyZSB1c2VkLiAgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgYSBncmVhdCB3YXlcclxuLy8gdG8gZGlzYWJsZSBpbmRpdmlkdWFsIHJ1bGVzLCBzbyB0aGlzIGlzIHNhZmVyIHRoYW4gZGlzYWJsaW5nIGFsbCBydWxlcy5cclxuY29uc29sZS5hc3NlcnQoXHJcbiAgQ29uZGl0aW9ucyAmJiBDb250ZW50VHlwZSAmJiBOZXRSZWdleGVzICYmIFJlZ2V4ZXMgJiZcclxuICAgIFJlc3BvbnNlcyAmJiBPdXRwdXRzICYmIFV0aWwgJiYgWm9uZUlkICYmIFpvbmVJbmZvLFxyXG4pO1xyXG5cclxuLy8gVE9ETzogbW92ZSBhbGwgb2YgdGhlc2UgdG8gY29uZmlnLmpzP1xyXG5leHBvcnQgdHlwZSBVc2VyRmlsZUNhbGxiYWNrID0gKFxyXG4gIGpzRmlsZTogc3RyaW5nLFxyXG4gIGxvY2FsRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBvcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuZXhwb3J0IHR5cGUgQ29uZmlnRW50cnkgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBMb2NhbGVUZXh0O1xyXG4gIHR5cGU6ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdmbG9hdCcgfCAnaW50ZWdlcicgfCAnZGlyZWN0b3J5JyB8ICdodG1sJztcclxuICBodG1sPzogTG9jYWxlVGV4dDtcclxuICBkZWZhdWx0OiBDb25maWdWYWx1ZTtcclxuICBkZWJ1Zz86IGJvb2xlYW47XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICAvLyBGb3Igc2VsZWN0LlxyXG4gIG9wdGlvbnM/OiBMb2NhbGVPYmplY3Q8eyBbc2VsZWN0VGV4dDogc3RyaW5nXTogc3RyaW5nIH0+O1xyXG4gIHNldHRlckZ1bmM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVST86IChiYXNlOiBDYWN0Ym90Q29uZmlndXJhdG9yLCBjb250YWluZXI6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG4gIG9wdGlvbnM6IENvbmZpZ0VudHJ5W107XHJcbn07XHJcblxyXG5jbGFzcyBVc2VyQ29uZmlnIHtcclxuICBwdWJsaWMgb3B0aW9uVGVtcGxhdGVzOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogT3B0aW9uc1RlbXBsYXRlIH0gPSB7fTtcclxuICBwdWJsaWMgdXNlckZpbGVDYWxsYmFja3M6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBVc2VyRmlsZUNhbGxiYWNrIH0gPSB7fTtcclxuICBwdWJsaWMgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnID0ge307XHJcblxyXG4gIGdldERlZmF1bHRCYXNlT3B0aW9ucygpOiBCYXNlT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBQYXJzZXJMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgU2hvcnRMb2NhbGU6ICdlbicsXHJcbiAgICAgIERpc3BsYXlMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgVGV4dEFsZXJ0c0VuYWJsZWQ6IHRydWUsXHJcbiAgICAgIFNvdW5kQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIEdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZXZhbFVzZXJGaWxlKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMpOiB2b2lkIHtcclxuICAgIGNvbnN0IE9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgY29uc29sZS5hc3NlcnQoT3B0aW9ucyk7IC8vIFVzZWQgYnkgZXZhbC5cclxuXHJcbiAgICAvLyBUaGlzIGlzIHRoZSBvbmUgZXZhbCBjYWN0Ym90IHNob3VsZCBldmVyIG5lZWQsIHdoaWNoIGlzIGZvciBoYW5kbGluZyB1c2VyIGZpbGVzLlxyXG4gICAgLy8gQmVjYXVzZSB1c2VyIGZpbGVzIGNhbiBiZSBsb2NhdGVkIGFueXdoZXJlIG9uIGRpc2sgYW5kIHRoZXJlJ3MgYmFja3dhcmRzIGNvbXBhdFxyXG4gICAgLy8gaXNzdWVzLCBpdCdzIHVubGlrZWx5IHRoYXQgdGhlc2Ugd2lsbCBiZSBhYmxlIHRvIGJlIGFueXRoaW5nIGJ1dCBldmFsIGZvcmV2ZXIuXHJcbiAgICAvL1xyXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tZXZhbCAqL1xyXG4gICAgZXZhbChjb250ZW50KTtcclxuICAgIC8qIGVzbGludC1lbmFibGUgbm8tZXZhbCAqL1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPcHRpb25zKFxyXG4gICAgb3ZlcmxheU5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvblRlbXBsYXRlOiBPcHRpb25zVGVtcGxhdGUsXHJcbiAgICB1c2VyRmlsZUNhbGxiYWNrPzogVXNlckZpbGVDYWxsYmFjayxcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSA9IG9wdGlvblRlbXBsYXRlO1xyXG4gICAgaWYgKHVzZXJGaWxlQ2FsbGJhY2spXHJcbiAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdID0gdXNlckZpbGVDYWxsYmFjaztcclxuICB9XHJcblxyXG4gIHNvcnRVc2VyRmlsZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIC8vIEhlbHBlciBkYXRhIHN0cnVjdHVyZSBmb3Igc3ViZGlyZWN0b3JpZXMuXHJcbiAgICBjb25zdCBzcGxpdEtleU1hcDogeyBbazogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cylcclxuICAgICAgc3BsaXRLZXlNYXBba2V5XSA9IGtleS50b1VwcGVyQ2FzZSgpLnNwbGl0KC9bL1xcXFxdLyk7XHJcblxyXG4gICAgLy8gU29ydCBwYXRocyBhcyBhIGRlcHRoLWZpcnN0IGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsIHN1YmRpcmVjdG9yeSB3YWxrLCBmb2xsb3dlZCBieVxyXG4gICAgLy8gYWxsIGZpbGVzIHNvcnRlZCBjYXNlLWluc2Vuc2l0aXZlIGFscGhhYmV0aWNhbGx5IG9uY2UgYSBzdWJkaXIgaGFzIGJlZW4gcHJvY2Vzc2VkLCBlLmcuXHJcbiAgICAvLyAgKiBhL3NvbWUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMS96L3ovei9uZXN0ZWRfZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL2ZpbGUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMi9maXJzdC5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL3NlY29uZC5qc1xyXG4gICAgLy8gICogYi9zb21lX2ZpbGUuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTEuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTIuanNcclxuICAgIHJldHVybiBrZXlzLnNvcnQoKGtleUEsIGtleUIpID0+IHtcclxuICAgICAgY29uc3QgbGlzdEEgPSBzcGxpdEtleU1hcFtrZXlBXTtcclxuICAgICAgY29uc3QgbGlzdEIgPSBzcGxpdEtleU1hcFtrZXlCXTtcclxuICAgICAgaWYgKGxpc3RBID09PSB1bmRlZmluZWQgfHwgbGlzdEIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBjb25zdCBtYXhMZW4gPSBNYXRoLm1heChsaXN0QS5sZW5ndGgsIGxpc3RCLmxlbmd0aCk7XHJcbiAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1heExlbjsgKytpZHgpIHtcclxuICAgICAgICBjb25zdCBlbnRyeUEgPSBsaXN0QVtpZHhdO1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QiA9IGxpc3RCW2lkeF07XHJcbiAgICAgICAgLy8gSW4gcHJhY3RpY2UsIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBlbnRyeS5cclxuICAgICAgICBpZiAoZW50cnlBID09PSB1bmRlZmluZWQgfHwgZW50cnlCID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGJvdGggc3ViZGlyZWN0b3JpZXMgb3IgYm90aCBmaWxlcywgdGhlbiBjb21wYXJlIG5hbWVzLlxyXG4gICAgICAgIGNvbnN0IGlzTGFzdEEgPSBsaXN0QS5sZW5ndGggLSAxID09PSBpZHg7XHJcbiAgICAgICAgY29uc3QgaXNMYXN0QiA9IGxpc3RCLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuXHJcbiAgICAgICAgaWYgKGlzTGFzdEEgJiYgaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBsYXN0LCB0aGVuIHRoaXMgaXMgYSBmaWxlbmFtZSBjb21wYXJpc29uLlxyXG5cclxuICAgICAgICAgIC8vIEZpcnN0LCBjb21wYXJlIGZpbGVuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uLlxyXG4gICAgICAgICAgY29uc3QgZmlsZUEgPSBlbnRyeUEucmVwbGFjZSgvXFwuW15cXC5dKiQvLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBmaWxlQiA9IGVudHJ5Qi5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lT25seURpZmYgPSBmaWxlQS5sb2NhbGVDb21wYXJlKGZpbGVCKTtcclxuICAgICAgICAgIGlmIChmaWxlbmFtZU9ubHlEaWZmKVxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWVPbmx5RGlmZjtcclxuXHJcbiAgICAgICAgICAvLyBTZWNvbmQsIGNvbXBhcmUgaW5jbHVkaW5nIHRoZSBleHRlbnNpb24uXHJcbiAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHNvbWV0aGluZyBoZXJlLCBzZWUgbm90ZSBiZWxvdy5cclxuICAgICAgICAgIHJldHVybiBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTGFzdEEgJiYgIWlzTGFzdEIpIHtcclxuICAgICAgICAgIC8vIElmIGJvdGggbm90IGxhc3QsIHRoaXMgaXMgYSBzdWJkaXJlY3RvcnkgY29tcGFyaXNvbi5cclxuICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgICAgaWYgKGRpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaWYgaWR4IGlzIHRoZSBmaW5hbCBmb3IgZWFjaCwgd2Ugd291bGQgaGF2ZSByZXR1cm5lZCBhYm92ZS5cclxuICAgICAgICAvLyBTbywgY2hlY2sgaWYgZWl0aGVyIGEgb3IgYiBpcyBhdCB0aGUgZmluYWwgZW50cnkgaW4gc3BsaXRLZXlNYXAuXHJcbiAgICAgICAgLy8gSWYgc28sIHRoZW4gdGhlcmUncyBhIG1pc21hdGNoIGluIG51bWJlciBvZiBkaXJlY3RvcmllcywgYW5kIHdlIGtub3cgb25lXHJcbiAgICAgICAgLy8gdGhlIG9uZSB3aXRoIGEgZmlsZW5hbWUgc2hvdWxkIGJlIHNvcnRlZCBsYXN0LlxyXG5cclxuICAgICAgICBpZiAobGlzdEEubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIGZld2VyIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxpc3RCLmxlbmd0aCAtIDEgPD0gaWR4KSB7XHJcbiAgICAgICAgICAvLyBhIGhhcyBtb3JlIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGZpcnN0LlxyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gR2l2ZW4gYSBzZXQgb2YgcGF0aHMsIGFuIG92ZXJsYXlOYW1lLCBhbmQgYW4gZXh0ZW5zaW9uLCByZXR1cm4gYWxsIHBhdGhzIHdpdGhcclxuICAvLyB0aGF0IGV4dGVuc2lvbiB0aGF0IGhhdmUgYG92ZXJsYXlOYW1lYCBlaXRoZXIgYXMgdGhlaXIgZW50aXJlIGZpbGVuYW1lIChubyBzdWJkaXIpXHJcbiAgLy8gb3IgYXJlIGluc2lkZSBhIHJvb3QtbGV2ZWwgc3ViZGlyZWN0b3J5IG5hbWVkIGBvdmVybGF5TmFtZWAvICBUaGUgZXh0ZW5zaW9uIHNob3VsZFxyXG4gIC8vIGluY2x1ZGUgdGhlIHBlcmlvZCBzZXBhcmF0b3IsIGUuZy4gXCIuanNcIi4gIEFsbCBjb21wYXJpc29ucyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICBmaWx0ZXJVc2VyRmlsZXMocGF0aHM6IHN0cmluZ1tdLCBvcmlnT3ZlcmxheU5hbWU6IHN0cmluZywgb3JpZ0V4dGVuc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBvcmlnRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBvdmVybGF5TmFtZSA9IG9yaWdPdmVybGF5TmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHBhdGhzLmZpbHRlcigob3JpZ1BhdGgpID0+IHtcclxuICAgICAgY29uc3QgcGF0aCA9IG9yaWdQYXRoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aChleHRlbnNpb24pKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHBhdGggPT09IGAke292ZXJsYXlOYW1lfSR7ZXh0ZW5zaW9ufWApXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYCR7b3ZlcmxheU5hbWV9L2ApIHx8IHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX1cXFxcYCkpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgbGV0IGN1cnJlbnRseVJlbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3QgcmVsb2FkT25jZSA9ICgpID0+IHtcclxuICAgICAgaWYgKGN1cnJlbnRseVJlbG9hZGluZylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGN1cnJlbnRseVJlbG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH07XHJcblxyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvblVzZXJGaWxlQ2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uRm9yY2VSZWxvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHJlbG9hZE9uY2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucywgY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcclxuICAgIGNvbnN0IHJlYWRPcHRpb25zID0gY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkRGF0YScsXHJcbiAgICAgIG92ZXJsYXk6ICdvcHRpb25zJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGxvYWRVc2VyID0gYXN5bmMgKGU6IHsgZGV0YWlsOiBDYWN0Ym90TG9hZFVzZXJSZXQgfSkgPT4ge1xyXG4gICAgICAvLyBUaGUgYmFzZVBhdGggaXNuJ3QgdXNpbmcgZm9yIGFueXRoaW5nIG90aGVyIHRoYW4gY29zbWV0aWMgcHJpbnRpbmcgb2YgZnVsbCBwYXRocyxcclxuICAgICAgLy8gc28gcmVwbGFjZSBhbnkgc2xhc2hlcyBoZXJlIGZvciB1bmlmb3JtaXR5LiAgSW4gY2FzZSBhbnlib2R5IGlzIHVzaW5nIGNhY3Rib3Qgb25cclxuICAgICAgLy8gTGludXggKD8hPyksIHN1cHBvcnQgYW55IHN0eWxlIG9mIHNsYXNoZXMgZWxzZXdoZXJlLlxyXG4gICAgICBjb25zdCBiYXNlUGF0aCA9IGUuZGV0YWlsLnVzZXJMb2NhdGlvbi5yZXBsYWNlKC9bL1xcXFxdKiQvLCAnJykgKyAnXFxcXCc7XHJcbiAgICAgIGNvbnN0IGxvY2FsRmlsZXMgPSBlLmRldGFpbC5sb2NhbFVzZXJGaWxlcztcclxuXHJcbiAgICAgIC8vIFRoZSBwbHVnaW4gYXV0by1kZXRlY3RzIHRoZSBsYW5ndWFnZSwgc28gc2V0IHRoaXMgZmlyc3QuXHJcbiAgICAgIC8vIElmIG9wdGlvbnMgZmlsZXMgd2FudCB0byBvdmVycmlkZSBpdCwgdGhleSBjYW4gZm9yIHRlc3RpbmcuXHJcblxyXG4gICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IChsYW5ndWFnZSBpcyBub3cgc2VwYXJhdGVkIHRvIHRocmVlIHR5cGVzLilcclxuICAgICAgaWYgKGUuZGV0YWlsLmxhbmd1YWdlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBlLmRldGFpbC5sYW5ndWFnZTtcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFBhcnNlciBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgICAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZXZlcnl0aGluZyBcIkxhbmd1YWdlXCIgc2hvdWxkIGJlIGNoYW5nZWQgdG8gXCJQYXJzZXJMYW5ndWFnZVwiXHJcbiAgICAgICAgb3B0aW9ucy5MYW5ndWFnZSA9IGUuZGV0YWlsLnBhcnNlckxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFN5c3RlbSBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwuc3lzdGVtTG9jYWxlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5TeXN0ZW1Mb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGU7XHJcbiAgICAgICAgbGV0IHNob3J0TG9jYWxlID0gZS5kZXRhaWwuc3lzdGVtTG9jYWxlLnN1YnN0cmluZygwLCAyKTtcclxuICAgICAgICBpZiAoc2hvcnRMb2NhbGUgPT09ICd6aCcpXHJcbiAgICAgICAgICBzaG9ydExvY2FsZSA9ICdjbic7XHJcbiAgICAgICAgaWYgKGlzTGFuZyhzaG9ydExvY2FsZSkpXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gc2hvcnRMb2NhbGU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gVXNlcidzIHNldHRpbmcgTGFuZ3VhZ2VcclxuICAgICAgY29uc3QgZGlzcGxheUxhbmcgPSBlLmRldGFpbC5kaXNwbGF5TGFuZ3VhZ2U7XHJcbiAgICAgIGlmIChpc0xhbmcoZGlzcGxheUxhbmcpKVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZGlzcGxheUxhbmc7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuXHJcbiAgICAgIC8vIFRPRE86IGxlZnQgZm9yIG5vdyBhcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHVzZXIgY3NzLiAgUmVtb3ZlIHRoaXMgbGF0ZXI/P1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbGFuZy0ke29wdGlvbnMuRGlzcGxheUxhbmd1YWdlfWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmdUb0xvY2FsZShvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuYWRkVW5sb2NrVGV4dChvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgcHJvY2Vzc09wdGlvbnMgYWZ0ZXIgZGVmYXVsdCBsYW5ndWFnZSBzZWxlY3Rpb24gYWJvdmUsXHJcbiAgICAgIC8vIGJ1dCBiZWZvcmUgY3NzIGJlbG93IHdoaWNoIG1heSBsb2FkIHNraW4gZmlsZXMuXHJcbiAgICAgIC8vIHByb2Nlc3NPcHRpb25zIG5lZWRzIHRvIGJlIGNhbGxlZCB3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmVcclxuICAgICAgLy8gYW55IHVzZXJPcHRpb25zIHNhdmVkLCBhcyBpdCBzZXRzIHVwIHRoZSBkZWZhdWx0cy5cclxuICAgICAgdGhpcy5zYXZlZENvbmZpZyA9IChhd2FpdCByZWFkT3B0aW9ucyk/LmRhdGEgPz8ge307XHJcbiAgICAgIHRoaXMucHJvY2Vzc09wdGlvbnMoXHJcbiAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB0aGlzLnNhdmVkQ29uZmlnW292ZXJsYXlOYW1lXSA/PyB7fSxcclxuICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlc1tvdmVybGF5TmFtZV0sXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBJZiB0aGUgb3ZlcmxheSBoYXMgYSBcIkRlYnVnXCIgc2V0dGluZywgc2V0IHRvIHRydWUgdmlhIHRoZSBjb25maWcgdG9vbCxcclxuICAgICAgLy8gdGhlbiBhbHNvIHByaW50IG91dCB1c2VyIGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZC5cclxuICAgICAgY29uc3QgcHJpbnRVc2VyRmlsZSA9IG9wdGlvbnMuRGVidWcgPyAoeDogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyh4KSA6ICgpID0+IHsvKiBub29wICovfTtcclxuXHJcbiAgICAgIC8vIFdpdGggdXNlciBmaWxlcyBiZWluZyBhcmJpdHJhcnkgamF2YXNjcmlwdCwgYW5kIGhhdmluZyBtdWx0aXBsZSBmaWxlc1xyXG4gICAgICAvLyBpbiB1c2VyIGZvbGRlcnMsIGl0J3MgcG9zc2libGUgZm9yIGxhdGVyIGZpbGVzIHRvIGFjY2lkZW50YWxseSByZW1vdmVcclxuICAgICAgLy8gdGhpbmdzIHRoYXQgcHJldmlvdXMgZmlsZXMgaGF2ZSBhZGRlZC4gIFdhcm4gYWJvdXQgdGhpcywgc2luY2UgbW9zdFxyXG4gICAgICAvLyB1c2VycyBhcmUgbm90IHByb2dyYW1tZXJzLlxyXG4gICAgICBjb25zdCB3YXJuT25WYXJpYWJsZVJlc2V0TWFwOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcclxuICAgICAgICByYWlkYm9zczogW1xyXG4gICAgICAgICAgJ1RyaWdnZXJzJyxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgICB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA9IHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdIHx8IFtdO1xyXG5cclxuICAgICAgLy8gVGhlIHZhbHVlcyBvZiBlYWNoIGB3YXJuT25WYXJpYWJsZVJlc2V0TWFwYCBmaWVsZCBhcmUgaW5pdGlhbGx5IHNldFxyXG4gICAgICAvLyBhZnRlciB0aGUgZmlyc3QgZmlsZSwgc28gdGhhdCBpZiB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlLCB0aGVyZSBhcmVcclxuICAgICAgLy8gbm90IGFueSB3YXJuaW5ncy5cclxuXHJcbiAgICAgIC8vIFRoZSBmaWVsZHMgdGhhdCBhIHVzZXIgZmlsZSBzZXRzIGluIE9wdGlvbnMgY2FuIGJlIGFueXRoaW5nIChwdW4gbm90IGludGVuZGVkKVxyXG4gICAgICAvLyBhbmQgc28gd2UgdXNlIGBhbnlgIGhlcmUuICBUaGUgb25seSBvcGVyYXRpb24gZG9uZSBvbiB0aGlzIGZpZWxkIGlzIGEgIT09XHJcbiAgICAgIC8vIGZvciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHNlZSBpZiB0aGUgdGhlIHVzZXIgZmlsZSBoYXMgbW9kaWZpZWQgaXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHJhY2tlcjogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgaWYgKGxvY2FsRmlsZXMpIHtcclxuICAgICAgICAvLyBsb2NhbEZpbGVzIG1heSBiZSBudWxsIGlmIHRoZXJlIGlzIG5vIHZhbGlkIHVzZXIgZGlyZWN0b3J5LlxyXG4gICAgICAgIGNvbnN0IHNvcnRlZEZpbGVzID0gdGhpcy5zb3J0VXNlckZpbGVzKE9iamVjdC5rZXlzKGxvY2FsRmlsZXMpKTtcclxuICAgICAgICBjb25zdCBqc0ZpbGVzID0gdGhpcy5maWx0ZXJVc2VyRmlsZXMoc29ydGVkRmlsZXMsIG92ZXJsYXlOYW1lLCAnLmpzJyk7XHJcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuY3NzJyk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QganNGaWxlIG9mIGpzRmlsZXMpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2pzRmlsZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5ldmFsVXNlckZpbGUobG9jYWxGaWxlc1tqc0ZpbGVdID8/ICcnLCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gPz8gW10pIHtcclxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVUcmFja2VyW2ZpZWxkXSAmJiB2YXJpYWJsZVRyYWNrZXJbZmllbGRdICE9PSBvcHRpb25zW2ZpZWxkXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWRlYWxseSB1c2VycyBzaG91bGQgZG8gc29tZXRoaW5nIGxpa2UgYE9wdGlvbnMuVHJpZ2dlcnMucHVzaChbZXRjXSk7YFxyXG4gICAgICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBgT3B0aW9ucy5UcmlnZ2VycyA9IFtldGNdO2BcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICAgICAgICBgKioqIFdBUk5JTkc6ICR7YmFzZVBhdGh9JHtqc0ZpbGV9IG92ZXJ3cml0ZXMgT3B0aW9ucy4ke2ZpZWxkfSBmcm9tIHByZXZpb3VzIGZpbGVzLmAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB2YXJpYWJsZVRyYWNrZXJbZmllbGRdID0gb3B0aW9uc1tmaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdPy4oanNGaWxlLCBsb2NhbEZpbGVzLCBvcHRpb25zLCBiYXNlUGF0aCk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIC8vIEJlIHZlcnkgdmlzaWJsZSBmb3IgdXNlcnMuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcqKiogRVJST1IgSU4gVVNFUiBGSUxFICoqKicpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgYXdrd2FyZCB0byBoYW5kbGUgc2tpbiBzZXR0aW5ncyBoZXJlLCBidXRcclxuICAgICAgICAvLyBkb2luZyBpdCBhZnRlciB1c2VyIGNvbmZpZyBmaWxlcyBhbmQgYmVmb3JlIHVzZXIgY3NzIGZpbGVzXHJcbiAgICAgICAgLy8gYWxsb3dzIHVzZXIgY3NzIHRvIG92ZXJyaWRlIHNraW4tc3BlY2lmaWMgY3NzIGFzIHdlbGwuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMuU2tpbilcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2tpbihvcHRpb25zLlNraW4pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNzc0ZpbGUgb2YgY3NzRmlsZXMpIHtcclxuICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2Nzc0ZpbGV9YCk7XHJcbiAgICAgICAgICBjb25zdCB1c2VyQ3NzVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGxvY2FsRmlsZXNbY3NzRmlsZV07XHJcbiAgICAgICAgICBpZiAoY29udGVudHMpXHJcbiAgICAgICAgICAgIHVzZXJDc3NUZXh0LmlubmVyVGV4dCA9IGNvbnRlbnRzO1xyXG4gICAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICAgICAgICBpZiAoaGVhZClcclxuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ3NzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBQb3N0IHRoaXMgY2FsbGJhY2sgc28gdGhhdCB0aGUganMgYW5kIGNzcyBjYW4gYmUgZXhlY3V0ZWQgZmlyc3QuXHJcbiAgICAgIGlmIChjYWxsYmFjaylcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG5cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoeyBjYWxsOiAnY2FjdGJvdFJlcXVlc3RTdGF0ZScgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkVXNlcicsXHJcbiAgICAgIHNvdXJjZTogbG9jYXRpb24uaHJlZixcclxuICAgICAgb3ZlcmxheU5hbWU6IG92ZXJsYXlOYW1lLFxyXG4gICAgfSkudGhlbigoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIERPTUNvbnRlbnRMb2FkZWQgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgdm9pZCBsb2FkVXNlcihlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2tpbihza2luTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXNraW5OYW1lIHx8IHNraW5OYW1lID09PSAnZGVmYXVsdCcpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgYmFzZVBhdGggPSBkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpO1xyXG4gICAgY29uc3Qgc2xhc2hJZHggPSBiYXNlUGF0aC5sYXN0SW5kZXhPZignLycpO1xyXG4gICAgaWYgKHNsYXNoSWR4ICE9PSAtMSlcclxuICAgICAgYmFzZVBhdGggPSBiYXNlUGF0aC5zdWJzdHIoMCwgc2xhc2hJZHgpO1xyXG4gICAgaWYgKGJhc2VQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKVxyXG4gICAgICBiYXNlUGF0aCArPSAnLyc7XHJcbiAgICBjb25zdCBza2luSHJlZiA9IGJhc2VQYXRoICsgJ3NraW5zLycgKyBza2luTmFtZSArICcvJyArIHNraW5OYW1lICsgJy5jc3MnO1xyXG4gICAgdGhpcy5hcHBlbmRDU1NMaW5rKHNraW5IcmVmKTtcclxuICB9XHJcbiAgYXBwZW5kSlNMaW5rKHNyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VySlMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdzcmMnLCBzcmMpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnZmFsc2UnKTtcclxuICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgaWYgKGhlYWQpXHJcbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQodXNlckpTKTtcclxuICB9XHJcbiAgYXBwZW5kQ1NTTGluayhocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJDU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ1NTKTtcclxuICB9XHJcbiAgcHJvY2Vzc09wdGlvbnMob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5LCB0ZW1wbGF0ZT86IE9wdGlvbnNUZW1wbGF0ZSkge1xyXG4gICAgLy8gVGFrZSBvcHRpb25zIGZyb20gdGhlIHRlbXBsYXRlLCBmaW5kIHRoZW0gaW4gc2F2ZWRDb25maWcsXHJcbiAgICAvLyBhbmQgYXBwbHkgdGhlbSB0byBvcHRpb25zLiBUaGlzIGFsc28gaGFuZGxlcyBzZXR0aW5nXHJcbiAgICAvLyBkZWZhdWx0cyBmb3IgYW55dGhpbmcgaW4gdGhlIHRlbXBsYXRlLCBldmVuIGlmIGl0IGRvZXMgbm90XHJcbiAgICAvLyBleGlzdCBpbiBzYXZlZENvbmZpZy5cclxuXHJcbiAgICAvLyBOb3QgYWxsIG92ZXJsYXlzIGhhdmUgb3B0aW9uIHRlbXBsYXRlcy5cclxuICAgIGlmICghdGVtcGxhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0ZW1wbGF0ZU9wdGlvbnMgPSB0ZW1wbGF0ZS5vcHRpb25zIHx8IFtdO1xyXG4gICAgZm9yIChjb25zdCBvcHQgb2YgdGVtcGxhdGVPcHRpb25zKSB7XHJcbiAgICAgIC8vIEdyYWIgdGhlIHNhdmVkIHZhbHVlIG9yIHRoZSBkZWZhdWx0IHRvIHNldCBpbiBvcHRpb25zLlxyXG5cclxuICAgICAgbGV0IHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5ID0gb3B0LmRlZmF1bHQ7XHJcbiAgICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSkge1xyXG4gICAgICAgIGlmIChvcHQuaWQgaW4gc2F2ZWRDb25maWcpIHtcclxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gc2F2ZWRDb25maWdbb3B0LmlkXTtcclxuICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3B0aW9ucyBjYW4gcHJvdmlkZSBjdXN0b20gbG9naWMgdG8gdHVybiBhIHZhbHVlIGludG8gb3B0aW9ucyBzZXR0aW5ncy5cclxuICAgICAgLy8gSWYgdGhpcyBkb2Vzbid0IGV4aXN0LCBqdXN0IHNldCB0aGUgdmFsdWUgZGlyZWN0bHkuXHJcbiAgICAgIC8vIE9wdGlvbiB0ZW1wbGF0ZSBpZHMgYXJlIGlkZW50aWNhbCB0byBmaWVsZCBuYW1lcyBvbiBPcHRpb25zLlxyXG4gICAgICBpZiAob3B0LnNldHRlckZ1bmMpIHtcclxuICAgICAgICBvcHQuc2V0dGVyRnVuYyhvcHRpb25zLCB2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0LnR5cGUgPT09ICdpbnRlZ2VyJykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gTWF0aC5mbG9vcih2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlSW50KHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2Zsb2F0Jykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIHRoaW5ncyBsaWtlIHJhaWRib3NzIHRoYXQgYnVpbGQgZXh0cmEgVUksIGFsc28gZ2l2ZSB0aGVtIGEgY2hhbmNlXHJcbiAgICAvLyB0byBoYW5kbGUgYW55dGhpbmcgdGhhdCBoYXMgYmVlbiBzZXQgb24gdGhhdCBVSS5cclxuICAgIGlmICh0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKVxyXG4gICAgICB0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9XHJcbiAgYWRkVW5sb2NrVGV4dChsYW5nOiBMYW5nKSB7XHJcbiAgICBjb25zdCB1bmxvY2tUZXh0ID0ge1xyXG4gICAgICBlbjogJ/CflJMgVW5sb2NrZWQgKGxvY2sgb3ZlcmxheSBiZWZvcmUgdXNpbmcpJyxcclxuICAgICAgZGU6ICfwn5STIEVudHNwZXJydCAoU3BlcnJlIGRhcyBPdmVybGF5IHZvciBkZXIgTnV0enVuZyknLFxyXG4gICAgICBmcjogJ/CflJMgRMOpYmxvcXXDqSAoQmxvcXVleiBsXFwnb3ZlcmxheSBhdmFudCB1dGlsaXNhdGlvbiknLFxyXG4gICAgICBqYTogJ/CflJMg44Ot44OD44Kv6Kej6ZmkICjjgqrjg7zjg5Djg7zjg6zjgqTjgpLkvb/nlKjjgZnjgovliY3jgavjg63jg4Pjgq/jgZfjgabjgY/jgaDjgZXjgYQpJyxcclxuICAgICAgY246ICfwn5STIOW3suino+mZpOmUgeWumiAo5L2g6ZyA6KaB5bCG5q2k5oKs5rWu56qX6ZSB5a6a5ZCO5pa55Y+v5L2/55SoKScsXHJcbiAgICAgIGtvOiAn8J+UkyDsnITsuZgg7J6g6riIIO2VtOygnOuQqCAo7IKs7Jqp7ZWY6riwIOyghOyXkCDsnITsuZgg7J6g6riI7J2EIOyEpOygle2VmOyEuOyalCknLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpZCA9ICdjYWN0Ym90LXVubG9ja2VkLXRleHQnO1xyXG4gICAgbGV0IHRleHRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYgKCF0ZXh0RWxlbSkge1xyXG4gICAgICB0ZXh0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0ZXh0RWxlbS5pZCA9IGlkO1xyXG4gICAgICB0ZXh0RWxlbS5jbGFzc0xpc3QuYWRkKCd0ZXh0Jyk7XHJcbiAgICAgIC8vIFNldCBlbGVtZW50IGRpc3BsYXkgdG8gbm9uZSBpbiBjYXNlIHRoZSBwYWdlIGhhcyBub3QgaW5jbHVkZWQgZGVmYXVsdHMuY3NzLlxyXG4gICAgICB0ZXh0RWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0ZXh0RWxlbSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0RWxlbS5pbm5lckhUTUwgPSB1bmxvY2tUZXh0W2xhbmddIHx8IHVubG9ja1RleHRbJ2VuJ107XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgVXNlckNvbmZpZygpO1xyXG5cclxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAvLyBUaGlzIGV2ZW50IGNvbWVzIGVhcmx5IGFuZCBpcyBub3QgY2FjaGVkLCBzbyBzZXQgdXAgZXZlbnQgbGlzdGVuZXIgaW1tZWRpYXRlbHkuXHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignb25PdmVybGF5U3RhdGVVcGRhdGUnLCAoZSkgPT4ge1xyXG4gICAgY29uc3QgZG9jQ2xhc3NMaXN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcclxuICAgIGlmIChlLmRldGFpbC5pc0xvY2tlZClcclxuICAgICAgZG9jQ2xhc3NMaXN0LnJlbW92ZSgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRvY0NsYXNzTGlzdC5hZGQoJ3Jlc2l6ZUhhbmRsZScsICd1bmxvY2tlZCcpO1xyXG4gIH0pO1xyXG59XHJcbiIsImltcG9ydCB7IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHMsIE92ZXJsYXlIYW5kbGVyUmVzcG9uc2VUeXBlcyB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuXHJcbi8vIFRPRE86IGl0J2QgYmUgbmljZSB0byBub3QgcmVwZWF0IGpvYiBuYW1lcywgYnV0IGF0IGxlYXN0IFJlY29yZCBlbmZvcmNlcyB0aGF0IGFsbCBhcmUgc2V0LlxyXG5jb25zdCBuYW1lVG9Kb2JFbnVtOiBSZWNvcmQ8Sm9iLCBudW1iZXI+ID0ge1xyXG4gIE5PTkU6IDAsXHJcbiAgR0xBOiAxLFxyXG4gIFBHTDogMixcclxuICBNUkQ6IDMsXHJcbiAgTE5DOiA0LFxyXG4gIEFSQzogNSxcclxuICBDTko6IDYsXHJcbiAgVEhNOiA3LFxyXG4gIENSUDogOCxcclxuICBCU006IDksXHJcbiAgQVJNOiAxMCxcclxuICBHU006IDExLFxyXG4gIExUVzogMTIsXHJcbiAgV1ZSOiAxMyxcclxuICBBTEM6IDE0LFxyXG4gIENVTDogMTUsXHJcbiAgTUlOOiAxNixcclxuICBCVE46IDE3LFxyXG4gIEZTSDogMTgsXHJcbiAgUExEOiAxOSxcclxuICBNTks6IDIwLFxyXG4gIFdBUjogMjEsXHJcbiAgRFJHOiAyMixcclxuICBCUkQ6IDIzLFxyXG4gIFdITTogMjQsXHJcbiAgQkxNOiAyNSxcclxuICBBQ046IDI2LFxyXG4gIFNNTjogMjcsXHJcbiAgU0NIOiAyOCxcclxuICBST0c6IDI5LFxyXG4gIE5JTjogMzAsXHJcbiAgTUNIOiAzMSxcclxuICBEUks6IDMyLFxyXG4gIEFTVDogMzMsXHJcbiAgU0FNOiAzNCxcclxuICBSRE06IDM1LFxyXG4gIEJMVTogMzYsXHJcbiAgR05COiAzNyxcclxuICBETkM6IDM4LFxyXG4gIFJQUjogMzksXHJcbiAgU0dFOiA0MCxcclxufTtcclxuXHJcbmNvbnN0IGFsbEpvYnMgPSBPYmplY3Qua2V5cyhuYW1lVG9Kb2JFbnVtKSBhcyBKb2JbXTtcclxuY29uc3QgYWxsUm9sZXMgPSBbJ3RhbmsnLCAnaGVhbGVyJywgJ2RwcycsICdjcmFmdGVyJywgJ2dhdGhlcmVyJywgJ25vbmUnXSBhcyBSb2xlW107XHJcblxyXG5jb25zdCB0YW5rSm9iczogSm9iW10gPSBbJ0dMQScsICdQTEQnLCAnTVJEJywgJ1dBUicsICdEUksnLCAnR05CJ107XHJcbmNvbnN0IGhlYWxlckpvYnM6IEpvYltdID0gWydDTkonLCAnV0hNJywgJ1NDSCcsICdBU1QnLCAnU0dFJ107XHJcbmNvbnN0IG1lbGVlRHBzSm9iczogSm9iW10gPSBbJ1BHTCcsICdNTksnLCAnTE5DJywgJ0RSRycsICdST0cnLCAnTklOJywgJ1NBTScsICdSUFInXTtcclxuY29uc3QgcmFuZ2VkRHBzSm9iczogSm9iW10gPSBbJ0FSQycsICdCUkQnLCAnRE5DJywgJ01DSCddO1xyXG5jb25zdCBjYXN0ZXJEcHNKb2JzOiBKb2JbXSA9IFsnQkxVJywgJ1JETScsICdCTE0nLCAnU01OJywgJ0FDTicsICdUSE0nXTtcclxuY29uc3QgZHBzSm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzLCAuLi5yYW5nZWREcHNKb2JzLCAuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY3JhZnRpbmdKb2JzOiBKb2JbXSA9IFsnQ1JQJywgJ0JTTScsICdBUk0nLCAnR1NNJywgJ0xUVycsICdXVlInLCAnQUxDJywgJ0NVTCddO1xyXG5jb25zdCBnYXRoZXJpbmdKb2JzOiBKb2JbXSA9IFsnTUlOJywgJ0JUTicsICdGU0gnXTtcclxuXHJcbmNvbnN0IHN0dW5Kb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLm1lbGVlRHBzSm9ic107XHJcbmNvbnN0IHNpbGVuY2VKb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLnJhbmdlZERwc0pvYnNdO1xyXG5jb25zdCBzbGVlcEpvYnM6IEpvYltdID0gWydCTE0nLCAnQkxVJywgLi4uaGVhbGVySm9ic107XHJcbmNvbnN0IGZlaW50Sm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3QgYWRkbGVKb2JzOiBKb2JbXSA9IFsuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY2xlYW5zZUpvYnM6IEpvYltdID0gWydCTFUnLCAnQlJEJywgLi4uaGVhbGVySm9ic107XHJcblxyXG5jb25zdCBqb2JUb1JvbGVNYXA6IE1hcDxKb2IsIFJvbGU+ID0gKCgpID0+IHtcclxuICBjb25zdCBhZGRUb01hcCA9IChtYXA6IE1hcDxKb2IsIFJvbGU+LCBqb2JzOiBKb2JbXSwgcm9sZTogUm9sZSkgPT4ge1xyXG4gICAgam9icy5mb3JFYWNoKChqb2IpID0+IG1hcC5zZXQoam9iLCByb2xlKSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFwOiBNYXA8Sm9iLCBSb2xlPiA9IG5ldyBNYXAoW1snTk9ORScsICdub25lJ11dKTtcclxuICBhZGRUb01hcChtYXAsIHRhbmtKb2JzLCAndGFuaycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgaGVhbGVySm9icywgJ2hlYWxlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZHBzSm9icywgJ2RwcycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgY3JhZnRpbmdKb2JzLCAnY3JhZnRlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZ2F0aGVyaW5nSm9icywgJ2dhdGhlcmVyJyk7XHJcblxyXG4gIHJldHVybiBtYXA7XHJcbn0pKCk7XHJcblxyXG50eXBlIFdhdGNoQ29tYmF0YW50UGFyYW1zID0ge1xyXG4gIGlkcz86IG51bWJlcltdO1xyXG4gIG5hbWVzPzogc3RyaW5nW107XHJcbiAgcHJvcHM/OiBzdHJpbmdbXTtcclxuICBkZWxheT86IG51bWJlcjtcclxuICBtYXhEdXJhdGlvbj86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRGdW5jID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZnVuYzogKHJldDogT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzWydnZXRDb21iYXRhbnRzJ10pID0+IGJvb2xlYW4sXHJcbikgPT4gUHJvbWlzZTx2b2lkPjtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IHdhdGNoQ29tYmF0YW50TWFwOiBXYXRjaENvbWJhdGFudE1hcEVudHJ5W10gPSBbXTtcclxuXHJcbmNvbnN0IHNob3VsZENhbmNlbFdhdGNoID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZW50cnk6IFdhdGNoQ29tYmF0YW50TWFwRW50cnksXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGlmIChlbnRyeS5jYW5jZWwpXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICBpZiAocGFyYW1zLm1heER1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgRGF0ZS5ub3coKSAtIGVudHJ5LnN0YXJ0ID4gcGFyYW1zLm1heER1cmF0aW9uKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnQ6IFdhdGNoQ29tYmF0YW50RnVuYyA9IChwYXJhbXMsIGZ1bmMpID0+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlcywgcmVqKSA9PiB7XHJcbiAgICBjb25zdCBkZWxheSA9IHBhcmFtcy5kZWxheSA/PyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IGNhbGw6IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHNbJ2dldENvbWJhdGFudHMnXSA9IHtcclxuICAgICAgY2FsbDogJ2dldENvbWJhdGFudHMnLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAocGFyYW1zLmlkcylcclxuICAgICAgY2FsbC5pZHMgPSBwYXJhbXMuaWRzO1xyXG5cclxuICAgIGlmIChwYXJhbXMubmFtZXMpXHJcbiAgICAgIGNhbGwubmFtZXMgPSBwYXJhbXMubmFtZXM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5wcm9wcylcclxuICAgICAgY2FsbC5wcm9wcyA9IHBhcmFtcy5wcm9wcztcclxuXHJcbiAgICBjb25zdCBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICAgICAgY2FuY2VsOiBmYWxzZSxcclxuICAgICAgc3RhcnQ6IERhdGUubm93KCksXHJcbiAgICB9O1xyXG5cclxuICAgIHdhdGNoQ29tYmF0YW50TWFwLnB1c2goZW50cnkpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrRnVuYyA9ICgpID0+IHtcclxuICAgICAgaWYgKHNob3VsZENhbmNlbFdhdGNoKHBhcmFtcywgZW50cnkpKSB7XHJcbiAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKGNhbGwpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVudHJ5LmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmdW5jKHJlc3BvbnNlKSlcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoZWNrRnVuYywgZGVsYXkpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5jb25zdCBVdGlsID0ge1xyXG4gIGpvYkVudW1Ub0pvYjogKGlkOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGpvYiA9IGFsbEpvYnMuZmluZCgoam9iOiBKb2IpID0+IG5hbWVUb0pvYkVudW1bam9iXSA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIGpvYiA/PyAnTk9ORSc7XHJcbiAgfSxcclxuICBqb2JUb0pvYkVudW06IChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdLFxyXG4gIGpvYlRvUm9sZTogKGpvYjogSm9iKSA9PiB7XHJcbiAgICBjb25zdCByb2xlID0gam9iVG9Sb2xlTWFwLmdldChqb2IpO1xyXG4gICAgcmV0dXJuIHJvbGUgPz8gJ25vbmUnO1xyXG4gIH0sXHJcbiAgZ2V0QWxsUm9sZXM6ICgpOiByZWFkb25seSBSb2xlW10gPT4gYWxsUm9sZXMsXHJcbiAgaXNUYW5rSm9iOiAoam9iOiBKb2IpID0+IHRhbmtKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNIZWFsZXJKb2I6IChqb2I6IEpvYikgPT4gaGVhbGVySm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzTWVsZWVEcHNKb2I6IChqb2I6IEpvYikgPT4gbWVsZWVEcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNSYW5nZWREcHNKb2I6IChqb2I6IEpvYikgPT4gcmFuZ2VkRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzQ2FzdGVyRHBzSm9iOiAoam9iOiBKb2IpID0+IGNhc3RlckRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0Rwc0pvYjogKGpvYjogSm9iKSA9PiBkcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDcmFmdGluZ0pvYjogKGpvYjogSm9iKSA9PiBjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0dhdGhlcmluZ0pvYjogKGpvYjogSm9iKSA9PiBnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDb21iYXRKb2I6IChqb2I6IEpvYikgPT4ge1xyXG4gICAgcmV0dXJuICFjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSAmJiAhZ2F0aGVyaW5nSm9icy5pbmNsdWRlcyhqb2IpO1xyXG4gIH0sXHJcbiAgY2FuU3R1bjogKGpvYjogSm9iKSA9PiBzdHVuSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNpbGVuY2U6IChqb2I6IEpvYikgPT4gc2lsZW5jZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5TbGVlcDogKGpvYjogSm9iKSA9PiBzbGVlcEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5DbGVhbnNlOiAoam9iOiBKb2IpID0+IGNsZWFuc2VKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuRmVpbnQ6IChqb2I6IEpvYikgPT4gZmVpbnRKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuQWRkbGU6IChqb2I6IEpvYikgPT4gYWRkbGVKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgd2F0Y2hDb21iYXRhbnQ6IHdhdGNoQ29tYmF0YW50LFxyXG4gIGNsZWFyV2F0Y2hDb21iYXRhbnRzOiAoKSA9PiB7XHJcbiAgICB3aGlsZSAod2F0Y2hDb21iYXRhbnRNYXAubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB3YXRjaCA9IHdhdGNoQ29tYmF0YW50TWFwLnBvcCgpO1xyXG4gICAgICBpZiAod2F0Y2gpXHJcbiAgICAgICAgd2F0Y2guY2FuY2VsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVXRpbDtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0FCbG9vZHlSZXVuaW9uJzogNTYwLFxyXG4gICdBRnJvc3R5UmVjZXB0aW9uJzogMTAxMCxcclxuICAnQVBhdGhVbnZlaWxlZCc6IDEwMTUsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUNoaW1lcmEnOiAzNjgsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUh5ZHJhJzogMzY5LFxyXG4gICdBUmVxdWllbUZvckhlcm9lcyc6IDgzMCxcclxuICAnQVNsZWVwRGlzdHVyYmVkJzogOTE0LFxyXG4gICdBU3BlY3RhY2xlRm9yVGhlQWdlcyc6IDUzMyxcclxuICAnQWNjcnVlRW5taXR5RnJvbU11bHRpcGxlVGFyZ2V0cyc6IDU0MCxcclxuICAnQWlyRm9yY2VPbmUnOiA4MzIsXHJcbiAgJ0FrYWRhZW1pYUFueWRlcic6IDg0MSxcclxuICAnQWxhTWhpZ28nOiA2ODksXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyJzogNDQ0LFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlclNhdmFnZSc6IDQ1MSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb24nOiA1MjIsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlJzogNTMxLFxyXG4gICdBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3InOiA1ODEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXInOiA0NDUsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyU2F2YWdlJzogNDUyLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbic6IDUyMyxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb25TYXZhZ2UnOiA1MzIsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZUZhdGhlcic6IDQ0MyxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyU2F2YWdlJzogNDUwLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24nOiA1MjEsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvblNhdmFnZSc6IDUzMCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcic6IDU4MCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyJzogNDQyLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NDksXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZVNvbic6IDUyMCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlJzogNTI5LFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcic6IDU4MixcclxuICAnQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODYsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3InOiA1ODMsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODcsXHJcbiAgJ0FsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwnOiAyMjAsXHJcbiAgJ0FsbHNXZWxsVGhhdFN0YXJ0c1dlbGwnOiA3OTYsXHJcbiAgJ0FscGhhc2NhcGVWMTAnOiA3OTgsXHJcbiAgJ0FscGhhc2NhcGVWMTBTYXZhZ2UnOiA4MDIsXHJcbiAgJ0FscGhhc2NhcGVWMjAnOiA3OTksXHJcbiAgJ0FscGhhc2NhcGVWMjBTYXZhZ2UnOiA4MDMsXHJcbiAgJ0FscGhhc2NhcGVWMzAnOiA4MDAsXHJcbiAgJ0FscGhhc2NhcGVWMzBTYXZhZ2UnOiA4MDQsXHJcbiAgJ0FscGhhc2NhcGVWNDAnOiA4MDEsXHJcbiAgJ0FscGhhc2NhcGVWNDBTYXZhZ2UnOiA4MDUsXHJcbiAgJ0FtYXVyb3QnOiA4MzgsXHJcbiAgJ0FtZGFwb3JLZWVwJzogMTY3LFxyXG4gICdBbWRhcG9yS2VlcEhhcmQnOiAxODksXHJcbiAgJ0FtaEFyYWVuZyc6IDgxNSxcclxuICAnQW5hbW5lc2lzQW55ZGVyJzogODk4LFxyXG4gICdBbm5veVRoZVZvaWQnOiAyMjIsXHJcbiAgJ0FzVGhlSGVhcnRCaWRzJzogODk0LFxyXG4gICdBc1RoZUhlYXZlbnNCdXJuJzogMTAxMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlJzogMTAwMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlU2F2YWdlJzogMTAwMyxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSc6IDEwMDgsXHJcbiAgJ0FzcGhvZGVsb3NUaGVGb3VydGhDaXJjbGVTYXZhZ2UnOiAxMDA5LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlJzogMTAwNCxcclxuICAnQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSc6IDEwMDUsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSc6IDEwMDYsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZVNhdmFnZSc6IDEwMDcsXHJcbiAgJ0Fzc2lzdEFsbGllc0luRGVmZWF0aW5nQVRhcmdldCc6IDU0NCxcclxuICAnQXN0cmFnYWxvcyc6IDcyOSxcclxuICAnQXZvaWRBcmVhT2ZFZmZlY3RBdHRhY2tzJzogNTM3LFxyXG4gICdBenlzTGxhJzogNDAyLFxyXG4gICdCYWVsc2Fyc1dhbGwnOiA2MTUsXHJcbiAgJ0JhcmRhbXNNZXR0bGUnOiA2MjMsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVBhcnRpZXMnOiAyMTQsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVN0cm9uZ2hvbGRzJzogMjE1LFxyXG4gICdCYXR0bGVJblRoZUJpZ0tlZXAnOiAzOTYsXHJcbiAgJ0JhdHRsZU9uVGhlQmlnQnJpZGdlJzogMzY2LFxyXG4gICdCbG9vZE9uVGhlRGVjayc6IDcwOCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3AnOiAxNTgsXHJcbiAgJ0JyYXlmbG94c0xvbmdzdG9wSGFyZCc6IDM2MixcclxuICAnQ2FwZVdlc3R3aW5kJzogMzMyLFxyXG4gICdDYXN0cnVtQWJhbmlhJzogNjYxLFxyXG4gICdDYXN0cnVtRmx1bWluaXMnOiA3NzgsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtJzogOTM0LFxyXG4gICdDYXN0cnVtTWFyaW51bURyeWRvY2tzJzogOTY3LFxyXG4gICdDYXN0cnVtTWFyaW51bUV4dHJlbWUnOiA5MzUsXHJcbiAgJ0Nhc3RydW1NZXJpZGlhbnVtJzogMjE3LFxyXG4gICdDZW50cmFsU2hyb3VkJzogMTQ4LFxyXG4gICdDZW50cmFsVGhhbmFsYW4nOiAxNDEsXHJcbiAgJ0Nob2NvYm9SYWNlQ29zdGFEZWxTb2wnOiAzODksXHJcbiAgJ0Nob2NvYm9SYWNlU2Fnb2xpaVJvYWQnOiAzOTAsXHJcbiAgJ0Nob2NvYm9SYWNlVHJhbnF1aWxQYXRocyc6IDM5MSxcclxuICAnQ2hvY29ib1JhY2VUdXRvcmlhbCc6IDQxNyxcclxuICAnQ2luZGVyRHJpZnQnOiA4OTcsXHJcbiAgJ0NpbmRlckRyaWZ0RXh0cmVtZSc6IDkxMixcclxuICAnQ29lcnRoYXNDZW50cmFsSGlnaGxhbmRzJzogMTU1LFxyXG4gICdDb2VydGhhc1dlc3Rlcm5IaWdobGFuZHMnOiAzOTcsXHJcbiAgJ0NvbWluZ0NsZWFuJzogODYwLFxyXG4gICdDb250YWlubWVudEJheVAxVDYnOiA1NzYsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNkV4dHJlbWUnOiA1NzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UzFUNyc6IDUxNyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSc6IDUyNCxcclxuICAnQ29udGFpbm1lbnRCYXlaMVQ5JzogNjM3LFxyXG4gICdDb250YWlubWVudEJheVoxVDlFeHRyZW1lJzogNjM4LFxyXG4gICdDb3BwZXJiZWxsTWluZXMnOiAxNjEsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lc0hhcmQnOiAzNDksXHJcbiAgJ0N1cmlvdXNHb3JnZU1lZXRzSGlzTWF0Y2gnOiA3MTcsXHJcbiAgJ0N1dHRlcnNDcnknOiAxNzAsXHJcbiAgJ0RhcmtBc1RoZU5pZ2h0U2t5JzogNzEzLFxyXG4gICdEZWF0aFVudG9EYXduJzogOTc3LFxyXG4gICdEZWZlYXRBbk9jY3VwaWVkVGFyZ2V0JzogNTQ1LFxyXG4gICdEZWx0YXNjYXBlVjEwJzogNjkxLFxyXG4gICdEZWx0YXNjYXBlVjEwU2F2YWdlJzogNjk1LFxyXG4gICdEZWx0YXNjYXBlVjIwJzogNjkyLFxyXG4gICdEZWx0YXNjYXBlVjIwU2F2YWdlJzogNjk2LFxyXG4gICdEZWx0YXNjYXBlVjMwJzogNjkzLFxyXG4gICdEZWx0YXNjYXBlVjMwU2F2YWdlJzogNjk3LFxyXG4gICdEZWx0YXNjYXBlVjQwJzogNjk0LFxyXG4gICdEZWx0YXNjYXBlVjQwU2F2YWdlJzogNjk4LFxyXG4gICdEZWx1YnJ1bVJlZ2luYWUnOiA5MzYsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZVNhdmFnZSc6IDkzNyxcclxuICAnRG9obk1oZWcnOiA4MjEsXHJcbiAgJ0RvbWFDYXN0bGUnOiA2NjAsXHJcbiAgJ0RyYWdvblNvdW5kJzogNzE0LFxyXG4gICdEdW5TY2FpdGgnOiA2MjcsXHJcbiAgJ0R6ZW1hZWxEYXJraG9sZCc6IDE3MSxcclxuICAnRWFzdFNocm91ZCc6IDE1MixcclxuICAnRWFzdGVybkxhTm9zY2VhJzogMTM3LFxyXG4gICdFYXN0ZXJuVGhhbmFsYW4nOiAxNDUsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnQnOiA4NTAsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnRTYXZhZ2UnOiA4NTQsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb24nOiA4NTEsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb25TYXZhZ2UnOiA4NTUsXHJcbiAgJ0VkZW5zR2F0ZVJlc3VycmVjdGlvbic6IDg0OSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlJzogODUzLFxyXG4gICdFZGVuc0dhdGVTZXB1bHR1cmUnOiA4NTIsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZVNhdmFnZSc6IDg1NixcclxuICAnRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzJzogOTQ0LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXNTYXZhZ2UnOiA5NDgsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5JzogOTQ1LFxyXG4gICdFZGVuc1Byb21pc2VFdGVybml0eVNhdmFnZSc6IDk0OSxcclxuICAnRWRlbnNQcm9taXNlTGl0YW55JzogOTQzLFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UnOiA5NDcsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhJzogOTQyLFxyXG4gICdFZGVuc1Byb21pc2VVbWJyYVNhdmFnZSc6IDk0NixcclxuICAnRWRlbnNWZXJzZUZ1bG1pbmF0aW9uJzogOTAyLFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb25TYXZhZ2UnOiA5MDYsXHJcbiAgJ0VkZW5zVmVyc2VGdXJvcic6IDkwMyxcclxuICAnRWRlbnNWZXJzZUZ1cm9yU2F2YWdlJzogOTA3LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbSc6IDkwNCxcclxuICAnRWRlbnNWZXJzZUljb25vY2xhc21TYXZhZ2UnOiA5MDgsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlJzogOTA1LFxyXG4gICdFZGVuc1ZlcnNlUmVmdWxnZW5jZVNhdmFnZSc6IDkwOSxcclxuICAnRWxwaXMnOiA5NjEsXHJcbiAgJ0VtYW5hdGlvbic6IDcxOSxcclxuICAnRW1hbmF0aW9uRXh0cmVtZSc6IDcyMCxcclxuICAnRW1pc3NhcnlPZlRoZURhd24nOiA3NjksXHJcbiAgJ0VuZHdhbGtlcic6IDEwMTMsXHJcbiAgJ0VuZ2FnZU11bHRpcGxlVGFyZ2V0cyc6IDU0MSxcclxuICAnRXVsbW9yZSc6IDgyMCxcclxuICAnRXZlck1hcmNoSGVhdmVuc3dhcmQnOiAxMDE4LFxyXG4gICdFeGVjdXRlQUNvbWJvSW5CYXR0bGUnOiA1MzksXHJcbiAgJ0V4ZWN1dGVBQ29tYm9Ub0luY3JlYXNlRW5taXR5JzogNTM4LFxyXG4gICdFeGVjdXRlQVJhbmdlZEF0dGFja1RvSW5jcmVhc2VFbm1pdHknOiA1NDIsXHJcbiAgJ0ZhZGVkTWVtb3JpZXMnOiA5MzIsXHJcbiAgJ0ZpbmFsRXhlcmNpc2UnOiA1NTIsXHJcbiAgJ0ZpdEZvckFRdWVlbic6IDk1NSxcclxuICAnRmxpY2tpbmdTdGlja3NBbmRUYWtpbmdOYW1lcyc6IDIxOSxcclxuICAnRm91bmRhdGlvbic6IDQxOCxcclxuICAnRm91clBsYXllck1haGpvbmdRdWlja01hdGNoS3VpdGFuRGlzYWJsZWQnOiA4MzEsXHJcbiAgJ0dhcmxlbWFsZCc6IDk1OCxcclxuICAnSGFsYXRhbGknOiAxNjIsXHJcbiAgJ0hhbGF0YWxpSGFyZCc6IDM2MCxcclxuICAnSGF1a2tlTWFub3InOiAxNjYsXHJcbiAgJ0hhdWtrZU1hbm9ySGFyZCc6IDM1MCxcclxuICAnSGVhbEFuQWxseSc6IDU0OSxcclxuICAnSGVhbE11bHRpcGxlQWxsaWVzJzogNTUwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxMV8yMCc6IDc3MSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMV8xMCc6IDc3MCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMjFfMzAnOiA3NzIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczMxXzQwJzogNzgyLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM0MV81MCc6IDc3MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNTFfNjAnOiA3ODMsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczYxXzcwJzogNzc0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM3MV84MCc6IDc4NCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzODFfOTAnOiA3NzUsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczkxXzEwMCc6IDc4NSxcclxuICAnSGVsbHNLaWVyJzogODEwLFxyXG4gICdIZWxsc0tpZXJFeHRyZW1lJzogODExLFxyXG4gICdIZWxsc0xpZCc6IDc0MixcclxuICAnSGVyb09uVGhlSGFsZlNoZWxsJzogMjE2LFxyXG4gICdIaWRkZW5Hb3JnZSc6IDc5MSxcclxuICAnSG9sbWluc3RlclN3aXRjaCc6IDgzNyxcclxuICAnSHVsbGJyZWFrZXJJc2xlJzogMzYxLFxyXG4gICdIdWxsYnJlYWtlcklzbGVIYXJkJzogNTU3LFxyXG4gICdJZHlsbHNoaXJlJzogNDc4LFxyXG4gICdJbE1oZWcnOiA4MTYsXHJcbiAgJ0luRnJvbVRoZUNvbGQnOiAxMDExLFxyXG4gICdJblRoYWxzTmFtZSc6IDcwNSxcclxuICAnSW50ZXJhY3RXaXRoVGhlQmF0dGxlZmllbGQnOiA1NDgsXHJcbiAgJ0ludGVyZGltZW5zaW9uYWxSaWZ0JzogNjkwLFxyXG4gICdJdHNQcm9iYWJseUFUcmFwJzogNjY1LFxyXG4gICdLaG9sdXNpYSc6IDgxNCxcclxuICAnS3Rpc2lzSHlwZXJib3JlaWEnOiA5NzQsXHJcbiAgJ0t1Z2FuZSc6IDYyOCxcclxuICAnS3VnYW5lQ2FzdGxlJzogNjYyLFxyXG4gICdLdWdhbmVPaGFzaGknOiA4MDYsXHJcbiAgJ0xhYnlyaW50aG9zJzogOTU2LFxyXG4gICdMYWlkVG9SZXN0JzogMTAxNyxcclxuICAnTGFrZWxhbmQnOiA4MTMsXHJcbiAgJ0xlZ2VuZE9mVGhlTm90U29IaWRkZW5UZW1wbGUnOiA4NTksXHJcbiAgJ0xpZmVFcGhlbWVyYWxQYXRoRXRlcm5hbCc6IDEwMjMsXHJcbiAgJ0xpbXNhTG9taW5zYUxvd2VyRGVja3MnOiAxMjksXHJcbiAgJ0xpbXNhTG9taW5zYVVwcGVyRGVja3MnOiAxMjgsXHJcbiAgJ0xvbmdMaXZlVGhlUXVlZW4nOiAyOTgsXHJcbiAgJ0xvdm1NYXN0ZXJUb3VybmFtZW50JzogNTA2LFxyXG4gICdMb3ZtUGxheWVyQmF0dGxlTm9uUnAnOiA1OTEsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVScCc6IDU4OSxcclxuICAnTG92bVRvdXJuYW1lbnQnOiA1OTAsXHJcbiAgJ0xvd2VyTGFOb3NjZWEnOiAxMzUsXHJcbiAgJ01hbGlrYWhzV2VsbCc6IDgzNixcclxuICAnTWFyZUxhbWVudG9ydW0nOiA5NTksXHJcbiAgJ01hdGNoQWxsJzogbnVsbCxcclxuICAnTWF0b3lhc1JlbGljdCc6IDkzMyxcclxuICAnTWF0c3ViYU1heWhlbSc6IDcxMCxcclxuICAnTWVtb3JpYU1pc2VyYUV4dHJlbWUnOiA5MTMsXHJcbiAgJ01lc3Nlbmdlck9mVGhlV2luZHMnOiA4MzQsXHJcbiAgJ01pZGRsZUxhTm9zY2VhJzogMTM0LFxyXG4gICdNaXN0JzogMTM2LFxyXG4gICdNb3JEaG9uYSc6IDE1NixcclxuICAnTW9yZVRoYW5BRmVlbGVyJzogMjIxLFxyXG4gICdNdEd1bGcnOiA4MjIsXHJcbiAgJ05hYWRhbSc6IDY4OCxcclxuICAnTmV2ZXJyZWFwJzogNDIwLFxyXG4gICdOZXdHcmlkYW5pYSc6IDEzMixcclxuICAnTm9ydGhTaHJvdWQnOiAxNTQsXHJcbiAgJ05vcnRoZXJuVGhhbmFsYW4nOiAxNDcsXHJcbiAgJ055ZWxiZXJ0c0xhbWVudCc6IDg3NixcclxuICAnT2NlYW5GaXNoaW5nJzogOTAwLFxyXG4gICdPbGRHcmlkYW5pYSc6IDEzMyxcclxuICAnT2xkU2hhcmxheWFuJzogOTYyLFxyXG4gICdPbmVMaWZlRm9yT25lV29ybGQnOiA1OTIsXHJcbiAgJ09uc2FsSGFrYWlyRGFuc2hpZ05hYWRhbSc6IDg4OCxcclxuICAnT3VyQ29tcHJvbWlzZSc6IDcxNixcclxuICAnT3VyVW5zdW5nSGVyb2VzJzogNzIyLFxyXG4gICdPdXRlckxhTm9zY2VhJzogMTgwLFxyXG4gICdQYWdsdGhhbic6IDkzOCxcclxuICAnUGhhcm9zU2lyaXVzJzogMTYwLFxyXG4gICdQaGFyb3NTaXJpdXNIYXJkJzogNTEwLFxyXG4gICdQdWxsaW5nUG9pc29uUG9zaWVzJzogMTkxLFxyXG4gICdSYWR6QXRIYW4nOiA5NjMsXHJcbiAgJ1JhaXNpbmdUaGVTd29yZCc6IDcwNixcclxuICAnUmV0dXJuT2ZUaGVCdWxsJzogNDAzLFxyXG4gICdSaGFsZ3JzUmVhY2gnOiA2MzUsXHJcbiAgJ1NhZ2VzRm9jdXMnOiAxMDIyLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bSc6IDUxMSxcclxuICAnU2FpbnRNb2NpYW5uZXNBcmJvcmV0dW1IYXJkJzogNzg4LFxyXG4gICdTYXN0YXNoYSc6IDE1NyxcclxuICAnU2FzdGFzaGFIYXJkJzogMzg3LFxyXG4gICdTZWFsUm9ja1NlaXplJzogNDMxLFxyXG4gICdTaGFkb3dBbmRDbGF3JzogMjIzLFxyXG4gICdTaGlzdWlPZlRoZVZpb2xldFRpZGVzJzogNjE2LFxyXG4gICdTaWdtYXNjYXBlVjEwJzogNzQ4LFxyXG4gICdTaWdtYXNjYXBlVjEwU2F2YWdlJzogNzUyLFxyXG4gICdTaWdtYXNjYXBlVjIwJzogNzQ5LFxyXG4gICdTaWdtYXNjYXBlVjIwU2F2YWdlJzogNzUzLFxyXG4gICdTaWdtYXNjYXBlVjMwJzogNzUwLFxyXG4gICdTaWdtYXNjYXBlVjMwU2F2YWdlJzogNzU0LFxyXG4gICdTaWdtYXNjYXBlVjQwJzogNzUxLFxyXG4gICdTaWdtYXNjYXBlVjQwU2F2YWdlJzogNzU1LFxyXG4gICdTbWlsZXRvbic6IDk3NixcclxuICAnU25vd2Nsb2FrJzogMzcxLFxyXG4gICdTb2htQWwnOiA0NDEsXHJcbiAgJ1NvaG1BbEhhcmQnOiA2MTcsXHJcbiAgJ1NvaHJLaGFpJzogNTU1LFxyXG4gICdTb2xlbW5UcmluaXR5JzogMzAwLFxyXG4gICdTb3V0aFNocm91ZCc6IDE1MyxcclxuICAnU291dGhlcm5UaGFuYWxhbic6IDE0NixcclxuICAnU3BlY2lhbEV2ZW50SSc6IDM1MyxcclxuICAnU3BlY2lhbEV2ZW50SWknOiAzNTQsXHJcbiAgJ1NwZWNpYWxFdmVudElpaSc6IDUwOSxcclxuICAnU3RpbmdpbmdCYWNrJzogMTkyLFxyXG4gICdTeXJjdXNUb3dlcic6IDM3MixcclxuICAnVGhhdm5haXInOiA5NTcsXHJcbiAgJ1RoZUFlcnknOiA0MzUsXHJcbiAgJ1RoZUFldGhlcm9jaGVtaWNhbFJlc2VhcmNoRmFjaWxpdHknOiA0MzgsXHJcbiAgJ1RoZUFpdGlhc2NvcGUnOiA5NzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVFeHRyZW1lJzogMzc4LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCc6IDM3NyxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCc6IDkzMCxcclxuICAnVGhlQW50aXRvd2VyJzogNTE2LFxyXG4gICdUaGVBcXVhcG9saXMnOiA1NTgsXHJcbiAgJ1RoZUF1cnVtVmFsZSc6IDE3MixcclxuICAnVGhlQXppbVN0ZXBwZSc6IDYyMixcclxuICAnVGhlQmF0dGxlT25CZWtrbyc6IDcxMSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMSc6IDI0MSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMic6IDI0MixcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMyc6IDI0MyxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNCc6IDI0NCxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNSc6IDI0NSxcclxuICAnVGhlQm9yZGVybGFuZFJ1aW5zU2VjdXJlJzogMzc2LFxyXG4gICdUaGVCb3dsT2ZFbWJlcnMnOiAyMDIsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0V4dHJlbWUnOiAyOTUsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0hhcmQnOiAyOTIsXHJcbiAgJ1RoZUJvemphSW5jaWRlbnQnOiA5MTEsXHJcbiAgJ1RoZUJvemphblNvdXRoZXJuRnJvbnQnOiA5MjAsXHJcbiAgJ1RoZUJ1cm4nOiA3ODksXHJcbiAgJ1RoZUNhbGFtaXR5UmV0b2xkJzogNzkwLFxyXG4gICdUaGVDYXJ0ZW5lYXVGbGF0c0hlbGlvZHJvbWUnOiA2MzMsXHJcbiAgJ1RoZUNocnlzYWxpcyc6IDQyNixcclxuICAnVGhlQ2h1cm5pbmdNaXN0cyc6IDQwMCxcclxuICAnVGhlQ2xvdWREZWNrJzogOTUwLFxyXG4gICdUaGVDbG91ZERlY2tFeHRyZW1lJzogOTUxLFxyXG4gICdUaGVDb3BpZWRGYWN0b3J5JzogODgyLFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZSc6IDg0NixcclxuICAnVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGVFeHRyZW1lJzogODQ4LFxyXG4gICdUaGVDcnlzdGFyaXVtJzogODE5LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlJzogODQ1LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlRXh0cmVtZSc6IDg1OCxcclxuICAnVGhlRGFya0luc2lkZSc6IDk5MixcclxuICAnVGhlRGVhZEVuZHMnOiA5NzMsXHJcbiAgJ1RoZURpYWRlbSc6IDkyOSxcclxuICAnVGhlRGlhZGVtRWFzeSc6IDUxMixcclxuICAnVGhlRGlhZGVtSGFyZCc6IDUxNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHMnOiA2MjUsXHJcbiAgJ1RoZURpYWRlbUh1bnRpbmdHcm91bmRzRWFzeSc6IDYyNCxcclxuICAnVGhlRGlhZGVtVHJpYWxzT2ZUaGVGdXJ5JzogNjMwLFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZU1hdHJvbic6IDY1NixcclxuICAnVGhlRG9tYW5FbmNsYXZlJzogNzU5LFxyXG4gICdUaGVEcmFnb25zTmVjayc6IDE0MixcclxuICAnVGhlRHJhdmFuaWFuRm9yZWxhbmRzJzogMzk4LFxyXG4gICdUaGVEcmF2YW5pYW5IaW50ZXJsYW5kcyc6IDM5OSxcclxuICAnVGhlRHJvd25lZENpdHlPZlNrYWxsYSc6IDczMSxcclxuICAnVGhlRHVuZ2VvbnNPZkx5aGVHaGlhaCc6IDg3OSxcclxuICAnVGhlRHVza1ZpZ2lsJzogNDM0LFxyXG4gICdUaGVEeWluZ0dhc3AnOiA4NDcsXHJcbiAgJ1RoZUVwaWNPZkFsZXhhbmRlclVsdGltYXRlJzogODg3LFxyXG4gICdUaGVFeGNpdGF0cm9uNjAwMCc6IDEwMDAsXHJcbiAgJ1RoZUZhY2VPZlRydWVFdmlsJzogNzA5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoQ3J5c3RhbFRvd2VyJzogNzY3LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoRmVhc3RpbmdHcm91bmRzJzogNjE5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoTGljaGVud2VlZCc6IDY0NixcclxuICAnVGhlRmVhc3RSYW5rZWQnOiA3NjUsXHJcbiAgJ1RoZUZlYXN0VGVhbVJhbmtlZCc6IDc0NSxcclxuICAnVGhlRmVhc3RUcmFpbmluZyc6IDc2NixcclxuICAnVGhlRmllbGRzT2ZHbG9yeVNoYXR0ZXInOiA1NTQsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4xJzogMTkzLFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMic6IDE5NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjMnOiAxOTUsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm40JzogMTk2LFxyXG4gICdUaGVGaW5hbERheSc6IDk5NyxcclxuICAnVGhlRmluYWxTdGVwc09mRmFpdGgnOiA1NTksXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FBbmVtb3MnOiA3MzIsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FIeWRhdG9zJzogODI3LFxyXG4gICdUaGVGb3JiaWRkZW5MYW5kRXVyZWthUGFnb3MnOiA3NjMsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQeXJvcyc6IDc5NSxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bSc6IDQzMCxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bUhhcmQnOiA3NDMsXHJcbiAgJ1RoZUZyaW5nZXMnOiA2MTIsXHJcbiAgJ1RoZUdoaW1seXREYXJrJzogNzkzLFxyXG4gICdUaGVHaWZ0T2ZNZXJjeSc6IDEwMTksXHJcbiAgJ1RoZUdyYW5kQ29zbW9zJzogODg0LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeSc6IDQxNixcclxuICAnVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkJzogNTc4LFxyXG4gICdUaGVHcmVhdEh1bnQnOiA3NjEsXHJcbiAgJ1RoZUdyZWF0SHVudEV4dHJlbWUnOiA3NjIsXHJcbiAgJ1RoZUdyZWF0U2hpcFZ5bGJyYW5kJzogOTU0LFxyXG4gICdUaGVIYXJkZW5lZEhlYXJ0JzogODczLFxyXG4gICdUaGVIYXJ2ZXN0QmVnaW5zJzogMTAyMCxcclxuICAnVGhlSGF1bnRlZE1hbm9yJzogNTcxLFxyXG4gICdUaGVIZWFydE9mVGhlUHJvYmxlbSc6IDcxOCxcclxuICAnVGhlSGVyb2VzR2F1bnRsZXQnOiA5MTYsXHJcbiAgJ1RoZUhpZGRlbkNhbmFsc09mVXpuYWlyJzogNzI1LFxyXG4gICdUaGVIb3dsaW5nRXllJzogMjA4LFxyXG4gICdUaGVIb3dsaW5nRXllRXh0cmVtZSc6IDI5NyxcclxuICAnVGhlSG93bGluZ0V5ZUhhcmQnOiAyOTQsXHJcbiAgJ1RoZUh1bnRlcnNMZWdhY3knOiA4NzUsXHJcbiAgJ1RoZUphZGVTdG9hJzogNzQ2LFxyXG4gICdUaGVKYWRlU3RvYUV4dHJlbWUnOiA3NTgsXHJcbiAgJ1RoZUtlZXBlck9mVGhlTGFrZSc6IDE1MCxcclxuICAnVGhlS2lsbGluZ0FydCc6IDEwMjEsXHJcbiAgJ1RoZUxhYnlyaW50aE9mVGhlQW5jaWVudHMnOiAxNzQsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVFeHRyZW1lJzogNDQ3LFxyXG4gICdUaGVMaW1pdGxlc3NCbHVlSGFyZCc6IDQzNixcclxuICAnVGhlTG9jaHMnOiA2MjEsXHJcbiAgJ1RoZUxvc3RBbmRUaGVGb3VuZCc6IDg3NCxcclxuICAnVGhlTG9zdENhbmFsc09mVXpuYWlyJzogNzEyLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvcic6IDM2MyxcclxuICAnVGhlTG9zdENpdHlPZkFtZGFwb3JIYXJkJzogNTE5LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIYWRlc3NFbGVneSc6IDg4NSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCc6IDk5NixcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkTmlkaG9nZ3NSYWdlJzogNTY2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRTaGlucnl1c0RvbWFpbic6IDczMCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVGhvcmRhbnNSZWlnbic6IDQ0OCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVHN1a3V5b21pc1BhaW4nOiA3NzksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFVsdGltYXNCYW5lJzogMzQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRab2RpYXJrc0ZhbGwnOiA5OTMsXHJcbiAgJ1RoZU1vdGhlcmNyeXN0YWwnOiA5OTUsXHJcbiAgJ1RoZU5hdmVsJzogMjA2LFxyXG4gICdUaGVOYXZlbEV4dHJlbWUnOiAyOTYsXHJcbiAgJ1RoZU5hdmVsSGFyZCc6IDI5MyxcclxuICAnVGhlTmF2ZWxVbnJlYWwnOiA5NTMsXHJcbiAgJ1RoZU9yYm9ubmVNb25hc3RlcnknOiA4MjYsXHJcbiAgJ1RoZU9ycGhhbnNBbmRUaGVCcm9rZW5CbGFkZSc6IDcxNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTAxXzExMCc6IDU5OCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTExXzEyMCc6IDU5OSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTFfMjAnOiA1NjIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEyMV8xMzAnOiA2MDAsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEzMV8xNDAnOiA2MDEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE0MV8xNTAnOiA2MDIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE1MV8xNjAnOiA2MDMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE2MV8xNzAnOiA2MDQsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE3MV8xODAnOiA2MDUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE4MV8xOTAnOiA2MDYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE5MV8yMDAnOiA2MDcsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczFfMTAnOiA1NjEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczIxXzMwJzogNTYzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMzMV80MCc6IDU2NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNDFfNTAnOiA1NjUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczUxXzYwJzogNTkzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM2MV83MCc6IDU5NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNzFfODAnOiA1OTUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczgxXzkwJzogNTk2LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM5MV8xMDAnOiA1OTcsXHJcbiAgJ1RoZVBlYWtzJzogNjIwLFxyXG4gICdUaGVQaGFudG9tc0ZlYXN0JzogOTk0LFxyXG4gICdUaGVQaWxsYXJzJzogNDE5LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlJzogNjc0LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlRXh0cmVtZSc6IDY3NyxcclxuICAnVGhlUHJhZXRvcml1bSc6IDIyNCxcclxuICAnVGhlUHVwcGV0c0J1bmtlcic6IDkxNyxcclxuICAnVGhlUWl0YW5hUmF2ZWwnOiA4MjMsXHJcbiAgJ1RoZVJha3Rpa2FHcmVhdHdvb2QnOiA4MTcsXHJcbiAgJ1RoZVJlc29uYW50JzogNjg0LFxyXG4gICdUaGVSaWRvcmFuYUxpZ2h0aG91c2UnOiA3NzYsXHJcbiAgJ1RoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSc6IDczNCxcclxuICAnVGhlUm95YWxNZW5hZ2VyaWUnOiA2NzksXHJcbiAgJ1RoZVJ1YnlTZWEnOiA2MTMsXHJcbiAgJ1RoZVNlYU9mQ2xvdWRzJzogNDAxLFxyXG4gICdUaGVTZWF0T2ZTYWNyaWZpY2UnOiA5MjIsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUnOiA5MjMsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSc6IDM4MCxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yJzogMzgxLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMnOiAzODIsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCc6IDM4MyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4xJzogMzU1LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjInOiAzNTYsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMyc6IDM1NyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm40JzogMzU4LFxyXG4gICdUaGVTaGlmdGluZ0FsdGFyc09mVXpuYWlyJzogNzk0LFxyXG4gICdUaGVTaGlmdGluZ091YmxpZXR0ZXNPZkx5aGVHaGlhaCc6IDkyNCxcclxuICAnVGhlU2luZ3VsYXJpdHlSZWFjdG9yJzogNDM3LFxyXG4gICdUaGVTaXJlbnNvbmdTZWEnOiA2MjYsXHJcbiAgJ1RoZVN0ZXBzT2ZGYWl0aCc6IDE0MyxcclxuICAnVGhlU3RpZ21hRHJlYW1zY2FwZSc6IDk4NixcclxuICAnVGhlU3RvbmVWaWdpbCc6IDE2OCxcclxuICAnVGhlU3RvbmVWaWdpbEhhcmQnOiAzNjUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUV4dHJlbWUnOiAzNzUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUhhcmQnOiAzNzQsXHJcbiAgJ1RoZVN1bmtlblRlbXBsZU9mUWFybic6IDE2MyxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuSGFyZCc6IDM2NyxcclxuICAnVGhlU3dhbGxvd3NDb21wYXNzJzogNzY4LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0JzogMTY0LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCc6IDM3MyxcclxuICAnVGhlVGVtcGVzdCc6IDgxOCxcclxuICAnVGhlVGVtcGxlT2ZUaGVGaXN0JzogNjYzLFxyXG4gICdUaGVUaG91c2FuZE1hd3NPZlRvdG9SYWsnOiAxNjksXHJcbiAgJ1RoZVRvd2VyQXRQYXJhZGlnbXNCcmVhY2gnOiA5NjYsXHJcbiAgJ1RoZVRvd2VyT2ZCYWJpbCc6IDk2OSxcclxuICAnVGhlVG93ZXJPZlpvdCc6IDk1MixcclxuICAnVGhlVHJpcGxlVHJpYWRCYXR0bGVoYWxsJzogNTc5LFxyXG4gICdUaGVUd2lubmluZyc6IDg0MCxcclxuICAnVGhlVW5lbmRpbmdDb2lsT2ZCYWhhbXV0VWx0aW1hdGUnOiA3MzMsXHJcbiAgJ1RoZVZhbGVudGlvbmVzQ2VyZW1vbnknOiA3NDEsXHJcbiAgJ1RoZVZhdWx0JzogNDIxLFxyXG4gICdUaGVWb2lkQXJrJzogNTA4LFxyXG4gICdUaGVXYW5kZXJlcnNQYWxhY2UnOiAxNTksXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZUhhcmQnOiAxODgsXHJcbiAgJ1RoZVdlYXBvbnNSZWZyYWluVWx0aW1hdGUnOiA3NzcsXHJcbiAgJ1RoZVdlZXBpbmdDaXR5T2ZNaGFjaCc6IDU1NixcclxuICAnVGhlV2hvcmxlYXRlckV4dHJlbWUnOiAzNTksXHJcbiAgJ1RoZVdob3JsZWF0ZXJIYXJkJzogMjgxLFxyXG4gICdUaGVXaG9ybGVhdGVyVW5yZWFsJzogOTcyLFxyXG4gICdUaGVXaWxsT2ZUaGVNb29uJzogNzk3LFxyXG4gICdUaGVXb3JsZE9mRGFya25lc3MnOiAxNTEsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzJzogODI0LFxyXG4gICdUaGVXcmVhdGhPZlNuYWtlc0V4dHJlbWUnOiA4MjUsXHJcbiAgJ1Rob2tBc3RUaG9rRXh0cmVtZSc6IDQ0NixcclxuICAnVGhva0FzdFRob2tIYXJkJzogNDMyLFxyXG4gICdUaG9ybm1hcmNoRXh0cmVtZSc6IDM2NCxcclxuICAnVGhvcm5tYXJjaEhhcmQnOiAyMDcsXHJcbiAgJ1RvQ2FsbWVyU2Vhcyc6IDEwMTYsXHJcbiAgJ1RyaXBsZVRyaWFkSW52aXRhdGlvbmFsUGFybG9yJzogOTQxLFxyXG4gICdUcmlwbGVUcmlhZE9wZW5Ub3VybmFtZW50JzogOTQwLFxyXG4gICdVbGRhaFN0ZXBzT2ZOYWxkJzogMTMwLFxyXG4gICdVbGRhaFN0ZXBzT2ZUaGFsJzogMTMxLFxyXG4gICdVbHRpbWFUaHVsZSc6IDk2MCxcclxuICAnVW5kZXJUaGVBcm1vcic6IDE5MCxcclxuICAnVXBwZXJMYU5vc2NlYSc6IDEzOSxcclxuICAnVXJ0aHNGb3VudCc6IDM5NCxcclxuICAnVmFuYXNwYXRpJzogOTcwLFxyXG4gICdWb3dzT2ZWaXJ0dWVEZWVkc09mQ3J1ZWx0eSc6IDg5MyxcclxuICAnV2FyZFVwJzogMjk5LFxyXG4gICdXZXN0ZXJuTGFOb3NjZWEnOiAxMzgsXHJcbiAgJ1dlc3Rlcm5UaGFuYWxhbic6IDE0MCxcclxuICAnV2hlbkNsYW5zQ29sbGlkZSc6IDcyMyxcclxuICAnV2l0aEhlYXJ0QW5kU3RlZWwnOiA3MDcsXHJcbiAgJ1dvbHZlc0RlblBpZXInOiAyNTAsXHJcbiAgJ1dvcnRoeU9mSGlzQmFjayc6IDEwMTQsXHJcbiAgJ1hlbHBoYXRvbCc6IDU3MixcclxuICAnWWFueGlhJzogNjE0LFxyXG4gICdaYWRub3InOiA5NzUsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuaW1wb3J0IHsgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxudHlwZSBab25lSW5mb1R5cGUgPSB7XHJcbiAgW3pvbmVJZDogbnVtYmVyXToge1xyXG4gICAgcmVhZG9ubHkgZXhWZXJzaW9uOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBjb250ZW50VHlwZT86IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgICByZWFkb25seSBvZmZzZXRYOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBvZmZzZXRZOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBzaXplRmFjdG9yOiBudW1iZXI7XHJcbiAgICByZWFkb25seSB3ZWF0aGVyUmF0ZTogbnVtYmVyO1xyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBkYXRhOiBab25lSW5mb1R5cGUgPSB7XHJcbiAgMTAwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdFdXBob3JhdHJvbicsXHJcbiAgICAgICdlbic6ICdUaGUgRXhjaXRhdHJvbiA2MDAwJyxcclxuICAgICAgJ2ZyJzogJ0xlIEx1ZG9kcm9tZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ko44Kt44K144Kk44OI44Ot44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBFcnN0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZpcnN0IENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIFBhcnZpcycsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFp3ZWl0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIFNlY29uZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBDbG9hcXVlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBWaWVydGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGb3VydGggQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQWLDrm1lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LiP56C06aOO6ZuqJyxcclxuICAgICAgJ2RlJzogJ0VpbiBmcm9zdGlnZXIgRW1wZmFuZycsXHJcbiAgICAgICdlbic6ICdBIEZyb3N0eSBSZWNlcHRpb24nLFxyXG4gICAgICAnZnInOiAnVW4gYWNjdWVpbCBnbGFjaWFsJyxcclxuICAgICAgJ2phJzogJ+mcnOmbquOCkui4j+OBv+OBl+OCgeOBpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DlsL3lr5LlpJwnLFxyXG4gICAgICAnZGUnOiAnSW4gZnJlbWRlciBIYXV0JyxcclxuICAgICAgJ2VuJzogJ0luIGZyb20gdGhlIENvbGQnLFxyXG4gICAgICAnZnInOiAnTGUgdm9sZXVyIGRlIGNvcnBzJyxcclxuICAgICAgJ2phJzogJ+WvkuWknOOBruOBk+OBqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDEwMTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omp5pWj55qE5pyr5pelJyxcclxuICAgICAgJ2RlJzogJ1JvdGUgSGltbWVsLCByb3RlciBTY2huZWUnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXZlbnMgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnYXLDqG5lIGRlcyBuZWlnZXMnLFxyXG4gICAgICAnamEnOiAn5ouh44GM44KL57WC5pyrJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDEwMTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pmT5pyI5LmL57uI6YCUJyxcclxuICAgICAgJ2RlJzogJ0VuZHNjaHJlaXRlcicsXHJcbiAgICAgICdlbic6ICdFbmR3YWxrZXInLFxyXG4gICAgICAnZnInOiAnQXJwZW50ZXVyIGRlcyBmaW5pdHVkZXMnLFxyXG4gICAgICAnamEnOiAn5pqB5pyI44Gu44OV44Kj44OK44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MyxcclxuICB9LFxyXG4gIDEwMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LiK5LiA5Lu76Zi/6LCi5aeG55qE5pWZ5a+8JyxcclxuICAgICAgJ2RlJzogJyBFcyByZWltdCBzaWNoIGF1ZiBHZWJlbGwnLFxyXG4gICAgICAnZW4nOiAnV29ydGh5IG9mIEhpcyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIGTDqWZpIGRlIGxcXCdhbmNpZW5uZSBBemVtJyxcclxuICAgICAgJ2phJzogJ+WJjeS7o+OCouOCvOODoOOBruaJi+OBu+OBqeOBjScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICAxMDE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acquadpeS5i+i3rycsXHJcbiAgICAgICdkZSc6ICdPZmZlbiBmw7xyIG5ldWUgV2VnZScsXHJcbiAgICAgICdlbic6ICdBIFBhdGggVW52ZWlsZWQnLFxyXG4gICAgICAnZnInOiAnRGVzIGVzcHJpdHMgZXQgZGVzIGhvbW1lcycsXHJcbiAgICAgICdqYSc6ICfplovjgYvjgozjgZ/pgZPjga7lhYjjgbgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDEwMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6am25ZCR6J6N5ZCI55qE5beo6L2uJyxcclxuICAgICAgJ2RlJzogJ0ltIEhhZmVuIGRlcyBGcmllZGVucycsXHJcbiAgICAgICdlbic6ICdUbyBDYWxtZXIgU2VhcycsXHJcbiAgICAgICdmcic6ICdDYXAgc3VyIGxhIHBhaXgnLFxyXG4gICAgICAnamEnOiAn6J6N5ZKM44G444Gu6Ii55Ye6JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsemtguWuieaBrycsXHJcbiAgICAgICdkZSc6ICdEb21hbmlzY2hlcyBCZWdyw6RibmlzJyxcclxuICAgICAgJ2VuJzogJ0xhaWQgdG8gUmVzdCcsXHJcbiAgICAgICdmcic6ICdEZXMgYWRpZXV4IGRvbWllbnMnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe44Gu5byU44GEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Luw5pyb6IuN56m577yM5LiN5pat6L+I6L+bJyxcclxuICAgICAgJ2RlJzogJ0RlciBXZWcgenVyIEVybmV1ZXJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRXZlciBNYXJjaCBIZWF2ZW5zd2FyZCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IHJlbm91dmVhdScsXHJcbiAgICAgICdqYSc6ICfokrzlpKnjgpLku7DjgY7jgIHmranjgb/ntprjgZHjgosnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE0LFxyXG4gIH0sXHJcbiAgMTAxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm67pgIHnlJ/ogIXliY3ooYwnLFxyXG4gICAgICAnZGUnOiAnVHJhdWVyIHVuZCBIb2ZmbnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgR2lmdCBvZiBNZXJjeScsXHJcbiAgICAgICdmcic6ICdBY2NlcHRhdGlvbicsXHJcbiAgICAgICdqYSc6ICflg5XjgZ/jgaHjga/pgoTjgorjgIHlkJvjgpLopovpgIHjgo3jgYYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn6ZWw55qE5oSP5LmJJyxcclxuICAgICAgJ2RlJzogJ0RpZSBCZWRldXR1bmcgZGVyIFNlbnNlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJ2ZXN0IEJlZ2lucycsXHJcbiAgICAgICdmcic6ICdMYSB2cmFpZSBwdWlzc2FuY2UgZGUgbGEgZmF1eCcsXHJcbiAgICAgICdqYSc6ICflpKfpjozjga7mhI/lkbMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5p2A6YGTJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLdW5zdCBkZXMgVMO2dGVucycsXHJcbiAgICAgICdlbic6ICdUaGUgS2lsbGluZyBBcnQnLFxyXG4gICAgICAnZnInOiAnTGEgdm9pZSBkdSBuw6lhbnQnLFxyXG4gICAgICAnamEnOiAn5pqX5q666YGTJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMTAyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfotKTogIXnmoTnn63mnZYnLFxyXG4gICAgICAnZGUnOiAnRGVzIFdlaXNlbiB3dW5kZXJzYW1lcyBXZXJremV1ZycsXHJcbiAgICAgICdlbic6ICdTYWdlXFwncyBGb2N1cycsXHJcbiAgICAgICdmcic6ICdMZXMgYXJtZXMgZHUgc2FnZScsXHJcbiAgICAgICdqYSc6ICfos6LogIXjga7nn63mnZYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUn+WRveeerOmAne+8jOacr+mBk+aBkuS5hScsXHJcbiAgICAgICdkZSc6ICdEYXMgTGViZW4gaXN0IGt1cnosIGRpZSBLdW5zdCBpc3QgbGFuZycsXHJcbiAgICAgICdlbic6ICdMaWZlIEVwaGVtZXJhbCwgUGF0aCBFdGVybmFsJyxcclxuICAgICAgJ2ZyJzogJ0V4aXN0ZW5jZXMgw6lwaMOpbcOocmVzIGV0IHNhdm9pciDDqXRlcm5lbCcsXHJcbiAgICAgICdqYSc6ICfkurrlkb3jga/lhJrjgY/jgIHooZPjga7jgb/jgaHjga/msLjkuYXjgasnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDEyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqeWnhuiQqMK3572X5pWP6JCo5LiK5bGC55Sy5p2/JyxcclxuICAgICAgJ2RlJzogJ09iZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgVXBwZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExlIFRpbGxhYycsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIrnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDsg4HsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTI5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIvlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgTG93ZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExcXCdFbnRyZXBvbnQnLFxyXG4gICAgICAnamEnOiAn44Oq44Og44K144O744Ot44Of44Oz44K177ya5LiL55Sy5p2/5bGkJyxcclxuICAgICAgJ2tvJzogJ+umvOyCrCDroZzrr7zsgqwg7ZWY7Li1IOqwke2MkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNSxcclxuICB9LFxyXG4gIDEzMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5jOWwlOi+vuWTiOeOsOS4luWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdOYWxkLUtyZXV6Z2FuZycsXHJcbiAgICAgICdlbic6ICdVbFxcJ2RhaCAtIFN0ZXBzIG9mIE5hbGQnLFxyXG4gICAgICAnZnInOiAnVWxcXCdkYWggLSBGYXVib3VyZyBkZSBOYWxkJyxcclxuICAgICAgJ2phJzogJ+OCpuODq+ODgOODj++8muODiuODq+WbnuW7iicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg64KgIO2ajOuekScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3LFxyXG4gIH0sXHJcbiAgMTMxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI5p2l55Sf5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ1RoYWwtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgVGhhbCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIFRoYWwnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44K244Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDri6wg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICAxMzI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprmlrDooZcnLFxyXG4gICAgICAnZGUnOiAnTmV1LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ05ldyBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdOb3V2ZWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrmlrDluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOyLoOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxLFxyXG4gIH0sXHJcbiAgMTMzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qC86YeM6L6+5bC85Lqa5pen6KGXJyxcclxuICAgICAgJ2RlJzogJ0FsdC1HcmlkYW5pYScsXHJcbiAgICAgICdlbic6ICdPbGQgR3JpZGFuaWEnLFxyXG4gICAgICAnZnInOiAnVmllaWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrml6fluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOq1rOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyLFxyXG4gIH0sXHJcbiAgMTM0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTWlkZGxlIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTYsXHJcbiAgfSxcclxuICAxMzU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprkvY7lnLAnLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTG93ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0Jhc3NlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfkvY7lnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KCA7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDEzNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mbvuadkScsXHJcbiAgICAgICdkZSc6ICdEb3JmIGRlcyBOZWJlbHMnLFxyXG4gICAgICAnZW4nOiAnTWlzdCcsXHJcbiAgICAgICdmcic6ICdCcnVtw6llJyxcclxuICAgICAgJ2phJzogJ+ODn+OCueODiOODu+ODtOOCo+ODrOODg+OCuCcsXHJcbiAgICAgICdrbyc6ICfslYjqsK/ruZsg66eI7J2EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTM3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lic5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ8OWc3RsaWNoZXMgTGEgTm9zY2VhJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBvcmllbnRhbGUnLFxyXG4gICAgICAnamEnOiAn5p2x44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTgsXHJcbiAgfSxcclxuICAxMzg6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfopb/mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9jY2lkZW50YWxlJyxcclxuICAgICAgJ2phJzogJ+ilv+ODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE5LFxyXG4gIH0sXHJcbiAgMTM5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ09iZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnVXBwZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDE0MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ1dlc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb2NjaWRlbnRhbCcsXHJcbiAgICAgICdqYSc6ICfopb/jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7ISc67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMTQxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAxNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Im+546b5ZCJ5aic5p2v5paX5oqA5aSn5Lya5Yaz6LWbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEcmFjaGVuaGFscy1Lb2xvc3NldW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYWdvblxcJ3MgTmVjaycsXHJcbiAgICAgICdmcic6ICdMZSBDb2wgZHUgZHJhZ29uJyxcclxuICAgICAgJ2phJzogJ+OCouODnuOCuOODiuadr+mXmOaKgOS8muaxuuWLneaIpicsXHJcbiAgICAgICdrbyc6ICfslYTrp4jsp4DrgpjrsLAg7Yis6riw64yA7ZqMIOqysOyKueyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eah+mDveS8iuS/ruWKoOW+t+S/neWNq+aImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGUgU2nDqGdlIGRlIGxhIHNhaW50ZSBDaXTDqSBkXFwnSXNoZ2FyZCcsXHJcbiAgICAgICdqYSc6ICfnmofpg73jgqTjgrfjg6Xjgqzjg6vjg4npmLLooZvmiKYnLFxyXG4gICAgICAna28nOiAn7ISx64+EIOydtOyKiOqwgOultOuTnCDrsKnslrTsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAxNDU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdFYXN0ZXJuIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIG9yaWVudGFsJyxcclxuICAgICAgJ2phJzogJ+adseOCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrj5nrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExLFxyXG4gIH0sXHJcbiAgMTQ2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1PDvGRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnU291dGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gbcOpcmlkaW9uYWwnLFxyXG4gICAgICAnamEnOiAn5Y2X44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uCqOu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTIsXHJcbiAgfSxcclxuICAxNDc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljJfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnTsO2cmRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnTm9ydGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gc2VwdGVudHJpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljJfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn67aB67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMyxcclxuICB9LFxyXG4gIDE0ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+S4reWkruael+WMuicsXHJcbiAgICAgICdkZSc6ICdUaWVmZXIgV2FsZCcsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Lit5aSu5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg7KSR67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAxNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bm76b6Z5q6L6aq45a+G57qm5LmL5aGUJyxcclxuICAgICAgJ2RlJzogJ0jDvHRlciBkZXMgU2VlcycsXHJcbiAgICAgICdlbic6ICdUaGUgS2VlcGVyIG9mIHRoZSBMYWtlJyxcclxuICAgICAgJ2ZyJzogJ0xlIEdhcmRpZW4gZHUgbGFjJyxcclxuICAgICAgJ2phJzogJ+W5u+m+jeaui+mquCDpu5nntITjga7loZQnLFxyXG4gICAgICAna28nOiAn66y17JW97J2YIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NCxcclxuICB9LFxyXG4gIDE1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5pqX5LmL5LiW55WMJyxcclxuICAgICAgJ2RlJzogJ0RpZSBXZWx0IGRlciBEdW5rZWxoZWl0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXb3JsZCBvZiBEYXJrbmVzcycsXHJcbiAgICAgICdmcic6ICdMYSBUb3VyIGRlIENyaXN0YWwgLSBNb25kZSBkZXMgVMOpbsOoYnJlcycsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrpl4fjga7kuJbnlYwnLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog7Ja065Gg7J2YIOyEuOqzhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTUyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lic6YOo5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ09zdHdhbGQnLFxyXG4gICAgICAnZW4nOiAnRWFzdCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGRlIGxcXCdlc3QnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5p2x6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64+Z67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxNTM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljZfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnU8O8ZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnU291dGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBzdWQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Y2X6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64Ko67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxNTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljJfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnTm9yZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnTm9ydGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBub3JkJyxcclxuICAgICAgJ2phJzogJ+m7kuiho+ajru+8muWMl+mDqOajruaelycsXHJcbiAgICAgICdrbyc6ICfqsoDsnYDsnqXrp4kg7IiyIOu2geu2gOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2LFxyXG4gIH0sXHJcbiAgMTU1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqT5bCU5pyt5pav5Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgQ2VudHJhbCBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBjZW50cmFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueS4reWkrumrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7KSR7JWZ6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMTU2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGp5p2c57qzJyxcclxuICAgICAgJ2RlJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdlbic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnZnInOiAnTW9yIERob25hJyxcclxuICAgICAgJ2phJzogJ+ODouODvOODieOCpeODiicsXHJcbiAgICAgICdrbyc6ICfrqqjrpbTrj4TrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAxNTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp54S26KaB5a6z5rKZ5pav5aGU5aSP5rq25rSeJyxcclxuICAgICAgJ2RlJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2VuJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2phJzogJ+WkqeeEtuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4nLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvJHlhbvog5zlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCcsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AnLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCcsXHJcbiAgICAgICdqYSc6ICflparpgoTmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywJyxcclxuICAgICAgJ2tvJzogJ+u4jOugiOydtO2UjOuhneyKpOydmCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7ngbXlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kJyxcclxuICAgICAgJ2phJzogJ+aXheelnuiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrknLFxyXG4gICAgICAna28nOiAn67Cp656R7J6Q7J2YIOq2geyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mihuiIquaYjueBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgU2lyaXVzJyxcclxuICAgICAgJ2phJzogJ+aAqumzpeW3qOWhlCDjgrfjg6rjgqbjgrnlpKfnga/lj7AnLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHplIHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbmVzIGRlIENsb2NoZWN1aXZyZScsXHJcbiAgICAgICdqYSc6ICflsIHpjpblnZHpgZMg44Kr44OD44OR44O844OZ44Or6YqF5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlhb3poobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn6a2U542j6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCcsXHJcbiAgICAgICdrbyc6ICftlaDrnbztg4jrpqwg7IiY66Co7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybicsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaOoue0oiDjgqvjg6vjg7Pln4vmsqHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7Lm066W47J2YIOustOuEiOynhCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDkuIvngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCcsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwb2fDqWUgZGUgVGFtLVRhcmEnLFxyXG4gICAgICAnamEnOiAn5Zyw5LiL6ZyK5q6/IOOCv+ODoOOCv+ODqeOBruWik+aJgCcsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDMwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCN6Zeo5bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgZGVzIEhhdWtrZScsXHJcbiAgICAgICdqYSc6ICflkI3ploDlsYvmlbcg44OP44Km44Kx44K/5b6h55So6YK4JyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrmlZnpqbvlnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6YKq5pWZ5o6S5pKDIOWPpOWfjuOCouODoOODgOODl+ODvOODqycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflr7npvpnln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZGUgUGllcnJlJyxcclxuICAgICAgJ2phJzogJ+WfjuWhnuaUu+eVpSDjgrnjg4jjg7zjg7Pjg7TjgqPjgrjjg6snLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDE2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm5Hni7Hlup/lop/miZjmiZjCt+aLieWFi+WNg+eLsScsXHJcbiAgICAgICdkZSc6ICdUYXVzZW5kIEzDtmNoZXIgdm9uIFRvdG8tUmFrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUaG91c2FuZCBNYXdzIG9mIFRvdG/igJNSYWsnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbGxlIEd1ZXVsZXMgZGUgVG90by1SYWsnLFxyXG4gICAgICAnamEnOiAn55uj542E5buD5aKfIOODiOODiOODqeOCr+OBruWNg+eNhCcsXHJcbiAgICAgICdrbyc6ICfthqDthqDrnbztgawg6rCQ7JilJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rWB5rKZ6L+35a6r5qi16bij5rSeJyxcclxuICAgICAgJ2RlJzogJ1PDpGdlcnNjaHJlaScsXHJcbiAgICAgICdlbic6ICdDdXR0ZXJcXCdzIENyeScsXHJcbiAgICAgICdmcic6ICdMZSBHb3VmZnJlIGh1cmxhbnQnLFxyXG4gICAgICAnamEnOiAn5rWB56CC6L+35a6uIOOCq+ODg+OCv+ODvOOCuuOCr+ODqeOCpCcsXHJcbiAgICAgICdrbyc6ICfrgpjrrLTqvrzsnZgg67mE66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bGx5Lit5oiY57q/5rO95qKF5bCU6KaB5aGeJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGZXN0ZSBEemVtYWVsJyxcclxuICAgICAgJ2VuJzogJ0R6ZW1hZWwgRGFya2hvbGQnLFxyXG4gICAgICAnZnInOiAnTGEgRm9ydGVyZXNzZSBkZSBEemVtYWVsJyxcclxuICAgICAgJ2phJzogJ+aOg+iojuS9nOaIpiDjgrzjg7zjg6Hjg6vopoHloZ4nLFxyXG4gICAgICAna28nOiAn7KCc66mcIOyalOyDiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+avkumbvua0nueqn+m7hOmHkeiwtycsXHJcbiAgICAgICdkZSc6ICdHb2xka2xhbW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEF1cnVtIFZhbGUnLFxyXG4gICAgICAnZnInOiAnTGUgVmFsIGRcXCdBdXJ1bScsXHJcbiAgICAgICdqYSc6ICfpnKfkuK3ooYzou40g44Kq44O844Op44Og44O044Kn44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+q4iOu5myDqs6jsp5zquLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5Y+k5Luj5Lq66L+35a6rJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERhcyBMYWJ5cmludGggZGVyIEFsdGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMYWJ5cmludGggb2YgdGhlIEFuY2llbnRzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIETDqWRhbGUgYW50aXF1ZScsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrlj6Tku6Pjga7msJHjga7ov7flrq4nLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog6rOg64yA7J247J2YIOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTgwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa5aSW5ZywJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnT3V0ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBleHTDqXJpZXVyZScsXHJcbiAgICAgICdqYSc6ICflpJblnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7Jm47KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNCxcclxuICB9LFxyXG4gIDE4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmraboo4XlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkdSBWYWdhYm9uZCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmraboo4XogZbln58g44Ov44Oz44OA44Op44O844OR44Os44K5IChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq5b+15aaW5Zyw5peg6ZmQ5Z+O5Y+k5aChJyxcclxuICAgICAgJ2RlJzogJ0RpZSBSdWluZW4gdm9uIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnQW1kYXBvciBLZWVwIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgqrlv7XmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgMTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOW9t+W+qOatu+eBte+8gScsXHJcbiAgICAgICdkZSc6ICdCb2NrbWFubnMgR2Vmb2xnZScsXHJcbiAgICAgICdlbic6ICdVbmRlciB0aGUgQXJtb3InLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IGZhbnTDtG1lIGZhbnRvY2hlJyxcclxuICAgICAgJ2phJzogJ+W9t+W+qOOBhuatu+mciuOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrsKntmantlZjripQg7IKs66C57J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbHpmaTliafmr5LlppboirHvvIEnLFxyXG4gICAgICAnZGUnOiAnVW5rcmF1dCBqw6R0ZW4nLFxyXG4gICAgICAnZW4nOiAnUHVsbGluZyBQb2lzb24gUG9zaWVzJyxcclxuICAgICAgJ2ZyJzogJ09ww6lyYXRpb24gZmxldXJzIGR1IG1hbCcsXHJcbiAgICAgICdqYSc6ICfmnInmr5LlppboirHjgpLpp4bpmaTjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn64+F7ISxIOyalOq0tOq9g+ydhCDsoJzqsbDtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5raI54Gt5oG25b6S5Zui5LyZ5a+E55Sf6JyC5Zui77yBJyxcclxuICAgICAgJ2RlJzogJ0lucyBXZXNwZW5uZXN0IHN0ZWNoZW4nLFxyXG4gICAgICAnZW4nOiAnU3RpbmdpbmcgQmFjaycsXHJcbiAgICAgICdmcic6ICdFeHDDqWRpdGlvbiBwdW5pdGl2ZSBjb250cmUgbGVzIFZlbnRyZXJvdWdlJyxcclxuICAgICAgJ2phJzogJ+eEoeazleiAheOAjOS8vOaIkeicguWbo+OAjeOCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTrspXsnpAg7KeR64uoIFxcJ+uCmOuCmOuLiOuLqFxcJ+ydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxOTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJVicsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00NDgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ0LFxyXG4gIH0sXHJcbiAgMjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgR3JhYiBkZXIgTG9oZScsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucycsXHJcbiAgICAgICdqYSc6ICfjgqTjg5Xjg6rjg7zjg4joqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDIwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnaborqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIE5hYmVsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCcsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsJyxcclxuICAgICAgJ2phJzogJ+OCv+OCpOOCv+ODs+iojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iOq+WPpOWKm+i0pOeOi+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLw7ZuaWdsaWNoZSBLb25mcm9udGF0aW9uIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1Rob3JubWFyY2ggKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIExpc2nDqHJlIGRlIHJvbmNlcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICflloTnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ISg7JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDIwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov6bmpbznvZforqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGFzIFRvc2VuZGUgQXVnZScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUnLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwnLFxyXG4gICAgICAnamEnOiAn44Ks44Or44O844OA6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+qwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6M5oiQ6ZuG5Zui5oiY6K6t57uD77yBJyxcclxuICAgICAgJ2RlJzogJ0VpbmVyIGbDvHIgYWxsZSwgYWxsZSBmw7xyIGVpbmVuJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBQYXJ0aWVzJyxcclxuICAgICAgJ2ZyJzogJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGdyb3VwZXMgZFxcJ2VubmVtaXMnLFxyXG4gICAgICAnamEnOiAn6ZuG5Zuj5oim6KiT57e044KS44GP44GQ44KK5oqc44GR44KN77yBJyxcclxuICAgICAgJ2tvJzogJ+ynkeuLqOyghCDtm4jroKjsnYQg7JmE7IiY7ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDIxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqoHnoLTmiYDmnInlhbPpl6jvvIzorqjkvJDmnIDmt7HlpITnmoTmlYzkurrvvIEnLFxyXG4gICAgICAnZGUnOiAnU3R1cm1rb21tYW5kbycsXHJcbiAgICAgICdlbic6ICdCYXNpYyBUcmFpbmluZzogRW5lbXkgU3Ryb25naG9sZHMnLFxyXG4gICAgICAnZnInOlxyXG4gICAgICAgICdFbnRyYcOubmVtZW50PEluZGVudC8+OiBpbjxTb2Z0SHlwaGVuLz5maWw8U29mdEh5cGhlbi8+dHJhPFNvZnRIeXBoZW4vPnRpb24gZW4gYmFzZSBlbm5lbWllJyxcclxuICAgICAgJ2phJzogJ+WFqOmWoumWgOOCkueqgeegtOOBl+OAgeacgOa3semDqOOBruaVteOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqtIDrrLjsnYQg64+M7YyM7ZWY6rOgIOy1nOyLrOu2gOydmCDsoIHsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aNleiOt+mHkeW4gem+n++8gScsXHJcbiAgICAgICdkZSc6ICdHaWwgb2RlciBMZWJlbicsXHJcbiAgICAgICdlbic6ICdIZXJvIG9uIHRoZSBIYWxmIFNoZWxsJyxcclxuICAgICAgJ2ZyJzogJ1JlY29ucXXDqnRlIGRcXCd1bmUgY2FyYXBhY2UgZXNjYW1vdMOpZScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6vjgqzjg6HjgpLmjZXnjbLjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn6ri46rGw67aB7J2EIOyCrOuhnOyeoeyVhOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAyMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95Y2X5pa55aCh5aSW5Zu05r+A5oiYJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gTWVyaWRpYW51bSAtIEF1w59lbmJlcmVpY2gnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWVyaWRpYW51bScsXHJcbiAgICAgICdqYSc6ICflpJbpg63mlLvnlaUg44Kr44K544OI44Or44Og44O744Oh44Oq44OH44Kj44Ki44OM44OgJyxcclxuICAgICAgJ2tvJzogJ+y5tOyKpO2KuOujuCDrqZTrpqzrlJTslYTriJQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDIxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7vmuoPlk6XluIPmnpfngrjlvLnlhpvlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnQm9tYmlnZSBHb2JsaW5zJyxcclxuICAgICAgJ2VuJzogJ0ZsaWNraW5nIFN0aWNrcyBhbmQgVGFraW5nIE5hbWVzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBHb2JlbGlucyBib21iYXJkaWVycycsXHJcbiAgICAgICdqYSc6ICfniIblvL7prZTjgrTjg5bjg6rjg7Pou43lm6PjgpLmkoPmu4XjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn7Y+t7YOE6rSRIOqzoOu4lOumsCDqtbDri6jsnYQg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMjIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaipuW5u+S5i+W4g+aLieWlh+W4jOWlpe+8gScsXHJcbiAgICAgICdkZSc6ICdCcmlheGlvIGF1c3NjaGFsdGVuJyxcclxuICAgICAgJ2VuJzogJ0FsbFxcJ3MgV2VsbCB0aGF0IEVuZHMgaW4gdGhlIFdlbGwnLFxyXG4gICAgICAnZnInOiAnQnJpYXhpbyDDoCBicmFzIHJhY2NvdXJjaXMnLFxyXG4gICAgICAnamEnOiAn5aSi5bm744Gu44OW44Op44Kt44K344Kq44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uqve2ZmOydmCDruIzrnbztgazsi5zsmKTrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1LFxyXG4gIH0sXHJcbiAgMjIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaxoeafk+a6kOWktOmtlOeVjOiKse+8gScsXHJcbiAgICAgICdkZSc6ICdUw7ZkbGljaGVzIFJhbmtlbnNwaWVsJyxcclxuICAgICAgJ2VuJzogJ01vcmUgdGhhbiBhIEZlZWxlcicsXHJcbiAgICAgICdmcic6ICdTdXMgYXUgbW9yYm9sIHBvbGx1ZXVyJyxcclxuICAgICAgJ2phJzogJ+axmuafk+a6kOODouODq+ODnOODq+OCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfsmKTsl7zsm5Ag66qw67O87J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjAsXHJcbiAgfSxcclxuICAyMjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5Z2R6YGT5Lit5Ye6546w55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ0dlZmFociBhdXMgZGVtIE5pY2h0cycsXHJcbiAgICAgICdlbic6ICdBbm5veSB0aGUgVm9pZCcsXHJcbiAgICAgICdmcic6ICdCdXNvIGxcXCdpbW1vbGF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+WdkemBk+OBq+ePvuOCjOOBn+WmlueVsOODluOCveOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqsLHrj4Tsl5Ag64KY7YOA64KcIOyalOuniCDrtoDshozrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDIyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms6jmhI/ml6DmlYznmoTnnLflsZ7vvIzorqjkvJDlpKflnovlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZ2VnZW4gU2NoYXR0ZW4nLFxyXG4gICAgICAnZW4nOiAnU2hhZG93IGFuZCBDbGF3JyxcclxuICAgICAgJ2ZyJzogJ09tYnJlcyBldCBncmlmZmVzJyxcclxuICAgICAgJ2phJzogJ+eEoeaVteOBruect+WxnuOCkuW+k+OBiOOBl+OAgeWkp+Wei+WmlueVsOOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTsoIHsnZgg67aA7ZWY66W8IOyhsOyihe2VmOuKlCDsmpTrp4jrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMSxcclxuICB9LFxyXG4gIDIyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnluZXprZTlr7zln47mnIDnu4jlhrPmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gUHJhZXRvcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgUHJhZXRvcml1bScsXHJcbiAgICAgICdmcic6ICdMZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2phJzogJ+acgOe1guaxuuaIpiDprZTlsI7ln47jg5fjg6njgqjjg4jjg6rjgqbjg6AnLFxyXG4gICAgICAna28nOiAn66eI64+E7ISxIO2UhOudvOydtO2GoOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMicsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugNScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA1JyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDUnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI1MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eLvOeLseWBnOiIueWcuicsXHJcbiAgICAgICdkZSc6ICdXb2xmc2jDtmhsZW4tUGllcicsXHJcbiAgICAgICdlbic6ICdXb2x2ZXNcXCcgRGVuIFBpZXInLFxyXG4gICAgICAnZnInOiAnSmV0w6llIGRlIGxcXCdBbnRyZSBkZXMgbG91cHMnLFxyXG4gICAgICAnamEnOiAn44Km44Or44O044K644K444Kn44Kk44Or5L+C6Ii55aC0JyxcclxuICAgICAgJ2tvJzogJ+uKkeuMgOyasOumrCDrtoDrkZAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOSxcclxuICB9LFxyXG4gIDI4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6rjg7TjgqHjgqTjgqLjgrXjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOumrOuwlOydtOyWtOyEoCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICAyOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m55q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gSWZyaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvd2wgb2YgRW1iZXJzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7Dlnabmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCrOODq+ODvOODgOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDI5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqTjg5Xjg6rjg7zjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOydtO2UhOumrO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjUsXHJcbiAgfSxcclxuICAyOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOeIhuW8ueaAqueahOWls+eOi++8gScsXHJcbiAgICAgICdkZSc6ICdNaXNzIEJvbWJhc3RpYycsXHJcbiAgICAgICdlbic6ICdMb25nIExpdmUgdGhlIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ0xvbmd1ZSB2aWUgw6AgbGEgUmVpbmUnLFxyXG4gICAgICAnamEnOiAn44Oc44Og44KS546H44GE44KL44CM44Oc44Og44Kv44Kk44O844Oz44CN44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+u0hOydhCDqsbDripDrprAgXFwn67SEIOyXrOyZlVxcJ+ydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atvOeBreeJueauiumYteWei+eahOWmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdVbnplcnRyZW5ubGljaCcsXHJcbiAgICAgICdlbic6ICdXYXJkIFVwJyxcclxuICAgICAgJ2ZyJzogJ1F1aW50ZXR0ZXMgaW5mZXJuYXV4JyxcclxuICAgICAgJ2phJzogJ+S4jeawl+WRs+OBqumZo+W9ouOCkue1hOOCgOWmlueVsOOCkuOBm+OCk+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrtojquLjtlZwg7KeE7ZiV7J2EIOynnOuKlCDsmpTrp4jrpbwg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDMwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliLbmraLkuInmlrnmt7fmiJjnmoTlt6jkurrml4/vvIzlrojkvY/pgZfnianvvIEnLFxyXG4gICAgICAnZGUnOiAnV3VjaHRpZ2UgRHJlaWZhbHRpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnU29sZW1uIFRyaW5pdHknLFxyXG4gICAgICAnZnInOiAnVHJpbml0w6kgc2luaXN0cmUnLFxyXG4gICAgICAnamEnOiAn5LiJ44Gk5be044Gu5beo5Lq65peP44KS5Yi244GX44CB6YG654mp44KS5a6I44KM77yBJyxcclxuICAgICAgJ2tvJzogJ+yEuCDqsbDsnbjsobHsnYQg7KCc7JWV7ZWY7JesIOycoOusvOydhCDsp4DsvJzrgrTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mHjOWhlOaPkOaBqeW8uuaUu+aImCcsXHJcbiAgICAgICdkZSc6ICdLYXAgV2VzdHdpbmQnLFxyXG4gICAgICAnZW4nOiAnQ2FwZSBXZXN0d2luZCcsXHJcbiAgICAgICdmcic6ICdMZSBDYXAgVmVuZG91ZXN0JyxcclxuICAgICAgJ2phJzogJ+ODquODg+ODiOOCouODhuOCo+ODs+W8t+ilsuaIpicsXHJcbiAgICAgICdrbyc6ICfrpqztirjslYTti7Qg6rCV7Iq17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAzNDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m25p6B56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFVsdGltYScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVWx0aW1hXFwncyBCYW5lJyxcclxuICAgICAgJ2ZyJzogJ0xlIGZsw6lhdSBkXFwnVWx0aW1hJyxcclxuICAgICAgJ2phJzogJ+eptualteW5u+aDsyDjgqLjg6vjg4bjg57jgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzEsXHJcbiAgfSxcclxuICAzNDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aqa5Lmx5Z2R6YGT6ZOc6ZOD6ZOc5bGxJyxcclxuICAgICAgJ2RlJzogJ0t1cGZlcmdsb2NrZW4tTWluZSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdDb3BwZXJiZWxsIE1pbmVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mokuS5seWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtueBteW6nOmCuOmdmeivreW6hOWbrScsXHJcbiAgICAgICdkZSc6ICdIYXVra2UtSGVycmVuaGF1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYXVra2UgTWFub3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WmlueVsOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDInLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDEnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIEknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMScsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMycsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMicsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIElJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjInLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICAzNTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMicsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDM2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliZHmlpfpoobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGkgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0hhbGF0YWxpIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WJo+mXmOmgmOWfnyDjg4/jg6njgr/jg6rkv67nt7TmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0ouWuneS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZScsXHJcbiAgICAgICdqYSc6ICfosqHlrp3kvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+uCnO2MjOyEoOydmCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnurfkuonopoHlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJpdm91YWMgZGUgQnJheWZsb3ggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55uf5Y+L5pSv5o+0IOODluODrOOCpOODleODreOCr+OCueOBrumHjuWWtuWcsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgMzYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iFkOWdj+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3InLFxyXG4gICAgICAnZnInOiAnTGVzIFZlc3RpZ2VzIGRlIGxhIGNpdMOpIGRcXCdBbWRhcG9yJyxcclxuICAgICAgJ2phJzogJ+iFkOaVl+mBuui3oSDlj6TjgqLjg6Djg4Djg5fjg7zjg6vluILooZcnLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAzNjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW1546L44Oi44Kw44Or44O744Oi44KwWElJ5LiW6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3ueyZlSDrqqjqt7jro6gg66qo6re4IFhJSeyEuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzAsXHJcbiAgfSxcclxuICAzNjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5r+A5oiY5Z+O5aGe55+z5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ1N0ZWluZXJuZSBXYWNodCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3RvbmUgVmlnaWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5aWq5ZueIOOCueODiOODvOODs+ODtOOCo+OCuOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+ahpeS4iueahOWGs+aWlycsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIGdyb8OfZW4gQnLDvGNrZScsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgb24gdGhlIEJpZyBCcmlkZ2UnLFxyXG4gICAgICAnZnInOiAnQWZmcm9udGVtZW50IHN1ciBsZSBncmFuZCBwb250JyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeODg+OCt+ODpeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfquLjqsIDrqZTsi5wg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IuP6YaS6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybiAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBUZW1wbGUgZW5zZXZlbGkgZGUgUWFybiAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgbrot6HmlZHmj7Qg44Kr44Or44Oz5Z+L5rKh5a+66ZmiIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQxLFxyXG4gIH0sXHJcbiAgMzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+WMluWlh+e+juaLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgRGhvcm1lLUNoaW3DpHJhJyxcclxuICAgICAgJ2VuJzogJ0EgUmVsaWMgUmVib3JuOiB0aGUgQ2hpbWVyYScsXHJcbiAgICAgICdmcic6ICdMYSBjaGltw6hyZSBkaG9ybWUgZHUgQ29lcnRoYXMnLFxyXG4gICAgICAnamEnOiAn44OJ44Or44Og44Kt44Oe44Kk44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+uPhOumhCDtgqTrp4jsnbTrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMzY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+aLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgSHlkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBIeWRyYScsXHJcbiAgICAgICdmcic6ICdMXFwnaHlkcmUgZFxcJ0hhbGF0YWxpJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODieODqeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftlZjsnbTrk5zrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yeb5Ya95rSe5aSp5oqr6Zuq5aSn5Yaw5aOBJyxcclxuICAgICAgJ2RlJzogJ0RhcyBTY2huZWVrbGVpZCcsXHJcbiAgICAgICdlbic6ICdTbm93Y2xvYWsnLFxyXG4gICAgICAnZnInOiAnTWFudGVuZWlnZScsXHJcbiAgICAgICdqYSc6ICfmsLfntZDmvZznqp8g44K544OO44O844Kv44Ot44O844Kv5aSn5rC35aOBJyxcclxuICAgICAgJ2tvJzogJ+yWvOydjOyZuO2IrCDrjIDruZnrsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05pm25aGUIOW4jOWwlOenkeaWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdLcmlzdGFsbHR1cm0gLSBEZXIgU3lyY3VzLVR1cm0nLFxyXG4gICAgICAnZW4nOiAnU3lyY3VzIFRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIFRvdXIgZGUgU3lyY3VzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muOCt+ODq+OCr+OCueOBruWhlCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDsi5zrpbTsv6DsiqQg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oOo5Ymn54G15q6/5aGU5aeGwrfloZTmi4nlopPlm60nLFxyXG4gICAgICAnZGUnOiAnVG90ZW5hY2tlciBUYW0tVGFyYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgVGFt4oCTVGFyYSBEZWVwY3JvZnQgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmg6jliofpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODqeODoOOCpuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg652866y0IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MyxcclxuICB9LFxyXG4gIDM3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WRqOi+uemBl+i/uee+pCAo6Zi15Zyw5oiYKScsXHJcbiAgICAgICdkZSc6ICfDhHXDn2VyZSBSdWluZW4gKFNpY2hlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvcmRlcmxhbmQgUnVpbnMgKFNlY3VyZSknLFxyXG4gICAgICAnZnInOiAnTGVzIFJ1aW5lcyBmcm9udGFsacOocmVzIChhbm5leGlvbiknLFxyXG4gICAgICAnamEnOiAn5aSW57iB6YG66Leh576kICjliLblnKfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yZuOqzvSDsnKDsoIHsp4DrjIAo7KCc7JWV7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgMzc4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzODA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMiAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzgzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgIbovazopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mAhuilsuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4gKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yCrOyKpO2DgOyDpCDsuajsi50g64+Z6rW0KOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5aSq6Ziz5rW35bK4JyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTb25uZW5rw7xzdGUnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogQ29zdGEgZGVsIFNvbCcsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjgrPjgrnjgr/jg7vjg4fjg6vjg7vjgr3jg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7L2U7Iqk7YOAIOuNuCDshpQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ3MixcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya6I2S6YeO5aSn6YGTJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTYWdvbGlpLVN0cmHDn2UnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBTYWdvbGlpIFJvYWQnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBSb3V0ZSBkZSBTYWdvbGlpJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCteOCtOODquODvOODreODvOODiScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsgqzqs6jrpqwg7IKs66eJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muaBrOmdmeWwj+i3rycsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogUGZhZCBkZXIgU2VlbGVucnVoZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFRyYW5xdWlsIFBhdGhzJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogU2VudGVzIHRyYW5xdWlsbGVzJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODiOODqeODs+OCreODq+ODkeOCuScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDqs6DsmpTtlZwg7JW87JiB7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWl5LiB5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0plbnNlaXRzIFVydGhzIFF1ZWxsZScsXHJcbiAgICAgICdlbic6ICdVcnRoXFwncyBGb3VudCcsXHJcbiAgICAgICdmcic6ICdMYSBGb250YWluZSBkXFwnVXJ0aCcsXHJcbiAgICAgICdqYSc6ICfpl5jnpZ7jgqrjg7zjg4fjgqPjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yis7IugIOyYpOuUmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDUsXHJcbiAgfSxcclxuICAzOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg6ZmQ5Z+O55qE5q275paXJyxcclxuICAgICAgJ2RlJzogJ1JldmFuY2hlIGluIGRlbiBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmF0dGxlIGluIHRoZSBCaWcgS2VlcCcsXHJcbiAgICAgICdmcic6ICdSZXZhbmNoZSBhdSB2aWV1eCBjaMOidGVhdScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgq7jg6vjgqzjg6Hjg4Pjgrfjg6XoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOq4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAzOTc6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/opb/pg6jpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgV2VzdGVybiBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7ISc67aA6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICAzOTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpvpnloKHlj4LlpKnpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnRHJhdmFuaXNjaGVzIFZvcmxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYXZhbmlhbiBGb3JlbGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXZhbnQtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn6auY5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+qzoOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDM5OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWGhemZhuS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgSGludGVybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEhpbnRlcmxhbmRzJyxcclxuICAgICAgJ2ZyJzogJ0FycmnDqHJlLXBheXMgZHJhdmFuaWVuJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODieODqeODtOOCoeODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag65Oc652867CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTEsXHJcbiAgfSxcclxuICA0MDA6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnv7vkupHpm77mtbcnLFxyXG4gICAgICAnZGUnOiAnV2FsbGVuZGUgTmViZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIENodXJuaW5nIE1pc3RzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRlIERyYXZhbmlhJyxcclxuICAgICAgJ2phJzogJ+ODieODqeODtOOCoeODi+OCoumbsua1tycsXHJcbiAgICAgICdrbyc6ICfrk5zrnbzrsJTri4jslYQg6rWs66aE67CU64ukJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTIsXHJcbiAgfSxcclxuICA0MDE6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmL/lt7Tmi4nmj5DkuprkupHmtbcnLFxyXG4gICAgICAnZGUnOiAnQWJhbGF0aGlzY2hlcyBXb2xrZW5tZWVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWEgb2YgQ2xvdWRzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRcXCdBYmFsYXRoaWEnLFxyXG4gICAgICAnamEnOiAn44Ki44OQ44Op44K344Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+yVhOuwnOudvOyLnOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MyxcclxuICB9LFxyXG4gIDQwMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWkp+mZhumYv+a1juWFueaLiScsXHJcbiAgICAgICdkZSc6ICdBenlzIExsYScsXHJcbiAgICAgICdlbic6ICdBenlzIExsYScsXHJcbiAgICAgICdmcic6ICdBenlzIExsYScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjgrnjg7vjg6njg7wnLFxyXG4gICAgICAna28nOiAn7JWE7KeA7IqkIOudvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU0LFxyXG4gIH0sXHJcbiAgNDAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOW9kuadpScsXHJcbiAgICAgICdkZSc6ICdWZXJyYXQgZGVyIFFhbHlhbmEnLFxyXG4gICAgICAnZW4nOiAnUmV0dXJuIG9mIHRoZSBCdWxsJyxcclxuICAgICAgJ2ZyJzogJ1JldG91ciBhdSBiZXJjYWlsJyxcclxuICAgICAgJ2phJzogJ+iLsembhOOBruW4sOmChCcsXHJcbiAgICAgICdrbyc6ICfsmIHsm4XsnZgg6reA7ZmYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0yNTAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrabor4blrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnknLFxyXG4gICAgICAnZnInOiAnTGEgR3JhbmRlIGJpYmxpb3Row6hxdWUgZGUgR3ViYWwnLFxyXG4gICAgICAnamEnOiAn56aB5pu45Zue5Y+OIOOCsOODluODqeW5u+aDs+Wbs+abuOmkqCcsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muernui1m+aVmeWtpicsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogw5xidW5nc2JhaG4nLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBUdXRvcmlhbCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZFxcJ2FwcGVudGlzc2FnZScsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjg4Hjg6Xjg7zjg4jjg6rjgqLjg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7Yqc7Yag66as7Ja8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC02OTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfln7rnoYDlsYInLFxyXG4gICAgICAnZGUnOiAnRnVuZGFtZW50ZScsXHJcbiAgICAgICdlbic6ICdGb3VuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0lzaGdhcmQgLSBMXFwnQXNzaXNlJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4i+WxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7ZWY7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ3LFxyXG4gIH0sXHJcbiAgNDE5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5L+u5Yqg5b6356Cl5p+x5bGCJyxcclxuICAgICAgJ2RlJzogJ1N0cmViZXdlcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBpbGxhcnMnLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExlcyBDb250cmVmb3J0cycsXHJcbiAgICAgICdqYSc6ICfjgqTjgrfjg6Xjgqzjg6vjg4nvvJrkuIrlsaQnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOyDgey4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OCxcclxuICB9LFxyXG4gIDQyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrkuK3npZ7ln5/kuI3ojrflspsnLFxyXG4gICAgICAnZGUnOiAnTmltbWVycmVpY2gnLFxyXG4gICAgICAnZW4nOiAnTmV2ZXJyZWFwJyxcclxuICAgICAgJ2ZyJzogJ05hbGxvbmNxdWVzJyxcclxuICAgICAgJ2phJzogJ+elnuWfn+a1ruWztiDjg43jg5Djg7zjg6rjg7zjg5cnLFxyXG4gICAgICAna28nOiAn6rGw65GQ7KeAIOyViuuKlCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnKPmlZnkuK3mnqLkvIrkv67liqDlvrfmlZnnmofljoUnLFxyXG4gICAgICAnZGUnOiAnRXJ6YmFzaWxpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFZhdWx0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFZvw7t0ZScsXHJcbiAgICAgICdqYSc6ICflvLfnoaznqoHlhaUg44Kk44K344Ol44Ks44Or44OJ5pWZ55qH5bqBJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDqtZDtmanssq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPluIPph4zkuprli5Lmlq/orqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2hyeXNhbGlzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDaHJ5c2FsaXMnLFxyXG4gICAgICAnZnInOiAnTGEgQ2hyeXNhbGlkZScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrfjgqjjg7Pjg7vjg4rjg5fjg6rjgqLjg6zjgrnoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7JWE7JSo7JeUIOuCmOu4jOumrOyVjOugiOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrnianmiJjoiLDml6DpmZDlm57lu4onLFxyXG4gICAgICAnZGUnOiAnRGllIEZyYWt0YWwtS29udGludXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmFjdGFsIENvbnRpbnV1bScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCcsXHJcbiAgICAgICdqYSc6ICfljZrnianmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlagnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTIxMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsJjlsIHnp5jlsqkgKOS6ieWkuuaImCknLFxyXG4gICAgICAnZGUnOiAnUm9iYmVuaG9sbSAoRXJvYmVydW5nKScsXHJcbiAgICAgICdlbic6ICdTZWFsIFJvY2sgKFNlaXplKScsXHJcbiAgICAgICdmcic6ICdMZSBSb2NoZXIgZGVzIHRyw6lmb25kcyAoaW52YXNpb24pJyxcclxuICAgICAgJ2phJzogJ+OCt+ODvOODq+ODreODg+OCryAo5LqJ5aWq5oimKScsXHJcbiAgICAgICdrbyc6ICfrtInsnbjrkJwg67CU7JyE7ISsKOyfge2DiOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTksXHJcbiAgfSxcclxuICA0MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn572X5rOi6YKj5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gUmF2YW5hJyxcclxuICAgICAgJ2VuJzogJ1Rob2sgYXN0IFRob2sgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Rob2sgYXN0IFRob2sgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGsOmbquW6n+WgoeaaruWNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdBYmVuZHJvdC1XYWNodCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVzayBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZHUgQ3LDqXB1c2N1bGUnLFxyXG4gICAgICAnamEnOiAn5buD56Cm5o2c57SiIOODgOOCueOCr+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfslrTsiqTrpoQg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgNDM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCqum+meeOi+W6p+m+meW3ouelnuauvycsXHJcbiAgICAgICdkZSc6ICdOZXN0IGRlcyBEcmFjaGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBaXJlJyxcclxuICAgICAgJ2phJzogJ+mCquernOihgOaIpiDjg4njg6njgrTjg7PjgrrjgqjjgqLjg6rjg7wnLFxyXG4gICAgICAna28nOiAn7Jqp7J2YIOuRpeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDU1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODk+OCueODnuODq+OCr+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg67mE7Iqk66eI66W07YGsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnIbmoYzpqpHlo6vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnU2luZ3VsYXJpdMOkdHMtUmVha3RvcicsXHJcbiAgICAgICdlbic6ICdUaGUgU2luZ3VsYXJpdHkgUmVhY3RvcicsXHJcbiAgICAgICdmcic6ICdMZSBSw6lhY3RldXIgZGUgc2luZ3VsYXJpdMOpJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODhOODu+OCquODluODu+ODqeOCpuODs+ODieiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KGA5oiY6IuN56m56a2U56eR5a2m56CU56m25omAJyxcclxuICAgICAgJ2RlJzogJ8OEdGhlcm9jaGVtaXNjaGVzIEZvcjxTb2Z0SHlwaGVuLz5zY2h1bmdzPFNvZnRIeXBoZW4vPmxhYm9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXRoZXJvY2hlbWljYWwgUmVzZWFyY2ggRmFjaWxpdHknLFxyXG4gICAgICAnZnInOiAnTGUgTGFib3JhdG9pcmUgZGUgbWFnaXNtb2xvZ2llJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeiBluaIpiDprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAna28nOiAn66eI6rO87ZWZIOyXsOq1rOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTgsXHJcbiAgICAnb2Zmc2V0WSc6IDE0OSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHnu53pobbntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCcsXHJcbiAgICAgICdlbic6ICdTb2htIEFsJyxcclxuICAgICAgJ2ZyJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnamEnOiAn6ZyK5bOw6LiP56C0IOOCveODvOODoOODu+OCouODqycsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4NSxcclxuICAgICdvZmZzZXRZJzogNTEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODqeODvOODtOOCoeODiuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg652867CU64KYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NyxcclxuICB9LFxyXG4gIDQ0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+W5u+aDs+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBUaG9yZGFucyBGYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUaG9yZGFuXFwncyBSZWlnbicsXHJcbiAgICAgICdmcic6ICdMZSByw6hnbmUgZGUgVGhvcmRhbicsXHJcbiAgICAgICdqYSc6ICfokrzlpKnlubvmg7Mg44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya6LW35YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ3ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUsOWbremDoScsXHJcbiAgICAgICdkZSc6ICdGcm9oZWhhbGRlJyxcclxuICAgICAgJ2VuJzogJ0lkeWxsc2hpcmUnLFxyXG4gICAgICAnZnInOiAnSWR5bGzDqWUnLFxyXG4gICAgICAnamEnOiAn44Kk44OH44Kj44Or44K344Oj44Kk44KiJyxcclxuICAgICAgJ2tvJzogJ+ydtOuUnOyDpOydtOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NSxcclxuICB9LFxyXG4gIDUwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya5aSn6LWb5a+55oiY77yI5Lq65py65a+55oiY77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IFR1cm5pZXIgKGdlZ2VuIEFyZW5hbWVpc3RlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogTWFzdGVyIFRvdXJuYW1lbnQnLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgZGUgdG91cm5vaSBjb250cmUgbFxcJ29yZGluYXRldXInLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muWkp+S8muWvvuaIpiAoQ1BV5a++5oimKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjsnbjqs7Ug7KeA64qlIOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZToiKroiLnomZrml6DmlrnoiJ8nLFxyXG4gICAgICAnZGUnOiAnRGllIE5pY2h0cy1BcmNoZScsXHJcbiAgICAgICdlbic6ICdUaGUgVm9pZCBBcmsnLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyY2hlIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfprZToiKroiLnjg7TjgqnjgqTjg4njgqLjg7zjgq8nLFxyXG4gICAgICAna28nOiAn67O07J2065Oc7J2YIOuwqeyjvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODksXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDEnLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDMnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUlJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjMnLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDUxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDohInngbXnga/lpKnni7zmmJ/nga/loZQnLFxyXG4gICAgICAnZGUnOiAnUGhhcm9zIFNpcml1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdQaGFyb3MgU2lyaXVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Yi25Zyn5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNieacqOW6reWbreWco+iMieWkj+WonOakjeeJqeWbrScsXHJcbiAgICAgICdkZSc6ICdTYW5rdCBNb2NpYW5uZS1BcmJvcmV0dW0nLFxyXG4gICAgICAnZW4nOiAnU2FpbnQgTW9jaWFubmVcXCdzIEFyYm9yZXR1bScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjluq3lnJIg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQwLFxyXG4gICAgJ29mZnNldFknOiA2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTEyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvnmb3mmLzmjqLntKInLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIChFYXN5KScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2IChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA1MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+WknOaZmuaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MixcclxuICB9LFxyXG4gIDUxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfnqbrpl7TpoqDlgJLloZQnLFxyXG4gICAgICAnZGUnOiAnQW50aXR1cm0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFudGl0b3dlcicsXHJcbiAgICAgICdmcic6ICdMXFwnQW50aXRvdXInLFxyXG4gICAgICAnamEnOiAn5pif5rW36Kaz5risIOmAhuOBleOBruWhlCAnLFxyXG4gICAgICAna28nOiAn6rGw6r6466GcIOyEoCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNycsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBTMVA3JyxcclxuICAgICAgJ2phJzogJ+mtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrp4jsi6Ag7IS47ZS866Gc7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NixcclxuICB9LFxyXG4gIDUxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7lnKPpgZfov7nml6DpmZDln47luILooZflj6Tov7knLFxyXG4gICAgICAnZGUnOiAnSGlzdG9yaXNjaGVzIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIExvc3QgQ2l0eSBvZiBBbWRhcG9yIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3IgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn56We6IGW6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4Ao7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2NCxcclxuICAgICdvZmZzZXRZJzogMzE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MyxcclxuICB9LFxyXG4gIDUyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOW+i+WKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRWxsZSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBDdWZmIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pZ25ldCBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTExMCxcclxuICAgICdvZmZzZXRZJzogLTE3MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgU29uJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo6I+y5rSb54m55q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2VwaGlyb3QnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFMxVDcgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprZTnpZ7jgrvjg5XjgqPjg63jg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDnu4PkuaDotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCDDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoNCBvbiA0IC0gVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2VuPFNvZnRIeXBoZW4vPnRyYcOuPFNvZnRIeXBoZW4vPm5lPFNvZnRIeXBoZW4vPm1lbnQpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDsnbzrsJjsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCBnZXdlcnRldCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2NsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm5vlm73ogZTlkIjlhpvmvJQnLFxyXG4gICAgICAnZGUnOiAnVHJ1cHBlbsO8YnVuZyBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnQSBTcGVjdGFjbGUgZm9yIHRoZSBBZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBtYW7Fk3V2cmUgw6lvcnrDqWVubmUnLFxyXG4gICAgICAnamEnOiAn5Zub5Zu95ZCI5ZCM5ryU57+SJyxcclxuICAgICAgJ2tvJzogJzTqsJzqta0g7ZWp64+ZIO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfourLpgb/ojIPlm7TmlLvlh7snLFxyXG4gICAgICAnZGUnOiAnRmzDpGNoZW5hbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBBcmVhIG9mIEVmZmVjdCBBdHRhY2tzJyxcclxuICAgICAgJ2ZyJzogJ8OJdml0ZXIgbGVzIGF0dGFxdWVzIMOgIGFpcmUgZFxcJ2VmZmV0JyxcclxuICAgICAgJ2phJzogJ+evhOWbsuaUu+aSg+OCkumBv+OBkeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrspTsnIQg6rO16rKp7J2EIO2UvO2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6M5o+h5LuH5oGo6L+e5Ye7JyxcclxuICAgICAgJ2RlJzogJ01pdCBLb21ib3MgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyB0byBJbmNyZWFzZSBFbm1pdHknLFxyXG4gICAgICAnZnInOiAnR8OpbsOpcmVyIGRlIGxcXCdpbmltaXRpw6kgYXZlYyB1biBjb21ibycsXHJcbiAgICAgICdqYSc6ICfjgrPjg7Pjg5zjgafmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7L2k67O066W8IOydtOyWtCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnS29tYm9zIGltIEthbXBmIGVpbnNldHplbicsXHJcbiAgICAgICdlbic6ICdFeGVjdXRlIGEgQ29tYm8gaW4gQmF0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0VmZmVjdHVlciBsZSBjb21ibyBlbiBjb21iYXQnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn44Kz44Oz44Oc44Gr5oyR5oim44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDsvaTrs7Trpbwg7IKs7Jqp7ZW067O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnRmVpbmRzZWxpZ2tlaXQgbWVocmVyZXIgR2VnbmVyIGF1ZiBzaWNoIHppZWhlbicsXHJcbiAgICAgICdlbic6ICdBY2NydWUgRW5taXR5IGZyb20gTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBdHRpcmVyIGxcXCdpbmltaXRpw6kgZGUgcGx1c2lldXJzIGVubmVtaXMgc3VyIHNvaScsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7mlbXjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIOyggeyXkOqyjOyEnCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrp7miJjmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnR2VnZW4gbWVocmVyZSBHZWduZXIgYXVmIGVpbm1hbCBrw6RtcGZlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZXIgcGx1c2lldXJzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn6KSH5pWw44Gu5pW144Go5oim44Gj44Gm44G/44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDri6TsiJjsnZgg7KCB6rO8IOyLuOybjOuztOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6n5Yi26L+c5aSE5pWM5Lq655qE5LuH5oGoJyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZXIgRmVybmUgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBSYW5nZWQgQXR0YWNrIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSDDoCBkaXN0YW5jZScsXHJcbiAgICAgICdqYSc6ICfpgaDot53pm6LjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn66mA66as7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eVmeW/g+WinuaPtOeahOaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdGZWluZGxpY2hlIFZlcnN0w6Rya3VuZyBhdWZoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnRW5nYWdlIEVuZW15IFJlaW5mb3JjZW1lbnRzJyxcclxuICAgICAgJ2ZyJzogJ0ZhaXJlIGZhY2Ugw6AgZGVzIHJlbmZvcnRzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5pW144Gu5aKX5o+044Gr5a++5b+c44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yggSDsp4Dsm5DqtbDsl5Ag64yA7LKY7ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLljZXkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnR2VnbmVyIGdlbWVpbnNhbSBiZXNpZWdlbicsXHJcbiAgICAgICdlbic6ICdBc3Npc3QgQWxsaWVzIGluIERlZmVhdGluZyBhIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBlbiBhc3Npc3RhbnQgZGVzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544Go5Y2U5Yqb44GX44Gm5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDtmJHroKXtlZjsl6wg7KCB7J2EIOusvOumrOy5mOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YWN5ZCI6Ziy5oqk6IGM5Lia5omT5YCS5aSa5Liq5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0RlbiBHZWduZXIgZWluZXMgVmVyYsO8bmRldGVuIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0RlZmVhdCBhbiBPY2N1cGllZCBUYXJnZXQnLFxyXG4gICAgICAnZnInOiAnVmFpbmNyZSB1biBlbm5lbWkgb2NjdXDDqSBwYXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOBjOW8leOBjeOBpOOBkeOBpuOBhOOCi+aVteOCkuWAkuOBneOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5Dqs7wg6rCZ7J2AIOyggeydhCDqs7XqsqntlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHu+eahOWQjOaXtui/m+ihjOaImOaWlycsXHJcbiAgICAgICdkZSc6ICdBbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBFbmdhZ2VkIFRhcmdldHMnLFxyXG4gICAgICAnZnInOiAnQ29tYmF0dHJlIGVuIMOpdml0YW50IGxlcyBhdHRhcXVlcyBlbm5lbWllcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7mlLvmkoPjgpLpgb/jgZHjgarjgYzjgonmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCB7J2YIOqzteqyqeydhCDtlLztlZjrqbTshJwg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngbXmtLvov5DnlKjlnLrlnLDmnLrlhbMnLFxyXG4gICAgICAnZGUnOiAnTWl0IGRlbSBHZWzDpG5kZSBpbnRlcmFnaWVyZW4nLFxyXG4gICAgICAnZW4nOiAnSW50ZXJhY3Qgd2l0aCB0aGUgQmF0dGxlZmllbGQnLFxyXG4gICAgICAnZnInOiAnSW50ZXJhZ2lyIGF2ZWMgbGUgZMOpY29yIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICfjgq7jg5/jg4Pjgq/jgpLmtLvnlKjjgZfjgabmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Yq57IiYIOyepey5mOulvCDtmZzsmqntlZjrqbAg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpfpmLLmiqTogYzkuJonLFxyXG4gICAgICAnZGUnOiAnVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgYW4gQWxseScsXHJcbiAgICAgICdmcic6ICdTb2lnbmVyIHVuIGFsbGnDqScsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ7J2EIO2ajOuzteyLnO2CpOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rK755aX5bCP6Zif6Zif5ZGYJyxcclxuICAgICAgJ2RlJzogJ01laHJlcmUgVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgTXVsdGlwbGUgQWxsaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgcGx1c2lldXJzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn6KSH5pWw44Gu5ZGz5pa544KS5Zue5b6p44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uLpOyImOydmCDtjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jorq3nu4MnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIMOcYnVuZycsXHJcbiAgICAgICdlbic6ICdGaW5hbCBFeGVyY2lzZScsXHJcbiAgICAgICdmcic6ICdFeGVyY2ljZSBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfmnIDntYLoqJPnt7TvvIEnLFxyXG4gICAgICAna28nOiAn66eI7KeA66eJIO2biOugqCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojaPoqonph44gKOeijuWGsOaImCknLFxyXG4gICAgICAnZGUnOiAnRmVsZCBkZXIgRWhyZSAoWmVyc3BsaXR0ZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaWVsZHMgb2YgR2xvcnkgKFNoYXR0ZXIpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDaGFtcHMgZGUgbGEgR2xvaXJlIChicmlzZS1nbGFjZSknLFxyXG4gICAgICAnamEnOiAn44OV44Kj44O844Or44OJ44O744Kq44OW44O744Kw44Ot44O844Oq44O8ICjnoJXmsLfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYgeq0keydmCDtj4nsm5Ao7IeE67mZ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NyxcclxuICB9LFxyXG4gIDU1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnpvpnlrqvmrr/lv4bnvarlrqsnLFxyXG4gICAgICAnZGUnOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2VuJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdmcic6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnamEnOiAn5aSp56uc5a6u5q6/IOOCveODvOODq+ODu+OCq+OCpCcsXHJcbiAgICAgICdrbyc6ICfshozrpbQg7Lm07J20JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDM3MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlv4zln47pgqbnjpvlk4gnLFxyXG4gICAgICAnZGUnOiAnRGllIFN0YWR0IGRlciBUcsOkbmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBXZWVwaW5nIENpdHkgb2YgTWhhY2gnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZMOpZmVuZHVlIGRlIE1oYWNoJyxcclxuICAgICAgJ2phJzogJ+emgeW/jOmDveW4guODnuODjycsXHJcbiAgICAgICdrbyc6ICfquIjquLDrj4Tsi5wg66eI7ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogLTQwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kea2oeS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxlIGRlIENyw6h2ZWNhcsOobmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6buS5rim5Lyd6KqsIOODj+ODq+ODluODrOODvOOCq+ODvOODu+OCouOCpOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgNTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWfjuWuneeJqeW6kycsXHJcbiAgICAgICdkZSc6ICdBcXVhcG9saXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFxdWFwb2xpcycsXHJcbiAgICAgICdmcic6ICdMXFwnQXF1YXBvbGUnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCouOCr+OCouODneODquOCuScsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7JWE7L+g7JWE7Y+066as7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBsZXR6dGUgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGEgRGVybmnDqHJlIGF2YW5jw6llIGRlIGxhIEZvaScsXHJcbiAgICAgICdqYSc6ICfjg4vjg7zjgrrjg5jjg4PjgrDlvoHnq5zmiKYnLFxyXG4gICAgICAna28nOiAn64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flj6Tmi4nCt+iMg8K35LyR6JGX5pav6L+95Ye75oiYJyxcclxuICAgICAgJ2RlJzogJ0JsdXRpZ2VzIFdpZWRlcjxTb2Z0SHlwaGVuLz5zZWhlbicsXHJcbiAgICAgICdlbic6ICdBIEJsb29keSBSZXVuaW9uJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZS1wb3Vyc3VpdGUgZGFucyBsZSBsYWJvcmF0b2lyZScsXHJcbiAgICAgICdqYSc6ICfjg6zjgrDjg6njg7vjg7TjgqHjg7Pjg7vjg5Ljg6Xjg4njg6vjgrnov73mkoPmiKYnLFxyXG4gICAgICAna28nOiAn66CI6rW06528IOuwmCDtnojrk5zro6jsiqQg7LaU6rKp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMe+9nkIxMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxfkIxMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTHvvZ4yMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTEtMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDExLTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEx772eQjIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExfkIyMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAyMS0zMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjIx772eQjMwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjIxfkIzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjMx772eQjQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjMxfkI0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjQx772eQjUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjQxfkI1MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwvOW+t+mcjeagvOS8oOWlh+W+gem+meaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgTGllZCB2b24gTmlkaG9nZ3MgbGV0enRlbSBSdWYnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IE5pZGhvZ2dcXCdzIFJhZ2UnLFxyXG4gICAgICAnZnInOiAnTFxcJ2lyZSBkZSBOaWRob2dnJyxcclxuICAgICAgJ2phJzogJ+alteODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqh54G15bqc6YK46Ze56ay85bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHZWlzdGVyc2NobG9zcycsXHJcbiAgICAgICdlbic6ICdUaGUgSGF1bnRlZCBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgaGFudMOpJyxcclxuICAgICAgJ2phJzogJ+S6oemciuWxi+aVtyDjg5vjg7zjg7Pjg4bjg4Pjg4njg57jg4rjg7wnLFxyXG4gICAgICAna28nOiAn7Jyg66C57J2YIOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZqeWzu+Wzoeiwt+WhnuWwlOazleeJueWwlOa6quiwtycsXHJcbiAgICAgICdkZSc6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZW4nOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2ZyJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdqYSc6ICfls7vljrPmuJPosLcg44K844Or44OV44Kh44OI44OrJyxcclxuICAgICAgJ2tvJzogJ+ygpO2MjO2GqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTQ4LFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA1NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFAxUDYnLFxyXG4gICAgICAnamEnOiAn5aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yXrOyLoCDshoztlLzslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY5LFxyXG4gIH0sXHJcbiAgNTc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e0ouiPsuWoheatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNvcGhpYScsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUDFUNiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNiAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteWls+elnuOCveODleOCo+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56eY5pys5a6d5bqT6L+m5be05YuS5bm75oOz5Zu+5Lmm6aaGJyxcclxuICAgICAgJ2RlJzogJ0dyb8OfZSBHdWJhbC1CaWJsaW90aGVrIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBHdWJhbCBMaWJyYXJ5IChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnqIDmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTE2LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrlubvljaHlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBXZWx0ZW5zYWxvbicsXHJcbiAgICAgICdlbic6ICdUaGUgVHJpcGxlIFRyaWFkIEJhdHRsZWhhbGwnLFxyXG4gICAgICAnZnInOiAnQXLDqG5lIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44O844OJ44OQ44OI44Or44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5tOuTnCDrjIDqsrDsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKHVtIFJQKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBQbGF5ZXIgQmF0dGxlIChSUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKGF2ZWMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44GC44KKKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7J6I7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjnjqnlrrblr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gU3BpZWxlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBkZXMgam91ZXVycycsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimICjjg5fjg6zjgqTjg6Tjg7zlr77miKbvvIknLFxyXG4gICAgICAna28nOiAn6rys66eIIOy5nOq1rCDqs7XrsKnsoIQ6IOuMgO2ajCDrjIDqsrAo7ZSM66CI7J207Ja0IOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI5peg57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKG9obmUgUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKE5vbi1SUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKHNhbnMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44Gq44GXKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oOe8oOS4jea4heeahOWuv+WRvScsXHJcbiAgICAgICdkZSc6ICdXZWx0ZW7DvGJlcmdyZWlmZW5kZXMgU2NoaWNrc2FsJyxcclxuICAgICAgJ2VuJzogJ09uZSBMaWZlIGZvciBPbmUgV29ybGQnLFxyXG4gICAgICAnZnInOiAnRGVzdGlucyBlbnRyZWNyb2lzw6lzJyxcclxuICAgICAgJ2phJzogJ+e1oeOBv+WQiOOBhuWuv+WRvScsXHJcbiAgICAgICdrbyc6ICfrkqTslr3tnojripQg7IiZ66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNTHvvZ42MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNTEgLSA2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDUxLTYwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNTHvvZ5CNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNTF+QjYwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA2MSAtIDcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI2Me+9nkI3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI2MX5CNzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izcx772eODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDcxIC0gODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA3MS04MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjcx772eQjgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjcxfkI4MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gODEgLSA5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCODHvvZ5COTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCODF+QjkwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs5Me+9njEwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gOTEgLSAxMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA5MS0xMDApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCOTHvvZ5CMTAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjkxfkIxMDAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEwMe+9njExMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTAxIC0gMTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTAxLTExMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEwMS0xMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTAx772eQjExMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMDF+QjExMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTEx772eMTIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMTEgLSAxMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMTEtMTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTExLTEyMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMTHvvZ5CMTIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExMX5CMTIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMjHvvZ4xMzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEyMSAtIDEzMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDEyMS0xMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMjEtMTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEyMe+9nkIxMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTIxfkIxMzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEzMe+9njE0MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTMxIC0gMTQwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTMxLTE0MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEzMS0xNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTMx772eQjE0MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMzF+QjE0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTQx772eMTUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNDEgLSAxNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNDEtMTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTQxLTE1MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNDHvvZ5CMTUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE0MX5CMTUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNTHvvZ4xNjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE1MSAtIDE2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE1MS0xNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNTEtMTYwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE1Me+9nkIxNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTUxfkIxNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE2Me+9njE3MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTYxIC0gMTcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTYxLTE3MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE2MS0xNzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTYx772eQjE3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNjF+QjE3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTcx772eMTgw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNzEgLSAxODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNzEtMTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTcxLTE4MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNzHvvZ5CMTgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE3MX5CMTgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxODHvvZ4xOTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE4MSAtIDE5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE4MS0xOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxODEtMTkwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE4Me+9nkIxOTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTgxfkIxOTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE5Me+9njIwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTkxIC0gMjAwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTkxLTIwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE5MS0yMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTkx772eQjIwMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxOTF+QjIwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjEyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa6L655Yy6JyxcclxuICAgICAgJ2RlJzogJ0FiYW5pc2NoZXMgR3JlbnpsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmluZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNYXJnZXMnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki6L665aKD5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDrs4DrsKnsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzksXHJcbiAgfSxcclxuICA2MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonmtbcnLFxyXG4gICAgICAnZGUnOiAnUnViaW5zZWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJ1YnkgU2VhJyxcclxuICAgICAgJ2ZyJzogJ01lciBkZSBSdWJpcycsXHJcbiAgICAgICdqYSc6ICfntIXnjonmtbcnLFxyXG4gICAgICAna28nOiAn7ZmN7Jil7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgzLFxyXG4gIH0sXHJcbiAgNjE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bu25aSPJyxcclxuICAgICAgJ2RlJzogJ1lhbnhpYScsXHJcbiAgICAgICdlbic6ICdZYW54aWEnLFxyXG4gICAgICAnZnInOiAnWWFueGlhJyxcclxuICAgICAgJ2phJzogJ+ODpOODs+OCtScsXHJcbiAgICAgICdrbyc6ICfsloDsg6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA2MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z2a54mi6ZOB5aOB5be05Z+D6JCo6ZW/5Z+OJyxcclxuICAgICAgJ2RlJzogJ0JhZWxzYXItV2FsbCcsXHJcbiAgICAgICdlbic6ICdCYWVsc2FyXFwncyBXYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xhIE11cmFpbGxlIGRlIEJhZWxzYXInLFxyXG4gICAgICAnamEnOiAn5beo5aSn6Ziy5aOBIOODkOOCqOOCteODq+OBrumVt+WfjicsXHJcbiAgICAgICdrbyc6ICfrsJTsnbzsgqzrpbQg7J6l7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4MixcclxuICAgICdvZmZzZXRZJzogMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgNjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W6leWuq+auv+e0q+awtOWuqycsXHJcbiAgICAgICdkZSc6ICdTaGlzdWknLFxyXG4gICAgICAnZW4nOiAnU2hpc3VpIG9mIHRoZSBWaW9sZXQgVGlkZXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGF1eCBNYXLDqWVzIHZpb2xldHRlcycsXHJcbiAgICAgICdqYSc6ICfmtbflupXlrq7mrr8g57Sr5rC05a6uJyxcclxuICAgICAgJ2tvJzogJ+yLnOyKpOydtCDqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5bGx5rex5aKD57Si5aeG6Zi/5bCU54G15bOwJyxcclxuICAgICAgJ2RlJzogJ1NvaG0gQWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU29obSBBbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU29obSBBbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpnIrls7DmtYTljJYg44K944O844Og44O744Ki44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTI4LFxyXG4gICAgJ29mZnNldFknOiAtMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo54u854ux5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFdvbGZzaMO2aGxlOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIEZlYXN0aW5nIEdyb3VuZHMpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9GZXN0aW4gZGVzIGxvdXBzKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCpuODq+ODtOOCuuOCuOOCp+OCpOODq+a8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjripHrjIDsmrDrpqwg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NSxcclxuICB9LFxyXG4gIDYyMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6muWxseWMuicsXHJcbiAgICAgICdkZSc6ICdEaWUgWmlubmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQZWFrcycsXHJcbiAgICAgICdmcic6ICdMZXMgUGljcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLlsbHlsrPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOyCsOyVheyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MCxcclxuICB9LFxyXG4gIDYyMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6mua5luWMuicsXHJcbiAgICAgICdkZSc6ICdEYXMgRmVubicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9jaHMnLFxyXG4gICAgICAnZnInOiAnTGVzIExhY3MnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki5rmW55WU5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDtmLjrsJjsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODEsXHJcbiAgfSxcclxuICA2MjI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKrpmLPnpZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnQXppbS1TdGVwcGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEF6aW0gU3RlcHBlJyxcclxuICAgICAgJ2ZyJzogJ1N0ZXBwZSBkXFwnQXppbScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjg6Djgrnjg4bjg4Pjg5cnLFxyXG4gICAgICAna28nOiAn7JWE7KeQIOuMgOy0iOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDYyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfor5XngrzooYzot6/lt7TlhL/ovr7mnKjpnLjpgZMnLFxyXG4gICAgICAnZGUnOiAnQmFyZGFtcyBQcm9iZScsXHJcbiAgICAgICdlbic6ICdCYXJkYW1cXCdzIE1ldHRsZScsXHJcbiAgICAgICdmcic6ICdMYSBGb3JjZSBkZSBCYXJkYW0nLFxyXG4gICAgICAnamEnOiAn5Lyd57Wx6Kmm57e0IOODkOODq+ODgOODoOimh+mBkycsXHJcbiAgICAgICdrbyc6ICfrsJTrpbTri7Qg7Yyo64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUgKGxlaWNodCknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMgKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UgKGZhY2lsZSknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumiAoRWFzeSknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisIO2VnOyglSjsiazsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYwLFxyXG4gIH0sXHJcbiAgNjI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvpu4TmmI/mjqLntKLvvIjni6nnjI7kuJPnlKjvvIknLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEphZ2RncsO8bmRlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gSHVudGluZyBHcm91bmRzJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumicsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYxLFxyXG4gIH0sXHJcbiAgNjI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8gua1gea1t+Wfn+WmluatjOa1tycsXHJcbiAgICAgICdkZSc6ICdTaXJlbmVuLVNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgU2lyZW5zb25nIFNlYScsXHJcbiAgICAgICdmcic6ICdMYSBNZXIgZHUgQ2hhbnQgZGVzIHNpcsOobmVzJyxcclxuICAgICAgJ2phJzogJ+a8gua1gea1t+WfnyDjgrvjgqTjg6zjg7zjg7PmtbcnLFxyXG4gICAgICAna28nOiAn7IS47J2066CMIO2VtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNixcclxuICB9LFxyXG4gIDYyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvbHkuYvlm70nLFxyXG4gICAgICAnZGUnOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdlbic6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnamEnOiAn5b2x44Gu5Zu944OA44Oz44O744K544Kr44O8JyxcclxuICAgICAgJ2tvJzogJ+uRlCDsiqTsubQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1MCxcclxuICAgICdvZmZzZXRZJzogLTQwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTgsXHJcbiAgfSxcclxuICA2Mjg6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HmuK8nLFxyXG4gICAgICAnZGUnOiAnS3VnYW5lJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZScsXHJcbiAgICAgICdmcic6ICdLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn44Kv44Ks44ONJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDYzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5oiY5LqJ56We54yO5Zy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBIYWxvbmVzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIEZ1cnknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgSGFsb25lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOeLqeeMnyknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WKoOWwlOaPkOivuuW5s+WOn+mBremBh+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxpb2Ryb20nLFxyXG4gICAgICAnZW4nOiAnVGhlIENhcnRlbmVhdSBGbGF0czogSGVsaW9kcm9tZScsXHJcbiAgICAgICdmcic6ICdSaXhlIMOgIGxcXCdIw6lsaW9kcm9tZScsXHJcbiAgICAgICdqYSc6ICfjgqvjg6vjg4bjg47jg7zlubPljp/pga3pgYfmiKYnLFxyXG4gICAgICAna28nOiAn7Lm066W07YWM64W4IO2PieybkCDsobDsmrDsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuaLs+eXlScsXHJcbiAgICAgICdkZSc6ICdSaGFsZ3JzIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1JoYWxnclxcJ3MgUmVhY2gnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdGVuZHVlIGRlIFJoYWxncicsXHJcbiAgICAgICdqYSc6ICfjg6njg7zjg6vjgqzjg7zjgrrjg6rjg7zjg4EnLFxyXG4gICAgICAna28nOiAn656E6rGw7J2YIOyGkOq4uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OCxcclxuICB9LFxyXG4gIDYzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gWjFQOScsXHJcbiAgICAgICdqYSc6ICfprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6reA7IugIOyjvOultOuwmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzUsXHJcbiAgfSxcclxuICA2Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56WW5bCU5a6b5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gWnVydmFuJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBaMVQ5IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW16ay856We44K644Or44Ov44O844Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDY0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOWcsOiho+Wuq+a8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChGbGVjaHRlbmhhaW46IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gTGljaGVud2VlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1Byw6ktZGUtbGljaGVuKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeOCpOOCseODs+OCpuOCo+ODvOODiea8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjsnqHstIgg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MyxcclxuICB9LFxyXG4gIDY1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5Liw6aW256We56aP5ZywJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBOb3BoaWNhcyBQcsO8ZnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIC0gVHJpYWxzIG9mIHRoZSBNYXRyb24nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgTm9waGljYScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2ICjmjqHpm4YpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyxhOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MSxcclxuICB9LFxyXG4gIDY2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfop6PmlL7lhrPmiJjlpJrnjpvnjovln44nLFxyXG4gICAgICAnZGUnOiAnQnVyZyBEb21hJyxcclxuICAgICAgJ2VuJzogJ0RvbWEgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn6Kej5pS+5rG65oimIOODieODnuWfjicsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5beo54Ku6KaB5aGe5bid5Zu955m95bGx5aChJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2phJzogJ+W3qOegsuimgeWhniDjgqvjgrnjg4jjg6vjg6Djg7vjgqLjg5Djg4vjgqInLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOyVhOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3MixcclxuICAgICdvZmZzZXRZJzogLTE4NixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmgbblhZrlraTln47pu4Tph5HpmIEnLFxyXG4gICAgICAnZGUnOiAnU2NobG9zcyBLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIENhc3RsZScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkZSBLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn5oKq5YWa5oiQ5pWXIOOCr+OCrOODjeWfjicsXHJcbiAgICAgICdrbyc6ICfsv6DqsIDrhKQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcwLFxyXG4gICAgJ29mZnNldFknOiAzMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv67ooYzlj6TliLnmmJ/lr7zlr7onLFxyXG4gICAgICAnZGUnOiAnVGVtcGVsIGRlciBGYXVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGxlIG9mIHRoZSBGaXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBkdSBQb2luZycsXHJcbiAgICAgICdqYSc6ICflo4rnpZ7kv67ooYwg5pif5bCO5bGx5a+66ZmiJyxcclxuICAgICAgJ2tvJzogJ+yEseuPhOyCsCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQyNyxcclxuICAgICdvZmZzZXRZJzogLTMxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpsbzpgZPnjrDouqvvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluIHp3ZWlmZWxoYWZ0ZXMgQW5nZWJvdCcsXHJcbiAgICAgICdlbic6ICdJdFxcJ3MgUHJvYmFibHkgYSBUcmFwJyxcclxuICAgICAgJ2ZyJzogJ1VuIGRyw7RsZSBkZSBOYW1henUnLFxyXG4gICAgICAnamEnOiAn44Ku44On44OJ44Km54++44KL77yBJyxcclxuICAgICAgJ2tvJzogJ+q1kOuPhCDrk7HsnqUhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ3JpcXVlIGF1eCB0cmlidXRzJyxcclxuICAgICAgJ2phJzogJ+OCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsiqTsgqzrhbjsmKQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc3LFxyXG4gIH0sXHJcbiAgNjc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mhu+S9kOS5i+eUt+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFN1c2FubycsXHJcbiAgICAgICdlbic6ICdUaGUgUG9vbCBvZiBUcmlidXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrnjgrXjg47jgqroqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIE1lbmFnZXJpZScsXHJcbiAgICAgICdlbic6ICdUaGUgUm95YWwgTWVuYWdlcmllJyxcclxuICAgICAgJ2ZyJzogJ0xhIE3DqW5hZ2VyaWUgcm95YWxlJyxcclxuICAgICAgJ2phJzogJ+elnum+jeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNjg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6jumHjOaYgueDreeahOenmOetlicsXHJcbiAgICAgICdkZSc6ICdXZWdlIHp1ciBUcmFuc3plbmRlbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIFJlc29uYW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIHJ1c2UgZFxcJ1VyaWFuZ2VyJyxcclxuICAgICAgJ2phJzogJ+OCpuODquOCqOODs+OCuOOCp+OBruenmOetlicsXHJcbiAgICAgICdrbyc6ICfsnITrpqzslZnsoJzsnZgg67mE7LGFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKj6L6+5oWVJyxcclxuICAgICAgJ2RlJzogJ05hYWRhbScsXHJcbiAgICAgICdlbic6ICdOYWFkYW0nLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIGJhdGFpbGxlIGR1IE5hYWRhbScsXHJcbiAgICAgICdqYSc6ICfntYLnr4Djga7lkIjmiKYnLFxyXG4gICAgICAna28nOiAn6rOE7KCI64GdIO2VqeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mPluaImOe6ouiOsumYv+aLieexs+agvCcsXHJcbiAgICAgICdkZSc6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZW4nOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2ZyJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdqYSc6ICfntIXok67msbrmiKYg44Ki44Op44Of44K0JyxcclxuICAgICAgJ2tvJzogJ+yVjOudvOuvuOqzoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyOTIsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pe256m654ut57yd5aSW57yYJyxcclxuICAgICAgJ2RlJzogJ0ludGVyZGltZW5zaW9uYWxlciBSaXNzJyxcclxuICAgICAgJ2VuJzogJ0ludGVyZGltZW5zaW9uYWwgUmlmdCcsXHJcbiAgICAgICdmcic6ICdGaXNzdXJlIGludGVyZGltZW5zaW9ubmVsbGUnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT77ya5aSW57iBJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4g6IOyZuOqzvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDcwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfkvJrlvIDlp4snLFxyXG4gICAgICAnZGUnOiAnVGhhbCB6dSBFaHJlbicsXHJcbiAgICAgICdlbic6ICdJbiBUaGFsXFwncyBOYW1lJyxcclxuICAgICAgJ2ZyJzogJ0xlIHRvdXJub2kgY29tbcOpbW9yYXRpZiBkdSBzdWx0YW5hdCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vnjovmna/pl5jmioDkvJrjga7lp4vjgb7jgoonLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOyZleyLpOuwsCDtiKzquLDrjIDtmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDcwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuLrkuobmm7TlvLonLFxyXG4gICAgICAnZGUnOiAnRGllIGhvaGUgS3Vuc3QgZGVzIFNjaHdlcnRrYW1wZnMnLFxyXG4gICAgICAnZW4nOiAnUmFpc2luZyB0aGUgU3dvcmQnLFxyXG4gICAgICAnZnInOiAnTGEgZmluYWxlIGRlcyBjaGFtcGlvbnMnLFxyXG4gICAgICAnamEnOiAn44GV44KJ44Gq44KL5Ymj6KGT44Gu6auY44G/44G4JyxcclxuICAgICAgJ2tvJzogJ+uNlCDrhpLsnYAg6rKA7Iig7J2YIOqyveyngOuhnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aKl+S6ieS5i+WKmycsXHJcbiAgICAgICdkZSc6ICdEaWUgS3JhZnQgZGVzIFdpZGVyc3RhbmRzJyxcclxuICAgICAgJ2VuJzogJ1dpdGggSGVhcnQgYW5kIFN0ZWVsJyxcclxuICAgICAgJ2ZyJzogJ1RyYW5zbWlncmF0aW9uIGTDqW1vbmlhcXVlJyxcclxuICAgICAgJ2phJzogJ+aKl+OBhuWKmycsXHJcbiAgICAgICdrbyc6ICfrp57shJzripQg7Z6YJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5OCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNyxcclxuICB9LFxyXG4gIDcwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbfpg73ot6/kurrouqvpppblvIInLFxyXG4gICAgICAnZGUnOiAnTW9yZCBpc3Qgc2VpbiBIb2JieScsXHJcbiAgICAgICdlbic6ICdCbG9vZCBvbiB0aGUgRGVjaycsXHJcbiAgICAgICdmcic6ICdMYSBsw6lnZW5kZSBkZSBNdXNvc2FpPEluZGVudC8+OiBsXFwnYXNzYXNzaW4gZGUgTGltc2EgTG9taW5zYScsXHJcbiAgICAgICdqYSc6ICfmtbfpg73jgpLpnIfjgo/jgZnkurrmlqzjgorjga7lrrTvvIEnLFxyXG4gICAgICAna28nOiAn7ZW07JaR64+E7Iuc66W8IO2dlOuTnOuKlCDsgrTsnbjsnpDsnZgg7Jew7ZqMIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aegeaBtuS5i+S6uuacqOaerycsXHJcbiAgICAgICdkZSc6ICdEZXIgSW5iZWdyaWZmIGRlcyBCw7ZzZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZhY2Ugb2YgVHJ1ZSBFdmlsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhYm9taW5hYmxlIEtvZ2FyYXNoaScsXHJcbiAgICAgICdqYSc6ICfmpbXmgqrkurrjgrPjgqzjg6njgrcnLFxyXG4gICAgICAna28nOiAn6re57JWF66y064+E7ZWcIOy9lOqwgOudvOyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ5LFxyXG4gIH0sXHJcbiAgNzEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+advuWPtumXqOWkluS5i+WPmCcsXHJcbiAgICAgICdkZSc6ICdWb3JmYWxsIGF1ZiBkZW0gTWF0c3ViYS1QbGF0eicsXHJcbiAgICAgICdlbic6ICdNYXRzdWJhIE1heWhlbScsXHJcbiAgICAgICdmcic6ICdSw6hnbGVtZW50IGRlIGNvbXB0ZSBhdSBzcXVhcmUgTWF0c3ViYScsXHJcbiAgICAgICdqYSc6ICfmnb7okYnploDlpJbjga7lpIknLFxyXG4gICAgICAna28nOiAn66eI7Lig67CUIOyCrOuzgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDcxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhrPmiJjpvp/nlLLlspsnLFxyXG4gICAgICAnZGUnOiAnRW50PFNvZnRIeXBoZW4vPnNjaGVpPFNvZnRIeXBoZW4vPmR1bmdzPFNvZnRIeXBoZW4vPnNjaGxhY2h0IGF1ZiBCZWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgQmF0dGxlIG9uIEJla2tvJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhZjxTb2Z0SHlwaGVuLz5mcm9uPFNvZnRIeXBoZW4vPnRlPFNvZnRIeXBoZW4vPm1lbnQgZGUgZGV1eCBqdXN0aWNlcycsXHJcbiAgICAgICdqYSc6ICfjg5njg4PjgrPjgqbls7bjga7msbrpl5gnLFxyXG4gICAgICAna28nOiAn67Kg7L2U7JqwIOyErOydmCDqsrDtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA3MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0thbsOkbGUgdm9uIFV6bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggcGVyZHVzIGRcXCdVem5haXInLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCpuOCuuODjeOCouOCq+ODiuODqycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7Jqw7KaI64Sk7Ja0IOyatO2VmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8hum7keeahOW3qOm+mScsXHJcbiAgICAgICdkZSc6ICdEZXIgdG9iZW5kZSBEcmFjaGUnLFxyXG4gICAgICAnZW4nOiAnRGFyayBhcyB0aGUgTmlnaHQgU2t5JyxcclxuICAgICAgJ2ZyJzogJ0F1c3NpIHNvbWJyZSBxdWUgbGEgbnVpdCcsXHJcbiAgICAgICdqYSc6ICfmvIbpu5Ljga7lt6jnq5wnLFxyXG4gICAgICAna28nOiAn7Lmg7Z2R7J2YIOqxsOujoScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLooYDkuYvpvpnpqpHlo6snLFxyXG4gICAgICAnZGUnOiAnRGVyIFJ1YmluLURyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnRHJhZ29uIFNvdW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIERyYWdvbiDDqWNhcmxhdGUnLFxyXG4gICAgICAnamEnOiAn57SF44Gu56uc6aiO5aOrJyxcclxuICAgICAgJ2tvJzogJ+u2ieydgCDsmqnquLDsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDcxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgaXov5znmoTmhqfmhqwnLFxyXG4gICAgICAnZGUnOiAnUHJvYmUgZGVzIE1laXN0ZXJzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBPcnBoYW5zIGFuZCB0aGUgQnJva2VuIEJsYWRlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhc3BpcmF0aW9uIHJlZm91bMOpZScsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuInluqbjgIHpgaXjgYvjgarmhqfmhqwnLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIOyEuCDrsogsIOyVhOuTne2VnCDrj5nqsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NixcclxuICB9LFxyXG4gIDcxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflho3mrKHnm7jop4EnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBUaWVmZSBkZXMgSGVyemVucycsXHJcbiAgICAgICdlbic6ICdPdXIgQ29tcHJvbWlzZScsXHJcbiAgICAgICdmcic6ICdMYSBkZXJuacOocmUgc8OpcGFyYXRpb24nLFxyXG4gICAgICAnamEnOiAn44GC44Go5LiA5bqm44CB5ZCb44Gr5Lya44GI44Gf44KJJyxcclxuICAgICAgJ2tvJzogJ+yVnuycvOuhnCDtlZwg67KILCDrhIjsmYAg66eM64KgIOyImCDsnojri6TrqbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA3MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6f5Yid55qE5oiY5aOrJyxcclxuICAgICAgJ2RlJzogJ0RpZSBVcmtyYWZ0IGluIGlocicsXHJcbiAgICAgICdlbic6ICdDdXJpb3VzIEdvcmdlIE1lZXRzIEhpcyBNYXRjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgZGUgZm9yY2UnLFxyXG4gICAgICAnamEnOiAn5Y6f5Yid55qE44Gq5b285aWzJyxcclxuICAgICAgJ2tvJzogJ+ybkOy0iOyggSDqt7jrhYAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eHg+eDp+WQp+mrmOWQiScsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyaXNjaGUgTGVpZGVuc2NoYWZ0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZWFydCBvZiB0aGUgUHJvYmxlbScsXHJcbiAgICAgICdmcic6ICdQYXNzaW9uIGd1ZXJyacOocmUnLFxyXG4gICAgICAnamEnOiAn54eD44GI44KI44K044O844K477yBJyxcclxuICAgICAgJ2tvJzogJ+u2iO2DgOyYrOudvOudvCwg7IKw6rOo7Kec6riwIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkInnpaXlpKnlpbPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMYWtzaG1pJyxcclxuICAgICAgJ2VuJzogJ0VtYW5hdGlvbicsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uJyxcclxuICAgICAgJ2phJzogJ+ODqeOCr+OCt+ODpeODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epv+i2iuaXtuepuueahOWkmeaEvycsXHJcbiAgICAgICdkZSc6ICdFaW4gV3Vuc2NoIGF1cyBhbHRlbiBaZWl0ZW4nLFxyXG4gICAgICAnZW4nOiAnT3VyIFVuc3VuZyBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ2VzcG9pciBlbiBow6lyaXRhZ2UnLFxyXG4gICAgICAnamEnOiAn5pmC44KS44GL44GR44KL6aGY44GEJyxcclxuICAgICAgJ2tvJzogJ+yLnOqwhOydhCDrm7DslrTrhJjsnYAg7Je87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNzUsXHJcbiAgICAnb2Zmc2V0WSc6IC0yOTcsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNzIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9semakOW/jeazlei0tCcsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVtIFZlcmJvcmdlbmVuJyxcclxuICAgICAgJ2VuJzogJ1doZW4gQ2xhbnMgQ29sbGlkZScsXHJcbiAgICAgICdmcic6ICdMYSBiYXRhaWxsZSBkZXMgY2xhbnMnLFxyXG4gICAgICAnamEnOiAn5b2x6Zqg5b+N5rOV5biWJyxcclxuICAgICAgJ2tvJzogJ+q3uOumvOyekCDsnbjrspXssqknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODUsXHJcbiAgfSxcclxuICA3MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT5rex5bGCJyxcclxuICAgICAgJ2RlJzogJ1Zlcmdlc3NlbmUgS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIaWRkZW4gQ2FuYWxzIG9mIFV6bmFpcicsXHJcbiAgICAgICdmcic6ICdMZXMgQ2FuYXV4IGNhY2jDqXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or5rex5bGkJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOyLrOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i3nemqqOeglOeptuaJgCAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdBc3RyYWdhbG9zJyxcclxuICAgICAgJ2VuJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZnInOiAnQXN0cmFnYWxvcyAobWFjaGluZXJpZSknLFxyXG4gICAgICAnamEnOiAn44Ki44K544OI44Op44Ks44Ot44K5ICjmqZ/lt6XmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yVhOyKpO2KuOudvOqwiOuhnOyKpCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5qKm5bm75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFNoaW5yeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFNoaW5yeXVcXCdzIERvbWFpbicsXHJcbiAgICAgICdmcic6ICdMZSBkb21haW5lIGRlIFNoaW5yeXUnLFxyXG4gICAgICAnamEnOiAn5qW156We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNzMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayieayoeelnuauv+aWr+WNoeaLiemBl+i/uScsXHJcbiAgICAgICdkZSc6ICdEaWUgdmVyc3Vua2VuZSBTdGFkdCBTa2FsbGEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyb3duZWQgQ2l0eSBvZiBTa2FsbGEnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZW5nbG91dGllIGRlIFNrYWxsYScsXHJcbiAgICAgICdqYSc6ICfmsLTmsqHpgbrmp4sg44K544Kr44OpJyxcclxuICAgICAgJ2tvJzogJ+yKpOy5vOudvCDsnKDsoIEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5bi46aOO5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgQW5lbW9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgQW5lbW9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjgqLjg43jg6Ljgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IOyVhOuEpOuqqOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MSxcclxuICB9LFxyXG4gIDczMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m557ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0VuZGxvc2UgU2NoYXR0ZW4gdm9uIEJhaGFtdXQgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgVW5lbmRpbmcgQ29pbCBvZiBCYWhhbXV0IChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBpbmZpbmkgZGUgQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuODkOODj+ODoOODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg67CU7ZWY66y07Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkseiQveS5i+mDveaLieW3tOe6s+aWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSYWJhbmFzdHJlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBDaXR5IG9mIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgcm95YWxlIGRlIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnamEnOiAn5aSx44KP44KM44Gf6YO9IOODqeODkOODiuOCueOCvycsXHJcbiAgICAgICdrbyc6ICfsmZXrj4Qg652867CU64KY7Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDMwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Imv57yY5Luq5byPJyxcclxuICAgICAgJ2RlJzogJ1ZhbGVudGlvbnplcmVtb25pZScsXHJcbiAgICAgICdlbic6ICdUaGUgVmFsZW50aW9uZVxcJ3MgQ2VyZW1vbnknLFxyXG4gICAgICAnZnInOiAnTGEgQ8OpcsOpbW9uaWUgZGUgbGEgVmFsZW50aW9uJyxcclxuICAgICAgJ2phJzogJ+ODtOOCoeODrOODs+ODhuOCo+OCquODs+OCu+ODrOODouODi+ODvCcsXHJcbiAgICAgICdrbyc6ICfrsJzroIzti7DsmKgg7JiI7Iud7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyNSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonngavlsbHni7HkuYvnm5YnLFxyXG4gICAgICAnZGUnOiAnSMO2bGxlbnNwdW5kJyxcclxuICAgICAgJ2VuJzogJ0hlbGxzXFwnIExpZCcsXHJcbiAgICAgICdmcic6ICdMZSBDb3V2ZXJjbGUgZGVzIGVuZmVycycsXHJcbiAgICAgICdqYSc6ICfntIXnjonngavlsbEg542E5LmL6JOLJyxcclxuICAgICAgJ2tvJzogJ+yngOyYpeuanOq7kScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eWr+eLguaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmmrTotbDmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrrLTtlZzsl7Dsho0g67CV66y87ZWoKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5oiY6Zif5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFRlYW0sIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFRlYW0gUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kvw6lxdWlwZSBKY0opJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44OB44O844Og55So44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjtjIAg65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7plYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hJyxcclxuICAgICAgJ2ZyJzogJ0xhIENsYWlyacOocmUgZGUgSmFkZScsXHJcbiAgICAgICdqYSc6ICfnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn67Cx7Zi4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MyxcclxuICB9LFxyXG4gIDc0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7or5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBCeWFra28nLFxyXG4gICAgICAnZW4nOiAnVGhlIEphZGUgU3RvYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW155m96JmO5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzU5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b6aOe5ZywJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGUgRW5rbGF2ZScsXHJcbiAgICAgICdlbic6ICdUaGUgRG9tYW4gRW5jbGF2ZScsXHJcbiAgICAgICdmcic6ICdRdWFydGllciBlbmNsYXbDqSBkZSBEb21hJyxcclxuICAgICAgJ2phJzogJ+ODieODnueUuuS6uuWcsCcsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg64+E7J2N7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIzLFxyXG4gICAgJ29mZnNldFknOiAzNCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA3NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50JyxcclxuICAgICAgJ2ZyJzogJ0NoYXNzZSBhdSBSYXRoYWxvcycsXHJcbiAgICAgICdqYSc6ICfjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn66as7Jik66CI7Jqw7IqkIOyImOugteyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBq+m+meS4iuS9jeeLqeeMjuaImCcsXHJcbiAgICAgICdkZSc6ICdKYWdkIGF1ZiBSYXRoYWxvcyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgSHVudCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44Kq44Os44Km44K554up54yf5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmgZLlhrDkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUGFnb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkeOCtOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7YyM6rOg7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk0LFxyXG4gIH0sXHJcbiAgNzY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChjbGFzc8OpKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICjDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTAsXHJcbiAgfSxcclxuICA3Njc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmsLTmmbbloZTmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoS3Jpc3RhbGx0dXJtLUFyZW5hOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIENyeXN0YWwgVG93ZXIpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9Ub3VyIGRlIENyaXN0YWwpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Kv44Oq44K544K/44Or44K/44Ov44O85ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2BrOumrOyKpO2DiCDtg4Dsm4wg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47msLTngbXlupnlsqnnh5XlupknLFxyXG4gICAgICAnZGUnOiAnS29tcGFzcyBkZXIgU2Nod2FsYmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN3YWxsb3dcXCdzIENvbXBhc3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29tcGFzIGRlIGxcXCdIaXJvbmRlbGxlJyxcclxuICAgICAgJ2phJzogJ+miqOawtOmciuauvyDjgqzjg7Pjgqjjg7Plu58nLFxyXG4gICAgICAna28nOiAn6rCV7JeUIOyiheusmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Njk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouC5pmT55qE5bCR5bm0JyxcclxuICAgICAgJ2RlJzogJ0RlciBLbmFiZSBkZXIgTW9yZ2VucsO2dGUnLFxyXG4gICAgICAnZW4nOiAnRW1pc3Nhcnkgb2YgdGhlIERhd24nLFxyXG4gICAgICAnZnInOiAnVm95YWdlIGVuIHRlcnJlIGhvc3RpbGUnLFxyXG4gICAgICAnamEnOiAn44CM5pqB44CN44Gu5bCR5bm0JyxcclxuICAgICAgJ2tvJzogJ1xcJ+yDiOuyvVxcJ+ydmCDshozrhYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDHvvZ4xMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMS0xMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxLTEwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMe+9njEw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxfjEw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMTEtMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAxMe+9njIw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxMX4yMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMjHvvZ4zMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMjF+MzDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDQx772eNTDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDQxLTUwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA0MS01MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDQx772eNTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDQxfjUw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA2MS03MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNjEtNzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA2Me+9njcw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA2MX43MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gODEtOTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDgxLTkwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgODHvvZ45MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgODF+OTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHpl63lnKPloZTpu47pk47mi4nnurPlpKfnga/loZQnLFxyXG4gICAgICAnZGUnOiAnUmljaHRmZXVlciB2b24gUmlkb3JhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJpZG9yYW5hIExpZ2h0aG91c2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgUmlkb3JhbmEnLFxyXG4gICAgICAnamEnOiAn5bCB44GY44KJ44KM44Gf6IGW5aGUIOODquODieODq+OCouODiicsXHJcbiAgICAgICdrbyc6ICfrjIDrk7HrjIAg66as64+E66W07JWE64KYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwMixcclxuICAgICdvZmZzZXRZJzogLTkyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlYXBvblxcJ3MgUmVmcmFpbiAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZhbnRhc21hZ29yaWUgZFxcJ1VsdGltYSAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICA3Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gRmx1bWluaXMnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdqYSc6ICfjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aciOivu+W5veWknOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFRzdWt1eW9taScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVHN1a3V5b21pXFwncyBQYWluJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gRmx1bWluaXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOy4oOy/oOyalOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDMx772eNDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDMxLTQwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAzMS00MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDMx772eNDDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDMxfjQw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA1MS02MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA1Me+9njYw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA1MX42MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNzEtODApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNzHvvZ44MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNzF+ODDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA5MS0xMDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA5Me+9njEwMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgOTF+MTAw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rGh5p+T5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjmsZrmn5Mg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshLEg66qo7IOoIOyLneusvOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275Lqh5aSn5Zyw57uI5pyr54Sm5ZyfJyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJnbGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnRXNjYXJyZScsXHJcbiAgICAgICdqYSc6ICfmsLjkuYXnhKblnJ8g44K244O744OQ44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yYgeq1rCDstIjthqDsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTcsXHJcbiAgfSxcclxuICA3OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBvuWOhOmHjeeOsOWGm+S6i+a8lOS5oCcsXHJcbiAgICAgICdkZSc6ICdHZWRlbmtzY2hsYWNodCBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENhbGFtaXR5IFJldG9sZCcsXHJcbiAgICAgICdmcic6ICdMZXMgZ3JhbmRlcyBtYW7Fk3V2cmVzIGNvbW3DqW1vcmF0aXZlcycsXHJcbiAgICAgICdqYSc6ICfmlrDnlJ/npa3ou43kuovmvJTnv5InLFxyXG4gICAgICAna28nOiAn7Iug7IOd7KCcIOq1sOyCrO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NSxcclxuICB9LFxyXG4gIDc5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmpDloZ4gKOacuuWKqOaImCknLFxyXG4gICAgICAnZGUnOiAnVmVyYm9yZ2VuZSBTY2hsdWNodCcsXHJcbiAgICAgICdlbic6ICdIaWRkZW4gR29yZ2UnLFxyXG4gICAgICAnZnInOiAnR29yZ2UgZMOpcm9iw6llIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjg5Ljg4njgqXjg7PjgrTjg7zjgrggKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7Iio6rKo7KeEIOuztOujqCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iZmuaZr+i3s+i3s+S5kOWkp+aMkeaImCcsXHJcbiAgICAgICdkZSc6ICdLYWt0b3ItS2xldHRlcndhbmQnLFxyXG4gICAgICAnZW4nOiAnTGVhcCBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdIYXV0ZSB2b2x0aWdlJyxcclxuICAgICAgJ2phJzogJ+aMkeaIpu+8gSDjgrjjg6Pjg7Pjg5Tjg7PjgrDjgqLjgrnjg6zjg4Hjg4Pjgq8nLFxyXG4gICAgICAna28nOiAn65uw7Ja06528ISDsoJDtlZEg7Jq064+Z7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Zu95aKD6Ziy57q/5Z+65aeG5Yip54m55pqX5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBHaGltbHl0LUZpbnN0ZXJuaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdoaW1seXQgRGFyaycsXHJcbiAgICAgICdmcic6ICdMZXMgVMOpbsOoYnJlcyBkZSBHaGltbHl0JyxcclxuICAgICAgJ2phJzogJ+Wig+eVjOaIpue3miDjgq7jg6Djg6rjg4jjg4Djg7zjgq8nLFxyXG4gICAgICAna28nOiAn6rmA66as7Yq4IO2ZqeyVvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/kOays+WuneeJqeW6k+elnuauvycsXHJcbiAgICAgICdkZSc6ICdHbMO8Y2tzYWx0w6RyZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBBbHRhcnMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBzYWNyw6kgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or56Wt5q6/JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5raM54Gr5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBQeXJvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBQeXJvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIFB5cm9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjg5Tjg6Xjg7zjg63jgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IO2UvOuhnOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NixcclxuICB9LFxyXG4gIDc5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjcsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye66YGT5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlYsO8dCBpbiBkZXIgSGltbWxpc2NoZW4gQXJlbmEnLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIFRoYXQgU3RhcnRzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnRMOpYnV0IGR1IHNwZWN0YWNsZScsXHJcbiAgICAgICdqYSc6ICfjg4fjg5Pjg6Xjg7zjg57jg4Pjg4EnLFxyXG4gICAgICAna28nOiAn642w67eU7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qWU55+z5rSeJyxcclxuICAgICAgJ2RlJzogJ0RlciBXaWxsZSBkZXIgTW9uZGfDtnR0aW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdpbGwgb2YgdGhlIE1vb24nLFxyXG4gICAgICAnZnInOiAnUmFsbGllbWVudCBkYW5zIGxhIHN0ZXBwZScsXHJcbiAgICAgICdqYSc6ICfmpZTnn7Pjga7omZonLFxyXG4gICAgICAna28nOiAn7JCQ6riw64+MIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/nemVluatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIEt1Z2FuZS1CcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZSBPaGFzaGknLFxyXG4gICAgICAnZnInOiAnTGUgUG9udCBPaGFzaGknLFxyXG4gICAgICAnamEnOiAn55yf44Oo44Km44K444Oz44Oc44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsmpTsmrDsp4Trs7Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyx6ZuA6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llcicsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucycsXHJcbiAgICAgICdqYSc6ICfmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4Dor5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llciAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgTmlkIGRlcyBMYW1lbnRhdGlvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyjvOyekSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTgsXHJcbiAgfSxcclxuICA4MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flhYvlhbDlvrcnLFxyXG4gICAgICAnZGUnOiAnU2VlbmxhbmQnLFxyXG4gICAgICAnZW4nOiAnTGFrZWxhbmQnLFxyXG4gICAgICAnZnInOiAnR3JhbmQtTGFjJyxcclxuICAgICAgJ2phJzogJ+ODrOOCpOOCr+ODqeODs+ODiScsXHJcbiAgICAgICdrbyc6ICfroIjsnbTtgazrnpzrk5wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA2LFxyXG4gIH0sXHJcbiAgODE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54+C6Zyy6KW/5Lqa5bKbJyxcclxuICAgICAgJ2RlJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2VuJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2ZyJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2phJzogJ+OCs+ODq+OCt+OCouWzticsXHJcbiAgICAgICdrbyc6ICfsvZzro6jsi5zslYQg7ISsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNyxcclxuICB9LFxyXG4gIDgxNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WuieephsK36Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnZW4nOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdmcic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2phJzogJ+OCouODoOODu+OCouODrOODvOODsycsXHJcbiAgICAgICdrbyc6ICfslYTrr4Ag7JWE656tJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOCxcclxuICB9LFxyXG4gIDgxNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuWwlOe+juagvCcsXHJcbiAgICAgICdkZSc6ICdJbCBNaGVnJyxcclxuICAgICAgJ2VuJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZnInOiAnSWwgTWhlZycsXHJcbiAgICAgICdqYSc6ICfjgqTjg6vjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn7J28IOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDksXHJcbiAgfSxcclxuICA4MTc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlh6/mj5DljaHlpKfmo67mnpcnLFxyXG4gICAgICAnZGUnOiAnRGVyIEdyb8OfZSBXYWxkIFJha1xcJ3Rpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJha1xcJ3Rpa2EgR3JlYXR3b29kJyxcclxuICAgICAgJ2ZyJzogJ1Jha1xcJ3Rpa2EnLFxyXG4gICAgICAnamEnOiAn44Op44Kx44OG44Kj44Kr5aSn5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+udvOy8gO2LsOy5tCDrjIDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODE4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6aOO5rW3JyxcclxuICAgICAgJ2RlJzogJ1RlbXBlc3QnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRlbXBlc3QnLFxyXG4gICAgICAnZnInOiAnTGEgVGVtcMOqdGUnLFxyXG4gICAgICAnamEnOiAn44OG44Oz44Oa44K544OIJyxcclxuICAgICAgJ2tvJzogJ+2FnO2OmOyKpO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTEsXHJcbiAgfSxcclxuICA4MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbpg70nLFxyXG4gICAgICAnZGUnOiAnQ3J5c3Rhcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgQ3J5c3Rhcml1bScsXHJcbiAgICAgICdmcic6ICdDcmlzdGFyaXVtJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4Drpqzsm4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEyLFxyXG4gIH0sXHJcbiAgODIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ri45pyr6YKmJyxcclxuICAgICAgJ2RlJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnZW4nOiAnRXVsbW9yZScsXHJcbiAgICAgICdmcic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2phJzogJ+ODpuODvOODq+ODouOCoicsXHJcbiAgICAgICdrbyc6ICfsnKjrqqjslrQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEzLFxyXG4gIH0sXHJcbiAgODIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWmluW5u+WbreWkmuaBqee+juagvOemgeWbrScsXHJcbiAgICAgICdkZSc6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2ZyJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdqYSc6ICfmsLTlppblubvlnJIg44OJ44Kp44O844OM44O744Oh44KwJyxcclxuICAgICAgJ2tvJzogJ+uPhOuKkCDrqZTqt7gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMjAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8qumAoOWkqeeVjOagvOmygeagvOeBq+WxsScsXHJcbiAgICAgICdkZSc6ICdEZXIgR3VsZycsXHJcbiAgICAgICdlbic6ICdNdC4gR3VsZycsXHJcbiAgICAgICdmcic6ICdNb250IEd1bGcnLFxyXG4gICAgICAnamEnOiAn5YG96YCg5aSp55WMIOOCsOODq+OCsOeBq+WxsScsXHJcbiAgICAgICdrbyc6ICfqtbTqt7gg7ZmU7IKwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xODgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmlofmmI7lj6Tov7nlpYflnabpgqPnpZ7lvbHmtJ4nLFxyXG4gICAgICAnZGUnOiAnSXJydW5nZW4gZGVyIFFpdGFyaScsXHJcbiAgICAgICdlbic6ICdUaGUgUWl0YW5hIFJhdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFbmNoZXbDqnRyZW1lbnQgZGVzIFFpdGFyaScsXHJcbiAgICAgICdqYSc6ICflj6Tot6HmjqLntKIg44Kt44K/44Oz44OK56We5b2x5rSeJyxcclxuICAgICAgJ2tvJzogJ+2CpO2DgOuCmCDsi6DqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTI3NCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+memVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxvdCBkZXMgQW1lcnR1bWVzJyxcclxuICAgICAgJ2phJzogJ+mdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfssq3ro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk5LFxyXG4gIH0sXHJcbiAgODI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+meivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFNlaXJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgV3JlYXRoIG9mIFNuYWtlcyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXpnZLpvo3lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5qyy5LmL5omA55Ov5Y2a6K635L+u6YGT6ZmiJyxcclxuICAgICAgJ2RlJzogJ0tsb3N0ZXIgdm9uIE9yYm9ubmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9yYm9ubmUgTW9uYXN0ZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xlIE1vbmFzdMOocmUgZFxcJ09yYm9ubmUnLFxyXG4gICAgICAnamEnOiAn5qW95qyy44Gu5YOn6ZmiIOOCquODvOODnOODs+ODjCcsXHJcbiAgICAgICdrbyc6ICfsmKTrs7jripAg7IiY64+E7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01NDUsXHJcbiAgICAnb2Zmc2V0WSc6IC02NjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDkuLDmsLTkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEh5ZGF0b3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIEh5ZGF0b3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkuODpeODgOODiOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7Z6I64uk7Yag7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDQ3NSxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAwLFxyXG4gIH0sXHJcbiAgODMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOaMveatjCcsXHJcbiAgICAgICdkZSc6ICdSZXF1aWVtIGRlciBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBSZXF1aWVtIGZvciBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnVW4gcmVxdWllbSBwb3VyIGxlcyBow6lyb3MnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44G444Gu6Y6u6a2C5q2MJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydhCDsnITtlZwg7KeE7Zi86rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkmueOm+aWueWfjuaImO+8muS4nOmjjuaImDTkurrkurLlj4vmoYzvvIjkuI3luKbpo5/mlq3vvIknLFxyXG4gICAgICAnZGUnOiAnNC1TcGllbGVyLU1haGpvbmcgKHNjaG5lbGxlIFBhcnRpZSwgS3VpdGFuIGRlYWt0aXZpZXJ0KScsXHJcbiAgICAgICdlbic6ICdGb3VyLXBsYXllciBNYWhqb25nIChRdWljayBNYXRjaCwgS3VpdGFuIERpc2FibGVkKScsXHJcbiAgICAgICdmcic6ICdNYWhqb25nIGRvbWllbjxJbmRlbnQvPjogNCBqb3VldXJzIChwYXJ0aWUgcmFwaWRlIHNhbnMga3VpdGFuKScsXHJcbiAgICAgICdqYSc6ICfjg4njg57lvI/purvpm4DvvJrmnbHpoqjmiKY05Lq644K744OD44OI5Y2T77yI44Kv44Kk44K/44Oz54Sh44GX77yJJyxcclxuICAgICAgJ2tvJzogJ+yeke2MqOycoO2drDog64+Z7ZKN7KCEIDTsnbjsmqkg7YOB7J6QKOu2gOultOq4sCDri6jsmpTqtawg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrlhpvoo4XnlLLpqb7pqbblkZgnLFxyXG4gICAgICAnZGUnOiAnTHVmdHdhZmZlLCBGZXVlciBmcmVpIScsXHJcbiAgICAgICdlbic6ICdBaXIgRm9yY2UgT25lJyxcclxuICAgICAgJ2ZyJzogJ0FzIGRlIGxcXCdhaXInLFxyXG4gICAgICAnamEnOiAn5Ye65pKD77yBIOOCqOOCouODleOCqeODvOOCueODkeOCpOODreODg+ODiCcsXHJcbiAgICAgICdrbyc6ICfstpzqsqkhIOyXkOyWtO2PrOyKpCDsobDsooXsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47kuYvkvb/ogIUnLFxyXG4gICAgICAnZGUnOiAnRHVyY2ggZGVuIFN0dXJtIHVuZCB6dXLDvGNrJyxcclxuICAgICAgJ2VuJzogJ01lc3NlbmdlciBvZiB0aGUgV2luZHMnLFxyXG4gICAgICAnZnInOiAnTGEgTWVzc2Fnw6hyZSBkdSB2ZW50JyxcclxuICAgICAgJ2phJzogJ+adpeioquOBm+OBl+miqOOBruW+oeS9vycsXHJcbiAgICAgICdrbyc6ICfrsJTrnozsnZgg7Ja07IKsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMSxcclxuICB9LFxyXG4gIDgzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgb/mmpHnprvlrqvpqazliKnljaHlpKfkupUnLFxyXG4gICAgICAnZGUnOiAnTWFsaWthaHMgQnJ1bm5lbicsXHJcbiAgICAgICdlbic6ICdNYWxpa2FoXFwncyBXZWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFB1aXRzIGRlIE1hbGlrYWgnLFxyXG4gICAgICAnamEnOiAn54i95ra86Zui5a6uIOODnuODquOCq+OBruWkp+S6leaIuCcsXHJcbiAgICAgICdrbyc6ICfrp5DrpqzsubQg7YGw7Jqw66y8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC02NSxcclxuICAgICdvZmZzZXRZJzogLTMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YGH6KKt6ZuG6JC95rC05rup5p2RJyxcclxuICAgICAgJ2RlJzogJ0hvbG1pbnN0ZXInLFxyXG4gICAgICAnZW4nOiAnSG9sbWluc3RlciBTd2l0Y2gnLFxyXG4gICAgICAnZnInOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdqYSc6ICfmrrrmiK7pg7fmnZEg44Ob44Or44Of44Oz44K544K/44O8JyxcclxuICAgICAgJ2tvJzogJ+2ZgOuvvOyKpO2EsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyr5pel5pqX5b2x5Lqa6ams5LmM572X5o+QJyxcclxuICAgICAgJ2RlJzogJ0FtYXVyb3QnLFxyXG4gICAgICAnZW4nOiAnQW1hdXJvdCcsXHJcbiAgICAgICdmcic6ICdBbWF1cm90ZScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvlubvmg7Mg44Ki44O844Oi44Ot44O844OIJyxcclxuICAgICAgJ2tvJzogJ+yVhOuqqOuhnO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5byC55WM6YGX5p6E5biM5bCU56eR5pav5a2q5pm25aGUJyxcclxuICAgICAgJ2RlJzogJ0RlciBLcmlzdGFsbHp3aWxsaW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUd2lubmluZycsXHJcbiAgICAgICdmcic6ICdMYSBNYWNsZSBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn55Ww55WM6YG65qeLIOOCt+ODq+OCr+OCueODu+ODhOOCpOODi+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfsjI3rkaXsnbQg7Iuc66W07L+g7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg5py65p6E6Zi/5bC85b63572X5a2m6ZmiJyxcclxuICAgICAgJ2RlJzogJ0FrYWRhZW1pYSBBbnlkZXInLFxyXG4gICAgICAnZW4nOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdmcic6ICdBa2FkYWVtaWEgQW55ZHJlJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOapn+mWoiDjgqLjg4rjgqTjg4DjgqLjgqvjg4fjg5/jgqInLFxyXG4gICAgICAna28nOiAn7JWg64KY7J20642UIOyVhOy5tOuNsOuvuOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZScsXHJcbiAgICAgICdmcic6ICdMYSBWYWxzZSBkdSBNb25hcnF1ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yuw7YOA64uI7JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICA4NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIENvdXJvbm5lIGRlIGxcXCdJbW1hY3Vsw6knLFxyXG4gICAgICAnamEnOiAn44Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ydtOuFuOyEvOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA0LFxyXG4gIH0sXHJcbiAgODQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WTiOi/quaWr+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIEhhZGVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEeWluZyBHYXNwJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUnLFxyXG4gICAgICAnamEnOiAn44OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOeRleeBteWQm+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgTMOkdXRlcnVuZyAtIElubm96ZW56JyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcm93biBvZiB0aGUgSW1tYWN1bGF0ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODjuOCu+ODs+OCueiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbicsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24gKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57yH5Z2m5aau6ZuF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gVGl0YW5pYScsXHJcbiAgICAgICdlbic6ICdUaGUgRGFuY2luZyBQbGFndWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OG44Kj44K/44O844OL44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLrlhbPjgIHor4XlkpLjgIHliafmr5LkuI7igKbigKYnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJlaWNodHN0dWhsIHZvbiBUb3VwYXNhIGRlbSDDhGx0ZXJlbicsXHJcbiAgICAgICdlbic6ICdMZWdlbmQgb2YgdGhlIE5vdC1zby1oaWRkZW4gVGVtcGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbmZlc3Npb25uYWwgZGUgVG91cGFzYSBsXFwnYW5jaWVuJyxcclxuICAgICAgJ2phJzogJ+S7leaOm+OBkeOBqOWRquOBhOOBqOavkuOBqCcsXHJcbiAgICAgICdrbyc6ICftlajsoJXqs7wg7KCA7KO87JmAIOuPhScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqf6YO95ou/5be056S66Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ1ZhdGVyIHVuZCBCcnVkZXInLFxyXG4gICAgICAnZW4nOiAnQ29taW5nIENsZWFuJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsZXMgcmFpbHMgZGUgTmFiYWF0aCBBcmVuZycsXHJcbiAgICAgICdqYSc6ICflu4Ppg73jg4rjg5DjgrnjgqLjg6zjg7MnLFxyXG4gICAgICAna28nOiAn64KY67CU7Iqk7JWE66CdIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGH5pGG55qE5aSp5bmzJyxcclxuICAgICAgJ2RlJzogJ09iIE1pdGxlaWQgb2RlciBIYXNzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJkZW5lZCBIZWFydCcsXHJcbiAgICAgICdmcic6ICdOYWlzc2FuY2UgZFxcJ3VuIGJvdXJyZWF1JyxcclxuICAgICAgJ2phJzogJ+aPuuOCjOOCi+WkqeenpCcsXHJcbiAgICAgICdrbyc6ICftnZTrk6TrpqzripQg7LKc7LmtJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2RlJzogJ0FsdGVyIFphdWJlcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBhbmQgdGhlIEZvdW5kJyxcclxuICAgICAgJ2ZyJzogJ01hZ2llIGFuY2VzdHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Y+k44Gu5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2tvJzogJ+qzoOuMgOydmCDrjIDsnqzsg50g66eI67KVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMCxcclxuICB9LFxyXG4gIDg3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfli4fmlaLnmoTnjI7kuronLFxyXG4gICAgICAnZGUnOiAnRGVyIExlZ2VuZGUgYXVmIGRlciBTcHVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIdW50ZXJcXCdzIExlZ2FjeScsXHJcbiAgICAgICdmcic6ICdMYSBjaGFzc2V1c2UgZGUgbMOpZ2VuZGUnLFxyXG4gICAgICAnamEnOiAn5YuH5rCX44Gu54up5Lq6JyxcclxuICAgICAgJ2tvJzogJ+yaqeq4sCDsnojripQg7IKs64Ol6r68JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgODc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WliOi0neWwlOeJueeahOWQjuaClCcsXHJcbiAgICAgICdkZSc6ICdFaW4gZ3Jvw59lcyBPcGZlcicsXHJcbiAgICAgICdlbic6ICdOeWVsYmVydFxcJ3MgTGFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1VuZSBjdXBpZGl0w6kgYmllbiBnw6luw6lyZXVzZScsXHJcbiAgICAgICdqYSc6ICfjg4rjgqTjg6vjg5njg6vjg4jjga7lvozmgpQnLFxyXG4gICAgICAna28nOiAn64KY7J2867Kg66W07Yq47J2YIO2bhO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneWigycsXHJcbiAgICAgICdkZSc6ICdWZXJsaWVzZSB2b24gTHloZSBHaGlhaCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVuZ2VvbnMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBEb25qb24gaHlwb2fDqWVuIGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODsycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpI3liLblt6XljoLlup/lop8nLFxyXG4gICAgICAnZGUnOiAnRGllIGtvcGllcnRlIEZhYnJpaycsXHJcbiAgICAgICdlbic6ICdUaGUgQ29waWVkIEZhY3RvcnknLFxyXG4gICAgICAnZnInOiAnTGEgcsOpcGxpcXVlIGRlIGxcXCd1c2luZSBkw6lzYWZmZWN0w6llJyxcclxuICAgICAgJ2phJzogJ+ikh+ijveOCteODrOOCv+W3peWgtOW7g+WinycsXHJcbiAgICAgICdrbyc6ICfrs7XsoJzrkJwg6rO17J6lIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2MTAsXHJcbiAgICAnb2Zmc2V0WSc6IDcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOazleWuq+auv+Wuh+WumeWuqycsXHJcbiAgICAgICdkZSc6ICdDaGF0ZWF1IENvc21lYScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JhbmQgQ29zbW9zJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvc21vcyBjb3J1c2NhbnQnLFxyXG4gICAgICAnamEnOiAn6a2U5rOV5a6u5q6/IOOCsOODqeODs+ODu+OCs+OCueODouOCuScsXHJcbiAgICAgICdrbyc6ICfqt7jrnpEg7L2U7Iqk66qo7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5a2k5b+15q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEhhZGVzXFwncyBFbGVneScsXHJcbiAgICAgICdmcic6ICdMZSBSw6JsZSBkZSBsXFwnQWdvbmllIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtlZjrjbDsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFcGljIG9mIEFsZXhhbmRlciAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdPZHlzc8OpZSBkXFwnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Os44Kt44K144Oz44OA44O86KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzroInsgrDrjZQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5piC6JCo5ZOI5Yev5bCU77yI56ue5LqJ5oiY77yJJyxcclxuICAgICAgJ2RlJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2VuJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2ZyJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2phJzogJ+OCquODs+OCteODq+ODu+ODj+OCq+OCpOODqyAo57WC56+A5oimKScsXHJcbiAgICAgICdrbyc6ICfsmKjsgrQg7ZWY7Lm07J2066W0KOqzhOygiOuBnSDtlansoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNyxcclxuICB9LFxyXG4gIDg5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuq/nmb3oqpPnuqbjgIHmvIbpu5Hlr4bnuqYnLFxyXG4gICAgICAnZGUnOiAnRGVyIFdvbGYgdW5kIGRlciBEcmFjaGVucmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ1Zvd3Mgb2YgVmlydHVlLCBEZWVkcyBvZiBDcnVlbHR5JyxcclxuICAgICAgJ2ZyJzogJ1bFk3V4IGRlIHZlcnR1LCBhY3RlcyBkZSBjcnVhdXTDqScsXHJcbiAgICAgICdqYSc6ICfnmb3jgY3oqpPntITjgIHpu5LjgY3lr4bntIQnLFxyXG4gICAgICAna28nOiAn7ZWY7JaAIOyEnOyVvSwg6rKA7J2AIOuwgOyVvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aIkeW/g+S+neaXpycsXHJcbiAgICAgICdkZSc6ICdUcnViZWwgaW0gVHJhdW1sYW5kJyxcclxuICAgICAgJ2VuJzogJ0FzIHRoZSBIZWFydCBCaWRzJyxcclxuICAgICAgJ2ZyJzogJ8OAIGxcXCfDqWNvdXRlIGRlIHNvaScsXHJcbiAgICAgICdqYSc6ICfjgZPjga7lv4PjgYzmnJvjgoDjgYzjgb7jgb7jgasnLFxyXG4gICAgICAna28nOiAn7J20IOuniOydjOydtCDsm5DtlZjripQg64yA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMixcclxuICAgICdvZmZzZXRZJzogNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgODk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouWuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdSdWJpbmZldWVyIC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ0NpbmRlciBEcmlmdCcsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zJyxcclxuICAgICAgJ2phJzogJ+ODq+ODk+ODvOOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDg5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbflupXpmL/lsLzlvrfnvZfov73lv4bppoYnLFxyXG4gICAgICAnZGUnOiAnQW5hbW5lc2lzIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FuYW1uZXNpcyBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn6buS6aKo5rW35bqVIOOCouODi+ODieODqeOCueODu+OCouODiuODoOODjeODvOOCt+OCuScsXHJcbiAgICAgICdrbyc6ICfslaDri4jrk5zrnbzsiqQg7JWE64Ko64Sk7Iuc7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDEwMCxcclxuICAgICdvZmZzZXRZJzogLTM5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye65rW35Z6C6ZKTJyxcclxuICAgICAgJ2RlJzogJ0F1ZiBncm/Dn2VyIEZhaHJ0JyxcclxuICAgICAgJ2VuJzogJ09jZWFuIEZpc2hpbmcnLFxyXG4gICAgICAnZnInOiAnUMOqY2hlIGVuIG1lcicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjgrfjg6Pjg7Pjg5XjgqPjg4Pjgrfjg7PjgrAnLFxyXG4gICAgICAna28nOiAn66i867CU64ukIOuCmuyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNCxcclxuICB9LFxyXG4gIDkwMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVudGxhZHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVsbWluYXRpb24nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVsbWluYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIFJhc2VyZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1cm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1cmV1cicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gQmlsZGVyc3R1cm0nLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEljb25vY2xhc20nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gSWNvbm9jbGFzbWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVyc3RhcnJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IFJlZnVsZ2VuY2UnLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gw4ljbGF0JyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2a5YW56ZuF5aCh5Z6S6JK45Y+R5LqL5Lu2JyxcclxuICAgICAgJ2RlJzogJ0RlciBCb3pqYS1Wb3JmYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYSBJbmNpZGVudCcsXHJcbiAgICAgICdmcic6ICdQcsOpbHVkZSDDoCBsYSBjYXRhc3Ryb3BoZScsXHJcbiAgICAgICdqYSc6ICfjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6TokrjnmbrkuovlpIknLFxyXG4gICAgICAna28nOiAn67O07KaI7JW8IOyCrOqxtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW154uC5oOz5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDkxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLov73lv4bmiJgnLFxyXG4gICAgICAnZGUnOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnTWVtb3JpYSBNaXNlcmEgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ01lbW9yaWEgTWlzZXJhIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K344K/44OH44Or44O744Oc44K644Ok6L+95oa25oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrs7Tspojslbwg7LaU7Ja17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zNSxcclxuICAgICdvZmZzZXRZJzogNjgzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5peg5rOV5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ1ZvbiBzY2hsYWZlbmRlbiBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBTbGVlcCBEaXN0dXJiZWQnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OpcHJldXZlIHJvbmthJyxcclxuICAgICAgJ2phJzogJ+axneOAgeiLsembhOOBruecoOOCiuWmqOOBkuOCi+OBrycsXHJcbiAgICAgICdrbyc6ICfqt7jrjIAsIOyYgeybheydmCDsnqDsnYQg67Cp7ZW07ZWY64qU6rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5b2x5Yaz5oiY6K+65byX5YWw54m5JyxcclxuICAgICAgJ2RlJzogJ1NjaGxhY2h0IHVtIE5vcnZyYW5kdCcsXHJcbiAgICAgICdlbic6ICdUaGUgSGVyb2VzXFwnIEdhdW50bGV0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFRyYXZlcnPDqWUgZGUgTm9ydnJhbmR0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuaxuuaIpiDjg47jg6vjg7Tjg6njg7Pjg4gnLFxyXG4gICAgICAna28nOiAn64W466W067iM656A7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYyNixcclxuICAgICdvZmZzZXRZJzogLTYxMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6uuWBtuWGm+S6i+WfuuWcsCcsXHJcbiAgICAgICdkZSc6ICdEaWUgUHVwcGVuZmVzdHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgUHVwcGV0c1xcJyBCdW5rZXInLFxyXG4gICAgICAnZnInOiAnTGEgYmFzZSBtaWxpdGFpcmUgZGVzIFBhbnRpbnMnLFxyXG4gICAgICAnamEnOiAn5Lq65b2i44K/44OB44OO6LuN5LqL5Z+65ZywJyxcclxuICAgICAgJ2tvJzogJ+yduO2YleuTpOydmCDqtbDsgqwg6riw7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MCxcclxuICAgICdvZmZzZXRZJzogLTE5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X5pa55Y2a5YW56ZuF5oiY57q/JyxcclxuICAgICAgJ2RlJzogJ0JvemphLVPDvGRmcm9udCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm96amFuIFNvdXRoZXJuIEZyb250JyxcclxuICAgICAgJ2ZyJzogJ0Zyb250IHN1ZCBkZSBCb3pqYScsXHJcbiAgICAgICdqYSc6ICfljZfmlrnjg5zjgrrjg6TmiKbnt5onLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuztOymiOyVvCDsoITshKAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyNyxcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI0LFxyXG4gIH0sXHJcbiAgOTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRyw7RuZSBkdSBTYWNyaWZpY2UnLFxyXG4gICAgICAnamEnOiAn44Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+u5m+ydmCDsoITsgqwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyNSxcclxuICB9LFxyXG4gIDkyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhYnkuYvmiJjlo6vlubvogIDmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS3JpZWdlciBkZXMgTGljaHRzIChleHRyZW0pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWF0IG9mIFNhY3JpZmljZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpuOCqeODvOODquOCouODu+OCquODluODu+ODqeOCpOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI2LFxyXG4gIH0sXHJcbiAgOTI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneauvycsXHJcbiAgICAgICdkZSc6ICdEYXMgS2FydXNzZWxsIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBPdWJsaWV0dGVzIG9mIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZnInOiAnTGUgSmFyZGluIHNlY3JldCBkdSBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjg6rjgqfjg7zjg7vjgq7jgqLjg7vjg4Djg7Pjgrjjg6fjg7Pnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOumrOyYiCDquLDslYQg7KeA7ZWY66+46raBIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjnue/lOWQp++8jOWJjeW+gOe7tOWwlOWIqeeJue+8gScsXHJcbiAgICAgICdkZSc6ICdMdWZ0YW5ncmlmZiBhdWYgV2VybHl0JyxcclxuICAgICAgJ2VuJzogJ1NsZWVwIE5vdyBpbiBTYXBwaGlyZScsXHJcbiAgICAgICdmcic6ICdTdXIgbGEgbWVyIGRlIHNhcGhpcicsXHJcbiAgICAgICdqYSc6ICfpo5vjgbnvvIEg44Km44Kn44Or44Oq44OI44G4ICcsXHJcbiAgICAgICdrbyc6ICfrgqDslYTrnbwhIOybsOumrO2KuOulvCDtlqXtlZjsl6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTUsXHJcbiAgICAnb2Zmc2V0WSc6IC02MTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS4iuemj+WcsOS6keWGoOe+pOWymycsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gRXJzY2hsaWXDn3VuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoembhiDjg4fjgqPjgqLjg4fjg6Doq7jls7YnLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OCxcclxuICB9LFxyXG4gIDkzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIznk6blubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ikquiJsueahOiusOW/hicsXHJcbiAgICAgICdkZSc6ICdWZXJibGFzc3RlIEVyaW5uZXJ1bmdlbicsXHJcbiAgICAgICdlbic6ICdGYWRlZCBNZW1vcmllcycsXHJcbiAgICAgICdmcic6ICdTb3V2ZW5pciBww6lyaXNzYWJsZScsXHJcbiAgICAgICdqYSc6ICfoibLjgYLjgZvjgZ/oqJjmhrYnLFxyXG4gICAgICAna28nOiAn67mb67CU656cIOq4sOyWtScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5pyv5bel5oi/546b5omY6ZuF5bel5L2c5a6kJyxcclxuICAgICAgJ2RlJzogJ01hdG95YXMgQXRlbGllcicsXHJcbiAgICAgICdlbic6ICdNYXRveWFcXCdzIFJlbGljdCcsXHJcbiAgICAgICdmcic6ICdMXFwnQXRlbGllciBhYmFuZG9ubsOpIGRlIE1hdG95YScsXHJcbiAgICAgICdqYSc6ICfprZTooZPlt6XmiL8g44Oe44OI44O844Ok44Gu44Ki44OI44Oq44KoJyxcclxuICAgICAgJ2tvJzogJ+uniO2GoOyVvOydmCDqs7XrsKknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JeQ66mU656E65OcIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu7/lrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnU21hcmFnZHN0dXJtIC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gTWFyaW51bSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ko44Oh44Op44Or44OJ44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnamEnOiAn44Kw44Oz44OS44Or44OJ44O744OH44Kj44Or44O844OW44Op44OgJyxcclxuICAgICAgJ2tvJzogJ+q1sO2ekOuTnCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zu25byP5aWz546L5Y+k5q6/JyxcclxuICAgICAgJ2RlJzogJ0RlbHVicnVtIFJlZ2luYWUgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdWJydW0gUmVnaW5hZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdEZWx1YnJ1bSBSZWdpbmFlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6Dpm7blvI8nLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCjsmIHsm4UpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zNzgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buE6YeR5bmz5Y6f5biV5oiI5bCU6LWe6I2J5Y6fJyxcclxuICAgICAgJ2RlJzogJ0RpZSBHb2xkZW5lIEViZW5lIHZvbiBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdlbic6ICdQYWdsdGhcXCdhbicsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgcHJhaXJpZSBkZSBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdqYSc6ICfpu4Tph5HlubPljp8g44OR44Ks44Or44K244OzJyxcclxuICAgICAgJ2tvJzogJ+2MjOq4gOuLqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MTUsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muWumOaWuemUpuagh+i1mycsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IE1hbmRlcnZpbGxlLVR1cm5pZXInLFxyXG4gICAgICAnZW4nOiAnVHJpcGxlIFRyaWFkIE9wZW4gVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdUb3Vybm9pIG9mZmljaWVsIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kq44OV44Kj44K344Oj44Or44OI44O844OK44Oh44Oz44OIJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOqzteyLnSDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya6ZSm5qCH6LWb5a+55bGA5a6kJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogUHJpdmF0dHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgSW52aXRhdGlvbmFsIFBhcmxvcicsXHJcbiAgICAgICdmcic6ICdTYWxsZSBkZSB0b3Vybm9pIGxpYnJlIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44K544K/44Og44OI44O844OK44Oh44Oz44OI44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5nOyEoCDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0JyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6knLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTcxLFxyXG4gICAgJ29mZnNldFknOiAyMyxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0IChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6kgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZK755+z56We5YW15o2V6I635L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0RpYW1hbnRibGl0eiAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgQ2xvdWQgRGVjaycsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cycsXHJcbiAgICAgICdqYSc6ICfjg4DjgqTjg6Tjgqbjgqfjg53jg7PmjZXnjbLkvZzmiKYnLFxyXG4gICAgICAna28nOiAn64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILlvaLmpbzpmIHkvZDnibnloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIFpvdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgb2YgWm90JyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgWm90dCcsXHJcbiAgICAgICdqYSc6ICfnlbDlvaLmpbzplqMg44K+44OD44OI44Gu5aGUJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01MCxcclxuICAgICdvZmZzZXRZJzogLTUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+OCv+OCpOOCv+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg7YOA7J207YOEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflqIHlsJTluIPlhbDlvrfmiazluIbotbfoiKonLFxyXG4gICAgICAnZGUnOiAnR3V0ZSBXaW5kZSBmw7xyIFZ5bGJyYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBTaGlwIFZ5bGJyYW5kJyxcclxuICAgICAgJ2ZyJzogJ1VuIG5hdmlyZSBub21tw6kgVnlsYnJhbmQnLFxyXG4gICAgICAnamEnOiAn44OQ44Kk44Or44OW44Op44Oz44OJ44Gu6Ii55Ye6JyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOu4jOuenOuTnCDstpztla0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA5NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5L2R5aWz546LJyxcclxuICAgICAgJ2RlJzogJ0hpbmFiIGluIGRpZSBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnRml0IGZvciBhIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ1F1ZSBsZXMgRGlldXggZ2FyZGVudCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjgrTjg4Pjg4njg7vjgrvjgqTjg5bjg7vjgrbjg7vjgq/jgqTjg7zjg7MnLFxyXG4gICAgICAna28nOiAn6rCTIOyEuOydtOu4jCDrjZQg7YC4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC03NTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTY6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov7fmtKUnLFxyXG4gICAgICAnZGUnOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZW4nOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRob3MnLFxyXG4gICAgICAnamEnOiAn44Op44O044Kj44Oq44Oz44K944K5JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMSxcclxuICB9LFxyXG4gIDk1Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOe7tOWliOWymycsXHJcbiAgICAgICdkZSc6ICdUaGF2bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdmcic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdqYSc6ICfjgrXjg5njg43jgqLls7YnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMyLFxyXG4gIH0sXHJcbiAgOTU4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg6Zu36amsJyxcclxuICAgICAgJ2RlJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdlbic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnZnInOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2phJzogJ+OCrOODrOODnuODq+ODiScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzMsXHJcbiAgfSxcclxuICA5NTk6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj7nmga/mtbcnLFxyXG4gICAgICAnZGUnOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2VuJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdmcic6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnamEnOiAn5ZiG44GN44Gu5rW3JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNSxcclxuICB9LFxyXG4gIDk2MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWkluWkqeWekycsXHJcbiAgICAgICdkZSc6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZW4nOiAnVWx0aW1hIFRodWxlJyxcclxuICAgICAgJ2ZyJzogJ1VsdGltYSBUaHVsw6knLFxyXG4gICAgICAnamEnOiAn44Km44Or44OG44Kj44Oe44O744OI44Kl44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNixcclxuICB9LFxyXG4gIDk2MToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WOhOWwlOW6h+aWrycsXHJcbiAgICAgICdkZSc6ICdFbHBpcycsXHJcbiAgICAgICdlbic6ICdFbHBpcycsXHJcbiAgICAgICdmcic6ICdFbHBpcycsXHJcbiAgICAgICdqYSc6ICfjgqjjg6vjg5TjgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM0LFxyXG4gIH0sXHJcbiAgOTYyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pen6JCo6Zu35a6JJyxcclxuICAgICAgJ2RlJzogJ0FsdC1TaGFybGF5YW4nLFxyXG4gICAgICAnZW4nOiAnT2xkIFNoYXJsYXlhbicsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIFNoYXJsYXlhbicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjg6vjg4njg7vjgrfjg6Pjg7zjg6zjgqLjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM3LFxyXG4gIH0sXHJcbiAgOTYzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ5pyt572VJyxcclxuICAgICAgJ2RlJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2VuJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2ZyJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2phJzogJ+ODqeOCtuODj+ODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzgsXHJcbiAgfSxcclxuICA5NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM5pyb5LmL54Ku5Y+w77ya4oCc5aGU4oCdJyxcclxuICAgICAgJ2RlJzogJ0RlciBUdXJtLCBQYXJhZGlnbWVuYnJlY2hlcicsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgYXQgUGFyYWRpZ21cXCdzIEJyZWFjaCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIGxhIENvbnRpbmdlbmNlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+ODjuegsuWPsO+8muOAjOWhlOOAjScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg7Y+s64yAOiBcXCftg5FcXCcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogODA4LFxyXG4gICAgJ29mZnNldFknOiAtNzcyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95rW35LiK5Z+65Zyw5bmy6Ii55Z2eJyxcclxuICAgICAgJ2RlJzogJ1Ryb2NrZW5kb2NrIHZvbiBDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIERyeWRvY2tzJyxcclxuICAgICAgJ2ZyJzogJ0NhbGUgc8OoY2hlIGRlIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqvjgrnjg4bjg4Pjg6vjg6Djg7vjg57jg6rjg4zjg6Djg7vjg4njg6njgqTjg4njg4Pjgq8nLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuniOumrOuIlCDqsbTshKDqsbAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlr7znpZ7pl6jlt7TliKvloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIEJhYmlsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBCYWJpbCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIEJhYmlsJyxcclxuICAgICAgJ2phJzogJ+mtlOWwjuelnumWgCDjg5Djg5bjgqTjg6vjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjcwLFxyXG4gICAgJ29mZnNldFknOiAtMzAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDk3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmoJHmtbfkuIfnm7jmo67lm70nLFxyXG4gICAgICAnZGUnOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2VuJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdmcic6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnamEnOiAn57WC5pyr5qi55rW3IOODtOOCoeODiuOCueODkeODhuOCoycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODAsXHJcbiAgICAnb2Zmc2V0WSc6IDgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDk3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHlubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMZSBCcmlzZXVyIGRlIG1hcsOpZXMgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDk3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jlubvmg7PmnKvkuJbnu4jov7knLFxyXG4gICAgICAnZGUnOiAnRGFzIFN0ZXJuZW5ncmFiJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEZWFkIEVuZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0lzc3VlIGF1eCBJbXBhc3NlcycsXHJcbiAgICAgICdqYSc6ICfmnIDntYLlubvmg7Mg44Os44Og44OK44Oz44OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zMTAsXHJcbiAgICAnb2Zmc2V0WSc6IDE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDQsXHJcbiAgfSxcclxuICA5NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg546v5aKD5p6B5YyX6YCg54mp6ZmiJyxcclxuICAgICAgJ2RlJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdlbic6ICdLdGlzaXMgSHlwZXJib3JlaWEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cGVyYm9yw6llJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOeSsOWigyDjg5Ljg6Xjg5rjg6vjg5zjg6zjgqLpgKDnianpmaInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aJjuadnOivuuWwlOmrmOWOnycsXHJcbiAgICAgICdkZSc6ICdaYWRub3ItSG9jaGViZW5lJyxcclxuICAgICAgJ2VuJzogJ1phZG5vcicsXHJcbiAgICAgICdmcic6ICdIYXV0cyBwbGF0ZWF1eCBkZSBaYWRub3InLFxyXG4gICAgICAnamEnOiAn44K244OI44Kl44OO44Or6auY5Y6fJyxcclxuICAgICAgJ2tvJzogJ+yekO2KuOuFuOultCDqs6Dsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMwLFxyXG4gIH0sXHJcbiAgOTc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5kOWbremDveW4gueskeeskemVhycsXHJcbiAgICAgICdkZSc6ICdTbWlsZXRvbicsXHJcbiAgICAgICdlbic6ICdTbWlsZXRvbicsXHJcbiAgICAgICdmcic6ICdSaXNldHRlLXN1ci1sdW5lJyxcclxuICAgICAgJ2phJzogJ+alveWckumDveW4giDjgrnjg57jgqTjg6vjg4jjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTIyLFxyXG4gICAgJ29mZnNldFknOiAtNDIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275paX6Iez6buO5piOJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGltIE1vcmdlbmdyYXVlbicsXHJcbiAgICAgICdlbic6ICdEZWF0aCBVbnRvIERhd24nLFxyXG4gICAgICAnZnInOiAnQXViZSBtZXVydHJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfpu47mmI7jga7mrbvpl5gnLFxyXG4gICAgICAna28nOiAn7Jes66qF7J2YIOyCrO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pif5rW35rex5bm95a+75Zug5pif5pm26ZWcJyxcclxuICAgICAgJ2RlJzogJ0RhcyBBaXRpYXNrb3AnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFpdGlhc2NvcGUnLFxyXG4gICAgICAnZnInOiAnTGUgUHJpc21lIGRlIGxcXCdBaXRpYScsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfmvZzoiKog44Ki44Kk44OG44Kj44Kq44Oz5pif5pm26Y+hJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDgsXHJcbiAgICAnb2Zmc2V0WSc6IC01MDEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55S16ISR5qKm5aKD5pav5o+Q5qC8546b5ZubJyxcclxuICAgICAgJ2RlJzogJ1N0aWdtYS1Ib2xvbWV0cmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGlnbWEgRHJlYW1zY2FwZScsXHJcbiAgICAgICdmcic6ICdSw6p2ZSDDqWxlY3RyaXF1ZSBkZSBTdGlnbWEtNCcsXHJcbiAgICAgICdqYSc6ICfpm7vohLPlpKLmg7Mg44K544OG44Kj44Kw44Oe44O744OV44Kp44O8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE0NCxcclxuICAgICdvZmZzZXRZJzogLTE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDAsXHJcbiAgfSxcclxuICA5OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1Byb3BoZXRpZSAtIFpvZGlhcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhcmsgSW5zaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzJyxcclxuICAgICAgJ2phJzogJ+OCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5pqd5pqX5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogWm9kaWFya1xcJ3MgRmFsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgTWFydHlycyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a7keeoveeBteauv+mXuemsvOebm+WutCcsXHJcbiAgICAgICdkZSc6ICdMdXN0aWdlcyBCYW5rZXR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBQaGFudG9tc1xcJyBGZWFzdCcsXHJcbiAgICAgICdmcic6ICdMZSBiYW5xdWV0IGNhdWNoZW1hcmRlc3F1ZScsXHJcbiAgICAgICdqYSc6ICfpgZPljJbppZflrrQg44Ob44O844Oz44OG44OD44OJ44OV44Kj44O844K544OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwLFxyXG4gICAgJ29mZnNldFknOiAxMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbflvrfmnpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1vdGhlcmNyeXN0YWwnLFxyXG4gICAgICAnZnInOiAnTGUgQ3Jpc3RhbC1tw6hyZScsXHJcbiAgICAgICdqYSc6ICfjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+aZluWFieatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdFc2NoYXRvcyAtIEh5ZGFlbHluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBIeWRhZWx5blxcJ3MgQ2FsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44Kk44OH44Oq44Oz6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu4jnu5PkuYvmiJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gRW5kc8OkbmdlcmluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBEYXknLFxyXG4gICAgICAnZnInOiAnTGUgUsOpcG9ucyBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfntYLnhInjga7miKbjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE2LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFBhcnR5LCBQbGF5ZXJDaGFuZ2VkUmV0IH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IHsgYWRkT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5cclxuLy8gV2lsbCByZWRpcmVjdCBjYWxscyBmcm9tIGBvblBsYXllckNoYW5nZWRFdmVudGAgdG8gfGZ1bmN8IG92ZXJyaWRpbmcgd2l0aFxyXG4vLyB8cGxheWVyTmFtZXwgYW5kIHRoZWlyIGpvYi4gIEpvYiBpcyBpbXBvcnRhbnQgZm9yIHJhaWRib3NzLlxyXG4vLyBJdCBtaWdodCBiZSBuaWNlIHRvIGRvIEhQLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgbWF0aCBzZWN0aW9uIG9mXHJcbi8vIFJpZG9yYW5hIExpZ2h0aG91c2Ugd29uJ3Qgd29yay5cclxuLy9cclxuLy8gT3RoZXIgcGFydHMgb2YgdGhlIHBsYXllciAoc3VjaCB0aGF0IHdvdWxkIGhlbHAgdGhlIGpvYnMgb3ZlcmxheSBydW4pXHJcbi8vIGFyZSBkZWxpYmVyYXRlbHkgbm90IGluY2x1ZGVkIGhlcmUsIGJlY2F1c2UgaXQncyBpbXBvc3NpYmxlIHRvIHJ1blxyXG4vLyBqb2JzIHJlbW90ZWx5IGR1ZSB0byBnYXVnZSBkYXRhIGJlaW5nIGxvY2FsIGFuZCBtYW55IGJpdHMgb2YgaW5mb3JtYXRpb25cclxuLy8gbG9hZGVkIGZyb20gbWVtb3J5LlxyXG5cclxuZXhwb3J0IHR5cGUgUGxheWVyQ2hhbmdlZERldGFpbCA9IHsgZGV0YWlsOiBQbGF5ZXJDaGFuZ2VkUmV0IH07XHJcbnR5cGUgUGxheWVyQ2hhbmdlZEZ1bmMgPSAoZTogUGxheWVyQ2hhbmdlZERldGFpbCkgPT4gdm9pZDtcclxuXHJcbi8vIEBUT0RPOiBTd2FwIHRoZSBvcmRlciBvZiB0aGVzZSBhcmd1bWVudHMsIG1ha2UgcGxheWVyTmFtZSBvcHRpb25hbCBpbnN0ZWFkXHJcbmV4cG9ydCBjb25zdCBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciA9IChcclxuICBmdW5jOiBQbGF5ZXJDaGFuZ2VkRnVuYyxcclxuICBwbGF5ZXJOYW1lPzogc3RyaW5nLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAoIWZ1bmMpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBsYXN0UGxheWVyQ2hhbmdlZEV2ZW50OiBQbGF5ZXJDaGFuZ2VkRGV0YWlsIHwgbnVsbCA9IG51bGw7XHJcbiAgbGV0IGxhc3RQbGF5ZXJKb2I6IEpvYiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdCBvblBsYXllckNoYW5nZWQ6IFBsYXllckNoYW5nZWRGdW5jID0gKGU6IFBsYXllckNoYW5nZWREZXRhaWwpID0+IHtcclxuICAgIGlmIChwbGF5ZXJOYW1lKSB7XHJcbiAgICAgIGUuZGV0YWlsLm5hbWUgPSBwbGF5ZXJOYW1lO1xyXG4gICAgICBpZiAobGFzdFBsYXllckpvYikge1xyXG4gICAgICAgIC8vIFVzZSB0aGUgbm9uLW92ZXJyaWRkZW4gam9iIGlmIHdlIGRvbid0IGtub3cgYW4gb3ZlcnJpZGRlbiBvbmUuXHJcbiAgICAgICAgZS5kZXRhaWwuam9iID0gbGFzdFBsYXllckpvYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFzdFBsYXllckNoYW5nZWRFdmVudCA9IGU7XHJcblxyXG4gICAgZnVuYyhlKTtcclxuICB9O1xyXG5cclxuICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uUGxheWVyQ2hhbmdlZEV2ZW50Jywgb25QbGF5ZXJDaGFuZ2VkKTtcclxuICBpZiAoIXBsYXllck5hbWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgIGNvbnN0IHBsYXllciA9IGUucGFydHkuZmluZCgocCkgPT4gcC5uYW1lID09PSBwbGF5ZXJOYW1lKTtcclxuICAgIGlmICghcGxheWVyKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbmV3Sm9iID0gVXRpbC5qb2JFbnVtVG9Kb2IocGxheWVyLmpvYik7XHJcbiAgICBpZiAobmV3Sm9iID09PSBsYXN0UGxheWVySm9iKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGFzdFBsYXllckpvYiA9IG5ld0pvYjtcclxuICAgIC8vIFRoaXMgZXZlbnQgbWF5IGNvbWUgYmVmb3JlIHRoZSBmaXJzdCBvblBsYXllckNoYW5nZWRFdmVudC5cclxuICAgIGlmIChsYXN0UGxheWVyQ2hhbmdlZEV2ZW50KVxyXG4gICAgICBvblBsYXllckNoYW5nZWQobGFzdFBsYXllckNoYW5nZWRFdmVudCk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyBDb21tb24gVUkgZm9yIHNlbGVjdGluZyBhIHBsYXllci5cclxuLy8gT25seSB1c2VkIGZvciByYWlkYm9zcywgYnV0IGNvdWxkIG9zdGVuc2libHkgYmUgcmV1c2VkIGZvciBvb3BzeSxcclxuLy8gaWYgdGhlcmUncyBldmVyIHBsYXllciBzcGVjaWZpYyBzdHVmZi5cclxuLy8gVE9ETzogaXQgd291bGQgYmUgbmljZSB0byBzaG93IHRoZSBcImNvbm5lY3RlZCAvIG5vdCBjb25uZWN0ZWRcIiBiaXQgaW4gdGhlIFVJLlxyXG5leHBvcnQgY29uc3QgYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkgPSAobGFuZzogTGFuZyk6IHZvaWQgPT4ge1xyXG4gIGNvbnN0IGluc3RydWN0aW9uVGV4dEJ5TGFuZyA9IHtcclxuICAgIGVuOiAnU2VsZWN0IGEgUGxheWVyXFxuKHRoZSBsaXN0IHdpbGwgdXBkYXRlIHdoZW4gaW4gYW4gaW5zdGFuY2UpJyxcclxuICAgIGRlOiAnV8OkaGxlIGVpbmVuIFNwaWVsZXJcXG4oRGllc2UgTGlzdGUgYWt0dWFsaXNpZXJ0IHNpY2gsIHNvYmFsZCBlaW5lIEluc3RhbmNlIGJldHJldHRlbiB3aXJkKScsXHJcbiAgICBmcjogJ1PDqWxlY3Rpb25uZXIgdW4gam91ZXVyXFxuIChsYSBsaXN0ZSBzZSBtZXR0cmEgw6Agam91ciBkYW5zIHVuZSBpbnN0YW5jZSknLFxyXG4gICAgamE6ICfjg5fjg6zjg7zjg6Tjg7zlkI3jgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYRcXG4o44Kk44Oz44K544K/44Oz44K544Gr5YWl44KL44Go44Oq44K544OI44GM5pu05paw44GZ44KLKScsXHJcbiAgICBjbjogJ+ivt+mAieaLqeeOqeWutuWQjeensFxcbijmraTliJfooajlsIbkvJrlnKjov5vlhaXlia/mnKzlkI7mm7TmlrApJyxcclxuICAgIGtvOiAn7ZSM66CI7J207Ja066W8IOyEoO2Dne2VmOyEuOyalFxcbijsnbjsiqTthLTsiqTsl5Ag7J6I7Jy866m0IOumrOyKpO2KuOqwgCDsl4XrjbDsnbTtirjrkKnri4jri6QuKScsXHJcbiAgfTtcclxuICBjb25zdCBmb3JjZVRUU0J5TGFuZyA9IHtcclxuICAgIGVuOiAnRm9yY2UgRW5hYmxlIFRleHQgVG8gU3BlZWNoJyxcclxuICAgIGRlOiAnRXJ6d2luZ2UgVGV4dCBpbiBTcHJhY2hlIChUVFMpJyxcclxuICAgIGZyOiAnRm9yY2VyIGxcXCdhY3RpdmF0aW9uIGRlIGxhIHN5bnRow6hzZSB2b2NhbGUgKFRUUyknLFxyXG4gICAgamE6ICdUVFPjgpLlvLfliLbnmoTjgavmnInlirnljJbjgZnjgosnLFxyXG4gICAgY246ICflvLrliLblkK/nlKhUVFMnLFxyXG4gICAga286ICdUVFMg6riw64ql7J2EIO2ZnOyEse2ZlO2VmOq4sCcsXHJcbiAgfTtcclxuICBjb25zdCBidXR0b25UZXh0QnlMYW5nID0ge1xyXG4gICAgZW46ICdTdGFydCBPdmVybGF5JyxcclxuICAgIGRlOiAnU3RhcnQgT3ZlcmxheScsXHJcbiAgICBmcjogJ0TDqW1hcnJlciBsXFwnT3ZlcmxheScsXHJcbiAgICBqYTogJ+OCquODvOODkOODvOODrOOCpOOCkui1t+WLlScsXHJcbiAgICBjbjogJ+WQr+eUqOaCrOa1rueqlycsXHJcbiAgICBrbzogJ+yYpOuyhOugiOydtCDsi5zsnpEnLFxyXG4gIH07XHJcbiAgY29uc3QgZGVmYXVsdFRleHRCeUxhbmcgPSB7XHJcbiAgICBlbjogJyhubyBvdmVycmlkZSknLFxyXG4gICAgZGU6ICcoa2VpbiDDvGJlcnNjaHJlaWJlbiknLFxyXG4gICAgZnI6ICcocGFzIGRlIGTDqXJvZ2F0aW9uKScsXHJcbiAgICBqYTogJyjml6LlrprlgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco7ZSM66CI7J207Ja0IOyngOyglSDslYjtlagpJyxcclxuICB9O1xyXG5cclxuICAvLyBUT0RPOiBwcm9iYWJseSBzaG91bGQgc2F2ZSBmb3JjZVRUUyBhcyB3ZWxsLCBtYXliZSBzYXZlIHNvbWUge30gb3B0aW9ucz9cclxuICBjb25zdCBrU3RvcmFnZUtleSA9ICdjYWN0Ym90LWxhc3Qtc2VsZWN0ZWQtcGxheWVyJztcclxuICBjb25zdCBzYXZlUGxheWVyTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShrU3RvcmFnZUtleSwgbmFtZSk7XHJcbiAgfTtcclxuICBjb25zdCBsb2FkUGxheWVyTmFtZSA9ICgpID0+IHtcclxuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oa1N0b3JhZ2VLZXkpO1xyXG4gIH07XHJcblxyXG4gIC8vIEFkZCBjb21tb24gVUkgdG8gc2VsZWN0IGEgcGxheWVyLlxyXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGNvbnRhaW5lci5pZCA9ICdwbGF5ZXItc2VsZWN0JztcclxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblxyXG4gIGNvbnN0IGluc3RydWN0aW9uRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGluc3RydWN0aW9uRWxlbS5pZCA9ICdwbGF5ZXItc2VsZWN0LWluc3RydWN0aW9ucyc7XHJcbiAgaW5zdHJ1Y3Rpb25FbGVtLmlubmVySFRNTCA9IGluc3RydWN0aW9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBpbnN0cnVjdGlvblRleHRCeUxhbmdbJ2VuJ107XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGluc3RydWN0aW9uRWxlbSk7XHJcblxyXG4gIGNvbnN0IGxpc3RFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgbGlzdEVsZW0uaWQgPSAncGxheWVyLXNlbGVjdC1saXN0JztcclxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdEVsZW0pO1xyXG5cclxuICBjb25zdCB0dHNFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICB0dHNFbGVtLnR5cGUgPSAnY2hlY2tib3gnO1xyXG4gIHR0c0VsZW0uaWQgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0VsZW0ubmFtZSA9ICdwbGF5ZXItc2VsZWN0LXR0cyc7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKHR0c0VsZW0pO1xyXG5cclxuICBjb25zdCB0dHNMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcbiAgdHRzTGFiZWwuaWQgPSAncGxheWVyLXNlbGVjdC10dHMtbGFiZWwnO1xyXG4gIHR0c0xhYmVsLmh0bWxGb3IgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0xhYmVsLmlubmVySFRNTCA9IGZvcmNlVFRTQnlMYW5nW2xhbmddIHx8IGZvcmNlVFRTQnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0dHNMYWJlbCk7XHJcblxyXG4gIGNvbnN0IGJ1dHRvbkVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICBidXR0b25FbGVtLmlkID0gJ3BsYXllci1zZWxlY3QtYnV0dG9uJztcclxuICBidXR0b25FbGVtLm5hbWUgPSAncGxheWVyLXNlbGVjdC1idXR0b24nO1xyXG4gIGJ1dHRvbkVsZW0uaW5uZXJIVE1MID0gYnV0dG9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBidXR0b25UZXh0QnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChidXR0b25FbGVtKTtcclxuICBidXR0b25FbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgY29uc3QgZm9yY2VUVFMgPSB0dHNFbGVtLmNoZWNrZWQ7XHJcbiAgICBsZXQgcGxheWVyTmFtZSA9ICcnO1xyXG4gICAgbGV0IHJhZGlvSW5kZXggPSAwO1xyXG4gICAgZm9yICg7Oykge1xyXG4gICAgICByYWRpb0luZGV4Kys7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGxheWVyLXJhZGlvLSR7cmFkaW9JbmRleH1gKTtcclxuICAgICAgaWYgKCFlbGVtIHx8ICEoZWxlbSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAoIWVsZW0uY2hlY2tlZClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgcGxheWVyTmFtZSA9IGVsZW0udmFsdWU7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwbGF5ZXJOYW1lKVxyXG4gICAgICBzYXZlUGxheWVyTmFtZShwbGF5ZXJOYW1lKTtcclxuXHJcbiAgICAvLyBQcmVzZXJ2ZSBleGlzdGluZyBwYXJhbWV0ZXJzLlxyXG4gICAgY29uc3QgY3VycmVudFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgICBjb25zdCBwYXJhbU1hcDogeyBbdmFsdWU6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9ID0ge307XHJcbiAgICAvLyBZZXMsIHRoaXMgaXMgKHYsIGspIGFuZCBub3QgKGssIHYpLlxyXG4gICAgY3VycmVudFBhcmFtcy5mb3JFYWNoKCh2LCBrKSA9PiBwYXJhbU1hcFtrXSA9IGRlY29kZVVSSUNvbXBvbmVudCh2KSk7XHJcblxyXG4gICAgcGFyYW1NYXAucGxheWVyID0gcGxheWVyTmFtZTtcclxuICAgIC8vIFVzZSAxLzAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHF1ZXJ5IHBhcmFtZXRlcnMgcmF0aGVyIHRoYW4gc3RyaW5nIHRydWUvZmFsc2UuXHJcbiAgICBwYXJhbU1hcC5mb3JjZVRUUyA9IGZvcmNlVFRTID8gMSA6IDA7XHJcblxyXG4gICAgLy8gVE9ETzogb3ZlcmxheV9wbHVnaW5fYXBpLmpzIGRvZXNuJ3Qgc3VwcG9ydCB1cmkgZW5jb2RlZCBPVkVSTEFZX1dTIHBhcmFtZXRlcnMuXHJcbiAgICAvLyBTbyB0aGlzIGNhbid0IHVzZSBVUkxTZWFyY2hQYXJhbXMudG9TdHJpbmcgeWV0LiAgTWFudWFsbHkgYnVpbGQgc3RyaW5nLlxyXG4gICAgbGV0IHNlYXJjaCA9ICc/JztcclxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtTWFwKSlcclxuICAgICAgc2VhcmNoICs9IGAke2t9PSR7dn0mYDtcclxuXHJcbiAgICAvLyBSZWxvYWQgdGhlIHBhZ2Ugd2l0aCBtb3JlIG9wdGlvbnMuXHJcbiAgICB3aW5kb3cubG9jYXRpb24uc2VhcmNoID0gc2VhcmNoO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBsYXN0U2VsZWN0ZWRQbGF5ZXIgPSBsb2FkUGxheWVyTmFtZSgpO1xyXG5cclxuICBjb25zdCBidWlsZExpc3QgPSAocGFydHk6IFBhcnR5W10pID0+IHtcclxuICAgIHdoaWxlIChsaXN0RWxlbS5maXJzdENoaWxkKSB7XHJcbiAgICAgIGlmIChsaXN0RWxlbS5sYXN0Q2hpbGQpXHJcbiAgICAgICAgbGlzdEVsZW0ucmVtb3ZlQ2hpbGQobGlzdEVsZW0ubGFzdENoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmFkaW9Db3VudCA9IDA7XHJcblxyXG4gICAgY29uc3QgYWRkUmFkaW8gPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHRyYUNsYXNzOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmFkaW9Db3VudCsrO1xyXG5cclxuICAgICAgY29uc3QgaW5wdXROYW1lID0gYHBsYXllci1yYWRpby0ke3JhZGlvQ291bnR9YDtcclxuXHJcbiAgICAgIGNvbnN0IGlucHV0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGlucHV0RWxlbS50eXBlID0gJ3JhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIGlucHV0RWxlbS5pZCA9IGlucHV0TmFtZTtcclxuICAgICAgaW5wdXRFbGVtLm5hbWUgPSAncGxheWVyLXJhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLmNsYXNzTGlzdC5hZGQoJ3BsYXllci1yYWRpbycsIGV4dHJhQ2xhc3MpO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChpbnB1dEVsZW0pO1xyXG5cclxuICAgICAgY29uc3QgbGFiZWxFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcclxuICAgICAgbGFiZWxFbGVtLmh0bWxGb3IgPSBpbnB1dE5hbWU7XHJcbiAgICAgIGxhYmVsRWxlbS5pbm5lckhUTUwgPSBuYW1lO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChsYWJlbEVsZW0pO1xyXG5cclxuICAgICAgcmV0dXJuIGlucHV0RWxlbTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFRleHQgPSBkZWZhdWx0VGV4dEJ5TGFuZ1tsYW5nXSB8fCBkZWZhdWx0VGV4dEJ5TGFuZ1snZW4nXTtcclxuICAgIGNvbnN0IGRlZmF1bHRFbGVtID0gYWRkUmFkaW8oZGVmYXVsdFRleHQsICcnLCAncGxheWVyLXJhZGlvLWRlZmF1bHQnKTtcclxuICAgIGRlZmF1bHRFbGVtLmNoZWNrZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmIChsYXN0U2VsZWN0ZWRQbGF5ZXIpIHtcclxuICAgICAgY29uc3QgbGFzdCA9IGFkZFJhZGlvKGxhc3RTZWxlY3RlZFBsYXllciwgbGFzdFNlbGVjdGVkUGxheWVyLCAncGxheWVyLXJhZGlvLWxhc3QnKTtcclxuICAgICAgbGFzdC5jaGVja2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJ0eVBsYXllcnMgPSBwYXJ0eS5maWx0ZXIoKHApID0+IHAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBwYXJ0eU5hbWVzID0gcGFydHlQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcGFydHlOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1wYXJ0eScpO1xyXG5cclxuICAgIGNvbnN0IGFsbGlhbmNlUGxheWVycyA9IHBhcnR5LmZpbHRlcigocCkgPT4gIXAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBhbGxpYW5jZU5hbWVzID0gYWxsaWFuY2VQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgYWxsaWFuY2VOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1hbGxpYW5jZScpO1xyXG4gIH07XHJcbiAgYWRkT3ZlcmxheUxpc3RlbmVyKCdQYXJ0eUNoYW5nZWQnLCAoZSkgPT4ge1xyXG4gICAgYnVpbGRMaXN0KGUucGFydHkpO1xyXG4gIH0pO1xyXG4gIGJ1aWxkTGlzdChbXSk7XHJcbn07XHJcbiIsImltcG9ydCB7IFBhcnR5IH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IFV0aWwgZnJvbSAnLi91dGlsJztcclxuXHJcbmNvbnN0IGVtcHR5Um9sZVRvUGFydHlOYW1lcyA9ICgpID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgdGFuazogW10sXHJcbiAgICBoZWFsZXI6IFtdLFxyXG4gICAgZHBzOiBbXSxcclxuICAgIGNyYWZ0ZXI6IFtdLFxyXG4gICAgZ2F0aGVyZXI6IFtdLFxyXG4gICAgbm9uZTogW10sXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnR5VHJhY2tlciB7XHJcbiAgZGV0YWlsczogUGFydHlbXSA9IFtdO1xyXG4gIHBhcnR5TmFtZXNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHBhcnR5SWRzXzogc3RyaW5nW10gPSBbXTtcclxuICBhbGxpYW5jZU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBhbGxpYW5jZUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgbmFtZVRvUm9sZV86IHsgW25hbWU6IHN0cmluZ106IFJvbGUgfSA9IHt9O1xyXG4gIGlkVG9OYW1lXzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgcm9sZVRvUGFydHlOYW1lc186IFJlY29yZDxSb2xlLCBzdHJpbmdbXT4gPSBlbXB0eVJvbGVUb1BhcnR5TmFtZXMoKTtcclxuXHJcbiAgLy8gQmluZCB0aGlzIHRvIFBhcnR5Q2hhbmdlZCBldmVudHMuXHJcbiAgb25QYXJ0eUNoYW5nZWQoZTogeyBwYXJ0eTogUGFydHlbXSB9KTogdm9pZCB7XHJcbiAgICBpZiAoIWUgfHwgIWUucGFydHkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICB0aGlzLmRldGFpbHMgPSBlLnBhcnR5O1xyXG5cclxuICAgIGZvciAoY29uc3QgcCBvZiBlLnBhcnR5KSB7XHJcbiAgICAgIHRoaXMuYWxsaWFuY2VJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgIHRoaXMuYWxsaWFuY2VOYW1lc18ucHVzaChwLm5hbWUpO1xyXG4gICAgICBjb25zdCBqb2JOYW1lID0gVXRpbC5qb2JFbnVtVG9Kb2IocC5qb2IpO1xyXG4gICAgICBjb25zdCByb2xlID0gVXRpbC5qb2JUb1JvbGUoam9iTmFtZSk7XHJcbiAgICAgIHRoaXMuaWRUb05hbWVfW3AuaWRdID0gcC5uYW1lO1xyXG4gICAgICB0aGlzLm5hbWVUb1JvbGVfW3AubmFtZV0gPSByb2xlO1xyXG4gICAgICBpZiAocC5pblBhcnR5KSB7XHJcbiAgICAgICAgdGhpcy5wYXJ0eUlkc18ucHVzaChwLmlkKTtcclxuICAgICAgICB0aGlzLnBhcnR5TmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgICB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfW3JvbGVdLnB1c2gocC5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICAvLyBvcmlnaW5hbCBldmVudCBkYXRhXHJcbiAgICB0aGlzLmRldGFpbHMgPSBbXTtcclxuICAgIHRoaXMucGFydHlOYW1lc18gPSBbXTtcclxuICAgIHRoaXMucGFydHlJZHNfID0gW107XHJcbiAgICB0aGlzLmFsbGlhbmNlTmFtZXNfID0gW107XHJcbiAgICB0aGlzLmFsbGlhbmNlSWRzXyA9IFtdO1xyXG4gICAgdGhpcy5uYW1lVG9Sb2xlXyA9IHt9O1xyXG4gICAgdGhpcy5pZFRvTmFtZV8gPSB7fTtcclxuXHJcbiAgICAvLyByb2xlIC0+IFtuYW1lc10gYnV0IG9ubHkgZm9yIHBhcnR5XHJcbiAgICB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IHBhcnR5TmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lc187XHJcbiAgfVxyXG5cclxuICBnZXQgcGFydHlJZHMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlJZHNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGFsbGlhbmNlXHJcbiAgZ2V0IGFsbGlhbmNlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lc187XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiB0YW5rcyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCB0YW5rTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ3RhbmsnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGhlYWxlcnMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgaGVhbGVyTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ2hlYWxlciddO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgZHBzIHBsYXllcnMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgZHBzTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMucm9sZVRvUGFydHlOYW1lc19bJ2RwcyddO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHBhcnRpY3VsYXIgcm9sZVxyXG4gIGlzUm9sZShuYW1lOiBzdHJpbmcsIHJvbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZVRvUm9sZV9bbmFtZV0gPT09IHJvbGU7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgdGFua1xyXG4gIGlzVGFuayhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAndGFuaycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIGhlYWxlclxyXG4gIGlzSGVhbGVyKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNSb2xlKG5hbWUsICdoZWFsZXInKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBkcHNcclxuICBpc0RQUyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnZHBzJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpcyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGluUGFydHkobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJ0eU5hbWVzLmluY2x1ZGVzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGluQWxsaWFuY2UobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hbGxpYW5jZU5hbWVzLmluY2x1ZGVzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIGEgbmFtZWQgcGxheWVyLCByZXR1cm5zIHRoZSBvdGhlciB0YW5rIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgLy8gaWYgbmFtZWQgcGxheWVyIGlzIG5vdCBhIHRhbmssIG9yIHRoZXJlJ3Mgbm90IGV4YWN0bHkgdHdvIHRhbmtzXHJcbiAgLy8gaW4geW91ciBpbW1lZGlhdGUgcGFydHksIHJldHVybnMgbnVsbC5cclxuICBvdGhlclRhbmsobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy50YW5rTmFtZXM7XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gc2VlOiBvdGhlclRhbmssIGJ1dCBmb3IgaGVhbGVycy5cclxuICBvdGhlckhlYWxlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgbmFtZXMgPSB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICAgIGlmIChuYW1lcy5sZW5ndGggIT09IDIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmIChuYW1lc1swXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzFdO1xyXG4gICAgaWYgKG5hbWVzWzFdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMF07XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRoZSBqb2IgbmFtZSBvZiB0aGUgc3BlY2lmaWVkIHBhcnR5IG1lbWJlclxyXG4gIGpvYk5hbWUobmFtZTogc3RyaW5nKTogSm9iIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHBhcnR5SW5kZXggPSB0aGlzLnBhcnR5TmFtZXMuaW5kZXhPZihuYW1lKTtcclxuICAgIGlmIChwYXJ0eUluZGV4ID49IDApXHJcbiAgICAgIHJldHVybiBVdGlsLmpvYkVudW1Ub0pvYih0aGlzLmRldGFpbHNbcGFydHlJbmRleF0/LmpvYiBhcyBudW1iZXIpO1xyXG4gIH1cclxuXHJcbiAgbmFtZUZyb21JZChpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmlkVG9OYW1lX1tpZF07XHJcbiAgfVxyXG59XHJcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dG9wbGF5SGVscGVyIHtcclxuICBzdGF0aWMgQ2hlY2tJZkFscmVhZHlSdW5uaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVGhpcyBjaGVjayB3aWxsIG9ubHkgZXZlciBzdWNjZWVkIG9uIHJ1bm5pbmcgQ2hyb21pdW0gcGFzc2luZ1xyXG4gICAgLy8gIC0tYXV0b3BsYXktcG9saWN5PW5vLXVzZXItZ2VzdHVyZS1yZXF1aXJlZFxyXG4gICAgLy8gYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50IG9yIGNvbmZpZ3VyaW5nIENFRiB0aGUgY29ycmVjdCB3YXkuXHJcbiAgICAvLyBPbmNlIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExMDYzODBcclxuICAgIC8vIGlzIGZpeGVkIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gZmFsc2Ugb24gZXZlcnkgKHVwLXRvLWRhdGUpIGJyb3dzZXJcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICByZXR1cm4gY29udGV4dC5zdGF0ZSA9PT0gJ3J1bm5pbmcnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIFByb21wdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgIGJ1dHRvbi5pbm5lclRleHQgPSAnQ2xpY2sgdG8gZW5hYmxlIGF1ZGlvJztcclxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhdXRvcGxheS1oZWxwZXItYnV0dG9uJyk7XHJcbiAgICBidXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICB2b2lkIGNvbnRleHQucmVzdW1lKCk7XHJcbiAgICB9O1xyXG4gICAgY29udGV4dC5vbnN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgIGJ1dHRvbi5yZW1vdmUoKTtcclxuICAgIH07XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ2hlY2tBbmRQcm9tcHQoKTogdm9pZCB7XHJcbiAgICBpZiAoIUF1dG9wbGF5SGVscGVyLkNoZWNrSWZBbHJlYWR5UnVubmluZygpKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5Qcm9tcHQoKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5cclxuY2xhc3MgVFRTSXRlbSB7XHJcbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGl0ZW06IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTtcclxuXHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBsYW5nPzogc3RyaW5nLCB2b2ljZT86IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKSB7XHJcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5pdGVtID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSh0ZXh0KTtcclxuICAgIGlmIChsYW5nKVxyXG4gICAgICB0aGlzLml0ZW0ubGFuZyA9IGxhbmc7XHJcbiAgICBpZiAodm9pY2UpXHJcbiAgICAgIHRoaXMuaXRlbS52b2ljZSA9IHZvaWNlO1xyXG4gIH1cclxuXHJcbiAgcGxheSgpIHtcclxuICAgIHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuc3BlYWsodGhpcy5pdGVtKTtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgVFRTSXRlbURpY3Rpb25hcnkgPSB7XHJcbiAgW2tleTogc3RyaW5nXTogVFRTSXRlbTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyb3dzZXJUVFNFbmdpbmUge1xyXG4gIHJlYWRvbmx5IHR0c0l0ZW1zOiBUVFNJdGVtRGljdGlvbmFyeSA9IHt9O1xyXG4gIHByaXZhdGUgc3BlZWNoTGFuZz86IHN0cmluZztcclxuICBwcml2YXRlIHNwZWVjaFZvaWNlPzogU3BlZWNoU3ludGhlc2lzVm9pY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGxhbmc6IExhbmcpIHtcclxuICAgIGNvbnN0IGNhY3Rib3RMYW5nVG9TcGVlY2hMYW5nID0ge1xyXG4gICAgICBlbjogJ2VuLVVTJyxcclxuICAgICAgZGU6ICdkZS1ERScsXHJcbiAgICAgIGZyOiAnZnItRlInLFxyXG4gICAgICBqYTogJ2phLUpQJyxcclxuICAgICAgLy8gVE9ETzogbWF5YmUgbmVlZCB0byBwcm92aWRlIGFuIG9wdGlvbiBvZiB6aC1DTiwgemgtSEssIHpoLVRXP1xyXG4gICAgICBjbjogJ3poLUNOJyxcclxuICAgICAga286ICdrby1LUicsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGZpZ3VyZSBvdXQgd2hhdCBUVFMgZW5naW5lIHR5cGUgd2UgbmVlZFxyXG4gICAgaWYgKHdpbmRvdy5zcGVlY2hTeW50aGVzaXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBzcGVlY2hMYW5nID0gY2FjdGJvdExhbmdUb1NwZWVjaExhbmdbbGFuZ107XHJcbiAgICAgICAgY29uc3Qgdm9pY2UgPSB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLmdldFZvaWNlcygpLmZpbmQoKHZvaWNlKSA9PiB2b2ljZS5sYW5nID09PSBzcGVlY2hMYW5nKTtcclxuICAgICAgICBpZiAodm9pY2UpIHtcclxuICAgICAgICAgIHRoaXMuc3BlZWNoTGFuZyA9IHNwZWVjaExhbmc7XHJcbiAgICAgICAgICB0aGlzLnNwZWVjaFZvaWNlID0gdm9pY2U7XHJcbiAgICAgICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jyb3dzZXJUVFMgZXJyb3I6IGNvdWxkIG5vdCBmaW5kIHZvaWNlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQnJvd3NlclRUUyBlcnJvcjogbm8gYnJvd3NlciBzdXBwb3J0IGZvciB3aW5kb3cuc3BlZWNoU3ludGhlc2lzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwbGF5KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNwZWVjaFZvaWNlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHR0c0l0ZW0gPSB0aGlzLnR0c0l0ZW1zW3RleHRdO1xyXG4gICAgICBpZiAoIXR0c0l0ZW0pIHtcclxuICAgICAgICB0dHNJdGVtID0gbmV3IFRUU0l0ZW0odGV4dCwgdGhpcy5zcGVlY2hMYW5nLCB0aGlzLnNwZWVjaFZvaWNlKTtcclxuICAgICAgICB0aGlzLnR0c0l0ZW1zW3RleHRdID0gdHRzSXRlbTtcclxuICAgICAgfVxyXG4gICAgICB0dHNJdGVtLnBsYXkoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXhjZXB0aW9uIHBlcmZvcm1pbmcgVFRTJywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyLCBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFBhcnR5VHJhY2tlciBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcGFydHknO1xyXG5pbXBvcnQgeyBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciwgUGxheWVyQ2hhbmdlZERldGFpbCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCBVdGlsIGZyb20gJy4uLy4uL3Jlc291cmNlcy91dGlsJztcclxuaW1wb3J0IFpvbmVJZCBmcm9tICcuLi8uLi9yZXNvdXJjZXMvem9uZV9pZCc7XHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBFdmVudFJlc3BvbnNlcywgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IEpvYiwgUm9sZSB9IGZyb20gJy4uLy4uL3R5cGVzL2pvYic7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi8uLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7XHJcbiAgTG9vc2VUcmlnZ2VyLCBPdXRwdXRTdHJpbmdzLCBUaW1lbGluZUZpZWxkLCBUaW1lbGluZUZ1bmMsIExvb3NlVHJpZ2dlclNldCxcclxuICBSZXNwb25zZUZpZWxkLCBUcmlnZ2VyQXV0b0NvbmZpZywgVHJpZ2dlckZpZWxkLCBUcmlnZ2VyT3V0cHV0LFxyXG4gIE91dHB1dCwgUmFpZGJvc3NGaWxlRGF0YSwgUmVzcG9uc2VPdXRwdXQsIFBhcnRpYWxUcmlnZ2VyT3V0cHV0LCBEYXRhSW5pdGlhbGl6ZUZ1bmMsXHJcbiAgR2VuZXJhbE5ldFJlZ2V4VHJpZ2dlciwgUmVnZXhUcmlnZ2VyLFxyXG59IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IEF1dG9wbGF5SGVscGVyIGZyb20gJy4vYXV0b3BsYXlfaGVscGVyJztcclxuaW1wb3J0IEJyb3dzZXJUVFNFbmdpbmUgZnJvbSAnLi9icm93c2VyX3R0c19lbmdpbmUnO1xyXG5pbXBvcnQgeyBQZXJUcmlnZ2VyQXV0b0NvbmZpZywgUGVyVHJpZ2dlck9wdGlvbiwgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuL3RpbWVsaW5lJztcclxuaW1wb3J0IHsgVGltZWxpbmVSZXBsYWNlbWVudCB9IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlciA9XHJcbiAgKHRyaWdnZXI6IExvb3NlVHJpZ2dlcik6IHRyaWdnZXIgaXMgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0+IHtcclxuICAgIHJldHVybiAnaXNUaW1lbGluZVRyaWdnZXInIGluIHRyaWdnZXI7XHJcbiAgfTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc05ldFJlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxHZW5lcmFsTmV0UmVnZXhUcmlnZ2VyPFJhaWRib3NzRGF0YSwgJ05vbmUnPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ25ldFJlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1JlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxSZWdleFRyaWdnZXI8UmFpZGJvc3NEYXRhPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ3JlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2Nlc3NlZFRyaWdnZXIgPSBMb29zZVRyaWdnZXIgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgbG9jYWxSZWdleD86IFJlZ0V4cDtcclxuICBsb2NhbE5ldFJlZ2V4PzogUmVnRXhwO1xyXG4gIG91dHB1dD86IE91dHB1dDtcclxufTtcclxuXHJcbnR5cGUgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0gUHJvY2Vzc2VkVHJpZ2dlciAmIHtcclxuICBpc1RpbWVsaW5lVHJpZ2dlcj86IHRydWU7XHJcbn07XHJcblxyXG50eXBlIFByb2Nlc3NlZFRyaWdnZXJTZXQgPSBMb29zZVRyaWdnZXJTZXQgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgdGltZWxpbmVUcmlnZ2Vycz86IFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlcltdO1xyXG4gIHRyaWdnZXJzPzogUHJvY2Vzc2VkVHJpZ2dlcltdO1xyXG59O1xyXG5cclxuLy8gVGhlcmUgc2hvdWxkIGJlIChhdCBtb3N0KSBzaXggbGluZXMgb2YgaW5zdHJ1Y3Rpb25zLlxyXG5jb25zdCByYWlkYm9zc0luc3RydWN0aW9uczogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nW10gfSA9IHtcclxuICBlbjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyBhcyBmb2xsb3dzOicsXHJcbiAgICAnVGhpcyBpcyBkZWJ1ZyB0ZXh0IGZvciByZXNpemluZy4nLFxyXG4gICAgJ0l0IGdvZXMgYXdheSB3aGVuIHlvdSBsb2NrIHRoZSBvdmVybGF5JyxcclxuICAgICdhbG9uZyB3aXRoIHRoZSBibHVlIGJhY2tncm91bmQuJyxcclxuICAgICdUaW1lbGluZXMgYW5kIHRyaWdnZXJzIHdpbGwgc2hvdyB1cCBpbiBzdXBwb3J0ZWQgem9uZXMuJyxcclxuICAgICdUZXN0IHJhaWRib3NzIHdpdGggYSAvY291bnRkb3duIGluIFN1bW1lcmZvcmQgRmFybXMuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnQW53ZWlzdW5nZW4gd2llIGZvbGd0OicsXHJcbiAgICAnRGllcyBpc3QgZWluIERlYnVnLVRleHQgenVyIEdyw7bDn2Vuw6RuZGVydW5nLicsXHJcbiAgICAnRXIgdmVyc2Nod2luZGV0LCB3ZW5uIGR1IGRhcyBPdmVybGF5IHNwZXJyc3QsJyxcclxuICAgICd6dXNhbW1lbiBtaXQgZGVtIGJsYXVlbiBIaW50ZXJncnVuZC4nLFxyXG4gICAgJ1RpbWVsaW5lIHVuZCBUcmlnZ2VyIHdlcmRlbiBpbiBkZW4gdW50ZXJzdMO8dHp0ZW4gWm9uZW4gYW5nZXplaWd0LicsXHJcbiAgICAnVGVzdGVuIFNpZSBSYWlkYm9zcyBtaXQgZWluZW0gL2NvdW50ZG93biBpbiBTb21tZXJmdXJ0LUjDtmZlLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyA6JyxcclxuICAgICdDZWNpIGVzdCB1biB0ZXh0ZSBkZSB0ZXN0IHBvdXIgcmVkaW1lbnNpb25uZXIuJyxcclxuICAgICdJbCBkaXNwYXJhaXRyYSBcXChhaW5zaSBxdWUgbGUgZm9uZCBibGV1XFwpIHF1YW5kJyxcclxuICAgICdsXFwnb3ZlcmxheSBzZXJhIGJsb3F1w6kuJyxcclxuICAgICdMZXMgdGltZWxpbmVzIGV0IHRyaWdnZXJzIHNlcm9udCBhZmZpY2jDqXMgZGFucyBsZXMgem9uZXMgc3VwcG9ydMOpZXMuJyxcclxuICAgICdUZXN0ZXogcmFpZGJvc3MgYXZlYyB1biAvY291bnRkb3duIGF1eCBWZXJnZXJzIGRcXCdFc3RpdmFsJyxcclxuICBdLFxyXG4gIGphOiBbXHJcbiAgICAn5pON5L2c5omL6aCG77yaJyxcclxuICAgICfjg4fjg5Djg4PjgrDnlKjjga7jg4bjgq3jgrnjg4jjgafjgZnjgIInLFxyXG4gICAgJ+mdkuiJsuOBruOCquODvOODkOODvOODrOOCpOOCkicsXHJcbiAgICAn44Ot44OD44Kv44GZ44KM44Gw5raI44GI44KL44CCJyxcclxuICAgICfjgrXjg53jg7zjg4jjgZnjgovjgr7jg7zjg7Pjgavjgr/jgqTjg6Djg6njgqTjg7Pjgajjg4jjg6rjgqzjg7zjg4bjgq3jgrnjg4jjgYzooajnpLrjgafjgY3jgovjgIInLFxyXG4gICAgJ+OCteODnuODvOODleOCqeODvOODieW6hOOBqy9jb3VudGRvd27jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgIFyYWlkYm9zc+OCkuODhuOCueODiOOBp+OBjeOCi+OAgicsXHJcbiAgXSxcclxuICBjbjogW1xyXG4gICAgJ+ivt+aMieS7peS4i+atpemqpOaTjeS9nO+8micsXHJcbiAgICAn6L+Z5piv5L6b55So5oi36LCD5pW05oKs5rWu56qX5aSn5bCP55qE6LCD6K+V55So5paH5pysJyxcclxuICAgICflvZPkvaDplIHlrprmraTok53oibLog4zmma/nmoTmgqzmta7nqpcnLFxyXG4gICAgJ+ivpeaWh+acrOWNs+S8mua2iOWkseOAgicsXHJcbiAgICAn5Zyo5pSv5oyB55qE5Yy65Z+f5Lit5Lya6Ieq5Yqo5Yqg6L295pe26Ze06L205ZKM6Kem5Y+R5Zmo44CCJyxcclxuICAgICflj6/lnKjnm5vlpI/lhpzluoTkvb/nlKgvY291bnRkb3du5ZG95Luk5rWL6K+V6K+lcmFpZGJvc3PmqKHlnZfjgIInLFxyXG4gIF0sXHJcbiAga286IFtcclxuICAgICc87KGw7J6RIOyEpOuqhT4nLFxyXG4gICAgJ+2BrOq4sCDsobDsoJXsnYQg7JyE7ZWcIOuUlOuyhOq3uCDssL3snoXri4jri6QnLFxyXG4gICAgJ+2MjOuegCDrsLDqsr3qs7wg7J20IO2FjeyKpO2KuOuKlCcsXHJcbiAgICAn7Jik67KE66CI7J2066W8IOychOy5mOyeoOq4iO2VmOuptCDsgqzrnbzsp5Hri4jri6QnLFxyXG4gICAgJ+yngOybkOuQmOuKlCDqtazsl63sl5DshJwg7YOA7J6E65287J246rO8IO2KuOumrOqxsOqwgCDtkZzsi5zrkKnri4jri6QnLFxyXG4gICAgJ+yXrOumhOyXrOyauCDrho3snqXsl5DshJwg7LSI7J296riw66W8IOyLpO2Wie2VmOyXrCDthYzsiqTtirgg7ZW067O8IOyImCDsnojsirXri4jri6QnLFxyXG4gIF0sXHJcbn07XHJcblxyXG4vLyBCZWNhdXNlIGFwcGFyZW50bHkgcGVvcGxlIGRvbid0IHVuZGVyc3RhbmQgdXBwZXJjYXNlIGdyZWVrIGxldHRlcnMsXHJcbi8vIGFkZCBhIHNwZWNpYWwgY2FzZSB0byBub3QgdXBwZXJjYXNlIHRoZW0uXHJcbmNvbnN0IHRyaWdnZXJVcHBlckNhc2UgPSAoc3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiBzdHIucmVwbGFjZSgvW17Osc6yzrPOtF0vZywgKHgpID0+IHgudG9VcHBlckNhc2UoKSk7XHJcbn07XHJcblxyXG4vLyBEaXNhYmxlIG5vLWV4cGxpY2l0LWFueSBkdWUgdG8gY2F0Y2ggY2xhdXNlcyByZXF1aXJpbmcgYW55XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbmNvbnN0IG9uVHJpZ2dlckV4Y2VwdGlvbiA9ICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLCBlOiBhbnkpID0+IHtcclxuICAvLyBXaGVuIGEgZmlnaHQgZW5kcyBhbmQgdGhlcmUgYXJlIG9wZW4gcHJvbWlzZXMsIGZyb20gZGVsYXlTZWNvbmRzIG9yIHByb21pc2UgaXRzZWxmLFxyXG4gIC8vIGFsbCBwcm9taXNlcyB3aWxsIGJlIHJlamVjdGVkLiAgSW4gdGhpcyBjYXNlIHRoZXJlIGlzIG5vIGVycm9yOyBzaW1wbHkgcmV0dXJuIHdpdGhvdXQgbG9nZ2luZy5cclxuICBpZiAoIWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBzdHIgPSAnRXJyb3IgaW4gdHJpZ2dlcjogJyArICh0cmlnZ2VyLmlkID8gdHJpZ2dlci5pZCA6ICdbdW5rbm93biB0cmlnZ2VyIGlkXScpO1xyXG5cclxuICBpZiAodHJpZ2dlci5maWxlbmFtZSlcclxuICAgIHN0ciArPSAnICgnICsgdHJpZ2dlci5maWxlbmFtZSArICcpJztcclxuICBjb25zb2xlLmVycm9yKHN0cik7XHJcblxyXG4gIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgIGNvbnN0IGxpbmVzID0gZS5zdGFjaz8uc3BsaXQoJ1xcbicpID8/IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSlcclxuICAgICAgY29uc29sZS5lcnJvcihsaW5lc1tpXSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3Qgc291bmRzID0gWydBbGFybScsICdBbGVydCcsICdJbmZvJywgJ0xvbmcnLCAnUHVsbCddIGFzIGNvbnN0O1xyXG5jb25zdCBzb3VuZFN0cnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gc291bmRzO1xyXG5cclxudHlwZSBTb3VuZCA9IHR5cGVvZiBzb3VuZHNbbnVtYmVyXTtcclxudHlwZSBTb3VuZFR5cGUgPSBgJHtTb3VuZH1Tb3VuZGA7XHJcbnR5cGUgU291bmRUeXBlVm9sdW1lID0gYCR7U291bmRUeXBlfVZvbHVtZWA7XHJcblxyXG5jb25zdCB0ZXh0cyA9IFsnaW5mbycsICdhbGVydCcsICdhbGFybSddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgVGV4dCA9IHR5cGVvZiB0ZXh0c1tudW1iZXJdO1xyXG50eXBlIFRleHRVcHBlciA9IGAke0NhcGl0YWxpemU8VGV4dD59YDtcclxuZXhwb3J0IHR5cGUgVGV4dFRleHQgPSBgJHtUZXh0fVRleHRgO1xyXG50eXBlIFRleHRVcHBlclRleHQgPSBgJHtUZXh0VXBwZXJ9VGV4dGA7XHJcblxyXG50eXBlIFRleHRNYXAgPSB7XHJcbiAgW3RleHQgaW4gVGV4dF06IHtcclxuICAgIHRleHQ6IFRleHRUZXh0O1xyXG4gICAgdXBwZXJUZXh0OiBUZXh0VXBwZXJUZXh0O1xyXG4gICAgdXBwZXJTb3VuZDogU291bmRUeXBlO1xyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogU291bmRUeXBlVm9sdW1lO1xyXG4gICAgcnVtYmxlRHVyYXRpb246IGAke1RleHRVcHBlcn1SdW1ibGVEdXJhdGlvbmA7XHJcbiAgICBydW1ibGVXZWFrOiBgJHtUZXh0VXBwZXJ9UnVtYmxlV2Vha2A7XHJcbiAgICBydW1ibGVTdHJvbmc6IGAke1RleHRVcHBlcn1SdW1ibGVTdHJvbmdgO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHRleHRNYXA6IFRleHRNYXAgPSB7XHJcbiAgaW5mbzoge1xyXG4gICAgdGV4dDogJ2luZm9UZXh0JyxcclxuICAgIHVwcGVyVGV4dDogJ0luZm9UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdJbmZvU291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICBydW1ibGVEdXJhdGlvbjogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnSW5mb1J1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnSW5mb1J1bWJsZVN0cm9uZycsXHJcbiAgfSxcclxuICBhbGVydDoge1xyXG4gICAgdGV4dDogJ2FsZXJ0VGV4dCcsXHJcbiAgICB1cHBlclRleHQ6ICdBbGVydFRleHQnLFxyXG4gICAgdXBwZXJTb3VuZDogJ0FsZXJ0U291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgcnVtYmxlRHVyYXRpb246ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgIHJ1bWJsZVdlYWs6ICdBbGVydFJ1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnQWxlcnRSdW1ibGVTdHJvbmcnLFxyXG4gIH0sXHJcbiAgYWxhcm06IHtcclxuICAgIHRleHQ6ICdhbGFybVRleHQnLFxyXG4gICAgdXBwZXJUZXh0OiAnQWxhcm1UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdBbGFybVNvdW5kJyxcclxuICAgIHVwcGVyU291bmRWb2x1bWU6ICdBbGFybVNvdW5kVm9sdW1lJyxcclxuICAgIHJ1bWJsZUR1cmF0aW9uOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnQWxhcm1SdW1ibGVXZWFrJyxcclxuICAgIHJ1bWJsZVN0cm9uZzogJ0FsYXJtUnVtYmxlU3Ryb25nJyxcclxuICB9LFxyXG59O1xyXG5cclxuLy8gSGVscGVyIGZvciBoYW5kbGluZyB0cmlnZ2VyIG92ZXJyaWRlcy5cclxuLy9cclxuLy8gYXNMaXN0IHdpbGwgcmV0dXJuIGEgbGlzdCBvZiB0cmlnZ2VycyBpbiB0aGUgc2FtZSBvcmRlciBhcyBhcHBlbmQgd2FzIGNhbGxlZCwgZXhjZXB0OlxyXG4vLyBJZiBhIGxhdGVyIHRyaWdnZXIgaGFzIHRoZSBzYW1lIGlkIGFzIGEgcHJldmlvdXMgdHJpZ2dlciwgaXQgd2lsbCByZXBsYWNlIHRoZSBwcmV2aW91cyB0cmlnZ2VyXHJcbi8vIGFuZCBhcHBlYXIgaW4gdGhlIHNhbWUgb3JkZXIgdGhhdCB0aGUgcHJldmlvdXMgdHJpZ2dlciBhcHBlYXJlZC5cclxuLy8gZS5nLiBhLCBiMSwgYywgYjIgKHdoZXJlIGIxIGFuZCBiMiBzaGFyZSB0aGUgc2FtZSBpZCkgeWllbGRzIFthLCBiMiwgY10gYXMgdGhlIGZpbmFsIGxpc3QuXHJcbi8vXHJcbi8vIEphdmFTY3JpcHQgZGljdGlvbmFyaWVzIGFyZSAqYWxtb3N0KiBvcmRlcmVkIGF1dG9tYXRpY2FsbHkgYXMgd2Ugd291bGQgd2FudCxcclxuLy8gYnV0IHdhbnQgdG8gaGFuZGxlIG1pc3NpbmcgaWRzIGFuZCBpbnRlZ2VyIGlkcyAoeW91IHNob3VsZG4ndCwgYnV0IGp1c3QgaW4gY2FzZSkuXHJcbmNsYXNzIE9yZGVyZWRUcmlnZ2VyTGlzdCB7XHJcbiAgdHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIGlkVG9JbmRleDogeyBbaWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG4gIHB1c2godHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcikge1xyXG4gICAgY29uc3QgaWR4ID0gdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkID8gdGhpcy5pZFRvSW5kZXhbdHJpZ2dlci5pZF0gOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoaWR4ICE9PSB1bmRlZmluZWQgJiYgdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG9sZFRyaWdnZXIgPSB0aGlzLnRyaWdnZXJzW2lkeF07XHJcblxyXG4gICAgICBpZiAob2xkVHJpZ2dlciA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIC8vIFRPRE86IGJlIHZlcmJvc2Ugbm93IHdoaWxlIHRoaXMgaXMgZnJlc2gsIGJ1dCBoaWRlIHRoaXMgb3V0cHV0IGJlaGluZCBkZWJ1ZyBmbGFncyBsYXRlci5cclxuICAgICAgY29uc3QgdHJpZ2dlckZpbGUgPVxyXG4gICAgICAgICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyKSA9PiB0cmlnZ2VyLmZpbGVuYW1lID8gYCcke3RyaWdnZXIuZmlsZW5hbWV9J2AgOiAndXNlciBvdmVycmlkZSc7XHJcbiAgICAgIGNvbnN0IG9sZEZpbGUgPSB0cmlnZ2VyRmlsZShvbGRUcmlnZ2VyKTtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHRyaWdnZXJGaWxlKHRyaWdnZXIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhgT3ZlcnJpZGluZyAnJHt0cmlnZ2VyLmlkfScgZnJvbSAke29sZEZpbGV9IHdpdGggJHtuZXdGaWxlfS5gKTtcclxuXHJcbiAgICAgIHRoaXMudHJpZ2dlcnNbaWR4XSA9IHRyaWdnZXI7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBOb3JtYWwgY2FzZSBvZiBhIG5ldyB0cmlnZ2VyLCB3aXRoIG5vIG92ZXJyaWRpbmcuXHJcbiAgICBpZiAodHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLmlkVG9JbmRleFt0cmlnZ2VyLmlkXSA9IHRoaXMudHJpZ2dlcnMubGVuZ3RoO1xyXG4gICAgdGhpcy50cmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gIH1cclxuXHJcbiAgYXNMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlcnM7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBpc09iamVjdCA9ICh4OiB1bmtub3duKTogeCBpcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9PiB4IGluc3RhbmNlb2YgT2JqZWN0O1xyXG5cclxuLy8gVXNlciB0cmlnZ2VyIG1heSBwYXNzIGFueXRoaW5nIGFzIHBhcmFtZXRlcnNcclxudHlwZSBUcmlnZ2VyUGFyYW1zID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcblxyXG5jbGFzcyBUcmlnZ2VyT3V0cHV0UHJveHkge1xyXG4gIHB1YmxpYyBvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzO1xyXG4gIHB1YmxpYyBvdmVycmlkZVN0cmluZ3M6IE91dHB1dFN0cmluZ3MgPSB7fTtcclxuICBwdWJsaWMgcmVzcG9uc2VPdXRwdXRTdHJpbmdzOiB7IFtvdXRwdXROYW1lOiBzdHJpbmddOiB1bmtub3duIH0gPSB7fTtcclxuICBwdWJsaWMgdW5rbm93blZhbHVlID0gJz8/Pyc7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIHB1YmxpYyBkaXNwbGF5TGFuZzogTGFuZyxcclxuICAgIHB1YmxpYyBwZXJUcmlnZ2VyQXV0b0NvbmZpZz86IFBlclRyaWdnZXJBdXRvQ29uZmlnKSB7XHJcbiAgICB0aGlzLm91dHB1dFN0cmluZ3MgPSB0cmlnZ2VyLm91dHB1dFN0cmluZ3MgPz8ge307XHJcblxyXG4gICAgaWYgKHRyaWdnZXIuaWQgJiYgcGVyVHJpZ2dlckF1dG9Db25maWcpIHtcclxuICAgICAgY29uc3QgY29uZmlnID0gcGVyVHJpZ2dlckF1dG9Db25maWdbdHJpZ2dlci5pZF07XHJcbiAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLk91dHB1dFN0cmluZ3MpXHJcbiAgICAgICAgdGhpcy5vdmVycmlkZVN0cmluZ3MgPSBjb25maWcuT3V0cHV0U3RyaW5ncztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcclxuICAgICAgLy8gUmVzcG9uc2Ugb3V0cHV0IHN0cmluZyBzdWJ0bGV0eTpcclxuICAgICAgLy8gVGFrZSB0aGlzIGV4YW1wbGUgcmVzcG9uc2U6XHJcbiAgICAgIC8vXHJcbiAgICAgIC8vICAgIHJlc3BvbnNlOiAoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vICAgICAgcmV0dXJuIHtcclxuICAgICAgLy8gICAgICAgIGFsYXJtVGV4dDogb3V0cHV0LnNvbWVBbGFybSgpLFxyXG4gICAgICAvLyAgICAgICAgb3V0cHV0U3RyaW5nczogeyBzb21lQWxhcm06ICdzdHJpbmcnIH0sIC8vIDwtIGltcG9zc2libGVcclxuICAgICAgLy8gICAgICB9O1xyXG4gICAgICAvLyAgICB9LFxyXG4gICAgICAvL1xyXG4gICAgICAvLyBCZWNhdXNlIHRoZSBvYmplY3QgYmVpbmcgcmV0dXJuZWQgaXMgZXZhbHVhdGVkIGFsbCBhdCBvbmNlLCB0aGUgb2JqZWN0XHJcbiAgICAgIC8vIGNhbm5vdCBzaW11bHRhbmVvdXNseSBkZWZpbmUgb3V0cHV0U3RyaW5ncyBhbmQgdXNlIHRob3NlIG91dHB1dFN0cmluZ3MuXHJcbiAgICAgIC8vIFNvLCBpbnN0ZWFkLCByZXNwb25zZXMgbmVlZCB0byBzZXQgYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3NgLlxyXG4gICAgICAvLyBIT1dFVkVSLCB0aGlzIGFsc28gaGFzIGl0cyBvd24gaXNzdWVzISAgVGhpcyB2YWx1ZSBpcyBzZXQgZm9yIHRoZSB0cmlnZ2VyXHJcbiAgICAgIC8vICh3aGljaCBtYXkgaGF2ZSBtdWx0aXBsZSBhY3RpdmUgaW4gZmxpZ2h0IGluc3RhbmNlcykuICBUaGlzICpzaG91bGQqIGJlXHJcbiAgICAgIC8vIG9rIGJlY2F1c2Ugd2UgZ3VhcmFudGVlIHRoYXQgcmVzcG9uc2UvYWxhcm1UZXh0L2FsZXJ0VGV4dC9pbmZvVGV4dC90dHNcclxuICAgICAgLy8gYXJlIGV2YWx1YXRlZCBzZXF1ZW50aWFsbHkgZm9yIGEgc2luZ2xlIHRyaWdnZXIgYmVmb3JlIGFueSBvdGhlciB0cmlnZ2VyXHJcbiAgICAgIC8vIGluc3RhbmNlIGV2YWx1YXRlcyB0aGF0IHNldCBvZiB0cmlnZ2Vycy4gIEZpbmFsbHksIGZvciBlYXNlIG9mIGF1dG9tYXRpbmdcclxuICAgICAgLy8gdGhlIGNvbmZpZyB1aSwgdGhlIHJlc3BvbnNlIHNob3VsZCByZXR1cm4gdGhlIGV4YWN0IHNhbWUgc2V0IG9mXHJcbiAgICAgIC8vIG91dHB1dFN0cmluZ3MgZXZlcnkgdGltZS4gIFRoYW5rIHlvdSBmb3IgY29taW5nIHRvIG15IFRFRCB0YWxrLlxyXG4gICAgICBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdyZXNwb25zZU91dHB1dFN0cmluZ3MnKSB7XHJcbiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRhcmdldFtwcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHJlc3BvbnNlT3V0cHV0U3RyaW5ncyBvbiB0cmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQmUga2luZCB0byB1c2VyIHRyaWdnZXJzIHRoYXQgZG8gd2VpcmQgdGhpbmdzLCBhbmQganVzdCBjb25zb2xlIGVycm9yIHRoaXNcclxuICAgICAgICAvLyBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGV4Y2VwdGlvbi5cclxuICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHByb3BlcnR5ICcke1N0cmluZyhwcm9wZXJ0eSl9JyBvbiBvdXRwdXQuYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KHRhcmdldCwgbmFtZSkge1xyXG4gICAgICAgIC8vIFRPRE86IGFkZCBhIHRlc3QgdGhhdCB2ZXJpZmllcyBub2JvZHkgZG9lcyB0aGlzLlxyXG4gICAgICAgIGlmIChuYW1lID09PSAndG9KU09OJyB8fCB0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycpXHJcbiAgICAgICAgICByZXR1cm4gJ3t9JztcclxuXHJcbiAgICAgICAgLy8gQmVjYXVzZSBvdXRwdXQuZnVuYygpIG11c3QgZXhpc3QgYXQgdGhlIHRpbWUgb2YgdHJpZ2dlciBldmFsLFxyXG4gICAgICAgIC8vIGFsd2F5cyBwcm92aWRlIGEgZnVuY3Rpb24gZXZlbiBiZWZvcmUgd2Uga25vdyB3aGljaCBrZXlzIGFyZSB2YWxpZC5cclxuICAgICAgICByZXR1cm4gKHBhcmFtczogVHJpZ2dlclBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB0YXJnZXQudHJpZ2dlci5pZCA/PyAnVW5rbm93biBUcmlnZ2VyJztcclxuXHJcbiAgICAgICAgICAvLyBQcmlvcml0eTogcGVyLXRyaWdnZXIgY29uZmlnIGZyb20gdWkgPiByZXNwb25zZSA+IGJ1aWx0LWluIHRyaWdnZXJcclxuICAgICAgICAgIC8vIElkZWFsbHksIHJlc3BvbnNlIHByb3ZpZGVzIGV2ZXJ5dGhpbmcgYW5kIHRyaWdnZXIgcHJvdmlkZXMgbm90aGluZyxcclxuICAgICAgICAgIC8vIG9yIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgYW5kIHRyaWdnZXIgcHJvdmlkZXMgZXZlcnl0aGluZy4gIEhhdmluZ1xyXG4gICAgICAgICAgLy8gdGhpcyB3ZWxsLWRlZmluZWQgc21vb3RocyBvdXQgdGhlIGNvbGxpc2lvbiBlZGdlIGNhc2VzLlxyXG4gICAgICAgICAgbGV0IHN0ciA9IHRhcmdldC5nZXRSZXBsYWNlbWVudCh0YXJnZXQub3ZlcnJpZGVTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZVN0cmluZyA9IHRhcmdldC5yZXNwb25zZU91dHB1dFN0cmluZ3NbbmFtZV07XHJcbiAgICAgICAgICAgIGlmIChpc09iamVjdChyZXNwb25zZVN0cmluZykpXHJcbiAgICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHJlc3BvbnNlU3RyaW5nLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHRhcmdldC5vdXRwdXRTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJyd9IGhhcyBtaXNzaW5nIG91dHB1dFN0cmluZyAke25hbWV9LmApO1xyXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnVua25vd25WYWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHI7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVwbGFjZW1lbnQoXHJcbiAgICAvLyBDYW4ndCB1c2Ugb3B0aW9uYWwgbW9kaWZpZXIgZm9yIHRoaXMgYXJnIHNpbmNlIHRoZSBvdGhlcnMgYXJlbid0IG9wdGlvbmFsXHJcbiAgICB0ZW1wbGF0ZTogeyBbbGFuZzogc3RyaW5nXTogdW5rbm93biB9IHwgc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zOiBUcmlnZ2VyUGFyYW1zLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRlbXBsYXRlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IHZhbHVlOiB1bmtub3duO1xyXG4gICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIC8vIHVzZXIgY29uZmlnXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGVbdGhpcy5kaXNwbGF5TGFuZ10gPz8gdGVtcGxhdGVbJ2VuJ107XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgaW52YWxpZCBvdXRwdXRTdHJpbmcgJHtuYW1lfS5gLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcJHtcXHMqKFtefVxcc10rKVxccyp9L2csIChfZnVsbE1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXMgJiYga2V5IGluIHBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHN0ciA9IHBhcmFtc1trZXldO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHN0cikge1xyXG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgIHJldHVybiBzdHIudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgbm9uLXN0cmluZyBwYXJhbSB2YWx1ZSAke2tleX0uYCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudW5rbm93blZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH0gY2FuJ3QgcmVwbGFjZSAke2tleX0gaW4gJHtKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSl9LmApO1xyXG4gICAgICByZXR1cm4gdGhpcy51bmtub3duVmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYWtlT3V0cHV0KFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIGRpc3BsYXlMYW5nOiBMYW5nLFxyXG4gICAgcGVyVHJpZ2dlckF1dG9Db25maWc/OiBQZXJUcmlnZ2VyQXV0b0NvbmZpZyk6IE91dHB1dCB7XHJcbiAgICAvLyBgT3V0cHV0YCBpcyB0aGUgY29tbW9uIHR5cGUgdXNlZCBmb3IgdGhlIHRyaWdnZXIgZGF0YSBpbnRlcmZhY2UgdG8gc3VwcG9ydCBhcmJpdHJhcnlcclxuICAgIC8vIHN0cmluZyBrZXlzIGFuZCBhbHdheXMgcmV0dXJucyBhIHN0cmluZy4gSG93ZXZlciwgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgZ29vZCBzdXBwb3J0XHJcbiAgICAvLyBmb3IgdGhlIFByb3h5IHJlcHJlc2VudGluZyB0aGlzIHN0cnVjdHVyZSBzbyB3ZSBuZWVkIHRvIGNhc3QgUHJveHkgPT4gdW5rbm93biA9PiBPdXRwdXRcclxuICAgIHJldHVybiBuZXcgVHJpZ2dlck91dHB1dFByb3h5KHRyaWdnZXIsIGRpc3BsYXlMYW5nLFxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZykgYXMgdW5rbm93biBhcyBPdXRwdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSYWlkYm9zc1RyaWdnZXJGaWVsZCA9XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+PiB8XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPj47XHJcbmV4cG9ydCB0eXBlIFJhaWRib3NzVHJpZ2dlck91dHB1dCA9IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPiB8XHJcbiAgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuXHJcbmNvbnN0IGRlZmF1bHRPdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh7fSwgJ2VuJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJIZWxwZXIge1xyXG4gIHZhbHVlT3JGdW5jdGlvbjogKGY6IFJhaWRib3NzVHJpZ2dlckZpZWxkKSA9PiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQ7XHJcbiAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcjtcclxuICBub3c6IG51bWJlcjtcclxuICB0cmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbjtcclxuICB0cmlnZ2VyQXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWc7XHJcbiAgLy8gVGhpcyBzZXR0aW5nIG9ubHkgc3VwcHJlc3NlcyBvdXRwdXQsIHRyaWdnZXIgc3RpbGwgcnVucyBmb3IgZGF0YS9sb2dpYyBwdXJwb3Nlc1xyXG4gIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBib29sZWFuO1xyXG4gIG1hdGNoZXM6IE1hdGNoZXM7XHJcbiAgcmVzcG9uc2U/OiBSZXNwb25zZU91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIC8vIERlZmF1bHQgb3B0aW9uc1xyXG4gIHNvdW5kVXJsPzogc3RyaW5nO1xyXG4gIHNvdW5kVm9sPzogbnVtYmVyO1xyXG4gIHRyaWdnZXJTb3VuZFZvbD86IG51bWJlcjtcclxuICBkZWZhdWx0VFRTVGV4dD86IHN0cmluZztcclxuICB0ZXh0QWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBzb3VuZEFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc3Bva2VuQWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgZHVyYXRpb24/OiB7XHJcbiAgICBmcm9tQ29uZmlnPzogbnVtYmVyO1xyXG4gICAgZnJvbVRyaWdnZXI/OiBudW1iZXI7XHJcbiAgICBhbGFybVRleHQ6IG51bWJlcjtcclxuICAgIGFsZXJ0VGV4dDogbnVtYmVyO1xyXG4gICAgaW5mb1RleHQ6IG51bWJlcjtcclxuICB9O1xyXG4gIHR0c1RleHQ/OiBzdHJpbmc7XHJcbiAgcnVtYmxlRHVyYXRpb25Ncz86IG51bWJlcjtcclxuICBydW1ibGVXZWFrPzogbnVtYmVyO1xyXG4gIHJ1bWJsZVN0cm9uZz86IG51bWJlcjtcclxuICBvdXRwdXQ6IE91dHB1dDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBvcHVwVGV4dCB7XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJzOiBQcm9jZXNzZWRUcmlnZ2VyW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgbmV0VHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB0aW1lcnM6IHsgW3RyaWdnZXJJZDogbnVtYmVyXTogYm9vbGVhbiB9ID0ge307XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJTdXBwcmVzczogeyBbdHJpZ2dlcklkOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCBjdXJyZW50VHJpZ2dlcklEID0gMDtcclxuICBwcm90ZWN0ZWQgaW5Db21iYXQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgcmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG4gIC8vIFRoZXNlIGFyZSBkZWxpYmVyYXRlbHkgYHwgbnVsbGAgZm9yIHJhaWRlbXVsYXRvciBleHRlbmRhYmlsaXR5IHJlYXNvbnNcclxuICBwcm90ZWN0ZWQgaW5mb1RleHQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBwcm90ZWN0ZWQgYWxlcnRUZXh0OiBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgcHJvdGVjdGVkIGFsYXJtVGV4dDogSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gIHByb3RlY3RlZCBwYXJzZXJMYW5nOiBMYW5nO1xyXG4gIHByb3RlY3RlZCBkaXNwbGF5TGFuZzogTGFuZztcclxuICBwcm90ZWN0ZWQgdHRzRW5naW5lPzogQnJvd3NlclRUU0VuZ2luZTtcclxuICBwcm90ZWN0ZWQgdHRzU2F5OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIHByb3RlY3RlZCBwYXJ0eVRyYWNrZXIgPSBuZXcgUGFydHlUcmFja2VyKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGtNYXhSb3dzT2ZUZXh0ID0gMjtcclxuICBwcm90ZWN0ZWQgZGF0YTogUmFpZGJvc3NEYXRhO1xyXG4gIHByb3RlY3RlZCBtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCBqb2I6IEpvYiA9ICdOT05FJztcclxuICBwcm90ZWN0ZWQgcm9sZTogUm9sZSA9ICdub25lJztcclxuICBwcm90ZWN0ZWQgdHJpZ2dlclNldHM6IFByb2Nlc3NlZFRyaWdnZXJTZXRbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB6b25lTmFtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCB6b25lSWQgPSAtMTtcclxuICBwcm90ZWN0ZWQgZGF0YUluaXRpYWxpemVyczoge1xyXG4gICAgZmlsZTogc3RyaW5nO1xyXG4gICAgZnVuYzogRGF0YUluaXRpYWxpemVGdW5jPFJhaWRib3NzRGF0YT47XHJcbiAgfVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB0aW1lbGluZUxvYWRlcjogVGltZWxpbmVMb2FkZXIsXHJcbiAgICBwcm90ZWN0ZWQgcmFpZGJvc3NEYXRhRmlsZXM6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyID0gdGltZWxpbmVMb2FkZXI7XHJcbiAgICB0aGlzLlByb2Nlc3NEYXRhRmlsZXMocmFpZGJvc3NEYXRhRmlsZXMpO1xyXG5cclxuICAgIHRoaXMuaW5mb1RleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtdGV4dC1pbmZvJyk7XHJcbiAgICB0aGlzLmFsZXJ0VGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsZXJ0Jyk7XHJcbiAgICB0aGlzLmFsYXJtVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsYXJtJyk7XHJcblxyXG4gICAgdGhpcy5wYXJzZXJMYW5nID0gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcbiAgICB0aGlzLmRpc3BsYXlMYW5nID0gdGhpcy5vcHRpb25zLkFsZXJ0c0xhbmd1YWdlID8/IHRoaXMub3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPz8gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5Jc1JlbW90ZVJhaWRib3NzKSB7XHJcbiAgICAgIHRoaXMudHRzRW5naW5lID0gbmV3IEJyb3dzZXJUVFNFbmdpbmUodGhpcy5kaXNwbGF5TGFuZyk7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLnR0c0VuZ2luZT8ucGxheSh0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpKTtcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7XHJcbiAgICAgICAgICBjYWxsOiAnY2FjdGJvdFNheScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZ2V0RGF0YU9iamVjdCgpO1xyXG5cclxuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHVzZXIgaW50ZXJhY3Rpb24gdG8gcGxheSBhdWRpb1xyXG4gICAgLy8gb25seSBpZiBhdWRpbyBpcyBlbmFibGVkIGluIG9wdGlvbnNcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuQXVkaW9BbGxvd2VkKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5DaGVja0FuZFByb21wdCgpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuICAgIHRoaXMuQWRkRGVidWdJbnN0cnVjdGlvbnMoKTtcclxuICAgIHRoaXMuSG9va092ZXJsYXlzKCk7XHJcbiAgfVxyXG5cclxuICBBZGREZWJ1Z0luc3RydWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHJhaWRib3NzSW5zdHJ1Y3Rpb25zW3RoaXMuZGlzcGxheUxhbmddLmZvckVhY2goKGxpbmUsIGkpID0+IHtcclxuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpbnN0cnVjdGlvbnMtJHtpfWApO1xyXG4gICAgICBpZiAoIWVsZW0pXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBlbGVtLmlubmVySFRNTCA9IGxpbmU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEhvb2tPdmVybGF5cygpOiB2b2lkIHtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5wYXJ0eVRyYWNrZXIub25QYXJ0eUNoYW5nZWQoZSk7XHJcbiAgICB9KTtcclxuICAgIGFkZFBsYXllckNoYW5nZWRPdmVycmlkZUxpc3RlbmVyKChlOiBQbGF5ZXJDaGFuZ2VkRGV0YWlsKSA9PiB7XHJcbiAgICAgIHRoaXMuT25QbGF5ZXJDaGFuZ2UoZSk7XHJcbiAgICB9LCB0aGlzLm9wdGlvbnMuUGxheWVyTmFtZU92ZXJyaWRlKTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignQ2hhbmdlWm9uZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuT25DaGFuZ2Vab25lKGUpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uSW5Db21iYXRDaGFuZ2VkRXZlbnQnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLk9uSW5Db21iYXRDaGFuZ2UoZS5kZXRhaWwuaW5HYW1lQ29tYmF0KTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvbkxvZ0V2ZW50JywgKGUpID0+IHtcclxuICAgICAgdGhpcy5PbkxvZyhlKTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdMb2dMaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5Pbk5ldExvZyhlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgT25QbGF5ZXJDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuam9iICE9PSBlLmRldGFpbC5qb2IgfHwgdGhpcy5tZSAhPT0gZS5kZXRhaWwubmFtZSlcclxuICAgICAgdGhpcy5PbkpvYkNoYW5nZShlKTtcclxuICAgIHRoaXMuZGF0YS5jdXJyZW50SFAgPSBlLmRldGFpbC5jdXJyZW50SFA7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzRGF0YUZpbGVzKGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyaWdnZXJTZXRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwganNvbl0gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy5qcycpICYmICFmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBpZiAodHlwZW9mIGpzb24gIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGFuIGFycmF5Jyk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFqc29uLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGEgdHJpZ2dlcnMnKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIGpzb24udHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8ICEoanNvbi50cmlnZ2Vycy5sZW5ndGggPj0gMCkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5leHBlY3RlZCBKU09OIGZyb20gJyArIGZpbGVuYW1lICsgJywgZXhwZWN0ZWQgdHJpZ2dlcnMgdG8gYmUgYW4gYXJyYXknKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwcm9jZXNzZWRTZXQgPSB7XHJcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lLFxyXG4gICAgICAgIC4uLmpzb24sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudHJpZ2dlclNldHMucHVzaChwcm9jZXNzZWRTZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZXIgdHJpZ2dlcnMgbXVzdCBjb21lIGxhc3Qgc28gdGhhdCB0aGV5IG92ZXJyaWRlIGJ1aWx0LWluIGZpbGVzLlxyXG4gICAgdGhpcy50cmlnZ2VyU2V0cy5wdXNoKC4uLnRoaXMub3B0aW9ucy5UcmlnZ2Vycyk7XHJcbiAgfVxyXG5cclxuICBPbkNoYW5nZVpvbmUoZTogRXZlbnRSZXNwb25zZXNbJ0NoYW5nZVpvbmUnXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuem9uZU5hbWUgIT09IGUuem9uZU5hbWUpIHtcclxuICAgICAgdGhpcy56b25lTmFtZSA9IGUuem9uZU5hbWU7XHJcbiAgICAgIHRoaXMuem9uZUlkID0gZS56b25lSUQ7XHJcbiAgICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBSZWxvYWRUaW1lbGluZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudHJpZ2dlclNldHMgfHwgIXRoaXMubWUgfHwgIXRoaXMuem9uZU5hbWUgfHwgIXRoaXMudGltZWxpbmVMb2FkZXIuSXNSZWFkeSgpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gRHJvcCB0aGUgdHJpZ2dlcnMgYW5kIHRpbWVsaW5lcyBmcm9tIHRoZSBwcmV2aW91cyB6b25lLCBzbyB3ZSBjYW4gYWRkIG5ldyBvbmVzLlxyXG4gICAgdGhpcy50cmlnZ2VycyA9IFtdO1xyXG4gICAgdGhpcy5uZXRUcmlnZ2VycyA9IFtdO1xyXG4gICAgbGV0IHRpbWVsaW5lRmlsZXMgPSBbXTtcclxuICAgIGxldCB0aW1lbGluZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSA9IFtdO1xyXG4gICAgY29uc3QgdGltZWxpbmVTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IG9yZGVyZWRUcmlnZ2VycyA9IG5ldyBPcmRlcmVkVHJpZ2dlckxpc3QoKTtcclxuXHJcbiAgICAvLyBTb21lIHVzZXIgdGltZWxpbmVzIG1heSByZWx5IG9uIGhhdmluZyB2YWxpZCBpbml0IGRhdGFcclxuICAgIC8vIERvbid0IHVzZSBgdGhpcy5SZXNldCgpYCBzaW5jZSB0aGF0IGNsZWFycyBvdGhlciB0aGluZ3MgYXMgd2VsbFxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5nZXREYXRhT2JqZWN0KCk7XHJcblxyXG4gICAgLy8gUmVjdXJzaXZlbHkvaXRlcmF0aXZlbHkgcHJvY2VzcyB0aW1lbGluZSBlbnRyaWVzIGZvciB0cmlnZ2Vycy5cclxuICAgIC8vIEZ1bmN0aW9ucyBnZXQgY2FsbGVkIHdpdGggZGF0YSwgYXJyYXlzIGdldCBpdGVyYXRlZCwgc3RyaW5ncyBnZXQgYXBwZW5kZWQuXHJcbiAgICBjb25zdCBhZGRUaW1lbGluZSA9IChmdW5jdGlvbih0aGlzOiBQb3B1cFRleHQsIG9iajogVGltZWxpbmVGaWVsZCB8IFRpbWVsaW5lRnVuYyB8IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgYWRkVGltZWxpbmUob2JqKHRoaXMuZGF0YSkpO1xyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRpbWVsaW5lcy5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pLmJpbmQodGhpcyk7XHJcblxyXG4gICAgLy8gY29uc3RydWN0IHNvbWV0aGluZyBsaWtlIHJlZ2V4RGUgb3IgcmVnZXhGci5cclxuICAgIGNvbnN0IGxhbmdTdWZmaXggPSB0aGlzLnBhcnNlckxhbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLnBhcnNlckxhbmcuc2xpY2UoMSk7XHJcbiAgICBjb25zdCByZWdleFBhcnNlckxhbmcgPSAncmVnZXgnICsgbGFuZ1N1ZmZpeDtcclxuICAgIGNvbnN0IG5ldFJlZ2V4UGFyc2VyTGFuZyA9ICduZXRSZWdleCcgKyBsYW5nU3VmZml4O1xyXG5cclxuICAgIGZvciAoY29uc3Qgc2V0IG9mIHRoaXMudHJpZ2dlclNldHMpIHtcclxuICAgICAgLy8gem9uZVJlZ2V4IGNhbiBiZSB1bmRlZmluZWQsIGEgcmVnZXgsIG9yIHRyYW5zbGF0YWJsZSBvYmplY3Qgb2YgcmVnZXguXHJcbiAgICAgIGNvbnN0IGhhdmVab25lUmVnZXggPSAnem9uZVJlZ2V4JyBpbiBzZXQ7XHJcbiAgICAgIGNvbnN0IGhhdmVab25lSWQgPSAnem9uZUlkJyBpbiBzZXQ7XHJcbiAgICAgIGlmICghaGF2ZVpvbmVSZWdleCAmJiAhaGF2ZVpvbmVJZCB8fCBoYXZlWm9uZVJlZ2V4ICYmIGhhdmVab25lSWQpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyIHNldCBtdXN0IGluY2x1ZGUgZXhhY3RseSBvbmUgb2Ygem9uZVJlZ2V4IG9yIHpvbmVJZCBwcm9wZXJ0eWApO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChoYXZlWm9uZUlkICYmIHNldC56b25lSWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gc2V0LmZpbGVuYW1lID8gYCcke3NldC5maWxlbmFtZX0nYCA6ICcodXNlciBmaWxlKSc7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciBzZXQgaGFzIHpvbmVJZCwgYnV0IHdpdGggbm90aGluZyBzcGVjaWZpZWQgaW4gJHtmaWxlbmFtZX0uICBgICtcclxuICAgICAgICAgICAgICAgICAgICAgIGBEaWQgeW91IG1pc3NwZWxsIHRoZSBab25lSWQuWm9uZU5hbWU/YCk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQuem9uZUlkKSB7XHJcbiAgICAgICAgaWYgKHNldC56b25lSWQgIT09IFpvbmVJZC5NYXRjaEFsbCAmJiBzZXQuem9uZUlkICE9PSB0aGlzLnpvbmVJZCAmJiAhKHR5cGVvZiBzZXQuem9uZUlkID09PSAnb2JqZWN0JyAmJiBzZXQuem9uZUlkLmluY2x1ZGVzKHRoaXMuem9uZUlkKSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmIChzZXQuem9uZVJlZ2V4KSB7XHJcbiAgICAgICAgbGV0IHpvbmVSZWdleCA9IHNldC56b25lUmVnZXg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB6b25lUmVnZXggIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCd6b25lUmVnZXggbXVzdCBiZSB0cmFuc2xhdGFibGUgb2JqZWN0IG9yIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZXJMYW5nUmVnZXggPSB6b25lUmVnZXhbdGhpcy5wYXJzZXJMYW5nXTtcclxuICAgICAgICAgIGlmIChwYXJzZXJMYW5nUmVnZXgpIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gcGFyc2VyTGFuZ1JlZ2V4O1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh6b25lUmVnZXhbJ2VuJ10pIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gem9uZVJlZ2V4WydlbiddO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biB6b25lUmVnZXggcGFyc2VyIGxhbmd1YWdlOiAnICsgSlNPTi5zdHJpbmdpZnkoc2V0LnpvbmVSZWdleCkpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3pvbmVSZWdleCBtdXN0IGJlIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnpvbmVOYW1lLnNlYXJjaChSZWdleGVzLnBhcnNlKHpvbmVSZWdleCkpIDwgMClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLkRlYnVnKSB7XHJcbiAgICAgICAgaWYgKHNldC5maWxlbmFtZSlcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nICcgKyBzZXQuZmlsZW5hbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nIHVzZXIgdHJpZ2dlcnMgZm9yIHpvbmUnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgc2V0RmlsZW5hbWUgPSBzZXQuZmlsZW5hbWUgPz8gJ1Vua25vd24nO1xyXG5cclxuICAgICAgaWYgKHNldC5pbml0RGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YUluaXRpYWxpemVycy5wdXNoKHtcclxuICAgICAgICAgIGZpbGU6IHNldEZpbGVuYW1lLFxyXG4gICAgICAgICAgZnVuYzogc2V0LmluaXREYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGp1c3QgdHJpZ2dlcnMgZm9yIHRoZSBwYXJzZXIgbGFuZ3VhZ2UuXHJcbiAgICAgIGlmIChzZXQudHJpZ2dlcnMgJiYgdGhpcy5vcHRpb25zLkFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2Ygc2V0LnRyaWdnZXJzKSB7XHJcbiAgICAgICAgICAvLyBBZGQgYW4gYWRkaXRpb25hbCByZXNvbHZlZCByZWdleCBoZXJlIHRvIHNhdmVcclxuICAgICAgICAgIC8vIHRpbWUgbGF0ZXIuICBUaGlzIHdpbGwgY2xvYmJlciBlYWNoIHRpbWUgd2VcclxuICAgICAgICAgIC8vIGxvYWQgdGhpcywgYnV0IHRoYXQncyBvay5cclxuICAgICAgICAgIHRyaWdnZXIuZmlsZW5hbWUgPSBzZXRGaWxlbmFtZTtcclxuICAgICAgICAgIGNvbnN0IGlkID0gdHJpZ2dlci5pZDtcclxuXHJcbiAgICAgICAgICBpZiAoIWlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpICYmICFpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBoYXMgbm8gcmVnZXggcHJvcGVydHkgc3BlY2lmaWVkYCk7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuUHJvY2Vzc1RyaWdnZXIodHJpZ2dlcik7XHJcblxyXG4gICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgdHJpZ2dlck9iamVjdDogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB0cmlnZ2VyO1xyXG5cclxuICAgICAgICAgIC8vIHBhcnNlci1sYW5ndWFnZS1iYXNlZCByZWdleCB0YWtlcyBwcmVjZWRlbmNlLlxyXG4gICAgICAgICAgaWYgKGlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gdHJpZ2dlck9iamVjdFtyZWdleFBhcnNlckxhbmddID8/IHRyaWdnZXIucmVnZXg7XHJcbiAgICAgICAgICAgIGlmIChyZWdleCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAgIHRyaWdnZXIubG9jYWxSZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXgpO1xyXG4gICAgICAgICAgICAgIG9yZGVyZWRUcmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXRSZWdleCA9IHRyaWdnZXJPYmplY3RbbmV0UmVnZXhQYXJzZXJMYW5nXSA/PyB0cmlnZ2VyLm5ldFJlZ2V4O1xyXG4gICAgICAgICAgICBpZiAobmV0UmVnZXggaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgICB0cmlnZ2VyLmxvY2FsTmV0UmVnZXggPSBSZWdleGVzLnBhcnNlKG5ldFJlZ2V4KTtcclxuICAgICAgICAgICAgICBvcmRlcmVkVHJpZ2dlcnMucHVzaCh0cmlnZ2VyKTtcclxuICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RyaWdnZXIgJyArIHRyaWdnZXIuaWQgKyAnOiBtaXNzaW5nIHJlZ2V4IGFuZCBuZXRSZWdleCcpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQub3ZlcnJpZGVUaW1lbGluZUZpbGUpIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHNldC5maWxlbmFtZSA/IGAnJHtzZXQuZmlsZW5hbWV9J2AgOiAnKHVzZXIgZmlsZSknO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBPdmVycmlkaW5nIHRpbWVsaW5lIGZyb20gJHtmaWxlbmFtZX0uYCk7XHJcblxyXG4gICAgICAgIC8vIElmIHRoZSB0aW1lbGluZSBmaWxlIG92ZXJyaWRlIGlzIHNldCwgYWxsIHByZXZpb3VzbHkgbG9hZGVkIHRpbWVsaW5lIGluZm8gaXMgZHJvcHBlZC5cclxuICAgICAgICAvLyBTdHlsZXMsIHRyaWdnZXJzLCBhbmQgdHJhbnNsYXRpb25zIGFyZSBrZXB0LCBhcyB0aGV5IG1heSBzdGlsbCBhcHBseSB0byB0aGUgbmV3IG9uZS5cclxuICAgICAgICB0aW1lbGluZUZpbGVzID0gW107XHJcbiAgICAgICAgdGltZWxpbmVzID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFuZCBzZXQgdGhlIHRpbWVsaW5lIGZpbGVzL3RpbWVsaW5lcyBmcm9tIGVhY2ggc2V0IHRoYXQgbWF0Y2hlcy5cclxuICAgICAgaWYgKHNldC50aW1lbGluZUZpbGUpIHtcclxuICAgICAgICBpZiAoc2V0LmZpbGVuYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkaXIgPSBzZXQuZmlsZW5hbWUuc3Vic3RyaW5nKDAsIHNldC5maWxlbmFtZS5sYXN0SW5kZXhPZignLycpKTtcclxuICAgICAgICAgIHRpbWVsaW5lRmlsZXMucHVzaChkaXIgKyAnLycgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gTm90ZTogRm9yIHVzZXIgZmlsZXMsIHRoaXMgc2hvdWxkIGdldCBoYW5kbGVkIGJ5IHJhaWRib3NzX2NvbmZpZy5qcyxcclxuICAgICAgICAgIC8vIHdoZXJlIGB0aW1lbGluZUZpbGVgIHNob3VsZCBnZXQgY29udmVydGVkIHRvIGB0aW1lbGluZWAuXHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5cXCd0IHNwZWNpZnkgdGltZWxpbmVGaWxlIGluIG5vbi1tYW5pZmVzdCBmaWxlOicgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQudGltZWxpbmUpXHJcbiAgICAgICAgYWRkVGltZWxpbmUoc2V0LnRpbWVsaW5lKTtcclxuICAgICAgaWYgKHNldC50aW1lbGluZVJlcGxhY2UpXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goLi4uc2V0LnRpbWVsaW5lUmVwbGFjZSk7XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgICAgdGhpcy5Qcm9jZXNzVHJpZ2dlcih0cmlnZ2VyKTtcclxuICAgICAgICAgIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXIgPSB0cnVlO1xyXG4gICAgICAgICAgb3JkZXJlZFRyaWdnZXJzLnB1c2godHJpZ2dlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVTdHlsZXMpXHJcbiAgICAgICAgdGltZWxpbmVTdHlsZXMucHVzaCguLi5zZXQudGltZWxpbmVTdHlsZXMpO1xyXG4gICAgICBpZiAoc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdCAmJj0gc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3JlIGFsbCB0aGUgY29sbGVjdGVkIHRyaWdnZXJzIGluIG9yZGVyLCBhbmQgZmlsdGVyIG91dCBkaXNhYmxlZCB0cmlnZ2Vycy5cclxuICAgIGNvbnN0IGZpbHRlckVuYWJsZWQgPSAodHJpZ2dlcjogTG9vc2VUcmlnZ2VyKSA9PiAhKCdkaXNhYmxlZCcgaW4gdHJpZ2dlciAmJiB0cmlnZ2VyLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IGFsbFRyaWdnZXJzID0gb3JkZXJlZFRyaWdnZXJzLmFzTGlzdCgpLmZpbHRlcihmaWx0ZXJFbmFibGVkKTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJzID0gYWxsVHJpZ2dlcnMuZmlsdGVyKGlzUmVnZXhUcmlnZ2VyKTtcclxuICAgIHRoaXMubmV0VHJpZ2dlcnMgPSBhbGxUcmlnZ2Vycy5maWx0ZXIoaXNOZXRSZWdleFRyaWdnZXIpO1xyXG4gICAgY29uc3QgdGltZWxpbmVUcmlnZ2VycyA9IGFsbFRyaWdnZXJzLmZpbHRlcihpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyLlNldFRpbWVsaW5lcyhcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRpbWVsaW5lVHJpZ2dlcnMsXHJcbiAgICAgIHRpbWVsaW5lU3R5bGVzLFxyXG4gICAgICB0aGlzLnpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzVHJpZ2dlcih0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyIHwgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyKTogdm9pZCB7XHJcbiAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFyZSB1c2VkIGludGVybmFsbHkgYnkgUmVsb2FkVGltZWxpbmVzIG9ubHkgYW5kIHNob3VsZFxyXG4gICAgLy8gbm90IGV4aXN0IG9uIHVzZXIgdHJpZ2dlcnMuICBIb3dldmVyLCB0aGUgdHJpZ2dlciBvYmplY3RzIHRoZW1zZWx2ZXMgYXJlXHJcbiAgICAvLyByZXVzZWQgd2hlbiByZWxvYWRpbmcgcGFnZXMsIGFuZCBzbyBpdCBpcyBpbXBvc3NpYmxlIHRvIHZlcmlmeSB0aGF0XHJcbiAgICAvLyB0aGVzZSBwcm9wZXJ0aWVzIGRvbid0IGV4aXN0LiAgVGhlcmVmb3JlLCBqdXN0IGRlbGV0ZSB0aGVtIHNpbGVudGx5LlxyXG4gICAgaWYgKGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlcih0cmlnZ2VyKSlcclxuICAgICAgZGVsZXRlIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXI7XHJcblxyXG4gICAgZGVsZXRlIHRyaWdnZXIubG9jYWxSZWdleDtcclxuICAgIGRlbGV0ZSB0cmlnZ2VyLmxvY2FsTmV0UmVnZXg7XHJcblxyXG4gICAgdHJpZ2dlci5vdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh0cmlnZ2VyLCB0aGlzLm9wdGlvbnMuRGlzcGxheUxhbmd1YWdlLFxyXG4gICAgICB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWcpO1xyXG4gIH1cclxuXHJcbiAgT25Kb2JDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZSA9IGUuZGV0YWlsLm5hbWU7XHJcbiAgICB0aGlzLmpvYiA9IGUuZGV0YWlsLmpvYjtcclxuICAgIHRoaXMucm9sZSA9IFV0aWwuam9iVG9Sb2xlKHRoaXMuam9iKTtcclxuICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgfVxyXG5cclxuICBPbkluQ29tYmF0Q2hhbmdlKGluQ29tYmF0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdCA9PT0gaW5Db21iYXQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdClcclxuICAgICAgdGhpcy5TZXRJbkNvbWJhdChpbkNvbWJhdCk7XHJcbiAgfVxyXG5cclxuICBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5Db21iYXQgPT09IGluQ29tYmF0KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gU3RvcCB0aW1lcnMgd2hlbiBzdG9wcGluZyBjb21iYXQgdG8gc3RvcCBhbnkgYWN0aXZlIHRpbWVycyB0aGF0XHJcbiAgICAvLyBhcmUgZGVsYXllZC4gIEhvd2V2ZXIsIGFsc28gcmVzZXQgd2hlbiBzdGFydGluZyBjb21iYXQuXHJcbiAgICAvLyBUaGlzIHByZXZlbnRzIGxhdGUgYXR0YWNrcyBmcm9tIGFmZmVjdGluZyB8ZGF0YXwgd2hpY2hcclxuICAgIC8vIHRocm93cyBvZmYgdGhlIG5leHQgcnVuLCBwb3RlbnRpYWxseS5cclxuICAgIHRoaXMuaW5Db21iYXQgPSBpbkNvbWJhdDtcclxuICAgIGlmICghdGhpcy5pbkNvbWJhdCkge1xyXG4gICAgICB0aGlzLlN0b3BUaW1lcnMoKTtcclxuICAgICAgdGhpcy50aW1lbGluZUxvYWRlci5TdG9wQ29tYmF0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdClcclxuICAgICAgdGhpcy5SZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgU2hvcnROYW1pZnkobmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBUT0RPOiBtYWtlIHRoaXMgdW5pcXVlIGFtb25nIHRoZSBwYXJ0eSBpbiBjYXNlIG9mIGZpcnN0IG5hbWUgY29sbGlzaW9ucy5cclxuICAgIC8vIFRPRE86IHByb2JhYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2VuZXJhbCBjYWN0Ym90IHV0aWxpdHkuXHJcbiAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgbmFtZSAhPT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FsbGVkIFNob3J0TmFtaWZ5IHdpdGggbm9uLXN0cmluZycpO1xyXG4gICAgICByZXR1cm4gJz8/Pyc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmljayA9IHRoaXMub3B0aW9ucy5QbGF5ZXJOaWNrc1tuYW1lXTtcclxuXHJcbiAgICBpZiAobmljaylcclxuICAgICAgcmV0dXJuIG5pY2s7XHJcblxyXG4gICAgY29uc3QgaWR4ID0gbmFtZS5pbmRleE9mKCcgJyk7XHJcbiAgICByZXR1cm4gaWR4IDwgMCA/IG5hbWUgOiBuYW1lLnN1YnN0cigwLCBpZHgpO1xyXG4gIH1cclxuXHJcbiAgUmVzZXQoKTogdm9pZCB7XHJcbiAgICBVdGlsLmNsZWFyV2F0Y2hDb21iYXRhbnRzKCk7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmdldERhdGFPYmplY3QoKTtcclxuICAgIHRoaXMuU3RvcFRpbWVycygpO1xyXG4gICAgdGhpcy50cmlnZ2VyU3VwcHJlc3MgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGluaXRPYmogb2YgdGhpcy5kYXRhSW5pdGlhbGl6ZXJzKSB7XHJcbiAgICAgIGNvbnN0IGluaXQgPSBpbml0T2JqLmZ1bmM7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBpbml0KCk7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7XHJcbiAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgLi4udGhpcy5kYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEVycm9yIGluIGZpbGU6ICR7aW5pdE9iai5maWxlfTogdGhlc2UgdHJpZ2dlcnMgbWF5IG5vdCB3b3JrO1xyXG4gICAgICAgIGluaXREYXRhIGZ1bmN0aW9uIHJldHVybmVkIGludmFsaWQgb2JqZWN0OiAke2luaXQudG9TdHJpbmcoKX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU3RvcFRpbWVycygpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZXJzID0ge307XHJcbiAgfVxyXG5cclxuICBPbkxvZyhlOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gVGhpcyBjb3VsZCBjb25jZWl2YWJseSBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBsaW5lJ3MgY29udGVudHMgYXMgd2VsbCwgYnV0XHJcbiAgICAvLyBub3Qgc3VyZSBpZiB0aGF0J3Mgd29ydGggdGhlIGVmZm9ydFxyXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSArbmV3IERhdGUoKTtcclxuICAgIGZvciAoY29uc3QgbG9nIG9mIGUuZGV0YWlsLmxvZ3MpIHtcclxuICAgICAgaWYgKGxvZy5pbmNsdWRlcygnMDA6MDAzODpjYWN0Ym90IHdpcGUnKSlcclxuICAgICAgICB0aGlzLlNldEluQ29tYmF0KGZhbHNlKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxSZWdleD8uZXhlYyhsb2cpO1xyXG4gICAgICAgIGlmIChyKVxyXG4gICAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgY3VycmVudFRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBPbk5ldExvZyhlOiBFdmVudFJlc3BvbnNlc1snTG9nTGluZSddKTogdm9pZCB7XHJcbiAgICBjb25zdCBsb2cgPSBlLnJhd0xpbmU7XHJcbiAgICAvLyBUaGlzIGNvdWxkIGNvbmNlaXZhYmx5IGJlIGRldGVybWluZWQgYmFzZWQgb24gYG5ldyBEYXRlKGUubGluZVsxXSlgIGFzIHdlbGwsIGJ1dFxyXG4gICAgLy8gbm90IHN1cmUgaWYgdGhhdCdzIHdvcnRoIHRoZSBlZmZvcnRcclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gK25ldyBEYXRlKCk7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy5uZXRUcmlnZ2Vycykge1xyXG4gICAgICBjb25zdCByID0gdHJpZ2dlci5sb2NhbE5ldFJlZ2V4Py5leGVjKGxvZyk7XHJcbiAgICAgIGlmIChyKVxyXG4gICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlcihcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5PblRyaWdnZXJJbnRlcm5hbCh0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlckludGVybmFsKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsXHJcbiAgICBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fb25UcmlnZ2VySW50ZXJuYWxDaGVja1N1cHByZXNzZWQodHJpZ2dlciwgY3VycmVudFRpbWUpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IGdyb3VwczogTWF0Y2hlcyA9IHt9O1xyXG4gICAgLy8gSWYgdXNpbmcgbmFtZWQgZ3JvdXBzLCB0cmVhdCBtYXRjaGVzLmdyb3VwcyBhcyBtYXRjaGVzXHJcbiAgICAvLyBzbyB0cmlnZ2VycyBjYW4gZG8gdGhpbmdzIGxpa2UgbWF0Y2hlcy50YXJnZXQuXHJcbiAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmdyb3Vwcykge1xyXG4gICAgICBncm91cHMgPSBtYXRjaGVzLmdyb3VwcztcclxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcykge1xyXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbWF0Y2hpbmcgZ3JvdXBzLCByZXByb2R1Y2UgdGhlIG9sZCBqcyBsb2dpYyB3aGVyZVxyXG4gICAgICAvLyBncm91cHMgZW5kZWQgdXAgYXMgdGhlIG9yaWdpbmFsIFJlZ0V4cEV4ZWNBcnJheSBvYmplY3RcclxuICAgICAgbWF0Y2hlcy5mb3JFYWNoKCh2YWx1ZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgZ3JvdXBzW2lkeF0gPSB2YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0IHVwIGEgaGVscGVyIG9iamVjdCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRocm93XHJcbiAgICAvLyBhIHRvbiBvZiBpbmZvIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gc3ViZnVuY3Rpb25zXHJcbiAgICBjb25zdCB0cmlnZ2VySGVscGVyID0gdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIodHJpZ2dlciwgZ3JvdXBzLCBjdXJyZW50VGltZSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbih0cmlnZ2VySGVscGVyKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJlUnVuKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIC8vIEV2YWx1YXRlIGZvciBkZWxheSBoZXJlLCBidXQgcnVuIGRlbGF5IGxhdGVyXHJcbiAgICBjb25zdCBkZWxheVByb21pc2UgPSB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyKTtcclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsRHVyYXRpb25TZWNvbmRzKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlclBvc3REZWxheSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgY29uc3QgdHJpZ2dlclBvc3RQcm9taXNlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxlcnRUZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFJ1bWJsZSBpc24ndCBhIHRyaWdnZXIgZnVuY3Rpb24sIHNvIG9ubHkgbmVlZHMgdG8gYmUgb3JkZXJlZFxyXG4gICAgICAgIC8vIGFmdGVyIGFsYXJtL2FsZXJ0L2luZm8uXHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxSdW1ibGUodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFByaW9yaXR5IGF1ZGlvIG9yZGVyOlxyXG4gICAgICAgIC8vICogdXNlciBkaXNhYmxlZCAocGxheSBub3RoaW5nKVxyXG4gICAgICAgIC8vICogaWYgdHRzIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciBUVFMgdHJpZ2dlcnMgdHRzIG92ZXJyaWRlXHJcbiAgICAgICAgLy8gICAqIHR0cyBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxhcm0gdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxlcnQgdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgaW5mbyB0dHNcclxuICAgICAgICAvLyAqIGlmIHNvdW5kIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciB0cmlnZ2VyIHNvdW5kIG92ZXJyaWRlc1xyXG4gICAgICAgIC8vICAgKiBzb3VuZCBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGFsYXJtIG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGFsZXJ0IG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGluZm8gbm9pc2VcclxuICAgICAgICAvLyAqIGVsc2UsIG5vdGhpbmdcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIEluIGdlbmVyYWwsIHR0cyBjb21lcyBiZWZvcmUgc291bmRzIGFuZCB1c2VyIG92ZXJyaWRlcyBjb21lXHJcbiAgICAgICAgLy8gYmVmb3JlIGRlZmF1bHRzLiAgSWYgYSB1c2VyIHRyaWdnZXIgb3IgdHRzIGVudHJ5IGlzIHNwZWNpZmllZCBhc1xyXG4gICAgICAgIC8vIGJlaW5nIHZhbGlkIGJ1dCBlbXB0eSwgdGhpcyB3aWxsIHRha2UgcHJpb3JpdHkgb3ZlciB0aGUgZGVmYXVsdFxyXG4gICAgICAgIC8vIHR0cyB0ZXh0cyBmcm9tIGFsYXJtL2FsZXJ0L2luZm8gYW5kIHdpbGwgcHJldmVudCB0dHMgZnJvbSBwbGF5aW5nXHJcbiAgICAgICAgLy8gYW5kIGFsbG93aW5nIHNvdW5kcyB0byBiZSBwbGF5ZWQgaW5zdGVhZC5cclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFRUUyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFBsYXlBdWRpbyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIHByb21pc2UuXHJcbiAgICAgIGlmIChwcm9taXNlKVxyXG4gICAgICAgIHByb21pc2UudGhlbih0cmlnZ2VyUG9zdFByb21pc2UsIChlKSA9PiBvblRyaWdnZXJFeGNlcHRpb24odHJpZ2dlciwgZSkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdHJpZ2dlclBvc3RQcm9taXNlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIGRlbGF5LlxyXG4gICAgaWYgKGRlbGF5UHJvbWlzZSlcclxuICAgICAgZGVsYXlQcm9taXNlLnRoZW4odHJpZ2dlclBvc3REZWxheSwgKGUpID0+IG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRyaWdnZXJQb3N0RGVsYXkoKTtcclxuICB9XHJcblxyXG4gIC8vIEJ1aWxkIGEgZGVmYXVsdCB0cmlnZ2VySGVscGVyIG9iamVjdCBmb3IgdGhpcyB0cmlnZ2VyXHJcbiAgX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBub3c6IG51bWJlcik6IFRyaWdnZXJIZWxwZXIge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgbGV0IG9wdGlvbnM6IFBlclRyaWdnZXJPcHRpb24gPSB7fTtcclxuICAgIGxldCBjb25maWc6IFRyaWdnZXJBdXRvQ29uZmlnID0ge307XHJcbiAgICBsZXQgc3VwcHJlc3NlZCA9IGZhbHNlO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlck9wdGlvbnNbaWRdID8/IG9wdGlvbnM7XHJcbiAgICAgIGNvbmZpZyA9IHRoaXMub3B0aW9ucy5QZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPz8gY29uZmlnO1xyXG4gICAgICBzdXBwcmVzc2VkID0gdGhpcy5vcHRpb25zLkRpc2FibGVkVHJpZ2dlcnNbaWRdID8/IHN1cHByZXNzZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciA9IHtcclxuICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgbm93OiBub3csXHJcbiAgICAgIHRyaWdnZXJPcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICB0cmlnZ2VyQXV0b0NvbmZpZzogY29uZmlnLFxyXG4gICAgICAvLyBUaGlzIHNldHRpbmcgb25seSBzdXBwcmVzc2VzIG91dHB1dCwgdHJpZ2dlciBzdGlsbCBydW5zIGZvciBkYXRhL2xvZ2ljIHB1cnBvc2VzXHJcbiAgICAgIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBzdXBwcmVzc2VkLFxyXG4gICAgICBtYXRjaGVzOiBtYXRjaGVzLFxyXG4gICAgICAvLyBEZWZhdWx0IG9wdGlvbnNcclxuICAgICAgdGV4dEFsZXJ0c0VuYWJsZWQ6IHRoaXMub3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCxcclxuICAgICAgc291bmRBbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkLFxyXG4gICAgICBzcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCxcclxuICAgICAgZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkLFxyXG4gICAgICB2YWx1ZU9yRnVuY3Rpb246IChmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCk6IFJhaWRib3NzVHJpZ2dlck91dHB1dCA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGY7XHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICAgICAgICAvLyBBbGwgdHJpZ2dlcnMgcmV0dXJuIGVpdGhlciBhIHN0cmluZyBkaXJlY3RseSwgb3IgYW4gb2JqZWN0XHJcbiAgICAgICAgLy8gd2hvc2Uga2V5cyBhcmUgZGlmZmVyZW50IHBhcnNlciBsYW5ndWFnZSBiYXNlZCBuYW1lcy4gIEZvciBzaW1wbGljaXR5LFxyXG4gICAgICAgIC8vIHRoaXMgaXMgdmFsaWQgdG8gZG8gZm9yIGFueSB0cmlnZ2VyIGVudHJ5IHRoYXQgY2FuIGhhbmRsZSBhIGZ1bmN0aW9uLlxyXG4gICAgICAgIC8vIEluIGNhc2UgYW55Ym9keSB3YW50cyB0byBlbmNhcHN1bGF0ZSBhbnkgZmFuY3kgZ3JhbW1hciwgdGhlIHZhbHVlc1xyXG4gICAgICAgIC8vIGluIHRoaXMgb2JqZWN0IGNhbiBhbHNvIGJlIGZ1bmN0aW9ucy5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCAhPT0gJ29iamVjdCcgfHwgcmVzdWx0ID09PSBudWxsKVxyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICByZXR1cm4gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMuZGlzcGxheUxhbmddID8/IHJlc3VsdFsnZW4nXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGdldCBvdXRwdXQoKTogT3V0cHV0IHtcclxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLm91dHB1dClcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXIub3V0cHV0O1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhgTWlzc2luZyB0cmlnZ2VyLm91dHB1dCBmb3IgdHJpZ2dlciAke3RyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0O1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEhlbHBlckRlZmF1bHRzKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIHJldHVybiB0cmlnZ2VySGVscGVyO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsQ2hlY2tTdXBwcmVzc2VkKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIHdoZW46IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3Qgc3VwcHJlc3MgPSB0aGlzLnRyaWdnZXJTdXBwcmVzc1tpZF07XHJcbiAgICAgIGlmIChzdXBwcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHN1cHByZXNzID4gd2hlbilcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWxldGUgdGhpcy50cmlnZ2VyU3VwcHJlc3NbaWRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxDb25kaXRpb24odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY29uZGl0aW9uID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Db25kaXRpb24gPz8gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmNvbmRpdGlvbjtcclxuICAgIGlmIChjb25kaXRpb24pIHtcclxuICAgICAgaWYgKGNvbmRpdGlvbiA9PT0gdHJ1ZSlcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgaWYgKCFjb25kaXRpb24odGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIFNldCBkZWZhdWx0cyBmb3IgdHJpZ2dlckhlbHBlciBvYmplY3QgKGFueXRoaW5nIHRoYXQgd29uJ3QgY2hhbmdlIGJhc2VkIG9uXHJcbiAgLy8gb3RoZXIgdHJpZ2dlciBmdW5jdGlvbnMgcnVubmluZylcclxuICBfb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZykge1xyXG4gICAgICBjb25zdCB0ZXh0QWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuVGV4dEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZy5Tb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmIChzb3VuZEFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kQWxlcnRzRW5hYmxlZCA9IHNvdW5kQWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuU3Bva2VuQWxlcnRzRW5hYmxlZDtcclxuICAgICAgaWYgKHNwb2tlbkFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBzcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHRleHRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UZXh0QWxlcnQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Tb3VuZEFsZXJ0O1xyXG4gICAgICBpZiAoc291bmRBbGVydHNFbmFibGVkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBzb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNwZWVjaEFsZXJ0O1xyXG4gICAgICBpZiAoc3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHNwb2tlbkFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuR3JvdXBTcGVlY2hBbGVydDtcclxuICAgICAgaWYgKGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnVzZXJTdXBwcmVzc2VkT3V0cHV0KSB7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5BdWRpb0FsbG93ZWQpIHtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQcmVSdW4odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyPy5wcmVSdW4/LihcclxuICAgICAgdGhpcy5kYXRhLFxyXG4gICAgICB0cmlnZ2VySGVscGVyLm1hdGNoZXMsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBkZWxheSA9ICdkZWxheVNlY29uZHMnIGluIHRyaWdnZXJIZWxwZXIudHJpZ2dlciA/IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kZWxheVNlY29uZHMpIDogMDtcclxuICAgIGlmICghZGVsYXkgfHwgZGVsYXkgPD0gMCB8fCB0eXBlb2YgZGVsYXkgIT09ICdudW1iZXInKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlcklEID0gdGhpcy5jdXJyZW50VHJpZ2dlcklEKys7XHJcbiAgICB0aGlzLnRpbWVyc1t0cmlnZ2VySURdID0gdHJ1ZTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcclxuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVyc1t0cmlnZ2VySURdKVxyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgZWxzZSBpZiAocmVqKVxyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMudGltZXJzW3RyaWdnZXJJRF07XHJcbiAgICAgIH0sIGRlbGF5ICogMTAwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbER1cmF0aW9uU2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBsZXQgdmFsdWVEdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kdXJhdGlvblNlY29uZHMpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZUR1cmF0aW9uICE9PSAnbnVtYmVyJylcclxuICAgICAgdmFsdWVEdXJhdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24gPSB7XHJcbiAgICAgIGZyb21Db25maWc6IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuRHVyYXRpb24sXHJcbiAgICAgIGZyb21UcmlnZ2VyOiB2YWx1ZUR1cmF0aW9uLFxyXG4gICAgICBhbGFybVRleHQ6IHRoaXMub3B0aW9ucy5EaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcyxcclxuICAgICAgYWxlcnRUZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMsXHJcbiAgICAgIGluZm9UZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kcyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VwcHJlc3MgPSAnc3VwcHJlc3NTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuc3VwcHJlc3NTZWNvbmRzKSA6IDA7XHJcbiAgICBpZiAodHlwZW9mIHN1cHByZXNzICE9PSAnbnVtYmVyJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5pZCAmJiBzdXBwcmVzcyA+IDApXHJcbiAgICAgIHRoaXMudHJpZ2dlclN1cHByZXNzW3RyaWdnZXJIZWxwZXIudHJpZ2dlci5pZF0gPSB0cmlnZ2VySGVscGVyLm5vdyArIChzdXBwcmVzcyAqIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgcHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcclxuICAgIGlmICgncHJvbWlzZScgaW4gdHJpZ2dlckhlbHBlci50cmlnZ2VyKSB7XHJcbiAgICAgIGNvbnN0IGlkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmlkID8/ICdVbmtub3duJztcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHByb21pc2UgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZShcclxuICAgICAgICAgIHRoaXMuZGF0YSxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVhbGx5IGdldCBhIFByb21pc2UgYmFjayBmcm9tIHRoZSBmdW5jdGlvblxyXG4gICAgICAgIGlmIChQcm9taXNlLnJlc29sdmUocHJvbWlzZSkgIT09IHByb21pc2UpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH06IHByb21pc2UgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYSBwcm9taXNlYCk7XHJcbiAgICAgICAgICBwcm9taXNlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBwcm9taXNlIGRlZmluZWQgYnV0IG5vdCBhIGZ1bmN0aW9uYCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyLnNvdW5kKTtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJylcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZFVybCA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFNvdW5kVm9sdW1lKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZFZvbHVtZSk7XHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ251bWJlcicpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID0gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUmVzcG9uc2UodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB7fTtcclxuICAgIGNvbnN0IHRyaWdnZXIgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXI7XHJcbiAgICBpZiAodHJpZ2dlci5yZXNwb25zZSkge1xyXG4gICAgICAvLyBDYW4ndCB1c2UgVmFsdWVPckZ1bmN0aW9uIGhlcmUgYXMgciByZXR1cm5zIGEgbm9uLWxvY2FsaXphYmxlIG9iamVjdC5cclxuICAgICAgcmVzcG9uc2UgPSB0cmlnZ2VyLnJlc3BvbnNlO1xyXG4gICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgIC8vIFR1cm4gZmFsc3kgdmFsdWVzIGludG8gYSBkZWZhdWx0IG5vLW9wIHJlc3BvbnNlLlxyXG4gICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgIHJlc3BvbnNlID0ge307XHJcbiAgICB9XHJcbiAgICB0cmlnZ2VySGVscGVyLnJlc3BvbnNlID0gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxBbGFybVRleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignYWxhcm0nLCB0cmlnZ2VySGVscGVyKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbEFsZXJ0VGV4dCh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hZGRUZXh0Rm9yKCdhbGVydCcsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignaW5mbycsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUnVtYmxlKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLlJ1bWJsZUVuYWJsZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBnZXRHYW1lcGFkcyByZXR1cm5zIGEgXCJHYW1lUGFkTGlzdFwiIHdoaWNoIGlzbid0IGl0ZXJhYmxlLlxyXG4gICAgWy4uLm5hdmlnYXRvci5nZXRHYW1lcGFkcygpXS5mb3JFYWNoKChncCkgPT4ge1xyXG4gICAgICAvLyBUaGlzIGxpc3QgYWxzbyBjb250YWlucyBudWxscyBzbyB0aGF0IHRoZSBnYW1lcGFkIGluZGV4IGlzIHByZXNlcnZlZC5cclxuICAgICAgaWYgKCFncClcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAvLyBgdmlicmF0aW9uQWN0dWF0b3JgIGlzIHN1cHBvcnRlZCBpbiBDRUYgYnV0IGlzIG5vdCBpbiB0aGUgc3BlYyB5ZXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IGdhbWVwYWQ6IGFueSA9IGdwO1xyXG5cclxuICAgICAgLy8gRnV0dXJlIGNhbGxzIHRvIGBwbGF5RWZmZWN0YCB3aWxsIGN1dCBvZmYgdGhlIHByZXZpb3VzIGVmZmVjdC5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcclxuICAgICAgdm9pZCBnYW1lcGFkPy52aWJyYXRpb25BY3R1YXRvcj8ucGxheUVmZmVjdChnYW1lcGFkLnZpYnJhdGlvbkFjdHVhdG9yLnR5cGUsIHtcclxuICAgICAgICBzdGFydERlbGF5OiAwLFxyXG4gICAgICAgIGR1cmF0aW9uOiB0cmlnZ2VySGVscGVyLnJ1bWJsZUR1cmF0aW9uTXMsXHJcbiAgICAgICAgd2Vha01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVXZWFrLFxyXG4gICAgICAgIHN0cm9uZ01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxUVFModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKCF0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCB8fCB0eXBlb2YgdHJpZ2dlckhlbHBlci50dHNUZXh0ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KTtcclxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXIudHRzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyBBbGxvdyBudWxsL2ZhbHNlL05hTi8wLycnIGluIHRoaXMgYnJhbmNoLlxyXG4gICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci50dHMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIucmVzcG9uc2UpIHtcclxuICAgICAgICBjb25zdCByZXNwOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB0cmlnZ2VySGVscGVyLnJlc3BvbnNlO1xyXG4gICAgICAgIGlmIChyZXNwLnR0cylcclxuICAgICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHJlc3AudHRzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWxsb3cgZmFsc2V5IHZhbHVlcyB0byBkaXNhYmxlIHR0cyBlbnRpcmVseVxyXG4gICAgICAvLyBVbmRlZmluZWQgd2lsbCBmYWxsIGJhY2sgdG8gZGVmYXVsdFRUU1RleHRcclxuICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHJlc3VsdD8udG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLmRlZmF1bHRUVFNUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZCAmJlxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiZcclxuICAgICAgICBzb3VuZFN0cnMuaW5jbHVkZXModHJpZ2dlckhlbHBlci5zb3VuZFVybCkpIHtcclxuICAgICAgY29uc3QgbmFtZWRTb3VuZCA9IHRyaWdnZXJIZWxwZXIuc291bmRVcmwgKyAnU291bmQnO1xyXG4gICAgICBjb25zdCBuYW1lZFNvdW5kVm9sdW1lID0gdHJpZ2dlckhlbHBlci5zb3VuZFVybCArICdTb3VuZFZvbHVtZSc7XHJcbiAgICAgIGNvbnN0IHNvdW5kID0gdGhpcy5vcHRpb25zW25hbWVkU291bmRdO1xyXG4gICAgICBpZiAodHlwZW9mIHNvdW5kID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSBzb3VuZDtcclxuICAgICAgICBjb25zdCBzb3VuZFZvbCA9IHRoaXMub3B0aW9uc1tuYW1lZFNvdW5kVm9sdW1lXTtcclxuICAgICAgICBpZiAodHlwZW9mIHNvdW5kVm9sID09PSAnbnVtYmVyJylcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSBzb3VuZFZvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNvdW5kT3ZlcnJpZGUgPz8gdHJpZ2dlckhlbHBlci5zb3VuZFVybDtcclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlZvbHVtZU92ZXJyaWRlID8/XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID8/IHRyaWdnZXJIZWxwZXIuc291bmRWb2w7XHJcblxyXG4gICAgLy8gVGV4dCB0byBzcGVlY2ggb3ZlcnJpZGVzIGFsbCBvdGhlciBzb3VuZHMuICBUaGlzIGlzIHNvXHJcbiAgICAvLyB0aGF0IGEgdXNlciB3aG8gcHJlZmVycyB0dHMgY2FuIHN0aWxsIGdldCB0aGUgYmVuZWZpdFxyXG4gICAgLy8gb2YgaW5mb1RleHQgdHJpZ2dlcnMgd2l0aG91dCB0dHMgZW50cmllcyBieSB0dXJuaW5nXHJcbiAgICAvLyBvbiAoc3BlZWNoPXRydWUsIHRleHQ9dHJ1ZSwgc291bmQ9dHJ1ZSkgYnV0IHRoaXMgd2lsbFxyXG4gICAgLy8gbm90IGNhdXNlIHR0cyB0byBwbGF5IG92ZXIgdG9wIG9mIHNvdW5kcyBvciBub2lzZXMuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50dHNUZXh0ICYmIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCkge1xyXG4gICAgICAvLyBIZXVyaXN0aWNzIGZvciBhdXRvIHR0cy5cclxuICAgICAgLy8gKiBJbiBjYXNlIHRoaXMgaXMgYW4gaW50ZWdlci5cclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnRvU3RyaW5nKCk7XHJcbiAgICAgIC8vICogUmVtb3ZlIGEgYnVuY2ggb2YgY2hhcnMuXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9bIyFdL2csICcnKTtcclxuICAgICAgLy8gKiBzbGFzaGVzIGJldHdlZW4gbWVjaGFuaWNzXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKCcvJywgJyAnKTtcclxuICAgICAgLy8gKiB0aWxkZXMgYXQgdGhlIGVuZCBmb3IgZW1waGFzaXNcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL34rJC8sICcnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgaGVscGluZyB2aXN1YWxseSBzaW1wbGUgdG8gdW5kZXJzdGFuZCBlLmcuIOKGliBGcm9udCBsZWZ0IC8gQmFjayByaWdodCDihphcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1vihpYt4oaZXS9nLCAnJyk7XHJcbiAgICAgIC8vICogS29yZWFuIFRUUyByZWFkcyB3cm9uZyB3aXRoICcx67KI7Ke4J1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgnMeuyiOynuCcsICfssqvrsojsp7gnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgYXQgdGhlIGZyb250IG9yIHRoZSBlbmQgYXJlIGRpcmVjdGlvbnMsIGUuZy4gXCJlYXN0ID0+XCJcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1stPV0+XFxzKiQvZywgJycpO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXlxccyo8Wy09XS9nLCAnJyk7XHJcbiAgICAgIC8vICogYXJyb3dzIGluIHRoZSBtaWRkbGUgYXJlIGEgc2VxdWVuY2UsIGUuZy4gXCJpbiA9PiBvdXQgPT4gc3ByZWFkXCJcclxuICAgICAgY29uc3QgYXJyb3dSZXBsYWNlbWVudCA9IHtcclxuICAgICAgICBlbjogJyB0aGVuICcsXHJcbiAgICAgICAgZGU6ICcgZGFubiAnLFxyXG4gICAgICAgIGZyOiAnIHB1aXMgJyxcclxuICAgICAgICBqYTogJ+OChCcsXHJcbiAgICAgICAgY246ICfnhLblkI4nLFxyXG4gICAgICAgIGtvOiAnIOq3uOumrOqzoCAnLFxyXG4gICAgICB9O1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXFxzKig8Wy09XXxbPS1dPilcXHMqL2csXHJcbiAgICAgICAgYXJyb3dSZXBsYWNlbWVudFt0aGlzLmRpc3BsYXlMYW5nXSk7XHJcbiAgICAgIHRoaXMudHRzU2F5KHRyaWdnZXJIZWxwZXIudHRzVGV4dCk7XHJcbiAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiYgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgdGhpcy5fcGxheUF1ZGlvRmlsZSh0cmlnZ2VySGVscGVyLCB0cmlnZ2VySGVscGVyLnNvdW5kVXJsLCB0cmlnZ2VySGVscGVyLnNvdW5kVm9sKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0cmlnZ2VySGVscGVyLnRyaWdnZXI/LnJ1bj8uKFxyXG4gICAgICB0aGlzLmRhdGEsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgdHJpZ2dlckhlbHBlci5vdXRwdXQpO1xyXG4gIH1cclxuXHJcbiAgX2NyZWF0ZVRleHRGb3IoXHJcbiAgICB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGV4dFR5cGU6IFRleHQsXHJcbiAgICBsb3dlclRleHRLZXk6IFRleHRUZXh0LFxyXG4gICAgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gaW5mby10ZXh0XHJcbiAgICBjb25zdCB0ZXh0RWxlbWVudENsYXNzID0gdGV4dFR5cGUgKyAnLXRleHQnO1xyXG4gICAgaWYgKHRleHRUeXBlICE9PSAnaW5mbycpXHJcbiAgICAgIHRleHQgPSB0cmlnZ2VyVXBwZXJDYXNlKHRleHQpO1xyXG5cclxuICAgIGNvbnN0IGhvbGRlciA9IHRoaXNbbG93ZXJUZXh0S2V5XT8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaG9sZGVyJylbMF07XHJcbiAgICBjb25zdCBkaXYgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dEVsZW1lbnRDbGFzcyk7XHJcblxyXG4gICAgaWYgKCFob2xkZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBob2xkZXIuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgIGlmIChob2xkZXIuY2hpbGRyZW4ubGVuZ3RoID4gdGhpcy5rTWF4Um93c09mVGV4dClcclxuICAgICAgaG9sZGVyLmZpcnN0Q2hpbGQ/LnJlbW92ZSgpO1xyXG5cclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGhvbGRlci5jb250YWlucyhkaXYpKVxyXG4gICAgICAgIGhvbGRlci5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfSwgZHVyYXRpb24gKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIF9hZGRUZXh0Rm9yKHRleHRUeXBlOiBUZXh0LCB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICAvLyBpbmZvVGV4dFxyXG4gICAgY29uc3QgbG93ZXJUZXh0S2V5ID0gdGV4dE1hcFt0ZXh0VHlwZV0udGV4dDtcclxuICAgIC8vIEluZm9UZXh0XHJcbiAgICBjb25zdCB1cHBlclRleHRLZXkgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclRleHQ7XHJcbiAgICAvLyBJbmZvU291bmRcclxuICAgIGNvbnN0IHVwcGVyU291bmQgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclNvdW5kO1xyXG4gICAgLy8gSW5mb1NvdW5kVm9sdW1lXHJcbiAgICBjb25zdCB1cHBlclNvdW5kVm9sdW1lID0gdGV4dE1hcFt0ZXh0VHlwZV0udXBwZXJTb3VuZFZvbHVtZTtcclxuXHJcbiAgICBsZXQgdGV4dE9iajogUmFpZGJvc3NUcmlnZ2VyT3V0cHV0ID1cclxuICAgICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9uc1t1cHBlclRleHRLZXldO1xyXG4gICAgaWYgKCF0ZXh0T2JqICYmIHRyaWdnZXJIZWxwZXIudHJpZ2dlcltsb3dlclRleHRLZXldKVxyXG4gICAgICB0ZXh0T2JqID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyW2xvd2VyVGV4dEtleV07XHJcbiAgICBpZiAoIXRleHRPYmogJiYgdHJpZ2dlckhlbHBlci5yZXNwb25zZSlcclxuICAgICAgdGV4dE9iaiA9IHRyaWdnZXJIZWxwZXIucmVzcG9uc2VbbG93ZXJUZXh0S2V5XTtcclxuICAgIGlmICghdGV4dE9iailcclxuICAgICAgcmV0dXJuO1xyXG4gICAgbGV0IHRleHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0ZXh0T2JqKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJylcclxuICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcclxuICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpXHJcbiAgICAgIHRleHQgPSBTdHJpbmcodGV4dCk7XHJcbiAgICAvLyBJZ25vcmUgZW1wdHkgc3RyaW5ncyBzbyB0aGF0IGNvbmZpZyB1aSBcImJsYW5rIHNwYWNlc1wiIGFyZSBpZ25vcmVkLlxyXG4gICAgdGV4dCA9IHRleHQudHJpbSgpO1xyXG4gICAgaWYgKHRleHQgPT09ICcnKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJpZ2dlckhlbHBlci5kZWZhdWx0VFRTVGV4dCA9IHRyaWdnZXJIZWxwZXIuZGVmYXVsdFRUU1RleHQgPz8gdGV4dDtcclxuICAgIGlmICh0ZXh0ICYmIHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyAmJiB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkKSB7XHJcbiAgICAgIC8vIHBlci10cmlnZ2VyIG9wdGlvbiA+IHRyaWdnZXIgZmllbGQgPiBvcHRpb24gZHVyYXRpb24gYnkgdGV4dCB0eXBlXHJcbiAgICAgIGxldCBkdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIuZHVyYXRpb24/LmZyb21Db25maWcgPz8gdHJpZ2dlckhlbHBlci5kdXJhdGlvbj8uZnJvbVRyaWdnZXI7XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkICYmIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24pXHJcbiAgICAgICAgZHVyYXRpb24gPSB0cmlnZ2VySGVscGVyLmR1cmF0aW9uW2xvd2VyVGV4dEtleV07XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIGR1cmF0aW9uID0gMDtcclxuXHJcbiAgICAgIHRoaXMuX2NyZWF0ZVRleHRGb3IodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dFR5cGUsIGxvd2VyVGV4dEtleSwgZHVyYXRpb24pO1xyXG4gICAgICBpZiAoIXRyaWdnZXJIZWxwZXIuc291bmRVcmwpIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsID0gdGhpcy5vcHRpb25zW3VwcGVyU291bmRdO1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0aGlzLm9wdGlvbnNbdXBwZXJTb3VuZFZvbHVtZV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIucnVtYmxlRHVyYXRpb25NcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVEdXJhdGlvbk1zID0gdGhpcy5vcHRpb25zW3RleHRNYXBbdGV4dFR5cGVdLnJ1bWJsZUR1cmF0aW9uXTtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnJ1bWJsZVdlYWsgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlV2Vha107XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlU3Ryb25nXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX21ha2VUZXh0RWxlbWVudChfdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciwgdGV4dDogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRleHQnKTtcclxuICAgIGRpdi5pbm5lclRleHQgPSB0ZXh0O1xyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcblxyXG4gIF9wbGF5QXVkaW9GaWxlKF90cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLCB1cmw6IHN0cmluZywgdm9sdW1lPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdWRpbyA9IG5ldyBBdWRpbyh1cmwpO1xyXG4gICAgYXVkaW8udm9sdW1lID0gdm9sdW1lID8/IDE7XHJcbiAgICB2b2lkIGF1ZGlvLnBsYXkoKTtcclxuICB9XHJcblxyXG4gIGdldERhdGFPYmplY3QoKTogUmFpZGJvc3NEYXRhIHtcclxuICAgIGxldCBwcmVzZXJ2ZUhQID0gMDtcclxuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmN1cnJlbnRIUClcclxuICAgICAgcHJlc2VydmVIUCA9IHRoaXMuZGF0YS5jdXJyZW50SFA7XHJcblxyXG4gICAgLy8gVE9ETzogbWFrZSBhIGJyZWFraW5nIGNoYW5nZSBhdCBzb21lIHBvaW50IGFuZFxyXG4gICAgLy8gbWFrZSBhbGwgdGhpcyBzdHlsZSBjb25zaXN0ZW50LCBzb3JyeS5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1lOiB0aGlzLm1lLFxyXG4gICAgICBqb2I6IHRoaXMuam9iLFxyXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXHJcbiAgICAgIHBhcnR5OiB0aGlzLnBhcnR5VHJhY2tlcixcclxuICAgICAgbGFuZzogdGhpcy5wYXJzZXJMYW5nLFxyXG4gICAgICBwYXJzZXJMYW5nOiB0aGlzLnBhcnNlckxhbmcsXHJcbiAgICAgIGRpc3BsYXlMYW5nOiB0aGlzLmRpc3BsYXlMYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IHByZXNlcnZlSFAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcclxuICAgICAgU2hvcnROYW1lOiB0aGlzLlNob3J0TmFtaWZ5LmJpbmQodGhpcyksXHJcbiAgICAgIFN0b3BDb21iYXQ6ICgpID0+IHRoaXMuU2V0SW5Db21iYXQoZmFsc2UpLFxyXG4gICAgICBQYXJzZUxvY2FsZUZsb2F0OiBwYXJzZUZsb2F0LFxyXG4gICAgICBDYW5TdHVuOiAoKSA9PiBVdGlsLmNhblN0dW4odGhpcy5qb2IpLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBVdGlsLmNhblNpbGVuY2UodGhpcy5qb2IpLFxyXG4gICAgICBDYW5TbGVlcDogKCkgPT4gVXRpbC5jYW5TbGVlcCh0aGlzLmpvYiksXHJcbiAgICAgIENhbkNsZWFuc2U6ICgpID0+IFV0aWwuY2FuQ2xlYW5zZSh0aGlzLmpvYiksXHJcbiAgICAgIENhbkZlaW50OiAoKSA9PiBVdGlsLmNhbkZlaW50KHRoaXMuam9iKSxcclxuICAgICAgQ2FuQWRkbGU6ICgpID0+IFV0aWwuY2FuQWRkbGUodGhpcy5qb2IpLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFRleHRHZW5lcmF0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXBUZXh0OiBQb3B1cFRleHQpIHtcclxuICB9XHJcblxyXG4gIEluZm8odGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGVydCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsZXJ0VGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGFybSh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsYXJtVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUcmlnZ2VyKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMsIFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvb3NlVHJpZ2dlclNldCxcclxuICBUcmlnZ2VyQXV0b0NvbmZpZyxcclxuICBUcmlnZ2VyRmllbGQsXHJcbiAgVHJpZ2dlck91dHB1dCxcclxufSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBiYXNlIG9wdGlvbnMgdGhhdCByYWlkYm9zcyBleHBlY3RzIHRvIHNlZS5cclxuXHJcbi8vIEJhY2t3YXJkcyBjb21wYXQgZm9yIHRoaXMgb2xkIHN0eWxlIG9mIG92ZXJyaWRpbmcgdHJpZ2dlcnMuXHJcbi8vIFRPRE86IHdlIHNob3VsZCBwcm9iYWJseSBkZXByZWNhdGUgYW5kIHJlbW92ZSB0aGlzLlxyXG5leHBvcnQgdHlwZSBQZXJUcmlnZ2VyT3B0aW9uID0gUGFydGlhbDx7XHJcbiAgVGV4dEFsZXJ0OiBib29sZWFuO1xyXG4gIFNvdW5kQWxlcnQ6IGJvb2xlYW47XHJcbiAgU3BlZWNoQWxlcnQ6IGJvb2xlYW47XHJcbiAgR3JvdXBTcGVlY2hBbGVydDogYm9vbGVhbjsgLy8gVE9ETzogd2Ugc2hvdWxkIHJlbW92ZSB0aGlzXHJcbiAgU291bmRPdmVycmlkZTogc3RyaW5nO1xyXG4gIFZvbHVtZU92ZXJyaWRlOiBudW1iZXI7XHJcbiAgQ29uZGl0aW9uOiBUcmlnZ2VyRmllbGQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzLCBib29sZWFuPjtcclxuICBJbmZvVGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIEFsZXJ0VGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIEFsYXJtVGV4dDogVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIFRUU1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxufT47XHJcblxyXG5leHBvcnQgdHlwZSBUaW1lbGluZUNvbmZpZyA9IFBhcnRpYWw8e1xyXG4gIElnbm9yZTogc3RyaW5nW107XHJcbiAgUmVuYW1lOiB7IFt0ZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufT47XHJcblxyXG5leHBvcnQgdHlwZSBQZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFBlclRyaWdnZXJPcHRpb24gfTtcclxuZXhwb3J0IHR5cGUgRGlzYWJsZWRUcmlnZ2VycyA9IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5leHBvcnQgdHlwZSBQZXJab25lVGltZWxpbmVDb25maWcgPSB7IFt6b25lSWQ6IG51bWJlcl06IFRpbWVsaW5lQ29uZmlnIH07XHJcblxyXG50eXBlIFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyA9IHtcclxuICBQbGF5ZXJOaWNrczogeyBbZ2FtZU5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIEluZm9Tb3VuZDogc3RyaW5nO1xyXG4gIEFsZXJ0U291bmQ6IHN0cmluZztcclxuICBBbGFybVNvdW5kOiBzdHJpbmc7XHJcbiAgTG9uZ1NvdW5kOiBzdHJpbmc7XHJcbiAgUHVsbFNvdW5kOiBzdHJpbmc7XHJcbiAgQXVkaW9BbGxvd2VkOiBib29sZWFuO1xyXG4gIERpc2FibGVkVHJpZ2dlcnM6IERpc2FibGVkVHJpZ2dlcnM7XHJcbiAgUGVyVHJpZ2dlckF1dG9Db25maWc6IFBlclRyaWdnZXJBdXRvQ29uZmlnO1xyXG4gIFBlclRyaWdnZXJPcHRpb25zOiBQZXJUcmlnZ2VyT3B0aW9ucztcclxuICBQZXJab25lVGltZWxpbmVDb25maWc6IFBlclpvbmVUaW1lbGluZUNvbmZpZztcclxuICBUcmlnZ2VyczogTG9vc2VUcmlnZ2VyU2V0W107XHJcbiAgUGxheWVyTmFtZU92ZXJyaWRlPzogc3RyaW5nO1xyXG4gIElzUmVtb3RlUmFpZGJvc3M6IGJvb2xlYW47XHJcbiAgLy8gVHJhbnNmb3JtcyB0ZXh0IGJlZm9yZSBwYXNzaW5nIGl0IHRvIFRUUy5cclxuICBUcmFuc2Zvcm1UdHM6ICh0ZXh0OiBzdHJpbmcpID0+IHN0cmluZztcclxufTtcclxuXHJcbi8vIFRoZXNlIG9wdGlvbnMgYXJlIG9uZXMgdGhhdCBhcmUgbm90IGF1dG8tZGVmaW5lZCBieSByYWlkYm9zc19jb25maWcuanMuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnM6IFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyA9IHtcclxuICBQbGF5ZXJOaWNrczoge30sXHJcblxyXG4gIEluZm9Tb3VuZDogJy4uLy4uL3Jlc291cmNlcy9zb3VuZHMvZnJlZXNvdW5kL3BlcmN1c3Npb25faGl0LndlYm0nLFxyXG4gIEFsZXJ0U291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxlcnQud2VibScsXHJcbiAgQWxhcm1Tb3VuZDogJy4uLy4uL3Jlc291cmNlcy9zb3VuZHMvQmlnV2lncy9BbGFybS53ZWJtJyxcclxuICBMb25nU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvTG9uZy53ZWJtJyxcclxuICBQdWxsU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9zb25hci53ZWJtJyxcclxuXHJcbiAgQXVkaW9BbGxvd2VkOiB0cnVlLFxyXG5cclxuICBEaXNhYmxlZFRyaWdnZXJzOiB7fSxcclxuXHJcbiAgUGVyVHJpZ2dlckF1dG9Db25maWc6IHt9LFxyXG4gIFBlclRyaWdnZXJPcHRpb25zOiB7fSxcclxuICBQZXJab25lVGltZWxpbmVDb25maWc6IHt9LFxyXG5cclxuICBUcmlnZ2VyczogW10sXHJcblxyXG4gIElzUmVtb3RlUmFpZGJvc3M6IGZhbHNlLFxyXG5cclxuICBUcmFuc2Zvcm1UdHM6ICh0KSA9PiB0LFxyXG59O1xyXG5cclxuLy8gVE9ETzogZmlndXJlIG91dCBob3cgdG8gZ2V0IHRoaXMgdHlwZSBmcm9tIHJhaWRib3NzX2NvbmZpZz8/XHJcbi8vIFRoZXNlIHZhbHVlcyBhcmUgb3ZlcndyaXR0ZW4gYW5kIGFyZSBqdXN0IGhlcmUgZm9yIHR5cGluZy5cclxuY29uc3QgZGVmYXVsdFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHtcclxuICBEZWJ1ZzogZmFsc2UsXHJcbiAgRGVmYXVsdEFsZXJ0T3V0cHV0OiAndGV4dEFuZFNvdW5kJyxcclxuICBBbGVydHNMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUxhbmd1YWdlOiB1bmRlZmluZWQgYXMgKExhbmcgfCB1bmRlZmluZWQpLFxyXG4gIFRpbWVsaW5lRW5hYmxlZDogdHJ1ZSxcclxuICBBbGVydHNFbmFibGVkOiB0cnVlLFxyXG4gIFNob3dUaW1lckJhcnNBdFNlY29uZHM6IDMwLFxyXG4gIEtlZXBFeHBpcmVkVGltZXJCYXJzRm9yU2Vjb25kczogMC43LFxyXG4gIEJhckV4cGlyZXNTb29uU2Vjb25kczogNixcclxuICBNYXhOdW1iZXJPZlRpbWVyQmFyczogNixcclxuICBEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kczogMyxcclxuICBEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kczogMyxcclxuICBEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzOiAzLFxyXG4gIEFsYXJtU291bmRWb2x1bWU6IDEsXHJcbiAgQWxlcnRTb3VuZFZvbHVtZTogMSxcclxuICBJbmZvU291bmRWb2x1bWU6IDEsXHJcbiAgTG9uZ1NvdW5kVm9sdW1lOiAxLFxyXG4gIFB1bGxTb3VuZFZvbHVtZTogMSxcclxuICBSdW1ibGVFbmFibGVkOiBmYWxzZSxcclxuICBJbmZvUnVtYmxlRHVyYXRpb246IDQwMCxcclxuICBJbmZvUnVtYmxlV2VhazogMC41LFxyXG4gIEluZm9SdW1ibGVTdHJvbmc6IDAsXHJcbiAgQWxlcnRSdW1ibGVEdXJhdGlvbjogNTAwLFxyXG4gIEFsZXJ0UnVtYmxlV2VhazogMCxcclxuICBBbGVydFJ1bWJsZVN0cm9uZzogMC41LFxyXG4gIEFsYXJtUnVtYmxlRHVyYXRpb246IDc1MCxcclxuICBBbGFybVJ1bWJsZVdlYWs6IDAuNzUsXHJcbiAgQWxhcm1SdW1ibGVTdHJvbmc6IDAuNzUsXHJcbiAgY2FjdGJvdFdvcm1ob2xlU3RyYXQ6IGZhbHNlLFxyXG4gIGNhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdDogZmFsc2UsXHJcbn07XHJcbnR5cGUgUmFpZGJvc3NDb25maWdPcHRpb25zID0gdHlwZW9mIGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnM7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhaWRib3NzT3B0aW9uc1xyXG4gIGV4dGVuZHMgQmFzZU9wdGlvbnMsIFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucywgUmFpZGJvc3NDb25maWdPcHRpb25zIHt9XHJcblxyXG4vLyBTZWUgdXNlci9yYWlkYm9zcy1leGFtcGxlLmpzIGZvciBkb2N1bWVudGF0aW9uLlxyXG5jb25zdCBPcHRpb25zOiBSYWlkYm9zc09wdGlvbnMgPSB7XHJcbiAgLi4uVXNlckNvbmZpZy5nZXREZWZhdWx0QmFzZU9wdGlvbnMoKSxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zLFxyXG4gIC4uLmRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMsXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBPcHRpb25zO1xyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuL25vdF9yZWFjaGVkJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRpbWVyQmFyIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xyXG4gIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBmb3JlZ3JvdW5kRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgYmFja2dyb3VuZEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGxlZnRUZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgY2VudGVyVGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHJpZ2h0VGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2R1cmF0aW9uOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfc3RhcnQ6IG51bWJlcjtcclxuICBwcml2YXRlIF93aWR0aDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hlaWdodDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2JnOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfZmc6IHN0cmluZztcclxuICBwcml2YXRlIF90b3dhcmRSaWdodDogYm9vbGVhbjtcclxuICBwcml2YXRlIF9maWxsOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2xlZnRUZXh0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY2VudGVyVGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JpZ2h0VGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hpZGVBZnRlcjogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2xvb3A6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfY29ubmVjdGVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2hpZGVUaW1lcjogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ2R1cmF0aW9uJyxcclxuICAgICAgJ3ZhbHVlJyxcclxuICAgICAgJ2VsYXBzZWQnLFxyXG4gICAgICAnaGlkZWFmdGVyJyxcclxuICAgICAgJ2xlZnR0ZXh0JyxcclxuICAgICAgJ2NlbnRlcnRleHQnLFxyXG4gICAgICAncmlnaHR0ZXh0JyxcclxuICAgICAgJ3dpZHRoJyxcclxuICAgICAgJ2hlaWdodCcsXHJcbiAgICAgICdiZycsXHJcbiAgICAgICdmZycsXHJcbiAgICAgICdzdHlsZWZpbGwnLFxyXG4gICAgICAndG93YXJkJyxcclxuICAgICAgJ2xvb3AnLFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8qKiBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgVGltZXJCYXIgd2l0aCBhdHRyaWJ1dGVzICovXHJcbiAgc3RhdGljIGNyZWF0ZShvPzoge1xyXG4gICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgICB2YWx1ZT86IG51bWJlcjtcclxuICAgIGVsYXBzZWQ/OiBudW1iZXI7XHJcbiAgICBoaWRlYWZ0ZXI/OiBudW1iZXI7XHJcbiAgICBsZWZ0dGV4dD86IHN0cmluZztcclxuICAgIGNlbnRlcnRleHQ/OiBzdHJpbmc7XHJcbiAgICByaWdodHRleHQ/OiBzdHJpbmc7XHJcbiAgICB3aWR0aD86IHN0cmluZztcclxuICAgIGhlaWdodD86IHN0cmluZztcclxuICAgIGJnPzogc3RyaW5nO1xyXG4gICAgZmc/OiBzdHJpbmc7XHJcbiAgICBzdHlsZWZpbGw/OiAnZW1wdHknIHwgJ2ZpbGwnO1xyXG4gICAgdG93YXJkPzogJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICAgIGxvb3A/OiBib29sZWFuO1xyXG4gIH0pOiBUaW1lckJhciB7XHJcbiAgICBpZiAoIXdpbmRvdy5jdXN0b21FbGVtZW50cy5nZXQoJ3RpbWVyLWJhcicpKVxyXG4gICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0aW1lci1iYXInLCBUaW1lckJhcik7XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RpbWVyLWJhcicpO1xyXG4gICAgaWYgKCFvKVxyXG4gICAgICByZXR1cm4gZWxlbWVudDtcclxuXHJcbiAgICBpZiAodHlwZW9mIG8uZHVyYXRpb24gPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmR1cmF0aW9uID0gby5kdXJhdGlvbjtcclxuICAgIGlmICh0eXBlb2Ygby52YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgIGVsZW1lbnQudmFsdWUgPSBvLnZhbHVlO1xyXG4gICAgaWYgKHR5cGVvZiBvLmVsYXBzZWQgPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmVsYXBzZWQgPSBvLmVsYXBzZWQ7XHJcbiAgICBpZiAodHlwZW9mIG8uaGlkZWFmdGVyID09PSAnbnVtYmVyJylcclxuICAgICAgZWxlbWVudC5oaWRlYWZ0ZXIgPSBvLmhpZGVhZnRlcjtcclxuICAgIGlmICh0eXBlb2Ygby5sZWZ0dGV4dCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQubGVmdHRleHQgPSBvLmxlZnR0ZXh0O1xyXG4gICAgaWYgKHR5cGVvZiBvLmNlbnRlcnRleHQgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmNlbnRlcnRleHQgPSBvLmNlbnRlcnRleHQ7XHJcbiAgICBpZiAodHlwZW9mIG8ucmlnaHR0ZXh0ID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5yaWdodHRleHQgPSBvLnJpZ2h0dGV4dDtcclxuICAgIGlmICh0eXBlb2Ygby53aWR0aCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQud2lkdGggPSBvLndpZHRoO1xyXG4gICAgaWYgKHR5cGVvZiBvLmhlaWdodCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuaGVpZ2h0ID0gby5oZWlnaHQ7XHJcbiAgICBpZiAodHlwZW9mIG8uYmcgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmJnID0gby5iZztcclxuICAgIGlmICh0eXBlb2Ygby5mZyA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuZmcgPSBvLmZnO1xyXG4gICAgaWYgKHR5cGVvZiBvLnN0eWxlZmlsbCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuc3R5bGVmaWxsID0gby5zdHlsZWZpbGw7XHJcbiAgICBpZiAodHlwZW9mIG8udG93YXJkID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC50b3dhcmQgPSBvLnRvd2FyZDtcclxuICAgIGlmICh0eXBlb2Ygby5sb29wID09PSAnYm9vbGVhbicpXHJcbiAgICAgIGVsZW1lbnQubG9vcCA9IG8ubG9vcDtcclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gQmFja2dyb3VuZCBjb2xvci5cclxuICBzZXQgYmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdiZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGJnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdiZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9yZWdyb3VuZCBjb2xvci5cclxuICBzZXQgZmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdmZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGZnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdmZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHdpZHRoIG9mIHRoZSBiYXIuXHJcbiAgc2V0IHdpZHRoKHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgdyk7XHJcbiAgfVxyXG4gIGdldCB3aWR0aCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBoZWlnaHQgb2YgdGhlIGJhci5cclxuICBzZXQgaGVpZ2h0KHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCB3KTtcclxuICB9XHJcbiAgZ2V0IGhlaWdodCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdG90YWwgbGVuZ3RoIG9mIHRpbWUgdG8gY291bnQgZG93bi5cclxuICBzZXQgZHVyYXRpb24oczogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkdXJhdGlvbicpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZHVyYXRpb24nLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZHVyYXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2R1cmF0aW9uJyk7XHJcbiAgICBpZiAocyA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdChzKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBsZW5ndGggcmVtYWluaW5nIGluIHRoZSBjb3VudCBkb3duLlxyXG4gIHNldCB2YWx1ZShzOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHMudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHJldHVybiB0aGlzLl9kdXJhdGlvbjtcclxuICAgIGNvbnN0IGVsYXBzZWRNcyA9IERhdGUubm93KCkgLSB0aGlzLl9zdGFydDtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIChlbGFwc2VkTXMgLyAxMDAwKSk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgZWxhcHNlZCB0aW1lLlxyXG4gIHNldCBlbGFwc2VkKHM6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2VsYXBzZWQnLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZWxhcHNlZCgpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aGlzLl9zdGFydClcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICByZXR1cm4gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJyaWdodFwiIHRoZW4gYW5pbWF0ZXMgbGVmdC10by1yaWdodCAodGhlIGRlZmF1bHQpLiBJZiBcImxlZnRcIlxyXG4gIC8vIHRoZW4gYW5pbWF0ZXMgcmlnaHQtdG8tbGVmdC5cclxuICBzZXQgdG93YXJkKHQ6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsKSB7XHJcbiAgICBpZiAodCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3Rvd2FyZCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndG93YXJkJywgdCk7XHJcbiAgfVxyXG4gIGdldCB0b3dhcmQoKTogJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCd0b3dhcmQnKSBhcyAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJmaWxsXCIgdGhlbiB0aGUgcHJvZ3Jlc3MgZ29lcyBlbXB0eS10by1mdWxsLCBpZiBcImVtcHR5XCIgdGhlbiB0aGVcclxuICAvLyBwcm9ncmVzcyBiYXIgc3RhcnRzIGZ1bGwgYW5kIGdvZXMgdG8gZW1wdHkuXHJcbiAgc2V0IHN0eWxlZmlsbChzOiAnZW1wdHknIHwgJ2ZpbGwnIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdzdHlsZWZpbGwnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3N0eWxlZmlsbCcsIHMpO1xyXG4gIH1cclxuICBnZXQgc3R5bGVmaWxsKCk6ICdlbXB0eScgfCAnZmlsbCcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnc3R5bGVmaWxsJykgYXMgJ2VtcHR5JyB8ICdmaWxsJztcclxuICB9XHJcblxyXG4gIC8vIFdoZW4gdGhlIGJhciByZWFjaGVzIDAsIGl0IGlzIGhpZGRlbiBhZnRlciB0aGlzIG1hbnkgc2Vjb25kcy4gSWYgbnVsbFxyXG4gIC8vIHRoZW4gaXQgaXMgbm90IGhpZGRlbi5cclxuICBzZXQgaGlkZWFmdGVyKGg6IG51bWJlciB8IG51bGwpIHtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZWFmdGVyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInLCBoLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgaGlkZWFmdGVyKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgY29uc3QgaCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInKTtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBwYXJzZUludChoKTtcclxuICB9XHJcblxyXG4gIC8vIENob29zZXMgd2hhdCBzaG91bGQgYmUgc2hvd24gaW4gdGhlIHRleHQgZmllbGQgaW4gZWFjaCBhcmVhIG9mXHJcbiAgLy8gdGhlIGJhci4gQ2FuIGJlIG9uZSBvZjpcclxuICAvLyBlbXB0eSAtIG5vdGhpbmcgaXMgc2hvd24uXHJcbiAgLy8gXCJyZW1haW5cIiAtIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cclxuICAvLyBcImR1cmF0aW9uXCIgLSBzaG93cyB0aGUgcmVtYWluaW5nIGFuZCB0b3RhbCBkdXJhdGlvbiB0aW1lXHJcbiAgLy8gICAgICAgICAgICAgIG9mIHRoZSBiYXIuXHJcbiAgLy8gXCJwZXJjZW50XCIgLSBzaG93cyB0aGUgcGVyY2VudGFnZSBvZiByZW1haW5pbmcgdGltZSB0b1xyXG4gIC8vICAgICAgICAgICAgIHRoZSBkdXJhdGlvbi5cclxuICAvLyBcImVsYXBzZWRcIiAgIC0gc2hvd3MgdGhlIGVsYXBzZWQgdGltZVxyXG4gIC8vIGFueXRoaW5nIGVsc2UgLSB0aGUgZ2l2ZW4gdGV4dCBpcyBzaG93biBsaXRlcmFsbHkuXHJcbiAgc2V0IGxlZnR0ZXh0KHA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChwID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xlZnR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCBsZWZ0dGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICB9XHJcbiAgc2V0IHJpZ2h0dGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncmlnaHR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCByaWdodHRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gIH1cclxuICBzZXQgY2VudGVydGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnLCBwKTtcclxuICB9XHJcbiAgZ2V0IGNlbnRlcnRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQsIHRoZSB0aW1lciB3aWxsIGxvb3AgZm9yZXZlci5cclxuICBzZXQgbG9vcChsOiBib29sZWFuKSB7XHJcbiAgICBpZiAobClcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xvb3AnLCAnJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG4gIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIHdvdWxkIGJlIHVzZWQgd2l0aCB3aW5kb3cuY3VzdG9tRWxlbWVudHMuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pO1xyXG4gICAgdGhpcy5pbml0KHJvb3QpO1xyXG5cclxuICAgIHRoaXMuX2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8vIERlZmF1bHQgdmFsdWVzLlxyXG4gICAgdGhpcy5fc3RhcnQgPSAwO1xyXG4gICAgdGhpcy5fZHVyYXRpb24gPSAwO1xyXG4gICAgdGhpcy5fd2lkdGggPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9iZyA9ICdibGFjayc7XHJcbiAgICB0aGlzLl9mZyA9ICd5ZWxsb3cnO1xyXG4gICAgdGhpcy5fdG93YXJkUmlnaHQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2ZpbGwgPSBmYWxzZTtcclxuICAgIHRoaXMuX2xlZnRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9jZW50ZXJUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9yaWdodFRleHQgPSAnJztcclxuICAgIHRoaXMuX2hpZGVBZnRlciA9IC0xO1xyXG4gICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gMDtcclxuXHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgncm9vdCcpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ2ZnJykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLmJhY2tncm91bmRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnYmcnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMubGVmdFRleHRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnbGVmdHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdjZW50ZXJ0ZXh0JykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICB9XHJcblxyXG4gIGluaXQocm9vdDogU2hhZG93Um9vdCk6IHZvaWQge1xyXG4gICAgcm9vdC5pbm5lckhUTUwgPSBgXHJcbiAgICAgIDxzdHlsZT5cclxuICAgICAgICAudGltZXJiYXItcm9vdCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMS4wO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogYXJpYWw7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAtMXB4IDAgM3B4IGJsYWNrLCAwIDFweCAzcHggYmxhY2ssIDFweCAwIDNweCBibGFjaywgMCAtMXB4IDNweCBibGFjaztcclxuICAgICAgICAgIHdpbGwtY2hhbmdlOiBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEuMmV4KTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWxlZnR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItY2VudGVydGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4IDAuNGVtIDBweCAwLjRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMjAwOCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0FBNkUwMyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwICNBQTZFMDM7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIGhlaWdodDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW46IDFweDtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5za2luLWxpcHBlKSAudGV4dCB7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzpcclxuICAgICAgICAgICAgMCAwIDNweCAjQUE2RTAzLFxyXG4gICAgICAgICAgICAwIDFweCAzcHggI0FBNkUwMyxcclxuICAgICAgICAgICAgMCAtMXB4IDNweCAjQUE2RTAzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguanVzdC1hLW51bWJlcikgLnRpbWVyYmFyLWJnIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1mZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBLb3JlYW4gYmV0dGVyIHZpc2liaWxpdHkgQ1NTICovXHJcbiAgICAgICAgOmxhbmcoa28pIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMS41ZXgpO1xyXG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjNleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpsYW5nKGtvKSAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHRvcDogMC4zZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3N0eWxlPlxyXG4gICAgICA8ZGl2IGlkPVwicm9vdFwiIGNsYXNzPVwidGltZXJiYXItcm9vdFwiPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJiZ1wiIGNsYXNzPVwidGltZXJiYXItYmdcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGlkPVwiZmdcIiBjbGFzcz1cInRpbWVyYmFyLWZnXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImxlZnR0ZXh0XCIgY2xhc3M9XCJ0ZXh0IHRpbWVyYmFyLWxlZnR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImNlbnRlcnRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItY2VudGVydGV4dFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRhaW5lclwiPjxkaXYgaWQ9XCJyaWdodHRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItcmlnaHR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYDtcclxuICB9XHJcblxyXG4gIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBfb2xkVmFsdWU6IHN0cmluZyB8IG51bWJlciwgbmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG5hbWUgPT09ICdkdXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5fZHVyYXRpb24gPSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCk7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAndmFsdWUnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUoTWF0aC5tYXgocGFyc2VGbG9hdChuZXdWYWx1ZSksIDApKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2VsYXBzZWQnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gLSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCkpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnd2lkdGgnKSB7XHJcbiAgICAgIHRoaXMuX3dpZHRoID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoZWlnaHQnKSB7XHJcbiAgICAgIHRoaXMuX2hlaWdodCA9IG5ld1ZhbHVlO1xyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnYmcnKSB7XHJcbiAgICAgIHRoaXMuX2JnID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdmZycpIHtcclxuICAgICAgdGhpcy5fZmcgPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3N0eWxlZmlsbCcpIHtcclxuICAgICAgdGhpcy5fZmlsbCA9IG5ld1ZhbHVlID09PSAnZmlsbCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd0b3dhcmQnKSB7XHJcbiAgICAgIHRoaXMuX3Rvd2FyZFJpZ2h0ID0gbmV3VmFsdWUgPT09ICdyaWdodCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsZWZ0dGV4dCcpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0gbmV3VmFsdWUgIT09IHRoaXMuX2xlZnRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fbGVmdFRleHQgPSBuZXdWYWx1ZTtcclxuICAgICAgaWYgKHVwZGF0ZSlcclxuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2NlbnRlcnRleHQnKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IG5ld1ZhbHVlICE9PSB0aGlzLl9jZW50ZXJUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fY2VudGVyVGV4dCA9IG5ld1ZhbHVlO1xyXG4gICAgICBpZiAodXBkYXRlKVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncmlnaHR0ZXh0Jykge1xyXG4gICAgICBjb25zdCB1cGRhdGUgPSBuZXdWYWx1ZSAhPT0gdGhpcy5fcmlnaHRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fcmlnaHRUZXh0ID0gbmV3VmFsdWU7XHJcbiAgICAgIGlmICh1cGRhdGUpXHJcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoaWRlYWZ0ZXInKSB7XHJcbiAgICAgIHRoaXMuX2hpZGVBZnRlciA9IE1hdGgubWF4KHRoaXMuaGlkZWFmdGVyID8/IDAsIDApO1xyXG4gICAgICBpZiAodGhpcy52YWx1ZSA9PT0gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPj0gMClcclxuICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsb29wJykge1xyXG4gICAgICB0aGlzLl9sb29wID0gbmV3VmFsdWUgIT09IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5kcmF3KCk7XHJcbiAgfVxyXG5cclxuICBsYXlvdXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuYmFja2dyb3VuZEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fYmc7XHJcbiAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuX2ZnO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLl9oZWlnaHQ7XHJcblxyXG4gICAgLy8gVG8gc3RhcnQgZnVsbCBhbmQgYW5pbWF0ZSB0byBlbXB0eSwgd2UgYW5pbWF0ZSBiYWNrd2FyZHMgYW5kIGZsaXBcclxuICAgIC8vIHRoZSBkaXJlY3Rpb24uXHJcbiAgICBpZiAodGhpcy5fdG93YXJkUmlnaHQgIT09IHRoaXMuX2ZpbGwpIHtcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS5sZWZ0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUucmlnaHQgPSAnMHB4JztcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAncmlnaHQgY2VudGVyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xyXG4gICAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLnJpZ2h0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUudHJhbnNmb3JtT3JpZ2luID0gJ2xlZnQgY2VudGVyJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRleHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YXJ5aW5nVGV4dHMgPSBbJ2VsYXBzZWQnLCAnZHVyYXRpb24nLCAncGVyY2VudCcsICdyZW1haW4nXTtcclxuICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgZmlsbGVkIGluIGR1cmluZyBkcmF3KCkgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX2xlZnRUZXh0KSkge1xyXG4gICAgICAvLyBPdGhlcndpc2UgdGhlIHZhbHVlIGlzIGZpeGVkIHNvIGl0IGNhbiBiZSBzZXQgaGVyZS5cclxuICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fbGVmdFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIXZhcnlpbmdUZXh0cy5pbmNsdWRlcyh0aGlzLl9jZW50ZXJUZXh0KSlcclxuICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9jZW50ZXJUZXh0O1xyXG5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX3JpZ2h0VGV4dCkpXHJcbiAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9yaWdodFRleHQ7XHJcbiAgfVxyXG5cclxuICBkcmF3KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWxhcHNlZFNlYyA9IChEYXRlLm5vdygpIC0gdGhpcy5fc3RhcnQpIC8gMTAwMDtcclxuICAgIGNvbnN0IHJlbWFpblNlYyA9IE1hdGgubWF4KDAsIHRoaXMuX2R1cmF0aW9uIC0gZWxhcHNlZFNlYyk7XHJcbiAgICBsZXQgcGVyY2VudCA9IHRoaXMuX2R1cmF0aW9uIDw9IDAgPyAwIDogcmVtYWluU2VjIC8gdGhpcy5fZHVyYXRpb247XHJcbiAgICAvLyBLZWVwIGl0IGJldHdlZW4gMCBhbmQgMS5cclxuICAgIHBlcmNlbnQgPSBNYXRoLm1pbigxLCBNYXRoLm1heCgwLCBwZXJjZW50KSk7XHJcbiAgICBjb25zdCBkaXNwbGF5UmVtYWluID0gcmVtYWluU2VjID8gcmVtYWluU2VjLnRvRml4ZWQoMSkgOiAnJztcclxuICAgIGNvbnN0IGRpc3BsYXlFbGFwc2VkID0gZWxhcHNlZFNlYy50b0ZpeGVkKDEpO1xyXG4gICAgaWYgKHRoaXMuX2ZpbGwpXHJcbiAgICAgIHBlcmNlbnQgPSAxLjAgLSBwZXJjZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgc2NhbGVYKCR7cGVyY2VudC50b0ZpeGVkKDMpfSlgO1xyXG4gICAgaWYgKHRoaXMuX2xlZnRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdyZW1haW4nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlSZW1haW47XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2xlZnRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAke2Rpc3BsYXlSZW1haW59IC8gJHt0aGlzLl9kdXJhdGlvbn1gO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9sZWZ0VGV4dCA9PT0gJ3BlcmNlbnQnKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdlbGFwc2VkJylcclxuICAgICAgICB0aGlzLmxlZnRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5RWxhcHNlZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jZW50ZXJUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ3JlbWFpbicpXHJcbiAgICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5UmVtYWluO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9jZW50ZXJUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7ZGlzcGxheVJlbWFpbn0gLyAke3RoaXMuX2R1cmF0aW9ufWA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2NlbnRlclRleHQgPT09ICdwZXJjZW50JylcclxuICAgICAgICB0aGlzLmNlbnRlclRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ2VsYXBzZWQnKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheUVsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fcmlnaHRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncmVtYWluJylcclxuICAgICAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheVJlbWFpbjtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBgJHtkaXNwbGF5UmVtYWlufSAvICR7dGhpcy5fZHVyYXRpb259YDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncGVyY2VudCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZWxhcHNlZCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlFbGFwc2VkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQXBwbHkgYWxsIHN0eWxlcyBmcm9tIGFuIG9iamVjdCB3aGVyZSBrZXlzIGFyZSBDU1MgcHJvcGVydGllc1xyXG4gIGFwcGx5U3R5bGVzKHN0eWxlczogeyBbczogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSBPYmplY3Qua2V5cyhzdHlsZXMpLm1hcCgoaykgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7a306JHtzdHlsZXM/LltrXSA/PyAnJ307YDtcclxuICAgIH0pLmpvaW4oJycpO1xyXG5cclxuICAgIGNvbnN0IGxlZnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdsZWZ0dGV4dCcpO1xyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnY2VudGVydGV4dCcpO1xyXG4gICAgY29uc3QgcmlnaHQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKTtcclxuICAgIGlmICghbGVmdCB8fCAhY2VudGVyIHx8ICFyaWdodClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgbGVmdC5zdHlsZS5jc3NUZXh0ICs9IHM7XHJcbiAgICBjZW50ZXIuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gICAgcmlnaHQuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gIH1cclxuXHJcbiAgc2V0dmFsdWUocmVtYWluU2VjOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsYXBzZWRTZWMgPSBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIHJlbWFpblNlYyk7XHJcbiAgICB0aGlzLl9zdGFydCA9IERhdGUubm93KCkgLSAoZWxhcHNlZFNlYyAqIDEwMDApO1xyXG5cclxuICAgIGlmICghdGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVyID8/IDApO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGFkdmFuY2UoKTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGUgZWxlbWVudCBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NLCBzdG9wIHJlcXVlc3RpbmcgYW5pbWF0aW9uIGZyYW1lc1xyXG4gICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBlbGFwc2VkU2VjID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gICAgaWYgKGVsYXBzZWRTZWMgPj0gdGhpcy5fZHVyYXRpb24pIHtcclxuICAgICAgLy8gVGltZXIgY29tcGxldGVkXHJcbiAgICAgIGlmICh0aGlzLl9sb29wICYmIHRoaXMuX2R1cmF0aW9uID4gMCkge1xyXG4gICAgICAgIC8vIFNldHMgdGhlIHJlbWFpbmluZyB0aW1lIHRvIGluY2x1ZGUgYW55IGV4dHJhIGVsYXBzZWQgc2Vjb25kcyBwYXN0IHRoZSBkdXJhdGlvblxyXG4gICAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gKyAodGhpcy5fZHVyYXRpb24gLSBlbGFwc2VkU2VjKSAlIHRoaXMuX2R1cmF0aW9uKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNldHMgdGhlIGF0dHJpYnV0ZSB0byAwIHNvIHVzZXJzIGNhbiBzZWUgdGhlIGNvdW50ZXIgaXMgZG9uZSwgYW5kXHJcbiAgICAgIC8vIGlmIHRoZXkgc2V0IHRoZSBzYW1lIGR1cmF0aW9uIGFnYWluIGl0IHdpbGwgY291bnQuXHJcbiAgICAgIHRoaXMuX2R1cmF0aW9uID0gMDtcclxuICAgICAgaWYgKHRoaXMuX2hpZGVBZnRlciA+IDApXHJcbiAgICAgICAgdGhpcy5faGlkZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQodGhpcy5oaWRlLmJpbmQodGhpcyksIHRoaXMuX2hpZGVBZnRlciAqIDEwMDApO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPT09IDApXHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaW1lciBub3QgY29tcGxldGVkLCByZXF1ZXN0IGFub3RoZXIgYW5pbWF0aW9uIGZyYW1lXHJcbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hZHZhbmNlLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJhdygpO1xyXG4gIH1cclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHRoaXMucm9vdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcbiAgfVxyXG5cclxuICBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIH1cclxufVxyXG5cclxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGltZXItYmFyJywgVGltZXJCYXIpO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xyXG4gICAgJ3RpbWVyLWJhcic6IFRpbWVyQmFyO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCB7IExhbmcgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBOZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG4vLyBGaWxsIGluIExvY2FsZVJlZ2V4IHNvIHRoYXQgdGhpbmdzIGxpa2UgTG9jYWxlUmVnZXguY291bnRkb3duU3RhcnQuZGUgaXMgYSB2YWxpZCByZWdleC5cclxuY29uc3QgbG9jYWxlTGluZXMgPSB7XHJcbiAgY291bnRkb3duU3RhcnQ6IHtcclxuICAgIGVuOiAnQmF0dGxlIGNvbW1lbmNpbmcgaW4gKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZHMhIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuIGJpcyBLYW1wZmJlZ2lubiEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICAgIGZyOiAnRMOpYnV0IGR1IGNvbWJhdCBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT8hIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni+OBvuOBpyg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBjbjogJ+i3neemu+aImOaWl+W8gOWni+i/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEgKD88dGltZT5cXFxceXtGbG9hdH0p7LSIIOyghCEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkVuZ2FnZToge1xyXG4gICAgZW46ICdFbmdhZ2UhJyxcclxuICAgIGRlOiAnU3RhcnQhJyxcclxuICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWVbIF0/IScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICBjbjogJ+aImOaWl+W8gOWni++8gScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEhJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkNhbmNlbDoge1xyXG4gICAgZW46ICdDb3VudGRvd24gY2FuY2VsZWQgYnkgKD88cGxheWVyPlxcXFx5e05hbWV9KScsXHJcbiAgICBkZTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkgaGF0IGRlbiBDb3VudGRvd24gYWJnZWJyb2NoZW4nLFxyXG4gICAgZnI6ICdMZSBjb21wdGUgw6AgcmVib3VycyBhIMOpdMOpIGludGVycm9tcHUgcGFyICg/PHBsYXllcj5cXFxceXtOYW1lfSlbIF0/XFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44Gr44KI44KK44CB5oim6ZeY6ZaL5aeL44Kr44Km44Oz44OI44GM44Kt44Oj44Oz44K744Or44GV44KM44G+44GX44Gf44CCJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeWPlua2iOS6huaImOaWl+W8gOWni+WAkuiuoeaXtuOAgicsXHJcbiAgICBrbzogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkg64uY7J20IOy0iOydveq4sOulvCDst6jshoztlojsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICBhcmVhU2VhbDoge1xyXG4gICAgZW46ICcoPzxhcmVhPi4qPykgd2lsbCBiZSBzZWFsZWQgb2ZmIGluICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRzIScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuLCBiaXMgc2ljaCAoPzxhcmVhPi4qPykgc2NobGllw590JyxcclxuICAgIGZyOiAnRmVybWV0dXJlICg/PGFyZWE+Lio/KSBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT9cXFxcLicsXHJcbiAgICBqYTogJyg/PGFyZWE+Lio/KeOBruWwgemOluOBvuOBp+OBguOBqCg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBjbjogJ+i3nSg/PGFyZWE+Lio/Keiiq+WwgemUgei/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBrbzogJyg/PHRpbWU+XFxcXHl7RmxvYXR9Key0iCDtm4Tsl5AgKD88YXJlYT4uKj8pKOydtHzqsIApIOu0ieyHhOuQqeuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIGFyZWFVbnNlYWw6IHtcclxuICAgIGVuOiAnKD88YXJlYT4uKj8pIGlzIG5vIGxvbmdlciBzZWFsZWQuJyxcclxuICAgIGRlOiAnKD88YXJlYT4uKj8pIMO2ZmZuZXQgc2ljaCBlcm5ldXQuJyxcclxuICAgIGZyOiAnT3V2ZXJ0dXJlICg/PGFyZWE+Lio/KVsgXT8hJyxcclxuICAgIGphOiAnKD88YXJlYT4uKj8p44Gu5bCB6Y6W44GM6Kej44GL44KM44Gf4oCm4oCmJyxcclxuICAgIGNuOiAnKD88YXJlYT4uKj8p55qE5bCB6ZSB6Kej6Zmk5LqGJyxcclxuICAgIGtvOiAnKD88YXJlYT4uKj8p7J2YIOu0ieyHhOqwgCDtlbTsoJzrkJjsl4jsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICAvLyBSZWNpcGUgbmFtZSBhbHdheXMgc3RhcnQgd2l0aCBcXHVlMGJiXHJcbiAgLy8gSFEgaWNvbiBpcyBcXHVlMDNjXHJcbiAgY3JhZnRpbmdTdGFydDoge1xyXG4gICAgZW46ICdZb3UgYmVnaW4gc3ludGhlc2l6aW5nICg/PGNvdW50Pihhbj98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGJlZ29ubmVuLCBkdXJjaCBTeW50aGVzZSAoPzxjb3VudD4oZWluKGV8ZXN8ZW18ZXIpP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikgaGVyenVzdGVsbGVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiDDoCBmYWJyaXF1ZXIgKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKikow5coPzxjb3VudD5cXFxcZCspKT/jga7oo73kvZzjgpLplovlp4vjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5byA5aeL5Yi25L2c4oCcXFx1ZTBiYig/PHJlY2lwZT4uKinigJ0ow5coPzxjb3VudD5cXFxcZCspKT/jgIInLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSjDlyg/PGNvdW50PlxcXFxkKynqsJwpPyDsoJzsnpHsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgdHJpYWxDcmFmdGluZ1N0YXJ0OiB7XHJcbiAgICBlbjogJ1lvdSBiZWdpbiB0cmlhbCBzeW50aGVzaXMgb2YgXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBkZTogJ0R1IGhhc3QgbWl0IGRlciBUZXN0c3ludGhlc2Ugdm9uIFxcdWUwYmIoPzxyZWNpcGU+LiopIGJlZ29ubmVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiB1bmUgc3ludGjDqHNlIGRcXCdlc3NhaSBwb3VyIHVuZT8gXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga9cXHVlMGJiKD88cmVjaXBlPi4qKeOBruijveS9nOe3tOe/kuOCkumWi+Wni+OBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlvIDlp4vnu4PkuaDliLbkvZxcXHVlMGJiKD88cmVjaXBlPi4qKeOAgicsXHJcbiAgICBrbzogJ1xcdWUwYmIoPzxyZWNpcGU+LiopIOygnOyekSDsl7DsirXsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgY3JhZnRpbmdGaW5pc2g6IHtcclxuICAgIGVuOiAnWW91IHN5bnRoZXNpemUgKD88Y291bnQ+KGFuP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikoXFx1ZTAzYyk/XFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGVyZm9sZ3JlaWNoICg/PGNvdW50PihlaW4oZXxlc3xlbXxlcik/fFxcXFxkKykgKT8oPzxyZWNpcGU+LiopKFxcdWUwM2MpPyBoZXJnZXN0ZWxsdFxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBmYWJyaXF1ZXogKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpP1xcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpPyjDlyg/PGNvdW50PlxcXFxkKykpP+OCkuWujOaIkOOBleOBm+OBn++8gScsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnliLbkvZzigJxcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT/igJ0ow5coPzxjb3VudD5cXFxcZCspKT/miJDlip/vvIEnLFxyXG4gICAga286ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0pIOuLmOydtCBcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT8ow5coPzxjb3VudD5cXFxcZCsp6rCcKT8o7J2EfOulvCkg7JmE7ISx7ZaI7Iq164uI64ukIScsXHJcbiAgfSxcclxuICB0cmlhbENyYWZ0aW5nRmluaXNoOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIHByb3ZlZCBhIHN1Y2Nlc3MhJyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgd2FyIGVyZm9sZ3JlaWNoIScsXHJcbiAgICBmcjogJ1ZvdHJlIHN5bnRow6hzZSBkXFwnZXNzYWkgcG91ciBmYWJyaXF1ZXIgXFx1ZTBiYig/PHJlY2lwZT4uKikgYSDDqXTDqSBjb3Vyb25uw6llIGRlIHN1Y2PDqHMhJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+Liop44Gu6KO95L2c57e057+S44Gr5oiQ5Yqf44GX44Gf77yBJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9Kee7g+S5oOWItuS9nFxcdWUwYmIoPzxyZWNpcGU+Liop5oiQ5Yqf5LqG77yBJyxcclxuICAgIGtvOiAnXFx1ZTBiYig/PHJlY2lwZT4uKikg7KCc7J6RIOyXsOyKteyXkCDshLHqs7XtlojsirXri4jri6QhJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nRmFpbDoge1xyXG4gICAgZW46ICdZb3VyIHN5bnRoZXNpcyBmYWlscyEnLFxyXG4gICAgZGU6ICdEZWluZSBTeW50aGVzZSBpc3QgZmVobGdlc2NobGFnZW4hJyxcclxuICAgIGZyOiAnTGEgc3ludGjDqHNlIMOpY2hvdWVcXFxcLnszfScsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Yi25L2c5aSx6LSl5LqG4oCm4oCmJyxcclxuICAgIGtvOiAn7KCc7J6R7JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdGYWlsOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIGZhaWxlZFxcXFwuezN9JyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgaXN0IGZlaGxnZXNjaGxhZ2VuXFxcXC57M30nLFxyXG4gICAgZnI6XHJcbiAgICAgICdWb3RyZSBzeW50aMOoc2UgZFxcJ2Vzc2FpIHBvdXIgZmFicmlxdWVyIFxcdWUwYmIoPzxyZWNpcGU+LiopIHNcXCdlc3Qgc29sZMOpZSBwYXIgdW4gw6ljaGVjXFxcXC57M30nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKinjga7oo73kvZznt7Tnv5LjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p57uD5Lmg5Yi25L2cXFx1ZTBiYig/PHJlY2lwZT4uKinlpLHotKXkuobigKbigKYnLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSDsoJzsnpEg7Jew7Iq17JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nQ2FuY2VsOiB7XHJcbiAgICBlbjogJ1lvdSBjYW5jZWwgdGhlIHN5bnRoZXNpc1xcXFwuJyxcclxuICAgIGRlOiAnRHUgaGFzdCBkaWUgU3ludGhlc2UgYWJnZWJyb2NoZW5cXFxcLicsXHJcbiAgICBmcjogJ0xhIHN5bnRow6hzZSBlc3QgYW5udWzDqWVcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgpLkuK3mraLjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Lit5q2i5LqG5Yi25L2c5L2c5Lia44CCJyxcclxuICAgIGtvOiAn7KCc7J6R7J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdDYW5jZWw6IHtcclxuICAgIGVuOiAnWW91IGFiYW5kb25lZCB0cmlhbCBzeW50aGVzaXNcXFxcLicsXHJcbiAgICBkZTogJ1Rlc3RzeW50aGVzZSBhYmdlYnJvY2hlblxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBhdmV6IGludGVycm9tcHUgbGEgc3ludGjDqHNlIGRcXCdlc3NhaVxcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr+ijveS9nOe3tOe/kuOCkuS4reatouOBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlgZzmraLkuobnu4PkuaDjgIInLFxyXG4gICAga286ICfsoJzsnpEg7Jew7Iq17J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxudHlwZSBMb2NhbGVMaW5lID0geyBlbjogc3RyaW5nIH0gJiBQYXJ0aWFsPFJlY29yZDxFeGNsdWRlPExhbmcsICdlbic+LCBzdHJpbmc+PjtcclxuXHJcbnR5cGUgTG9jYWxlUmVnZXhlc09iaiA9IFJlY29yZDxrZXlvZiB0eXBlb2YgbG9jYWxlTGluZXMsIFJlY29yZDxMYW5nLCBSZWdFeHA+PjtcclxuXHJcbmNsYXNzIFJlZ2V4U2V0IHtcclxuICByZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuICBuZXRSZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuXHJcbiAgZ2V0IGxvY2FsZVJlZ2V4KCk6IExvY2FsZVJlZ2V4ZXNPYmoge1xyXG4gICAgaWYgKHRoaXMucmVnZXhlcylcclxuICAgICAgcmV0dXJuIHRoaXMucmVnZXhlcztcclxuICAgIHRoaXMucmVnZXhlcyA9IHRoaXMuYnVpbGRMb2NhbGVSZWdleGVzKFxyXG4gICAgICBsb2NhbGVMaW5lcyxcclxuICAgICAgKHM6IHN0cmluZykgPT4gUmVnZXhlcy5nYW1lTG9nKHsgbGluZTogcyArICcuKj8nIH0pLFxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLnJlZ2V4ZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9jYWxlTmV0UmVnZXgoKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICBpZiAodGhpcy5uZXRSZWdleGVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5uZXRSZWdleGVzO1xyXG4gICAgdGhpcy5uZXRSZWdleGVzID0gdGhpcy5idWlsZExvY2FsZVJlZ2V4ZXMoXHJcbiAgICAgIGxvY2FsZUxpbmVzLFxyXG4gICAgICAoczogc3RyaW5nKSA9PiBOZXRSZWdleGVzLmdhbWVMb2coeyBsaW5lOiBzICsgJ1tefF0qPycgfSksXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMubmV0UmVnZXhlcztcclxuICB9XHJcblxyXG4gIGJ1aWxkTG9jYWxlUmVnZXhlcyhcclxuICAgIGxvY2FsZXM6IHR5cGVvZiBsb2NhbGVMaW5lcyxcclxuICAgIGJ1aWxkZXI6IChzOiBzdHJpbmcpID0+IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4gfCBSZWdFeHAsXHJcbiAgKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICBPYmplY3RcclxuICAgICAgICAuZW50cmllcyhsb2NhbGVzKVxyXG4gICAgICAgIC5tYXAoKFtrZXksIGxpbmVzXSkgPT4gW2tleSwgdGhpcy5idWlsZExvY2FsZVJlZ2V4KGxpbmVzLCBidWlsZGVyKV0pLFxyXG4gICAgKSBhcyBMb2NhbGVSZWdleGVzT2JqO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRMb2NhbGVSZWdleChcclxuICAgIGxpbmVzOiBMb2NhbGVMaW5lLFxyXG4gICAgYnVpbGRlcjogKHM6IHN0cmluZykgPT4gQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cCxcclxuICApOiBSZWNvcmQ8TGFuZywgQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cD4ge1xyXG4gICAgY29uc3QgcmVnZXhFbiA9IGJ1aWxkZXIobGluZXMuZW4pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZW46IHJlZ2V4RW4sXHJcbiAgICAgIGRlOiBsaW5lcy5kZSA/IGJ1aWxkZXIobGluZXMuZGUpIDogcmVnZXhFbixcclxuICAgICAgZnI6IGxpbmVzLmZyID8gYnVpbGRlcihsaW5lcy5mcikgOiByZWdleEVuLFxyXG4gICAgICBqYTogbGluZXMuamEgPyBidWlsZGVyKGxpbmVzLmphKSA6IHJlZ2V4RW4sXHJcbiAgICAgIGNuOiBsaW5lcy5jbiA/IGJ1aWxkZXIobGluZXMuY24pIDogcmVnZXhFbixcclxuICAgICAga286IGxpbmVzLmtvID8gYnVpbGRlcihsaW5lcy5rbykgOiByZWdleEVuLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHJlZ2V4U2V0ID0gbmV3IFJlZ2V4U2V0KCk7XHJcblxyXG5leHBvcnQgY29uc3QgTG9jYWxlUmVnZXggPSByZWdleFNldC5sb2NhbGVSZWdleDtcclxuZXhwb3J0IGNvbnN0IExvY2FsZU5ldFJlZ2V4ID0gcmVnZXhTZXQubG9jYWxlTmV0UmVnZXg7XHJcbiIsIi8vIFRPRE86IG1heWJlIHRoaXMgc2hvdWxkIGJlIHN0cnVjdHVyZWQgaWRlbnRpY2FsbHkgdG8gYSB0aW1lbGluZVJlcGxhY2Ugc2VjdGlvbi5cclxuXHJcbmltcG9ydCB7IExhbmcsIE5vbkVuTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5cclxuLy8gSXQncyBhd2t3YXJkIHRvIHJlZmVyIHRvIHRoZXNlIHN0cmluZyBrZXlzLCBzbyBuYW1lIHRoZW0gYXMgcmVwbGFjZVN5bmNba2V5cy5zZWFsS2V5XS5cclxuZXhwb3J0IGNvbnN0IHN5bmNLZXlzID0ge1xyXG4gIC8vIE1hdGNoIFJlZ2V4ZXMsIE5ldFJlZ2V4ZXMsIGFuZCB0aW1lbGluZSBjb25zdHJ1Y3Rpb25zIG9mIHNlYWwgbG9nIGxpbmVzLlxyXG4gIC8vIEZJWE1FOiBUaGlzIHNlYWwgcmVnZXggaW5jbHVkZXMgYW4gb3B0aW9uYWwgc2Vjb25kIGNvbG9uLCBhcyBcIjA4Mzk6Oj9cIlwiLlxyXG4gIC8vIE9uY2Ugd2UgaGF2ZSBjb21wbGV0ZWx5IGNvbnZlcnRlZCB0aGluZ3MgZm9yIDYuMCxcclxuICAvLyB3ZSBzaG91bGQgY29tZSBiYWNrIGhlcmUgYW5kIG1ha2UgdGhlIGRvdWJsZWQgY29sb24gbm9uLW9wdGlvbmFsLlxyXG4gIHNlYWw6ICcoPzw9MDA6MDgzOTo6fDAwXFxcXHxbXnxdKlxcXFx8MDgzOVxcXFx8XFxcXHwpKC4qKSB3aWxsIGJlIHNlYWxlZCBvZmYoPzogaW4gKD86WzAtOV0rIHNlY29uZHMpPyk/JyxcclxuICB1bnNlYWw6ICdpcyBubyBsb25nZXIgc2VhbGVkJyxcclxuICBlbmdhZ2U6ICdFbmdhZ2UhJyxcclxufTtcclxuXHJcbmNvbnN0IHRleHRLZXlzID0ge1xyXG4gIC8vIE1hdGNoIGRpcmVjdGlvbnMgaW4gcmVwbGFjZVRleHRcclxuICAvLyBlZzogYChOKWAsIGAoU1cpYCwgYChORS9OVylgLCBldGMuXHJcbiAgRTogJyg/PD0gXFxcXCh8XFxcXC8pRSg/PVxcXFwpfFxcXFwvKScsXHJcbiAgTjogJyg/PD0gXFxcXCh8XFxcXC8pTig/PVxcXFwpfFxcXFwvKScsXHJcbiAgUzogJyg/PD0gXFxcXCh8XFxcXC8pUyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgVzogJyg/PD0gXFxcXCh8XFxcXC8pVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgTkU6ICcoPzw9IFxcXFwofFxcXFwvKU5FKD89XFxcXCl8XFxcXC8pJyxcclxuICBOVzogJyg/PD0gXFxcXCh8XFxcXC8pTlcoPz1cXFxcKXxcXFxcLyknLFxyXG4gIFNFOiAnKD88PSBcXFxcKHxcXFxcLylTRSg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU1c6ICcoPzw9IFxcXFwofFxcXFwvKVNXKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBSb2xlcyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKFRhbmspYCwgYChIZWFsZXIpYCwgYChEUFMpYCwgZXRjXHJcbiAgVGFuazogJyg/PD0gXFxcXCh8XFxcXC8pVGFua3M/KD89XFxcXCl8XFxcXC8pJyxcclxuICBIZWFsZXI6ICcoPzw9IFxcXFwofFxcXFwvKUhlYWxlcnM/KD89XFxcXCl8XFxcXC8pJyxcclxuICBEUFM6ICcoPzw9IFxcXFwofFxcXFwvKURQUyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgLy8gTWF0Y2ggYC0tMS0tYCBzdHlsZSB0ZXh0LlxyXG4gIE51bWJlcjogJy0tKFxcXFxzKlxcXFxkK1xcXFxzKiktLScsXHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106IHsgW2tleSBpbiBMYW5nXT86IHN0cmluZyB9O1xyXG4gIH07XHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgIFtyZXBsYWNlS2V5OiBzdHJpbmddOlxyXG4gICAgICAmIHtcclxuICAgICAgICBba2V5IGluIE5vbkVuTGFuZ10/OiBzdHJpbmc7XHJcbiAgICAgIH1cclxuICAgICAgJiB7XHJcbiAgICAgICAgLy8gZG9uJ3Qgc2V0IHRoaXMga2V5LCBidXQgYWxsb3cgdXMgdG8gYXNrIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgIGVuPzogbmV2ZXI7XHJcbiAgICAgIH07XHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb21tb25SZXBsYWNlbWVudDogQ29tbW9uUmVwbGFjZW1lbnQgPSB7XHJcbiAgcmVwbGFjZVN5bmM6IHtcclxuICAgIFtzeW5jS2V5cy5zZWFsXToge1xyXG4gICAgICBlbjogJyQxIHdpbGwgYmUgc2VhbGVkIG9mZicsXHJcbiAgICAgIGRlOlxyXG4gICAgICAgICdOb2NoIDE1IFNla3VuZGVuLCBiaXMgc2ljaCAoPzooPzpkZXJ8ZGllfGRhcykgKT8oPzpadWdhbmcgenUoPzpbcm1dfCBkZW4pPyApPyQxIHNjaGxpZcOfdCcsXHJcbiAgICAgIGZyOiAnRmVybWV0dXJlIGQoPzplfHV8ZXMpICg/OmxcXCd8bGEgfGxlcz8gKT8kMSBkYW5zJyxcclxuICAgICAgamE6ICckMeOBruWwgemOluOBvuOBp+OBguOBqCcsXHJcbiAgICAgIGNuOiAn6LedJDHooqvlsIHplIHov5jmnIknLFxyXG4gICAgICBrbzogJzE17LSIIO2bhOyXkCAkMSg/OuydtHzqsIApIOu0ieyHhOuQqeuLiOuLpCcsXHJcbiAgICB9LFxyXG4gICAgW3N5bmNLZXlzLnVuc2VhbF06IHtcclxuICAgICAgZW46ICdpcyBubyBsb25nZXIgc2VhbGVkJyxcclxuICAgICAgZGU6ICfDtmZmbmV0IHNpY2ggKD86d2llZGVyfGVybmV1dCknLFxyXG4gICAgICBmcjogJ091dmVydHVyZSAnLFxyXG4gICAgICBqYTogJ+OBruWwgemOluOBjOino+OBi+OCjOOBnycsXHJcbiAgICAgIGNuOiAn55qE5bCB6ZSB6Kej6Zmk5LqGJyxcclxuICAgICAga286ICfsnZgg67SJ7IeE6rCAIO2VtOygnOuQmOyXiOyKteuLiOuLpCcsXHJcbiAgICB9LFxyXG4gICAgW3N5bmNLZXlzLmVuZ2FnZV06IHtcclxuICAgICAgZW46ICdFbmdhZ2UhJyxcclxuICAgICAgZGU6ICdTdGFydCEnLFxyXG4gICAgICBmcjogJ8OAIGxcXCdhdHRhcXVlJyxcclxuICAgICAgamE6ICfmiKbpl5jplovlp4vvvIEnLFxyXG4gICAgICBjbjogJ+aImOaWl+W8gOWni++8gScsXHJcbiAgICAgIGtvOiAn7KCE7YisIOyLnOyekSEnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHJlcGxhY2VUZXh0OiB7XHJcbiAgICAnLS1hZGRzIHNwYXduLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1BZGRzIGVyc2NoZWluZW4tLScsXHJcbiAgICAgIGZyOiAnLS1BcHBhcml0aW9uIGRcXCdhZGRzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a5Ye654++LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Ye6546wLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIOyGjO2ZmC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1hZGRzIHRhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS1BZGRzIGNpYmxhYmxlcy0tJyxcclxuICAgICAgamE6ICctLembkemtmuOCv+ODvOOCsuODg+ODiOWPr+iDvS0tJyxcclxuICAgICAgY246ICctLeWwj+aAquWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLeyrhCDtg4Dqsp8g6rCA64qlLS0nLFxyXG4gICAgfSxcclxuICAgICctLWNlbnRlci0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1DZW50cmUtLScsXHJcbiAgICAgIGphOiAnLS3jgrvjg7Pjgr/jg7wtLScsXHJcbiAgICAgIGNuOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoY2VudGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKENlbnRyZSknLFxyXG4gICAgICBqYTogJyjjgrvjg7Pjgr/jg7wpJyxcclxuICAgICAgY246ICco5Lit5aSuKScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLWNsb25lcyBhcHBlYXItLSc6IHtcclxuICAgICAgZGU6ICctLUtsb25lIGVyc2NoZWluZW4tLScsXHJcbiAgICAgIGZyOiAnLS1BcHBhcml0aW9uIGRlcyBjbG9uZXMtLScsXHJcbiAgICAgIGphOiAnLS3lubvlvbHlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lubvlvbHlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3rtoTsi6Ag7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWNvcm5lci0tJzoge1xyXG4gICAgICBkZTogJy0tRWNrZS0tJyxcclxuICAgICAgZnI6ICctLUNvaW4tLScsXHJcbiAgICAgIGphOiAnLS3jgrPjg7zjg4rjg7wtLScsXHJcbiAgICAgIGNuOiAnLS3op5LokL0tLScsXHJcbiAgICAgIGtvOiAnLS3qtazshJ0tLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZHBzIGJ1cm4tLSc6IHtcclxuICAgICAgZGU6ICctLURQUyBidXJuLS0nLFxyXG4gICAgICBmcjogJy0tQnVybiBkcHMtLScsXHJcbiAgICAgIGphOiAnLS3ngavlipvlh7rjgZstLScsXHJcbiAgICAgIGNuOiAnLS3ovazngastLScsXHJcbiAgICAgIGtvOiAnLS3rlJwg7LK07YGsLS0nLFxyXG4gICAgfSxcclxuICAgICctLWVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU9zdGVuLS0nLFxyXG4gICAgICBmcjogJy0tRXN0LS0nLFxyXG4gICAgICBqYTogJy0t5p2xLS0nLFxyXG4gICAgICBjbjogJy0t5LicLS0nLFxyXG4gICAgICBrbzogJy0t64+Z7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGVhc3RcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoT3N0ZW4pJyxcclxuICAgICAgZnI6ICcoRXN0KScsXHJcbiAgICAgIGphOiAnKOadsSknLFxyXG4gICAgICBjbjogJyjkuJwpJyxcclxuICAgICAga286ICco64+Z7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJ0VucmFnZSc6IHtcclxuICAgICAgZGU6ICdGaW5hbGFuZ3JpZmYnLFxyXG4gICAgICBmcjogJ0VucmFnZScsXHJcbiAgICAgIGphOiAn5pmC6ZaT5YiH44KMJyxcclxuICAgICAgY246ICfni4LmmrQnLFxyXG4gICAgICBrbzogJ+yghOupuOq4sCcsXHJcbiAgICB9LFxyXG4gICAgJy0tZnJvemVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1laW5nZWZyb3Jlbi0tJyxcclxuICAgICAgZnI6ICctLUdlbMOpLS0nLFxyXG4gICAgICBqYTogJy0t5YeN57WQLS0nLFxyXG4gICAgICBjbjogJy0t5Ya757uTLS0nLFxyXG4gICAgICBrbzogJy0t67mZ6rKwLS0nLFxyXG4gICAgfSxcclxuICAgICctLWluLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1SZWluLS0nLFxyXG4gICAgICBmcjogJy0tSW50w6lyaWV1ci0tJyxcclxuICAgICAgamE6ICctLeS4rS0tJyxcclxuICAgICAgY246ICctLeWGhS0tJyxcclxuICAgICAga286ICctLeyViC0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChJblxcXFwpJzoge1xyXG4gICAgICBkZTogJyhSZWluKScsXHJcbiAgICAgIGZyOiAnKEludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChpbm5lclxcXFwpJzoge1xyXG4gICAgICBkZTogJyhpbm5lbiknLFxyXG4gICAgICBmcjogJyhpbnTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOS4rSknLFxyXG4gICAgICBjbjogJyjlhoUpJyxcclxuICAgICAga286ICco7JWIKScsXHJcbiAgICB9LFxyXG4gICAgJy0tanVtcC0tJzoge1xyXG4gICAgICBkZTogJy0tU3BydW5nLS0nLFxyXG4gICAgICBmcjogJy0tU2F1dC0tJyxcclxuICAgICAgamE6ICctLeOCuOODo+ODs+ODly0tJyxcclxuICAgICAgY246ICctLei3sy0tJyxcclxuICAgICAga286ICctLeygkO2UhC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1rbm9ja2JhY2stLSc6IHtcclxuICAgICAgZGU6ICctLVLDvGNrc3Rvw58tLScsXHJcbiAgICAgIGZyOiAnLS1Qb3Vzc8OpZS0tJyxcclxuICAgICAgamE6ICctLeODjuODg+OCr+ODkOODg+OCry0tJyxcclxuICAgICAgY246ICctLeWHu+mAgC0tJyxcclxuICAgICAga286ICctLeuEieuwsS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1taWRkbGUtLSc6IHtcclxuICAgICAgZGU6ICctLU1pdHRlLS0nLFxyXG4gICAgICBmcjogJy0tTWlsaWV1LS0nLFxyXG4gICAgICBqYTogJy0t5Lit5aSuLS0nLFxyXG4gICAgICBjbjogJy0t5Lit6Ze0LS0nLFxyXG4gICAgICBrbzogJy0t7KSR7JWZLS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG1pZGRsZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhNaXR0ZSknLFxyXG4gICAgICBmcjogJyhNaWxpZXUpJyxcclxuICAgICAgamE6ICco5Lit5aSuKScsXHJcbiAgICAgIGNuOiAnKOS4remXtCknLFxyXG4gICAgICBrbzogJyjspJHslZkpJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aC0tJzoge1xyXG4gICAgICBkZTogJy0tTm9yZGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC0tJyxcclxuICAgICAgamE6ICctLeWMly0tJyxcclxuICAgICAgY246ICctLeWMly0tJyxcclxuICAgICAga286ICctLeu2geyqvS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChub3J0aFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhOb3JkZW4pJyxcclxuICAgICAgZnI6ICcoTm9yZCknLFxyXG4gICAgICBqYTogJyjljJcpJyxcclxuICAgICAgY246ICco5YyXKScsXHJcbiAgICAgIGtvOiAnKOu2geyqvSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tTm9yZG9zdGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljJfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljJctLScsXHJcbiAgICAgIGtvOiAnLS3rtoHrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tTm9yZC1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+ilvy0tJyxcclxuICAgICAgY246ICctLeilv+WMly0tJyxcclxuICAgICAga286ICctLeu2geyEnC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1vdXQtLSc6IHtcclxuICAgICAgZGU6ICctLVJhdXMtLScsXHJcbiAgICAgIGZyOiAnLS1FeHTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5aSWLS0nLFxyXG4gICAgICBjbjogJy0t5aSWLS0nLFxyXG4gICAgICBrbzogJy0t67CWLS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKE91dFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhSYXVzKScsXHJcbiAgICAgIGZyOiAnKEV4dMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5aSWKScsXHJcbiAgICAgIGNuOiAnKOWkliknLFxyXG4gICAgICBrbzogJyjrsJYpJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChvdXRlclxcXFwpJzoge1xyXG4gICAgICBkZTogJyhhdcOfZW4pJyxcclxuICAgICAgZnI6ICcoZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dHNpZGVcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoRHJhdcOfZW4pJyxcclxuICAgICAgZnI6ICcow4AgbFxcJ2V4dMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5aSWKScsXHJcbiAgICAgIGNuOiAnKOWklumdoiknLFxyXG4gICAgICBrbzogJyjrsJTquaUpJyxcclxuICAgIH0sXHJcbiAgICAnLS1yb3RhdGUtLSc6IHtcclxuICAgICAgZGU6ICctLXJvdGllcmVuLS0nLFxyXG4gICAgICBmcjogJy0tcm90YXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3lm57ou6ItLScsXHJcbiAgICAgIGNuOiAnLS3ml4vovawtLScsXHJcbiAgICAgIGtvOiAnLS3tmozsoIQtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGgtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC0tJyxcclxuICAgICAgamE6ICctLeWNly0tJyxcclxuICAgICAgY246ICctLeWNly0tJyxcclxuICAgICAga286ICctLeuCqOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChzb3V0aFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhTw7xkZW4pJyxcclxuICAgICAgZnI6ICcoU3VkKScsXHJcbiAgICAgIGphOiAnKOWNlyknLFxyXG4gICAgICBjbjogJyjljZcpJyxcclxuICAgICAga286ICco64Ko7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1TdWQtRXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X5p2xLS0nLFxyXG4gICAgICBjbjogJy0t5Lic5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko64+ZLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNvdXRod2VzdC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZHdlc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeWNl+ilvy0tJyxcclxuICAgICAgY246ICctLeilv+WNly0tJyxcclxuICAgICAga286ICctLeuCqOyEnC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zcGxpdC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVpbGVuLS0nLFxyXG4gICAgICBmcjogJy0tZGl2aXNpb24tLScsXHJcbiAgICAgIGphOiAnLS3liIboo4ItLScsXHJcbiAgICAgIGNuOiAnLS3liIboo4ItLScsXHJcbiAgICAgIGtvOiAnLS3rtoTsl7QtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc3R1bi0tJzoge1xyXG4gICAgICBkZTogJy0tQmV0w6R1YnVuZy0tJyxcclxuICAgICAgZnI6ICctLcOJdG91cmRpc3NlbWVudC0tJyxcclxuICAgICAgamE6ICctLeOCueOCv+ODsy0tJyxcclxuICAgICAgY246ICctLeWHu+aZlS0tJyxcclxuICAgICAga286ICctLeq4sOygiC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zeW5jLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1zeW5jaHJvbmlzYXRpb24tLScsXHJcbiAgICAgIGZyOiAnLS1zeW5jaHJvbmlzYXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3jgrfjg7Pjgq8tLScsXHJcbiAgICAgIGNuOiAnLS3lkIzmraXljJYtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nquLDtmZQtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tKFswLTldK3ggKT90YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS0kMWFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tJDFjaWJsYWJsZS0tJyxcclxuICAgICAgamE6ICctLSQx44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0tJDHlj6/pgInkuK0tLScsXHJcbiAgICAgIGtvOiAnLS0kMe2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdGVsZXBvcnQtLSc6IHtcclxuICAgICAgZGU6ICctLXRlbGVwb3J0YXRpb24tLScsXHJcbiAgICAgIGZyOiAnLS10w6lsw6lwb3J0YXRpb24tLScsXHJcbiAgICAgIGphOiAnLS3jg4bjg6zjg53jg7zjg4gtLScsXHJcbiAgICAgIGNuOiAnLS3kvKDpgIEtLScsXHJcbiAgICAgIGtvOiAnLS3siJzqsIQg7J2064+ZLS0nLFxyXG4gICAgfSxcclxuICAgICctLXVudGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tbmljaCBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLW5vbiBjaWJsYWJsZS0tJyxcclxuICAgICAgamE6ICctLeOCv+ODvOOCsuODg+ODiOS4jeWPry0tJyxcclxuICAgICAgY246ICctLeaXoOazlemAieS4rS0tJyxcclxuICAgICAga286ICctLe2DgOqynyDrtojqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0td2VzdC0tJzoge1xyXG4gICAgICBkZTogJy0tV2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tT3Vlc3QtLScsXHJcbiAgICAgIGphOiAnLS3opb8tLScsXHJcbiAgICAgIGNuOiAnLS3opb8tLScsXHJcbiAgICAgIGtvOiAnLS3shJzsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkVdOiB7XHJcbiAgICAgIGRlOiAnTycsXHJcbiAgICAgIGZyOiAnRScsXHJcbiAgICAgIGphOiAn5p2xJyxcclxuICAgICAgY246ICfkuJwnLFxyXG4gICAgICBrbzogJ+uPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5dOiB7XHJcbiAgICAgIGRlOiAnTicsXHJcbiAgICAgIGZyOiAnTicsXHJcbiAgICAgIGphOiAn5YyXJyxcclxuICAgICAgY246ICfljJcnLFxyXG4gICAgICBrbzogJ+u2gScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNdOiB7XHJcbiAgICAgIGRlOiAnUycsXHJcbiAgICAgIGZyOiAnUycsXHJcbiAgICAgIGphOiAn5Y2XJyxcclxuICAgICAgY246ICfljZcnLFxyXG4gICAgICBrbzogJ+uCqCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlddOiB7XHJcbiAgICAgIGRlOiAnVycsXHJcbiAgICAgIGZyOiAnTycsXHJcbiAgICAgIGphOiAn6KW/JyxcclxuICAgICAgY246ICfopb8nLFxyXG4gICAgICBrbzogJ+yEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5FXToge1xyXG4gICAgICBkZTogJ05PJyxcclxuICAgICAgZnI6ICdORScsXHJcbiAgICAgIGphOiAn5YyX5p2xJyxcclxuICAgICAgY246ICfkuJzljJcnLFxyXG4gICAgICBrbzogJ+u2geuPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk5XXToge1xyXG4gICAgICBkZTogJ05XJyxcclxuICAgICAgZnI6ICdOTycsXHJcbiAgICAgIGphOiAn5YyX6KW/JyxcclxuICAgICAgY246ICfopb/ljJcnLFxyXG4gICAgICBrbzogJ+u2geyEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNFXToge1xyXG4gICAgICBkZTogJ1NPJyxcclxuICAgICAgZnI6ICdTRScsXHJcbiAgICAgIGphOiAn5Y2X5p2xJyxcclxuICAgICAgY246ICfkuJzljZcnLFxyXG4gICAgICBrbzogJ+uCqOuPmScsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlNXXToge1xyXG4gICAgICBkZTogJ1NXJyxcclxuICAgICAgZnI6ICdTTycsXHJcbiAgICAgIGphOiAn5Y2X6KW/JyxcclxuICAgICAgY246ICfopb/ljZcnLFxyXG4gICAgICBrbzogJ+uCqOyEnCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLlRhbmtdOiB7XHJcbiAgICAgIGRlOiAnVGFuaycsXHJcbiAgICAgIGZyOiAnVGFuaycsXHJcbiAgICAgIGphOiAn44K/44Oz44KvJyxcclxuICAgICAgY246ICflnablhYsnLFxyXG4gICAgICBrbzogJ+2Dsey7pCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkhlYWxlcl06IHtcclxuICAgICAgZGU6ICdIZWlsZXInLFxyXG4gICAgICBmcjogJ0hlYWxlcicsXHJcbiAgICAgIGphOiAn44OS44O844Op44O8JyxcclxuICAgICAgY246ICfmsrvnlpcnLFxyXG4gICAgICBrbzogJ+2ekOufrCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLkRQU106IHtcclxuICAgICAgZGU6ICdEUFMnLFxyXG4gICAgICBmcjogJ0RQUycsXHJcbiAgICAgIGphOiAnRFBTJyxcclxuICAgICAgY246ICdEUFMnLFxyXG4gICAgICBrbzogJ+uUnOufrCcsXHJcbiAgICB9LFxyXG4gICAgW3RleHRLZXlzLk51bWJlcl06IHtcclxuICAgICAgZGU6ICctLSQxLS0nLFxyXG4gICAgICBmcjogJy0tJDEtLScsXHJcbiAgICAgIGphOiAnLS0kMS0tJyxcclxuICAgICAgY246ICctLSQxLS0nLFxyXG4gICAgICBrbzogJy0tJDEtLScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBLZXlzIGludG8gY29tbW9uUmVwbGFjZW1lbnQgb2JqZWN0cyB0aGF0IHJlcHJlc2VudCBcInBhcnRpYWxcIiB0cmFuc2xhdGlvbnMsXHJcbi8vIGluIHRoZSBzZW5zZSB0aGF0IGV2ZW4gaWYgaXQgYXBwbGllcywgdGhlcmUgc3RpbGwgbmVlZHMgdG8gYmUgYW5vdGhlclxyXG4vLyB0cmFuc2xhdGlvbiBmb3IgaXQgdG8gYmUgY29tcGxldGUuICBUaGVzZSBrZXlzIHNob3VsZCBiZSBleGFjdGx5IHRoZSBzYW1lXHJcbi8vIGFzIHRoZSBrZXlzIGZyb20gdGhlIGNvbW1vblJlcGxhY2VtZW50IGJsb2NrIGFib3ZlLlxyXG5leHBvcnQgY29uc3QgcGFydGlhbENvbW1vblJlcGxhY2VtZW50S2V5cyA9IFtcclxuICAvLyBCZWNhdXNlIHRoZSB6b25lIG5hbWUgbmVlZHMgdG8gYmUgdHJhbnNsYXRlZCBoZXJlLCB0aGlzIGlzIHBhcnRpYWwuXHJcbiAgc3luY0tleXMuc2VhbCxcclxuICAvLyBEaXJlY3Rpb25zXHJcbiAgdGV4dEtleXMuRSxcclxuICB0ZXh0S2V5cy5OLFxyXG4gIHRleHRLZXlzLlMsXHJcbiAgdGV4dEtleXMuVyxcclxuICB0ZXh0S2V5cy5ORSxcclxuICB0ZXh0S2V5cy5OVyxcclxuICB0ZXh0S2V5cy5TRSxcclxuICB0ZXh0S2V5cy5TVyxcclxuICAvLyBSb2xlc1xyXG4gIHRleHRLZXlzLlRhbmssXHJcbiAgdGV4dEtleXMuSGVhbGVyLFxyXG4gIHRleHRLZXlzLkRQUyxcclxuXTtcclxuXHJcbi8vIFJlcGxhY2VtZW50IHdoZW4gdXNpbmcgS29yZWFuIGxhbmd1YWdlIGluIHRoZSBwYXJzZXIsIGFzIHRoZSBLb3JlYW4gdmVyc2lvblxyXG4vLyBkb2VzIG5vdCBoYXZlIHRoZSA2LnggY2hhbmdlcyBmcm9tIFJhdmFobiB5ZXQuXHJcbi8vIFRoZXNlIGFyZSBhcHBsaWVkIGFmdGVyIG90aGVyIHRyYW5zbGF0aW9ucyBhbmQgZG9uJ3QgY291bnQgZm9yIGNvbGxpc2lvbnMuXHJcbi8vIFRPRE86IHRoaXMgbWlzc2VzIGEgZmV3IHRoaW5ncyBsaWtlIDFBIGxpbmVzIGluIGE3cy9vN24vbzdzLlxyXG5leHBvcnQgY29uc3QgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlOiB7IFtyZXBsYWNlS2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAnIDAwOlxcXFxbXFxcXF46XFxcXF1cXFxcKjonOiAnIDAwOicsXHJcbiAgJyAwMDowODM5OjonOiAnIDAwOjA4Mzk6JyxcclxuICAnIDE0OlxcXFxbXFxcXF46XFxcXF1cXFxcKjooW146XSopOihbXjpdKik6JzogJzokMjokMScsXHJcbn07XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciwgVHJpZ2dlckF1dG9Db25maWcgfSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCB7IGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSwgY29tbW9uUmVwbGFjZW1lbnQgfSBmcm9tICcuL2NvbW1vbl9yZXBsYWNlbWVudCc7XHJcbmltcG9ydCBkZWZhdWx0T3B0aW9ucywgeyBSYWlkYm9zc09wdGlvbnMsIFRpbWVsaW5lQ29uZmlnIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuXHJcbmV4cG9ydCB0eXBlIFRpbWVsaW5lUmVwbGFjZW1lbnQgPSB7XHJcbiAgbG9jYWxlOiBMYW5nO1xyXG4gIG1pc3NpbmdUcmFuc2xhdGlvbnM/OiBib29sZWFuO1xyXG4gIHJlcGxhY2VTeW5jPzogeyBbcmVnZXhTdHJpbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gIHJlcGxhY2VUZXh0PzogeyBbdGltZWxpbmVUZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRpbWVsaW5lU3R5bGUgPSB7XHJcbiAgc3R5bGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEV2ZW50ID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdGltZTogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgYWN0aXZlVGltZT86IG51bWJlcjtcclxuICBsaW5lTnVtYmVyPzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIHNvcnRLZXk/OiBudW1iZXI7XHJcbiAgaXNEdXI/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEVycm9yID0ge1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgbGluZT86IHN0cmluZztcclxuICBlcnJvcjogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU3luYyA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG9yaWdSZWdleFN0cjogc3RyaW5nO1xyXG4gIHJlZ2V4OiBSZWdFeHA7XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxuICBlbmQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbGluZU51bWJlcjogbnVtYmVyO1xyXG4gIGp1bXA/OiBudW1iZXI7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFBvcHVwVGV4dCA9IHtcclxuICB0eXBlOiAnaW5mbycgfCAnYWxlcnQnIHwgJ2FsYXJtJyB8ICd0dHMnO1xyXG4gIHNlY29uZHNCZWZvcmU/OiBudW1iZXI7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG59O1xyXG5cclxudHlwZSBQYXJzZWRUcmlnZ2VyVGV4dCA9IHtcclxuICB0eXBlOiAndHJpZ2dlcic7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XHJcbiAgdHJpZ2dlcjogTG9vc2VUaW1lbGluZVRyaWdnZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXJzZWRUZXh0ID0gUGFyc2VkUG9wdXBUZXh0IHwgUGFyc2VkVHJpZ2dlclRleHQ7XHJcblxyXG5leHBvcnQgdHlwZSBUZXh0ID0gUGFyc2VkVGV4dCAmIHsgdGltZTogbnVtYmVyIH07XHJcblxyXG4vLyBUaGlzIGNsYXNzIHJlYWRzIHRoZSBmb3JtYXQgb2YgQUNUIFRpbWVsaW5lIHBsdWdpbiwgZGVzY3JpYmVkIGluXHJcbi8vIGRvY3MvVGltZWxpbmVHdWlkZS5tZFxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVQYXJzZXIge1xyXG4gIHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnM7XHJcbiAgcHJvdGVjdGVkIHBlclRyaWdnZXJBdXRvQ29uZmlnOiB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbiAgcHJvdGVjdGVkIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdO1xyXG4gIHByaXZhdGUgdGltZWxpbmVDb25maWc6IFRpbWVsaW5lQ29uZmlnO1xyXG5cclxuICBwdWJsaWMgaWdub3JlczogeyBbaWdub3JlSWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBwdWJsaWMgZXZlbnRzOiBFdmVudFtdO1xyXG4gIHB1YmxpYyB0ZXh0czogVGV4dFtdO1xyXG4gIHB1YmxpYyBzeW5jU3RhcnRzOiBTeW5jW107XHJcbiAgcHVibGljIHN5bmNFbmRzOiBTeW5jW107XHJcbiAgcHVibGljIGVycm9yczogRXJyb3JbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzPzogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgb3B0aW9ucz86IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHpvbmVJZD86IG51bWJlcixcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgPz8gZGVmYXVsdE9wdGlvbnM7XHJcbiAgICB0aGlzLnBlclRyaWdnZXJBdXRvQ29uZmlnID0gdGhpcy5vcHRpb25zWydQZXJUcmlnZ2VyQXV0b0NvbmZpZyddIHx8IHt9O1xyXG4gICAgdGhpcy5yZXBsYWNlbWVudHMgPSByZXBsYWNlbWVudHM7XHJcblxyXG4gICAgLy8gQSBzZXQgb2YgbmFtZXMgd2hpY2ggd2lsbCBub3QgYmUgbm90aWZpZWQgYWJvdXQuXHJcbiAgICB0aGlzLmlnbm9yZXMgPSB7fTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMudGV4dHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLnN0YXJ0IHRpbWUuXHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLmVuZCB0aW1lLlxyXG4gICAgdGhpcy5zeW5jRW5kcyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGxpbmUuXHJcbiAgICB0aGlzLmVycm9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMudGltZWxpbmVDb25maWcgPSB0eXBlb2Ygem9uZUlkID09PSAnbnVtYmVyJ1xyXG4gICAgICA/IHRoaXMub3B0aW9ucy5QZXJab25lVGltZWxpbmVDb25maWdbem9uZUlkXSA/PyB7fVxyXG4gICAgICA6IHt9O1xyXG4gICAgZm9yIChjb25zdCB0ZXh0IG9mIHRoaXMudGltZWxpbmVDb25maWcuSWdub3JlID8/IFtdKVxyXG4gICAgICB0aGlzLmlnbm9yZXNbdGV4dF0gPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucGFyc2UodGV4dCwgdHJpZ2dlcnMsIHN0eWxlcyA/PyBbXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlKHRleHQ6IHN0cmluZywgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sIHN0eWxlczogVGltZWxpbmVTdHlsZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcblxyXG4gICAgbGV0IHVuaXF1ZWlkID0gMTtcclxuICAgIGNvbnN0IHRleHRzOiB7IFtpZDogc3RyaW5nXTogUGFyc2VkVGV4dFtdIH0gPSB7fTtcclxuICAgIGNvbnN0IHJlZ2V4ZXMgPSB7XHJcbiAgICAgIGNvbW1lbnQ6IC9eXFxzKiMvLFxyXG4gICAgICBjb21tZW50TGluZTogLyMuKiQvLFxyXG4gICAgICBkdXJhdGlvbkNvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+ZHVyYXRpb25cXHMrKD88c2Vjb25kcz5bMC05XSsoPzpcXC5bMC05XSspPykpKFxccy4qKT8kLyxcclxuICAgICAgaWdub3JlOiAvXmhpZGVhbGxcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiJC8sXHJcbiAgICAgIGp1bXBDb21tYW5kOiAvKD86W14jXSo/XFxzKT8oPzx0ZXh0Pmp1bXBcXHMrKD88c2Vjb25kcz5bMC05XSsoPzpcXC5bMC05XSspPykpKD86XFxzLiopPyQvLFxyXG4gICAgICBsaW5lOiAvXig/PHRleHQ+KD88dGltZT5bMC05XSsoPzpcXC5bMC05XSspPylcXHMrXCIoPzxuYW1lPi4qPylcIikoXFxzKyguKikpPy8sXHJcbiAgICAgIHBvcHVwVGV4dDpcclxuICAgICAgICAvXig/PHR5cGU+aW5mb3xhbGVydHxhbGFybSl0ZXh0XFxzK1xcXCIoPzxpZD5bXlwiXSspXFxcIlxccytiZWZvcmVcXHMrKD88YmVmb3JlU2Vjb25kcz4tP1swLTldKyg/OlxcLlswLTldKyk/KSg/OlxccytcXFwiKD88dGV4dD5bXlwiXSspXFxcIik/JC8sXHJcbiAgICAgIHNvdW5kQWxlcnQ6IC9eZGVmaW5lXFxzK3NvdW5kYWxlcnRcXHMrXCJbXlwiXSpcIlxccytcIlteXCJdKlwiJC8sXHJcbiAgICAgIHNwZWFrZXI6XHJcbiAgICAgICAgL2RlZmluZSBzcGVha2VyIFwiW15cIl0qXCIoXFxzK1wiW15cIl0qXCIpP1xccysoLT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKC0/WzAtOV0rKD86XFwuWzAtOV0rKT8pLyxcclxuICAgICAgc3luY0NvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+c3luY1xccypcXC8oPzxyZWdleD4uKilcXC8pKD88YXJncz5cXHMuKik/JC8sXHJcbiAgICAgIHR0czpcclxuICAgICAgICAvXmFsZXJ0YWxsXFxzK1wiKD88aWQ+W15cIl0qKVwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pXFxzKyg/PGNvbW1hbmQ+c291bmR8c3BlYWtcXHMrXCJbXlwiXSpcIilcXHMrXCIoPzx0ZXh0PlteXCJdKilcIiQvLFxyXG4gICAgICB3aW5kb3dDb21tYW5kOlxyXG4gICAgICAgIC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+d2luZG93XFxzKyg/Oig/PHN0YXJ0PlswLTldKyg/OlxcLlswLTldKyk/KSwpPyg/PGVuZD5bMC05XSsoPzpcXC5bMC05XSspPykpKD86XFxzLiopPyQvLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBNYWtlIGFsbCByZWdleGVzIGNhc2UgaW5zZW5zaXRpdmUsIGFuZCBwYXJzZSBhbnkgc3BlY2lhbCBcXHl7fSBncm91cHMuXHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgaWYgKHRyaWdnZXIucmVnZXgpXHJcbiAgICAgICAgdHJpZ2dlci5yZWdleCA9IFJlZ2V4ZXMucGFyc2UodHJpZ2dlci5yZWdleCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGluZXMgPSB0ZXh0LnNwbGl0KCdcXG4nKTtcclxuICAgIGxldCBsaW5lTnVtYmVyID0gMDtcclxuICAgIGZvciAobGV0IGxpbmUgb2YgbGluZXMpIHtcclxuICAgICAgKytsaW5lTnVtYmVyO1xyXG4gICAgICBsaW5lID0gbGluZS50cmltKCk7XHJcbiAgICAgIC8vIERyb3AgY29tbWVudHMgYW5kIGVtcHR5IGxpbmVzLlxyXG4gICAgICBpZiAoIWxpbmUgfHwgcmVnZXhlcy5jb21tZW50LnRlc3QobGluZSkpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IG9yaWdpbmFsTGluZSA9IGxpbmU7XHJcblxyXG4gICAgICBsZXQgbWF0Y2ggPSByZWdleGVzLmlnbm9yZS5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgaWdub3JlID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmIChpZ25vcmUuaWQpXHJcbiAgICAgICAgICB0aGlzLmlnbm9yZXNbaWdub3JlLmlkXSA9IHRydWU7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy50dHMuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgIGNvbnN0IHR0cyA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgICBpZiAoIXR0cy5pZCB8fCAhdHRzLmJlZm9yZVNlY29uZHMgfHwgIXR0cy5jb21tYW5kKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIC8vIFRPRE86IFN1cHBvcnQgYWxlcnQgc291bmRzP1xyXG4gICAgICAgIGlmICh0dHMuY29tbWFuZCA9PT0gJ3NvdW5kJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHR0c0l0ZW1zID0gdGV4dHNbdHRzLmlkXSB8fCBbXTtcclxuICAgICAgICB0ZXh0c1t0dHMuaWRdID0gdHRzSXRlbXM7XHJcbiAgICAgICAgdHRzSXRlbXMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAndHRzJyxcclxuICAgICAgICAgIHNlY29uZHNCZWZvcmU6IHBhcnNlRmxvYXQodHRzLmJlZm9yZVNlY29uZHMpLFxyXG4gICAgICAgICAgdGV4dDogdHRzLnRleHQgPyB0dHMudGV4dCA6IHR0cy5pZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBtYXRjaCA9IHJlZ2V4ZXMuc291bmRBbGVydC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2gpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zcGVha2VyLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5wb3B1cFRleHQuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgIGNvbnN0IHBvcHVwVGV4dCA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgICBpZiAoIXBvcHVwVGV4dC50eXBlIHx8ICFwb3B1cFRleHQuaWQgfHwgIXBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGNvbnN0IHBvcHVwVGV4dEl0ZW1zID0gdGV4dHNbcG9wdXBUZXh0LmlkXSB8fCBbXTtcclxuICAgICAgICB0ZXh0c1twb3B1cFRleHQuaWRdID0gcG9wdXBUZXh0SXRlbXM7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IHBvcHVwVGV4dC50eXBlO1xyXG4gICAgICAgIGlmICh0eXBlICE9PSAnaW5mbycgJiYgdHlwZSAhPT0gJ2FsZXJ0JyAmJiB0eXBlICE9PSAnYWxhcm0nKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgcG9wdXBUZXh0SXRlbXMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdChwb3B1cFRleHQuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiBwb3B1cFRleHQudGV4dCA/IHBvcHVwVGV4dC50ZXh0IDogcG9wdXBUZXh0LmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5saW5lLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmICghKG1hdGNoICYmIG1hdGNoWydncm91cHMnXSkpIHtcclxuICAgICAgICB0aGlzLmVycm9ycy5wdXNoKHtcclxuICAgICAgICAgIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsXHJcbiAgICAgICAgICBsaW5lOiBvcmlnaW5hbExpbmUsXHJcbiAgICAgICAgICBlcnJvcjogJ0ludmFsaWQgZm9ybWF0JyxcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5rbm93biB0aW1lbGluZTogJyArIG9yaWdpbmFsTGluZSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGFyc2VkTGluZSA9IG1hdGNoWydncm91cHMnXTtcclxuICAgICAgLy8gVGVjaG5pY2FsbHkgdGhlIG5hbWUgY2FuIGJlIGVtcHR5XHJcbiAgICAgIGlmICghcGFyc2VkTGluZS50ZXh0IHx8ICFwYXJzZWRMaW5lLnRpbWUgfHwgcGFyc2VkTGluZS5uYW1lID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBsaW5lID0gbGluZS5yZXBsYWNlKHBhcnNlZExpbmUudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgLy8gVGhlcmUgY2FuIGJlICMgaW4gdGhlIGFiaWxpdHkgbmFtZSwgYnV0IHByb2JhYmx5IG5vdCBpbiB0aGUgcmVnZXguXHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocmVnZXhlcy5jb21tZW50TGluZSwgJycpLnRyaW0oKTtcclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBwYXJzZUZsb2F0KHBhcnNlZExpbmUudGltZSk7XHJcbiAgICAgIGNvbnN0IGU6IEV2ZW50ID0ge1xyXG4gICAgICAgIGlkOiB1bmlxdWVpZCsrLFxyXG4gICAgICAgIHRpbWU6IHNlY29uZHMsXHJcbiAgICAgICAgLy8gVGhlIG9yaWdpbmFsIGFiaWxpdHkgbmFtZSBpbiB0aGUgdGltZWxpbmUuICBVc2VkIGZvciBoaWRlYWxsLCBpbmZvdGV4dCwgZXRjLlxyXG4gICAgICAgIG5hbWU6IHBhcnNlZExpbmUubmFtZSxcclxuICAgICAgICAvLyBUaGUgdGV4dCB0byBkaXNwbGF5LiAgTm90IHVzZWQgZm9yIGFueSBsb2dpYy5cclxuICAgICAgICB0ZXh0OiB0aGlzLkdldFJlcGxhY2VkVGV4dChwYXJzZWRMaW5lLm5hbWUpLFxyXG4gICAgICAgIGFjdGl2ZVRpbWU6IDAsXHJcbiAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgfTtcclxuICAgICAgaWYgKGxpbmUpIHtcclxuICAgICAgICBsZXQgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5kdXJhdGlvbkNvbW1hbmQuZXhlYyhsaW5lKTtcclxuICAgICAgICBpZiAoY29tbWFuZE1hdGNoICYmIGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uQ29tbWFuZCA9IGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICBpZiAoIWR1cmF0aW9uQ29tbWFuZC50ZXh0IHx8ICFkdXJhdGlvbkNvbW1hbmQuc2Vjb25kcylcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShkdXJhdGlvbkNvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgIGUuZHVyYXRpb24gPSBwYXJzZUZsb2F0KGR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbW1hbmRNYXRjaCA9IHJlZ2V4ZXMuc3luY0NvbW1hbmQuZXhlYyhsaW5lKTtcclxuICAgICAgICBpZiAoY29tbWFuZE1hdGNoICYmIGNvbW1hbmRNYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICAgIGNvbnN0IHN5bmNDb21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghc3luY0NvbW1hbmQudGV4dCB8fCAhc3luY0NvbW1hbmQucmVnZXgpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2Uoc3luY0NvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgIGNvbnN0IHN5bmM6IFN5bmMgPSB7XHJcbiAgICAgICAgICAgIGlkOiB1bmlxdWVpZCxcclxuICAgICAgICAgICAgb3JpZ1JlZ2V4U3RyOiBzeW5jQ29tbWFuZC5yZWdleCxcclxuICAgICAgICAgICAgcmVnZXg6IFJlZ2V4ZXMucGFyc2UodGhpcy5HZXRSZXBsYWNlZFN5bmMoc3luY0NvbW1hbmQucmVnZXgpKSxcclxuICAgICAgICAgICAgc3RhcnQ6IHNlY29uZHMgLSAyLjUsXHJcbiAgICAgICAgICAgIGVuZDogc2Vjb25kcyArIDIuNSxcclxuICAgICAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBpZiAoc3luY0NvbW1hbmQuYXJncykge1xyXG4gICAgICAgICAgICBsZXQgYXJnTWF0Y2ggPSByZWdleGVzLndpbmRvd0NvbW1hbmQuZXhlYyhzeW5jQ29tbWFuZC5hcmdzKTtcclxuICAgICAgICAgICAgaWYgKGFyZ01hdGNoICYmIGFyZ01hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHdpbmRvd0NvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCF3aW5kb3dDb21tYW5kLnRleHQgfHwgIXdpbmRvd0NvbW1hbmQuZW5kKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2Uod2luZG93Q29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgICAgIGlmICh3aW5kb3dDb21tYW5kLnN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5zdGFydCk7XHJcbiAgICAgICAgICAgICAgICBzeW5jLmVuZCA9IHNlY29uZHMgKyBwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgc3luYy5zdGFydCA9IHNlY29uZHMgLSAocGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLmVuZCkgLyAyKTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhcmdNYXRjaCA9IHJlZ2V4ZXMuanVtcENvbW1hbmQuZXhlYyhzeW5jQ29tbWFuZC5hcmdzKTtcclxuICAgICAgICAgICAgaWYgKGFyZ01hdGNoICYmIGFyZ01hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGp1bXBDb21tYW5kID0gYXJnTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgICAgIGlmICghanVtcENvbW1hbmQudGV4dCB8fCAhanVtcENvbW1hbmQuc2Vjb25kcylcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGp1bXBDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgc3luYy5qdW1wID0gcGFyc2VGbG9hdChqdW1wQ29tbWFuZC5zZWNvbmRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zeW5jU3RhcnRzLnB1c2goc3luYyk7XHJcbiAgICAgICAgICB0aGlzLnN5bmNFbmRzLnB1c2goc3luYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIElmIHRoZXJlJ3MgdGV4dCBsZWZ0IHRoYXQgaXNuJ3QgYSBjb21tZW50IHRoZW4gd2UgZGlkbid0IHBhcnNlIHRoYXQgdGV4dCBzbyByZXBvcnQgaXQuXHJcbiAgICAgIGlmIChsaW5lICYmICFyZWdleGVzLmNvbW1lbnQuZXhlYyhsaW5lKSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBVbmtub3duIGNvbnRlbnQgJyR7bGluZX0nIGluIHRpbWVsaW5lOiAke29yaWdpbmFsTGluZX1gKTtcclxuICAgICAgICB0aGlzLmVycm9ycy5wdXNoKHtcclxuICAgICAgICAgIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsXHJcbiAgICAgICAgICBsaW5lOiBvcmlnaW5hbExpbmUsXHJcbiAgICAgICAgICBlcnJvcjogJ0V4dHJhIHRleHQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZXZlbnRzLnB1c2goZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IGFsbCB0aW1lbGluZSB0cmlnZ2VycyBtYXRjaCBzb21ldGhpbmcuXHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGhpcy5ldmVudHMpIHtcclxuICAgICAgICBpZiAodHJpZ2dlci5yZWdleCAmJiB0cmlnZ2VyLnJlZ2V4LnRlc3QoZXZlbnQubmFtZSkpIHtcclxuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWZvdW5kKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IGBObyBtYXRjaCBmb3IgdGltZWxpbmUgdHJpZ2dlciAke3RyaWdnZXIucmVnZXg/LnNvdXJjZSA/P1xyXG4gICAgICAgICAgJyd9IGluICR7dHJpZ2dlci5pZCA/PyAnJ31gO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goeyBlcnJvcjogdGV4dCB9KTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGAqKiogRVJST1I6ICR7dGV4dH1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgZSBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICBmb3IgKGNvbnN0IG1hdGNoZWRUZXh0RXZlbnQgb2YgdGV4dHNbZS5uYW1lXSA/PyBbXSkge1xyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBtYXRjaGVkVGV4dEV2ZW50LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB0aGlzLnRleHRzLnB1c2goe1xyXG4gICAgICAgICAgdHlwZTogdHlwZSxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChtYXRjaGVkVGV4dEV2ZW50LnNlY29uZHNCZWZvcmUgfHwgMCksXHJcbiAgICAgICAgICB0ZXh0OiBtYXRjaGVkVGV4dEV2ZW50LnRleHQgPz8gJycsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFJhdGhlciB0aGFuIG1hdGNoaW5nIHRyaWdnZXJzIGF0IHJ1biB0aW1lLCBwcmUtbWF0Y2ggYWxsIHRoZSB0cmlnZ2Vyc1xyXG4gICAgICAvLyBhZ2FpbnN0IHRpbWVsaW5lIHRleHQgYW5kIGluc2VydCB0aGVtIGFzIHRleHQgZXZlbnRzIHRvIHJ1bi5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgbSA9IHRyaWdnZXIucmVnZXg/LmV4ZWMoZS5uYW1lKTtcclxuICAgICAgICBpZiAoIW0pXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgLy8gVE9ETzogYmVmb3JlU2Vjb25kcyBzaG91bGQgc3VwcG9ydCBiZWluZyBhIGZ1bmN0aW9uLlxyXG4gICAgICAgIGNvbnN0IGF1dG9Db25maWcgPSB0cmlnZ2VyLmlkICYmIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWdbdHJpZ2dlci5pZF0gfHwge307XHJcbiAgICAgICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IGF1dG9Db25maWdbJ0JlZm9yZVNlY29uZHMnXSA/PyB0cmlnZ2VyLmJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAndHJpZ2dlcicsXHJcbiAgICAgICAgICB0aW1lOiBlLnRpbWUgLSAoYmVmb3JlU2Vjb25kcyB8fCAwKSxcclxuICAgICAgICAgIHRyaWdnZXI6IHRyaWdnZXIsXHJcbiAgICAgICAgICBtYXRjaGVzOiBtLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IHN0eWxlIG9mIHN0eWxlcyA/PyBbXSkge1xyXG4gICAgICAgIGlmICghc3R5bGUucmVnZXgudGVzdChlLm5hbWUpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZS5zdHlsZSA9IHN0eWxlLnN0eWxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU29ydCBieSB0aW1lLCBidXQgd2hlbiB0aGUgdGltZSBpcyB0aGUgc2FtZSwgc29ydCBieSBmaWxlIG9yZGVyLlxyXG4gICAgLy8gVGhlbiBhc3NpZ24gYSBzb3J0S2V5IHRvIGVhY2ggZXZlbnQgc28gdGhhdCB3ZSBjYW4gbWFpbnRhaW4gdGhhdCBvcmRlci5cclxuICAgIHRoaXMuZXZlbnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgaWYgKGEudGltZSA9PT0gYi50aW1lKVxyXG4gICAgICAgIHJldHVybiBhLmlkIC0gYi5pZDtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5ldmVudHMuZm9yRWFjaCgoZXZlbnQsIGlkeCkgPT4gZXZlbnQuc29ydEtleSA9IGlkeCk7XHJcblxyXG4gICAgdGhpcy50ZXh0cy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLnRpbWUgLSBiLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3luY1N0YXJ0cy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLnN0YXJ0IC0gYi5zdGFydDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jRW5kcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLmVuZCAtIGIuZW5kO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkSGVscGVyKFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgcmVwbGFjZUtleTogJ3JlcGxhY2VTeW5jJyB8ICdyZXBsYWNlVGV4dCcsXHJcbiAgICByZXBsYWNlTGFuZzogTGFuZyxcclxuICAgIGlzR2xvYmFsOiBib29sZWFuLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gdGV4dDtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHIgb2YgdGhpcy5yZXBsYWNlbWVudHMpIHtcclxuICAgICAgaWYgKHIubG9jYWxlICYmIHIubG9jYWxlICE9PSByZXBsYWNlTGFuZylcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3QgcmVwcyA9IHJbcmVwbGFjZUtleV07XHJcbiAgICAgIGlmICghcmVwcylcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwcykpXHJcbiAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZShSZWdleGVzLnBhcnNlKGtleSksIHZhbHVlKTtcclxuICAgIH1cclxuICAgIC8vIENvbW1vbiBSZXBsYWNlbWVudHNcclxuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gY29tbW9uUmVwbGFjZW1lbnRbcmVwbGFjZUtleV07XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBsYWNlbWVudCA/PyB7fSkpIHtcclxuICAgICAgY29uc3QgcmVwbCA9IHZhbHVlW3JlcGxhY2VMYW5nXTtcclxuICAgICAgaWYgKCFyZXBsKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHJlZ2V4LCByZXBsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCYWNrd2FyZHMgY29tcGF0IHJlcGxhY2VtZW50cyBmb3IgS29yZWFuIHBhcnNlZCBsb2cgbGluZXMgYmVmb3JlIDYueCBjaGFuZ2VzLlxyXG4gICAgaWYgKHJlcGxhY2VMYW5nID09PSAna28nICYmIHJlcGxhY2VLZXkgPT09ICdyZXBsYWNlU3luYycpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCByZXBsXSBvZiBPYmplY3QuZW50cmllcyhiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2UpKSB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSBpc0dsb2JhbCA/IFJlZ2V4ZXMucGFyc2VHbG9iYWwoa2V5KSA6IFJlZ2V4ZXMucGFyc2Uoa2V5KTtcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHJlZ2V4LCByZXBsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBHZXRSZXBsYWNlZFRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIEFueXRoaW5nIGluIHRoZSB0aW1lbGluZSBjb25maWcgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9ucyBpblxyXG4gICAgLy8gdGhlIHRyaWdnZXIgZmlsZS4gIEl0IGlzIGFsc28gYSBmdWxsIHJlcGxhY2VtZW50LCB2cyB0aGUgcmVnZXgtc3R5bGUgR2V0UmVwbGFjZWRIZWxwZXIuXHJcbiAgICBjb25zdCByZW5hbWUgPSB0aGlzLnRpbWVsaW5lQ29uZmlnPy5SZW5hbWU/Llt0ZXh0XTtcclxuICAgIGlmIChyZW5hbWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIHJlbmFtZTtcclxuXHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gdGV4dDtcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLkdldFJlcGxhY2VkSGVscGVyKHRleHQsICdyZXBsYWNlVGV4dCcsIHJlcGxhY2VMYW5nLCBpc0dsb2JhbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkU3luYyhzeW5jOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnJlcGxhY2VtZW50cylcclxuICAgICAgcmV0dXJuIHN5bmM7XHJcblxyXG4gICAgY29uc3QgcmVwbGFjZUxhbmcgPSB0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuICAgIGNvbnN0IGlzR2xvYmFsID0gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLkdldFJlcGxhY2VkSGVscGVyKHN5bmMsICdyZXBsYWNlU3luYycsIHJlcGxhY2VMYW5nLCBpc0dsb2JhbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0TWlzc2luZ1RyYW5zbGF0aW9uc1RvSWdub3JlKCk6IFJlZ0V4cFtdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgICctLVJlc2V0LS0nLFxyXG4gICAgICAnLS1zeW5jLS0nLFxyXG4gICAgICAnU3RhcnQnLFxyXG4gICAgICAnXiA/MjE6JyxcclxuICAgICAgJ14oXFxcXChcXFxcP1xcXFw8dGltZXN0YW1wXFxcXD5cXFxcXlxcXFwuXFxcXHsxNFxcXFx9XFxcXCkpICgxQnwyMXwyMyk6JyxcclxuICAgICAgJ14oXFxcXF5cXFxcLlxcXFx7MTRcXFxcfSk/ID8oMUJ8MjF8MjMpOicsXHJcbiAgICAgICdeOjpcXFxceXtBYmlsaXR5Q29kZX06JCcsXHJcbiAgICAgICdeXFxcXC5cXFxcKiQnLFxyXG4gICAgXS5tYXAoKHgpID0+IFJlZ2V4ZXMucGFyc2UoeCkpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IE5ldFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMnO1xyXG5pbXBvcnQgVGltZXJCYXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3RpbWVyYmFyJztcclxuaW1wb3J0IHsgTG9jYWxlUmVnZXggfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNsYXRpb25zJztcclxuaW1wb3J0IHsgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciwgUmFpZGJvc3NGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgUG9wdXBUZXh0R2VuZXJhdG9yIH0gZnJvbSAnLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHtcclxuICBFdmVudCxcclxuICBTeW5jLFxyXG4gIFRleHQsXHJcbiAgVGltZWxpbmVQYXJzZXIsXHJcbiAgVGltZWxpbmVSZXBsYWNlbWVudCxcclxuICBUaW1lbGluZVN0eWxlLFxyXG59IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGtCaWcgPSAxMDAwMDAwMDAwOyAvLyBTb21ldGhpbmcgYmlnZ2VyIHRoYW4gYW55IGZpZ2h0IGxlbmd0aCBpbiBzZWNvbmRzLlxyXG5cclxuY29uc3QgdGltZWxpbmVJbnN0cnVjdGlvbnMgPSB7XHJcbiAgZW46IFtcclxuICAgICdUaGVzZSBsaW5lcyBhcmUnLFxyXG4gICAgJ2RlYnVnIHRpbWVsaW5lIGVudHJpZXMuJyxcclxuICAgICdJZiB5b3UgbG9jayB0aGUgb3ZlcmxheSwnLFxyXG4gICAgJ3RoZXkgd2lsbCBkaXNhcHBlYXIhJyxcclxuICAgICdSZWFsIHRpbWVsaW5lcyBhdXRvbWF0aWNhbGx5JyxcclxuICAgICdhcHBlYXIgd2hlbiBzdXBwb3J0ZWQuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnRGllc2UgWmVpbGVuIHNpbmQnLFxyXG4gICAgJ1RpbWVsaW5lIERlYnVnLUVpbnRyw6RnZS4nLFxyXG4gICAgJ1dlbm4gZHUgZGFzIE92ZXJsYXkgc3BlcnJzdCwnLFxyXG4gICAgJ3dlcmRlbiBzaWUgdmVyc2Nod2luZGVuIScsXHJcbiAgICAnRWNodGUgVGltZWxpbmVzIGVyc2NoZWluZW4gYXV0b21hdGlzY2gsJyxcclxuICAgICd3ZW5uIHNpZSB1bnRlcnN0w7x0enQgd2VyZGVuLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0NlcyBsaWduZXMgc29udCcsXHJcbiAgICAnZGVzIHRpbWVsaW5lcyBkZSB0ZXN0LicsXHJcbiAgICAnU2kgdm91cyBibG9xdWV6IGxcXCdvdmVybGF5LCcsXHJcbiAgICAnZWxsZXMgZGlzcGFyYcOudHJvbnQgIScsXHJcbiAgICAnTGVzIHZyYWllcyBUaW1lbGluZXMnLFxyXG4gICAgJ2FwcGFyYcOudHJvbnQgYXV0b21hdGlxdWVtZW50LicsXHJcbiAgXSxcclxuICBqYTogW1xyXG4gICAgJ+OBk+OBoeOCieOBr+ODh+ODkOODg+OCsOeUqOOBricsXHJcbiAgICAn44K/44Kk44Og44Op44Kk44Oz44Gn44GZ44CCJyxcclxuICAgICfjgqrjg7zjg5Djg7zjg6zjgqTjgpLjg63jg4Pjgq/jgZnjgozjgbDjgIEnLFxyXG4gICAgJ+ODh+ODkOODg+OCsOeUqOODhuOCreOCueODiOOCgua2iOOBiOOCiycsXHJcbiAgICAn44K144Od44O844OI44GZ44KL44K+44O844Oz44Gr44Gv44K/44Kk44OgJyxcclxuICAgICfjg6njgqTjg7PjgpLli5XnmoTjgavjg63jg7zjg4njgZnjgovjgIInLFxyXG4gIF0sXHJcbiAgY246IFtcclxuICAgICfmmL7npLrlnKjmraTlpITnmoTmmK8nLFxyXG4gICAgJ+iwg+ivleeUqOaXtumXtOi9tOOAgicsXHJcbiAgICAn5bCG5q2k5oKs5rWu56qX6ZSB5a6aJyxcclxuICAgICfliJnkvJrnq4vliLvmtojlpLEnLFxyXG4gICAgJ+ecn+WunueahOaXtumXtOi9tOS8muagueaNricsXHJcbiAgICAn5b2T5YmN5Yy65Z+f5Yqo5oCB5Yqg6L295bm25pi+56S6JyxcclxuICBdLFxyXG4gIGtvOiBbXHJcbiAgICAn7J20IOunieuMgOuwlOuKlCDrlJTrsoTqt7jsmqknLFxyXG4gICAgJ+2DgOyehOudvOyduCDsnoXri4jri6QuJyxcclxuICAgICfsmKTrsoTroIjsnbTrpbwg7JyE7LmY7J6g6riI7ZWY66m0LCcsXHJcbiAgICAn7J20IOunieuMgOuwlOuPhCDsgqzrnbzsp5Hri4jri6QuJyxcclxuICAgICfsp4Dsm5DrkJjripQg6rWs7Jet7JeQ7IScIO2DgOyehOudvOyduOydtCcsXHJcbiAgICAn7J6Q64+Z7Jy866GcIO2RnOyLnOuQqeuLiOuLpC4nLFxyXG4gIF0sXHJcbn07XHJcblxyXG5jb25zdCBhY3RpdmVUZXh0ID0ge1xyXG4gIGVuOiAnQWN0aXZlOicsXHJcbiAgZGU6ICdBa3RpdjonLFxyXG4gIGZyOiAnQWN0aXZlIDonLFxyXG4gIGphOiAnKOmAsuihjCk6JyxcclxuICBjbjogJyjov5vooYzkuK0pOicsXHJcbiAga286ICfsi5zsoITspJE6JyxcclxufTtcclxuXHJcbi8vIFRPRE86IER1cGxpY2F0ZWQgaW4gJ2pvYnMnXHJcbmNvbnN0IGNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc0xpc3Q6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgY29uc3QgY2xhc3NlcyA9IGNsYXNzTGlzdC5zcGxpdCgnLicpO1xyXG4gIGZvciAoY29uc3QgY2xzIG9mIGNsYXNzZXMpXHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZChjbHMpO1xyXG4gIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICBjb25zdCBjb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuYmFja2dyb3VuZENvbG9yO1xyXG4gIGVsZW1lbnQucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICByZXR1cm4gY29sb3I7XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmUge1xyXG4gIHByaXZhdGUgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zO1xyXG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlVGV4dDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZVN5bmNzOiBTeW5jW107XHJcbiAgcHJpdmF0ZSBhY3RpdmVFdmVudHM6IEV2ZW50W107XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuXHJcbiAgcHVibGljIHRpbWViYXNlID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBuZXh0RXZlbnQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFRleHQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgcHJpdmF0ZSBuZXh0U3luY0VuZCA9IDA7XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGltZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgdWk/OiBUaW1lbGluZVVJO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSxcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByaXZhdGUgem9uZUlkOiBudW1iZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5yZXBsYWNlbWVudHMgPSByZXBsYWNlbWVudHM7XHJcblxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5hY3RpdmVUZXh0ID0gbGFuZyBpbiBhY3RpdmVUZXh0ID8gYWN0aXZlVGV4dFtsYW5nXSA6IGFjdGl2ZVRleHRbJ2VuJ107XHJcblxyXG4gICAgLy8gTm90IHNvcnRlZC5cclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gICAgLy8gQSBzZXQgb2YgbmFtZXMgd2hpY2ggd2lsbCBub3QgYmUgbm90aWZpZWQgYWJvdXQuXHJcbiAgICB0aGlzLmlnbm9yZXMgPSB7fTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMudGV4dHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLnN0YXJ0IHRpbWUuXHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLmVuZCB0aW1lLlxyXG4gICAgdGhpcy5zeW5jRW5kcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuTG9hZEZpbGUodGV4dCwgdHJpZ2dlcnMsIHN0eWxlcyk7XHJcbiAgICB0aGlzLlN0b3AoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbGUodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBUaW1lbGluZVBhcnNlcihcclxuICAgICAgdGV4dCxcclxuICAgICAgdGhpcy5yZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgdGhpcy56b25lSWQsXHJcbiAgICApO1xyXG4gICAgdGhpcy5pZ25vcmVzID0gcGFyc2VkLmlnbm9yZXM7XHJcbiAgICB0aGlzLmV2ZW50cyA9IHBhcnNlZC5ldmVudHM7XHJcbiAgICB0aGlzLnRleHRzID0gcGFyc2VkLnRleHRzO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzID0gcGFyc2VkLnN5bmNTdGFydHM7XHJcbiAgICB0aGlzLnN5bmNFbmRzID0gcGFyc2VkLnN5bmNFbmRzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFN0b3AoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWViYXNlID0gMDtcclxuXHJcbiAgICB0aGlzLm5leHRFdmVudCA9IDA7XHJcbiAgICB0aGlzLm5leHRUZXh0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgICB0aGlzLm5leHRTeW5jRW5kID0gMDtcclxuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IDA7XHJcbiAgICB0aGlzLl9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NvbGxlY3RBY3RpdmVTeW5jcyhmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy5fQ2xlYXJUaW1lcnMoKTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBTeW5jVG8oZmlnaHROb3c6IG51bWJlciwgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gVGhpcyByZWNvcmRzIHRoZSBhY3R1YWwgdGltZSB3aGljaCBhbGlnbnMgd2l0aCBcIjBcIiBpbiB0aGUgdGltZWxpbmUuXHJcbiAgICBjb25zdCBuZXdUaW1lYmFzZSA9IG5ldyBEYXRlKGN1cnJlbnRUaW1lIC0gZmlnaHROb3cgKiAxMDAwKS52YWx1ZU9mKCk7XHJcbiAgICAvLyBTa2lwIHN5bmNzIHRoYXQgYXJlIHRvbyBjbG9zZS4gIE1hbnkgc3luY3MgaGFwcGVuIG9uIGFiaWxpdGllcyB0aGF0XHJcbiAgICAvLyBoaXQgOCB0byAyNCBwZW9wbGUsIGFuZCBzbyB0aGlzIGlzIGEgbG90IG9mIGNodXJuLlxyXG4gICAgaWYgKE1hdGguYWJzKG5ld1RpbWViYXNlIC0gdGhpcy50aW1lYmFzZSkgPD0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50aW1lYmFzZSA9IG5ld1RpbWViYXNlO1xyXG5cclxuICAgIHRoaXMubmV4dEV2ZW50ID0gMDtcclxuICAgIHRoaXMubmV4dFRleHQgPSAwO1xyXG4gICAgdGhpcy5uZXh0U3luY1N0YXJ0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNFbmQgPSAwO1xyXG5cclxuICAgIC8vIFRoaXMgd2lsbCBza2lwIHRleHQgZXZlbnRzIHdpdGhvdXQgcnVubmluZyB0aGVtLlxyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIC8vIENsZWFyIGFsbCB0aW1lcnMgZXhjZXB0IGFueSBzeW50aGV0aWMgZHVyYXRpb24gZXZlbnRzLlxyXG4gICAgLy8gVGhpcyBpcyBiZWNhdXNlIGlmIHRoZSBzeW5jIGdvZXMgZXZlbiBhIGhhaXIgaW50byB0aGUgZnV0dXJlLCB0aGVuXHJcbiAgICAvLyB0aGUgZHVyYXRpb24gZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRyb3BwZWQgaGVyZS5cclxuXHJcbiAgICAvLyBGSVhNRTogd2UgY291bGQgYmUgc21hcnRlciBoZXJlIGFuZCBrbm93IGFoZWFkIG9mIHRpbWUgd2hlcmUgYWxsIHRoZSBkdXJhdGlvblxyXG4gICAgLy8gZXZlbnRzIGFyZSwgc28gdGhhdCB3ZSBjb3VsZCBza2lwIGFoZWFkIGludG8gdGhlIGZ1dHVyZSB3aGVyZSBhIGR1cmF0aW9uXHJcbiAgICAvLyBldmVudCBoYXMgc3RhcnRlZCBidXQgbm90IGV4cGlyZWQgYW5kIGhhdmUgdGhhdCB3b3JrIHByb3Blcmx5LlxyXG4gICAgdGhpcy5fQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZFVwY29taW5nVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ29sbGVjdEFjdGl2ZVN5bmNzKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLm5leHRTeW5jRW5kOyBpIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGg7ICsraSkge1xyXG4gICAgICBjb25zdCBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1tpXTtcclxuICAgICAgaWYgKHN5bmNFbmQgJiYgc3luY0VuZC5zdGFydCA8PSBmaWdodE5vdylcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5bmNzLnB1c2goc3luY0VuZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25Mb2dMaW5lKGxpbmU6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBzeW5jIG9mIHRoaXMuYWN0aXZlU3luY3MpIHtcclxuICAgICAgaWYgKGxpbmUuc2VhcmNoKHN5bmMucmVnZXgpID49IDApIHtcclxuICAgICAgICBpZiAoJ2p1bXAnIGluIHN5bmMpIHtcclxuICAgICAgICAgIGlmICghc3luYy5qdW1wKVxyXG4gICAgICAgICAgICB0aGlzLlN0b3AoKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5TeW5jVG8oc3luYy5qdW1wLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuU3luY1RvKHN5bmMudGltZSwgY3VycmVudFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWR2YW5jZVRpbWVUbyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgZXZlbnQgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0RXZlbnQgPCB0aGlzLmV2ZW50cy5sZW5ndGggJiYgZXZlbnQgJiYgZXZlbnQudGltZSA8PSBmaWdodE5vdylcclxuICAgICAgZXZlbnQgPSB0aGlzLmV2ZW50c1srK3RoaXMubmV4dEV2ZW50XTtcclxuICAgIGxldCB0ZXh0ID0gdGhpcy50ZXh0c1t0aGlzLm5leHRUZXh0XTtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGggJiYgdGV4dCAmJiB0ZXh0LnRpbWUgPD0gZmlnaHROb3cpXHJcbiAgICAgIHRleHQgPSB0aGlzLnRleHRzWysrdGhpcy5uZXh0VGV4dF07XHJcbiAgICBsZXQgc3luY1N0YXJ0ID0gdGhpcy5zeW5jU3RhcnRzW3RoaXMubmV4dFN5bmNTdGFydF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0U3luY1N0YXJ0IDwgdGhpcy5zeW5jU3RhcnRzLmxlbmd0aCAmJiBzeW5jU3RhcnQgJiYgc3luY1N0YXJ0LnN0YXJ0IDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jU3RhcnQgPSB0aGlzLnN5bmNTdGFydHNbKyt0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgbGV0IHN5bmNFbmQgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgd2hpbGUgKHRoaXMubmV4dFN5bmNFbmQgPCB0aGlzLnN5bmNFbmRzLmxlbmd0aCAmJiBzeW5jRW5kICYmIHN5bmNFbmQuZW5kIDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1srK3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJUaW1lcnMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGFjdGl2ZUV2ZW50IG9mIHRoaXMuYWN0aXZlRXZlbnRzKVxyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCBmYWxzZSk7XHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZHVyYXRpb25FdmVudHMgPSBbXTtcclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGhpcy5hY3RpdmVFdmVudHMpIHtcclxuICAgICAgaWYgKGV2ZW50LmlzRHVyICYmIGV2ZW50LnRpbWUgPiBmaWdodE5vdykge1xyXG4gICAgICAgIGR1cmF0aW9uRXZlbnRzLnB1c2goZXZlbnQpO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudWk/Lk9uUmVtb3ZlVGltZXIoZXZlbnQsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IGR1cmF0aW9uRXZlbnRzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfUmVtb3ZlRXhwaXJlZFRpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlRXZlbnQgPSB0aGlzLmFjdGl2ZUV2ZW50c1swXTtcclxuICAgIHdoaWxlICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggJiYgYWN0aXZlRXZlbnQgJiYgYWN0aXZlRXZlbnQudGltZSA8PSBmaWdodE5vdykge1xyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCB0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKDAsIDEpO1xyXG4gICAgICBhY3RpdmVFdmVudCA9IHRoaXMuYWN0aXZlRXZlbnRzWzBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZXZlbnRzID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmFjdGl2ZUV2ZW50c1tpXTtcclxuICAgICAgaWYgKGUgJiYgZS50aW1lIDw9IGZpZ2h0Tm93ICYmIGUuZHVyYXRpb24pIHtcclxuICAgICAgICBjb25zdCBkdXJhdGlvbkV2ZW50OiBFdmVudCA9IHtcclxuICAgICAgICAgIGlkOiBlLmlkLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lICsgZS5kdXJhdGlvbixcclxuICAgICAgICAgIHNvcnRLZXk6IGUuc29ydEtleSxcclxuICAgICAgICAgIG5hbWU6IGUubmFtZSxcclxuICAgICAgICAgIHRleHQ6IGAke3RoaXMuYWN0aXZlVGV4dH0gJHtlLnRleHR9YCxcclxuICAgICAgICAgIGlzRHVyOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgZXZlbnRzLnB1c2goZHVyYXRpb25FdmVudCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHRoaXMudWk/Lk9uQWRkVGltZXIoZmlnaHROb3csIGR1cmF0aW9uRXZlbnQsIHRydWUpO1xyXG4gICAgICAgIC0taTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50cy5sZW5ndGgpXHJcbiAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuYWN0aXZlRXZlbnRzLCBldmVudHMpO1xyXG4gICAgdGhpcy5hY3RpdmVFdmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9BZGRVcGNvbWluZ1RpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAoXHJcbiAgICAgIHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aCA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc1xyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICAgIGlmICghZSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLlNob3dUaW1lckJhcnNBdFNlY29uZHMpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGlmIChmaWdodE5vdyA8IGUudGltZSAmJiAhKGUubmFtZSBpbiB0aGlzLmlnbm9yZXMpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMucHVzaChlKTtcclxuICAgICAgICB0aGlzLnVpPy5PbkFkZFRpbWVyKGZpZ2h0Tm93LCBlLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgKyt0aGlzLm5leHRFdmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0FkZFBhc3NlZFRleHRzKGZpZ2h0Tm93OiBudW1iZXIsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgdCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmICghdClcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKHQudGltZSA+IGZpZ2h0Tm93KVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAodC50eXBlID09PSAnaW5mbycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TaG93SW5mb1RleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsZXJ0JylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGVydFRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsYXJtJylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGFybVRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ3R0cycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TcGVha1RUUyh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAndHJpZ2dlcicpXHJcbiAgICAgICAgdGhpcy51aT8uT25UcmlnZ2VyKHQudHJpZ2dlciwgdC5tYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICsrdGhpcy5uZXh0VGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0NhbmNlbFVwZGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyKSB7XHJcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lcik7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9TY2hlZHVsZVVwZGF0ZShmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnRpbWViYXNlLCAnX1NjaGVkdWxlVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgbGV0IG5leHRFdmVudFN0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0VGV4dE9jY3VycyA9IGtCaWc7XHJcbiAgICBsZXQgbmV4dEV2ZW50RW5kaW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY1N0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY0VuZGluZyA9IGtCaWc7XHJcblxyXG4gICAgaWYgKHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5leHRFdmVudCA9IHRoaXMuZXZlbnRzW3RoaXMubmV4dEV2ZW50XTtcclxuICAgICAgaWYgKG5leHRFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IG5leHRFdmVudEVuZHNBdCA9IG5leHRFdmVudC50aW1lO1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dEV2ZW50U3RhcnRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICduZXh0RXZlbnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgbW9yZSBldmVudHMgdGhhbiB3ZSBjYW4gc2hvdywgc28gdGhlIG5leHQgZXZlbnQgbWlnaHQgYmUgaW5cclxuICAgICAgICAvLyB0aGUgcGFzdC4gSWYgdGhhdCBoYXBwZW5zLCB0aGVuIGlnbm9yZSBpdCwgYXMgd2UgY2FuJ3QgdXNlIHRoYXQgZm9yIG91ciB0aW1lci5cclxuICAgICAgICBjb25zdCBzaG93TmV4dEV2ZW50QXQgPSBuZXh0RXZlbnRFbmRzQXQgLSB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgICAgICBpZiAoc2hvd05leHRFdmVudEF0ID4gZmlnaHROb3cpXHJcbiAgICAgICAgICBuZXh0RXZlbnRTdGFydGluZyA9IHNob3dOZXh0RXZlbnRBdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFRleHQgPCB0aGlzLnRleHRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBuZXh0VGV4dCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmIChuZXh0VGV4dCkge1xyXG4gICAgICAgIG5leHRUZXh0T2NjdXJzID0gbmV4dFRleHQudGltZTtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRUZXh0T2NjdXJzID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFRleHQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFjdGl2ZUV2ZW50ID0gdGhpcy5hY3RpdmVFdmVudHNbMF07XHJcbiAgICAgIGlmIChhY3RpdmVFdmVudCkge1xyXG4gICAgICAgIG5leHRFdmVudEVuZGluZyA9IGFjdGl2ZUV2ZW50LnRpbWU7XHJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoXHJcbiAgICAgICAgICBuZXh0RXZlbnRFbmRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICdFeHBpcmVkIGFjdGl2ZUV2ZW50cyB3ZXJlblxcJ3QgcHJ1bmVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFN5bmNTdGFydCA8IHRoaXMuc3luY1N0YXJ0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY1N0YXJ0cyA9IHRoaXMuc3luY1N0YXJ0c1t0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgICBpZiAoc3luY1N0YXJ0cykge1xyXG4gICAgICAgIG5leHRTeW5jU3RhcnRpbmcgPSBzeW5jU3RhcnRzLnN0YXJ0O1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dFN5bmNTdGFydGluZyA+IGZpZ2h0Tm93LFxyXG4gICAgICAgICAgJ25leHRTeW5jU3RhcnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5leHRTeW5jRW5kIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY0VuZHMgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgICBpZiAoc3luY0VuZHMpIHtcclxuICAgICAgICBuZXh0U3luY0VuZGluZyA9IHN5bmNFbmRzLmVuZDtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRTeW5jRW5kaW5nID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFN5bmNFbmQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXh0VGltZSA9IE1hdGgubWluKFxyXG4gICAgICBuZXh0RXZlbnRTdGFydGluZyxcclxuICAgICAgbmV4dEV2ZW50RW5kaW5nLFxyXG4gICAgICBuZXh0VGV4dE9jY3VycyxcclxuICAgICAgbmV4dFN5bmNTdGFydGluZyxcclxuICAgICAgbmV4dFN5bmNFbmRpbmcsXHJcbiAgICApO1xyXG4gICAgaWYgKG5leHRUaW1lICE9PSBrQmlnKSB7XHJcbiAgICAgIGNvbnNvbGUuYXNzZXJ0KG5leHRUaW1lID4gZmlnaHROb3csICduZXh0VGltZSBpcyBpbiB0aGUgcGFzdCcpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fT25VcGRhdGVUaW1lcihEYXRlLm5vdygpKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChuZXh0VGltZSAtIGZpZ2h0Tm93KSAqIDEwMDAsXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgX09uVXBkYXRlVGltZXIoY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy50aW1lYmFzZSwgJ19PblRpbWVyVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgLy8gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgaW50byB0aGUgZmlnaHQgKHN1YnRyYWN0aW5nIERhdGVzIGdpdmVzIG1pbGxpc2Vjb25kcykuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IChjdXJyZW50VGltZSAtIHRoaXMudGltZWJhc2UpIC8gMTAwMDtcclxuICAgIC8vIFNlbmQgdGV4dCBldmVudHMgbm93IG9yIHRoZXknZCBiZSBza2lwcGVkIGJ5IF9BZHZhbmNlVGltZVRvKCkuXHJcbiAgICB0aGlzLl9BZGRQYXNzZWRUZXh0cyhmaWdodE5vdywgY3VycmVudFRpbWUpO1xyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZER1cmF0aW9uVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX1JlbW92ZUV4cGlyZWRUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQWRkVXBjb21pbmdUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lVUkge1xyXG4gIHByaXZhdGUgaW5pdDogYm9vbGVhbjtcclxuICBwcml2YXRlIGxhbmc6IExhbmc7XHJcblxyXG4gIHByaXZhdGUgcm9vdDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckV4cGlyZXNTb29uQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgdGltZXJsaXN0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZUJhcnM6IHsgW2FjdGl2ZWJhcjogc3RyaW5nXTogVGltZXJCYXIgfSA9IHt9O1xyXG4gIHByaXZhdGUgZXhwaXJlVGltZXJzOiB7IFtleHBpcmVUaW1lcjogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkZWJ1Z0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkZWJ1Z0ZpZ2h0VGltZXI6IFRpbWVyQmFyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByb3RlY3RlZCB0aW1lbGluZTogVGltZWxpbmUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBwb3B1cFRleHQ/OiBQb3B1cFRleHRHZW5lcmF0b3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLmluaXQgPSBmYWxzZTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5BZGREZWJ1Z0luc3RydWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbml0KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLmluaXQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1jb250YWluZXInKTtcclxuICAgIGlmICghdGhpcy5yb290KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhblxcJ3QgZmluZCB0aW1lbGluZS1jb250YWluZXInKTtcclxuXHJcbiAgICAvLyBUT0RPOiBsZWZ0IGZvciBub3cgYXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB1c2VyIGNzcy4gIFJlbW92ZSB0aGlzIGxhdGVyPz9cclxuICAgIHRoaXMucm9vdC5jbGFzc0xpc3QuYWRkKGBsYW5nLSR7dGhpcy5sYW5nfWApO1xyXG4gICAgdGhpcy5yb290LmxhbmcgPSBsYW5nVG9Mb2NhbGUodGhpcy5sYW5nKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuU2tpbilcclxuICAgICAgdGhpcy5yb290LmNsYXNzTGlzdC5hZGQoYHNraW4tJHt0aGlzLm9wdGlvbnMuU2tpbn1gKTtcclxuXHJcbiAgICB0aGlzLmJhckNvbG9yID0gY29tcHV0ZUJhY2tncm91bmRDb2xvckZyb20odGhpcy5yb290LCAndGltZWxpbmUtYmFyLWNvbG9yJyk7XHJcbiAgICB0aGlzLmJhckV4cGlyZXNTb29uQ29sb3IgPSBjb21wdXRlQmFja2dyb3VuZENvbG9yRnJvbSh0aGlzLnJvb3QsICd0aW1lbGluZS1iYXItY29sb3Iuc29vbicpO1xyXG5cclxuICAgIHRoaXMudGltZXJsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lJyk7XHJcbiAgICBpZiAodGhpcy50aW1lcmxpc3QpIHtcclxuICAgICAgdGhpcy50aW1lcmxpc3Quc3R5bGUuZ3JpZFRlbXBsYXRlUm93cyA9XHJcbiAgICAgICAgYHJlcGVhdCgke3RoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc30sIG1pbi1jb250ZW50KWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RpdmVCYXJzID0ge307XHJcbiAgICB0aGlzLmV4cGlyZVRpbWVycyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEFkZERlYnVnSW5zdHJ1Y3Rpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMubGFuZyBpbiB0aW1lbGluZUluc3RydWN0aW9ucyA/IHRoaXMubGFuZyA6ICdlbic7XHJcbiAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSB0aW1lbGluZUluc3RydWN0aW9uc1tsYW5nXTtcclxuXHJcbiAgICAvLyBIZWxwZXIgZm9yIHBvc2l0aW9uaW5nL3Jlc2l6aW5nIHdoZW4gbG9ja2VkLlxyXG4gICAgY29uc3QgaGVscGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lLXJlc2l6ZS1oZWxwZXInKTtcclxuICAgIGlmICghaGVscGVyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCByb3dzID0gTWF0aC5tYXgoNiwgdGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzKTtcclxuICAgIGhlbHBlci5zdHlsZS5ncmlkVGVtcGxhdGVSb3dzID0gYHJlcGVhdCgke3Jvd3N9LCAxZnIpYDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyczsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGhlbHBlckJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBpZiAoIWhlbHBlckJhcilcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3RleHQnKTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3Jlc2l6ZS1oZWxwZXItYmFyJyk7XHJcbiAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS1iYXItY29sb3InKTtcclxuICAgICAgaWYgKGkgPCAxKVxyXG4gICAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCdzb29uJyk7XHJcbiAgICAgIGlmIChpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aClcclxuICAgICAgICBoZWxwZXJCYXIuaW5uZXJUZXh0ID0gaW5zdHJ1Y3Rpb25zW2ldID8/ICcnO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgaGVscGVyQmFyLmlubmVyVGV4dCA9IGAke2kgKyAxfWA7XHJcbiAgICAgIGhlbHBlci5hcHBlbmRDaGlsZChoZWxwZXJCYXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvciBzaW1wbGljaXR5IGluIGNvZGUsIGFsd2F5cyBtYWtlIGRlYnVnRWxlbWVudCB2YWxpZCxcclxuICAgIC8vIGhvd2V2ZXIgaXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHJhaWQgZW11bGF0b3IuXHJcbiAgICB0aGlzLmRlYnVnRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1kZWJ1ZycpO1xyXG4gICAgaWYgKCF0aGlzLmRlYnVnRWxlbWVudClcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0OiBQb3B1cFRleHRHZW5lcmF0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0ID0gcG9wdXBUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFRpbWVsaW5lKHRpbWVsaW5lOiBUaW1lbGluZSB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuSW5pdCgpO1xyXG4gICAgaWYgKHRoaXMudGltZWxpbmUpIHtcclxuICAgICAgZGVsZXRlIHRoaXMudGltZWxpbmUudWk7XHJcbiAgICAgIHdoaWxlICh0aGlzLnRpbWVybGlzdCAmJiB0aGlzLnRpbWVybGlzdC5sYXN0Q2hpbGQpXHJcbiAgICAgICAgdGhpcy50aW1lcmxpc3QucmVtb3ZlQ2hpbGQodGhpcy50aW1lcmxpc3QubGFzdENoaWxkKTtcclxuICAgICAgaWYgKHRoaXMuZGVidWdFbGVtZW50KVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LmlubmVySFRNTCA9ICcnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IG51bGw7XHJcbiAgICAgIHRoaXMuYWN0aXZlQmFycyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGltZWxpbmUgPSB0aW1lbGluZTtcclxuICAgIGlmICh0aGlzLnRpbWVsaW5lKVxyXG4gICAgICB0aGlzLnRpbWVsaW5lLnVpID0gdGhpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPbkFkZFRpbWVyKGZpZ2h0Tm93OiBudW1iZXIsIGU6IEV2ZW50LCBjaGFubmVsaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbnN0IGJhciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVyLWJhcicpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGJhcik7XHJcbiAgICBiYXIuZHVyYXRpb24gPSBjaGFubmVsaW5nID8gZS50aW1lIC0gZmlnaHROb3cgOiB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgIGJhci52YWx1ZSA9IGUudGltZSAtIGZpZ2h0Tm93O1xyXG4gICAgYmFyLnJpZ2h0dGV4dCA9ICdyZW1haW4nO1xyXG4gICAgYmFyLmxlZnR0ZXh0ID0gZS50ZXh0O1xyXG4gICAgYmFyLnRvd2FyZCA9ICdyaWdodCc7XHJcbiAgICBiYXIuc3R5bGVmaWxsID0gIWNoYW5uZWxpbmcgPyAnZmlsbCcgOiAnZW1wdHknO1xyXG5cclxuICAgIGlmIChlLnN0eWxlKVxyXG4gICAgICBiYXIuYXBwbHlTdHlsZXMoZS5zdHlsZSk7XHJcblxyXG4gICAgaWYgKCFjaGFubmVsaW5nICYmIGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLkJhckV4cGlyZXNTb29uU2Vjb25kcykge1xyXG4gICAgICBiYXIuZmcgPSB0aGlzLmJhckNvbG9yO1xyXG4gICAgICB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgICB0aGlzLk9uVGltZXJFeHBpcmVzU29vbi5iaW5kKHRoaXMsIGUuaWQpLFxyXG4gICAgICAgIChlLnRpbWUgLSBmaWdodE5vdyAtIHRoaXMub3B0aW9ucy5CYXJFeHBpcmVzU29vblNlY29uZHMpICogMTAwMCxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJhci5mZyA9IHRoaXMuYmFyRXhwaXJlc1Nvb25Db2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGRpbmcgYSB0aW1lciB3aXRoIHRoZSBzYW1lIGlkIGltbWVkaWF0ZWx5IHJlbW92ZXMgdGhlIHByZXZpb3VzLlxyXG4gICAgY29uc3QgYWN0aXZlQmFyID0gdGhpcy5hY3RpdmVCYXJzW2UuaWRdO1xyXG4gICAgaWYgKGFjdGl2ZUJhcikge1xyXG4gICAgICBjb25zdCBkaXYgPSBhY3RpdmVCYXIucGFyZW50Tm9kZTtcclxuICAgICAgZGl2Py5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlLnNvcnRLZXkpXHJcbiAgICAgIGRpdi5zdHlsZS5vcmRlciA9IGUuc29ydEtleS50b1N0cmluZygpO1xyXG4gICAgZGl2LmlkID0gZS5pZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy50aW1lcmxpc3Q/LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICB0aGlzLmFjdGl2ZUJhcnNbZS5pZF0gPSBiYXI7XHJcbiAgICBpZiAoZS5pZCBpbiB0aGlzLmV4cGlyZVRpbWVycykge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdKTtcclxuICAgICAgZGVsZXRlIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uVGltZXJFeHBpcmVzU29vbihpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbaWRdO1xyXG4gICAgaWYgKGJhcilcclxuICAgICAgYmFyLmZnID0gdGhpcy5iYXJFeHBpcmVzU29vbkNvbG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uUmVtb3ZlVGltZXIoZTogRXZlbnQsIGV4cGlyZWQ6IGJvb2xlYW4sIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICghZm9yY2UgJiYgZXhwaXJlZCAmJiB0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzKSB7XHJcbiAgICAgIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgdGhpcy5PblJlbW92ZVRpbWVyLmJpbmQodGhpcywgZSwgZmFsc2UpLFxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMgKiAxMDAwLFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2UgaWYgKGUuaWQgaW4gdGhpcy5leHBpcmVUaW1lcnMpIHtcclxuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXSk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbZS5pZF07XHJcbiAgICBpZiAoIWJhcilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRpdiA9IGJhci5wYXJlbnROb2RlO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuaWQudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIWVsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZW1vdmVCYXIgPSAoKSA9PiB7XHJcbiAgICAgIGRpdj8ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlQmFyc1tlLmlkXTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCFmb3JjZSlcclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRpbWVyLWJhci1yZW1vdmVkJyk7XHJcbiAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuYW5pbWF0aW9uTmFtZSAhPT0gJ25vbmUnKSB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIGFuaW1hdGlvbiB0byBmaW5pc2hcclxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCByZW1vdmVCYXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVtb3ZlQmFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TaG93SW5mb1RleHQodGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LkluZm8odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsZXJ0VGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxlcnQodGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsYXJtVGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxhcm0odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU3BlYWtUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LlRUUyh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25UcmlnZ2VyKFxyXG4gICAgdHJpZ2dlcjogTG9vc2VUaW1lbGluZVRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TeW5jVGltZShmaWdodE5vdzogbnVtYmVyLCBydW5uaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5EZWJ1ZyB8fCAhdGhpcy5kZWJ1Z0VsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXJ1bm5pbmcpIHtcclxuICAgICAgaWYgKHRoaXMuZGVidWdGaWdodFRpbWVyKVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZGVidWdGaWdodFRpbWVyKTtcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmRlYnVnRmlnaHRUaW1lcikge1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci53aWR0aCA9ICcxMDBweCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmhlaWdodCA9ICcxN3B4JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuZHVyYXRpb24gPSBrQmlnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5sZWZ0dGV4dCA9ICdlbGFwc2VkJztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIudG93YXJkID0gJ3JpZ2h0JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuc3R5bGVmaWxsID0gJ2ZpbGwnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5iZyA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmZnID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5kZWJ1Z0ZpZ2h0VGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvcmNlIHRoaXMgdG8gYmUgcmVzZXQuXHJcbiAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5lbGFwc2VkID0gMDtcclxuICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmVsYXBzZWQgPSBmaWdodE5vdztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbnRyb2xsZXIge1xyXG4gIHByb3RlY3RlZCB0aW1lbGluZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgcHJpdmF0ZSBzdXBwcmVzc05leHRFbmdhZ2U6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSB3aXBlUmVnZXg6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPjtcclxuICBwcm90ZWN0ZWQgYWN0aXZlVGltZWxpbmU6IFRpbWVsaW5lIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB1aTogVGltZWxpbmVVSSxcclxuICAgIHJhaWRib3NzRGF0YUZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMudWkgPSB1aTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lcyA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIGZpbGVdIG9mIE9iamVjdC5lbnRyaWVzKHJhaWRib3NzRGF0YUZpbGVzKSkge1xyXG4gICAgICBpZiAoIWZpbGVuYW1lLmVuZHNXaXRoKCcudHh0JykgfHwgdHlwZW9mIGZpbGUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB0aGlzLnRpbWVsaW5lc1tmaWxlbmFtZV0gPSBmaWxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgdG8gc3VwcHJlc3MgYW55IEVuZ2FnZSEgaWYgdGhlcmUncyBhIHdpcGUgYmV0d2VlbiAvY291bnRkb3duIGFuZCBFbmdhZ2UhLlxyXG4gICAgdGhpcy5zdXBwcmVzc05leHRFbmdhZ2UgPSBmYWxzZTtcclxuICAgIHRoaXMud2lwZVJlZ2V4ID0gTmV0UmVnZXhlcy5uZXR3b3JrNmQoeyBjb21tYW5kOiAnNDAwMDAwMTAnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFBvcHVwVGV4dEludGVyZmFjZShwb3B1cFRleHQ6IFBvcHVwVGV4dEdlbmVyYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy51aS5TZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gV2lwZSBsaW5lcyBjb21lIGJlZm9yZSBjb21iYXQgaXMgZmFsc2UsIGJ1dCBiZWNhdXNlIE9uTG9nRXZlbnQgZG9lc24ndCBwcm9jZXNzXHJcbiAgICAvLyBsaW5lcyB3aGVuIG91dCBvZiBjb21iYXQsIHN1cHByZXNzIGFueSBlbmdhZ2VzIHRoYXQgY29tZSBiZWZvcmUgdGhlIG5leHQgY291bnRkb3duXHJcbiAgICAvLyBqdXN0IGFzIGEgc2FmZXR5LCBlc3BlY2lhbGx5IGZvciBvbGQgQVJSIGNvbnRlbnQgd2hlcmUgd2lwZSBsaW5lcyBkb24ndCBoYXBwZW4uXHJcbiAgICBpZiAoIWluQ29tYmF0KVxyXG4gICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICBpZiAoIWluQ29tYmF0ICYmIHRoaXMuYWN0aXZlVGltZWxpbmUpXHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuU3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uTG9nRXZlbnQoZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUaW1lbGluZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGxvZyBvZiBlLmRldGFpbC5sb2dzKSB7XHJcbiAgICAgIGlmIChMb2NhbGVSZWdleC5jb3VudGRvd25TdGFydFt0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2VdLnRlc3QobG9nKSkge1xyXG4gICAgICAgIC8vIEFzIHlvdSBjYW4ndCBzdGFydCBhIGNvdW50ZG93biB3aGlsZSBpbiBjb21iYXQsIHRoZSBuZXh0IGVuZ2FnZSBpcyByZWFsLlxyXG4gICAgICAgIHRoaXMuc3VwcHJlc3NOZXh0RW5nYWdlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoTG9jYWxlUmVnZXguY291bnRkb3duRW5nYWdlW3RoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZV0udGVzdChsb2cpKSB7XHJcbiAgICAgICAgLy8gSWYgd2Ugc2VlIGFuIGVuZ2FnZSBhZnRlciBhIHdpcGUsIGJ1dCBiZWZvcmUgY29tYmF0IGhhcyBzdGFydGVkIG90aGVyd2lzZVxyXG4gICAgICAgIC8vIChlLmcuIGNvdW50ZG93biA+IHdpcGUgPiBmYWNlIHB1bGwgPiBlbmdhZ2UpLCBkb24ndCBwcm9jZXNzIHRoaXMgZW5nYWdlIGxpbmVcclxuICAgICAgICBpZiAodGhpcy5zdXBwcmVzc05leHRFbmdhZ2UpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLndpcGVSZWdleC50ZXN0KGxvZykpIHtcclxuICAgICAgICAvLyBJZiB3ZSBzZWUgYSB3aXBlLCBpZ25vcmUgdGhlIG5leHQgZW5nYWdlLiAgSWYgd2Ugc2VlIGEgY291bnRkb3duIGJlZm9yZSB0aGF0IHdpcGUsXHJcbiAgICAgICAgLy8gd2Ugd2lsbCBjbGVhciB0aGlzLiAgVGhlcmVmb3JlLCB0aGlzIHdpbGwgb25seSBhcHBseSB0byBhY3RpdmUgY291bnRkb3ducy5cclxuICAgICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5PbkxvZ0xpbmUobG9nLCBjdXJyZW50VGltZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0QWN0aXZlVGltZWxpbmUoXHJcbiAgICB0aW1lbGluZUZpbGVzOiBzdHJpbmdbXSxcclxuICAgIHRpbWVsaW5lczogc3RyaW5nW10sXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICB6b25lSWQ6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVGltZWxpbmUgPSBudWxsO1xyXG5cclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcblxyXG4gICAgLy8gR2V0IHRoZSB0ZXh0IGZyb20gZWFjaCBmaWxlIGluIHx0aW1lbGluZUZpbGVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmVGaWxlIG9mIHRpbWVsaW5lRmlsZXMpIHtcclxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudGltZWxpbmVzW3RpbWVsaW5lRmlsZV07XHJcbiAgICAgIGlmIChuYW1lKVxyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7bmFtZX1gO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgY29uc29sZS5sb2coYFRpbWVsaW5lIGZpbGUgbm90IGZvdW5kOiAke3RpbWVsaW5lRmlsZX1gKTtcclxuICAgIH1cclxuICAgIC8vIEFwcGVuZCB0ZXh0IGZyb20gZWFjaCBibG9jayBpbiB8dGltZWxpbmVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmUgb2YgdGltZWxpbmVzKVxyXG4gICAgICB0ZXh0ID0gYCR7dGV4dH1cXG4ke3RpbWVsaW5lfWA7XHJcblxyXG4gICAgaWYgKHRleHQpIHtcclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZSA9IG5ldyBUaW1lbGluZShcclxuICAgICAgICB0ZXh0LFxyXG4gICAgICAgIHJlcGxhY2VtZW50cyxcclxuICAgICAgICB0cmlnZ2VycyxcclxuICAgICAgICBzdHlsZXMsXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICAgIHpvbmVJZCxcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMudWkuU2V0VGltZWxpbmUodGhpcy5hY3RpdmVUaW1lbGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lcyAhPT0gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUxvYWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aW1lbGluZUNvbnRyb2xsZXI6IFRpbWVsaW5lQ29udHJvbGxlcikge1xyXG4gICAgdGhpcy50aW1lbGluZUNvbnRyb2xsZXIgPSB0aW1lbGluZUNvbnRyb2xsZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0VGltZWxpbmVzKFxyXG4gICAgdGltZWxpbmVGaWxlczogc3RyaW5nW10sXHJcbiAgICB0aW1lbGluZXM6IHN0cmluZ1tdLFxyXG4gICAgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10sXHJcbiAgICB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSxcclxuICAgIHN0eWxlczogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgem9uZUlkOiBudW1iZXIsXHJcbiAgKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5TZXRBY3RpdmVUaW1lbGluZShcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5Jc1JlYWR5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RvcENvbWJhdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWxpbmVDb250cm9sbGVyLlNldEluQ29tYmF0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgaXNMYW5nLCBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBQYXJ0eVRyYWNrZXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3BhcnR5JztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3Jlc3BvbnNlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnLCB7XHJcbiAgQ29uZmlnVmFsdWUsXHJcbiAgT3B0aW9uc1RlbXBsYXRlLFxyXG4gIFVzZXJGaWxlQ2FsbGJhY2ssXHJcbn0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZU9wdGlvbnMsIFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBTYXZlZENvbmZpZ0VudHJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi8uLi90eXBlcy9qb2InO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBPdXRwdXRTdHJpbmdzLFxyXG4gIFJhaWRib3NzRmlsZURhdGEsXHJcbiAgVGltZWxpbmVGaWVsZCxcclxuICBUcmlnZ2VyQXV0b0NvbmZpZyxcclxufSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHtcclxuICBDYWN0Ym90Q29uZmlndXJhdG9yLFxyXG4gIENvbmZpZ0xvb3NlVHJpZ2dlcixcclxuICBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgQ29uZmlnUHJvY2Vzc2VkRmlsZU1hcCxcclxufSBmcm9tICcuLi9jb25maWcvY29uZmlnJztcclxuXHJcbmltcG9ydCByYWlkYm9zc0ZpbGVEYXRhIGZyb20gJy4vZGF0YS9yYWlkYm9zc19tYW5pZmVzdC50eHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc1RyaWdnZXJGaWVsZCwgUmFpZGJvc3NUcmlnZ2VyT3V0cHV0IH0gZnJvbSAnLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHJhaWRib3NzT3B0aW9ucywgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVBhcnNlciB9IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGtPcHRpb25LZXlzID0ge1xyXG4gIG91dHB1dDogJ091dHB1dCcsXHJcbiAgZHVyYXRpb246ICdEdXJhdGlvbicsXHJcbiAgYmVmb3JlU2Vjb25kczogJ0JlZm9yZVNlY29uZHMnLFxyXG4gIG91dHB1dFN0cmluZ3M6ICdPdXRwdXRTdHJpbmdzJyxcclxufSBhcyBjb25zdDtcclxuXHJcbnR5cGUgVHJpZ2dlclNvdW5kT3B0aW9uID0ge1xyXG4gIGxhYmVsOiBMb2NhbGVUZXh0O1xyXG4gIGRlYnVnT25seT86IGJvb2xlYW47XHJcbn07XHJcblxyXG4vLyBObyBzb3VuZCBvbmx5IG9wdGlvbiwgYmVjYXVzZSB0aGF0J3Mgc2lsbHkuXHJcbmNvbnN0IGtUcmlnZ2VyT3B0aW9ucyA9IHtcclxuICBkZWZhdWx0OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ+KclCBEZWZhdWx0cycsXHJcbiAgICAgIGRlOiAn4pyUIFN0YW5kYXJkcycsXHJcbiAgICAgIGZyOiAn4pyUIETDqWZhdXRzJyxcclxuICAgICAgamE6ICfinJQg5Yid5pyf6Kit5a6aJyxcclxuICAgICAgY246ICfinJQg6buY6K6k6K6+572uJyxcclxuICAgICAga286ICfinJQg6riw67O4JyxcclxuICAgIH0sXHJcbiAgfSxcclxuICB0ZXh0QW5kU291bmQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnLFxyXG4gICAgICBkZTogJ/Cfhpnwn5SKIFRleHQgdW5kIFRvbicsXHJcbiAgICAgIGZyOiAn8J+GmfCflIogVGV4dGUgZXQgc29uJyxcclxuICAgICAgamE6ICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnLFxyXG4gICAgICBjbjogJ/Cfhpnwn5SKIOaWh+Wtl+aYvuekuuS4juaPkOekuumfsycsXHJcbiAgICAgIGtvOiAn8J+GmfCflIog7YWN7Iqk7Yq47JmAIOyGjOumrCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdHRzQW5kVGV4dDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnLFxyXG4gICAgICBkZTogJ/Cfhpnwn5KsIFRleHQgdW5kIFRUUycsXHJcbiAgICAgIGZyOiAn8J+GmfCfkqwgVGV4dGUgZXQgVFRTJyxcclxuICAgICAgamE6ICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnLFxyXG4gICAgICBjbjogJ/Cfhpnwn5KsIOaWh+Wtl+aYvuekuuS4jlRUUycsXHJcbiAgICAgIGtvOiAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUycsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdHRzT25seToge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfwn5KsIFRUUyBPbmx5JyxcclxuICAgICAgZGU6ICfwn5KsIE51ciBUVFMnLFxyXG4gICAgICBmcjogJ/CfkqwgVFRTIFNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+SrCBUVFPjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfkqwg5Y+q5L2/55SoVFRTJyxcclxuICAgICAga286ICfwn5KsIFRUU+unjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dE9ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmSBUZXh0IE9ubHknLFxyXG4gICAgICBkZTogJ/CfhpkgTnVyIFRleHQnLFxyXG4gICAgICBmcjogJ/CfhpkgVGV4dGUgc2V1bGVtZW50JyxcclxuICAgICAgamE6ICfwn4aZIOODhuOCreOCueODiOOBruOBvycsXHJcbiAgICAgIGNuOiAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonLFxyXG4gICAgICBrbzogJ/Cfhpkg7YWN7Iqk7Yq466eMJyxcclxuICAgIH0sXHJcbiAgfSxcclxuICBkaXNhYmxlZDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinYwgRGlzYWJsZWQnLFxyXG4gICAgICBkZTogJ+KdjCBEZWFrdGl2aWVydCcsXHJcbiAgICAgIGZyOiAn4p2MIETDqXNhY3RpdsOpJyxcclxuICAgICAgamE6ICfinYwg54Sh5Yq5JyxcclxuICAgICAgY246ICfinYwg56aB55SoJyxcclxuICAgICAga286ICfinYwg67mE7Zmc7ISx7ZmUJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IHRyaWdnZXJTb3VuZE9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogVHJpZ2dlclNvdW5kT3B0aW9uIH0gPSBrVHJpZ2dlck9wdGlvbnM7XHJcblxyXG50eXBlIERldGFpbEtleSA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBjbHM6IHN0cmluZztcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG4gIGdlbmVyYXRlZE1hbnVhbGx5PzogYm9vbGVhbjtcclxufTtcclxuXHJcbmNvbnN0IGtEZXRhaWxLZXlzID0ge1xyXG4gICd0cmlnZ2VyUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3JlZ2V4JyxcclxuICAgICAgZGU6ICdyZWdleCcsXHJcbiAgICAgIGZyOiAncmVnZXgnLFxyXG4gICAgICBqYTogJ+ato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5zsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RyaWdnZXJOZXRSZWdleCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnbmV0cmVnZXgnLFxyXG4gICAgICBkZTogJ25ldHJlZ2V4JyxcclxuICAgICAgZnI6ICduZXRyZWdleCcsXHJcbiAgICAgIGphOiAn44ON44OD44OI5q2j6KaP6KGo54++JyxcclxuICAgICAgY246ICfnvZHnu5zml6Xlv5fmraPliJnooajovr7lvI8nLFxyXG4gICAgICBrbzogJ+ygleq3nO2RnO2YhOyLnScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncmVnZXgtdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAndGltZWxpbmVSZWdleCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAndGltZWxpbmUnLFxyXG4gICAgICBkZTogJ3RpbWVsaW5lJyxcclxuICAgICAgZnI6ICd0aW1lbGluZScsXHJcbiAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44OzJyxcclxuICAgICAgY246ICfml7bpl7TovbQnLFxyXG4gICAgICBrbzogJ+2DgOyehOudvOyduCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncmVnZXgtdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYmVmb3JlU2Vjb25kcyc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnYmVmb3JlIChzZWMpJyxcclxuICAgICAgZGU6ICdWb3JoZXIgKFNla3VuZGVuKScsXHJcbiAgICAgIGZyOiAnYXZhbnQgKHNlY29uZGUpJyxcclxuICAgICAgamE6ICfjgZ3jga7liY3jgasgKOenkiknLFxyXG4gICAgICBjbjogJ+aPkOWJjSAo56eSKScsXHJcbiAgICAgIGtvOiAn7JWe64u56rmAICjstIgpJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdiZWZvcmUtc2Vjb25kcy10ZXh0JyxcclxuICAgIGdlbmVyYXRlZE1hbnVhbGx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2NvbmRpdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnY29uZGl0aW9uJyxcclxuICAgICAgZGU6ICdjb25kaXRpb24nLFxyXG4gICAgICBmcjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGphOiAn5p2h5Lu2JyxcclxuICAgICAgY246ICfmnaHku7YnLFxyXG4gICAgICBrbzogJ+yhsOqxtCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnY29uZGl0aW9uLXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2R1cmF0aW9uJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdkdXJhdGlvbiAoc2VjKScsXHJcbiAgICAgIGRlOiAnRGF1ZXIgKFNla3VuZGVuKScsXHJcbiAgICAgIGZyOiAnRHVyw6llIChzZWNvbmRlcyknLFxyXG4gICAgICBqYTogJ+WtmOe2muaZgumWkyAo56eSKScsXHJcbiAgICAgIGNuOiAn5oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAga286ICfsp4Dsho0g7Iuc6rCEICjstIgpJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdkdXJhdGlvbi10ZXh0JyxcclxuICAgIGdlbmVyYXRlZE1hbnVhbGx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3ByZVJ1bic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAncHJlUnVuJyxcclxuICAgICAgZGU6ICdwcmVSdW4nLFxyXG4gICAgICBmcjogJ3ByZVJ1bicsXHJcbiAgICAgIGphOiAn44OX44Os5a6f6KGMJyxcclxuICAgICAgY246ICfpooTov5DooYwnLFxyXG4gICAgICBrbzogJ+yCrOyghCDsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3ByZXJ1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdhbGFybVRleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2FsYXJtJyxcclxuICAgICAgZGU6ICdhbGFybScsXHJcbiAgICAgIGZyOiAnYWxhcm1lJyxcclxuICAgICAgamE6ICforabloLEnLFxyXG4gICAgICBjbjogJ+itpuaKpeaWh+acrCcsXHJcbiAgICAgIGtvOiAn6rK96rOgJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdhbGFybS10ZXh0JyxcclxuICB9LFxyXG4gICdhbGVydFRleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2FsZXJ0JyxcclxuICAgICAgZGU6ICdhbGVydCcsXHJcbiAgICAgIGZyOiAnYWxlcnRlJyxcclxuICAgICAgamE6ICforablkYonLFxyXG4gICAgICBjbjogJ+itpuWRiuaWh+acrCcsXHJcbiAgICAgIGtvOiAn7KO87J2YJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdhbGVydC10ZXh0JyxcclxuICB9LFxyXG4gICdpbmZvVGV4dCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnaW5mbycsXHJcbiAgICAgIGRlOiAnaW5mbycsXHJcbiAgICAgIGZyOiAnaW5mbycsXHJcbiAgICAgIGphOiAn5oOF5aCxJyxcclxuICAgICAgY246ICfkv6Hmga/mlofmnKwnLFxyXG4gICAgICBrbzogJ+yViOuCtCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnaW5mby10ZXh0JyxcclxuICB9LFxyXG4gICd0dHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3R0cycsXHJcbiAgICAgIGRlOiAndHRzJyxcclxuICAgICAgZnI6ICd0dHMnLFxyXG4gICAgICBqYTogJ1RUUycsXHJcbiAgICAgIGNuOiAnVFRTJyxcclxuICAgICAga286ICdUVFMnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3R0cy10ZXh0JyxcclxuICB9LFxyXG4gICdzb3VuZCc6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnc291bmQnLFxyXG4gICAgICBkZTogJ3NvdW5kJyxcclxuICAgICAgZnI6ICdzb24nLFxyXG4gICAgICBqYTogJ+mfs+WjsCcsXHJcbiAgICAgIGNuOiAn5o+Q56S66Z+zJyxcclxuICAgICAga286ICfshozrpqwnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3NvdW5kLXRleHQnLFxyXG4gIH0sXHJcbiAgJ3J1bic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAncnVuJyxcclxuICAgICAgZGU6ICdydW4nLFxyXG4gICAgICBmcjogJ3J1bicsXHJcbiAgICAgIGphOiAn5a6f6KGMJyxcclxuICAgICAgY246ICfov5DooYwnLFxyXG4gICAgICBrbzogJ+yLpO2WiScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAncnVuLXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBPcmRlcmVkIHNldCBvZiBoZWFkZXJzIGluIHRoZSB0aW1lbGluZSBlZGl0IHRhYmxlLlxyXG5jb25zdCBrVGltZWxpbmVUYWJsZUhlYWRlcnMgPSB7XHJcbiAgc2hvdWxkRGlzcGxheVRleHQ6IHtcclxuICAgIGVuOiAnU2hvdycsXHJcbiAgICBkZTogJ0FuemVpZ2VuJyxcclxuICAgIGZyOiAnQWZmaWNoZXInLFxyXG4gICAgY246ICfmmL7npLonLFxyXG4gIH0sXHJcbiAgdGV4dDoge1xyXG4gICAgZW46ICdUaW1lbGluZSBUZXh0JyxcclxuICAgIGRlOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBmcjogJ1RleHRlIGRlIGxhIHRpbWVsaW5lJyxcclxuICAgIGNuOiAn5pe26Ze06L205paH5pysJyxcclxuICB9LFxyXG4gIG92ZXJyaWRlVGV4dDoge1xyXG4gICAgZW46ICdSZW5hbWUnLFxyXG4gICAgZGU6ICdVbWJlbmVubmVuJyxcclxuICAgIGZyOiAnUmVub21tZXInLFxyXG4gICAgY246ICfkv67mlLnmlofmnKwnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBkZXRhaWxLZXlzOiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogRGV0YWlsS2V5IH0gPSBrRGV0YWlsS2V5cztcclxuXHJcbmNvbnN0IGtNaXNjVHJhbnNsYXRpb25zID0ge1xyXG4gIC8vIFNob3dzIHVwIGZvciB1bi1zZXQgdmFsdWVzLlxyXG4gIHZhbHVlRGVmYXVsdDoge1xyXG4gICAgZW46ICcoZGVmYXVsdCknLFxyXG4gICAgZGU6ICcoU3RhbmRhcmQpJyxcclxuICAgIGZyOiAnKETDqWZhdXQpJyxcclxuICAgIGphOiAnKOWIneacn+WApCknLFxyXG4gICAgY246ICco6buY6K6k5YC8KScsXHJcbiAgICBrbzogJyjquLDrs7jqsJIpJyxcclxuICB9LFxyXG4gIC8vIFNob3duIHdoZW4gdGhlIFVJIGNhbid0IGRlY2lwaGVyIHRoZSBvdXRwdXQgb2YgYSBmdW5jdGlvbi5cclxuICB2YWx1ZUlzRnVuY3Rpb246IHtcclxuICAgIGVuOiAnKGZ1bmN0aW9uKScsXHJcbiAgICBkZTogJyhGdW5rdGlvbiknLFxyXG4gICAgZnI6ICcoRm9uY3Rpb24pJyxcclxuICAgIGphOiAnKOmWouaVsCknLFxyXG4gICAgY246ICco5Ye95pWwKScsXHJcbiAgICBrbzogJyjtlajsiJgpJyxcclxuICB9LFxyXG4gIC8vIFdhcm5pbmcgbGFiZWwgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzIG9yIG92ZXJyaWRkZW4gdHJpZ2dlcnMuXHJcbiAgd2FybmluZzoge1xyXG4gICAgZW46ICfimqDvuI8gd2FybmluZycsXHJcbiAgICBkZTogJ+KaoO+4jyBXYXJudW5nJyxcclxuICAgIGZyOiAn4pqg77iPIEF0dGVudGlvbicsXHJcbiAgICBqYTogJ+KaoO+4jyDorablkYonLFxyXG4gICAgY246ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGtvOiAn4pqg77iPIOyjvOydmCcsXHJcbiAgfSxcclxuICAvLyBTaG93cyB1cCBmb3IgdHJpZ2dlcnMgd2l0aG91dCBpZHMuXHJcbiAgbWlzc2luZ0lkOiB7XHJcbiAgICBlbjogJ21pc3NpbmcgaWQgZmllbGQnLFxyXG4gICAgZGU6ICdGZWhsZW5kZXMgSUQgRmVsZCcsXHJcbiAgICBmcjogJ0NoYW1wIElEIG1hbnF1YW50JyxcclxuICAgIGphOiAnaWTjgYzjgYLjgorjgb7jgZvjgpMnLFxyXG4gICAgY246ICfnvLrlsJFpZOWxnuaApycsXHJcbiAgICBrbzogJ0lEIO2VhOuTnOqwkiDsl4bsnYwnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHRoYXQgYXJlIG92ZXJyaWRkZW4gYnkgb3RoZXIgdHJpZ2dlcnMuXHJcbiAgb3ZlcnJpZGRlbkJ5RmlsZToge1xyXG4gICAgZW46ICdvdmVycmlkZGVuIGJ5IFwiJHtmaWxlfVwiJyxcclxuICAgIGRlOiAnw5xiZXJzY2hyaWViZW4gZHVyY2ggXCIke2ZpbGV9XCInLFxyXG4gICAgZnI6ICfDiWNyYXPDqShlKSBwYXIgXCIke2ZpbGV9XCInLFxyXG4gICAgamE6ICdcIiR7ZmlsZX1cIuOBq+S4iuabuOOBjeOBvuOBl+OBnycsXHJcbiAgICBjbjogJ+iiq1wiJHtmaWxlfVwi5paH5Lu26KaG55uWJyxcclxuICAgIGtvOiAnXCIke2ZpbGV9XCIg7YyM7J287JeQ7IScIOuNruyWtOyUjOybgCcsXHJcbiAgfSxcclxuICAvLyBPcGVucyB0cmlnZ2VyIGZpbGUgb24gR2l0aHViLlxyXG4gIHZpZXdUcmlnZ2VyU291cmNlOiB7XHJcbiAgICBlbjogJ1ZpZXcgVHJpZ2dlciBTb3VyY2UnLFxyXG4gICAgZGU6ICdaZWlnZSBUcmlnZ2VyIFF1ZWxsZScsXHJcbiAgICBmcjogJ0FmZmljaGVyIGxhIHNvdXJjZSBkdSBUcmlnZ2VyJyxcclxuICAgIGphOiAn44OI44Oq44Ks44O844Gu44Kz44O844OJ44KS6KGo56S6JyxcclxuICAgIGNuOiAn5pi+56S66Kem5Y+R5Zmo5rqQ56CBJyxcclxuICAgIGtvOiAn7Yq466as6rGwIOy2nOyymCDsl7TquLAnLFxyXG4gIH0sXHJcbiAgLy8gVGhlIGhlYWRlciBmb3IgdGhlIGVkaXRpbmcgdGltZWxpbmUgc2VjdGlvbiBpbnNpZGUgYSB0cmlnZ2VyIGZpbGUuXHJcbiAgZWRpdFRpbWVsaW5lOiB7XHJcbiAgICBlbjogJ0VkaXQgVGltZWxpbmUnLFxyXG4gICAgZGU6ICdUaW1lbGluZSBiZWFyYmVpdGVuJyxcclxuICAgIGZyOiAnw4lkaXRlciBsYSB0aW1lbGluZScsXHJcbiAgICBjbjogJ+e8lui+keaXtumXtOi9tCcsXHJcbiAgfSxcclxufTtcclxuXHJcbmNvbnN0IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZCA9ICh2YWxFbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICBpZiAodHlwZW9mIHZhbEVudHJ5ICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsRW50cnkgIT09ICdudW1iZXInKVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KHZhbEVudHJ5LnRvU3RyaW5nKCkpO1xyXG4gIGlmICghaXNOYU4odmFsKSAmJiB2YWwgPj0gMClcclxuICAgIHJldHVybiB2YWw7XHJcbiAgcmV0dXJuIHVuZGVmaW5lZDtcclxufTtcclxuXHJcbmNvbnN0IGNhbkJlQ29uZmlndXJlZCA9ICh0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpID0+ICF0cmlnLmlzTWlzc2luZ0lkICYmICF0cmlnLm92ZXJyaWRkZW5CeUZpbGU7XHJcblxyXG5jb25zdCBhZGRUcmlnZ2VyRGV0YWlsID0gKFxyXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXHJcbiAgbGFiZWxUZXh0OiBzdHJpbmcsXHJcbiAgZGV0YWlsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbENscz86IHN0cmluZ1tdLFxyXG4pOiB2b2lkID0+IHtcclxuICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGxhYmVsLmlubmVyVGV4dCA9IGxhYmVsVGV4dDtcclxuICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWxhYmVsJyk7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgY29uc3QgZGV0YWlsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlsJyk7XHJcbiAgZGV0YWlsLmlubmVyVGV4dCA9IGRldGFpbFRleHQ7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRldGFpbCk7XHJcblxyXG4gIGlmIChkZXRhaWxDbHMpXHJcbiAgICBkZXRhaWwuY2xhc3NMaXN0LmFkZCguLi5kZXRhaWxDbHMpO1xyXG59O1xyXG5cclxuLy8gVGhpcyBpcyB1c2VkIGJvdGggZm9yIHRvcCBsZXZlbCBPcHRpb25zIGFuZCBmb3IgUGVyVHJpZ2dlckF1dG9Db25maWcgc2V0dGluZ3MuXHJcbi8vIFVuZm9ydHVuYXRlbHkgZHVlIHRvIHBvb3IgZGVjaXNpb25zIGluIHRoZSBwYXN0LCBQZXJUcmlnZ2VyT3B0aW9ucyBoYXMgZGlmZmVyZW50XHJcbi8vIGZpZWxkcyBoZXJlLiAgVGhpcyBzaG91bGQgYmUgZml4ZWQuXHJcbmNvbnN0IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUgPSAoXHJcbiAgb3B0aW9uczogQmFzZU9wdGlvbnMgfCBUcmlnZ2VyQXV0b0NvbmZpZyxcclxuICB2YWx1ZTogU2F2ZWRDb25maWdFbnRyeSxcclxuKSA9PiB7XHJcbiAgaWYgKHZhbHVlID09PSAnZGVmYXVsdCcpIHtcclxuICAgIC8vIE5vdGhpbmcuXHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3RleHRBbmRTb3VuZCcpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3R0c0FuZFRleHQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3R0c09ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0T25seScpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICdkaXNhYmxlZCcpIHtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcihgdW5rbm93biBvdXRwdXQgdHlwZTogJHt2YWx1ZS50b1N0cmluZygpfWApO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIEhlbHBlciBmb3IgZG9pbmcgbm90aGluZyBkdXJpbmcgdHJpZ2dlciBldmFsLCBidXQgc3RpbGwgcmVjb3JkaW5nIGFueVxyXG4vLyBjYWxscyB0byBgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHg7YCB2aWEgY2FsbGJhY2suXHJcbmNsYXNzIERvTm90aGluZ0Z1bmNQcm94eSB7XHJcbiAgY29uc3RydWN0b3Iob3V0cHV0U3RyaW5nc0NhbGxiYWNrOiAob3V0cHV0U3RyaW5nczogT3V0cHV0U3RyaW5ncykgPT4gdm9pZCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLCB7XHJcbiAgICAgIHNldChfdGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdyZXNwb25zZU91dHB1dFN0cmluZ3MnKSB7XHJcbiAgICAgICAgICAvLyBUT0RPOiBuZWVkIHNvbWUgd2F5IG9mIHZlcmlmeWluZyB0aGF0IGEgdmFsdWUgaXMgYW4gT3V0cHV0U3RyaW5ncy5cclxuICAgICAgICAgIG91dHB1dFN0cmluZ3NDYWxsYmFjayh2YWx1ZSBhcyBPdXRwdXRTdHJpbmdzKTtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWdub3JlIG90aGVyIHByb3BlcnR5IHNldHRpbmcgaGVyZS5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXQoX3RhcmdldCwgX25hbWUpIHtcclxuICAgICAgICByZXR1cm4gKCkgPT4gey8qIG5vb3AgKi99O1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBtYWtlTGluayA9IChocmVmOiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4gYDxhIGhyZWY9XCIke2hyZWZ9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+JHtocmVmfTwvYT5gO1xyXG59O1xyXG5cclxuY29uc3QgbGFuZ09yRW4gPSAobGFuZzogQ29uZmlnVmFsdWUpOiBMYW5nID0+IHtcclxuICByZXR1cm4gdHlwZW9mIGxhbmcgPT09ICdzdHJpbmcnICYmIGlzTGFuZyhsYW5nKSA/IGxhbmcgOiAnZW4nO1xyXG59O1xyXG5cclxuY2xhc3MgUmFpZGJvc3NDb25maWd1cmF0b3Ige1xyXG4gIHByaXZhdGUgYmFzZTogQ2FjdGJvdENvbmZpZ3VyYXRvcjtcclxuICBwcml2YXRlIGFsZXJ0c0xhbmc6IExhbmc7XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUxhbmc6IExhbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNhY3Rib3RDb25maWd1cmF0b3I6IENhY3Rib3RDb25maWd1cmF0b3IpIHtcclxuICAgIHRoaXMuYmFzZSA9IGNhY3Rib3RDb25maWd1cmF0b3I7XHJcblxyXG4gICAgLy8gVE9ETzogaXMgaXQgd29ydGggYWRkaW5nIHRoZSBjb21wbGV4aXR5IHRvIHJlZmxlY3QgdGhpcyBjaGFuZ2UgaW4gdHJpZ2dlcnMgdGhhdCB1c2UgaXQ/XHJcbiAgICAvLyBUaGlzIGlzIHByb2JhYmx5IHdoZXJlIHVzaW5nIHNvbWV0aGluZyBsaWtlIHZ1ZSBvciByZWFjdCB3b3VsZCBiZSBlYXNpZXIuXHJcbiAgICAvLyBGb3IgdGhlIG1vbWVudCwgZm9sa3MgY2FuIGp1c3QgcmVsb2FkLCBmb3IgcmVhbC5cclxuICAgIHRoaXMuYWxlcnRzTGFuZyA9IGxhbmdPckVuKHRoaXMuYmFzZS5nZXRPcHRpb24oJ3JhaWRib3NzJywgJ0FsZXJ0c0xhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpKTtcclxuICAgIHRoaXMudGltZWxpbmVMYW5nID0gbGFuZ09yRW4oXHJcbiAgICAgIHRoaXMuYmFzZS5nZXRPcHRpb24oJ3JhaWRib3NzJywgJ1RpbWVsaW5lTGFuZ3VhZ2UnLCB0aGlzLmJhc2UubGFuZyksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRVSShjb250YWluZXI6IEhUTUxFbGVtZW50LCByYWlkYm9zc0ZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLCB1c2VyT3B0aW9uczogUmFpZGJvc3NPcHRpb25zKSB7XHJcbiAgICBjb25zdCBmaWxlTWFwID0gdGhpcy5wcm9jZXNzUmFpZGJvc3NGaWxlcyhyYWlkYm9zc0ZpbGVzLCB1c2VyT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgZXhwYW5zaW9uRGl2czogeyBbZXhwYW5zaW9uOiBzdHJpbmddOiBIVE1MRWxlbWVudCB9ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCBpbmZvXSBvZiBPYmplY3QuZW50cmllcyhmaWxlTWFwKSkge1xyXG4gICAgICAvLyBcImV4cGFuc2lvblwiIGhlcmUgaXMgdGVjaG5pY2FsbHkgc2VjdGlvbiwgd2hpY2ggaW5jbHVkZXMgXCJnZW5lcmFsIHRyaWdnZXJzXCJcclxuICAgICAgLy8gYW5kIG9uZSBzZWN0aW9uIHBlciB1c2VyIGZpbGUuXHJcbiAgICAgIGNvbnN0IGV4cGFuc2lvbiA9IGluZm8uc2VjdGlvbjtcclxuXHJcbiAgICAgIGlmICghaW5mby50cmlnZ2VycyB8fCBPYmplY3Qua2V5cyhpbmZvLnRyaWdnZXJzKS5sZW5ndGggPT09IDApXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBsZXQgZXhwYW5zaW9uRGl2ID0gZXhwYW5zaW9uRGl2c1tleHBhbnNpb25dO1xyXG4gICAgICBpZiAoIWV4cGFuc2lvbkRpdikge1xyXG4gICAgICAgIGNvbnN0IGV4cGFuc2lvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWV4cGFuc2lvbi1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGV4cGFuc2lvbkNvbnRhaW5lcik7XHJcblxyXG4gICAgICAgIGNvbnN0IGV4cGFuc2lvbkhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWV4cGFuc2lvbi1oZWFkZXInKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIub25jbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGV4cGFuc2lvbkhlYWRlci5pbm5lclRleHQgPSBleHBhbnNpb247XHJcbiAgICAgICAgZXhwYW5zaW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKGV4cGFuc2lvbkhlYWRlcik7XHJcblxyXG4gICAgICAgIGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXSA9IGV4cGFuc2lvbkNvbnRhaW5lcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0cmlnZ2VyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICAgIGV4cGFuc2lvbkRpdi5hcHBlbmRDaGlsZCh0cmlnZ2VyQ29udGFpbmVyKTtcclxuXHJcbiAgICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBoZWFkZXJEaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLWhlYWRlcicpO1xyXG4gICAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgICB0cmlnZ2VyQ29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgcGFydHMgPSBbaW5mby50aXRsZSwgaW5mby50eXBlLCBpbmZvLnByZWZpeF07XHJcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xyXG4gICAgICAgIGlmICghcGFydClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHBhcnREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBwYXJ0RGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXItcGFydCcpO1xyXG4gICAgICAgIC8vIFVzZSBpbm5lckhUTUwgaGVyZSBiZWNhdXNlIG9mIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4uXHJcbiAgICAgICAgcGFydERpdi5pbm5lckhUTUwgPSBwYXJ0O1xyXG4gICAgICAgIGhlYWRlckRpdi5hcHBlbmRDaGlsZChwYXJ0RGl2KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZChoZWFkZXJEaXYpO1xyXG5cclxuICAgICAgLy8gVGltZWxpbmUgZWRpdGluZyBpcyB0aWVkIHRvIGEgc2luZ2xlLCBzcGVjaWZpYyB6b25lSWQgcGVyIGZpbGUgZm9yIG5vdy5cclxuICAgICAgLy8gV2UgY291bGQgYWRkIG1vcmUgaW5kaXJlY3Rpb24gKHZpYSBmaWxlS2V5PykgYW5kIGxvb2sgdXAgem9uZUlkIC0+IGZpbGVLZXlbXVxyXG4gICAgICAvLyBhbmQgZmlsZUtleSAtPiB0aW1lbGluZSBlZGl0cyBpZiBuZWVkZWQuXHJcbiAgICAgIGlmIChpbmZvLnRyaWdnZXJTZXQudGltZWxpbmUgJiYgdHlwZW9mIGluZm8uem9uZUlkID09PSAnbnVtYmVyJylcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihpbmZvLnpvbmVJZCwgaW5mby50cmlnZ2VyU2V0LCB0cmlnZ2VyQ29udGFpbmVyLCB1c2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBjb25zdCB0cmlnZ2VyT3B0aW9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0cmlnZ2VyT3B0aW9ucy5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtb3B0aW9ucycpO1xyXG4gICAgICB0cmlnZ2VyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRyaWdnZXJPcHRpb25zKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgW3RyaWdJZCwgdHJpZ10gb2YgT2JqZWN0LmVudHJpZXMoaW5mby50cmlnZ2VycyA/PyB7fSkpIHtcclxuICAgICAgICAvLyBEb24ndCBjb25zdHJ1Y3QgdHJpZ2dlcnMgdGhhdCB3b24ndCBzaG93IGFueXRoaW5nLlxyXG4gICAgICAgIGxldCBoYXNPdXRwdXRGdW5jID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBmdW5jIG9mIHRyaWdnZXJPdXRwdXRGdW5jdGlvbnMpIHtcclxuICAgICAgICAgIGlmIChmdW5jIGluIHRyaWcpIHtcclxuICAgICAgICAgICAgaGFzT3V0cHV0RnVuYyA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWhhc091dHB1dEZ1bmMgJiYgIXRoaXMuYmFzZS5kZXZlbG9wZXJPcHRpb25zKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEJ1aWxkIHRoZSB0cmlnZ2VyIGxhYmVsLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGl2LmlubmVySFRNTCA9IHRyaWcuaXNNaXNzaW5nSWQgPyAnKD8/PyknIDogdHJpZ0lkO1xyXG5cclxuICAgICAgICB0cmlnZ2VyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXInKTtcclxuICAgICAgICB0cmlnZ2VyT3B0aW9ucy5hcHBlbmRDaGlsZCh0cmlnZ2VyRGl2KTtcclxuXHJcbiAgICAgICAgLy8gQ29udGFpbmVyIGZvciB0aGUgcmlnaHQgc2lkZSB1aSAoc2VsZWN0IGJveGVzLCBhbGwgb2YgdGhlIGluZm8pLlxyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJEZXRhaWxzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRldGFpbHMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1kZXRhaWxzJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRldGFpbHMpO1xyXG5cclxuICAgICAgICBpZiAoY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQodGhpcy5idWlsZFRyaWdnZXJPcHRpb25zKHRyaWcsIHRyaWdnZXJEaXYpKTtcclxuXHJcbiAgICAgICAgaWYgKHRyaWcuaXNNaXNzaW5nSWQpIHtcclxuICAgICAgICAgIGFkZFRyaWdnZXJEZXRhaWwoXHJcbiAgICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLFxyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLndhcm5pbmcpLFxyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm1pc3NpbmdJZCksXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHJpZy5vdmVycmlkZGVuQnlGaWxlKSB7XHJcbiAgICAgICAgICBjb25zdCBiYXNlVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMub3ZlcnJpZGRlbkJ5RmlsZSk7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxUZXh0ID0gYmFzZVRleHQucmVwbGFjZSgnJHtmaWxlfScsIHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSk7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBcHBlbmQgc29tZSBkZXRhaWxzIGFib3V0IHRoZSB0cmlnZ2VyIHNvIGl0J3MgbW9yZSBvYnZpb3VzIHdoYXQgaXQgaXMuXHJcbiAgICAgICAgZm9yIChjb25zdCBbZGV0YWlsU3RyaW5nS2V5LCBvcHRdIG9mIE9iamVjdC5lbnRyaWVzKGRldGFpbEtleXMpKSB7XHJcbiAgICAgICAgICAvLyBPYmplY3QuZW50cmllcyBjb2VyY2VzIHRvIGEgc3RyaW5nLCBidXQgdGhlIGRldGFpbEtleXMgZGVmaW5pdGlvbiBtYWtlcyB0aGlzIHRydWUuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSBkZXRhaWxTdHJpbmdLZXkgYXMga2V5b2YgTG9vc2VUcmlnZ2VyO1xyXG5cclxuICAgICAgICAgIGlmIChvcHQuZ2VuZXJhdGVkTWFudWFsbHkpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGNvbnN0IHRyaWdPdXRwdXQgPSB0cmlnLmNvbmZpZ091dHB1dD8uW2RldGFpbEtleV07XHJcbiAgICAgICAgICBjb25zdCB0cmlnRnVuYyA9IHRyaWdbZGV0YWlsS2V5XTtcclxuICAgICAgICAgIGlmICghdHJpZ0Z1bmMpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRldGFpbENscyA9IFtvcHQuY2xzXTtcclxuICAgICAgICAgIGxldCBkZXRhaWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBpZiAodHJpZ091dHB1dCkge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdHJpZ091dHB1dDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRyaWdGdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGRldGFpbFRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlSXNGdW5jdGlvbik7XHJcbiAgICAgICAgICAgIGRldGFpbENscy5wdXNoKCdmdW5jdGlvbi10ZXh0Jyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdHJpZ0Z1bmMudG9TdHJpbmcoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShvcHQubGFiZWwpLFxyXG4gICAgICAgICAgICBkZXRhaWxUZXh0LFxyXG4gICAgICAgICAgICBkZXRhaWxDbHMsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFjYW5CZUNvbmZpZ3VyZWQodHJpZykpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgLy8gQWRkIGJlZm9yZVNlY29uZHMgbWFudWFsbHkgZm9yIHRpbWVsaW5lIHRyaWdnZXJzLlxyXG4gICAgICAgIGlmICh0cmlnLmlzVGltZWxpbmVUcmlnZ2VyKSB7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSAnYmVmb3JlU2Vjb25kcyc7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25LZXkgPSBrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1iZWZvcmUtc2Vjb25kcycpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG5cclxuICAgICAgICAgIC8vIFNheSBcIihkZWZhdWx0KVwiIGZvciBtb3JlIGNvbXBsaWNhdGVkIHRoaW5ncyBsaWtlIGZ1bmN0aW9ucy5cclxuICAgICAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpZiAodHJpZy5iZWZvcmVTZWNvbmRzID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9ICcwJztcclxuICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB0cmlnLmJlZm9yZVNlY29uZHMgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSB0cmlnLmJlZm9yZVNlY29uZHMudG9TdHJpbmcoKTtcclxuXHJcbiAgICAgICAgICBpbnB1dC5wbGFjZWhvbGRlciA9IGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoaW5wdXQudmFsdWUpIHx8ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmJhc2Uuc2V0T3B0aW9uKCdyYWlkYm9zcycsIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sIHZhbCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICAgICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFkZCBkdXJhdGlvbiBtYW51YWxseSB3aXRoIGFuIGlucHV0IHRvIG92ZXJyaWRlLlxyXG4gICAgICAgIGlmIChoYXNPdXRwdXRGdW5jKSB7XHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxLZXkgPSAnZHVyYXRpb24nO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuZHVyYXRpb247XHJcblxyXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa0RldGFpbEtleXNbZGV0YWlsS2V5XS5sYWJlbCk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWxhYmVsJyk7XHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLWR1cmF0aW9uJyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICAgICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuICAgICAgICAgIGlucHV0LnR5cGUgPSAndGV4dCc7XHJcbiAgICAgICAgICBpbnB1dC5zdGVwID0gJ2FueSc7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHRyaWcuZHVyYXRpb25TZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBgJHt0cmlnLmR1cmF0aW9uU2Vjb25kc31gO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBpbnB1dC5wbGFjZWhvbGRlciA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMudmFsdWVEZWZhdWx0KTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoaW5wdXQudmFsdWUpIHx8ICcnO1xyXG4gICAgICAgICAgICB0aGlzLmJhc2Uuc2V0T3B0aW9uKCdyYWlkYm9zcycsIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sIHZhbCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICAgICAgaW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFkZCBvdXRwdXQgc3RyaW5ncyBtYW51YWxseVxyXG4gICAgICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB0cmlnLm91dHB1dFN0cmluZ3MgfHwge307XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgb3V0cHV0U3RyaW5nXSBvZiBPYmplY3QuZW50cmllcyhvdXRwdXRTdHJpbmdzKSkge1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0U3RyaW5ncztcclxuICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdHlwZW9mIG91dHB1dFN0cmluZyA9PT0gJ3N0cmluZydcclxuICAgICAgICAgICAgPyBvdXRwdXRTdHJpbmdcclxuICAgICAgICAgICAgOiB0aGlzLmJhc2UudHJhbnNsYXRlKG91dHB1dFN0cmluZyk7XHJcblxyXG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGxhYmVsLmlubmVyVGV4dCA9IGtleTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItb3V0cHV0c3RyaW5nLWxhYmVsJyk7XHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLW91dHB1dHN0cmluZycpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0ZW1wbGF0ZTtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbihcclxuICAgICAgICAgICAgJ3JhaWRib3NzJyxcclxuICAgICAgICAgICAgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLFxyXG4gICAgICAgICAgICAnJyxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT5cclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXksIGtleV0sIGlucHV0LnZhbHVlKTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGF0aCA9IGtleS5zcGxpdCgnLScpO1xyXG4gICAgICAgIGNvbnN0IFtwMCwgcDEsIHAyXSA9IHBhdGg7XHJcbiAgICAgICAgaWYgKHAwICE9PSB1bmRlZmluZWQgJiYgcDEgIT09IHVuZGVmaW5lZCAmJiBwMiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItc291cmNlJyk7XHJcbiAgICAgICAgICBjb25zdCBiYXNlVXJsID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL3RyaWdnZXJzJztcclxuICAgICAgICAgIGxldCB1cmxGaWxlcGF0aDtcclxuICAgICAgICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMykge1xyXG4gICAgICAgICAgICAvLyAwMC1taXNjL2dlbmVyYWwuanNcclxuICAgICAgICAgICAgdXJsRmlsZXBhdGggPSBgJHtwMH0tJHtwMX0vJHtbLi4ucGF0aF0uc2xpY2UoMikuam9pbignLScpfWA7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAwMi1hcnIvcmFpZHMvdDEuanNcclxuICAgICAgICAgICAgdXJsRmlsZXBhdGggPSBgJHtwMH0tJHtwMX0vJHtwMn0vJHtbLi4ucGF0aF0uc2xpY2UoMykuam9pbignLScpfWA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zdCBlc2NhcGVkVHJpZ2dlcklkID0gdHJpZ0lkLnJlcGxhY2UoLycvZywgJ1xcXFxcXCcnKTtcclxuICAgICAgICAgIGNvbnN0IHVyaUNvbXBvbmVudCA9IGVuY29kZVVSSUNvbXBvbmVudChgaWQ6ICcke2VzY2FwZWRUcmlnZ2VySWR9J2ApLnJlcGxhY2UoLycvZywgJyUyNycpO1xyXG4gICAgICAgICAgY29uc3QgdXJsU3RyaW5nID0gYCR7YmFzZVVybH0vJHt1cmxGaWxlcGF0aH0uanMjOn46dGV4dD0ke3VyaUNvbXBvbmVudH1gO1xyXG4gICAgICAgICAgZGl2LmlubmVySFRNTCA9IGA8YSBocmVmPVwiJHt1cmxTdHJpbmd9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+KCR7XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMudmlld1RyaWdnZXJTb3VyY2UpXHJcbiAgICAgICAgICB9KTwvYT5gO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBCdWlsZCB0aGUgdG9wIGxldmVsIHRpbWVsaW5lIGVkaXRpbmcgZXhwYW5kYWJsZSBjb250YWluZXIuXHJcbiAgYnVpbGRUaW1lbGluZVVJQ29udGFpbmVyKFxyXG4gICAgem9uZUlkOiBudW1iZXIsXHJcbiAgICBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCxcclxuICAgIHBhcmVudDogSFRNTEVsZW1lbnQsXHJcbiAgICBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsXHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS1lZGl0LWNvbnRhaW5lcicsICdjb2xsYXBzZWQnKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChjb250YWluZXIpO1xyXG5cclxuICAgIGxldCBoYXNFdmVyQmVlbkV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgaGVhZGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBoZWFkZXJEaXYuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1oZWFkZXInKTtcclxuICAgIGhlYWRlckRpdi5vbmNsaWNrID0gKCkgPT4ge1xyXG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgIC8vIEJ1aWxkIHRoZSByZXN0IG9mIHRoaXMgVUkgb24gZGVtYW5kIGxhemlseS5cclxuICAgICAgaWYgKCFoYXNFdmVyQmVlbkV4cGFuZGVkKSB7XHJcbiAgICAgICAgY29uc3QgdGltZWxpbmUgPSB0aGlzLnRpbWVsaW5lRnJvbVNldChzZXQsIG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuYnVpbGRUaW1lbGluZVVJKHpvbmVJZCwgdGltZWxpbmUsIGNvbnRhaW5lcik7XHJcbiAgICAgIH1cclxuICAgICAgaGFzRXZlckJlZW5FeHBhbmRlZCA9IHRydWU7XHJcbiAgICB9O1xyXG4gICAgaGVhZGVyRGl2LmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMuZWRpdFRpbWVsaW5lKTtcclxuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChoZWFkZXJEaXYpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBhIHBhcnNlZCB0aW1lbGluZSBmcm9tIGEgZ2l2ZW4gdHJpZ2dlciBzZXQuXHJcbiAgdGltZWxpbmVGcm9tU2V0KHNldDogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpOiBUaW1lbGluZVBhcnNlciB7XHJcbiAgICBsZXQgdGV4dCA9ICcnO1xyXG5cclxuICAgIC8vIFJlY3Vyc2l2ZWx5IHR1cm4gdGhlIHRpbWVsaW5lIGFycmF5IGludG8gYSBzdHJpbmcuXHJcbiAgICBjb25zdCBhZGRUaW1lbGluZSA9IChvYmo/OiBUaW1lbGluZUZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChvYmogPT09IHVuZGVmaW5lZClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IG9ialZhbCBvZiBvYmopXHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmpWYWwpO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAvLyBIYWNrLCBwYXNzIGJsYW5rIGRhdGEgaW4sIGFzIHdlIGRvbid0IGhhdmUgYSByZWFsIGRhdGEgaGVyZS5cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXHJcbiAgICAgICAgY29uc3QgYmxhbmtEYXRhOiBSYWlkYm9zc0RhdGEgPSB7fSBhcyBSYWlkYm9zc0RhdGE7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGFkZFRpbWVsaW5lKG9iaihibGFua0RhdGEpKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAvLyBEbyBub3RoaW5nIGlmIHRoaXMgZmFpbHMuXHJcbiAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIHByZXR0eSB1bmNvbW1vbiBpbiBidWlsdC1pbiB0aW1lbGluZXMuXHJcbiAgICAgICAgICAvLyBJZiB1c2VyIGZ1bmN0aW9ucyBkbyBmdW5reSB0aGluZ3MsIHRob3NlIGV4dHJhIGxpbmVzIHdpbGwgYmUgc2tpcHBlZC5cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob2JqKSB7XHJcbiAgICAgICAgdGV4dCA9IGAke3RleHR9XFxuJHtvYmp9YDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGFkZFRpbWVsaW5lKHNldC50aW1lbGluZSk7XHJcbiAgICAvLyBVc2luZyB0aGUgdGltZWxpbmVSZXBsYWNlIGFuZCB0aGUgY3VycmVudCBzZXQgb2Ygb3B0aW9ucyBsZXRzIHRoZSB0aW1lbGluZVxyXG4gICAgLy8gZW50cmllcyBsb29rIGxpa2UgdGhleSB3b3VsZCBpbiBnYW1lLlxyXG4gICAgcmV0dXJuIG5ldyBUaW1lbGluZVBhcnNlcih0ZXh0LCBzZXQudGltZWxpbmVSZXBsYWNlID8/IFtdLCBbXSwgW10sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGludGVybmFsIHBhcnQgb2YgdGltZWxpbmUgZWRpdGluZyB1aS5cclxuICBidWlsZFRpbWVsaW5lVUkoem9uZUlkOiBudW1iZXIsIHRpbWVsaW5lOiBUaW1lbGluZVBhcnNlciwgcGFyZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdW5pcUV2ZW50czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGltZWxpbmUuZXZlbnRzKSB7XHJcbiAgICAgIGlmIChldmVudC5uYW1lIGluIHVuaXFFdmVudHMpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGlmIChldmVudC5uYW1lIGluIHRpbWVsaW5lLmlnbm9yZXMpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIC8vIG5hbWUgPSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0XHJcbiAgICAgIC8vIHRleHQgPSByZXBsYWNlZCB0ZXh0IGluIGN1cnJlbnQgbGFuZ3VhZ2VcclxuICAgICAgdW5pcUV2ZW50c1tldmVudC5uYW1lXSA9IGV2ZW50LnRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1jb250YWluZXInKTtcclxuICAgIHBhcmVudC5hcHBlbmRDaGlsZChjb250YWluZXIpO1xyXG5cclxuICAgIGZvciAoY29uc3QgaGVhZGVyIG9mIE9iamVjdC52YWx1ZXMoa1RpbWVsaW5lVGFibGVIZWFkZXJzKSkge1xyXG4gICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgZGl2LmlubmVyVGV4dCA9IHRoaXMuYmFzZS50cmFuc2xhdGUoaGVhZGVyKTtcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHVuaXFFdmVudHMpLnNvcnQoKTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgICAgY29uc3QgZXZlbnQgPSB1bmlxRXZlbnRzW2tleV07XHJcbiAgICAgIGlmICghZXZlbnQpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBjb25zdCBjaGVja0lucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgY2hlY2tJbnB1dC5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS10ZXh0LWVuYWJsZScpO1xyXG4gICAgICBjaGVja0lucHV0LnR5cGUgPSAnY2hlY2tib3gnO1xyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY2hlY2tJbnB1dCk7XHJcblxyXG4gICAgICAvLyBFbmFibGUvZGlzYWJsZSBoZXJlIGJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8gYGhpZGVhbGwgXCJrZXlcImAsIHdoZXJlIHRoaXMgdGV4dCB3aWxsXHJcbiAgICAgIC8vIG5vdCBiZSBzaG93biwgYnV0IHRpbWVsaW5lIHRyaWdnZXJzIHJlbGF0ZWQgdG8gaXQgd2lsbCBzdGlsbCBmaXJlLlxyXG4gICAgICBjb25zdCBlbmFibGVJZCA9IFsndGltZWxpbmUnLCB6b25lSWQudG9TdHJpbmcoKSwgJ2VuYWJsZScsIGtleV07XHJcbiAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRydWU7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2hlY2tlZCA9IHRoaXMuYmFzZS5nZXRCb29sZWFuT3B0aW9uKCdyYWlkYm9zcycsIGVuYWJsZUlkLCBkZWZhdWx0VmFsdWUpO1xyXG4gICAgICBjaGVja0lucHV0Lm9uY2hhbmdlID0gKCkgPT4gdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgY2hlY2tJbnB1dC5jaGVja2VkKTtcclxuXHJcbiAgICAgIGNvbnN0IHRpbWVsaW5lVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0aW1lbGluZVRleHQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC10ZXh0Jyk7XHJcbiAgICAgIHRpbWVsaW5lVGV4dC5pbm5lckhUTUwgPSBldmVudDtcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHRpbWVsaW5lVGV4dCk7XHJcblxyXG4gICAgICBjb25zdCB0ZXh0SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICB0ZXh0SW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lZGl0Jyk7XHJcbiAgICAgIHRleHRJbnB1dC5wbGFjZWhvbGRlciA9IGV2ZW50O1xyXG5cclxuICAgICAgLy8gQW55IGNoYW5nZXMgYXJlIHRpZWQgdG8gdGhlIG9yaWdpbmFsIHRpbWVsaW5lIHRleHQgKGtleSksIGJ1dCB0aGUgY29uZmlnIHVpIHdpbGxcclxuICAgICAgLy8gZGlzcGxheSB0aGUgY3VycmVudCBsYW5ndWFnZSdzIHRleHQgd2l0aCByZXBsYWNlbWVudHMgKGV2ZW50KSBhcyB0aGUgcGxhY2Vob2xkZXIgYWJvdmUuXHJcbiAgICAgIGNvbnN0IHRleHRJZCA9IFsndGltZWxpbmUnLCB6b25lSWQudG9TdHJpbmcoKSwgJ2dsb2JhbFJlcGxhY2UnLCBrZXldO1xyXG4gICAgICB0ZXh0SW5wdXQudmFsdWUgPSB0aGlzLmJhc2UuZ2V0U3RyaW5nT3B0aW9uKCdyYWlkYm9zcycsIHRleHRJZCwgJycpO1xyXG4gICAgICBjb25zdCBzZXRGdW5jID0gKCkgPT4gdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsIHRleHRJbnB1dC52YWx1ZSk7XHJcbiAgICAgIHRleHRJbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgIHRleHRJbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0ZXh0SW5wdXQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBkdXBsaWNhdGVzIHRoZSByYWlkYm9zcyBmdW5jdGlvbiBvZiB0aGUgc2FtZSBuYW1lLlxyXG4gIHZhbHVlT3JGdW5jdGlvbihcclxuICAgIGY6IFJhaWRib3NzVHJpZ2dlckZpZWxkLFxyXG4gICAgZGF0YTogUmFpZGJvc3NEYXRhLFxyXG4gICAgbWF0Y2hlczogTWF0Y2hlcyxcclxuICAgIG91dHB1dDogT3V0cHV0LFxyXG4gICk6IFJhaWRib3NzVHJpZ2dlck91dHB1dCB7XHJcbiAgICBjb25zdCByZXN1bHQgPSAodHlwZW9mIGYgPT09ICdmdW5jdGlvbicpID8gZihkYXRhLCBtYXRjaGVzLCBvdXRwdXQpIDogZjtcclxuICAgIGlmIChyZXN1bHQgIT09IE9iamVjdChyZXN1bHQpKVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnIHx8IHJlc3VsdCA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmIChyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSlcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWVPckZ1bmN0aW9uKHJlc3VsdFt0aGlzLmFsZXJ0c0xhbmddLCBkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgaWYgKHJlc3VsdFt0aGlzLnRpbWVsaW5lTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddLCBkYXRhLCBtYXRjaGVzLCBvdXRwdXQpO1xyXG4gICAgLy8gRm9yIHBhcnRpYWxseSBsb2NhbGl6ZWQgcmVzdWx0cyB3aGVyZSB0aGlzIGxvY2FsaXphdGlvbiBkb2Vzbid0XHJcbiAgICAvLyBleGlzdCwgcHJlZmVyIEVuZ2xpc2ggb3ZlciBub3RoaW5nLlxyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVPckZ1bmN0aW9uKHJlc3VsdFsnZW4nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NUcmlnZ2VyKHRyaWc6IENvbmZpZ0xvb3NlVHJpZ2dlcik6IENvbmZpZ0xvb3NlVHJpZ2dlciB7XHJcbiAgICAvLyBUT0RPOiB3aXRoIHNvbWUgaGFja2luZXNzIChlLmcuIHJlZ2V4ZXM/KSB3ZSBjb3VsZCBmaWd1cmUgb3V0IHdoaWNoXHJcbiAgICAvLyBvdXRwdXQgc3RyaW5nIGNhbWUgZnJvbSB3aGljaCBhbGVydCB0eXBlIChhbGFybSwgYWxlcnQsIGluZm8sIHR0cykuXHJcbiAgICAvLyBTZWUgYG1ha2VPdXRwdXRgIGNvbW1lbnRzIGZvciB3aHkgdGhpcyBuZWVkcyBhIHR5cGUgYXNzZXJ0aW9uIHRvIGJlIGFuIE91dHB1dC5cclxuICAgIGNvbnN0IGZha2VPdXRwdXRQcm94eSA9IG5ldyBEb05vdGhpbmdGdW5jUHJveHkoKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHtcclxuICAgICAgdHJpZy5vdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRyaWcub3V0cHV0U3RyaW5ncywgb3V0cHV0U3RyaW5ncyk7XHJcbiAgICB9KSBhcyBPdXRwdXQ7XHJcblxyXG4gICAgY29uc3QgYmFzZUZha2VEYXRhOiBSYWlkYm9zc0RhdGEgPSB7XHJcbiAgICAgIG1lOiAnJyxcclxuICAgICAgam9iOiAnTk9ORScsXHJcbiAgICAgIHJvbGU6ICdub25lJyxcclxuICAgICAgcGFydHk6IG5ldyBQYXJ0eVRyYWNrZXIoKSxcclxuICAgICAgbGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICAgIGN1cnJlbnRIUDogMTAwMCxcclxuICAgICAgb3B0aW9uczogdGhpcy5iYXNlLmNvbmZpZ09wdGlvbnMsXHJcbiAgICAgIFNob3J0TmFtZTogKHg/OiBzdHJpbmcpID0+IHggPz8gJz8/PycsXHJcbiAgICAgIFN0b3BDb21iYXQ6ICgpID0+IHsvKiBub29wICovfSxcclxuICAgICAgUGFyc2VMb2NhbGVGbG9hdDogcGFyc2VGbG9hdCxcclxuICAgICAgQ2FuU3R1bjogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhblNpbGVuY2U6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TbGVlcDogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhbkNsZWFuc2U6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5GZWludDogKCkgPT4gZmFsc2UsXHJcbiAgICAgIENhbkFkZGxlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgcGFyc2VyTGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICAgIGRpc3BsYXlMYW5nOiB0aGlzLmJhc2UubGFuZyxcclxuICAgIH07XHJcblxyXG4gICAgdHlwZSBQYXJ0aWFsRmFrZURhdGFFbnRyeSA9IHsgbWU6IHN0cmluZzsgam9iOiBKb2I7IHJvbGU6IFJvbGUgfTtcclxuICAgIGNvbnN0IHBhcnRpYWxGYWtlRGF0YUVudHJpZXM6IFBhcnRpYWxGYWtlRGF0YUVudHJ5W10gPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1RpbmkgUG91dGluaScsXHJcbiAgICAgICAgam9iOiAnR05CJyxcclxuICAgICAgICByb2xlOiAndGFuaycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1BvdGF0byBDaGlwcHknLFxyXG4gICAgICAgIGpvYjogJ1dITScsXHJcbiAgICAgICAgcm9sZTogJ2hlYWxlcicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ1RhdGVyIFRvdCcsXHJcbiAgICAgICAgam9iOiAnQkxNJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG1lOiAnSGFzaCBCcm93bicsXHJcbiAgICAgICAgam9iOiAnRFJHJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIG1lOiAnQWxvbyBHb2JpJyxcclxuICAgICAgICBqb2I6ICdCTFUnLFxyXG4gICAgICAgIHJvbGU6ICdkcHMnLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICAgIGNvbnN0IGZha2VEYXRhRW50cmllczogUmFpZGJvc3NEYXRhW10gPSBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgeCwgYmFzZUZha2VEYXRhKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZmlyc3REYXRhID0gZmFrZURhdGFFbnRyaWVzWzBdO1xyXG4gICAgaWYgKCFmaXJzdERhdGEpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBrRmFrZU1hdGNoZXMgPSB7XHJcbiAgICAgIC8vIFRPRE86IHJlYWxseSBzaG91bGQgY29udmVydCBhbGwgdHJpZ2dlcnMgdG8gdXNlIHJlZ2V4ZXMuanMuXHJcbiAgICAgIC8vIE1vb29vb3N0IHRyaWdnZXJzIHVzZSBtYXRjaGVzWzFdIHRvIGJlIGEgbmFtZS5cclxuICAgICAgMTogZmlyc3REYXRhLm1lLFxyXG5cclxuICAgICAgc291cmNlSWQ6ICc0MTIzNDU2NycsXHJcbiAgICAgIHNvdXJjZTogJ0VuZW15JyxcclxuICAgICAgaWQ6ICcxMjM0JyxcclxuICAgICAgYWJpbGl0eTogJ0FiaWxpdHknLFxyXG4gICAgICB0YXJnZXRJZDogJzEyMzQ1NjcnLFxyXG4gICAgICB0YXJnZXQ6IGZpcnN0RGF0YS5tZSxcclxuICAgICAgZmxhZ3M6ICcnLFxyXG4gICAgICB4OiAnMTAwJyxcclxuICAgICAgeTogJzEwMCcsXHJcbiAgICAgIHo6ICcwJyxcclxuICAgICAgaGVhZGluZzogJzAnLFxyXG4gICAgICBucGNJZDogJycsXHJcbiAgICAgIGVmZmVjdDogJ0VmZmVjdCcsXHJcbiAgICAgIGR1cmF0aW9uOiAnMzAnLFxyXG4gICAgICBjb2RlOiAnMDAnLFxyXG4gICAgICBsaW5lOiAnJyxcclxuICAgICAgbmFtZTogJ05hbWUnLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQ6IHsgW2tleSBpbiBrZXlvZiBMb29zZVRyaWdnZXJdOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0IG91dHB1dEtleXMgPSBbJ2FsYXJtVGV4dCcsICdhbGVydFRleHQnLCAnaW5mb1RleHQnLCAndHRzJywgJ3NvdW5kJ10gYXMgY29uc3Q7XHJcbiAgICB0eXBlIE91dHB1dEtleSA9IHR5cGVvZiBvdXRwdXRLZXlzW251bWJlcl07XHJcblxyXG4gICAgLy8gVHJ5IHRvIGRldGVybWluZSBzb21lIHNhbXBsZSBvdXRwdXQ/XHJcbiAgICAvLyBUaGlzIGNvdWxkIGdldCBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgaWYgd2Ugd2FudGVkIGl0IHRvLlxyXG4gICAgY29uc3QgZXZhbFRyaWdnZXIgPSAodHJpZzogTG9vc2VUcmlnZ2VyLCBrZXk6IE91dHB1dEtleSwgZGF0YTogUmFpZGJvc3NEYXRhKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy52YWx1ZU9yRnVuY3Rpb24odHJpZ1trZXldLCBkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHQpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIC8vIFN1cGVyIGhhY2s6XHJcbiAgICAgICAgY29uc3QgcmVzdWx0U3RyID0gcmVzdWx0LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdFN0ci5pbmNsdWRlcygndW5kZWZpbmVkJykgfHwgcmVzdWx0U3RyLmluY2x1ZGVzKCdOYU4nKSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgb3V0cHV0W2tleV0gPSByZXN1bHRTdHI7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBUaGlzIGlzIGFsbCB0b3RhbGx5IGJvZ3VzLiAgTWFueSB0cmlnZ2VycyBhc3N1bWUgZmllbGRzIG9uIGRhdGFcclxuICAgICAgICAvLyBhcmUgcHJvcGVybHkgZGVmaW5lZCB3aGVuIHRoZXNlIGNhbGxzIGhhcHBlbiwgc28gd2lsbCB0aHJvdyBlcnJvcnMuXHJcbiAgICAgICAgLy8gU28ganVzdCBzaWxlbnRseSBpZ25vcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEhhbmRsZSAncmVzcG9uc2UnIGZpcnN0LlxyXG4gICAgaWYgKHRyaWcucmVzcG9uc2UpIHtcclxuICAgICAgY29uc3QgciA9IHRyaWcucmVzcG9uc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBmYWtlRGF0YUVudHJpZXMpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgLy8gQ2FuJ3QgdXNlIFZhbHVlT3JGdW5jdGlvbiBoZXJlIGFzIHIgcmV0dXJucyBhIG5vbi1sb2NhbGl6YWJsZSBvYmplY3QuXHJcbiAgICAgICAgICAvLyBGSVhNRTogdGhpcyBoYWNraWx5IHJlcGxpY2F0ZXMgc29tZSByYWlkYm9zcyBsb2dpYyB0b28uXHJcbiAgICAgICAgICBsZXQgcmVzcG9uc2U6IHR5cGVvZiB0cmlnLnJlc3BvbnNlIHwgdW5kZWZpbmVkID0gcjtcclxuICAgICAgICAgIHdoaWxlICh0eXBlb2YgcmVzcG9uc2UgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogY2hlY2sgaWYgdGhpcyBoYXMgYnVpbHRJblJlc3BvbnNlU3RyIGZpcnN0LlxyXG4gICAgICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlKGRhdGEsIGtGYWtlTWF0Y2hlcywgZmFrZU91dHB1dFByb3h5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghcmVzcG9uc2UpXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgIGlmICghdHJpZy5vdXRwdXRTdHJpbmdzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIG91dHB1dEtleXMpXHJcbiAgICAgICAgICAgICAgZXZhbFRyaWdnZXIocmVzcG9uc2UsIGtleSwgZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPbmx5IGV2YWx1YXRlIGZpZWxkcyBpZiB0aGVyZSBhcmUgbm90IG91dHB1dFN0cmluZ3MuXHJcbiAgICAvLyBvdXRwdXRTdHJpbmdzIHdpbGwgaW5kaWNhdGUgbW9yZSBjbGVhcmx5IHdoYXQgdGhlIHRyaWdnZXIgc2F5cy5cclxuICAgIGlmICghdHJpZy5vdXRwdXRTdHJpbmdzKSB7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIG91dHB1dEtleXMpIHtcclxuICAgICAgICBpZiAoIShrZXkgaW4gdHJpZykpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgICBpZiAoZXZhbFRyaWdnZXIodHJpZywga2V5LCBkYXRhKSlcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdHJpZy5jb25maWdPdXRwdXQgPSBvdXRwdXQ7XHJcblxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMuYmFzZS5sYW5nO1xyXG5cclxuICAgIGNvbnN0IGxhbmdTcGVjaWZpY1JlZ2V4ZXMgPSBbXHJcbiAgICAgICduZXRSZWdleERlJyxcclxuICAgICAgJ25ldFJlZ2V4RnInLFxyXG4gICAgICAnbmV0UmVnZXhKYScsXHJcbiAgICAgICduZXRSZWdleENuJyxcclxuICAgICAgJ25ldFJlZ2V4S28nLFxyXG4gICAgICAncmVnZXhEZScsXHJcbiAgICAgICdyZWdleEZyJyxcclxuICAgICAgJ3JlZ2V4SmEnLFxyXG4gICAgICAncmVnZXhDbicsXHJcbiAgICAgICdyZWdleEtvJyxcclxuICAgIF0gYXMgY29uc3Q7XHJcbiAgICBjb25zdCBnZXRSZWdleCA9IChiYXNlRmllbGQ6ICdyZWdleCcgfCAnbmV0UmVnZXgnKSA9PiB7XHJcbiAgICAgIGNvbnN0IHNob3J0TGFuZ3VhZ2UgPSBsYW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbGFuZy5zbGljZSgxKTtcclxuICAgICAgY29uc3QgY29uY2F0U3RyID0gbGFuZ1NwZWNpZmljUmVnZXhlcy5maW5kKCh4KSA9PiB4ID09PSBgJHtiYXNlRmllbGR9JHtzaG9ydExhbmd1YWdlfWApO1xyXG4gICAgICBpZiAoIWNvbmNhdFN0cilcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGxhbmdTcGVjaWZpY1JlZ2V4ID0gdHJpZ1tjb25jYXRTdHJdID8/IHRyaWdbYmFzZUZpZWxkXTtcclxuICAgICAgaWYgKCFsYW5nU3BlY2lmaWNSZWdleClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGJhc2VSZWdleCA9IFJlZ2V4ZXMucGFyc2UobGFuZ1NwZWNpZmljUmVnZXgpO1xyXG4gICAgICBpZiAoIWJhc2VSZWdleClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIHJldHVybiBSZWdleGVzLnBhcnNlKGJhc2VSZWdleCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0cmlnLmlzVGltZWxpbmVUcmlnZ2VyKSB7XHJcbiAgICAgIHRyaWcudGltZWxpbmVSZWdleCA9IGdldFJlZ2V4KCdyZWdleCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJpZy50cmlnZ2VyUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgICAgdHJpZy50cmlnZ2VyTmV0UmVnZXggPSBnZXRSZWdleCgnbmV0UmVnZXgnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJpZztcclxuICB9XHJcblxyXG4gIHByb2Nlc3NSYWlkYm9zc0ZpbGVzKFxyXG4gICAgZmlsZXM6IFJhaWRib3NzRmlsZURhdGEsXHJcbiAgICB1c2VyT3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXA8Q29uZmlnTG9vc2VUcmlnZ2VyU2V0PiB7XHJcbiAgICAvLyBgZmlsZXNgIGlzIG1hcCBvZiBmaWxlbmFtZSA9PiB0cmlnZ2VyU2V0IChmb3IgdHJpZ2dlciBmaWxlcylcclxuICAgIC8vIGBtYXBgIGlzIGEgc29ydGVkIG1hcCBvZiBzaG9ydGVuZWQgem9uZSBrZXkgPT4geyB2YXJpb3VzIGZpZWxkcywgdHJpZ2dlclNldCB9XHJcbiAgICBjb25zdCB0cmlnZ2VyRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBDb25maWdMb29zZVRyaWdnZXJTZXQgfSA9IHt9O1xyXG4gICAgY29uc3QgdGltZWxpbmVGaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwgdHJpZ2dlclNldE9yU3RyaW5nXSBvZiBPYmplY3QuZW50cmllcyhmaWxlcykpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VyU2V0T3JTdHJpbmcgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgIHRpbWVsaW5lRmlsZXNbZmlsZW5hbWVdID0gdHJpZ2dlclNldE9yU3RyaW5nO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdHJpZ2dlckZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtYXAgPSB0aGlzLmJhc2UucHJvY2Vzc0ZpbGVzPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4odHJpZ2dlckZpbGVzLCB1c2VyT3B0aW9ucy5UcmlnZ2Vycyk7XHJcbiAgICBsZXQgdHJpZ2dlcklkeCA9IDA7XHJcblxyXG4gICAgLy8gV2hpbGUgd2Fsa2luZyB0aHJvdWdoIHRyaWdnZXJzLCByZWNvcmQgYW55IHByZXZpb3VzIHRyaWdnZXJzIHdpdGggdGhlIHNhbWVcclxuICAgIC8vIGlkIHNvIHRoYXQgdGhlIHVpIGNhbiBkaXNhYmxlIG92ZXJyaWRpbmcgaW5mb3JtYXRpb24uXHJcbiAgICBjb25zdCBwcmV2aW91c1RyaWdnZXJXaXRoSWQ6IHsgW2lkOiBzdHJpbmddOiBDb25maWdMb29zZVRyaWdnZXIgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBPYmplY3QudmFsdWVzKG1hcCkpIHtcclxuICAgICAgLy8gVE9ETzogbWF5YmUgZWFjaCB0cmlnZ2VyIHNldCBuZWVkcyBhIHpvbmUgbmFtZSwgYW5kIHdlIHNob3VsZFxyXG4gICAgICAvLyB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBmaWxlbmFtZT8/P1xyXG4gICAgICBjb25zdCByYXdUcmlnZ2VyczogeyB0cmlnZ2VyOiBMb29zZVRyaWdnZXJbXTsgdGltZWxpbmU6IExvb3NlVHJpZ2dlcltdIH0gPSB7XHJcbiAgICAgICAgdHJpZ2dlcjogW10sXHJcbiAgICAgICAgdGltZWxpbmU6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCB0cmlnZ2VyU2V0ID0gaXRlbS50cmlnZ2VyU2V0O1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50cmlnZ2VycylcclxuICAgICAgICByYXdUcmlnZ2Vycy50cmlnZ2VyLnB1c2goLi4udHJpZ2dlclNldC50cmlnZ2Vycyk7XHJcbiAgICAgIGlmICh0cmlnZ2VyU2V0LnRpbWVsaW5lVHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudGltZWxpbmUucHVzaCguLi50cmlnZ2VyU2V0LnRpbWVsaW5lVHJpZ2dlcnMpO1xyXG5cclxuICAgICAgaWYgKCF0cmlnZ2VyU2V0LmlzVXNlclRyaWdnZXJTZXQgJiYgdHJpZ2dlclNldC5maWxlbmFtZSlcclxuICAgICAgICBmbGF0dGVuVGltZWxpbmUodHJpZ2dlclNldCwgdHJpZ2dlclNldC5maWxlbmFtZSwgdGltZWxpbmVGaWxlcyk7XHJcblxyXG4gICAgICBpdGVtLnRyaWdnZXJzID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdHJpZ2dlckFycl0gb2YgT2JqZWN0LmVudHJpZXMocmF3VHJpZ2dlcnMpKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBiYXNlVHJpZyBvZiB0cmlnZ2VyQXJyKSB7XHJcbiAgICAgICAgICBjb25zdCB0cmlnOiBDb25maWdMb29zZVRyaWdnZXIgPSBiYXNlVHJpZztcclxuICAgICAgICAgIHRyaWdnZXJJZHgrKztcclxuICAgICAgICAgIGlmICghdHJpZy5pZCkge1xyXG4gICAgICAgICAgICAvLyBHaXZlIHRyaWdnZXJzIHdpdGggbm8gaWQgc29tZSBcInVuaXF1ZVwiIHN0cmluZyBzbyB0aGF0IHRoZXkgY2FuXHJcbiAgICAgICAgICAgIC8vIHN0aWxsIGJlIGFkZGVkIHRvIHRoZSBzZXQgYW5kIHNob3cgdXAgaW4gdGhlIHVpLlxyXG4gICAgICAgICAgICB0cmlnLmlkID0gYCEhTm9JZFRyaWdnZXIke3RyaWdnZXJJZHh9YDtcclxuICAgICAgICAgICAgdHJpZy5pc01pc3NpbmdJZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gVHJhY2sgaWYgdGhpcyB0cmlnZ2VyIG92ZXJyaWRlcyBhbnkgcHJldmlvdXMgdHJpZ2dlci5cclxuICAgICAgICAgIGNvbnN0IHByZXZpb3VzID0gcHJldmlvdXNUcmlnZ2VyV2l0aElkW3RyaWcuaWRdO1xyXG4gICAgICAgICAgaWYgKHByZXZpb3VzKVxyXG4gICAgICAgICAgICBwcmV2aW91cy5vdmVycmlkZGVuQnlGaWxlID0gdHJpZ2dlclNldC5maWxlbmFtZTtcclxuICAgICAgICAgIHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXSA9IHRyaWc7XHJcblxyXG4gICAgICAgICAgdHJpZy5pc1RpbWVsaW5lVHJpZ2dlciA9IGtleSA9PT0gJ3RpbWVsaW5lJztcclxuICAgICAgICAgIC8vIEFsc28sIGlmIGEgdXNlciBoYXMgdHdvIG9mIHRoZSBzYW1lIGlkIGluIHRoZSBzYW1lIHRyaWdnZXJTZXQgKD8hKVxyXG4gICAgICAgICAgLy8gdGhlbiBvbmx5IHRoZSBzZWNvbmQgdHJpZ2dlciB3aWxsIHNob3cgdXAuXHJcbiAgICAgICAgICBpdGVtLnRyaWdnZXJzW3RyaWcuaWRdID0gdGhpcy5wcm9jZXNzVHJpZ2dlcih0cmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBidWlsZFRyaWdnZXJPcHRpb25zKHRyaWc6IExvb3NlVHJpZ2dlciwgbGFiZWxEaXY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIGFzIGFsbCB0cmlnZ2VycyBzaG91bGQgYmUgcHJvY2Vzc2VkIHdpdGggYSB1bmlxdWUgaWQuXHJcbiAgICBjb25zdCB0cmlnSWQgPSB0cmlnLmlkO1xyXG4gICAgaWYgKCF0cmlnSWQpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25LZXkgPSBrT3B0aW9uS2V5cy5vdXRwdXQ7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW9wdGlvbnMnKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVMYWJlbCA9IChpbnB1dDogSFRNTE9wdGlvbkVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCkgPT4ge1xyXG4gICAgICBpZiAoaW5wdXQudmFsdWUgPT09ICdoaWRkZW4nIHx8IGlucHV0LnZhbHVlID09PSAnZGlzYWJsZWQnKVxyXG4gICAgICAgIGxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCdkaXNhYmxlZCcpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGlucHV0KTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RWYWx1ZSA9IHRoaXMuYmFzZS5nZXRPcHRpb24oXHJcbiAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleV0sXHJcbiAgICAgICdkZWZhdWx0JyxcclxuICAgICk7XHJcblxyXG4gICAgZm9yIChjb25zdCBba2V5LCBvcHRdIG9mIE9iamVjdC5lbnRyaWVzKHRyaWdnZXJTb3VuZE9wdGlvbnMpKSB7XHJcbiAgICAgIC8vIEhpZGUgZGVidWcgb25seSBvcHRpb25zIHVubGVzcyB0aGV5IGFyZSBzZWxlY3RlZC5cclxuICAgICAgLy8gT3RoZXJ3aXNlLCBpdCB3aWxsIGxvb2sgd2VpcmQgdG8gcGljayBzb21ldGhpbmcgbGlrZSAnRGlzYWJsZWQnLFxyXG4gICAgICAvLyBidXQgdGhlbiBub3Qgc2hvdyBpdCB3aGVuIGRldmVsb3BlciBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxyXG4gICAgICBpZiAoIXRoaXMuYmFzZS5kZXZlbG9wZXJPcHRpb25zICYmIG9wdC5kZWJ1Z09ubHkgJiYga2V5ICE9PSBzZWxlY3RWYWx1ZSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xyXG4gICAgICBlbGVtLmlubmVySFRNTCA9IHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKTtcclxuICAgICAgZWxlbS52YWx1ZSA9IGtleTtcclxuICAgICAgZWxlbS5zZWxlY3RlZCA9IGtleSA9PT0gc2VsZWN0VmFsdWU7XHJcbiAgICAgIGlucHV0LmFwcGVuZENoaWxkKGVsZW0pO1xyXG5cclxuICAgICAgdXBkYXRlTGFiZWwoaW5wdXQpO1xyXG5cclxuICAgICAgaW5wdXQub25jaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgICAgdXBkYXRlTGFiZWwoaW5wdXQpO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGlucHV0LnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnZGVmYXVsdCcpKVxyXG4gICAgICAgICAgdmFsdWUgPSAnZGVmYXVsdCc7XHJcbiAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IGZsYXR0ZW5UaW1lbGluZSA9IChcclxuICBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCxcclxuICBmaWxlbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbikgPT4ge1xyXG4gIC8vIENvbnZlcnQgc2V0LnRpbWVsaW5lRmlsZSB0byBzZXQudGltZWxpbmUuXHJcbiAgaWYgKCFzZXQudGltZWxpbmVGaWxlKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IGxhc3RJbmRleCA9IE1hdGgubWF4KGZpbGVuYW1lLmxhc3RJbmRleE9mKCcvJyksIGZpbGVuYW1lLmxhc3RJbmRleE9mKCdcXFxcJykpO1xyXG4gIC8vIElmIGxhc3RJbmRleCA9PT0gLTEsIHRydW5jYXRlIG5hbWUgdG8gdGhlIGVtcHR5IHN0cmluZy5cclxuICAvLyBpZiBsYXN0SW5kZXggPiAtMSwgdHJ1bmNhdGUgbmFtZSBhZnRlciB0aGUgZmluYWwgc2xhc2guXHJcbiAgY29uc3QgZGlyID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsIGxhc3RJbmRleCArIDEpO1xyXG5cclxuICBjb25zdCB0aW1lbGluZUZpbGUgPSBgJHtkaXJ9JHtzZXQudGltZWxpbmVGaWxlfWA7XHJcbiAgZGVsZXRlIHNldC50aW1lbGluZUZpbGU7XHJcblxyXG4gIGlmICghKHRpbWVsaW5lRmlsZSBpbiBmaWxlcykpIHtcclxuICAgIGNvbnNvbGUubG9nKGBFUlJPUjogJyR7ZmlsZW5hbWV9JyBzcGVjaWZpZXMgbm9uLWV4aXN0ZW50IHRpbWVsaW5lIGZpbGUgJyR7dGltZWxpbmVGaWxlfScuYCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLyBzZXQudGltZWxpbmUgaXMgcHJvY2Vzc2VkIHJlY3Vyc2l2ZWx5LlxyXG4gIHNldC50aW1lbGluZSA9IFtzZXQudGltZWxpbmUsIGZpbGVzW3RpbWVsaW5lRmlsZV1dO1xyXG59O1xyXG5cclxuLy8gUmFpZGJvc3MgbmVlZHMgdG8gZG8gc29tZSBleHRyYSBwcm9jZXNzaW5nIG9mIHVzZXIgZmlsZXMuXHJcbmNvbnN0IHVzZXJGaWxlSGFuZGxlcjogVXNlckZpbGVDYWxsYmFjayA9IChcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgZmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBiYXNlT3B0aW9uczogQmFzZU9wdGlvbnMsXHJcbiAgYmFzZVBhdGg6IHN0cmluZyxcclxuKSA9PiB7XHJcbiAgLy8gVE9ETzogUmV3cml0ZSB1c2VyX2NvbmZpZyB0byBiZSB0ZW1wbGF0ZWQgb24gb3B0aW9uIHR5cGUgc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGtub3dzXHJcbiAgLy8gd2hhdCB0eXBlIG9mIG9wdGlvbnMgaXQgaXMgdXNpbmcuXHJcbiAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgaWYgKCFvcHRpb25zLlRyaWdnZXJzKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBmb3IgKGNvbnN0IGJhc2VUcmlnZ2VyU2V0IG9mIG9wdGlvbnMuVHJpZ2dlcnMpIHtcclxuICAgIGNvbnN0IHNldDogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0ID0gYmFzZVRyaWdnZXJTZXQ7XHJcblxyXG4gICAgLy8gQW5ub3RhdGUgdHJpZ2dlcnMgd2l0aCB3aGVyZSB0aGV5IGNhbWUgZnJvbS4gIE5vdGUsIG9wdGlvbnMgaXMgcGFzc2VkIGluIHJlcGVhdGVkbHlcclxuICAgIC8vIGFzIG11bHRpcGxlIHNldHMgb2YgdXNlciBmaWxlcyBhZGQgdHJpZ2dlcnMsIHNvIG9ubHkgcHJvY2VzcyBlYWNoIGZpbGUgb25jZS5cclxuICAgIGlmIChzZXQuaXNVc2VyVHJpZ2dlclNldClcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgLy8gYGZpbGVuYW1lYCBoZXJlIGlzIGp1c3QgY29zbWV0aWMgZm9yIGJldHRlciBkZWJ1ZyBwcmludGluZyB0byBtYWtlIGl0IG1vcmUgY2xlYXJcclxuICAgIC8vIHdoZXJlIGEgdHJpZ2dlciBvciBhbiBvdmVycmlkZSBpcyBjb21pbmcgZnJvbS5cclxuICAgIHNldC5maWxlbmFtZSA9IGAke2Jhc2VQYXRofSR7bmFtZX1gO1xyXG4gICAgc2V0LmlzVXNlclRyaWdnZXJTZXQgPSB0cnVlO1xyXG5cclxuICAgIGZsYXR0ZW5UaW1lbGluZShzZXQsIG5hbWUsIGZpbGVzKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIC8vIHJhaWRib3NzIHdpbGwgbG9vayB1cCB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWcgdG8gZmluZCB0aGVzZSB2YWx1ZXMuXHJcbiAgY29uc3Qgb3B0aW9uTmFtZSA9ICdQZXJUcmlnZ2VyQXV0b0NvbmZpZyc7XHJcblxyXG4gIGNvbnN0IHBlclRyaWdnZXJBdXRvQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdHJpZ2dlcnMgPSBzYXZlZENvbmZpZ1sndHJpZ2dlcnMnXTtcclxuICBpZiAoIXRyaWdnZXJzIHx8IHR5cGVvZiB0cmlnZ2VycyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0cmlnZ2VycykpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGNvbnN0IG91dHB1dE9ianM6IHsgW2tleTogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfSA9IHt9O1xyXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhrVHJpZ2dlck9wdGlvbnMpO1xyXG4gIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcclxuICAgIGNvbnN0IG9iaiA9IG91dHB1dE9ianNba2V5XSA9IHt9O1xyXG4gICAgc2V0T3B0aW9uc0Zyb21PdXRwdXRWYWx1ZShvYmosIGtleSk7XHJcbiAgfVxyXG5cclxuICBmb3IgKGNvbnN0IFtpZCwgZW50cnldIG9mIE9iamVjdC5lbnRyaWVzKHRyaWdnZXJzKSkge1xyXG4gICAgaWYgKHR5cGVvZiBlbnRyeSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShlbnRyeSkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBhdXRvQ29uZmlnOiBUcmlnZ2VyQXV0b0NvbmZpZyA9IHt9O1xyXG5cclxuICAgIGNvbnN0IG91dHB1dCA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dF0/LnRvU3RyaW5nKCk7XHJcbiAgICBpZiAob3V0cHV0KVxyXG4gICAgICBPYmplY3QuYXNzaWduKGF1dG9Db25maWcsIG91dHB1dE9ianNbb3V0cHV0XSk7XHJcblxyXG4gICAgY29uc3QgZHVyYXRpb24gPSB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQoZW50cnlba09wdGlvbktleXMuZHVyYXRpb25dKTtcclxuICAgIGlmIChkdXJhdGlvbilcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5kdXJhdGlvbl0gPSBkdXJhdGlvbjtcclxuXHJcbiAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmJlZm9yZVNlY29uZHNdKTtcclxuICAgIGlmIChiZWZvcmVTZWNvbmRzKVxyXG4gICAgICBhdXRvQ29uZmlnW2tPcHRpb25LZXlzLmJlZm9yZVNlY29uZHNdID0gYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gZW50cnlba09wdGlvbktleXMub3V0cHV0U3RyaW5nc107XHJcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHRoZSBTYXZlZENvbmZpZ0VudHJ5IGlzIGFuIGFuIG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMsXHJcbiAgICAvLyB3aGljaCBpcyBhIHN1YnNldCBvZiB0aGUgT3V0cHV0U3RyaW5ncyB0eXBlLlxyXG4gICAgaWYgKFxyXG4gICAgICAoKGVudHJ5PzogU2F2ZWRDb25maWdFbnRyeSk6IGVudHJ5IGlzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgT2JqZWN0LnZhbHVlcyhlbnRyeSkpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9KShvdXRwdXRTdHJpbmdzKVxyXG4gICAgKVxyXG4gICAgICBhdXRvQ29uZmlnW2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdID0gb3V0cHV0U3RyaW5ncztcclxuXHJcbiAgICBpZiAob3V0cHV0IHx8IGR1cmF0aW9uIHx8IG91dHB1dFN0cmluZ3MpXHJcbiAgICAgIHBlclRyaWdnZXJBdXRvQ29uZmlnW2lkXSA9IGF1dG9Db25maWc7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyA9IChvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgY29uc3Qgb3B0aW9uTmFtZSA9ICdQZXJab25lVGltZWxpbmVDb25maWcnO1xyXG4gIC8vIFNhdmVkQ29uZmlnIHVzZXMgdGhpcyBrZXkgc3RydWN0dXJlOlxyXG4gIC8vICogJ3RpbWVsaW5lJywgem9uZUlkIChhcyBzdHJpbmcpLCAnZW5hYmxlJywgdGV4dCwgYm9vbGVhblxyXG4gIC8vICogJ3RpbWVsaW5lJywgem9uZUlkIChhcyBzdHJpbmcpLCAnZ2xvYmFsUmVwbGFjZScsIHRleHQsIHN0cmluZ1xyXG4gIC8vIC4uLmFuZCB0aGlzIGZ1bmN0aW9uIHRyYW5zZm9ybXMgaXQgaW50byBhIGBQZXJab25lVGltZWxpbmVDb25maWdgLlxyXG5cclxuICBjb25zdCBwZXJab25lVGltZWxpbmVDb25maWcgPSBvcHRpb25zW29wdGlvbk5hbWVdID8/PSB7fTtcclxuICBpZiAodHlwZW9mIHNhdmVkQ29uZmlnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCB0aW1lbGluZSA9IHNhdmVkQ29uZmlnWyd0aW1lbGluZSddO1xyXG4gIGlmICghdGltZWxpbmUgfHwgdHlwZW9mIHRpbWVsaW5lICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHRpbWVsaW5lKSlcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBbem9uZUtleSwgem9uZUVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0aW1lbGluZSkpIHtcclxuICAgIGNvbnN0IHpvbmVJZCA9IHBhcnNlSW50KHpvbmVLZXkpO1xyXG4gICAgaWYgKCF6b25lSWQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgdGltZWxpbmVDb25maWcgPSBwZXJab25lVGltZWxpbmVDb25maWdbem9uZUlkXSA/Pz0ge307XHJcblxyXG4gICAgaWYgKCF6b25lRW50cnkgfHwgdHlwZW9mIHpvbmVFbnRyeSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh6b25lRW50cnkpKVxyXG4gICAgICBjb250aW51ZTtcclxuXHJcbiAgICBjb25zdCBlbmFibGVFbnRyeSA9IHpvbmVFbnRyeVsnZW5hYmxlJ107XHJcbiAgICBjb25zdCByZXBsYWNlRW50cnkgPSB6b25lRW50cnlbJ2dsb2JhbFJlcGxhY2UnXTtcclxuXHJcbiAgICBpZiAoZW5hYmxlRW50cnkgJiYgdHlwZW9mIGVuYWJsZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShlbmFibGVFbnRyeSkpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nICYmICF2YWx1ZSlcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5JZ25vcmUgPz89IFtdKS5wdXNoKGtleSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVwbGFjZUVudHJ5ICYmIHR5cGVvZiByZXBsYWNlRW50cnkgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgKHRpbWVsaW5lQ29uZmlnLlJlbmFtZSA/Pz0ge30pW2tleV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHRlbXBsYXRlT3B0aW9uczogT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVSTogKGJhc2UsIGNvbnRhaW5lcikgPT4ge1xyXG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBSYWlkYm9zc0NvbmZpZ3VyYXRvcihiYXNlKTtcclxuICAgIGNvbnN0IHVzZXJPcHRpb25zID0geyAuLi5yYWlkYm9zc09wdGlvbnMgfTtcclxuICAgIFVzZXJDb25maWcubG9hZFVzZXJGaWxlcygncmFpZGJvc3MnLCB1c2VyT3B0aW9ucywgKCkgPT4ge1xyXG4gICAgICBidWlsZGVyLmJ1aWxkVUkoY29udGFpbmVyLCByYWlkYm9zc0ZpbGVEYXRhLCB1c2VyT3B0aW9ucyk7XHJcbiAgICB9KTtcclxuICB9LFxyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM6IChiYXNlT3B0aW9ucywgc2F2ZWRDb25maWcpID0+IHtcclxuICAgIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gICAgLy8gd2hhdCB0eXBlIG9mIG9wdGlvbnMgaXQgaXMgdXNpbmcuICBXaXRob3V0IHRoaXMsIHBlclRyaWdnZXJBdXRvQ29uZmlnIGlzIHVua25vd24uXHJcbiAgICBjb25zdCBvcHRpb25zID0gYmFzZU9wdGlvbnMgYXMgUmFpZGJvc3NPcHRpb25zO1xyXG5cclxuICAgIHByb2Nlc3NQZXJUcmlnZ2VyQXV0b0NvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgICBwcm9jZXNzUGVyWm9uZVRpbWVsaW5lQ29uZmlnKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9LFxyXG4gIG9wdGlvbnM6IFtcclxuICAgIHtcclxuICAgICAgaWQ6ICdDb3ZlcmFnZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1N1cHBvcnRlZCBjb250ZW50IChsYXRlc3QgdmVyc2lvbiknLFxyXG4gICAgICAgIGRlOiAnVW50ZXJzdMO8dHp0ZSBJbmhhbHRlIChha3R1ZWxsc3RlIFZlcnNpb24pJyxcclxuICAgICAgICBmcjogJ0NvbnRlbnUgc3VwcG9ydMOpIChkZXJuacOocmUgdmVyc2lvbiknLFxyXG4gICAgICAgIGphOiAn5a++5b+c44Kz44Oz44OG44Oz44OE5LiA6KanICjmnIDmlrDjg5Djg7zjgrjjg6fjg7MpJyxcclxuICAgICAgICBjbjogJ+aUr+aMgeWJr+acrOS4gOiniCAo5ZCr5pyq5Y+R5biD5pu05pawKScsXHJcbiAgICAgICAga286ICfsp4Dsm5DtlZjripQg7Luo7YWQ7LigICjrprTrpqzspojrsoTsoITrs7Tri6Qg7LWc7IugKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdodG1sJyxcclxuICAgICAgaHRtbDoge1xyXG4gICAgICAgIC8vIFRPRE86IGl0J2QgYmUgbmljZSBpZiBPdmVybGF5UGx1Z2luIGNvdWxkIG9wZW4gbGlua3Mgb24gdGhlIHN5c3RlbSBvdXRzaWRlIG9mIEFDVC5cclxuICAgICAgICBlbjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWVuJyksXHJcbiAgICAgICAgZGU6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1kZScpLFxyXG4gICAgICAgIGZyOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZnInKSxcclxuICAgICAgICBqYTogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWphJyksXHJcbiAgICAgICAgY246IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1jbicpLFxyXG4gICAgICAgIGtvOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9a28nKSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWVuJyksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0RlYnVnJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRW5hYmxlIGRlYnVnIG1vZGUnLFxyXG4gICAgICAgIGRlOiAnQWt0aXZpZXJlIERlYnVnbW9kdXMnLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsZSBtb2RlIGRlYnVnJyxcclxuICAgICAgICBqYTogJ+ODh+ODkOODg+OCsOODouODvOODieOCkuacieWKueOBq+OBmeOCiycsXHJcbiAgICAgICAgY246ICflkK/nlKjosIPor5XmqKHlvI8nLFxyXG4gICAgICAgIGtvOiAn65SU67KE6re4IOuqqOuTnCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWZhdWx0QWxlcnRPdXRwdXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEZWZhdWx0IGFsZXJ0IG91dHB1dCcsXHJcbiAgICAgICAgZGU6ICdTdGFuZGFyZCBBbGVydCBBdXNnYWJlJyxcclxuICAgICAgICBmcjogJ0FsZXJ0ZSBwYXIgZMOpZmF1dCcsXHJcbiAgICAgICAgamE6ICforablkYrmg4XloLHlh7rlipvml6LlrprlgKQnLFxyXG4gICAgICAgIGNuOiAn6buY6K6k6K2m5oql5o+Q56S65L+h5oGv6L6T5Ye65pa55byPJyxcclxuICAgICAgICBrbzogJ+q4sOuzuCDslYzrnowg7Lac66ClIOuwqeyLnScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0IGFuZCBTb3VuZCc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIFRleHQgYW5kIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUUyBPbmx5JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dCBPbmx5JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGlzYWJsZWQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBOdXIgVFRTJzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgTnVyIFRleHQnOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCBEZWFrdGl2aWVydCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbic6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUUyBzZXVsZW1lbnQnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSBUZXh0ZSBzZXVsZW1lbnQnOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCBEw6lzYWN0aXbDqSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIOODhuOCreOCueODiOOBqOmfs+WjsCc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIOODhuOCreOCueODiOOBqFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+OBruOBvyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIOODhuOCreOCueODiOOBruOBvyc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOeEoeWKuSc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIOaWh+Wtl+aYvuekuuS4juaPkOekuumfsyc6ICd0ZXh0QW5kU291bmQnLFxyXG4gICAgICAgICAgJ/Cfhpnwn5KsIOaWh+Wtl+aYvuekuuS4jlRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIOWPquS9v+eUqFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIOWPquS9v+eUqOaWh+Wtl+aYvuekuic6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOemgeeUqCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDthY3siqTtirjsmYAgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgVFRT66eMJzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/Cfhpkg7YWN7Iqk7Yq466eMJzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwg67mE7Zmc7ISx7ZmUJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgc2V0dGVyRnVuYzogc2V0T3B0aW9uc0Zyb21PdXRwdXRWYWx1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydHMgbGFuZ3VhZ2UnLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgU3ByYWNoZScsXHJcbiAgICAgICAgZnI6ICdMYW5ndWUgZGVzIGFsZXJ0ZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44Gu6KiA6KqeJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaPkOekuuaWh+Wtl+eahOivreiogCcsXHJcbiAgICAgICAga286ICfslYzrnowg7Ja47Ja0JyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ1VzZSBEaXNwbGF5IExhbmd1YWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0VuZ2xpc2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzZSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdHZXJtYW4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJlbmNoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuZXNlIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0tvcmVhbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGRcXCdhZmZpY2hhZ2UnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnQW5nbGFpcyAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICdDaGlub2lzIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ0FsbGVtYW5kIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW7Dp2FpcyAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBvbmFpcyAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdDb3LDqWVuIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfooajnpLroqIDoqp7ml6LlrprlgKQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6KqeIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+S4reWbveiqniAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICfjg4njgqTjg4Toqp4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn44OV44Op44Oz44K56KqeIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeacrOiqniAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn5Plm73oqp4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+S9v+eUqOaYvuekuuivreiogCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hor60gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5rGJ6K+tIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+W+t+ivrSAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfms5Xor60gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel6K+tIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfqeivrSAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGtvOiB7XHJcbiAgICAgICAgICAn7KO8IOyCrOyaqSDslrjslrQg7IKs7JqpJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+yYgeyWtCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfspJHqta3slrQgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn64+F7J287Ja0IChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+2UhOuekeyKpOyWtCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfsnbzrs7jslrQgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn7ZWc6rWt7Ja0IChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgICAgZGVidWc6IHRydWUsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ0FsZXJ0c0xhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVMYW5ndWFnZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVsaW5lIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ1RpbWVsaW5lIFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlIGxhIHRpbWVsaW5lJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODs+OBruiogOiqnicsXHJcbiAgICAgICAgY246ICfml7bpl7TovbTmlofmnKznmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7YOA7J6E65287J24IOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRkZYSVYgUGx1Z2luIExhbmd1YWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0VuZ2xpc2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzZSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdHZXJtYW4gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJlbmNoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuZXNlIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0tvcmVhbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnQmVudXR6ZSBGRlhJViBQbHVnaW4gU3ByYWNoZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNjaCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICdDaGluZXNpc2NoIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ0RldXRzY2ggKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbnrDtnNpc2NoIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcGFuaXNjaCAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW5pc2NoIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICdVdGlsaXNlciBsYSBsYW5ndWUgZHUgUGx1Z2luIEZGWElWJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAnRkZYSVYgUGx1Z2lu44Gu6KiA6Kqe6Kit5a6aJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmnIDnu4jlubvmg7NYSVbop6PmnpDmj5Lku7borr7nva7nmoTor63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbiDslrjslrQg7IKs7JqpJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+yYgeyWtCAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfspJHqta3slrQgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn64+F7J287Ja0IChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+2UhOuekeyKpOyWtCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfsnbzrs7jslrQgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn7ZWc6rWt7Ja0IChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgICAgZGVidWc6IHRydWUsXHJcbiAgICAgIHNldHRlckZ1bmM6IChvcHRpb25zLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIG9wdGlvbnNbJ1RpbWVsaW5lTGFuZ3VhZ2UnXSA9IHZhbHVlO1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTa2luJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZGU6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBmcjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGphOiAnUmFpZGJvc3Pjga7jgrnjgq3jg7MnLFxyXG4gICAgICAgIGNuOiAnUmFpZGJvc3Pnmq7ogqQnLFxyXG4gICAgICAgIGtvOiAnUmFpZGJvc3Mg7Iqk7YKoJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ3NlbGVjdCcsXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBlbjoge1xyXG4gICAgICAgICAgJ0RlZmF1bHQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGU6IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnRMOpZmF1dCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ+WIneacn+ioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjbjoge1xyXG4gICAgICAgICAgJ+m7mOiupCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+q4sOuzuCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ2RlZmF1bHQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdUaW1lbGluZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ1RpbWVsaW5lIGFrdGl2aWVydCcsXHJcbiAgICAgICAgZnI6ICdUaW1lbGluZSBhY3RpdsOpZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7PjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5pe26Ze06L20JyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydHNFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGVuYWJsZWQnLFxyXG4gICAgICAgIGRlOiAnQWxlcnRzIGFrdGl2aWVydCcsXHJcbiAgICAgICAgZnI6ICdBbGVydGVzIGFjdGl2w6llcycsXHJcbiAgICAgICAgamE6ICforablkYrmg4XloLHjgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So5o+Q56S65paH5pys5pi+56S6JyxcclxuICAgICAgICBrbzogJ+yVjOuejCDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdTaG93VGltZXJCYXJzQXRTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZXIgYmFyIHNob3cgd2luZG93IChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdUaW1lci1CYXIgQW56ZWlnZWRhdWVyIChpbiBTZWt1bmRlbiknLFxyXG4gICAgICAgIGZyOiAnRmVuw6p0cmUgZFxcJ2FmZmljaGFnZSBkZSBsYSBiYXJyZSBkZSB0ZW1wcyAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBq+aZgumWk+ihqOekuiAo56eSKScsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmmL7npLrml7bplb8gKOenkiknLFxyXG4gICAgICAgIGtvOiAn7YOA7J6E65287J247J2EIO2RnOyLnO2VoCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdLZWVwIGV4cGlyZWQgdGltZXIgYmFyIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdCZWhhbHRlIGFiZ2VsYXVmZW5lIFRpbWVyLUJhciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0dhcmRlciBsYSBiYXJyZSBkZSB0ZW1wcyBleHBpcsOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+e1guS6huOBl+OBn+OCv+OCpOODoOODkOODvOOBjOa2iOOBiOOCi+OBvuOBp+OBruW+heOBoeaZgumWkyAo56eSKScsXHJcbiAgICAgICAgY246ICflt7LlpLHmlYjnmoTorqHml7bmnaHnmoTmt6Hlh7rml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn66eM66OM65CcIO2DgOyehOudvOyduOydtCDsgqzrnbzsp4DquLDquYzsp4DsnZgg7Iuc6rCEICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdCYXJFeHBpcmVzU29vblNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lIHRvIHJlY29sb3IgdGltZXIgYXMgZXhwaXJpbmcgc29vbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnWmVpdCBiaXMgZWluIGJhbGQgYXVzbGF1ZmVuZGVyIFRpbWVyIHVtZ2Vmw6RyYnQgd2lyZCAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ1JlY29sb3Jpc2F0aW9uIGRlIGxhIGJhcnJlIGRlIHRlbXBzIGF2YW50IGV4cGlyYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgYzntYLkuobliY3jgavlho3luqboibLku5jjgZHjga7mrovjgormmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5YCS6K6h5pe25bCP5LqO6K+l5YC85pe25b2T5YmN6K6h5pe25p2h5Y+Y6ImyICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydmCDsg4nsg4HsnYQg67CU6r+AIOq4sOykgCDsi5zqsIQgKOy0iCDsnbTtlZgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdNYXhOdW1iZXJPZlRpbWVyQmFycycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01heCBudW1iZXIgb2YgdGltZXIgYmFycycsXHJcbiAgICAgICAgZGU6ICdNYXggQW56YWhsIGFuIFRpbWVyLUJhcnMnLFxyXG4gICAgICAgIGZyOiAnTm9tYnJlIG1heCBkZSBiYXJyZXMgZGUgdGVtcHMnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844Gu5pyA5aSn5pWwJyxcclxuICAgICAgICBjbjogJ+iuoeaXtuadoeacgOWkp+aVsOmHjycsXHJcbiAgICAgICAga286ICftkZzsi5ztlaAg7YOA7J6E65287J247J2YIOy1nOuMgCDqsJzsiJgnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaW50ZWdlcicsXHJcbiAgICAgIGRlZmF1bHQ6IDYsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlBbGFybVRleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxhcm0gdGV4dCBkaXNwbGF5IGR1cmF0aW9uIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdBbGFybS1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdhbGFybWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICforabloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+qyveqzoCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlBbGVydFRleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnQgdGV4dCBkaXNwbGF5IGR1cmF0aW9uIChzZWNvbmRzKScsXHJcbiAgICAgICAgZGU6ICdBbGVydC1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdhbGVydGUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICforablkYrjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K2m5ZGK57qn5Yir5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yjvOydmCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0Rpc3BsYXlJbmZvVGV4dEZvclNlY29uZHMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdJbmZvIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnSW5mby1UZXh0IEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0R1csOpZSBkXFwnYWZmaWNoYWdlIGR1IHRleHRlIGRcXCdpbmZvcm1hdGlvbiAoc2Vjb25kZXMpJyxcclxuICAgICAgICBqYTogJ+aDheWgseODhuOCreOCueODiOihqOekuuaZgumWk+OBrumVt+OBlSAo56eSKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvmloflrZfmmL7npLrmjIHnu63ml7bpl7QgKOenkiknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IO2FjeyKpO2KuOulvCDtkZzsi5ztlaAg7Iuc6rCEICjstIgpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdBbGFybSBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2FsYXJtZSAoMC0xKScsXHJcbiAgICAgICAgamE6ICforabloLHpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+qyveqzoCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRTb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdBbGVydCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2FsZXJ0ZSAoMC0xKScsXHJcbiAgICAgICAgamE6ICforablkYrpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5ZGK57qn5Yir5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+yjvOydmCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1NvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnSW5mbyBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZGUgbFxcJ2luZm8gKDAtMSknLFxyXG4gICAgICAgIGphOiAn5oOF5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+S/oeaBr+e6p+WIq+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfslYjrgrQg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0xvbmdTb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0xvbmcgc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0xhbmdlciBUb24gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGR1IHNvbiBsb25nICgwLTEpJyxcclxuICAgICAgICBqYTogJ+mVt+OBhOmfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfplb/mj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn6ri0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdQdWxsU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdQdWxsIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdQdWxsIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gZGUgcHVsbCAoMC0xKScsXHJcbiAgICAgICAgamE6ICfjgr/jgrLlj5bjgovlirnmnpzpn7Pjga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5byA5oCq5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+2SgOungSDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUnVtYmxlRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBnYW1lcGFkIHJ1bWJsZSBmb3IgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnR2FtZXBhZC1WaWJyYXRpb24gZsO8ciBUcmlnZ2VyIGFrdGl2aWVyZW4nLFxyXG4gICAgICAgIGZyOiAnQWN0aXZlciBsYSB2aWJyYXRpb24gZGUgbGEgbWFuZXR0ZSBkZSBqZXUgcG91ciBsZXMgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGNuOiAn6Kem5Y+R5Zmo5rS75Yqo5pe25L2/5omL5p+E5oyv5YqoJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucycsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvop6blj5HlmajmjK/liqjmjIHnu63ml7bpl7QgKOavq+enkiknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiA0MDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVXZWFrJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHdlYWsgcnVtYmxlIGZvciBpbmZvIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZhaWJsZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnaW5mb3JtYXRpb25zICgwLTEpJyxcclxuICAgICAgICBjbjogJ+S/oeaBr+e6p+WIq+inpuWPkeWZqOW8seeUteacuuaMr+WKqOW8uuW6piAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1J1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBpbmZvIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIHN0YXJrZW4gVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvop6blj5HlmajlvLrnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRHVyYXRpb24gKG1pbGxpc2Vjb25kcykgb2YgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+inpuWPkeWZqOaMr+WKqOaMgee7reaXtumXtCAo5q+r56eSKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDUwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRSdW1ibGVXZWFrJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHdlYWsgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGFsZXJ0IHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZmFpYmxlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+inpuWPkeWZqOW8seeUteacuuaMr+WKqOW8uuW6piAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlU3Ryb25nJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHN0cm9uZyBydW1ibGUgZm9yIGFsZXJ0IHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIHN0YXJrZW4gVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+inpuWPkeWZqOW8uueUteacuuaMr+WKqOW8uuW6piAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcycsXHJcbiAgICAgICAgY246ICforabmiqXnuqfliKvop6blj5HlmajmjK/liqjmjIHnu63ml7bpl7QgKOavq+enkiknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiA3NTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtUnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBhbGFybSB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZhaWJsZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforabmiqXnuqfliKvop6blj5HlmajlvLHnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjc1LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGFybSB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforabmiqXnuqfliKvop6blj5HlmajlvLrnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjc1LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdjYWN0Ym90V29ybWhvbGVTdHJhdCcsXHJcbiAgICAgIC8vIFRPRE86IG1heWJlIG5lZWQgc29tZSB3YXkgdG8gZ3JvdXAgdGhlc2Uga2luZHMgb2ZcclxuICAgICAgLy8gb3B0aW9ucyBpZiB3ZSBlbmQgdXAgaGF2aW5nIGEgbG90P1xyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGV4IFVsdGltYXRlOiBlbmFibGUgY2FjdGJvdCBXb3JtaG9sZSBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdBbGV4IFVsdGltYXRlOiBha3RpdmllcmUgY2FjdGJvdCBXb3JtaG9sZSBTdHJhdGVnaWUnLFxyXG4gICAgICAgIGZyOiAnQWxleCBmYXRhbCA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFdvcm1ob2xlJyxcclxuICAgICAgICBqYTogJ+e1tuOCouODrOOCreOCteODs+ODgOODvOiojua7heaIpu+8mmNhY3Rib3TjgIzmrKHlhYPmlq3ntbbjga7jg57jg7zjg4HjgI3jgq7jg5/jg4Pjgq8nLFxyXG4gICAgICAgIGNuOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiY77yaY2FjdGJvdOeBteaziei+heWKqeWKn+iDvScsXHJcbiAgICAgICAga286ICfsoIgg7JWM66CJOiBjYWN0Ym90IOybnO2ZgCDqs7XrnrXrsKnsi50g7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ2NhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ2U4czogZW5hYmxlIGNhY3Rib3QgVXB0aW1lIEtub2NrYmFjayBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdlOHM6IGFrdGl2aWVyZSBjYWN0Ym90IFVwdGltZSBLbm9ja2JhY2sgU3RyYXRlZ2llJyxcclxuICAgICAgICBmcjogJ2U4cyA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFVwdGltZSBLbm9ja2JhY2snLFxyXG4gICAgICAgIGphOiAn44Ko44OH44Oz6Zu25byP5YWx6bO057eo77yU5bGk77yaY2FjdGJvdOOAjOODmOODtOODs+ODquODvOOCueODiOODqeOCpOOCryAo44OO44OD44Kv44OQ44OD44KvKeOAjeOCruODn+ODg+OCrycsXHJcbiAgICAgICAgY246ICdFOFM6IOWQr+eUqGNhY3Rib3TnmoTlh7vpgIDmj5DnpLrlip/og70nLFxyXG4gICAgICAgIGtvOiAn6rO166qFIOyYgeybhSA07Li1OiBjYWN0Ym90IOygle2Zle2VnCDtg4DsnbTrsI0g64SJ67Cx67Cp7KeAIOqzteuetSDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgXSxcclxufTtcclxuXHJcblVzZXJDb25maWcucmVnaXN0ZXJPcHRpb25zKCdyYWlkYm9zcycsIHRlbXBsYXRlT3B0aW9ucywgdXNlckZpbGVIYW5kbGVyKTtcclxuIiwiaW1wb3J0IHsgYWRkT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaSc7XHJcbmltcG9ydCB7IGFkZFJlbW90ZVBsYXllclNlbGVjdFVJIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3BsYXllcl9vdmVycmlkZSc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUG9wdXBUZXh0LCBQb3B1cFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgZGVmYXVsdE9wdGlvbnMgZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVDb250cm9sbGVyLCBUaW1lbGluZUxvYWRlciwgVGltZWxpbmVVSSB9IGZyb20gJy4vdGltZWxpbmUnO1xyXG5cclxuaW1wb3J0ICcuLi8uLi9yZXNvdXJjZXMvdGltZXJiYXInO1xyXG5pbXBvcnQgJy4vcmFpZGJvc3NfY29uZmlnJztcclxuXHJcbmltcG9ydCAnLi4vLi4vcmVzb3VyY2VzL2RlZmF1bHRzLmNzcyc7XHJcbmltcG9ydCAnLi9yYWlkYm9zcy5jc3MnO1xyXG5cclxuVXNlckNvbmZpZy5nZXRVc2VyQ29uZmlnTG9jYXRpb24oJ3JhaWRib3NzJywgZGVmYXVsdE9wdGlvbnMsICgpID0+IHtcclxuICBjb25zdCBvcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucyB9O1xyXG5cclxuICAvLyBRdWVyeSBwYXJhbXMgb3ZlcnJpZGUgZGVmYXVsdCBhbmQgdXNlciBvcHRpb25zLlxyXG4gIC8vIFRoaXMgYWxsb3dzIGZvciBodG1sIGZpbGVzIHRoYXQgc2F5IFwidGltZWxpbmUgb25seVwiIG9yIFwiYWxlcnRzIG9ubHlcIi5cclxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xyXG5cclxuICBvcHRpb25zLklzUmVtb3RlUmFpZGJvc3MgPSBmYWxzZTtcclxuICBjb25zdCBvdmVybGF5V3NQYXJhbSA9IHBhcmFtcy5nZXQoJ09WRVJMQVlfV1MnKTtcclxuICBpZiAob3ZlcmxheVdzUGFyYW0pIHtcclxuICAgIGNvbnN0IHdzUGFyYW0gPSBkZWNvZGVVUklDb21wb25lbnQob3ZlcmxheVdzUGFyYW0pO1xyXG4gICAgLy8gVE9ETzogaXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXM/PyBUaGlzIHNlZW1zIGJldHRlciB0aGFuIGxvb2tpbmcgZm9yIG5ncm9rLlxyXG4gICAgY29uc3QgaXNMb2NhbCA9IHdzUGFyYW0uaW5jbHVkZXMoJ2xvY2FsaG9zdCcpIHx8IHdzUGFyYW0uaW5jbHVkZXMoJzEyNy4wLjAuMScpO1xyXG4gICAgb3B0aW9ucy5Jc1JlbW90ZVJhaWRib3NzID0gIWlzTG9jYWw7XHJcbiAgfVxyXG5cclxuICBjb25zdCBwbGF5ZXJOYW1lUGFyYW0gPSBwYXJhbXMuZ2V0KCdwbGF5ZXInKTtcclxuICBpZiAocGxheWVyTmFtZVBhcmFtKSB7XHJcbiAgICBvcHRpb25zLlBsYXllck5hbWVPdmVycmlkZSA9IHBsYXllck5hbWVQYXJhbTtcclxuICAgIGNvbnNvbGUubG9nKCdFbmFibGluZyBwbGF5ZXIgbmFtZSBvdmVycmlkZSB2aWEgcXVlcnkgcGFyYW1ldGVyLCBuYW1lOiAnICsgcGxheWVyTmFtZVBhcmFtKTtcclxuICB9XHJcblxyXG4gIGlmIChvcHRpb25zLklzUmVtb3RlUmFpZGJvc3MgJiYgcGxheWVyTmFtZVBhcmFtID09PSBudWxsKSB7XHJcbiAgICBjb25zdCBsYW5nID0gb3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgfHwgb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkobGFuZyk7XHJcblxyXG4gICAgLy8gUGFnZSB3aWxsIHJlbG9hZCBvbmNlIHBsYXllciBzZWxlY3RlZC5cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGNvbnN0IHR0c1BhcmFtID0gcGFyYW1zLmdldCgnZm9yY2VUVFMnKTtcclxuICBpZiAodHRzUGFyYW0pIHtcclxuICAgIGNvbnN0IGZvcmNlRW5hYmxlID0gISFwYXJzZUludCh0dHNQYXJhbSk7XHJcbiAgICBpZiAoZm9yY2VFbmFibGUpIHtcclxuICAgICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgY29uc29sZS5sb2coJ0ZvcmNlIGVuYWJsaW5nIFRUUyB2aWEgcXVlcnkgcGFyYW1ldGVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBhbGVydHNQYXJhbSA9IHBhcmFtcy5nZXQoJ2FsZXJ0cycpO1xyXG4gIGlmIChhbGVydHNQYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgY29uc3QgcHJldmlvdXMgPSBvcHRpb25zLkFsZXJ0c0VuYWJsZWQ7XHJcbiAgICBvcHRpb25zLkFsZXJ0c0VuYWJsZWQgPSAhIXBhcnNlSW50KGFsZXJ0c1BhcmFtKTtcclxuICAgIGlmICghcHJldmlvdXMgJiYgb3B0aW9ucy5BbGVydHNFbmFibGVkKVxyXG4gICAgICBjb25zb2xlLmxvZygnRW5hYmxpbmcgYWxlcnRzIHZpYSBxdWVyeSBwYXJhbWV0ZXInKTtcclxuICB9XHJcbiAgY29uc3QgdGltZWxpbmVQYXJhbSA9IHBhcmFtcy5nZXQoJ3RpbWVsaW5lJyk7XHJcbiAgaWYgKHRpbWVsaW5lUGFyYW0gIT09IG51bGwpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzID0gb3B0aW9ucy5UaW1lbGluZUVuYWJsZWQ7XHJcbiAgICBvcHRpb25zLlRpbWVsaW5lRW5hYmxlZCA9ICEhcGFyc2VJbnQodGltZWxpbmVQYXJhbSk7XHJcbiAgICBpZiAoIXByZXZpb3VzICYmIG9wdGlvbnMuVGltZWxpbmVFbmFibGVkKVxyXG4gICAgICBjb25zb2xlLmxvZygnRW5hYmxpbmcgdGltZWxpbmUgdmlhIHF1ZXJ5IHBhcmFtZXRlcicpO1xyXG4gIH1cclxuICBjb25zdCBhdWRpb1BhcmFtID0gcGFyYW1zLmdldCgnYXVkaW8nKTtcclxuICBpZiAoYXVkaW9QYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgY29uc3QgcHJldmlvdXMgPSBvcHRpb25zLkF1ZGlvQWxsb3dlZDtcclxuICAgIG9wdGlvbnMuQXVkaW9BbGxvd2VkID0gISFwYXJzZUludChhdWRpb1BhcmFtKTtcclxuICAgIGlmICghcHJldmlvdXMgJiYgb3B0aW9ucy5BdWRpb0FsbG93ZWQpXHJcbiAgICAgIGNvbnNvbGUubG9nKCdFbmFibGluZyBhdWRpbyB2aWEgcXVlcnkgcGFyYW1ldGVyJyk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7XHJcbiAgaWYgKCFjb250YWluZXIpXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIGNvbnRhaW5lciBlbGVtZW50Jyk7XHJcbiAgaWYgKCFvcHRpb25zLkFsZXJ0c0VuYWJsZWQpXHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnaGlkZS1hbGVydHMnKTtcclxuICBpZiAoIW9wdGlvbnMuVGltZWxpbmVFbmFibGVkKVxyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ2hpZGUtdGltZWxpbmUnKTtcclxuXHJcbiAgY29uc3QgdGltZWxpbmVVSSA9IG5ldyBUaW1lbGluZVVJKG9wdGlvbnMpO1xyXG4gIGNvbnN0IHRpbWVsaW5lQ29udHJvbGxlciA9IG5ldyBUaW1lbGluZUNvbnRyb2xsZXIob3B0aW9ucywgdGltZWxpbmVVSSwgcmFpZGJvc3NGaWxlRGF0YSk7XHJcbiAgY29uc3QgdGltZWxpbmVMb2FkZXIgPSBuZXcgVGltZWxpbmVMb2FkZXIodGltZWxpbmVDb250cm9sbGVyKTtcclxuICBjb25zdCBwb3B1cFRleHQgPSBuZXcgUG9wdXBUZXh0KG9wdGlvbnMsIHRpbWVsaW5lTG9hZGVyLCByYWlkYm9zc0ZpbGVEYXRhKTtcclxuXHJcbiAgLy8gQ29ubmVjdCB0aGUgdGltZWxpbmVzIHRvIHRoZSBwb3B1cCB0ZXh0LCBpZiBhbGVydHMgYXJlIGRlc2lyZWQuXHJcbiAgaWYgKG9wdGlvbnMuQWxlcnRzRW5hYmxlZClcclxuICAgIHRpbWVsaW5lQ29udHJvbGxlci5TZXRQb3B1cFRleHRJbnRlcmZhY2UobmV3IFBvcHVwVGV4dEdlbmVyYXRvcihwb3B1cFRleHQpKTtcclxuXHJcbiAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvbkxvZ0V2ZW50JywgKGUpID0+IHtcclxuICAgIHRpbWVsaW5lQ29udHJvbGxlci5PbkxvZ0V2ZW50KGUpO1xyXG4gIH0pO1xyXG59KTtcclxuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4iLCJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gbm8gYmFzZVVSSVxuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGFuZCBsb2FkaW5nIGNodW5rc1xuLy8gdW5kZWZpbmVkID0gY2h1bmsgbm90IGxvYWRlZCwgbnVsbCA9IGNodW5rIHByZWxvYWRlZC9wcmVmZXRjaGVkXG4vLyBbcmVzb2x2ZSwgcmVqZWN0LCBQcm9taXNlXSA9IGNodW5rIGxvYWRpbmcsIDAgPSBjaHVuayBsb2FkZWRcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDMxOTogMFxufTtcblxuLy8gbm8gY2h1bmsgb24gZGVtYW5kIGxvYWRpbmdcblxuLy8gbm8gcHJlZmV0Y2hpbmdcblxuLy8gbm8gcHJlbG9hZGVkXG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3RcblxuX193ZWJwYWNrX3JlcXVpcmVfXy5PLmogPSAoY2h1bmtJZCkgPT4gKGluc3RhbGxlZENodW5rc1tjaHVua0lkXSA9PT0gMCk7XG5cbi8vIGluc3RhbGwgYSBKU09OUCBjYWxsYmFjayBmb3IgY2h1bmsgbG9hZGluZ1xudmFyIHdlYnBhY2tKc29ucENhbGxiYWNrID0gKHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uLCBkYXRhKSA9PiB7XG5cdHZhciBbY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBydW50aW1lXSA9IGRhdGE7XG5cdC8vIGFkZCBcIm1vcmVNb2R1bGVzXCIgdG8gdGhlIG1vZHVsZXMgb2JqZWN0LFxuXHQvLyB0aGVuIGZsYWcgYWxsIFwiY2h1bmtJZHNcIiBhcyBsb2FkZWQgYW5kIGZpcmUgY2FsbGJhY2tcblx0dmFyIG1vZHVsZUlkLCBjaHVua0lkLCBpID0gMDtcblx0aWYoY2h1bmtJZHMuc29tZSgoaWQpID0+IChpbnN0YWxsZWRDaHVua3NbaWRdICE9PSAwKSkpIHtcblx0XHRmb3IobW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcblx0XHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKHJ1bnRpbWUpIHZhciByZXN1bHQgPSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR9XG5cdGlmKHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKSBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbihkYXRhKTtcblx0Zm9yKDtpIDwgY2h1bmtJZHMubGVuZ3RoOyBpKyspIHtcblx0XHRjaHVua0lkID0gY2h1bmtJZHNbaV07XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGluc3RhbGxlZENodW5rcywgY2h1bmtJZCkgJiYgaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF1bMF0oKTtcblx0XHR9XG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzW2ldXSA9IDA7XG5cdH1cblx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18uTyhyZXN1bHQpO1xufVxuXG52YXIgY2h1bmtMb2FkaW5nR2xvYmFsID0gc2VsZltcIndlYnBhY2tDaHVua2NhY3Rib3RcIl0gPSBzZWxmW1wid2VicGFja0NodW5rY2FjdGJvdFwiXSB8fCBbXTtcbmNodW5rTG9hZGluZ0dsb2JhbC5mb3JFYWNoKHdlYnBhY2tKc29ucENhbGxiYWNrLmJpbmQobnVsbCwgMCkpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSB3ZWJwYWNrSnNvbnBDYWxsYmFjay5iaW5kKG51bGwsIGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKSk7IiwiIiwiLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzg5MF0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDQyNjYpKSlcbl9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8oX193ZWJwYWNrX2V4cG9ydHNfXyk7XG4iLCIiXSwibmFtZXMiOlsidGFyZ2V0SXNZb3UiLCJkYXRhIiwibWF0Y2hlcyIsIm1lIiwidGFyZ2V0IiwidGFyZ2V0SXNOb3RZb3UiLCJjYXJlc0Fib3V0QU9FIiwicm9sZSIsIkNhbkFkZGxlIiwiam9iIiwiY2FyZXNBYm91dE1hZ2ljYWwiLCJjYXJlc0Fib3V0UGh5c2ljYWwiLCJDYW5GZWludCIsImxhbmd1YWdlcyIsImxhbmdNYXAiLCJlbiIsImRlIiwiZnIiLCJqYSIsImNuIiwia28iLCJpc0xhbmciLCJsYW5nIiwibGFuZ1N0cnMiLCJpbmNsdWRlcyIsImxhbmdUb0xvY2FsZSIsImxvZ0RlZmluaXRpb25zIiwiR2FtZUxvZyIsInR5cGUiLCJuYW1lIiwibWVzc2FnZVR5cGUiLCJmaWVsZHMiLCJ0aW1lc3RhbXAiLCJjb2RlIiwibGluZSIsInN1YkZpZWxkcyIsImNhbkFub255bWl6ZSIsIkNoYW5nZVpvbmUiLCJpZCIsImxhc3RJbmNsdWRlIiwiQ2hhbmdlZFBsYXllciIsInBsYXllcklkcyIsIkFkZGVkQ29tYmF0YW50IiwibGV2ZWwiLCJvd25lcklkIiwid29ybGRJZCIsIndvcmxkIiwibnBjTmFtZUlkIiwibnBjQmFzZUlkIiwiY3VycmVudEhwIiwiaHAiLCJjdXJyZW50TXAiLCJtcCIsIngiLCJ5IiwieiIsImhlYWRpbmciLCJSZW1vdmVkQ29tYmF0YW50Iiwib3duZXIiLCJQYXJ0eUxpc3QiLCJwYXJ0eUNvdW50IiwiaWQwIiwiaWQxIiwiaWQyIiwiaWQzIiwiaWQ0IiwiaWQ1IiwiaWQ2IiwiaWQ3IiwiaWQ4IiwiaWQ5IiwiaWQxMCIsImlkMTEiLCJpZDEyIiwiaWQxMyIsImlkMTQiLCJpZDE1IiwiaWQxNiIsImlkMTciLCJpZDE4IiwiaWQxOSIsImlkMjAiLCJpZDIxIiwiaWQyMiIsImlkMjMiLCJvcHRpb25hbEZpZWxkcyIsIlBsYXllclN0YXRzIiwic3RyZW5ndGgiLCJkZXh0ZXJpdHkiLCJ2aXRhbGl0eSIsImludGVsbGlnZW5jZSIsIm1pbmQiLCJwaWV0eSIsImF0dGFja1Bvd2VyIiwiZGlyZWN0SGl0IiwiY3JpdGljYWxIaXQiLCJhdHRhY2tNYWdpY1BvdGVuY3kiLCJoZWFsTWFnaWNQb3RlbmN5IiwiZGV0ZXJtaW5hdGlvbiIsInNraWxsU3BlZWQiLCJzcGVsbFNwZWVkIiwidGVuYWNpdHkiLCJsb2NhbENvbnRlbnRJZCIsIlN0YXJ0c1VzaW5nIiwic291cmNlSWQiLCJzb3VyY2UiLCJhYmlsaXR5IiwidGFyZ2V0SWQiLCJjYXN0VGltZSIsIkFiaWxpdHkiLCJmbGFncyIsImRhbWFnZSIsInRhcmdldEN1cnJlbnRIcCIsInRhcmdldE1heEhwIiwidGFyZ2V0Q3VycmVudE1wIiwidGFyZ2V0TWF4TXAiLCJ0YXJnZXRYIiwidGFyZ2V0WSIsInRhcmdldFoiLCJ0YXJnZXRIZWFkaW5nIiwibWF4SHAiLCJtYXhNcCIsInNlcXVlbmNlIiwiZmlyc3RVbmtub3duRmllbGQiLCJOZXR3b3JrQU9FQWJpbGl0eSIsIk5ldHdvcmtDYW5jZWxBYmlsaXR5IiwicmVhc29uIiwiTmV0d29ya0RvVCIsIndoaWNoIiwiZWZmZWN0SWQiLCJXYXNEZWZlYXRlZCIsIkdhaW5zRWZmZWN0IiwiZWZmZWN0IiwiZHVyYXRpb24iLCJjb3VudCIsInNvdXJjZU1heEhwIiwiSGVhZE1hcmtlciIsIk5ldHdvcmtSYWlkTWFya2VyIiwib3BlcmF0aW9uIiwid2F5bWFyayIsIk5ldHdvcmtUYXJnZXRNYXJrZXIiLCJ0YXJnZXROYW1lIiwiTG9zZXNFZmZlY3QiLCJOZXR3b3JrR2F1Z2UiLCJkYXRhMCIsImRhdGExIiwiZGF0YTIiLCJkYXRhMyIsIk5ldHdvcmtXb3JsZCIsImlzVW5rbm93biIsIkFjdG9yQ29udHJvbCIsImluc3RhbmNlIiwiY29tbWFuZCIsIk5hbWVUb2dnbGUiLCJ0b2dnbGUiLCJUZXRoZXIiLCJMaW1pdEJyZWFrIiwidmFsdWVIZXgiLCJiYXJzIiwiTmV0d29ya0VmZmVjdFJlc3VsdCIsInNlcXVlbmNlSWQiLCJTdGF0dXNFZmZlY3QiLCJqb2JMZXZlbERhdGEiLCJOZXR3b3JrVXBkYXRlSFAiLCJNYXAiLCJyZWdpb25OYW1lIiwicGxhY2VOYW1lIiwicGxhY2VOYW1lU3ViIiwiU3lzdGVtTG9nTWVzc2FnZSIsInBhcmFtMCIsInBhcmFtMSIsInBhcmFtMiIsIlBhcnNlckluZm8iLCJnbG9iYWxJbmNsdWRlIiwiUHJvY2Vzc0luZm8iLCJEZWJ1ZyIsIlBhY2tldER1bXAiLCJWZXJzaW9uIiwiRXJyb3IiLCJOb25lIiwiYXNzZXJ0TG9nRGVmaW5pdGlvbnMiLCJjb25zb2xlIiwiYXNzZXJ0IiwiUmVnZXhlcyIsInNlcGFyYXRvciIsIm1hdGNoRGVmYXVsdCIsIm1hZ2ljVHJhbnNsYXRpb25TdHJpbmciLCJtYWdpY1N0cmluZ1JlZ2V4Iiwia2V5c1RoYXRSZXF1aXJlVHJhbnNsYXRpb24iLCJkZWZhdWx0UGFyYW1zIiwiaW5jbHVkZSIsIk9iamVjdCIsImtleXMiLCJwYXJhbXMiLCJwcm9wIiwiaW5kZXgiLCJlbnRyaWVzIiwicGFyYW0iLCJmaWVsZCIsInZhbHVlIiwicGFyc2VIZWxwZXIiLCJmdW5jTmFtZSIsInZhbGlkRmllbGRzIiwicHVzaCIsInZhbGlkYXRlUGFyYW1zIiwiY2FwdHVyZSIsInRydWVJZlVuZGVmaW5lZCIsImZpZWxkS2V5cyIsInNvcnQiLCJhIiwiYiIsInBhcnNlSW50IiwibWF4S2V5U3RyIiwibGVuZ3RoIiwia2V5IiwiZmllbGROYW1lIiwibWF4S2V5IiwidHJhbnNQYXJhbXMiLCJmaWx0ZXIiLCJrIiwibmVlZHNUcmFuc2xhdGlvbnMiLCJOZXRSZWdleGVzIiwiZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCIsInN0ciIsImxhc3RLZXkiLCJrZXlTdHIiLCJtaXNzaW5nRmllbGRzIiwiSlNPTiIsInN0cmluZ2lmeSIsImZpZWxkVmFsdWUiLCJ0b1N0cmluZyIsIm1heWJlQ2FwdHVyZSIsInBhcnNlIiwic2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZCIsImRvZXNOZXRSZWdleE5lZWRUcmFuc2xhdGlvbiIsInJlZ2V4IiwiZXhlYyIsInN0YXJ0c1VzaW5nIiwiYWJpbGl0eUZ1bGwiLCJoZWFkTWFya2VyIiwiYWRkZWRDb21iYXRhbnQiLCJhZGRlZENvbWJhdGFudEZ1bGwiLCJyZW1vdmluZ0NvbWJhdGFudCIsImdhaW5zRWZmZWN0Iiwic3RhdHVzRWZmZWN0RXhwbGljaXQiLCJsb3Nlc0VmZmVjdCIsInRldGhlciIsIndhc0RlZmVhdGVkIiwiZWNobyIsImdhbWVMb2ciLCJkaWFsb2ciLCJtZXNzYWdlIiwiZ2FtZU5hbWVMb2ciLCJzdGF0Q2hhbmdlIiwiY2hhbmdlWm9uZSIsIm5ldHdvcms2ZCIsIm5hbWVUb2dnbGUiLCJtYXAiLCJzeXN0ZW1Mb2dNZXNzYWdlIiwiVW5yZWFjaGFibGVDb2RlIiwiY29uc3RydWN0b3IiLCJudW1iZXJUb091dHB1dFN0cmluZyIsIm4iLCJhb2UiLCJiaWdBb2UiLCJ0YW5rQnVzdGVyIiwibWluaUJ1c3RlciIsInRhbmtCdXN0ZXJPblBsYXllciIsInRhbmtCdXN0ZXJPbllvdSIsInRhbmtCdXN0ZXJzIiwidGFua0NsZWF2ZSIsImF2b2lkVGFua0NsZWF2ZSIsInRhbmtDbGVhdmVPbllvdSIsInNoYXJlZFRhbmtidXN0ZXIiLCJzaGFyZWRUYW5rYnVzdGVyT25Zb3UiLCJzaGFyZWRUYW5rYnVzdGVyT25QbGF5ZXIiLCJ0YW5rU3dhcCIsInNwcmVhZCIsInN0YWNrTWFya2VyIiwiZ2V0VG9nZXRoZXIiLCJzdGFja09uWW91Iiwic3RhY2tPblBsYXllciIsInN0YWNrTWlkZGxlIiwiZG9yaXRvU3RhY2siLCJzcHJlYWRUaGVuU3RhY2siLCJzdGFja1RoZW5TcHJlYWQiLCJkcmF3SW4iLCJrbm9ja2JhY2siLCJrbm9ja2JhY2tPbllvdSIsImtub2NrYmFja09uUGxheWVyIiwibG9va1Rvd2FyZHNCb3NzIiwibG9va0F3YXkiLCJsb29rQXdheUZyb21QbGF5ZXIiLCJsb29rQXdheUZyb21UYXJnZXQiLCJnZXRCZWhpbmQiLCJnb0Zyb250T3JTaWRlcyIsImdvRnJvbnQiLCJnZXRVbmRlciIsImluIiwib3V0Iiwib3V0T2ZNZWxlZSIsImluVGhlbk91dCIsIm91dFRoZW5JbiIsImJhY2tUaGVuRnJvbnQiLCJmcm9udFRoZW5CYWNrIiwiZ29JbnRvTWlkZGxlIiwicmlnaHQiLCJsZWZ0IiwiZ2V0TGVmdEFuZFdlc3QiLCJnZXRSaWdodEFuZEVhc3QiLCJnb0Zyb250QmFjayIsInNpZGVzIiwibWlkZGxlIiwia2lsbEFkZHMiLCJraWxsRXh0cmFBZGQiLCJhd2F5RnJvbUZyb250Iiwic2xlZXBUYXJnZXQiLCJzdHVuVGFyZ2V0IiwiaW50ZXJydXB0VGFyZ2V0IiwicHJleU9uWW91IiwicHJleU9uUGxheWVyIiwiYXdheUZyb21Hcm91cCIsImF3YXlGcm9tUGxheWVyIiwibWV0ZW9yT25Zb3UiLCJzdG9wTW92aW5nIiwic3RvcEV2ZXJ5dGhpbmciLCJtb3ZlQXdheSIsIm1vdmVBcm91bmQiLCJicmVha0NoYWlucyIsIm1vdmVDaGFpbnNUb2dldGhlciIsImVhcnRoc2hha2VyT25Zb3UiLCJ3YWtlVXAiLCJjbG9zZVRldGhlcnNXaXRoUGxheWVyIiwiZmFyVGV0aGVyc1dpdGhQbGF5ZXIiLCJ1bmtub3duIiwibm9ydGgiLCJzb3V0aCIsImVhc3QiLCJ3ZXN0Iiwibm9ydGh3ZXN0Iiwibm9ydGhlYXN0Iiwic291dGh3ZXN0Iiwic291dGhlYXN0IiwiZGlyTiIsImRpclMiLCJkaXJFIiwiZGlyVyIsImRpck5XIiwiZGlyTkUiLCJkaXJTVyIsImRpclNFIiwibnVtMCIsIm51bTEiLCJudW0yIiwibnVtMyIsIm51bTQiLCJudW01IiwibnVtNiIsIm51bTciLCJudW04IiwibnVtOSIsImluaXRlZCIsIndzVXJsIiwid3MiLCJxdWV1ZSIsInJzZXFDb3VudGVyIiwicmVzcG9uc2VQcm9taXNlcyIsInN1YnNjcmliZXJzIiwic2VuZE1lc3NhZ2UiLCJtc2ciLCJjYiIsInNlbmQiLCJ3aW5kb3ciLCJPdmVybGF5UGx1Z2luQXBpIiwiY2FsbEhhbmRsZXIiLCJwcm9jZXNzRXZlbnQiLCJpbml0Iiwic3VicyIsImZvckVhY2giLCJzdWIiLCJlIiwiZXJyb3IiLCJkaXNwYXRjaE92ZXJsYXlFdmVudCIsImFkZE92ZXJsYXlMaXN0ZW5lciIsImV2ZW50IiwiY2FsbCIsImV2ZW50cyIsInJlbW92ZU92ZXJsYXlMaXN0ZW5lciIsImxpc3QiLCJwb3MiLCJpbmRleE9mIiwidW5kZWZpbmVkIiwic3BsaWNlIiwiY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWwiLCJfbXNnIiwicnNlcSIsInAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInBhcnNlZCIsImNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwIiwiY2FsbE92ZXJsYXlIYW5kbGVyIiwiY2FsbEZ1bmMiLCJzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlIiwib3ZlcnJpZGUiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImdldCIsImNvbm5lY3RXcyIsIldlYlNvY2tldCIsImFkZEV2ZW50TGlzdGVuZXIiLCJsb2ciLCJxIiwiQXJyYXkiLCJpc0FycmF5IiwicHJvbWlzZUZ1bmNzIiwic2V0VGltZW91dCIsIndhaXRGb3JBcGkiLCJyZWFkeSIsIl9fT3ZlcmxheUNhbGxiYWNrIiwiaXRlbSIsIm1hdGNoV2l0aENvbG9uc0RlZmF1bHQiLCJmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zIiwiZGVmS2V5IiwiYWJpbGl0eU1lc3NhZ2VUeXBlIiwiYWJpbGl0eUhleENvZGUiLCJwcmVmaXgiLCJoZXhDb2RlIiwic2xpY2UiLCJ0b1VwcGVyQ2FzZSIsImZpZWxkRGVmYXVsdCIsImRlZmF1bHRWYWx1ZSIsImFueU9mIiwibmFtZWRDYXB0dXJlIiwib3B0aW9uYWwiLCJhcmdzIiwiYW55T2ZBcnJheSIsImFycmF5IiwiZWxlbSIsIlJlZ0V4cCIsImpvaW4iLCJyZWdleHBTdHJpbmciLCJrQ2FjdGJvdENhdGVnb3JpZXMiLCJUaW1lc3RhbXAiLCJOZXRUaW1lc3RhbXAiLCJOZXRGaWVsZCIsIkxvZ1R5cGUiLCJBYmlsaXR5Q29kZSIsIk9iamVjdElkIiwiTmFtZSIsIkZsb2F0IiwibW9kaWZpZXJzIiwiZ2xvYmFsIiwibXVsdGlsaW5lIiwicmVwbGFjZSIsIm1hdGNoIiwiZ3JvdXAiLCJwYXJzZUdsb2JhbCIsImYiLCJPdXRwdXRzIiwic2V2ZXJpdHlMaXN0IiwiYnVpbHRJblJlc3BvbnNlU3RyIiwidHJpZ2dlckZ1bmN0aW9ucyIsInRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zIiwidHJpZ2dlck91dHB1dEZ1bmN0aW9ucyIsInNldmVyaXR5TWFwIiwiZ2V0VGV4dCIsInNldiIsImRlZmF1bHRJbmZvVGV4dCIsImRlZmF1bHRBbGVydFRleHQiLCJkZWZhdWx0QWxhcm1UZXh0IiwiZ2V0VGFyZ2V0IiwiZ2V0U291cmNlIiwiY29tYmluZUZ1bmNzIiwidGV4dDEiLCJmdW5jMSIsInRleHQyIiwiZnVuYzIiLCJvYmoiLCJvdXRwdXQiLCJpc1BsYXllcklkIiwic3RhdGljUmVzcG9uc2UiLCJ0ZXh0IiwiX2RhdGEiLCJfbWF0Y2hlcyIsInJlc3BvbnNlT3V0cHV0U3RyaW5ncyIsIlJlc3BvbnNlcyIsInRhcmdldFNldiIsIm90aGVyU2V2Iiwib3V0cHV0U3RyaW5ncyIsIm5vVGFyZ2V0IiwiYnVzdGVyT25Zb3UiLCJidXN0ZXJPblRhcmdldCIsInRhcmdldEZ1bmMiLCJvdGhlckZ1bmMiLCJwbGF5ZXIiLCJTaG9ydE5hbWUiLCJjb21iaW5lZCIsInRhbmtCdXN0ZXJTd2FwIiwiYnVzdGVyU2V2Iiwic3dhcFNldiIsInRhbmtTd2FwRnVuYyIsImJ1c3RlckZ1bmMiLCJjbGVhdmVPbllvdSIsImNsZWF2ZU5vVGFyZ2V0IiwiYXZvaWRDbGVhdmUiLCJzaGFyZWRUYW5rQnVzdGVyIiwic2hhcmVkVGFua2J1c3Rlck9uVGFyZ2V0Iiwic3RhY2tNYXJrZXJPbiIsInN0YWNrT25UYXJnZXQiLCJrbm9ja2JhY2tPbiIsImtub2NrYmFja09uVGFyZ2V0IiwibG9va1Rvd2FyZHMiLCJsb29rQXdheUZyb20iLCJsb29rQXdheUZyb21Tb3VyY2UiLCJnZXRJbiIsImdldE91dCIsImdldEluVGhlbk91dCIsImdldE91dFRoZW5JbiIsImdldEJhY2tUaGVuRnJvbnQiLCJnZXRGcm9udFRoZW5CYWNrIiwiZ29NaWRkbGUiLCJnb1JpZ2h0IiwiZ29MZWZ0IiwiZ29XZXN0IiwiZ29FYXN0IiwiZ29TaWRlcyIsInNsZWVwIiwic3R1bk9ySW50ZXJydXB0SWZQb3NzaWJsZSIsInN0dW4iLCJpbnRlcnJ1cHQiLCJDYW5TaWxlbmNlIiwiQ2FuU3R1biIsInByZXlPbiIsInByZXlPblRhcmdldCIsImF3YXlGcm9tIiwiYXdheUZyb21UYXJnZXQiLCJlYXJ0aHNoYWtlciIsInJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbiIsIl9Db25kaXRpb25zIiwiQ29uZGl0aW9ucyIsIl9Db250ZW50VHlwZSIsIkNvbnRlbnRUeXBlIiwiX05ldFJlZ2V4ZXMiLCJfUmVnZXhlcyIsIl9SZXNwb25zZXMiLCJfT3V0cHV0cyIsIl9VdGlsIiwiVXRpbCIsIl9ab25lSWQiLCJab25lSWQiLCJfWm9uZUluZm8iLCJab25lSW5mbyIsIlVzZXJDb25maWciLCJnZXREZWZhdWx0QmFzZU9wdGlvbnMiLCJQYXJzZXJMYW5ndWFnZSIsIlNob3J0TG9jYWxlIiwiRGlzcGxheUxhbmd1YWdlIiwiVGV4dEFsZXJ0c0VuYWJsZWQiLCJTb3VuZEFsZXJ0c0VuYWJsZWQiLCJTcG9rZW5BbGVydHNFbmFibGVkIiwiR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkIiwiZXZhbFVzZXJGaWxlIiwiY29udGVudCIsIm9wdGlvbnMiLCJPcHRpb25zIiwiZXZhbCIsInJlZ2lzdGVyT3B0aW9ucyIsIm92ZXJsYXlOYW1lIiwib3B0aW9uVGVtcGxhdGUiLCJ1c2VyRmlsZUNhbGxiYWNrIiwib3B0aW9uVGVtcGxhdGVzIiwidXNlckZpbGVDYWxsYmFja3MiLCJzb3J0VXNlckZpbGVzIiwic3BsaXRLZXlNYXAiLCJzcGxpdCIsImtleUEiLCJrZXlCIiwibGlzdEEiLCJsaXN0QiIsIm1heExlbiIsIk1hdGgiLCJtYXgiLCJpZHgiLCJlbnRyeUEiLCJlbnRyeUIiLCJpc0xhc3RBIiwiaXNMYXN0QiIsImZpbGVBIiwiZmlsZUIiLCJmaWxlbmFtZU9ubHlEaWZmIiwibG9jYWxlQ29tcGFyZSIsImRpZmYiLCJmaWx0ZXJVc2VyRmlsZXMiLCJwYXRocyIsIm9yaWdPdmVybGF5TmFtZSIsIm9yaWdFeHRlbnNpb24iLCJleHRlbnNpb24iLCJ0b0xvd2VyQ2FzZSIsIm9yaWdQYXRoIiwicGF0aCIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsImdldFVzZXJDb25maWdMb2NhdGlvbiIsImNhbGxiYWNrIiwiY3VycmVudGx5UmVsb2FkaW5nIiwicmVsb2FkT25jZSIsInJlbG9hZCIsImxvYWRVc2VyRmlsZXMiLCJyZWFkT3B0aW9ucyIsIm92ZXJsYXkiLCJsb2FkVXNlciIsImJhc2VQYXRoIiwiZGV0YWlsIiwidXNlckxvY2F0aW9uIiwibG9jYWxGaWxlcyIsImxvY2FsVXNlckZpbGVzIiwibGFuZ3VhZ2UiLCJwYXJzZXJMYW5ndWFnZSIsIkxhbmd1YWdlIiwic3lzdGVtTG9jYWxlIiwiU3lzdGVtTG9jYWxlIiwic2hvcnRMb2NhbGUiLCJzdWJzdHJpbmciLCJkaXNwbGF5TGFuZyIsImRpc3BsYXlMYW5ndWFnZSIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwiYWRkVW5sb2NrVGV4dCIsInNhdmVkQ29uZmlnIiwicHJvY2Vzc09wdGlvbnMiLCJwcmludFVzZXJGaWxlIiwid2Fybk9uVmFyaWFibGVSZXNldE1hcCIsInJhaWRib3NzIiwidmFyaWFibGVUcmFja2VyIiwic29ydGVkRmlsZXMiLCJqc0ZpbGVzIiwiY3NzRmlsZXMiLCJqc0ZpbGUiLCJTa2luIiwiaGFuZGxlU2tpbiIsImNzc0ZpbGUiLCJ1c2VyQ3NzVGV4dCIsImNyZWF0ZUVsZW1lbnQiLCJjb250ZW50cyIsImlubmVyVGV4dCIsImhlYWQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImFwcGVuZENoaWxkIiwiaHJlZiIsInRoZW4iLCJyZWFkeVN0YXRlIiwic2tpbk5hbWUiLCJzbGFzaElkeCIsImxhc3RJbmRleE9mIiwic3Vic3RyIiwic2tpbkhyZWYiLCJhcHBlbmRDU1NMaW5rIiwiYXBwZW5kSlNMaW5rIiwic3JjIiwidXNlckpTIiwic2V0QXR0cmlidXRlIiwidXNlckNTUyIsInRlbXBsYXRlIiwidGVtcGxhdGVPcHRpb25zIiwib3B0IiwiZGVmYXVsdCIsIm5ld1ZhbHVlIiwic2V0dGVyRnVuYyIsImZsb29yIiwicGFyc2VGbG9hdCIsInByb2Nlc3NFeHRyYU9wdGlvbnMiLCJ1bmxvY2tUZXh0IiwidGV4dEVsZW0iLCJnZXRFbGVtZW50QnlJZCIsInN0eWxlIiwiZGlzcGxheSIsImJvZHkiLCJhcHBlbmQiLCJpbm5lckhUTUwiLCJkb2NDbGFzc0xpc3QiLCJpc0xvY2tlZCIsInJlbW92ZSIsIm5hbWVUb0pvYkVudW0iLCJOT05FIiwiR0xBIiwiUEdMIiwiTVJEIiwiTE5DIiwiQVJDIiwiQ05KIiwiVEhNIiwiQ1JQIiwiQlNNIiwiQVJNIiwiR1NNIiwiTFRXIiwiV1ZSIiwiQUxDIiwiQ1VMIiwiTUlOIiwiQlROIiwiRlNIIiwiUExEIiwiTU5LIiwiV0FSIiwiRFJHIiwiQlJEIiwiV0hNIiwiQkxNIiwiQUNOIiwiU01OIiwiU0NIIiwiUk9HIiwiTklOIiwiTUNIIiwiRFJLIiwiQVNUIiwiU0FNIiwiUkRNIiwiQkxVIiwiR05CIiwiRE5DIiwiUlBSIiwiU0dFIiwiYWxsSm9icyIsImFsbFJvbGVzIiwidGFua0pvYnMiLCJoZWFsZXJKb2JzIiwibWVsZWVEcHNKb2JzIiwicmFuZ2VkRHBzSm9icyIsImNhc3RlckRwc0pvYnMiLCJkcHNKb2JzIiwiY3JhZnRpbmdKb2JzIiwiZ2F0aGVyaW5nSm9icyIsInN0dW5Kb2JzIiwic2lsZW5jZUpvYnMiLCJzbGVlcEpvYnMiLCJmZWludEpvYnMiLCJhZGRsZUpvYnMiLCJjbGVhbnNlSm9icyIsImpvYlRvUm9sZU1hcCIsImFkZFRvTWFwIiwiam9icyIsInNldCIsIndhdGNoQ29tYmF0YW50TWFwIiwic2hvdWxkQ2FuY2VsV2F0Y2giLCJlbnRyeSIsImNhbmNlbCIsIm1heER1cmF0aW9uIiwiRGF0ZSIsIm5vdyIsInN0YXJ0Iiwid2F0Y2hDb21iYXRhbnQiLCJmdW5jIiwicmVzIiwicmVqIiwiZGVsYXkiLCJpZHMiLCJuYW1lcyIsInByb3BzIiwiY2hlY2tGdW5jIiwicmVzcG9uc2UiLCJqb2JFbnVtVG9Kb2IiLCJmaW5kIiwiam9iVG9Kb2JFbnVtIiwiam9iVG9Sb2xlIiwiZ2V0QWxsUm9sZXMiLCJpc1RhbmtKb2IiLCJpc0hlYWxlckpvYiIsImlzTWVsZWVEcHNKb2IiLCJpc1JhbmdlZERwc0pvYiIsImlzQ2FzdGVyRHBzSm9iIiwiaXNEcHNKb2IiLCJpc0NyYWZ0aW5nSm9iIiwiaXNHYXRoZXJpbmdKb2IiLCJpc0NvbWJhdEpvYiIsImNhblN0dW4iLCJjYW5TaWxlbmNlIiwiY2FuU2xlZXAiLCJjYW5DbGVhbnNlIiwiY2FuRmVpbnQiLCJjYW5BZGRsZSIsImNsZWFyV2F0Y2hDb21iYXRhbnRzIiwid2F0Y2giLCJwb3AiLCJhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciIsInBsYXllck5hbWUiLCJsYXN0UGxheWVyQ2hhbmdlZEV2ZW50IiwibGFzdFBsYXllckpvYiIsIm9uUGxheWVyQ2hhbmdlZCIsInBhcnR5IiwibmV3Sm9iIiwiYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkiLCJpbnN0cnVjdGlvblRleHRCeUxhbmciLCJmb3JjZVRUU0J5TGFuZyIsImJ1dHRvblRleHRCeUxhbmciLCJkZWZhdWx0VGV4dEJ5TGFuZyIsImtTdG9yYWdlS2V5Iiwic2F2ZVBsYXllck5hbWUiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwibG9hZFBsYXllck5hbWUiLCJnZXRJdGVtIiwiY29udGFpbmVyIiwiaW5zdHJ1Y3Rpb25FbGVtIiwibGlzdEVsZW0iLCJ0dHNFbGVtIiwidHRzTGFiZWwiLCJodG1sRm9yIiwiYnV0dG9uRWxlbSIsImZvcmNlVFRTIiwiY2hlY2tlZCIsInJhZGlvSW5kZXgiLCJIVE1MSW5wdXRFbGVtZW50IiwiY3VycmVudFBhcmFtcyIsInBhcmFtTWFwIiwidiIsImRlY29kZVVSSUNvbXBvbmVudCIsImxhc3RTZWxlY3RlZFBsYXllciIsImJ1aWxkTGlzdCIsImZpcnN0Q2hpbGQiLCJsYXN0Q2hpbGQiLCJyZW1vdmVDaGlsZCIsInJhZGlvQ291bnQiLCJhZGRSYWRpbyIsImV4dHJhQ2xhc3MiLCJpbnB1dE5hbWUiLCJpbnB1dEVsZW0iLCJsYWJlbEVsZW0iLCJkZWZhdWx0VGV4dCIsImRlZmF1bHRFbGVtIiwibGFzdCIsInBhcnR5UGxheWVycyIsImluUGFydHkiLCJwYXJ0eU5hbWVzIiwiYWxsaWFuY2VQbGF5ZXJzIiwiYWxsaWFuY2VOYW1lcyIsImVtcHR5Um9sZVRvUGFydHlOYW1lcyIsInRhbmsiLCJoZWFsZXIiLCJkcHMiLCJjcmFmdGVyIiwiZ2F0aGVyZXIiLCJub25lIiwiUGFydHlUcmFja2VyIiwib25QYXJ0eUNoYW5nZWQiLCJyZXNldCIsImRldGFpbHMiLCJhbGxpYW5jZUlkc18iLCJhbGxpYW5jZU5hbWVzXyIsImpvYk5hbWUiLCJpZFRvTmFtZV8iLCJuYW1lVG9Sb2xlXyIsInBhcnR5SWRzXyIsInBhcnR5TmFtZXNfIiwicm9sZVRvUGFydHlOYW1lc18iLCJwYXJ0eUlkcyIsInRhbmtOYW1lcyIsImhlYWxlck5hbWVzIiwiZHBzTmFtZXMiLCJpc1JvbGUiLCJpc1RhbmsiLCJpc0hlYWxlciIsImlzRFBTIiwiaW5BbGxpYW5jZSIsIm90aGVyVGFuayIsIm90aGVySGVhbGVyIiwicGFydHlJbmRleCIsIm5hbWVGcm9tSWQiLCJBdXRvcGxheUhlbHBlciIsIkNoZWNrSWZBbHJlYWR5UnVubmluZyIsImNvbnRleHQiLCJBdWRpb0NvbnRleHQiLCJzdGF0ZSIsIlByb21wdCIsImJ1dHRvbiIsIm9uY2xpY2siLCJyZXN1bWUiLCJvbnN0YXRlY2hhbmdlIiwiQ2hlY2tBbmRQcm9tcHQiLCJUVFNJdGVtIiwidm9pY2UiLCJTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJwbGF5Iiwic3BlZWNoU3ludGhlc2lzIiwic3BlYWsiLCJCcm93c2VyVFRTRW5naW5lIiwiY2FjdGJvdExhbmdUb1NwZWVjaExhbmciLCJvbnZvaWNlc2NoYW5nZWQiLCJzcGVlY2hMYW5nIiwiZ2V0Vm9pY2VzIiwic3BlZWNoVm9pY2UiLCJ0dHNJdGVtIiwidHRzSXRlbXMiLCJpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIiLCJ0cmlnZ2VyIiwiaXNOZXRSZWdleFRyaWdnZXIiLCJpc1JlZ2V4VHJpZ2dlciIsInJhaWRib3NzSW5zdHJ1Y3Rpb25zIiwidHJpZ2dlclVwcGVyQ2FzZSIsIm9uVHJpZ2dlckV4Y2VwdGlvbiIsImZpbGVuYW1lIiwibGluZXMiLCJzdGFjayIsImkiLCJzb3VuZHMiLCJzb3VuZFN0cnMiLCJ0ZXh0cyIsInRleHRNYXAiLCJpbmZvIiwidXBwZXJUZXh0IiwidXBwZXJTb3VuZCIsInVwcGVyU291bmRWb2x1bWUiLCJydW1ibGVEdXJhdGlvbiIsInJ1bWJsZVdlYWsiLCJydW1ibGVTdHJvbmciLCJhbGVydCIsImFsYXJtIiwiT3JkZXJlZFRyaWdnZXJMaXN0IiwiaWRUb0luZGV4Iiwib2xkVHJpZ2dlciIsInRyaWdnZXJzIiwidHJpZ2dlckZpbGUiLCJvbGRGaWxlIiwibmV3RmlsZSIsImFzTGlzdCIsImlzT2JqZWN0IiwiVHJpZ2dlck91dHB1dFByb3h5IiwicGVyVHJpZ2dlckF1dG9Db25maWciLCJjb25maWciLCJPdXRwdXRTdHJpbmdzIiwib3ZlcnJpZGVTdHJpbmdzIiwiUHJveHkiLCJwcm9wZXJ0eSIsIlN0cmluZyIsImdldFJlcGxhY2VtZW50IiwicmVzcG9uc2VTdHJpbmciLCJ1bmtub3duVmFsdWUiLCJfZnVsbE1hdGNoIiwibWFrZU91dHB1dCIsImRlZmF1bHRPdXRwdXQiLCJQb3B1cFRleHQiLCJ0aW1lbGluZUxvYWRlciIsInJhaWRib3NzRGF0YUZpbGVzIiwiUHJvY2Vzc0RhdGFGaWxlcyIsImluZm9UZXh0IiwiYWxlcnRUZXh0IiwiYWxhcm1UZXh0IiwicGFyc2VyTGFuZyIsIkFsZXJ0c0xhbmd1YWdlIiwiSXNSZW1vdGVSYWlkYm9zcyIsInR0c0VuZ2luZSIsInR0c1NheSIsIlRyYW5zZm9ybVR0cyIsImdldERhdGFPYmplY3QiLCJBdWRpb0FsbG93ZWQiLCJSZXNldCIsIkFkZERlYnVnSW5zdHJ1Y3Rpb25zIiwiSG9va092ZXJsYXlzIiwicGFydHlUcmFja2VyIiwiT25QbGF5ZXJDaGFuZ2UiLCJQbGF5ZXJOYW1lT3ZlcnJpZGUiLCJPbkNoYW5nZVpvbmUiLCJPbkluQ29tYmF0Q2hhbmdlIiwiaW5HYW1lQ29tYmF0IiwiT25Mb2ciLCJPbk5ldExvZyIsIk9uSm9iQ2hhbmdlIiwiY3VycmVudEhQIiwiZmlsZXMiLCJ0cmlnZ2VyU2V0cyIsImpzb24iLCJwcm9jZXNzZWRTZXQiLCJUcmlnZ2VycyIsInpvbmVOYW1lIiwiem9uZUlkIiwiem9uZUlEIiwiUmVsb2FkVGltZWxpbmVzIiwiSXNSZWFkeSIsIm5ldFRyaWdnZXJzIiwidGltZWxpbmVGaWxlcyIsInRpbWVsaW5lcyIsInJlcGxhY2VtZW50cyIsInRpbWVsaW5lU3R5bGVzIiwicmVzZXRXaGVuT3V0T2ZDb21iYXQiLCJvcmRlcmVkVHJpZ2dlcnMiLCJhZGRUaW1lbGluZSIsIm9ialZhbCIsImJpbmQiLCJsYW5nU3VmZml4IiwiY2hhckF0IiwicmVnZXhQYXJzZXJMYW5nIiwibmV0UmVnZXhQYXJzZXJMYW5nIiwiaGF2ZVpvbmVSZWdleCIsImhhdmVab25lSWQiLCJNYXRjaEFsbCIsInpvbmVSZWdleCIsInBhcnNlckxhbmdSZWdleCIsInNldEZpbGVuYW1lIiwiaW5pdERhdGEiLCJkYXRhSW5pdGlhbGl6ZXJzIiwiZmlsZSIsIkFsZXJ0c0VuYWJsZWQiLCJQcm9jZXNzVHJpZ2dlciIsImZvdW5kIiwidHJpZ2dlck9iamVjdCIsImxvY2FsUmVnZXgiLCJuZXRSZWdleCIsImxvY2FsTmV0UmVnZXgiLCJvdmVycmlkZVRpbWVsaW5lRmlsZSIsInRpbWVsaW5lRmlsZSIsImRpciIsInRpbWVsaW5lIiwidGltZWxpbmVSZXBsYWNlIiwidGltZWxpbmVUcmlnZ2VycyIsImlzVGltZWxpbmVUcmlnZ2VyIiwiZmlsdGVyRW5hYmxlZCIsImRpc2FibGVkIiwiYWxsVHJpZ2dlcnMiLCJTZXRUaW1lbGluZXMiLCJQZXJUcmlnZ2VyQXV0b0NvbmZpZyIsImluQ29tYmF0IiwiU2V0SW5Db21iYXQiLCJTdG9wVGltZXJzIiwiU3RvcENvbWJhdCIsIlNob3J0TmFtaWZ5IiwibmljayIsIlBsYXllck5pY2tzIiwidHJpZ2dlclN1cHByZXNzIiwiaW5pdE9iaiIsInRpbWVycyIsImN1cnJlbnRUaW1lIiwibG9ncyIsInIiLCJPblRyaWdnZXIiLCJyYXdMaW5lIiwiT25UcmlnZ2VySW50ZXJuYWwiLCJfb25UcmlnZ2VySW50ZXJuYWxDaGVja1N1cHByZXNzZWQiLCJncm91cHMiLCJ0cmlnZ2VySGVscGVyIiwiX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyIiwiX29uVHJpZ2dlckludGVybmFsQ29uZGl0aW9uIiwiX29uVHJpZ2dlckludGVybmFsUHJlUnVuIiwiZGVsYXlQcm9taXNlIiwiX29uVHJpZ2dlckludGVybmFsRGVsYXlTZWNvbmRzIiwiX29uVHJpZ2dlckludGVybmFsRHVyYXRpb25TZWNvbmRzIiwiX29uVHJpZ2dlckludGVybmFsU3VwcHJlc3NTZWNvbmRzIiwidHJpZ2dlclBvc3REZWxheSIsInByb21pc2UiLCJfb25UcmlnZ2VySW50ZXJuYWxQcm9taXNlIiwidHJpZ2dlclBvc3RQcm9taXNlIiwiX29uVHJpZ2dlckludGVybmFsU291bmQiLCJfb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSIsIl9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlIiwiX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0IiwiX29uVHJpZ2dlckludGVybmFsQWxlcnRUZXh0IiwiX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQiLCJfb25UcmlnZ2VySW50ZXJuYWxSdW1ibGUiLCJfb25UcmlnZ2VySW50ZXJuYWxUVFMiLCJfb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8iLCJfb25UcmlnZ2VySW50ZXJuYWxSdW4iLCJzdXBwcmVzc2VkIiwiUGVyVHJpZ2dlck9wdGlvbnMiLCJEaXNhYmxlZFRyaWdnZXJzIiwidHJpZ2dlck9wdGlvbnMiLCJ0cmlnZ2VyQXV0b0NvbmZpZyIsInVzZXJTdXBwcmVzc2VkT3V0cHV0IiwidGV4dEFsZXJ0c0VuYWJsZWQiLCJzb3VuZEFsZXJ0c0VuYWJsZWQiLCJzcG9rZW5BbGVydHNFbmFibGVkIiwiZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkIiwidmFsdWVPckZ1bmN0aW9uIiwicmVzdWx0IiwiX29uVHJpZ2dlckludGVybmFsSGVscGVyRGVmYXVsdHMiLCJ3aGVuIiwic3VwcHJlc3MiLCJjb25kaXRpb24iLCJDb25kaXRpb24iLCJUZXh0QWxlcnQiLCJTb3VuZEFsZXJ0IiwiU3BlZWNoQWxlcnQiLCJHcm91cFNwZWVjaEFsZXJ0IiwicHJlUnVuIiwiZGVsYXlTZWNvbmRzIiwidHJpZ2dlcklEIiwiY3VycmVudFRyaWdnZXJJRCIsInZhbHVlRHVyYXRpb24iLCJkdXJhdGlvblNlY29uZHMiLCJmcm9tQ29uZmlnIiwiRHVyYXRpb24iLCJmcm9tVHJpZ2dlciIsIkRpc3BsYXlBbGFybVRleHRGb3JTZWNvbmRzIiwiRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMiLCJEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzIiwic3VwcHJlc3NTZWNvbmRzIiwic291bmQiLCJzb3VuZFVybCIsInNvdW5kVm9sdW1lIiwidHJpZ2dlclNvdW5kVm9sIiwiX2FkZFRleHRGb3IiLCJSdW1ibGVFbmFibGVkIiwibmF2aWdhdG9yIiwiZ2V0R2FtZXBhZHMiLCJncCIsImdhbWVwYWQiLCJ2aWJyYXRpb25BY3R1YXRvciIsInBsYXlFZmZlY3QiLCJzdGFydERlbGF5IiwicnVtYmxlRHVyYXRpb25NcyIsIndlYWtNYWduaXR1ZGUiLCJzdHJvbmdNYWduaXR1ZGUiLCJ0dHNUZXh0IiwiVFRTVGV4dCIsInR0cyIsInJlc3AiLCJkZWZhdWx0VFRTVGV4dCIsIm5hbWVkU291bmQiLCJuYW1lZFNvdW5kVm9sdW1lIiwic291bmRWb2wiLCJTb3VuZE92ZXJyaWRlIiwiVm9sdW1lT3ZlcnJpZGUiLCJhcnJvd1JlcGxhY2VtZW50IiwiX3BsYXlBdWRpb0ZpbGUiLCJydW4iLCJfY3JlYXRlVGV4dEZvciIsInRleHRUeXBlIiwibG93ZXJUZXh0S2V5IiwidGV4dEVsZW1lbnRDbGFzcyIsImhvbGRlciIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJkaXYiLCJfbWFrZVRleHRFbGVtZW50IiwiY2hpbGRyZW4iLCJrTWF4Um93c09mVGV4dCIsImNvbnRhaW5zIiwidXBwZXJUZXh0S2V5IiwidGV4dE9iaiIsInRyaW0iLCJfdHJpZ2dlckhlbHBlciIsImNsYXNzTmFtZSIsInVybCIsInZvbHVtZSIsImF1ZGlvIiwiQXVkaW8iLCJwcmVzZXJ2ZUhQIiwiUGFyc2VMb2NhbGVGbG9hdCIsIkNhblNsZWVwIiwiQ2FuQ2xlYW5zZSIsIlBvcHVwVGV4dEdlbmVyYXRvciIsInBvcHVwVGV4dCIsIkluZm8iLCJBbGVydCIsIkFsYXJtIiwiVFRTIiwiVHJpZ2dlciIsImRlZmF1bHRSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMiLCJJbmZvU291bmQiLCJBbGVydFNvdW5kIiwiQWxhcm1Tb3VuZCIsIkxvbmdTb3VuZCIsIlB1bGxTb3VuZCIsIlBlclpvbmVUaW1lbGluZUNvbmZpZyIsInQiLCJkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zIiwiRGVmYXVsdEFsZXJ0T3V0cHV0IiwiVGltZWxpbmVMYW5ndWFnZSIsIlRpbWVsaW5lRW5hYmxlZCIsIlNob3dUaW1lckJhcnNBdFNlY29uZHMiLCJLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMiLCJCYXJFeHBpcmVzU29vblNlY29uZHMiLCJNYXhOdW1iZXJPZlRpbWVyQmFycyIsIkFsYXJtU291bmRWb2x1bWUiLCJBbGVydFNvdW5kVm9sdW1lIiwiSW5mb1NvdW5kVm9sdW1lIiwiTG9uZ1NvdW5kVm9sdW1lIiwiUHVsbFNvdW5kVm9sdW1lIiwiSW5mb1J1bWJsZUR1cmF0aW9uIiwiSW5mb1J1bWJsZVdlYWsiLCJJbmZvUnVtYmxlU3Ryb25nIiwiQWxlcnRSdW1ibGVEdXJhdGlvbiIsIkFsZXJ0UnVtYmxlV2VhayIsIkFsZXJ0UnVtYmxlU3Ryb25nIiwiQWxhcm1SdW1ibGVEdXJhdGlvbiIsIkFsYXJtUnVtYmxlV2VhayIsIkFsYXJtUnVtYmxlU3Ryb25nIiwiY2FjdGJvdFdvcm1ob2xlU3RyYXQiLCJjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQiLCJUaW1lckJhciIsIkhUTUxFbGVtZW50Iiwib2JzZXJ2ZWRBdHRyaWJ1dGVzIiwiY3JlYXRlIiwibyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIiwiZWxlbWVudCIsImVsYXBzZWQiLCJoaWRlYWZ0ZXIiLCJsZWZ0dGV4dCIsImNlbnRlcnRleHQiLCJyaWdodHRleHQiLCJ3aWR0aCIsImhlaWdodCIsImJnIiwiZmciLCJzdHlsZWZpbGwiLCJ0b3dhcmQiLCJsb29wIiwiYyIsInJlbW92ZUF0dHJpYnV0ZSIsImdldEF0dHJpYnV0ZSIsInciLCJzIiwiX3N0YXJ0IiwiX2R1cmF0aW9uIiwiZWxhcHNlZE1zIiwiaCIsImwiLCJoYXNBdHRyaWJ1dGUiLCJyb290IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsIl9jb25uZWN0ZWQiLCJfd2lkdGgiLCJfaGVpZ2h0IiwiX2JnIiwiX2ZnIiwiX3Rvd2FyZFJpZ2h0IiwiX2ZpbGwiLCJfbGVmdFRleHQiLCJfY2VudGVyVGV4dCIsIl9yaWdodFRleHQiLCJfaGlkZUFmdGVyIiwiX2xvb3AiLCJfaGlkZVRpbWVyIiwicm9vdEVsZW1lbnQiLCJzaGFkb3dSb290IiwiZm9yZWdyb3VuZEVsZW1lbnQiLCJiYWNrZ3JvdW5kRWxlbWVudCIsImxlZnRUZXh0RWxlbWVudCIsImNlbnRlclRleHRFbGVtZW50IiwicmlnaHRUZXh0RWxlbWVudCIsImNvbm5lY3RlZENhbGxiYWNrIiwibGF5b3V0IiwidXBkYXRlVGV4dCIsInNldHZhbHVlIiwiYWR2YW5jZSIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiwiX29sZFZhbHVlIiwidXBkYXRlIiwiaGlkZSIsInNob3ciLCJkcmF3IiwiYmFja2dyb3VuZENvbG9yIiwidHJhbnNmb3JtT3JpZ2luIiwidmFyeWluZ1RleHRzIiwiZWxhcHNlZFNlYyIsInJlbWFpblNlYyIsInBlcmNlbnQiLCJtaW4iLCJkaXNwbGF5UmVtYWluIiwidG9GaXhlZCIsImRpc3BsYXlFbGFwc2VkIiwidHJhbnNmb3JtIiwiYXBwbHlTdHlsZXMiLCJzdHlsZXMiLCJjZW50ZXIiLCJjc3NUZXh0IiwiY2xlYXJUaW1lb3V0IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibG9jYWxlTGluZXMiLCJjb3VudGRvd25TdGFydCIsImNvdW50ZG93bkVuZ2FnZSIsImNvdW50ZG93bkNhbmNlbCIsImFyZWFTZWFsIiwiYXJlYVVuc2VhbCIsImNyYWZ0aW5nU3RhcnQiLCJ0cmlhbENyYWZ0aW5nU3RhcnQiLCJjcmFmdGluZ0ZpbmlzaCIsInRyaWFsQ3JhZnRpbmdGaW5pc2giLCJjcmFmdGluZ0ZhaWwiLCJ0cmlhbENyYWZ0aW5nRmFpbCIsImNyYWZ0aW5nQ2FuY2VsIiwidHJpYWxDcmFmdGluZ0NhbmNlbCIsIlJlZ2V4U2V0IiwibG9jYWxlUmVnZXgiLCJyZWdleGVzIiwiYnVpbGRMb2NhbGVSZWdleGVzIiwibG9jYWxlTmV0UmVnZXgiLCJuZXRSZWdleGVzIiwibG9jYWxlcyIsImJ1aWxkZXIiLCJmcm9tRW50cmllcyIsImJ1aWxkTG9jYWxlUmVnZXgiLCJyZWdleEVuIiwicmVnZXhTZXQiLCJMb2NhbGVSZWdleCIsIkxvY2FsZU5ldFJlZ2V4Iiwic3luY0tleXMiLCJzZWFsIiwidW5zZWFsIiwiZW5nYWdlIiwidGV4dEtleXMiLCJFIiwiTiIsIlMiLCJXIiwiTkUiLCJOVyIsIlNFIiwiU1ciLCJUYW5rIiwiSGVhbGVyIiwiRFBTIiwiTnVtYmVyIiwiY29tbW9uUmVwbGFjZW1lbnQiLCJyZXBsYWNlU3luYyIsInJlcGxhY2VUZXh0IiwicGFydGlhbENvbW1vblJlcGxhY2VtZW50S2V5cyIsImJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSIsImRlZmF1bHRPcHRpb25zIiwiVGltZWxpbmVQYXJzZXIiLCJpZ25vcmVzIiwic3luY1N0YXJ0cyIsInN5bmNFbmRzIiwiZXJyb3JzIiwidGltZWxpbmVDb25maWciLCJJZ25vcmUiLCJ1bmlxdWVpZCIsImNvbW1lbnQiLCJjb21tZW50TGluZSIsImR1cmF0aW9uQ29tbWFuZCIsImlnbm9yZSIsImp1bXBDb21tYW5kIiwic291bmRBbGVydCIsInNwZWFrZXIiLCJzeW5jQ29tbWFuZCIsIndpbmRvd0NvbW1hbmQiLCJsaW5lTnVtYmVyIiwidGVzdCIsIm9yaWdpbmFsTGluZSIsImJlZm9yZVNlY29uZHMiLCJzZWNvbmRzQmVmb3JlIiwicG9wdXBUZXh0SXRlbXMiLCJwYXJzZWRMaW5lIiwidGltZSIsInNlY29uZHMiLCJHZXRSZXBsYWNlZFRleHQiLCJhY3RpdmVUaW1lIiwiY29tbWFuZE1hdGNoIiwic3luYyIsIm9yaWdSZWdleFN0ciIsIkdldFJlcGxhY2VkU3luYyIsImVuZCIsImFyZ01hdGNoIiwianVtcCIsIm1hdGNoZWRUZXh0RXZlbnQiLCJtIiwiYXV0b0NvbmZpZyIsInNvcnRLZXkiLCJHZXRSZXBsYWNlZEhlbHBlciIsInJlcGxhY2VLZXkiLCJyZXBsYWNlTGFuZyIsImlzR2xvYmFsIiwibG9jYWxlIiwicmVwcyIsInJlcGxhY2VtZW50IiwicmVwbCIsInJlbmFtZSIsIlJlbmFtZSIsIkdldE1pc3NpbmdUcmFuc2xhdGlvbnNUb0lnbm9yZSIsImtCaWciLCJ0aW1lbGluZUluc3RydWN0aW9ucyIsImFjdGl2ZVRleHQiLCJjb21wdXRlQmFja2dyb3VuZENvbG9yRnJvbSIsImNsYXNzZXMiLCJjbHMiLCJjb2xvciIsImdldENvbXB1dGVkU3R5bGUiLCJUaW1lbGluZSIsImFjdGl2ZVN5bmNzIiwiYWN0aXZlRXZlbnRzIiwiTG9hZEZpbGUiLCJTdG9wIiwidGltZWJhc2UiLCJuZXh0RXZlbnQiLCJuZXh0VGV4dCIsIm5leHRTeW5jU3RhcnQiLCJuZXh0U3luY0VuZCIsImZpZ2h0Tm93IiwiX0FkdmFuY2VUaW1lVG8iLCJfQ29sbGVjdEFjdGl2ZVN5bmNzIiwiX0NsZWFyVGltZXJzIiwiX0NhbmNlbFVwZGF0ZSIsInVpIiwiT25TeW5jVGltZSIsIlN5bmNUbyIsIm5ld1RpbWViYXNlIiwidmFsdWVPZiIsImFicyIsIl9BZGREdXJhdGlvblRpbWVycyIsIl9DbGVhckV4Y2VwdFJ1bm5pbmdEdXJhdGlvblRpbWVycyIsIl9BZGRVcGNvbWluZ1RpbWVycyIsIl9TY2hlZHVsZVVwZGF0ZSIsInN5bmNFbmQiLCJPbkxvZ0xpbmUiLCJzeW5jU3RhcnQiLCJhY3RpdmVFdmVudCIsIk9uUmVtb3ZlVGltZXIiLCJkdXJhdGlvbkV2ZW50cyIsImlzRHVyIiwiX1JlbW92ZUV4cGlyZWRUaW1lcnMiLCJkdXJhdGlvbkV2ZW50IiwiT25BZGRUaW1lciIsInByb3RvdHlwZSIsImFwcGx5IiwiX0FkZFBhc3NlZFRleHRzIiwiT25TaG93SW5mb1RleHQiLCJPblNob3dBbGVydFRleHQiLCJPblNob3dBbGFybVRleHQiLCJPblNwZWFrVFRTIiwidXBkYXRlVGltZXIiLCJuZXh0RXZlbnRTdGFydGluZyIsIm5leHRUZXh0T2NjdXJzIiwibmV4dEV2ZW50RW5kaW5nIiwibmV4dFN5bmNTdGFydGluZyIsIm5leHRTeW5jRW5kaW5nIiwibmV4dEV2ZW50RW5kc0F0Iiwic2hvd05leHRFdmVudEF0IiwibmV4dFRpbWUiLCJfT25VcGRhdGVUaW1lciIsIlRpbWVsaW5lVUkiLCJJbml0IiwiYmFyQ29sb3IiLCJiYXJFeHBpcmVzU29vbkNvbG9yIiwidGltZXJsaXN0IiwiZ3JpZFRlbXBsYXRlUm93cyIsImFjdGl2ZUJhcnMiLCJleHBpcmVUaW1lcnMiLCJpbnN0cnVjdGlvbnMiLCJoZWxwZXIiLCJyb3dzIiwiaGVscGVyQmFyIiwiZGVidWdFbGVtZW50IiwiU2V0UG9wdXBUZXh0SW50ZXJmYWNlIiwiU2V0VGltZWxpbmUiLCJkZWJ1Z0ZpZ2h0VGltZXIiLCJjaGFubmVsaW5nIiwiYmFyIiwiT25UaW1lckV4cGlyZXNTb29uIiwiYWN0aXZlQmFyIiwicGFyZW50Tm9kZSIsIm9yZGVyIiwiZXhwaXJlZCIsImZvcmNlIiwicmVtb3ZlQmFyIiwiYW5pbWF0aW9uTmFtZSIsInJ1bm5pbmciLCJUaW1lbGluZUNvbnRyb2xsZXIiLCJzdXBwcmVzc05leHRFbmdhZ2UiLCJ3aXBlUmVnZXgiLCJhY3RpdmVUaW1lbGluZSIsIk9uTG9nRXZlbnQiLCJTZXRBY3RpdmVUaW1lbGluZSIsIlRpbWVsaW5lTG9hZGVyIiwidGltZWxpbmVDb250cm9sbGVyIiwicmFpZGJvc3NGaWxlRGF0YSIsInJhaWRib3NzT3B0aW9ucyIsImtPcHRpb25LZXlzIiwia1RyaWdnZXJPcHRpb25zIiwibGFiZWwiLCJ0ZXh0QW5kU291bmQiLCJ0dHNBbmRUZXh0IiwidHRzT25seSIsInRleHRPbmx5IiwidHJpZ2dlclNvdW5kT3B0aW9ucyIsImtEZXRhaWxLZXlzIiwiZGVidWdPbmx5IiwiZ2VuZXJhdGVkTWFudWFsbHkiLCJrVGltZWxpbmVUYWJsZUhlYWRlcnMiLCJzaG91bGREaXNwbGF5VGV4dCIsIm92ZXJyaWRlVGV4dCIsImRldGFpbEtleXMiLCJrTWlzY1RyYW5zbGF0aW9ucyIsInZhbHVlRGVmYXVsdCIsInZhbHVlSXNGdW5jdGlvbiIsIndhcm5pbmciLCJtaXNzaW5nSWQiLCJvdmVycmlkZGVuQnlGaWxlIiwidmlld1RyaWdnZXJTb3VyY2UiLCJlZGl0VGltZWxpbmUiLCJ2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQiLCJ2YWxFbnRyeSIsInZhbCIsImlzTmFOIiwiY2FuQmVDb25maWd1cmVkIiwidHJpZyIsImlzTWlzc2luZ0lkIiwiYWRkVHJpZ2dlckRldGFpbCIsImxhYmVsVGV4dCIsImRldGFpbFRleHQiLCJkZXRhaWxDbHMiLCJzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlIiwiRG9Ob3RoaW5nRnVuY1Byb3h5Iiwib3V0cHV0U3RyaW5nc0NhbGxiYWNrIiwiX3RhcmdldCIsIl9uYW1lIiwibWFrZUxpbmsiLCJsYW5nT3JFbiIsIlJhaWRib3NzQ29uZmlndXJhdG9yIiwiY2FjdGJvdENvbmZpZ3VyYXRvciIsImJhc2UiLCJhbGVydHNMYW5nIiwiZ2V0T3B0aW9uIiwidGltZWxpbmVMYW5nIiwiYnVpbGRVSSIsInJhaWRib3NzRmlsZXMiLCJ1c2VyT3B0aW9ucyIsImZpbGVNYXAiLCJwcm9jZXNzUmFpZGJvc3NGaWxlcyIsImV4cGFuc2lvbkRpdnMiLCJleHBhbnNpb24iLCJzZWN0aW9uIiwiZXhwYW5zaW9uRGl2IiwiZXhwYW5zaW9uQ29udGFpbmVyIiwiZXhwYW5zaW9uSGVhZGVyIiwidHJpZ2dlckNvbnRhaW5lciIsImhlYWRlckRpdiIsInBhcnRzIiwidGl0bGUiLCJwYXJ0IiwicGFydERpdiIsInRyaWdnZXJTZXQiLCJidWlsZFRpbWVsaW5lVUlDb250YWluZXIiLCJ0cmlnSWQiLCJoYXNPdXRwdXRGdW5jIiwiZGV2ZWxvcGVyT3B0aW9ucyIsInRyaWdnZXJEaXYiLCJ0cmlnZ2VyRGV0YWlscyIsImJ1aWxkVHJpZ2dlck9wdGlvbnMiLCJ0cmFuc2xhdGUiLCJiYXNlVGV4dCIsImRldGFpbFN0cmluZ0tleSIsImRldGFpbEtleSIsInRyaWdPdXRwdXQiLCJjb25maWdPdXRwdXQiLCJ0cmlnRnVuYyIsIm9wdGlvbktleSIsImlucHV0Iiwic3RlcCIsInBsYWNlaG9sZGVyIiwiZ2V0U3RyaW5nT3B0aW9uIiwic2V0RnVuYyIsInNldE9wdGlvbiIsIm9uY2hhbmdlIiwib25pbnB1dCIsIm91dHB1dFN0cmluZyIsInAwIiwicDEiLCJwMiIsImJhc2VVcmwiLCJ1cmxGaWxlcGF0aCIsImVzY2FwZWRUcmlnZ2VySWQiLCJ1cmlDb21wb25lbnQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ1cmxTdHJpbmciLCJwYXJlbnQiLCJoYXNFdmVyQmVlbkV4cGFuZGVkIiwidGltZWxpbmVGcm9tU2V0IiwiYnVpbGRUaW1lbGluZVVJIiwiYmxhbmtEYXRhIiwidW5pcUV2ZW50cyIsImhlYWRlciIsInZhbHVlcyIsImNoZWNrSW5wdXQiLCJlbmFibGVJZCIsImdldEJvb2xlYW5PcHRpb24iLCJ0aW1lbGluZVRleHQiLCJ0ZXh0SW5wdXQiLCJ0ZXh0SWQiLCJwcm9jZXNzVHJpZ2dlciIsImZha2VPdXRwdXRQcm94eSIsImFzc2lnbiIsImJhc2VGYWtlRGF0YSIsImNvbmZpZ09wdGlvbnMiLCJwYXJ0aWFsRmFrZURhdGFFbnRyaWVzIiwiZmFrZURhdGFFbnRyaWVzIiwiZmlyc3REYXRhIiwia0Zha2VNYXRjaGVzIiwibnBjSWQiLCJvdXRwdXRLZXlzIiwiZXZhbFRyaWdnZXIiLCJyZXN1bHRTdHIiLCJsYW5nU3BlY2lmaWNSZWdleGVzIiwiZ2V0UmVnZXgiLCJiYXNlRmllbGQiLCJzaG9ydExhbmd1YWdlIiwiY29uY2F0U3RyIiwibGFuZ1NwZWNpZmljUmVnZXgiLCJiYXNlUmVnZXgiLCJ0aW1lbGluZVJlZ2V4IiwidHJpZ2dlclJlZ2V4IiwidHJpZ2dlck5ldFJlZ2V4IiwidHJpZ2dlckZpbGVzIiwidHJpZ2dlclNldE9yU3RyaW5nIiwicHJvY2Vzc0ZpbGVzIiwidHJpZ2dlcklkeCIsInByZXZpb3VzVHJpZ2dlcldpdGhJZCIsInJhd1RyaWdnZXJzIiwiaXNVc2VyVHJpZ2dlclNldCIsImZsYXR0ZW5UaW1lbGluZSIsInRyaWdnZXJBcnIiLCJiYXNlVHJpZyIsInByZXZpb3VzIiwibGFiZWxEaXYiLCJ1cGRhdGVMYWJlbCIsInNlbGVjdFZhbHVlIiwic2VsZWN0ZWQiLCJsYXN0SW5kZXgiLCJ1c2VyRmlsZUhhbmRsZXIiLCJiYXNlT3B0aW9ucyIsImJhc2VUcmlnZ2VyU2V0IiwicHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnIiwib3B0aW9uTmFtZSIsIm91dHB1dE9ianMiLCJwcm9jZXNzUGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwicGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwiem9uZUtleSIsInpvbmVFbnRyeSIsImVuYWJsZUVudHJ5IiwicmVwbGFjZUVudHJ5IiwiYnVpbGRFeHRyYVVJIiwiaHRtbCIsImRlYnVnIiwib3ZlcmxheVdzUGFyYW0iLCJ3c1BhcmFtIiwiaXNMb2NhbCIsInBsYXllck5hbWVQYXJhbSIsInR0c1BhcmFtIiwiZm9yY2VFbmFibGUiLCJhbGVydHNQYXJhbSIsInRpbWVsaW5lUGFyYW0iLCJhdWRpb1BhcmFtIiwidGltZWxpbmVVSSJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/ui/raidboss/raidemulator.bundle.js b/ui/raidboss/raidemulator.bundle.js index ac2a3f3223..cf484eb811 100644 --- a/ui/raidboss/raidemulator.bundle.js +++ b/ui/raidboss/raidemulator.bundle.js @@ -13711,17 +13711,20 @@ const kTimelineTableHeaders = { shouldDisplayText: { en: 'Show', de: 'Anzeigen', - fr: 'Afficher' + fr: 'Afficher', + cn: '显示' }, text: { en: 'Timeline Text', de: 'Timeline Text', - fr: 'Texte de la timeline' + fr: 'Texte de la timeline', + cn: '时间轴文本' }, overrideText: { en: 'Rename', de: 'Umbenennen', - fr: 'Renommer' + fr: 'Renommer', + cn: '修改文本' } }; const detailKeys = kDetailKeys; @@ -13784,7 +13787,8 @@ const kMiscTranslations = { editTimeline: { en: 'Edit Timeline', de: 'Timeline bearbeiten', - fr: 'Éditer la timeline' + fr: 'Éditer la timeline', + cn: '编辑时间轴' } }; @@ -14991,7 +14995,7 @@ const templateOptions = { de: 'Alarm-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alarme (secondes)', ja: '警報テキスト表示時間の長さ (秒)', - cn: '警报文字显示持续时间 (秒)', + cn: '警报级别文字显示持续时间 (秒)', ko: '경고 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -15003,7 +15007,7 @@ const templateOptions = { de: 'Alert-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'alerte (secondes)', ja: '警告テキスト表示時間の長さ (秒)', - cn: '警告文字显示持续时间 (秒)', + cn: '警告级别文字显示持续时间 (秒)', ko: '주의 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -15015,7 +15019,7 @@ const templateOptions = { de: 'Info-Text Anzeigedauer (in Sekunden)', fr: 'Durée d\'affichage du texte d\'information (secondes)', ja: '情報テキスト表示時間の長さ (秒)', - cn: '信息文字显示持续时间 (秒)', + cn: '信息级别文字显示持续时间 (秒)', ko: '안내 텍스트를 표시할 시간 (초)' }, type: 'float', @@ -15027,7 +15031,7 @@ const templateOptions = { de: 'Alarm Lautstärke (0-1)', fr: 'Volume de l\'alarme (0-1)', ja: '警報音声の音量 (0-1)', - cn: '警报提示音的音量 (0-1)', + cn: '警报级别提示音的音量 (0-1)', ko: '경고 소리 크기 (0-1)' }, type: 'float', @@ -15039,7 +15043,7 @@ const templateOptions = { de: 'Alert Lautstärke (0-1)', fr: 'Volume de l\'alerte (0-1)', ja: '警告音声の音量 (0-1)', - cn: '警告提示音的音量 (0-1)', + cn: '警告级别提示音的音量 (0-1)', ko: '주의 소리 크기 (0-1)' }, type: 'float', @@ -15051,7 +15055,7 @@ const templateOptions = { de: 'Info Lautstärke (0-1)', fr: 'Volume de l\'info (0-1)', ja: '情報音声の音量 (0-1)', - cn: '信息提示音的音量 (0-1)', + cn: '信息级别提示音的音量 (0-1)', ko: '안내 소리 크기 (0-1)' }, type: 'float', @@ -15085,7 +15089,8 @@ const templateOptions = { name: { en: 'Enable gamepad rumble for triggers', de: 'Gamepad-Vibration für Trigger aktivieren', - fr: 'Activer la vibration de la manette de jeu pour les triggers' + fr: 'Activer la vibration de la manette de jeu pour les triggers', + cn: '触发器活动时使手柄振动' }, type: 'checkbox', default: false @@ -15094,7 +15099,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for info triggers', de: 'Zeit (in Millisekunden) der Vibration bei info trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'informations', + cn: '信息级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 400 @@ -15103,7 +15109,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for info triggers', de: 'Stärke (0-1) der leichten Vibration bei info trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'informations (0-1)', + cn: '信息级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -15112,7 +15119,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for info triggers', de: 'Stärke (0-1) der starken Vibration bei info trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'informations (0-1)', + cn: '信息级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -15121,7 +15129,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alert triggers', de: 'Zeit (in Millisekunden) der Vibration bei alert trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alertes', + cn: '警告级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 500 @@ -15130,7 +15139,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alert triggers', de: 'Stärke (0-1) der leichten Vibration bei alert trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0 @@ -15139,7 +15149,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alert triggers', de: 'Stärke (0-1) der starken Vibration bei alert trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alertes (0-1)', + cn: '警告级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.5 @@ -15148,7 +15159,8 @@ const templateOptions = { name: { en: 'Duration (milliseconds) of rumble for alarm triggers', de: 'Zeit (in Millisekunden) der Vibration bei alarm trigger', - fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes' + fr: 'Durée (millisecondes) de la vibration pour les triggers d\'alarmes', + cn: '警报级别触发器振动持续时间 (毫秒)' }, type: 'float', default: 750 @@ -15157,7 +15169,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of weak rumble for alarm triggers', de: 'Stärke (0-1) der leichten Vibration bei alarm trigger', - fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration faible pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器弱电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -15166,7 +15179,8 @@ const templateOptions = { name: { en: 'Magnitude (0-1) of strong rumble for alarm triggers', de: 'Stärke (0-1) der starken Vibration bei alarm trigger', - fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)' + fr: 'Intensité de la vibration forte pour les triggers d\'alarmes (0-1)', + cn: '警报级别触发器强电机振动强度 (0-1)' }, type: 'float', default: 0.75 @@ -29375,4 +29389,4 @@ document.addEventListener('DOMContentLoaded', () => { /******/ /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFFO0FBQ0psVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsT0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsS0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFsQk87QUFrbUJiOFQsRUFBQUEsSUFBSSxFQUFFO0FBQ0puVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsUUFGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsT0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxtQk87QUEwbUJiK1QsRUFBQUEsU0FBUyxFQUFFO0FBQ1RwVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsWUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsWUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFtQkU7QUFrbkJiZ1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1RyVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsVUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxuQkU7QUEwbkJiaVUsRUFBQUEsU0FBUyxFQUFFO0FBQ1R0VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsV0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFuQkU7QUFrb0Jia1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1R2VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsVUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsU0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxvQkU7QUEwb0JibVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0p4VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFvQk87QUFrcEJib1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0p6VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxwQk87QUEwcEJicVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0oxVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFwQk87QUFrcUJic1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0ozVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxxQk87QUEwcUJidVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w1VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFxQk07QUFrckJid1UsRUFBQUEsS0FBSyxFQUFFO0FBQ0w3VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxyQk07QUEwckJieVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w5VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFyQk07QUFrc0JiMFUsRUFBQUEsS0FBSyxFQUFFO0FBQ0wvVSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxzQk07QUEwc0JiO0FBQ0EyVSxFQUFBQSxJQUFJLEVBQUUxRixvQkFBb0IsQ0FBQyxDQUFELENBM3NCYjtBQTRzQmIyRixFQUFBQSxJQUFJLEVBQUUzRixvQkFBb0IsQ0FBQyxDQUFELENBNXNCYjtBQTZzQmI0RixFQUFBQSxJQUFJLEVBQUU1RixvQkFBb0IsQ0FBQyxDQUFELENBN3NCYjtBQThzQmI2RixFQUFBQSxJQUFJLEVBQUU3RixvQkFBb0IsQ0FBQyxDQUFELENBOXNCYjtBQStzQmI4RixFQUFBQSxJQUFJLEVBQUU5RixvQkFBb0IsQ0FBQyxDQUFELENBL3NCYjtBQWd0QmIrRixFQUFBQSxJQUFJLEVBQUUvRixvQkFBb0IsQ0FBQyxDQUFELENBaHRCYjtBQWl0QmJnRyxFQUFBQSxJQUFJLEVBQUVoRyxvQkFBb0IsQ0FBQyxDQUFELENBanRCYjtBQWt0QmJpRyxFQUFBQSxJQUFJLEVBQUVqRyxvQkFBb0IsQ0FBQyxDQUFELENBbHRCYjtBQW10QmJrRyxFQUFBQSxJQUFJLEVBQUVsRyxvQkFBb0IsQ0FBQyxDQUFELENBbnRCYjtBQW90QmJtRyxFQUFBQSxJQUFJLEVBQUVuRyxvQkFBb0IsQ0FBQyxDQUFEO0FBcHRCYixDQUFmOzs7Ozs7Ozs7Ozs7O0FDdEJBO0FBd0RBLElBQUlvRyxNQUFNLEdBQUcsS0FBYjtBQUVBLElBQUlDLEtBQW9CLEdBQUcsSUFBM0I7QUFDQSxJQUFJQyxFQUFvQixHQUFHLElBQTNCO0FBQ0EsSUFBSUMsS0FHTSxHQUFHLEVBSGI7QUFJQSxJQUFJQyxXQUFXLEdBQUcsQ0FBbEI7QUFLQSxNQUFNQyxnQkFBcUQsR0FBRyxFQUE5RDtBQUVBLE1BQU1DLFdBQTBDLEdBQUcsRUFBbkQ7O0FBRUEsTUFBTUMsV0FBVyxHQUFHLENBQ2xCQyxHQURrQixFQUVsQkMsRUFGa0IsS0FHVDtBQUNULE1BQUlQLEVBQUosRUFBUTtBQUNOLFFBQUlDLEtBQUosRUFDRUEsS0FBSyxDQUFDakssSUFBTixDQUFXc0ssR0FBWCxFQURGLEtBR0VOLEVBQUUsQ0FBQ1EsSUFBSCxDQUFRaEosSUFBSSxDQUFDQyxTQUFMLENBQWU2SSxHQUFmLENBQVI7QUFDSCxHQUxELE1BS087QUFDTCxRQUFJTCxLQUFKLEVBQ0VBLEtBQUssQ0FBQ2pLLElBQU4sQ0FBVyxDQUFDc0ssR0FBRCxFQUFNQyxFQUFOLENBQVgsRUFERixLQUdFRSxNQUFNLENBQUNDLGdCQUFQLENBQXdCQyxXQUF4QixDQUFvQ25KLElBQUksQ0FBQ0MsU0FBTCxDQUFlNkksR0FBZixDQUFwQyxFQUF5REMsRUFBekQ7QUFDSDtBQUNGLENBZkQ7O0FBaUJBLE1BQU1LLFlBQVksR0FBeUJOLEdBQXRCLElBQWdFO0FBQ25GTyxFQUFBQSxJQUFJO0FBRUosUUFBTUMsSUFBSSxHQUFHVixXQUFXLENBQUNFLEdBQUcsQ0FBQ3JWLElBQUwsQ0FBeEI7QUFDQTZWLEVBQUFBLElBQUksU0FBSixJQUFBQSxJQUFJLFdBQUosWUFBQUEsSUFBSSxDQUFFQyxPQUFOLENBQWVDLEdBQUQsSUFBUztBQUNyQixRQUFJO0FBQ0ZBLE1BQUFBLEdBQUcsQ0FBQ1YsR0FBRCxDQUFIO0FBQ0QsS0FGRCxDQUVFLE9BQU9XLENBQVAsRUFBVTtBQUNWdk0sTUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFjRCxDQUFkO0FBQ0Q7QUFDRixHQU5EO0FBT0QsQ0FYRDs7QUFhTyxNQUFNRSxvQkFBb0IsR0FBR1AsWUFBN0I7QUFFQSxNQUFNUSxrQkFBdUMsR0FBRyxDQUFDQyxLQUFELEVBQVFkLEVBQVIsS0FBcUI7QUFBQTs7QUFDMUVNLEVBQUFBLElBQUk7O0FBRUosTUFBSSxDQUFDVCxXQUFXLENBQUNpQixLQUFELENBQWhCLEVBQXlCO0FBQ3ZCakIsSUFBQUEsV0FBVyxDQUFDaUIsS0FBRCxDQUFYLEdBQXFCLEVBQXJCOztBQUVBLFFBQUksQ0FBQ3BCLEtBQUwsRUFBWTtBQUNWSSxNQUFBQSxXQUFXLENBQUM7QUFDVmlCLFFBQUFBLElBQUksRUFBRSxXQURJO0FBRVZDLFFBQUFBLE1BQU0sRUFBRSxDQUFDRixLQUFEO0FBRkUsT0FBRCxDQUFYO0FBSUQ7QUFDRjs7QUFFRCx3QkFBQWpCLFdBQVcsQ0FBQ2lCLEtBQUQsQ0FBWCwwRUFBb0JyTCxJQUFwQixDQUF5QnVLLEVBQXpCO0FBQ0QsQ0FmTTtBQWlCQSxNQUFNaUIscUJBQTZDLEdBQUcsQ0FBQ0gsS0FBRCxFQUFRZCxFQUFSLEtBQXFCO0FBQ2hGTSxFQUFBQSxJQUFJOztBQUVKLE1BQUlULFdBQVcsQ0FBQ2lCLEtBQUQsQ0FBZixFQUF3QjtBQUN0QixVQUFNSSxJQUFJLEdBQUdyQixXQUFXLENBQUNpQixLQUFELENBQXhCO0FBQ0EsVUFBTUssR0FBRyxHQUFHRCxJQUFILGFBQUdBLElBQUgsdUJBQUdBLElBQUksQ0FBRUUsT0FBTixDQUFjcEIsRUFBZCxDQUFaO0FBRUEsUUFBSW1CLEdBQUcsS0FBS0UsU0FBUixJQUFxQkYsR0FBRyxHQUFHLENBQUMsQ0FBaEMsRUFDRUQsSUFBSSxTQUFKLElBQUFBLElBQUksV0FBSixZQUFBQSxJQUFJLENBQUVJLE1BQU4sQ0FBYUgsR0FBYixFQUFrQixDQUFsQjtBQUNIO0FBQ0YsQ0FWTTs7QUFZUCxNQUFNSSwwQkFBMkMsR0FBRyxDQUNsREMsSUFEa0QsQ0FFbEQ7QUFGa0QsS0FHakM7QUFDakJsQixFQUFBQSxJQUFJO0FBRUosUUFBTVAsR0FBRyxHQUFHLEVBQ1YsR0FBR3lCLElBRE87QUFFVkMsSUFBQUEsSUFBSSxFQUFFO0FBRkksR0FBWjtBQUlBLE1BQUlDLENBQUo7O0FBRUEsTUFBSWpDLEVBQUosRUFBUTtBQUNOTSxJQUFBQSxHQUFHLENBQUMwQixJQUFKLEdBQVc5QixXQUFXLEVBQXRCO0FBQ0ErQixJQUFBQSxDQUFDLEdBQUcsSUFBSUMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtBQUNuQ2pDLE1BQUFBLGdCQUFnQixDQUFDRyxHQUFHLENBQUMwQixJQUFMLENBQWhCLEdBQTZCO0FBQUVHLFFBQUFBLE9BQU8sRUFBRUEsT0FBWDtBQUFvQkMsUUFBQUEsTUFBTSxFQUFFQTtBQUE1QixPQUE3QjtBQUNELEtBRkcsQ0FBSjtBQUlBL0IsSUFBQUEsV0FBVyxDQUFDQyxHQUFELENBQVg7QUFDRCxHQVBELE1BT087QUFDTDJCLElBQUFBLENBQUMsR0FBRyxJQUFJQyxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQ25DL0IsTUFBQUEsV0FBVyxDQUFDQyxHQUFELEVBQU9oWCxJQUFELElBQVU7QUFDekIsWUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVDZZLFVBQUFBLE9BQU8sQ0FBQzdZLElBQUQsQ0FBUDtBQUNBO0FBQ0Q7O0FBQ0QsY0FBTStZLE1BQU0sR0FBRzdLLElBQUksQ0FBQ0ssS0FBTCxDQUFXdk8sSUFBWCxDQUFmO0FBQ0EsWUFBSStZLE1BQU0sQ0FBQyxRQUFELENBQVYsRUFDRUQsTUFBTSxDQUFDQyxNQUFELENBQU4sQ0FERixLQUdFRixPQUFPLENBQUNFLE1BQUQsQ0FBUDtBQUNILE9BVlUsQ0FBWDtBQVdELEtBWkcsQ0FBSjtBQWFEOztBQUVELFNBQU9KLENBQVA7QUFDRCxDQXBDRDs7QUF1Q0EsTUFBTUssNkJBQTBDLEdBQUcsRUFBbkQ7QUFFTyxNQUFNQyxrQkFBbUMsR0FBRyxDQUNqRFIsSUFEaUQsQ0FFakQ7QUFGaUQsS0FHaEM7QUFBQTs7QUFDakJsQixFQUFBQSxJQUFJLEdBRGEsQ0FHakI7QUFDQTs7QUFDQSxRQUFNNVYsSUFBSSxHQUFHOFcsSUFBSSxDQUFDVCxJQUFsQjtBQUNBLFFBQU1rQixRQUFRLDRCQUFHRiw2QkFBNkIsQ0FBQ3JYLElBQUQsQ0FBaEMseUVBQTBDNlcsMEJBQXhELENBTmlCLENBUWpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFPVSxRQUFRLENBQUNULElBQUQsQ0FBZjtBQUNELENBbEJNO0FBb0JBLE1BQU1VLHlCQUF5QixHQUFHLENBQ3ZDeFgsSUFEdUMsRUFFdkN5WCxRQUZ1QyxLQUc5QjtBQUNULE1BQUksQ0FBQ0EsUUFBTCxFQUFlO0FBQ2IsV0FBT0osNkJBQTZCLENBQUNyWCxJQUFELENBQXBDO0FBQ0E7QUFDRDs7QUFDRHFYLEVBQUFBLDZCQUE2QixDQUFDclgsSUFBRCxDQUE3QixHQUFzQ3lYLFFBQXRDO0FBQ0QsQ0FUTTtBQVdBLE1BQU03QixJQUFJLEdBQUcsTUFBWTtBQUM5QixNQUFJZixNQUFKLEVBQ0U7O0FBRUYsTUFBSSxPQUFPVyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDVixJQUFBQSxLQUFLLEdBQUcsSUFBSTRDLGVBQUosQ0FBb0JsQyxNQUFNLENBQUNtQyxRQUFQLENBQWdCQyxNQUFwQyxFQUE0Q0MsR0FBNUMsQ0FBZ0QsWUFBaEQsQ0FBUjs7QUFDQSxRQUFJL0MsS0FBSyxLQUFLLElBQWQsRUFBb0I7QUFDbEIsWUFBTWdELFNBQVMsR0FBRyxVQUFTaEQsS0FBVCxFQUF3QjtBQUN4Q0MsUUFBQUEsRUFBRSxHQUFHLElBQUlnRCxTQUFKLENBQWNqRCxLQUFkLENBQUw7QUFFQUMsUUFBQUEsRUFBRSxDQUFDaUQsZ0JBQUgsQ0FBb0IsT0FBcEIsRUFBOEJoQyxDQUFELElBQU87QUFDbEN2TSxVQUFBQSxPQUFPLENBQUN3TSxLQUFSLENBQWNELENBQWQ7QUFDRCxTQUZEO0FBSUFqQixRQUFBQSxFQUFFLENBQUNpRCxnQkFBSCxDQUFvQixNQUFwQixFQUE0QixNQUFNO0FBQUE7O0FBQ2hDdk8sVUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLFlBQVo7QUFFQSxnQkFBTUMsQ0FBQyxhQUFHbEQsS0FBSCwyQ0FBWSxFQUFuQjtBQUNBQSxVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUVBSSxVQUFBQSxXQUFXLENBQUM7QUFDVmlCLFlBQUFBLElBQUksRUFBRSxXQURJO0FBRVZDLFlBQUFBLE1BQU0sRUFBRW5NLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZK0ssV0FBWjtBQUZFLFdBQUQsQ0FBWDs7QUFLQSxlQUFLLE1BQU1FLEdBQVgsSUFBa0I2QyxDQUFsQixFQUFxQjtBQUNuQixnQkFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU4sQ0FBYy9DLEdBQWQsQ0FBTCxFQUNFRCxXQUFXLENBQUNDLEdBQUQsQ0FBWDtBQUNIO0FBQ0YsU0FmRDtBQWlCQU4sUUFBQUEsRUFBRSxDQUFDaUQsZ0JBQUgsQ0FBb0IsU0FBcEIsRUFBZ0NsQixJQUFELElBQVU7QUFDdkMsY0FBSTtBQUNGLGdCQUFJLE9BQU9BLElBQUksQ0FBQ3pZLElBQVosS0FBcUIsUUFBekIsRUFBbUM7QUFDakNvTCxjQUFBQSxPQUFPLENBQUN3TSxLQUFSLENBQWMsaUNBQWQsRUFBaURhLElBQWpEO0FBQ0E7QUFDRDs7QUFDRCxrQkFBTXpCLEdBQUcsR0FBRzlJLElBQUksQ0FBQ0ssS0FBTCxDQUFXa0ssSUFBSSxDQUFDelksSUFBaEIsQ0FBWjtBQUVBLGtCQUFNZ2EsWUFBWSxHQUFHLENBQUFoRCxHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILFlBQUFBLEdBQUcsQ0FBRTBCLElBQUwsTUFBY0osU0FBZCxHQUEwQnpCLGdCQUFnQixDQUFDRyxHQUFHLENBQUMwQixJQUFMLENBQTFDLEdBQXVESixTQUE1RTs7QUFDQSxnQkFBSXRCLEdBQUcsQ0FBQzBCLElBQUosS0FBYUosU0FBYixJQUEwQjBCLFlBQTlCLEVBQTRDO0FBQzFDLGtCQUFJaEQsR0FBRyxDQUFDLFFBQUQsQ0FBUCxFQUNFZ0QsWUFBWSxDQUFDbEIsTUFBYixDQUFvQjlCLEdBQXBCLEVBREYsS0FHRWdELFlBQVksQ0FBQ25CLE9BQWIsQ0FBcUI3QixHQUFyQjtBQUNGLHFCQUFPSCxnQkFBZ0IsQ0FBQ0csR0FBRyxDQUFDMEIsSUFBTCxDQUF2QjtBQUNELGFBTkQsTUFNTztBQUNMcEIsY0FBQUEsWUFBWSxDQUFDTixHQUFELENBQVo7QUFDRDtBQUNGLFdBakJELENBaUJFLE9BQU9XLENBQVAsRUFBVTtBQUNWdk0sWUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFjLDRCQUFkLEVBQTRDYSxJQUE1QztBQUNBO0FBQ0Q7QUFDRixTQXRCRDtBQXdCQS9CLFFBQUFBLEVBQUUsQ0FBQ2lELGdCQUFILENBQW9CLE9BQXBCLEVBQTZCLE1BQU07QUFDakNoRCxVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUVBdkwsVUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLHdCQUFaLEVBSGlDLENBSWpDOztBQUNBekMsVUFBQUEsTUFBTSxDQUFDOEMsVUFBUCxDQUFrQixNQUFNO0FBQ3RCUixZQUFBQSxTQUFTLENBQUNoRCxLQUFELENBQVQ7QUFDRCxXQUZELEVBRUcsR0FGSDtBQUdELFNBUkQ7QUFTRCxPQXpERDs7QUEyREFnRCxNQUFBQSxTQUFTLENBQUNoRCxLQUFELENBQVQ7QUFDRCxLQTdERCxNQTZETztBQUNMLFlBQU15RCxVQUFVLEdBQUcsWUFBVztBQUFBOztBQUM1QixZQUFJLENBQUMvQyxNQUFNLENBQUNDLGdCQUFSLElBQTRCLENBQUNELE1BQU0sQ0FBQ0MsZ0JBQVAsQ0FBd0IrQyxLQUF6RCxFQUFnRTtBQUM5RGhELFVBQUFBLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0JDLFVBQWxCLEVBQThCLEdBQTlCO0FBQ0E7QUFDRDs7QUFFRCxjQUFNTCxDQUFDLGNBQUdsRCxLQUFILDZDQUFZLEVBQW5CO0FBQ0FBLFFBQUFBLEtBQUssR0FBRyxJQUFSO0FBRUFRLFFBQUFBLE1BQU0sQ0FBQ2lELGlCQUFQLEdBQTJCOUMsWUFBM0I7QUFFQVAsUUFBQUEsV0FBVyxDQUFDO0FBQ1ZpQixVQUFBQSxJQUFJLEVBQUUsV0FESTtBQUVWQyxVQUFBQSxNQUFNLEVBQUVuTSxNQUFNLENBQUNDLElBQVAsQ0FBWStLLFdBQVo7QUFGRSxTQUFELENBQVg7O0FBS0EsYUFBSyxNQUFNdUQsSUFBWCxJQUFtQlIsQ0FBbkIsRUFBc0I7QUFDcEIsY0FBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNNLElBQWQsQ0FBSixFQUNFdEQsV0FBVyxDQUFDc0QsSUFBSSxDQUFDLENBQUQsQ0FBTCxFQUFVQSxJQUFJLENBQUMsQ0FBRCxDQUFkLENBQVg7QUFDSDtBQUNGLE9BcEJEOztBQXNCQUgsTUFBQUEsVUFBVTtBQUNYLEtBdkZnQyxDQXlGakM7QUFDQTtBQUNBOzs7QUFDQS9DLElBQUFBLE1BQU0sQ0FBQ1csa0JBQVAsR0FBNEJBLGtCQUE1QjtBQUNBWCxJQUFBQSxNQUFNLENBQUNlLHFCQUFQLEdBQStCQSxxQkFBL0I7QUFDQWYsSUFBQUEsTUFBTSxDQUFDOEIsa0JBQVAsR0FBNEJBLGtCQUE1QjtBQUNBOUIsSUFBQUEsTUFBTSxDQUFDVSxvQkFBUCxHQUE4QkEsb0JBQTlCO0FBQ0Q7O0FBRURyQixFQUFBQSxNQUFNLEdBQUcsSUFBVDtBQUNELENBdkdNOzs7Ozs7Ozs7OztBQzNNUDtBQUVBLE1BQU1qTCxTQUFTLEdBQUcsR0FBbEI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsT0FBckI7QUFDQSxNQUFNOE8sc0JBQXNCLEdBQUcsZUFBL0I7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUFDLFFBQUQsRUFBVyxTQUFYLENBQWxDOztBQUVBLE1BQU0zTyxhQUFhLEdBQUcsQ0FFcEJqSyxJQUZvQixFQUVYa0ssT0FGVyxLQUUyQztBQUFBOztBQUMvRCxjQUFBQSxPQUFPLFVBQVAscUNBQUFBLE9BQU8sR0FBS0MsTUFBTSxDQUFDQyxJQUFQLENBQVl0Syw2REFBYyxDQUFDRSxJQUFELENBQWQsQ0FBcUJHLE1BQWpDLENBQVo7QUFDQSxRQUFNa0ssTUFBOEQsR0FBRyxFQUF2RTs7QUFFQSxPQUFLLE1BQU0sQ0FBQ0MsSUFBRCxFQUFPQyxLQUFQLENBQVgsSUFBNEJKLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlMUssNkRBQWMsQ0FBQ0UsSUFBRCxDQUFkLENBQXFCRyxNQUFwQyxDQUE1QixFQUF5RTtBQUN2RSxRQUFJLENBQUMrSixPQUFPLENBQUN0SyxRQUFSLENBQWlCMEssSUFBakIsQ0FBTCxFQUNFO0FBQ0YsVUFBTUcsS0FBd0MsR0FBRztBQUMvQ0MsTUFBQUEsS0FBSyxFQUFFSjtBQUR3QyxLQUFqRDtBQUdBLFFBQUlBLElBQUksS0FBSyxNQUFiLEVBQ0VHLEtBQUssQ0FBQ0UsS0FBTixHQUFjN0ssNkRBQWMsQ0FBQ0UsSUFBRCxDQUFkLENBQXFCQSxJQUFuQztBQUVGcUssSUFBQUEsTUFBTSxDQUFDRSxLQUFELENBQU4sR0FBZ0JFLEtBQWhCO0FBQ0Q7O0FBRUQsU0FBT0osTUFBUDtBQUNELENBbkJEOztBQXFCQSxNQUFNTyxXQUFXLEdBQUcsQ0FDbEJQLE1BRGtCLEVBRWxCd08sTUFGa0IsRUFHbEIxWSxNQUhrQixLQUlPO0FBQUE7O0FBQ3pCa0ssRUFBQUEsTUFBTSxjQUFHQSxNQUFILDZDQUFhLEVBQW5CO0FBQ0EsUUFBTVMsV0FBcUIsR0FBRyxFQUE5Qjs7QUFFQSxPQUFLLE1BQU1QLEtBQVgsSUFBb0JwSyxNQUFwQixFQUE0QjtBQUMxQixVQUFNdUssS0FBSyxHQUFHdkssTUFBTSxDQUFDb0ssS0FBRCxDQUFwQjtBQUNBLFFBQUlHLEtBQUosRUFDRUksV0FBVyxDQUFDQyxJQUFaLENBQWlCTCxLQUFLLENBQUNBLEtBQXZCO0FBQ0g7O0FBRURmLEVBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FBdUJYLE1BQXZCLEVBQStCd08sTUFBL0IsRUFBdUMsQ0FBQyxTQUFELEVBQVksR0FBRy9OLFdBQWYsQ0FBdkMsRUFWeUIsQ0FZekI7O0FBQ0EsUUFBTUcsT0FBTyxHQUFHdEIsT0FBTyxDQUFDdUIsZUFBUixDQUF3QmIsTUFBTSxDQUFDWSxPQUEvQixDQUFoQjtBQUNBLFFBQU1FLFNBQVMsR0FBR2hCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZakssTUFBWixFQUFvQmlMLElBQXBCLENBQXlCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVQyxRQUFRLENBQUNGLENBQUQsQ0FBUixHQUFjRSxRQUFRLENBQUNELENBQUQsQ0FBekQsQ0FBbEI7QUFDQSxNQUFJRSxTQUFKOztBQUNBLE1BQUlQLE9BQUosRUFBYTtBQUFBOztBQUNYTyxJQUFBQSxTQUFTLGlCQUFHTCxTQUFTLENBQUNBLFNBQVMsQ0FBQ00sTUFBVixHQUFtQixDQUFwQixDQUFaLG1EQUFzQyxHQUEvQztBQUNELEdBRkQsTUFFTztBQUNMRCxJQUFBQSxTQUFTLEdBQUcsR0FBWjs7QUFDQSxTQUFLLE1BQU1FLEdBQVgsSUFBa0J2TCxNQUFsQixFQUEwQjtBQUFBOztBQUN4QixZQUFNd0ssS0FBSyxrQkFBR3hLLE1BQU0sQ0FBQ3VMLEdBQUQsQ0FBVCxxREFBa0IsRUFBN0I7QUFDQSxVQUFJLE9BQU9mLEtBQVAsS0FBaUIsUUFBckIsRUFDRTtBQUNGLFlBQU1nQixTQUFTLG1CQUFHeEwsTUFBTSxDQUFDdUwsR0FBRCxDQUFULGlEQUFHLGFBQWFoQixLQUEvQjtBQUNBLFVBQUlpQixTQUFTLElBQUlBLFNBQVMsSUFBSXRCLE1BQTlCLEVBQ0VtQixTQUFTLEdBQUdFLEdBQVo7QUFDSDtBQUNGOztBQUNELFFBQU1FLE1BQU0sR0FBR0wsUUFBUSxDQUFDQyxTQUFELENBQXZCLENBN0J5QixDQStCekI7O0FBQ0EsUUFBTXNOLGtCQUFrQixHQUNyQixNQUFLaFoscUdBQW1DLElBQUdBLHlIQUE2QyxHQUQzRjtBQUVBLFFBQU1pWixjQUFjLEdBQUcsV0FBdkIsQ0FsQ3lCLENBb0N6Qjs7QUFDQSxRQUFNQyxNQUFNLEdBQUdILE1BQU0sS0FBSyxTQUFYLEdBQXVCL1ksNkRBQWMsQ0FBQytZLE1BQUQsQ0FBZCxDQUF1QjNZLFdBQTlDLEdBQTRENFksa0JBQTNFO0FBQ0EsUUFBTUcsT0FBTyxHQUFHSixNQUFNLEtBQUssU0FBWCxHQUNYLEtBQUl0TixRQUFRLENBQUN6TCw2REFBYyxDQUFDK1ksTUFBRCxDQUFkLENBQXVCN1ksSUFBeEIsQ0FBUixDQUFzQzBNLFFBQXRDLENBQStDLEVBQS9DLENBQW1ELEVBQXhELENBQTBEd00sS0FBMUQsQ0FBZ0UsQ0FBQyxDQUFqRSxFQUFvRUMsV0FBcEUsRUFEWSxHQUVaSixjQUZKO0FBSUEsTUFBSTVNLEdBQUcsR0FBRyxFQUFWO0FBQ0EsTUFBSWxCLE9BQUosRUFDRWtCLEdBQUcsSUFBSyxnQ0FBK0I2TSxNQUFPLFlBQVdDLE9BQVEsR0FBakUsQ0FERixLQUdFOU0sR0FBRyxJQUFLLGtCQUFpQjZNLE1BQU8sSUFBR0MsT0FBUSxFQUEzQztBQUVGLE1BQUk3TSxPQUFPLEdBQUcsQ0FBZDs7QUFDQSxPQUFLLE1BQU1DLE1BQVgsSUFBcUJsTSxNQUFyQixFQUE2QjtBQUFBOztBQUMzQixVQUFNd0wsU0FBUyxxQkFBR3hMLE1BQU0sQ0FBQ2tNLE1BQUQsQ0FBVCxtREFBRyxlQUFnQjNCLEtBQWxDLENBRDJCLENBRzNCOztBQUNBLFFBQUlpQixTQUFTLEtBQUssV0FBZCxJQUE2QkEsU0FBUyxLQUFLLE1BQS9DLEVBQ0U7QUFFRixVQUFNRCxHQUFHLEdBQUdILFFBQVEsQ0FBQ2MsTUFBRCxDQUFwQixDQVAyQixDQVEzQjs7QUFDQSxVQUFNQyxhQUFhLEdBQUdaLEdBQUcsR0FBR1UsT0FBTixHQUFnQixDQUF0QztBQUNBLFFBQUlFLGFBQWEsS0FBSyxDQUF0QixFQUNFSCxHQUFHLElBQUssR0FBRXZDLFNBQVUsR0FBRUMsWUFBYSxFQUFuQyxDQURGLEtBRUssSUFBSXlDLGFBQWEsR0FBRyxDQUFwQixFQUNISCxHQUFHLElBQUssTUFBS3ZDLFNBQVUsR0FBRUMsWUFBYSxLQUFJeUMsYUFBYyxHQUF4RDtBQUNGRixJQUFBQSxPQUFPLEdBQUdWLEdBQVY7QUFFQVMsSUFBQUEsR0FBRyxJQUFJdkMsU0FBUDtBQUVBLFVBQU1lLEtBQUssR0FBR3hLLE1BQU0sQ0FBQ2tNLE1BQUQsQ0FBcEI7QUFDQSxRQUFJLE9BQU8xQixLQUFQLEtBQWlCLFFBQXJCLEVBQ0UsTUFBTSxJQUFJckIsS0FBSixDQUFXLEdBQUV1UCxNQUFPLG9CQUFtQnRNLElBQUksQ0FBQ0MsU0FBTCxDQUFlN0IsS0FBZixDQUFzQixFQUE3RCxDQUFOO0FBRUYsVUFBTXlPLFlBQVksR0FBR3pOLFNBQVMsSUFBSWlOLHlCQUF5QixDQUFDaFosUUFBMUIsQ0FBbUMrTCxTQUFuQyxDQUFiLEdBQ2pCZ04sc0JBRGlCLEdBRWpCOU8sWUFGSjtBQUdBLFVBQU00QyxVQUFVLCtDQUFHdE0sTUFBTSxDQUFDa00sTUFBRCxDQUFULDZFQUFHLGdCQUFnQjFCLEtBQW5CLDBEQUFHLHNCQUF1QitCLFFBQXZCLEVBQUgseUVBQXdDME0sWUFBeEQ7O0FBRUEsUUFBSXpOLFNBQUosRUFBZTtBQUNiUSxNQUFBQSxHQUFHLElBQUl4QyxPQUFPLENBQUNnRCxZQUFSLEVBQ0w7QUFDQTtBQUNBMUIsTUFBQUEsT0FISyxFQUlMVSxTQUpLLEVBS0p0QixNQUFELENBQW9Dc0IsU0FBcEMsQ0FMSyxFQU1MYyxVQU5LLENBQVA7QUFRRCxLQVRELE1BU087QUFDTE4sTUFBQUEsR0FBRyxJQUFJTSxVQUFQO0FBQ0QsS0F0QzBCLENBd0MzQjs7O0FBQ0EsUUFBSWYsR0FBRyxJQUFJRSxNQUFYLEVBQ0U7QUFDSDs7QUFFRE8sRUFBQUEsR0FBRyxJQUFJLFNBQVA7QUFFQSxTQUFPeEMsT0FBTyxDQUFDaUQsS0FBUixDQUFjVCxHQUFkLENBQVA7QUFDRCxDQXJHRDs7QUF1R2UsTUFBTXhDLE9BQU4sQ0FBYztBQUMzQjtBQUNGO0FBQ0E7QUFDb0IsU0FBWHNELFdBQVcsQ0FBQzVDLE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7QUFDZ0IsU0FBUG5GLE9BQU8sQ0FBQ3VGLE1BQUQsRUFBOEQ7QUFDMUUsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsU0FBVCxFQUFvQkosYUFBYSxDQUFDLFNBQUQsQ0FBakMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ29CLFNBQVhpRCxXQUFXLENBQUM3QyxNQUFELEVBQThEO0FBQzlFLFdBQU8sS0FBS3ZGLE9BQUwsQ0FBYXVGLE1BQWIsQ0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDbUIsU0FBVjhDLFVBQVUsQ0FBQzlDLE1BQUQsRUFBb0U7QUFDbkYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsWUFBVCxFQUF1QkosYUFBYSxDQUFDLFlBQUQsQ0FBcEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ3VCLFNBQWRtRCxjQUFjLENBQUMvQyxNQUFELEVBQTRFO0FBQy9GLFdBQU9PLFdBQVcsQ0FDaEJQLE1BRGdCLEVBRWhCLGdCQUZnQixFQUdoQkosYUFBYSxDQUFDLGdCQUFELEVBQW1CLENBQzlCLE1BRDhCLEVBRTlCLFdBRjhCLEVBRzlCLElBSDhCLEVBSTlCLE1BSjhCLENBQW5CLENBSEcsQ0FBbEI7QUFVRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQzJCLFNBQWxCb0Qsa0JBQWtCLENBQ3ZCaEQsTUFEdUIsRUFFYztBQUNyQyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxnQkFBVCxFQUEyQkosYUFBYSxDQUFDLGdCQUFELENBQXhDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUMwQixTQUFqQnFELGlCQUFpQixDQUN0QmpELE1BRHNCLEVBRWlCO0FBQ3ZDLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGtCQUFULEVBQTZCSixhQUFhLENBQUMsa0JBQUQsQ0FBMUMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ29CLFNBQVhzRCxXQUFXLENBQUNsRCxNQUFELEVBQXNFO0FBQ3RGLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGFBQVQsRUFBd0JKLGFBQWEsQ0FBQyxhQUFELENBQXJDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7O0FBQzZCLFNBQXBCdUQsb0JBQW9CLENBQ3pCbkQsTUFEeUIsRUFFVTtBQUNuQyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxjQUFULEVBQXlCSixhQUFhLENBQUMsY0FBRCxDQUF0QyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDb0IsU0FBWHdELFdBQVcsQ0FBQ3BELE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2UsU0FBTnlELE1BQU0sQ0FBQ3JELE1BQUQsRUFBNEQ7QUFDdkUsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsUUFBVCxFQUFtQkosYUFBYSxDQUFDLFFBQUQsQ0FBaEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7QUFDb0IsU0FBWDBELFdBQVcsQ0FBQ3RELE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2EsU0FBSjJELElBQUksQ0FBQ3ZELE1BQUQsRUFBOEQ7QUFDdkUsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFdBQXRCLEVBQ0VBLE1BQU0sR0FBRyxFQUFUO0FBQ0ZWLElBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FDRVgsTUFERixFQUVFLE1BRkYsRUFHRSxDQUFDLE1BQUQsRUFBUyxXQUFULEVBQXNCLE1BQXRCLEVBQThCLE1BQTlCLEVBQXNDLE1BQXRDLEVBQThDLFNBQTlDLENBSEY7QUFLQUEsSUFBQUEsTUFBTSxDQUFDaEssSUFBUCxHQUFjLE1BQWQ7QUFDQSxXQUFPc0osT0FBTyxDQUFDa0UsT0FBUixDQUFnQnhELE1BQWhCLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2UsU0FBTnlELE1BQU0sQ0FBQ3pELE1BQUQsRUFBOEQ7QUFDekUsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFdBQXRCLEVBQ0VBLE1BQU0sR0FBRyxFQUFUO0FBQ0ZWLElBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FDRVgsTUFERixFQUVFLFFBRkYsRUFHRSxDQUFDLE1BQUQsRUFBUyxXQUFULEVBQXNCLE1BQXRCLEVBQThCLE1BQTlCLEVBQXNDLE1BQXRDLEVBQThDLFNBQTlDLENBSEY7QUFLQUEsSUFBQUEsTUFBTSxDQUFDaEssSUFBUCxHQUFjLE1BQWQ7QUFDQSxXQUFPc0osT0FBTyxDQUFDa0UsT0FBUixDQUFnQnhELE1BQWhCLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2dCLFNBQVAwRCxPQUFPLENBQUMxRCxNQUFELEVBQThEO0FBQzFFLFFBQUksT0FBT0EsTUFBUCxLQUFrQixXQUF0QixFQUNFQSxNQUFNLEdBQUcsRUFBVDtBQUNGVixJQUFBQSxPQUFPLENBQUNxQixjQUFSLENBQ0VYLE1BREYsRUFFRSxTQUZGLEVBR0UsQ0FBQyxNQUFELEVBQVMsV0FBVCxFQUFzQixNQUF0QixFQUE4QixNQUE5QixFQUFzQyxNQUF0QyxFQUE4QyxTQUE5QyxDQUhGO0FBS0FBLElBQUFBLE1BQU0sQ0FBQ2hLLElBQVAsR0FBYyxNQUFkO0FBQ0EsV0FBT3NKLE9BQU8sQ0FBQ2tFLE9BQVIsQ0FBZ0J4RCxNQUFoQixDQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7O0FBQ2dCLFNBQVB3RCxPQUFPLENBQUN4RCxNQUFELEVBQThEO0FBQzFFLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLFNBQVQsRUFBb0JKLGFBQWEsQ0FBQyxTQUFELENBQWpDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNvQixTQUFYK0QsV0FBVyxDQUFDM0QsTUFBRCxFQUE4RDtBQUM5RTtBQUNBLFdBQU9WLE9BQU8sQ0FBQ2tFLE9BQVIsQ0FBZ0J4RCxNQUFoQixDQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNtQixTQUFWNEQsVUFBVSxDQUFDNUQsTUFBRCxFQUFzRTtBQUNyRixXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxhQUFULEVBQXdCSixhQUFhLENBQUMsYUFBRCxDQUFyQyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDbUIsU0FBVmlFLFVBQVUsQ0FBQzdELE1BQUQsRUFBb0U7QUFDbkYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsWUFBVCxFQUF1QkosYUFBYSxDQUFDLFlBQUQsQ0FBcEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2tCLFNBQVRrRSxTQUFTLENBQUM5RCxNQUFELEVBQXdFO0FBQ3RGLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGNBQVQsRUFBeUJKLGFBQWEsQ0FBQyxjQUFELENBQXRDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNtQixTQUFWbUUsVUFBVSxDQUFDL0QsTUFBRCxFQUFvRTtBQUNuRixXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxZQUFULEVBQXVCSixhQUFhLENBQUMsWUFBRCxDQUFwQyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDWSxTQUFIb0UsR0FBRyxDQUFDaEUsTUFBRCxFQUFzRDtBQUM5RCxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxLQUFULEVBQWdCSixhQUFhLENBQUMsS0FBRCxDQUE3QixDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDeUIsU0FBaEJxRSxnQkFBZ0IsQ0FDckJqRSxNQURxQixFQUVrQjtBQUN2QyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxrQkFBVCxFQUE2QkosYUFBYSxDQUFDLGtCQUFELENBQTFDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNxQixTQUFaMEMsWUFBWSxDQUNqQjFCLE9BRGlCLEVBRWpCaEwsSUFGaUIsRUFHakIwSyxLQUhpQixFQUlqQjBPLFlBSmlCLEVBS1Q7QUFDUixRQUFJMU8sS0FBSyxLQUFLZ00sU0FBZCxFQUNFaE0sS0FBSyxHQUFHME8sWUFBSCxhQUFHQSxZQUFILGNBQUdBLFlBQUgsR0FBbUJ4UCxZQUF4QjtBQUNGYyxJQUFBQSxLQUFLLEdBQUdoQixPQUFPLENBQUMyUCxLQUFSLENBQWMzTyxLQUFkLENBQVI7QUFDQSxXQUFPTSxPQUFPLEdBQUd0QixPQUFPLENBQUM0UCxZQUFSLENBQXFCdFosSUFBckIsRUFBMkIwSyxLQUEzQixDQUFILEdBQXVDQSxLQUFyRDtBQUNEOztBQUVjLFNBQVI2TyxRQUFRLENBQUNyTixHQUFELEVBQXNCO0FBQ25DLFdBQVEsTUFBS0EsR0FBSSxJQUFqQjtBQUNELEdBcE8wQixDQXNPM0I7OztBQUNtQixTQUFab04sWUFBWSxDQUFDdFosSUFBRCxFQUFlMEssS0FBZixFQUFzQztBQUN2RCxRQUFJMUssSUFBSSxDQUFDTCxRQUFMLENBQWMsR0FBZCxDQUFKLEVBQ0U2SixPQUFPLENBQUN3TSxLQUFSLENBQWMsTUFBTWhXLElBQU4sR0FBYSxpQkFBM0I7QUFDRixRQUFJQSxJQUFJLENBQUNMLFFBQUwsQ0FBYyxHQUFkLENBQUosRUFDRTZKLE9BQU8sQ0FBQ3dNLEtBQVIsQ0FBYyxNQUFNaFcsSUFBTixHQUFhLGlCQUEzQjtBQUVGLFdBQU8sUUFBUUEsSUFBUixHQUFlLEdBQWYsR0FBcUIwSyxLQUFyQixHQUE2QixHQUFwQztBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNjLFNBQUwyTyxLQUFLLENBQUMsR0FBR0csSUFBSixFQUFrRDtBQUM1RCxVQUFNQyxVQUFVLEdBQUlDLEtBQUQsSUFBd0M7QUFDekQsYUFBUSxNQUFLQSxLQUFLLENBQUN0TCxHQUFOLENBQVd1TCxJQUFELElBQVVBLElBQUksWUFBWUMsTUFBaEIsR0FBeUJELElBQUksQ0FBQy9VLE1BQTlCLEdBQXVDK1UsSUFBM0QsRUFBaUVFLElBQWpFLENBQXNFLEdBQXRFLENBQTJFLEdBQXhGO0FBQ0QsS0FGRDs7QUFHQSxRQUFJSCxLQUEwQixHQUFHLEVBQWpDOztBQUNBLFFBQUlGLElBQUksQ0FBQ2hPLE1BQUwsS0FBZ0IsQ0FBcEIsRUFBdUI7QUFDckIsVUFBSTBNLEtBQUssQ0FBQ0MsT0FBTixDQUFjcUIsSUFBSSxDQUFDLENBQUQsQ0FBbEIsQ0FBSixFQUNFRSxLQUFLLEdBQUdGLElBQUksQ0FBQyxDQUFELENBQVosQ0FERixLQUVLLElBQUlBLElBQUksQ0FBQyxDQUFELENBQVIsRUFDSEUsS0FBSyxHQUFHLENBQUNGLElBQUksQ0FBQyxDQUFELENBQUwsQ0FBUixDQURHLEtBR0hFLEtBQUssR0FBRyxFQUFSO0FBQ0gsS0FQRCxNQU9PO0FBQ0w7QUFDQUEsTUFBQUEsS0FBSyxHQUFHRixJQUFSO0FBQ0Q7O0FBQ0QsV0FBT0MsVUFBVSxDQUFDQyxLQUFELENBQWpCO0FBQ0Q7O0FBRVcsU0FBTC9NLEtBQUssQ0FBQ21OLFlBQUQsRUFBb0U7QUFDOUUsVUFBTUMsa0JBQWtCLEdBQUc7QUFDekJDLE1BQUFBLFNBQVMsRUFBRSxRQURjO0FBRXpCQyxNQUFBQSxZQUFZLEVBQUUsT0FGVztBQUd6QkMsTUFBQUEsUUFBUSxFQUFFLGNBSGU7QUFJekJDLE1BQUFBLE9BQU8sRUFBRSxnQkFKZ0I7QUFLekJDLE1BQUFBLFdBQVcsRUFBRSxrQkFMWTtBQU16QkMsTUFBQUEsUUFBUSxFQUFFLGFBTmU7QUFPekI7QUFDQTtBQUNBQyxNQUFBQSxJQUFJLEVBQUUsK0JBVG1CO0FBVXpCO0FBQ0FDLE1BQUFBLEtBQUssRUFBRTtBQVhrQixLQUEzQixDQUQ4RSxDQWU5RTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxRQUFJQyxTQUFTLEdBQUcsR0FBaEI7O0FBQ0EsUUFBSVYsWUFBWSxZQUFZRixNQUE1QixFQUFvQztBQUNsQ1ksTUFBQUEsU0FBUyxJQUFJLENBQUNWLFlBQVksQ0FBQ1csTUFBYixHQUFzQixHQUF0QixHQUE0QixFQUE3QixLQUNWWCxZQUFZLENBQUNZLFNBQWIsR0FBeUIsR0FBekIsR0FBK0IsRUFEckIsQ0FBYjtBQUVBWixNQUFBQSxZQUFZLEdBQUdBLFlBQVksQ0FBQ2xWLE1BQTVCO0FBQ0Q7O0FBQ0RrVixJQUFBQSxZQUFZLEdBQUdBLFlBQVksQ0FBQ2EsT0FBYixDQUFxQixlQUFyQixFQUFzQyxDQUFDQyxLQUFELEVBQVFDLEtBQVIsS0FBa0I7QUFDckUsYUFBT2Qsa0JBQWtCLENBQUNjLEtBQUQsQ0FBbEIsSUFBZ0VELEtBQXZFO0FBQ0QsS0FGYyxDQUFmO0FBR0EsV0FBTyxJQUFJaEIsTUFBSixDQUFXRSxZQUFYLEVBQXlCVSxTQUF6QixDQUFQO0FBQ0QsR0F2UzBCLENBeVMzQjs7O0FBQ2tCLFNBQVhNLFdBQVcsQ0FBQ2hCLFlBQUQsRUFBd0M7QUFDeEQsVUFBTWhOLEtBQUssR0FBR3BELE9BQU8sQ0FBQ2lELEtBQVIsQ0FBY21OLFlBQWQsQ0FBZDtBQUNBLFFBQUlVLFNBQVMsR0FBRyxJQUFoQjtBQUNBLFFBQUlWLFlBQVksWUFBWUYsTUFBNUIsRUFDRVksU0FBUyxJQUFLVixZQUFZLENBQUNZLFNBQWIsR0FBeUIsR0FBekIsR0FBK0IsRUFBN0M7QUFDRixXQUFPLElBQUlkLE1BQUosQ0FBVzlNLEtBQUssQ0FBQ2xJLE1BQWpCLEVBQXlCNFYsU0FBekIsQ0FBUDtBQUNEOztBQUVxQixTQUFmdlAsZUFBZSxDQUFDUCxLQUFELEVBQTJCO0FBQy9DLFFBQUksT0FBUUEsS0FBUixLQUFtQixXQUF2QixFQUNFLE9BQU8sSUFBUDtBQUNGLFdBQU8sQ0FBQyxDQUFDQSxLQUFUO0FBQ0Q7O0FBRW9CLFNBQWRLLGNBQWMsQ0FDbkJnUSxDQURtQixFQUVuQm5RLFFBRm1CLEVBR25CUixNQUhtQixFQUliO0FBQ04sUUFBSTJRLENBQUMsS0FBSyxJQUFWLEVBQ0U7QUFDRixRQUFJLE9BQU9BLENBQVAsS0FBYSxRQUFqQixFQUNFO0FBQ0YsVUFBTTVRLElBQUksR0FBR0QsTUFBTSxDQUFDQyxJQUFQLENBQVk0USxDQUFaLENBQWI7O0FBQ0EsU0FBSyxJQUFJalAsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzNCLElBQUksQ0FBQ3FCLE1BQXpCLEVBQWlDLEVBQUVNLENBQW5DLEVBQXNDO0FBQ3BDLFlBQU1MLEdBQUcsR0FBR3RCLElBQUksQ0FBQzJCLENBQUQsQ0FBaEI7O0FBQ0EsVUFBSUwsR0FBRyxJQUFJLENBQUNyQixNQUFNLENBQUN6SyxRQUFQLENBQWdCOEwsR0FBaEIsQ0FBWixFQUFrQztBQUNoQyxjQUFNLElBQUlwQyxLQUFKLENBQ0gsR0FBRXVCLFFBQVMsd0JBQXVCYSxHQUFJLE1BQXZDLEdBQ0csaUJBQWdCYSxJQUFJLENBQUNDLFNBQUwsQ0FBZW5DLE1BQWYsQ0FBdUIsRUFGdEMsQ0FBTjtBQUlEO0FBQ0Y7QUFDRjs7QUEzVTBCOzs7Ozs7Ozs7Ozs7O0FDdEk3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBT08sTUFBTTZRLFlBQVksR0FBRyxpREFBQyxNQUFELEVBQVMsT0FBVCxFQUFrQixPQUFsQixDQUFyQjtBQUlBLE1BQU1DLGtCQUFrQixHQUFHLDBCQUEzQixFQUVQOztBQUNPLE1BQU1DLGdCQUF3QyxHQUFHLGlEQUN0RCxXQURzRCxFQUV0RCxXQUZzRCxFQUd0RCxXQUhzRCxFQUl0RCxjQUpzRCxFQUt0RCxVQUxzRCxFQU10RCxpQkFOc0QsRUFPdEQsSUFQc0QsRUFRdEQsTUFSc0QsRUFTdEQsVUFUc0QsRUFVdEQsUUFWc0QsRUFXdEQsU0FYc0QsRUFZdEQsVUFac0QsRUFhdEQsS0Fic0QsRUFjdEQsT0Fkc0QsRUFldEQsYUFmc0QsRUFnQnRELGlCQWhCc0QsRUFpQnRELEtBakJzRCxFQWtCdEQsZUFsQnNELENBQWpELElBcUJQOztBQUNPLE1BQU1DLDBCQUFrRCxHQUFHLENBQ2hFLFdBRGdFLEVBRWhFLFdBRmdFLEVBR2hFLFVBSGdFLEVBSWhFLFVBSmdFLEVBS2hFLEtBTGdFLENBQTNELEVBUVA7O0FBQ08sTUFBTUMsc0JBQThDLEdBQUcsQ0FDNUQsR0FBR0QsMEJBRHlELEVBRTVELE9BRjRELENBQXZEO0FBS0EsTUFBTUUsV0FBMkMsR0FBRztBQUN6RCxVQUFRLFVBRGlEO0FBRXpELFdBQVMsV0FGZ0Q7QUFHekQsV0FBUztBQUhnRCxDQUFwRDs7QUFNUCxNQUFNQyxPQUFPLEdBQUlDLEdBQUQsSUFBNEI7QUFDMUMsTUFBSSxFQUFFQSxHQUFHLElBQUlGLFdBQVQsQ0FBSixFQUNFLE1BQU0sSUFBSWpTLEtBQUosQ0FBVyxxQkFBb0JtUyxHQUFJLEdBQW5DLENBQU47QUFDRixTQUFPRixXQUFXLENBQUNFLEdBQUQsQ0FBbEI7QUFDRCxDQUpEOztBQU1BLE1BQU1DLGVBQWUsR0FBSUQsR0FBRCxJQUE2QjtBQUNuRCxNQUFJLENBQUNBLEdBQUwsRUFDRSxPQUFPLFVBQVA7QUFDRixTQUFPRCxPQUFPLENBQUNDLEdBQUQsQ0FBZDtBQUNELENBSkQ7O0FBTUEsTUFBTUUsZ0JBQWdCLEdBQUlGLEdBQUQsSUFBNkI7QUFDcEQsTUFBSSxDQUFDQSxHQUFMLEVBQ0UsT0FBTyxXQUFQO0FBQ0YsU0FBT0QsT0FBTyxDQUFDQyxHQUFELENBQWQ7QUFDRCxDQUpEOztBQU1BLE1BQU1HLGdCQUFnQixHQUFJSCxHQUFELElBQTZCO0FBQ3BELE1BQUksQ0FBQ0EsR0FBTCxFQUNFLE9BQU8sV0FBUDtBQUNGLFNBQU9ELE9BQU8sQ0FBQ0MsR0FBRCxDQUFkO0FBQ0QsQ0FKRDs7QUFNQSxNQUFNSSxTQUFTLEdBQUl2ZCxPQUFELElBQThCO0FBQzlDO0FBQ0E7QUFDQSxNQUFJLENBQUNBLE9BQUQsSUFBWUEsT0FBTyxDQUFDRSxNQUFSLEtBQW1CRixPQUFPLENBQUN1RyxNQUEzQyxFQUNFO0FBQ0YsU0FBT3ZHLE9BQU8sQ0FBQ0UsTUFBZjtBQUNELENBTkQ7O0FBUUEsTUFBTXNkLFNBQVMsR0FBSXhkLE9BQUQsSUFBOEI7QUFDOUMsU0FBT0EsT0FBUCxhQUFPQSxPQUFQLHVCQUFPQSxPQUFPLENBQUV1RyxNQUFoQjtBQUNELENBRkQsRUFJQTs7O0FBQ0EsTUFBTWtYLFlBQVksR0FBRyxVQUNuQkMsS0FEbUIsRUFFbkJDLEtBRm1CLEVBR25CQyxLQUhtQixFQUluQkMsS0FKbUIsRUFLbkI7QUFDQSxRQUFNQyxHQUEyQixHQUFHLEVBQXBDOztBQUVBLE1BQUlKLEtBQUssS0FBS0UsS0FBZCxFQUFxQjtBQUNuQkUsSUFBQUEsR0FBRyxDQUFDSixLQUFELENBQUgsR0FBYUMsS0FBYjtBQUNBRyxJQUFBQSxHQUFHLENBQUNGLEtBQUQsQ0FBSCxHQUFhQyxLQUFiO0FBQ0QsR0FIRCxNQUdPO0FBQ0xDLElBQUFBLEdBQUcsQ0FBQ0osS0FBRCxDQUFILEdBQWEsQ0FBQzNkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQ3JFLGFBQU9KLEtBQUssQ0FBQzVkLElBQUQsRUFBT0MsT0FBUCxFQUFnQitkLE1BQWhCLENBQUwsSUFBZ0NGLEtBQUssQ0FBQzlkLElBQUQsRUFBT0MsT0FBUCxFQUFnQitkLE1BQWhCLENBQTVDO0FBQ0QsS0FGRDtBQUdEOztBQUNELFNBQU9ELEdBQVA7QUFDRCxDQWpCRDs7QUFtQkEsTUFBTUUsVUFBVSxHQUFJNWIsRUFBRCxJQUFpQjtBQUNsQyxTQUFPQSxFQUFFLElBQUlBLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxHQUF2QjtBQUNELENBRkQsRUFJQTs7O0FBQ0EsTUFBTTZiLGNBQWMsR0FBRyxDQUFDN1IsS0FBRCxFQUFpQjhSLElBQWpCLEtBQTBEO0FBQy9FLFNBQU8sQ0FBQ0MsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQXVEO0FBQzVEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0JILE1BQUFBLElBQUksRUFBRUE7QUFEdUIsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQzlSLEtBQUQsR0FBUyxDQUFDK1IsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDO0FBQUE7O0FBQUEsK0JBQXVEQSxNQUFNLENBQUNHLElBQTlELGlEQUF1RCxrQkFBQUgsTUFBTSxDQUE3RDtBQUFBO0FBREosS0FBUDtBQUdELEdBUkQ7QUFTRCxDQVZEOztBQWtCTyxNQUFNTyxTQUFTLEdBQUc7QUFDdkIvTixFQUFBQSxVQUFVLEVBQUUsQ0FBQ2dPLFNBQUQsRUFBdUJDLFFBQXZCLEtBQStDO0FBQ3pELFVBQU1DLGFBQWEsR0FBRztBQUNwQkMsTUFBQUEsUUFBUSxFQUFFL0IsK0VBRFU7QUFFcEJnQyxNQUFBQSxXQUFXLEVBQUVoQyx5RkFGTztBQUdwQmlDLE1BQUFBLGNBQWMsRUFBRWpDLCtGQUEwQmxNO0FBSHRCLEtBQXRCOztBQU1BLFVBQU1vTyxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCOztBQUNBLFVBQUksQ0FBQ0UsTUFBTCxFQUFhO0FBQUE7O0FBQ1gsWUFBSUgsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRTtBQUNGLG1DQUFPMGQsTUFBTSxDQUFDVyxRQUFkLHFEQUFPLHNCQUFBWCxNQUFNLENBQWI7QUFDRDs7QUFFRCxVQUFJN2QsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsOEJBQU84ZCxNQUFNLENBQUNZLFdBQWQsd0RBQU8seUJBQUFaLE1BQU0sQ0FBYjtBQUNILEtBVkQ7O0FBWUEsVUFBTWUsU0FBUyxHQUFHLENBQUMvZSxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMxRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4Qjs7QUFDQSxVQUFJLENBQUNFLE1BQUwsRUFBYTtBQUFBOztBQUNYLFlBQUlILElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JOLElBQUksQ0FBQ00sSUFBTCxLQUFjLFFBQTFDLEVBQ0U7QUFDRixvQ0FBTzBkLE1BQU0sQ0FBQ1csUUFBZCxzREFBTyx1QkFBQVgsTUFBTSxDQUFiO0FBQ0Q7O0FBQ0QsVUFBSTdkLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBRUYsc0NBQU84ZCxNQUFNLENBQUNhLGNBQWQsMERBQU8sMkJBQUFiLE1BQU0sRUFBa0I7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFsQixDQUFiO0FBQ0QsS0FYRDs7QUFhQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkosZ0JBQWdCLENBQUNrQixTQUFELENBRFcsRUFFM0JNLFVBRjJCLEVBRzNCekIsZUFBZSxDQUFDb0IsUUFBRCxDQUhZLEVBSTNCTSxTQUoyQixDQUE3QjtBQU1BLFdBQU8sQ0FBQ1gsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQStFO0FBQ3BGO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQTVDc0I7QUE2Q3ZCQyxFQUFBQSxjQUFjLEVBQUUsQ0FBQ0MsU0FBRCxFQUF1QkMsT0FBdkIsS0FBOEM7QUFDNUQsVUFBTVgsYUFBYSxHQUFHO0FBQ3BCdk4sTUFBQUEsUUFBUSxFQUFFeUwsMkVBRFU7QUFFcEJnQyxNQUFBQSxXQUFXLEVBQUVoQyx5RkFGTztBQUdwQmlDLE1BQUFBLGNBQWMsRUFBRWpDLCtGQUEwQmxNO0FBSHRCLEtBQXRCLENBRDRELENBTzVEOztBQUNBLFVBQU00TyxZQUFZLEdBQUcsQ0FBQ3RmLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzdFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUQsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3QkgsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQTVDLEVBQ0UsMkJBQU84ZCxNQUFNLENBQUM3TSxRQUFkLHFEQUFPLHNCQUFBNk0sTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFLQSxVQUFNdUIsVUFBVSxHQUFHLENBQUN2ZixJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMzRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUVBLFVBQUlELElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JILE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUE1QyxFQUNFO0FBRUYsVUFBSUMsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsK0JBQU84ZCxNQUFNLENBQUNZLFdBQWQseURBQU8sMEJBQUFaLE1BQU0sQ0FBYjtBQUNGLHVDQUFPQSxNQUFNLENBQUNhLGNBQWQsMkRBQU8sNEJBQUFiLE1BQU0sRUFBa0I7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFsQixDQUFiO0FBQ0QsS0FURDs7QUFXQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkgsZ0JBQWdCLENBQUM4QixPQUFELENBRFcsRUFFM0JDLFlBRjJCLEVBRzNCaEMsZ0JBQWdCLENBQUM4QixTQUFELENBSFcsRUFJM0JHLFVBSjJCLENBQTdCO0FBTUEsV0FBTyxDQUFDbkIsS0FBRCxFQUFjQyxRQUFkLEVBQWlDTCxNQUFqQyxLQUFvRDtBQUN6RDtBQUNBQSxNQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCSSxhQUEvQjtBQUNBLGFBQU9RLFFBQVA7QUFDRCxLQUpEO0FBS0QsR0FoRnNCO0FBaUZ2QnJPLEVBQUFBLFVBQVUsRUFBR3VNLEdBQUQsSUFDVixDQUFDZ0IsS0FBRCxFQUFjQyxRQUFkLEVBQWlDTCxNQUFqQyxLQUFvRDtBQUNsRDtBQUNBQSxJQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCO0FBQzdCa0IsTUFBQUEsV0FBVyxFQUFFNUMseUZBRGdCO0FBRTdCNkMsTUFBQUEsY0FBYyxFQUFFN0MsK0VBRmE7QUFHN0I4QyxNQUFBQSxXQUFXLEVBQUU5Qyx5RkFBdUI5TDtBQUhQLEtBQS9CO0FBS0EsV0FBTztBQUNMLE9BQUN1TSxlQUFlLENBQUNELEdBQUQsQ0FBaEIsR0FBd0IsQ0FBQ3BkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQ2hGLGNBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsWUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsOEJBQU84ZCxNQUFNLENBQUN3QixXQUFkLHdEQUFPLHlCQUFBeEIsTUFBTSxDQUFiOztBQUNGLFlBQUloZSxJQUFJLENBQUNNLElBQUwsS0FBYyxNQUFkLElBQXdCTixJQUFJLENBQUNRLEdBQUwsS0FBYSxLQUF6QyxFQUFnRDtBQUFBOztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUFPd2QsTUFBTSxDQUFDeUIsY0FBZCwwREFBTywyQkFBQXpCLE1BQU0sQ0FBYjtBQUNEOztBQUNELHNDQUFPQSxNQUFNLENBQUMwQixXQUFkLHdEQUFPLHlCQUFBMUIsTUFBTSxDQUFiO0FBQ0Q7QUFiSSxLQUFQO0FBZUQsR0F4R29CO0FBeUd2QjJCLEVBQUFBLGdCQUFnQixFQUFFLENBQUNuQixTQUFELEVBQXVCQyxRQUF2QixLQUErQztBQUMvRCxVQUFNQyxhQUFhLEdBQUc7QUFDcEJ6TixNQUFBQSxxQkFBcUIsRUFBRTJMLHFHQURIO0FBRXBCZ0QsTUFBQUEsd0JBQXdCLEVBQUVoRCwyR0FGTjtBQUdwQjVMLE1BQUFBLGdCQUFnQixFQUFFNEwsMkZBSEU7QUFJcEI4QyxNQUFBQSxXQUFXLEVBQUU5Qyx5RkFBdUI5TDtBQUpoQixLQUF0Qjs7QUFNQSxVQUFNZ08sVUFBVSxHQUFHLENBQUM5ZSxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMzRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4Qjs7QUFDQSxVQUFJLENBQUNFLE1BQUwsRUFBYTtBQUFBOztBQUNYLFlBQUlILElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JOLElBQUksQ0FBQ00sSUFBTCxLQUFjLFFBQTFDLEVBQ0U7QUFDRix3Q0FBTzBkLE1BQU0sQ0FBQ2hOLGdCQUFkLDBEQUFPLDJCQUFBZ04sTUFBTSxDQUFiO0FBQ0Q7O0FBRUQsVUFBSTdkLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFLGlDQUFPOGQsTUFBTSxDQUFDL00scUJBQWQsMkRBQU8sNEJBQUErTSxNQUFNLENBQWI7QUFDRixVQUFJaGUsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRSxpQ0FBTzBkLE1BQU0sQ0FBQzRCLHdCQUFkLDJEQUFPLDRCQUFBNUIsTUFBTSxFQUE0QjtBQUFFZ0IsUUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLE9BQTVCLENBQWI7QUFDSCxLQVpEOztBQWNBLFVBQU00ZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCOztBQUNBLFVBQUksQ0FBQ0UsTUFBTCxFQUFhO0FBQUE7O0FBQ1gsWUFBSUgsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRTtBQUNGLHVDQUFPMGQsTUFBTSxDQUFDMEIsV0FBZCx5REFBTywwQkFBQTFCLE1BQU0sQ0FBYjtBQUNEOztBQUNELFVBQUk3ZCxNQUFNLEtBQUtILElBQUksQ0FBQ0UsRUFBaEIsSUFBc0JGLElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQXBDLElBQThDTixJQUFJLENBQUNNLElBQUwsS0FBYyxRQUFoRSxFQUNFO0FBRUYscUNBQU8wZCxNQUFNLENBQUMwQixXQUFkLHlEQUFPLDBCQUFBMUIsTUFBTSxDQUFiO0FBQ0QsS0FYRDs7QUFhQSxVQUFNa0IsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkosZ0JBQWdCLENBQUNrQixTQUFELENBRFcsRUFFM0JNLFVBRjJCLEVBRzNCekIsZUFBZSxDQUFDb0IsUUFBRCxDQUhZLEVBSTNCTSxTQUoyQixDQUE3QjtBQU1BLFdBQU8sQ0FBQ1gsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQStFO0FBQ3BGO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQXRKc0I7QUF1SnZCek8sRUFBQUEsVUFBVSxFQUFHMk0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtFQUF2QixDQXZKdkI7QUF3SnZCdE0sRUFBQUEsR0FBRyxFQUFHOE0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLGlFQUF2QixDQXhKaEI7QUF5SnZCck0sRUFBQUEsTUFBTSxFQUFHNk0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLHVFQUF2QixDQXpKbkI7QUEwSnZCeEwsRUFBQUEsTUFBTSxFQUFHZ00sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLHVFQUF2QixDQTFKbkI7QUEySnZCO0FBQ0F2TCxFQUFBQSxXQUFXLEVBQUcrTCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixpRkFBeEIsQ0E1SnhCO0FBNkp2QjtBQUNBdEwsRUFBQUEsV0FBVyxFQUFHOEwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBOUp4QjtBQStKdkJpRCxFQUFBQSxhQUFhLEVBQUd6QyxHQUFELElBQ2IsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3Qi9NLE1BQUFBLFVBQVUsRUFBRXFMLCtFQURpQjtBQUU3QmtELE1BQUFBLGFBQWEsRUFBRWxELHFGQUFxQnBMO0FBRlAsS0FBL0I7QUFJQSxXQUFPO0FBQ0wsT0FBQzhMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFLDZCQUFPOGQsTUFBTSxDQUFDek0sVUFBZCx1REFBTyx3QkFBQXlNLE1BQU0sQ0FBYjtBQUNGLHdDQUFPQSxNQUFNLENBQUM4QixhQUFkLDBEQUFPLDJCQUFBOUIsTUFBTSxFQUFpQjtBQUFFZ0IsVUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLFNBQWpCLENBQWI7QUFDRDtBQU5JLEtBQVA7QUFRRCxHQTlLb0I7QUErS3ZCc1IsRUFBQUEsV0FBVyxFQUFHMkwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLGlGQUF2QixDQS9LeEI7QUFnTHZCbEwsRUFBQUEsV0FBVyxFQUFHMEwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBaEx4QjtBQWlMdkJqTCxFQUFBQSxlQUFlLEVBQUd5TCxHQUFELElBQW9CO0FBQ25DLFdBQU9jLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHlGQUF4QixDQUFyQjtBQUNELEdBbkxzQjtBQW9MdkJoTCxFQUFBQSxlQUFlLEVBQUd3TCxHQUFELElBQW9CO0FBQ25DLFdBQU9jLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHlGQUF4QixDQUFyQjtBQUNELEdBdExzQjtBQXVMdkI5SyxFQUFBQSxTQUFTLEVBQUdzTCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUiw2RUFBeEIsQ0F2THRCO0FBd0x2Qm1ELEVBQUFBLFdBQVcsRUFBRSxDQUFDdkIsU0FBRCxFQUF1QkMsUUFBdkIsS0FBK0M7QUFDMUQsVUFBTUMsYUFBYSxHQUFHO0FBQ3BCM00sTUFBQUEsY0FBYyxFQUFFNkssdUZBREk7QUFFcEJvRCxNQUFBQSxpQkFBaUIsRUFBRXBELDZGQUF5QjVLO0FBRnhCLEtBQXRCOztBQUtBLFVBQU04TSxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsZ0NBQU84ZCxNQUFNLENBQUNqTSxjQUFkLDBEQUFPLDJCQUFBaU0sTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFNQSxVQUFNZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsZ0NBQU84ZCxNQUFNLENBQUNnQyxpQkFBZCwwREFBTywyQkFBQWhDLE1BQU0sRUFBcUI7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFyQixDQUFiO0FBQ0gsS0FKRDs7QUFLQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkwsZUFBZSxDQUFDbUIsU0FBRCxDQURZLEVBRTNCTSxVQUYyQixFQUczQnpCLGVBQWUsQ0FBQ29CLFFBQUQsQ0FIWSxFQUkzQk0sU0FKMkIsQ0FBN0I7QUFNQSxXQUFPLENBQUNYLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDekQ7QUFDQUEsTUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQkksYUFBL0I7QUFDQSxhQUFPUSxRQUFQO0FBQ0QsS0FKRDtBQUtELEdBcE5zQjtBQXFOdkJyTixFQUFBQSxNQUFNLEVBQUd1TCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsdUVBQXZCLENBck5uQjtBQXNOdkJxRCxFQUFBQSxXQUFXLEVBQUc3QyxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIseUZBQXZCLENBdE54QjtBQXVOdkIxSyxFQUFBQSxRQUFRLEVBQUdrTCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBdk5yQjtBQXdOdkJ4SyxFQUFBQSxrQkFBa0IsRUFBR2dMLEdBQUQsSUFDbEIsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjRCLE1BQUFBLFlBQVksRUFBRXRELCtGQUEwQnhLO0FBRFgsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ2tMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBQ0YsY0FBTTBCLElBQUksR0FBR3FjLFVBQVUsQ0FBQ2hlLE9BQUQsYUFBQ0EsT0FBRCx1QkFBQ0EsT0FBTyxDQUFFeUcsUUFBVixDQUFWLEdBQWdDMUcsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZixDQUFoQyxHQUF5REEsTUFBdEU7QUFDQSx1Q0FBTzZkLE1BQU0sQ0FBQ2tDLFlBQWQseURBQU8sMEJBQUFsQyxNQUFNLEVBQWdCO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUVBO0FBQVIsU0FBaEIsQ0FBYjtBQUNEO0FBUEksS0FBUDtBQVNELEdBdk9vQjtBQXdPdkJ1ZSxFQUFBQSxrQkFBa0IsRUFBRy9DLEdBQUQsSUFDbEIsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjRCLE1BQUFBLFlBQVksRUFBRXRELCtGQUEwQnhLO0FBRFgsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ2tMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNeFgsTUFBTSxHQUFHaVgsU0FBUyxDQUFDeGQsT0FBRCxDQUF4QjtBQUNBLFlBQUl1RyxNQUFNLEtBQUt4RyxJQUFJLENBQUNFLEVBQXBCLEVBQ0U7QUFDRixjQUFNMEIsSUFBSSxHQUFHcWMsVUFBVSxDQUFDaGUsT0FBRCxhQUFDQSxPQUFELHVCQUFDQSxPQUFPLENBQUVzRyxRQUFWLENBQVYsR0FBZ0N2RyxJQUFJLENBQUNpZixTQUFMLENBQWV6WSxNQUFmLENBQWhDLEdBQXlEQSxNQUF0RTtBQUNBLHdDQUFPd1gsTUFBTSxDQUFDa0MsWUFBZCwwREFBTywyQkFBQWxDLE1BQU0sRUFBZ0I7QUFBRXBjLFVBQUFBLElBQUksRUFBRUE7QUFBUixTQUFoQixDQUFiO0FBQ0Q7QUFQSSxLQUFQO0FBU0QsR0F2UG9CO0FBd1B2QnlRLEVBQUFBLFNBQVMsRUFBRytLLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLDZFQUF4QixDQXhQdEI7QUF5UHZCdEssRUFBQUEsY0FBYyxFQUFHOEssR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsdUZBQXhCLENBelAzQjtBQTBQdkI7QUFDQXBLLEVBQUFBLFFBQVEsRUFBRzRLLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUiwyRUFBdkIsQ0EzUHJCO0FBNFB2QjtBQUNBd0QsRUFBQUEsS0FBSyxFQUFHaEQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIscUVBQXhCLENBN1BsQjtBQThQdkI7QUFDQXlELEVBQUFBLE1BQU0sRUFBR2pELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLGlFQUF4QixDQS9QbkI7QUFnUXZCakssRUFBQUEsVUFBVSxFQUFHeUssR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtFQUF2QixDQWhRdkI7QUFpUXZCMEQsRUFBQUEsWUFBWSxFQUFHbEQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLDZFQUF2QixDQWpRekI7QUFrUXZCMkQsRUFBQUEsWUFBWSxFQUFHbkQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLDZFQUF2QixDQWxRekI7QUFtUXZCNEQsRUFBQUEsZ0JBQWdCLEVBQUdwRCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIscUZBQXZCLENBblE3QjtBQW9RdkI2RCxFQUFBQSxnQkFBZ0IsRUFBR3JELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixxRkFBdkIsQ0FwUTdCO0FBcVF2QjhELEVBQUFBLFFBQVEsRUFBR3RELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLG1GQUF4QixDQXJRckI7QUFzUXZCK0QsRUFBQUEsT0FBTyxFQUFHdkQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIscUVBQXhCLENBdFFwQjtBQXVRdkJnRSxFQUFBQSxNQUFNLEVBQUd4RCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixtRUFBeEIsQ0F2UW5CO0FBd1F2QmlFLEVBQUFBLE1BQU0sRUFBR3pELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHVGQUF4QixDQXhRbkI7QUF5UXZCa0UsRUFBQUEsTUFBTSxFQUFHMUQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIseUZBQXhCLENBelFuQjtBQTBRdkJ2SixFQUFBQSxXQUFXLEVBQUcrSixHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixpRkFBeEIsQ0ExUXhCO0FBMlF2Qm1FLEVBQUFBLE9BQU8sRUFBRzNELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHFFQUF4QixDQTNRcEI7QUE0UXZCO0FBQ0FwSixFQUFBQSxRQUFRLEVBQUc0SixHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBN1FyQjtBQThRdkI7QUFDQW5KLEVBQUFBLFlBQVksRUFBRzJKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixtRkFBdkIsQ0EvUXpCO0FBZ1J2QmxKLEVBQUFBLGFBQWEsRUFBRzBKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHFGQUF4QixDQWhSMUI7QUFpUnZCb0UsRUFBQUEsS0FBSyxFQUFHNUQsR0FBRCxJQUNMLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0IwQyxNQUFBQSxLQUFLLEVBQUVwRSxpRkFBbUJqSjtBQURHLEtBQS9CO0FBR0EsV0FBTztBQUNMLE9BQUMySixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixHQUF5QixDQUFDZ0IsS0FBRCxFQUFjbmUsT0FBZCxFQUF3QytkLE1BQXhDLEtBQTJEO0FBQUE7O0FBQ2xGLGNBQU14WCxNQUFNLEdBQUdpWCxTQUFTLENBQUN4ZCxPQUFELENBQXhCO0FBQ0EsZ0NBQU8rZCxNQUFNLENBQUNnRCxLQUFkLGtEQUFPLG1CQUFBaEQsTUFBTSxFQUFTO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUU0RTtBQUFSLFNBQVQsQ0FBYjtBQUNEO0FBSkksS0FBUDtBQU1ELEdBN1JvQjtBQThSdkJ5YSxFQUFBQSx5QkFBeUIsRUFBRzdELEdBQUQsSUFBb0I7QUFDN0MsV0FBTyxDQUFDZ0IsS0FBRCxFQUFjQyxRQUFkLEVBQXlDTCxNQUF6QyxLQUE0RDtBQUNqRTtBQUNBQSxNQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCO0FBQzdCNEMsUUFBQUEsSUFBSSxFQUFFdEUsK0VBRHVCO0FBRTdCdUUsUUFBQUEsU0FBUyxFQUFFdkUseUZBQXVCL0k7QUFGTCxPQUEvQjtBQUtBLGFBQU87QUFDTCxTQUFDeUosZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsR0FBeUIsQ0FBQ3BkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQ2pGLGdCQUFNeFgsTUFBTSxHQUFHaVgsU0FBUyxDQUFDeGQsT0FBRCxDQUF4QjtBQUNBLGNBQUlELElBQUksQ0FBQ29oQixVQUFMLEVBQUosRUFDRSw0QkFBT3BELE1BQU0sQ0FBQ21ELFNBQWQsc0RBQU8sdUJBQUFuRCxNQUFNLEVBQWE7QUFBRXBjLFlBQUFBLElBQUksRUFBRTRFO0FBQVIsV0FBYixDQUFiLENBREYsS0FFSyxJQUFJeEcsSUFBSSxDQUFDcWhCLE9BQUwsRUFBSixFQUNILHVCQUFPckQsTUFBTSxDQUFDa0QsSUFBZCxpREFBTyxrQkFBQWxELE1BQU0sRUFBUTtBQUFFcGMsWUFBQUEsSUFBSSxFQUFFNEU7QUFBUixXQUFSLENBQWI7QUFDSDtBQVBJLE9BQVA7QUFTRCxLQWhCRDtBQWlCRCxHQWhUc0I7QUFpVHZCMGEsRUFBQUEsSUFBSSxFQUFHOUQsR0FBRCxJQUNKLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0I0QyxNQUFBQSxJQUFJLEVBQUV0RSwrRUFBa0JoSjtBQURLLEtBQS9CO0FBR0EsV0FBTztBQUNMLE9BQUMwSixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixHQUF5QixDQUFDZ0IsS0FBRCxFQUFjbmUsT0FBZCxFQUF3QytkLE1BQXhDLEtBQTJEO0FBQUE7O0FBQ2xGLGNBQU14WCxNQUFNLEdBQUdpWCxTQUFTLENBQUN4ZCxPQUFELENBQXhCO0FBQ0EsZ0NBQU8rZCxNQUFNLENBQUNrRCxJQUFkLGtEQUFPLG1CQUFBbEQsTUFBTSxFQUFRO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUU0RTtBQUFSLFNBQVIsQ0FBYjtBQUNEO0FBSkksS0FBUDtBQU1ELEdBN1RvQjtBQThUdkIyYSxFQUFBQSxTQUFTLEVBQUcvRCxHQUFELElBQ1QsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjZDLE1BQUFBLFNBQVMsRUFBRXZFLHlGQUF1Qi9JO0FBREwsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ3lKLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNnQixLQUFELEVBQWNuZSxPQUFkLEVBQXdDK2QsTUFBeEMsS0FBMkQ7QUFBQTs7QUFDbEYsY0FBTXhYLE1BQU0sR0FBR2lYLFNBQVMsQ0FBQ3hkLE9BQUQsQ0FBeEI7QUFDQSxxQ0FBTytkLE1BQU0sQ0FBQ21ELFNBQWQsdURBQU8sd0JBQUFuRCxNQUFNLEVBQWE7QUFBRXBjLFVBQUFBLElBQUksRUFBRTRFO0FBQVIsU0FBYixDQUFiO0FBQ0Q7QUFKSSxLQUFQO0FBTUQsR0ExVW9CO0FBMlV2QjhhLEVBQUFBLE1BQU0sRUFBRSxDQUFDOUMsU0FBRCxFQUF1QkMsUUFBdkIsS0FBK0M7QUFDckQsVUFBTUMsYUFBYSxHQUFHO0FBQ3BCNUssTUFBQUEsU0FBUyxFQUFFOEksNkVBRFM7QUFFcEIyRSxNQUFBQSxZQUFZLEVBQUUzRSxtRkFBb0I3STtBQUZkLEtBQXRCOztBQUtBLFVBQU0rSyxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUQsSUFBSSxDQUFDRSxFQUFMLEtBQVlDLE1BQWhCLEVBQ0UsNEJBQU82ZCxNQUFNLENBQUNsSyxTQUFkLHNEQUFPLHVCQUFBa0ssTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFNQSxVQUFNZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsK0JBQU84ZCxNQUFNLENBQUN1RCxZQUFkLHlEQUFPLDBCQUFBdkQsTUFBTSxFQUFnQjtBQUFFZ0IsUUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLE9BQWhCLENBQWI7QUFDSCxLQUpEOztBQU1BLFVBQU0rZSxRQUFRLEdBQUd4QixZQUFZLENBQzNCSixnQkFBZ0IsQ0FBQ2tCLFNBQUQsQ0FEVyxFQUUzQk0sVUFGMkIsRUFHM0J6QixlQUFlLENBQUNvQixRQUFELENBSFksRUFJM0JNLFNBSjJCLENBQTdCO0FBTUEsV0FBTyxDQUFDWCxLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ3pEO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQXhXc0I7QUF5V3ZCc0MsRUFBQUEsUUFBUSxFQUFHcEUsR0FBRCxJQUNSLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0J0SyxNQUFBQSxhQUFhLEVBQUU0SSxxRkFEYztBQUU3QjZFLE1BQUFBLGNBQWMsRUFBRTdFLHVGQUFzQjNJO0FBRlQsS0FBL0I7QUFJQSxXQUFPO0FBQ0wsT0FBQ3FKLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlELElBQUksQ0FBQ0UsRUFBTCxLQUFZQyxNQUFoQixFQUNFLGdDQUFPNmQsTUFBTSxDQUFDaEssYUFBZCwwREFBTywyQkFBQWdLLE1BQU0sQ0FBYjtBQUNGLHdDQUFPQSxNQUFNLENBQUN5RCxjQUFkLDBEQUFPLDJCQUFBekQsTUFBTSxFQUFrQjtBQUFFZ0IsVUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLFNBQWxCLENBQWI7QUFDRDtBQU5JLEtBQVA7QUFRRCxHQXhYb0I7QUF5WHZCK1QsRUFBQUEsV0FBVyxFQUFHa0osR0FBRCxJQUFvQmMsY0FBYyxDQUFDWCxnQkFBZ0IsQ0FBQ0gsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBelh4QjtBQTBYdkJ6SSxFQUFBQSxVQUFVLEVBQUdpSixHQUFELElBQW9CYyxjQUFjLENBQUNYLGdCQUFnQixDQUFDSCxHQUFELENBQWpCLEVBQXdCUiwrRUFBeEIsQ0ExWHZCO0FBMlh2QnhJLEVBQUFBLGNBQWMsRUFBR2dKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1gsZ0JBQWdCLENBQUNILEdBQUQsQ0FBakIsRUFBd0JSLHVGQUF4QixDQTNYM0I7QUE0WHZCO0FBQ0F2SSxFQUFBQSxRQUFRLEVBQUcrSSxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBN1hyQjtBQThYdkI7QUFDQXRJLEVBQUFBLFVBQVUsRUFBRzhJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUiwrRUFBdkIsQ0EvWHZCO0FBZ1l2QnJJLEVBQUFBLFdBQVcsRUFBRzZJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixpRkFBdkIsQ0FoWXhCO0FBaVl2QnBJLEVBQUFBLGtCQUFrQixFQUFHNEksR0FBRCxJQUNsQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtGQUF2QixDQWxZTztBQW1ZdkI4RSxFQUFBQSxXQUFXLEVBQUd0RSxHQUFELElBQ1gsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3Qm9ELE1BQUFBLFdBQVcsRUFBRTlFLDJGQUF3Qm5JO0FBRFIsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQzZJLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBQ0Ysc0NBQU84ZCxNQUFNLENBQUMwRCxXQUFkLHdEQUFPLHlCQUFBMUQsTUFBTSxDQUFiO0FBQ0Q7QUFOSSxLQUFQO0FBUUQsR0FqWm9CO0FBa1p2QnRKLEVBQUFBLE1BQU0sRUFBRzBJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1gsZ0JBQWdCLENBQUNILEdBQUQsQ0FBakIsRUFBd0JSLHVFQUF4QjtBQWxabkIsQ0FBbEIsRUFxWlA7QUFDQTtBQUNBOztBQUNBLE1BQU0rRSx3QkFBc0MsR0FBR3BELFNBQS9DLEVBQ0E7O0FBQ0FuVCxPQUFPLENBQUNDLE1BQVIsQ0FBZXNXLHdCQUFmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNsa0JBOztBQUNBO0FBRUE7QUFJQTtDQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0EsTUFBTUUsVUFBVSxHQUFHRCw0REFBbkI7QUFDQTtBQUNBLE1BQU1HLFdBQVcsR0FBR0QsOERBQXBCO0FBQ0E7QUFDQSxNQUFNbFUsVUFBVSxHQUFHb1UsNERBQW5CO0FBQ0E7QUFDQSxNQUFNMVcsT0FBTyxHQUFHMlcseURBQWhCO0FBQ0E7QUFDQSxNQUFNMUQsU0FBUyxHQUFHMkQsMkRBQWxCO0FBQ0E7QUFDQSxNQUFNdEYsT0FBTyxHQUFHdUYseURBQWhCO0FBQ0E7QUFDQSxNQUFNRSxJQUFJLEdBQUdELHNEQUFiO0FBQ0E7QUFDQSxNQUFNRyxNQUFNLEdBQUdELDBEQUFmO0FBQ0E7QUFDQSxNQUFNRyxRQUFRLEdBQUdELDREQUFqQixFQUVBO0FBQ0E7O0FBQ0FwWCxPQUFPLENBQUNDLE1BQVIsQ0FDRXdXLFVBQVUsSUFBSUUsV0FBZCxJQUE2Qm5VLFVBQTdCLElBQTJDdEMsT0FBM0MsSUFDRWlULFNBREYsSUFDZTNCLE9BRGYsSUFDMEJ5RixJQUQxQixJQUNrQ0UsTUFEbEMsSUFDNENFLFFBRjlDLEdBS0E7O0FBMkJBLE1BQU1DLFVBQU4sQ0FBaUI7QUFBQTtBQUFBLDZDQUNzRCxFQUR0RDs7QUFBQSwrQ0FFeUQsRUFGekQ7O0FBQUEseUNBR21CLEVBSG5CO0FBQUE7O0FBS2ZDLEVBQUFBLHFCQUFxQixHQUFnQjtBQUNuQyxXQUFPO0FBQ0xDLE1BQUFBLGNBQWMsRUFBRSxJQURYO0FBRUxDLE1BQUFBLFdBQVcsRUFBRSxJQUZSO0FBR0xDLE1BQUFBLGVBQWUsRUFBRSxJQUhaO0FBSUxDLE1BQUFBLGlCQUFpQixFQUFFLElBSmQ7QUFLTEMsTUFBQUEsa0JBQWtCLEVBQUUsSUFMZjtBQU1MQyxNQUFBQSxtQkFBbUIsRUFBRSxLQU5oQjtBQU9MQyxNQUFBQSx3QkFBd0IsRUFBRTtBQVByQixLQUFQO0FBU0Q7O0FBRURDLEVBQUFBLFlBQVksQ0FBQ0MsT0FBRCxFQUFrQkMsT0FBbEIsRUFBOEM7QUFDeEQsVUFBTUMsT0FBTyxHQUFHRCxPQUFoQjtBQUNBalksSUFBQUEsT0FBTyxDQUFDQyxNQUFSLENBQWVpWSxPQUFmLEVBRndELENBRS9CO0FBRXpCO0FBQ0E7QUFDQTtBQUNBOztBQUNBOztBQUNBQyxJQUFBQSxJQUFJLENBQUNILE9BQUQsQ0FBSjtBQUNBO0FBQ0Q7O0FBRURJLEVBQUFBLGVBQWUsQ0FDYkMsV0FEYSxFQUViQyxjQUZhLEVBR2JDLGdCQUhhLEVBSWI7QUFDQSxTQUFLQyxlQUFMLENBQXFCSCxXQUFyQixJQUFvQ0MsY0FBcEM7QUFDQSxRQUFJQyxnQkFBSixFQUNFLEtBQUtFLGlCQUFMLENBQXVCSixXQUF2QixJQUFzQ0UsZ0JBQXRDO0FBQ0g7O0FBRURHLEVBQUFBLGFBQWEsQ0FBQy9YLElBQUQsRUFBaUI7QUFDNUI7QUFDQSxVQUFNZ1ksV0FBc0MsR0FBRyxFQUEvQzs7QUFDQSxTQUFLLE1BQU0xVyxHQUFYLElBQWtCdEIsSUFBbEIsRUFDRWdZLFdBQVcsQ0FBQzFXLEdBQUQsQ0FBWCxHQUFtQkEsR0FBRyxDQUFDeU4sV0FBSixHQUFrQmtKLEtBQWxCLENBQXdCLE9BQXhCLENBQW5CLENBSjBCLENBTTVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxXQUFPalksSUFBSSxDQUFDZ0IsSUFBTCxDQUFVLENBQUNrWCxJQUFELEVBQU9DLElBQVAsS0FBZ0I7QUFDL0IsWUFBTUMsS0FBSyxHQUFHSixXQUFXLENBQUNFLElBQUQsQ0FBekI7QUFDQSxZQUFNRyxLQUFLLEdBQUdMLFdBQVcsQ0FBQ0csSUFBRCxDQUF6QjtBQUNBLFVBQUlDLEtBQUssS0FBSzdMLFNBQVYsSUFBdUI4TCxLQUFLLEtBQUs5TCxTQUFyQyxFQUNFLE1BQU0sSUFBSXBJLGtFQUFKLEVBQU47QUFFRixZQUFNbVUsTUFBTSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU0osS0FBSyxDQUFDL1csTUFBZixFQUF1QmdYLEtBQUssQ0FBQ2hYLE1BQTdCLENBQWY7O0FBQ0EsV0FBSyxJQUFJb1gsR0FBRyxHQUFHLENBQWYsRUFBa0JBLEdBQUcsR0FBR0gsTUFBeEIsRUFBZ0MsRUFBRUcsR0FBbEMsRUFBdUM7QUFDckMsY0FBTUMsTUFBTSxHQUFHTixLQUFLLENBQUNLLEdBQUQsQ0FBcEI7QUFDQSxjQUFNRSxNQUFNLEdBQUdOLEtBQUssQ0FBQ0ksR0FBRCxDQUFwQixDQUZxQyxDQUdyQzs7QUFDQSxZQUFJQyxNQUFNLEtBQUtuTSxTQUFYLElBQXdCb00sTUFBTSxLQUFLcE0sU0FBdkMsRUFDRSxNQUFNLElBQUlwSSxrRUFBSixFQUFOLENBTG1DLENBT3JDOztBQUNBLGNBQU15VSxPQUFPLEdBQUdSLEtBQUssQ0FBQy9XLE1BQU4sR0FBZSxDQUFmLEtBQXFCb1gsR0FBckM7QUFDQSxjQUFNSSxPQUFPLEdBQUdSLEtBQUssQ0FBQ2hYLE1BQU4sR0FBZSxDQUFmLEtBQXFCb1gsR0FBckM7O0FBRUEsWUFBSUcsT0FBTyxJQUFJQyxPQUFmLEVBQXdCO0FBQ3RCO0FBRUE7QUFDQSxnQkFBTUMsS0FBSyxHQUFHSixNQUFNLENBQUNsSSxPQUFQLENBQWUsV0FBZixFQUE0QixFQUE1QixDQUFkO0FBQ0EsZ0JBQU11SSxLQUFLLEdBQUdKLE1BQU0sQ0FBQ25JLE9BQVAsQ0FBZSxXQUFmLEVBQTRCLEVBQTVCLENBQWQ7QUFDQSxnQkFBTXdJLGdCQUFnQixHQUFHRixLQUFLLENBQUNHLGFBQU4sQ0FBb0JGLEtBQXBCLENBQXpCO0FBQ0EsY0FBSUMsZ0JBQUosRUFDRSxPQUFPQSxnQkFBUCxDQVJvQixDQVV0QjtBQUNBOztBQUNBLGlCQUFPTixNQUFNLENBQUNPLGFBQVAsQ0FBcUJOLE1BQXJCLENBQVA7QUFDRCxTQWJELE1BYU8sSUFBSSxDQUFDQyxPQUFELElBQVksQ0FBQ0MsT0FBakIsRUFBMEI7QUFDL0I7QUFDQSxnQkFBTUssSUFBSSxHQUFHUixNQUFNLENBQUNPLGFBQVAsQ0FBcUJOLE1BQXJCLENBQWI7QUFDQSxjQUFJTyxJQUFKLEVBQ0UsT0FBT0EsSUFBUDtBQUNILFNBN0JvQyxDQStCckM7QUFDQTtBQUNBO0FBQ0E7OztBQUVBLFlBQUlkLEtBQUssQ0FBQy9XLE1BQU4sR0FBZSxDQUFmLElBQW9Cb1gsR0FBeEIsRUFBNkI7QUFDM0I7QUFDQSxpQkFBTyxDQUFQO0FBQ0Q7O0FBQ0QsWUFBSUosS0FBSyxDQUFDaFgsTUFBTixHQUFlLENBQWYsSUFBb0JvWCxHQUF4QixFQUE2QjtBQUMzQjtBQUNBLGlCQUFPLENBQUMsQ0FBUjtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxDQUFQO0FBQ0QsS0FyRE0sQ0FBUDtBQXNERCxHQTlHYyxDQWdIZjtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0FVLEVBQUFBLGVBQWUsQ0FBQ0MsS0FBRCxFQUFrQkMsZUFBbEIsRUFBMkNDLGFBQTNDLEVBQWtFO0FBQy9FLFVBQU1DLFNBQVMsR0FBR0QsYUFBYSxDQUFDRSxXQUFkLEVBQWxCO0FBQ0EsVUFBTTlCLFdBQVcsR0FBRzJCLGVBQWUsQ0FBQ0csV0FBaEIsRUFBcEI7QUFDQSxXQUFPSixLQUFLLENBQUMxWCxNQUFOLENBQWMrWCxRQUFELElBQWM7QUFDaEMsWUFBTUMsSUFBSSxHQUFHRCxRQUFRLENBQUNELFdBQVQsRUFBYjtBQUNBLFVBQUksQ0FBQ0UsSUFBSSxDQUFDQyxRQUFMLENBQWNKLFNBQWQsQ0FBTCxFQUNFLE9BQU8sS0FBUDtBQUNGLFVBQUlHLElBQUksS0FBTSxHQUFFaEMsV0FBWSxHQUFFNkIsU0FBVSxFQUF4QyxFQUNFLE9BQU8sSUFBUDtBQUNGLFVBQUlHLElBQUksQ0FBQ0UsVUFBTCxDQUFpQixHQUFFbEMsV0FBWSxHQUEvQixLQUFzQ2dDLElBQUksQ0FBQ0UsVUFBTCxDQUFpQixHQUFFbEMsV0FBWSxJQUEvQixDQUExQyxFQUNFLE9BQU8sSUFBUDtBQUNGLGFBQU8sS0FBUDtBQUNELEtBVE0sQ0FBUDtBQVVEOztBQUVEbUMsRUFBQUEscUJBQXFCLENBQUNuQyxXQUFELEVBQXNCSixPQUF0QixFQUE0Q3dDLFFBQTVDLEVBQWtFO0FBQ3JGLFFBQUlDLGtCQUFrQixHQUFHLEtBQXpCOztBQUNBLFVBQU1DLFVBQVUsR0FBRyxNQUFNO0FBQ3ZCLFVBQUlELGtCQUFKLEVBQ0U7QUFDRkEsTUFBQUEsa0JBQWtCLEdBQUcsSUFBckI7QUFDQTNPLE1BQUFBLE1BQU0sQ0FBQ21DLFFBQVAsQ0FBZ0IwTSxNQUFoQjtBQUNELEtBTEQ7O0FBT0FsTyxJQUFBQSxpRkFBa0IsQ0FBQyxtQkFBRCxFQUFzQixNQUFNO0FBQzVDaU8sTUFBQUEsVUFBVTtBQUNYLEtBRmlCLENBQWxCO0FBR0FqTyxJQUFBQSxpRkFBa0IsQ0FBQyxlQUFELEVBQWtCLE1BQU07QUFDeENpTyxNQUFBQSxVQUFVO0FBQ1gsS0FGaUIsQ0FBbEI7QUFJQSxTQUFLRSxhQUFMLENBQW1CeEMsV0FBbkIsRUFBZ0NKLE9BQWhDLEVBQXlDd0MsUUFBekM7QUFDRDs7QUFFREksRUFBQUEsYUFBYSxDQUFDeEMsV0FBRCxFQUFzQkosT0FBdEIsRUFBNEN3QyxRQUE1QyxFQUFrRTtBQUM3RSxVQUFNSyxXQUFXLEdBQUdqTixpRkFBa0IsQ0FBQztBQUNyQ2pCLE1BQUFBLElBQUksRUFBRSxpQkFEK0I7QUFFckNtTyxNQUFBQSxPQUFPLEVBQUU7QUFGNEIsS0FBRCxDQUF0Qzs7QUFLQSxVQUFNQyxRQUFRLEdBQUcsTUFBT3pPLENBQVAsSUFBNkM7QUFBQTs7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsWUFBTTBPLFFBQVEsR0FBRzFPLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU0MsWUFBVCxDQUFzQmhLLE9BQXRCLENBQThCLFNBQTlCLEVBQXlDLEVBQXpDLElBQStDLElBQWhFO0FBQ0EsWUFBTWlLLFVBQVUsR0FBRzdPLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU0csY0FBNUIsQ0FMNEQsQ0FPNUQ7QUFDQTtBQUVBOztBQUNBLFVBQUk5TyxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQWIsRUFBdUI7QUFDckJyRCxRQUFBQSxPQUFPLENBQUNULGNBQVIsR0FBeUJqTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQWxDO0FBQ0FyRCxRQUFBQSxPQUFPLENBQUNSLFdBQVIsR0FBc0JsTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQS9CO0FBQ0FyRCxRQUFBQSxPQUFPLENBQUNQLGVBQVIsR0FBMEJuTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQW5DO0FBQ0QsT0FmMkQsQ0FnQjVEOzs7QUFDQSxVQUFJL08sQ0FBQyxDQUFDMk8sTUFBRixDQUFTSyxjQUFiLEVBQTZCO0FBQzNCdEQsUUFBQUEsT0FBTyxDQUFDVCxjQUFSLEdBQXlCakwsQ0FBQyxDQUFDMk8sTUFBRixDQUFTSyxjQUFsQyxDQUQyQixDQUUzQjs7QUFDQXRELFFBQUFBLE9BQU8sQ0FBQ3VELFFBQVIsR0FBbUJqUCxDQUFDLENBQUMyTyxNQUFGLENBQVNLLGNBQTVCO0FBQ0QsT0FyQjJELENBc0I1RDs7O0FBQ0EsVUFBSWhQLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU08sWUFBYixFQUEyQjtBQUN6QnhELFFBQUFBLE9BQU8sQ0FBQ3lELFlBQVIsR0FBdUJuUCxDQUFDLENBQUMyTyxNQUFGLENBQVNPLFlBQWhDO0FBQ0EsWUFBSUUsV0FBVyxHQUFHcFAsQ0FBQyxDQUFDMk8sTUFBRixDQUFTTyxZQUFULENBQXNCRyxTQUF0QixDQUFnQyxDQUFoQyxFQUFtQyxDQUFuQyxDQUFsQjtBQUNBLFlBQUlELFdBQVcsS0FBSyxJQUFwQixFQUNFQSxXQUFXLEdBQUcsSUFBZDtBQUNGLFlBQUkzbEIsNERBQU0sQ0FBQzJsQixXQUFELENBQVYsRUFDRTFELE9BQU8sQ0FBQ1IsV0FBUixHQUFzQmtFLFdBQXRCLENBREYsS0FHRTFELE9BQU8sQ0FBQ1IsV0FBUixHQUFzQlEsT0FBTyxDQUFDVCxjQUE5QjtBQUNILE9BaEMyRCxDQWlDNUQ7OztBQUNBLFlBQU1xRSxXQUFXLEdBQUd0UCxDQUFDLENBQUMyTyxNQUFGLENBQVNZLGVBQTdCO0FBQ0EsVUFBSTlsQiw0REFBTSxDQUFDNmxCLFdBQUQsQ0FBVixFQUNFNUQsT0FBTyxDQUFDUCxlQUFSLEdBQTBCbUUsV0FBMUIsQ0FERixLQUdFNUQsT0FBTyxDQUFDUCxlQUFSLEdBQTBCTyxPQUFPLENBQUNULGNBQVIsSUFBMEIsSUFBcEQsQ0F0QzBELENBd0M1RDs7QUFDQXVFLE1BQUFBLFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsU0FBekIsQ0FBbUNDLEdBQW5DLENBQXdDLFFBQU9qRSxPQUFPLENBQUNQLGVBQWdCLEVBQXZFO0FBQ0FxRSxNQUFBQSxRQUFRLENBQUNDLGVBQVQsQ0FBeUIvbEIsSUFBekIsR0FBZ0NHLGtFQUFZLENBQUM2aEIsT0FBTyxDQUFDUCxlQUFULENBQTVDO0FBQ0EsV0FBS3lFLGFBQUwsQ0FBbUJsRSxPQUFPLENBQUNQLGVBQTNCLEVBM0M0RCxDQTZDNUQ7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsV0FBSzBFLFdBQUwsa0RBQW9CLE1BQU10QixXQUExQix1REFBbUIsbUJBQXFCbG1CLElBQXhDLHlFQUFnRCxFQUFoRDtBQUNBLFdBQUt5bkIsY0FBTCxDQUNFcEUsT0FERiwyQkFFRSxLQUFLbUUsV0FBTCxDQUFpQi9ELFdBQWpCLENBRkYseUVBRW1DLEVBRm5DLEVBR0UsS0FBS0csZUFBTCxDQUFxQkgsV0FBckIsQ0FIRixFQWxENEQsQ0F3RDVEO0FBQ0E7O0FBQ0EsWUFBTWlFLGFBQWEsR0FBR3JFLE9BQU8sQ0FBQ3ZZLEtBQVIsR0FBaUIxSCxDQUFELElBQWVnSSxPQUFPLENBQUN3TyxHQUFSLENBQVl4VyxDQUFaLENBQS9CLEdBQWdELE1BQU07QUFBQztBQUFXLE9BQXhGLENBMUQ0RCxDQTRENUQ7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsWUFBTXVrQixzQkFBMkQsR0FBRztBQUNsRUMsUUFBQUEsUUFBUSxFQUFFLENBQ1IsVUFEUTtBQUR3RCxPQUFwRTtBQUtBRCxNQUFBQSxzQkFBc0IsQ0FBQ2xFLFdBQUQsQ0FBdEIsR0FBc0NrRSxzQkFBc0IsQ0FBQ2xFLFdBQUQsQ0FBdEIsSUFBdUMsRUFBN0UsQ0FyRTRELENBdUU1RDtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxZQUFNb0UsZUFBNkMsR0FBRyxFQUF0RDs7QUFFQSxVQUFJckIsVUFBSixFQUFnQjtBQUNkO0FBQ0EsY0FBTXNCLFdBQVcsR0FBRyxLQUFLaEUsYUFBTCxDQUFtQmhZLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZeWEsVUFBWixDQUFuQixDQUFwQjtBQUNBLGNBQU11QixPQUFPLEdBQUcsS0FBSzdDLGVBQUwsQ0FBcUI0QyxXQUFyQixFQUFrQ3JFLFdBQWxDLEVBQStDLEtBQS9DLENBQWhCO0FBQ0EsY0FBTXVFLFFBQVEsR0FBRyxLQUFLOUMsZUFBTCxDQUFxQjRDLFdBQXJCLEVBQWtDckUsV0FBbEMsRUFBK0MsTUFBL0MsQ0FBakI7O0FBRUEsYUFBSyxNQUFNd0UsTUFBWCxJQUFxQkYsT0FBckIsRUFBOEI7QUFDNUIsY0FBSTtBQUFBOztBQUNGTCxZQUFBQSxhQUFhLENBQUUsb0JBQW1CckIsUUFBUyxHQUFFNEIsTUFBTyxFQUF2QyxDQUFiO0FBQ0EsaUJBQUs5RSxZQUFMLHVCQUFrQnFELFVBQVUsQ0FBQ3lCLE1BQUQsQ0FBNUIsbUVBQXdDLEVBQXhDLEVBQTRDNUUsT0FBNUM7O0FBRUEsaUJBQUssTUFBTWhYLEtBQVgsNkJBQW9Cc2Isc0JBQXNCLENBQUNsRSxXQUFELENBQTFDLHlFQUEyRCxFQUEzRCxFQUErRDtBQUFBOztBQUM3RCxrQkFBSW9FLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixJQUEwQndiLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixLQUEyQmdYLE9BQU8sQ0FBQ2hYLEtBQUQsQ0FBaEUsRUFBeUU7QUFDdkU7QUFDQTtBQUNBakIsZ0JBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FDRyxnQkFBZXlNLFFBQVMsR0FBRTRCLE1BQU8sdUJBQXNCNWIsS0FBTSx1QkFEaEU7QUFHRDs7QUFDRHdiLGNBQUFBLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixHQUF5QmdYLE9BQU8sQ0FBQ2hYLEtBQUQsQ0FBaEM7QUFDRDs7QUFFRCxvRUFBS3dYLGlCQUFMLEVBQXVCSixXQUF2Qiw4R0FBc0N3RSxNQUF0QyxFQUE4Q3pCLFVBQTlDLEVBQTBEbkQsT0FBMUQsRUFBbUVnRCxRQUFuRTtBQUNELFdBaEJELENBZ0JFLE9BQU8xTyxDQUFQLEVBQVU7QUFDVjtBQUNBdk0sWUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLDRCQUFaO0FBQ0F4TyxZQUFBQSxPQUFPLENBQUN3TyxHQUFSLENBQVlqQyxDQUFaO0FBQ0Q7QUFDRixTQTVCYSxDQThCZDtBQUNBO0FBQ0E7OztBQUNBLFlBQUkwTCxPQUFPLENBQUM2RSxJQUFaLEVBQ0UsS0FBS0MsVUFBTCxDQUFnQjlFLE9BQU8sQ0FBQzZFLElBQXhCOztBQUVGLGFBQUssTUFBTUUsT0FBWCxJQUFzQkosUUFBdEIsRUFBZ0M7QUFDOUJOLFVBQUFBLGFBQWEsQ0FBRSxvQkFBbUJyQixRQUFTLEdBQUUrQixPQUFRLEVBQXhDLENBQWI7QUFDQSxnQkFBTUMsV0FBVyxHQUFHbEIsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFwQjtBQUNBLGdCQUFNQyxRQUFRLEdBQUcvQixVQUFVLENBQUM0QixPQUFELENBQTNCO0FBQ0EsY0FBSUcsUUFBSixFQUNFRixXQUFXLENBQUNHLFNBQVosR0FBd0JELFFBQXhCO0FBQ0YsZ0JBQU1FLElBQUksR0FBR3RCLFFBQVEsQ0FBQ3VCLG9CQUFULENBQThCLE1BQTlCLEVBQXNDLENBQXRDLENBQWI7QUFDQSxjQUFJRCxJQUFKLEVBQ0VBLElBQUksQ0FBQ0UsV0FBTCxDQUFpQk4sV0FBakI7QUFDSDtBQUNGLE9BL0gyRCxDQWlJNUQ7OztBQUNBLFVBQUl4QyxRQUFKLEVBQ0VBLFFBQVE7QUFFVixXQUFLNU0saUZBQWtCLENBQUM7QUFBRWpCLFFBQUFBLElBQUksRUFBRTtBQUFSLE9BQUQsQ0FBdkI7QUFDRCxLQXRJRDs7QUF3SUEsU0FBS2lCLGlGQUFrQixDQUFDO0FBQ3RCakIsTUFBQUEsSUFBSSxFQUFFLGlCQURnQjtBQUV0QnhSLE1BQUFBLE1BQU0sRUFBRThTLFFBQVEsQ0FBQ3NQLElBRks7QUFHdEJuRixNQUFBQSxXQUFXLEVBQUVBO0FBSFMsS0FBRCxDQUFsQixDQUlGb0YsSUFKRSxDQUlJbFIsQ0FBRCxJQUF1QztBQUM3QztBQUNBLFVBQUl3UCxRQUFRLENBQUMyQixVQUFULEtBQXdCLFNBQTVCLEVBQXVDO0FBQ3JDLGFBQUsxQyxRQUFRLENBQUN6TyxDQUFELENBQWI7QUFDQTtBQUNEOztBQUNEd1AsTUFBQUEsUUFBUSxDQUFDeE4sZ0JBQVQsQ0FBMEIsa0JBQTFCLEVBQThDLE1BQU07QUFDbEQsYUFBS3lNLFFBQVEsQ0FBQ3pPLENBQUQsQ0FBYjtBQUNELE9BRkQ7QUFHRCxLQWJJLENBQUw7QUFjRDs7QUFFRHdRLEVBQUFBLFVBQVUsQ0FBQ1ksUUFBRCxFQUFtQjtBQUMzQixRQUFJLENBQUNBLFFBQUQsSUFBYUEsUUFBUSxLQUFLLFNBQTlCLEVBQ0U7QUFFRixRQUFJMUMsUUFBUSxHQUFHYyxRQUFRLENBQUM3TixRQUFULENBQWtCakwsUUFBbEIsRUFBZjtBQUNBLFVBQU0yYSxRQUFRLEdBQUczQyxRQUFRLENBQUM0QyxXQUFULENBQXFCLEdBQXJCLENBQWpCO0FBQ0EsUUFBSUQsUUFBUSxLQUFLLENBQUMsQ0FBbEIsRUFDRTNDLFFBQVEsR0FBR0EsUUFBUSxDQUFDNkMsTUFBVCxDQUFnQixDQUFoQixFQUFtQkYsUUFBbkIsQ0FBWDtBQUNGLFFBQUkzQyxRQUFRLENBQUN4TCxLQUFULENBQWUsQ0FBQyxDQUFoQixNQUF1QixHQUEzQixFQUNFd0wsUUFBUSxJQUFJLEdBQVo7QUFDRixVQUFNOEMsUUFBUSxHQUFHOUMsUUFBUSxHQUFHLFFBQVgsR0FBc0IwQyxRQUF0QixHQUFpQyxHQUFqQyxHQUF1Q0EsUUFBdkMsR0FBa0QsTUFBbkU7QUFDQSxTQUFLSyxhQUFMLENBQW1CRCxRQUFuQjtBQUNEOztBQUNERSxFQUFBQSxZQUFZLENBQUNDLEdBQUQsRUFBYztBQUN4QixVQUFNQyxNQUFNLEdBQUdwQyxRQUFRLENBQUNtQixhQUFULENBQXVCLFFBQXZCLENBQWY7QUFDQWlCLElBQUFBLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQixNQUFwQixFQUE0QixpQkFBNUI7QUFDQUQsSUFBQUEsTUFBTSxDQUFDQyxZQUFQLENBQW9CLEtBQXBCLEVBQTJCRixHQUEzQjtBQUNBQyxJQUFBQSxNQUFNLENBQUNDLFlBQVAsQ0FBb0IsT0FBcEIsRUFBNkIsT0FBN0I7QUFDQSxVQUFNZixJQUFJLEdBQUd0QixRQUFRLENBQUN1QixvQkFBVCxDQUE4QixNQUE5QixFQUFzQyxDQUF0QyxDQUFiO0FBQ0EsUUFBSUQsSUFBSixFQUNFQSxJQUFJLENBQUNFLFdBQUwsQ0FBaUJZLE1BQWpCO0FBQ0g7O0FBQ0RILEVBQUFBLGFBQWEsQ0FBQ1IsSUFBRCxFQUFlO0FBQzFCLFVBQU1hLE9BQU8sR0FBR3RDLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBaEI7QUFDQW1CLElBQUFBLE9BQU8sQ0FBQ0QsWUFBUixDQUFxQixLQUFyQixFQUE0QixZQUE1QjtBQUNBQyxJQUFBQSxPQUFPLENBQUNELFlBQVIsQ0FBcUIsTUFBckIsRUFBNkIsVUFBN0I7QUFDQUMsSUFBQUEsT0FBTyxDQUFDRCxZQUFSLENBQXFCLE1BQXJCLEVBQTZCWixJQUE3QjtBQUNBLFVBQU1ILElBQUksR0FBR3RCLFFBQVEsQ0FBQ3VCLG9CQUFULENBQThCLE1BQTlCLEVBQXNDLENBQXRDLENBQWI7QUFDQSxRQUFJRCxJQUFKLEVBQ0VBLElBQUksQ0FBQ0UsV0FBTCxDQUFpQmMsT0FBakI7QUFDSDs7QUFDRGhDLEVBQUFBLGNBQWMsQ0FBQ3BFLE9BQUQsRUFBdUJtRSxXQUF2QixFQUFzRGtDLFFBQXRELEVBQWtGO0FBQzlGO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQSxRQUFJLENBQUNBLFFBQUwsRUFDRTtBQUVGLFVBQU1DLGVBQWUsR0FBR0QsUUFBUSxDQUFDckcsT0FBVCxJQUFvQixFQUE1Qzs7QUFDQSxTQUFLLE1BQU11RyxHQUFYLElBQWtCRCxlQUFsQixFQUFtQztBQUNqQztBQUVBLFVBQUlyZCxLQUF1QixHQUFHc2QsR0FBRyxDQUFDQyxPQUFsQzs7QUFDQSxVQUFJLE9BQU9yQyxXQUFQLEtBQXVCLFFBQXZCLElBQW1DLENBQUMxTixLQUFLLENBQUNDLE9BQU4sQ0FBY3lOLFdBQWQsQ0FBeEMsRUFBb0U7QUFDbEUsWUFBSW9DLEdBQUcsQ0FBQ3ZuQixFQUFKLElBQVVtbEIsV0FBZCxFQUEyQjtBQUN6QixnQkFBTXNDLFFBQVEsR0FBR3RDLFdBQVcsQ0FBQ29DLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQTVCO0FBQ0EsY0FBSXluQixRQUFRLEtBQUt4UixTQUFqQixFQUNFaE0sS0FBSyxHQUFHd2QsUUFBUjtBQUNIO0FBQ0YsT0FWZ0MsQ0FZakM7QUFDQTtBQUNBOzs7QUFDQSxVQUFJRixHQUFHLENBQUNHLFVBQVIsRUFBb0I7QUFDbEJILFFBQUFBLEdBQUcsQ0FBQ0csVUFBSixDQUFlMUcsT0FBZixFQUF3Qi9XLEtBQXhCO0FBQ0QsT0FGRCxNQUVPLElBQUlzZCxHQUFHLENBQUNqb0IsSUFBSixLQUFhLFNBQWpCLEVBQTRCO0FBQ2pDLFlBQUksT0FBTzJLLEtBQVAsS0FBaUIsUUFBckIsRUFDRStXLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpaUIsSUFBSSxDQUFDMEYsS0FBTCxDQUFXMWQsS0FBWCxDQUFsQixDQURGLEtBRUssSUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQ0grVyxPQUFPLENBQUN1RyxHQUFHLENBQUN2bkIsRUFBTCxDQUFQLEdBQWtCNkssUUFBUSxDQUFDWixLQUFELENBQTFCO0FBQ0gsT0FMTSxNQUtBLElBQUlzZCxHQUFHLENBQUNqb0IsSUFBSixLQUFhLE9BQWpCLEVBQTBCO0FBQy9CLFlBQUksT0FBTzJLLEtBQVAsS0FBaUIsUUFBckIsRUFDRStXLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpSyxLQUFsQixDQURGLEtBRUssSUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQ0grVyxPQUFPLENBQUN1RyxHQUFHLENBQUN2bkIsRUFBTCxDQUFQLEdBQWtCNG5CLFVBQVUsQ0FBQzNkLEtBQUQsQ0FBNUI7QUFDSCxPQUxNLE1BS0E7QUFDTCtXLFFBQUFBLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpSyxLQUFsQjtBQUNEO0FBQ0YsS0F6QzZGLENBMkM5RjtBQUNBOzs7QUFDQSxRQUFJb2QsUUFBUSxDQUFDUSxtQkFBYixFQUNFUixRQUFRLENBQUNRLG1CQUFULENBQTZCN0csT0FBN0IsRUFBc0NtRSxXQUF0QztBQUNIOztBQUNERCxFQUFBQSxhQUFhLENBQUNsbUIsSUFBRCxFQUFhO0FBQ3hCLFVBQU04b0IsVUFBVSxHQUFHO0FBQ2pCcnBCLE1BQUFBLEVBQUUsRUFBRSx5Q0FEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLG1EQUZhO0FBR2pCQyxNQUFBQSxFQUFFLEVBQUUsb0RBSGE7QUFJakJDLE1BQUFBLEVBQUUsRUFBRSxtQ0FKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFLDRCQUxhO0FBTWpCQyxNQUFBQSxFQUFFLEVBQUU7QUFOYSxLQUFuQjtBQVNBLFVBQU1rQixFQUFFLEdBQUcsdUJBQVg7QUFDQSxRQUFJK25CLFFBQVEsR0FBR2pELFFBQVEsQ0FBQ2tELGNBQVQsQ0FBd0Job0IsRUFBeEIsQ0FBZjs7QUFDQSxRQUFJLENBQUMrbkIsUUFBTCxFQUFlO0FBQ2JBLE1BQUFBLFFBQVEsR0FBR2pELFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWDtBQUNBOEIsTUFBQUEsUUFBUSxDQUFDL25CLEVBQVQsR0FBY0EsRUFBZDtBQUNBK25CLE1BQUFBLFFBQVEsQ0FBQy9DLFNBQVQsQ0FBbUJDLEdBQW5CLENBQXVCLE1BQXZCLEVBSGEsQ0FJYjs7QUFDQThDLE1BQUFBLFFBQVEsQ0FBQ0UsS0FBVCxDQUFlQyxPQUFmLEdBQXlCLE1BQXpCO0FBQ0FwRCxNQUFBQSxRQUFRLENBQUNxRCxJQUFULENBQWNDLE1BQWQsQ0FBcUJMLFFBQXJCO0FBQ0Q7O0FBQ0RBLElBQUFBLFFBQVEsQ0FBQ00sU0FBVCxHQUFxQlAsVUFBVSxDQUFDOW9CLElBQUQsQ0FBVixJQUFvQjhvQixVQUFVLENBQUMsSUFBRCxDQUFuRDtBQUNEOztBQXhaYzs7QUEyWmpCLGlFQUFlLElBQUl6SCxVQUFKLEVBQWY7O0FBRUEsSUFBSSxPQUFPeUUsUUFBUCxLQUFvQixXQUF4QixFQUFxQztBQUNuQztBQUNBQSxFQUFBQSxRQUFRLENBQUN4TixnQkFBVCxDQUEwQixzQkFBMUIsRUFBbURoQyxDQUFELElBQU87QUFDdkQsVUFBTWdULFlBQVksR0FBR3hELFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsU0FBOUM7QUFDQSxRQUFJMVAsQ0FBQyxDQUFDMk8sTUFBRixDQUFTc0UsUUFBYixFQUNFRCxZQUFZLENBQUNFLE1BQWIsQ0FBb0IsY0FBcEIsRUFBb0MsVUFBcEMsRUFERixLQUdFRixZQUFZLENBQUNyRCxHQUFiLENBQWlCLGNBQWpCLEVBQWlDLFVBQWpDO0FBQ0gsR0FORDtBQU9EOzs7Ozs7Ozs7OztDQ3ZlRDs7QUFDQSxNQUFNd0QsYUFBa0MsR0FBRztBQUN6Q0MsRUFBQUEsSUFBSSxFQUFFLENBRG1DO0FBRXpDQyxFQUFBQSxHQUFHLEVBQUUsQ0FGb0M7QUFHekNDLEVBQUFBLEdBQUcsRUFBRSxDQUhvQztBQUl6Q0MsRUFBQUEsR0FBRyxFQUFFLENBSm9DO0FBS3pDQyxFQUFBQSxHQUFHLEVBQUUsQ0FMb0M7QUFNekNDLEVBQUFBLEdBQUcsRUFBRSxDQU5vQztBQU96Q0MsRUFBQUEsR0FBRyxFQUFFLENBUG9DO0FBUXpDQyxFQUFBQSxHQUFHLEVBQUUsQ0FSb0M7QUFTekNDLEVBQUFBLEdBQUcsRUFBRSxDQVRvQztBQVV6Q0MsRUFBQUEsR0FBRyxFQUFFLENBVm9DO0FBV3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFYb0M7QUFZekNDLEVBQUFBLEdBQUcsRUFBRSxFQVpvQztBQWF6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBYm9DO0FBY3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFkb0M7QUFlekNDLEVBQUFBLEdBQUcsRUFBRSxFQWZvQztBQWdCekNDLEVBQUFBLEdBQUcsRUFBRSxFQWhCb0M7QUFpQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUFqQm9DO0FBa0J6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBbEJvQztBQW1CekNDLEVBQUFBLEdBQUcsRUFBRSxFQW5Cb0M7QUFvQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUFwQm9DO0FBcUJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBckJvQztBQXNCekNDLEVBQUFBLEdBQUcsRUFBRSxFQXRCb0M7QUF1QnpDQyxFQUFBQSxHQUFHLEVBQUUsRUF2Qm9DO0FBd0J6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBeEJvQztBQXlCekNDLEVBQUFBLEdBQUcsRUFBRSxFQXpCb0M7QUEwQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUExQm9DO0FBMkJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBM0JvQztBQTRCekNDLEVBQUFBLEdBQUcsRUFBRSxFQTVCb0M7QUE2QnpDQyxFQUFBQSxHQUFHLEVBQUUsRUE3Qm9DO0FBOEJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBOUJvQztBQStCekNDLEVBQUFBLEdBQUcsRUFBRSxFQS9Cb0M7QUFnQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFoQ29DO0FBaUN6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBakNvQztBQWtDekNDLEVBQUFBLEdBQUcsRUFBRSxFQWxDb0M7QUFtQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFuQ29DO0FBb0N6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBcENvQztBQXFDekNDLEVBQUFBLEdBQUcsRUFBRSxFQXJDb0M7QUFzQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUF0Q29DO0FBdUN6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBdkNvQztBQXdDekNDLEVBQUFBLEdBQUcsRUFBRSxFQXhDb0M7QUF5Q3pDQyxFQUFBQSxHQUFHLEVBQUU7QUF6Q29DLENBQTNDO0FBNENBLE1BQU1DLE9BQU8sR0FBRzFoQixNQUFNLENBQUNDLElBQVAsQ0FBWStlLGFBQVosQ0FBaEI7QUFDQSxNQUFNMkMsUUFBUSxHQUFHLENBQUMsTUFBRCxFQUFTLFFBQVQsRUFBbUIsS0FBbkIsRUFBMEIsU0FBMUIsRUFBcUMsVUFBckMsRUFBaUQsTUFBakQsQ0FBakI7QUFFQSxNQUFNQyxRQUFlLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsRUFBNkIsS0FBN0IsRUFBb0MsS0FBcEMsQ0FBeEI7QUFDQSxNQUFNQyxVQUFpQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLEVBQXNCLEtBQXRCLEVBQTZCLEtBQTdCLENBQTFCO0FBQ0EsTUFBTUMsWUFBbUIsR0FBRyxDQUFDLEtBQUQsRUFBUSxLQUFSLEVBQWUsS0FBZixFQUFzQixLQUF0QixFQUE2QixLQUE3QixFQUFvQyxLQUFwQyxFQUEyQyxLQUEzQyxFQUFrRCxLQUFsRCxDQUE1QjtBQUNBLE1BQU1DLGFBQW9CLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsQ0FBN0I7QUFDQSxNQUFNQyxhQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLEVBQXNCLEtBQXRCLEVBQTZCLEtBQTdCLEVBQW9DLEtBQXBDLENBQTdCO0FBQ0EsTUFBTUMsT0FBYyxHQUFHLENBQUMsR0FBR0gsWUFBSixFQUFrQixHQUFHQyxhQUFyQixFQUFvQyxHQUFHQyxhQUF2QyxDQUF2QjtBQUNBLE1BQU1FLFlBQW1CLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsRUFBNkIsS0FBN0IsRUFBb0MsS0FBcEMsRUFBMkMsS0FBM0MsRUFBa0QsS0FBbEQsQ0FBNUI7QUFDQSxNQUFNQyxhQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLENBQTdCO0FBRUEsTUFBTUMsUUFBZSxHQUFHLENBQUMsS0FBRCxFQUFRLEdBQUdSLFFBQVgsRUFBcUIsR0FBR0UsWUFBeEIsQ0FBeEI7QUFDQSxNQUFNTyxXQUFrQixHQUFHLENBQUMsS0FBRCxFQUFRLEdBQUdULFFBQVgsRUFBcUIsR0FBR0csYUFBeEIsQ0FBM0I7QUFDQSxNQUFNTyxTQUFnQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxHQUFHVCxVQUFsQixDQUF6QjtBQUNBLE1BQU1VLFNBQWdCLEdBQUcsQ0FBQyxHQUFHVCxZQUFKLENBQXpCO0FBQ0EsTUFBTVUsU0FBZ0IsR0FBRyxDQUFDLEdBQUdSLGFBQUosQ0FBekI7QUFDQSxNQUFNUyxXQUFrQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxHQUFHWixVQUFsQixDQUEzQjs7QUFFQSxNQUFNYSxZQUE0QixHQUFHLENBQUMsTUFBTTtBQUMxQyxRQUFNQyxRQUFRLEdBQUcsQ0FBQ3plLEdBQUQsRUFBc0IwZSxJQUF0QixFQUFtQ3B1QixJQUFuQyxLQUFrRDtBQUNqRW91QixJQUFBQSxJQUFJLENBQUNqWCxPQUFMLENBQWNqWCxHQUFELElBQVN3UCxHQUFHLENBQUMyZSxHQUFKLENBQVFudUIsR0FBUixFQUFhRixJQUFiLENBQXRCO0FBQ0QsR0FGRDs7QUFJQSxRQUFNMFAsR0FBbUIsR0FBRyxJQUFJN0YsR0FBSixDQUFRLENBQUMsQ0FBQyxNQUFELEVBQVMsTUFBVCxDQUFELENBQVIsQ0FBNUI7QUFDQXNrQixFQUFBQSxRQUFRLENBQUN6ZSxHQUFELEVBQU0wZCxRQUFOLEVBQWdCLE1BQWhCLENBQVI7QUFDQWUsRUFBQUEsUUFBUSxDQUFDemUsR0FBRCxFQUFNMmQsVUFBTixFQUFrQixRQUFsQixDQUFSO0FBQ0FjLEVBQUFBLFFBQVEsQ0FBQ3plLEdBQUQsRUFBTStkLE9BQU4sRUFBZSxLQUFmLENBQVI7QUFDQVUsRUFBQUEsUUFBUSxDQUFDemUsR0FBRCxFQUFNZ2UsWUFBTixFQUFvQixTQUFwQixDQUFSO0FBQ0FTLEVBQUFBLFFBQVEsQ0FBQ3plLEdBQUQsRUFBTWllLGFBQU4sRUFBcUIsVUFBckIsQ0FBUjtBQUVBLFNBQU9qZSxHQUFQO0FBQ0QsQ0Fib0MsR0FBckM7O0FBaUNBLE1BQU00ZSxpQkFBMkMsR0FBRyxFQUFwRDs7QUFFQSxNQUFNQyxpQkFBaUIsR0FBRyxDQUN4QjdpQixNQUR3QixFQUV4QjhpQixLQUZ3QixLQUdaO0FBQ1osTUFBSUEsS0FBSyxDQUFDQyxNQUFWLEVBQ0UsT0FBTyxJQUFQO0FBQ0YsTUFBSS9pQixNQUFNLENBQUNnakIsV0FBUCxLQUF1QjFXLFNBQXZCLElBQW9DMlcsSUFBSSxDQUFDQyxHQUFMLEtBQWFKLEtBQUssQ0FBQ0ssS0FBbkIsR0FBMkJuakIsTUFBTSxDQUFDZ2pCLFdBQTFFLEVBQ0UsT0FBTyxJQUFQO0FBQ0YsU0FBTyxLQUFQO0FBQ0QsQ0FURDs7QUFXQSxNQUFNSSxjQUFrQyxHQUFHLENBQUNwakIsTUFBRCxFQUFTcWpCLElBQVQsS0FBa0I7QUFDM0QsU0FBTyxJQUFJelcsT0FBSixDQUFrQixDQUFDMFcsR0FBRCxFQUFNQyxHQUFOLEtBQWM7QUFBQTs7QUFDckMsVUFBTUMsS0FBSyxvQkFBR3hqQixNQUFNLENBQUN3akIsS0FBVix5REFBbUIsSUFBOUI7QUFFQSxVQUFNeFgsSUFBNkMsR0FBRztBQUNwREEsTUFBQUEsSUFBSSxFQUFFO0FBRDhDLEtBQXREO0FBSUEsUUFBSWhNLE1BQU0sQ0FBQ3lqQixHQUFYLEVBQ0V6WCxJQUFJLENBQUN5WCxHQUFMLEdBQVd6akIsTUFBTSxDQUFDeWpCLEdBQWxCO0FBRUYsUUFBSXpqQixNQUFNLENBQUMwakIsS0FBWCxFQUNFMVgsSUFBSSxDQUFDMFgsS0FBTCxHQUFhMWpCLE1BQU0sQ0FBQzBqQixLQUFwQjtBQUVGLFFBQUkxakIsTUFBTSxDQUFDMmpCLEtBQVgsRUFDRTNYLElBQUksQ0FBQzJYLEtBQUwsR0FBYTNqQixNQUFNLENBQUMyakIsS0FBcEI7QUFFRixVQUFNYixLQUE2QixHQUFHO0FBQ3BDQyxNQUFBQSxNQUFNLEVBQUUsS0FENEI7QUFFcENJLE1BQUFBLEtBQUssRUFBRUYsSUFBSSxDQUFDQyxHQUFMO0FBRjZCLEtBQXRDO0FBS0FOLElBQUFBLGlCQUFpQixDQUFDbGlCLElBQWxCLENBQXVCb2lCLEtBQXZCOztBQUVBLFVBQU1jLFNBQVMsR0FBRyxNQUFNO0FBQ3RCLFVBQUlmLGlCQUFpQixDQUFDN2lCLE1BQUQsRUFBUzhpQixLQUFULENBQXJCLEVBQXNDO0FBQ3BDUyxRQUFBQSxHQUFHO0FBQ0g7QUFDRDs7QUFDRCxXQUFLdFcsaUZBQWtCLENBQUNqQixJQUFELENBQWxCLENBQXlCNlEsSUFBekIsQ0FBK0JnSCxRQUFELElBQWM7QUFDL0MsWUFBSWYsS0FBSyxDQUFDQyxNQUFWLEVBQWtCO0FBQ2hCUSxVQUFBQSxHQUFHO0FBQ0g7QUFDRDs7QUFDRCxZQUFJRixJQUFJLENBQUNRLFFBQUQsQ0FBUixFQUNFUCxHQUFHLEdBREwsS0FHRW5ZLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0IyVixTQUFsQixFQUE2QkosS0FBN0I7QUFDSCxPQVRJLENBQUw7QUFVRCxLQWZEOztBQWlCQXJZLElBQUFBLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0IyVixTQUFsQixFQUE2QkosS0FBN0I7QUFDRCxHQXpDTSxDQUFQO0FBMENELENBM0NEOztBQTZDQSxNQUFNbk4sSUFBSSxHQUFHO0FBQ1h5TixFQUFBQSxZQUFZLEVBQUd6dEIsRUFBRCxJQUFnQjtBQUM1QixVQUFNN0IsR0FBRyxHQUFHZ3RCLE9BQU8sQ0FBQ3VDLElBQVIsQ0FBY3Z2QixHQUFELElBQWNzcUIsYUFBYSxDQUFDdHFCLEdBQUQsQ0FBYixLQUF1QjZCLEVBQWxELENBQVo7QUFDQSxXQUFPN0IsR0FBUCxhQUFPQSxHQUFQLGNBQU9BLEdBQVAsR0FBYyxNQUFkO0FBQ0QsR0FKVTtBQUtYd3ZCLEVBQUFBLFlBQVksRUFBR3h2QixHQUFELElBQWNzcUIsYUFBYSxDQUFDdHFCLEdBQUQsQ0FMOUI7QUFNWHl2QixFQUFBQSxTQUFTLEVBQUd6dkIsR0FBRCxJQUFjO0FBQ3ZCLFVBQU1GLElBQUksR0FBR2t1QixZQUFZLENBQUNoVixHQUFiLENBQWlCaFosR0FBakIsQ0FBYjtBQUNBLFdBQU9GLElBQVAsYUFBT0EsSUFBUCxjQUFPQSxJQUFQLEdBQWUsTUFBZjtBQUNELEdBVFU7QUFVWDR2QixFQUFBQSxXQUFXLEVBQUUsTUFBdUJ6QyxRQVZ6QjtBQVdYMEMsRUFBQUEsU0FBUyxFQUFHM3ZCLEdBQUQsSUFBY2t0QixRQUFRLENBQUNuc0IsUUFBVCxDQUFrQmYsR0FBbEIsQ0FYZDtBQVlYNHZCLEVBQUFBLFdBQVcsRUFBRzV2QixHQUFELElBQWNtdEIsVUFBVSxDQUFDcHNCLFFBQVgsQ0FBb0JmLEdBQXBCLENBWmhCO0FBYVg2dkIsRUFBQUEsYUFBYSxFQUFHN3ZCLEdBQUQsSUFBY290QixZQUFZLENBQUNyc0IsUUFBYixDQUFzQmYsR0FBdEIsQ0FibEI7QUFjWDh2QixFQUFBQSxjQUFjLEVBQUc5dkIsR0FBRCxJQUFjcXRCLGFBQWEsQ0FBQ3RzQixRQUFkLENBQXVCZixHQUF2QixDQWRuQjtBQWVYK3ZCLEVBQUFBLGNBQWMsRUFBRy92QixHQUFELElBQWNzdEIsYUFBYSxDQUFDdnNCLFFBQWQsQ0FBdUJmLEdBQXZCLENBZm5CO0FBZ0JYZ3dCLEVBQUFBLFFBQVEsRUFBR2h3QixHQUFELElBQWN1dEIsT0FBTyxDQUFDeHNCLFFBQVIsQ0FBaUJmLEdBQWpCLENBaEJiO0FBaUJYaXdCLEVBQUFBLGFBQWEsRUFBR2p3QixHQUFELElBQWN3dEIsWUFBWSxDQUFDenNCLFFBQWIsQ0FBc0JmLEdBQXRCLENBakJsQjtBQWtCWGt3QixFQUFBQSxjQUFjLEVBQUdsd0IsR0FBRCxJQUFjeXRCLGFBQWEsQ0FBQzFzQixRQUFkLENBQXVCZixHQUF2QixDQWxCbkI7QUFtQlhtd0IsRUFBQUEsV0FBVyxFQUFHbndCLEdBQUQsSUFBYztBQUN6QixXQUFPLENBQUN3dEIsWUFBWSxDQUFDenNCLFFBQWIsQ0FBc0JmLEdBQXRCLENBQUQsSUFBK0IsQ0FBQ3l0QixhQUFhLENBQUMxc0IsUUFBZCxDQUF1QmYsR0FBdkIsQ0FBdkM7QUFDRCxHQXJCVTtBQXNCWG93QixFQUFBQSxPQUFPLEVBQUdwd0IsR0FBRCxJQUFjMHRCLFFBQVEsQ0FBQzNzQixRQUFULENBQWtCZixHQUFsQixDQXRCWjtBQXVCWHF3QixFQUFBQSxVQUFVLEVBQUdyd0IsR0FBRCxJQUFjMnRCLFdBQVcsQ0FBQzVzQixRQUFaLENBQXFCZixHQUFyQixDQXZCZjtBQXdCWHN3QixFQUFBQSxRQUFRLEVBQUd0d0IsR0FBRCxJQUFjNHRCLFNBQVMsQ0FBQzdzQixRQUFWLENBQW1CZixHQUFuQixDQXhCYjtBQXlCWHV3QixFQUFBQSxVQUFVLEVBQUd2d0IsR0FBRCxJQUFjK3RCLFdBQVcsQ0FBQ2h0QixRQUFaLENBQXFCZixHQUFyQixDQXpCZjtBQTBCWHd3QixFQUFBQSxRQUFRLEVBQUd4d0IsR0FBRCxJQUFjNnRCLFNBQVMsQ0FBQzlzQixRQUFWLENBQW1CZixHQUFuQixDQTFCYjtBQTJCWHl3QixFQUFBQSxRQUFRLEVBQUd6d0IsR0FBRCxJQUFjOHRCLFNBQVMsQ0FBQy9zQixRQUFWLENBQW1CZixHQUFuQixDQTNCYjtBQTRCWDR1QixFQUFBQSxjQUFjLEVBQUVBLGNBNUJMO0FBNkJYOEIsRUFBQUEsb0JBQW9CLEVBQUUsTUFBTTtBQUMxQixXQUFPdEMsaUJBQWlCLENBQUN4aEIsTUFBbEIsR0FBMkIsQ0FBbEMsRUFBcUM7QUFDbkMsWUFBTStqQixLQUFLLEdBQUd2QyxpQkFBaUIsQ0FBQ3dDLEdBQWxCLEVBQWQ7QUFDQSxVQUFJRCxLQUFKLEVBQ0VBLEtBQUssQ0FBQ3BDLE1BQU4sR0FBZSxJQUFmO0FBQ0g7QUFDRjtBQW5DVSxDQUFiO0FBc0NBLGlFQUFlMU0sSUFBZjs7Ozs7Ozs7OztBQ3RNQTtBQUNBO0FBRUEsTUFBTXJpQixJQUFJLEdBQUc7QUFDWCxvQkFBa0IsR0FEUDtBQUVYLHNCQUFvQixJQUZUO0FBR1gsbUJBQWlCLElBSE47QUFJWCw0QkFBMEIsR0FKZjtBQUtYLDBCQUF3QixHQUxiO0FBTVgsdUJBQXFCLEdBTlY7QUFPWCxxQkFBbUIsR0FQUjtBQVFYLDBCQUF3QixHQVJiO0FBU1gscUNBQW1DLEdBVHhCO0FBVVgsaUJBQWUsR0FWSjtBQVdYLHFCQUFtQixHQVhSO0FBWVgsY0FBWSxHQVpEO0FBYVgsZ0NBQThCLEdBYm5CO0FBY1gsc0NBQW9DLEdBZHpCO0FBZVgsNkJBQTJCLEdBZmhCO0FBZ0JYLG1DQUFpQyxHQWhCdEI7QUFpQlgsb0NBQWtDLEdBakJ2QjtBQWtCWCwwQ0FBd0MsR0FsQjdCO0FBbUJYLG1DQUFpQyxHQW5CdEI7QUFvQlgseUNBQXVDLEdBcEI1QjtBQXFCWCxnQ0FBOEIsR0FyQm5CO0FBc0JYLHNDQUFvQyxHQXRCekI7QUF1QlgsaUNBQStCLEdBdkJwQjtBQXdCWCx1Q0FBcUMsR0F4QjFCO0FBeUJYLDhCQUE0QixHQXpCakI7QUEwQlgsb0NBQWtDLEdBMUJ2QjtBQTJCWCxrQ0FBZ0MsR0EzQnJCO0FBNEJYLHdDQUFzQyxHQTVCM0I7QUE2QlgsaUNBQStCLEdBN0JwQjtBQThCWCx1Q0FBcUMsR0E5QjFCO0FBK0JYLDhCQUE0QixHQS9CakI7QUFnQ1gsb0NBQWtDLEdBaEN2QjtBQWlDWCxtQ0FBaUMsR0FqQ3RCO0FBa0NYLHlDQUF1QyxHQWxDNUI7QUFtQ1gsa0NBQWdDLEdBbkNyQjtBQW9DWCx3Q0FBc0MsR0FwQzNCO0FBcUNYLCtCQUE2QixHQXJDbEI7QUFzQ1gsNEJBQTBCLEdBdENmO0FBdUNYLG1CQUFpQixHQXZDTjtBQXdDWCx5QkFBdUIsR0F4Q1o7QUF5Q1gsbUJBQWlCLEdBekNOO0FBMENYLHlCQUF1QixHQTFDWjtBQTJDWCxtQkFBaUIsR0EzQ047QUE0Q1gseUJBQXVCLEdBNUNaO0FBNkNYLG1CQUFpQixHQTdDTjtBQThDWCx5QkFBdUIsR0E5Q1o7QUErQ1gsYUFBVyxHQS9DQTtBQWdEWCxpQkFBZSxHQWhESjtBQWlEWCxxQkFBbUIsR0FqRFI7QUFrRFgsZUFBYSxHQWxERjtBQW1EWCxxQkFBbUIsR0FuRFI7QUFvRFgsa0JBQWdCLEdBcERMO0FBcURYLG9CQUFrQixHQXJEUDtBQXNEWCxzQkFBb0IsSUF0RFQ7QUF1RFgsOEJBQTRCLElBdkRqQjtBQXdEWCxvQ0FBa0MsSUF4RHZCO0FBeURYLCtCQUE2QixJQXpEbEI7QUEwRFgscUNBQW1DLElBMUR4QjtBQTJEWCwrQkFBNkIsSUEzRGxCO0FBNERYLHFDQUFtQyxJQTVEeEI7QUE2RFgsOEJBQTRCLElBN0RqQjtBQThEWCxvQ0FBa0MsSUE5RHZCO0FBK0RYLG9DQUFrQyxHQS9EdkI7QUFnRVgsZ0JBQWMsR0FoRUg7QUFpRVgsOEJBQTRCLEdBakVqQjtBQWtFWCxhQUFXLEdBbEVBO0FBbUVYLGtCQUFnQixHQW5FTDtBQW9FWCxtQkFBaUIsR0FwRU47QUFxRVgsK0JBQTZCLEdBckVsQjtBQXNFWCxtQ0FBaUMsR0F0RXRCO0FBdUVYLHdCQUFzQixHQXZFWDtBQXdFWCwwQkFBd0IsR0F4RWI7QUF5RVgsb0JBQWtCLEdBekVQO0FBMEVYLHVCQUFxQixHQTFFVjtBQTJFWCwyQkFBeUIsR0EzRWQ7QUE0RVgsa0JBQWdCLEdBNUVMO0FBNkVYLG1CQUFpQixHQTdFTjtBQThFWCxxQkFBbUIsR0E5RVI7QUErRVgsb0JBQWtCLEdBL0VQO0FBZ0ZYLDRCQUEwQixHQWhGZjtBQWlGWCwyQkFBeUIsR0FqRmQ7QUFrRlgsdUJBQXFCLEdBbEZWO0FBbUZYLG1CQUFpQixHQW5GTjtBQW9GWCxxQkFBbUIsR0FwRlI7QUFxRlgsNEJBQTBCLEdBckZmO0FBc0ZYLDRCQUEwQixHQXRGZjtBQXVGWCw4QkFBNEIsR0F2RmpCO0FBd0ZYLHlCQUF1QixHQXhGWjtBQXlGWCxpQkFBZSxHQXpGSjtBQTBGWCx3QkFBc0IsR0ExRlg7QUEyRlgsOEJBQTRCLEdBM0ZqQjtBQTRGWCw4QkFBNEIsR0E1RmpCO0FBNkZYLGlCQUFlLEdBN0ZKO0FBOEZYLHdCQUFzQixHQTlGWDtBQStGWCwrQkFBNkIsR0EvRmxCO0FBZ0dYLHdCQUFzQixHQWhHWDtBQWlHWCwrQkFBNkIsR0FqR2xCO0FBa0dYLHdCQUFzQixHQWxHWDtBQW1HWCwrQkFBNkIsR0FuR2xCO0FBb0dYLHFCQUFtQixHQXBHUjtBQXFHWCx5QkFBdUIsR0FyR1o7QUFzR1gsK0JBQTZCLEdBdEdsQjtBQXVHWCxnQkFBYyxHQXZHSDtBQXdHWCx1QkFBcUIsR0F4R1Y7QUF5R1gsbUJBQWlCLEdBekdOO0FBMEdYLDRCQUEwQixHQTFHZjtBQTJHWCxtQkFBaUIsR0EzR047QUE0R1gseUJBQXVCLEdBNUdaO0FBNkdYLG1CQUFpQixHQTdHTjtBQThHWCx5QkFBdUIsR0E5R1o7QUErR1gsbUJBQWlCLEdBL0dOO0FBZ0hYLHlCQUF1QixHQWhIWjtBQWlIWCxtQkFBaUIsR0FqSE47QUFrSFgseUJBQXVCLEdBbEhaO0FBbUhYLHFCQUFtQixHQW5IUjtBQW9IWCwyQkFBeUIsR0FwSGQ7QUFxSFgsY0FBWSxHQXJIRDtBQXNIWCxnQkFBYyxHQXRISDtBQXVIWCxpQkFBZSxHQXZISjtBQXdIWCxlQUFhLEdBeEhGO0FBeUhYLHFCQUFtQixHQXpIUjtBQTBIWCxnQkFBYyxHQTFISDtBQTJIWCxxQkFBbUIsR0EzSFI7QUE0SFgscUJBQW1CLEdBNUhSO0FBNkhYLHNCQUFvQixHQTdIVDtBQThIWCw0QkFBMEIsR0E5SGY7QUErSFgseUJBQXVCLEdBL0haO0FBZ0lYLCtCQUE2QixHQWhJbEI7QUFpSVgsMkJBQXlCLEdBaklkO0FBa0lYLGlDQUErQixHQWxJcEI7QUFtSVgsd0JBQXNCLEdBbklYO0FBb0lYLDhCQUE0QixHQXBJakI7QUFxSVgsOEJBQTRCLEdBcklqQjtBQXNJWCxvQ0FBa0MsR0F0SXZCO0FBdUlYLDBCQUF3QixHQXZJYjtBQXdJWCxnQ0FBOEIsR0F4SW5CO0FBeUlYLHdCQUFzQixHQXpJWDtBQTBJWCw4QkFBNEIsR0ExSWpCO0FBMklYLHVCQUFxQixHQTNJVjtBQTRJWCw2QkFBMkIsR0E1SWhCO0FBNklYLDJCQUF5QixHQTdJZDtBQThJWCxpQ0FBK0IsR0E5SXBCO0FBK0lYLHFCQUFtQixHQS9JUjtBQWdKWCwyQkFBeUIsR0FoSmQ7QUFpSlgsMEJBQXdCLEdBakpiO0FBa0pYLGdDQUE4QixHQWxKbkI7QUFtSlgsMEJBQXdCLEdBbkpiO0FBb0pYLGdDQUE4QixHQXBKbkI7QUFxSlgsV0FBUyxHQXJKRTtBQXNKWCxlQUFhLEdBdEpGO0FBdUpYLHNCQUFvQixHQXZKVDtBQXdKWCx1QkFBcUIsR0F4SlY7QUF5SlgsZUFBYSxJQXpKRjtBQTBKWCwyQkFBeUIsR0ExSmQ7QUEySlgsYUFBVyxHQTNKQTtBQTRKWCwwQkFBd0IsSUE1SmI7QUE2SlgsMkJBQXlCLEdBN0pkO0FBOEpYLG1DQUFpQyxHQTlKdEI7QUErSlgsMENBQXdDLEdBL0o3QjtBQWdLWCxtQkFBaUIsR0FoS047QUFpS1gsbUJBQWlCLEdBaktOO0FBa0tYLGtCQUFnQixHQWxLTDtBQW1LWCxrQ0FBZ0MsR0FuS3JCO0FBb0tYLGdCQUFjLEdBcEtIO0FBcUtYLCtDQUE2QyxHQXJLbEM7QUFzS1gsZUFBYSxHQXRLRjtBQXVLWCxjQUFZLEdBdktEO0FBd0tYLGtCQUFnQixHQXhLTDtBQXlLWCxpQkFBZSxHQXpLSjtBQTBLWCxxQkFBbUIsR0ExS1I7QUEyS1gsZ0JBQWMsR0EzS0g7QUE0S1gsd0JBQXNCLEdBNUtYO0FBNktYLDZCQUEyQixHQTdLaEI7QUE4S1gsNEJBQTBCLEdBOUtmO0FBK0tYLDZCQUEyQixHQS9LaEI7QUFnTFgsNkJBQTJCLEdBaExoQjtBQWlMWCw2QkFBMkIsR0FqTGhCO0FBa0xYLDZCQUEyQixHQWxMaEI7QUFtTFgsNkJBQTJCLEdBbkxoQjtBQW9MWCw2QkFBMkIsR0FwTGhCO0FBcUxYLDZCQUEyQixHQXJMaEI7QUFzTFgsOEJBQTRCLEdBdExqQjtBQXVMWCxlQUFhLEdBdkxGO0FBd0xYLHNCQUFvQixHQXhMVDtBQXlMWCxjQUFZLEdBekxEO0FBMExYLHdCQUFzQixHQTFMWDtBQTJMWCxpQkFBZSxHQTNMSjtBQTRMWCxzQkFBb0IsR0E1TFQ7QUE2TFgscUJBQW1CLEdBN0xSO0FBOExYLHlCQUF1QixHQTlMWjtBQStMWCxnQkFBYyxHQS9MSDtBQWdNWCxZQUFVLEdBaE1DO0FBaU1YLG1CQUFpQixJQWpNTjtBQWtNWCxpQkFBZSxHQWxNSjtBQW1NWCxnQ0FBOEIsR0FuTW5CO0FBb01YLDBCQUF3QixHQXBNYjtBQXFNWCxzQkFBb0IsR0FyTVQ7QUFzTVgsY0FBWSxHQXRNRDtBQXVNWCx1QkFBcUIsR0F2TVY7QUF3TVgsWUFBVSxHQXhNQztBQXlNWCxrQkFBZ0IsR0F6TUw7QUEwTVgsa0JBQWdCLEdBMU1MO0FBMk1YLGlCQUFlLEdBM01KO0FBNE1YLGdCQUFjLElBNU1IO0FBNk1YLGNBQVksR0E3TUQ7QUE4TVgsa0NBQWdDLEdBOU1yQjtBQStNWCw4QkFBNEIsSUEvTWpCO0FBZ05YLDRCQUEwQixHQWhOZjtBQWlOWCw0QkFBMEIsR0FqTmY7QUFrTlgsc0JBQW9CLEdBbE5UO0FBbU5YLDBCQUF3QixHQW5OYjtBQW9OWCwyQkFBeUIsR0FwTmQ7QUFxTlgsd0JBQXNCLEdBck5YO0FBc05YLG9CQUFrQixHQXROUDtBQXVOWCxtQkFBaUIsR0F2Tk47QUF3Tlgsa0JBQWdCLEdBeE5MO0FBeU5YLG9CQUFrQixHQXpOUDtBQTBOWCxjQUFZLElBMU5EO0FBMk5YLG1CQUFpQixHQTNOTjtBQTROWCxtQkFBaUIsR0E1Tk47QUE2TlgsMEJBQXdCLEdBN05iO0FBOE5YLHlCQUF1QixHQTlOWjtBQStOWCxvQkFBa0IsR0EvTlA7QUFnT1gsVUFBUSxHQWhPRztBQWlPWCxjQUFZLEdBak9EO0FBa09YLHFCQUFtQixHQWxPUjtBQW1PWCxZQUFVLEdBbk9DO0FBb09YLFlBQVUsR0FwT0M7QUFxT1gsZUFBYSxHQXJPRjtBQXNPWCxpQkFBZSxHQXRPSjtBQXVPWCxpQkFBZSxHQXZPSjtBQXdPWCxzQkFBb0IsR0F4T1Q7QUF5T1gscUJBQW1CLEdBek9SO0FBME9YLGtCQUFnQixHQTFPTDtBQTJPWCxpQkFBZSxHQTNPSjtBQTRPWCxrQkFBZ0IsR0E1T0w7QUE2T1gsd0JBQXNCLEdBN09YO0FBOE9YLDhCQUE0QixHQTlPakI7QUErT1gsbUJBQWlCLEdBL09OO0FBZ1BYLHFCQUFtQixHQWhQUjtBQWlQWCxtQkFBaUIsR0FqUE47QUFrUFgsY0FBWSxHQWxQRDtBQW1QWCxrQkFBZ0IsR0FuUEw7QUFvUFgsc0JBQW9CLEdBcFBUO0FBcVBYLHlCQUF1QixHQXJQWjtBQXNQWCxlQUFhLEdBdFBGO0FBdVBYLHFCQUFtQixHQXZQUjtBQXdQWCxxQkFBbUIsR0F4UFI7QUF5UFgsa0JBQWdCLEdBelBMO0FBMFBYLGdCQUFjLElBMVBIO0FBMlBYLDZCQUEyQixHQTNQaEI7QUE0UFgsaUNBQStCLEdBNVBwQjtBQTZQWCxjQUFZLEdBN1BEO0FBOFBYLGtCQUFnQixHQTlQTDtBQStQWCxtQkFBaUIsR0EvUE47QUFnUVgsbUJBQWlCLEdBaFFOO0FBaVFYLDRCQUEwQixHQWpRZjtBQWtRWCxtQkFBaUIsR0FsUU47QUFtUVgseUJBQXVCLEdBblFaO0FBb1FYLG1CQUFpQixHQXBRTjtBQXFRWCx5QkFBdUIsR0FyUVo7QUFzUVgsbUJBQWlCLEdBdFFOO0FBdVFYLHlCQUF1QixHQXZRWjtBQXdRWCxtQkFBaUIsR0F4UU47QUF5UVgseUJBQXVCLEdBelFaO0FBMFFYLGNBQVksR0ExUUQ7QUEyUVgsZUFBYSxHQTNRRjtBQTRRWCxZQUFVLEdBNVFDO0FBNlFYLGdCQUFjLEdBN1FIO0FBOFFYLGNBQVksR0E5UUQ7QUErUVgsbUJBQWlCLEdBL1FOO0FBZ1JYLGlCQUFlLEdBaFJKO0FBaVJYLHNCQUFvQixHQWpSVDtBQWtSWCxtQkFBaUIsR0FsUk47QUFtUlgsb0JBQWtCLEdBblJQO0FBb1JYLHFCQUFtQixHQXBSUjtBQXFSWCxrQkFBZ0IsR0FyUkw7QUFzUlgsaUJBQWUsR0F0Uko7QUF1UlgsY0FBWSxHQXZSRDtBQXdSWCxhQUFXLEdBeFJBO0FBeVJYLHdDQUFzQyxHQXpSM0I7QUEwUlgsbUJBQWlCLEdBMVJOO0FBMlJYLG1DQUFpQyxHQTNSdEI7QUE0UlgsZ0NBQThCLEdBNVJuQjtBQTZSWCxrQ0FBZ0MsR0E3UnJCO0FBOFJYLGtCQUFnQixHQTlSTDtBQStSWCxrQkFBZ0IsR0EvUkw7QUFnU1gsa0JBQWdCLEdBaFNMO0FBaVNYLG1CQUFpQixHQWpTTjtBQWtTWCxzQkFBb0IsR0FsU1Q7QUFtU1gsa0NBQWdDLEdBblNyQjtBQW9TWCxrQ0FBZ0MsR0FwU3JCO0FBcVNYLGtDQUFnQyxHQXJTckI7QUFzU1gsa0NBQWdDLEdBdFNyQjtBQXVTWCxrQ0FBZ0MsR0F2U3JCO0FBd1NYLDhCQUE0QixHQXhTakI7QUF5U1gscUJBQW1CLEdBelNSO0FBMFNYLDRCQUEwQixHQTFTZjtBQTJTWCx5QkFBdUIsR0EzU1o7QUE0U1gsc0JBQW9CLEdBNVNUO0FBNlNYLDRCQUEwQixHQTdTZjtBQThTWCxhQUFXLEdBOVNBO0FBK1NYLHVCQUFxQixHQS9TVjtBQWdUWCxpQ0FBK0IsR0FoVHBCO0FBaVRYLGtCQUFnQixHQWpUTDtBQWtUWCxzQkFBb0IsR0FsVFQ7QUFtVFgsa0JBQWdCLEdBblRMO0FBb1RYLHlCQUF1QixHQXBUWjtBQXFUWCxzQkFBb0IsR0FyVFQ7QUFzVFgsNkJBQTJCLEdBdFRoQjtBQXVUWCxvQ0FBa0MsR0F2VHZCO0FBd1RYLG1CQUFpQixHQXhUTjtBQXlUWCxzQkFBb0IsR0F6VFQ7QUEwVFgsNkJBQTJCLEdBMVRoQjtBQTJUWCxtQkFBaUIsR0EzVE47QUE0VFgsaUJBQWUsR0E1VEo7QUE2VFgsZUFBYSxHQTdURjtBQThUWCxtQkFBaUIsR0E5VE47QUErVFgsbUJBQWlCLEdBL1ROO0FBZ1VYLDZCQUEyQixHQWhVaEI7QUFpVVgsaUNBQStCLEdBalVwQjtBQWtVWCw4QkFBNEIsR0FsVWpCO0FBbVVYLGdDQUE4QixHQW5VbkI7QUFvVVgscUJBQW1CLEdBcFVSO0FBcVVYLG9CQUFrQixHQXJVUDtBQXNVWCwyQkFBeUIsR0F0VWQ7QUF1VVgsNkJBQTJCLEdBdlVoQjtBQXdVWCw0QkFBMEIsR0F4VWY7QUF5VVgsNEJBQTBCLEdBelVmO0FBMFVYLGtCQUFnQixHQTFVTDtBQTJVWCxrQkFBZ0IsR0EzVUw7QUE0VVgsZ0NBQThCLEdBNVVuQjtBQTZVWCx1QkFBcUIsSUE3VVY7QUE4VVgsdUJBQXFCLEdBOVVWO0FBK1VYLHFDQUFtQyxHQS9VeEI7QUFnVlgsd0NBQXNDLEdBaFYzQjtBQWlWWCxtQ0FBaUMsR0FqVnRCO0FBa1ZYLG9CQUFrQixHQWxWUDtBQW1WWCx3QkFBc0IsR0FuVlg7QUFvVlgsc0JBQW9CLEdBcFZUO0FBcVZYLDZCQUEyQixHQXJWaEI7QUFzVlgsZ0NBQThCLEdBdFZuQjtBQXVWWCxnQ0FBOEIsR0F2Vm5CO0FBd1ZYLGdDQUE4QixHQXhWbkI7QUF5VlgsZ0NBQThCLEdBelZuQjtBQTBWWCxpQkFBZSxHQTFWSjtBQTJWWCwwQkFBd0IsR0EzVmI7QUE0Vlgsa0NBQWdDLEdBNVZyQjtBQTZWWCxtQ0FBaUMsR0E3VnRCO0FBOFZYLGlDQUErQixHQTlWcEI7QUErVlgsaUNBQStCLEdBL1ZwQjtBQWdXWCx5QkFBdUIsR0FoV1o7QUFpV1gsNkJBQTJCLEdBaldoQjtBQWtXWCxnQkFBYyxHQWxXSDtBQW1XWCxvQkFBa0IsR0FuV1A7QUFvV1gsb0JBQWtCLElBcFdQO0FBcVdYLG9CQUFrQixHQXJXUDtBQXNXWCwwQkFBd0IsR0F0V2I7QUF1V1gsOEJBQTRCLEdBdldqQjtBQXdXWCxrQkFBZ0IsR0F4V0w7QUF5V1gseUJBQXVCLEdBeldaO0FBMFdYLDBCQUF3QixHQTFXYjtBQTJXWCxzQkFBb0IsR0EzV1Q7QUE0V1gsc0JBQW9CLElBNVdUO0FBNldYLHFCQUFtQixHQTdXUjtBQThXWCwwQkFBd0IsR0E5V2I7QUErV1gsdUJBQXFCLEdBL1dWO0FBZ1hYLDZCQUEyQixHQWhYaEI7QUFpWFgsbUJBQWlCLEdBalhOO0FBa1hYLDBCQUF3QixHQWxYYjtBQW1YWCx1QkFBcUIsR0FuWFY7QUFvWFgsc0JBQW9CLEdBcFhUO0FBcVhYLGlCQUFlLEdBclhKO0FBc1hYLHdCQUFzQixHQXRYWDtBQXVYWCx3QkFBc0IsR0F2WFg7QUF3WFgsbUJBQWlCLElBeFhOO0FBeVhYLCtCQUE2QixHQXpYbEI7QUEwWFgsNkJBQTJCLEdBMVhoQjtBQTJYWCwwQkFBd0IsR0EzWGI7QUE0WFgsY0FBWSxHQTVYRDtBQTZYWCx3QkFBc0IsR0E3WFg7QUE4WFgsMkJBQXlCLEdBOVhkO0FBK1hYLDBCQUF3QixHQS9YYjtBQWdZWCw4QkFBNEIsR0FoWWpCO0FBaVlYLG1DQUFpQyxHQWpZdEI7QUFrWVgscUNBQW1DLEdBbFl4QjtBQW1ZWCxvQ0FBa0MsR0FuWXZCO0FBb1lYLHNDQUFvQyxHQXBZekI7QUFxWVgscUNBQW1DLEdBcll4QjtBQXNZWCxzQ0FBb0MsR0F0WXpCO0FBdVlYLG1DQUFpQyxHQXZZdEI7QUF3WVgsb0NBQWtDLEdBeFl2QjtBQXlZWCxzQkFBb0IsR0F6WVQ7QUEwWVgsY0FBWSxHQTFZRDtBQTJZWCxxQkFBbUIsR0EzWVI7QUE0WVgsa0JBQWdCLEdBNVlMO0FBNllYLG9CQUFrQixHQTdZUDtBQThZWCx5QkFBdUIsR0E5WVo7QUErWVgsaUNBQStCLEdBL1lwQjtBQWdaWCxxQ0FBbUMsR0FoWnhCO0FBaVpYLHFDQUFtQyxHQWpaeEI7QUFrWlgsbUNBQWlDLEdBbFp0QjtBQW1aWCxxQ0FBbUMsR0FuWnhCO0FBb1pYLHFDQUFtQyxHQXBaeEI7QUFxWlgscUNBQW1DLEdBclp4QjtBQXNaWCxxQ0FBbUMsR0F0WnhCO0FBdVpYLHFDQUFtQyxHQXZaeEI7QUF3WlgscUNBQW1DLEdBeFp4QjtBQXlaWCxxQ0FBbUMsR0F6WnhCO0FBMFpYLHFDQUFtQyxHQTFaeEI7QUEyWlgsa0NBQWdDLEdBM1pyQjtBQTRaWCxtQ0FBaUMsR0E1WnRCO0FBNlpYLG1DQUFpQyxHQTdadEI7QUE4WlgsbUNBQWlDLEdBOVp0QjtBQStaWCxtQ0FBaUMsR0EvWnRCO0FBZ2FYLG1DQUFpQyxHQWhhdEI7QUFpYVgsbUNBQWlDLEdBamF0QjtBQWthWCxtQ0FBaUMsR0FsYXRCO0FBbWFYLG9DQUFrQyxHQW5hdkI7QUFvYVgsY0FBWSxHQXBhRDtBQXFhWCxzQkFBb0IsR0FyYVQ7QUFzYVgsZ0JBQWMsR0F0YUg7QUF1YVgsc0JBQW9CLEdBdmFUO0FBd2FYLDZCQUEyQixHQXhhaEI7QUF5YVgsbUJBQWlCLEdBemFOO0FBMGFYLHNCQUFvQixHQTFhVDtBQTJhWCxvQkFBa0IsR0EzYVA7QUE0YVgseUJBQXVCLEdBNWFaO0FBNmFYLGlCQUFlLEdBN2FKO0FBOGFYLDJCQUF5QixHQTlhZDtBQSthWCw4QkFBNEIsR0EvYWpCO0FBZ2JYLHVCQUFxQixHQWhiVjtBQWliWCxnQkFBYyxHQWpiSDtBQWtiWCxvQkFBa0IsR0FsYlA7QUFtYlgsd0JBQXNCLEdBbmJYO0FBb2JYLCtCQUE2QixHQXBibEI7QUFxYlgsdUNBQXFDLEdBcmIxQjtBQXNiWCx1Q0FBcUMsR0F0YjFCO0FBdWJYLHVDQUFxQyxHQXZiMUI7QUF3YlgsdUNBQXFDLEdBeGIxQjtBQXliWCxpQ0FBK0IsR0F6YnBCO0FBMGJYLGlDQUErQixHQTFicEI7QUEyYlgsaUNBQStCLEdBM2JwQjtBQTRiWCxpQ0FBK0IsR0E1YnBCO0FBNmJYLCtCQUE2QixHQTdibEI7QUE4Ylgsc0NBQW9DLEdBOWJ6QjtBQStiWCwyQkFBeUIsR0EvYmQ7QUFnY1gscUJBQW1CLEdBaGNSO0FBaWNYLHFCQUFtQixHQWpjUjtBQWtjWCx5QkFBdUIsR0FsY1o7QUFtY1gsbUJBQWlCLEdBbmNOO0FBb2NYLHVCQUFxQixHQXBjVjtBQXFjWCw0QkFBMEIsR0FyY2Y7QUFzY1gseUJBQXVCLEdBdGNaO0FBdWNYLDJCQUF5QixHQXZjZDtBQXdjWCwrQkFBNkIsR0F4Y2xCO0FBeWNYLHdCQUFzQixHQXpjWDtBQTBjWCx5QkFBdUIsR0ExY1o7QUEyY1gsNkJBQTJCLEdBM2NoQjtBQTRjWCxnQkFBYyxHQTVjSDtBQTZjWCx3QkFBc0IsR0E3Y1g7QUE4Y1gsOEJBQTRCLEdBOWNqQjtBQStjWCwrQkFBNkIsR0EvY2xCO0FBZ2RYLHFCQUFtQixHQWhkUjtBQWlkWCxtQkFBaUIsR0FqZE47QUFrZFgsOEJBQTRCLEdBbGRqQjtBQW1kWCxpQkFBZSxHQW5kSjtBQW9kWCxzQ0FBb0MsR0FwZHpCO0FBcWRYLDRCQUEwQixHQXJkZjtBQXNkWCxjQUFZLEdBdGREO0FBdWRYLGdCQUFjLEdBdmRIO0FBd2RYLHdCQUFzQixHQXhkWDtBQXlkWCw0QkFBMEIsR0F6ZGY7QUEwZFgsK0JBQTZCLEdBMWRsQjtBQTJkWCwyQkFBeUIsR0EzZGQ7QUE0ZFgsMEJBQXdCLEdBNWRiO0FBNmRYLHVCQUFxQixHQTdkVjtBQThkWCx5QkFBdUIsR0E5ZFo7QUErZFgsc0JBQW9CLEdBL2RUO0FBZ2VYLHdCQUFzQixHQWhlWDtBQWllWCx1QkFBcUIsR0FqZVY7QUFrZVgsOEJBQTRCLEdBbGVqQjtBQW1lWCx3QkFBc0IsR0FuZVg7QUFvZVgscUJBQW1CLEdBcGVSO0FBcWVYLHVCQUFxQixHQXJlVjtBQXNlWCxvQkFBa0IsR0F0ZVA7QUF1ZVgsa0JBQWdCLElBdmVMO0FBd2VYLG1DQUFpQyxHQXhldEI7QUF5ZVgsK0JBQTZCLEdBemVsQjtBQTBlWCxzQkFBb0IsR0ExZVQ7QUEyZVgsc0JBQW9CLEdBM2VUO0FBNGVYLGlCQUFlLEdBNWVKO0FBNmVYLG1CQUFpQixHQTdlTjtBQThlWCxtQkFBaUIsR0E5ZU47QUErZVgsZ0JBQWMsR0EvZUg7QUFnZlgsZUFBYSxHQWhmRjtBQWlmWCxnQ0FBOEIsR0FqZm5CO0FBa2ZYLFlBQVUsR0FsZkM7QUFtZlgscUJBQW1CLEdBbmZSO0FBb2ZYLHFCQUFtQixHQXBmUjtBQXFmWCxzQkFBb0IsR0FyZlQ7QUFzZlgsdUJBQXFCLEdBdGZWO0FBdWZYLG1CQUFpQixHQXZmTjtBQXdmWCxxQkFBbUIsSUF4ZlI7QUF5ZlgsZUFBYSxHQXpmRjtBQTBmWCxZQUFVLEdBMWZDO0FBMmZYLFlBQVU7QUEzZkMsQ0FBYjtBQThmQSxpRUFBZUEsSUFBZjs7Ozs7Ozs7OztBQ2pnQkE7QUFDQTtBQWdCQSxNQUFNQSxJQUFrQixHQUFHO0FBQ3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTTtBQUpBLEtBSEo7QUFTSixlQUFXLENBVFA7QUFVSixlQUFXLENBVlA7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQURtQjtBQWV6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSwyQkFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTTtBQUpBLEtBSEo7QUFTSixlQUFXLENBQUMsR0FUUjtBQVVKLGVBQVcsQ0FBQyxHQVZSO0FBV0osa0JBQWMsR0FYVjtBQVlKLG1CQUFlO0FBWlgsR0FmbUI7QUE2QnpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLG9DQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sOENBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQTdCbUI7QUEyQ3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQTNDbUI7QUF5RHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sK0NBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXpEbUI7QUF1RXpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXZFbUI7QUFxRnpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0saURBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXJGbUI7QUFtR3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQW5HbUI7QUFpSHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQWpIbUI7QUErSHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBL0htQjtBQThJekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0E5SW1CO0FBNkp6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQTdKbUI7QUE0S3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBQUMsR0FWUjtBQVdKLGVBQVcsQ0FBQyxHQVhSO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0E1S21CO0FBMkx6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQTNMbUI7QUEwTXpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBMU1tQjtBQXlOekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0F6Tm1CO0FBd096QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsR0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBeE9tQjtBQXVQekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0F2UG1CO0FBc1F6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBdFFtQjtBQXFSekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0FyUm1CO0FBb1N6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQXBTbUI7QUFtVHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxFQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0FuVG1CO0FBa1V6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxFQVpWO0FBYUosbUJBQWU7QUFiWCxHQWxVbUI7QUFpVnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWpWb0I7QUFnV3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWhXb0I7QUErV3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0EvV29CO0FBOFh6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBOVhvQjtBQTZZekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E3WW9CO0FBNFp6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTVab0I7QUEyYXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0EzYW9CO0FBMGJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExYm9CO0FBeWN6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxNQUhBO0FBSU4sWUFBTSxRQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXpjb0I7QUF3ZHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F4ZG9CO0FBdWV6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdmVvQjtBQXNmekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGNBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdGZvQjtBQXFnQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyZ0JvQjtBQW9oQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FwaEJvQjtBQW1pQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBbmlCb0I7QUFtakJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQW5qQm9CO0FBbWtCekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW5rQm9CO0FBa2xCekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWxsQm9CO0FBaW1CekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWptQm9CO0FBZ25CekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sZ0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBaG5Cb0I7QUErbkJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9uQm9CO0FBK29CekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evb0JvQjtBQStwQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBL3BCb0I7QUE4cUJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFNBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGNBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBOXFCb0I7QUE2ckJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFVBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBN3JCb0I7QUE0c0J6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBNXNCb0I7QUEydEJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBM3RCb0I7QUEwdUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1Qm9CO0FBMHZCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZCb0I7QUEwd0J6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF3Qm9CO0FBMHhCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXhCb0I7QUEweUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF5Qm9CO0FBMHpCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExekJvQjtBQTAwQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTBCb0I7QUEwMUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTExQm9CO0FBMDJCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTEyQm9CO0FBMDNCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTEzQm9CO0FBMDRCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNEJvQjtBQTA1QnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTVCb0I7QUEwNkJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNkJvQjtBQTA3QnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTdCb0I7QUEwOEJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMThCb0I7QUEwOUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExOUJvQjtBQTArQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExK0JvQjtBQXkvQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLHNCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXovQm9CO0FBeWdDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemdDb0I7QUF5aEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpoQ29CO0FBeWlDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXppQ29CO0FBeWpDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6akNvQjtBQXlrQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtDb0I7QUF5bEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpsQ29CO0FBeW1DekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bUNvQjtBQXluQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bkNvQjtBQXlvQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem9Db0I7QUF5cEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpwQ29CO0FBeXFDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenFDb0I7QUF5ckN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLFNBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJDb0I7QUF5c0N6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzQ29CO0FBeXRDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFDRSw0RkFMSTtBQU1OLFlBQU0sbUJBTkE7QUFPTixZQUFNO0FBUEEsS0FITDtBQVlILGVBQVcsQ0FaUjtBQWFILGVBQVcsQ0FiUjtBQWNILGtCQUFjLEdBZFg7QUFlSCxtQkFBZTtBQWZaLEdBenRDb0I7QUEwdUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1Q29CO0FBMHZDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZDb0I7QUEwd0N6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Exd0NvQjtBQTB4Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXhDb0I7QUEweUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF5Q29CO0FBMHpDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXpDb0I7QUEwMEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTBDb0I7QUEwMUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTExQ29CO0FBMDJDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExMkNvQjtBQTAzQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTNDb0I7QUEwNEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sc0NBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTE0Q29CO0FBMDVDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNUNvQjtBQTA2Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTZDb0I7QUEwN0N6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FBQyxFQVZUO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExN0NvQjtBQXk4Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw0Q0FIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejhDb0I7QUF5OUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo5Q29CO0FBeStDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6K0NvQjtBQXkvQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBei9Db0I7QUF5Z0R6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpnRG9CO0FBeWhEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6aERvQjtBQXlpRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sbUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemlEb0I7QUF5akR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxvQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6akRvQjtBQXlrRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxTQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtEb0I7QUF5bER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemxEb0I7QUF5bUR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bURvQjtBQXluRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx3Q0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpuRG9CO0FBeW9EekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem9Eb0I7QUF5cER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6cERvQjtBQXlxRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sZ0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpxRG9CO0FBeXJEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJEb0I7QUF5c0R6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzRG9CO0FBeXREekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHFDQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6dERvQjtBQXl1RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenVEb0I7QUF5dkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp2RG9CO0FBeXdEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLCtDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6d0RvQjtBQXl4RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sbUJBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp4RG9CO0FBeXlEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenlEb0I7QUF5ekR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sNkJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSx5QkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6ekRvQjtBQXkwRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXowRG9CO0FBeTFEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejFEb0I7QUF5MkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6MkRvQjtBQXkzRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejNEb0I7QUF5NER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6NERvQjtBQXk1RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejVEb0I7QUF5NkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo2RG9CO0FBeTdEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFlBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo3RG9CO0FBeThEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6OERvQjtBQXk5RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo5RG9CO0FBeStEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6K0RvQjtBQXkvRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBei9Eb0I7QUF5Z0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpnRW9CO0FBeWhFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6aEVvQjtBQXlpRXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemlFb0I7QUF5akV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBempFb0I7QUF5a0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtFb0I7QUF5bEV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemxFb0I7QUF5bUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem1Fb0I7QUF5bkV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bkVvQjtBQXlvRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6b0VvQjtBQXlwRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sK0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpwRW9CO0FBeXFFekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLDhCQUhBO0FBSU4sWUFBTSxpREFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenFFb0I7QUF5ckV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0scUJBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJFb0I7QUF5c0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzRW9CO0FBeXRFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxrQ0FGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp0RW9CO0FBd3VFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXh1RW9CO0FBdXZFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXZ2RW9CO0FBc3dFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXR3RW9CO0FBcXhFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXJ4RW9CO0FBb3lFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXB5RW9CO0FBbXpFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQW56RW9CO0FBbTBFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FuMEVvQjtBQW0xRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBbjFFb0I7QUFtMkV6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLFlBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW4yRW9CO0FBazNFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FsM0VvQjtBQWk0RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGFBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBajRFb0I7QUFpNUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqNUVvQjtBQWk2RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWo2RW9CO0FBaTdFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqN0VvQjtBQWk4RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBajhFb0I7QUFpOUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWo5RW9CO0FBaStFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqK0VvQjtBQWkvRXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxTQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWovRW9CO0FBaWdGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqZ0ZvQjtBQWloRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWpoRm9CO0FBaWlGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sNERBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWppRm9CO0FBaWpGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqakZvQjtBQWlrRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWprRm9CO0FBaWxGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBamxGb0I7QUFpbUZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqbUZvQjtBQWluRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWpuRm9CO0FBaW9GekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fqb0ZvQjtBQWlwRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBanBGb0I7QUFpcUZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMENBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqcUZvQjtBQWlyRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqckZvQjtBQWlzRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fqc0ZvQjtBQWl0RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxxQ0FGQTtBQUdOLFlBQU0sNENBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqdEZvQjtBQWl1RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sK0NBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqdUZvQjtBQWl2RnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FqdkZvQjtBQWd3RnpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxtREFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fod0ZvQjtBQWd4RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoeEZvQjtBQWd5RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHlGb0I7QUFnekZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoekZvQjtBQWcwRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEVBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgwRm9CO0FBZzFGekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0scUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDFGb0I7QUFnMkZ6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoMkZvQjtBQWczRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLFVBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDNGb0I7QUFnNEZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg0Rm9CO0FBZzVGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sK0JBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSw2Q0FKQTtBQUtOLFlBQU0sdUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsR0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDVGb0I7QUFnNkZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0saUNBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoNkZvQjtBQWc3RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg3Rm9CO0FBZzhGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg4Rm9CO0FBZzlGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDlGb0I7QUFnK0Z6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgrRm9CO0FBZy9GekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLG9DQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0scUVBSkE7QUFLTixZQUFNLDBCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgvRm9CO0FBZ2dHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLHdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhnR29CO0FBZ2hHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHVDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sd0NBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhoR29CO0FBZ2lHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhpR29CO0FBZ2pHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSx5Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoakdvQjtBQWdrR3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sNENBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Foa0dvQjtBQWdsR3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGxHb0I7QUFnbUd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhtR29CO0FBZ25HekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMkNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FobkdvQjtBQWdvR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaG9Hb0I7QUFncEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxnREFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLGtEQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FocEdvQjtBQWdxR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHlDQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhxR29CO0FBZ3JHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sOENBRkE7QUFHTixZQUFNLDRDQUhBO0FBSU4sWUFBTSxtQ0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FockdvQjtBQWdzR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHNHb0I7QUFndEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh0R29CO0FBZ3VHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHVHb0I7QUFndkd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FodkdvQjtBQWd3R3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHdHb0I7QUFneEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHhHb0I7QUFneUd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh5R29CO0FBZ3pHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh6R29CO0FBZzBHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLCtCQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDBHb0I7QUFnMUd6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgxR29CO0FBZzJHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDJHb0I7QUFnM0d6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSx5QkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoM0dvQjtBQWc0R3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDRHb0I7QUFnNUd6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg1R29CO0FBZzZHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxFQVhUO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoNkdvQjtBQWc3R3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sc0NBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDdHb0I7QUFnOEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg4R29CO0FBZzlHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoOUdvQjtBQWcrR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaCtHb0I7QUFnL0d6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgvR29CO0FBZ2dIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoZ0hvQjtBQWdoSHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhoSG9CO0FBZ2lIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhpSG9CO0FBZ2pIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoakhvQjtBQWdrSHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGtIb0I7QUFnbEh6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FobEhvQjtBQWdtSHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0scUJBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhtSG9CO0FBZ25IekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHFDQUhBO0FBSU4sWUFBTSxrQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaG5Ib0I7QUFnb0h6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQUFDLEVBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhvSG9CO0FBZ3BIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHBIb0I7QUFncUh6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FocUhvQjtBQWdySHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSwwQ0FGQTtBQUdOLFlBQU0sOENBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FockhvQjtBQWdzSHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSx5Q0FGQTtBQUdOLFlBQU0sZ0RBSEE7QUFJTixZQUFNLDhDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQUFDLEVBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhzSG9CO0FBZ3RIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHlDQUZBO0FBR04sWUFBTSwrQ0FIQTtBQUlOLFlBQU0sMkNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh0SG9CO0FBZ3VIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDBDQUZBO0FBR04sWUFBTSw4Q0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh1SG9CO0FBZ3ZIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLDRDQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLHVCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh2SG9CO0FBZ3dIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDhDQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sd0NBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh3SG9CO0FBZ3hIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDhDQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLHVCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh4SG9CO0FBZ3lIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoeUhvQjtBQWd6SHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHpIb0I7QUFnMEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxtQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgwSG9CO0FBZzFIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoMUhvQjtBQWcySHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDJIb0I7QUFnM0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sb0NBRkE7QUFHTixZQUFNLHdDQUhBO0FBSU4sWUFBTSx3Q0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDNIb0I7QUFnNEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDRIb0I7QUFnNUh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDVIb0I7QUFnNkh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDZIb0I7QUFnN0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDdIb0I7QUFnOEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDhIb0I7QUFnOUh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDlIb0I7QUFnK0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaCtIb0I7QUFnL0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaC9Ib0I7QUFnZ0l6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGdJb0I7QUFnaEl6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGhJb0I7QUFnaUl6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWhpSW9CO0FBK2lJekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQS9pSW9CO0FBOGpJekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxJQURBO0FBRU4sWUFBTSxRQUZBO0FBR04sWUFBTSxRQUhBO0FBSU4sWUFBTSxRQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTlqSW9CO0FBNmtJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTdrSW9CO0FBNmxJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sUUFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTdsSW9CO0FBNm1JekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxFQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E3bUlvQjtBQTZuSXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSxvQ0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSwrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E3bklvQjtBQTZvSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E3b0lvQjtBQTRwSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E1cElvQjtBQTJxSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTNxSW9CO0FBMHJJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTFySW9CO0FBMHNJekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sa0RBSkE7QUFLTixZQUFNLDBCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTFzSW9CO0FBMHRJekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF0SW9CO0FBMHVJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1SW9CO0FBMHZJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZJb0I7QUEwd0l6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFFBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLFFBSkE7QUFLTixZQUFNLEtBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBMXdJb0I7QUF5eEl6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0saUNBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6eElvQjtBQXl5SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6eUlvQjtBQXl6SXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp6SW9CO0FBdzBJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4MElvQjtBQXcxSXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDFJb0I7QUF3Mkl6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxtQkFEQTtBQUVOLFlBQU0sc0NBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx3Q0FKQTtBQUtOLFlBQU0sK0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDJJb0I7QUF3M0l6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4M0lvQjtBQXc0SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGFBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg0SW9CO0FBdzVJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxnQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4NUlvQjtBQXc2SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4NklvQjtBQXc3SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg3SW9CO0FBdzhJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4OElvQjtBQXc5SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxxQkFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDlJb0I7QUF3K0l6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgrSW9CO0FBdy9JekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4L0lvQjtBQXdnSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4Z0pvQjtBQXdoSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFFBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhoSm9CO0FBd2lKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhpSm9CO0FBd2pKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4akpvQjtBQXdrSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4a0pvQjtBQXdsSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bEpvQjtBQXdtSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bUpvQjtBQXduSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bkpvQjtBQXdvSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4b0pvQjtBQXdwSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4cEpvQjtBQXdxSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4cUpvQjtBQXdySnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4ckpvQjtBQXdzSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4c0pvQjtBQXd0SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHRKb0I7QUF3dUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh1Sm9CO0FBd3ZKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSw4REFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4dkpvQjtBQXd3SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSx1QkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEVBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHdKb0I7QUF3eEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh4Sm9CO0FBd3lKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sd0VBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSx5RUFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4eUpvQjtBQXd6SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHpKb0I7QUF3MEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgwSm9CO0FBdzFKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgxSm9CO0FBdzJKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsRUFiWDtBQWNILG1CQUFlO0FBZFosR0F4MkpvQjtBQXczSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDNKb0I7QUF3NEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDRKb0I7QUF3NUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg1Sm9CO0FBdzZKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDZKb0I7QUF3N0p6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg3Sm9CO0FBdzhKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDhKb0I7QUF3OUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg5Sm9CO0FBdytKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLDZCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4K0pvQjtBQXcvSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLFlBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgvSm9CO0FBd2dLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLDJDQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4Z0tvQjtBQXdoS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGhLb0I7QUF3aUt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxlQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sZUFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGlLb0I7QUF3akt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0seUNBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhqS29CO0FBd2tLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGtLb0I7QUF3bEt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhsS29CO0FBd21LekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeG1Lb0I7QUF3bkt6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSwyQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bktvQjtBQXdvS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLHNCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhvS29CO0FBd3BLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhwS29CO0FBd3FLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhxS29CO0FBd3JLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhyS29CO0FBd3NLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhzS29CO0FBd3RLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh0S29CO0FBd3VLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh1S29CO0FBd3ZLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh2S29CO0FBd3dLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh3S29CO0FBd3hLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh4S29CO0FBd3lLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4eUtvQjtBQXd6S3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxFQVZSO0FBV0gsZUFBVyxFQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F4ektvQjtBQXUwS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYwS29CO0FBdTFLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSw4QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjFLb0I7QUF1Mkt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjJLb0I7QUF1M0t6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2M0tvQjtBQXU0S3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0saUVBSkE7QUFLTixZQUFNLG9CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY0S29CO0FBdTVLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sbUJBREE7QUFFTixZQUFNLDRDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLCtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY1S29CO0FBdTZLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2NktvQjtBQXU3S3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjdLb0I7QUF1OEt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY4S29CO0FBdTlLekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjlLb0I7QUF1K0t6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2K0tvQjtBQXUvS3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYvS29CO0FBdWdMekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdmdMb0I7QUF1aEx6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2aExvQjtBQXVpTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sc0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxFQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2aUxvQjtBQXVqTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZqTG9CO0FBdWtMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdmtMb0I7QUF1bEx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMkNBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2bExvQjtBQXVtTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZtTG9CO0FBdW5MekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdm5Mb0I7QUF1b0x6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2b0xvQjtBQXVwTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0scUNBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZwTG9CO0FBdXFMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sdUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdnFMb0I7QUF1ckx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZyTG9CO0FBdXNMekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sd0NBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2c0xvQjtBQXV0THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2dExvQjtBQXV1THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxlQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2dUxvQjtBQXV2THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdnZMb0I7QUF1d0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2d0xvQjtBQXV4THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2eExvQjtBQXV5THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZ5TG9CO0FBdXpMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sTUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2ekxvQjtBQXUwTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjBMb0I7QUF1MUx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYxTG9CO0FBdTJMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2MkxvQjtBQXUzTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjNMb0I7QUF1NEx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY0TG9CO0FBdTVMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2NUxvQjtBQXU2THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjZMb0I7QUF1N0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY3TG9CO0FBdThMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2OExvQjtBQXU5THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjlMb0I7QUF1K0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2K0xvQjtBQXUvTHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F2L0xvQjtBQXNnTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F0Z01vQjtBQXFoTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyaE1vQjtBQW9pTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FwaU1vQjtBQW1qTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW5qTW9CO0FBa2tNekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxTQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWxrTW9CO0FBaWxNekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FqbE1vQjtBQWdtTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FobU1vQjtBQSttTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsR0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL21Nb0I7QUErbk16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL25Nb0I7QUErb016QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL29Nb0I7QUErcE16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE1vQjtBQStxTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9xTW9CO0FBK3JNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3JNb0I7QUErc016QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evc01vQjtBQSt0TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3RNb0I7QUErdU16QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxzQkFEQTtBQUVOLFlBQU0seURBRkE7QUFHTixZQUFNLG9EQUhBO0FBSU4sWUFBTSxnRUFKQTtBQUtOLFlBQU0seUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3VNb0I7QUErdk16QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3ZNb0I7QUErd016QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS93TW9CO0FBK3hNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3hNb0I7QUEreU16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveU1vQjtBQSt6TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFNBRkE7QUFHTixZQUFNLFNBSEE7QUFJTixZQUFNLFVBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3pNb0I7QUErME16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8wTW9CO0FBKzFNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFNb0I7QUErMk16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvMk1vQjtBQSszTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8zTW9CO0FBKzRNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzRNb0I7QUErNU16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNU1vQjtBQSs2TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS82TW9CO0FBKzdNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzdNb0I7QUErOE16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvOE1vQjtBQSs5TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS85TW9CO0FBKytNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHdDQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sMkNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvK01vQjtBQSsvTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLy9Nb0I7QUErZ056QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9nTm9CO0FBK2hOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvaE5vQjtBQStpTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9pTm9CO0FBK2pOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0seUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evak5vQjtBQStrTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Eva05vQjtBQStsTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9sTm9CO0FBK21OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9tTm9CO0FBK25OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evbk5vQjtBQStvTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL29Ob0I7QUErcE56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE5vQjtBQStxTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0scUNBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3FOb0I7QUErck56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9yTm9CO0FBK3NOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHdDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3NOb0I7QUErdE56QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvdE5vQjtBQSt1TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS91Tm9CO0FBK3ZOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evdk5vQjtBQSt3TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxFQVhUO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evd05vQjtBQSt4TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveE5vQjtBQSt5TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLG9CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3lOb0I7QUErek56QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evek5vQjtBQSswTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8wTm9CO0FBKzFOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSw4QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFOb0I7QUErMk56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvMk5vQjtBQSszTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8zTm9CO0FBKzROekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sNkNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNE5vQjtBQSs1TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxtQ0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzVOb0I7QUErNk56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSw2Q0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS82Tm9CO0FBKzdOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvN05vQjtBQSs4TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzhOb0I7QUErOU56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS85Tm9CO0FBKytOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8rTm9CO0FBKy9OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvL05vQjtBQStnT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx1QkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvZ09vQjtBQStoT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvaE9vQjtBQStpT3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9pT29CO0FBK2pPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9qT29CO0FBK2tPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9rT29CO0FBK2xPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9sT29CO0FBK21PekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9tT29CO0FBK25PekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLFlBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL25Pb0I7QUErb096QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9vT29CO0FBK3BPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE9vQjtBQStxT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3FPb0I7QUErck96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evck9vQjtBQStzT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evc09vQjtBQSt0T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvdE9vQjtBQSt1T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3VPb0I7QUErdk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxrQ0FGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evdk9vQjtBQSt3T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLHdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS93T29CO0FBK3hPekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0seUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3hPb0I7QUEreU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveU9vQjtBQSt6T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS96T29CO0FBKzBPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLCtCQUhBO0FBSU4sWUFBTSxtQ0FKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzBPb0I7QUErMU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFPb0I7QUErMk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8yT29CO0FBKzNPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvM09vQjtBQSs0T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSx5Q0FGQTtBQUdOLFlBQU0sd0NBSEE7QUFJTixZQUFNLDZDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzRPb0I7QUErNU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sc0NBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSwwQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzVPb0I7QUErNk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNk9vQjtBQSs3T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS83T29CO0FBKzhPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQUFDLEVBVlQ7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBLzhPb0I7QUE4OU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTk5T29CO0FBOCtPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E5K09vQjtBQTgvT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBOS9Pb0I7QUE4Z1B6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLElBREE7QUFFTixZQUFNLGFBRkE7QUFHTixZQUFNLGFBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTlnUG9CO0FBNGhQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTVoUG9CO0FBMGlQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTFpUG9CO0FBd2pQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXhqUG9CO0FBc2tQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXRrUG9CO0FBb2xQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxPQUZBO0FBR04sWUFBTSxPQUhBO0FBSU4sWUFBTSxPQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXBsUG9CO0FBa21QekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxlQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU07QUFMQSxLQUZMO0FBU0gsZUFBVyxDQVRSO0FBVUgsZUFBVyxDQVZSO0FBV0gsa0JBQWMsR0FYWDtBQVlILG1CQUFlO0FBWlosR0FsbVBvQjtBQWduUHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0sYUFKQTtBQUtOLFlBQU07QUFMQSxLQUZMO0FBU0gsZUFBVyxDQVRSO0FBVUgsZUFBVyxDQVZSO0FBV0gsa0JBQWMsR0FYWDtBQVlILG1CQUFlO0FBWlosR0FoblBvQjtBQThuUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E5blBvQjtBQThvUHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTlvUG9CO0FBNnBQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTdwUG9CO0FBNHFQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E1cVBvQjtBQTJyUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw4Q0FIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBM3JQb0I7QUEyc1B6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxFQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0Ezc1BvQjtBQTB0UHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sZUFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxFQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTF0UG9CO0FBeXVQekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp1UG9CO0FBeXZQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxFQVZUO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp2UG9CO0FBd3dQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4d1BvQjtBQXd4UHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXh4UG9CO0FBdXlQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXZ5UG9CO0FBc3pQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQUFDLEdBVlQ7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdHpQb0I7QUFxMFB6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0seUNBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyMFBvQjtBQW8xUHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsRUFWUjtBQVdILGVBQVcsRUFYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBcDFQb0I7QUFtMlB6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FuMlBvQjtBQWszUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWwzUG9CO0FBaTRQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlo7QUFqNFBvQixDQUEzQjtBQWs1UEEsaUVBQWVBLElBQWY7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaDZQQTs7QUFFQSxNQUFNcXhCLHFCQUFxQixHQUFHLE1BQU07QUFDbEMsU0FBTztBQUNMQyxJQUFBQSxJQUFJLEVBQUUsRUFERDtBQUVMQyxJQUFBQSxNQUFNLEVBQUUsRUFGSDtBQUdMQyxJQUFBQSxHQUFHLEVBQUUsRUFIQTtBQUlMQyxJQUFBQSxPQUFPLEVBQUUsRUFKSjtBQUtMQyxJQUFBQSxRQUFRLEVBQUUsRUFMTDtBQU1MQyxJQUFBQSxJQUFJLEVBQUU7QUFORCxHQUFQO0FBUUQsQ0FURDs7QUFXZSxNQUFNQyxZQUFOLENBQW1CO0FBQUE7QUFBQSxxQ0FDYixFQURhOztBQUFBLHlDQUVSLEVBRlE7O0FBQUEsdUNBR1YsRUFIVTs7QUFBQSw0Q0FJTCxFQUpLOztBQUFBLDBDQUtQLEVBTE87O0FBQUEseUNBTVEsRUFOUjs7QUFBQSx1Q0FPTSxFQVBOOztBQUFBLCtDQVFZUCxxQkFBcUIsRUFSakM7QUFBQTs7QUFVaEM7QUFDQVEsRUFBQUEsY0FBYyxDQUFDbGEsQ0FBRCxFQUE4QjtBQUMxQyxRQUFJLENBQUNBLENBQUQsSUFBTSxDQUFDQSxDQUFDLENBQUNtYSxLQUFiLEVBQ0U7QUFFRixTQUFLQyxLQUFMO0FBQ0EsU0FBS0MsT0FBTCxHQUFlcmEsQ0FBQyxDQUFDbWEsS0FBakI7O0FBRUEsU0FBSyxNQUFNblosQ0FBWCxJQUFnQmhCLENBQUMsQ0FBQ21hLEtBQWxCLEVBQXlCO0FBQ3ZCLFdBQUtHLFlBQUwsQ0FBa0J2bEIsSUFBbEIsQ0FBdUJpTSxDQUFDLENBQUN0VyxFQUF6QjtBQUNBLFdBQUs2dkIsY0FBTCxDQUFvQnhsQixJQUFwQixDQUF5QmlNLENBQUMsQ0FBQy9XLElBQTNCO0FBQ0EsWUFBTXV3QixPQUFPLEdBQUc5UCw2Q0FBQSxDQUFrQjFKLENBQUMsQ0FBQ25ZLEdBQXBCLENBQWhCO0FBQ0EsWUFBTUYsSUFBSSxHQUFHK2hCLHVDQUFBLENBQWU4UCxPQUFmLENBQWI7QUFDQSxXQUFLQyxTQUFMLENBQWV6WixDQUFDLENBQUN0VyxFQUFqQixJQUF1QnNXLENBQUMsQ0FBQy9XLElBQXpCO0FBQ0EsV0FBS3l3QixXQUFMLENBQWlCMVosQ0FBQyxDQUFDL1csSUFBbkIsSUFBMkJ0QixJQUEzQjs7QUFDQSxVQUFJcVksQ0FBQyxDQUFDMlosT0FBTixFQUFlO0FBQ2IsYUFBS0MsU0FBTCxDQUFlN2xCLElBQWYsQ0FBb0JpTSxDQUFDLENBQUN0VyxFQUF0QjtBQUNBLGFBQUttd0IsV0FBTCxDQUFpQjlsQixJQUFqQixDQUFzQmlNLENBQUMsQ0FBQy9XLElBQXhCO0FBQ0EsYUFBSzZ3QixpQkFBTCxDQUF1Qm55QixJQUF2QixFQUE2Qm9NLElBQTdCLENBQWtDaU0sQ0FBQyxDQUFDL1csSUFBcEM7QUFDRDtBQUNGO0FBQ0Y7O0FBRURtd0IsRUFBQUEsS0FBSyxHQUFTO0FBQ1o7QUFDQSxTQUFLQyxPQUFMLEdBQWUsRUFBZjtBQUNBLFNBQUtRLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLRCxTQUFMLEdBQWlCLEVBQWpCO0FBQ0EsU0FBS0wsY0FBTCxHQUFzQixFQUF0QjtBQUNBLFNBQUtELFlBQUwsR0FBb0IsRUFBcEI7QUFDQSxTQUFLSSxXQUFMLEdBQW1CLEVBQW5CO0FBQ0EsU0FBS0QsU0FBTCxHQUFpQixFQUFqQixDQVJZLENBVVo7O0FBQ0EsU0FBS0ssaUJBQUwsR0FBeUJwQixxQkFBcUIsRUFBOUM7QUFDRCxHQTdDK0IsQ0ErQ2hDOzs7QUFDYyxNQUFWcUIsVUFBVSxHQUFhO0FBQ3pCLFdBQU8sS0FBS0YsV0FBWjtBQUNEOztBQUVXLE1BQVJHLFFBQVEsR0FBYTtBQUN2QixXQUFPLEtBQUtKLFNBQVo7QUFDRCxHQXREK0IsQ0F3RGhDOzs7QUFDaUIsTUFBYkssYUFBYSxHQUFhO0FBQzVCLFdBQU8sS0FBS1YsY0FBWjtBQUNELEdBM0QrQixDQTZEaEM7OztBQUNhLE1BQVRXLFNBQVMsR0FBYTtBQUN4QixXQUFPLEtBQUtKLGlCQUFMLENBQXVCLE1BQXZCLENBQVA7QUFDRCxHQWhFK0IsQ0FrRWhDOzs7QUFDZSxNQUFYSyxXQUFXLEdBQWE7QUFDMUIsV0FBTyxLQUFLTCxpQkFBTCxDQUF1QixRQUF2QixDQUFQO0FBQ0QsR0FyRStCLENBdUVoQzs7O0FBQ1ksTUFBUk0sUUFBUSxHQUFhO0FBQ3ZCLFdBQU8sS0FBS04saUJBQUwsQ0FBdUIsS0FBdkIsQ0FBUDtBQUNELEdBMUUrQixDQTRFaEM7OztBQUNBTyxFQUFBQSxNQUFNLENBQUNweEIsSUFBRCxFQUFldEIsSUFBZixFQUFzQztBQUMxQyxXQUFPLEtBQUsreEIsV0FBTCxDQUFpQnp3QixJQUFqQixNQUEyQnRCLElBQWxDO0FBQ0QsR0EvRStCLENBaUZoQzs7O0FBQ0EyeUIsRUFBQUEsTUFBTSxDQUFDcnhCLElBQUQsRUFBd0I7QUFDNUIsV0FBTyxLQUFLb3hCLE1BQUwsQ0FBWXB4QixJQUFaLEVBQWtCLE1BQWxCLENBQVA7QUFDRCxHQXBGK0IsQ0FzRmhDOzs7QUFDQXN4QixFQUFBQSxRQUFRLENBQUN0eEIsSUFBRCxFQUF3QjtBQUM5QixXQUFPLEtBQUtveEIsTUFBTCxDQUFZcHhCLElBQVosRUFBa0IsUUFBbEIsQ0FBUDtBQUNELEdBekYrQixDQTJGaEM7OztBQUNBdXhCLEVBQUFBLEtBQUssQ0FBQ3Z4QixJQUFELEVBQXdCO0FBQzNCLFdBQU8sS0FBS294QixNQUFMLENBQVlweEIsSUFBWixFQUFrQixLQUFsQixDQUFQO0FBQ0QsR0E5RitCLENBZ0doQzs7O0FBQ0Ewd0IsRUFBQUEsT0FBTyxDQUFDMXdCLElBQUQsRUFBd0I7QUFDN0IsV0FBTyxLQUFLOHdCLFVBQUwsQ0FBZ0JueEIsUUFBaEIsQ0FBeUJLLElBQXpCLENBQVA7QUFDRCxHQW5HK0IsQ0FxR2hDOzs7QUFDQXd4QixFQUFBQSxVQUFVLENBQUN4eEIsSUFBRCxFQUF3QjtBQUNoQyxXQUFPLEtBQUtneEIsYUFBTCxDQUFtQnJ4QixRQUFuQixDQUE0QkssSUFBNUIsQ0FBUDtBQUNELEdBeEcrQixDQTBHaEM7QUFDQTtBQUNBOzs7QUFDQXl4QixFQUFBQSxTQUFTLENBQUN6eEIsSUFBRCxFQUFtQztBQUMxQyxVQUFNOHRCLEtBQUssR0FBRyxLQUFLbUQsU0FBbkI7QUFDQSxRQUFJbkQsS0FBSyxDQUFDdGlCLE1BQU4sS0FBaUIsQ0FBckIsRUFDRTtBQUNGLFFBQUlzaUIsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhOXRCLElBQWpCLEVBQ0UsT0FBTzh0QixLQUFLLENBQUMsQ0FBRCxDQUFaO0FBQ0YsUUFBSUEsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhOXRCLElBQWpCLEVBQ0UsT0FBTzh0QixLQUFLLENBQUMsQ0FBRCxDQUFaO0FBQ0gsR0FySCtCLENBdUhoQzs7O0FBQ0E0RCxFQUFBQSxXQUFXLENBQUMxeEIsSUFBRCxFQUFtQztBQUM1QyxVQUFNOHRCLEtBQUssR0FBRyxLQUFLK0MsaUJBQUwsQ0FBdUIsUUFBdkIsQ0FBZDtBQUNBLFFBQUkvQyxLQUFLLENBQUN0aUIsTUFBTixLQUFpQixDQUFyQixFQUNFO0FBQ0YsUUFBSXNpQixLQUFLLENBQUMsQ0FBRCxDQUFMLEtBQWE5dEIsSUFBakIsRUFDRSxPQUFPOHRCLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDRixRQUFJQSxLQUFLLENBQUMsQ0FBRCxDQUFMLEtBQWE5dEIsSUFBakIsRUFDRSxPQUFPOHRCLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDSCxHQWhJK0IsQ0FrSWhDOzs7QUFDQXlDLEVBQUFBLE9BQU8sQ0FBQ3Z3QixJQUFELEVBQWdDO0FBQUE7O0FBQ3JDLFVBQU0yeEIsVUFBVSxHQUFHLEtBQUtiLFVBQUwsQ0FBZ0JyYSxPQUFoQixDQUF3QnpXLElBQXhCLENBQW5CO0FBQ0EsUUFBSTJ4QixVQUFVLElBQUksQ0FBbEIsRUFDRSxPQUFPbFIsNkNBQUEsMEJBQWtCLEtBQUsyUCxPQUFMLENBQWF1QixVQUFiLENBQWxCLDBEQUFrQixzQkFBMEIveUIsR0FBNUMsQ0FBUDtBQUNIOztBQUVEZ3pCLEVBQUFBLFVBQVUsQ0FBQ254QixFQUFELEVBQWlDO0FBQ3pDLFdBQU8sS0FBSyt2QixTQUFMLENBQWUvdkIsRUFBZixDQUFQO0FBQ0Q7O0FBM0krQjs7Ozs7Ozs7OztBQ2ZsQztBQXlEQTtBQUNBLE1BQU1veEIsK0JBQXlELEdBQUc7QUFDaEVDLEVBQUFBLFdBQVcsRUFBRSxFQURtRDtBQUdoRUMsRUFBQUEsU0FBUyxFQUFFLHNEQUhxRDtBQUloRUMsRUFBQUEsVUFBVSxFQUFFLDJDQUpvRDtBQUtoRUMsRUFBQUEsVUFBVSxFQUFFLDJDQUxvRDtBQU1oRUMsRUFBQUEsU0FBUyxFQUFFLDBDQU5xRDtBQU9oRUMsRUFBQUEsU0FBUyxFQUFFLDZDQVBxRDtBQVNoRUMsRUFBQUEsWUFBWSxFQUFFLElBVGtEO0FBV2hFQyxFQUFBQSxnQkFBZ0IsRUFBRSxFQVg4QztBQWFoRUMsRUFBQUEsb0JBQW9CLEVBQUUsRUFiMEM7QUFjaEVDLEVBQUFBLGlCQUFpQixFQUFFLEVBZDZDO0FBZWhFQyxFQUFBQSxxQkFBcUIsRUFBRSxFQWZ5QztBQWlCaEVDLEVBQUFBLFFBQVEsRUFBRSxFQWpCc0Q7QUFtQmhFQyxFQUFBQSxnQkFBZ0IsRUFBRSxLQW5COEM7QUFxQmhFQyxFQUFBQSxZQUFZLEVBQUdDLENBQUQsSUFBT0E7QUFyQjJDLENBQWxFLEVBd0JBO0FBQ0E7O0FBQ0EsTUFBTUMsNEJBQTRCLEdBQUc7QUFDbkMzcEIsRUFBQUEsS0FBSyxFQUFFLEtBRDRCO0FBRW5DNHBCLEVBQUFBLGtCQUFrQixFQUFFLGNBRmU7QUFHbkNDLEVBQUFBLGNBQWMsRUFBRXJjLFNBSG1CO0FBSW5Dc2MsRUFBQUEsZ0JBQWdCLEVBQUV0YyxTQUppQjtBQUtuQ3VjLEVBQUFBLGVBQWUsRUFBRSxJQUxrQjtBQU1uQ0MsRUFBQUEsYUFBYSxFQUFFLElBTm9CO0FBT25DQyxFQUFBQSxzQkFBc0IsRUFBRSxFQVBXO0FBUW5DQyxFQUFBQSw4QkFBOEIsRUFBRSxHQVJHO0FBU25DQyxFQUFBQSxxQkFBcUIsRUFBRSxDQVRZO0FBVW5DQyxFQUFBQSxvQkFBb0IsRUFBRSxDQVZhO0FBV25DQyxFQUFBQSwwQkFBMEIsRUFBRSxDQVhPO0FBWW5DQyxFQUFBQSwwQkFBMEIsRUFBRSxDQVpPO0FBYW5DQyxFQUFBQSx5QkFBeUIsRUFBRSxDQWJRO0FBY25DQyxFQUFBQSxnQkFBZ0IsRUFBRSxDQWRpQjtBQWVuQ0MsRUFBQUEsZ0JBQWdCLEVBQUUsQ0FmaUI7QUFnQm5DQyxFQUFBQSxlQUFlLEVBQUUsQ0FoQmtCO0FBaUJuQ0MsRUFBQUEsZUFBZSxFQUFFLENBakJrQjtBQWtCbkNDLEVBQUFBLGVBQWUsRUFBRSxDQWxCa0I7QUFtQm5DQyxFQUFBQSxhQUFhLEVBQUUsS0FuQm9CO0FBb0JuQ0MsRUFBQUEsa0JBQWtCLEVBQUUsR0FwQmU7QUFxQm5DQyxFQUFBQSxjQUFjLEVBQUUsR0FyQm1CO0FBc0JuQ0MsRUFBQUEsZ0JBQWdCLEVBQUUsQ0F0QmlCO0FBdUJuQ0MsRUFBQUEsbUJBQW1CLEVBQUUsR0F2QmM7QUF3Qm5DQyxFQUFBQSxlQUFlLEVBQUUsQ0F4QmtCO0FBeUJuQ0MsRUFBQUEsaUJBQWlCLEVBQUUsR0F6QmdCO0FBMEJuQ0MsRUFBQUEsbUJBQW1CLEVBQUUsR0ExQmM7QUEyQm5DQyxFQUFBQSxlQUFlLEVBQUUsSUEzQmtCO0FBNEJuQ0MsRUFBQUEsaUJBQWlCLEVBQUUsSUE1QmdCO0FBNkJuQ0MsRUFBQUEsb0JBQW9CLEVBQUUsS0E3QmE7QUE4Qm5DQyxFQUFBQSw4QkFBOEIsRUFBRTtBQTlCRyxDQUFyQztBQXFDQTtBQUNBLE1BQU1oVCxPQUF3QixHQUFHLEVBQy9CLEdBQUdaLHNFQUFBLEVBRDRCO0FBRS9CLEtBQUcrUSwrQkFGNEI7QUFHL0IsS0FBR2dCO0FBSDRCLENBQWpDO0FBTUEsdURBQWVuUixPQUFmOztBQ2pJQTtBQUlBO0FBQ08sTUFBTWlULFFBQVEsR0FBRztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBQyxFQUFBQSxJQUFJLEVBQUUsMkZBTGdCO0FBTXRCQyxFQUFBQSxNQUFNLEVBQUUscUJBTmM7QUFPdEJDLEVBQUFBLE1BQU0sRUFBRTtBQVBjLENBQWpCO0FBVVAsTUFBTUMsUUFBUSxHQUFHO0FBQ2Y7QUFDQTtBQUNBQyxFQUFBQSxDQUFDLEVBQUUsMkJBSFk7QUFJZkMsRUFBQUEsQ0FBQyxFQUFFLDJCQUpZO0FBS2ZDLEVBQUFBLENBQUMsRUFBRSwyQkFMWTtBQU1mQyxFQUFBQSxDQUFDLEVBQUUsMkJBTlk7QUFPZkMsRUFBQUEsRUFBRSxFQUFFLDRCQVBXO0FBUWZDLEVBQUFBLEVBQUUsRUFBRSw0QkFSVztBQVNmQyxFQUFBQSxFQUFFLEVBQUUsNEJBVFc7QUFVZkMsRUFBQUEsRUFBRSxFQUFFLDRCQVZXO0FBV2Y7QUFDQTtBQUNBQyxFQUFBQSxJQUFJLEVBQUUsZ0NBYlM7QUFjZkMsRUFBQUEsTUFBTSxFQUFFLGtDQWRPO0FBZWZDLEVBQUFBLEdBQUcsRUFBRSw2QkFmVTtBQWdCZjtBQUNBQyxFQUFBQSxNQUFNLEVBQUU7QUFqQk8sQ0FBakI7QUFvQ08sTUFBTUMsaUJBQW9DLEdBQUc7QUFDbERDLEVBQUFBLFdBQVcsRUFBRTtBQUNYLEtBQUNsQixRQUFRLENBQUNDLElBQVYsR0FBaUI7QUFDZjExQixNQUFBQSxFQUFFLEVBQUUsdUJBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUNBLDBGQUhhO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxpREFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUUsV0FMVztBQU1mQyxNQUFBQSxFQUFFLEVBQUUsVUFOVztBQU9mQyxNQUFBQSxFQUFFLEVBQUU7QUFQVyxLQUROO0FBVVgsS0FBQ28xQixRQUFRLENBQUNFLE1BQVYsR0FBbUI7QUFDakIzMUIsTUFBQUEsRUFBRSxFQUFFLHFCQURhO0FBRWpCQyxNQUFBQSxFQUFFLEVBQUUsK0JBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxZQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsVUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFLFFBTGE7QUFNakJDLE1BQUFBLEVBQUUsRUFBRTtBQU5hLEtBVlI7QUFrQlgsS0FBQ28xQixRQUFRLENBQUNHLE1BQVYsR0FBbUI7QUFDakI1MUIsTUFBQUEsRUFBRSxFQUFFLFNBRGE7QUFFakJDLE1BQUFBLEVBQUUsRUFBRSxRQUZhO0FBR2pCQyxNQUFBQSxFQUFFLEVBQUUsY0FIYTtBQUlqQkMsTUFBQUEsRUFBRSxFQUFFLE9BSmE7QUFLakJDLE1BQUFBLEVBQUUsRUFBRSxPQUxhO0FBTWpCQyxNQUFBQSxFQUFFLEVBQUU7QUFOYTtBQWxCUixHQURxQztBQTRCbER1MkIsRUFBQUEsV0FBVyxFQUFFO0FBQ1gsc0JBQWtCO0FBQ2hCMzJCLE1BQUFBLEVBQUUsRUFBRSxxQkFEWTtBQUVoQkMsTUFBQUEsRUFBRSxFQUFFLHdCQUZZO0FBR2hCQyxNQUFBQSxFQUFFLEVBQUUsVUFIWTtBQUloQkMsTUFBQUEsRUFBRSxFQUFFLFVBSlk7QUFLaEJDLE1BQUFBLEVBQUUsRUFBRTtBQUxZLEtBRFA7QUFRWCwyQkFBdUI7QUFDckJKLE1BQUFBLEVBQUUsRUFBRSxzQkFEaUI7QUFFckJDLE1BQUFBLEVBQUUsRUFBRSxvQkFGaUI7QUFHckJDLE1BQUFBLEVBQUUsRUFBRSxlQUhpQjtBQUlyQkMsTUFBQUEsRUFBRSxFQUFFLFdBSmlCO0FBS3JCQyxNQUFBQSxFQUFFLEVBQUU7QUFMaUIsS0FSWjtBQWVYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxXQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxVQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBZkg7QUFzQlgsb0JBQWdCO0FBQ2RKLE1BQUFBLEVBQUUsRUFBRSxTQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxVQUZVO0FBR2RDLE1BQUFBLEVBQUUsRUFBRSxRQUhVO0FBSWRDLE1BQUFBLEVBQUUsRUFBRSxNQUpVO0FBS2RDLE1BQUFBLEVBQUUsRUFBRTtBQUxVLEtBdEJMO0FBNkJYLHlCQUFxQjtBQUNuQkosTUFBQUEsRUFBRSxFQUFFLHNCQURlO0FBRW5CQyxNQUFBQSxFQUFFLEVBQUUsMkJBRmU7QUFHbkJDLE1BQUFBLEVBQUUsRUFBRSxVQUhlO0FBSW5CQyxNQUFBQSxFQUFFLEVBQUUsVUFKZTtBQUtuQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGUsS0E3QlY7QUFvQ1gsa0JBQWM7QUFDWkosTUFBQUEsRUFBRSxFQUFFLFVBRFE7QUFFWkMsTUFBQUEsRUFBRSxFQUFFLFVBRlE7QUFHWkMsTUFBQUEsRUFBRSxFQUFFLFVBSFE7QUFJWkMsTUFBQUEsRUFBRSxFQUFFLFFBSlE7QUFLWkMsTUFBQUEsRUFBRSxFQUFFO0FBTFEsS0FwQ0g7QUEyQ1gsb0JBQWdCO0FBQ2RKLE1BQUFBLEVBQUUsRUFBRSxjQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxjQUZVO0FBR2RDLE1BQUFBLEVBQUUsRUFBRSxVQUhVO0FBSWRDLE1BQUFBLEVBQUUsRUFBRSxRQUpVO0FBS2RDLE1BQUFBLEVBQUUsRUFBRTtBQUxVLEtBM0NMO0FBa0RYLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxXQURNO0FBRVZDLE1BQUFBLEVBQUUsRUFBRSxTQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxPQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxPQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBbEREO0FBeURYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxTQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxPQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxLQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxLQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBekRIO0FBZ0VYLGNBQVU7QUFDUkosTUFBQUEsRUFBRSxFQUFFLGNBREk7QUFFUkMsTUFBQUEsRUFBRSxFQUFFLFFBRkk7QUFHUkMsTUFBQUEsRUFBRSxFQUFFLE1BSEk7QUFJUkMsTUFBQUEsRUFBRSxFQUFFLElBSkk7QUFLUkMsTUFBQUEsRUFBRSxFQUFFO0FBTEksS0FoRUM7QUF1RVgsa0JBQWM7QUFDWkosTUFBQUEsRUFBRSxFQUFFLGlCQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxVQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBdkVIO0FBOEVYLGNBQVU7QUFDUkosTUFBQUEsRUFBRSxFQUFFLFVBREk7QUFFUkMsTUFBQUEsRUFBRSxFQUFFLGVBRkk7QUFHUkMsTUFBQUEsRUFBRSxFQUFFLE9BSEk7QUFJUkMsTUFBQUEsRUFBRSxFQUFFLE9BSkk7QUFLUkMsTUFBQUEsRUFBRSxFQUFFO0FBTEksS0E5RUM7QUFxRlgsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLFFBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLGFBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLEtBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLEtBSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0FyRkQ7QUE0RlgsbUJBQWU7QUFDYkosTUFBQUEsRUFBRSxFQUFFLFNBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLGFBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLEtBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLEtBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0E1Rko7QUFtR1gsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLFlBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLFVBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLFVBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLE9BSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0FuR0Q7QUEwR1gscUJBQWlCO0FBQ2ZKLE1BQUFBLEVBQUUsRUFBRSxjQURXO0FBRWZDLE1BQUFBLEVBQUUsRUFBRSxhQUZXO0FBR2ZDLE1BQUFBLEVBQUUsRUFBRSxZQUhXO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxRQUpXO0FBS2ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxXLEtBMUdOO0FBaUhYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxXQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBakhIO0FBd0hYLG9CQUFnQjtBQUNkSixNQUFBQSxFQUFFLEVBQUUsU0FEVTtBQUVkQyxNQUFBQSxFQUFFLEVBQUUsVUFGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsTUFIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsTUFKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQXhITDtBQStIWCxpQkFBYTtBQUNYSixNQUFBQSxFQUFFLEVBQUUsWUFETztBQUVYQyxNQUFBQSxFQUFFLEVBQUUsVUFGTztBQUdYQyxNQUFBQSxFQUFFLEVBQUUsT0FITztBQUlYQyxNQUFBQSxFQUFFLEVBQUUsT0FKTztBQUtYQyxNQUFBQSxFQUFFLEVBQUU7QUFMTyxLQS9IRjtBQXNJWCxtQkFBZTtBQUNiSixNQUFBQSxFQUFFLEVBQUUsVUFEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsUUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsS0FIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsS0FKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXRJSjtBQTZJWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLGVBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGNBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0E3SU47QUFvSlgscUJBQWlCO0FBQ2ZKLE1BQUFBLEVBQUUsRUFBRSxnQkFEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsZ0JBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0FwSk47QUEySlgsZUFBVztBQUNUSixNQUFBQSxFQUFFLEVBQUUsVUFESztBQUVUQyxNQUFBQSxFQUFFLEVBQUUsZUFGSztBQUdUQyxNQUFBQSxFQUFFLEVBQUUsT0FISztBQUlUQyxNQUFBQSxFQUFFLEVBQUUsT0FKSztBQUtUQyxNQUFBQSxFQUFFLEVBQUU7QUFMSyxLQTNKQTtBQWtLWCxpQkFBYTtBQUNYSixNQUFBQSxFQUFFLEVBQUUsUUFETztBQUVYQyxNQUFBQSxFQUFFLEVBQUUsYUFGTztBQUdYQyxNQUFBQSxFQUFFLEVBQUUsS0FITztBQUlYQyxNQUFBQSxFQUFFLEVBQUUsS0FKTztBQUtYQyxNQUFBQSxFQUFFLEVBQUU7QUFMTyxLQWxLRjtBQXlLWCxtQkFBZTtBQUNiSixNQUFBQSxFQUFFLEVBQUUsU0FEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsYUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsS0FIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsS0FKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXpLSjtBQWdMWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLFdBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGtCQUZXO0FBR2ZDLE1BQUFBLEVBQUUsRUFBRSxLQUhXO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxNQUpXO0FBS2ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxXLEtBaExOO0FBdUxYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxjQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxjQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBdkxIO0FBOExYLGlCQUFhO0FBQ1hKLE1BQUFBLEVBQUUsRUFBRSxXQURPO0FBRVhDLE1BQUFBLEVBQUUsRUFBRSxTQUZPO0FBR1hDLE1BQUFBLEVBQUUsRUFBRSxPQUhPO0FBSVhDLE1BQUFBLEVBQUUsRUFBRSxPQUpPO0FBS1hDLE1BQUFBLEVBQUUsRUFBRTtBQUxPLEtBOUxGO0FBcU1YLG1CQUFlO0FBQ2JKLE1BQUFBLEVBQUUsRUFBRSxTQURTO0FBRWJDLE1BQUFBLEVBQUUsRUFBRSxPQUZTO0FBR2JDLE1BQUFBLEVBQUUsRUFBRSxLQUhTO0FBSWJDLE1BQUFBLEVBQUUsRUFBRSxLQUpTO0FBS2JDLE1BQUFBLEVBQUUsRUFBRTtBQUxTLEtBck1KO0FBNE1YLHFCQUFpQjtBQUNmSixNQUFBQSxFQUFFLEVBQUUsY0FEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsYUFGVztBQUdmQyxNQUFBQSxFQUFFLEVBQUUsUUFIVztBQUlmQyxNQUFBQSxFQUFFLEVBQUUsUUFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUU7QUFMVyxLQTVNTjtBQW1OWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLGVBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGVBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0FuTk47QUEwTlgsaUJBQWE7QUFDWEosTUFBQUEsRUFBRSxFQUFFLFlBRE87QUFFWEMsTUFBQUEsRUFBRSxFQUFFLGNBRk87QUFHWEMsTUFBQUEsRUFBRSxFQUFFLFFBSE87QUFJWEMsTUFBQUEsRUFBRSxFQUFFLFFBSk87QUFLWEMsTUFBQUEsRUFBRSxFQUFFO0FBTE8sS0ExTkY7QUFpT1gsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLGVBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLG9CQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxTQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxRQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBak9EO0FBd09YLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxxQkFETTtBQUVWQyxNQUFBQSxFQUFFLEVBQUUscUJBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLFNBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLFNBSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0F4T0Q7QUErT1gsaUNBQTZCO0FBQzNCSixNQUFBQSxFQUFFLEVBQUUsbUJBRHVCO0FBRTNCQyxNQUFBQSxFQUFFLEVBQUUsZ0JBRnVCO0FBRzNCQyxNQUFBQSxFQUFFLEVBQUUsZUFIdUI7QUFJM0JDLE1BQUFBLEVBQUUsRUFBRSxXQUp1QjtBQUszQkMsTUFBQUEsRUFBRSxFQUFFO0FBTHVCLEtBL09sQjtBQXNQWCxvQkFBZ0I7QUFDZEosTUFBQUEsRUFBRSxFQUFFLG1CQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxtQkFGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsV0FIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsUUFKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQXRQTDtBQTZQWCx3QkFBb0I7QUFDbEJKLE1BQUFBLEVBQUUsRUFBRSxzQkFEYztBQUVsQkMsTUFBQUEsRUFBRSxFQUFFLGtCQUZjO0FBR2xCQyxNQUFBQSxFQUFFLEVBQUUsYUFIYztBQUlsQkMsTUFBQUEsRUFBRSxFQUFFLFVBSmM7QUFLbEJDLE1BQUFBLEVBQUUsRUFBRTtBQUxjLEtBN1BUO0FBb1FYLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxZQURNO0FBRVZDLE1BQUFBLEVBQUUsRUFBRSxXQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxPQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxPQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBcFFEO0FBMlFYLEtBQUN3MUIsUUFBUSxDQUFDQyxDQUFWLEdBQWM7QUFDWjcxQixNQUFBQSxFQUFFLEVBQUUsR0FEUTtBQUVaQyxNQUFBQSxFQUFFLEVBQUUsR0FGUTtBQUdaQyxNQUFBQSxFQUFFLEVBQUUsR0FIUTtBQUlaQyxNQUFBQSxFQUFFLEVBQUUsR0FKUTtBQUtaQyxNQUFBQSxFQUFFLEVBQUU7QUFMUSxLQTNRSDtBQWtSWCxLQUFDdzFCLFFBQVEsQ0FBQ0UsQ0FBVixHQUFjO0FBQ1o5MUIsTUFBQUEsRUFBRSxFQUFFLEdBRFE7QUFFWkMsTUFBQUEsRUFBRSxFQUFFLEdBRlE7QUFHWkMsTUFBQUEsRUFBRSxFQUFFLEdBSFE7QUFJWkMsTUFBQUEsRUFBRSxFQUFFLEdBSlE7QUFLWkMsTUFBQUEsRUFBRSxFQUFFO0FBTFEsS0FsUkg7QUF5UlgsS0FBQ3cxQixRQUFRLENBQUNHLENBQVYsR0FBYztBQUNaLzFCLE1BQUFBLEVBQUUsRUFBRSxHQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxHQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxHQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxHQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBelJIO0FBZ1NYLEtBQUN3MUIsUUFBUSxDQUFDSSxDQUFWLEdBQWM7QUFDWmgyQixNQUFBQSxFQUFFLEVBQUUsR0FEUTtBQUVaQyxNQUFBQSxFQUFFLEVBQUUsR0FGUTtBQUdaQyxNQUFBQSxFQUFFLEVBQUUsR0FIUTtBQUlaQyxNQUFBQSxFQUFFLEVBQUUsR0FKUTtBQUtaQyxNQUFBQSxFQUFFLEVBQUU7QUFMUSxLQWhTSDtBQXVTWCxLQUFDdzFCLFFBQVEsQ0FBQ0ssRUFBVixHQUFlO0FBQ2JqMkIsTUFBQUEsRUFBRSxFQUFFLElBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLElBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLElBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0F2U0o7QUE4U1gsS0FBQ3cxQixRQUFRLENBQUNNLEVBQVYsR0FBZTtBQUNibDJCLE1BQUFBLEVBQUUsRUFBRSxJQURTO0FBRWJDLE1BQUFBLEVBQUUsRUFBRSxJQUZTO0FBR2JDLE1BQUFBLEVBQUUsRUFBRSxJQUhTO0FBSWJDLE1BQUFBLEVBQUUsRUFBRSxJQUpTO0FBS2JDLE1BQUFBLEVBQUUsRUFBRTtBQUxTLEtBOVNKO0FBcVRYLEtBQUN3MUIsUUFBUSxDQUFDTyxFQUFWLEdBQWU7QUFDYm4yQixNQUFBQSxFQUFFLEVBQUUsSUFEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsSUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsSUFIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsSUFKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXJUSjtBQTRUWCxLQUFDdzFCLFFBQVEsQ0FBQ1EsRUFBVixHQUFlO0FBQ2JwMkIsTUFBQUEsRUFBRSxFQUFFLElBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLElBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLElBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0E1VEo7QUFtVVgsS0FBQ3cxQixRQUFRLENBQUNTLElBQVYsR0FBaUI7QUFDZnIyQixNQUFBQSxFQUFFLEVBQUUsTUFEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsTUFGVztBQUdmQyxNQUFBQSxFQUFFLEVBQUUsS0FIVztBQUlmQyxNQUFBQSxFQUFFLEVBQUUsSUFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUU7QUFMVyxLQW5VTjtBQTBVWCxLQUFDdzFCLFFBQVEsQ0FBQ1UsTUFBVixHQUFtQjtBQUNqQnQyQixNQUFBQSxFQUFFLEVBQUUsUUFEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLFFBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxNQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsSUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGEsS0ExVVI7QUFpVlgsS0FBQ3cxQixRQUFRLENBQUNXLEdBQVYsR0FBZ0I7QUFDZHYyQixNQUFBQSxFQUFFLEVBQUUsS0FEVTtBQUVkQyxNQUFBQSxFQUFFLEVBQUUsS0FGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsS0FIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsS0FKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQWpWTDtBQXdWWCxLQUFDdzFCLFFBQVEsQ0FBQ1ksTUFBVixHQUFtQjtBQUNqQngyQixNQUFBQSxFQUFFLEVBQUUsUUFEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLFFBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxRQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsUUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGE7QUF4VlI7QUE1QnFDLENBQTdDLEVBOFhQO0FBQ0E7QUFDQTtBQUNBOztBQUNPLE1BQU13MkIsNEJBQTRCLEdBQUcsQ0FDMUM7QUFDQXBCLFFBQVEsQ0FBQ0MsSUFGaUMsRUFHMUM7QUFDQUcsUUFBUSxDQUFDQyxDQUppQyxFQUsxQ0QsUUFBUSxDQUFDRSxDQUxpQyxFQU0xQ0YsUUFBUSxDQUFDRyxDQU5pQyxFQU8xQ0gsUUFBUSxDQUFDSSxDQVBpQyxFQVExQ0osUUFBUSxDQUFDSyxFQVJpQyxFQVMxQ0wsUUFBUSxDQUFDTSxFQVRpQyxFQVUxQ04sUUFBUSxDQUFDTyxFQVZpQyxFQVcxQ1AsUUFBUSxDQUFDUSxFQVhpQyxFQVkxQztBQUNBUixRQUFRLENBQUNTLElBYmlDLEVBYzFDVCxRQUFRLENBQUNVLE1BZGlDLEVBZTFDVixRQUFRLENBQUNXLEdBZmlDLENBQXJDLEVBa0JQO0FBQ0E7QUFDQTtBQUNBOztBQUNPLE1BQU1NLDJCQUE2RCxHQUFHO0FBQzNFLHdCQUFzQixNQURxRDtBQUUzRSxnQkFBYyxXQUY2RDtBQUczRSx3Q0FBc0M7QUFIcUMsQ0FBdEU7O0FDMWNQO0FBQ0E7QUFHQTtBQUNBO0FBOERBO0FBQ0E7QUFDTyxNQUFNRSxjQUFOLENBQXFCO0FBYTFCM25CLEVBQUFBLFdBQVcsQ0FDVGdPLElBRFMsRUFFVDRaLFlBRlMsRUFHVEMsUUFIUyxFQUlUQyxNQUpTLEVBS1Q1VSxPQUxTLEVBTVQ2VSxNQU5TLEVBT1Q7QUFBQTs7QUFDQSxTQUFLN1UsT0FBTCxHQUFlQSxPQUFmLGFBQWVBLE9BQWYsY0FBZUEsT0FBZixHQUEwQndVLGdCQUExQjtBQUNBLFNBQUtNLG9CQUFMLEdBQTRCLEtBQUs5VSxPQUFMLENBQWEsc0JBQWIsS0FBd0MsRUFBcEU7QUFDQSxTQUFLMFUsWUFBTCxHQUFvQkEsWUFBcEIsQ0FIQSxDQUtBOztBQUNBLFNBQUtLLE9BQUwsR0FBZSxFQUFmLENBTkEsQ0FPQTs7QUFDQSxTQUFLbmdCLE1BQUwsR0FBYyxFQUFkLENBUkEsQ0FTQTs7QUFDQSxTQUFLb2dCLEtBQUwsR0FBYSxFQUFiLENBVkEsQ0FXQTs7QUFDQSxTQUFLQyxVQUFMLEdBQWtCLEVBQWxCLENBWkEsQ0FhQTs7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEVBQWhCLENBZEEsQ0FlQTs7QUFDQSxTQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUVBLFNBQUtDLGNBQUwsR0FBc0IsT0FBT1AsTUFBUCxLQUFrQixRQUFsQiw0QkFDbEIsS0FBSzdVLE9BQUwsQ0FBYStRLHFCQUFiLENBQW1DOEQsTUFBbkMsQ0FEa0IseUVBQzRCLEVBRDVCLEdBRWxCLEVBRko7O0FBR0EsU0FBSyxNQUFNL1osSUFBWCw2QkFBbUIsS0FBS3NhLGNBQUwsQ0FBb0JDLE1BQXZDLHlFQUFpRCxFQUFqRDtBQUFBOztBQUNFLFdBQUtOLE9BQUwsQ0FBYWphLElBQWIsSUFBcUIsSUFBckI7QUFERjs7QUFHQSxTQUFLNVAsS0FBTCxDQUFXNFAsSUFBWCxFQUFpQjZaLFFBQWpCLEVBQTJCQyxNQUEzQixhQUEyQkEsTUFBM0IsY0FBMkJBLE1BQTNCLEdBQXFDLEVBQXJDO0FBQ0Q7O0FBRU8xcEIsRUFBQUEsS0FBSyxDQUFDNFAsSUFBRCxFQUFlNlosUUFBZixFQUFpREMsTUFBakQsRUFBZ0Y7QUFDM0YsU0FBS2hnQixNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtxZ0IsVUFBTCxHQUFrQixFQUFsQjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsRUFBaEI7QUFFQSxRQUFJSSxRQUFRLEdBQUcsQ0FBZjtBQUNBLFVBQU1OLEtBQXFDLEdBQUcsRUFBOUM7QUFDQSxVQUFNTyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsT0FBTyxFQUFFLE9BREs7QUFFZEMsTUFBQUEsV0FBVyxFQUFFLE1BRkM7QUFHZEMsTUFBQUEsZUFBZSxFQUFFLDBFQUhIO0FBSWRDLE1BQUFBLE1BQU0sRUFBRSw4QkFKTTtBQUtkQyxNQUFBQSxXQUFXLEVBQUUsd0VBTEM7QUFNZGgzQixNQUFBQSxJQUFJLEVBQUUsbUVBTlE7QUFPZGkzQixNQUFBQSxTQUFTLEVBQ1AsaUlBUlk7QUFTZEMsTUFBQUEsVUFBVSxFQUFFLDJDQVRFO0FBVWRDLE1BQUFBLE9BQU8sRUFDTCx5RkFYWTtBQVlkQyxNQUFBQSxXQUFXLEVBQUUsOERBWkM7QUFhZEMsTUFBQUEsR0FBRyxFQUNELHVJQWRZO0FBZWRDLE1BQUFBLGFBQWEsRUFDWDtBQWhCWSxLQUFoQixDQVAyRixDQTBCM0Y7O0FBQ0EsU0FBSyxNQUFNQyxPQUFYLElBQXNCeEIsUUFBdEIsYUFBc0JBLFFBQXRCLGNBQXNCQSxRQUF0QixHQUFrQyxFQUFsQyxFQUFzQztBQUNwQyxVQUFJd0IsT0FBTyxDQUFDOXFCLEtBQVosRUFDRThxQixPQUFPLENBQUM5cUIsS0FBUixHQUFnQnBELDRDQUFBLENBQWNrdUIsT0FBTyxDQUFDOXFCLEtBQXRCLENBQWhCO0FBQ0g7O0FBRUQsVUFBTStxQixLQUFLLEdBQUd0YixJQUFJLENBQUM2RixLQUFMLENBQVcsSUFBWCxDQUFkO0FBQ0EsUUFBSTBWLFVBQVUsR0FBRyxDQUFqQjs7QUFDQSxTQUFLLElBQUl6M0IsSUFBVCxJQUFpQnczQixLQUFqQixFQUF3QjtBQUN0QixRQUFFQyxVQUFGO0FBQ0F6M0IsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUMwM0IsSUFBTCxFQUFQLENBRnNCLENBR3RCOztBQUNBLFVBQUksQ0FBQzEzQixJQUFELElBQVMyMkIsT0FBTyxDQUFDQyxPQUFSLENBQWdCZSxJQUFoQixDQUFxQjMzQixJQUFyQixDQUFiLEVBQ0U7QUFDRixZQUFNNDNCLFlBQVksR0FBRzUzQixJQUFyQjtBQUVBLFVBQUl1YSxLQUFLLEdBQUdvYyxPQUFPLENBQUNJLE1BQVIsQ0FBZXJxQixJQUFmLENBQW9CMU0sSUFBcEIsQ0FBWjs7QUFDQSxVQUFJdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFsQixFQUE4QjtBQUM1QixjQUFNd2MsTUFBTSxHQUFHeGMsS0FBSyxDQUFDLFFBQUQsQ0FBcEI7QUFDQSxZQUFJd2MsTUFBTSxDQUFDMzJCLEVBQVgsRUFDRSxLQUFLKzFCLE9BQUwsQ0FBYVksTUFBTSxDQUFDMzJCLEVBQXBCLElBQTBCLElBQTFCO0FBQ0Y7QUFDRDs7QUFFRG1hLE1BQUFBLEtBQUssR0FBR29jLE9BQU8sQ0FBQ1UsR0FBUixDQUFZM3FCLElBQVosQ0FBaUIxTSxJQUFqQixDQUFSOztBQUNBLFVBQUl1YSxLQUFLLElBQUlBLEtBQUssQ0FBQyxRQUFELENBQWxCLEVBQThCO0FBQzVCLGNBQU04YyxHQUFHLEdBQUc5YyxLQUFLLENBQUMsUUFBRCxDQUFqQjtBQUNBLFlBQUksQ0FBQzhjLEdBQUcsQ0FBQ2ozQixFQUFMLElBQVcsQ0FBQ2kzQixHQUFHLENBQUNRLGFBQWhCLElBQWlDLENBQUNSLEdBQUcsQ0FBQy92QixPQUExQyxFQUNFLE1BQU0sSUFBSTJHLGtDQUFKLEVBQU4sQ0FIMEIsQ0FJNUI7O0FBQ0EsWUFBSW9wQixHQUFHLENBQUMvdkIsT0FBSixLQUFnQixPQUFwQixFQUNFO0FBQ0YsY0FBTXd3QixRQUFRLEdBQUcxQixLQUFLLENBQUNpQixHQUFHLENBQUNqM0IsRUFBTCxDQUFMLElBQWlCLEVBQWxDO0FBQ0FnMkIsUUFBQUEsS0FBSyxDQUFDaUIsR0FBRyxDQUFDajNCLEVBQUwsQ0FBTCxHQUFnQjAzQixRQUFoQjtBQUNBQSxRQUFBQSxRQUFRLENBQUNydEIsSUFBVCxDQUFjO0FBQ1ovSyxVQUFBQSxJQUFJLEVBQUUsS0FETTtBQUVacTRCLFVBQUFBLGFBQWEsRUFBRS9QLFVBQVUsQ0FBQ3FQLEdBQUcsQ0FBQ1EsYUFBTCxDQUZiO0FBR1ozYixVQUFBQSxJQUFJLEVBQUVtYixHQUFHLENBQUNuYixJQUFKLEdBQVdtYixHQUFHLENBQUNuYixJQUFmLEdBQXNCbWIsR0FBRyxDQUFDajNCO0FBSHBCLFNBQWQ7QUFLQTtBQUNEOztBQUNEbWEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDTyxVQUFSLENBQW1CeHFCLElBQW5CLENBQXdCMU0sSUFBeEIsQ0FBUjtBQUNBLFVBQUl1YSxLQUFKLEVBQ0U7QUFDRkEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDUSxPQUFSLENBQWdCenFCLElBQWhCLENBQXFCMU0sSUFBckIsQ0FBUjtBQUNBLFVBQUl1YSxLQUFKLEVBQ0U7QUFFRkEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDTSxTQUFSLENBQWtCdnFCLElBQWxCLENBQXVCMU0sSUFBdkIsQ0FBUjs7QUFDQSxVQUFJdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFsQixFQUE4QjtBQUM1QixjQUFNMGMsU0FBUyxHQUFHMWMsS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQSxZQUFJLENBQUMwYyxTQUFTLENBQUN2M0IsSUFBWCxJQUFtQixDQUFDdTNCLFNBQVMsQ0FBQzcyQixFQUE5QixJQUFvQyxDQUFDNjJCLFNBQVMsQ0FBQ1ksYUFBbkQsRUFDRSxNQUFNLElBQUk1cEIsa0NBQUosRUFBTjtBQUNGLGNBQU0rcEIsY0FBYyxHQUFHNUIsS0FBSyxDQUFDYSxTQUFTLENBQUM3MkIsRUFBWCxDQUFMLElBQXVCLEVBQTlDO0FBQ0FnMkIsUUFBQUEsS0FBSyxDQUFDYSxTQUFTLENBQUM3MkIsRUFBWCxDQUFMLEdBQXNCNDNCLGNBQXRCO0FBQ0EsY0FBTXQ0QixJQUFJLEdBQUd1M0IsU0FBUyxDQUFDdjNCLElBQXZCO0FBQ0EsWUFBSUEsSUFBSSxLQUFLLE1BQVQsSUFBbUJBLElBQUksS0FBSyxPQUE1QixJQUF1Q0EsSUFBSSxLQUFLLE9BQXBELEVBQ0U7QUFDRnM0QixRQUFBQSxjQUFjLENBQUN2dEIsSUFBZixDQUFvQjtBQUNsQi9LLFVBQUFBLElBQUksRUFBRUEsSUFEWTtBQUVsQnE0QixVQUFBQSxhQUFhLEVBQUUvUCxVQUFVLENBQUNpUCxTQUFTLENBQUNZLGFBQVgsQ0FGUDtBQUdsQjNiLFVBQUFBLElBQUksRUFBRSthLFNBQVMsQ0FBQy9hLElBQVYsR0FBaUIrYSxTQUFTLENBQUMvYSxJQUEzQixHQUFrQythLFNBQVMsQ0FBQzcyQjtBQUhoQyxTQUFwQjtBQUtBO0FBQ0Q7O0FBQ0RtYSxNQUFBQSxLQUFLLEdBQUdvYyxPQUFPLENBQUMzMkIsSUFBUixDQUFhME0sSUFBYixDQUFrQjFNLElBQWxCLENBQVI7O0FBQ0EsVUFBSSxFQUFFdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFoQixDQUFKLEVBQWlDO0FBQy9CLGFBQUtnYyxNQUFMLENBQVk5ckIsSUFBWixDQUFpQjtBQUNmZ3RCLFVBQUFBLFVBQVUsRUFBRUEsVUFERztBQUVmejNCLFVBQUFBLElBQUksRUFBRTQzQixZQUZTO0FBR2ZqaUIsVUFBQUEsS0FBSyxFQUFFO0FBSFEsU0FBakI7QUFLQXhNLFFBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FBWSx1QkFBdUJpZ0IsWUFBbkM7QUFDQTtBQUNEOztBQUNELFlBQU1LLFVBQVUsR0FBRzFkLEtBQUssQ0FBQyxRQUFELENBQXhCLENBbkVzQixDQW9FdEI7O0FBQ0EsVUFBSSxDQUFDMGQsVUFBVSxDQUFDL2IsSUFBWixJQUFvQixDQUFDK2IsVUFBVSxDQUFDQyxJQUFoQyxJQUF3Q0QsVUFBVSxDQUFDdDRCLElBQVgsS0FBb0IwVyxTQUFoRSxFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRmpPLE1BQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhMmQsVUFBVSxDQUFDL2IsSUFBeEIsRUFBOEIsRUFBOUIsRUFBa0N3YixJQUFsQyxFQUFQLENBdkVzQixDQXdFdEI7O0FBQ0ExM0IsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUNzYSxPQUFMLENBQWFxYyxPQUFPLENBQUNFLFdBQXJCLEVBQWtDLEVBQWxDLEVBQXNDYSxJQUF0QyxFQUFQO0FBRUEsWUFBTVMsT0FBTyxHQUFHblEsVUFBVSxDQUFDaVEsVUFBVSxDQUFDQyxJQUFaLENBQTFCO0FBQ0EsWUFBTXhpQixDQUFRLEdBQUc7QUFDZnRWLFFBQUFBLEVBQUUsRUFBRXMyQixRQUFRLEVBREc7QUFFZndCLFFBQUFBLElBQUksRUFBRUMsT0FGUztBQUdmO0FBQ0F4NEIsUUFBQUEsSUFBSSxFQUFFczRCLFVBQVUsQ0FBQ3Q0QixJQUpGO0FBS2Y7QUFDQXVjLFFBQUFBLElBQUksRUFBRSxLQUFLa2MsZUFBTCxDQUFxQkgsVUFBVSxDQUFDdDRCLElBQWhDLENBTlM7QUFPZjA0QixRQUFBQSxVQUFVLEVBQUUsQ0FQRztBQVFmWixRQUFBQSxVQUFVLEVBQUVBO0FBUkcsT0FBakI7O0FBVUEsVUFBSXozQixJQUFKLEVBQVU7QUFDUixZQUFJczRCLFlBQVksR0FBRzNCLE9BQU8sQ0FBQ0csZUFBUixDQUF3QnBxQixJQUF4QixDQUE2QjFNLElBQTdCLENBQW5COztBQUNBLFlBQUlzNEIsWUFBWSxJQUFJQSxZQUFZLENBQUMsUUFBRCxDQUFoQyxFQUE0QztBQUMxQyxnQkFBTXhCLGVBQWUsR0FBR3dCLFlBQVksQ0FBQyxRQUFELENBQXBDO0FBQ0EsY0FBSSxDQUFDeEIsZUFBZSxDQUFDNWEsSUFBakIsSUFBeUIsQ0FBQzRhLGVBQWUsQ0FBQ3FCLE9BQTlDLEVBQ0UsTUFBTSxJQUFJbHFCLGtDQUFKLEVBQU47QUFDRmpPLFVBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhd2MsZUFBZSxDQUFDNWEsSUFBN0IsRUFBbUMsRUFBbkMsRUFBdUN3YixJQUF2QyxFQUFQO0FBQ0FoaUIsVUFBQUEsQ0FBQyxDQUFDdlAsUUFBRixHQUFhNmhCLFVBQVUsQ0FBQzhPLGVBQWUsQ0FBQ3FCLE9BQWpCLENBQXZCO0FBQ0Q7O0FBRURHLFFBQUFBLFlBQVksR0FBRzNCLE9BQU8sQ0FBQ1MsV0FBUixDQUFvQjFxQixJQUFwQixDQUF5QjFNLElBQXpCLENBQWY7O0FBQ0EsWUFBSXM0QixZQUFZLElBQUlBLFlBQVksQ0FBQyxRQUFELENBQWhDLEVBQTRDO0FBQzFDLGdCQUFNbEIsV0FBVyxHQUFHa0IsWUFBWSxDQUFDLFFBQUQsQ0FBaEM7QUFDQSxjQUFJLENBQUNsQixXQUFXLENBQUNsYixJQUFiLElBQXFCLENBQUNrYixXQUFXLENBQUMzcUIsS0FBdEMsRUFDRSxNQUFNLElBQUl3QixrQ0FBSixFQUFOO0FBQ0ZqTyxVQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQ3NhLE9BQUwsQ0FBYThjLFdBQVcsQ0FBQ2xiLElBQXpCLEVBQStCLEVBQS9CLEVBQW1Dd2IsSUFBbkMsRUFBUDtBQUNBLGdCQUFNYSxJQUFVLEdBQUc7QUFDakJuNEIsWUFBQUEsRUFBRSxFQUFFczJCLFFBRGE7QUFFakI4QixZQUFBQSxZQUFZLEVBQUVwQixXQUFXLENBQUMzcUIsS0FGVDtBQUdqQkEsWUFBQUEsS0FBSyxFQUFFcEQsNENBQUEsQ0FBYyxLQUFLb3ZCLGVBQUwsQ0FBcUJyQixXQUFXLENBQUMzcUIsS0FBakMsQ0FBZCxDQUhVO0FBSWpCeWdCLFlBQUFBLEtBQUssRUFBRWlMLE9BQU8sR0FBRyxHQUpBO0FBS2pCTyxZQUFBQSxHQUFHLEVBQUVQLE9BQU8sR0FBRyxHQUxFO0FBTWpCRCxZQUFBQSxJQUFJLEVBQUVDLE9BTlc7QUFPakJWLFlBQUFBLFVBQVUsRUFBRUE7QUFQSyxXQUFuQjs7QUFTQSxjQUFJTCxXQUFXLENBQUNqZSxJQUFoQixFQUFzQjtBQUNwQixnQkFBSXdmLFFBQVEsR0FBR2hDLE9BQU8sQ0FBQ1csYUFBUixDQUFzQjVxQixJQUF0QixDQUEyQjBxQixXQUFXLENBQUNqZSxJQUF2QyxDQUFmOztBQUNBLGdCQUFJd2YsUUFBUSxJQUFJQSxRQUFRLENBQUMsUUFBRCxDQUF4QixFQUFvQztBQUNsQyxvQkFBTXJCLGFBQWEsR0FBR3FCLFFBQVEsQ0FBQyxRQUFELENBQTlCO0FBQ0Esa0JBQUksQ0FBQ3JCLGFBQWEsQ0FBQ3BiLElBQWYsSUFBdUIsQ0FBQ29iLGFBQWEsQ0FBQ29CLEdBQTFDLEVBQ0UsTUFBTSxJQUFJenFCLGtDQUFKLEVBQU47QUFDRmpPLGNBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhZ2QsYUFBYSxDQUFDcGIsSUFBM0IsRUFBaUMsRUFBakMsRUFBcUN3YixJQUFyQyxFQUFQOztBQUNBLGtCQUFJSixhQUFhLENBQUNwSyxLQUFsQixFQUF5QjtBQUN2QnFMLGdCQUFBQSxJQUFJLENBQUNyTCxLQUFMLEdBQWFpTCxPQUFPLEdBQUduUSxVQUFVLENBQUNzUCxhQUFhLENBQUNwSyxLQUFmLENBQWpDO0FBQ0FxTCxnQkFBQUEsSUFBSSxDQUFDRyxHQUFMLEdBQVdQLE9BQU8sR0FBR25RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBL0I7QUFDRCxlQUhELE1BR087QUFDTEgsZ0JBQUFBLElBQUksQ0FBQ3JMLEtBQUwsR0FBYWlMLE9BQU8sR0FBSW5RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBVixHQUFnQyxDQUF4RDtBQUNBSCxnQkFBQUEsSUFBSSxDQUFDRyxHQUFMLEdBQVdQLE9BQU8sR0FBSW5RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBVixHQUFnQyxDQUF0RDtBQUNEO0FBQ0Y7O0FBQ0RDLFlBQUFBLFFBQVEsR0FBR2hDLE9BQU8sQ0FBQ0ssV0FBUixDQUFvQnRxQixJQUFwQixDQUF5QjBxQixXQUFXLENBQUNqZSxJQUFyQyxDQUFYOztBQUNBLGdCQUFJd2YsUUFBUSxJQUFJQSxRQUFRLENBQUMsUUFBRCxDQUF4QixFQUFvQztBQUNsQyxvQkFBTTNCLFdBQVcsR0FBRzJCLFFBQVEsQ0FBQyxRQUFELENBQTVCO0FBQ0Esa0JBQUksQ0FBQzNCLFdBQVcsQ0FBQzlhLElBQWIsSUFBcUIsQ0FBQzhhLFdBQVcsQ0FBQ21CLE9BQXRDLEVBQ0UsTUFBTSxJQUFJbHFCLGtDQUFKLEVBQU47QUFDRmpPLGNBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhMGMsV0FBVyxDQUFDOWEsSUFBekIsRUFBK0IsRUFBL0IsRUFBbUN3YixJQUFuQyxFQUFQO0FBQ0FhLGNBQUFBLElBQUksQ0FBQ0ssSUFBTCxHQUFZNVEsVUFBVSxDQUFDZ1AsV0FBVyxDQUFDbUIsT0FBYixDQUF0QjtBQUNEO0FBQ0Y7O0FBQ0QsZUFBSzlCLFVBQUwsQ0FBZ0I1ckIsSUFBaEIsQ0FBcUI4dEIsSUFBckI7QUFDQSxlQUFLakMsUUFBTCxDQUFjN3JCLElBQWQsQ0FBbUI4dEIsSUFBbkI7QUFDRDtBQUNGLE9BMUlxQixDQTJJdEI7OztBQUNBLFVBQUl2NEIsSUFBSSxJQUFJLENBQUMyMkIsT0FBTyxDQUFDQyxPQUFSLENBQWdCbHFCLElBQWhCLENBQXFCMU0sSUFBckIsQ0FBYixFQUF5QztBQUN2Q21KLFFBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FBYSxvQkFBbUIzWCxJQUFLLGtCQUFpQjQzQixZQUFhLEVBQW5FO0FBQ0EsYUFBS3JCLE1BQUwsQ0FBWTlyQixJQUFaLENBQWlCO0FBQ2ZndEIsVUFBQUEsVUFBVSxFQUFFQSxVQURHO0FBRWZ6M0IsVUFBQUEsSUFBSSxFQUFFNDNCLFlBRlM7QUFHZmppQixVQUFBQSxLQUFLLEVBQUU7QUFIUSxTQUFqQjtBQUtELE9BUEQsTUFPTztBQUNMLGFBQUtLLE1BQUwsQ0FBWXZMLElBQVosQ0FBaUJpTCxDQUFqQjtBQUNEO0FBQ0YsS0F4TDBGLENBMEwzRjs7O0FBQ0EsU0FBSyxNQUFNNmhCLE9BQVgsSUFBc0J4QixRQUF0QixhQUFzQkEsUUFBdEIsY0FBc0JBLFFBQXRCLEdBQWtDLEVBQWxDLEVBQXNDO0FBQ3BDLFVBQUk4QyxLQUFLLEdBQUcsS0FBWjs7QUFDQSxXQUFLLE1BQU0vaUIsS0FBWCxJQUFvQixLQUFLRSxNQUF6QixFQUFpQztBQUMvQixZQUFJdWhCLE9BQU8sQ0FBQzlxQixLQUFSLElBQWlCOHFCLE9BQU8sQ0FBQzlxQixLQUFSLENBQWNrckIsSUFBZCxDQUFtQjdoQixLQUFLLENBQUNuVyxJQUF6QixDQUFyQixFQUFxRDtBQUNuRGs1QixVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxVQUFJLENBQUNBLEtBQUwsRUFBWTtBQUFBOztBQUNWLGNBQU0zYyxJQUFJLEdBQUksaUNBQUQsMkNBQWlDcWIsT0FBTyxDQUFDOXFCLEtBQXpDLG1EQUFpQyxlQUFlbEksTUFBaEQseUVBQ1gsRUFBRyxPQURRLGVBQ0ZnekIsT0FBTyxDQUFDbjNCLEVBRE4scURBQ1ksRUFBRyxFQUQ1QjtBQUVBLGFBQUttMkIsTUFBTCxDQUFZOXJCLElBQVosQ0FBaUI7QUFBRWtMLFVBQUFBLEtBQUssRUFBRXVHO0FBQVQsU0FBakI7QUFDQS9TLFFBQUFBLE9BQU8sQ0FBQ3dNLEtBQVIsQ0FBZSxjQUFhdUcsSUFBSyxFQUFqQztBQUNEO0FBQ0Y7O0FBRUQsU0FBSyxNQUFNeEcsQ0FBWCxJQUFnQixLQUFLTSxNQUFyQixFQUE2QjtBQUMzQixXQUFLLE1BQU04aUIsZ0JBQVgscUJBQStCMUMsS0FBSyxDQUFDMWdCLENBQUMsQ0FBQy9WLElBQUgsQ0FBcEMseURBQWdELEVBQWhELEVBQW9EO0FBQUE7O0FBQ2xELGNBQU1ELElBQUksR0FBR281QixnQkFBZ0IsQ0FBQ3A1QixJQUE5QjtBQUNBLFlBQUlBLElBQUksS0FBSyxNQUFULElBQW1CQSxJQUFJLEtBQUssT0FBNUIsSUFBdUNBLElBQUksS0FBSyxPQUFwRCxFQUNFO0FBQ0YsYUFBSzAyQixLQUFMLENBQVczckIsSUFBWCxDQUFnQjtBQUNkL0ssVUFBQUEsSUFBSSxFQUFFQSxJQURRO0FBRWR3NEIsVUFBQUEsSUFBSSxFQUFFeGlCLENBQUMsQ0FBQ3dpQixJQUFGLElBQVVZLGdCQUFnQixDQUFDZixhQUFqQixJQUFrQyxDQUE1QyxDQUZRO0FBR2Q3YixVQUFBQSxJQUFJLDJCQUFFNGMsZ0JBQWdCLENBQUM1YyxJQUFuQix5RUFBMkI7QUFIakIsU0FBaEI7QUFLRCxPQVYwQixDQVkzQjtBQUNBOzs7QUFDQSxXQUFLLE1BQU1xYixPQUFYLElBQXNCeEIsUUFBdEIsYUFBc0JBLFFBQXRCLGNBQXNCQSxRQUF0QixHQUFrQyxFQUFsQyxFQUFzQztBQUFBOztBQUNwQyxjQUFNZ0QsQ0FBQyxzQkFBR3hCLE9BQU8sQ0FBQzlxQixLQUFYLG9EQUFHLGdCQUFlQyxJQUFmLENBQW9CZ0osQ0FBQyxDQUFDL1YsSUFBdEIsQ0FBVjtBQUNBLFlBQUksQ0FBQ281QixDQUFMLEVBQ0UsU0FIa0MsQ0FLcEM7O0FBQ0EsY0FBTUMsVUFBVSxHQUFHekIsT0FBTyxDQUFDbjNCLEVBQVIsSUFBYyxLQUFLODFCLG9CQUFMLENBQTBCcUIsT0FBTyxDQUFDbjNCLEVBQWxDLENBQWQsSUFBdUQsRUFBMUU7QUFDQSxjQUFNeTNCLGFBQWEsNEJBQUdtQixVQUFVLENBQUMsZUFBRCxDQUFiLHlFQUFrQ3pCLE9BQU8sQ0FBQ00sYUFBN0Q7QUFFQSxhQUFLekIsS0FBTCxDQUFXM3JCLElBQVgsQ0FBZ0I7QUFDZC9LLFVBQUFBLElBQUksRUFBRSxTQURRO0FBRWR3NEIsVUFBQUEsSUFBSSxFQUFFeGlCLENBQUMsQ0FBQ3dpQixJQUFGLElBQVVMLGFBQWEsSUFBSSxDQUEzQixDQUZRO0FBR2ROLFVBQUFBLE9BQU8sRUFBRUEsT0FISztBQUlkdjVCLFVBQUFBLE9BQU8sRUFBRSs2QjtBQUpLLFNBQWhCO0FBTUQ7O0FBRUQsV0FBSyxNQUFNMVEsS0FBWCxJQUFvQjJOLE1BQXBCLGFBQW9CQSxNQUFwQixjQUFvQkEsTUFBcEIsR0FBOEIsRUFBOUIsRUFBa0M7QUFDaEMsWUFBSSxDQUFDM04sS0FBSyxDQUFDNWIsS0FBTixDQUFZa3JCLElBQVosQ0FBaUJqaUIsQ0FBQyxDQUFDL1YsSUFBbkIsQ0FBTCxFQUNFO0FBQ0YrVixRQUFBQSxDQUFDLENBQUMyUyxLQUFGLEdBQVVBLEtBQUssQ0FBQ0EsS0FBaEI7QUFDRDtBQUNGLEtBL08wRixDQWlQM0Y7QUFDQTs7O0FBQ0EsU0FBS3JTLE1BQUwsQ0FBWWxMLElBQVosQ0FBaUIsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEtBQVU7QUFDekIsVUFBSUQsQ0FBQyxDQUFDbXRCLElBQUYsS0FBV2x0QixDQUFDLENBQUNrdEIsSUFBakIsRUFDRSxPQUFPbnRCLENBQUMsQ0FBQzNLLEVBQUYsR0FBTzRLLENBQUMsQ0FBQzVLLEVBQWhCO0FBQ0YsYUFBTzJLLENBQUMsQ0FBQ210QixJQUFGLEdBQVNsdEIsQ0FBQyxDQUFDa3RCLElBQWxCO0FBQ0QsS0FKRDtBQUtBLFNBQUtsaUIsTUFBTCxDQUFZUixPQUFaLENBQW9CLENBQUNNLEtBQUQsRUFBUXlNLEdBQVIsS0FBZ0J6TSxLQUFLLENBQUNtakIsT0FBTixHQUFnQjFXLEdBQXBEO0FBRUEsU0FBSzZULEtBQUwsQ0FBV3RyQixJQUFYLENBQWdCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVO0FBQ3hCLGFBQU9ELENBQUMsQ0FBQ210QixJQUFGLEdBQVNsdEIsQ0FBQyxDQUFDa3RCLElBQWxCO0FBQ0QsS0FGRDtBQUdBLFNBQUs3QixVQUFMLENBQWdCdnJCLElBQWhCLENBQXFCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVO0FBQzdCLGFBQU9ELENBQUMsQ0FBQ21pQixLQUFGLEdBQVVsaUIsQ0FBQyxDQUFDa2lCLEtBQW5CO0FBQ0QsS0FGRDtBQUdBLFNBQUtvSixRQUFMLENBQWN4ckIsSUFBZCxDQUFtQixDQUFDQyxDQUFELEVBQUlDLENBQUosS0FBVTtBQUMzQixhQUFPRCxDQUFDLENBQUMydEIsR0FBRixHQUFRMXRCLENBQUMsQ0FBQzB0QixHQUFqQjtBQUNELEtBRkQ7QUFHRDs7QUFFT1EsRUFBQUEsaUJBQWlCLENBQ3ZCaGQsSUFEdUIsRUFFdkJpZCxVQUZ1QixFQUd2QkMsV0FIdUIsRUFJdkJDLFFBSnVCLEVBS2Y7QUFDUixRQUFJLENBQUMsS0FBS3ZELFlBQVYsRUFDRSxPQUFPNVosSUFBUDs7QUFFRixTQUFLLE1BQU1vZCxDQUFYLElBQWdCLEtBQUt4RCxZQUFyQixFQUFtQztBQUNqQyxVQUFJd0QsQ0FBQyxDQUFDQyxNQUFGLElBQVlELENBQUMsQ0FBQ0MsTUFBRixLQUFhSCxXQUE3QixFQUNFO0FBQ0YsWUFBTUksSUFBSSxHQUFHRixDQUFDLENBQUNILFVBQUQsQ0FBZDtBQUNBLFVBQUksQ0FBQ0ssSUFBTCxFQUNFOztBQUNGLFdBQUssTUFBTSxDQUFDcHVCLEdBQUQsRUFBTWYsS0FBTixDQUFYLElBQTJCUixNQUFNLENBQUNLLE9BQVAsQ0FBZXN2QixJQUFmLENBQTNCLEVBQ0V0ZCxJQUFJLEdBQUdBLElBQUksQ0FBQzVCLE9BQUwsQ0FBYWpSLDRDQUFBLENBQWMrQixHQUFkLENBQWIsRUFBaUNmLEtBQWpDLENBQVA7QUFDSCxLQVpPLENBYVI7OztBQUNBLFVBQU1vdkIsV0FBVyxHQUFHbEUsaUJBQWlCLENBQUM0RCxVQUFELENBQXJDOztBQUNBLFNBQUssTUFBTSxDQUFDL3RCLEdBQUQsRUFBTWYsS0FBTixDQUFYLElBQTJCUixNQUFNLENBQUNLLE9BQVAsQ0FBZXV2QixXQUFmLGFBQWVBLFdBQWYsY0FBZUEsV0FBZixHQUE4QixFQUE5QixDQUEzQixFQUE4RDtBQUM1RCxZQUFNQyxJQUFJLEdBQUdydkIsS0FBSyxDQUFDK3VCLFdBQUQsQ0FBbEI7QUFDQSxVQUFJLENBQUNNLElBQUwsRUFDRTtBQUNGLFlBQU1qdEIsS0FBSyxHQUFHNHNCLFFBQVEsR0FBR2h3Qix3REFBQSxDQUFvQitCLEdBQXBCLENBQUgsR0FBOEIvQiw0Q0FBQSxDQUFjK0IsR0FBZCxDQUFwRDtBQUNBOFEsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUM1QixPQUFMLENBQWE3TixLQUFiLEVBQW9CaXRCLElBQXBCLENBQVA7QUFDRCxLQXJCTyxDQXVCUjs7O0FBQ0EsUUFBSU4sV0FBVyxLQUFLLElBQWhCLElBQXdCRCxVQUFVLEtBQUssYUFBM0MsRUFBMEQ7QUFDeEQsV0FBSyxNQUFNLENBQUMvdEIsR0FBRCxFQUFNc3VCLElBQU4sQ0FBWCxJQUEwQjd2QixNQUFNLENBQUNLLE9BQVAsQ0FBZXlyQiwyQkFBZixDQUExQixFQUF1RTtBQUNyRSxjQUFNbHBCLEtBQUssR0FBRzRzQixRQUFRLEdBQUdod0Isd0RBQUEsQ0FBb0IrQixHQUFwQixDQUFILEdBQThCL0IsNENBQUEsQ0FBYytCLEdBQWQsQ0FBcEQ7QUFDQThRLFFBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDNUIsT0FBTCxDQUFhN04sS0FBYixFQUFvQml0QixJQUFwQixDQUFQO0FBQ0Q7QUFDRjs7QUFFRCxXQUFPeGQsSUFBUDtBQUNEOztBQUVPa2MsRUFBQUEsZUFBZSxDQUFDbGMsSUFBRCxFQUF1QjtBQUFBOztBQUM1QztBQUNBO0FBQ0EsVUFBTXlkLE1BQU0sMkJBQUcsS0FBS25ELGNBQVIsbUZBQUcscUJBQXFCb0QsTUFBeEIsMkRBQUcsdUJBQThCMWQsSUFBOUIsQ0FBZjtBQUNBLFFBQUl5ZCxNQUFNLEtBQUt0akIsU0FBZixFQUNFLE9BQU9zakIsTUFBUDtBQUVGLFFBQUksQ0FBQyxLQUFLN0QsWUFBVixFQUNFLE9BQU81WixJQUFQO0FBRUYsVUFBTWtkLFdBQVcsR0FBRyxLQUFLaFksT0FBTCxDQUFhdVIsZ0JBQWIsSUFBaUMsS0FBS3ZSLE9BQUwsQ0FBYVQsY0FBOUMsSUFBZ0UsSUFBcEY7QUFDQSxVQUFNMFksUUFBUSxHQUFHLEtBQWpCO0FBQ0EsV0FBTyxLQUFLSCxpQkFBTCxDQUF1QmhkLElBQXZCLEVBQTZCLGFBQTdCLEVBQTRDa2QsV0FBNUMsRUFBeURDLFFBQXpELENBQVA7QUFDRDs7QUFFT1osRUFBQUEsZUFBZSxDQUFDRixJQUFELEVBQXVCO0FBQzVDLFFBQUksQ0FBQyxLQUFLekMsWUFBVixFQUNFLE9BQU95QyxJQUFQO0FBRUYsVUFBTWEsV0FBVyxHQUFHLEtBQUtoWSxPQUFMLENBQWFULGNBQWIsSUFBK0IsSUFBbkQ7QUFDQSxVQUFNMFksUUFBUSxHQUFHLElBQWpCO0FBQ0EsV0FBTyxLQUFLSCxpQkFBTCxDQUF1QlgsSUFBdkIsRUFBNkIsYUFBN0IsRUFBNENhLFdBQTVDLEVBQXlEQyxRQUF6RCxDQUFQO0FBQ0Q7O0FBRU1RLEVBQUFBLDhCQUE4QixHQUFhO0FBQ2hELFdBQU8sQ0FDTCxXQURLLEVBRUwsVUFGSyxFQUdMLE9BSEssRUFJTCxRQUpLLEVBS0wsdURBTEssRUFNTCxpQ0FOSyxFQU9MLHVCQVBLLEVBUUwsVUFSSyxFQVNMOXJCLEdBVEssQ0FTQTVNLENBQUQsSUFBT2tJLDRDQUFBLENBQWNsSSxDQUFkLENBVE4sQ0FBUDtBQVVEOztBQTlYeUI7O0FDdEU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF5QkE7QUFFQTtBQUNBO0FBRUEsTUFBTTY0QixXQUFXLEdBQUc7QUFDbEJqZSxFQUFBQSxNQUFNLEVBQUUsUUFEVTtBQUVsQjVWLEVBQUFBLFFBQVEsRUFBRSxVQUZRO0FBR2xCMHhCLEVBQUFBLGFBQWEsRUFBRSxlQUhHO0FBSWxCcGIsRUFBQUEsYUFBYSxFQUFFO0FBSkcsQ0FBcEI7QUFZQTtBQUNBLE1BQU13ZCxlQUFlLEdBQUc7QUFDdEJyUyxFQUFBQSxPQUFPLEVBQUU7QUFDUHNTLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxZQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxhQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxXQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxRQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxRQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DO0FBREEsR0FEYTtBQVd0Qmk3QixFQUFBQSxZQUFZLEVBQUU7QUFDWkQsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLHFCQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxtQkFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsbUJBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLGNBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLGVBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkM7QUFESyxHQVhRO0FBcUJ0Qms3QixFQUFBQSxVQUFVLEVBQUU7QUFDVkYsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLG1CQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxtQkFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsbUJBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLGVBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLGVBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkM7QUFERyxHQXJCVTtBQStCdEJtN0IsRUFBQUEsT0FBTyxFQUFFO0FBQ1BILElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxhQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxZQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxrQkFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsVUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsV0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQztBQURBLEdBL0JhO0FBeUN0Qm83QixFQUFBQSxRQUFRLEVBQUU7QUFDUkosSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLGNBREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLGFBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLG9CQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxXQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxZQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DO0FBREMsR0F6Q1k7QUFtRHRCcTdCLEVBQUFBLFFBQVEsRUFBRTtBQUNSTCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsWUFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsZUFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsYUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsTUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsTUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQztBQURDO0FBbkRZLENBQXhCO0FBK0RBLE1BQU1zN0IsbUJBQTBELEdBQUdQLGVBQW5FO0FBU0EsTUFBTVEsV0FBVyxHQUFHO0FBQ2xCLGtCQUFnQjtBQUNkUCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsT0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsT0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsT0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsTUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsT0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURPO0FBU2R3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFM7QUFVZEMsSUFBQUEsU0FBUyxFQUFFO0FBVkcsR0FERTtBQWFsQixxQkFBbUI7QUFDakJULElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxVQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxVQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxVQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxTQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxXQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBRFU7QUFTakJ3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFk7QUFVakJDLElBQUFBLFNBQVMsRUFBRTtBQVZNLEdBYkQ7QUF5QmxCLG1CQUFpQjtBQUNmVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsVUFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsVUFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsVUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsUUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsS0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURRO0FBU2Z3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFU7QUFVZkMsSUFBQUEsU0FBUyxFQUFFO0FBVkksR0F6QkM7QUFxQ2xCLG1CQUFpQjtBQUNmVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsY0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsbUJBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLGlCQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxVQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxRQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBRFE7QUFTZnc3QixJQUFBQSxHQUFHLEVBQUUscUJBVFU7QUFVZkUsSUFBQUEsaUJBQWlCLEVBQUU7QUFWSixHQXJDQztBQWlEbEIsZUFBYTtBQUNYVixJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsV0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsV0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsV0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsSUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURJO0FBU1h3N0IsSUFBQUEsR0FBRyxFQUFFLGdCQVRNO0FBVVhDLElBQUFBLFNBQVMsRUFBRTtBQVZBLEdBakRLO0FBNkRsQixjQUFZO0FBQ1ZULElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxnQkFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsa0JBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLGtCQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxVQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxVQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREc7QUFTVnc3QixJQUFBQSxHQUFHLEVBQUUsZUFUSztBQVVWRSxJQUFBQSxpQkFBaUIsRUFBRTtBQVZULEdBN0RNO0FBeUVsQixZQUFVO0FBQ1JWLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxRQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxRQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxRQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxNQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxLQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREM7QUFTUnc3QixJQUFBQSxHQUFHLEVBQUUsYUFURztBQVVSQyxJQUFBQSxTQUFTLEVBQUU7QUFWSCxHQXpFUTtBQXFGbEIsZUFBYTtBQUNYVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsT0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsT0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsUUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsTUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURJO0FBU1h3N0IsSUFBQUEsR0FBRyxFQUFFO0FBVE0sR0FyRks7QUFnR2xCLGVBQWE7QUFDWFIsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLE9BREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLE9BRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLFFBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLE1BTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkMsS0FESTtBQVNYdzdCLElBQUFBLEdBQUcsRUFBRTtBQVRNLEdBaEdLO0FBMkdsQixjQUFZO0FBQ1ZSLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxNQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxNQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxNQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxJQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxNQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREc7QUFTVnc3QixJQUFBQSxHQUFHLEVBQUU7QUFUSyxHQTNHTTtBQXNIbEIsU0FBTztBQUNMUixJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsS0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsS0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsS0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsS0FKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsS0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURGO0FBU0x3N0IsSUFBQUEsR0FBRyxFQUFFO0FBVEEsR0F0SFc7QUFpSWxCLFdBQVM7QUFDUFIsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLE9BREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLE9BRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLEtBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLEtBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkMsS0FEQTtBQVNQdzdCLElBQUFBLEdBQUcsRUFBRTtBQVRFLEdBaklTO0FBNElsQixTQUFPO0FBQ0xSLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxLQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxLQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxLQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxJQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxJQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREY7QUFTTHc3QixJQUFBQSxHQUFHLEVBQUUsVUFUQTtBQVVMQyxJQUFBQSxTQUFTLEVBQUU7QUFWTjtBQTVJVyxDQUFwQixFQTBKQTs7QUFDQSxNQUFNRSxxQkFBcUIsR0FBRztBQUM1QkMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakJqOEIsSUFBQUEsRUFBRSxFQUFFLE1BRGE7QUFFakJDLElBQUFBLEVBQUUsRUFBRSxVQUZhO0FBR2pCQyxJQUFBQSxFQUFFLEVBQUU7QUFIYSxHQURTO0FBTTVCbWQsRUFBQUEsSUFBSSxFQUFFO0FBQ0pyZCxJQUFBQSxFQUFFLEVBQUUsZUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsZUFGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUU7QUFIQSxHQU5zQjtBQVc1Qmc4QixFQUFBQSxZQUFZLEVBQUU7QUFDWmw4QixJQUFBQSxFQUFFLEVBQUUsUUFEUTtBQUVaQyxJQUFBQSxFQUFFLEVBQUUsWUFGUTtBQUdaQyxJQUFBQSxFQUFFLEVBQUU7QUFIUTtBQVhjLENBQTlCO0FBa0JBLE1BQU1pOEIsVUFBc0QsR0FBR1AsV0FBL0Q7QUFFQSxNQUFNUSxpQkFBaUIsR0FBRztBQUN4QjtBQUNBQyxFQUFBQSxZQUFZLEVBQUU7QUFDWnI4QixJQUFBQSxFQUFFLEVBQUUsV0FEUTtBQUVaQyxJQUFBQSxFQUFFLEVBQUUsWUFGUTtBQUdaQyxJQUFBQSxFQUFFLEVBQUUsVUFIUTtBQUlaQyxJQUFBQSxFQUFFLEVBQUUsT0FKUTtBQUtaQyxJQUFBQSxFQUFFLEVBQUUsT0FMUTtBQU1aQyxJQUFBQSxFQUFFLEVBQUU7QUFOUSxHQUZVO0FBVXhCO0FBQ0FpOEIsRUFBQUEsZUFBZSxFQUFFO0FBQ2Z0OEIsSUFBQUEsRUFBRSxFQUFFLFlBRFc7QUFFZkMsSUFBQUEsRUFBRSxFQUFFLFlBRlc7QUFHZkMsSUFBQUEsRUFBRSxFQUFFLFlBSFc7QUFJZkMsSUFBQUEsRUFBRSxFQUFFLE1BSlc7QUFLZkMsSUFBQUEsRUFBRSxFQUFFLE1BTFc7QUFNZkMsSUFBQUEsRUFBRSxFQUFFO0FBTlcsR0FYTztBQW1CeEI7QUFDQWs4QixFQUFBQSxPQUFPLEVBQUU7QUFDUHY4QixJQUFBQSxFQUFFLEVBQUUsWUFERztBQUVQQyxJQUFBQSxFQUFFLEVBQUUsWUFGRztBQUdQQyxJQUFBQSxFQUFFLEVBQUUsY0FIRztBQUlQQyxJQUFBQSxFQUFFLEVBQUUsT0FKRztBQUtQQyxJQUFBQSxFQUFFLEVBQUUsT0FMRztBQU1QQyxJQUFBQSxFQUFFLEVBQUU7QUFORyxHQXBCZTtBQTRCeEI7QUFDQW04QixFQUFBQSxTQUFTLEVBQUU7QUFDVHg4QixJQUFBQSxFQUFFLEVBQUUsa0JBREs7QUFFVEMsSUFBQUEsRUFBRSxFQUFFLG1CQUZLO0FBR1RDLElBQUFBLEVBQUUsRUFBRSxtQkFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsVUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTdCYTtBQXFDeEI7QUFDQW84QixFQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQno4QixJQUFBQSxFQUFFLEVBQUUseUJBRFk7QUFFaEJDLElBQUFBLEVBQUUsRUFBRSwrQkFGWTtBQUdoQkMsSUFBQUEsRUFBRSxFQUFFLHlCQUhZO0FBSWhCQyxJQUFBQSxFQUFFLEVBQUUsa0JBSlk7QUFLaEJDLElBQUFBLEVBQUUsRUFBRSxnQkFMWTtBQU1oQkMsSUFBQUEsRUFBRSxFQUFFO0FBTlksR0F0Q007QUE4Q3hCO0FBQ0FxOEIsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakIxOEIsSUFBQUEsRUFBRSxFQUFFLHFCQURhO0FBRWpCQyxJQUFBQSxFQUFFLEVBQUUsc0JBRmE7QUFHakJDLElBQUFBLEVBQUUsRUFBRSwrQkFIYTtBQUlqQkMsSUFBQUEsRUFBRSxFQUFFLGFBSmE7QUFLakJDLElBQUFBLEVBQUUsRUFBRSxTQUxhO0FBTWpCQyxJQUFBQSxFQUFFLEVBQUU7QUFOYSxHQS9DSztBQXVEeEI7QUFDQXM4QixFQUFBQSxZQUFZLEVBQUU7QUFDWjM4QixJQUFBQSxFQUFFLEVBQUUsZUFEUTtBQUVaQyxJQUFBQSxFQUFFLEVBQUUscUJBRlE7QUFHWkMsSUFBQUEsRUFBRSxFQUFFO0FBSFE7QUF4RFUsQ0FBMUI7O0FBK0RBLE1BQU0wOEIsd0JBQXdCLEdBQUlDLFFBQUQsSUFBaUM7QUFDaEUsTUFBSSxPQUFPQSxRQUFQLEtBQW9CLFFBQXBCLElBQWdDLE9BQU9BLFFBQVAsS0FBb0IsUUFBeEQsRUFDRSxPQUFPcmxCLFNBQVA7QUFDRixRQUFNc2xCLEdBQUcsR0FBRzNULFVBQVUsQ0FBQzBULFFBQVEsQ0FBQ3R2QixRQUFULEVBQUQsQ0FBdEI7QUFDQSxNQUFJLENBQUN3dkIsS0FBSyxDQUFDRCxHQUFELENBQU4sSUFBZUEsR0FBRyxJQUFJLENBQTFCLEVBQ0UsT0FBT0EsR0FBUDtBQUNGLFNBQU90bEIsU0FBUDtBQUNELENBUEQ7O0FBU0EsTUFBTXdsQixlQUFlLEdBQUlDLElBQUQsSUFBOEIsQ0FBQ0EsSUFBSSxDQUFDQyxXQUFOLElBQXFCLENBQUNELElBQUksQ0FBQ1IsZ0JBQWpGOztBQUVBLE1BQU1VLGdCQUFnQixHQUFHLENBQ3ZCQyxTQUR1QixFQUV2QkMsU0FGdUIsRUFHdkJDLFVBSHVCLEVBSXZCQyxTQUp1QixLQUtkO0FBQ1QsUUFBTWxDLEtBQUssR0FBR2hWLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBZDtBQUNBNlQsRUFBQUEsS0FBSyxDQUFDM1QsU0FBTixHQUFrQjJWLFNBQWxCO0FBQ0FoQyxFQUFBQSxLQUFLLENBQUM5VSxTQUFOLENBQWdCQyxHQUFoQixDQUFvQixlQUFwQjtBQUNBNFcsRUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQndULEtBQXRCO0FBRUEsUUFBTTdWLE1BQU0sR0FBR2EsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFmO0FBQ0FoQyxFQUFBQSxNQUFNLENBQUNlLFNBQVAsQ0FBaUJDLEdBQWpCLENBQXFCLGdCQUFyQjtBQUNBaEIsRUFBQUEsTUFBTSxDQUFDa0MsU0FBUCxHQUFtQjRWLFVBQW5CO0FBQ0FGLEVBQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0JyQyxNQUF0QjtBQUVBLE1BQUkrWCxTQUFKLEVBQ0UvWCxNQUFNLENBQUNlLFNBQVAsQ0FBaUJDLEdBQWpCLENBQXFCLEdBQUcrVyxTQUF4QjtBQUNILENBbEJELEVBb0JBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUMseUJBQXlCLEdBQUcsQ0FDaENqYixPQURnQyxFQUVoQy9XLEtBRmdDLEtBRzdCO0FBQ0gsTUFBSUEsS0FBSyxLQUFLLFNBQWQsRUFBeUIsQ0FDdkI7QUFDRCxHQUZELE1BRU8sSUFBSUEsS0FBSyxLQUFLLGNBQWQsRUFBOEI7QUFDbkMrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFlBQWQsRUFBNEI7QUFDakMrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixJQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFNBQWQsRUFBeUI7QUFDOUIrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLEtBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixJQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFVBQWQsRUFBMEI7QUFDL0IrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsS0FBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFVBQWQsRUFBMEI7QUFDL0IrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLEtBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsS0FBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQTtBQUNMN1gsSUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFlLHdCQUF1QnRMLEtBQUssQ0FBQytCLFFBQU4sRUFBaUIsRUFBdkQ7QUFDRDtBQUNGLENBN0JELEVBK0JBO0FBQ0E7OztBQUNBLE1BQU1rd0Isa0JBQU4sQ0FBeUI7QUFDdkJwdUIsRUFBQUEsV0FBVyxDQUFDcXVCLHFCQUFELEVBQWdFO0FBQ3pFLFdBQU8sSUFBSUMsS0FBSixDQUFVLElBQVYsRUFBZ0I7QUFDckI5UCxNQUFBQSxHQUFHLENBQUMrUCxPQUFELEVBQVVDLFFBQVYsRUFBb0JyeUIsS0FBcEIsRUFBb0M7QUFDckMsWUFBSXF5QixRQUFRLEtBQUssdUJBQWpCLEVBQTBDO0FBQ3hDO0FBQ0FILFVBQUFBLHFCQUFxQixDQUFDbHlCLEtBQUQsQ0FBckI7QUFDQSxpQkFBTyxJQUFQO0FBQ0QsU0FMb0MsQ0FPckM7OztBQUNBLGVBQU8sS0FBUDtBQUNELE9BVm9COztBQVlyQmtOLE1BQUFBLEdBQUcsQ0FBQ2tsQixPQUFELEVBQVVFLEtBQVYsRUFBaUI7QUFDbEIsZUFBTyxNQUFNO0FBQUM7QUFBVyxTQUF6QjtBQUNEOztBQWRvQixLQUFoQixDQUFQO0FBZ0JEOztBQWxCc0I7O0FBcUJ6QixNQUFNQyxRQUFRLEdBQUlqVyxJQUFELElBQWtCO0FBQ2pDLFNBQVEsWUFBV0EsSUFBSyxxQkFBb0JBLElBQUssTUFBakQ7QUFDRCxDQUZEOztBQUlBLE1BQU1rVyxRQUFRLEdBQUl6OUIsSUFBRCxJQUE2QjtBQUM1QyxTQUFPLE9BQU9BLElBQVAsS0FBZ0IsUUFBaEIsSUFBNEJELDRCQUFNLENBQUNDLElBQUQsQ0FBbEMsR0FBMkNBLElBQTNDLEdBQWtELElBQXpEO0FBQ0QsQ0FGRDs7QUFJQSxNQUFNMDlCLG9CQUFOLENBQTJCO0FBS3pCNXVCLEVBQUFBLFdBQVcsQ0FBQzZ1QixtQkFBRCxFQUEyQztBQUNwRCxTQUFLQyxJQUFMLEdBQVlELG1CQUFaLENBRG9ELENBR3BEO0FBQ0E7QUFDQTs7QUFDQSxTQUFLRSxVQUFMLEdBQWtCSixRQUFRLENBQUMsS0FBS0csSUFBTCxDQUFVRSxTQUFWLENBQW9CLFVBQXBCLEVBQWdDLGdCQUFoQyxFQUFrRCxLQUFLRixJQUFMLENBQVU1OUIsSUFBNUQsQ0FBRCxDQUExQjtBQUNBLFNBQUsrOUIsWUFBTCxHQUFvQk4sUUFBUSxDQUMxQixLQUFLRyxJQUFMLENBQVVFLFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0Msa0JBQWhDLEVBQW9ELEtBQUtGLElBQUwsQ0FBVTU5QixJQUE5RCxDQUQwQixDQUE1QjtBQUdEOztBQUVEZytCLEVBQUFBLE9BQU8sQ0FBQ25CLFNBQUQsRUFBeUJvQixhQUF6QixFQUEwREMsV0FBMUQsRUFBd0Y7QUFDN0YsVUFBTUMsT0FBTyxHQUFHLEtBQUtDLG9CQUFMLENBQTBCSCxhQUExQixFQUF5Q0MsV0FBekMsQ0FBaEI7QUFFQSxVQUFNRyxhQUFtRCxHQUFHLEVBQTVEOztBQUVBLFNBQUssTUFBTSxDQUFDcnlCLEdBQUQsRUFBTXN5QixJQUFOLENBQVgsSUFBMEI3ekIsTUFBTSxDQUFDSyxPQUFQLENBQWVxekIsT0FBZixDQUExQixFQUFtRDtBQUNqRDtBQUNBO0FBQ0EsWUFBTUksU0FBUyxHQUFHRCxJQUFJLENBQUNFLE9BQXZCO0FBRUEsVUFBSSxDQUFDRixJQUFJLENBQUMzSCxRQUFOLElBQWtCbHNCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZNHpCLElBQUksQ0FBQzNILFFBQWpCLEVBQTJCNXFCLE1BQTNCLEtBQXNDLENBQTVELEVBQ0U7QUFFRixVQUFJMHlCLFlBQVksR0FBR0osYUFBYSxDQUFDRSxTQUFELENBQWhDOztBQUNBLFVBQUksQ0FBQ0UsWUFBTCxFQUFtQjtBQUNqQixjQUFNQyxrQkFBa0IsR0FBRzVZLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBM0I7QUFDQXlYLFFBQUFBLGtCQUFrQixDQUFDMVksU0FBbkIsQ0FBNkJDLEdBQTdCLENBQWlDLDZCQUFqQyxFQUFnRSxXQUFoRTtBQUNBNFcsUUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQm9YLGtCQUF0QjtBQUVBLGNBQU1DLGVBQWUsR0FBRzdZLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBeEI7QUFDQTBYLFFBQUFBLGVBQWUsQ0FBQzNZLFNBQWhCLENBQTBCQyxHQUExQixDQUE4QiwwQkFBOUI7O0FBQ0EwWSxRQUFBQSxlQUFlLENBQUNDLE9BQWhCLEdBQTBCLE1BQU07QUFDOUJGLFVBQUFBLGtCQUFrQixDQUFDMVksU0FBbkIsQ0FBNkI1ZCxNQUE3QixDQUFvQyxXQUFwQztBQUNELFNBRkQ7O0FBR0F1MkIsUUFBQUEsZUFBZSxDQUFDeFgsU0FBaEIsR0FBNEJvWCxTQUE1QjtBQUNBRyxRQUFBQSxrQkFBa0IsQ0FBQ3BYLFdBQW5CLENBQStCcVgsZUFBL0I7QUFFQUYsUUFBQUEsWUFBWSxHQUFHSixhQUFhLENBQUNFLFNBQUQsQ0FBYixHQUEyQkcsa0JBQTFDO0FBQ0Q7O0FBRUQsWUFBTUcsZ0JBQWdCLEdBQUcvWSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQXpCO0FBQ0E0WCxNQUFBQSxnQkFBZ0IsQ0FBQzdZLFNBQWpCLENBQTJCQyxHQUEzQixDQUErQix3QkFBL0IsRUFBeUQsV0FBekQ7QUFDQXdZLE1BQUFBLFlBQVksQ0FBQ25YLFdBQWIsQ0FBeUJ1WCxnQkFBekI7QUFFQSxZQUFNQyxTQUFTLEdBQUdoWixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWxCO0FBQ0E2WCxNQUFBQSxTQUFTLENBQUM5WSxTQUFWLENBQW9CQyxHQUFwQixDQUF3QixxQkFBeEI7O0FBQ0E2WSxNQUFBQSxTQUFTLENBQUNGLE9BQVYsR0FBb0IsTUFBTTtBQUN4QkMsUUFBQUEsZ0JBQWdCLENBQUM3WSxTQUFqQixDQUEyQjVkLE1BQTNCLENBQWtDLFdBQWxDO0FBQ0QsT0FGRDs7QUFJQSxZQUFNMjJCLEtBQUssR0FBRyxDQUFDVCxJQUFJLENBQUNVLEtBQU4sRUFBYVYsSUFBSSxDQUFDaCtCLElBQWxCLEVBQXdCZytCLElBQUksQ0FBQ2hsQixNQUE3QixDQUFkOztBQUNBLFdBQUssTUFBTTJsQixJQUFYLElBQW1CRixLQUFuQixFQUEwQjtBQUN4QixZQUFJLENBQUNFLElBQUwsRUFDRTtBQUNGLGNBQU1DLE9BQU8sR0FBR3BaLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBaEI7QUFDQWlZLFFBQUFBLE9BQU8sQ0FBQ2xaLFNBQVIsQ0FBa0JDLEdBQWxCLENBQXNCLDBCQUF0QixFQUp3QixDQUt4Qjs7QUFDQWlaLFFBQUFBLE9BQU8sQ0FBQzdWLFNBQVIsR0FBb0I0VixJQUFwQjtBQUNBSCxRQUFBQSxTQUFTLENBQUN4WCxXQUFWLENBQXNCNFgsT0FBdEI7QUFDRDs7QUFFREwsTUFBQUEsZ0JBQWdCLENBQUN2WCxXQUFqQixDQUE2QndYLFNBQTdCLEVBOUNpRCxDQWdEakQ7QUFDQTtBQUNBOztBQUNBLFVBQUlSLElBQUksQ0FBQ2EsVUFBTCxDQUFnQkMsUUFBaEIsSUFBNEIsT0FBT2QsSUFBSSxDQUFDekgsTUFBWixLQUF1QixRQUF2RCxFQUNFLEtBQUt3SSx3QkFBTCxDQUE4QmYsSUFBSSxDQUFDekgsTUFBbkMsRUFBMkN5SCxJQUFJLENBQUNhLFVBQWhELEVBQTRETixnQkFBNUQsRUFBOEVYLFdBQTlFO0FBRUYsWUFBTW9CLGNBQWMsR0FBR3haLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBdkI7QUFDQXFZLE1BQUFBLGNBQWMsQ0FBQ3RaLFNBQWYsQ0FBeUJDLEdBQXpCLENBQTZCLHNCQUE3QjtBQUNBNFksTUFBQUEsZ0JBQWdCLENBQUN2WCxXQUFqQixDQUE2QmdZLGNBQTdCOztBQUVBLFdBQUssTUFBTSxDQUFDQyxNQUFELEVBQVM3QyxJQUFULENBQVgsSUFBNkJqeUIsTUFBTSxDQUFDSyxPQUFQLG1CQUFld3pCLElBQUksQ0FBQzNILFFBQXBCLDJEQUFnQyxFQUFoQyxDQUE3QixFQUFrRTtBQUFBOztBQUNoRTtBQUNBLFlBQUk2SSxhQUFhLEdBQUcsS0FBcEI7O0FBQ0EsYUFBSyxNQUFNeFIsSUFBWCxJQUFtQnBTLHdDQUFuQixFQUEyQztBQUN6QyxjQUFJb1MsSUFBSSxJQUFJME8sSUFBWixFQUFrQjtBQUNoQjhDLFlBQUFBLGFBQWEsR0FBRyxJQUFoQjtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxZQUFJLENBQUNBLGFBQUQsSUFBa0IsQ0FBQyxLQUFLNUIsSUFBTCxDQUFVNkIsZ0JBQWpDLEVBQ0UsU0FWOEQsQ0FZaEU7O0FBQ0EsY0FBTUMsVUFBVSxHQUFHNVosUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFuQjtBQUNBeVksUUFBQUEsVUFBVSxDQUFDclcsU0FBWCxHQUF1QnFULElBQUksQ0FBQ0MsV0FBTCxHQUFtQixPQUFuQixHQUE2QjRDLE1BQXBEO0FBRUFHLFFBQUFBLFVBQVUsQ0FBQzFaLFNBQVgsQ0FBcUJDLEdBQXJCLENBQXlCLFNBQXpCO0FBQ0FxWixRQUFBQSxjQUFjLENBQUNoWSxXQUFmLENBQTJCb1ksVUFBM0IsRUFqQmdFLENBbUJoRTs7QUFDQSxjQUFNQyxjQUFjLEdBQUc3WixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQXZCO0FBQ0EwWSxRQUFBQSxjQUFjLENBQUMzWixTQUFmLENBQXlCQyxHQUF6QixDQUE2QixpQkFBN0I7QUFDQXFaLFFBQUFBLGNBQWMsQ0FBQ2hZLFdBQWYsQ0FBMkJxWSxjQUEzQjtBQUVBLFlBQUlsRCxlQUFlLENBQUNDLElBQUQsQ0FBbkIsRUFDRWlELGNBQWMsQ0FBQ3JZLFdBQWYsQ0FBMkIsS0FBS3NZLG1CQUFMLENBQXlCbEQsSUFBekIsRUFBK0JnRCxVQUEvQixDQUEzQjs7QUFFRixZQUFJaEQsSUFBSSxDQUFDQyxXQUFULEVBQXNCO0FBQ3BCQyxVQUFBQSxnQkFBZ0IsQ0FDZCtDLGNBRGMsRUFFZCxLQUFLL0IsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDRyxPQUF0QyxDQUZjLEVBR2QsS0FBSzRCLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0ksU0FBdEMsQ0FIYyxDQUFoQjtBQUtEOztBQUNELFlBQUlTLElBQUksQ0FBQ1IsZ0JBQVQsRUFBMkI7QUFDekIsZ0JBQU00RCxRQUFRLEdBQUcsS0FBS2xDLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0ssZ0JBQXRDLENBQWpCO0FBQ0EsZ0JBQU1hLFVBQVUsR0FBRytDLFFBQVEsQ0FBQzVrQixPQUFULENBQWlCLFNBQWpCLEVBQTRCd2hCLElBQUksQ0FBQ1IsZ0JBQWpDLENBQW5CO0FBQ0FVLFVBQUFBLGdCQUFnQixDQUNkK0MsY0FEYyxFQUVkLEtBQUsvQixJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNHLE9BQXRDLENBRmMsRUFHZGUsVUFIYyxDQUFoQjtBQUtELFNBMUMrRCxDQTRDaEU7OztBQUNBLGFBQUssTUFBTSxDQUFDZ0QsZUFBRCxFQUFrQnhYLEdBQWxCLENBQVgsSUFBcUM5ZCxNQUFNLENBQUNLLE9BQVAsQ0FBZTh3QixVQUFmLENBQXJDLEVBQWlFO0FBQUE7O0FBQy9EO0FBQ0EsZ0JBQU1vRSxTQUFTLEdBQUdELGVBQWxCO0FBRUEsY0FBSXhYLEdBQUcsQ0FBQ2lULGlCQUFSLEVBQ0U7QUFDRixjQUFJLENBQUMsS0FBS29DLElBQUwsQ0FBVTZCLGdCQUFYLElBQStCbFgsR0FBRyxDQUFDZ1QsU0FBdkMsRUFDRTtBQUNGLGdCQUFNMEUsVUFBVSx5QkFBR3ZELElBQUksQ0FBQ3dELFlBQVIsdURBQUcsbUJBQW9CRixTQUFwQixDQUFuQjtBQUNBLGdCQUFNRyxRQUFRLEdBQUd6RCxJQUFJLENBQUNzRCxTQUFELENBQXJCO0FBQ0EsY0FBSSxDQUFDRyxRQUFMLEVBQ0U7QUFFRixnQkFBTW5ELFNBQVMsR0FBRyxDQUFDelUsR0FBRyxDQUFDK1MsR0FBTCxDQUFsQjtBQUNBLGNBQUl5QixVQUFKOztBQUNBLGNBQUlrRCxVQUFKLEVBQWdCO0FBQ2RsRCxZQUFBQSxVQUFVLEdBQUdrRCxVQUFiO0FBQ0QsV0FGRCxNQUVPLElBQUksT0FBT0UsUUFBUCxLQUFvQixVQUF4QixFQUFvQztBQUN6Q3BELFlBQUFBLFVBQVUsR0FBRyxLQUFLYSxJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNFLGVBQXRDLENBQWI7QUFDQWlCLFlBQUFBLFNBQVMsQ0FBQzN4QixJQUFWLENBQWUsZUFBZjtBQUNELFdBSE0sTUFHQTtBQUNMMHhCLFlBQUFBLFVBQVUsR0FBR29ELFFBQVEsQ0FBQ256QixRQUFULEVBQWI7QUFDRDs7QUFFRDR2QixVQUFBQSxnQkFBZ0IsQ0FDZCtDLGNBRGMsRUFFZCxLQUFLL0IsSUFBTCxDQUFVaUMsU0FBVixDQUFvQnRYLEdBQUcsQ0FBQ3VTLEtBQXhCLENBRmMsRUFHZGlDLFVBSGMsRUFJZEMsU0FKYyxDQUFoQjtBQU1EOztBQUVELFlBQUksQ0FBQ1AsZUFBZSxDQUFDQyxJQUFELENBQXBCLEVBQ0UsU0E5RThELENBZ0ZoRTs7QUFDQSxZQUFJQSxJQUFJLENBQUMwRCxpQkFBVCxFQUE0QjtBQUMxQixnQkFBTUosU0FBUyxHQUFHLGVBQWxCO0FBQ0EsZ0JBQU1LLFNBQVMsR0FBR3pGLFdBQVcsQ0FBQ25DLGFBQTlCO0FBRUEsZ0JBQU1xQyxLQUFLLEdBQUdoVixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWQ7QUFDQTZULFVBQUFBLEtBQUssQ0FBQzNULFNBQU4sR0FBa0IsS0FBS3lXLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0J4RSxXQUFXLENBQUMyRSxTQUFELENBQVgsQ0FBdUJsRixLQUEzQyxDQUFsQjtBQUNBQSxVQUFBQSxLQUFLLENBQUM5VSxTQUFOLENBQWdCQyxHQUFoQixDQUFvQixlQUFwQjtBQUNBMFosVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQndULEtBQTNCO0FBRUEsZ0JBQU13RixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsd0JBQTVDO0FBRUEsZ0JBQU1zYSxLQUFLLEdBQUd6YSxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQWQ7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ2haLFdBQUosQ0FBZ0JpWixLQUFoQjtBQUNBQSxVQUFBQSxLQUFLLENBQUNqZ0MsSUFBTixHQUFhLE1BQWI7QUFDQWlnQyxVQUFBQSxLQUFLLENBQUNDLElBQU4sR0FBYSxLQUFiLENBZjBCLENBaUIxQjs7QUFDQSxjQUFJN21CLFlBQVksR0FBRyxLQUFLaWtCLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0MsWUFBdEMsQ0FBbkI7QUFDQSxjQUFJWSxJQUFJLENBQUNqRSxhQUFMLEtBQXVCeGhCLFNBQTNCLEVBQ0UwQyxZQUFZLEdBQUcsR0FBZixDQURGLEtBRUssSUFBSSxPQUFPK2lCLElBQUksQ0FBQ2pFLGFBQVosS0FBOEIsUUFBbEMsRUFDSDllLFlBQVksR0FBRytpQixJQUFJLENBQUNqRSxhQUFMLENBQW1CenJCLFFBQW5CLEVBQWY7QUFFRnV6QixVQUFBQSxLQUFLLENBQUNFLFdBQU4sR0FBb0I5bUIsWUFBcEI7QUFDQTRtQixVQUFBQSxLQUFLLENBQUN0MUIsS0FBTixHQUFjLEtBQUsyeUIsSUFBTCxDQUFVOEMsZUFBVixDQUEwQixVQUExQixFQUFzQyxDQUFDLFVBQUQsRUFBYW5CLE1BQWIsRUFBcUJjLFNBQXJCLENBQXRDLEVBQXVFLEVBQXZFLENBQWQ7O0FBQ0EsZ0JBQU1NLE9BQU8sR0FBRyxNQUFNO0FBQ3BCLGtCQUFNcEUsR0FBRyxHQUFHRix3QkFBd0IsQ0FBQ2tFLEtBQUssQ0FBQ3QxQixLQUFQLENBQXhCLElBQXlDLEVBQXJEO0FBQ0EsaUJBQUsyeUIsSUFBTCxDQUFVZ0QsU0FBVixDQUFvQixVQUFwQixFQUFnQyxDQUFDLFVBQUQsRUFBYXJCLE1BQWIsRUFBcUJjLFNBQXJCLENBQWhDLEVBQWlFOUQsR0FBakU7QUFDRCxXQUhEOztBQUlBZ0UsVUFBQUEsS0FBSyxDQUFDTSxRQUFOLEdBQWlCRixPQUFqQjtBQUNBSixVQUFBQSxLQUFLLENBQUNPLE9BQU4sR0FBZ0JILE9BQWhCO0FBRUFoQixVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRCxTQW5IK0QsQ0FxSGhFOzs7QUFDQSxZQUFJZCxhQUFKLEVBQW1CO0FBQ2pCLGdCQUFNUSxTQUFTLEdBQUcsVUFBbEI7QUFDQSxnQkFBTUssU0FBUyxHQUFHekYsV0FBVyxDQUFDN3pCLFFBQTlCO0FBRUEsZ0JBQU0rekIsS0FBSyxHQUFHaFYsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFkO0FBQ0E2VCxVQUFBQSxLQUFLLENBQUMzVCxTQUFOLEdBQWtCLEtBQUt5VyxJQUFMLENBQVVpQyxTQUFWLENBQW9CeEUsV0FBVyxDQUFDMkUsU0FBRCxDQUFYLENBQXVCbEYsS0FBM0MsQ0FBbEI7QUFDQUEsVUFBQUEsS0FBSyxDQUFDOVUsU0FBTixDQUFnQkMsR0FBaEIsQ0FBb0IsZUFBcEI7QUFDQTBaLFVBQUFBLGNBQWMsQ0FBQ3JZLFdBQWYsQ0FBMkJ3VCxLQUEzQjtBQUVBLGdCQUFNd0YsR0FBRyxHQUFHeGEsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFaO0FBQ0FxWixVQUFBQSxHQUFHLENBQUN0YSxTQUFKLENBQWNDLEdBQWQsQ0FBa0Isd0JBQWxCLEVBQTRDLGtCQUE1QztBQUVBLGdCQUFNc2EsS0FBSyxHQUFHemEsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFkO0FBQ0FxWixVQUFBQSxHQUFHLENBQUNoWixXQUFKLENBQWdCaVosS0FBaEI7QUFDQUEsVUFBQUEsS0FBSyxDQUFDamdDLElBQU4sR0FBYSxNQUFiO0FBQ0FpZ0MsVUFBQUEsS0FBSyxDQUFDQyxJQUFOLEdBQWEsS0FBYjtBQUNBLGNBQUksT0FBTzlELElBQUksQ0FBQ3FFLGVBQVosS0FBZ0MsUUFBcEMsRUFDRVIsS0FBSyxDQUFDRSxXQUFOLEdBQXFCLEdBQUUvRCxJQUFJLENBQUNxRSxlQUFnQixFQUE1QyxDQURGLEtBR0VSLEtBQUssQ0FBQ0UsV0FBTixHQUFvQixLQUFLN0MsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDQyxZQUF0QyxDQUFwQjtBQUNGeUUsVUFBQUEsS0FBSyxDQUFDdDFCLEtBQU4sR0FBYyxLQUFLMnlCLElBQUwsQ0FBVThDLGVBQVYsQ0FBMEIsVUFBMUIsRUFBc0MsQ0FBQyxVQUFELEVBQWFuQixNQUFiLEVBQXFCYyxTQUFyQixDQUF0QyxFQUF1RSxFQUF2RSxDQUFkOztBQUNBLGdCQUFNTSxPQUFPLEdBQUcsTUFBTTtBQUNwQixrQkFBTXBFLEdBQUcsR0FBR0Ysd0JBQXdCLENBQUNrRSxLQUFLLENBQUN0MUIsS0FBUCxDQUF4QixJQUF5QyxFQUFyRDtBQUNBLGlCQUFLMnlCLElBQUwsQ0FBVWdELFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0MsQ0FBQyxVQUFELEVBQWFyQixNQUFiLEVBQXFCYyxTQUFyQixDQUFoQyxFQUFpRTlELEdBQWpFO0FBQ0QsV0FIRDs7QUFJQWdFLFVBQUFBLEtBQUssQ0FBQ00sUUFBTixHQUFpQkYsT0FBakI7QUFDQUosVUFBQUEsS0FBSyxDQUFDTyxPQUFOLEdBQWdCSCxPQUFoQjtBQUVBaEIsVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQmdaLEdBQTNCO0FBQ0QsU0FuSitELENBcUpoRTs7O0FBQ0EsY0FBTWpqQixhQUFhLEdBQUdxZixJQUFJLENBQUNyZixhQUFMLElBQXNCLEVBQTVDOztBQUVBLGFBQUssTUFBTSxDQUFDclIsR0FBRCxFQUFNZzFCLFlBQU4sQ0FBWCxJQUFrQ3YyQixNQUFNLENBQUNLLE9BQVAsQ0FBZXVTLGFBQWYsQ0FBbEMsRUFBaUU7QUFDL0QsZ0JBQU1nakIsU0FBUyxHQUFHekYsV0FBVyxDQUFDdmQsYUFBOUI7QUFDQSxnQkFBTWdMLFFBQVEsR0FBRyxPQUFPMlksWUFBUCxLQUF3QixRQUF4QixHQUNiQSxZQURhLEdBRWIsS0FBS3BELElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JtQixZQUFwQixDQUZKO0FBSUEsZ0JBQU1sRyxLQUFLLEdBQUdoVixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWQ7QUFDQTZULFVBQUFBLEtBQUssQ0FBQzNULFNBQU4sR0FBa0JuYixHQUFsQjtBQUNBOHVCLFVBQUFBLEtBQUssQ0FBQzlVLFNBQU4sQ0FBZ0JDLEdBQWhCLENBQW9CLDRCQUFwQjtBQUNBMFosVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQndULEtBQTNCO0FBRUEsZ0JBQU13RixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsc0JBQTVDO0FBRUEsZ0JBQU1zYSxLQUFLLEdBQUd6YSxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQWQ7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ2haLFdBQUosQ0FBZ0JpWixLQUFoQjtBQUNBQSxVQUFBQSxLQUFLLENBQUNqZ0MsSUFBTixHQUFhLE1BQWI7QUFDQWlnQyxVQUFBQSxLQUFLLENBQUNFLFdBQU4sR0FBb0JwWSxRQUFwQjtBQUNBa1ksVUFBQUEsS0FBSyxDQUFDdDFCLEtBQU4sR0FBYyxLQUFLMnlCLElBQUwsQ0FBVThDLGVBQVYsQ0FDWixVQURZLEVBRVosQ0FBQyxVQUFELEVBQWFuQixNQUFiLEVBQXFCYyxTQUFyQixFQUFnQ3IwQixHQUFoQyxDQUZZLEVBR1osRUFIWSxDQUFkOztBQUtBLGdCQUFNMjBCLE9BQU8sR0FBRyxNQUNkLEtBQUsvQyxJQUFMLENBQVVnRCxTQUFWLENBQW9CLFVBQXBCLEVBQWdDLENBQUMsVUFBRCxFQUFhckIsTUFBYixFQUFxQmMsU0FBckIsRUFBZ0NyMEIsR0FBaEMsQ0FBaEMsRUFBc0V1MEIsS0FBSyxDQUFDdDFCLEtBQTVFLENBREY7O0FBRUFzMUIsVUFBQUEsS0FBSyxDQUFDTSxRQUFOLEdBQWlCRixPQUFqQjtBQUNBSixVQUFBQSxLQUFLLENBQUNPLE9BQU4sR0FBZ0JILE9BQWhCO0FBRUFoQixVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRDs7QUFFRCxjQUFNeEYsS0FBSyxHQUFHaFYsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFkO0FBQ0EwWSxRQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCd1QsS0FBM0I7QUFFQSxjQUFNMVcsSUFBSSxHQUFHcFksR0FBRyxDQUFDMlcsS0FBSixDQUFVLEdBQVYsQ0FBYjtBQUNBLGNBQU0sQ0FBQ3NlLEVBQUQsRUFBS0MsRUFBTCxFQUFTQyxFQUFULElBQWUvYyxJQUFyQjs7QUFDQSxZQUFJNmMsRUFBRSxLQUFLaHFCLFNBQVAsSUFBb0JpcUIsRUFBRSxLQUFLanFCLFNBQTNCLElBQXdDa3FCLEVBQUUsS0FBS2xxQixTQUFuRCxFQUE4RDtBQUM1RCxnQkFBTXFwQixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsZ0JBQTVDO0FBQ0EsZ0JBQU1tYixPQUFPLEdBQUcsb0RBQWhCO0FBQ0EsY0FBSUMsV0FBSjs7QUFDQSxjQUFJamQsSUFBSSxDQUFDclksTUFBTCxLQUFnQixDQUFwQixFQUF1QjtBQUNyQjtBQUNBczFCLFlBQUFBLFdBQVcsR0FBSSxHQUFFSixFQUFHLElBQUdDLEVBQUcsSUFBRyxDQUFDLEdBQUc5YyxJQUFKLEVBQVU1SyxLQUFWLENBQWdCLENBQWhCLEVBQW1CWSxJQUFuQixDQUF3QixHQUF4QixDQUE2QixFQUExRDtBQUNELFdBSEQsTUFHTztBQUNMO0FBQ0FpbkIsWUFBQUEsV0FBVyxHQUFJLEdBQUVKLEVBQUcsSUFBR0MsRUFBRyxJQUFHQyxFQUFHLElBQUcsQ0FBQyxHQUFHL2MsSUFBSixFQUFVNUssS0FBVixDQUFnQixDQUFoQixFQUFtQlksSUFBbkIsQ0FBd0IsR0FBeEIsQ0FBNkIsRUFBaEU7QUFDRDs7QUFDRCxnQkFBTWtuQixnQkFBZ0IsR0FBRy9CLE1BQU0sQ0FBQ3JrQixPQUFQLENBQWUsSUFBZixFQUFxQixNQUFyQixDQUF6QjtBQUNBLGdCQUFNcW1CLFlBQVksR0FBR0Msa0JBQWtCLENBQUUsUUFBT0YsZ0JBQWlCLEdBQTFCLENBQWxCLENBQWdEcG1CLE9BQWhELENBQXdELElBQXhELEVBQThELEtBQTlELENBQXJCO0FBQ0EsZ0JBQU11bUIsU0FBUyxHQUFJLEdBQUVMLE9BQVEsSUFBR0MsV0FBWSxlQUFjRSxZQUFhLEVBQXZFO0FBQ0FqQixVQUFBQSxHQUFHLENBQUNqWCxTQUFKLEdBQWlCLFlBQVdvWSxTQUFVLHNCQUNwQyxLQUFLN0QsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDTSxpQkFBdEMsQ0FDRCxPQUZEO0FBSUF3RCxVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRDtBQUNGO0FBQ0Y7QUFDRixHQW5Td0IsQ0FxU3pCOzs7QUFDQWpCLEVBQUFBLHdCQUF3QixDQUN0QnhJLE1BRHNCLEVBRXRCdkosR0FGc0IsRUFHdEJvVSxNQUhzQixFQUl0QjFmLE9BSnNCLEVBS2hCO0FBQ04sVUFBTTZhLFNBQVMsR0FBRy9XLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTRWLElBQUFBLFNBQVMsQ0FBQzdXLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHlCQUF4QixFQUFtRCxXQUFuRDtBQUNBeWIsSUFBQUEsTUFBTSxDQUFDcGEsV0FBUCxDQUFtQnVWLFNBQW5CO0FBRUEsUUFBSThFLG1CQUFtQixHQUFHLEtBQTFCO0FBRUEsVUFBTTdDLFNBQVMsR0FBR2haLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTZYLElBQUFBLFNBQVMsQ0FBQzlZLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHNCQUF4Qjs7QUFDQTZZLElBQUFBLFNBQVMsQ0FBQ0YsT0FBVixHQUFvQixNQUFNO0FBQ3hCL0IsTUFBQUEsU0FBUyxDQUFDN1csU0FBVixDQUFvQjVkLE1BQXBCLENBQTJCLFdBQTNCLEVBRHdCLENBRXhCOztBQUNBLFVBQUksQ0FBQ3U1QixtQkFBTCxFQUEwQjtBQUN4QixjQUFNdkMsUUFBUSxHQUFHLEtBQUt3QyxlQUFMLENBQXFCdFUsR0FBckIsRUFBMEJ0TCxPQUExQixDQUFqQjtBQUNBLGFBQUs2ZixlQUFMLENBQXFCaEwsTUFBckIsRUFBNkJ1SSxRQUE3QixFQUF1Q3ZDLFNBQXZDO0FBQ0Q7O0FBQ0Q4RSxNQUFBQSxtQkFBbUIsR0FBRyxJQUF0QjtBQUNELEtBUkQ7O0FBU0E3QyxJQUFBQSxTQUFTLENBQUMzWCxTQUFWLEdBQXNCLEtBQUt5VyxJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNPLFlBQXRDLENBQXRCO0FBQ0FTLElBQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0J3WCxTQUF0QjtBQUNELEdBL1R3QixDQWlVekI7OztBQUNBOEMsRUFBQUEsZUFBZSxDQUFDdFUsR0FBRCxFQUE2QnRMLE9BQTdCLEVBQXVFO0FBQUE7O0FBQ3BGLFFBQUlsRixJQUFJLEdBQUcsRUFBWCxDQURvRixDQUdwRjs7QUFDQSxVQUFNZ2xCLFdBQVcsR0FBSXBsQixHQUFELElBQXlCO0FBQzNDLFVBQUlBLEdBQUcsS0FBS3pGLFNBQVosRUFDRTs7QUFDRixVQUFJd0IsS0FBSyxDQUFDQyxPQUFOLENBQWNnRSxHQUFkLENBQUosRUFBd0I7QUFDdEIsYUFBSyxNQUFNcWxCLE1BQVgsSUFBcUJybEIsR0FBckIsRUFDRW9sQixXQUFXLENBQUNDLE1BQUQsQ0FBWDtBQUNILE9BSEQsTUFHTyxJQUFJLE9BQU9ybEIsR0FBUCxLQUFlLFVBQW5CLEVBQStCO0FBQ3BDO0FBQ0E7QUFDQSxjQUFNc2xCLFNBQXVCLEdBQUcsRUFBaEM7O0FBQ0EsWUFBSTtBQUNGRixVQUFBQSxXQUFXLENBQUNwbEIsR0FBRyxDQUFDc2xCLFNBQUQsQ0FBSixDQUFYO0FBQ0QsU0FGRCxDQUVFLE9BQU8xckIsQ0FBUCxFQUFVLENBQ1Y7QUFDQTtBQUNBO0FBQ0Q7QUFDRixPQVhNLE1BV0EsSUFBSW9HLEdBQUosRUFBUztBQUNkSSxRQUFBQSxJQUFJLEdBQUksR0FBRUEsSUFBSyxLQUFJSixHQUFJLEVBQXZCO0FBQ0Q7QUFDRixLQXBCRDs7QUFxQkFvbEIsSUFBQUEsV0FBVyxDQUFDeFUsR0FBRyxDQUFDOFIsUUFBTCxDQUFYLENBekJvRixDQTBCcEY7QUFDQTs7QUFDQSxXQUFPLElBQUkzSSxjQUFKLENBQW1CM1osSUFBbkIsMEJBQXlCd1EsR0FBRyxDQUFDMlUsZUFBN0IsdUVBQWdELEVBQWhELEVBQW9ELEVBQXBELEVBQXdELEVBQXhELEVBQTREamdCLE9BQTVELENBQVA7QUFDRCxHQS9Wd0IsQ0FpV3pCOzs7QUFDQTZmLEVBQUFBLGVBQWUsQ0FBQ2hMLE1BQUQsRUFBaUJ1SSxRQUFqQixFQUEyQ3NDLE1BQTNDLEVBQXNFO0FBQ25GLFVBQU1RLFVBQXFDLEdBQUcsRUFBOUM7O0FBRUEsU0FBSyxNQUFNeHJCLEtBQVgsSUFBb0Iwb0IsUUFBUSxDQUFDeG9CLE1BQTdCLEVBQXFDO0FBQ25DLFVBQUlGLEtBQUssQ0FBQ25XLElBQU4sSUFBYzJoQyxVQUFsQixFQUNFO0FBQ0YsVUFBSXhyQixLQUFLLENBQUNuVyxJQUFOLElBQWM2K0IsUUFBUSxDQUFDckksT0FBM0IsRUFDRSxTQUppQyxDQUtuQztBQUNBOztBQUNBbUwsTUFBQUEsVUFBVSxDQUFDeHJCLEtBQUssQ0FBQ25XLElBQVAsQ0FBVixHQUF5Qm1XLEtBQUssQ0FBQ29HLElBQS9CO0FBQ0Q7O0FBRUQsVUFBTStmLFNBQVMsR0FBRy9XLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTRWLElBQUFBLFNBQVMsQ0FBQzdXLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHlCQUF4QjtBQUNBeWIsSUFBQUEsTUFBTSxDQUFDcGEsV0FBUCxDQUFtQnVWLFNBQW5COztBQUVBLFNBQUssTUFBTXNGLE1BQVgsSUFBcUIxM0IsTUFBTSxDQUFDMjNCLE1BQVAsQ0FBYzNHLHFCQUFkLENBQXJCLEVBQTJEO0FBQ3pELFlBQU02RSxHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLE1BQUFBLEdBQUcsQ0FBQ25aLFNBQUosR0FBZ0IsS0FBS3lXLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JzQyxNQUFwQixDQUFoQjtBQUNBdEYsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQmdaLEdBQXRCO0FBQ0Q7O0FBRUQsVUFBTTUxQixJQUFJLEdBQUdELE1BQU0sQ0FBQ0MsSUFBUCxDQUFZdzNCLFVBQVosRUFBd0J4MkIsSUFBeEIsRUFBYjs7QUFDQSxTQUFLLE1BQU1NLEdBQVgsSUFBa0J0QixJQUFsQixFQUF3QjtBQUN0QixZQUFNZ00sS0FBSyxHQUFHd3JCLFVBQVUsQ0FBQ2wyQixHQUFELENBQXhCO0FBQ0EsVUFBSSxDQUFDMEssS0FBTCxFQUNFO0FBRUYsWUFBTTJyQixVQUFVLEdBQUd2YyxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQW5CO0FBQ0FvYixNQUFBQSxVQUFVLENBQUNyYyxTQUFYLENBQXFCQyxHQUFyQixDQUF5QixzQkFBekI7QUFDQW9jLE1BQUFBLFVBQVUsQ0FBQy9oQyxJQUFYLEdBQWtCLFVBQWxCO0FBQ0F1OEIsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQithLFVBQXRCLEVBUnNCLENBVXRCO0FBQ0E7O0FBQ0EsWUFBTUMsUUFBUSxHQUFHLENBQUMsVUFBRCxFQUFhekwsTUFBTSxDQUFDN3BCLFFBQVAsRUFBYixFQUFnQyxRQUFoQyxFQUEwQ2hCLEdBQTFDLENBQWpCO0FBQ0EsWUFBTTJOLFlBQVksR0FBRyxJQUFyQjtBQUNBMG9CLE1BQUFBLFVBQVUsQ0FBQ0UsT0FBWCxHQUFxQixLQUFLM0UsSUFBTCxDQUFVNEUsZ0JBQVYsQ0FBMkIsVUFBM0IsRUFBdUNGLFFBQXZDLEVBQWlEM29CLFlBQWpELENBQXJCOztBQUNBMG9CLE1BQUFBLFVBQVUsQ0FBQ3hCLFFBQVgsR0FBc0IsTUFBTSxLQUFLakQsSUFBTCxDQUFVZ0QsU0FBVixDQUFvQixVQUFwQixFQUFnQzBCLFFBQWhDLEVBQTBDRCxVQUFVLENBQUNFLE9BQXJELENBQTVCOztBQUVBLFlBQU1FLFlBQVksR0FBRzNjLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBckI7QUFDQXdiLE1BQUFBLFlBQVksQ0FBQ3pjLFNBQWIsQ0FBdUJDLEdBQXZCLENBQTJCLG9CQUEzQjtBQUNBd2MsTUFBQUEsWUFBWSxDQUFDcFosU0FBYixHQUF5QjNTLEtBQXpCO0FBQ0FtbUIsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQm1iLFlBQXRCO0FBRUEsWUFBTUMsU0FBUyxHQUFHNWMsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFsQjtBQUNBeWIsTUFBQUEsU0FBUyxDQUFDMWMsU0FBVixDQUFvQkMsR0FBcEIsQ0FBd0Isb0JBQXhCO0FBQ0F5YyxNQUFBQSxTQUFTLENBQUNqQyxXQUFWLEdBQXdCL3BCLEtBQXhCLENBeEJzQixDQTBCdEI7QUFDQTs7QUFDQSxZQUFNaXNCLE1BQU0sR0FBRyxDQUFDLFVBQUQsRUFBYTlMLE1BQU0sQ0FBQzdwQixRQUFQLEVBQWIsRUFBZ0MsZUFBaEMsRUFBaURoQixHQUFqRCxDQUFmO0FBQ0EwMkIsTUFBQUEsU0FBUyxDQUFDejNCLEtBQVYsR0FBa0IsS0FBSzJ5QixJQUFMLENBQVU4QyxlQUFWLENBQTBCLFVBQTFCLEVBQXNDaUMsTUFBdEMsRUFBOEMsRUFBOUMsQ0FBbEI7O0FBQ0EsWUFBTWhDLE9BQU8sR0FBRyxNQUFNLEtBQUsvQyxJQUFMLENBQVVnRCxTQUFWLENBQW9CLFVBQXBCLEVBQWdDK0IsTUFBaEMsRUFBd0NELFNBQVMsQ0FBQ3ozQixLQUFsRCxDQUF0Qjs7QUFDQXkzQixNQUFBQSxTQUFTLENBQUM3QixRQUFWLEdBQXFCRixPQUFyQjtBQUNBK0IsTUFBQUEsU0FBUyxDQUFDNUIsT0FBVixHQUFvQkgsT0FBcEI7QUFFQTlELE1BQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0JvYixTQUF0QjtBQUNEO0FBQ0YsR0E5WndCLENBZ2F6Qjs7O0FBQ0FFLEVBQUFBLGVBQWUsQ0FDYnRuQixDQURhLEVBRWIzYyxJQUZhLEVBR2JDLE9BSGEsRUFJYitkLE1BSmEsRUFLVTtBQUN2QixVQUFNa21CLE1BQU0sR0FBSSxPQUFPdm5CLENBQVAsS0FBYSxVQUFkLEdBQTRCQSxDQUFDLENBQUMzYyxJQUFELEVBQU9DLE9BQVAsRUFBZ0IrZCxNQUFoQixDQUE3QixHQUF1RHJCLENBQXRFO0FBQ0EsUUFBSXVuQixNQUFNLEtBQUtwNEIsTUFBTSxDQUFDbzRCLE1BQUQsQ0FBckIsRUFDRSxPQUFPQSxNQUFQO0FBQ0YsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFFBQWxCLElBQThCQSxNQUFNLEtBQUssSUFBN0MsRUFDRSxPQUFPQSxNQUFQO0FBQ0YsUUFBSUEsTUFBTSxDQUFDLEtBQUtoRixVQUFOLENBQVYsRUFDRSxPQUFPLEtBQUsrRSxlQUFMLENBQXFCQyxNQUFNLENBQUMsS0FBS2hGLFVBQU4sQ0FBM0IsRUFBOENsL0IsSUFBOUMsRUFBb0RDLE9BQXBELEVBQTZEK2QsTUFBN0QsQ0FBUDtBQUNGLFFBQUlrbUIsTUFBTSxDQUFDLEtBQUs5RSxZQUFOLENBQVYsRUFDRSxPQUFPLEtBQUs2RSxlQUFMLENBQXFCQyxNQUFNLENBQUMsS0FBSzlFLFlBQU4sQ0FBM0IsRUFBZ0RwL0IsSUFBaEQsRUFBc0RDLE9BQXRELEVBQStEK2QsTUFBL0QsQ0FBUCxDQVRxQixDQVV2QjtBQUNBOztBQUNBLFdBQU8sS0FBS2ltQixlQUFMLENBQXFCQyxNQUFNLENBQUMsSUFBRCxDQUEzQixFQUFtQ2xrQyxJQUFuQyxFQUF5Q0MsT0FBekMsRUFBa0QrZCxNQUFsRCxDQUFQO0FBQ0Q7O0FBRURtbUIsRUFBQUEsY0FBYyxDQUFDcEcsSUFBRCxFQUErQztBQUMzRDtBQUNBO0FBQ0E7QUFDQSxVQUFNcUcsZUFBZSxHQUFHLElBQUk3RixrQkFBSixDQUF3QjdmLGFBQUQsSUFBa0M7QUFDL0VxZixNQUFBQSxJQUFJLENBQUNyZixhQUFMLEdBQXFCcWYsSUFBSSxDQUFDcmYsYUFBTCxJQUFzQixFQUEzQztBQUNBNVMsTUFBQUEsTUFBTSxDQUFDdTRCLE1BQVAsQ0FBY3RHLElBQUksQ0FBQ3JmLGFBQW5CLEVBQWtDQSxhQUFsQztBQUNELEtBSHVCLENBQXhCO0FBS0EsVUFBTTRsQixZQUEwQixHQUFHO0FBQ2pDcGtDLE1BQUFBLEVBQUUsRUFBRSxFQUQ2QjtBQUVqQ00sTUFBQUEsR0FBRyxFQUFFLE1BRjRCO0FBR2pDRixNQUFBQSxJQUFJLEVBQUUsTUFIMkI7QUFJakN3eEIsTUFBQUEsS0FBSyxFQUFFLElBQUlGLFlBQUosRUFKMEI7QUFLakN2d0IsTUFBQUEsSUFBSSxFQUFFLEtBQUs0OUIsSUFBTCxDQUFVNTlCLElBTGlCO0FBTWpDa2pDLE1BQUFBLFNBQVMsRUFBRSxJQU5zQjtBQU9qQ2xoQixNQUFBQSxPQUFPLEVBQUUsS0FBSzRiLElBQUwsQ0FBVXVGLGFBUGM7QUFRakN2bEIsTUFBQUEsU0FBUyxFQUFHN2IsQ0FBRCxJQUFnQkEsQ0FBaEIsYUFBZ0JBLENBQWhCLGNBQWdCQSxDQUFoQixHQUFxQixLQVJDO0FBU2pDcWhDLE1BQUFBLFVBQVUsRUFBRSxNQUFNO0FBQUM7QUFBVyxPQVRHO0FBVWpDQyxNQUFBQSxnQkFBZ0IsRUFBRXphLFVBVmU7QUFXakM1SSxNQUFBQSxPQUFPLEVBQUUsTUFBTSxLQVhrQjtBQVlqQ0QsTUFBQUEsVUFBVSxFQUFFLE1BQU0sS0FaZTtBQWFqQ3VqQixNQUFBQSxRQUFRLEVBQUUsTUFBTSxLQWJpQjtBQWNqQ0MsTUFBQUEsVUFBVSxFQUFFLE1BQU0sS0FkZTtBQWVqQ2prQyxNQUFBQSxRQUFRLEVBQUUsTUFBTSxLQWZpQjtBQWdCakNKLE1BQUFBLFFBQVEsRUFBRSxNQUFNLEtBaEJpQjtBQWlCakNza0MsTUFBQUEsVUFBVSxFQUFFLEtBQUs1RixJQUFMLENBQVU1OUIsSUFqQlc7QUFrQmpDNGxCLE1BQUFBLFdBQVcsRUFBRSxLQUFLZ1ksSUFBTCxDQUFVNTlCO0FBbEJVLEtBQW5DO0FBc0JBLFVBQU15akMsc0JBQThDLEdBQUcsQ0FDckQ7QUFDRTVrQyxNQUFBQSxFQUFFLEVBQUUsY0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQURxRCxFQU1yRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsZUFETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQU5xRCxFQVdyRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsV0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQVhxRCxFQWdCckQ7QUFDRUosTUFBQUEsRUFBRSxFQUFFLFlBRE47QUFFRU0sTUFBQUEsR0FBRyxFQUFFLEtBRlA7QUFHRUYsTUFBQUEsSUFBSSxFQUFFO0FBSFIsS0FoQnFELEVBcUJyRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsV0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQXJCcUQsQ0FBdkQ7QUEyQkEsVUFBTXlrQyxlQUErQixHQUFHRCxzQkFBc0IsQ0FBQzkwQixHQUF2QixDQUE0QjVNLENBQUQsSUFBTztBQUN4RSxhQUFPMEksTUFBTSxDQUFDdTRCLE1BQVAsQ0FBYyxFQUFkLEVBQWtCamhDLENBQWxCLEVBQXFCa2hDLFlBQXJCLENBQVA7QUFDRCxLQUZ1QyxDQUF4QztBQUdBLFVBQU1VLFNBQVMsR0FBR0QsZUFBZSxDQUFDLENBQUQsQ0FBakM7QUFDQSxRQUFJLENBQUNDLFNBQUwsRUFDRSxNQUFNLElBQUk5MEIsa0NBQUosRUFBTjtBQUVGLFVBQU0rMEIsWUFBWSxHQUFHO0FBQ25CO0FBQ0E7QUFDQSxTQUFHRCxTQUFTLENBQUM5a0MsRUFITTtBQUtuQnFHLE1BQUFBLFFBQVEsRUFBRSxVQUxTO0FBTW5CQyxNQUFBQSxNQUFNLEVBQUUsT0FOVztBQU9uQm5FLE1BQUFBLEVBQUUsRUFBRSxNQVBlO0FBUW5Cb0UsTUFBQUEsT0FBTyxFQUFFLFNBUlU7QUFTbkJDLE1BQUFBLFFBQVEsRUFBRSxTQVRTO0FBVW5CdkcsTUFBQUEsTUFBTSxFQUFFNmtDLFNBQVMsQ0FBQzlrQyxFQVZDO0FBV25CMkcsTUFBQUEsS0FBSyxFQUFFLEVBWFk7QUFZbkJ6RCxNQUFBQSxDQUFDLEVBQUUsS0FaZ0I7QUFhbkJDLE1BQUFBLENBQUMsRUFBRSxLQWJnQjtBQWNuQkMsTUFBQUEsQ0FBQyxFQUFFLEdBZGdCO0FBZW5CQyxNQUFBQSxPQUFPLEVBQUUsR0FmVTtBQWdCbkIyaEMsTUFBQUEsS0FBSyxFQUFFLEVBaEJZO0FBaUJuQi84QixNQUFBQSxNQUFNLEVBQUUsUUFqQlc7QUFrQm5CQyxNQUFBQSxRQUFRLEVBQUUsSUFsQlM7QUFtQm5CcEcsTUFBQUEsSUFBSSxFQUFFLElBbkJhO0FBb0JuQkMsTUFBQUEsSUFBSSxFQUFFLEVBcEJhO0FBcUJuQkwsTUFBQUEsSUFBSSxFQUFFO0FBckJhLEtBQXJCO0FBd0JBLFVBQU1vYyxNQUErQyxHQUFHLEVBQXhEO0FBRUEsVUFBTW1uQixVQUFVLEdBQUcsQ0FBQyxXQUFELEVBQWMsV0FBZCxFQUEyQixVQUEzQixFQUF1QyxLQUF2QyxFQUE4QyxPQUE5QyxDQUFuQjs7QUFHQTtBQUNBO0FBQ0EsVUFBTUMsV0FBVyxHQUFHLENBQUNySCxJQUFELEVBQXFCMXdCLEdBQXJCLEVBQXFDck4sSUFBckMsS0FBNEQ7QUFDOUUsVUFBSTtBQUNGLGNBQU1ra0MsTUFBTSxHQUFHLEtBQUtELGVBQUwsQ0FBcUJsRyxJQUFJLENBQUMxd0IsR0FBRCxDQUF6QixFQUFnQ3JOLElBQWhDLEVBQXNDaWxDLFlBQXRDLEVBQW9EYixlQUFwRCxDQUFmO0FBQ0EsWUFBSSxDQUFDRixNQUFMLEVBQ0UsT0FBTyxLQUFQLENBSEEsQ0FLRjs7QUFDQSxjQUFNbUIsU0FBUyxHQUFHbkIsTUFBTSxDQUFDNzFCLFFBQVAsRUFBbEI7QUFDQSxZQUFJZzNCLFNBQVMsQ0FBQzlqQyxRQUFWLENBQW1CLFdBQW5CLEtBQW1DOGpDLFNBQVMsQ0FBQzlqQyxRQUFWLENBQW1CLEtBQW5CLENBQXZDLEVBQ0UsT0FBTyxLQUFQO0FBRUZ5YyxRQUFBQSxNQUFNLENBQUMzUSxHQUFELENBQU4sR0FBY2c0QixTQUFkO0FBQ0EsZUFBTyxJQUFQO0FBQ0QsT0FaRCxDQVlFLE9BQU8xdEIsQ0FBUCxFQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7QUFDRixLQW5CRCxDQWhHMkQsQ0FxSDNEOzs7QUFDQSxRQUFJb21CLElBQUksQ0FBQ2xPLFFBQVQsRUFBbUI7QUFDakIsWUFBTTBMLENBQUMsR0FBR3dDLElBQUksQ0FBQ2xPLFFBQWY7O0FBQ0EsV0FBSyxNQUFNN3ZCLElBQVgsSUFBbUIra0MsZUFBbkIsRUFBb0M7QUFDbEMsWUFBSTtBQUNGO0FBQ0E7QUFDQSxjQUFJbFYsUUFBMEMsR0FBRzBMLENBQWpEOztBQUNBLGlCQUFPLE9BQU8xTCxRQUFQLEtBQW9CLFVBQTNCLEVBQXVDO0FBQ3JDO0FBQ0FBLFlBQUFBLFFBQVEsR0FBR0EsUUFBUSxDQUFDN3ZCLElBQUQsRUFBT2lsQyxZQUFQLEVBQXFCYixlQUFyQixDQUFuQjtBQUNEOztBQUNELGNBQUksQ0FBQ3ZVLFFBQUwsRUFDRTs7QUFFRixjQUFJLENBQUNrTyxJQUFJLENBQUNyZixhQUFWLEVBQXlCO0FBQ3ZCLGlCQUFLLE1BQU1yUixHQUFYLElBQWtCODNCLFVBQWxCLEVBQ0VDLFdBQVcsQ0FBQ3ZWLFFBQUQsRUFBV3hpQixHQUFYLEVBQWdCck4sSUFBaEIsQ0FBWDtBQUNIOztBQUNEO0FBQ0QsU0FoQkQsQ0FnQkUsT0FBTzJYLENBQVAsRUFBVTtBQUNWO0FBQ0Q7QUFDRjtBQUNGLEtBN0kwRCxDQStJM0Q7QUFDQTs7O0FBQ0EsUUFBSSxDQUFDb21CLElBQUksQ0FBQ3JmLGFBQVYsRUFBeUI7QUFDdkIsV0FBSyxNQUFNclIsR0FBWCxJQUFrQjgzQixVQUFsQixFQUE4QjtBQUM1QixZQUFJLEVBQUU5M0IsR0FBRyxJQUFJMHdCLElBQVQsQ0FBSixFQUNFOztBQUNGLGFBQUssTUFBTS85QixJQUFYLElBQW1CK2tDLGVBQW5CLEVBQW9DO0FBQ2xDLGNBQUlLLFdBQVcsQ0FBQ3JILElBQUQsRUFBTzF3QixHQUFQLEVBQVlyTixJQUFaLENBQWYsRUFDRTtBQUNIO0FBQ0Y7QUFDRjs7QUFFRCs5QixJQUFBQSxJQUFJLENBQUN3RCxZQUFMLEdBQW9CdmpCLE1BQXBCO0FBRUEsVUFBTTNjLElBQUksR0FBRyxLQUFLNDlCLElBQUwsQ0FBVTU5QixJQUF2QjtBQUVBLFVBQU1pa0MsbUJBQW1CLEdBQUcsQ0FDMUIsWUFEMEIsRUFFMUIsWUFGMEIsRUFHMUIsWUFIMEIsRUFJMUIsWUFKMEIsRUFLMUIsWUFMMEIsRUFNMUIsU0FOMEIsRUFPMUIsU0FQMEIsRUFRMUIsU0FSMEIsRUFTMUIsU0FUMEIsRUFVMUIsU0FWMEIsQ0FBNUI7O0FBWUEsVUFBTUMsUUFBUSxHQUFJQyxTQUFELElBQXFDO0FBQUE7O0FBQ3BELFlBQU1DLGFBQWEsR0FBR3BrQyxJQUFJLENBQUNxa0MsTUFBTCxDQUFZLENBQVosRUFBZTVxQixXQUFmLEtBQStCelosSUFBSSxDQUFDd1osS0FBTCxDQUFXLENBQVgsQ0FBckQ7QUFDQSxZQUFNOHFCLFNBQVMsR0FBR0wsbUJBQW1CLENBQUN2VixJQUFwQixDQUEwQjNzQixDQUFELElBQU9BLENBQUMsS0FBTSxHQUFFb2lDLFNBQVUsR0FBRUMsYUFBYyxFQUFuRSxDQUFsQjtBQUNBLFVBQUksQ0FBQ0UsU0FBTCxFQUNFO0FBQ0YsWUFBTUMsaUJBQWlCLHNCQUFHN0gsSUFBSSxDQUFDNEgsU0FBRCxDQUFQLDZEQUFzQjVILElBQUksQ0FBQ3lILFNBQUQsQ0FBakQ7QUFDQSxVQUFJLENBQUNJLGlCQUFMLEVBQ0U7QUFDRixZQUFNQyxTQUFTLEdBQUd2NkIsNENBQUEsQ0FBY3M2QixpQkFBZCxDQUFsQjtBQUNBLFVBQUksQ0FBQ0MsU0FBTCxFQUNFO0FBQ0YsYUFBT3Y2Qiw0Q0FBQSxDQUFjdTZCLFNBQWQsQ0FBUDtBQUNELEtBWkQ7O0FBY0EsUUFBSTlILElBQUksQ0FBQzBELGlCQUFULEVBQTRCO0FBQzFCMUQsTUFBQUEsSUFBSSxDQUFDK0gsYUFBTCxHQUFxQlAsUUFBUSxDQUFDLE9BQUQsQ0FBN0I7QUFDRCxLQUZELE1BRU87QUFDTHhILE1BQUFBLElBQUksQ0FBQ2dJLFlBQUwsR0FBb0JSLFFBQVEsQ0FBQyxPQUFELENBQTVCO0FBQ0F4SCxNQUFBQSxJQUFJLENBQUNpSSxlQUFMLEdBQXVCVCxRQUFRLENBQUMsVUFBRCxDQUEvQjtBQUNEOztBQUVELFdBQU94SCxJQUFQO0FBQ0Q7O0FBRUQwQixFQUFBQSxvQkFBb0IsQ0FDbEJ3RyxLQURrQixFQUVsQjFHLFdBRmtCLEVBRzZCO0FBQy9DO0FBQ0E7QUFDQSxVQUFNMkcsWUFBMkQsR0FBRyxFQUFwRTtBQUNBLFVBQU1DLGFBQTZDLEdBQUcsRUFBdEQ7O0FBQ0EsU0FBSyxNQUFNLENBQUNDLFFBQUQsRUFBV0Msa0JBQVgsQ0FBWCxJQUE2Q3Y2QixNQUFNLENBQUNLLE9BQVAsQ0FBZTg1QixLQUFmLENBQTdDLEVBQW9FO0FBQ2xFLFVBQUksT0FBT0ksa0JBQVAsS0FBOEIsUUFBbEMsRUFDRUYsYUFBYSxDQUFDQyxRQUFELENBQWIsR0FBMEJDLGtCQUExQixDQURGLEtBR0VILFlBQVksQ0FBQ0UsUUFBRCxDQUFaLEdBQXlCQyxrQkFBekI7QUFDSDs7QUFFRCxVQUFNcjJCLEdBQUcsR0FBRyxLQUFLaXZCLElBQUwsQ0FBVXFILFlBQVYsQ0FBOENKLFlBQTlDLEVBQTREM0csV0FBVyxDQUFDbEwsUUFBeEUsQ0FBWjtBQUNBLFFBQUlrUyxVQUFVLEdBQUcsQ0FBakIsQ0FiK0MsQ0FlL0M7QUFDQTs7QUFDQSxVQUFNQyxxQkFBMkQsR0FBRyxFQUFwRTs7QUFFQSxTQUFLLE1BQU1uc0IsSUFBWCxJQUFtQnZPLE1BQU0sQ0FBQzIzQixNQUFQLENBQWN6ekIsR0FBZCxDQUFuQixFQUF1QztBQUNyQztBQUNBO0FBQ0EsWUFBTXkyQixXQUFrRSxHQUFHO0FBQ3pFak4sUUFBQUEsT0FBTyxFQUFFLEVBRGdFO0FBRXpFaUgsUUFBQUEsUUFBUSxFQUFFO0FBRitELE9BQTNFO0FBSUEsWUFBTUQsVUFBVSxHQUFHbm1CLElBQUksQ0FBQ21tQixVQUF4QjtBQUNBLFVBQUlBLFVBQVUsQ0FBQ3hJLFFBQWYsRUFDRXlPLFdBQVcsQ0FBQ2pOLE9BQVosQ0FBb0I5c0IsSUFBcEIsQ0FBeUIsR0FBRzh6QixVQUFVLENBQUN4SSxRQUF2QztBQUNGLFVBQUl3SSxVQUFVLENBQUNrRyxnQkFBZixFQUNFRCxXQUFXLENBQUNoRyxRQUFaLENBQXFCL3pCLElBQXJCLENBQTBCLEdBQUc4ekIsVUFBVSxDQUFDa0csZ0JBQXhDO0FBRUYsVUFBSSxDQUFDbEcsVUFBVSxDQUFDbUcsZ0JBQVosSUFBZ0NuRyxVQUFVLENBQUM0RixRQUEvQyxFQUNFUSxlQUFlLENBQUNwRyxVQUFELEVBQWFBLFVBQVUsQ0FBQzRGLFFBQXhCLEVBQWtDRCxhQUFsQyxDQUFmO0FBRUY5ckIsTUFBQUEsSUFBSSxDQUFDMmQsUUFBTCxHQUFnQixFQUFoQjs7QUFDQSxXQUFLLE1BQU0sQ0FBQzNxQixHQUFELEVBQU13NUIsVUFBTixDQUFYLElBQWdDLzZCLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlczZCLFdBQWYsQ0FBaEMsRUFBNkQ7QUFDM0QsYUFBSyxNQUFNSyxRQUFYLElBQXVCRCxVQUF2QixFQUFtQztBQUNqQyxnQkFBTTlJLElBQXdCLEdBQUcrSSxRQUFqQztBQUNBUCxVQUFBQSxVQUFVOztBQUNWLGNBQUksQ0FBQ3hJLElBQUksQ0FBQzE3QixFQUFWLEVBQWM7QUFDWjtBQUNBO0FBQ0EwN0IsWUFBQUEsSUFBSSxDQUFDMTdCLEVBQUwsR0FBVyxnQkFBZWtrQyxVQUFXLEVBQXJDO0FBQ0F4SSxZQUFBQSxJQUFJLENBQUNDLFdBQUwsR0FBbUIsSUFBbkI7QUFDRCxXQVJnQyxDQVVqQzs7O0FBQ0EsZ0JBQU0rSSxRQUFRLEdBQUdQLHFCQUFxQixDQUFDekksSUFBSSxDQUFDMTdCLEVBQU4sQ0FBdEM7QUFDQSxjQUFJMGtDLFFBQUosRUFDRUEsUUFBUSxDQUFDeEosZ0JBQVQsR0FBNEJpRCxVQUFVLENBQUM0RixRQUF2QztBQUNGSSxVQUFBQSxxQkFBcUIsQ0FBQ3pJLElBQUksQ0FBQzE3QixFQUFOLENBQXJCLEdBQWlDMDdCLElBQWpDO0FBRUFBLFVBQUFBLElBQUksQ0FBQzBELGlCQUFMLEdBQXlCcDBCLEdBQUcsS0FBSyxVQUFqQyxDQWhCaUMsQ0FpQmpDO0FBQ0E7O0FBQ0FnTixVQUFBQSxJQUFJLENBQUMyZCxRQUFMLENBQWMrRixJQUFJLENBQUMxN0IsRUFBbkIsSUFBeUIsS0FBSzhoQyxjQUFMLENBQW9CcEcsSUFBcEIsQ0FBekI7QUFDRDtBQUNGO0FBQ0Y7O0FBQ0QsV0FBTy90QixHQUFQO0FBQ0Q7O0FBRURpeEIsRUFBQUEsbUJBQW1CLENBQUNsRCxJQUFELEVBQXFCaUosUUFBckIsRUFBNEM7QUFDN0Q7QUFDQSxVQUFNcEcsTUFBTSxHQUFHN0MsSUFBSSxDQUFDMTdCLEVBQXBCO0FBQ0EsUUFBSSxDQUFDdStCLE1BQUwsRUFDRSxNQUFNLElBQUkxd0Isa0NBQUosRUFBTjtBQUVGLFVBQU13eEIsU0FBUyxHQUFHekYsV0FBVyxDQUFDamUsTUFBOUI7QUFDQSxVQUFNMmpCLEdBQUcsR0FBR3hhLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWjtBQUNBcVosSUFBQUEsR0FBRyxDQUFDdGEsU0FBSixDQUFjQyxHQUFkLENBQWtCLGlCQUFsQjs7QUFFQSxVQUFNMmYsV0FBVyxHQUFJckYsS0FBRCxJQUFrRDtBQUNwRSxVQUFJQSxLQUFLLENBQUN0MUIsS0FBTixLQUFnQixRQUFoQixJQUE0QnMxQixLQUFLLENBQUN0MUIsS0FBTixLQUFnQixVQUFoRCxFQUNFMDZCLFFBQVEsQ0FBQzNmLFNBQVQsQ0FBbUJDLEdBQW5CLENBQXVCLFVBQXZCLEVBREYsS0FHRTBmLFFBQVEsQ0FBQzNmLFNBQVQsQ0FBbUJ3RCxNQUFuQixDQUEwQixVQUExQjtBQUNILEtBTEQ7O0FBT0EsVUFBTStXLEtBQUssR0FBR3phLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsUUFBdkIsQ0FBZDtBQUNBcVosSUFBQUEsR0FBRyxDQUFDaFosV0FBSixDQUFnQmlaLEtBQWhCO0FBRUEsVUFBTXNGLFdBQVcsR0FBRyxLQUFLakksSUFBTCxDQUFVRSxTQUFWLENBQ2xCLFVBRGtCLEVBRWxCLENBQUMsVUFBRCxFQUFheUIsTUFBYixFQUFxQmMsU0FBckIsQ0FGa0IsRUFHbEIsU0FIa0IsQ0FBcEI7O0FBTUEsU0FBSyxNQUFNLENBQUNyMEIsR0FBRCxFQUFNdWMsR0FBTixDQUFYLElBQXlCOWQsTUFBTSxDQUFDSyxPQUFQLENBQWVzd0IsbUJBQWYsQ0FBekIsRUFBOEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsVUFBSSxDQUFDLEtBQUt3QyxJQUFMLENBQVU2QixnQkFBWCxJQUErQmxYLEdBQUcsQ0FBQ2dULFNBQW5DLElBQWdEdnZCLEdBQUcsS0FBSzY1QixXQUE1RCxFQUNFO0FBQ0YsWUFBTTNyQixJQUFJLEdBQUc0TCxRQUFRLENBQUNtQixhQUFULENBQXVCLFFBQXZCLENBQWI7QUFDQS9NLE1BQUFBLElBQUksQ0FBQ21QLFNBQUwsR0FBaUIsS0FBS3VVLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0J0WCxHQUFHLENBQUN1UyxLQUF4QixDQUFqQjtBQUNBNWdCLE1BQUFBLElBQUksQ0FBQ2pQLEtBQUwsR0FBYWUsR0FBYjtBQUNBa08sTUFBQUEsSUFBSSxDQUFDNHJCLFFBQUwsR0FBZ0I5NUIsR0FBRyxLQUFLNjVCLFdBQXhCO0FBQ0F0RixNQUFBQSxLQUFLLENBQUNqWixXQUFOLENBQWtCcE4sSUFBbEI7QUFFQTByQixNQUFBQSxXQUFXLENBQUNyRixLQUFELENBQVg7O0FBRUFBLE1BQUFBLEtBQUssQ0FBQ00sUUFBTixHQUFpQixNQUFNO0FBQ3JCK0UsUUFBQUEsV0FBVyxDQUFDckYsS0FBRCxDQUFYO0FBQ0EsWUFBSXQxQixLQUFLLEdBQUdzMUIsS0FBSyxDQUFDdDFCLEtBQWxCO0FBQ0EsWUFBSUEsS0FBSyxDQUFDL0ssUUFBTixDQUFlLFNBQWYsQ0FBSixFQUNFK0ssS0FBSyxHQUFHLFNBQVI7QUFDRixhQUFLMnlCLElBQUwsQ0FBVWdELFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0MsQ0FBQyxVQUFELEVBQWFyQixNQUFiLEVBQXFCYyxTQUFyQixDQUFoQyxFQUFpRUUsS0FBSyxDQUFDdDFCLEtBQXZFO0FBQ0QsT0FORDtBQU9EOztBQUVELFdBQU9xMUIsR0FBUDtBQUNEOztBQTd1QndCOztBQWd2QjNCLE1BQU1pRixlQUFlLEdBQUcsQ0FDdEJqWSxHQURzQixFQUV0QnlYLFFBRnNCLEVBR3RCSCxLQUhzQixLQUluQjtBQUNIO0FBQ0EsTUFBSSxDQUFDdFgsR0FBRyxDQUFDeVksWUFBVCxFQUNFO0FBQ0YsUUFBTUMsU0FBUyxHQUFHL2lCLElBQUksQ0FBQ0MsR0FBTCxDQUFTNmhCLFFBQVEsQ0FBQ25kLFdBQVQsQ0FBcUIsR0FBckIsQ0FBVCxFQUFvQ21kLFFBQVEsQ0FBQ25kLFdBQVQsQ0FBcUIsSUFBckIsQ0FBcEMsQ0FBbEIsQ0FKRyxDQUtIO0FBQ0E7O0FBQ0EsUUFBTXFlLEdBQUcsR0FBR2xCLFFBQVEsQ0FBQ3BmLFNBQVQsQ0FBbUIsQ0FBbkIsRUFBc0JxZ0IsU0FBUyxHQUFHLENBQWxDLENBQVo7QUFFQSxRQUFNRCxZQUFZLEdBQUksR0FBRUUsR0FBSSxHQUFFM1ksR0FBRyxDQUFDeVksWUFBYSxFQUEvQztBQUNBLFNBQU96WSxHQUFHLENBQUN5WSxZQUFYOztBQUVBLE1BQUksRUFBRUEsWUFBWSxJQUFJbkIsS0FBbEIsQ0FBSixFQUE4QjtBQUM1Qjc2QixJQUFBQSxPQUFPLENBQUN3TyxHQUFSLENBQWEsV0FBVXdzQixRQUFTLDJDQUEwQ2dCLFlBQWEsSUFBdkY7QUFDQTtBQUNELEdBZkUsQ0FpQkg7OztBQUNBelksRUFBQUEsR0FBRyxDQUFDOFIsUUFBSixHQUFlLENBQUM5UixHQUFHLENBQUM4UixRQUFMLEVBQWV3RixLQUFLLENBQUNtQixZQUFELENBQXBCLENBQWY7QUFDRCxDQXZCRCxFQXlCQTs7O0FBQ0EsTUFBTUcsZUFBaUMsR0FBRyxDQUN4QzNsQyxJQUR3QyxFQUV4Q3FrQyxLQUZ3QyxFQUd4Q3VCLFdBSHdDLEVBSXhDbmhCLFFBSndDLEtBS3JDO0FBQ0g7QUFDQTtBQUNBLFFBQU1oRCxPQUFPLEdBQUdta0IsV0FBaEI7QUFFQSxNQUFJLENBQUNua0IsT0FBTyxDQUFDZ1IsUUFBYixFQUNFOztBQUVGLE9BQUssTUFBTW9ULGNBQVgsSUFBNkJwa0IsT0FBTyxDQUFDZ1IsUUFBckMsRUFBK0M7QUFDN0MsVUFBTTFGLEdBQTBCLEdBQUc4WSxjQUFuQyxDQUQ2QyxDQUc3QztBQUNBOztBQUNBLFFBQUk5WSxHQUFHLENBQUNnWSxnQkFBUixFQUNFLFNBTjJDLENBUTdDO0FBQ0E7O0FBQ0FoWSxJQUFBQSxHQUFHLENBQUN5WCxRQUFKLEdBQWdCLEdBQUUvZixRQUFTLEdBQUV6a0IsSUFBSyxFQUFsQztBQUNBK3NCLElBQUFBLEdBQUcsQ0FBQ2dZLGdCQUFKLEdBQXVCLElBQXZCO0FBRUFDLElBQUFBLGVBQWUsQ0FBQ2pZLEdBQUQsRUFBTS9zQixJQUFOLEVBQVlxa0MsS0FBWixDQUFmO0FBQ0Q7QUFDRixDQTVCRDs7QUE4QkEsTUFBTXlCLDJCQUEyQixHQUFHLENBQUNya0IsT0FBRCxFQUEyQm1FLFdBQTNCLEtBQTZEO0FBQUE7O0FBQy9GO0FBQ0EsUUFBTW1nQixVQUFVLEdBQUcsc0JBQW5CO0FBRUEsUUFBTXhQLG9CQUFvQiwwQkFBRzlVLE9BQU8sQ0FBQ3NrQixVQUFELENBQVYscUVBQUd0a0IsT0FBTyxDQUFDc2tCLFVBQUQsQ0FBVixHQUEyQixFQUFyRDtBQUNBLE1BQUksT0FBT25nQixXQUFQLEtBQXVCLFFBQXZCLElBQW1DMU4sS0FBSyxDQUFDQyxPQUFOLENBQWN5TixXQUFkLENBQXZDLEVBQ0U7QUFDRixRQUFNd1EsUUFBUSxHQUFHeFEsV0FBVyxDQUFDLFVBQUQsQ0FBNUI7QUFDQSxNQUFJLENBQUN3USxRQUFELElBQWEsT0FBT0EsUUFBUCxLQUFvQixRQUFqQyxJQUE2Q2xlLEtBQUssQ0FBQ0MsT0FBTixDQUFjaWUsUUFBZCxDQUFqRCxFQUNFO0FBRUYsUUFBTTRQLFVBQWdELEdBQUcsRUFBekQ7QUFDQSxRQUFNNzdCLElBQUksR0FBR0QsTUFBTSxDQUFDQyxJQUFQLENBQVltd0IsZUFBWixDQUFiOztBQUNBLE9BQUssTUFBTTd1QixHQUFYLElBQWtCdEIsSUFBbEIsRUFBd0I7QUFDdEIsVUFBTWdTLEdBQUcsR0FBRzZwQixVQUFVLENBQUN2NkIsR0FBRCxDQUFWLEdBQWtCLEVBQTlCO0FBQ0FpeEIsSUFBQUEseUJBQXlCLENBQUN2Z0IsR0FBRCxFQUFNMVEsR0FBTixDQUF6QjtBQUNEOztBQUVELE9BQUssTUFBTSxDQUFDaEwsRUFBRCxFQUFLeXNCLEtBQUwsQ0FBWCxJQUEwQmhqQixNQUFNLENBQUNLLE9BQVAsQ0FBZTZyQixRQUFmLENBQTFCLEVBQW9EO0FBQUE7O0FBQ2xELFFBQUksT0FBT2xKLEtBQVAsS0FBaUIsUUFBakIsSUFBNkJoVixLQUFLLENBQUNDLE9BQU4sQ0FBYytVLEtBQWQsQ0FBakMsRUFDRTtBQUVGLFVBQU1tTSxVQUE2QixHQUFHLEVBQXRDO0FBRUEsVUFBTWpkLE1BQU0sNEJBQUc4USxLQUFLLENBQUNtTixXQUFXLENBQUNqZSxNQUFiLENBQVIsMERBQUcsc0JBQTJCM1AsUUFBM0IsRUFBZjtBQUNBLFFBQUkyUCxNQUFKLEVBQ0VsUyxNQUFNLENBQUN1NEIsTUFBUCxDQUFjcEosVUFBZCxFQUEwQjJNLFVBQVUsQ0FBQzVwQixNQUFELENBQXBDO0FBRUYsVUFBTTVWLFFBQVEsR0FBR3MxQix3QkFBd0IsQ0FBQzVPLEtBQUssQ0FBQ21OLFdBQVcsQ0FBQzd6QixRQUFiLENBQU4sQ0FBekM7QUFDQSxRQUFJQSxRQUFKLEVBQ0U2eUIsVUFBVSxDQUFDZ0IsV0FBVyxDQUFDN3pCLFFBQWIsQ0FBVixHQUFtQ0EsUUFBbkM7QUFFRixVQUFNMHhCLGFBQWEsR0FBRzRELHdCQUF3QixDQUFDNU8sS0FBSyxDQUFDbU4sV0FBVyxDQUFDbkMsYUFBYixDQUFOLENBQTlDO0FBQ0EsUUFBSUEsYUFBSixFQUNFbUIsVUFBVSxDQUFDZ0IsV0FBVyxDQUFDbkMsYUFBYixDQUFWLEdBQXdDQSxhQUF4QztBQUVGLFVBQU1wYixhQUFhLEdBQUdvUSxLQUFLLENBQUNtTixXQUFXLENBQUN2ZCxhQUFiLENBQTNCLENBbEJrRCxDQW1CbEQ7QUFDQTs7QUFDQSxRQUNFLENBQUVvUSxLQUFELElBQWtFO0FBQ2pFLFVBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QmhWLEtBQUssQ0FBQ0MsT0FBTixDQUFjK1UsS0FBZCxDQUFqQyxFQUNFLE9BQU8sS0FBUDs7QUFDRixXQUFLLE1BQU14aUIsS0FBWCxJQUFvQlIsTUFBTSxDQUFDMjNCLE1BQVAsQ0FBYzNVLEtBQWQsQ0FBcEIsRUFBMEM7QUFDeEMsWUFBSSxPQUFPeGlCLEtBQVAsS0FBaUIsUUFBckIsRUFDRSxPQUFPLEtBQVA7QUFDSDs7QUFDRCxhQUFPLElBQVA7QUFDRCxLQVJELEVBUUdvUyxhQVJILENBREYsRUFXRXVjLFVBQVUsQ0FBQ2dCLFdBQVcsQ0FBQ3ZkLGFBQWIsQ0FBVixHQUF3Q0EsYUFBeEM7QUFFRixRQUFJVixNQUFNLElBQUk1VixRQUFWLElBQXNCc1csYUFBMUIsRUFDRXlaLG9CQUFvQixDQUFDOTFCLEVBQUQsQ0FBcEIsR0FBMkI0NEIsVUFBM0I7QUFDSDtBQUNGLENBdkREOztBQXlEQSxNQUFNNE0sNEJBQTRCLEdBQUcsQ0FBQ3hrQixPQUFELEVBQTJCbUUsV0FBM0IsS0FBNkQ7QUFBQTs7QUFDaEcsUUFBTW1nQixVQUFVLEdBQUcsdUJBQW5CLENBRGdHLENBRWhHO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQU1HLHFCQUFxQiwyQkFBR3prQixPQUFPLENBQUNza0IsVUFBRCxDQUFWLHVFQUFHdGtCLE9BQU8sQ0FBQ3NrQixVQUFELENBQVYsR0FBMkIsRUFBdEQ7QUFDQSxNQUFJLE9BQU9uZ0IsV0FBUCxLQUF1QixRQUF2QixJQUFtQzFOLEtBQUssQ0FBQ0MsT0FBTixDQUFjeU4sV0FBZCxDQUF2QyxFQUNFO0FBQ0YsUUFBTWlaLFFBQVEsR0FBR2paLFdBQVcsQ0FBQyxVQUFELENBQTVCO0FBQ0EsTUFBSSxDQUFDaVosUUFBRCxJQUFhLE9BQU9BLFFBQVAsS0FBb0IsUUFBakMsSUFBNkMzbUIsS0FBSyxDQUFDQyxPQUFOLENBQWMwbUIsUUFBZCxDQUFqRCxFQUNFOztBQUVGLE9BQUssTUFBTSxDQUFDc0gsT0FBRCxFQUFVQyxTQUFWLENBQVgsSUFBbUNsOEIsTUFBTSxDQUFDSyxPQUFQLENBQWVzMEIsUUFBZixDQUFuQyxFQUE2RDtBQUFBOztBQUMzRCxVQUFNdkksTUFBTSxHQUFHaHJCLFFBQVEsQ0FBQzY2QixPQUFELENBQXZCO0FBQ0EsUUFBSSxDQUFDN1AsTUFBTCxFQUNFO0FBQ0YsVUFBTU8sY0FBYyw0QkFBR3FQLHFCQUFxQixDQUFDNVAsTUFBRCxDQUF4Qix5RUFBRzRQLHFCQUFxQixDQUFDNVAsTUFBRCxDQUF4QixHQUFxQyxFQUF6RDtBQUVBLFFBQUksQ0FBQzhQLFNBQUQsSUFBYyxPQUFPQSxTQUFQLEtBQXFCLFFBQW5DLElBQStDbHVCLEtBQUssQ0FBQ0MsT0FBTixDQUFjaXVCLFNBQWQsQ0FBbkQsRUFDRTtBQUVGLFVBQU1DLFdBQVcsR0FBR0QsU0FBUyxDQUFDLFFBQUQsQ0FBN0I7QUFDQSxVQUFNRSxZQUFZLEdBQUdGLFNBQVMsQ0FBQyxlQUFELENBQTlCOztBQUVBLFFBQUlDLFdBQVcsSUFBSSxPQUFPQSxXQUFQLEtBQXVCLFFBQXRDLElBQWtELENBQUNudUIsS0FBSyxDQUFDQyxPQUFOLENBQWNrdUIsV0FBZCxDQUF2RCxFQUFtRjtBQUNqRixXQUFLLE1BQU0sQ0FBQzU2QixHQUFELEVBQU1mLEtBQU4sQ0FBWCxJQUEyQlIsTUFBTSxDQUFDSyxPQUFQLENBQWU4N0IsV0FBZixDQUEzQixFQUF3RDtBQUFBOztBQUN0RCxZQUFJLE9BQU8zN0IsS0FBUCxLQUFpQixTQUFqQixJQUE4QixDQUFDQSxLQUFuQyxFQUNFLDBCQUFDbXNCLGNBQWMsQ0FBQ0MsTUFBaEIseUVBQUNELGNBQWMsQ0FBQ0MsTUFBaEIsR0FBMkIsRUFBM0IsRUFBK0Joc0IsSUFBL0IsQ0FBb0NXLEdBQXBDO0FBQ0g7QUFDRjs7QUFFRCxRQUFJNjZCLFlBQVksSUFBSSxPQUFPQSxZQUFQLEtBQXdCLFFBQXhDLElBQW9ELENBQUNwdUIsS0FBSyxDQUFDQyxPQUFOLENBQWNtdUIsWUFBZCxDQUF6RCxFQUFzRjtBQUNwRixXQUFLLE1BQU0sQ0FBQzc2QixHQUFELEVBQU1mLEtBQU4sQ0FBWCxJQUEyQlIsTUFBTSxDQUFDSyxPQUFQLENBQWUrN0IsWUFBZixDQUEzQixFQUF5RDtBQUFBOztBQUN2RCxZQUFJLE9BQU81N0IsS0FBUCxLQUFpQixRQUFyQixFQUNFLDBCQUFDbXNCLGNBQWMsQ0FBQ29ELE1BQWhCLHlFQUFDcEQsY0FBYyxDQUFDb0QsTUFBaEIsR0FBMkIsRUFBM0IsRUFBK0J4dUIsR0FBL0IsSUFBc0NmLEtBQXRDO0FBQ0g7QUFDRjtBQUNGO0FBQ0YsQ0F4Q0Q7O0FBMENBLE1BQU1xZCxlQUFnQyxHQUFHO0FBQ3ZDd2UsRUFBQUEsWUFBWSxFQUFFLENBQUNsSixJQUFELEVBQU9mLFNBQVAsS0FBcUI7QUFDakMsVUFBTWtLLE9BQU8sR0FBRyxJQUFJckosb0JBQUosQ0FBeUJFLElBQXpCLENBQWhCO0FBQ0EsVUFBTU0sV0FBVyxHQUFHLEVBQUUsR0FBR3ZELGdCQUFlQTtBQUFwQixLQUFwQjtBQUNBdFosSUFBQUEsc0RBQUEsQ0FBeUIsVUFBekIsRUFBcUM2YyxXQUFyQyxFQUFrRCxNQUFNO0FBQ3RENkksTUFBQUEsT0FBTyxDQUFDL0ksT0FBUixDQUFnQm5CLFNBQWhCLEVBQTJCbkMsZ0NBQTNCLEVBQTZDd0QsV0FBN0M7QUFDRCxLQUZEO0FBR0QsR0FQc0M7QUFRdkNyVixFQUFBQSxtQkFBbUIsRUFBRSxDQUFDc2QsV0FBRCxFQUFjaGdCLFdBQWQsS0FBOEI7QUFDakQ7QUFDQTtBQUNBLFVBQU1uRSxPQUFPLEdBQUdta0IsV0FBaEI7QUFFQUUsSUFBQUEsMkJBQTJCLENBQUNya0IsT0FBRCxFQUFVbUUsV0FBVixDQUEzQjtBQUNBcWdCLElBQUFBLDRCQUE0QixDQUFDeGtCLE9BQUQsRUFBVW1FLFdBQVYsQ0FBNUI7QUFDRCxHQWZzQztBQWdCdkNuRSxFQUFBQSxPQUFPLEVBQUUsQ0FDUDtBQUNFaGhCLElBQUFBLEVBQUUsRUFBRSxVQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDJDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxxQ0FIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUscUJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGlCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE1BVlI7QUFXRTBtQyxJQUFBQSxJQUFJLEVBQUU7QUFDSjtBQUNBdm5DLE1BQUFBLEVBQUUsRUFBRSs5QixRQUFRLENBQUMseUVBQUQsQ0FGUjtBQUdKOTlCLE1BQUFBLEVBQUUsRUFBRTg5QixRQUFRLENBQUMseUVBQUQsQ0FIUjtBQUlKNzlCLE1BQUFBLEVBQUUsRUFBRTY5QixRQUFRLENBQUMseUVBQUQsQ0FKUjtBQUtKNTlCLE1BQUFBLEVBQUUsRUFBRTQ5QixRQUFRLENBQUMseUVBQUQsQ0FMUjtBQU1KMzlCLE1BQUFBLEVBQUUsRUFBRTI5QixRQUFRLENBQUMseUVBQUQsQ0FOUjtBQU9KMTlCLE1BQUFBLEVBQUUsRUFBRTA5QixRQUFRLENBQUMseUVBQUQ7QUFQUixLQVhSO0FBb0JFaFYsSUFBQUEsT0FBTyxFQUFFZ1YsUUFBUSxDQUFDLHlFQUFEO0FBcEJuQixHQURPLEVBdUJQO0FBQ0V4OEIsSUFBQUEsRUFBRSxFQUFFLE9BRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsc0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxlQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxRQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFVBVlI7QUFXRWk3QixJQUFBQSxTQUFTLEVBQUUsSUFYYjtBQVlFL1MsSUFBQUEsT0FBTyxFQUFFO0FBWlgsR0F2Qk8sRUFxQ1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsb0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxzQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsd0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLG1CQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxjQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRiwrQkFBdUIsY0FEckI7QUFFRiw2QkFBcUIsWUFGbkI7QUFHRix1QkFBZSxTQUhiO0FBSUYsd0JBQWdCLFVBSmQ7QUFLRixzQkFBYztBQUxaLE9BREc7QUFRUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YsNkJBQXFCLGNBRG5CO0FBRUYsNkJBQXFCLFlBRm5CO0FBR0Ysc0JBQWMsU0FIWjtBQUlGLHVCQUFlLFVBSmI7QUFLRix5QkFBaUI7QUFMZixPQVJHO0FBZVBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDZCQUFxQixjQURuQjtBQUVGLDZCQUFxQixZQUZuQjtBQUdGLDRCQUFvQixTQUhsQjtBQUlGLDhCQUFzQixVQUpwQjtBQUtGLHVCQUFlO0FBTGIsT0FmRztBQXNCUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysd0JBQWdCLGNBRGQ7QUFFRix5QkFBaUIsWUFGZjtBQUdGLG9CQUFZLFNBSFY7QUFJRixxQkFBYSxVQUpYO0FBS0YsZ0JBQVE7QUFMTixPQXRCRztBQTZCUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YseUJBQWlCLGNBRGY7QUFFRix5QkFBaUIsWUFGZjtBQUdGLHFCQUFhLFNBSFg7QUFJRixzQkFBYyxVQUpaO0FBS0YsZ0JBQVE7QUFMTixPQTdCRztBQW9DUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysd0JBQWdCLGNBRGQ7QUFFRix5QkFBaUIsWUFGZjtBQUdGLG1CQUFXLFNBSFQ7QUFJRixtQkFBVyxVQUpUO0FBS0Ysa0JBQVU7QUFMUjtBQXBDRyxLQVhYO0FBdURFMG9CLElBQUFBLE9BQU8sRUFBRSxjQXZEWDtBQXdERUUsSUFBQUEsVUFBVSxFQUFFdVU7QUF4RGQsR0FyQ08sRUErRlA7QUFDRWo4QixJQUFBQSxFQUFFLEVBQUUsZ0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxpQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsZUFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsb0JBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLFNBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLFdBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsUUFWUjtBQVdFMGhCLElBQUFBLE9BQU8sRUFBRTtBQUNQdmlCLE1BQUFBLEVBQUUsRUFBRTtBQUNGLGdDQUF3QixTQUR0QjtBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix1QkFBZSxJQUpiO0FBS0YsdUJBQWUsSUFMYjtBQU1GLHlCQUFpQixJQU5mO0FBT0YsdUJBQWU7QUFQYixPQURHO0FBVVBFLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDJDQUFtQyxTQURqQztBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix5QkFBaUIsSUFKZjtBQUtGLHlCQUFpQixJQUxmO0FBTUYseUJBQWlCLElBTmY7QUFPRix1QkFBZTtBQVBiLE9BVkc7QUFtQlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLG1CQUFXLFNBRFQ7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLHFCQUFhLElBSlg7QUFLRixzQkFBYyxJQUxaO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFYsT0FuQkc7QUE0QlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLGtCQUFVLFNBRFI7QUFFRixtQkFBVyxJQUZUO0FBR0YsbUJBQVcsSUFIVDtBQUlGLG1CQUFXLElBSlQ7QUFLRixtQkFBVyxJQUxUO0FBTUYsbUJBQVcsSUFOVDtBQU9GLG1CQUFXO0FBUFQsT0E1Qkc7QUFxQ1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLHNCQUFjLFNBRFo7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLG9CQUFZLElBSlY7QUFLRixxQkFBYSxJQUxYO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFY7QUFyQ0csS0FYWDtBQTBERTBvQixJQUFBQSxPQUFPLEVBQUUsU0ExRFg7QUEyREV5ZSxJQUFBQSxLQUFLLEVBQUUsSUEzRFQ7QUE0REV2ZSxJQUFBQSxVQUFVLEVBQUUsQ0FBQzFHLE9BQUQsRUFBVS9XLEtBQVYsS0FBb0I7QUFDOUIsVUFBSUEsS0FBSyxLQUFLLFNBQWQsRUFDRTtBQUNGK1csTUFBQUEsT0FBTyxDQUFDLGdCQUFELENBQVAsR0FBNEIvVyxLQUE1QjtBQUNEO0FBaEVILEdBL0ZPLEVBaUtQO0FBQ0VqSyxJQUFBQSxFQUFFLEVBQUUsa0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsa0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxVQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRixxQ0FBNkIsU0FEM0I7QUFFRix3QkFBZ0IsSUFGZDtBQUdGLHdCQUFnQixJQUhkO0FBSUYsdUJBQWUsSUFKYjtBQUtGLHVCQUFlLElBTGI7QUFNRix5QkFBaUIsSUFOZjtBQU9GLHVCQUFlO0FBUGIsT0FERztBQVVQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRix3Q0FBZ0MsU0FEOUI7QUFFRix5QkFBaUIsSUFGZjtBQUdGLDJCQUFtQixJQUhqQjtBQUlGLHdCQUFnQixJQUpkO0FBS0YsNEJBQW9CLElBTGxCO0FBTUYsMEJBQWtCLElBTmhCO0FBT0YsMkJBQW1CO0FBUGpCLE9BVkc7QUFtQlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDhDQUFzQyxTQURwQztBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix5QkFBaUIsSUFKZjtBQUtGLHlCQUFpQixJQUxmO0FBTUYseUJBQWlCLElBTmY7QUFPRix1QkFBZTtBQVBiLE9BbkJHO0FBNEJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRiw2QkFBcUIsU0FEbkI7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLHFCQUFhLElBSlg7QUFLRixzQkFBYyxJQUxaO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFYsT0E1Qkc7QUFxQ1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDhCQUFzQixTQURwQjtBQUVGLG1CQUFXLElBRlQ7QUFHRixtQkFBVyxJQUhUO0FBSUYsbUJBQVcsSUFKVDtBQUtGLG1CQUFXLElBTFQ7QUFNRixtQkFBVyxJQU5UO0FBT0YsbUJBQVc7QUFQVCxPQXJDRztBQThDUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YsOEJBQXNCLFNBRHBCO0FBRUYsbUJBQVcsSUFGVDtBQUdGLG9CQUFZLElBSFY7QUFJRixvQkFBWSxJQUpWO0FBS0YscUJBQWEsSUFMWDtBQU1GLG9CQUFZLElBTlY7QUFPRixvQkFBWTtBQVBWO0FBOUNHLEtBWFg7QUFtRUUwb0IsSUFBQUEsT0FBTyxFQUFFLFNBbkVYO0FBb0VFeWUsSUFBQUEsS0FBSyxFQUFFLElBcEVUO0FBcUVFdmUsSUFBQUEsVUFBVSxFQUFFLENBQUMxRyxPQUFELEVBQVUvVyxLQUFWLEtBQW9CO0FBQzlCLFVBQUlBLEtBQUssS0FBSyxTQUFkLEVBQ0U7QUFDRitXLE1BQUFBLE9BQU8sQ0FBQyxrQkFBRCxDQUFQLEdBQThCL1csS0FBOUI7QUFDRDtBQXpFSCxHQWpLTyxFQTRPUDtBQUNFakssSUFBQUEsRUFBRSxFQUFFLE1BRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxlQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxlQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxlQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxjQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxZQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRixtQkFBVyxTQURUO0FBRUYsaUJBQVM7QUFGUCxPQURHO0FBS1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLG1CQUFXLFNBRFQ7QUFFRixpQkFBUztBQUZQLE9BTEc7QUFTUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysa0JBQVUsU0FEUjtBQUVGLGlCQUFTO0FBRlAsT0FURztBQWFQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixnQkFBUSxTQUROO0FBRUYsaUJBQVM7QUFGUCxPQWJHO0FBaUJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixjQUFNLFNBREo7QUFFRixpQkFBUztBQUZQLE9BakJHO0FBcUJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixjQUFNLFNBREo7QUFFRixpQkFBUztBQUZQO0FBckJHLEtBWFg7QUFxQ0Uwb0IsSUFBQUEsT0FBTyxFQUFFO0FBckNYLEdBNU9PLEVBbVJQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGlCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsa0JBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLG9CQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxrQkFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsY0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsT0FMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxVQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0FuUk8sRUFnU1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsZUFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLGdCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxrQkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsa0JBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLFlBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLFVBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsVUFWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBaFNPLEVBNlNQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLHdCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsaUNBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxzREFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsZ0JBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGFBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBN1NPLEVBMFRQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGdDQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsa0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDZDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSw2Q0FIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsMEJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTFUTyxFQXVVUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSx1QkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLGtEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxtRUFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsaUVBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLDBCQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxxQkFMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxTQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0F2VU8sRUFvVlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsc0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSwwQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsMEJBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLCtCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxTQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFNBVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXBWTyxFQWlXUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSw0QkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHVDQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx1Q0FGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsa0RBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLG1CQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxnQkFMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxPQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0FqV08sRUE4V1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsNEJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSx1Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsdUNBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLGtEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxtQkFKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsZ0JBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBOVdPLEVBMlhQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLDJCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsc0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSx1REFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsbUJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTNYTyxFQXdZUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxrQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLDBCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx3QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMkJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXhZTyxFQXFaUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxrQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLDBCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx3QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMkJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXJaTyxFQWthUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxpQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHlCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx1QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUseUJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQWxhTyxFQSthUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxpQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHlCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSw2QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMEJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGVBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBL2FPLEVBNGJQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGlCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUseUJBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSw2QkFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsa0JBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTViTyxFQXljUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxlQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDBDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRTtBQUhBLEtBRlI7QUFPRVcsSUFBQUEsSUFBSSxFQUFFLFVBUFI7QUFRRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFSWCxHQXpjTyxFQW1kUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxvQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHFEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx3REFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0FuZE8sRUE2ZFA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsZ0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxrREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsc0RBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFO0FBSEEsS0FGUjtBQU9FVyxJQUFBQSxJQUFJLEVBQUUsT0FQUjtBQVFFa29CLElBQUFBLE9BQU8sRUFBRTtBQVJYLEdBN2RPLEVBdWVQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGtCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0RBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHFEQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRTtBQUhBLEtBRlI7QUFPRVcsSUFBQUEsSUFBSSxFQUFFLE9BUFI7QUFRRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFSWCxHQXZlTyxFQWlmUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxxQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHNEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx5REFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0FqZk8sRUEyZlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsaUJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsdURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFO0FBSEEsS0FGUjtBQU9FVyxJQUFBQSxJQUFJLEVBQUUsT0FQUjtBQVFFa29CLElBQUFBLE9BQU8sRUFBRTtBQVJYLEdBM2ZPLEVBcWdCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxtQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHFEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxzREFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0FyZ0JPLEVBK2dCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxxQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHNEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx5REFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0EvZ0JPLEVBeWhCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxpQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLG1EQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx1REFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0F6aEJPLEVBbWlCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxtQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHFEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxzREFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUU7QUFIQSxLQUZSO0FBT0VXLElBQUFBLElBQUksRUFBRSxPQVBSO0FBUUVrb0IsSUFBQUEsT0FBTyxFQUFFO0FBUlgsR0FuaUJPLEVBNmlCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxzQkFETjtBQUVFO0FBQ0E7QUFDQVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSw4Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUscURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHFEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxtQ0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsdUJBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FKUjtBQVlFUSxJQUFBQSxJQUFJLEVBQUUsVUFaUjtBQWFFa29CLElBQUFBLE9BQU8sRUFBRTtBQWJYLEdBN2lCTyxFQTRqQlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsZ0NBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSw0Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsbURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHNEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSw2Q0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsdUJBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsVUFWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBNWpCTztBQWhCOEIsQ0FBekM7QUE0bEJBbkgsMERBQUEsQ0FBMkIsVUFBM0IsRUFBdUNpSCxlQUF2QyxFQUF3RDRkLGVBQXhEOzs7O0FDNzZEQTtBQUNBO0FBUUEsTUFBTXZuQyxJQUFhLEdBQUc7QUFDcEIsUUFBTSxDQUNKLE1BREksRUFFSixNQUZJLEVBR0osUUFISSxFQUlKLE1BSkksRUFLSixPQUxJLEVBTUosT0FOSSxFQU9KLE9BUEksRUFRSixRQVJJLEVBU0osUUFUSSxFQVVKLFNBVkksRUFXSixRQVhJLEVBWUosS0FaSSxFQWFKLE9BYkksRUFjSixPQWRJLEVBZUosUUFmSSxFQWdCSixJQWhCSSxDQURjO0FBbUJwQixRQUFNLENBQ0osbUJBREksRUFFSixpQkFGSSxFQUdKLFdBSEksRUFJSixXQUpJLEVBS0osWUFMSSxFQU1KLEtBTkksRUFPSixRQVBJLEVBUUosOEJBUkksRUFTSixnQ0FUSSxFQVVKLGNBVkksRUFXSixhQVhJLEVBWUosUUFaSSxFQWFKLHFCQWJJLEVBY0osaUJBZEksRUFlSixnQkFmSSxFQWdCSixpQkFoQkksQ0FuQmM7QUFxQ3BCLFFBQU0sQ0FDSixtQkFESSxFQUVKLGlCQUZJLEVBR0osV0FISSxFQUlKLFdBSkksRUFLSixZQUxJLEVBTUosS0FOSSxFQU9KLFFBUEksRUFRSixpQkFSSSxFQVNKLG1CQVRJLEVBVUosY0FWSSxFQVdKLGNBWEksRUFZSixRQVpJLEVBYUoscUJBYkksRUFjSixRQWRJLEVBZUosaUJBZkksRUFnQkosU0FoQkksQ0FyQ2M7QUF1RHBCLFFBQU0sQ0FDSixvQkFESSxFQUVKLGtCQUZJLEVBR0osV0FISSxFQUlKLFdBSkksRUFLSixZQUxJLEVBTUosS0FOSSxFQU9KLFFBUEksRUFRSixvQkFSSSxFQVNKLG1CQVRJLEVBVUosY0FWSSxFQVdKLGFBWEksRUFZSixVQVpJLEVBYUosc0JBYkksRUFjSixRQWRJLEVBZUosZ0JBZkksRUFnQkosT0FoQkksQ0F2RGM7QUF5RXBCLFFBQU0sQ0FDSixjQURJLEVBRUosYUFGSSxFQUdKLFVBSEksRUFJSixTQUpJLEVBS0osU0FMSSxFQU1KLFdBTkksRUFPSixXQVBJLEVBUUosYUFSSSxFQVNKLGVBVEksRUFVSixVQVZJLEVBV0osV0FYSSxFQVlKLE9BWkksRUFhSixnQkFiSSxFQWNKLE9BZEksRUFlSixhQWZJLEVBZ0JKLElBaEJJLENBekVjO0FBMkZwQixRQUFNLENBQ0osVUFESSxFQUVKLFNBRkksRUFHSixTQUhJLEVBSUosUUFKSSxFQUtKLFFBTEksRUFNSixRQU5JLEVBT0osUUFQSSxFQVFKLFFBUkksRUFTSixTQVRJLEVBVUosUUFWSSxFQVdKLE9BWEksRUFZSixLQVpJLEVBYUosU0FiSSxFQWNKLFFBZEksRUFlSixRQWZJLEVBZ0JKLElBaEJJO0FBM0ZjLENBQXRCO0FBK0dBLGdEQUFlQSxJQUFmOzs7O0FDeEhBO0FBS2UsTUFBTXVvQyxTQUFOLENBQWdCO0FBVzdCcDRCLEVBQUFBLFdBQVcsQ0FBQzlOLEVBQUQsRUFBYVQsSUFBYixFQUEyQjtBQUFBLDJDQVQvQixFQVMrQjs7QUFBQSw2Q0FSN0IsRUFRNkI7O0FBQUEsNkNBUFksRUFPWjs7QUFBQSx3REFOUixFQU1ROztBQUFBLHNEQUxwQixDQUFDLENBS21COztBQUNwQyxTQUFLUyxFQUFMLEdBQVVBLEVBQVY7QUFDQSxTQUFLbW1DLE9BQUwsQ0FBYTVtQyxJQUFiO0FBQ0Q7O0FBRUQ0bUMsRUFBQUEsT0FBTyxDQUFDNW1DLElBQUQsRUFBcUI7QUFBQTs7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFJQSxJQUFJLEtBQUssRUFBYixFQUNFO0FBRUYsVUFBTXcrQixLQUFLLEdBQUd4K0IsSUFBSSxDQUFDb2lCLEtBQUwsQ0FBVyxHQUFYLENBQWQ7QUFDQSxTQUFLcGlCLElBQUwsY0FBWXcrQixLQUFLLENBQUMsQ0FBRCxDQUFqQiw2Q0FBd0IsRUFBeEI7QUFDQSxRQUFJQSxLQUFLLENBQUNoekIsTUFBTixHQUFlLENBQW5CLEVBQ0UsS0FBS3E3QixNQUFMLG1DQUFjckksS0FBSyxDQUFDLENBQUQsQ0FBbkIsNkNBQWMsU0FBVTdqQixPQUFWLENBQWtCLEtBQWxCLEVBQXlCLEVBQXpCLENBQWQsK0RBQThDLEVBQTlDO0FBQ0g7O0FBRURtc0IsRUFBQUEsUUFBUSxDQUFDM21DLFNBQUQsRUFBNkI7QUFDbkMsV0FBTyxLQUFLNG1DLE1BQUwsQ0FBWTVtQyxTQUFaLE1BQTJCdVcsU0FBbEM7QUFDRDs7QUFFRHN3QixFQUFBQSxTQUFTLENBQUM3bUMsU0FBRCxFQUFvQjhtQyxLQUFwQixFQUFpRDtBQUN4RCxTQUFLRixNQUFMLENBQVk1bUMsU0FBWixJQUF5QjhtQyxLQUF6QjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIvbUMsU0FBdkI7QUFDQSxRQUFJLENBQUMsS0FBS2duQyxpQkFBTCxDQUF1QnhuQyxRQUF2QixDQUFnQ1EsU0FBaEMsQ0FBTCxFQUNFLEtBQUtnbkMsaUJBQUwsQ0FBdUJyOEIsSUFBdkIsQ0FBNEIzSyxTQUE1QjtBQUNIOztBQUVEaW5DLEVBQUFBLG9CQUFvQixDQUFDam5DLFNBQUQsRUFBb0M7QUFBQTs7QUFDdEQ7QUFDQSxVQUFNbUssS0FBSyxHQUFHLEtBQUs2OEIsaUJBQUwsQ0FBdUIxd0IsT0FBdkIsQ0FBK0J0VyxTQUEvQixDQUFkO0FBQ0EsVUFBTWtuQyx5QkFBeUIsR0FBRyxLQUFLRixpQkFBTCxDQUF1QjM3QixNQUF2QixHQUFnQyxDQUFsRSxDQUhzRCxDQUl0RDs7QUFDQSxRQUFJbEIsS0FBSyxJQUFJLENBQVQsSUFBY0EsS0FBSyxHQUFHKzhCLHlCQUExQixFQUNFLE9BQU8sS0FBS0MsZUFBTCxDQUFxQmg5QixLQUFLLEdBQUcsQ0FBN0IsQ0FBUCxDQURGLENBRUE7QUFDQTtBQUhBLFNBSUssSUFDSEEsS0FBSyxLQUFLKzhCLHlCQUFWLElBQ0FsbkMsU0FBUyw2QkFBSSxLQUFLZ25DLGlCQUFMLENBQXVCRSx5QkFBdkIsQ0FBSix5RUFBeUQsQ0FBekQsQ0FGTixFQUlILE9BQU8sS0FBS0MsZUFBTCxDQUFxQkQseUJBQXJCLENBQVA7O0FBRUYsU0FBSyxJQUFJRSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEtBQUtKLGlCQUFMLENBQXVCMzdCLE1BQTNDLEVBQW1ELEVBQUUrN0IsQ0FBckQsRUFBd0Q7QUFDdEQsWUFBTUMsVUFBVSxHQUFHLEtBQUtMLGlCQUFMLENBQXVCSSxDQUF2QixDQUFuQjtBQUNBLFVBQUlDLFVBQVUsSUFBSUEsVUFBVSxHQUFHcm5DLFNBQS9CLEVBQ0UsT0FBTyxLQUFLbW5DLGVBQUwsQ0FBcUJDLENBQXJCLENBQVA7QUFDSDs7QUFFRCxXQUFPLEtBQUtELGVBQUwsQ0FBcUIsS0FBS0gsaUJBQUwsQ0FBdUIzN0IsTUFBdkIsR0FBZ0MsQ0FBckQsQ0FBUDtBQUNEOztBQUVEaThCLEVBQUFBLGdCQUFnQixDQUFDdG5DLFNBQUQsRUFBb0I0dEIsS0FBcEIsRUFBMEQ7QUFDeEUsUUFBSSxLQUFLZ1osTUFBTCxDQUFZNW1DLFNBQVosTUFBMkJ1VyxTQUEvQixFQUEwQztBQUFBOztBQUN4QztBQUNBLFlBQU1neEIsY0FBYyw2QkFBRyxLQUFLUCxpQkFBTCxDQUNwQnQ3QixNQURvQixDQUNaODdCLENBQUQsSUFBT0EsQ0FBQyxHQUFHeG5DLFNBREUsRUFFcEJnTCxJQUZvQixDQUVmLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVQSxDQUFDLEdBQUdELENBRkMsRUFFRSxDQUZGLENBQUgsMkVBRVcsS0FBSys3QixpQkFBTCxDQUF1QixDQUF2QixDQUYvQjtBQUdBLFVBQUlPLGNBQWMsS0FBS2h4QixTQUF2QixFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixZQUFNMjRCLEtBQUssR0FBRyxLQUFLRixNQUFMLENBQVlXLGNBQVosQ0FBZDtBQUNBLFVBQUksQ0FBQ1QsS0FBTCxFQUNFLE1BQU0sSUFBSTM0QixrQ0FBSixFQUFOO0FBQ0YsV0FBS3k0QixNQUFMLENBQVk1bUMsU0FBWixJQUF5QjhtQyxLQUFLLENBQUNXLFlBQU4sQ0FBbUI3WixLQUFuQixDQUF6QjtBQUNELEtBWEQsTUFXTztBQUNMLFlBQU1rWixLQUFLLEdBQUcsS0FBS0YsTUFBTCxDQUFZNW1DLFNBQVosQ0FBZDtBQUNBLFVBQUksQ0FBQzhtQyxLQUFMLEVBQ0UsTUFBTSxJQUFJMzRCLGtDQUFKLEVBQU47QUFDRixXQUFLeTRCLE1BQUwsQ0FBWTVtQyxTQUFaLElBQXlCOG1DLEtBQUssQ0FBQ1csWUFBTixDQUFtQjdaLEtBQW5CLENBQXpCO0FBQ0Q7O0FBQ0QsU0FBS21aLGVBQUwsR0FBdUJ4a0IsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBS3VrQixlQUFkLEVBQStCL21DLFNBQS9CLENBQXZCO0FBRUEsVUFBTTBuQyw2QkFBNkIsR0FBRyxLQUFLVixpQkFBTCxDQUF1QixLQUFLQSxpQkFBTCxDQUF1QjM3QixNQUF2QixHQUFnQyxDQUF2RCxDQUF0QztBQUNBLFFBQUksQ0FBQ3E4Qiw2QkFBTCxFQUNFLE1BQU0sSUFBSXY1QixrQ0FBSixFQUFOO0FBQ0YsVUFBTXc1QixZQUFZLEdBQUd4N0IsSUFBSSxDQUFDQyxTQUFMLENBQWUsS0FBS3c2QixNQUFMLENBQVljLDZCQUFaLENBQWYsQ0FBckI7QUFDQSxVQUFNRSxZQUFZLEdBQUd6N0IsSUFBSSxDQUFDQyxTQUFMLENBQWUsS0FBS3c2QixNQUFMLENBQVk1bUMsU0FBWixDQUFmLENBQXJCO0FBRUEsUUFBSTBuQyw2QkFBNkIsS0FBSzFuQyxTQUFsQyxJQUErQzRuQyxZQUFZLEtBQUtELFlBQXBFLEVBQ0UsS0FBS1gsaUJBQUwsQ0FBdUJyOEIsSUFBdkIsQ0FBNEIzSyxTQUE1QjtBQUNIOztBQUVENm5DLEVBQUFBLFFBQVEsQ0FBQzduQyxTQUFELEVBQW9DO0FBQzFDLFVBQU04bkMsZ0JBQWdCLEdBQUcsS0FBS2xCLE1BQUwsQ0FBWTVtQyxTQUFaLENBQXpCO0FBQ0EsUUFBSThuQyxnQkFBSixFQUNFLE9BQU9BLGdCQUFQO0FBRUYsVUFBTUMsZ0JBQWdCLEdBQUcsS0FBS2YsaUJBQUwsQ0FBdUIsQ0FBdkIsQ0FBekI7QUFDQSxRQUFJZSxnQkFBZ0IsS0FBS3h4QixTQUF6QixFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixRQUFJbk8sU0FBUyxHQUFHK25DLGdCQUFoQixFQUNFLE9BQU8sS0FBS1osZUFBTCxDQUFxQixDQUFyQixDQUFQO0FBRUYsUUFBSUMsQ0FBQyxHQUFHLENBQVI7O0FBQ0EsV0FBT0EsQ0FBQyxHQUFHLEtBQUtKLGlCQUFMLENBQXVCMzdCLE1BQWxDLEVBQTBDLEVBQUUrN0IsQ0FBNUMsRUFBK0M7QUFDN0MsWUFBTVksYUFBYSxHQUFHLEtBQUtoQixpQkFBTCxDQUF1QkksQ0FBdkIsQ0FBdEI7QUFDQSxVQUFJWSxhQUFhLEtBQUt6eEIsU0FBdEIsRUFDRSxNQUFNLElBQUlwSSxrQ0FBSixFQUFOO0FBQ0YsVUFBSTY1QixhQUFhLEdBQUdob0MsU0FBcEIsRUFDRSxPQUFPLEtBQUttbkMsZUFBTCxDQUFxQkMsQ0FBQyxHQUFHLENBQXpCLENBQVA7QUFDSDs7QUFFRCxXQUFPLEtBQUtELGVBQUwsQ0FBcUJDLENBQUMsR0FBRyxDQUF6QixDQUFQO0FBQ0QsR0F2SDRCLENBeUg3Qjs7O0FBQ1FELEVBQUFBLGVBQWUsQ0FBQ2g5QixLQUFELEVBQWdDO0FBQ3JELFVBQU1rOUIsVUFBVSxHQUFHLEtBQUtMLGlCQUFMLENBQXVCNzhCLEtBQXZCLENBQW5CO0FBQ0EsUUFBSWs5QixVQUFVLEtBQUs5d0IsU0FBbkIsRUFDRSxNQUFNLElBQUlwSSxrQ0FBSixFQUFOO0FBQ0YsVUFBTTI0QixLQUFLLEdBQUcsS0FBS0YsTUFBTCxDQUFZUyxVQUFaLENBQWQ7QUFDQSxRQUFJUCxLQUFLLEtBQUt2d0IsU0FBZCxFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixXQUFPMjRCLEtBQVA7QUFDRDs7QUFsSTRCOzs7O0FDSGhCLE1BQU1tQixrQkFBTixDQUF5QjtBQUN6QixTQUFOQyxNQUFNLENBQUNDLFNBQUQsRUFBcUM7QUFDaEQsU0FBSyxNQUFNLENBQUM3OEIsR0FBRCxFQUFNZixLQUFOLENBQVgsSUFBMkJSLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlNjlCLGtCQUFrQixDQUFDRyxTQUFsQyxDQUEzQixFQUF5RTtBQUN2RSxVQUFJNzlCLEtBQUosYUFBSUEsS0FBSixlQUFJQSxLQUFLLENBQUUvSyxRQUFQLENBQWdCMm9DLFNBQWhCLENBQUosRUFDRSxPQUFPNzhCLEdBQVA7QUFDSDtBQUNGOztBQU5xQzs7a0NBQW5CMjhCLHlDQVFpQjs7a0NBUmpCQSxpQ0FVc0M7QUFDdkQ5ZCxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsRUFoREcsRUFpREgsRUFqREcsRUFrREgsRUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsSUExREcsRUEyREgsS0EzREcsRUE0REgsS0E1REcsRUE2REgsS0E3REcsRUE4REgsS0E5REcsRUErREgsS0EvREcsRUFnRUgsS0FoRUcsRUFpRUgsS0FqRUcsRUFrRUgsS0FsRUcsRUFtRUgsSUFuRUcsRUFvRUgsSUFwRUcsRUFxRUgsSUFyRUcsRUFzRUgsSUF0RUcsRUF1RUgsSUF2RUcsRUF3RUgsSUF4RUcsRUF5RUgsSUF6RUcsRUEwRUgsSUExRUcsRUEyRUgsSUEzRUcsRUE0RUgsSUE1RUcsRUE2RUgsSUE3RUcsRUE4RUgsSUE5RUcsQ0FEa0Q7QUFpRnZERSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxJQVZHLEVBV0gsSUFYRyxFQVlILElBWkcsRUFhSCxJQWJHLEVBY0gsSUFkRyxFQWVILElBZkcsRUFnQkgsSUFoQkcsRUFpQkgsRUFqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsRUExQkcsRUEyQkgsRUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csQ0FqRmtEO0FBMEh2RFcsRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsS0FQRyxFQVFILEtBUkcsRUFTSCxLQVRHLEVBVUgsS0FWRyxFQVdILElBWEcsRUFZSCxJQVpHLEVBYUgsSUFiRyxFQWNILElBZEcsRUFlSCxJQWZHLEVBZ0JILElBaEJHLEVBaUJILElBakJHLEVBa0JILElBbEJHLEVBbUJILElBbkJHLEVBb0JILElBcEJHLEVBcUJILElBckJHLEVBc0JILElBdEJHLEVBdUJILElBdkJHLEVBd0JILElBeEJHLEVBeUJILElBekJHLEVBMEJILElBMUJHLEVBMkJILElBM0JHLEVBNEJILElBNUJHLEVBNkJILElBN0JHLEVBOEJILElBOUJHLEVBK0JILElBL0JHLEVBZ0NILElBaENHLEVBaUNILElBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILEtBcENHLEVBcUNILEtBckNHLEVBc0NILEtBdENHLEVBdUNILEtBdkNHLEVBd0NILEtBeENHLEVBeUNILElBekNHLEVBMENILElBMUNHLEVBMkNILElBM0NHLEVBNENILElBNUNHLEVBNkNILElBN0NHLEVBOENILElBOUNHLEVBK0NILElBL0NHLEVBZ0RILElBaERHLEVBaURILElBakRHLEVBa0RILElBbERHLEVBbURILElBbkRHLEVBb0RILElBcERHLENBMUhrRDtBQWdMdkRLLEVBQUFBLEdBQUcsRUFBRSxDQUNILEtBREcsRUFFSCxLQUZHLEVBR0gsS0FIRyxFQUlILEtBSkcsRUFLSCxLQUxHLEVBTUgsS0FORyxFQU9ILEtBUEcsRUFRSCxLQVJHLEVBU0gsS0FURyxFQVVILEtBVkcsRUFXSCxLQVhHLEVBWUgsS0FaRyxFQWFILEtBYkcsRUFjSCxLQWRHLEVBZUgsS0FmRyxFQWdCSCxLQWhCRyxFQWlCSCxLQWpCRyxFQWtCSCxLQWxCRyxFQW1CSCxLQW5CRyxFQW9CSCxLQXBCRyxFQXFCSCxLQXJCRyxFQXNCSCxLQXRCRyxFQXVCSCxLQXZCRyxFQXdCSCxLQXhCRyxFQXlCSCxLQXpCRyxFQTBCSCxLQTFCRyxFQTJCSCxLQTNCRyxFQTRCSCxLQTVCRyxFQTZCSCxLQTdCRyxFQThCSCxLQTlCRyxFQStCSCxLQS9CRyxFQWdDSCxLQWhDRyxFQWlDSCxLQWpDRyxFQWtDSCxLQWxDRyxFQW1DSCxLQW5DRyxFQW9DSCxLQXBDRyxFQXFDSCxLQXJDRyxFQXNDSCxLQXRDRyxFQXVDSCxLQXZDRyxFQXdDSCxLQXhDRyxFQXlDSCxLQXpDRyxFQTBDSCxLQTFDRyxFQTJDSCxLQTNDRyxFQTRDSCxLQTVDRyxFQTZDSCxLQTdDRyxFQThDSCxLQTlDRyxFQStDSCxLQS9DRyxFQWdESCxLQWhERyxFQWlESCxLQWpERyxDQWhMa0Q7QUFtT3ZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEdBVEcsRUFVSCxHQVZHLEVBV0gsR0FYRyxFQVlILEdBWkcsRUFhSCxHQWJHLEVBY0gsS0FkRyxFQWVILElBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsR0FwREcsRUFxREgsR0FyREcsQ0FuT2tEO0FBMFJ2REksRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsS0FQRyxFQVFILEtBUkcsRUFTSCxLQVRHLEVBVUgsS0FWRyxFQVdILEtBWEcsRUFZSCxLQVpHLEVBYUgsS0FiRyxFQWNILEtBZEcsRUFlSCxHQWZHLEVBZ0JILEdBaEJHLEVBaUJILEtBakJHLEVBa0JILEtBbEJHLEVBbUJILEtBbkJHLEVBb0JILEtBcEJHLEVBcUJILEtBckJHLEVBc0JILEtBdEJHLEVBdUJILEtBdkJHLEVBd0JILEtBeEJHLEVBeUJILEtBekJHLEVBMEJILEtBMUJHLEVBMkJILEtBM0JHLEVBNEJILEtBNUJHLEVBNkJILEdBN0JHLEVBOEJILEdBOUJHLEVBK0JILEdBL0JHLEVBZ0NILEdBaENHLEVBaUNILEdBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILElBcENHLEVBcUNILElBckNHLEVBc0NILElBdENHLEVBdUNILElBdkNHLEVBd0NILEtBeENHLEVBeUNILEtBekNHLEVBMENILEtBMUNHLEVBMkNILEtBM0NHLEVBNENILEtBNUNHLEVBNkNILEtBN0NHLEVBOENILElBOUNHLEVBK0NILElBL0NHLEVBZ0RILElBaERHLEVBaURILElBakRHLEVBa0RILElBbERHLEVBbURILElBbkRHLEVBb0RILEdBcERHLEVBcURILEdBckRHLEVBc0RILEdBdERHLEVBdURILElBdkRHLEVBd0RILElBeERHLEVBeURILElBekRHLEVBMERILElBMURHLENBMVJrRDtBQXNWdkRLLEVBQUFBLEdBQUcsRUFBRSxDQUNILEtBREcsRUFFSCxLQUZHLEVBR0gsS0FIRyxFQUlILEtBSkcsRUFLSCxLQUxHLEVBTUgsS0FORyxFQU9ILEtBUEcsRUFRSCxLQVJHLEVBU0gsS0FURyxFQVVILEtBVkcsRUFXSCxLQVhHLEVBWUgsS0FaRyxFQWFILEtBYkcsRUFjSCxLQWRHLEVBZUgsS0FmRyxFQWdCSCxLQWhCRyxFQWlCSCxLQWpCRyxFQWtCSCxLQWxCRyxFQW1CSCxLQW5CRyxFQW9CSCxLQXBCRyxFQXFCSCxJQXJCRyxFQXNCSCxJQXRCRyxFQXVCSCxJQXZCRyxFQXdCSCxJQXhCRyxFQXlCSCxJQXpCRyxFQTBCSCxJQTFCRyxFQTJCSCxJQTNCRyxFQTRCSCxJQTVCRyxFQTZCSCxJQTdCRyxFQThCSCxJQTlCRyxFQStCSCxJQS9CRyxFQWdDSCxJQWhDRyxFQWlDSCxJQWpDRyxFQWtDSCxJQWxDRyxFQW1DSCxJQW5DRyxFQW9DSCxJQXBDRyxFQXFDSCxJQXJDRyxFQXNDSCxJQXRDRyxFQXVDSCxJQXZDRyxFQXdDSCxJQXhDRyxFQXlDSCxJQXpDRyxFQTBDSCxJQTFDRyxFQTJDSCxJQTNDRyxFQTRDSCxJQTVDRyxFQTZDSCxJQTdDRyxFQThDSCxJQTlDRyxFQStDSCxJQS9DRyxFQWdESCxJQWhERyxFQWlESCxJQWpERyxFQWtESCxJQWxERyxFQW1ESCxLQW5ERyxFQW9ESCxLQXBERyxFQXFESCxLQXJERyxFQXNESCxLQXRERyxFQXVESCxLQXZERyxFQXdESCxLQXhERyxFQXlESCxLQXpERyxFQTBESCxLQTFERyxFQTJESCxLQTNERyxFQTRESCxLQTVERyxFQTZESCxJQTdERyxFQThESCxJQTlERyxFQStESCxJQS9ERyxFQWdFSCxJQWhFRyxFQWlFSCxJQWpFRyxFQWtFSCxJQWxFRyxFQW1FSCxJQW5FRyxFQW9FSCxJQXBFRyxFQXFFSCxJQXJFRyxFQXNFSCxJQXRFRyxFQXVFSCxJQXZFRyxFQXdFSCxJQXhFRyxFQXlFSCxJQXpFRyxDQXRWa0Q7QUFpYXZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsRUF4Q0csRUF5Q0gsRUF6Q0csRUEwQ0gsRUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsRUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsQ0FqYWtEO0FBMGR2REUsRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsSUFQRyxFQVFILElBUkcsRUFTSCxJQVRHLEVBVUgsSUFWRyxFQVdILElBWEcsRUFZSCxJQVpHLEVBYUgsSUFiRyxFQWNILEtBZEcsRUFlSCxLQWZHLEVBZ0JILEtBaEJHLEVBaUJILEtBakJHLEVBa0JILEtBbEJHLEVBbUJILElBbkJHLEVBb0JILElBcEJHLEVBcUJILElBckJHLEVBc0JILElBdEJHLEVBdUJILEVBdkJHLEVBd0JILElBeEJHLEVBeUJILElBekJHLEVBMEJILElBMUJHLEVBMkJILElBM0JHLEVBNEJILElBNUJHLEVBNkJILElBN0JHLEVBOEJILElBOUJHLEVBK0JILElBL0JHLEVBZ0NILElBaENHLEVBaUNILElBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILElBcENHLEVBcUNILElBckNHLEVBc0NILEVBdENHLEVBdUNILEVBdkNHLEVBd0NILEVBeENHLEVBeUNILEVBekNHLEVBMENILElBMUNHLEVBMkNILEVBM0NHLEVBNENILEVBNUNHLENBMWRrRDtBQXdnQnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsSUExREcsQ0F4Z0JrRDtBQW9rQnZESSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsSUFqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsQ0Fwa0JrRDtBQTZuQnZEWCxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsR0FGRyxFQUdILEdBSEcsRUFJSCxHQUpHLEVBS0gsR0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsR0EvQ0csQ0E3bkJrRDtBQThxQnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsQ0E5cUJrRDtBQXN1QnZETyxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsS0FqREcsRUFrREgsS0FsREcsRUFtREgsS0FuREcsRUFvREgsS0FwREcsRUFxREgsS0FyREcsRUFzREgsS0F0REcsRUF1REgsS0F2REcsRUF3REgsS0F4REcsRUF5REgsS0F6REcsRUEwREgsS0ExREcsRUEyREgsS0EzREcsRUE0REgsS0E1REcsRUE2REgsS0E3REcsRUE4REgsS0E5REcsRUErREgsS0EvREcsRUFnRUgsS0FoRUcsRUFpRUgsS0FqRUcsQ0F0dUJrRDtBQXl5QnZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsR0FGRyxFQUdILEdBSEcsRUFJSCxHQUpHLEVBS0gsR0FMRyxFQU1ILEdBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsSUFqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsR0FoREcsRUFpREgsR0FqREcsRUFrREgsR0FsREcsRUFtREgsR0FuREcsQ0F6eUJrRDtBQTgxQnZERSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsR0EvQkcsRUFnQ0gsR0FoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsR0ExREcsRUEyREgsR0EzREcsRUE0REgsR0E1REcsRUE2REgsR0E3REcsRUE4REgsR0E5REcsRUErREgsR0EvREcsRUFnRUgsR0FoRUcsRUFpRUgsR0FqRUcsRUFrRUgsR0FsRUcsRUFtRUgsR0FuRUcsRUFvRUgsSUFwRUcsRUFxRUgsSUFyRUcsRUFzRUgsSUF0RUcsRUF1RUgsSUF2RUcsRUF3RUgsSUF4RUcsRUF5RUgsSUF6RUcsRUEwRUgsSUExRUcsRUEyRUgsSUEzRUcsRUE0RUgsSUE1RUcsRUE2RUgsSUE3RUcsQ0E5MUJrRDtBQTY2QnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsQ0E3NkJrRDtBQXcrQnZEQyxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsS0FqREcsRUFrREgsS0FsREcsRUFtREgsS0FuREcsRUFvREgsS0FwREcsRUFxREgsS0FyREcsRUFzREgsS0F0REcsRUF1REgsS0F2REcsRUF3REgsS0F4REc7QUF4K0JrRDs7QUNWNUMsTUFBTWlkLGNBQU4sQ0FBcUI7QUFXbENqNkIsRUFBQUEsV0FBVyxDQUNUazZCLElBRFMsRUFFVEMsSUFGUyxFQUdUQyxJQUhTLEVBSVRobkMsT0FKUyxFQUtUaW5DLFVBTFMsRUFNVHZuQyxFQU5TLEVBT1RzRSxLQVBTLEVBUVRwRSxFQVJTLEVBU1RxRSxLQVRTLEVBVVQ7QUFDQSxTQUFLNmlDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtobkMsT0FBTCxHQUFlQSxPQUFmO0FBQ0EsU0FBS2luQyxVQUFMLEdBQWtCQSxVQUFsQjtBQUNBLFNBQUt2bkMsRUFBTCxHQUFVQSxFQUFWO0FBQ0EsU0FBS3NFLEtBQUwsR0FBYUEsS0FBYjtBQUNBLFNBQUtwRSxFQUFMLEdBQVVBLEVBQVY7QUFDQSxTQUFLcUUsS0FBTCxHQUFhQSxLQUFiO0FBQ0Q7O0FBRURnaUMsRUFBQUEsWUFBWSxDQUFDN1osS0FBRCxFQUFpRDtBQUFBOztBQUMzRCxXQUFPLElBQUl5YSxjQUFKLGdCQUNMemEsS0FBSyxDQUFDMGEsSUFERCxxREFDUyxLQUFLQSxJQURkLGlCQUVMMWEsS0FBSyxDQUFDMmEsSUFGRCxxREFFUyxLQUFLQSxJQUZkLGlCQUdMM2EsS0FBSyxDQUFDNGEsSUFIRCxxREFHUyxLQUFLQSxJQUhkLG9CQUlMNWEsS0FBSyxDQUFDcHNCLE9BSkQsMkRBSVksS0FBS0EsT0FKakIsdUJBS0xvc0IsS0FBSyxDQUFDNmEsVUFMRCxpRUFLZSxLQUFLQSxVQUxwQixlQU1MN2EsS0FBSyxDQUFDMXNCLEVBTkQsaURBTU8sS0FBS0EsRUFOWixrQkFPTDBzQixLQUFLLENBQUNwb0IsS0FQRCx1REFPVSxLQUFLQSxLQVBmLGVBUUxvb0IsS0FBSyxDQUFDeHNCLEVBUkQsaURBUU8sS0FBS0EsRUFSWixrQkFTTHdzQixLQUFLLENBQUNub0IsS0FURCx1REFTVSxLQUFLQSxLQVRmLENBQVA7QUFXRDs7QUFFRGlqQyxFQUFBQSxhQUFhLEdBQXlCO0FBQ3BDLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBRE47QUFFTE0sTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBRk47QUFHTE0sTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBSE47QUFJTE0sTUFBQUEsT0FBTyxFQUFFLEtBQUt0bkMsT0FKVDtBQUtMdW5DLE1BQUFBLFNBQVMsRUFBRSxLQUFLN25DLEVBTFg7QUFNTDhuQyxNQUFBQSxLQUFLLEVBQUUsS0FBS3hqQyxLQU5QO0FBT0x5akMsTUFBQUEsU0FBUyxFQUFFLEtBQUs3bkMsRUFQWDtBQVFMOG5DLE1BQUFBLEtBQUssRUFBRSxLQUFLempDO0FBUlAsS0FBUDtBQVVEOztBQTFEaUM7Ozs7OztBQ0NwQztDQUdBOztBQUNBLE1BQU0wakMsV0FBVyxHQUFHO0FBQ2xCQyxFQUFBQSxjQUFjLEVBQUU7QUFDZHJxQyxJQUFBQSxFQUFFLEVBQUUsd0VBRFU7QUFFZEMsSUFBQUEsRUFBRSxFQUFFLHlFQUZVO0FBR2RDLElBQUFBLEVBQUUsRUFBRSw2RUFIVTtBQUlkQyxJQUFBQSxFQUFFLEVBQUUsOENBSlU7QUFLZEMsSUFBQUEsRUFBRSxFQUFFLGdEQUxVO0FBTWRDLElBQUFBLEVBQUUsRUFBRTtBQU5VLEdBREU7QUFTbEJpcUMsRUFBQUEsZUFBZSxFQUFFO0FBQ2Z0cUMsSUFBQUEsRUFBRSxFQUFFLFNBRFc7QUFFZkMsSUFBQUEsRUFBRSxFQUFFLFFBRlc7QUFHZkMsSUFBQUEsRUFBRSxFQUFFLG1CQUhXO0FBSWZDLElBQUFBLEVBQUUsRUFBRSxPQUpXO0FBS2ZDLElBQUFBLEVBQUUsRUFBRSxPQUxXO0FBTWZDLElBQUFBLEVBQUUsRUFBRTtBQU5XLEdBVEM7QUFpQmxCa3FDLEVBQUFBLGVBQWUsRUFBRTtBQUNmdnFDLElBQUFBLEVBQUUsRUFBRSw0Q0FEVztBQUVmQyxJQUFBQSxFQUFFLEVBQUUsb0RBRlc7QUFHZkMsSUFBQUEsRUFBRSxFQUFFLHNFQUhXO0FBSWZDLElBQUFBLEVBQUUsRUFBRSw4Q0FKVztBQUtmQyxJQUFBQSxFQUFFLEVBQUUsaUNBTFc7QUFNZkMsSUFBQUEsRUFBRSxFQUFFO0FBTlcsR0FqQkM7QUF5QmxCbXFDLEVBQUFBLFFBQVEsRUFBRTtBQUNSeHFDLElBQUFBLEVBQUUsRUFBRSxpRUFESTtBQUVSQyxJQUFBQSxFQUFFLEVBQUUsbUVBRkk7QUFHUkMsSUFBQUEsRUFBRSxFQUFFLGlFQUhJO0FBSVJDLElBQUFBLEVBQUUsRUFBRSx5Q0FKSTtBQUtSQyxJQUFBQSxFQUFFLEVBQUUsd0NBTEk7QUFNUkMsSUFBQUEsRUFBRSxFQUFFO0FBTkksR0F6QlE7QUFpQ2xCb3FDLEVBQUFBLFVBQVUsRUFBRTtBQUNWenFDLElBQUFBLEVBQUUsRUFBRSxtQ0FETTtBQUVWQyxJQUFBQSxFQUFFLEVBQUUsa0NBRk07QUFHVkMsSUFBQUEsRUFBRSxFQUFFLDZCQUhNO0FBSVZDLElBQUFBLEVBQUUsRUFBRSx3QkFKTTtBQUtWQyxJQUFBQSxFQUFFLEVBQUUsb0JBTE07QUFNVkMsSUFBQUEsRUFBRSxFQUFFO0FBTk0sR0FqQ007QUF5Q2xCO0FBQ0E7QUFDQXFxQyxFQUFBQSxhQUFhLEVBQUU7QUFDYjFxQyxJQUFBQSxFQUFFLEVBQUUscUVBRFM7QUFFYkMsSUFBQUEsRUFBRSxFQUNBLHlHQUhXO0FBSWJDLElBQUFBLEVBQUUsRUFBRSwwRUFKUztBQUtiQyxJQUFBQSxFQUFFLEVBQUUscUVBTFM7QUFNYkMsSUFBQUEsRUFBRSxFQUFFLGtFQU5TO0FBT2JDLElBQUFBLEVBQUUsRUFBRTtBQVBTLEdBM0NHO0FBb0RsQnNxQyxFQUFBQSxrQkFBa0IsRUFBRTtBQUNsQjNxQyxJQUFBQSxFQUFFLEVBQUUscURBRGM7QUFFbEJDLElBQUFBLEVBQUUsRUFBRSxrRUFGYztBQUdsQkMsSUFBQUEsRUFBRSxFQUFFLHVFQUhjO0FBSWxCQyxJQUFBQSxFQUFFLEVBQUUscURBSmM7QUFLbEJDLElBQUFBLEVBQUUsRUFBRSxnREFMYztBQU1sQkMsSUFBQUEsRUFBRSxFQUFFO0FBTmMsR0FwREY7QUE0RGxCdXFDLEVBQUFBLGNBQWMsRUFBRTtBQUNkNXFDLElBQUFBLEVBQUUsRUFBRSxzRUFEVTtBQUVkQyxJQUFBQSxFQUFFLEVBQ0EsOEZBSFk7QUFJZEMsSUFBQUEsRUFBRSxFQUFFLHVFQUpVO0FBS2RDLElBQUFBLEVBQUUsRUFBRSw0RUFMVTtBQU1kQyxJQUFBQSxFQUFFLEVBQUUsMkVBTlU7QUFPZEMsSUFBQUEsRUFBRSxFQUFFO0FBUFUsR0E1REU7QUFxRWxCd3FDLEVBQUFBLG1CQUFtQixFQUFFO0FBQ25CN3FDLElBQUFBLEVBQUUsRUFBRSwrREFEZTtBQUVuQkMsSUFBQUEsRUFBRSxFQUFFLDJEQUZlO0FBR25CQyxJQUFBQSxFQUFFLEVBQUUsdUZBSGU7QUFJbkJDLElBQUFBLEVBQUUsRUFBRSxxREFKZTtBQUtuQkMsSUFBQUEsRUFBRSxFQUFFLGlEQUxlO0FBTW5CQyxJQUFBQSxFQUFFLEVBQUU7QUFOZSxHQXJFSDtBQTZFbEJ5cUMsRUFBQUEsWUFBWSxFQUFFO0FBQ1o5cUMsSUFBQUEsRUFBRSxFQUFFLHVCQURRO0FBRVpDLElBQUFBLEVBQUUsRUFBRSxvQ0FGUTtBQUdaQyxJQUFBQSxFQUFFLEVBQUUsMEJBSFE7QUFJWkMsSUFBQUEsRUFBRSxFQUFFLGdDQUpRO0FBS1pDLElBQUFBLEVBQUUsRUFBRSw2QkFMUTtBQU1aQyxJQUFBQSxFQUFFLEVBQUU7QUFOUSxHQTdFSTtBQXFGbEIwcUMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakIvcUMsSUFBQUEsRUFBRSxFQUFFLDBEQURhO0FBRWpCQyxJQUFBQSxFQUFFLEVBQUUsbUVBRmE7QUFHakJDLElBQUFBLEVBQUUsRUFDQSw2RkFKZTtBQUtqQkMsSUFBQUEsRUFBRSxFQUFFLHNEQUxhO0FBTWpCQyxJQUFBQSxFQUFFLEVBQUUsa0RBTmE7QUFPakJDLElBQUFBLEVBQUUsRUFBRTtBQVBhLEdBckZEO0FBOEZsQjJxQyxFQUFBQSxjQUFjLEVBQUU7QUFDZGhyQyxJQUFBQSxFQUFFLEVBQUUsNkJBRFU7QUFFZEMsSUFBQUEsRUFBRSxFQUFFLHFDQUZVO0FBR2RDLElBQUFBLEVBQUUsRUFBRSw0QkFIVTtBQUlkQyxJQUFBQSxFQUFFLEVBQUUsK0JBSlU7QUFLZEMsSUFBQUEsRUFBRSxFQUFFLDhCQUxVO0FBTWRDLElBQUFBLEVBQUUsRUFBRTtBQU5VLEdBOUZFO0FBc0dsQjRxQyxFQUFBQSxtQkFBbUIsRUFBRTtBQUNuQmpyQyxJQUFBQSxFQUFFLEVBQUUsa0NBRGU7QUFFbkJDLElBQUFBLEVBQUUsRUFBRSw2QkFGZTtBQUduQkMsSUFBQUEsRUFBRSxFQUFFLDhDQUhlO0FBSW5CQyxJQUFBQSxFQUFFLEVBQUUsaUNBSmU7QUFLbkJDLElBQUFBLEVBQUUsRUFBRSw0QkFMZTtBQU1uQkMsSUFBQUEsRUFBRSxFQUFFO0FBTmU7QUF0R0gsQ0FBcEI7O0FBb0hBLE1BQU02cUMsUUFBTixDQUFlO0FBSUUsTUFBWEMsV0FBVyxHQUFxQjtBQUNsQyxRQUFJLEtBQUtyVCxPQUFULEVBQ0UsT0FBTyxLQUFLQSxPQUFaO0FBQ0YsU0FBS0EsT0FBTCxHQUFlLEtBQUtzVCxrQkFBTCxDQUNiaEIsV0FEYSxFQUVaM0IsQ0FBRCxJQUFlaitCLGdEQUFBLENBQWdCO0FBQUVySixNQUFBQSxJQUFJLEVBQUVzbkMsQ0FBQyxHQUFHO0FBQVosS0FBaEIsQ0FGRixDQUFmO0FBSUEsV0FBTyxLQUFLM1EsT0FBWjtBQUNEOztBQUVpQixNQUFkdVQsY0FBYyxHQUFxQjtBQUNyQyxRQUFJLEtBQUtDLFVBQVQsRUFDRSxPQUFPLEtBQUtBLFVBQVo7QUFDRixTQUFLQSxVQUFMLEdBQWtCLEtBQUtGLGtCQUFMLENBQ2hCaEIsV0FEZ0IsRUFFZjNCLENBQUQsSUFBZTM3Qix5Q0FBQSxDQUFtQjtBQUFFM0wsTUFBQUEsSUFBSSxFQUFFc25DLENBQUMsR0FBRztBQUFaLEtBQW5CLENBRkMsQ0FBbEI7QUFJQSxXQUFPLEtBQUs2QyxVQUFaO0FBQ0Q7O0FBRURGLEVBQUFBLGtCQUFrQixDQUNoQkcsT0FEZ0IsRUFFaEJqRSxPQUZnQixFQUdFO0FBQ2xCLFdBQU90OEIsTUFBTSxDQUFDd2dDLFdBQVAsQ0FDTHhnQyxNQUFNLENBQ0hLLE9BREgsQ0FDV2tnQyxPQURYLEVBRUdyOEIsR0FGSCxDQUVPLENBQUMsQ0FBQzNDLEdBQUQsRUFBTW9zQixLQUFOLENBQUQsS0FBa0IsQ0FBQ3BzQixHQUFELEVBQU0sS0FBS2svQixnQkFBTCxDQUFzQjlTLEtBQXRCLEVBQTZCMk8sT0FBN0IsQ0FBTixDQUZ6QixDQURLLENBQVA7QUFLRDs7QUFFRG1FLEVBQUFBLGdCQUFnQixDQUNkOVMsS0FEYyxFQUVkMk8sT0FGYyxFQUd1QztBQUNyRCxVQUFNb0UsT0FBTyxHQUFHcEUsT0FBTyxDQUFDM08sS0FBSyxDQUFDMzRCLEVBQVAsQ0FBdkI7QUFDQSxXQUFPO0FBQ0xBLE1BQUFBLEVBQUUsRUFBRTByQyxPQURDO0FBRUx6ckMsTUFBQUEsRUFBRSxFQUFFMDRCLEtBQUssQ0FBQzE0QixFQUFOLEdBQVdxbkMsT0FBTyxDQUFDM08sS0FBSyxDQUFDMTRCLEVBQVAsQ0FBbEIsR0FBK0J5ckMsT0FGOUI7QUFHTHhyQyxNQUFBQSxFQUFFLEVBQUV5NEIsS0FBSyxDQUFDejRCLEVBQU4sR0FBV29uQyxPQUFPLENBQUMzTyxLQUFLLENBQUN6NEIsRUFBUCxDQUFsQixHQUErQndyQyxPQUg5QjtBQUlMdnJDLE1BQUFBLEVBQUUsRUFBRXc0QixLQUFLLENBQUN4NEIsRUFBTixHQUFXbW5DLE9BQU8sQ0FBQzNPLEtBQUssQ0FBQ3g0QixFQUFQLENBQWxCLEdBQStCdXJDLE9BSjlCO0FBS0x0ckMsTUFBQUEsRUFBRSxFQUFFdTRCLEtBQUssQ0FBQ3Y0QixFQUFOLEdBQVdrbkMsT0FBTyxDQUFDM08sS0FBSyxDQUFDdjRCLEVBQVAsQ0FBbEIsR0FBK0JzckMsT0FMOUI7QUFNTHJyQyxNQUFBQSxFQUFFLEVBQUVzNEIsS0FBSyxDQUFDdDRCLEVBQU4sR0FBV2luQyxPQUFPLENBQUMzTyxLQUFLLENBQUN0NEIsRUFBUCxDQUFsQixHQUErQnFyQztBQU45QixLQUFQO0FBUUQ7O0FBaERZOztBQW1EZixNQUFNQyxRQUFRLEdBQUcsSUFBSVQsUUFBSixFQUFqQjtBQUVPLE1BQU1VLFdBQVcsR0FBR0QsUUFBUSxDQUFDUixXQUE3QjtBQUNBLE1BQU1VLGNBQWMsR0FBR0YsUUFBUSxDQUFDTixjQUFoQzs7OztBQ2hMUDtBQUNBO0FBQ0E7QUFzQk8sTUFBTVMsaUJBQWlCLEdBQUcsQ0FBQ0MsSUFBRCxFQUFtQkMsR0FBbkIsS0FBZ0Q7QUFDL0UsUUFBTUMsR0FBRyxHQUFHRixJQUFJLENBQUNHLGFBQUwsQ0FBbUJGLEdBQW5CLENBQVo7QUFDQSxNQUFJLEVBQUVDLEdBQUcsWUFBWUUsV0FBakIsQ0FBSixFQUNFLE1BQU0sSUFBSS84QixrQ0FBSixFQUFOO0FBQ0YsU0FBTzY4QixHQUFQO0FBQ0QsQ0FMTTtBQU9BLE1BQU1HLG9CQUFvQixHQUFHLENBQUNMLElBQUQsRUFBbUJDLEdBQW5CLEtBQWtEO0FBQ3BGLFFBQU1DLEdBQUcsR0FBRyxDQUFDLEdBQUdGLElBQUksQ0FBQ00sZ0JBQUwsQ0FBc0JMLEdBQXRCLENBQUosRUFBZ0M5OEIsR0FBaEMsQ0FBcUN1TCxJQUFELElBQVU7QUFDeEQsUUFBSSxFQUFFQSxJQUFJLFlBQVkweEIsV0FBbEIsQ0FBSixFQUNFLE1BQU0sSUFBSS84QixrQ0FBSixFQUFOO0FBQ0YsV0FBT3FMLElBQVA7QUFDRCxHQUpXLENBQVo7QUFLQSxTQUFPd3hCLEdBQVA7QUFDRCxDQVBNO0FBU0EsTUFBTUssZ0JBQWdCLEdBQUcsQ0FBQ1AsSUFBRCxFQUFtQkMsR0FBbkIsS0FBZ0Q7QUFDOUUsUUFBTXBqQixRQUFRLEdBQUdrakIsaUJBQWlCLENBQUNDLElBQUQsRUFBT0MsR0FBUCxDQUFsQztBQUNBLE1BQUksRUFBRXBqQixRQUFRLFlBQVkyakIsbUJBQXRCLENBQUosRUFDRSxNQUFNLElBQUluOUIsa0NBQUosRUFBTjtBQUNGLFFBQU02OEIsR0FBRyxHQUFHcmpCLFFBQVEsQ0FBQ3RHLE9BQVQsQ0FBaUJrcUIsaUJBQTdCO0FBQ0EsTUFBSSxDQUFDUCxHQUFMLEVBQ0UsTUFBTSxJQUFJNzhCLGtDQUFKLEVBQU47QUFDRixNQUFJLEVBQUU2OEIsR0FBRyxZQUFZRSxXQUFqQixDQUFKLEVBQ0UsTUFBTSxJQUFJLzhCLGtDQUFKLEVBQU47QUFDRixTQUFPNjhCLEdBQVA7QUFDRCxDQVZNO0FBWUEsTUFBTVEsU0FBUyxHQUFJVixJQUFELElBQW9DO0FBQzNELFFBQU1XLE1BQU0sR0FBR1gsSUFBSSxDQUFDWSxTQUFMLENBQWUsSUFBZixDQUFmO0FBQ0EsTUFBSSxFQUFFRCxNQUFNLFlBQVlQLFdBQXBCLENBQUosRUFDRSxNQUFNLElBQUkvOEIsa0NBQUosRUFBTjtBQUNGLFNBQU9zOUIsTUFBUDtBQUNELENBTE0sRUFPUDtBQUNBOztBQUNBLE1BQU1FLFdBQXNDLEdBQUcsRUFBL0M7QUFFTyxNQUFNQyx1QkFBdUIsR0FBSUMsVUFBRCxJQUFnQztBQUNyRSxRQUFNQyxvQkFBb0IsR0FBR0QsVUFBVSxDQUFDMWtCLE1BQVgsQ0FBa0IsQ0FBQyxDQUFuQixDQUE3QjtBQUNBLFFBQU00a0IsV0FBVyxHQUFHSixXQUFXLENBQUNHLG9CQUFELENBQS9CO0FBQ0EsTUFBSUMsV0FBSixFQUNFLE9BQU9BLFdBQVA7QUFDRixRQUFNQyxhQUFhLEdBQUcsSUFBSTllLElBQUosR0FBVytlLGlCQUFYLEtBQWlDLElBQXZEO0FBQ0EsTUFBSUgsb0JBQW9CLEtBQUt2MUIsU0FBN0IsRUFDRSxPQUFPeTFCLGFBQVA7QUFDRixRQUFNRSxRQUFRLEdBQUdKLG9CQUFvQixDQUFDM2tCLE1BQXJCLENBQTRCLENBQTVCLEVBQStCLENBQS9CLENBQWpCO0FBQ0EsTUFBSStrQixRQUFRLEtBQUssR0FBYixJQUFvQkEsUUFBUSxLQUFLLEdBQXJDLEVBQ0UsT0FBT0YsYUFBUDtBQUNGLFFBQU1HLG1CQUFtQixHQUFHTCxvQkFBb0IsQ0FBQzNrQixNQUFyQixDQUE0QixDQUE1QixFQUErQmxGLEtBQS9CLENBQXFDLEdBQXJDLENBQTVCO0FBQ0EsUUFBTW1xQixXQUFXLEdBQUdELG1CQUFtQixDQUFDLENBQUQsQ0FBdkM7QUFDQSxRQUFNRSxhQUFhLEdBQUdGLG1CQUFtQixDQUFDLENBQUQsQ0FBekM7QUFDQSxNQUFJQyxXQUFXLEtBQUs3MUIsU0FBaEIsSUFBNkI4MUIsYUFBYSxLQUFLOTFCLFNBQW5ELEVBQ0UsT0FBT3kxQixhQUFQO0FBQ0YsUUFBTU0sS0FBSyxHQUFHbmhDLFFBQVEsQ0FBQ2loQyxXQUFELENBQXRCO0FBQ0EsUUFBTUcsT0FBTyxHQUFHcGhDLFFBQVEsQ0FBQ2toQyxhQUFELENBQXhCO0FBQ0EsUUFBTUcsUUFBUSxHQUFJLENBQUVGLEtBQUssR0FBRyxFQUFULEdBQWVDLE9BQWhCLElBQTJCLEVBQTNCLEdBQWdDLElBQWpDLElBQTBDTCxRQUFRLEtBQUssR0FBYixHQUFtQixDQUFDLENBQXBCLEdBQXdCLENBQWxFLENBQWpCO0FBQ0FQLEVBQUFBLFdBQVcsQ0FBQ0csb0JBQUQsQ0FBWCxHQUFvQ1UsUUFBcEM7QUFDQSxTQUFPQSxRQUFQO0FBQ0QsQ0FyQk07QUF1QlEsTUFBTUMsY0FBTixDQUFxQjtBQUNsQixTQUFUQyxTQUFTLENBQUN6dUMsSUFBRCxFQUFpQjB1QyxPQUFPLEdBQUcsQ0FBQyxTQUFELEVBQVksT0FBWixDQUEzQixFQUEyRDtBQUN6RSxVQUFNM0IsR0FBYSxHQUFHLEVBQXRCLENBRHlFLENBR3pFO0FBQ0E7O0FBQ0EsU0FBSyxNQUFNNUQsQ0FBWCxJQUFnQm5wQyxJQUFoQixFQUFzQjtBQUNwQixVQUFJMHVDLE9BQU8sQ0FBQ250QyxRQUFSLENBQWlCNG5DLENBQWpCLENBQUosRUFDRTs7QUFFRixVQUFJLE9BQU9ucEMsSUFBSSxDQUFDbXBDLENBQUQsQ0FBWCxLQUFtQixRQUF2QixFQUFpQztBQUMvQjtBQUNBO0FBQ0E0RCxRQUFBQSxHQUFHLENBQUM1RCxDQUFELENBQUgsR0FBU3FGLGNBQWMsQ0FBQ0csVUFBZixDQUEwQjN1QyxJQUFJLENBQUNtcEMsQ0FBRCxDQUE5QixDQUFUO0FBQ0E7QUFDRCxPQVRtQixDQVdwQjtBQUNBOzs7QUFDQTRELE1BQUFBLEdBQUcsQ0FBQzVELENBQUQsQ0FBSCxHQUFTbnBDLElBQUksQ0FBQ21wQyxDQUFELENBQWI7QUFDRDs7QUFDRCxXQUFPNEQsR0FBUDtBQUNEOztBQUVnQixTQUFWNEIsVUFBVSxDQUFDM3VDLElBQUQsRUFBMkI7QUFDMUMsUUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO0FBQzVCLFVBQUk4WixLQUFLLENBQUNDLE9BQU4sQ0FBYy9aLElBQWQsQ0FBSixFQUF5QjtBQUN2QixjQUFNK3NDLEdBQUcsR0FBRyxFQUFaOztBQUNBLGFBQUssSUFBSTVELENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUducEMsSUFBSSxDQUFDb04sTUFBekIsRUFBaUMsRUFBRSs3QixDQUFuQyxFQUFzQztBQUNwQztBQUNBO0FBQ0E0RCxVQUFBQSxHQUFHLENBQUM1RCxDQUFELENBQUgsR0FBU3FGLGNBQWMsQ0FBQ0csVUFBZixDQUEwQjN1QyxJQUFJLENBQUNtcEMsQ0FBRCxDQUE5QixDQUFUO0FBQ0Q7O0FBRUQsZUFBTzRELEdBQVA7QUFDRDs7QUFFRCxVQUFJL3NDLElBQUksS0FBSyxJQUFiLEVBQ0UsT0FBTyxJQUFQO0FBRUYsVUFBSUEsSUFBSSxZQUFZd2IsTUFBcEIsRUFDRSxPQUFPLElBQUlBLE1BQUosQ0FBV3hiLElBQVgsQ0FBUDtBQUVGLFlBQU0rc0MsR0FBYSxHQUFHLEVBQXRCOztBQUNBLFdBQUssTUFBTTVELENBQVgsSUFBZ0JucEMsSUFBaEIsRUFBc0I7QUFDcEI7QUFDQTtBQUNBK3NDLFFBQUFBLEdBQUcsQ0FBQzVELENBQUQsQ0FBSCxHQUFTcUYsY0FBYyxDQUFDRyxVQUFmLENBQTBCM3VDLElBQUksQ0FBQ21wQyxDQUFELENBQTlCLENBQVQ7QUFDRDs7QUFFRCxhQUFPNEQsR0FBUDtBQUNEOztBQUNELFdBQU8vc0MsSUFBUDtBQUNEOztBQUVrQixTQUFaNHVDLFlBQVksQ0FBQ3pVLElBQUQsRUFBZTBVLGFBQWEsR0FBRyxJQUEvQixFQUE2QztBQUM5RCxVQUFNQyxRQUFRLEdBQUczVSxJQUFJLEdBQUcsQ0FBUCxHQUFXLEdBQVgsR0FBaUIsRUFBbEM7QUFDQUEsSUFBQUEsSUFBSSxHQUFHN1YsSUFBSSxDQUFDeXFCLEdBQUwsQ0FBUzVVLElBQVQsQ0FBUDtBQUNBLFVBQU02VSxTQUFTLEdBQUc3VSxJQUFJLEdBQUcsSUFBekI7QUFDQSxVQUFNOFUsT0FBTyxHQUFHLENBQUU5VSxJQUFJLElBQUksS0FBSyxJQUFULENBQUwsR0FBdUI2VSxTQUF4QixJQUFxQyxJQUFyRCxDQUo4RCxDQUs5RDs7QUFDQSxVQUFNRSxNQUFNLEdBQUksS0FBSUYsU0FBVSxFQUFmLENBQWlCOWxCLE1BQWpCLENBQXdCLENBQUMsQ0FBekIsQ0FBZjtBQUNBLFVBQU1pbUIsSUFBSSxHQUFJLElBQUdGLE9BQVEsRUFBWixDQUFjL2xCLE1BQWQsQ0FBcUIsQ0FBQyxDQUF0QixDQUFiO0FBQ0EsVUFBTWttQixJQUFJLEdBQUksSUFBRyxDQUFFLENBQUVqVixJQUFJLElBQUksS0FBSyxFQUFMLEdBQVUsSUFBZCxDQUFMLEdBQTRCNlUsU0FBN0IsSUFBMEMsSUFBM0MsR0FBbURDLE9BQXBELElBQStELEVBQUcsRUFBdEUsQ0FBd0UvbEIsTUFBeEUsQ0FBK0UsQ0FBQyxDQUFoRixDQUFiO0FBQ0EsV0FBTzRsQixRQUFRLEdBQUdNLElBQVgsR0FBa0IsR0FBbEIsR0FBd0JELElBQXhCLElBQWdDTixhQUFhLEdBQUcsTUFBTUssTUFBVCxHQUFrQixFQUEvRCxDQUFQO0FBQ0Q7O0FBRXNCLFNBQWhCRyxnQkFBZ0IsQ0FBQ2xWLElBQUQsRUFBZW1WLGNBQWYsRUFBK0M7QUFDcEUsV0FBTyxLQUFLQyxzQkFBTCxDQUE0QixJQUFJdGdCLElBQUosQ0FBU2tMLElBQVQsQ0FBNUIsRUFBNENtVixjQUE1QyxDQUFQO0FBQ0Q7O0FBRTRCLFNBQXRCQyxzQkFBc0IsQ0FBQ0MsSUFBRCxFQUFhRixjQUFiLEVBQTZDO0FBQ3hFLFVBQU1HLFFBQVEsR0FBRyxJQUFJeGdCLElBQUosQ0FBU3VnQixJQUFJLENBQUNFLE9BQUwsS0FBaUJKLGNBQTFCLENBQWpCO0FBQ0EsVUFBTUssSUFBSSxHQUFHRixRQUFRLENBQUNHLGNBQVQsRUFBYjtBQUNBLFVBQU1DLEtBQUssR0FBR3JCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUIsQ0FBQ0wsUUFBUSxDQUFDTSxXQUFULEtBQXlCLENBQTFCLEVBQTZCMWhDLFFBQTdCLEVBQXZCLENBQWQ7QUFDQSxVQUFNMmhDLEdBQUcsR0FBR3hCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUJMLFFBQVEsQ0FBQ1EsVUFBVCxHQUFzQjVoQyxRQUF0QixFQUF2QixDQUFaO0FBQ0EsV0FBUSxHQUFFc2hDLElBQUssSUFBR0UsS0FBTSxJQUFHRyxHQUFJLEVBQS9CO0FBQ0Q7O0FBRXNCLFNBQWhCRSxnQkFBZ0IsQ0FBQy9WLElBQUQsRUFBZW1WLGNBQWYsRUFBdUNULGFBQWEsR0FBRyxLQUF2RCxFQUFzRTtBQUMzRixXQUFPLEtBQUtzQixzQkFBTCxDQUE0QixJQUFJbGhCLElBQUosQ0FBU2tMLElBQVQsQ0FBNUIsRUFBNENtVixjQUE1QyxFQUE0RFQsYUFBNUQsQ0FBUDtBQUNEOztBQUU0QixTQUF0QnNCLHNCQUFzQixDQUFDWCxJQUFELEVBQWFGLGNBQWIsRUFBcUNULGFBQWEsR0FBRyxLQUFyRCxFQUFvRTtBQUMvRixVQUFNWSxRQUFRLEdBQUcsSUFBSXhnQixJQUFKLENBQVN1Z0IsSUFBSSxDQUFDRSxPQUFMLEtBQWlCSixjQUExQixDQUFqQjtBQUNBLFVBQU1jLElBQUksR0FBRzVCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUJMLFFBQVEsQ0FBQ1ksV0FBVCxHQUF1QmhpQyxRQUF2QixFQUF2QixDQUFiO0FBQ0EsVUFBTWlpQyxNQUFNLEdBQUc5QixjQUFjLENBQUNzQixPQUFmLENBQXVCTCxRQUFRLENBQUNjLGFBQVQsR0FBeUJsaUMsUUFBekIsRUFBdkIsQ0FBZjtBQUNBLFVBQU1taUMsTUFBTSxHQUFHaEMsY0FBYyxDQUFDc0IsT0FBZixDQUF1QkwsUUFBUSxDQUFDZ0IsYUFBVCxHQUF5QnBpQyxRQUF6QixFQUF2QixDQUFmO0FBQ0EsUUFBSTArQixHQUFHLEdBQUksR0FBRXFELElBQUssSUFBR0UsTUFBTyxJQUFHRSxNQUFPLEVBQXRDO0FBQ0EsUUFBSTNCLGFBQUosRUFDRTlCLEdBQUcsR0FBR0EsR0FBRyxHQUFJLElBQUd5QixjQUFjLENBQUNzQixPQUFmLENBQXVCTCxRQUFRLENBQUNpQixrQkFBVCxHQUE4QnJpQyxRQUE5QixFQUF2QixFQUFpRSxDQUFqRSxDQUFvRSxFQUFwRjtBQUVGLFdBQU8wK0IsR0FBUDtBQUNEOztBQUVrQixTQUFaNEQsWUFBWSxDQUFDQyxFQUFELEVBQXFCO0FBQ3RDLFVBQU1DLEdBQUcsR0FBR3JDLGNBQWMsQ0FBQ0ksWUFBZixDQUE0QmdDLEVBQTVCLEVBQWdDLEtBQWhDLENBQVo7QUFDQSxXQUFPQyxHQUFHLENBQUN0MEIsT0FBSixDQUFZLEdBQVosRUFBaUIsR0FBakIsSUFBd0IsR0FBL0I7QUFDRDs7QUFFc0IsU0FBaEJ1MEIsZ0JBQWdCLENBQUMzVyxJQUFELEVBQWVtVixjQUFmLEVBQXVDVCxhQUFhLEdBQUcsS0FBdkQsRUFBc0U7QUFDM0YsVUFBTVcsSUFBSSxHQUFHLElBQUl2Z0IsSUFBSixDQUFTa0wsSUFBVCxDQUFiO0FBQ0EsVUFBTTRXLFVBQVUsR0FBRyxLQUFLeEIsc0JBQUwsQ0FBNEJDLElBQTVCLEVBQWtDRixjQUFsQyxDQUFuQjtBQUNBLFVBQU0xQixVQUFVLEdBQUcsS0FBS3VDLHNCQUFMLENBQTRCWCxJQUE1QixFQUFrQ0YsY0FBbEMsRUFBa0RULGFBQWxELENBQW5CO0FBQ0EsV0FBT2tDLFVBQVUsR0FBRyxHQUFiLEdBQW1CbkQsVUFBMUI7QUFDRDs7QUFFYSxTQUFQa0MsT0FBTyxDQUFDaGlDLEdBQUQsRUFBY2tqQyxHQUFHLEdBQUcsQ0FBcEIsRUFBK0I7QUFDM0MsV0FBTyxDQUFDLEtBQUtsakMsR0FBTixFQUFXbWpDLFFBQVgsQ0FBb0JELEdBQXBCLEVBQXlCLEdBQXpCLENBQVA7QUFDRDs7QUFFZ0IsU0FBVkUsVUFBVSxDQUFDcGpDLEdBQUQsRUFBc0I7QUFDckMsV0FBT0EsR0FBRyxDQUFDeU8sT0FBSixDQUFZLHFCQUFaLEVBQW9DNDBCLEdBQUQsSUFBUztBQUNqRCxhQUFPQSxHQUFHLENBQUN6TCxNQUFKLENBQVcsQ0FBWCxFQUFjNXFCLFdBQWQsS0FBOEJxMkIsR0FBRyxDQUFDam9CLE1BQUosQ0FBVyxDQUFYLEVBQWMzRCxXQUFkLEVBQXJDO0FBQ0QsS0FGTSxDQUFQO0FBR0Q7O0FBRWtCLFNBQVo2ckIsWUFBWSxDQUFDdGpDLEdBQUQsRUFBY2tqQyxHQUFkLEVBQW1DO0FBQ3BELFdBQU9sakMsR0FBRyxDQUFDbWpDLFFBQUosQ0FBYUQsR0FBYixFQUFrQixHQUFsQixDQUFQO0FBQ0Q7O0FBRW1CLFNBQWJLLGFBQWEsQ0FDbEJwdkMsSUFEa0IsRUFFbEIyMkIsT0FGa0IsRUFHa0M7QUFDcEQsUUFBSUEsT0FBTyxZQUFZcGQsTUFBdkIsRUFDRSxPQUFPb2QsT0FBTyxDQUFDanFCLElBQVIsQ0FBYTFNLElBQWIsQ0FBUDs7QUFFRixTQUFLLE1BQU1xdkMsT0FBWCxJQUFzQjFZLE9BQXRCLEVBQStCO0FBQzdCLFlBQU12M0IsSUFBSSxHQUFHaXdDLE9BQWI7QUFDQSxZQUFNaGlCLEdBQUcsR0FBR3NKLE9BQU8sQ0FBQ3YzQixJQUFELENBQVAsQ0FBY3NOLElBQWQsQ0FBbUIxTSxJQUFuQixDQUFaOztBQUNBLFVBQUlxdEIsR0FBSixFQUFTO0FBQ1AsWUFBSUEsR0FBRyxDQUFDaWlCLE1BQVIsRUFDRWppQixHQUFHLENBQUNpaUIsTUFBSixDQUFXN3FCLFFBQVgsR0FBc0JybEIsSUFBdEI7QUFDRixlQUFPaXVCLEdBQVA7QUFDRDtBQUNGOztBQUNELFdBQU8sSUFBUDtBQUNEOztBQUVnQixTQUFWa2lCLFVBQVUsQ0FBQ3Z2QyxJQUFELEVBQTJDO0FBQzFELFFBQUlxdEIsR0FBSixDQUQwRCxDQUUxRDtBQUNBOztBQUNBQSxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ2lELGdCQUFsRCxDQUFOOztBQUNBLFFBQUluaUIsR0FBSixFQUFTO0FBQUE7O0FBQ1AsYUFBTztBQUNMb2lCLFFBQUFBLE9BQU8sRUFBRSxDQUFDeGtDLFFBQVEsb0NBQUNvaUIsR0FBRyxDQUFDaWlCLE1BQUwsZ0RBQUMsWUFBWXBYLElBQWIsK0RBQXFCLEdBQXJCLENBQVIsR0FBb0MsSUFBckMsRUFBMkM5ckIsUUFBM0MsRUFESjtBQUVMc2pDLFFBQUFBLFNBQVMsRUFBRSxXQUZOO0FBR0xqckIsUUFBQUEsUUFBUSwwQ0FBRTRJLEdBQUcsQ0FBQ2lpQixNQUFOLGlEQUFFLGFBQVk3cUIsUUFBZCx1RUFBMEJwTztBQUg3QixPQUFQO0FBS0Q7O0FBQ0RnWCxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ29ELFdBQWxELENBQU47O0FBQ0EsUUFBSXRpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0xvaUIsUUFBQUEsT0FBTyxFQUFFLEdBREo7QUFFTEMsUUFBQUEsU0FBUyxFQUFFLE1BRk47QUFHTGpyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBSDdCLE9BQVA7QUFLRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDcUQsYUFBbEQsQ0FBTjs7QUFDQSxRQUFJdmlCLEdBQUosRUFBUztBQUFBOztBQUNQLGFBQU87QUFDTG9pQixRQUFBQSxPQUFPLEVBQUUsR0FESjtBQUVMQyxRQUFBQSxTQUFTLEVBQUUsUUFGTjtBQUdManJCLFFBQUFBLFFBQVEsMkNBQUU0SSxHQUFHLENBQUNpaUIsTUFBTixpREFBRSxhQUFZN3FCLFFBQWQseUVBQTBCcE87QUFIN0IsT0FBUDtBQUtEO0FBQ0Y7O0FBRWMsU0FBUnc1QixRQUFRLENBQUM3dkMsSUFBRCxFQUF5QztBQUN0RCxRQUFJcXRCLEdBQUosQ0FEc0QsQ0FFdEQ7QUFDQTs7QUFDQUEsSUFBQUEsR0FBRyxHQUFHa2YsY0FBYyxDQUFDNkMsYUFBZixDQUE2QnB2QyxJQUE3QixFQUFtQ3VzQyxjQUFjLENBQUN1RCxRQUFsRCxDQUFOOztBQUNBLFFBQUl6aUIsR0FBSixFQUFTO0FBQUE7O0FBQ1AsYUFBTztBQUNMMGlCLFFBQUFBLE9BQU8sRUFBRSxLQURKO0FBRUx0ckIsUUFBQUEsUUFBUSwyQ0FBRTRJLEdBQUcsQ0FBQ2lpQixNQUFOLGlEQUFFLGFBQVk3cUIsUUFBZCx5RUFBMEJwTztBQUY3QixPQUFQO0FBSUQ7O0FBQ0RnWCxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ3lELFNBQWxELENBQU47O0FBQ0EsUUFBSTNpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0wwaUIsUUFBQUEsT0FBTyxFQUFFLE1BREo7QUFFTHRyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBRjdCLE9BQVA7QUFJRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDMEQsZ0JBQWxELENBQU47O0FBQ0EsUUFBSTVpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0wwaUIsUUFBQUEsT0FBTyxFQUFFLGNBREo7QUFFTHRyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBRjdCLE9BQVA7QUFJRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDMkQsYUFBbEQsQ0FBTjs7QUFDQSxRQUFJN2lCLEdBQUosRUFBUztBQUFBOztBQUNQLGFBQU87QUFDTDBpQixRQUFBQSxPQUFPLEVBQUUsUUFESjtBQUVMdHJCLFFBQUFBLFFBQVEsMkNBQUU0SSxHQUFHLENBQUNpaUIsTUFBTixpREFBRSxhQUFZN3FCLFFBQWQseUVBQTBCcE87QUFGN0IsT0FBUDtBQUlEO0FBQ0Y7O0FBMU1pQzs7OEJBQWZrMkIsK0JBNE1FN0I7OzhCQTVNRjZCLGlDQTZNSTdCOzs4QkE3TUo2QixvQ0E4TU83Qjs7OEJBOU1QNkIsaUNBK01JN0I7OzhCQS9NSjZCLDZCQWdOQTVnQyw2Q0FBQSxDQUFxQjtBQUFFckUsRUFBQUEsT0FBTyxFQUFFO0FBQVgsQ0FBckI7OzhCQWhOQWlsQyw0QkFpTkQ1Z0MsNkNBQUEsQ0FBcUI7QUFBRXJFLEVBQUFBLE9BQU8sRUFBRTtBQUFYLENBQXJCOzs4QkFqTkNpbEMsb0NBa05PNWdDLG1DQUFBLENBQWdCO0FBQUUzTCxFQUFBQSxJQUFJLEVBQUU7QUFBUixDQUFoQjs7OztBQ3pTNUI7QUFFQTtBQUlBLE1BQU1ILE1BQU0sR0FBRztBQUNiaVcsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYmhXLEVBQUFBLFNBQVMsRUFBRTtBQUZFLENBQWY7QUFLQSxNQUFNcXdDLHVCQUF1QixHQUFHLFNBQWhDO0FBRUEsTUFBTUMsZ0JBQTRDLEdBQUcsRUFBckQ7QUFDQSxNQUFNQyxjQUFnQyxHQUFHN3dDLDBCQUF6Qzs7QUFDQSxLQUFLLE1BQU04d0MsR0FBWCxJQUFrQnptQyxNQUFNLENBQUMyM0IsTUFBUCxDQUFjNk8sY0FBZCxDQUFsQixFQUNFRCxnQkFBZ0IsQ0FBQ0UsR0FBRyxDQUFDNXdDLElBQUwsQ0FBaEIsR0FBNkI0d0MsR0FBRyxDQUFDMXdDLFdBQWpDO0FBRUY7QUFDQTtBQUNBOzs7QUFDZSxNQUFNMndDLFNBQU4sQ0FBZ0I7QUFZN0JyaUMsRUFBQUEsV0FBVyxDQUFDc2lDLElBQUQsRUFBNkJDLFdBQTdCLEVBQWtEdFMsS0FBbEQsRUFBbUU7QUFBQTs7QUFBQSw2Q0FYOUQsQ0FXOEQ7O0FBQUEsOENBVDdELEtBUzZEOztBQUFBLDRDQVIvRCxDQVErRDs7QUFBQSxTQUF0Q3NTLFdBQXNDLEdBQXRDQSxXQUFzQztBQUM1RSxVQUFNQyxlQUFlLDRCQUFHdlMsS0FBSyxDQUFDdCtCLE1BQU0sQ0FBQ0MsU0FBUixDQUFSLHlFQUE4QixHQUFuRDtBQUNBLFNBQUt1dEMsY0FBTCxHQUFzQjNCLHVCQUF1QixDQUFDZ0YsZUFBRCxDQUE3QztBQUNBLFNBQUtDLFdBQUwsMEJBQW1CeFMsS0FBSyxDQUFDdCtCLE1BQU0sQ0FBQ2lXLEtBQVIsQ0FBeEIscUVBQTBDLElBQTFDO0FBQ0EsU0FBSzg2QixRQUFMLEdBQWdCM2xDLFFBQVEsQ0FBQyxLQUFLMGxDLFdBQU4sQ0FBeEI7QUFDQSxTQUFLRSxRQUFMLEdBQWdCdEUsc0JBQUEsQ0FBdUIsS0FBS3FFLFFBQUwsQ0FBY3hrQyxRQUFkLENBQXVCLEVBQXZCLEVBQTJCeU0sV0FBM0IsRUFBdkIsQ0FBaEI7QUFDQSxTQUFLL1ksU0FBTCxHQUFpQixJQUFJa3RCLElBQUosQ0FBUzBqQixlQUFULEVBQTBCakQsT0FBMUIsRUFBakI7QUFDQSxTQUFLcUQsUUFBTCxvQkFBZ0IzUyxLQUFLLENBQUN2bEIsS0FBTixDQUFZLENBQUMsQ0FBYixFQUFnQixDQUFoQixDQUFoQix5REFBc0MsRUFBdEM7QUFDQTQzQixJQUFBQSxJQUFJLENBQUNPLGVBQUwsQ0FBcUIsS0FBS2p4QyxTQUExQjtBQUNBLFNBQUtreEMsYUFBTCxHQUFxQixLQUFLdDRCLE1BQUwsS0FBaUJ5bEIsS0FBSyxDQUFDdmxCLEtBQU4sQ0FBWSxDQUFaLEVBQWUsQ0FBQyxDQUFoQixFQUFtQlksSUFBbkIsQ0FBd0IsR0FBeEIsQ0FBRCxDQUErQmMsT0FBL0IsQ0FBdUMsR0FBdkMsRUFBNEMsR0FBNUMsQ0FBckM7QUFDRDs7QUFFRDVCLEVBQUFBLE1BQU0sR0FBVztBQUFBOztBQUNmLFVBQU1pekIsVUFBVSxHQUFHWSwrQkFBQSxDQUFnQyxLQUFLenNDLFNBQXJDLEVBQWdELEtBQUt1dEMsY0FBckQsRUFBcUUsSUFBckUsQ0FBbkI7QUFDQSxVQUFNNEQsY0FBYyw0QkFBR2IsZ0JBQWdCLENBQUMsS0FBS08sV0FBTixDQUFuQix5RUFBeUNSLHVCQUE3RDtBQUNBLFdBQVEsSUFBR3hFLFVBQVcsS0FBSXNGLGNBQWUsSUFBRyxLQUFLSixRQUFTLEdBQTFEO0FBQ0Q7O0FBRXNCLFNBQWhCSyxnQkFBZ0IsQ0FBQ3JzQyxNQUFELEVBQTBCO0FBQy9DLFdBQU8sQ0FBQ29HLFFBQVEsQ0FBQ3BHLE1BQUQsRUFBUyxFQUFULENBQVIsR0FBdUJvRyxRQUFRLENBQUMsTUFBRCxFQUFTLEVBQVQsQ0FBaEMsSUFBZ0QsQ0FBdkQ7QUFDRDs7QUFFaUIsU0FBWGttQyxXQUFXLENBQUN0c0MsTUFBRCxFQUEwQjtBQUMxQyxXQUFPLENBQUNvRyxRQUFRLENBQUNwRyxNQUFELEVBQVMsRUFBVCxDQUFSLEdBQXVCb0csUUFBUSxDQUFDLE1BQUQsRUFBUyxFQUFULENBQWhDLElBQWdELENBQXZEO0FBQ0Q7O0FBRXFCLFNBQWZtbUMsZUFBZSxDQUFDdnNDLE1BQUQsRUFBeUI7QUFDN0MsUUFBSTByQyxTQUFTLENBQUNXLGdCQUFWLENBQTJCcnNDLE1BQTNCLENBQUosRUFDRSxPQUFPLENBQVA7QUFFRkEsSUFBQUEsTUFBTSxHQUFHMG5DLHNCQUFBLENBQXVCMW5DLE1BQXZCLEVBQStCLENBQS9CLENBQVQ7QUFDQSxVQUFNczVCLEtBQUssR0FBRyxDQUNadDVCLE1BQU0sQ0FBQ29pQixNQUFQLENBQWMsQ0FBZCxFQUFpQixDQUFqQixDQURZLEVBRVpwaUIsTUFBTSxDQUFDb2lCLE1BQVAsQ0FBYyxDQUFkLEVBQWlCLENBQWpCLENBRlksRUFHWnBpQixNQUFNLENBQUNvaUIsTUFBUCxDQUFjLENBQWQsRUFBaUIsQ0FBakIsQ0FIWSxFQUlacGlCLE1BQU0sQ0FBQ29pQixNQUFQLENBQWMsQ0FBZCxFQUFpQixDQUFqQixDQUpZLENBQWQ7QUFPQSxRQUFJLENBQUNzcEIsU0FBUyxDQUFDWSxXQUFWLENBQXNCdHNDLE1BQXRCLENBQUwsRUFDRSxPQUFPb0csUUFBUSxDQUFDa3pCLEtBQUssQ0FBQ3ZsQixLQUFOLENBQVksQ0FBWixFQUFlLENBQWYsRUFBa0J5NEIsT0FBbEIsR0FBNEI3M0IsSUFBNUIsQ0FBaUMsRUFBakMsQ0FBRCxFQUF1QyxFQUF2QyxDQUFmO0FBRUYsV0FBT3ZPLFFBQVEsQ0FDWmt6QixLQUFLLENBQUMsQ0FBRCxDQUFMLEdBQVdBLEtBQUssQ0FBQyxDQUFELENBQWpCLEdBQ0UsQ0FBQ2x6QixRQUFRLENBQUNrekIsS0FBSyxDQUFDLENBQUQsQ0FBTixFQUFXLEVBQVgsQ0FBUixHQUF5Qmx6QixRQUFRLENBQUNrekIsS0FBSyxDQUFDLENBQUQsQ0FBTixFQUFXLEVBQVgsQ0FBbEMsRUFBa0QveEIsUUFBbEQsQ0FBMkQsRUFBM0QsQ0FGVyxFQUdiLEVBSGEsQ0FBZjtBQUtEOztBQTFENEIsRUE2RC9CO0FBQ0E7QUFDQTs7QUFnQk8sTUFBTWtsQyxpQkFBaUIsR0FBSXR4QyxJQUFELElBQThDO0FBQzdFLFNBQU8sY0FBY0EsSUFBckI7QUFDRCxDQUZNO0FBa0JBLE1BQU11eEMsaUJBQWlCLEdBQUl2eEMsSUFBRCxJQUE4QztBQUM3RSxTQUFPLGNBQWNBLElBQXJCO0FBQ0QsQ0FGTTtBQVdBLE1BQU13eEMsbUJBQW1CLEdBQUl4eEMsSUFBRCxJQUFnRDtBQUNqRixTQUFPLGdCQUFnQkEsSUFBdkI7QUFDRCxDQUZNO0FBVUEsTUFBTXl4QyxrQkFBa0IsR0FBSXp4QyxJQUFELElBQStDO0FBQy9FLFNBQU8sZUFBZUEsSUFBdEI7QUFDRCxDQUZNOzs7O0FDMUlQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFTZSxNQUFNMnhDLGdCQUFOLENBQXVCO0FBV3BDempDLEVBQUFBLFdBQVcsQ0FBQzBqQyxRQUFELEVBQXdCbnRCLFFBQXhCLEVBQXdDO0FBQUEsd0RBUFQsRUFPUzs7QUFBQSwwREFOMUIsRUFNMEI7O0FBQUEscURBTC9CLEVBSytCOztBQUFBLG9EQUpoQyxFQUlnQzs7QUFBQSxrREFIbEMsRUFHa0M7O0FBQUEsMkRBRFEsRUFDUjs7QUFDakQsU0FBS0EsUUFBTCxHQUFnQkEsUUFBaEI7QUFDQSxTQUFLb3RCLGNBQUwsR0FBc0J2YyxNQUFNLENBQUN3YyxnQkFBN0I7QUFDQSxTQUFLQyxhQUFMLEdBQXFCLENBQXJCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQkosUUFBaEIsRUFKaUQsQ0FLakQ7O0FBQ0EsU0FBS0ssYUFBTCxHQUFxQixFQUFyQjtBQUNEOztBQUVERCxFQUFBQSxVQUFVLENBQUNKLFFBQUQsRUFBOEI7QUFDdEM7QUFDQTtBQUNBLFNBQUssTUFBTTV4QyxJQUFYLElBQW1CNHhDLFFBQW5CLEVBQTZCO0FBQzNCLFdBQUtDLGNBQUwsR0FBc0J4dkIsSUFBSSxDQUFDNnZCLEdBQUwsQ0FBUyxLQUFLTCxjQUFkLEVBQThCN3hDLElBQUksQ0FBQ0YsU0FBbkMsQ0FBdEI7QUFDQSxXQUFLaXlDLGFBQUwsR0FBcUIxdkIsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBS3l2QixhQUFkLEVBQTZCL3hDLElBQUksQ0FBQ0YsU0FBbEMsQ0FBckI7QUFFQSxVQUFJd3hDLGlCQUFpQixDQUFDdHhDLElBQUQsQ0FBckIsRUFDRSxLQUFLbXlDLG9CQUFMLENBQTBCbnlDLElBQTFCO0FBRUYsVUFBSXV4QyxpQkFBaUIsQ0FBQ3Z4QyxJQUFELENBQXJCLEVBQ0UsS0FBS295QywwQkFBTCxDQUFnQ3B5QyxJQUFoQztBQUNILEtBWnFDLENBY3RDOzs7QUFDQSxTQUFLLE1BQU1JLEVBQVgsSUFBaUIsS0FBSzZ4QyxhQUF0QixFQUFxQztBQUFBOztBQUNuQyxZQUFNckwsS0FBSyw0QkFBRyxLQUFLcUwsYUFBTCxDQUFtQjd4QyxFQUFuQixDQUFILHlFQUE2QixFQUF4QztBQUNBLGtDQUFLaXlDLFVBQUwsQ0FBZ0JqeUMsRUFBaEIsNkVBQXFCdW1DLFNBQXJCLENBQ0UsS0FBS2tMLGNBRFAsRUFFRSxJQUFJMUosY0FBSixDQUNFN1MsTUFBTSxDQUFDc1IsS0FBSyxDQUFDd0IsSUFBUCxDQURSLEVBRUU5UyxNQUFNLENBQUNzUixLQUFLLENBQUN5QixJQUFQLENBRlIsRUFHRS9TLE1BQU0sQ0FBQ3NSLEtBQUssQ0FBQzBCLElBQVAsQ0FIUixFQUlFaFQsTUFBTSxDQUFDc1IsS0FBSyxDQUFDdGxDLE9BQVAsQ0FKUix1QkFLRXNsQyxLQUFLLENBQUMyQixVQUxSLGlFQUtzQixLQUx0QixFQU1FalQsTUFBTSxDQUFDc1IsS0FBSyxDQUFDNWxDLEVBQVAsQ0FOUixFQU9FczBCLE1BQU0sQ0FBQ3NSLEtBQUssQ0FBQ3RoQyxLQUFQLENBUFIsRUFRRWd3QixNQUFNLENBQUNzUixLQUFLLENBQUMxbEMsRUFBUCxDQVJSLEVBU0VvMEIsTUFBTSxDQUFDc1IsS0FBSyxDQUFDcmhDLEtBQVAsQ0FUUixDQUZGO0FBY0QsS0EvQnFDLENBaUN0Qzs7O0FBQ0EsVUFBTStzQyxZQUF1QyxHQUFHLEVBQWhEOztBQUNBLFNBQUssTUFBTXR5QyxJQUFYLElBQW1CNHhDLFFBQW5CLEVBQTZCO0FBQzNCLFVBQUlOLGlCQUFpQixDQUFDdHhDLElBQUQsQ0FBckIsRUFBNkI7QUFDM0IsY0FBTTRtQyxLQUFLLEdBQUcsS0FBSzJMLG9CQUFMLENBQTBCdnlDLElBQTFCLENBQWQ7O0FBQ0EsWUFBSTRtQyxLQUFKLEVBQVc7QUFBQTs7QUFDVDBMLFVBQUFBLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUNJLEVBQU4sQ0FBWiw0QkFBd0JreUMsWUFBWSxDQUFDdHlDLElBQUksQ0FBQ0ksRUFBTixDQUFwQyx5RUFBaUQsQ0FBakQ7QUFDQSxZQUFFa3lDLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUNJLEVBQU4sQ0FBZDtBQUNBLHdDQUFLaXlDLFVBQUwsQ0FBZ0JyeUMsSUFBSSxDQUFDSSxFQUFyQixpRkFBMEJnbkMsZ0JBQTFCLENBQTJDcG5DLElBQUksQ0FBQ0YsU0FBaEQsRUFBMkQ4bUMsS0FBM0Q7QUFDRDtBQUNGOztBQUNELFVBQUkySyxpQkFBaUIsQ0FBQ3Z4QyxJQUFELENBQXJCLEVBQTZCO0FBQzNCLGNBQU00bUMsS0FBSyxHQUFHLEtBQUs0TCwwQkFBTCxDQUFnQ3h5QyxJQUFoQyxDQUFkOztBQUNBLFlBQUk0bUMsS0FBSixFQUFXO0FBQUE7O0FBQ1QwTCxVQUFBQSxZQUFZLENBQUN0eUMsSUFBSSxDQUFDeUUsUUFBTixDQUFaLDRCQUE4QjZ0QyxZQUFZLENBQUN0eUMsSUFBSSxDQUFDeUUsUUFBTixDQUExQyx5RUFBNkQsQ0FBN0Q7QUFDQSxZQUFFNnRDLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUN5RSxRQUFOLENBQWQ7QUFDQSx5Q0FBSzR0QyxVQUFMLENBQWdCcnlDLElBQUksQ0FBQ3lFLFFBQXJCLG1GQUFnQzJpQyxnQkFBaEMsQ0FBaURwbkMsSUFBSSxDQUFDRixTQUF0RCxFQUFpRThtQyxLQUFqRTtBQUNEO0FBQ0Y7QUFDRixLQXBEcUMsQ0FzRHRDOzs7QUFDQSxVQUFNNkwsUUFBUSxHQUFHZixTQUFjLENBQUMsS0FBS2p0QixRQUFOLENBQS9CO0FBQ0EsU0FBS2l1QixNQUFMLEdBQWMsS0FBS0EsTUFBTCxDQUFZbG5DLE1BQVosQ0FBb0JtbkMsRUFBRCxJQUFRO0FBQUE7O0FBQ3ZDLFVBQ0UsNkJBQUtOLFVBQUwsQ0FBZ0JNLEVBQWhCLDZFQUFxQnAwQyxHQUFyQixNQUE2QjhYLFNBQTdCLElBQ0EsOEJBQUtnOEIsVUFBTCxDQUFnQk0sRUFBaEIsK0VBQXFCcDBDLEdBQXJCLE1BQTZCLE1BRDdCLElBRUFvMEMsRUFBRSxDQUFDanZCLFVBQUgsQ0FBYyxHQUFkLENBSEYsRUFJRTtBQUNBLGFBQUtrdkIsWUFBTCxDQUFrQm5vQyxJQUFsQixDQUF1QmtvQyxFQUF2QjtBQUNBLGVBQU8sS0FBUDtBQUNELE9BUEQsTUFPTyxJQUFJRixRQUFRLENBQUNuekMsUUFBVCxrREFBa0IsS0FBSyt5QyxVQUFMLENBQWdCTSxFQUFoQixDQUFsQix5REFBa0IscUJBQXFCaHpDLElBQXZDLHlFQUErQyxFQUEvQyxDQUFKLEVBQXdEO0FBQzdELGFBQUtrekMsSUFBTCxDQUFVcG9DLElBQVYsQ0FBZWtvQyxFQUFmO0FBQ0EsZUFBTyxLQUFQO0FBQ0QsT0FITSxNQUdBLElBQUkscUJBQUNMLFlBQVksQ0FBQ0ssRUFBRCxDQUFiLCtEQUFxQixDQUFyQixJQUEwQixDQUE5QixFQUFpQztBQUN0QyxhQUFLRyxPQUFMLENBQWFyb0MsSUFBYixDQUFrQmtvQyxFQUFsQjtBQUNBLGVBQU8sS0FBUDtBQUNEOztBQUNELGFBQU8sSUFBUDtBQUNELEtBaEJhLENBQWQsQ0F4RHNDLENBMEV0Qzs7QUFDQSxTQUFLSSxlQUFMLEdBQXVCLEtBQUtELE9BQUwsQ0FBYWhvQyxJQUFiLENBQWtCLENBQUNrb0MsQ0FBRCxFQUFJMVosQ0FBSixLQUFVO0FBQUE7O0FBQ2pELGFBQU8sb0JBQUNnWixZQUFZLENBQUNoWixDQUFELENBQWIsNkRBQW9CLENBQXBCLHdCQUEwQmdaLFlBQVksQ0FBQ1UsQ0FBRCxDQUF0Qyw2REFBNkMsQ0FBN0MsQ0FBUDtBQUNELEtBRnNCLEVBRXBCLENBRm9CLENBQXZCO0FBR0Q7O0FBRURiLEVBQUFBLG9CQUFvQixDQUFDbnlDLElBQUQsRUFBOEI7QUFBQTs7QUFDaEQsVUFBTWl6QyxTQUFTLEdBQUcsS0FBS0MsYUFBTCxDQUFtQmx6QyxJQUFJLENBQUNJLEVBQXhCLEVBQTRCSixJQUFJLENBQUNMLElBQWpDLENBQWxCO0FBQ0EsVUFBTXd6QyxTQUFTLDRCQUFHLEtBQUtsQixhQUFMLENBQW1CanlDLElBQUksQ0FBQ0ksRUFBeEIsQ0FBSCx5RUFBa0MsRUFBakQ7QUFFQSxVQUFNZ3pDLGNBQWMsNEJBQUcsS0FBS2Isb0JBQUwsQ0FBMEJ2eUMsSUFBMUIsQ0FBSCx5RUFBc0MsRUFBMUQ7QUFFQW16QyxJQUFBQSxTQUFTLENBQUMvSyxJQUFWLHNCQUFpQitLLFNBQVMsQ0FBQy9LLElBQTNCLDZEQUFtQ2dMLGNBQWMsQ0FBQ2hMLElBQWxEO0FBQ0ErSyxJQUFBQSxTQUFTLENBQUM5SyxJQUFWLHNCQUFpQjhLLFNBQVMsQ0FBQzlLLElBQTNCLDZEQUFtQytLLGNBQWMsQ0FBQy9LLElBQWxEO0FBQ0E4SyxJQUFBQSxTQUFTLENBQUM3SyxJQUFWLHNCQUFpQjZLLFNBQVMsQ0FBQzdLLElBQTNCLDZEQUFtQzhLLGNBQWMsQ0FBQzlLLElBQWxEO0FBQ0E2SyxJQUFBQSxTQUFTLENBQUM3eEMsT0FBVix5QkFBb0I2eEMsU0FBUyxDQUFDN3hDLE9BQTlCLG1FQUF5Qzh4QyxjQUFjLENBQUM5eEMsT0FBeEQ7QUFDQTZ4QyxJQUFBQSxTQUFTLENBQUM1SyxVQUFWLDRCQUF1QjRLLFNBQVMsQ0FBQzVLLFVBQWpDLHlFQUErQzZLLGNBQWMsQ0FBQzdLLFVBQTlEO0FBQ0E0SyxJQUFBQSxTQUFTLENBQUNueUMsRUFBVixvQkFBZW15QyxTQUFTLENBQUNueUMsRUFBekIseURBQStCb3lDLGNBQWMsQ0FBQ3B5QyxFQUE5QztBQUNBbXlDLElBQUFBLFNBQVMsQ0FBQzd0QyxLQUFWLHVCQUFrQjZ0QyxTQUFTLENBQUM3dEMsS0FBNUIsK0RBQXFDOHRDLGNBQWMsQ0FBQzl0QyxLQUFwRDtBQUNBNnRDLElBQUFBLFNBQVMsQ0FBQ2p5QyxFQUFWLG9CQUFlaXlDLFNBQVMsQ0FBQ2p5QyxFQUF6Qix5REFBK0JreUMsY0FBYyxDQUFDbHlDLEVBQTlDO0FBQ0FpeUMsSUFBQUEsU0FBUyxDQUFDNXRDLEtBQVYsdUJBQWtCNHRDLFNBQVMsQ0FBQzV0QyxLQUE1QiwrREFBcUM2dEMsY0FBYyxDQUFDN3RDLEtBQXBEOztBQUVBLFFBQUlpc0MsbUJBQW1CLENBQUN4eEMsSUFBRCxDQUF2QixFQUErQjtBQUFBOztBQUM3Qml6QyxNQUFBQSxTQUFTLENBQUMxMEMsR0FBVix1REFBZ0IsS0FBSzh6QyxVQUFMLENBQWdCcnlDLElBQUksQ0FBQ0ksRUFBckIsQ0FBaEIsMkRBQWdCLHVCQUEwQjdCLEdBQTFDLDJFQUFpRHlCLElBQUksQ0FBQ3pCLEdBQXREO0FBQ0EwMEMsTUFBQUEsU0FBUyxDQUFDeHlDLEtBQVYsdURBQWtCLEtBQUs0eEMsVUFBTCxDQUFnQnJ5QyxJQUFJLENBQUNJLEVBQXJCLENBQWxCLDJEQUFrQix1QkFBMEJLLEtBQTVDLDJFQUFxRFQsSUFBSSxDQUFDUyxLQUExRDtBQUNEOztBQUVELFFBQUlneEMsa0JBQWtCLENBQUN6eEMsSUFBRCxDQUF0QixFQUE4QjtBQUM1QixVQUFJLENBQUNpekMsU0FBUyxDQUFDMTBDLEdBQVgsSUFBa0IsQ0FBQ3lCLElBQUksQ0FBQ0ksRUFBTCxDQUFRc2pCLFVBQVIsQ0FBbUIsR0FBbkIsQ0FBbkIsSUFBOEMxakIsSUFBSSxDQUFDaW9DLFNBQUwsS0FBbUI1eEIsU0FBckUsRUFDRTQ4QixTQUFTLENBQUMxMEMsR0FBVixHQUFnQndwQyx5QkFBQSxDQUEwQi9uQyxJQUFJLENBQUNpb0MsU0FBL0IsQ0FBaEI7QUFDSDtBQUNGOztBQUVEbUssRUFBQUEsMEJBQTBCLENBQUNweUMsSUFBRCxFQUE4QjtBQUFBOztBQUN0RCxTQUFLa3pDLGFBQUwsQ0FBbUJsekMsSUFBSSxDQUFDeUUsUUFBeEIsRUFBa0N6RSxJQUFJLENBQUMyRyxVQUF2QztBQUNBLFVBQU13c0MsU0FBUyw2QkFBRyxLQUFLbEIsYUFBTCxDQUFtQmp5QyxJQUFJLENBQUN5RSxRQUF4QixDQUFILDJFQUF3QyxFQUF2RDtBQUVBLFVBQU0ydUMsY0FBYyw2QkFBRyxLQUFLWiwwQkFBTCxDQUFnQ3h5QyxJQUFoQyxDQUFILDJFQUE0QyxFQUFoRTtBQUVBbXpDLElBQUFBLFNBQVMsQ0FBQy9LLElBQVYsdUJBQWlCK0ssU0FBUyxDQUFDL0ssSUFBM0IsK0RBQW1DZ0wsY0FBYyxDQUFDaEwsSUFBbEQ7QUFDQStLLElBQUFBLFNBQVMsQ0FBQzlLLElBQVYsdUJBQWlCOEssU0FBUyxDQUFDOUssSUFBM0IsK0RBQW1DK0ssY0FBYyxDQUFDL0ssSUFBbEQ7QUFDQThLLElBQUFBLFNBQVMsQ0FBQzdLLElBQVYsdUJBQWlCNkssU0FBUyxDQUFDN0ssSUFBM0IsK0RBQW1DOEssY0FBYyxDQUFDOUssSUFBbEQ7QUFDQTZLLElBQUFBLFNBQVMsQ0FBQzd4QyxPQUFWLDBCQUFvQjZ4QyxTQUFTLENBQUM3eEMsT0FBOUIscUVBQXlDOHhDLGNBQWMsQ0FBQzl4QyxPQUF4RDtBQUNBNnhDLElBQUFBLFNBQVMsQ0FBQ255QyxFQUFWLHFCQUFlbXlDLFNBQVMsQ0FBQ255QyxFQUF6QiwyREFBK0JveUMsY0FBYyxDQUFDcHlDLEVBQTlDO0FBQ0FteUMsSUFBQUEsU0FBUyxDQUFDN3RDLEtBQVYsd0JBQWtCNnRDLFNBQVMsQ0FBQzd0QyxLQUE1QixpRUFBcUM4dEMsY0FBYyxDQUFDOXRDLEtBQXBEO0FBQ0E2dEMsSUFBQUEsU0FBUyxDQUFDanlDLEVBQVYscUJBQWVpeUMsU0FBUyxDQUFDanlDLEVBQXpCLDJEQUErQmt5QyxjQUFjLENBQUNseUMsRUFBOUM7QUFDQWl5QyxJQUFBQSxTQUFTLENBQUM1dEMsS0FBVix3QkFBa0I0dEMsU0FBUyxDQUFDNXRDLEtBQTVCLGlFQUFxQzZ0QyxjQUFjLENBQUM3dEMsS0FBcEQ7QUFDRDs7QUFFRGd0QyxFQUFBQSxvQkFBb0IsQ0FBQ3Z5QyxJQUFELEVBQWlEO0FBQ25FLFVBQU00bUMsS0FBOEIsR0FBRyxFQUF2QztBQUVBLFFBQUk1bUMsSUFBSSxDQUFDbUIsQ0FBTCxLQUFXa1YsU0FBZixFQUNFdXdCLEtBQUssQ0FBQ3dCLElBQU4sR0FBYXBvQyxJQUFJLENBQUNtQixDQUFsQjtBQUNGLFFBQUluQixJQUFJLENBQUNvQixDQUFMLEtBQVdpVixTQUFmLEVBQ0V1d0IsS0FBSyxDQUFDeUIsSUFBTixHQUFhcm9DLElBQUksQ0FBQ29CLENBQWxCO0FBQ0YsUUFBSXBCLElBQUksQ0FBQ3FCLENBQUwsS0FBV2dWLFNBQWYsRUFDRXV3QixLQUFLLENBQUMwQixJQUFOLEdBQWF0b0MsSUFBSSxDQUFDcUIsQ0FBbEI7QUFDRixRQUFJckIsSUFBSSxDQUFDc0IsT0FBTCxLQUFpQitVLFNBQXJCLEVBQ0V1d0IsS0FBSyxDQUFDdGxDLE9BQU4sR0FBZ0J0QixJQUFJLENBQUNzQixPQUFyQjtBQUNGLFFBQUl0QixJQUFJLENBQUN1b0MsVUFBTCxLQUFvQmx5QixTQUF4QixFQUNFdXdCLEtBQUssQ0FBQzJCLFVBQU4sR0FBbUJ2b0MsSUFBSSxDQUFDdW9DLFVBQXhCO0FBQ0YsUUFBSXZvQyxJQUFJLENBQUNnQixFQUFMLEtBQVlxVixTQUFoQixFQUNFdXdCLEtBQUssQ0FBQzVsQyxFQUFOLEdBQVdoQixJQUFJLENBQUNnQixFQUFoQjtBQUNGLFFBQUloQixJQUFJLENBQUNzRixLQUFMLEtBQWUrUSxTQUFuQixFQUNFdXdCLEtBQUssQ0FBQ3RoQyxLQUFOLEdBQWN0RixJQUFJLENBQUNzRixLQUFuQjtBQUNGLFFBQUl0RixJQUFJLENBQUNrQixFQUFMLEtBQVltVixTQUFoQixFQUNFdXdCLEtBQUssQ0FBQzFsQyxFQUFOLEdBQVdsQixJQUFJLENBQUNrQixFQUFoQjtBQUNGLFFBQUlsQixJQUFJLENBQUN1RixLQUFMLEtBQWU4USxTQUFuQixFQUNFdXdCLEtBQUssQ0FBQ3JoQyxLQUFOLEdBQWN2RixJQUFJLENBQUN1RixLQUFuQjtBQUVGLFFBQUl2RixJQUFJLENBQUM0d0MsUUFBTCxLQUFrQixDQUF0QixFQUNFaEssS0FBSyxDQUFDMkIsVUFBTixHQUFtQixLQUFuQjtBQUVGLFdBQU8zQixLQUFQO0FBQ0Q7O0FBRUQ0TCxFQUFBQSwwQkFBMEIsQ0FBQ3h5QyxJQUFELEVBQWlEO0FBQ3pFLFVBQU00bUMsS0FBOEIsR0FBRyxFQUF2QztBQUVBLFFBQUk1bUMsSUFBSSxDQUFDa0YsT0FBTCxLQUFpQm1SLFNBQXJCLEVBQ0V1d0IsS0FBSyxDQUFDd0IsSUFBTixHQUFhcG9DLElBQUksQ0FBQ2tGLE9BQWxCO0FBQ0YsUUFBSWxGLElBQUksQ0FBQ21GLE9BQUwsS0FBaUJrUixTQUFyQixFQUNFdXdCLEtBQUssQ0FBQ3lCLElBQU4sR0FBYXJvQyxJQUFJLENBQUNtRixPQUFsQjtBQUNGLFFBQUluRixJQUFJLENBQUNvRixPQUFMLEtBQWlCaVIsU0FBckIsRUFDRXV3QixLQUFLLENBQUMwQixJQUFOLEdBQWF0b0MsSUFBSSxDQUFDb0YsT0FBbEI7QUFDRixRQUFJcEYsSUFBSSxDQUFDcUYsYUFBTCxLQUF1QmdSLFNBQTNCLEVBQ0V1d0IsS0FBSyxDQUFDdGxDLE9BQU4sR0FBZ0J0QixJQUFJLENBQUNxRixhQUFyQjtBQUNGLFFBQUlyRixJQUFJLENBQUNxekMsUUFBTCxLQUFrQmg5QixTQUF0QixFQUNFdXdCLEtBQUssQ0FBQzVsQyxFQUFOLEdBQVdoQixJQUFJLENBQUNxekMsUUFBaEI7QUFDRixRQUFJcnpDLElBQUksQ0FBQytFLFdBQUwsS0FBcUJzUixTQUF6QixFQUNFdXdCLEtBQUssQ0FBQ3RoQyxLQUFOLEdBQWN0RixJQUFJLENBQUMrRSxXQUFuQjtBQUNGLFFBQUkvRSxJQUFJLENBQUNzekMsUUFBTCxLQUFrQmo5QixTQUF0QixFQUNFdXdCLEtBQUssQ0FBQzFsQyxFQUFOLEdBQVdsQixJQUFJLENBQUNzekMsUUFBaEI7QUFDRixRQUFJdHpDLElBQUksQ0FBQ2lGLFdBQUwsS0FBcUJvUixTQUF6QixFQUNFdXdCLEtBQUssQ0FBQ3JoQyxLQUFOLEdBQWN2RixJQUFJLENBQUNpRixXQUFuQjtBQUVGLFdBQU8yaEMsS0FBUDtBQUNEOztBQUVEc00sRUFBQUEsYUFBYSxDQUFDOXlDLEVBQUQsRUFBYVQsSUFBYixFQUFzQztBQUNqRCxRQUFJc3pDLFNBQVMsR0FBRyxLQUFLWixVQUFMLENBQWdCanlDLEVBQWhCLENBQWhCOztBQUNBLFFBQUk2eUMsU0FBUyxLQUFLNThCLFNBQWxCLEVBQTZCO0FBQzNCNDhCLE1BQUFBLFNBQVMsR0FBRyxLQUFLWixVQUFMLENBQWdCanlDLEVBQWhCLElBQXNCLElBQUlrbUMsU0FBSixDQUFjbG1DLEVBQWQsRUFBa0JULElBQWxCLENBQWxDO0FBQ0EsV0FBSyt5QyxNQUFMLENBQVlqb0MsSUFBWixDQUFpQnJLLEVBQWpCO0FBQ0EsV0FBSzZ4QyxhQUFMLENBQW1CN3hDLEVBQW5CLElBQXlCO0FBQ3ZCbW9DLFFBQUFBLFVBQVUsRUFBRTtBQURXLE9BQXpCO0FBR0QsS0FORCxNQU1PLElBQUkwSyxTQUFTLENBQUN0ekMsSUFBVixLQUFtQixFQUF2QixFQUEyQjtBQUNoQ3N6QyxNQUFBQSxTQUFTLENBQUMxTSxPQUFWLENBQWtCNW1DLElBQWxCO0FBQ0Q7O0FBQ0QsV0FBT3N6QyxTQUFQO0FBQ0Q7O0FBRURNLEVBQUFBLG9CQUFvQixHQUFXO0FBQUE7O0FBQzdCLFFBQUksS0FBS1IsZUFBVCxFQUNFLDBEQUFPLEtBQUtWLFVBQUwsQ0FBZ0IsS0FBS1UsZUFBckIsQ0FBUCwyREFBTyx1QkFBdUNwekMsSUFBOUMseUVBQXNELFNBQXREO0FBQ0YsV0FBTyxTQUFQO0FBQ0Q7O0FBcE5tQzs7QUNmdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FBV0E7QUFDQSxrREFBa0QsUUFBUTtBQUMxRCx5Q0FBeUMsUUFBUTtBQUNqRCx5REFBeUQsUUFBUTtBQUNqRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDJFQUEyRTtBQUNyRixVQUFVLDZEQUE2RDtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssSUFBSTtBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxPQUFPO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLE9BQU87QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRSxtREFBbUQsMkJBQTJCLElBQUksMEJBQTBCLG9CQUFvQjtBQUNwTSwyREFBMkQsb0JBQW9CO0FBQy9FLDRFQUE0RSxtQkFBbUI7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGNBQVEsS0FBSztBQUNqQjtBQUNBLFdBQVcsY0FBUTtBQUNuQjtBQUNBO0FBQ0EsMERBQTBELHVDQUF1QztBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxnQkFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0Msc0JBQXNCO0FBQ3REO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNEJBQTRCO0FBQzVCLENBQUM7QUFDRDtBQUNBO0FBQ0EsOEJBQThCLGtDQUFrQztBQUNoRSxxQ0FBcUMsNEJBQTRCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsMkNBQTJDLElBQUk7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLElBQUk7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLElBQUk7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxJQUFJO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsd0JBQXdCLGtCQUFrQjtBQUMvRDtBQUNBLGtCQUFrQjtBQUNsQiw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOERBQThELG1CQUFtQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLENBQUM7QUFDRCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixLQUFLO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFD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QixxQkFBcUI7V0FDdEM7V0FDQTtXQUNBLGtCQUFrQixxQkFBcUI7V0FDdkM7V0FDQTtXQUNBLEtBQUs7V0FDTDtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7Ozs7O1dDM0JBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EseUNBQXlDLHdDQUF3QztXQUNqRjtXQUNBO1dBQ0E7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7Ozs7V0NKQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLEdBQUc7V0FDSDtXQUNBO1dBQ0EsQ0FBQzs7Ozs7V0NQRDs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7Ozs7V0NmQTs7V0FFQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7O1dBRUE7O1dBRUE7O1dBRUE7O1dBRUE7O1dBRUE7O1dBRUE7O1dBRUE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsTUFBTSxxQkFBcUI7V0FDM0I7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7V0FFQTtXQUNBO1dBQ0E7Ozs7O1VFaERBO1VBQ0E7VUFDQTtVQUNBO1VBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2NvbmRpdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9jb250ZW50X3R5cGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9sYW5ndWFnZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9uZXRsb2dfZGVmcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9ub3RfcmVhY2hlZC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL291dHB1dHMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9vdmVybGF5X3BsdWdpbl9hcGkudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9yZWdleGVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcmVzcG9uc2VzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdXNlcl9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy91dGlsLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvem9uZV9pZC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3pvbmVfaW5mby50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3BhcnR5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19vcHRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9jb21tb25fcmVwbGFjZW1lbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lX3BhcnNlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGJvc3NfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcGV0X25hbWVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL0NvbWJhdGFudC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9Db21iYXRhbnRKb2JTZWFyY2gudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvQ29tYmF0YW50U3RhdGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy90cmFuc2xhdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL0VtdWxhdG9yQ29tbW9uLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvQ29tYmF0YW50VHJhY2tlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vbm9kZV9tb2R1bGVzL2RleGllL2Rpc3QvZGV4aWUubWpzIiwid2VicGFjazovL2NhY3Rib3QvLi9ub2RlX21vZHVsZXMvZGV4aWUtZXhwb3J0LWltcG9ydC9kaXN0L2RleGllLWV4cG9ydC1pbXBvcnQubWpzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9Mb2dSZXBvc2l0b3J5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9FdmVudEJ1cy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwQy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxOC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxOS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyMi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyMy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyOC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyOS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvUGFyc2VMaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL05ldHdvcmtMb2dDb252ZXJ0ZXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvRW5jb3VudGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL1BlcnNpc3RvckVuY291bnRlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9QZXJzaXN0b3IudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2F1dG9wbGF5X2hlbHBlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvYnJvd3Nlcl90dHNfZW5naW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9wb3B1cC10ZXh0LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdGltZXJiYXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JUaW1lbGluZVVJLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yQW5hbHlzaXNUaW1lbGluZVVJLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvU3R1YmJlZFBvcHVwVGV4dC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9Qb3B1cFRleHRBbmFseXNpcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9BbmFseXplZEVuY291bnRlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9SYWlkRW11bGF0b3IudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vay50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3Ivb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclBvcHVwVGV4dC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvdHJhbnNsYXRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9Ub29sdGlwLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9FbXVsYXRlZFBhcnR5SW5mby50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvdWkvRW5jb3VudGVyVGFiLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9Qcm9ncmVzc0Jhci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGVtdWxhdG9yLnRzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2dsb2JhbCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9qc29ucCBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3IgY29uc2lzdGVuY3kgd2l0aCBSZXNwb25zZXMsIENvbmRpdGlvbnNcclxuLy8gYXJlIGFsc28gZnVuY3Rpb25zLlxyXG5cclxuaW1wb3J0IHsgUmFpZGJvc3NEYXRhIGFzIERhdGEgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgVGFyZ2V0ZWRNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgdGFyZ2V0SXNZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSA9PT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgdGFyZ2V0SXNOb3RZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSAhPT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dEFPRSgpOiAoZGF0YTogRGF0YSkgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEpID0+XHJcbiAgICAgIGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicgfHwgZGF0YS5DYW5BZGRsZSgpIHx8IGRhdGEuam9iID09PSAnQkxVJztcclxuICB9LFxyXG4gIGNhcmVzQWJvdXRNYWdpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dFBoeXNpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkZlaW50KCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbn07XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5jb25zdCBkYXRhID0ge1xyXG4gICdCZWFzdFRyaWJlUXVlc3RzJzogMTMsXHJcbiAgJ0NvbXBhbmlvbnMnOiAxMixcclxuICAnQ3VzdG9tRGVsaXZlcmllcyc6IDI1LFxyXG4gICdEZWVwRHVuZ2VvbnMnOiAyMSxcclxuICAnRGlzY2lwbGVzT2ZUaGVIYW5kJzogMTcsXHJcbiAgJ0Rpc2NpcGxlc09mVGhlTGFuZCc6IDE2LFxyXG4gICdEdW5nZW9ucyc6IDIsXHJcbiAgJ0R1dHlSb3VsZXR0ZSc6IDEsXHJcbiAgJ0V1cmVrYSc6IDI2LFxyXG4gICdGYXRlcyc6IDgsXHJcbiAgJ0dvbGRTYXVjZXInOiAxOSxcclxuICAnR3JhbmRDb21wYW55JzogMTEsXHJcbiAgJ0d1aWxkaGVzdHMnOiAzLFxyXG4gICdMZXZlcXVlc3RzJzogMTAsXHJcbiAgJ092ZXJhbGxDb21wbGV0aW9uJzogMTQsXHJcbiAgJ1BsYXllckNvbW1lbmRhdGlvbic6IDE1LFxyXG4gICdQdnAnOiA2LFxyXG4gICdRdWVzdEJhdHRsZXMnOiA3LFxyXG4gICdSYWlkcyc6IDUsXHJcbiAgJ1JldGFpbmVyVmVudHVyZXMnOiAxOCxcclxuICAnVHJlYXN1cmVIdW50JzogOSxcclxuICAnVHJpYWxzJzogNCxcclxuICAnVWx0aW1hdGVSYWlkcyc6IDI4LFxyXG4gICdXb25kcm91c1RhaWxzJzogMjQsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJleHBvcnQgY29uc3QgbGFuZ3VhZ2VzID0gWydlbicsICdkZScsICdmcicsICdqYScsICdjbicsICdrbyddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgTGFuZyA9IHR5cGVvZiBsYW5ndWFnZXNbbnVtYmVyXTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vbkVuTGFuZyA9IEV4Y2x1ZGU8TGFuZywgJ2VuJz47XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ01hcDogeyBbbGFuZyBpbiBMYW5nXTogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nIH0gfSA9IHtcclxuICBlbjoge1xyXG4gICAgZW46ICdFbmdsaXNoJyxcclxuICAgIGRlOiAnR2VybWFuJyxcclxuICAgIGZyOiAnRnJlbmNoJyxcclxuICAgIGphOiAnSmFwYW5lc2UnLFxyXG4gICAgY246ICdDaGluZXNlJyxcclxuICAgIGtvOiAnS29yZWFuJyxcclxuICB9LFxyXG4gIGRlOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2NoJyxcclxuICAgIGRlOiAnRGV1dHNjaCcsXHJcbiAgICBmcjogJ0ZyYW56w7ZzaXNjaCcsXHJcbiAgICBqYTogJ0phcGFuaXNjaCcsXHJcbiAgICBjbjogJ0NoaW5lc2lzY2gnLFxyXG4gICAga286ICdLb3JlYW5pc2NoJyxcclxuICB9LFxyXG4gIGZyOiB7XHJcbiAgICBlbjogJ0FuZ2xhaXMnLFxyXG4gICAgZGU6ICdBbGxlbWFuZCcsXHJcbiAgICBmcjogJ0ZyYW7Dp2FpcycsXHJcbiAgICBqYTogJ0phcG9uYWlzJyxcclxuICAgIGNuOiAnQ2hpbm9pcycsXHJcbiAgICBrbzogJ0NvcsOpZW4nLFxyXG4gIH0sXHJcbiAgamE6IHtcclxuICAgIGVuOiAn6Iux6KqeJyxcclxuICAgIGRlOiAn44OJ44Kk44OE6KqeJyxcclxuICAgIGZyOiAn44OV44Op44Oz44K56KqeJyxcclxuICAgIGphOiAn5pel5pys6KqeJyxcclxuICAgIGNuOiAn5Lit5Zu96KqeJyxcclxuICAgIGtvOiAn6Z+T5Zu96KqeJyxcclxuICB9LFxyXG4gIGNuOiB7XHJcbiAgICBlbjogJ+iLseivrScsXHJcbiAgICBkZTogJ+W+t+ivrScsXHJcbiAgICBmcjogJ+azleivrScsXHJcbiAgICBqYTogJ+aXpeivrScsXHJcbiAgICBjbjogJ+S4reaWhycsXHJcbiAgICBrbzogJ+mfqeivrScsXHJcbiAgfSxcclxuICBrbzoge1xyXG4gICAgZW46ICfsmIHslrQnLFxyXG4gICAgZGU6ICfrj4XsnbzslrQnLFxyXG4gICAgZnI6ICftlITrnpHsiqTslrQnLFxyXG4gICAgamE6ICfsnbzrs7jslrQnLFxyXG4gICAgY246ICfspJHqta3slrQnLFxyXG4gICAga286ICftlZzqta3slrQnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgY29uc3QgaXNMYW5nID0gKGxhbmc/OiBzdHJpbmcpOiBsYW5nIGlzIExhbmcgPT4ge1xyXG4gIGNvbnN0IGxhbmdTdHJzOiByZWFkb25seSBzdHJpbmdbXSA9IGxhbmd1YWdlcztcclxuICBpZiAoIWxhbmcpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgcmV0dXJuIGxhbmdTdHJzLmluY2x1ZGVzKGxhbmcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxhbmdUb0xvY2FsZSA9IChsYW5nOiBMYW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZW46ICdlbicsXHJcbiAgICBkZTogJ2RlJyxcclxuICAgIGZyOiAnZnInLFxyXG4gICAgamE6ICdqYScsXHJcbiAgICBjbjogJ3poLUNOJyxcclxuICAgIGtvOiAna28nLFxyXG4gIH1bbGFuZ107XHJcbn07XHJcbiIsImltcG9ydCB7IE5ldEZpZWxkc1JldmVyc2UgfSBmcm9tICcuLi90eXBlcy9uZXRfZmllbGRzJztcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb24gPSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvLyBQYXJzZWQgQUNUIGxvZyBsaW5lIHR5cGUuXHJcbiAgbWVzc2FnZVR5cGU6IHN0cmluZztcclxuICAvLyBpbmNsdWRlIGFsbCBvZiB0aGVzZSBsaW5lcyBpbiBhbnkgc3BsaXRcclxuICBnbG9iYWxJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyBpbmNsdWRlIHRoZSBsYXN0IGxpbmUgb2YgdGhpcyB0eXBlIGluIGFueSBzcGxpdFxyXG4gIGxhc3RJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyB3aGV0aGVyIHRoaXMgbGluZSBjYW4gYmUgYW5vbnltaXplZFxyXG4gIGNhbkFub255bWl6ZT86IGJvb2xlYW47XHJcbiAgLy8gbmVlZHMgbW9yZSBpbmZvcm1hdGlvbiwgbmV2ZXIgc2VlbiB0aGlzIGxvZ1xyXG4gIGlzVW5rbm93bj86IGJvb2xlYW47XHJcbiAgLy8gZmllbGRzIGF0IHRoaXMgaW5kZXggYW5kIGJleW9uZCBhcmUgY2xlYXJlZCwgd2hlbiBhbm9ueW1pemluZ1xyXG4gIGZpcnN0VW5rbm93bkZpZWxkPzogbnVtYmVyO1xyXG4gIGZpZWxkcz86IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XHJcbiAgc3ViRmllbGRzPzoge1xyXG4gICAgW2ZpZWxkTmFtZTogc3RyaW5nXToge1xyXG4gICAgICBbZmllbGRWYWx1ZTogc3RyaW5nXToge1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICBjYW5Bbm9ueW1pemU6IGJvb2xlYW47XHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG4gIH07XHJcbiAgLy8gbWFwIG9mIGluZGV4ZXMgZnJvbSBhIHBsYXllciBpZCB0byB0aGUgaW5kZXggb2YgdGhhdCBwbGF5ZXIgbmFtZVxyXG4gIHBsYXllcklkcz86IHsgW2ZpZWxkSWR4OiBudW1iZXJdOiBudW1iZXIgfCBudWxsIH07XHJcbiAgLy8gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IGFyZSBvayB0byBub3QgYXBwZWFyIChvciBoYXZlIGludmFsaWQgaWRzKVxyXG4gIG9wdGlvbmFsRmllbGRzPzogcmVhZG9ubHkgbnVtYmVyW107XHJcbn07XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25NYXAgPSB7IFtuYW1lOiBzdHJpbmddOiBMb2dEZWZpbml0aW9uIH07XHJcblxyXG5jb25zdCBsb2dEZWZpbml0aW9ucyA9IHtcclxuICBHYW1lTG9nOiB7XHJcbiAgICB0eXBlOiAnMDAnLFxyXG4gICAgbmFtZTogJ0dhbWVMb2cnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGF0TG9nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGNvZGU6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGxpbmU6IDQsXHJcbiAgICB9LFxyXG4gICAgc3ViRmllbGRzOiB7XHJcbiAgICAgIGNvZGU6IHtcclxuICAgICAgICAnMDAzOSc6IHtcclxuICAgICAgICAgIG5hbWU6ICdtZXNzYWdlJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwMDM4Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ2VjaG8nLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwNDQnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZGlhbG9nJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwODM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgQ2hhbmdlWm9uZToge1xyXG4gICAgdHlwZTogJzAxJyxcclxuICAgIG5hbWU6ICdDaGFuZ2Vab25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGVycml0b3J5JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQ2hhbmdlZFBsYXllcjoge1xyXG4gICAgdHlwZTogJzAyJyxcclxuICAgIG5hbWU6ICdDaGFuZ2VkUGxheWVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlUHJpbWFyeVBsYXllcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEFkZGVkQ29tYmF0YW50OiB7XHJcbiAgICB0eXBlOiAnMDMnLFxyXG4gICAgbmFtZTogJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWRkQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcklkOiA2LFxyXG4gICAgICB3b3JsZElkOiA3LFxyXG4gICAgICB3b3JsZDogOCxcclxuICAgICAgbnBjTmFtZUlkOiA5LFxyXG4gICAgICBucGNCYXNlSWQ6IDEwLFxyXG4gICAgICBjdXJyZW50SHA6IDExLFxyXG4gICAgICBocDogMTIsXHJcbiAgICAgIGN1cnJlbnRNcDogMTMsXHJcbiAgICAgIG1wOiAxNCxcclxuICAgICAgLy8gbWF4VHA6IDE1LFxyXG4gICAgICAvLyB0cDogMTYsXHJcbiAgICAgIHg6IDE3LFxyXG4gICAgICB5OiAxOCxcclxuICAgICAgejogMTksXHJcbiAgICAgIGhlYWRpbmc6IDIwLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFJlbW92ZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwNCcsXHJcbiAgICBuYW1lOiAnUmVtb3ZlZENvbWJhdGFudCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1JlbW92ZUNvbWJhdGFudCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgam9iOiA0LFxyXG4gICAgICBsZXZlbDogNSxcclxuICAgICAgb3duZXI6IDYsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGFydHlMaXN0OiB7XHJcbiAgICB0eXBlOiAnMTEnLFxyXG4gICAgbmFtZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBwYXJ0eUNvdW50OiAyLFxyXG4gICAgICBpZDA6IDMsXHJcbiAgICAgIGlkMTogNCxcclxuICAgICAgaWQyOiA1LFxyXG4gICAgICBpZDM6IDYsXHJcbiAgICAgIGlkNDogNyxcclxuICAgICAgaWQ1OiA4LFxyXG4gICAgICBpZDY6IDksXHJcbiAgICAgIGlkNzogMTAsXHJcbiAgICAgIGlkODogMTEsXHJcbiAgICAgIGlkOTogMTIsXHJcbiAgICAgIGlkMTA6IDEzLFxyXG4gICAgICBpZDExOiAxNCxcclxuICAgICAgaWQxMjogMTUsXHJcbiAgICAgIGlkMTM6IDE2LFxyXG4gICAgICBpZDE0OiAxNyxcclxuICAgICAgaWQxNTogMTgsXHJcbiAgICAgIGlkMTY6IDE5LFxyXG4gICAgICBpZDE3OiAyMCxcclxuICAgICAgaWQxODogMjEsXHJcbiAgICAgIGlkMTk6IDIyLFxyXG4gICAgICBpZDIwOiAyMyxcclxuICAgICAgaWQyMTogMjQsXHJcbiAgICAgIGlkMjI6IDI1LFxyXG4gICAgICBpZDIzOiAyNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMzogbnVsbCxcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgICAgNjogbnVsbCxcclxuICAgICAgNzogbnVsbCxcclxuICAgICAgODogbnVsbCxcclxuICAgICAgOTogbnVsbCxcclxuICAgICAgMTA6IG51bGwsXHJcbiAgICAgIDExOiBudWxsLFxyXG4gICAgICAxMjogbnVsbCxcclxuICAgICAgMTM6IG51bGwsXHJcbiAgICAgIDE0OiBudWxsLFxyXG4gICAgICAxNTogbnVsbCxcclxuICAgICAgMTY6IG51bGwsXHJcbiAgICAgIDE3OiBudWxsLFxyXG4gICAgICAxODogbnVsbCxcclxuICAgICAgMTk6IG51bGwsXHJcbiAgICAgIDIwOiBudWxsLFxyXG4gICAgICAyMTogbnVsbCxcclxuICAgICAgMjI6IG51bGwsXHJcbiAgICAgIDIzOiBudWxsLFxyXG4gICAgICAyNDogbnVsbCxcclxuICAgICAgMjU6IG51bGwsXHJcbiAgICAgIDI2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbXHJcbiAgICAgIDMsXHJcbiAgICAgIDQsXHJcbiAgICAgIDUsXHJcbiAgICAgIDYsXHJcbiAgICAgIDcsXHJcbiAgICAgIDgsXHJcbiAgICAgIDksXHJcbiAgICAgIDEwLFxyXG4gICAgICAxMSxcclxuICAgICAgMTIsXHJcbiAgICAgIDEzLFxyXG4gICAgICAxNCxcclxuICAgICAgMTUsXHJcbiAgICAgIDE2LFxyXG4gICAgICAxNyxcclxuICAgICAgMTgsXHJcbiAgICAgIDE5LFxyXG4gICAgICAyMCxcclxuICAgICAgMjEsXHJcbiAgICAgIDIyLFxyXG4gICAgICAyMyxcclxuICAgICAgMjQsXHJcbiAgICAgIDI1LFxyXG4gICAgICAyNixcclxuICAgIF0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBsYXllclN0YXRzOiB7XHJcbiAgICB0eXBlOiAnMTInLFxyXG4gICAgbmFtZTogJ1BsYXllclN0YXRzJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgam9iOiAyLFxyXG4gICAgICBzdHJlbmd0aDogMyxcclxuICAgICAgZGV4dGVyaXR5OiA0LFxyXG4gICAgICB2aXRhbGl0eTogNSxcclxuICAgICAgaW50ZWxsaWdlbmNlOiA2LFxyXG4gICAgICBtaW5kOiA3LFxyXG4gICAgICBwaWV0eTogOCxcclxuICAgICAgYXR0YWNrUG93ZXI6IDksXHJcbiAgICAgIGRpcmVjdEhpdDogMTAsXHJcbiAgICAgIGNyaXRpY2FsSGl0OiAxMSxcclxuICAgICAgYXR0YWNrTWFnaWNQb3RlbmN5OiAxMixcclxuICAgICAgaGVhbE1hZ2ljUG90ZW5jeTogMTMsXHJcbiAgICAgIGRldGVybWluYXRpb246IDE0LFxyXG4gICAgICBza2lsbFNwZWVkOiAxNSxcclxuICAgICAgc3BlbGxTcGVlZDogMTYsXHJcbiAgICAgIHRlbmFjaXR5OiAxOCxcclxuICAgICAgbG9jYWxDb250ZW50SWQ6IDE5LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgU3RhcnRzVXNpbmc6IHtcclxuICAgIHR5cGU6ICcyMCcsXHJcbiAgICBuYW1lOiAnU3RhcnRzVXNpbmcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGFydHNDYXN0aW5nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBjYXN0VGltZTogOCxcclxuICAgICAgeDogOSxcclxuICAgICAgeTogMTAsXHJcbiAgICAgIHo6IDExLFxyXG4gICAgICBoZWFkaW5nOiAxMixcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIxJyxcclxuICAgIG5hbWU6ICdBYmlsaXR5JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWN0aW9uRWZmZWN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBmbGFnczogOCxcclxuICAgICAgZGFtYWdlOiA5LFxyXG4gICAgICB0YXJnZXRDdXJyZW50SHA6IDI0LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMjUsXHJcbiAgICAgIHRhcmdldEN1cnJlbnRNcDogMjYsXHJcbiAgICAgIHRhcmdldE1heE1wOiAyNyxcclxuICAgICAgLy8gdGFyZ2V0Q3VycmVudFRwOiAyOCxcclxuICAgICAgLy8gdGFyZ2V0TWF4VHA6IDI5LFxyXG4gICAgICB0YXJnZXRYOiAzMCxcclxuICAgICAgdGFyZ2V0WTogMzEsXHJcbiAgICAgIHRhcmdldFo6IDMyLFxyXG4gICAgICB0YXJnZXRIZWFkaW5nOiAzMyxcclxuICAgICAgY3VycmVudEhwOiAzNCxcclxuICAgICAgbWF4SHA6IDM1LFxyXG4gICAgICBjdXJyZW50TXA6IDM2LFxyXG4gICAgICBtYXhNcDogMzcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogMzg7XHJcbiAgICAgIC8vIG1heFRwOiAzOTtcclxuICAgICAgeDogNDAsXHJcbiAgICAgIHk6IDQxLFxyXG4gICAgICB6OiA0MixcclxuICAgICAgaGVhZGluZzogNDMsXHJcbiAgICAgIHNlcXVlbmNlOiA0NCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0FPRUFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMicsXHJcbiAgICBuYW1lOiAnTmV0d29ya0FPRUFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBT0VBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0NhbmNlbEFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0NhbmNlbEFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDYW5jZWxBY3Rpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHJlYXNvbjogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRG9UOiB7XHJcbiAgICB0eXBlOiAnMjQnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtEb1QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEb1RIb1QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHdoaWNoOiA0LFxyXG4gICAgICBlZmZlY3RJZDogNSxcclxuICAgICAgZGFtYWdlOiA2LFxyXG4gICAgICBjdXJyZW50SHA6IDcsXHJcbiAgICAgIG1heEhwOiA4LFxyXG4gICAgICBjdXJyZW50TXA6IDksXHJcbiAgICAgIG1heE1wOiAxMCxcclxuICAgICAgLy8gY3VycmVudFRwOiAxMSxcclxuICAgICAgLy8gbWF4VHA6IDEyLFxyXG4gICAgICB4OiAxMyxcclxuICAgICAgeTogMTQsXHJcbiAgICAgIHo6IDE1LFxyXG4gICAgICBoZWFkaW5nOiAxNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBXYXNEZWZlYXRlZDoge1xyXG4gICAgdHlwZTogJzI1JyxcclxuICAgIG5hbWU6ICdXYXNEZWZlYXRlZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYXRoJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA0LFxyXG4gICAgICBzb3VyY2U6IDUsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgR2FpbnNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICcyNicsXHJcbiAgICBuYW1lOiAnR2FpbnNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNBZGQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgZWZmZWN0SWQ6IDIsXHJcbiAgICAgIGVmZmVjdDogMyxcclxuICAgICAgZHVyYXRpb246IDQsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMTAsXHJcbiAgICAgIHNvdXJjZU1heEhwOiAxMSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBIZWFkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjcnLFxyXG4gICAgbmFtZTogJ0hlYWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUYXJnZXRJY29uJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGlkOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtSYWlkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjgnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtSYWlkTWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnV2F5bWFya01hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB4OiA2LFxyXG4gICAgICB5OiA3LFxyXG4gICAgICB6OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtUYXJnZXRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1RhcmdldE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1NpZ25NYXJrZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgb3BlcmF0aW9uOiAyLCAvLyBBZGQsIFVwZGF0ZSwgRGVsZXRlXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0TmFtZTogNyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgIH0sXHJcbiAgfSxcclxuICBMb3Nlc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzMwJyxcclxuICAgIG5hbWU6ICdMb3Nlc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c1JlbW92ZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBzb3VyY2VJZDogNSxcclxuICAgICAgc291cmNlOiA2LFxyXG4gICAgICB0YXJnZXRJZDogNyxcclxuICAgICAgdGFyZ2V0OiA4LFxyXG4gICAgICBjb3VudDogOSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrR2F1Z2U6IHtcclxuICAgIHR5cGU6ICczMScsXHJcbiAgICBuYW1lOiAnTmV0d29ya0dhdWdlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnR2F1Z2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGRhdGEwOiAzLFxyXG4gICAgICBkYXRhMTogNCxcclxuICAgICAgZGF0YTI6IDUsXHJcbiAgICAgIGRhdGEzOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiBudWxsLFxyXG4gICAgfSxcclxuICAgIC8vIFNvbWV0aW1lcyB0aGlzIGxhc3QgZmllbGQgbG9va3MgbGlrZSBhIHBsYXllciBpZC5cclxuICAgIC8vIEZvciBzYWZldHksIGFub255bWl6ZSBhbGwgb2YgdGhlIGdhdWdlIGRhdGEuXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMyxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtXb3JsZDoge1xyXG4gICAgdHlwZTogJzMyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrV29ybGQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXb3JsZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG4gIEFjdG9yQ29udHJvbDoge1xyXG4gICAgdHlwZTogJzMzJyxcclxuICAgIG5hbWU6ICdBY3RvckNvbnRyb2wnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEaXJlY3RvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpbnN0YW5jZTogMixcclxuICAgICAgY29tbWFuZDogMyxcclxuICAgICAgZGF0YTA6IDQsXHJcbiAgICAgIGRhdGExOiA1LFxyXG4gICAgICBkYXRhMjogNixcclxuICAgICAgZGF0YTM6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmFtZVRvZ2dsZToge1xyXG4gICAgdHlwZTogJzM0JyxcclxuICAgIG5hbWU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTmFtZVRvZ2dsZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldE5hbWU6IDUsXHJcbiAgICAgIHRvZ2dsZTogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBUZXRoZXI6IHtcclxuICAgIHR5cGU6ICczNScsXHJcbiAgICBuYW1lOiAnVGV0aGVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGV0aGVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIHRhcmdldElkOiA0LFxyXG4gICAgICB0YXJnZXQ6IDUsXHJcbiAgICAgIGlkOiA4LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiA5LFxyXG4gIH0sXHJcbiAgTGltaXRCcmVhazoge1xyXG4gICAgdHlwZTogJzM2JyxcclxuICAgIG5hbWU6ICdMaW1pdEJyZWFrJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTGltaXRCcmVhaycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB2YWx1ZUhleDogMixcclxuICAgICAgYmFyczogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRWZmZWN0UmVzdWx0OiB7XHJcbiAgICB0eXBlOiAnMzcnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtFZmZlY3RSZXN1bHQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFZmZlY3RSZXN1bHQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHNlcXVlbmNlSWQ6IDQsXHJcbiAgICAgIGN1cnJlbnRIcDogNSxcclxuICAgICAgbWF4SHA6IDYsXHJcbiAgICAgIGN1cnJlbnRNcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOSxcclxuICAgICAgLy8gbWF4VHA6IDEwLFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjIsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTdGF0dXNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICczOCcsXHJcbiAgICBuYW1lOiAnU3RhdHVzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzTGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB0YXJnZXRJZDogMixcclxuICAgICAgdGFyZ2V0OiAzLFxyXG4gICAgICBqb2JMZXZlbERhdGE6IDQsXHJcbiAgICAgIGhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgbXA6IDcsXHJcbiAgICAgIG1heE1wOiA4LFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgICAgZGF0YTA6IDE1LFxyXG4gICAgICBkYXRhMTogMTYsXHJcbiAgICAgIGRhdGEyOiAxNyxcclxuICAgICAgLy8gVmFyaWFibGUgbnVtYmVyIG9mIHRyaXBsZXRzIGhlcmUsIGJ1dCBhdCBsZWFzdCBvbmUuXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDIwLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1VwZGF0ZUhQOiB7XHJcbiAgICB0eXBlOiAnMzknLFxyXG4gICAgbmFtZTogJ05ldHdvcmtVcGRhdGVIUCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1VwZGF0ZUhwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBjdXJyZW50SHA6IDQsXHJcbiAgICAgIG1heEhwOiA1LFxyXG4gICAgICBjdXJyZW50TXA6IDYsXHJcbiAgICAgIG1heE1wOiA3LFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDgsXHJcbiAgICAgIC8vIG1heFRwOiA5LFxyXG4gICAgICB4OiAxMCxcclxuICAgICAgeTogMTEsXHJcbiAgICAgIHo6IDEyLFxyXG4gICAgICBoZWFkaW5nOiAxMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBNYXA6IHtcclxuICAgIHR5cGU6ICc0MCcsXHJcbiAgICBuYW1lOiAnTWFwJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlTWFwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICByZWdpb25OYW1lOiAzLFxyXG4gICAgICBwbGFjZU5hbWU6IDQsXHJcbiAgICAgIHBsYWNlTmFtZVN1YjogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTeXN0ZW1Mb2dNZXNzYWdlOiB7XHJcbiAgICB0eXBlOiAnNDEnLFxyXG4gICAgbmFtZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTeXN0ZW1Mb2dNZXNzYWdlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBpZDogMyxcclxuICAgICAgcGFyYW0wOiA0LFxyXG4gICAgICBwYXJhbTE6IDUsXHJcbiAgICAgIHBhcmFtMjogNixcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJzZXJJbmZvOiB7XHJcbiAgICB0eXBlOiAnMjQ5JyxcclxuICAgIG5hbWU6ICdQYXJzZXJJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2V0dGluZ3MnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUHJvY2Vzc0luZm86IHtcclxuICAgIHR5cGU6ICcyNTAnLFxyXG4gICAgbmFtZTogJ1Byb2Nlc3NJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUHJvY2VzcycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBEZWJ1Zzoge1xyXG4gICAgdHlwZTogJzI1MScsXHJcbiAgICBuYW1lOiAnRGVidWcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEZWJ1ZycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgUGFja2V0RHVtcDoge1xyXG4gICAgdHlwZTogJzI1MicsXHJcbiAgICBuYW1lOiAnUGFja2V0RHVtcCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhY2tldER1bXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgVmVyc2lvbjoge1xyXG4gICAgdHlwZTogJzI1MycsXHJcbiAgICBuYW1lOiAnVmVyc2lvbicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1ZlcnNpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgRXJyb3I6IHtcclxuICAgIHR5cGU6ICcyNTQnLFxyXG4gICAgbmFtZTogJ0Vycm9yJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRXJyb3InLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgTm9uZToge1xyXG4gICAgdHlwZTogJ1swLTldKycsXHJcbiAgICBuYW1lOiAnTm9uZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ05vbmUnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBpc1Vua25vd246IHRydWUsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFZlcmlmeSB0aGF0IHRoaXMgaGFzIHRoZSByaWdodCB0eXBlLCBidXQgZXhwb3J0IGBhcyBjb25zdGAuXHJcbmNvbnN0IGFzc2VydExvZ0RlZmluaXRpb25zOiBMb2dEZWZpbml0aW9uTWFwID0gbG9nRGVmaW5pdGlvbnM7XHJcbmNvbnNvbGUuYXNzZXJ0KGFzc2VydExvZ0RlZmluaXRpb25zKTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25zID0gdHlwZW9mIGxvZ0RlZmluaXRpb25zO1xyXG5leHBvcnQgdHlwZSBMb2dEZWZpbml0aW9uVHlwZXMgPSBrZXlvZiBMb2dEZWZpbml0aW9ucztcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlSGVscGVyRmllbGQ8XHJcbiAgVHlwZSBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcyxcclxuICBGaWVsZHMgZXh0ZW5kcyBOZXRGaWVsZHNSZXZlcnNlW1R5cGVdLFxyXG4gIEZpZWxkIGV4dGVuZHMga2V5b2YgRmllbGRzLFxyXG4+ID0ge1xyXG4gIGZpZWxkOiBGaWVsZHNbRmllbGRdIGV4dGVuZHMgc3RyaW5nID8gRmllbGRzW0ZpZWxkXSA6IG5ldmVyO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZHM8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4gPSB7XHJcbiAgW2ZpZWxkIGluIGtleW9mIE5ldEZpZWxkc1JldmVyc2VbVF1dOiBQYXJzZUhlbHBlckZpZWxkPFQsIE5ldEZpZWxkc1JldmVyc2VbVF0sIGZpZWxkPjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGxvZ0RlZmluaXRpb25zO1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnXFxcXHwnO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW158XSonO1xyXG5cclxuLy8gSWYgTmV0UmVnZXhlcy5zZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIGlzIHNldCB0byB0cnVlLCB0aGVuIGFueVxyXG4vLyByZWdleCBjcmVhdGVkIHRoYXQgcmVxdWlyZXMgYSB0cmFuc2xhdGlvbiB3aWxsIGJlZ2luIHdpdGggdGhpcyBzdHJpbmdcclxuLy8gYW5kIG1hdGNoIHRoZSBtYWdpY1N0cmluZ1JlZ2V4LiAgVGhpcyBpcyBtYXliZSBhIGJpdCBnb29meSwgYnV0IGlzXHJcbi8vIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCB3YXkgdG8gbWFyayByZWdleGVzIGZvciB0cmFuc2xhdGlvbnMuXHJcbi8vIElmIGlzc3VlICMxMzA2IGlzIGV2ZXIgcmVzb2x2ZWQsIHdlIGNhbiByZW1vdmUgdGhpcy5cclxuY29uc3QgbWFnaWNUcmFuc2xhdGlvblN0cmluZyA9IGBeXmA7XHJcbmNvbnN0IG1hZ2ljU3RyaW5nUmVnZXggPSAvXlxcXlxcXi87XHJcbmNvbnN0IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uID0gW1xyXG4gICdhYmlsaXR5JyxcclxuICAnbmFtZScsXHJcbiAgJ3NvdXJjZScsXHJcbiAgJ3RhcmdldCcsXHJcbiAgJ2xpbmUnLFxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZnVuY05hbWU6IHN0cmluZyxcclxuICBmaWVsZHM6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+LFxyXG4pOiBDYWN0Ym90QmFzZVJlZ0V4cDxUPiA9PiB7XHJcbiAgcGFyYW1zID0gcGFyYW1zID8/IHt9O1xyXG4gIGNvbnN0IHZhbGlkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBmb3IgKGNvbnN0IGluZGV4IGluIGZpZWxkcykge1xyXG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaW5kZXhdO1xyXG4gICAgaWYgKGZpZWxkKVxyXG4gICAgICB2YWxpZEZpZWxkcy5wdXNoKGZpZWxkLmZpZWxkKTtcclxuICB9XHJcblxyXG4gIFJlZ2V4ZXMudmFsaWRhdGVQYXJhbXMocGFyYW1zLCBmdW5jTmFtZSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIEZvciB0ZXN0aW5nLCBpdCdzIHVzZWZ1bCB0byBrbm93IGlmIHRoaXMgaXMgYSByZWdleCB0aGF0IHJlcXVpcmVzXHJcbiAgLy8gdHJhbnNsYXRpb24uICBXZSB0ZXN0IHRoaXMgYnkgc2VlaW5nIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWVkXHJcbiAgLy8gZmllbGRzLCBhbmQgaWYgc28sIGluc2VydGluZyBhIG1hZ2ljIHN0cmluZyB0aGF0IHdlIGNhbiBkZXRlY3QuXHJcbiAgLy8gVGhpcyBsZXRzIHVzIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBcInJlZ2V4IHRoYXQgc2hvdWxkIGJlIHRyYW5zbGF0ZWRcIlxyXG4gIC8vIGUuZy4gYSByZWdleCB3aXRoIGB0YXJnZXRgIHNwZWNpZmllZCwgYW5kIFwicmVnZXggdGhhdCBzaG91bGRuJ3RcIlxyXG4gIC8vIGUuZy4gYSBnYWlucyBlZmZlY3Qgd2l0aCBqdXN0IGVmZmVjdElkIHNwZWNpZmllZC5cclxuICBjb25zdCB0cmFuc1BhcmFtcyA9IE9iamVjdC5rZXlzKHBhcmFtcykuZmlsdGVyKChrKSA9PiBrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbi5pbmNsdWRlcyhrKSk7XHJcbiAgY29uc3QgbmVlZHNUcmFuc2xhdGlvbnMgPSBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgJiYgdHJhbnNQYXJhbXMubGVuZ3RoID4gMDtcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBsZXQgc3RyID0gbmVlZHNUcmFuc2xhdGlvbnMgPyBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIDogJ14nO1xyXG4gIGxldCBsYXN0S2V5ID0gLTE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9ICdcXFxceXtOZXRGaWVsZH0nO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgXFxcXHl7TmV0RmllbGR9eyR7bWlzc2luZ0ZpZWxkc319YDtcclxuICAgIGxhc3RLZXkgPSBrZXk7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKTtcclxuXHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IG1hdGNoRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICkgK1xyXG4gICAgICAgIHNlcGFyYXRvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0ciArPSBmaWVsZFZhbHVlICsgc2VwYXJhdG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3AgaWYgd2UncmUgbm90IGNhcHR1cmluZyBhbmQgZG9uJ3QgY2FyZSBhYm91dCBmdXR1cmUgZmllbGRzLlxyXG4gICAgaWYgKGtleSA+PSBtYXhLZXkpXHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0UmVnZXhlcyB7XHJcbiAgc3RhdGljIGZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSBmYWxzZTtcclxuICBzdGF0aWMgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN0YXRpYyBkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24ocmVnZXg6IFJlZ0V4cCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gTmVlZCB0byBgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZGAgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5cclxuICAgIGNvbnNvbGUuYXNzZXJ0KE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCk7XHJcbiAgICBjb25zdCBzdHIgPSB0eXBlb2YgcmVnZXggPT09ICdzdHJpbmcnID8gcmVnZXggOiByZWdleC5zb3VyY2U7XHJcbiAgICByZXR1cm4gISFtYWdpY1N0cmluZ1JlZ2V4LmV4ZWMoc3RyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNC1uZXR3b3Jrc3RhcnRzY2FzdGluZ1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGFydHNVc2luZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXJ0c1VzaW5nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhcnRzVXNpbmcnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhcnRzVXNpbmcnLCBkZWZhdWx0UGFyYW1zKCdTdGFydHNVc2luZycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5KHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWJpbGl0eScsIHtcclxuICAgICAgLi4uZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpLFxyXG4gICAgICAvLyBPdmVycmlkZSB0eXBlXHJcbiAgICAgIDA6IHsgZmllbGQ6ICd0eXBlJywgdmFsdWU6ICcyWzEyXScgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ2FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWRkZWRDb21iYXRhbnRGdWxsJywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAncmVtb3ZpbmdDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdSZW1vdmVkQ29tYmF0YW50JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFhLW5ldHdvcmtidWZmXHJcbiAgICovXHJcbiAgc3RhdGljIGdhaW5zRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snR2FpbnNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYWluc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdnYWluc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0dhaW5zRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZmVyIGdhaW5zRWZmZWN0IG92ZXIgdGhpcyBmdW5jdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGV4dHJhIGRhdGEuXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI2LW5ldHdvcmtzdGF0dXNlZmZlY3RzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXR1c0VmZmVjdEV4cGxpY2l0KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTdGF0dXNFZmZlY3QnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhdHVzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXR1c0VmZmVjdEV4cGxpY2l0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdsb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXRDaGFuZ2UnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdjaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbmV0d29yazZkJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ21hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcbn1cclxuIiwiLy8gSGVscGVyIEVycm9yIGZvciBUeXBlU2NyaXB0IHNpdHVhdGlvbnMgd2hlcmUgdGhlIHByb2dyYW1tZXIgdGhpbmtzIHRoZXlcclxuLy8ga25vdyBiZXR0ZXIgdGhhbiBUeXBlU2NyaXB0IHRoYXQgc29tZSBzaXR1YXRpb24gd2lsbCBuZXZlciBvY2N1ci5cclxuXHJcbi8vIFRoZSBpbnRlbnRpb24gaGVyZSBpcyB0aGF0IHRoZSBwcm9ncmFtbWVyIGRvZXMgbm90IGV4cGVjdCBhIHBhcnRpY3VsYXJcclxuLy8gYml0IG9mIGNvZGUgdG8gaGFwcGVuLCBhbmQgc28gaGFzIG5vdCB3cml0dGVuIGNhcmVmdWwgZXJyb3IgaGFuZGxpbmcuXHJcbi8vIElmIGl0IGRvZXMgb2NjdXIsIGF0IGxlYXN0IHRoZXJlIHdpbGwgYmUgYW4gZXJyb3IgYW5kIHdlIGNhbiBmaWd1cmUgb3V0IHdoeS5cclxuLy8gVGhpcyBpcyBwcmVmZXJhYmxlIHRvIGNhc3Rpbmcgb3IgZGlzYWJsaW5nIFR5cGVTY3JpcHQgYWx0b2dldGhlciBpbiBvcmRlciB0b1xyXG4vLyBhdm9pZCBzeW50YXggZXJyb3JzLlxyXG5cclxuLy8gT25lIGNvbW1vbiBleGFtcGxlIGlzIGEgcmVnZXgsIHdoZXJlIGlmIHRoZSByZWdleCBtYXRjaGVzIHRoZW4gYWxsIG9mIHRoZVxyXG4vLyAobm9uLW9wdGlvbmFsKSByZWdleCBncm91cHMgd2lsbCBhbHNvIGJlIHZhbGlkLCBidXQgVHlwZVNjcmlwdCBkb2Vzbid0IGtub3cuXHJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNvZGUgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVGhpcyBjb2RlIHNob3VsZG5cXCd0IGJlIHJlYWNoZWQnKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgRnVsbExvY2FsZVRleHQgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIE91dHB1dCBzdHJpbmdzIGZvciBub3cgcmVxdWlyZSBhIGZpZWxkIGZvciBldmVyeSBsYW5ndWFnZSwgc28gdGhpcyBpcyBhXHJcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZW5lcmF0ZSBvbmUgZm9yIGxpdGVyYWwgbnVtYmVycy5cclxuY29uc3QgbnVtYmVyVG9PdXRwdXRTdHJpbmcgPSBmdW5jdGlvbihuOiBudW1iZXIpOiBGdWxsTG9jYWxlVGV4dCB7XHJcbiAgY29uc3Qgc3RyID0gbi50b1N0cmluZygpO1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogc3RyLFxyXG4gICAgZGU6IHN0cixcclxuICAgIGZyOiBzdHIsXHJcbiAgICBqYTogc3RyLFxyXG4gICAgY246IHN0cixcclxuICAgIGtvOiBzdHIsXHJcbiAgfTtcclxufTtcclxuXHJcbi8vIEdlbmVyYWwgZ3VpZGVsaW5lczpcclxuLy8gKiBwcm9wZXJ0eSBuYW1lcyBzaG91bGQgY2xvc2VseSBtYXRjaCBFbmdsaXNoIHRleHRcclxuLy8gKiB1c2UgT25QbGF5ZXIgc3VmZml4IGZvciB0aGluZ3Mgd2l0aCBgJHtwbGF5ZXJ9YFxyXG4vLyAqIHVzZSBPblRhcmdldCBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke25hbWV9YFxyXG4vLyAqIGFueSBvdGhlciBwYXJhbWV0ZXJzIChvZiB3aGljaCB0aGVyZSBhcmUgbm9uZSwgY3VycmVudGx5KSBzaG91bGQgdXNlIGNvbnNpc3RlbnQgc3VmZml4ZXMuXHJcbi8vICogdGhlIHZhbHVlIG9mIGVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIGEgc2luZ2xlIG9iamVjdCB3aXRoIGxvY2FsaXplZCBrZXlzXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBhb2U6IHtcclxuICAgIGVuOiAnYW9lJyxcclxuICAgIGRlOiAnQW9FJyxcclxuICAgIGZyOiAnQW9FJyxcclxuICAgIGphOiAnQW9FJyxcclxuICAgIGNuOiAnQW9FJyxcclxuICAgIGtvOiAn7KCE7LK0IOqzteqyqScsXHJcbiAgfSxcclxuICBiaWdBb2U6IHtcclxuICAgIGVuOiAnYmlnIGFvZSEnLFxyXG4gICAgZGU6ICdHcm/Dn2UgQW9FIScsXHJcbiAgICBmcjogJ0dyb3NzZSBBb0UgIScsXHJcbiAgICBqYTogJ+Wkp+ODgOODoeODvOOCuEFvRScsXHJcbiAgICBjbjogJ+Wkp0FvReS8pOWus++8gScsXHJcbiAgICBrbzogJ+qwle2VnCDsoITssrQg6rO16rKpIScsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiB7XHJcbiAgICBlbjogJ01pbmkgQnVzdGVyJyxcclxuICAgIGRlOiAnS2xlaW5lciBUYW5rYnVzdGVyJyxcclxuICAgIGZyOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgamE6ICfjg5/jg4vjg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflsI/mrbvliJEnLFxyXG4gICAga286ICfslb3tlZwg7YOx67KEJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJPblBsYXllcjoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkSDngrkgJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiBESVInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkeeCueWQjScsXHJcbiAgICBrbzogJ+2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgLy8gd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgdGFua2J1c3RlcnMgZ29pbmcgb3V0XHJcbiAgdGFua0J1c3RlcnM6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXJzJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcnMnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflnablhYvmrbvliJEnLFxyXG4gICAga286ICftg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlJyxcclxuICAgIGZyOiAnVGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoMnLFxyXG4gICAgY246ICfpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIGF2b2lkVGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdBdm9pZCB0YW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1c3dlaWNoZW4nLFxyXG4gICAgZnI6ICfDiXZpdGV6IGxlIHRhbmsgY2xlYXZlJyxcclxuICAgIGphOiAn5YmN5pa556+E5Zuy5pS75pKD44KS6YG/44GR44KLJyxcclxuICAgIGNuOiAn6L+c56a76aG65YqIJyxcclxuICAgIGtvOiAn6rSR7JetIO2DseuyhCDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZU9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1ZCBESVInLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiOeCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyJyxcclxuICAgIGZyOiAnUGFydGFnZXogbGUgVGFuayBidXN0ZXInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJEnLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXJPbllvdToge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnZ2V0ZWlsdGVyIFRhbmtidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7ImQ7Ja0IO2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciDDoCBwYXJ0YWdlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ9IOOBq+OCv+ODs+OCr+OCt+OCp+OCoicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkeeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua1N3YXA6IHtcclxuICAgIGVuOiAnVGFuayBTd2FwIScsXHJcbiAgICBkZTogJ1Rhbmt3ZWNoc2VsIScsXHJcbiAgICBmcjogJ1Rhbmsgc3dhcCAhJyxcclxuICAgIGphOiAn44K/44Oz44Kv44K544Kk44OD44OBIScsXHJcbiAgICBjbjogJ+aNolTvvIEnLFxyXG4gICAga286ICftg7Eg6rWQ64yAJyxcclxuICB9LFxyXG4gIHNwcmVhZDoge1xyXG4gICAgZW46ICdTcHJlYWQnLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdEaXNwZXJzZXotdm91cycsXHJcbiAgICBqYTogJ+aVo+mWiycsXHJcbiAgICBjbjogJ+WIhuaVoycsXHJcbiAgICBrbzogJ+yCsOqwnCcsXHJcbiAgfSxcclxuICBzdGFja01hcmtlcjoge1xyXG4gICAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6aCt5Ymy44KKJyxcclxuICAgIGNuOiAn5YiG5pGKJyxcclxuICAgIGtvOiAn7ImQ7Ja0646AJyxcclxuICB9LFxyXG4gIGdldFRvZ2V0aGVyOiB7XHJcbiAgICAvLyBmb3IgZ2V0dGluZyB0b2dldGhlciB3aXRob3V0IHN0YWNrIG1hcmtlclxyXG4gICAgZW46ICdTdGFjaycsXHJcbiAgICBkZTogJ1NhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cycsXHJcbiAgICBqYTogJ+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiCcsXHJcbiAgICBrbzogJ+uqqOydtOq4sCcsXHJcbiAgfSxcclxuICBzdGFja09uWW91OiB7XHJcbiAgICBlbjogJ1N0YWNrIG9uIFlPVScsXHJcbiAgICBkZTogJ0F1ZiBESVIgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2thZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavpm4blkIgnLFxyXG4gICAgY246ICfpm4blkIjngrnlkI0nLFxyXG4gICAga286ICfsiZDslrTsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHN0YWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gJHtwbGF5ZXJ9JyxcclxuICAgIGRlOiAnQXVmICR7cGxheWVyfSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mdoOi/kSAke3BsYXllcn3pm4blkIgnLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtOynlScsXHJcbiAgfSxcclxuICBzdGFja01pZGRsZToge1xyXG4gICAgZW46ICdTdGFjayBpbiBtaWRkbGUnLFxyXG4gICAgZGU6ICdJbiBkZXIgTWl0dGUgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzIGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reWkruOBp+mbhuWQiCcsXHJcbiAgICBjbjogJ+S4remXtOmbhuWQiCcsXHJcbiAgICBrbzogJ+ykkeyVmeyXkOyEnCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgZG9yaXRvU3RhY2s6IHtcclxuICAgIGVuOiAnRG9yaXRvIFN0YWNrJyxcclxuICAgIGRlOiAnTWl0IE1hcmtlciBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6IGxlcyBtYXJxdWFnZXMnLFxyXG4gICAgamE6ICfjg57jg7zjgqvjg7zku5jjgZHjgZ/kurrjgajpm4blkIgnLFxyXG4gICAgY246ICfngrnlkI3pm4blkIgnLFxyXG4gICAga286ICfsp5Xrgbzrpqwg66qo7J206riwJyxcclxuICB9LFxyXG4gIHNwcmVhZFRoZW5TdGFjazoge1xyXG4gICAgZW46ICdTcHJlYWQgPT4gU3RhY2snLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4gPT4gU2FtbWVsbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNpb24gPT4gUGFja2FnZScsXHJcbiAgICBqYTogJ+aVo+mWiyA9PiDpm4blkIgnLFxyXG4gICAgY246ICfliIbmlaMgPT4g6ZuG5ZCIJyxcclxuICAgIGtvOiAn7IKw6rCcID0+IOynke2VqScsXHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IHtcclxuICAgIGVuOiAnU3RhY2sgPT4gU3ByZWFkJyxcclxuICAgIGRlOiAnU2FtbWVsbiA9PiBWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdQYWNrYWdlID0+IERpc3BlcnNpb24nLFxyXG4gICAgamE6ICfjgrnjgr/jg4Pjgq8gPT4g5pWj6ZaLJyxcclxuICAgIGNuOiAn6ZuG5ZCIID0+IOWIhuaVoycsXHJcbiAgICBrbzogJ+ynke2VqSA9PiDsgrDqsJwnLFxyXG4gIH0sXHJcbiAgZHJhd0luOiB7XHJcbiAgICAvLyBPcHBvc2l0ZSBvZiBhIGtub2NrYmFjay5cclxuICAgIGVuOiAnRHJhdyBJbicsXHJcbiAgICBkZTogJ0Vpbnp1ZycsXHJcbiAgICBmcjogJ0F0dHJhY3Rpb24nLFxyXG4gICAgamE6ICflkLjovrzjgb8nLFxyXG4gICAgY246ICflkLjlvJUnLFxyXG4gICAga286ICfrgYzslrTri7nquYAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjaycsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZScsXHJcbiAgICBqYTogJ+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgCcsXHJcbiAgICBrbzogJ+uEieuwsScsXHJcbiAgfSxcclxuICBrbm9ja2JhY2tPbllvdToge1xyXG4gICAgZW46ICdLbm9ja2JhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnUG91c3PDqWUgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0nLFxyXG4gICAga286ICfrhInrsLHsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uUGxheWVyOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCA54K55ZCNJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDrhInrsLHsp5UnLFxyXG4gIH0sXHJcbiAgbG9va1Rvd2FyZHNCb3NzOiB7XHJcbiAgICBlbjogJ0xvb2sgVG93YXJkcyBCb3NzJyxcclxuICAgIGRlOiAnQW5zY2hhdWVuIEJvc3MnLFxyXG4gICAgZnI6ICdSZWdhcmRleiBsZSBib3NzJyxcclxuICAgIGphOiAn44Oc44K544KS6KaL44KLJyxcclxuICAgIGNuOiAn6Z2i5ZCRQm9zcycsXHJcbiAgICBrbzogJ+yzkOuLpOuztOq4sCcsXHJcbiAgfSxcclxuICBsb29rQXdheToge1xyXG4gICAgZW46ICdMb29rIEF3YXknLFxyXG4gICAgZGU6ICdXZWdzY2hhdWVuJyxcclxuICAgIGZyOiAnUmVnYXJkZXogYWlsbGV1cnMnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7lCb3NzJyxcclxuICAgIGtvOiAn65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVBsYXllcjoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ05lIHJlZ2FyZGV6IHBhcyAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke3BsYXllcn0nLFxyXG4gICAga286ICcke3BsYXllcn3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVRhcmdldDoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke25hbWV9JyxcclxuICAgIGRlOiAnU2NoYXUgd2VnIHZvbiAke25hbWV9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV944KS6KaL44Gq44GEJyxcclxuICAgIGNuOiAn6IOM5a+5JHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGdldEJlaGluZDoge1xyXG4gICAgZW46ICdHZXQgQmVoaW5kJyxcclxuICAgIGRlOiAnSGludGVyIGlobicsXHJcbiAgICBmcjogJ1Bhc3NleiBkZXJyacOocmUnLFxyXG4gICAgamE6ICfog4zpnaLjgbgnLFxyXG4gICAgY246ICfljrvog4zlkI4nLFxyXG4gICAga286ICfrs7TsiqQg65Kk66GcJyxcclxuICB9LFxyXG4gIGdvRnJvbnRPclNpZGVzOiB7XHJcbiAgICBlbjogJ0dvIEZyb250IC8gU2lkZXMnLFxyXG4gICAgZGU6ICdHZWhlIG5hY2ggVm9ybmUvIHp1IGRlbiBTZWl0ZW4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQgLyBDw7R0w6lzJyxcclxuICAgIGphOiAn5YmN77yP5qiq44G4JyxcclxuICAgIGNuOiAn5Y675YmN5L6n5pa5JyxcclxuICAgIGtvOiAn67O07IqkIO2bhOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udDoge1xyXG4gICAgZW46ICdHbyBGcm9udCcsXHJcbiAgICBkZTogJ0dlaCBuYWNoIHZvcm4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQnLFxyXG4gICAgamE6ICfliY3jgbgnLFxyXG4gICAgY246ICfljrvliY3pnaInLFxyXG4gICAga286ICfslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gZ2V0VW5kZXIgaXMgdXNlZCB3aGVuIHlvdSBoYXZlIHRvIGdldCBpbnRvIHRoZSBib3NzZXMgaGl0Ym94XHJcbiAgZ2V0VW5kZXI6IHtcclxuICAgIGVuOiAnR2V0IFVuZGVyJyxcclxuICAgIGRlOiAnVW50ZXIgaWhuJyxcclxuICAgIGZyOiAnRW4gZGVzc291cycsXHJcbiAgICBqYTogJ+ODnOOCueOBq+iyvOOCiuS7mOOBjycsXHJcbiAgICBjbjogJ+WOu+iEmuS4iycsXHJcbiAgICBrbzogJ+uztOyKpCDslYTrnpjroZwnLFxyXG4gIH0sXHJcbiAgLy8gaW4gaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGluOiB7XHJcbiAgICBlbjogJ0luJyxcclxuICAgIGRlOiAnUmVpbicsXHJcbiAgICBmcjogJ0ludMOpcmlldXInLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfpnaDov5EnLFxyXG4gICAga286ICfslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gb3V0IG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIG91dDoge1xyXG4gICAgZW46ICdPdXQnLFxyXG4gICAgZGU6ICdSYXVzJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemuycsXHJcbiAgICBrbzogJ+uwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRPZk1lbGVlOiB7XHJcbiAgICBlbjogJ091dCBvZiBtZWxlZScsXHJcbiAgICBkZTogJ1JhdXMgYXVzIE5haGthbXBmJyxcclxuICAgIGZyOiAnU29ydGV6IGRlIGxhIG3DqmzDqWUnLFxyXG4gICAgamE6ICfov5HmjqXmnIDlpKfjg6zjg7PjgrgnLFxyXG4gICAgY246ICfov5HmiJjmnIDov5zot53nprvlm57pgb8nLFxyXG4gICAga286ICfqt7zsoJHrspTsnIQg67CW7Jy866GcJyxcclxuICB9LFxyXG4gIGluVGhlbk91dDoge1xyXG4gICAgZW46ICdJbiwgdGhlbiBvdXQnLFxyXG4gICAgZGU6ICdSZWluLCBkYW5uIHJhdXMnLFxyXG4gICAgZnI6ICdJbnTDqXJpZXVyLCBwdWlzIGV4dMOpcmlldXInLFxyXG4gICAgamE6ICfkuK0gPT4g5aSWJyxcclxuICAgIGNuOiAn5YWI6Z2g6L+R77yM5YaN6L+c56a7JyxcclxuICAgIGtvOiAn7JWI7Jy866GcID0+IOuwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRUaGVuSW46IHtcclxuICAgIGVuOiAnT3V0LCB0aGVuIGluJyxcclxuICAgIGRlOiAnUmF1cywgZGFubiByZWluJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1ciwgcHVpcyBpbnTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSWID0+IOS4rScsXHJcbiAgICBjbjogJ+WFiOi/nOemu++8jOWGjemdoOi/kScsXHJcbiAgICBrbzogJ+uwluycvOuhnCA9PiDslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgYmFja1RoZW5Gcm9udDoge1xyXG4gICAgZW46ICdCYWNrIFRoZW4gRnJvbnQnLFxyXG4gICAgZGU6ICdOYWNoIEhpbnRlbiwgZGFuYWNoIG5hY2ggVm9ybmUnLFxyXG4gICAgZnI6ICdEZXJyacOocmUgcHVpcyBkZXZhbnQnLFxyXG4gICAgamE6ICflvozjgo0gPT4g5YmNJyxcclxuICAgIGNuOiAn5ZCOID0+IOWJjScsXHJcbiAgICBrbzogJ+uSpOuhnCA9PiDslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgZnJvbnRUaGVuQmFjazoge1xyXG4gICAgZW46ICdGcm9udCBUaGVuIEJhY2snLFxyXG4gICAgZGU6ICdOYWNoIFZvcm5lLCBkYW5hY2ggbmFjaCBIaW50ZW4nLFxyXG4gICAgZnI6ICdEZXZhbnQgcHVpcyBkZXJyacOocmUnLFxyXG4gICAgamE6ICfliY0gPT4g5b6M44KNJyxcclxuICAgIGNuOiAn5YmNID0+IOWQjicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCA9PiDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29JbnRvTWlkZGxlOiB7XHJcbiAgICBlbjogJ0dldCBNaWRkbGUnLFxyXG4gICAgZGU6ICdpbiBkaWUgTWl0dGUgZ2VoZW4nLFxyXG4gICAgZnI6ICdBbGxleiBhdSBtaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfljrvkuK3pl7QnLFxyXG4gICAga286ICfspJHslZnsnLzroZwnLFxyXG4gIH0sXHJcbiAgcmlnaHQ6IHtcclxuICAgIGVuOiAnUmlnaHQnLFxyXG4gICAgZGU6ICdSZWNodHMnLFxyXG4gICAgZnI6ICfDgCBkcm9pdGUnLFxyXG4gICAgamE6ICflj7PjgbgnLFxyXG4gICAgY246ICflj7MnLFxyXG4gICAga286ICfsmKTrpbjsqr0nLFxyXG4gIH0sXHJcbiAgbGVmdDoge1xyXG4gICAgZW46ICdMZWZ0JyxcclxuICAgIGRlOiAnTGlua3MnLFxyXG4gICAgZnI6ICfDgCBnYXVjaGUnLFxyXG4gICAgamE6ICflt6bjgbgnLFxyXG4gICAgY246ICflt6YnLFxyXG4gICAga286ICfsmbzsqr0nLFxyXG4gIH0sXHJcbiAgZ2V0TGVmdEFuZFdlc3Q6IHtcclxuICAgIGVuOiAnPD0gR2V0IExlZnQvV2VzdCcsXHJcbiAgICBkZTogJzw9IE5hY2ggTGlua3MvV2VzdGVuJyxcclxuICAgIGZyOiAnPD0gQWxsZXogw6AgR2F1Y2hlL091ZXN0JyxcclxuICAgIGphOiAnPD0g5bemL+ilv+OBuCcsXHJcbiAgICBjbjogJzw9IOWOu+W3pi/opb/ovrknLFxyXG4gICAga286ICc8PSDsmbzsqr3snLzroZwnLFxyXG4gIH0sXHJcbiAgZ2V0UmlnaHRBbmRFYXN0OiB7XHJcbiAgICBlbjogJ0dldCBSaWdodC9FYXN0ID0+JyxcclxuICAgIGRlOiAnTmFjaCBSZWNodHMvT3N0ZW4gPT4nLFxyXG4gICAgZnI6ICdBbGxleiDDoCBEcm9pdGUvRXN0ID0+JyxcclxuICAgIGphOiAn5Y+zL+adseOBuCA9PicsXHJcbiAgICBjbjogJ+WOu+WPsy/kuJzovrkgPT4nLFxyXG4gICAga286ICfsmKTrpbjsqr3snLzroZwgPT4nLFxyXG4gIH0sXHJcbiAgZ29Gcm9udEJhY2s6IHtcclxuICAgIGVuOiAnR28gRnJvbnQvQmFjaycsXHJcbiAgICBkZTogJ0dlaCBuYWNoIFZvcm5lL0hpbnRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudC9EZXJyacOocmUnLFxyXG4gICAgamE6ICfnuKbjgbgnLFxyXG4gICAgY246ICfljrvliY3lkI4nLFxyXG4gICAga286ICfslZ4v65Kk66GcJyxcclxuICB9LFxyXG4gIHNpZGVzOiB7XHJcbiAgICBlbjogJ1NpZGVzJyxcclxuICAgIGRlOiAnU2VpdGVuJyxcclxuICAgIGZyOiAnQ8O0dMOpcycsXHJcbiAgICBqYTogJ+aoquOBuCcsXHJcbiAgICBjbjogJ+WOu+S+p+mdoicsXHJcbiAgICBrbzogJ+yWkeyYhuycvOuhnCcsXHJcbiAgfSxcclxuICBtaWRkbGU6IHtcclxuICAgIGVuOiAnTWlkZGxlJyxcclxuICAgIGRlOiAnTWl0dGUnLFxyXG4gICAgZnI6ICdNaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfkuK3pl7QnLFxyXG4gICAga286ICfspJHslZknLFxyXG4gIH0sXHJcbiAgLy8ga2lsbEFkZHMgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiB7XHJcbiAgICBlbjogJ0tpbGwgYWRkcycsXHJcbiAgICBkZTogJ0FkZHMgYmVzaWVnZW4nLFxyXG4gICAgZnI6ICdUdWV6IGxlcyBhZGRzJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5Yem55CGJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICAvLyBraWxsRXh0cmFBZGQgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDoge1xyXG4gICAgZW46ICdLaWxsIEV4dHJhIEFkZCcsXHJcbiAgICBkZTogJ0FkZCBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbFxcJ2FkZCcsXHJcbiAgICBqYTogJ+mbkemtmuOCkuWAkuOBmScsXHJcbiAgICBjbjogJ+WHu+adgOWwj+aAqicsXHJcbiAgICBrbzogJ+yrhCDsnqHquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21Gcm9udDoge1xyXG4gICAgZW46ICdBd2F5IEZyb20gRnJvbnQnLFxyXG4gICAgZGU6ICdXZWcgdm9uIFZvcm5lJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZGV2YW50JyxcclxuICAgIGphOiAn5YmN5pa544GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a75q2j6Z2iJyxcclxuICAgIGtvOiAn67O07IqkIOyghOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgc2xlZXBUYXJnZXQ6IHtcclxuICAgIGVuOiAnU2xlZXAgJHtuYW1lfScsXHJcbiAgICBkZTogJ1NjaGxhZiBhdWYgJHtuYW1lfScsXHJcbiAgICBmcjogJ1NvbW1laWwgc3VyICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueODquODl+ODqycsXHJcbiAgICBjbjogJ+WCrOecoCAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfSDsiqzrpqztlIwnLFxyXG4gIH0sXHJcbiAgc3R1blRhcmdldDoge1xyXG4gICAgZW46ICdTdHVuICR7bmFtZX0nLFxyXG4gICAgZGU6ICdCZXTDpHVidW5nIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnw4l0b3VyZGlzc2V6ICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueOCv+ODsycsXHJcbiAgICBjbjogJ+ecqeaZlSAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOygiCcsXHJcbiAgfSxcclxuICBpbnRlcnJ1cHRUYXJnZXQ6IHtcclxuICAgIGVuOiAnaW50ZXJydXB0ICR7bmFtZX0nLFxyXG4gICAgZGU6ICd1bnRlcmJyZWNoZSAke25hbWV9JyxcclxuICAgIGZyOiAnSW50ZXJyb21wZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr5rKI6buZJyxcclxuICAgIGNuOiAn5omT5patJHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3quLDsiKAg7Iuc7KCEIOuBiuq4sCcsXHJcbiAgfSxcclxuICBwcmV5T25Zb3U6IHtcclxuICAgIGVuOiAnUHJleSBvbiBZT1UnLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5o2V6aOfJyxcclxuICAgIGNuOiAn5o6g6aOf54K55ZCNJyxcclxuICAgIGtvOiAn7ZmN7Jil7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBwcmV5T25QbGF5ZXI6IHtcclxuICAgIGVuOiAnUHJleSBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2ZjeyYpeynlScsXHJcbiAgfSxcclxuICBhd2F5RnJvbUdyb3VwOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSBHcm91cCcsXHJcbiAgICBkZTogJ1dlZyB2b24gZGVyIEdydXBwZScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGR1IGdyb3VwZScsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemu+S6uue+pCcsXHJcbiAgICBrbzogJ+uLpOuluCDsgqzrnozrk6TsnbTrnpEg65ao7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdXZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGRlICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBi+OCiembouOCjOOCiycsXHJcbiAgICBjbjogJ+i/nOemuyR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCLsl5DshJwg66mA7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIG1ldGVvck9uWW91OiB7XHJcbiAgICBlbjogJ01ldGVvciBvbiBZT1UnLFxyXG4gICAgZGU6ICdNZXRlb3IgYXVmIERJUicsXHJcbiAgICBmcjogJ03DqXTDqW9yZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODoeODhuOCqicsXHJcbiAgICBjbjogJ+mZqOefs+eCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDrqZTthYzsmKTsp5UnLFxyXG4gIH0sXHJcbiAgc3RvcE1vdmluZzoge1xyXG4gICAgZW46ICdTdG9wIE1vdmluZyEnLFxyXG4gICAgZGU6ICdCZXdlZ3VuZyBzdG9wcGVuIScsXHJcbiAgICBmcjogJ05lIGJvdWdleiBwYXMgIScsXHJcbiAgICBqYTogJ+enu+WLleemgeatou+8gScsXHJcbiAgICBjbjogJ+WBnOatouenu+WKqO+8gScsXHJcbiAgICBrbzogJ+ydtOuPmSDrqYjstpTquLAhJyxcclxuICB9LFxyXG4gIHN0b3BFdmVyeXRoaW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgRXZlcnl0aGluZyEnLFxyXG4gICAgZGU6ICdTdG9wcGUgQWxsZXMhJyxcclxuICAgIGZyOiAnQXJyw6p0ZXogVE9VVCAhJyxcclxuICAgIGphOiAn6KGM5YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i6KGM5Yqo77yBJyxcclxuICAgIGtvOiAn7ZaJ64+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUF3YXk6IHtcclxuICAgIC8vIG1vdmUgYXdheSB0byBkb2RnZSBhb2VzXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+mBv+OBkeOBpu+8gScsXHJcbiAgICBjbjogJ+W/q+i6suW8gO+8gScsXHJcbiAgICBrbzogJ+ydtOuPme2VmOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUFyb3VuZDoge1xyXG4gICAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+WLleOBj++8gScsXHJcbiAgICBjbjogJ+W/q+WKqO+8gScsXHJcbiAgICBrbzogJ+ybgOyngeydtOq4sCEnLFxyXG4gIH0sXHJcbiAgYnJlYWtDaGFpbnM6IHtcclxuICAgIGVuOiAnQnJlYWsgY2hhaW5zJyxcclxuICAgIGRlOiAnS2V0dGUgemVyYnJlY2hlbicsXHJcbiAgICBmcjogJ0JyaXNleiBsZXMgY2hhaW5lcycsXHJcbiAgICBqYTogJ+e3muOCkuWIh+OCiycsXHJcbiAgICBjbjogJ+WIh+aWrei/nue6vycsXHJcbiAgICBrbzogJ+yEoCDrgYrquLAnLFxyXG4gIH0sXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiB7XHJcbiAgICBlbjogJ01vdmUgY2hhaW5zIHRvZ2V0aGVyJyxcclxuICAgIGRlOiAnS2V0dGVuIHp1c2FtbWVuIGJld2VnZW4nLFxyXG4gICAgZnI6ICdCb3VnZXogbGVzIGNoYWluZXMgZW5zZW1ibGUnLFxyXG4gICAgamE6ICfnt5rlkIzlo6vkuIDnt5Ljgavnp7vli5UnLFxyXG4gICAgY246ICfov57nur/kuIDotbfnp7vliqgnLFxyXG4gICAga286ICfshKAg67aZ7Ja07IScIOqwmeydtCDsm4Dsp4HsnbTquLAnLFxyXG4gIH0sXHJcbiAgZWFydGhzaGFrZXJPbllvdToge1xyXG4gICAgZW46ICdFYXJ0aCBTaGFrZXIgb24gWU9VJyxcclxuICAgIGRlOiAnRXJkc3Rvw58gYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1ZSBkZSB0ZXJyZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCouODvOOCueOCt+OCp+OCpOOCq+ODvCcsXHJcbiAgICBjbjogJ+Wkp+WcsOaRh+WKqOeCueWQjScsXHJcbiAgICBrbzogJ+yWtOyKpOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgd2FrZVVwOiB7XHJcbiAgICBlbjogJ1dBS0UgVVAnLFxyXG4gICAgZGU6ICdBVUZXQUNIRU4nLFxyXG4gICAgZnI6ICdSw4lWRUlMTEUtVE9JJyxcclxuICAgIGphOiAn55uu44KS6Kaa44G+44GX44Gm77yBJyxcclxuICAgIGNuOiAn6YaS6YaS77yB5Yqo5LiA5Yqo77yB77yBJyxcclxuICAgIGtvOiAn7J287Ja064KY7IS47JqUIScsXHJcbiAgfSxcclxuICBjbG9zZVRldGhlcnNXaXRoUGxheWVyOiB7XHJcbiAgICBlbjogJ0Nsb3NlIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdOYWhlIFZlcmJpbmR1bmdlbiAoJHtwbGF5ZXJ9KScsXHJcbiAgICBmcjogJ0xpZW5zIHByb2NoZXMgYXZlYyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBqYTogJygke3BsYXllcn0p44Gr6L+R44Gl44GPJyxcclxuICAgIGNuOiAn6Z2g6L+R6L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOqwgOq5jOydtCDrtpnquLAgKCR7cGxheWVyfSknLFxyXG4gIH0sXHJcbiAgZmFyVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnRmFyIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdFbnRmZXJudGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgw6lsb2lnbsOpcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnICgke3BsYXllcn0p44GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a76L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOuWqOyWtOyngOq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJz8/PycsXHJcbiAgICBkZTogJz8/PycsXHJcbiAgICBmcjogJz8/PycsXHJcbiAgICBqYTogJz8/PycsXHJcbiAgICBjbjogJz8/PycsXHJcbiAgICBrbzogJz8/PycsXHJcbiAgfSxcclxuICBub3J0aDoge1xyXG4gICAgZW46ICdOb3J0aCcsXHJcbiAgICBkZTogJ05vcmRlbicsXHJcbiAgICBmcjogJ05vcmQnLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBzb3V0aDoge1xyXG4gICAgZW46ICdTb3V0aCcsXHJcbiAgICBkZTogJ1PDvGRlbicsXHJcbiAgICBmcjogJ1N1ZCcsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGVhc3Q6IHtcclxuICAgIGVuOiAnRWFzdCcsXHJcbiAgICBkZTogJ09zdGVuJyxcclxuICAgIGZyOiAnRXN0JyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgd2VzdDoge1xyXG4gICAgZW46ICdXZXN0JyxcclxuICAgIGRlOiAnV2VzdGVuJyxcclxuICAgIGZyOiAnT3Vlc3QnLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBub3J0aHdlc3Q6IHtcclxuICAgIGVuOiAnTm9ydGh3ZXN0JyxcclxuICAgIGRlOiAnTm9yZHdlc3RlbicsXHJcbiAgICBmcjogJ05vcmQtT3Vlc3QnLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBub3J0aGVhc3Q6IHtcclxuICAgIGVuOiAnTm9ydGhlYXN0JyxcclxuICAgIGRlOiAnTm9yZG9zdGVuJyxcclxuICAgIGZyOiAnTm9yZC1Fc3QnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBzb3V0aHdlc3Q6IHtcclxuICAgIGVuOiAnU291dGh3ZXN0JyxcclxuICAgIGRlOiAnU8O8ZHdlc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIHNvdXRoZWFzdDoge1xyXG4gICAgZW46ICdTb3V0aGVhc3QnLFxyXG4gICAgZGU6ICdTw7xkb3N0ZW4nLFxyXG4gICAgZnI6ICdTdWQtRXN0JyxcclxuICAgIGphOiAn5Y2X5p2xJyxcclxuICAgIGNuOiAn5Y+z5LiLKOS4nOWNlyknLFxyXG4gICAga286ICfrgqjrj5knLFxyXG4gIH0sXHJcbiAgZGlyTjoge1xyXG4gICAgZW46ICdOJyxcclxuICAgIGRlOiAnTicsXHJcbiAgICBmcjogJ04nLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBkaXJTOiB7XHJcbiAgICBlbjogJ1MnLFxyXG4gICAgZGU6ICdTJyxcclxuICAgIGZyOiAnUycsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGRpckU6IHtcclxuICAgIGVuOiAnRScsXHJcbiAgICBkZTogJ08nLFxyXG4gICAgZnI6ICdFJyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgZGlyVzoge1xyXG4gICAgZW46ICdXJyxcclxuICAgIGRlOiAnVycsXHJcbiAgICBmcjogJ08nLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBkaXJOVzoge1xyXG4gICAgZW46ICdOVycsXHJcbiAgICBkZTogJ05XJyxcclxuICAgIGZyOiAnTk8nLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBkaXJORToge1xyXG4gICAgZW46ICdORScsXHJcbiAgICBkZTogJ05PJyxcclxuICAgIGZyOiAnTkUnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBkaXJTVzoge1xyXG4gICAgZW46ICdTVycsXHJcbiAgICBkZTogJ1NXJyxcclxuICAgIGZyOiAnU08nLFxyXG4gICAgamE6ICfljZfopb8nLFxyXG4gICAgY246ICflt6bkuIso6KW/5Y2XKScsXHJcbiAgICBrbzogJ+uCqOyEnCcsXHJcbiAgfSxcclxuICBkaXJTRToge1xyXG4gICAgZW46ICdTRScsXHJcbiAgICBkZTogJ1NPJyxcclxuICAgIGZyOiAnU0UnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICAvLyBMaXRlcmFsIG51bWJlcnMuXHJcbiAgbnVtMDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMCksXHJcbiAgbnVtMTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMSksXHJcbiAgbnVtMjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMiksXHJcbiAgbnVtMzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMyksXHJcbiAgbnVtNDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNCksXHJcbiAgbnVtNTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNSksXHJcbiAgbnVtNjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNiksXHJcbiAgbnVtNzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNyksXHJcbiAgbnVtODogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOCksXHJcbiAgbnVtOTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOSksXHJcbn0gYXMgY29uc3Q7XHJcbiIsIi8vIE92ZXJsYXlQbHVnaW4gQVBJIHNldHVwXHJcblxyXG5pbXBvcnQge1xyXG4gIEV2ZW50TWFwLFxyXG4gIEV2ZW50VHlwZSxcclxuICBJT3ZlcmxheUhhbmRsZXIsXHJcbiAgT3ZlcmxheUhhbmRsZXJGdW5jcyxcclxuICBPdmVybGF5SGFuZGxlclR5cGVzLFxyXG59IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuXHJcbnR5cGUgQmFzZVJlc3BvbnNlID0geyByc2VxPzogbnVtYmVyOyAnJGVycm9yJz86IGJvb2xlYW4gfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgIF9fT3ZlcmxheUNhbGxiYWNrOiBFdmVudE1hcFtFdmVudFR5cGVdO1xyXG4gICAgZGlzcGF0Y2hPdmVybGF5RXZlbnQ/OiB0eXBlb2YgcHJvY2Vzc0V2ZW50O1xyXG4gICAgT3ZlcmxheVBsdWdpbkFwaToge1xyXG4gICAgICByZWFkeTogYm9vbGVhbjtcclxuICAgICAgY2FsbEhhbmRsZXI6IChtc2c6IHN0cmluZywgY2I/OiAodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bikgPT4gdm9pZDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlcjtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgSUFkZE92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG50eXBlIElSZW1vdmVPdmVybGF5TGlzdGVuZXIgPSA8VCBleHRlbmRzIEV2ZW50VHlwZT4oZXZlbnQ6IFQsIGNiOiBFdmVudE1hcFtUXSkgPT4gdm9pZDtcclxuXHJcbnR5cGUgU3Vic2NyaWJlcjxUPiA9IHtcclxuICBba2V5IGluIEV2ZW50VHlwZV0/OiBUW107XHJcbn07XHJcbnR5cGUgRXZlbnRQYXJhbWV0ZXIgPSBQYXJhbWV0ZXJzPEV2ZW50TWFwW0V2ZW50VHlwZV0+WzBdO1xyXG50eXBlIFZvaWRGdW5jPFQ+ID0gKC4uLmFyZ3M6IFRbXSkgPT4gdm9pZDtcclxuXHJcbmxldCBpbml0ZWQgPSBmYWxzZTtcclxuXHJcbmxldCB3c1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7XHJcbmxldCBxdWV1ZTogKFxyXG4gIHwgeyBbczogc3RyaW5nXTogdW5rbm93biB9XHJcbiAgfCBbeyBbczogc3RyaW5nXTogdW5rbm93biB9LCAoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duKSB8IHVuZGVmaW5lZF1cclxuKVtdIHwgbnVsbCA9IFtdO1xyXG5sZXQgcnNlcUNvdW50ZXIgPSAwO1xyXG50eXBlIFByb21pc2VGdW5jcyA9IHtcclxuICByZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbn07XHJcbmNvbnN0IHJlc3BvbnNlUHJvbWlzZXM6IHsgW3JzZXFJZHg6IG51bWJlcl06IFByb21pc2VGdW5jcyB9ID0ge307XHJcblxyXG5jb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxWb2lkRnVuYzx1bmtub3duPj4gPSB7fTtcclxuXHJcbmNvbnN0IHNlbmRNZXNzYWdlID0gKFxyXG4gIG1zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIGNiPzogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAod3MpIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChtc2cpO1xyXG4gICAgZWxzZVxyXG4gICAgICB3cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAocXVldWUpXHJcbiAgICAgIHF1ZXVlLnB1c2goW21zZywgY2JdKTtcclxuICAgIGVsc2VcclxuICAgICAgd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkuY2FsbEhhbmRsZXIoSlNPTi5zdHJpbmdpZnkobXNnKSwgY2IpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NFdmVudCA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihtc2c6IFBhcmFtZXRlcnM8RXZlbnRNYXBbVF0+WzBdKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBzdWJzID0gc3Vic2NyaWJlcnNbbXNnLnR5cGVdO1xyXG4gIHN1YnM/LmZvckVhY2goKHN1YikgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgc3ViKG1zZyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGF0Y2hPdmVybGF5RXZlbnQgPSBwcm9jZXNzRXZlbnQ7XHJcblxyXG5leHBvcnQgY29uc3QgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKCFzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIHN1YnNjcmliZXJzW2V2ZW50XSA9IFtdO1xyXG5cclxuICAgIGlmICghcXVldWUpIHtcclxuICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgIGV2ZW50czogW2V2ZW50XSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVyc1tldmVudF0/LnB1c2goY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IChldmVudCwgY2IpOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGlmIChzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIGNvbnN0IGxpc3QgPSBzdWJzY3JpYmVyc1tldmVudF07XHJcbiAgICBjb25zdCBwb3MgPSBsaXN0Py5pbmRleE9mKGNiIGFzIFZvaWRGdW5jPHVua25vd24+KTtcclxuXHJcbiAgICBpZiAocG9zICE9PSB1bmRlZmluZWQgJiYgcG9zID4gLTEpXHJcbiAgICAgIGxpc3Q/LnNwbGljZShwb3MsIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlckludGVybmFsOiBJT3ZlcmxheUhhbmRsZXIgPSAoXHJcbiAgX21zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbik6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBtc2cgPSB7XHJcbiAgICAuLi5fbXNnLFxyXG4gICAgcnNlcTogMCxcclxuICB9O1xyXG4gIGxldCBwOiBQcm9taXNlPHVua25vd24+O1xyXG5cclxuICBpZiAod3MpIHtcclxuICAgIG1zZy5yc2VxID0gcnNlcUNvdW50ZXIrKztcclxuICAgIHAgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdID0geyByZXNvbHZlOiByZXNvbHZlLCByZWplY3Q6IHJlamVjdCB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgc2VuZE1lc3NhZ2UobXNnLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgcmVzb2x2ZShkYXRhKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShkYXRhKSBhcyBCYXNlUmVzcG9uc2U7XHJcbiAgICAgICAgaWYgKHBhcnNlZFsnJGVycm9yJ10pXHJcbiAgICAgICAgICByZWplY3QocGFyc2VkKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXNvbHZlKHBhcnNlZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcDtcclxufTtcclxuXHJcbnR5cGUgT3ZlcnJpZGVNYXAgPSB7IFtjYWxsIGluIE92ZXJsYXlIYW5kbGVyVHlwZXNdPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tjYWxsXSB9O1xyXG5jb25zdCBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcDogT3ZlcnJpZGVNYXAgPSB7fTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIC8vIElmIHRoaXMgYGFzYCBpcyBpbmNvcnJlY3QsIHRoZW4gaXQgd2lsbCBub3QgZmluZCBhbiBvdmVycmlkZS5cclxuICAvLyBUT0RPOiB3ZSBjb3VsZCBhbHNvIHJlcGxhY2UgdGhpcyB3aXRoIGEgdHlwZSBndWFyZC5cclxuICBjb25zdCB0eXBlID0gX21zZy5jYWxsIGFzIGtleW9mIE92ZXJyaWRlTWFwO1xyXG4gIGNvbnN0IGNhbGxGdW5jID0gY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV0gPz8gY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw7XHJcblxyXG4gIC8vIFRoZSBgSU92ZXJsYXlIYW5kbGVyYCB0eXBlIGd1YXJhbnRlZXMgdGhhdCBwYXJhbWV0ZXJzL3JldHVybiB0eXBlIG1hdGNoXHJcbiAgLy8gb25lIG9mIHRoZSBvdmVybGF5IGhhbmRsZXJzLiAgVGhlIE92ZXJyaWRlTWFwIGFsc28gb25seSBzdG9yZXMgZnVuY3Rpb25zXHJcbiAgLy8gdGhhdCBtYXRjaCBieSB0aGUgZGlzY3JpbWluYXRpbmcgYGNhbGxgIGZpZWxkLCBhbmQgc28gYW55IG92ZXJyaWRlc1xyXG4gIC8vIHNob3VsZCBiZSBjb3JyZWN0IGhlcmUuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XHJcbiAgcmV0dXJuIGNhbGxGdW5jKF9tc2cgYXMgYW55KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlID0gPFQgZXh0ZW5kcyBrZXlvZiBPdmVybGF5SGFuZGxlckZ1bmNzPihcclxuICB0eXBlOiBULFxyXG4gIG92ZXJyaWRlPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tUXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgaWYgKCFvdmVycmlkZSkge1xyXG4gICAgZGVsZXRlIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA9IG92ZXJyaWRlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluaXQgPSAoKTogdm9pZCA9PiB7XHJcbiAgaWYgKGluaXRlZClcclxuICAgIHJldHVybjtcclxuXHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB3c1VybCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdPVkVSTEFZX1dTJyk7XHJcbiAgICBpZiAod3NVcmwgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgY29ubmVjdFdzID0gZnVuY3Rpb24od3NVcmw6IHN0cmluZykge1xyXG4gICAgICAgIHdzID0gbmV3IFdlYlNvY2tldCh3c1VybCk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGVkIScpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGZvciAoY29uc3QgbXNnIG9mIHEpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1zZykpXHJcbiAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChfbXNnKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIF9tc2cuZGF0YSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIG1lc3NhZ2UgZGF0YSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoX21zZy5kYXRhKSBhcyBFdmVudFBhcmFtZXRlciAmIEJhc2VSZXNwb25zZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2VGdW5jcyA9IG1zZz8ucnNlcSAhPT0gdW5kZWZpbmVkID8gcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChtc2cucnNlcSAhPT0gdW5kZWZpbmVkICYmIHByb21pc2VGdW5jcykge1xyXG4gICAgICAgICAgICAgIGlmIChtc2dbJyRlcnJvciddKVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlamVjdChtc2cpO1xyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHByb21pc2VGdW5jcy5yZXNvbHZlKG1zZyk7XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NFdmVudChtc2cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCAoKSA9PiB7XHJcbiAgICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ1RyeWluZyB0byByZWNvbm5lY3QuLi4nKTtcclxuICAgICAgICAgIC8vIERvbid0IHNwYW0gdGhlIHNlcnZlciB3aXRoIHJldHJpZXMuXHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbm5lY3RXcyh3c1VybCk7XHJcbiAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHdhaXRGb3JBcGkgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpIHx8ICF3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5yZWFkeSkge1xyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQod2FpdEZvckFwaSwgMzAwKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgIHdpbmRvdy5fX092ZXJsYXlDYWxsYmFjayA9IHByb2Nlc3NFdmVudDtcclxuXHJcbiAgICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHEpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKVxyXG4gICAgICAgICAgICBzZW5kTWVzc2FnZShpdGVtWzBdLCBpdGVtWzFdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB3YWl0Rm9yQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVyZSB0aGUgT3ZlcmxheVBsdWdpbiBBUEkgaXMgcmVnaXN0ZXJlZCB0byB0aGUgd2luZG93IG9iamVjdCxcclxuICAgIC8vIGJ1dCB0aGlzIGlzIG1haW5seSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuRm9yIGNhY3Rib3QncyBidWlsdC1pbiBmaWxlcyxcclxuICAgIC8vIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgdmFyaW91cyBmdW5jdGlvbnMgZXhwb3J0ZWQgaW4gcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cy5cclxuICAgIHdpbmRvdy5hZGRPdmVybGF5TGlzdGVuZXIgPSBhZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cucmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gcmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgd2luZG93LmNhbGxPdmVybGF5SGFuZGxlciA9IGNhbGxPdmVybGF5SGFuZGxlcjtcclxuICAgIHdpbmRvdy5kaXNwYXRjaE92ZXJsYXlFdmVudCA9IGRpc3BhdGNoT3ZlcmxheUV2ZW50O1xyXG4gIH1cclxuXHJcbiAgaW5pdGVkID0gdHJ1ZTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0UGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3Byb3BzJztcclxuaW1wb3J0IHsgQ2FjdGJvdEJhc2VSZWdFeHAgfSBmcm9tICcuLi90eXBlcy9uZXRfdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgbG9nRGVmaW5pdGlvbnMsIHsgTG9nRGVmaW5pdGlvblR5cGVzLCBQYXJzZUhlbHBlckZpZWxkcyB9IGZyb20gJy4vbmV0bG9nX2RlZnMnO1xyXG5cclxuY29uc3Qgc2VwYXJhdG9yID0gJzonO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW146XSonO1xyXG5jb25zdCBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0ID0gJyg/OlteOl18OiApKj8nO1xyXG5jb25zdCBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zID0gWydlZmZlY3QnLCAnYWJpbGl0eSddO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZGVmS2V5OiBULFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGRlZktleSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIFNwZWNpYWwgY2FzZSBmb3IgQWJpbGl0eSB0byBoYW5kbGUgYW9lIGFuZCBub24tYW9lLlxyXG4gIGNvbnN0IGFiaWxpdHlNZXNzYWdlVHlwZSA9XHJcbiAgICBgKD86JHtsb2dEZWZpbml0aW9ucy5BYmlsaXR5Lm1lc3NhZ2VUeXBlfXwke2xvZ0RlZmluaXRpb25zLk5ldHdvcmtBT0VBYmlsaXR5Lm1lc3NhZ2VUeXBlfSlgO1xyXG4gIGNvbnN0IGFiaWxpdHlIZXhDb2RlID0gJyg/OjE1fDE2KSc7XHJcblxyXG4gIC8vIEJ1aWxkIHRoZSByZWdleCBmcm9tIHRoZSBmaWVsZHMuXHJcbiAgY29uc3QgcHJlZml4ID0gZGVmS2V5ICE9PSAnQWJpbGl0eScgPyBsb2dEZWZpbml0aW9uc1tkZWZLZXldLm1lc3NhZ2VUeXBlIDogYWJpbGl0eU1lc3NhZ2VUeXBlO1xyXG4gIGNvbnN0IGhleENvZGUgPSBkZWZLZXkgIT09ICdBYmlsaXR5J1xyXG4gICAgPyBgMDAke3BhcnNlSW50KGxvZ0RlZmluaXRpb25zW2RlZktleV0udHlwZSkudG9TdHJpbmcoMTYpfWAuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKClcclxuICAgIDogYWJpbGl0eUhleENvZGU7XHJcblxyXG4gIGxldCBzdHIgPSAnJztcclxuICBpZiAoY2FwdHVyZSlcclxuICAgIHN0ciArPSBgKD88dGltZXN0YW1wPlxcXFx5e1RpbWVzdGFtcH0pICR7cHJlZml4fSAoPzx0eXBlPiR7aGV4Q29kZX0pYDtcclxuICBlbHNlXHJcbiAgICBzdHIgKz0gYFxcXFx5e1RpbWVzdGFtcH0gJHtwcmVmaXh9ICR7aGV4Q29kZX1gO1xyXG5cclxuICBsZXQgbGFzdEtleSA9IDE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcblxyXG4gICAgLy8gUmVnZXggaGFuZGxlcyB0aGVzZSBtYW51YWxseSBhYm92ZSBpbiB0aGUgYHN0cmAgaW5pdGlhbGl6YXRpb24uXHJcbiAgICBpZiAoZmllbGROYW1lID09PSAndGltZXN0YW1wJyB8fCBmaWVsZE5hbWUgPT09ICd0eXBlJylcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3Qga2V5ID0gcGFyc2VJbnQoa2V5U3RyKTtcclxuICAgIC8vIEZpbGwgaW4gYmxhbmtzLlxyXG4gICAgY29uc3QgbWlzc2luZ0ZpZWxkcyA9IGtleSAtIGxhc3RLZXkgLSAxO1xyXG4gICAgaWYgKG1pc3NpbmdGaWVsZHMgPT09IDEpXHJcbiAgICAgIHN0ciArPSBgJHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9YDtcclxuICAgIGVsc2UgaWYgKG1pc3NpbmdGaWVsZHMgPiAxKVxyXG4gICAgICBzdHIgKz0gYCg/OiR7c2VwYXJhdG9yfSR7bWF0Y2hEZWZhdWx0fSl7JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBzdHIgKz0gc2VwYXJhdG9yO1xyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleVN0cl07XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RlZktleX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkRGVmYXVsdCA9IGZpZWxkTmFtZSAmJiBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zLmluY2x1ZGVzKGZpZWxkTmFtZSlcclxuICAgICAgPyBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0XHJcbiAgICAgIDogbWF0Y2hEZWZhdWx0O1xyXG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkc1trZXlTdHJdPy52YWx1ZT8udG9TdHJpbmcoKSA/PyBmaWVsZERlZmF1bHQ7XHJcblxyXG4gICAgaWYgKGZpZWxkTmFtZSkge1xyXG4gICAgICBzdHIgKz0gUmVnZXhlcy5tYXliZUNhcHR1cmUoXHJcbiAgICAgICAgLy8gbW9yZSBhY2N1cmF0ZSB0eXBlIGluc3RlYWQgb2YgYGFzYCBjYXN0XHJcbiAgICAgICAgLy8gbWF5YmUgdGhpcyBmdW5jdGlvbiBuZWVkcyBhIHJlZmFjdG9yaW5nXHJcbiAgICAgICAgY2FwdHVyZSxcclxuICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgKHBhcmFtcyBhcyB7IFtzOiBzdHJpbmddOiBzdHJpbmcgfSlbZmllbGROYW1lXSxcclxuICAgICAgICBmaWVsZFZhbHVlLFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBzdHIgKz0gJyg/OiR8OiknO1xyXG5cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhlcyB7XHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdBYmlsaXR5JywgZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhYmlsaXR5YCBpbnN0ZWFkXHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHlGdWxsKHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hYmlsaXR5KHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWItbmV0d29ya3RhcmdldGljb24taGVhZC1tYXJrZXJzXHJcbiAgICovXHJcbiAgc3RhdGljIGhlYWRNYXJrZXIocGFyYW1zPzogTmV0UGFyYW1zWydIZWFkTWFya2VyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnSGVhZE1hcmtlcic+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdIZWFkTWFya2VyJywgZGVmYXVsdFBhcmFtcygnSGVhZE1hcmtlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnQocGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdBZGRlZENvbWJhdGFudCcsXHJcbiAgICAgIGRlZmF1bHRQYXJhbXMoJ0FkZGVkQ29tYmF0YW50JywgW1xyXG4gICAgICAgICd0eXBlJyxcclxuICAgICAgICAndGltZXN0YW1wJyxcclxuICAgICAgICAnaWQnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgXSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudEZ1bGwoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FkZGVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUmVtb3ZlZENvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3RhdHVzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdMb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1BsYXllclN0YXRzJywgZGVmYXVsdFBhcmFtcygnUGxheWVyU3RhdHMnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDEtY2hhbmdlem9uZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBjaGFuZ2Vab25lKHBhcmFtcz86IE5ldFBhcmFtc1snQ2hhbmdlWm9uZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0NoYW5nZVpvbmUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQ2hhbmdlWm9uZScsIGRlZmF1bHRQYXJhbXMoJ0NoYW5nZVpvbmUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjEtbmV0d29yazZkLWFjdG9yLWNvbnRyb2wtbGluZXNcclxuICAgKi9cclxuICBzdGF0aWMgbmV0d29yazZkKHBhcmFtcz86IE5ldFBhcmFtc1snQWN0b3JDb250cm9sJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWN0b3JDb250cm9sJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FjdG9yQ29udHJvbCcsIGRlZmF1bHRQYXJhbXMoJ0FjdG9yQ29udHJvbCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMi1uZXR3b3JrbmFtZXRvZ2dsZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBuYW1lVG9nZ2xlKHBhcmFtcz86IE5ldFBhcmFtc1snTmFtZVRvZ2dsZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J05hbWVUb2dnbGUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnTmFtZVRvZ2dsZScsIGRlZmF1bHRQYXJhbXMoJ05hbWVUb2dnbGUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjgtbWFwXHJcbiAgICovXHJcbiAgc3RhdGljIG1hcChwYXJhbXM/OiBOZXRQYXJhbXNbJ01hcCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J01hcCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdNYXAnLCBkZWZhdWx0UGFyYW1zKCdNYXAnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjktc3lzdGVtbG9nbWVzc2FnZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBzeXN0ZW1Mb2dNZXNzYWdlKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTeXN0ZW1Mb2dNZXNzYWdlJ10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N5c3RlbUxvZ01lc3NhZ2UnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3lzdGVtTG9nTWVzc2FnZScsIGRlZmF1bHRQYXJhbXMoJ1N5c3RlbUxvZ01lc3NhZ2UnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIG5hbWVkIGNhcHR1cmUgZ3JvdXBcclxuICAgKi9cclxuICBzdGF0aWMgbWF5YmVDYXB0dXJlKFxyXG4gICAgY2FwdHVyZTogYm9vbGVhbixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZyxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlID8/IG1hdGNoRGVmYXVsdDtcclxuICAgIHZhbHVlID0gUmVnZXhlcy5hbnlPZih2YWx1ZSk7XHJcbiAgICByZXR1cm4gY2FwdHVyZSA/IFJlZ2V4ZXMubmFtZWRDYXB0dXJlKG5hbWUsIHZhbHVlKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG9wdGlvbmFsKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgKD86JHtzdHJ9KT9gO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3JlYXRlcyBhIG5hbWVkIHJlZ2V4IGNhcHR1cmUgZ3JvdXAgbmFtZWQgfG5hbWV8IGZvciB0aGUgbWF0Y2ggfHZhbHVlfC5cclxuICBzdGF0aWMgbmFtZWRDYXB0dXJlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPicpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoJzwnKSlcclxuICAgICAgY29uc29sZS5lcnJvcignXCInICsgbmFtZSArICdcIiBjb250YWlucyBcIj5cIi4nKTtcclxuXHJcbiAgICByZXR1cm4gJyg/PCcgKyBuYW1lICsgJz4nICsgdmFsdWUgKyAnKSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZW5pZW5jZSBmb3IgdHVybmluZyBtdWx0aXBsZSBhcmdzIGludG8gYSB1bmlvbmVkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cclxuICAgKiBhbnlPZih4LCB5LCB6KSBvciBhbnlPZihbeCwgeSwgel0pIGRvIHRoZSBzYW1lIHRoaW5nLCBhbmQgcmV0dXJuICg/Onh8eXx6KS5cclxuICAgKiBhbnlPZih4KSBvciBhbnlPZih4KSBvbiBpdHMgb3duIHNpbXBsaWZpZXMgdG8ganVzdCB4LlxyXG4gICAqIGFyZ3MgbWF5IGJlIHN0cmluZ3Mgb3IgUmVnRXhwLCBhbHRob3VnaCBhbnkgYWRkaXRpb25hbCBtYXJrZXJzIHRvIFJlZ0V4cFxyXG4gICAqIGxpa2UgL2luc2Vuc2l0aXZlL2kgYXJlIGRyb3BwZWQuXHJcbiAgICovXHJcbiAgc3RhdGljIGFueU9mKC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSB8IFJlZ0V4cClbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhbnlPZkFycmF5ID0gKGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGAoPzoke2FycmF5Lm1hcCgoZWxlbSkgPT4gZWxlbSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGVsZW0uc291cmNlIDogZWxlbSkuam9pbignfCcpfSlgO1xyXG4gICAgfTtcclxuICAgIGxldCBhcnJheTogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZ3NbMF0pKVxyXG4gICAgICAgIGFycmF5ID0gYXJnc1swXTtcclxuICAgICAgZWxzZSBpZiAoYXJnc1swXSlcclxuICAgICAgICBhcnJheSA9IFthcmdzWzBdXTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGFycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPOiBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgYXJyYXkgPSBhcmdzIGFzIHN0cmluZ1tdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFueU9mQXJyYXkoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhcnNlKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nIHwgQ2FjdGJvdEJhc2VSZWdFeHA8J05vbmUnPik6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBrQ2FjdGJvdENhdGVnb3JpZXMgPSB7XHJcbiAgICAgIFRpbWVzdGFtcDogJ14uezE0fScsXHJcbiAgICAgIE5ldFRpbWVzdGFtcDogJy57MzN9JyxcclxuICAgICAgTmV0RmllbGQ6ICcoPzpbXnxdKlxcXFx8KScsXHJcbiAgICAgIExvZ1R5cGU6ICdbMC05QS1GYS1mXXsyfScsXHJcbiAgICAgIEFiaWxpdHlDb2RlOiAnWzAtOUEtRmEtZl17MSw4fScsXHJcbiAgICAgIE9iamVjdElkOiAnWzAtOUEtRl17OH0nLFxyXG4gICAgICAvLyBNYXRjaGVzIGFueSBjaGFyYWN0ZXIgbmFtZSAoaW5jbHVkaW5nIGVtcHR5IHN0cmluZ3Mgd2hpY2ggdGhlIEZGWElWXHJcbiAgICAgIC8vIEFDVCBwbHVnaW4gY2FuIGdlbmVyYXRlIHdoZW4gdW5rbm93bikuXHJcbiAgICAgIE5hbWU6ICcoPzpbXlxcXFxzOnxdKyg/OiBbXlxcXFxzOnxdKyk/fCknLFxyXG4gICAgICAvLyBGbG9hdHMgY2FuIGhhdmUgY29tbWEgYXMgc2VwYXJhdG9yIGluIEZGWElWIHBsdWdpbiBvdXRwdXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXZhaG4vRkZYSVZfQUNUX1BsdWdpbi9pc3N1ZXMvMTM3XHJcbiAgICAgIEZsb2F0OiAnLT9bMC05XSsoPzpbLixdWzAtOV0rKT8oPzpFLT9bMC05XSspPycsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEFsbCByZWdleGVzIGluIGNhY3Rib3QgYXJlIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICAvLyBUaGlzIGF2b2lkcyBoZWFkYWNoZXMgYXMgdGhpbmdzIGxpa2UgYFZpY2UgYW5kIFZhbml0eWAgdHVybnMgaW50b1xyXG4gICAgLy8gYFZpY2UgQW5kIFZhbml0eWAsIGVzcGVjaWFsbHkgZm9yIEZyZW5jaCBhbmQgR2VybWFuLiAgSXQgYXBwZWFycyB0b1xyXG4gICAgLy8gaGF2ZSBhIH4yMCUgcmVnZXggcGFyc2luZyBvdmVyaGVhZCwgYnV0IGF0IGxlYXN0IHRoZXkgd29yay5cclxuICAgIGxldCBtb2RpZmllcnMgPSAnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgIG1vZGlmaWVycyArPSAocmVnZXhwU3RyaW5nLmdsb2JhbCA/ICdnJyA6ICcnKSArXHJcbiAgICAgICAgKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5zb3VyY2U7XHJcbiAgICB9XHJcbiAgICByZWdleHBTdHJpbmcgPSByZWdleHBTdHJpbmcucmVwbGFjZSgvXFxcXHlcXHsoLio/KVxcfS9nLCAobWF0Y2gsIGdyb3VwKSA9PiB7XHJcbiAgICAgIHJldHVybiBrQ2FjdGJvdENhdGVnb3JpZXNbZ3JvdXAgYXMga2V5b2YgdHlwZW9mIGtDYWN0Ym90Q2F0ZWdvcmllc10gfHwgbWF0Y2g7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ2V4cFN0cmluZywgbW9kaWZpZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIExpa2UgUmVnZXguUmVnZXhlcy5wYXJzZSwgYnV0IGZvcmNlIGdsb2JhbCBmbGFnLlxyXG4gIHN0YXRpYyBwYXJzZUdsb2JhbChyZWdleHBTdHJpbmc6IFJlZ0V4cCB8IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCByZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXhwU3RyaW5nKTtcclxuICAgIGxldCBtb2RpZmllcnMgPSAnZ2knO1xyXG4gICAgaWYgKHJlZ2V4cFN0cmluZyBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcubXVsdGlsaW5lID8gJ20nIDogJycpO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXguc291cmNlLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRydWVJZlVuZGVmaW5lZCh2YWx1ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICEhdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdmFsaWRhdGVQYXJhbXMoXHJcbiAgICBmOiBSZWFkb25seTx7IFtzOiBzdHJpbmddOiB1bmtub3duIH0+LFxyXG4gICAgZnVuY05hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtczogUmVhZG9ubHk8c3RyaW5nW10+LFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGYgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgZiAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmKTtcclxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwga2V5cy5sZW5ndGg7ICsraykge1xyXG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2tdO1xyXG4gICAgICBpZiAoa2V5ICYmICFwYXJhbXMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGAke2Z1bmNOYW1lfTogaW52YWxpZCBwYXJhbWV0ZXIgJyR7a2V5fScuICBgICtcclxuICAgICAgICAgICAgYFZhbGlkIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfWAsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gYSB0cmlnZ2VyIGFzIHN1Y2g6XHJcbi8vIHtcclxuLy8gICBpZDogJ1NvbWUgdGFua2J1c3RlcicsXHJcbi8vICAgcmVnZXg6IFJlZ2V4ZXMuc3RhcnRzVXNpbmcoe3NvdXJjZTogJ1llIE9sZGUgQm9zc2UnLCBpZDogJzY2Nid9KSxcclxuLy8gICBjb25kaXRpb246IENvbmRpdGlvbnMuY2FyZXNBYm91dE1hZ2ljYWwoZGF0YSksXHJcbi8vICAgcmVzcG9uc2U6IFJlc3BvbnNlcy50YW5rYnVzdGVyKCksXHJcbi8vIH0sXHJcbi8vXHJcbi8vIE5vdGU6IEJyZWFraW5nIG91dCB0aGUgY29uZGl0aW9uIGxpa2UgdGhpcyBsZXRzIHBlb3BsZSBvdmVycmlkZSBpdCBpZiB0aGV5XHJcbi8vIGFsd2F5cyAob3IgbmV2ZXIpIHdhbnQgdG8ga25vdyBhYm91dCBpdCwgcmF0aGVyIHRoYW4gaGlkaW5nIHRoZSBsb2dpYyBpbnNpZGVcclxuLy8gdGhlIHRhbmtidXN0ZXIgY2FsbGJhY2sgd2l0aCBhIFwiaXMgaGVhbGVyXCIgY2hlY2suXHJcbi8vXHJcbi8vIElmIGRhdGEucm9sZSBpcyB1c2VkLCBpdCBzaG91bGQgYmUgb25seSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWxlcnQgbGV2ZWxzLFxyXG4vLyBhbmQgbm90IHdoZXRoZXIgYSBtZXNzYWdlIGlzIHNlbnQgYXQgYWxsLlxyXG4vL1xyXG4vLyBBbHRob3VnaCB0aGlzIGlzIG5vdCB0cnVlIG9mIGByZXNwb25zZTogYCBmaWVsZHMgb24gdHJpZ2dlcnMgaW4gZ2VuZXJhbCxcclxuLy8gYWxsIHJlc3BvbnNlcyBpbiB0aGlzIGZpbGUgc2hvdWxkIGVpdGhlciByZXR1cm4gYW4gb2JqZWN0IG9yIGEgc2luZ2xlXHJcbi8vIGZ1bmN0aW9uIHRoYXQgc2V0cyBvdXRwdXRTdHJpbmdzIGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aXRob3V0IGRvaW5nXHJcbi8vIGFueXRoaW5nIHdpdGggZGF0YSBvciBtYXRjaGVzLiAgU2VlIGByZXNwb25zZXNfdGVzdC5qc2AuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBSZXNwb25zZUZ1bmMsXHJcbiAgUmVzcG9uc2VPdXRwdXQsXHJcbiAgVGFyZ2V0ZWRNYXRjaGVzLFxyXG4gIFRyaWdnZXJGdW5jLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5cclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0gUmVzcG9uc2VPdXRwdXQ8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzPjtcclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkRnVuYyA9IFRyaWdnZXJGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+PjtcclxudHlwZSBTdGF0aWNSZXNwb25zZUZ1bmMgPSBSZXNwb25zZUZ1bmM8RGF0YSwgTWF0Y2hlcz47XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlMaXN0ID0gWydpbmZvJywgJ2FsZXJ0JywgJ2FsYXJtJ10gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFNldmVyaXR5ID0gdHlwZW9mIHNldmVyaXR5TGlzdFtudW1iZXJdO1xyXG5leHBvcnQgdHlwZSBTZXZUZXh0ID0gJ2luZm9UZXh0JyB8ICdhbGVydFRleHQnIHwgJ2FsYXJtVGV4dCc7XHJcblxyXG5leHBvcnQgY29uc3QgYnVpbHRJblJlc3BvbnNlU3RyID0gJ2NhY3Rib3QtYnVpbHRpbi1yZXNwb25zZSc7XHJcblxyXG4vLyBBbGwgdmFsaWQgdHJpZ2dlciBmaWVsZHMuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyRnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdjb25kaXRpb24nLFxyXG4gICdkZWxheVNlY29uZHMnLFxyXG4gICdkaXNhYmxlZCcsXHJcbiAgJ2R1cmF0aW9uU2Vjb25kcycsXHJcbiAgJ2lkJyxcclxuICAndHlwZScsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncHJlUnVuJyxcclxuICAncHJvbWlzZScsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAncnVuJyxcclxuICAnc291bmQnLFxyXG4gICdzb3VuZFZvbHVtZScsXHJcbiAgJ3N1cHByZXNzU2Vjb25kcycsXHJcbiAgJ3R0cycsXHJcbiAgJ291dHB1dFN0cmluZ3MnLFxyXG5dO1xyXG5cclxuLy8gVHJpZ2dlciBmaWVsZHMgdGhhdCBjYW4gcHJvZHVjZSB0ZXh0IG91dHB1dC5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdpbmZvVGV4dCcsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAndHRzJyxcclxuXTtcclxuXHJcbi8vIElmIGEgdHJpZ2dlciBoYXMgYW55IG9mIHRoZXNlLCB0aGVuIGl0IGhhcyBhIHZpc2libGUvYXVkaW8gZWZmZWN0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlck91dHB1dEZ1bmN0aW9uczogKGtleW9mIExvb3NlVHJpZ2dlcilbXSA9IFtcclxuICAuLi50cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyxcclxuICAnc291bmQnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldmVyaXR5TWFwOiB7IFtzZXYgaW4gU2V2ZXJpdHldOiBTZXZUZXh0IH0gPSB7XHJcbiAgJ2luZm8nOiAnaW5mb1RleHQnLFxyXG4gICdhbGVydCc6ICdhbGVydFRleHQnLFxyXG4gICdhbGFybSc6ICdhbGFybVRleHQnLFxyXG59O1xyXG5cclxuY29uc3QgZ2V0VGV4dCA9IChzZXY6IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCEoc2V2IGluIHNldmVyaXR5TWFwKSlcclxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXZlcml0eTogJHtzZXZ9LmApO1xyXG4gIHJldHVybiBzZXZlcml0eU1hcFtzZXZdO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEluZm9UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2luZm9UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEFsZXJ0VGV4dCA9IChzZXY/OiBTZXZlcml0eSk6IFNldlRleHQgPT4ge1xyXG4gIGlmICghc2V2KVxyXG4gICAgcmV0dXJuICdhbGVydFRleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxhcm1UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsYXJtVGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGdldFRhcmdldCA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICAvLyBPZnRlbiB0YW5rYnVzdGVycyBjYW4gYmUgY2FzdGVkIGJ5IHRoZSBib3NzIG9uIHRoZSBib3NzLlxyXG4gIC8vIENvbnNpZGVyIHRoaXMgYXMgXCJub3QgaGF2aW5nIGEgdGFyZ2V0XCIuXHJcbiAgaWYgKCFtYXRjaGVzIHx8IG1hdGNoZXMudGFyZ2V0ID09PSBtYXRjaGVzLnNvdXJjZSlcclxuICAgIHJldHVybjtcclxuICByZXR1cm4gbWF0Y2hlcy50YXJnZXQ7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTb3VyY2UgPSAobWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiB7XHJcbiAgcmV0dXJuIG1hdGNoZXM/LnNvdXJjZTtcclxufTtcclxuXHJcbi8vIEZJWE1FOiBtYWtlIHRoaXMgd29yayBmb3IgYW55IG51bWJlciBvZiBwYWlycyBvZiBwYXJhbXNcclxuY29uc3QgY29tYmluZUZ1bmNzID0gZnVuY3Rpb24oXHJcbiAgdGV4dDE6IFNldlRleHQsXHJcbiAgZnVuYzE6IFRhcmdldGVkRnVuYyxcclxuICB0ZXh0MjogU2V2VGV4dCxcclxuICBmdW5jMjogVGFyZ2V0ZWRGdW5jLFxyXG4pIHtcclxuICBjb25zdCBvYmo6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSB7fTtcclxuXHJcbiAgaWYgKHRleHQxICE9PSB0ZXh0Mikge1xyXG4gICAgb2JqW3RleHQxXSA9IGZ1bmMxO1xyXG4gICAgb2JqW3RleHQyXSA9IGZ1bmMyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvYmpbdGV4dDFdID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgcmV0dXJuIGZ1bmMxKGRhdGEsIG1hdGNoZXMsIG91dHB1dCkgfHwgZnVuYzIoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn07XHJcblxyXG5jb25zdCBpc1BsYXllcklkID0gKGlkPzogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGlkICYmIGlkWzBdICE9PSAnNCc7XHJcbn07XHJcblxyXG4vLyBGb3IgcmVzcG9uc2VzIHRoYXQgdW5jb25kaXRpb25hbGx5IHJldHVybiBzdGF0aWMgdGV4dC5cclxuY29uc3Qgc3RhdGljUmVzcG9uc2UgPSAoZmllbGQ6IFNldlRleHQsIHRleHQ6IExvY2FsZVRleHQpOiBTdGF0aWNSZXNwb25zZUZ1bmMgPT4ge1xyXG4gIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0ZXh0OiB0ZXh0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFtmaWVsZF06IChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiBvdXRwdXQudGV4dD8uKCksXHJcbiAgICB9O1xyXG4gIH07XHJcbn07XHJcblxyXG50eXBlIFNpbmdsZVNldlRvUmVzcG9uc2VGdW5jID0gKHNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYyB8IFN0YXRpY1Jlc3BvbnNlRnVuYztcclxudHlwZSBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYyA9ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4gVGFyZ2V0ZWRSZXNwb25zZUZ1bmM7XHJcbnR5cGUgUmVzcG9uc2VzTWFwID0ge1xyXG4gIFtyZXNwb25zZTogc3RyaW5nXTogU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgfCBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXNwb25zZXMgPSB7XHJcbiAgdGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBub1RhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyLFxyXG4gICAgICBidXN0ZXJPbllvdTogT3V0cHV0cy50YW5rQnVzdGVyT25Zb3UsXHJcbiAgICAgIGJ1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXJPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lm5vVGFyZ2V0Py4oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJTd2FwOiAoYnVzdGVyU2V2PzogU2V2ZXJpdHksIHN3YXBTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgdGFua1N3YXA6IE91dHB1dHMudGFua1N3YXAsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBOb3RlOiBidXN0ZXJTZXYgYW5kIHN3YXBTZXYgY2FuIGJlIHRoZSBzYW1lIHByaW9yaXR5LlxyXG4gICAgY29uc3QgdGFua1N3YXBGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQudGFua1N3YXA/LigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGJ1c3RlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcblxyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPbllvdT8uKCk7XHJcbiAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGFybVRleHQoc3dhcFNldiksXHJcbiAgICAgIHRhbmtTd2FwRnVuYyxcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dChidXN0ZXJTZXYpLFxyXG4gICAgICBidXN0ZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBjbGVhdmVPbllvdTogT3V0cHV0cy50YW5rQ2xlYXZlT25Zb3UsXHJcbiAgICAgICAgY2xlYXZlTm9UYXJnZXQ6IE91dHB1dHMudGFua0NsZWF2ZSxcclxuICAgICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRJbmZvVGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlT25Zb3U/LigpO1xyXG4gICAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEuam9iID09PSAnQkxVJykge1xyXG4gICAgICAgICAgICAvLyB0YXJnZXRsZXNzIHRhbmsgY2xlYXZlXHJcbiAgICAgICAgICAgIC8vIEJMVSBwbGF5ZXJzIHNob3VsZCBhbHdheXMgZ2V0IHRoaXMgZ2VuZXJpYyBjbGVhdmUgbWVzc2FnZS5cclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyByb2J1c3Qgd2F5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXkgaGF2ZSB0YW5rIE1pbWljcnkgb24sXHJcbiAgICAgICAgICAgIC8vIGFuZCBpdCdzIHJlYWxseSBhbm5veWluZyBmb3IgYSBCTFUgdGFuayB0byBiZSB0b2xkIHRvIGF2b2lkIGNsZWF2ZXMgd2hlbiB0aGV5IGNhbid0LlxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmNsZWF2ZU5vVGFyZ2V0Py4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHNoYXJlZFRhbmtCdXN0ZXI6ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPbllvdSxcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPblBsYXllcixcclxuICAgICAgc2hhcmVkVGFua2J1c3RlcjogT3V0cHV0cy5zaGFyZWRUYW5rYnVzdGVyLFxyXG4gICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXI/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlck9uWW91Py4oKTtcclxuICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUgfHwgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmF2b2lkQ2xlYXZlPy4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCk6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1pbmlCdXN0ZXIpLFxyXG4gIGFvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5hb2UpLFxyXG4gIGJpZ0FvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iaWdBb2UpLFxyXG4gIHNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5zcHJlYWQpLFxyXG4gIC8vIGZvciBzdGFjayBtYXJrZXIgc2l0dWF0aW9ucy5cclxuICBzdGFja01hcmtlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3RhY2tNYXJrZXIpLFxyXG4gIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgZ2V0VG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFRvZ2V0aGVyKSxcclxuICBzdGFja01hcmtlck9uOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdGFja09uWW91OiBPdXRwdXRzLnN0YWNrT25Zb3UsXHJcbiAgICAgICAgc3RhY2tPblRhcmdldDogT3V0cHV0cy5zdGFja09uUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uWW91Py4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc3RhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHN0YWNrTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrTWlkZGxlKSxcclxuICBkb3JpdG9TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZG9yaXRvU3RhY2spLFxyXG4gIHNwcmVhZFRoZW5TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZFRoZW5TdGFjayk7XHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IChzZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgcmV0dXJuIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja1RoZW5TcHJlYWQpO1xyXG4gIH0sXHJcbiAga25vY2tiYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5rbm9ja2JhY2spLFxyXG4gIGtub2NrYmFja09uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIGtub2NrYmFja09uWW91OiBPdXRwdXRzLmtub2NrYmFja09uWW91LFxyXG4gICAgICBrbm9ja2JhY2tPblRhcmdldDogT3V0cHV0cy5rbm9ja2JhY2tPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lmtub2NrYmFja09uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgZHJhd0luOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmRyYXdJbiksXHJcbiAgbG9va1Rvd2FyZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubG9va1Rvd2FyZHNCb3NzKSxcclxuICBsb29rQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rQXdheSksXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8udGFyZ2V0SWQpID8gZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSA6IHRhcmdldDtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGxvb2tBd2F5RnJvbVNvdXJjZTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgbG9va0F3YXlGcm9tOiBPdXRwdXRzLmxvb2tBd2F5RnJvbVRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChzb3VyY2UgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBpc1BsYXllcklkKG1hdGNoZXM/LnNvdXJjZUlkKSA/IGRhdGEuU2hvcnROYW1lKHNvdXJjZSkgOiBzb3VyY2U7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0Lmxvb2tBd2F5RnJvbT8uKHsgbmFtZTogbmFtZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBnZXRCZWhpbmQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldEJlaGluZCksXHJcbiAgZ29Gcm9udE9yU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRPclNpZGVzKSxcclxuICAvLyAuZ2V0VW5kZXIoKSBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5nZXRVbmRlciksXHJcbiAgLy8gLmdldEluKCkgaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGdldEluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5pbiksXHJcbiAgLy8gLmdldE91dCgpIG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIGdldE91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMub3V0KSxcclxuICBvdXRPZk1lbGVlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dE9mTWVsZWUpLFxyXG4gIGdldEluVGhlbk91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5pblRoZW5PdXQpLFxyXG4gIGdldE91dFRoZW5JbjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5vdXRUaGVuSW4pLFxyXG4gIGdldEJhY2tUaGVuRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuYmFja1RoZW5Gcm9udCksXHJcbiAgZ2V0RnJvbnRUaGVuQmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5mcm9udFRoZW5CYWNrKSxcclxuICBnb01pZGRsZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29JbnRvTWlkZGxlKSxcclxuICBnb1JpZ2h0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5yaWdodCksXHJcbiAgZ29MZWZ0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5sZWZ0KSxcclxuICBnb1dlc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldExlZnRBbmRXZXN0KSxcclxuICBnb0Vhc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFJpZ2h0QW5kRWFzdCksXHJcbiAgZ29Gcm9udEJhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRCYWNrKSxcclxuICBnb1NpZGVzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zaWRlcyksXHJcbiAgLy8gLmtpbGxBZGRzKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxBZGRzKSxcclxuICAvLyAua2lsbEV4dHJhQWRkKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5raWxsRXh0cmFBZGQpLFxyXG4gIGF3YXlGcm9tRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmF3YXlGcm9tRnJvbnQpLFxyXG4gIHNsZWVwOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzbGVlcDogT3V0cHV0cy5zbGVlcFRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnNsZWVwPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3R1bk9ySW50ZXJydXB0SWZQb3NzaWJsZTogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgICAgaW50ZXJydXB0OiBPdXRwdXRzLmludGVycnVwdFRhcmdldCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5DYW5TaWxlbmNlKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChkYXRhLkNhblN0dW4oKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfSxcclxuICBzdHVuOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgaW50ZXJydXB0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgcHJleU9uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHByZXlPbllvdTogT3V0cHV0cy5wcmV5T25Zb3UsXHJcbiAgICAgIHByZXlPblRhcmdldDogT3V0cHV0cy5wcmV5T25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLm1lID09PSB0YXJnZXQpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBhd2F5RnJvbTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgYXdheUZyb21Hcm91cDogT3V0cHV0cy5hd2F5RnJvbUdyb3VwLFxyXG4gICAgICAgIGF3YXlGcm9tVGFyZ2V0OiBPdXRwdXRzLmF3YXlGcm9tUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbUdyb3VwPy4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXdheUZyb21UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBtZXRlb3JPbllvdTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMubWV0ZW9yT25Zb3UpLFxyXG4gIHN0b3BNb3Zpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BNb3ZpbmcpLFxyXG4gIHN0b3BFdmVyeXRoaW5nOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5zdG9wRXZlcnl0aGluZyksXHJcbiAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICBtb3ZlQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXdheSksXHJcbiAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgbW92ZUFyb3VuZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXJvdW5kKSxcclxuICBicmVha0NoYWluczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5icmVha0NoYWlucyksXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQ2hhaW5zVG9nZXRoZXIpLFxyXG4gIGVhcnRoc2hha2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBlYXJ0aHNoYWtlcjogT3V0cHV0cy5lYXJ0aHNoYWtlck9uWW91LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5lYXJ0aHNoYWtlcj8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgd2FrZVVwOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy53YWtlVXApLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gRG9uJ3QgZ2l2ZSBgUmVzcG9uc2VzYCBhIHR5cGUgaW4gaXRzIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgY2FuIGJlIHRyZWF0ZWQgYXMgbW9yZSBzdHJpY3RcclxuLy8gdGhhbiBgUmVzcG9uc2VzTWFwYCwgYnV0IGRvIGFzc2VydCB0aGF0IGl0cyB0eXBlIGlzIGNvcnJlY3QuICBUaGlzIGFsbG93cyBjYWxsZXJzIHRvIGtub3dcclxuLy8gd2hpY2ggcHJvcGVydGllcyBhcmUgZGVmaW5lZCBpbiBSZXNwb25zZXMgd2l0aG91dCBoYXZpbmcgdG8gY29uZGl0aW9uYWxseSBjaGVjayBmb3IgdW5kZWZpbmVkLlxyXG5jb25zdCByZXNwb25zZU1hcFR5cGVBc3NlcnRpb246IFJlc3BvbnNlc01hcCA9IFJlc3BvbnNlcztcclxuLy8gU3VwcHJlc3MgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcuXHJcbmNvbnNvbGUuYXNzZXJ0KHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbik7XHJcbiIsIi8vIFRPRE86IEZpeCBpbXBvcnQvb3JkZXJcclxuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L29yZGVyICovXHJcbmltcG9ydCB7IENhY3Rib3RDb25maWd1cmF0b3IgfSBmcm9tICcuLi91aS9jb25maWcvY29uZmlnJztcclxuaW1wb3J0IHsgaXNMYW5nLCBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IENhY3Rib3RMb2FkVXNlclJldCwgU2F2ZWRDb25maWcsIFNhdmVkQ29uZmlnRW50cnkgfSBmcm9tICcuLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IExvY2FsZU9iamVjdCwgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIsIGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi9ub3RfcmVhY2hlZCc7XHJcblxyXG4vLyBUT0RPOlxyXG4vLyBUaGUgY29udmVudGlvbiBvZiBcImltcG9ydCBYIGFzIF9YOyBjb25zdCBYID0gX1g7XCIgaXMgY3VycmVudGx5XHJcbi8vIGJlaW5nIHVzZWQgYXMgYSBtZXRob2QgdG8gd29ya2Fyb3VuZCBmb3IgZG93bnN0cmVhbSBjb2RlXHJcbi8vIHRoYXQgaXMgcnVubmluZyB2aWEgZXZhbCgpLiBCZWNhdXNlIGltcG9ydGluZyBzdGF0ZW1lbnRzIGRvIG5vdFxyXG4vLyBjcmVhdGUgYSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLCB0aGUgZXZhbCgpJ2QgY29kZSBkb2VzIG5vdCBrbm93XHJcbi8vIGFib3V0IHRoZSBpbXBvcnQsIGFuZCB0aHVzIHRocm93cyBSZWZlcmVuY2VFcnJvcnMuXHJcbi8vIFVzZWQgYnkgZG93bnN0cmVhbSBldmFsXHJcbmltcG9ydCBfQ29uZGl0aW9ucyBmcm9tICcuL2NvbmRpdGlvbnMnO1xyXG5jb25zdCBDb25kaXRpb25zID0gX0NvbmRpdGlvbnM7XHJcbmltcG9ydCBfQ29udGVudFR5cGUgZnJvbSAnLi9jb250ZW50X3R5cGUnO1xyXG5jb25zdCBDb250ZW50VHlwZSA9IF9Db250ZW50VHlwZTtcclxuaW1wb3J0IF9OZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmNvbnN0IE5ldFJlZ2V4ZXMgPSBfTmV0UmVnZXhlcztcclxuaW1wb3J0IF9SZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcbmNvbnN0IFJlZ2V4ZXMgPSBfUmVnZXhlcztcclxuaW1wb3J0IHsgUmVzcG9uc2VzIGFzIF9SZXNwb25zZXMgfSBmcm9tICcuL3Jlc3BvbnNlcyc7XHJcbmNvbnN0IFJlc3BvbnNlcyA9IF9SZXNwb25zZXM7XHJcbmltcG9ydCBfT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5jb25zdCBPdXRwdXRzID0gX091dHB1dHM7XHJcbmltcG9ydCBfVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5jb25zdCBVdGlsID0gX1V0aWw7XHJcbmltcG9ydCBfWm9uZUlkIGZyb20gJy4vem9uZV9pZCc7XHJcbmNvbnN0IFpvbmVJZCA9IF9ab25lSWQ7XHJcbmltcG9ydCBfWm9uZUluZm8gZnJvbSAnLi96b25lX2luZm8nO1xyXG5jb25zdCBab25lSW5mbyA9IF9ab25lSW5mbztcclxuXHJcbi8vIENvbnZpbmNlIFR5cGVTY3JpcHQgYW5kIGVzbGludCB0aGF0IHRoZXNlIGFyZSB1c2VkLiAgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgYSBncmVhdCB3YXlcclxuLy8gdG8gZGlzYWJsZSBpbmRpdmlkdWFsIHJ1bGVzLCBzbyB0aGlzIGlzIHNhZmVyIHRoYW4gZGlzYWJsaW5nIGFsbCBydWxlcy5cclxuY29uc29sZS5hc3NlcnQoXHJcbiAgQ29uZGl0aW9ucyAmJiBDb250ZW50VHlwZSAmJiBOZXRSZWdleGVzICYmIFJlZ2V4ZXMgJiZcclxuICAgIFJlc3BvbnNlcyAmJiBPdXRwdXRzICYmIFV0aWwgJiYgWm9uZUlkICYmIFpvbmVJbmZvLFxyXG4pO1xyXG5cclxuLy8gVE9ETzogbW92ZSBhbGwgb2YgdGhlc2UgdG8gY29uZmlnLmpzP1xyXG5leHBvcnQgdHlwZSBVc2VyRmlsZUNhbGxiYWNrID0gKFxyXG4gIGpzRmlsZTogc3RyaW5nLFxyXG4gIGxvY2FsRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBvcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuZXhwb3J0IHR5cGUgQ29uZmlnRW50cnkgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBMb2NhbGVUZXh0O1xyXG4gIHR5cGU6ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdmbG9hdCcgfCAnaW50ZWdlcicgfCAnZGlyZWN0b3J5JyB8ICdodG1sJztcclxuICBodG1sPzogTG9jYWxlVGV4dDtcclxuICBkZWZhdWx0OiBDb25maWdWYWx1ZTtcclxuICBkZWJ1Zz86IGJvb2xlYW47XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICAvLyBGb3Igc2VsZWN0LlxyXG4gIG9wdGlvbnM/OiBMb2NhbGVPYmplY3Q8eyBbc2VsZWN0VGV4dDogc3RyaW5nXTogc3RyaW5nIH0+O1xyXG4gIHNldHRlckZ1bmM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVST86IChiYXNlOiBDYWN0Ym90Q29uZmlndXJhdG9yLCBjb250YWluZXI6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG4gIG9wdGlvbnM6IENvbmZpZ0VudHJ5W107XHJcbn07XHJcblxyXG5jbGFzcyBVc2VyQ29uZmlnIHtcclxuICBwdWJsaWMgb3B0aW9uVGVtcGxhdGVzOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogT3B0aW9uc1RlbXBsYXRlIH0gPSB7fTtcclxuICBwdWJsaWMgdXNlckZpbGVDYWxsYmFja3M6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBVc2VyRmlsZUNhbGxiYWNrIH0gPSB7fTtcclxuICBwdWJsaWMgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnID0ge307XHJcblxyXG4gIGdldERlZmF1bHRCYXNlT3B0aW9ucygpOiBCYXNlT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBQYXJzZXJMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgU2hvcnRMb2NhbGU6ICdlbicsXHJcbiAgICAgIERpc3BsYXlMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgVGV4dEFsZXJ0c0VuYWJsZWQ6IHRydWUsXHJcbiAgICAgIFNvdW5kQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIEdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZXZhbFVzZXJGaWxlKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMpOiB2b2lkIHtcclxuICAgIGNvbnN0IE9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgY29uc29sZS5hc3NlcnQoT3B0aW9ucyk7IC8vIFVzZWQgYnkgZXZhbC5cclxuXHJcbiAgICAvLyBUaGlzIGlzIHRoZSBvbmUgZXZhbCBjYWN0Ym90IHNob3VsZCBldmVyIG5lZWQsIHdoaWNoIGlzIGZvciBoYW5kbGluZyB1c2VyIGZpbGVzLlxyXG4gICAgLy8gQmVjYXVzZSB1c2VyIGZpbGVzIGNhbiBiZSBsb2NhdGVkIGFueXdoZXJlIG9uIGRpc2sgYW5kIHRoZXJlJ3MgYmFja3dhcmRzIGNvbXBhdFxyXG4gICAgLy8gaXNzdWVzLCBpdCdzIHVubGlrZWx5IHRoYXQgdGhlc2Ugd2lsbCBiZSBhYmxlIHRvIGJlIGFueXRoaW5nIGJ1dCBldmFsIGZvcmV2ZXIuXHJcbiAgICAvL1xyXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tZXZhbCAqL1xyXG4gICAgZXZhbChjb250ZW50KTtcclxuICAgIC8qIGVzbGludC1lbmFibGUgbm8tZXZhbCAqL1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPcHRpb25zKFxyXG4gICAgb3ZlcmxheU5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvblRlbXBsYXRlOiBPcHRpb25zVGVtcGxhdGUsXHJcbiAgICB1c2VyRmlsZUNhbGxiYWNrPzogVXNlckZpbGVDYWxsYmFjayxcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSA9IG9wdGlvblRlbXBsYXRlO1xyXG4gICAgaWYgKHVzZXJGaWxlQ2FsbGJhY2spXHJcbiAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdID0gdXNlckZpbGVDYWxsYmFjaztcclxuICB9XHJcblxyXG4gIHNvcnRVc2VyRmlsZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIC8vIEhlbHBlciBkYXRhIHN0cnVjdHVyZSBmb3Igc3ViZGlyZWN0b3JpZXMuXHJcbiAgICBjb25zdCBzcGxpdEtleU1hcDogeyBbazogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cylcclxuICAgICAgc3BsaXRLZXlNYXBba2V5XSA9IGtleS50b1VwcGVyQ2FzZSgpLnNwbGl0KC9bL1xcXFxdLyk7XHJcblxyXG4gICAgLy8gU29ydCBwYXRocyBhcyBhIGRlcHRoLWZpcnN0IGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsIHN1YmRpcmVjdG9yeSB3YWxrLCBmb2xsb3dlZCBieVxyXG4gICAgLy8gYWxsIGZpbGVzIHNvcnRlZCBjYXNlLWluc2Vuc2l0aXZlIGFscGhhYmV0aWNhbGx5IG9uY2UgYSBzdWJkaXIgaGFzIGJlZW4gcHJvY2Vzc2VkLCBlLmcuXHJcbiAgICAvLyAgKiBhL3NvbWUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMS96L3ovei9uZXN0ZWRfZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL2ZpbGUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMi9maXJzdC5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL3NlY29uZC5qc1xyXG4gICAgLy8gICogYi9zb21lX2ZpbGUuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTEuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTIuanNcclxuICAgIHJldHVybiBrZXlzLnNvcnQoKGtleUEsIGtleUIpID0+IHtcclxuICAgICAgY29uc3QgbGlzdEEgPSBzcGxpdEtleU1hcFtrZXlBXTtcclxuICAgICAgY29uc3QgbGlzdEIgPSBzcGxpdEtleU1hcFtrZXlCXTtcclxuICAgICAgaWYgKGxpc3RBID09PSB1bmRlZmluZWQgfHwgbGlzdEIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBjb25zdCBtYXhMZW4gPSBNYXRoLm1heChsaXN0QS5sZW5ndGgsIGxpc3RCLmxlbmd0aCk7XHJcbiAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1heExlbjsgKytpZHgpIHtcclxuICAgICAgICBjb25zdCBlbnRyeUEgPSBsaXN0QVtpZHhdO1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QiA9IGxpc3RCW2lkeF07XHJcbiAgICAgICAgLy8gSW4gcHJhY3RpY2UsIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBlbnRyeS5cclxuICAgICAgICBpZiAoZW50cnlBID09PSB1bmRlZmluZWQgfHwgZW50cnlCID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGJvdGggc3ViZGlyZWN0b3JpZXMgb3IgYm90aCBmaWxlcywgdGhlbiBjb21wYXJlIG5hbWVzLlxyXG4gICAgICAgIGNvbnN0IGlzTGFzdEEgPSBsaXN0QS5sZW5ndGggLSAxID09PSBpZHg7XHJcbiAgICAgICAgY29uc3QgaXNMYXN0QiA9IGxpc3RCLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuXHJcbiAgICAgICAgaWYgKGlzTGFzdEEgJiYgaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBsYXN0LCB0aGVuIHRoaXMgaXMgYSBmaWxlbmFtZSBjb21wYXJpc29uLlxyXG5cclxuICAgICAgICAgIC8vIEZpcnN0LCBjb21wYXJlIGZpbGVuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uLlxyXG4gICAgICAgICAgY29uc3QgZmlsZUEgPSBlbnRyeUEucmVwbGFjZSgvXFwuW15cXC5dKiQvLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBmaWxlQiA9IGVudHJ5Qi5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lT25seURpZmYgPSBmaWxlQS5sb2NhbGVDb21wYXJlKGZpbGVCKTtcclxuICAgICAgICAgIGlmIChmaWxlbmFtZU9ubHlEaWZmKVxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWVPbmx5RGlmZjtcclxuXHJcbiAgICAgICAgICAvLyBTZWNvbmQsIGNvbXBhcmUgaW5jbHVkaW5nIHRoZSBleHRlbnNpb24uXHJcbiAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHNvbWV0aGluZyBoZXJlLCBzZWUgbm90ZSBiZWxvdy5cclxuICAgICAgICAgIHJldHVybiBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTGFzdEEgJiYgIWlzTGFzdEIpIHtcclxuICAgICAgICAgIC8vIElmIGJvdGggbm90IGxhc3QsIHRoaXMgaXMgYSBzdWJkaXJlY3RvcnkgY29tcGFyaXNvbi5cclxuICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgICAgaWYgKGRpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaWYgaWR4IGlzIHRoZSBmaW5hbCBmb3IgZWFjaCwgd2Ugd291bGQgaGF2ZSByZXR1cm5lZCBhYm92ZS5cclxuICAgICAgICAvLyBTbywgY2hlY2sgaWYgZWl0aGVyIGEgb3IgYiBpcyBhdCB0aGUgZmluYWwgZW50cnkgaW4gc3BsaXRLZXlNYXAuXHJcbiAgICAgICAgLy8gSWYgc28sIHRoZW4gdGhlcmUncyBhIG1pc21hdGNoIGluIG51bWJlciBvZiBkaXJlY3RvcmllcywgYW5kIHdlIGtub3cgb25lXHJcbiAgICAgICAgLy8gdGhlIG9uZSB3aXRoIGEgZmlsZW5hbWUgc2hvdWxkIGJlIHNvcnRlZCBsYXN0LlxyXG5cclxuICAgICAgICBpZiAobGlzdEEubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIGZld2VyIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxpc3RCLmxlbmd0aCAtIDEgPD0gaWR4KSB7XHJcbiAgICAgICAgICAvLyBhIGhhcyBtb3JlIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGZpcnN0LlxyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gR2l2ZW4gYSBzZXQgb2YgcGF0aHMsIGFuIG92ZXJsYXlOYW1lLCBhbmQgYW4gZXh0ZW5zaW9uLCByZXR1cm4gYWxsIHBhdGhzIHdpdGhcclxuICAvLyB0aGF0IGV4dGVuc2lvbiB0aGF0IGhhdmUgYG92ZXJsYXlOYW1lYCBlaXRoZXIgYXMgdGhlaXIgZW50aXJlIGZpbGVuYW1lIChubyBzdWJkaXIpXHJcbiAgLy8gb3IgYXJlIGluc2lkZSBhIHJvb3QtbGV2ZWwgc3ViZGlyZWN0b3J5IG5hbWVkIGBvdmVybGF5TmFtZWAvICBUaGUgZXh0ZW5zaW9uIHNob3VsZFxyXG4gIC8vIGluY2x1ZGUgdGhlIHBlcmlvZCBzZXBhcmF0b3IsIGUuZy4gXCIuanNcIi4gIEFsbCBjb21wYXJpc29ucyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICBmaWx0ZXJVc2VyRmlsZXMocGF0aHM6IHN0cmluZ1tdLCBvcmlnT3ZlcmxheU5hbWU6IHN0cmluZywgb3JpZ0V4dGVuc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBvcmlnRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBvdmVybGF5TmFtZSA9IG9yaWdPdmVybGF5TmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHBhdGhzLmZpbHRlcigob3JpZ1BhdGgpID0+IHtcclxuICAgICAgY29uc3QgcGF0aCA9IG9yaWdQYXRoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aChleHRlbnNpb24pKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHBhdGggPT09IGAke292ZXJsYXlOYW1lfSR7ZXh0ZW5zaW9ufWApXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYCR7b3ZlcmxheU5hbWV9L2ApIHx8IHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX1cXFxcYCkpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgbGV0IGN1cnJlbnRseVJlbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3QgcmVsb2FkT25jZSA9ICgpID0+IHtcclxuICAgICAgaWYgKGN1cnJlbnRseVJlbG9hZGluZylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGN1cnJlbnRseVJlbG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH07XHJcblxyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvblVzZXJGaWxlQ2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uRm9yY2VSZWxvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHJlbG9hZE9uY2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucywgY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcclxuICAgIGNvbnN0IHJlYWRPcHRpb25zID0gY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkRGF0YScsXHJcbiAgICAgIG92ZXJsYXk6ICdvcHRpb25zJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGxvYWRVc2VyID0gYXN5bmMgKGU6IHsgZGV0YWlsOiBDYWN0Ym90TG9hZFVzZXJSZXQgfSkgPT4ge1xyXG4gICAgICAvLyBUaGUgYmFzZVBhdGggaXNuJ3QgdXNpbmcgZm9yIGFueXRoaW5nIG90aGVyIHRoYW4gY29zbWV0aWMgcHJpbnRpbmcgb2YgZnVsbCBwYXRocyxcclxuICAgICAgLy8gc28gcmVwbGFjZSBhbnkgc2xhc2hlcyBoZXJlIGZvciB1bmlmb3JtaXR5LiAgSW4gY2FzZSBhbnlib2R5IGlzIHVzaW5nIGNhY3Rib3Qgb25cclxuICAgICAgLy8gTGludXggKD8hPyksIHN1cHBvcnQgYW55IHN0eWxlIG9mIHNsYXNoZXMgZWxzZXdoZXJlLlxyXG4gICAgICBjb25zdCBiYXNlUGF0aCA9IGUuZGV0YWlsLnVzZXJMb2NhdGlvbi5yZXBsYWNlKC9bL1xcXFxdKiQvLCAnJykgKyAnXFxcXCc7XHJcbiAgICAgIGNvbnN0IGxvY2FsRmlsZXMgPSBlLmRldGFpbC5sb2NhbFVzZXJGaWxlcztcclxuXHJcbiAgICAgIC8vIFRoZSBwbHVnaW4gYXV0by1kZXRlY3RzIHRoZSBsYW5ndWFnZSwgc28gc2V0IHRoaXMgZmlyc3QuXHJcbiAgICAgIC8vIElmIG9wdGlvbnMgZmlsZXMgd2FudCB0byBvdmVycmlkZSBpdCwgdGhleSBjYW4gZm9yIHRlc3RpbmcuXHJcblxyXG4gICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IChsYW5ndWFnZSBpcyBub3cgc2VwYXJhdGVkIHRvIHRocmVlIHR5cGVzLilcclxuICAgICAgaWYgKGUuZGV0YWlsLmxhbmd1YWdlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBlLmRldGFpbC5sYW5ndWFnZTtcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFBhcnNlciBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgICAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZXZlcnl0aGluZyBcIkxhbmd1YWdlXCIgc2hvdWxkIGJlIGNoYW5nZWQgdG8gXCJQYXJzZXJMYW5ndWFnZVwiXHJcbiAgICAgICAgb3B0aW9ucy5MYW5ndWFnZSA9IGUuZGV0YWlsLnBhcnNlckxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFN5c3RlbSBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwuc3lzdGVtTG9jYWxlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5TeXN0ZW1Mb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGU7XHJcbiAgICAgICAgbGV0IHNob3J0TG9jYWxlID0gZS5kZXRhaWwuc3lzdGVtTG9jYWxlLnN1YnN0cmluZygwLCAyKTtcclxuICAgICAgICBpZiAoc2hvcnRMb2NhbGUgPT09ICd6aCcpXHJcbiAgICAgICAgICBzaG9ydExvY2FsZSA9ICdjbic7XHJcbiAgICAgICAgaWYgKGlzTGFuZyhzaG9ydExvY2FsZSkpXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gc2hvcnRMb2NhbGU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gVXNlcidzIHNldHRpbmcgTGFuZ3VhZ2VcclxuICAgICAgY29uc3QgZGlzcGxheUxhbmcgPSBlLmRldGFpbC5kaXNwbGF5TGFuZ3VhZ2U7XHJcbiAgICAgIGlmIChpc0xhbmcoZGlzcGxheUxhbmcpKVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZGlzcGxheUxhbmc7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuXHJcbiAgICAgIC8vIFRPRE86IGxlZnQgZm9yIG5vdyBhcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHVzZXIgY3NzLiAgUmVtb3ZlIHRoaXMgbGF0ZXI/P1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbGFuZy0ke29wdGlvbnMuRGlzcGxheUxhbmd1YWdlfWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmdUb0xvY2FsZShvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuYWRkVW5sb2NrVGV4dChvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgcHJvY2Vzc09wdGlvbnMgYWZ0ZXIgZGVmYXVsdCBsYW5ndWFnZSBzZWxlY3Rpb24gYWJvdmUsXHJcbiAgICAgIC8vIGJ1dCBiZWZvcmUgY3NzIGJlbG93IHdoaWNoIG1heSBsb2FkIHNraW4gZmlsZXMuXHJcbiAgICAgIC8vIHByb2Nlc3NPcHRpb25zIG5lZWRzIHRvIGJlIGNhbGxlZCB3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmVcclxuICAgICAgLy8gYW55IHVzZXJPcHRpb25zIHNhdmVkLCBhcyBpdCBzZXRzIHVwIHRoZSBkZWZhdWx0cy5cclxuICAgICAgdGhpcy5zYXZlZENvbmZpZyA9IChhd2FpdCByZWFkT3B0aW9ucyk/LmRhdGEgPz8ge307XHJcbiAgICAgIHRoaXMucHJvY2Vzc09wdGlvbnMoXHJcbiAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB0aGlzLnNhdmVkQ29uZmlnW292ZXJsYXlOYW1lXSA/PyB7fSxcclxuICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlc1tvdmVybGF5TmFtZV0sXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBJZiB0aGUgb3ZlcmxheSBoYXMgYSBcIkRlYnVnXCIgc2V0dGluZywgc2V0IHRvIHRydWUgdmlhIHRoZSBjb25maWcgdG9vbCxcclxuICAgICAgLy8gdGhlbiBhbHNvIHByaW50IG91dCB1c2VyIGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZC5cclxuICAgICAgY29uc3QgcHJpbnRVc2VyRmlsZSA9IG9wdGlvbnMuRGVidWcgPyAoeDogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyh4KSA6ICgpID0+IHsvKiBub29wICovfTtcclxuXHJcbiAgICAgIC8vIFdpdGggdXNlciBmaWxlcyBiZWluZyBhcmJpdHJhcnkgamF2YXNjcmlwdCwgYW5kIGhhdmluZyBtdWx0aXBsZSBmaWxlc1xyXG4gICAgICAvLyBpbiB1c2VyIGZvbGRlcnMsIGl0J3MgcG9zc2libGUgZm9yIGxhdGVyIGZpbGVzIHRvIGFjY2lkZW50YWxseSByZW1vdmVcclxuICAgICAgLy8gdGhpbmdzIHRoYXQgcHJldmlvdXMgZmlsZXMgaGF2ZSBhZGRlZC4gIFdhcm4gYWJvdXQgdGhpcywgc2luY2UgbW9zdFxyXG4gICAgICAvLyB1c2VycyBhcmUgbm90IHByb2dyYW1tZXJzLlxyXG4gICAgICBjb25zdCB3YXJuT25WYXJpYWJsZVJlc2V0TWFwOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcclxuICAgICAgICByYWlkYm9zczogW1xyXG4gICAgICAgICAgJ1RyaWdnZXJzJyxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgICB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA9IHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdIHx8IFtdO1xyXG5cclxuICAgICAgLy8gVGhlIHZhbHVlcyBvZiBlYWNoIGB3YXJuT25WYXJpYWJsZVJlc2V0TWFwYCBmaWVsZCBhcmUgaW5pdGlhbGx5IHNldFxyXG4gICAgICAvLyBhZnRlciB0aGUgZmlyc3QgZmlsZSwgc28gdGhhdCBpZiB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlLCB0aGVyZSBhcmVcclxuICAgICAgLy8gbm90IGFueSB3YXJuaW5ncy5cclxuXHJcbiAgICAgIC8vIFRoZSBmaWVsZHMgdGhhdCBhIHVzZXIgZmlsZSBzZXRzIGluIE9wdGlvbnMgY2FuIGJlIGFueXRoaW5nIChwdW4gbm90IGludGVuZGVkKVxyXG4gICAgICAvLyBhbmQgc28gd2UgdXNlIGBhbnlgIGhlcmUuICBUaGUgb25seSBvcGVyYXRpb24gZG9uZSBvbiB0aGlzIGZpZWxkIGlzIGEgIT09XHJcbiAgICAgIC8vIGZvciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHNlZSBpZiB0aGUgdGhlIHVzZXIgZmlsZSBoYXMgbW9kaWZpZWQgaXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHJhY2tlcjogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgaWYgKGxvY2FsRmlsZXMpIHtcclxuICAgICAgICAvLyBsb2NhbEZpbGVzIG1heSBiZSBudWxsIGlmIHRoZXJlIGlzIG5vIHZhbGlkIHVzZXIgZGlyZWN0b3J5LlxyXG4gICAgICAgIGNvbnN0IHNvcnRlZEZpbGVzID0gdGhpcy5zb3J0VXNlckZpbGVzKE9iamVjdC5rZXlzKGxvY2FsRmlsZXMpKTtcclxuICAgICAgICBjb25zdCBqc0ZpbGVzID0gdGhpcy5maWx0ZXJVc2VyRmlsZXMoc29ydGVkRmlsZXMsIG92ZXJsYXlOYW1lLCAnLmpzJyk7XHJcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuY3NzJyk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QganNGaWxlIG9mIGpzRmlsZXMpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2pzRmlsZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5ldmFsVXNlckZpbGUobG9jYWxGaWxlc1tqc0ZpbGVdID8/ICcnLCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gPz8gW10pIHtcclxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVUcmFja2VyW2ZpZWxkXSAmJiB2YXJpYWJsZVRyYWNrZXJbZmllbGRdICE9PSBvcHRpb25zW2ZpZWxkXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWRlYWxseSB1c2VycyBzaG91bGQgZG8gc29tZXRoaW5nIGxpa2UgYE9wdGlvbnMuVHJpZ2dlcnMucHVzaChbZXRjXSk7YFxyXG4gICAgICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBgT3B0aW9ucy5UcmlnZ2VycyA9IFtldGNdO2BcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICAgICAgICBgKioqIFdBUk5JTkc6ICR7YmFzZVBhdGh9JHtqc0ZpbGV9IG92ZXJ3cml0ZXMgT3B0aW9ucy4ke2ZpZWxkfSBmcm9tIHByZXZpb3VzIGZpbGVzLmAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB2YXJpYWJsZVRyYWNrZXJbZmllbGRdID0gb3B0aW9uc1tmaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdPy4oanNGaWxlLCBsb2NhbEZpbGVzLCBvcHRpb25zLCBiYXNlUGF0aCk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIC8vIEJlIHZlcnkgdmlzaWJsZSBmb3IgdXNlcnMuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcqKiogRVJST1IgSU4gVVNFUiBGSUxFICoqKicpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgYXdrd2FyZCB0byBoYW5kbGUgc2tpbiBzZXR0aW5ncyBoZXJlLCBidXRcclxuICAgICAgICAvLyBkb2luZyBpdCBhZnRlciB1c2VyIGNvbmZpZyBmaWxlcyBhbmQgYmVmb3JlIHVzZXIgY3NzIGZpbGVzXHJcbiAgICAgICAgLy8gYWxsb3dzIHVzZXIgY3NzIHRvIG92ZXJyaWRlIHNraW4tc3BlY2lmaWMgY3NzIGFzIHdlbGwuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMuU2tpbilcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2tpbihvcHRpb25zLlNraW4pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNzc0ZpbGUgb2YgY3NzRmlsZXMpIHtcclxuICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2Nzc0ZpbGV9YCk7XHJcbiAgICAgICAgICBjb25zdCB1c2VyQ3NzVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGxvY2FsRmlsZXNbY3NzRmlsZV07XHJcbiAgICAgICAgICBpZiAoY29udGVudHMpXHJcbiAgICAgICAgICAgIHVzZXJDc3NUZXh0LmlubmVyVGV4dCA9IGNvbnRlbnRzO1xyXG4gICAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICAgICAgICBpZiAoaGVhZClcclxuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ3NzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBQb3N0IHRoaXMgY2FsbGJhY2sgc28gdGhhdCB0aGUganMgYW5kIGNzcyBjYW4gYmUgZXhlY3V0ZWQgZmlyc3QuXHJcbiAgICAgIGlmIChjYWxsYmFjaylcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG5cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoeyBjYWxsOiAnY2FjdGJvdFJlcXVlc3RTdGF0ZScgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkVXNlcicsXHJcbiAgICAgIHNvdXJjZTogbG9jYXRpb24uaHJlZixcclxuICAgICAgb3ZlcmxheU5hbWU6IG92ZXJsYXlOYW1lLFxyXG4gICAgfSkudGhlbigoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIERPTUNvbnRlbnRMb2FkZWQgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgdm9pZCBsb2FkVXNlcihlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2tpbihza2luTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXNraW5OYW1lIHx8IHNraW5OYW1lID09PSAnZGVmYXVsdCcpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgYmFzZVBhdGggPSBkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpO1xyXG4gICAgY29uc3Qgc2xhc2hJZHggPSBiYXNlUGF0aC5sYXN0SW5kZXhPZignLycpO1xyXG4gICAgaWYgKHNsYXNoSWR4ICE9PSAtMSlcclxuICAgICAgYmFzZVBhdGggPSBiYXNlUGF0aC5zdWJzdHIoMCwgc2xhc2hJZHgpO1xyXG4gICAgaWYgKGJhc2VQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKVxyXG4gICAgICBiYXNlUGF0aCArPSAnLyc7XHJcbiAgICBjb25zdCBza2luSHJlZiA9IGJhc2VQYXRoICsgJ3NraW5zLycgKyBza2luTmFtZSArICcvJyArIHNraW5OYW1lICsgJy5jc3MnO1xyXG4gICAgdGhpcy5hcHBlbmRDU1NMaW5rKHNraW5IcmVmKTtcclxuICB9XHJcbiAgYXBwZW5kSlNMaW5rKHNyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VySlMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdzcmMnLCBzcmMpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnZmFsc2UnKTtcclxuICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgaWYgKGhlYWQpXHJcbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQodXNlckpTKTtcclxuICB9XHJcbiAgYXBwZW5kQ1NTTGluayhocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJDU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ1NTKTtcclxuICB9XHJcbiAgcHJvY2Vzc09wdGlvbnMob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5LCB0ZW1wbGF0ZT86IE9wdGlvbnNUZW1wbGF0ZSkge1xyXG4gICAgLy8gVGFrZSBvcHRpb25zIGZyb20gdGhlIHRlbXBsYXRlLCBmaW5kIHRoZW0gaW4gc2F2ZWRDb25maWcsXHJcbiAgICAvLyBhbmQgYXBwbHkgdGhlbSB0byBvcHRpb25zLiBUaGlzIGFsc28gaGFuZGxlcyBzZXR0aW5nXHJcbiAgICAvLyBkZWZhdWx0cyBmb3IgYW55dGhpbmcgaW4gdGhlIHRlbXBsYXRlLCBldmVuIGlmIGl0IGRvZXMgbm90XHJcbiAgICAvLyBleGlzdCBpbiBzYXZlZENvbmZpZy5cclxuXHJcbiAgICAvLyBOb3QgYWxsIG92ZXJsYXlzIGhhdmUgb3B0aW9uIHRlbXBsYXRlcy5cclxuICAgIGlmICghdGVtcGxhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0ZW1wbGF0ZU9wdGlvbnMgPSB0ZW1wbGF0ZS5vcHRpb25zIHx8IFtdO1xyXG4gICAgZm9yIChjb25zdCBvcHQgb2YgdGVtcGxhdGVPcHRpb25zKSB7XHJcbiAgICAgIC8vIEdyYWIgdGhlIHNhdmVkIHZhbHVlIG9yIHRoZSBkZWZhdWx0IHRvIHNldCBpbiBvcHRpb25zLlxyXG5cclxuICAgICAgbGV0IHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5ID0gb3B0LmRlZmF1bHQ7XHJcbiAgICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSkge1xyXG4gICAgICAgIGlmIChvcHQuaWQgaW4gc2F2ZWRDb25maWcpIHtcclxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gc2F2ZWRDb25maWdbb3B0LmlkXTtcclxuICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3B0aW9ucyBjYW4gcHJvdmlkZSBjdXN0b20gbG9naWMgdG8gdHVybiBhIHZhbHVlIGludG8gb3B0aW9ucyBzZXR0aW5ncy5cclxuICAgICAgLy8gSWYgdGhpcyBkb2Vzbid0IGV4aXN0LCBqdXN0IHNldCB0aGUgdmFsdWUgZGlyZWN0bHkuXHJcbiAgICAgIC8vIE9wdGlvbiB0ZW1wbGF0ZSBpZHMgYXJlIGlkZW50aWNhbCB0byBmaWVsZCBuYW1lcyBvbiBPcHRpb25zLlxyXG4gICAgICBpZiAob3B0LnNldHRlckZ1bmMpIHtcclxuICAgICAgICBvcHQuc2V0dGVyRnVuYyhvcHRpb25zLCB2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0LnR5cGUgPT09ICdpbnRlZ2VyJykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gTWF0aC5mbG9vcih2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlSW50KHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2Zsb2F0Jykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIHRoaW5ncyBsaWtlIHJhaWRib3NzIHRoYXQgYnVpbGQgZXh0cmEgVUksIGFsc28gZ2l2ZSB0aGVtIGEgY2hhbmNlXHJcbiAgICAvLyB0byBoYW5kbGUgYW55dGhpbmcgdGhhdCBoYXMgYmVlbiBzZXQgb24gdGhhdCBVSS5cclxuICAgIGlmICh0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKVxyXG4gICAgICB0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9XHJcbiAgYWRkVW5sb2NrVGV4dChsYW5nOiBMYW5nKSB7XHJcbiAgICBjb25zdCB1bmxvY2tUZXh0ID0ge1xyXG4gICAgICBlbjogJ/CflJMgVW5sb2NrZWQgKGxvY2sgb3ZlcmxheSBiZWZvcmUgdXNpbmcpJyxcclxuICAgICAgZGU6ICfwn5STIEVudHNwZXJydCAoU3BlcnJlIGRhcyBPdmVybGF5IHZvciBkZXIgTnV0enVuZyknLFxyXG4gICAgICBmcjogJ/CflJMgRMOpYmxvcXXDqSAoQmxvcXVleiBsXFwnb3ZlcmxheSBhdmFudCB1dGlsaXNhdGlvbiknLFxyXG4gICAgICBqYTogJ/CflJMg44Ot44OD44Kv6Kej6ZmkICjjgqrjg7zjg5Djg7zjg6zjgqTjgpLkvb/nlKjjgZnjgovliY3jgavjg63jg4Pjgq/jgZfjgabjgY/jgaDjgZXjgYQpJyxcclxuICAgICAgY246ICfwn5STIOW3suino+mZpOmUgeWumiAo5L2g6ZyA6KaB5bCG5q2k5oKs5rWu56qX6ZSB5a6a5ZCO5pa55Y+v5L2/55SoKScsXHJcbiAgICAgIGtvOiAn8J+UkyDsnITsuZgg7J6g6riIIO2VtOygnOuQqCAo7IKs7Jqp7ZWY6riwIOyghOyXkCDsnITsuZgg7J6g6riI7J2EIOyEpOygle2VmOyEuOyalCknLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpZCA9ICdjYWN0Ym90LXVubG9ja2VkLXRleHQnO1xyXG4gICAgbGV0IHRleHRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYgKCF0ZXh0RWxlbSkge1xyXG4gICAgICB0ZXh0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0ZXh0RWxlbS5pZCA9IGlkO1xyXG4gICAgICB0ZXh0RWxlbS5jbGFzc0xpc3QuYWRkKCd0ZXh0Jyk7XHJcbiAgICAgIC8vIFNldCBlbGVtZW50IGRpc3BsYXkgdG8gbm9uZSBpbiBjYXNlIHRoZSBwYWdlIGhhcyBub3QgaW5jbHVkZWQgZGVmYXVsdHMuY3NzLlxyXG4gICAgICB0ZXh0RWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0ZXh0RWxlbSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0RWxlbS5pbm5lckhUTUwgPSB1bmxvY2tUZXh0W2xhbmddIHx8IHVubG9ja1RleHRbJ2VuJ107XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgVXNlckNvbmZpZygpO1xyXG5cclxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAvLyBUaGlzIGV2ZW50IGNvbWVzIGVhcmx5IGFuZCBpcyBub3QgY2FjaGVkLCBzbyBzZXQgdXAgZXZlbnQgbGlzdGVuZXIgaW1tZWRpYXRlbHkuXHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignb25PdmVybGF5U3RhdGVVcGRhdGUnLCAoZSkgPT4ge1xyXG4gICAgY29uc3QgZG9jQ2xhc3NMaXN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcclxuICAgIGlmIChlLmRldGFpbC5pc0xvY2tlZClcclxuICAgICAgZG9jQ2xhc3NMaXN0LnJlbW92ZSgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRvY0NsYXNzTGlzdC5hZGQoJ3Jlc2l6ZUhhbmRsZScsICd1bmxvY2tlZCcpO1xyXG4gIH0pO1xyXG59XHJcbiIsImltcG9ydCB7IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHMsIE92ZXJsYXlIYW5kbGVyUmVzcG9uc2VUeXBlcyB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuXHJcbi8vIFRPRE86IGl0J2QgYmUgbmljZSB0byBub3QgcmVwZWF0IGpvYiBuYW1lcywgYnV0IGF0IGxlYXN0IFJlY29yZCBlbmZvcmNlcyB0aGF0IGFsbCBhcmUgc2V0LlxyXG5jb25zdCBuYW1lVG9Kb2JFbnVtOiBSZWNvcmQ8Sm9iLCBudW1iZXI+ID0ge1xyXG4gIE5PTkU6IDAsXHJcbiAgR0xBOiAxLFxyXG4gIFBHTDogMixcclxuICBNUkQ6IDMsXHJcbiAgTE5DOiA0LFxyXG4gIEFSQzogNSxcclxuICBDTko6IDYsXHJcbiAgVEhNOiA3LFxyXG4gIENSUDogOCxcclxuICBCU006IDksXHJcbiAgQVJNOiAxMCxcclxuICBHU006IDExLFxyXG4gIExUVzogMTIsXHJcbiAgV1ZSOiAxMyxcclxuICBBTEM6IDE0LFxyXG4gIENVTDogMTUsXHJcbiAgTUlOOiAxNixcclxuICBCVE46IDE3LFxyXG4gIEZTSDogMTgsXHJcbiAgUExEOiAxOSxcclxuICBNTks6IDIwLFxyXG4gIFdBUjogMjEsXHJcbiAgRFJHOiAyMixcclxuICBCUkQ6IDIzLFxyXG4gIFdITTogMjQsXHJcbiAgQkxNOiAyNSxcclxuICBBQ046IDI2LFxyXG4gIFNNTjogMjcsXHJcbiAgU0NIOiAyOCxcclxuICBST0c6IDI5LFxyXG4gIE5JTjogMzAsXHJcbiAgTUNIOiAzMSxcclxuICBEUks6IDMyLFxyXG4gIEFTVDogMzMsXHJcbiAgU0FNOiAzNCxcclxuICBSRE06IDM1LFxyXG4gIEJMVTogMzYsXHJcbiAgR05COiAzNyxcclxuICBETkM6IDM4LFxyXG4gIFJQUjogMzksXHJcbiAgU0dFOiA0MCxcclxufTtcclxuXHJcbmNvbnN0IGFsbEpvYnMgPSBPYmplY3Qua2V5cyhuYW1lVG9Kb2JFbnVtKSBhcyBKb2JbXTtcclxuY29uc3QgYWxsUm9sZXMgPSBbJ3RhbmsnLCAnaGVhbGVyJywgJ2RwcycsICdjcmFmdGVyJywgJ2dhdGhlcmVyJywgJ25vbmUnXSBhcyBSb2xlW107XHJcblxyXG5jb25zdCB0YW5rSm9iczogSm9iW10gPSBbJ0dMQScsICdQTEQnLCAnTVJEJywgJ1dBUicsICdEUksnLCAnR05CJ107XHJcbmNvbnN0IGhlYWxlckpvYnM6IEpvYltdID0gWydDTkonLCAnV0hNJywgJ1NDSCcsICdBU1QnLCAnU0dFJ107XHJcbmNvbnN0IG1lbGVlRHBzSm9iczogSm9iW10gPSBbJ1BHTCcsICdNTksnLCAnTE5DJywgJ0RSRycsICdST0cnLCAnTklOJywgJ1NBTScsICdSUFInXTtcclxuY29uc3QgcmFuZ2VkRHBzSm9iczogSm9iW10gPSBbJ0FSQycsICdCUkQnLCAnRE5DJywgJ01DSCddO1xyXG5jb25zdCBjYXN0ZXJEcHNKb2JzOiBKb2JbXSA9IFsnQkxVJywgJ1JETScsICdCTE0nLCAnU01OJywgJ0FDTicsICdUSE0nXTtcclxuY29uc3QgZHBzSm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzLCAuLi5yYW5nZWREcHNKb2JzLCAuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY3JhZnRpbmdKb2JzOiBKb2JbXSA9IFsnQ1JQJywgJ0JTTScsICdBUk0nLCAnR1NNJywgJ0xUVycsICdXVlInLCAnQUxDJywgJ0NVTCddO1xyXG5jb25zdCBnYXRoZXJpbmdKb2JzOiBKb2JbXSA9IFsnTUlOJywgJ0JUTicsICdGU0gnXTtcclxuXHJcbmNvbnN0IHN0dW5Kb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLm1lbGVlRHBzSm9ic107XHJcbmNvbnN0IHNpbGVuY2VKb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLnJhbmdlZERwc0pvYnNdO1xyXG5jb25zdCBzbGVlcEpvYnM6IEpvYltdID0gWydCTE0nLCAnQkxVJywgLi4uaGVhbGVySm9ic107XHJcbmNvbnN0IGZlaW50Sm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3QgYWRkbGVKb2JzOiBKb2JbXSA9IFsuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY2xlYW5zZUpvYnM6IEpvYltdID0gWydCTFUnLCAnQlJEJywgLi4uaGVhbGVySm9ic107XHJcblxyXG5jb25zdCBqb2JUb1JvbGVNYXA6IE1hcDxKb2IsIFJvbGU+ID0gKCgpID0+IHtcclxuICBjb25zdCBhZGRUb01hcCA9IChtYXA6IE1hcDxKb2IsIFJvbGU+LCBqb2JzOiBKb2JbXSwgcm9sZTogUm9sZSkgPT4ge1xyXG4gICAgam9icy5mb3JFYWNoKChqb2IpID0+IG1hcC5zZXQoam9iLCByb2xlKSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFwOiBNYXA8Sm9iLCBSb2xlPiA9IG5ldyBNYXAoW1snTk9ORScsICdub25lJ11dKTtcclxuICBhZGRUb01hcChtYXAsIHRhbmtKb2JzLCAndGFuaycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgaGVhbGVySm9icywgJ2hlYWxlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZHBzSm9icywgJ2RwcycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgY3JhZnRpbmdKb2JzLCAnY3JhZnRlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZ2F0aGVyaW5nSm9icywgJ2dhdGhlcmVyJyk7XHJcblxyXG4gIHJldHVybiBtYXA7XHJcbn0pKCk7XHJcblxyXG50eXBlIFdhdGNoQ29tYmF0YW50UGFyYW1zID0ge1xyXG4gIGlkcz86IG51bWJlcltdO1xyXG4gIG5hbWVzPzogc3RyaW5nW107XHJcbiAgcHJvcHM/OiBzdHJpbmdbXTtcclxuICBkZWxheT86IG51bWJlcjtcclxuICBtYXhEdXJhdGlvbj86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRGdW5jID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZnVuYzogKHJldDogT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzWydnZXRDb21iYXRhbnRzJ10pID0+IGJvb2xlYW4sXHJcbikgPT4gUHJvbWlzZTx2b2lkPjtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IHdhdGNoQ29tYmF0YW50TWFwOiBXYXRjaENvbWJhdGFudE1hcEVudHJ5W10gPSBbXTtcclxuXHJcbmNvbnN0IHNob3VsZENhbmNlbFdhdGNoID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZW50cnk6IFdhdGNoQ29tYmF0YW50TWFwRW50cnksXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGlmIChlbnRyeS5jYW5jZWwpXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICBpZiAocGFyYW1zLm1heER1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgRGF0ZS5ub3coKSAtIGVudHJ5LnN0YXJ0ID4gcGFyYW1zLm1heER1cmF0aW9uKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnQ6IFdhdGNoQ29tYmF0YW50RnVuYyA9IChwYXJhbXMsIGZ1bmMpID0+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlcywgcmVqKSA9PiB7XHJcbiAgICBjb25zdCBkZWxheSA9IHBhcmFtcy5kZWxheSA/PyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IGNhbGw6IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHNbJ2dldENvbWJhdGFudHMnXSA9IHtcclxuICAgICAgY2FsbDogJ2dldENvbWJhdGFudHMnLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAocGFyYW1zLmlkcylcclxuICAgICAgY2FsbC5pZHMgPSBwYXJhbXMuaWRzO1xyXG5cclxuICAgIGlmIChwYXJhbXMubmFtZXMpXHJcbiAgICAgIGNhbGwubmFtZXMgPSBwYXJhbXMubmFtZXM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5wcm9wcylcclxuICAgICAgY2FsbC5wcm9wcyA9IHBhcmFtcy5wcm9wcztcclxuXHJcbiAgICBjb25zdCBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICAgICAgY2FuY2VsOiBmYWxzZSxcclxuICAgICAgc3RhcnQ6IERhdGUubm93KCksXHJcbiAgICB9O1xyXG5cclxuICAgIHdhdGNoQ29tYmF0YW50TWFwLnB1c2goZW50cnkpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrRnVuYyA9ICgpID0+IHtcclxuICAgICAgaWYgKHNob3VsZENhbmNlbFdhdGNoKHBhcmFtcywgZW50cnkpKSB7XHJcbiAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKGNhbGwpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVudHJ5LmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmdW5jKHJlc3BvbnNlKSlcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoZWNrRnVuYywgZGVsYXkpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5jb25zdCBVdGlsID0ge1xyXG4gIGpvYkVudW1Ub0pvYjogKGlkOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGpvYiA9IGFsbEpvYnMuZmluZCgoam9iOiBKb2IpID0+IG5hbWVUb0pvYkVudW1bam9iXSA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIGpvYiA/PyAnTk9ORSc7XHJcbiAgfSxcclxuICBqb2JUb0pvYkVudW06IChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdLFxyXG4gIGpvYlRvUm9sZTogKGpvYjogSm9iKSA9PiB7XHJcbiAgICBjb25zdCByb2xlID0gam9iVG9Sb2xlTWFwLmdldChqb2IpO1xyXG4gICAgcmV0dXJuIHJvbGUgPz8gJ25vbmUnO1xyXG4gIH0sXHJcbiAgZ2V0QWxsUm9sZXM6ICgpOiByZWFkb25seSBSb2xlW10gPT4gYWxsUm9sZXMsXHJcbiAgaXNUYW5rSm9iOiAoam9iOiBKb2IpID0+IHRhbmtKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNIZWFsZXJKb2I6IChqb2I6IEpvYikgPT4gaGVhbGVySm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzTWVsZWVEcHNKb2I6IChqb2I6IEpvYikgPT4gbWVsZWVEcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNSYW5nZWREcHNKb2I6IChqb2I6IEpvYikgPT4gcmFuZ2VkRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzQ2FzdGVyRHBzSm9iOiAoam9iOiBKb2IpID0+IGNhc3RlckRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0Rwc0pvYjogKGpvYjogSm9iKSA9PiBkcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDcmFmdGluZ0pvYjogKGpvYjogSm9iKSA9PiBjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0dhdGhlcmluZ0pvYjogKGpvYjogSm9iKSA9PiBnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDb21iYXRKb2I6IChqb2I6IEpvYikgPT4ge1xyXG4gICAgcmV0dXJuICFjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSAmJiAhZ2F0aGVyaW5nSm9icy5pbmNsdWRlcyhqb2IpO1xyXG4gIH0sXHJcbiAgY2FuU3R1bjogKGpvYjogSm9iKSA9PiBzdHVuSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNpbGVuY2U6IChqb2I6IEpvYikgPT4gc2lsZW5jZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5TbGVlcDogKGpvYjogSm9iKSA9PiBzbGVlcEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5DbGVhbnNlOiAoam9iOiBKb2IpID0+IGNsZWFuc2VKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuRmVpbnQ6IChqb2I6IEpvYikgPT4gZmVpbnRKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuQWRkbGU6IChqb2I6IEpvYikgPT4gYWRkbGVKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgd2F0Y2hDb21iYXRhbnQ6IHdhdGNoQ29tYmF0YW50LFxyXG4gIGNsZWFyV2F0Y2hDb21iYXRhbnRzOiAoKSA9PiB7XHJcbiAgICB3aGlsZSAod2F0Y2hDb21iYXRhbnRNYXAubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB3YXRjaCA9IHdhdGNoQ29tYmF0YW50TWFwLnBvcCgpO1xyXG4gICAgICBpZiAod2F0Y2gpXHJcbiAgICAgICAgd2F0Y2guY2FuY2VsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVXRpbDtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0FCbG9vZHlSZXVuaW9uJzogNTYwLFxyXG4gICdBRnJvc3R5UmVjZXB0aW9uJzogMTAxMCxcclxuICAnQVBhdGhVbnZlaWxlZCc6IDEwMTUsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUNoaW1lcmEnOiAzNjgsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUh5ZHJhJzogMzY5LFxyXG4gICdBUmVxdWllbUZvckhlcm9lcyc6IDgzMCxcclxuICAnQVNsZWVwRGlzdHVyYmVkJzogOTE0LFxyXG4gICdBU3BlY3RhY2xlRm9yVGhlQWdlcyc6IDUzMyxcclxuICAnQWNjcnVlRW5taXR5RnJvbU11bHRpcGxlVGFyZ2V0cyc6IDU0MCxcclxuICAnQWlyRm9yY2VPbmUnOiA4MzIsXHJcbiAgJ0FrYWRhZW1pYUFueWRlcic6IDg0MSxcclxuICAnQWxhTWhpZ28nOiA2ODksXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyJzogNDQ0LFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlclNhdmFnZSc6IDQ1MSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb24nOiA1MjIsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlJzogNTMxLFxyXG4gICdBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3InOiA1ODEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXInOiA0NDUsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyU2F2YWdlJzogNDUyLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbic6IDUyMyxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb25TYXZhZ2UnOiA1MzIsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZUZhdGhlcic6IDQ0MyxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyU2F2YWdlJzogNDUwLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24nOiA1MjEsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvblNhdmFnZSc6IDUzMCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcic6IDU4MCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyJzogNDQyLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NDksXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZVNvbic6IDUyMCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlJzogNTI5LFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcic6IDU4MixcclxuICAnQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODYsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3InOiA1ODMsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODcsXHJcbiAgJ0FsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwnOiAyMjAsXHJcbiAgJ0FsbHNXZWxsVGhhdFN0YXJ0c1dlbGwnOiA3OTYsXHJcbiAgJ0FscGhhc2NhcGVWMTAnOiA3OTgsXHJcbiAgJ0FscGhhc2NhcGVWMTBTYXZhZ2UnOiA4MDIsXHJcbiAgJ0FscGhhc2NhcGVWMjAnOiA3OTksXHJcbiAgJ0FscGhhc2NhcGVWMjBTYXZhZ2UnOiA4MDMsXHJcbiAgJ0FscGhhc2NhcGVWMzAnOiA4MDAsXHJcbiAgJ0FscGhhc2NhcGVWMzBTYXZhZ2UnOiA4MDQsXHJcbiAgJ0FscGhhc2NhcGVWNDAnOiA4MDEsXHJcbiAgJ0FscGhhc2NhcGVWNDBTYXZhZ2UnOiA4MDUsXHJcbiAgJ0FtYXVyb3QnOiA4MzgsXHJcbiAgJ0FtZGFwb3JLZWVwJzogMTY3LFxyXG4gICdBbWRhcG9yS2VlcEhhcmQnOiAxODksXHJcbiAgJ0FtaEFyYWVuZyc6IDgxNSxcclxuICAnQW5hbW5lc2lzQW55ZGVyJzogODk4LFxyXG4gICdBbm5veVRoZVZvaWQnOiAyMjIsXHJcbiAgJ0FzVGhlSGVhcnRCaWRzJzogODk0LFxyXG4gICdBc1RoZUhlYXZlbnNCdXJuJzogMTAxMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlJzogMTAwMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlU2F2YWdlJzogMTAwMyxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSc6IDEwMDgsXHJcbiAgJ0FzcGhvZGVsb3NUaGVGb3VydGhDaXJjbGVTYXZhZ2UnOiAxMDA5LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlJzogMTAwNCxcclxuICAnQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSc6IDEwMDUsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSc6IDEwMDYsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZVNhdmFnZSc6IDEwMDcsXHJcbiAgJ0Fzc2lzdEFsbGllc0luRGVmZWF0aW5nQVRhcmdldCc6IDU0NCxcclxuICAnQXN0cmFnYWxvcyc6IDcyOSxcclxuICAnQXZvaWRBcmVhT2ZFZmZlY3RBdHRhY2tzJzogNTM3LFxyXG4gICdBenlzTGxhJzogNDAyLFxyXG4gICdCYWVsc2Fyc1dhbGwnOiA2MTUsXHJcbiAgJ0JhcmRhbXNNZXR0bGUnOiA2MjMsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVBhcnRpZXMnOiAyMTQsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVN0cm9uZ2hvbGRzJzogMjE1LFxyXG4gICdCYXR0bGVJblRoZUJpZ0tlZXAnOiAzOTYsXHJcbiAgJ0JhdHRsZU9uVGhlQmlnQnJpZGdlJzogMzY2LFxyXG4gICdCbG9vZE9uVGhlRGVjayc6IDcwOCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3AnOiAxNTgsXHJcbiAgJ0JyYXlmbG94c0xvbmdzdG9wSGFyZCc6IDM2MixcclxuICAnQ2FwZVdlc3R3aW5kJzogMzMyLFxyXG4gICdDYXN0cnVtQWJhbmlhJzogNjYxLFxyXG4gICdDYXN0cnVtRmx1bWluaXMnOiA3NzgsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtJzogOTM0LFxyXG4gICdDYXN0cnVtTWFyaW51bURyeWRvY2tzJzogOTY3LFxyXG4gICdDYXN0cnVtTWFyaW51bUV4dHJlbWUnOiA5MzUsXHJcbiAgJ0Nhc3RydW1NZXJpZGlhbnVtJzogMjE3LFxyXG4gICdDZW50cmFsU2hyb3VkJzogMTQ4LFxyXG4gICdDZW50cmFsVGhhbmFsYW4nOiAxNDEsXHJcbiAgJ0Nob2NvYm9SYWNlQ29zdGFEZWxTb2wnOiAzODksXHJcbiAgJ0Nob2NvYm9SYWNlU2Fnb2xpaVJvYWQnOiAzOTAsXHJcbiAgJ0Nob2NvYm9SYWNlVHJhbnF1aWxQYXRocyc6IDM5MSxcclxuICAnQ2hvY29ib1JhY2VUdXRvcmlhbCc6IDQxNyxcclxuICAnQ2luZGVyRHJpZnQnOiA4OTcsXHJcbiAgJ0NpbmRlckRyaWZ0RXh0cmVtZSc6IDkxMixcclxuICAnQ29lcnRoYXNDZW50cmFsSGlnaGxhbmRzJzogMTU1LFxyXG4gICdDb2VydGhhc1dlc3Rlcm5IaWdobGFuZHMnOiAzOTcsXHJcbiAgJ0NvbWluZ0NsZWFuJzogODYwLFxyXG4gICdDb250YWlubWVudEJheVAxVDYnOiA1NzYsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNkV4dHJlbWUnOiA1NzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UzFUNyc6IDUxNyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSc6IDUyNCxcclxuICAnQ29udGFpbm1lbnRCYXlaMVQ5JzogNjM3LFxyXG4gICdDb250YWlubWVudEJheVoxVDlFeHRyZW1lJzogNjM4LFxyXG4gICdDb3BwZXJiZWxsTWluZXMnOiAxNjEsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lc0hhcmQnOiAzNDksXHJcbiAgJ0N1cmlvdXNHb3JnZU1lZXRzSGlzTWF0Y2gnOiA3MTcsXHJcbiAgJ0N1dHRlcnNDcnknOiAxNzAsXHJcbiAgJ0RhcmtBc1RoZU5pZ2h0U2t5JzogNzEzLFxyXG4gICdEZWF0aFVudG9EYXduJzogOTc3LFxyXG4gICdEZWZlYXRBbk9jY3VwaWVkVGFyZ2V0JzogNTQ1LFxyXG4gICdEZWx0YXNjYXBlVjEwJzogNjkxLFxyXG4gICdEZWx0YXNjYXBlVjEwU2F2YWdlJzogNjk1LFxyXG4gICdEZWx0YXNjYXBlVjIwJzogNjkyLFxyXG4gICdEZWx0YXNjYXBlVjIwU2F2YWdlJzogNjk2LFxyXG4gICdEZWx0YXNjYXBlVjMwJzogNjkzLFxyXG4gICdEZWx0YXNjYXBlVjMwU2F2YWdlJzogNjk3LFxyXG4gICdEZWx0YXNjYXBlVjQwJzogNjk0LFxyXG4gICdEZWx0YXNjYXBlVjQwU2F2YWdlJzogNjk4LFxyXG4gICdEZWx1YnJ1bVJlZ2luYWUnOiA5MzYsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZVNhdmFnZSc6IDkzNyxcclxuICAnRG9obk1oZWcnOiA4MjEsXHJcbiAgJ0RvbWFDYXN0bGUnOiA2NjAsXHJcbiAgJ0RyYWdvblNvdW5kJzogNzE0LFxyXG4gICdEdW5TY2FpdGgnOiA2MjcsXHJcbiAgJ0R6ZW1hZWxEYXJraG9sZCc6IDE3MSxcclxuICAnRWFzdFNocm91ZCc6IDE1MixcclxuICAnRWFzdGVybkxhTm9zY2VhJzogMTM3LFxyXG4gICdFYXN0ZXJuVGhhbmFsYW4nOiAxNDUsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnQnOiA4NTAsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnRTYXZhZ2UnOiA4NTQsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb24nOiA4NTEsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb25TYXZhZ2UnOiA4NTUsXHJcbiAgJ0VkZW5zR2F0ZVJlc3VycmVjdGlvbic6IDg0OSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlJzogODUzLFxyXG4gICdFZGVuc0dhdGVTZXB1bHR1cmUnOiA4NTIsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZVNhdmFnZSc6IDg1NixcclxuICAnRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzJzogOTQ0LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXNTYXZhZ2UnOiA5NDgsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5JzogOTQ1LFxyXG4gICdFZGVuc1Byb21pc2VFdGVybml0eVNhdmFnZSc6IDk0OSxcclxuICAnRWRlbnNQcm9taXNlTGl0YW55JzogOTQzLFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UnOiA5NDcsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhJzogOTQyLFxyXG4gICdFZGVuc1Byb21pc2VVbWJyYVNhdmFnZSc6IDk0NixcclxuICAnRWRlbnNWZXJzZUZ1bG1pbmF0aW9uJzogOTAyLFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb25TYXZhZ2UnOiA5MDYsXHJcbiAgJ0VkZW5zVmVyc2VGdXJvcic6IDkwMyxcclxuICAnRWRlbnNWZXJzZUZ1cm9yU2F2YWdlJzogOTA3LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbSc6IDkwNCxcclxuICAnRWRlbnNWZXJzZUljb25vY2xhc21TYXZhZ2UnOiA5MDgsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlJzogOTA1LFxyXG4gICdFZGVuc1ZlcnNlUmVmdWxnZW5jZVNhdmFnZSc6IDkwOSxcclxuICAnRWxwaXMnOiA5NjEsXHJcbiAgJ0VtYW5hdGlvbic6IDcxOSxcclxuICAnRW1hbmF0aW9uRXh0cmVtZSc6IDcyMCxcclxuICAnRW1pc3NhcnlPZlRoZURhd24nOiA3NjksXHJcbiAgJ0VuZHdhbGtlcic6IDEwMTMsXHJcbiAgJ0VuZ2FnZU11bHRpcGxlVGFyZ2V0cyc6IDU0MSxcclxuICAnRXVsbW9yZSc6IDgyMCxcclxuICAnRXZlck1hcmNoSGVhdmVuc3dhcmQnOiAxMDE4LFxyXG4gICdFeGVjdXRlQUNvbWJvSW5CYXR0bGUnOiA1MzksXHJcbiAgJ0V4ZWN1dGVBQ29tYm9Ub0luY3JlYXNlRW5taXR5JzogNTM4LFxyXG4gICdFeGVjdXRlQVJhbmdlZEF0dGFja1RvSW5jcmVhc2VFbm1pdHknOiA1NDIsXHJcbiAgJ0ZhZGVkTWVtb3JpZXMnOiA5MzIsXHJcbiAgJ0ZpbmFsRXhlcmNpc2UnOiA1NTIsXHJcbiAgJ0ZpdEZvckFRdWVlbic6IDk1NSxcclxuICAnRmxpY2tpbmdTdGlja3NBbmRUYWtpbmdOYW1lcyc6IDIxOSxcclxuICAnRm91bmRhdGlvbic6IDQxOCxcclxuICAnRm91clBsYXllck1haGpvbmdRdWlja01hdGNoS3VpdGFuRGlzYWJsZWQnOiA4MzEsXHJcbiAgJ0dhcmxlbWFsZCc6IDk1OCxcclxuICAnSGFsYXRhbGknOiAxNjIsXHJcbiAgJ0hhbGF0YWxpSGFyZCc6IDM2MCxcclxuICAnSGF1a2tlTWFub3InOiAxNjYsXHJcbiAgJ0hhdWtrZU1hbm9ySGFyZCc6IDM1MCxcclxuICAnSGVhbEFuQWxseSc6IDU0OSxcclxuICAnSGVhbE11bHRpcGxlQWxsaWVzJzogNTUwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxMV8yMCc6IDc3MSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMV8xMCc6IDc3MCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMjFfMzAnOiA3NzIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczMxXzQwJzogNzgyLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM0MV81MCc6IDc3MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNTFfNjAnOiA3ODMsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczYxXzcwJzogNzc0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM3MV84MCc6IDc4NCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzODFfOTAnOiA3NzUsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczkxXzEwMCc6IDc4NSxcclxuICAnSGVsbHNLaWVyJzogODEwLFxyXG4gICdIZWxsc0tpZXJFeHRyZW1lJzogODExLFxyXG4gICdIZWxsc0xpZCc6IDc0MixcclxuICAnSGVyb09uVGhlSGFsZlNoZWxsJzogMjE2LFxyXG4gICdIaWRkZW5Hb3JnZSc6IDc5MSxcclxuICAnSG9sbWluc3RlclN3aXRjaCc6IDgzNyxcclxuICAnSHVsbGJyZWFrZXJJc2xlJzogMzYxLFxyXG4gICdIdWxsYnJlYWtlcklzbGVIYXJkJzogNTU3LFxyXG4gICdJZHlsbHNoaXJlJzogNDc4LFxyXG4gICdJbE1oZWcnOiA4MTYsXHJcbiAgJ0luRnJvbVRoZUNvbGQnOiAxMDExLFxyXG4gICdJblRoYWxzTmFtZSc6IDcwNSxcclxuICAnSW50ZXJhY3RXaXRoVGhlQmF0dGxlZmllbGQnOiA1NDgsXHJcbiAgJ0ludGVyZGltZW5zaW9uYWxSaWZ0JzogNjkwLFxyXG4gICdJdHNQcm9iYWJseUFUcmFwJzogNjY1LFxyXG4gICdLaG9sdXNpYSc6IDgxNCxcclxuICAnS3Rpc2lzSHlwZXJib3JlaWEnOiA5NzQsXHJcbiAgJ0t1Z2FuZSc6IDYyOCxcclxuICAnS3VnYW5lQ2FzdGxlJzogNjYyLFxyXG4gICdLdWdhbmVPaGFzaGknOiA4MDYsXHJcbiAgJ0xhYnlyaW50aG9zJzogOTU2LFxyXG4gICdMYWlkVG9SZXN0JzogMTAxNyxcclxuICAnTGFrZWxhbmQnOiA4MTMsXHJcbiAgJ0xlZ2VuZE9mVGhlTm90U29IaWRkZW5UZW1wbGUnOiA4NTksXHJcbiAgJ0xpZmVFcGhlbWVyYWxQYXRoRXRlcm5hbCc6IDEwMjMsXHJcbiAgJ0xpbXNhTG9taW5zYUxvd2VyRGVja3MnOiAxMjksXHJcbiAgJ0xpbXNhTG9taW5zYVVwcGVyRGVja3MnOiAxMjgsXHJcbiAgJ0xvbmdMaXZlVGhlUXVlZW4nOiAyOTgsXHJcbiAgJ0xvdm1NYXN0ZXJUb3VybmFtZW50JzogNTA2LFxyXG4gICdMb3ZtUGxheWVyQmF0dGxlTm9uUnAnOiA1OTEsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVScCc6IDU4OSxcclxuICAnTG92bVRvdXJuYW1lbnQnOiA1OTAsXHJcbiAgJ0xvd2VyTGFOb3NjZWEnOiAxMzUsXHJcbiAgJ01hbGlrYWhzV2VsbCc6IDgzNixcclxuICAnTWFyZUxhbWVudG9ydW0nOiA5NTksXHJcbiAgJ01hdGNoQWxsJzogbnVsbCxcclxuICAnTWF0b3lhc1JlbGljdCc6IDkzMyxcclxuICAnTWF0c3ViYU1heWhlbSc6IDcxMCxcclxuICAnTWVtb3JpYU1pc2VyYUV4dHJlbWUnOiA5MTMsXHJcbiAgJ01lc3Nlbmdlck9mVGhlV2luZHMnOiA4MzQsXHJcbiAgJ01pZGRsZUxhTm9zY2VhJzogMTM0LFxyXG4gICdNaXN0JzogMTM2LFxyXG4gICdNb3JEaG9uYSc6IDE1NixcclxuICAnTW9yZVRoYW5BRmVlbGVyJzogMjIxLFxyXG4gICdNdEd1bGcnOiA4MjIsXHJcbiAgJ05hYWRhbSc6IDY4OCxcclxuICAnTmV2ZXJyZWFwJzogNDIwLFxyXG4gICdOZXdHcmlkYW5pYSc6IDEzMixcclxuICAnTm9ydGhTaHJvdWQnOiAxNTQsXHJcbiAgJ05vcnRoZXJuVGhhbmFsYW4nOiAxNDcsXHJcbiAgJ055ZWxiZXJ0c0xhbWVudCc6IDg3NixcclxuICAnT2NlYW5GaXNoaW5nJzogOTAwLFxyXG4gICdPbGRHcmlkYW5pYSc6IDEzMyxcclxuICAnT2xkU2hhcmxheWFuJzogOTYyLFxyXG4gICdPbmVMaWZlRm9yT25lV29ybGQnOiA1OTIsXHJcbiAgJ09uc2FsSGFrYWlyRGFuc2hpZ05hYWRhbSc6IDg4OCxcclxuICAnT3VyQ29tcHJvbWlzZSc6IDcxNixcclxuICAnT3VyVW5zdW5nSGVyb2VzJzogNzIyLFxyXG4gICdPdXRlckxhTm9zY2VhJzogMTgwLFxyXG4gICdQYWdsdGhhbic6IDkzOCxcclxuICAnUGhhcm9zU2lyaXVzJzogMTYwLFxyXG4gICdQaGFyb3NTaXJpdXNIYXJkJzogNTEwLFxyXG4gICdQdWxsaW5nUG9pc29uUG9zaWVzJzogMTkxLFxyXG4gICdSYWR6QXRIYW4nOiA5NjMsXHJcbiAgJ1JhaXNpbmdUaGVTd29yZCc6IDcwNixcclxuICAnUmV0dXJuT2ZUaGVCdWxsJzogNDAzLFxyXG4gICdSaGFsZ3JzUmVhY2gnOiA2MzUsXHJcbiAgJ1NhZ2VzRm9jdXMnOiAxMDIyLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bSc6IDUxMSxcclxuICAnU2FpbnRNb2NpYW5uZXNBcmJvcmV0dW1IYXJkJzogNzg4LFxyXG4gICdTYXN0YXNoYSc6IDE1NyxcclxuICAnU2FzdGFzaGFIYXJkJzogMzg3LFxyXG4gICdTZWFsUm9ja1NlaXplJzogNDMxLFxyXG4gICdTaGFkb3dBbmRDbGF3JzogMjIzLFxyXG4gICdTaGlzdWlPZlRoZVZpb2xldFRpZGVzJzogNjE2LFxyXG4gICdTaWdtYXNjYXBlVjEwJzogNzQ4LFxyXG4gICdTaWdtYXNjYXBlVjEwU2F2YWdlJzogNzUyLFxyXG4gICdTaWdtYXNjYXBlVjIwJzogNzQ5LFxyXG4gICdTaWdtYXNjYXBlVjIwU2F2YWdlJzogNzUzLFxyXG4gICdTaWdtYXNjYXBlVjMwJzogNzUwLFxyXG4gICdTaWdtYXNjYXBlVjMwU2F2YWdlJzogNzU0LFxyXG4gICdTaWdtYXNjYXBlVjQwJzogNzUxLFxyXG4gICdTaWdtYXNjYXBlVjQwU2F2YWdlJzogNzU1LFxyXG4gICdTbWlsZXRvbic6IDk3NixcclxuICAnU25vd2Nsb2FrJzogMzcxLFxyXG4gICdTb2htQWwnOiA0NDEsXHJcbiAgJ1NvaG1BbEhhcmQnOiA2MTcsXHJcbiAgJ1NvaHJLaGFpJzogNTU1LFxyXG4gICdTb2xlbW5UcmluaXR5JzogMzAwLFxyXG4gICdTb3V0aFNocm91ZCc6IDE1MyxcclxuICAnU291dGhlcm5UaGFuYWxhbic6IDE0NixcclxuICAnU3BlY2lhbEV2ZW50SSc6IDM1MyxcclxuICAnU3BlY2lhbEV2ZW50SWknOiAzNTQsXHJcbiAgJ1NwZWNpYWxFdmVudElpaSc6IDUwOSxcclxuICAnU3RpbmdpbmdCYWNrJzogMTkyLFxyXG4gICdTeXJjdXNUb3dlcic6IDM3MixcclxuICAnVGhhdm5haXInOiA5NTcsXHJcbiAgJ1RoZUFlcnknOiA0MzUsXHJcbiAgJ1RoZUFldGhlcm9jaGVtaWNhbFJlc2VhcmNoRmFjaWxpdHknOiA0MzgsXHJcbiAgJ1RoZUFpdGlhc2NvcGUnOiA5NzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVFeHRyZW1lJzogMzc4LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCc6IDM3NyxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCc6IDkzMCxcclxuICAnVGhlQW50aXRvd2VyJzogNTE2LFxyXG4gICdUaGVBcXVhcG9saXMnOiA1NTgsXHJcbiAgJ1RoZUF1cnVtVmFsZSc6IDE3MixcclxuICAnVGhlQXppbVN0ZXBwZSc6IDYyMixcclxuICAnVGhlQmF0dGxlT25CZWtrbyc6IDcxMSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMSc6IDI0MSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMic6IDI0MixcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMyc6IDI0MyxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNCc6IDI0NCxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNSc6IDI0NSxcclxuICAnVGhlQm9yZGVybGFuZFJ1aW5zU2VjdXJlJzogMzc2LFxyXG4gICdUaGVCb3dsT2ZFbWJlcnMnOiAyMDIsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0V4dHJlbWUnOiAyOTUsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0hhcmQnOiAyOTIsXHJcbiAgJ1RoZUJvemphSW5jaWRlbnQnOiA5MTEsXHJcbiAgJ1RoZUJvemphblNvdXRoZXJuRnJvbnQnOiA5MjAsXHJcbiAgJ1RoZUJ1cm4nOiA3ODksXHJcbiAgJ1RoZUNhbGFtaXR5UmV0b2xkJzogNzkwLFxyXG4gICdUaGVDYXJ0ZW5lYXVGbGF0c0hlbGlvZHJvbWUnOiA2MzMsXHJcbiAgJ1RoZUNocnlzYWxpcyc6IDQyNixcclxuICAnVGhlQ2h1cm5pbmdNaXN0cyc6IDQwMCxcclxuICAnVGhlQ2xvdWREZWNrJzogOTUwLFxyXG4gICdUaGVDbG91ZERlY2tFeHRyZW1lJzogOTUxLFxyXG4gICdUaGVDb3BpZWRGYWN0b3J5JzogODgyLFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZSc6IDg0NixcclxuICAnVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGVFeHRyZW1lJzogODQ4LFxyXG4gICdUaGVDcnlzdGFyaXVtJzogODE5LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlJzogODQ1LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlRXh0cmVtZSc6IDg1OCxcclxuICAnVGhlRGFya0luc2lkZSc6IDk5MixcclxuICAnVGhlRGVhZEVuZHMnOiA5NzMsXHJcbiAgJ1RoZURpYWRlbSc6IDkyOSxcclxuICAnVGhlRGlhZGVtRWFzeSc6IDUxMixcclxuICAnVGhlRGlhZGVtSGFyZCc6IDUxNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHMnOiA2MjUsXHJcbiAgJ1RoZURpYWRlbUh1bnRpbmdHcm91bmRzRWFzeSc6IDYyNCxcclxuICAnVGhlRGlhZGVtVHJpYWxzT2ZUaGVGdXJ5JzogNjMwLFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZU1hdHJvbic6IDY1NixcclxuICAnVGhlRG9tYW5FbmNsYXZlJzogNzU5LFxyXG4gICdUaGVEcmFnb25zTmVjayc6IDE0MixcclxuICAnVGhlRHJhdmFuaWFuRm9yZWxhbmRzJzogMzk4LFxyXG4gICdUaGVEcmF2YW5pYW5IaW50ZXJsYW5kcyc6IDM5OSxcclxuICAnVGhlRHJvd25lZENpdHlPZlNrYWxsYSc6IDczMSxcclxuICAnVGhlRHVuZ2VvbnNPZkx5aGVHaGlhaCc6IDg3OSxcclxuICAnVGhlRHVza1ZpZ2lsJzogNDM0LFxyXG4gICdUaGVEeWluZ0dhc3AnOiA4NDcsXHJcbiAgJ1RoZUVwaWNPZkFsZXhhbmRlclVsdGltYXRlJzogODg3LFxyXG4gICdUaGVFeGNpdGF0cm9uNjAwMCc6IDEwMDAsXHJcbiAgJ1RoZUZhY2VPZlRydWVFdmlsJzogNzA5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoQ3J5c3RhbFRvd2VyJzogNzY3LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoRmVhc3RpbmdHcm91bmRzJzogNjE5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoTGljaGVud2VlZCc6IDY0NixcclxuICAnVGhlRmVhc3RSYW5rZWQnOiA3NjUsXHJcbiAgJ1RoZUZlYXN0VGVhbVJhbmtlZCc6IDc0NSxcclxuICAnVGhlRmVhc3RUcmFpbmluZyc6IDc2NixcclxuICAnVGhlRmllbGRzT2ZHbG9yeVNoYXR0ZXInOiA1NTQsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4xJzogMTkzLFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMic6IDE5NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjMnOiAxOTUsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm40JzogMTk2LFxyXG4gICdUaGVGaW5hbERheSc6IDk5NyxcclxuICAnVGhlRmluYWxTdGVwc09mRmFpdGgnOiA1NTksXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FBbmVtb3MnOiA3MzIsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FIeWRhdG9zJzogODI3LFxyXG4gICdUaGVGb3JiaWRkZW5MYW5kRXVyZWthUGFnb3MnOiA3NjMsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQeXJvcyc6IDc5NSxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bSc6IDQzMCxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bUhhcmQnOiA3NDMsXHJcbiAgJ1RoZUZyaW5nZXMnOiA2MTIsXHJcbiAgJ1RoZUdoaW1seXREYXJrJzogNzkzLFxyXG4gICdUaGVHaWZ0T2ZNZXJjeSc6IDEwMTksXHJcbiAgJ1RoZUdyYW5kQ29zbW9zJzogODg0LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeSc6IDQxNixcclxuICAnVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkJzogNTc4LFxyXG4gICdUaGVHcmVhdEh1bnQnOiA3NjEsXHJcbiAgJ1RoZUdyZWF0SHVudEV4dHJlbWUnOiA3NjIsXHJcbiAgJ1RoZUdyZWF0U2hpcFZ5bGJyYW5kJzogOTU0LFxyXG4gICdUaGVIYXJkZW5lZEhlYXJ0JzogODczLFxyXG4gICdUaGVIYXJ2ZXN0QmVnaW5zJzogMTAyMCxcclxuICAnVGhlSGF1bnRlZE1hbm9yJzogNTcxLFxyXG4gICdUaGVIZWFydE9mVGhlUHJvYmxlbSc6IDcxOCxcclxuICAnVGhlSGVyb2VzR2F1bnRsZXQnOiA5MTYsXHJcbiAgJ1RoZUhpZGRlbkNhbmFsc09mVXpuYWlyJzogNzI1LFxyXG4gICdUaGVIb3dsaW5nRXllJzogMjA4LFxyXG4gICdUaGVIb3dsaW5nRXllRXh0cmVtZSc6IDI5NyxcclxuICAnVGhlSG93bGluZ0V5ZUhhcmQnOiAyOTQsXHJcbiAgJ1RoZUh1bnRlcnNMZWdhY3knOiA4NzUsXHJcbiAgJ1RoZUphZGVTdG9hJzogNzQ2LFxyXG4gICdUaGVKYWRlU3RvYUV4dHJlbWUnOiA3NTgsXHJcbiAgJ1RoZUtlZXBlck9mVGhlTGFrZSc6IDE1MCxcclxuICAnVGhlS2lsbGluZ0FydCc6IDEwMjEsXHJcbiAgJ1RoZUxhYnlyaW50aE9mVGhlQW5jaWVudHMnOiAxNzQsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVFeHRyZW1lJzogNDQ3LFxyXG4gICdUaGVMaW1pdGxlc3NCbHVlSGFyZCc6IDQzNixcclxuICAnVGhlTG9jaHMnOiA2MjEsXHJcbiAgJ1RoZUxvc3RBbmRUaGVGb3VuZCc6IDg3NCxcclxuICAnVGhlTG9zdENhbmFsc09mVXpuYWlyJzogNzEyLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvcic6IDM2MyxcclxuICAnVGhlTG9zdENpdHlPZkFtZGFwb3JIYXJkJzogNTE5LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIYWRlc3NFbGVneSc6IDg4NSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCc6IDk5NixcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkTmlkaG9nZ3NSYWdlJzogNTY2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRTaGlucnl1c0RvbWFpbic6IDczMCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVGhvcmRhbnNSZWlnbic6IDQ0OCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVHN1a3V5b21pc1BhaW4nOiA3NzksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFVsdGltYXNCYW5lJzogMzQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRab2RpYXJrc0ZhbGwnOiA5OTMsXHJcbiAgJ1RoZU1vdGhlcmNyeXN0YWwnOiA5OTUsXHJcbiAgJ1RoZU5hdmVsJzogMjA2LFxyXG4gICdUaGVOYXZlbEV4dHJlbWUnOiAyOTYsXHJcbiAgJ1RoZU5hdmVsSGFyZCc6IDI5MyxcclxuICAnVGhlTmF2ZWxVbnJlYWwnOiA5NTMsXHJcbiAgJ1RoZU9yYm9ubmVNb25hc3RlcnknOiA4MjYsXHJcbiAgJ1RoZU9ycGhhbnNBbmRUaGVCcm9rZW5CbGFkZSc6IDcxNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTAxXzExMCc6IDU5OCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTExXzEyMCc6IDU5OSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTFfMjAnOiA1NjIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEyMV8xMzAnOiA2MDAsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEzMV8xNDAnOiA2MDEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE0MV8xNTAnOiA2MDIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE1MV8xNjAnOiA2MDMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE2MV8xNzAnOiA2MDQsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE3MV8xODAnOiA2MDUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE4MV8xOTAnOiA2MDYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE5MV8yMDAnOiA2MDcsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczFfMTAnOiA1NjEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczIxXzMwJzogNTYzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMzMV80MCc6IDU2NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNDFfNTAnOiA1NjUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczUxXzYwJzogNTkzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM2MV83MCc6IDU5NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNzFfODAnOiA1OTUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczgxXzkwJzogNTk2LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM5MV8xMDAnOiA1OTcsXHJcbiAgJ1RoZVBlYWtzJzogNjIwLFxyXG4gICdUaGVQaGFudG9tc0ZlYXN0JzogOTk0LFxyXG4gICdUaGVQaWxsYXJzJzogNDE5LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlJzogNjc0LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlRXh0cmVtZSc6IDY3NyxcclxuICAnVGhlUHJhZXRvcml1bSc6IDIyNCxcclxuICAnVGhlUHVwcGV0c0J1bmtlcic6IDkxNyxcclxuICAnVGhlUWl0YW5hUmF2ZWwnOiA4MjMsXHJcbiAgJ1RoZVJha3Rpa2FHcmVhdHdvb2QnOiA4MTcsXHJcbiAgJ1RoZVJlc29uYW50JzogNjg0LFxyXG4gICdUaGVSaWRvcmFuYUxpZ2h0aG91c2UnOiA3NzYsXHJcbiAgJ1RoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSc6IDczNCxcclxuICAnVGhlUm95YWxNZW5hZ2VyaWUnOiA2NzksXHJcbiAgJ1RoZVJ1YnlTZWEnOiA2MTMsXHJcbiAgJ1RoZVNlYU9mQ2xvdWRzJzogNDAxLFxyXG4gICdUaGVTZWF0T2ZTYWNyaWZpY2UnOiA5MjIsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUnOiA5MjMsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSc6IDM4MCxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yJzogMzgxLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMnOiAzODIsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCc6IDM4MyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4xJzogMzU1LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjInOiAzNTYsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMyc6IDM1NyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm40JzogMzU4LFxyXG4gICdUaGVTaGlmdGluZ0FsdGFyc09mVXpuYWlyJzogNzk0LFxyXG4gICdUaGVTaGlmdGluZ091YmxpZXR0ZXNPZkx5aGVHaGlhaCc6IDkyNCxcclxuICAnVGhlU2luZ3VsYXJpdHlSZWFjdG9yJzogNDM3LFxyXG4gICdUaGVTaXJlbnNvbmdTZWEnOiA2MjYsXHJcbiAgJ1RoZVN0ZXBzT2ZGYWl0aCc6IDE0MyxcclxuICAnVGhlU3RpZ21hRHJlYW1zY2FwZSc6IDk4NixcclxuICAnVGhlU3RvbmVWaWdpbCc6IDE2OCxcclxuICAnVGhlU3RvbmVWaWdpbEhhcmQnOiAzNjUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUV4dHJlbWUnOiAzNzUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUhhcmQnOiAzNzQsXHJcbiAgJ1RoZVN1bmtlblRlbXBsZU9mUWFybic6IDE2MyxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuSGFyZCc6IDM2NyxcclxuICAnVGhlU3dhbGxvd3NDb21wYXNzJzogNzY4LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0JzogMTY0LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCc6IDM3MyxcclxuICAnVGhlVGVtcGVzdCc6IDgxOCxcclxuICAnVGhlVGVtcGxlT2ZUaGVGaXN0JzogNjYzLFxyXG4gICdUaGVUaG91c2FuZE1hd3NPZlRvdG9SYWsnOiAxNjksXHJcbiAgJ1RoZVRvd2VyQXRQYXJhZGlnbXNCcmVhY2gnOiA5NjYsXHJcbiAgJ1RoZVRvd2VyT2ZCYWJpbCc6IDk2OSxcclxuICAnVGhlVG93ZXJPZlpvdCc6IDk1MixcclxuICAnVGhlVHJpcGxlVHJpYWRCYXR0bGVoYWxsJzogNTc5LFxyXG4gICdUaGVUd2lubmluZyc6IDg0MCxcclxuICAnVGhlVW5lbmRpbmdDb2lsT2ZCYWhhbXV0VWx0aW1hdGUnOiA3MzMsXHJcbiAgJ1RoZVZhbGVudGlvbmVzQ2VyZW1vbnknOiA3NDEsXHJcbiAgJ1RoZVZhdWx0JzogNDIxLFxyXG4gICdUaGVWb2lkQXJrJzogNTA4LFxyXG4gICdUaGVXYW5kZXJlcnNQYWxhY2UnOiAxNTksXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZUhhcmQnOiAxODgsXHJcbiAgJ1RoZVdlYXBvbnNSZWZyYWluVWx0aW1hdGUnOiA3NzcsXHJcbiAgJ1RoZVdlZXBpbmdDaXR5T2ZNaGFjaCc6IDU1NixcclxuICAnVGhlV2hvcmxlYXRlckV4dHJlbWUnOiAzNTksXHJcbiAgJ1RoZVdob3JsZWF0ZXJIYXJkJzogMjgxLFxyXG4gICdUaGVXaG9ybGVhdGVyVW5yZWFsJzogOTcyLFxyXG4gICdUaGVXaWxsT2ZUaGVNb29uJzogNzk3LFxyXG4gICdUaGVXb3JsZE9mRGFya25lc3MnOiAxNTEsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzJzogODI0LFxyXG4gICdUaGVXcmVhdGhPZlNuYWtlc0V4dHJlbWUnOiA4MjUsXHJcbiAgJ1Rob2tBc3RUaG9rRXh0cmVtZSc6IDQ0NixcclxuICAnVGhva0FzdFRob2tIYXJkJzogNDMyLFxyXG4gICdUaG9ybm1hcmNoRXh0cmVtZSc6IDM2NCxcclxuICAnVGhvcm5tYXJjaEhhcmQnOiAyMDcsXHJcbiAgJ1RvQ2FsbWVyU2Vhcyc6IDEwMTYsXHJcbiAgJ1RyaXBsZVRyaWFkSW52aXRhdGlvbmFsUGFybG9yJzogOTQxLFxyXG4gICdUcmlwbGVUcmlhZE9wZW5Ub3VybmFtZW50JzogOTQwLFxyXG4gICdVbGRhaFN0ZXBzT2ZOYWxkJzogMTMwLFxyXG4gICdVbGRhaFN0ZXBzT2ZUaGFsJzogMTMxLFxyXG4gICdVbHRpbWFUaHVsZSc6IDk2MCxcclxuICAnVW5kZXJUaGVBcm1vcic6IDE5MCxcclxuICAnVXBwZXJMYU5vc2NlYSc6IDEzOSxcclxuICAnVXJ0aHNGb3VudCc6IDM5NCxcclxuICAnVmFuYXNwYXRpJzogOTcwLFxyXG4gICdWb3dzT2ZWaXJ0dWVEZWVkc09mQ3J1ZWx0eSc6IDg5MyxcclxuICAnV2FyZFVwJzogMjk5LFxyXG4gICdXZXN0ZXJuTGFOb3NjZWEnOiAxMzgsXHJcbiAgJ1dlc3Rlcm5UaGFuYWxhbic6IDE0MCxcclxuICAnV2hlbkNsYW5zQ29sbGlkZSc6IDcyMyxcclxuICAnV2l0aEhlYXJ0QW5kU3RlZWwnOiA3MDcsXHJcbiAgJ1dvbHZlc0RlblBpZXInOiAyNTAsXHJcbiAgJ1dvcnRoeU9mSGlzQmFjayc6IDEwMTQsXHJcbiAgJ1hlbHBoYXRvbCc6IDU3MixcclxuICAnWWFueGlhJzogNjE0LFxyXG4gICdaYWRub3InOiA5NzUsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuaW1wb3J0IHsgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxudHlwZSBab25lSW5mb1R5cGUgPSB7XHJcbiAgW3pvbmVJZDogbnVtYmVyXToge1xyXG4gICAgcmVhZG9ubHkgZXhWZXJzaW9uOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBjb250ZW50VHlwZT86IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgICByZWFkb25seSBvZmZzZXRYOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBvZmZzZXRZOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBzaXplRmFjdG9yOiBudW1iZXI7XHJcbiAgICByZWFkb25seSB3ZWF0aGVyUmF0ZTogbnVtYmVyO1xyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBkYXRhOiBab25lSW5mb1R5cGUgPSB7XHJcbiAgMTAwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdFdXBob3JhdHJvbicsXHJcbiAgICAgICdlbic6ICdUaGUgRXhjaXRhdHJvbiA2MDAwJyxcclxuICAgICAgJ2ZyJzogJ0xlIEx1ZG9kcm9tZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ko44Kt44K144Kk44OI44Ot44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBFcnN0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZpcnN0IENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIFBhcnZpcycsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFp3ZWl0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIFNlY29uZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBDbG9hcXVlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBWaWVydGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGb3VydGggQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQWLDrm1lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LiP56C06aOO6ZuqJyxcclxuICAgICAgJ2RlJzogJ0VpbiBmcm9zdGlnZXIgRW1wZmFuZycsXHJcbiAgICAgICdlbic6ICdBIEZyb3N0eSBSZWNlcHRpb24nLFxyXG4gICAgICAnZnInOiAnVW4gYWNjdWVpbCBnbGFjaWFsJyxcclxuICAgICAgJ2phJzogJ+mcnOmbquOCkui4j+OBv+OBl+OCgeOBpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DlsL3lr5LlpJwnLFxyXG4gICAgICAnZGUnOiAnSW4gZnJlbWRlciBIYXV0JyxcclxuICAgICAgJ2VuJzogJ0luIGZyb20gdGhlIENvbGQnLFxyXG4gICAgICAnZnInOiAnTGUgdm9sZXVyIGRlIGNvcnBzJyxcclxuICAgICAgJ2phJzogJ+WvkuWknOOBruOBk+OBqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDEwMTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omp5pWj55qE5pyr5pelJyxcclxuICAgICAgJ2RlJzogJ1JvdGUgSGltbWVsLCByb3RlciBTY2huZWUnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXZlbnMgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnYXLDqG5lIGRlcyBuZWlnZXMnLFxyXG4gICAgICAnamEnOiAn5ouh44GM44KL57WC5pyrJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDEwMTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pmT5pyI5LmL57uI6YCUJyxcclxuICAgICAgJ2RlJzogJ0VuZHNjaHJlaXRlcicsXHJcbiAgICAgICdlbic6ICdFbmR3YWxrZXInLFxyXG4gICAgICAnZnInOiAnQXJwZW50ZXVyIGRlcyBmaW5pdHVkZXMnLFxyXG4gICAgICAnamEnOiAn5pqB5pyI44Gu44OV44Kj44OK44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MyxcclxuICB9LFxyXG4gIDEwMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LiK5LiA5Lu76Zi/6LCi5aeG55qE5pWZ5a+8JyxcclxuICAgICAgJ2RlJzogJyBFcyByZWltdCBzaWNoIGF1ZiBHZWJlbGwnLFxyXG4gICAgICAnZW4nOiAnV29ydGh5IG9mIEhpcyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIGTDqWZpIGRlIGxcXCdhbmNpZW5uZSBBemVtJyxcclxuICAgICAgJ2phJzogJ+WJjeS7o+OCouOCvOODoOOBruaJi+OBu+OBqeOBjScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICAxMDE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acquadpeS5i+i3rycsXHJcbiAgICAgICdkZSc6ICdPZmZlbiBmw7xyIG5ldWUgV2VnZScsXHJcbiAgICAgICdlbic6ICdBIFBhdGggVW52ZWlsZWQnLFxyXG4gICAgICAnZnInOiAnRGVzIGVzcHJpdHMgZXQgZGVzIGhvbW1lcycsXHJcbiAgICAgICdqYSc6ICfplovjgYvjgozjgZ/pgZPjga7lhYjjgbgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDEwMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6am25ZCR6J6N5ZCI55qE5beo6L2uJyxcclxuICAgICAgJ2RlJzogJ0ltIEhhZmVuIGRlcyBGcmllZGVucycsXHJcbiAgICAgICdlbic6ICdUbyBDYWxtZXIgU2VhcycsXHJcbiAgICAgICdmcic6ICdDYXAgc3VyIGxhIHBhaXgnLFxyXG4gICAgICAnamEnOiAn6J6N5ZKM44G444Gu6Ii55Ye6JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsemtguWuieaBrycsXHJcbiAgICAgICdkZSc6ICdEb21hbmlzY2hlcyBCZWdyw6RibmlzJyxcclxuICAgICAgJ2VuJzogJ0xhaWQgdG8gUmVzdCcsXHJcbiAgICAgICdmcic6ICdEZXMgYWRpZXV4IGRvbWllbnMnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe44Gu5byU44GEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Luw5pyb6IuN56m577yM5LiN5pat6L+I6L+bJyxcclxuICAgICAgJ2RlJzogJ0RlciBXZWcgenVyIEVybmV1ZXJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRXZlciBNYXJjaCBIZWF2ZW5zd2FyZCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IHJlbm91dmVhdScsXHJcbiAgICAgICdqYSc6ICfokrzlpKnjgpLku7DjgY7jgIHmranjgb/ntprjgZHjgosnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE0LFxyXG4gIH0sXHJcbiAgMTAxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm67pgIHnlJ/ogIXliY3ooYwnLFxyXG4gICAgICAnZGUnOiAnVHJhdWVyIHVuZCBIb2ZmbnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgR2lmdCBvZiBNZXJjeScsXHJcbiAgICAgICdmcic6ICdBY2NlcHRhdGlvbicsXHJcbiAgICAgICdqYSc6ICflg5XjgZ/jgaHjga/pgoTjgorjgIHlkJvjgpLopovpgIHjgo3jgYYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn6ZWw55qE5oSP5LmJJyxcclxuICAgICAgJ2RlJzogJ0RpZSBCZWRldXR1bmcgZGVyIFNlbnNlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJ2ZXN0IEJlZ2lucycsXHJcbiAgICAgICdmcic6ICdMYSB2cmFpZSBwdWlzc2FuY2UgZGUgbGEgZmF1eCcsXHJcbiAgICAgICdqYSc6ICflpKfpjozjga7mhI/lkbMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5p2A6YGTJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLdW5zdCBkZXMgVMO2dGVucycsXHJcbiAgICAgICdlbic6ICdUaGUgS2lsbGluZyBBcnQnLFxyXG4gICAgICAnZnInOiAnTGEgdm9pZSBkdSBuw6lhbnQnLFxyXG4gICAgICAnamEnOiAn5pqX5q666YGTJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMTAyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfotKTogIXnmoTnn63mnZYnLFxyXG4gICAgICAnZGUnOiAnRGVzIFdlaXNlbiB3dW5kZXJzYW1lcyBXZXJremV1ZycsXHJcbiAgICAgICdlbic6ICdTYWdlXFwncyBGb2N1cycsXHJcbiAgICAgICdmcic6ICdMZXMgYXJtZXMgZHUgc2FnZScsXHJcbiAgICAgICdqYSc6ICfos6LogIXjga7nn63mnZYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUn+WRveeerOmAne+8jOacr+mBk+aBkuS5hScsXHJcbiAgICAgICdkZSc6ICdEYXMgTGViZW4gaXN0IGt1cnosIGRpZSBLdW5zdCBpc3QgbGFuZycsXHJcbiAgICAgICdlbic6ICdMaWZlIEVwaGVtZXJhbCwgUGF0aCBFdGVybmFsJyxcclxuICAgICAgJ2ZyJzogJ0V4aXN0ZW5jZXMgw6lwaMOpbcOocmVzIGV0IHNhdm9pciDDqXRlcm5lbCcsXHJcbiAgICAgICdqYSc6ICfkurrlkb3jga/lhJrjgY/jgIHooZPjga7jgb/jgaHjga/msLjkuYXjgasnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDEyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqeWnhuiQqMK3572X5pWP6JCo5LiK5bGC55Sy5p2/JyxcclxuICAgICAgJ2RlJzogJ09iZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgVXBwZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExlIFRpbGxhYycsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIrnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDsg4HsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTI5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIvlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgTG93ZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExcXCdFbnRyZXBvbnQnLFxyXG4gICAgICAnamEnOiAn44Oq44Og44K144O744Ot44Of44Oz44K177ya5LiL55Sy5p2/5bGkJyxcclxuICAgICAgJ2tvJzogJ+umvOyCrCDroZzrr7zsgqwg7ZWY7Li1IOqwke2MkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNSxcclxuICB9LFxyXG4gIDEzMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5jOWwlOi+vuWTiOeOsOS4luWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdOYWxkLUtyZXV6Z2FuZycsXHJcbiAgICAgICdlbic6ICdVbFxcJ2RhaCAtIFN0ZXBzIG9mIE5hbGQnLFxyXG4gICAgICAnZnInOiAnVWxcXCdkYWggLSBGYXVib3VyZyBkZSBOYWxkJyxcclxuICAgICAgJ2phJzogJ+OCpuODq+ODgOODj++8muODiuODq+WbnuW7iicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg64KgIO2ajOuekScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3LFxyXG4gIH0sXHJcbiAgMTMxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI5p2l55Sf5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ1RoYWwtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgVGhhbCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIFRoYWwnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44K244Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDri6wg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICAxMzI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprmlrDooZcnLFxyXG4gICAgICAnZGUnOiAnTmV1LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ05ldyBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdOb3V2ZWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrmlrDluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOyLoOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxLFxyXG4gIH0sXHJcbiAgMTMzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qC86YeM6L6+5bC85Lqa5pen6KGXJyxcclxuICAgICAgJ2RlJzogJ0FsdC1HcmlkYW5pYScsXHJcbiAgICAgICdlbic6ICdPbGQgR3JpZGFuaWEnLFxyXG4gICAgICAnZnInOiAnVmllaWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrml6fluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOq1rOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyLFxyXG4gIH0sXHJcbiAgMTM0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTWlkZGxlIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTYsXHJcbiAgfSxcclxuICAxMzU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprkvY7lnLAnLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTG93ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0Jhc3NlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfkvY7lnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KCA7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDEzNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mbvuadkScsXHJcbiAgICAgICdkZSc6ICdEb3JmIGRlcyBOZWJlbHMnLFxyXG4gICAgICAnZW4nOiAnTWlzdCcsXHJcbiAgICAgICdmcic6ICdCcnVtw6llJyxcclxuICAgICAgJ2phJzogJ+ODn+OCueODiOODu+ODtOOCo+ODrOODg+OCuCcsXHJcbiAgICAgICdrbyc6ICfslYjqsK/ruZsg66eI7J2EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTM3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lic5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ8OWc3RsaWNoZXMgTGEgTm9zY2VhJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBvcmllbnRhbGUnLFxyXG4gICAgICAnamEnOiAn5p2x44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTgsXHJcbiAgfSxcclxuICAxMzg6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfopb/mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9jY2lkZW50YWxlJyxcclxuICAgICAgJ2phJzogJ+ilv+ODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE5LFxyXG4gIH0sXHJcbiAgMTM5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ09iZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnVXBwZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDE0MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ1dlc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb2NjaWRlbnRhbCcsXHJcbiAgICAgICdqYSc6ICfopb/jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7ISc67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMTQxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAxNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Im+546b5ZCJ5aic5p2v5paX5oqA5aSn5Lya5Yaz6LWbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEcmFjaGVuaGFscy1Lb2xvc3NldW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYWdvblxcJ3MgTmVjaycsXHJcbiAgICAgICdmcic6ICdMZSBDb2wgZHUgZHJhZ29uJyxcclxuICAgICAgJ2phJzogJ+OCouODnuOCuOODiuadr+mXmOaKgOS8muaxuuWLneaIpicsXHJcbiAgICAgICdrbyc6ICfslYTrp4jsp4DrgpjrsLAg7Yis6riw64yA7ZqMIOqysOyKueyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eah+mDveS8iuS/ruWKoOW+t+S/neWNq+aImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGUgU2nDqGdlIGRlIGxhIHNhaW50ZSBDaXTDqSBkXFwnSXNoZ2FyZCcsXHJcbiAgICAgICdqYSc6ICfnmofpg73jgqTjgrfjg6Xjgqzjg6vjg4npmLLooZvmiKYnLFxyXG4gICAgICAna28nOiAn7ISx64+EIOydtOyKiOqwgOultOuTnCDrsKnslrTsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAxNDU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdFYXN0ZXJuIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIG9yaWVudGFsJyxcclxuICAgICAgJ2phJzogJ+adseOCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrj5nrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExLFxyXG4gIH0sXHJcbiAgMTQ2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1PDvGRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnU291dGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gbcOpcmlkaW9uYWwnLFxyXG4gICAgICAnamEnOiAn5Y2X44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uCqOu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTIsXHJcbiAgfSxcclxuICAxNDc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljJfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnTsO2cmRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnTm9ydGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gc2VwdGVudHJpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljJfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn67aB67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMyxcclxuICB9LFxyXG4gIDE0ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+S4reWkruael+WMuicsXHJcbiAgICAgICdkZSc6ICdUaWVmZXIgV2FsZCcsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Lit5aSu5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg7KSR67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAxNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bm76b6Z5q6L6aq45a+G57qm5LmL5aGUJyxcclxuICAgICAgJ2RlJzogJ0jDvHRlciBkZXMgU2VlcycsXHJcbiAgICAgICdlbic6ICdUaGUgS2VlcGVyIG9mIHRoZSBMYWtlJyxcclxuICAgICAgJ2ZyJzogJ0xlIEdhcmRpZW4gZHUgbGFjJyxcclxuICAgICAgJ2phJzogJ+W5u+m+jeaui+mquCDpu5nntITjga7loZQnLFxyXG4gICAgICAna28nOiAn66y17JW97J2YIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NCxcclxuICB9LFxyXG4gIDE1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5pqX5LmL5LiW55WMJyxcclxuICAgICAgJ2RlJzogJ0RpZSBXZWx0IGRlciBEdW5rZWxoZWl0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXb3JsZCBvZiBEYXJrbmVzcycsXHJcbiAgICAgICdmcic6ICdMYSBUb3VyIGRlIENyaXN0YWwgLSBNb25kZSBkZXMgVMOpbsOoYnJlcycsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrpl4fjga7kuJbnlYwnLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog7Ja065Gg7J2YIOyEuOqzhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTUyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lic6YOo5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ09zdHdhbGQnLFxyXG4gICAgICAnZW4nOiAnRWFzdCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGRlIGxcXCdlc3QnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5p2x6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64+Z67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxNTM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljZfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnU8O8ZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnU291dGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBzdWQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Y2X6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64Ko67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxNTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljJfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnTm9yZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnTm9ydGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBub3JkJyxcclxuICAgICAgJ2phJzogJ+m7kuiho+ajru+8muWMl+mDqOajruaelycsXHJcbiAgICAgICdrbyc6ICfqsoDsnYDsnqXrp4kg7IiyIOu2geu2gOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2LFxyXG4gIH0sXHJcbiAgMTU1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqT5bCU5pyt5pav5Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgQ2VudHJhbCBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBjZW50cmFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueS4reWkrumrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7KSR7JWZ6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMTU2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGp5p2c57qzJyxcclxuICAgICAgJ2RlJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdlbic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnZnInOiAnTW9yIERob25hJyxcclxuICAgICAgJ2phJzogJ+ODouODvOODieOCpeODiicsXHJcbiAgICAgICdrbyc6ICfrqqjrpbTrj4TrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAxNTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp54S26KaB5a6z5rKZ5pav5aGU5aSP5rq25rSeJyxcclxuICAgICAgJ2RlJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2VuJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2phJzogJ+WkqeeEtuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4nLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvJHlhbvog5zlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCcsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AnLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCcsXHJcbiAgICAgICdqYSc6ICflparpgoTmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywJyxcclxuICAgICAgJ2tvJzogJ+u4jOugiOydtO2UjOuhneyKpOydmCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7ngbXlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kJyxcclxuICAgICAgJ2phJzogJ+aXheelnuiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrknLFxyXG4gICAgICAna28nOiAn67Cp656R7J6Q7J2YIOq2geyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mihuiIquaYjueBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgU2lyaXVzJyxcclxuICAgICAgJ2phJzogJ+aAqumzpeW3qOWhlCDjgrfjg6rjgqbjgrnlpKfnga/lj7AnLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHplIHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbmVzIGRlIENsb2NoZWN1aXZyZScsXHJcbiAgICAgICdqYSc6ICflsIHpjpblnZHpgZMg44Kr44OD44OR44O844OZ44Or6YqF5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlhb3poobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn6a2U542j6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCcsXHJcbiAgICAgICdrbyc6ICftlaDrnbztg4jrpqwg7IiY66Co7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybicsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaOoue0oiDjgqvjg6vjg7Pln4vmsqHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7Lm066W47J2YIOustOuEiOynhCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDkuIvngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCcsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwb2fDqWUgZGUgVGFtLVRhcmEnLFxyXG4gICAgICAnamEnOiAn5Zyw5LiL6ZyK5q6/IOOCv+ODoOOCv+ODqeOBruWik+aJgCcsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDMwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCN6Zeo5bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgZGVzIEhhdWtrZScsXHJcbiAgICAgICdqYSc6ICflkI3ploDlsYvmlbcg44OP44Km44Kx44K/5b6h55So6YK4JyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrmlZnpqbvlnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6YKq5pWZ5o6S5pKDIOWPpOWfjuOCouODoOODgOODl+ODvOODqycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflr7npvpnln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZGUgUGllcnJlJyxcclxuICAgICAgJ2phJzogJ+WfjuWhnuaUu+eVpSDjgrnjg4jjg7zjg7Pjg7TjgqPjgrjjg6snLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDE2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm5Hni7Hlup/lop/miZjmiZjCt+aLieWFi+WNg+eLsScsXHJcbiAgICAgICdkZSc6ICdUYXVzZW5kIEzDtmNoZXIgdm9uIFRvdG8tUmFrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUaG91c2FuZCBNYXdzIG9mIFRvdG/igJNSYWsnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbGxlIEd1ZXVsZXMgZGUgVG90by1SYWsnLFxyXG4gICAgICAnamEnOiAn55uj542E5buD5aKfIOODiOODiOODqeOCr+OBruWNg+eNhCcsXHJcbiAgICAgICdrbyc6ICfthqDthqDrnbztgawg6rCQ7JilJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rWB5rKZ6L+35a6r5qi16bij5rSeJyxcclxuICAgICAgJ2RlJzogJ1PDpGdlcnNjaHJlaScsXHJcbiAgICAgICdlbic6ICdDdXR0ZXJcXCdzIENyeScsXHJcbiAgICAgICdmcic6ICdMZSBHb3VmZnJlIGh1cmxhbnQnLFxyXG4gICAgICAnamEnOiAn5rWB56CC6L+35a6uIOOCq+ODg+OCv+ODvOOCuuOCr+ODqeOCpCcsXHJcbiAgICAgICdrbyc6ICfrgpjrrLTqvrzsnZgg67mE66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bGx5Lit5oiY57q/5rO95qKF5bCU6KaB5aGeJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGZXN0ZSBEemVtYWVsJyxcclxuICAgICAgJ2VuJzogJ0R6ZW1hZWwgRGFya2hvbGQnLFxyXG4gICAgICAnZnInOiAnTGEgRm9ydGVyZXNzZSBkZSBEemVtYWVsJyxcclxuICAgICAgJ2phJzogJ+aOg+iojuS9nOaIpiDjgrzjg7zjg6Hjg6vopoHloZ4nLFxyXG4gICAgICAna28nOiAn7KCc66mcIOyalOyDiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+avkumbvua0nueqn+m7hOmHkeiwtycsXHJcbiAgICAgICdkZSc6ICdHb2xka2xhbW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEF1cnVtIFZhbGUnLFxyXG4gICAgICAnZnInOiAnTGUgVmFsIGRcXCdBdXJ1bScsXHJcbiAgICAgICdqYSc6ICfpnKfkuK3ooYzou40g44Kq44O844Op44Og44O044Kn44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+q4iOu5myDqs6jsp5zquLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5Y+k5Luj5Lq66L+35a6rJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERhcyBMYWJ5cmludGggZGVyIEFsdGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMYWJ5cmludGggb2YgdGhlIEFuY2llbnRzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIETDqWRhbGUgYW50aXF1ZScsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrlj6Tku6Pjga7msJHjga7ov7flrq4nLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog6rOg64yA7J247J2YIOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTgwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa5aSW5ZywJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnT3V0ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBleHTDqXJpZXVyZScsXHJcbiAgICAgICdqYSc6ICflpJblnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7Jm47KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNCxcclxuICB9LFxyXG4gIDE4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmraboo4XlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkdSBWYWdhYm9uZCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmraboo4XogZbln58g44Ov44Oz44OA44Op44O844OR44Os44K5IChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq5b+15aaW5Zyw5peg6ZmQ5Z+O5Y+k5aChJyxcclxuICAgICAgJ2RlJzogJ0RpZSBSdWluZW4gdm9uIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnQW1kYXBvciBLZWVwIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgqrlv7XmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgMTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOW9t+W+qOatu+eBte+8gScsXHJcbiAgICAgICdkZSc6ICdCb2NrbWFubnMgR2Vmb2xnZScsXHJcbiAgICAgICdlbic6ICdVbmRlciB0aGUgQXJtb3InLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IGZhbnTDtG1lIGZhbnRvY2hlJyxcclxuICAgICAgJ2phJzogJ+W9t+W+qOOBhuatu+mciuOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrsKntmantlZjripQg7IKs66C57J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbHpmaTliafmr5LlppboirHvvIEnLFxyXG4gICAgICAnZGUnOiAnVW5rcmF1dCBqw6R0ZW4nLFxyXG4gICAgICAnZW4nOiAnUHVsbGluZyBQb2lzb24gUG9zaWVzJyxcclxuICAgICAgJ2ZyJzogJ09ww6lyYXRpb24gZmxldXJzIGR1IG1hbCcsXHJcbiAgICAgICdqYSc6ICfmnInmr5LlppboirHjgpLpp4bpmaTjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn64+F7ISxIOyalOq0tOq9g+ydhCDsoJzqsbDtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5raI54Gt5oG25b6S5Zui5LyZ5a+E55Sf6JyC5Zui77yBJyxcclxuICAgICAgJ2RlJzogJ0lucyBXZXNwZW5uZXN0IHN0ZWNoZW4nLFxyXG4gICAgICAnZW4nOiAnU3RpbmdpbmcgQmFjaycsXHJcbiAgICAgICdmcic6ICdFeHDDqWRpdGlvbiBwdW5pdGl2ZSBjb250cmUgbGVzIFZlbnRyZXJvdWdlJyxcclxuICAgICAgJ2phJzogJ+eEoeazleiAheOAjOS8vOaIkeicguWbo+OAjeOCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTrspXsnpAg7KeR64uoIFxcJ+uCmOuCmOuLiOuLqFxcJ+ydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxOTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJVicsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00NDgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ0LFxyXG4gIH0sXHJcbiAgMjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgR3JhYiBkZXIgTG9oZScsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucycsXHJcbiAgICAgICdqYSc6ICfjgqTjg5Xjg6rjg7zjg4joqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDIwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnaborqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIE5hYmVsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCcsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsJyxcclxuICAgICAgJ2phJzogJ+OCv+OCpOOCv+ODs+iojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iOq+WPpOWKm+i0pOeOi+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLw7ZuaWdsaWNoZSBLb25mcm9udGF0aW9uIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1Rob3JubWFyY2ggKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIExpc2nDqHJlIGRlIHJvbmNlcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICflloTnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ISg7JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDIwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov6bmpbznvZforqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGFzIFRvc2VuZGUgQXVnZScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUnLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwnLFxyXG4gICAgICAnamEnOiAn44Ks44Or44O844OA6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+qwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6M5oiQ6ZuG5Zui5oiY6K6t57uD77yBJyxcclxuICAgICAgJ2RlJzogJ0VpbmVyIGbDvHIgYWxsZSwgYWxsZSBmw7xyIGVpbmVuJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBQYXJ0aWVzJyxcclxuICAgICAgJ2ZyJzogJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGdyb3VwZXMgZFxcJ2VubmVtaXMnLFxyXG4gICAgICAnamEnOiAn6ZuG5Zuj5oim6KiT57e044KS44GP44GQ44KK5oqc44GR44KN77yBJyxcclxuICAgICAgJ2tvJzogJ+ynkeuLqOyghCDtm4jroKjsnYQg7JmE7IiY7ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDIxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqoHnoLTmiYDmnInlhbPpl6jvvIzorqjkvJDmnIDmt7HlpITnmoTmlYzkurrvvIEnLFxyXG4gICAgICAnZGUnOiAnU3R1cm1rb21tYW5kbycsXHJcbiAgICAgICdlbic6ICdCYXNpYyBUcmFpbmluZzogRW5lbXkgU3Ryb25naG9sZHMnLFxyXG4gICAgICAnZnInOlxyXG4gICAgICAgICdFbnRyYcOubmVtZW50PEluZGVudC8+OiBpbjxTb2Z0SHlwaGVuLz5maWw8U29mdEh5cGhlbi8+dHJhPFNvZnRIeXBoZW4vPnRpb24gZW4gYmFzZSBlbm5lbWllJyxcclxuICAgICAgJ2phJzogJ+WFqOmWoumWgOOCkueqgeegtOOBl+OAgeacgOa3semDqOOBruaVteOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqtIDrrLjsnYQg64+M7YyM7ZWY6rOgIOy1nOyLrOu2gOydmCDsoIHsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aNleiOt+mHkeW4gem+n++8gScsXHJcbiAgICAgICdkZSc6ICdHaWwgb2RlciBMZWJlbicsXHJcbiAgICAgICdlbic6ICdIZXJvIG9uIHRoZSBIYWxmIFNoZWxsJyxcclxuICAgICAgJ2ZyJzogJ1JlY29ucXXDqnRlIGRcXCd1bmUgY2FyYXBhY2UgZXNjYW1vdMOpZScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6vjgqzjg6HjgpLmjZXnjbLjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn6ri46rGw67aB7J2EIOyCrOuhnOyeoeyVhOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAyMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95Y2X5pa55aCh5aSW5Zu05r+A5oiYJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gTWVyaWRpYW51bSAtIEF1w59lbmJlcmVpY2gnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWVyaWRpYW51bScsXHJcbiAgICAgICdqYSc6ICflpJbpg63mlLvnlaUg44Kr44K544OI44Or44Og44O744Oh44Oq44OH44Kj44Ki44OM44OgJyxcclxuICAgICAgJ2tvJzogJ+y5tOyKpO2KuOujuCDrqZTrpqzrlJTslYTriJQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDIxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7vmuoPlk6XluIPmnpfngrjlvLnlhpvlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnQm9tYmlnZSBHb2JsaW5zJyxcclxuICAgICAgJ2VuJzogJ0ZsaWNraW5nIFN0aWNrcyBhbmQgVGFraW5nIE5hbWVzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBHb2JlbGlucyBib21iYXJkaWVycycsXHJcbiAgICAgICdqYSc6ICfniIblvL7prZTjgrTjg5bjg6rjg7Pou43lm6PjgpLmkoPmu4XjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn7Y+t7YOE6rSRIOqzoOu4lOumsCDqtbDri6jsnYQg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMjIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaipuW5u+S5i+W4g+aLieWlh+W4jOWlpe+8gScsXHJcbiAgICAgICdkZSc6ICdCcmlheGlvIGF1c3NjaGFsdGVuJyxcclxuICAgICAgJ2VuJzogJ0FsbFxcJ3MgV2VsbCB0aGF0IEVuZHMgaW4gdGhlIFdlbGwnLFxyXG4gICAgICAnZnInOiAnQnJpYXhpbyDDoCBicmFzIHJhY2NvdXJjaXMnLFxyXG4gICAgICAnamEnOiAn5aSi5bm744Gu44OW44Op44Kt44K344Kq44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uqve2ZmOydmCDruIzrnbztgazsi5zsmKTrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1LFxyXG4gIH0sXHJcbiAgMjIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaxoeafk+a6kOWktOmtlOeVjOiKse+8gScsXHJcbiAgICAgICdkZSc6ICdUw7ZkbGljaGVzIFJhbmtlbnNwaWVsJyxcclxuICAgICAgJ2VuJzogJ01vcmUgdGhhbiBhIEZlZWxlcicsXHJcbiAgICAgICdmcic6ICdTdXMgYXUgbW9yYm9sIHBvbGx1ZXVyJyxcclxuICAgICAgJ2phJzogJ+axmuafk+a6kOODouODq+ODnOODq+OCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfsmKTsl7zsm5Ag66qw67O87J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjAsXHJcbiAgfSxcclxuICAyMjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5Z2R6YGT5Lit5Ye6546w55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ0dlZmFociBhdXMgZGVtIE5pY2h0cycsXHJcbiAgICAgICdlbic6ICdBbm5veSB0aGUgVm9pZCcsXHJcbiAgICAgICdmcic6ICdCdXNvIGxcXCdpbW1vbGF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+WdkemBk+OBq+ePvuOCjOOBn+WmlueVsOODluOCveOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqsLHrj4Tsl5Ag64KY7YOA64KcIOyalOuniCDrtoDshozrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDIyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms6jmhI/ml6DmlYznmoTnnLflsZ7vvIzorqjkvJDlpKflnovlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZ2VnZW4gU2NoYXR0ZW4nLFxyXG4gICAgICAnZW4nOiAnU2hhZG93IGFuZCBDbGF3JyxcclxuICAgICAgJ2ZyJzogJ09tYnJlcyBldCBncmlmZmVzJyxcclxuICAgICAgJ2phJzogJ+eEoeaVteOBruect+WxnuOCkuW+k+OBiOOBl+OAgeWkp+Wei+WmlueVsOOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTsoIHsnZgg67aA7ZWY66W8IOyhsOyihe2VmOuKlCDsmpTrp4jrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMSxcclxuICB9LFxyXG4gIDIyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnluZXprZTlr7zln47mnIDnu4jlhrPmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gUHJhZXRvcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgUHJhZXRvcml1bScsXHJcbiAgICAgICdmcic6ICdMZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2phJzogJ+acgOe1guaxuuaIpiDprZTlsI7ln47jg5fjg6njgqjjg4jjg6rjgqbjg6AnLFxyXG4gICAgICAna28nOiAn66eI64+E7ISxIO2UhOudvOydtO2GoOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMicsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugNScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA1JyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDUnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI1MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eLvOeLseWBnOiIueWcuicsXHJcbiAgICAgICdkZSc6ICdXb2xmc2jDtmhsZW4tUGllcicsXHJcbiAgICAgICdlbic6ICdXb2x2ZXNcXCcgRGVuIFBpZXInLFxyXG4gICAgICAnZnInOiAnSmV0w6llIGRlIGxcXCdBbnRyZSBkZXMgbG91cHMnLFxyXG4gICAgICAnamEnOiAn44Km44Or44O044K644K444Kn44Kk44Or5L+C6Ii55aC0JyxcclxuICAgICAgJ2tvJzogJ+uKkeuMgOyasOumrCDrtoDrkZAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOSxcclxuICB9LFxyXG4gIDI4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6rjg7TjgqHjgqTjgqLjgrXjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOumrOuwlOydtOyWtOyEoCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICAyOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m55q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gSWZyaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvd2wgb2YgRW1iZXJzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7Dlnabmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCrOODq+ODvOODgOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDI5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqTjg5Xjg6rjg7zjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOydtO2UhOumrO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjUsXHJcbiAgfSxcclxuICAyOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOeIhuW8ueaAqueahOWls+eOi++8gScsXHJcbiAgICAgICdkZSc6ICdNaXNzIEJvbWJhc3RpYycsXHJcbiAgICAgICdlbic6ICdMb25nIExpdmUgdGhlIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ0xvbmd1ZSB2aWUgw6AgbGEgUmVpbmUnLFxyXG4gICAgICAnamEnOiAn44Oc44Og44KS546H44GE44KL44CM44Oc44Og44Kv44Kk44O844Oz44CN44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+u0hOydhCDqsbDripDrprAgXFwn67SEIOyXrOyZlVxcJ+ydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atvOeBreeJueauiumYteWei+eahOWmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdVbnplcnRyZW5ubGljaCcsXHJcbiAgICAgICdlbic6ICdXYXJkIFVwJyxcclxuICAgICAgJ2ZyJzogJ1F1aW50ZXR0ZXMgaW5mZXJuYXV4JyxcclxuICAgICAgJ2phJzogJ+S4jeawl+WRs+OBqumZo+W9ouOCkue1hOOCgOWmlueVsOOCkuOBm+OCk+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrtojquLjtlZwg7KeE7ZiV7J2EIOynnOuKlCDsmpTrp4jrpbwg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDMwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliLbmraLkuInmlrnmt7fmiJjnmoTlt6jkurrml4/vvIzlrojkvY/pgZfnianvvIEnLFxyXG4gICAgICAnZGUnOiAnV3VjaHRpZ2UgRHJlaWZhbHRpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnU29sZW1uIFRyaW5pdHknLFxyXG4gICAgICAnZnInOiAnVHJpbml0w6kgc2luaXN0cmUnLFxyXG4gICAgICAnamEnOiAn5LiJ44Gk5be044Gu5beo5Lq65peP44KS5Yi244GX44CB6YG654mp44KS5a6I44KM77yBJyxcclxuICAgICAgJ2tvJzogJ+yEuCDqsbDsnbjsobHsnYQg7KCc7JWV7ZWY7JesIOycoOusvOydhCDsp4DsvJzrgrTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mHjOWhlOaPkOaBqeW8uuaUu+aImCcsXHJcbiAgICAgICdkZSc6ICdLYXAgV2VzdHdpbmQnLFxyXG4gICAgICAnZW4nOiAnQ2FwZSBXZXN0d2luZCcsXHJcbiAgICAgICdmcic6ICdMZSBDYXAgVmVuZG91ZXN0JyxcclxuICAgICAgJ2phJzogJ+ODquODg+ODiOOCouODhuOCo+ODs+W8t+ilsuaIpicsXHJcbiAgICAgICdrbyc6ICfrpqztirjslYTti7Qg6rCV7Iq17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAzNDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m25p6B56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFVsdGltYScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVWx0aW1hXFwncyBCYW5lJyxcclxuICAgICAgJ2ZyJzogJ0xlIGZsw6lhdSBkXFwnVWx0aW1hJyxcclxuICAgICAgJ2phJzogJ+eptualteW5u+aDsyDjgqLjg6vjg4bjg57jgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzEsXHJcbiAgfSxcclxuICAzNDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aqa5Lmx5Z2R6YGT6ZOc6ZOD6ZOc5bGxJyxcclxuICAgICAgJ2RlJzogJ0t1cGZlcmdsb2NrZW4tTWluZSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdDb3BwZXJiZWxsIE1pbmVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mokuS5seWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtueBteW6nOmCuOmdmeivreW6hOWbrScsXHJcbiAgICAgICdkZSc6ICdIYXVra2UtSGVycmVuaGF1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYXVra2UgTWFub3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WmlueVsOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDInLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDEnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIEknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMScsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMycsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMicsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIElJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjInLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICAzNTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMicsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDM2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliZHmlpfpoobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGkgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0hhbGF0YWxpIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WJo+mXmOmgmOWfnyDjg4/jg6njgr/jg6rkv67nt7TmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0ouWuneS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZScsXHJcbiAgICAgICdqYSc6ICfosqHlrp3kvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+uCnO2MjOyEoOydmCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnurfkuonopoHlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJpdm91YWMgZGUgQnJheWZsb3ggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55uf5Y+L5pSv5o+0IOODluODrOOCpOODleODreOCr+OCueOBrumHjuWWtuWcsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgMzYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iFkOWdj+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3InLFxyXG4gICAgICAnZnInOiAnTGVzIFZlc3RpZ2VzIGRlIGxhIGNpdMOpIGRcXCdBbWRhcG9yJyxcclxuICAgICAgJ2phJzogJ+iFkOaVl+mBuui3oSDlj6TjgqLjg6Djg4Djg5fjg7zjg6vluILooZcnLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAzNjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW1546L44Oi44Kw44Or44O744Oi44KwWElJ5LiW6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3ueyZlSDrqqjqt7jro6gg66qo6re4IFhJSeyEuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzAsXHJcbiAgfSxcclxuICAzNjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5r+A5oiY5Z+O5aGe55+z5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ1N0ZWluZXJuZSBXYWNodCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3RvbmUgVmlnaWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5aWq5ZueIOOCueODiOODvOODs+ODtOOCo+OCuOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+ahpeS4iueahOWGs+aWlycsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIGdyb8OfZW4gQnLDvGNrZScsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgb24gdGhlIEJpZyBCcmlkZ2UnLFxyXG4gICAgICAnZnInOiAnQWZmcm9udGVtZW50IHN1ciBsZSBncmFuZCBwb250JyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeODg+OCt+ODpeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfquLjqsIDrqZTsi5wg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IuP6YaS6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybiAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBUZW1wbGUgZW5zZXZlbGkgZGUgUWFybiAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgbrot6HmlZHmj7Qg44Kr44Or44Oz5Z+L5rKh5a+66ZmiIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQxLFxyXG4gIH0sXHJcbiAgMzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+WMluWlh+e+juaLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgRGhvcm1lLUNoaW3DpHJhJyxcclxuICAgICAgJ2VuJzogJ0EgUmVsaWMgUmVib3JuOiB0aGUgQ2hpbWVyYScsXHJcbiAgICAgICdmcic6ICdMYSBjaGltw6hyZSBkaG9ybWUgZHUgQ29lcnRoYXMnLFxyXG4gICAgICAnamEnOiAn44OJ44Or44Og44Kt44Oe44Kk44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+uPhOumhCDtgqTrp4jsnbTrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMzY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+aLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgSHlkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBIeWRyYScsXHJcbiAgICAgICdmcic6ICdMXFwnaHlkcmUgZFxcJ0hhbGF0YWxpJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODieODqeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftlZjsnbTrk5zrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yeb5Ya95rSe5aSp5oqr6Zuq5aSn5Yaw5aOBJyxcclxuICAgICAgJ2RlJzogJ0RhcyBTY2huZWVrbGVpZCcsXHJcbiAgICAgICdlbic6ICdTbm93Y2xvYWsnLFxyXG4gICAgICAnZnInOiAnTWFudGVuZWlnZScsXHJcbiAgICAgICdqYSc6ICfmsLfntZDmvZznqp8g44K544OO44O844Kv44Ot44O844Kv5aSn5rC35aOBJyxcclxuICAgICAgJ2tvJzogJ+yWvOydjOyZuO2IrCDrjIDruZnrsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05pm25aGUIOW4jOWwlOenkeaWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdLcmlzdGFsbHR1cm0gLSBEZXIgU3lyY3VzLVR1cm0nLFxyXG4gICAgICAnZW4nOiAnU3lyY3VzIFRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIFRvdXIgZGUgU3lyY3VzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muOCt+ODq+OCr+OCueOBruWhlCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDsi5zrpbTsv6DsiqQg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oOo5Ymn54G15q6/5aGU5aeGwrfloZTmi4nlopPlm60nLFxyXG4gICAgICAnZGUnOiAnVG90ZW5hY2tlciBUYW0tVGFyYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgVGFt4oCTVGFyYSBEZWVwY3JvZnQgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmg6jliofpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODqeODoOOCpuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg652866y0IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MyxcclxuICB9LFxyXG4gIDM3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WRqOi+uemBl+i/uee+pCAo6Zi15Zyw5oiYKScsXHJcbiAgICAgICdkZSc6ICfDhHXDn2VyZSBSdWluZW4gKFNpY2hlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvcmRlcmxhbmQgUnVpbnMgKFNlY3VyZSknLFxyXG4gICAgICAnZnInOiAnTGVzIFJ1aW5lcyBmcm9udGFsacOocmVzIChhbm5leGlvbiknLFxyXG4gICAgICAnamEnOiAn5aSW57iB6YG66Leh576kICjliLblnKfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yZuOqzvSDsnKDsoIHsp4DrjIAo7KCc7JWV7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgMzc4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzODA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMiAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzgzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgIbovazopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mAhuilsuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4gKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yCrOyKpO2DgOyDpCDsuajsi50g64+Z6rW0KOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5aSq6Ziz5rW35bK4JyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTb25uZW5rw7xzdGUnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogQ29zdGEgZGVsIFNvbCcsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjgrPjgrnjgr/jg7vjg4fjg6vjg7vjgr3jg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7L2U7Iqk7YOAIOuNuCDshpQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ3MixcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya6I2S6YeO5aSn6YGTJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTYWdvbGlpLVN0cmHDn2UnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBTYWdvbGlpIFJvYWQnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBSb3V0ZSBkZSBTYWdvbGlpJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCteOCtOODquODvOODreODvOODiScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsgqzqs6jrpqwg7IKs66eJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muaBrOmdmeWwj+i3rycsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogUGZhZCBkZXIgU2VlbGVucnVoZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFRyYW5xdWlsIFBhdGhzJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogU2VudGVzIHRyYW5xdWlsbGVzJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODiOODqeODs+OCreODq+ODkeOCuScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDqs6DsmpTtlZwg7JW87JiB7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWl5LiB5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0plbnNlaXRzIFVydGhzIFF1ZWxsZScsXHJcbiAgICAgICdlbic6ICdVcnRoXFwncyBGb3VudCcsXHJcbiAgICAgICdmcic6ICdMYSBGb250YWluZSBkXFwnVXJ0aCcsXHJcbiAgICAgICdqYSc6ICfpl5jnpZ7jgqrjg7zjg4fjgqPjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yis7IugIOyYpOuUmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDUsXHJcbiAgfSxcclxuICAzOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg6ZmQ5Z+O55qE5q275paXJyxcclxuICAgICAgJ2RlJzogJ1JldmFuY2hlIGluIGRlbiBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmF0dGxlIGluIHRoZSBCaWcgS2VlcCcsXHJcbiAgICAgICdmcic6ICdSZXZhbmNoZSBhdSB2aWV1eCBjaMOidGVhdScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgq7jg6vjgqzjg6Hjg4Pjgrfjg6XoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOq4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAzOTc6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/opb/pg6jpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgV2VzdGVybiBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7ISc67aA6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICAzOTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpvpnloKHlj4LlpKnpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnRHJhdmFuaXNjaGVzIFZvcmxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYXZhbmlhbiBGb3JlbGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXZhbnQtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn6auY5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+qzoOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDM5OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWGhemZhuS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgSGludGVybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEhpbnRlcmxhbmRzJyxcclxuICAgICAgJ2ZyJzogJ0FycmnDqHJlLXBheXMgZHJhdmFuaWVuJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODieODqeODtOOCoeODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag65Oc652867CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTEsXHJcbiAgfSxcclxuICA0MDA6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnv7vkupHpm77mtbcnLFxyXG4gICAgICAnZGUnOiAnV2FsbGVuZGUgTmViZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIENodXJuaW5nIE1pc3RzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRlIERyYXZhbmlhJyxcclxuICAgICAgJ2phJzogJ+ODieODqeODtOOCoeODi+OCoumbsua1tycsXHJcbiAgICAgICdrbyc6ICfrk5zrnbzrsJTri4jslYQg6rWs66aE67CU64ukJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTIsXHJcbiAgfSxcclxuICA0MDE6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmL/lt7Tmi4nmj5DkuprkupHmtbcnLFxyXG4gICAgICAnZGUnOiAnQWJhbGF0aGlzY2hlcyBXb2xrZW5tZWVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWEgb2YgQ2xvdWRzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRcXCdBYmFsYXRoaWEnLFxyXG4gICAgICAnamEnOiAn44Ki44OQ44Op44K344Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+yVhOuwnOudvOyLnOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MyxcclxuICB9LFxyXG4gIDQwMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWkp+mZhumYv+a1juWFueaLiScsXHJcbiAgICAgICdkZSc6ICdBenlzIExsYScsXHJcbiAgICAgICdlbic6ICdBenlzIExsYScsXHJcbiAgICAgICdmcic6ICdBenlzIExsYScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjgrnjg7vjg6njg7wnLFxyXG4gICAgICAna28nOiAn7JWE7KeA7IqkIOudvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU0LFxyXG4gIH0sXHJcbiAgNDAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOW9kuadpScsXHJcbiAgICAgICdkZSc6ICdWZXJyYXQgZGVyIFFhbHlhbmEnLFxyXG4gICAgICAnZW4nOiAnUmV0dXJuIG9mIHRoZSBCdWxsJyxcclxuICAgICAgJ2ZyJzogJ1JldG91ciBhdSBiZXJjYWlsJyxcclxuICAgICAgJ2phJzogJ+iLsembhOOBruW4sOmChCcsXHJcbiAgICAgICdrbyc6ICfsmIHsm4XsnZgg6reA7ZmYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0yNTAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrabor4blrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnknLFxyXG4gICAgICAnZnInOiAnTGEgR3JhbmRlIGJpYmxpb3Row6hxdWUgZGUgR3ViYWwnLFxyXG4gICAgICAnamEnOiAn56aB5pu45Zue5Y+OIOOCsOODluODqeW5u+aDs+Wbs+abuOmkqCcsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muernui1m+aVmeWtpicsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogw5xidW5nc2JhaG4nLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBUdXRvcmlhbCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZFxcJ2FwcGVudGlzc2FnZScsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjg4Hjg6Xjg7zjg4jjg6rjgqLjg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7Yqc7Yag66as7Ja8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC02OTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfln7rnoYDlsYInLFxyXG4gICAgICAnZGUnOiAnRnVuZGFtZW50ZScsXHJcbiAgICAgICdlbic6ICdGb3VuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0lzaGdhcmQgLSBMXFwnQXNzaXNlJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4i+WxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7ZWY7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ3LFxyXG4gIH0sXHJcbiAgNDE5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5L+u5Yqg5b6356Cl5p+x5bGCJyxcclxuICAgICAgJ2RlJzogJ1N0cmViZXdlcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBpbGxhcnMnLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExlcyBDb250cmVmb3J0cycsXHJcbiAgICAgICdqYSc6ICfjgqTjgrfjg6Xjgqzjg6vjg4nvvJrkuIrlsaQnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOyDgey4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OCxcclxuICB9LFxyXG4gIDQyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrkuK3npZ7ln5/kuI3ojrflspsnLFxyXG4gICAgICAnZGUnOiAnTmltbWVycmVpY2gnLFxyXG4gICAgICAnZW4nOiAnTmV2ZXJyZWFwJyxcclxuICAgICAgJ2ZyJzogJ05hbGxvbmNxdWVzJyxcclxuICAgICAgJ2phJzogJ+elnuWfn+a1ruWztiDjg43jg5Djg7zjg6rjg7zjg5cnLFxyXG4gICAgICAna28nOiAn6rGw65GQ7KeAIOyViuuKlCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnKPmlZnkuK3mnqLkvIrkv67liqDlvrfmlZnnmofljoUnLFxyXG4gICAgICAnZGUnOiAnRXJ6YmFzaWxpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFZhdWx0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFZvw7t0ZScsXHJcbiAgICAgICdqYSc6ICflvLfnoaznqoHlhaUg44Kk44K344Ol44Ks44Or44OJ5pWZ55qH5bqBJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDqtZDtmanssq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPluIPph4zkuprli5Lmlq/orqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2hyeXNhbGlzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDaHJ5c2FsaXMnLFxyXG4gICAgICAnZnInOiAnTGEgQ2hyeXNhbGlkZScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrfjgqjjg7Pjg7vjg4rjg5fjg6rjgqLjg6zjgrnoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7JWE7JSo7JeUIOuCmOu4jOumrOyVjOugiOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrnianmiJjoiLDml6DpmZDlm57lu4onLFxyXG4gICAgICAnZGUnOiAnRGllIEZyYWt0YWwtS29udGludXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmFjdGFsIENvbnRpbnV1bScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCcsXHJcbiAgICAgICdqYSc6ICfljZrnianmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlagnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTIxMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsJjlsIHnp5jlsqkgKOS6ieWkuuaImCknLFxyXG4gICAgICAnZGUnOiAnUm9iYmVuaG9sbSAoRXJvYmVydW5nKScsXHJcbiAgICAgICdlbic6ICdTZWFsIFJvY2sgKFNlaXplKScsXHJcbiAgICAgICdmcic6ICdMZSBSb2NoZXIgZGVzIHRyw6lmb25kcyAoaW52YXNpb24pJyxcclxuICAgICAgJ2phJzogJ+OCt+ODvOODq+ODreODg+OCryAo5LqJ5aWq5oimKScsXHJcbiAgICAgICdrbyc6ICfrtInsnbjrkJwg67CU7JyE7ISsKOyfge2DiOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTksXHJcbiAgfSxcclxuICA0MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn572X5rOi6YKj5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gUmF2YW5hJyxcclxuICAgICAgJ2VuJzogJ1Rob2sgYXN0IFRob2sgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Rob2sgYXN0IFRob2sgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGsOmbquW6n+WgoeaaruWNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdBYmVuZHJvdC1XYWNodCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVzayBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZHUgQ3LDqXB1c2N1bGUnLFxyXG4gICAgICAnamEnOiAn5buD56Cm5o2c57SiIOODgOOCueOCr+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfslrTsiqTrpoQg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgNDM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCqum+meeOi+W6p+m+meW3ouelnuauvycsXHJcbiAgICAgICdkZSc6ICdOZXN0IGRlcyBEcmFjaGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBaXJlJyxcclxuICAgICAgJ2phJzogJ+mCquernOihgOaIpiDjg4njg6njgrTjg7PjgrrjgqjjgqLjg6rjg7wnLFxyXG4gICAgICAna28nOiAn7Jqp7J2YIOuRpeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDU1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODk+OCueODnuODq+OCr+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg67mE7Iqk66eI66W07YGsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnIbmoYzpqpHlo6vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnU2luZ3VsYXJpdMOkdHMtUmVha3RvcicsXHJcbiAgICAgICdlbic6ICdUaGUgU2luZ3VsYXJpdHkgUmVhY3RvcicsXHJcbiAgICAgICdmcic6ICdMZSBSw6lhY3RldXIgZGUgc2luZ3VsYXJpdMOpJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODhOODu+OCquODluODu+ODqeOCpuODs+ODieiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KGA5oiY6IuN56m56a2U56eR5a2m56CU56m25omAJyxcclxuICAgICAgJ2RlJzogJ8OEdGhlcm9jaGVtaXNjaGVzIEZvcjxTb2Z0SHlwaGVuLz5zY2h1bmdzPFNvZnRIeXBoZW4vPmxhYm9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXRoZXJvY2hlbWljYWwgUmVzZWFyY2ggRmFjaWxpdHknLFxyXG4gICAgICAnZnInOiAnTGUgTGFib3JhdG9pcmUgZGUgbWFnaXNtb2xvZ2llJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeiBluaIpiDprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAna28nOiAn66eI6rO87ZWZIOyXsOq1rOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTgsXHJcbiAgICAnb2Zmc2V0WSc6IDE0OSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHnu53pobbntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCcsXHJcbiAgICAgICdlbic6ICdTb2htIEFsJyxcclxuICAgICAgJ2ZyJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnamEnOiAn6ZyK5bOw6LiP56C0IOOCveODvOODoOODu+OCouODqycsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4NSxcclxuICAgICdvZmZzZXRZJzogNTEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODqeODvOODtOOCoeODiuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg652867CU64KYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NyxcclxuICB9LFxyXG4gIDQ0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+W5u+aDs+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBUaG9yZGFucyBGYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUaG9yZGFuXFwncyBSZWlnbicsXHJcbiAgICAgICdmcic6ICdMZSByw6hnbmUgZGUgVGhvcmRhbicsXHJcbiAgICAgICdqYSc6ICfokrzlpKnlubvmg7Mg44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya6LW35YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ3ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUsOWbremDoScsXHJcbiAgICAgICdkZSc6ICdGcm9oZWhhbGRlJyxcclxuICAgICAgJ2VuJzogJ0lkeWxsc2hpcmUnLFxyXG4gICAgICAnZnInOiAnSWR5bGzDqWUnLFxyXG4gICAgICAnamEnOiAn44Kk44OH44Kj44Or44K344Oj44Kk44KiJyxcclxuICAgICAgJ2tvJzogJ+ydtOuUnOyDpOydtOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NSxcclxuICB9LFxyXG4gIDUwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya5aSn6LWb5a+55oiY77yI5Lq65py65a+55oiY77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IFR1cm5pZXIgKGdlZ2VuIEFyZW5hbWVpc3RlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogTWFzdGVyIFRvdXJuYW1lbnQnLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgZGUgdG91cm5vaSBjb250cmUgbFxcJ29yZGluYXRldXInLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muWkp+S8muWvvuaIpiAoQ1BV5a++5oimKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjsnbjqs7Ug7KeA64qlIOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZToiKroiLnomZrml6DmlrnoiJ8nLFxyXG4gICAgICAnZGUnOiAnRGllIE5pY2h0cy1BcmNoZScsXHJcbiAgICAgICdlbic6ICdUaGUgVm9pZCBBcmsnLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyY2hlIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfprZToiKroiLnjg7TjgqnjgqTjg4njgqLjg7zjgq8nLFxyXG4gICAgICAna28nOiAn67O07J2065Oc7J2YIOuwqeyjvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODksXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDEnLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDMnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUlJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjMnLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDUxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDohInngbXnga/lpKnni7zmmJ/nga/loZQnLFxyXG4gICAgICAnZGUnOiAnUGhhcm9zIFNpcml1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdQaGFyb3MgU2lyaXVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Yi25Zyn5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNieacqOW6reWbreWco+iMieWkj+WonOakjeeJqeWbrScsXHJcbiAgICAgICdkZSc6ICdTYW5rdCBNb2NpYW5uZS1BcmJvcmV0dW0nLFxyXG4gICAgICAnZW4nOiAnU2FpbnQgTW9jaWFubmVcXCdzIEFyYm9yZXR1bScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjluq3lnJIg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQwLFxyXG4gICAgJ29mZnNldFknOiA2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTEyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvnmb3mmLzmjqLntKInLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIChFYXN5KScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2IChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA1MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+WknOaZmuaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MixcclxuICB9LFxyXG4gIDUxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfnqbrpl7TpoqDlgJLloZQnLFxyXG4gICAgICAnZGUnOiAnQW50aXR1cm0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFudGl0b3dlcicsXHJcbiAgICAgICdmcic6ICdMXFwnQW50aXRvdXInLFxyXG4gICAgICAnamEnOiAn5pif5rW36Kaz5risIOmAhuOBleOBruWhlCAnLFxyXG4gICAgICAna28nOiAn6rGw6r6466GcIOyEoCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNycsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBTMVA3JyxcclxuICAgICAgJ2phJzogJ+mtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrp4jsi6Ag7IS47ZS866Gc7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NixcclxuICB9LFxyXG4gIDUxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7lnKPpgZfov7nml6DpmZDln47luILooZflj6Tov7knLFxyXG4gICAgICAnZGUnOiAnSGlzdG9yaXNjaGVzIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIExvc3QgQ2l0eSBvZiBBbWRhcG9yIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3IgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn56We6IGW6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4Ao7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2NCxcclxuICAgICdvZmZzZXRZJzogMzE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MyxcclxuICB9LFxyXG4gIDUyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOW+i+WKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRWxsZSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBDdWZmIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pZ25ldCBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTExMCxcclxuICAgICdvZmZzZXRZJzogLTE3MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgU29uJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo6I+y5rSb54m55q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2VwaGlyb3QnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFMxVDcgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprZTnpZ7jgrvjg5XjgqPjg63jg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDnu4PkuaDotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCDDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoNCBvbiA0IC0gVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2VuPFNvZnRIeXBoZW4vPnRyYcOuPFNvZnRIeXBoZW4vPm5lPFNvZnRIeXBoZW4vPm1lbnQpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDsnbzrsJjsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCBnZXdlcnRldCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2NsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm5vlm73ogZTlkIjlhpvmvJQnLFxyXG4gICAgICAnZGUnOiAnVHJ1cHBlbsO8YnVuZyBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnQSBTcGVjdGFjbGUgZm9yIHRoZSBBZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBtYW7Fk3V2cmUgw6lvcnrDqWVubmUnLFxyXG4gICAgICAnamEnOiAn5Zub5Zu95ZCI5ZCM5ryU57+SJyxcclxuICAgICAgJ2tvJzogJzTqsJzqta0g7ZWp64+ZIO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfourLpgb/ojIPlm7TmlLvlh7snLFxyXG4gICAgICAnZGUnOiAnRmzDpGNoZW5hbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBBcmVhIG9mIEVmZmVjdCBBdHRhY2tzJyxcclxuICAgICAgJ2ZyJzogJ8OJdml0ZXIgbGVzIGF0dGFxdWVzIMOgIGFpcmUgZFxcJ2VmZmV0JyxcclxuICAgICAgJ2phJzogJ+evhOWbsuaUu+aSg+OCkumBv+OBkeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrspTsnIQg6rO16rKp7J2EIO2UvO2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6M5o+h5LuH5oGo6L+e5Ye7JyxcclxuICAgICAgJ2RlJzogJ01pdCBLb21ib3MgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyB0byBJbmNyZWFzZSBFbm1pdHknLFxyXG4gICAgICAnZnInOiAnR8OpbsOpcmVyIGRlIGxcXCdpbmltaXRpw6kgYXZlYyB1biBjb21ibycsXHJcbiAgICAgICdqYSc6ICfjgrPjg7Pjg5zjgafmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7L2k67O066W8IOydtOyWtCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnS29tYm9zIGltIEthbXBmIGVpbnNldHplbicsXHJcbiAgICAgICdlbic6ICdFeGVjdXRlIGEgQ29tYm8gaW4gQmF0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0VmZmVjdHVlciBsZSBjb21ibyBlbiBjb21iYXQnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn44Kz44Oz44Oc44Gr5oyR5oim44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDsvaTrs7Trpbwg7IKs7Jqp7ZW067O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnRmVpbmRzZWxpZ2tlaXQgbWVocmVyZXIgR2VnbmVyIGF1ZiBzaWNoIHppZWhlbicsXHJcbiAgICAgICdlbic6ICdBY2NydWUgRW5taXR5IGZyb20gTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBdHRpcmVyIGxcXCdpbmltaXRpw6kgZGUgcGx1c2lldXJzIGVubmVtaXMgc3VyIHNvaScsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7mlbXjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIOyggeyXkOqyjOyEnCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrp7miJjmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnR2VnZW4gbWVocmVyZSBHZWduZXIgYXVmIGVpbm1hbCBrw6RtcGZlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZXIgcGx1c2lldXJzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn6KSH5pWw44Gu5pW144Go5oim44Gj44Gm44G/44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDri6TsiJjsnZgg7KCB6rO8IOyLuOybjOuztOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6n5Yi26L+c5aSE5pWM5Lq655qE5LuH5oGoJyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZXIgRmVybmUgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBSYW5nZWQgQXR0YWNrIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSDDoCBkaXN0YW5jZScsXHJcbiAgICAgICdqYSc6ICfpgaDot53pm6LjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn66mA66as7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eVmeW/g+WinuaPtOeahOaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdGZWluZGxpY2hlIFZlcnN0w6Rya3VuZyBhdWZoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnRW5nYWdlIEVuZW15IFJlaW5mb3JjZW1lbnRzJyxcclxuICAgICAgJ2ZyJzogJ0ZhaXJlIGZhY2Ugw6AgZGVzIHJlbmZvcnRzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5pW144Gu5aKX5o+044Gr5a++5b+c44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yggSDsp4Dsm5DqtbDsl5Ag64yA7LKY7ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLljZXkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnR2VnbmVyIGdlbWVpbnNhbSBiZXNpZWdlbicsXHJcbiAgICAgICdlbic6ICdBc3Npc3QgQWxsaWVzIGluIERlZmVhdGluZyBhIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBlbiBhc3Npc3RhbnQgZGVzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544Go5Y2U5Yqb44GX44Gm5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDtmJHroKXtlZjsl6wg7KCB7J2EIOusvOumrOy5mOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YWN5ZCI6Ziy5oqk6IGM5Lia5omT5YCS5aSa5Liq5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0RlbiBHZWduZXIgZWluZXMgVmVyYsO8bmRldGVuIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0RlZmVhdCBhbiBPY2N1cGllZCBUYXJnZXQnLFxyXG4gICAgICAnZnInOiAnVmFpbmNyZSB1biBlbm5lbWkgb2NjdXDDqSBwYXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOBjOW8leOBjeOBpOOBkeOBpuOBhOOCi+aVteOCkuWAkuOBneOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5Dqs7wg6rCZ7J2AIOyggeydhCDqs7XqsqntlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHu+eahOWQjOaXtui/m+ihjOaImOaWlycsXHJcbiAgICAgICdkZSc6ICdBbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBFbmdhZ2VkIFRhcmdldHMnLFxyXG4gICAgICAnZnInOiAnQ29tYmF0dHJlIGVuIMOpdml0YW50IGxlcyBhdHRhcXVlcyBlbm5lbWllcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7mlLvmkoPjgpLpgb/jgZHjgarjgYzjgonmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCB7J2YIOqzteqyqeydhCDtlLztlZjrqbTshJwg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngbXmtLvov5DnlKjlnLrlnLDmnLrlhbMnLFxyXG4gICAgICAnZGUnOiAnTWl0IGRlbSBHZWzDpG5kZSBpbnRlcmFnaWVyZW4nLFxyXG4gICAgICAnZW4nOiAnSW50ZXJhY3Qgd2l0aCB0aGUgQmF0dGxlZmllbGQnLFxyXG4gICAgICAnZnInOiAnSW50ZXJhZ2lyIGF2ZWMgbGUgZMOpY29yIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICfjgq7jg5/jg4Pjgq/jgpLmtLvnlKjjgZfjgabmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Yq57IiYIOyepey5mOulvCDtmZzsmqntlZjrqbAg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpfpmLLmiqTogYzkuJonLFxyXG4gICAgICAnZGUnOiAnVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgYW4gQWxseScsXHJcbiAgICAgICdmcic6ICdTb2lnbmVyIHVuIGFsbGnDqScsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ7J2EIO2ajOuzteyLnO2CpOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rK755aX5bCP6Zif6Zif5ZGYJyxcclxuICAgICAgJ2RlJzogJ01laHJlcmUgVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgTXVsdGlwbGUgQWxsaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgcGx1c2lldXJzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn6KSH5pWw44Gu5ZGz5pa544KS5Zue5b6p44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uLpOyImOydmCDtjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jorq3nu4MnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIMOcYnVuZycsXHJcbiAgICAgICdlbic6ICdGaW5hbCBFeGVyY2lzZScsXHJcbiAgICAgICdmcic6ICdFeGVyY2ljZSBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfmnIDntYLoqJPnt7TvvIEnLFxyXG4gICAgICAna28nOiAn66eI7KeA66eJIO2biOugqCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojaPoqonph44gKOeijuWGsOaImCknLFxyXG4gICAgICAnZGUnOiAnRmVsZCBkZXIgRWhyZSAoWmVyc3BsaXR0ZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaWVsZHMgb2YgR2xvcnkgKFNoYXR0ZXIpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDaGFtcHMgZGUgbGEgR2xvaXJlIChicmlzZS1nbGFjZSknLFxyXG4gICAgICAnamEnOiAn44OV44Kj44O844Or44OJ44O744Kq44OW44O744Kw44Ot44O844Oq44O8ICjnoJXmsLfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYgeq0keydmCDtj4nsm5Ao7IeE67mZ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NyxcclxuICB9LFxyXG4gIDU1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnpvpnlrqvmrr/lv4bnvarlrqsnLFxyXG4gICAgICAnZGUnOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2VuJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdmcic6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnamEnOiAn5aSp56uc5a6u5q6/IOOCveODvOODq+ODu+OCq+OCpCcsXHJcbiAgICAgICdrbyc6ICfshozrpbQg7Lm07J20JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDM3MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlv4zln47pgqbnjpvlk4gnLFxyXG4gICAgICAnZGUnOiAnRGllIFN0YWR0IGRlciBUcsOkbmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBXZWVwaW5nIENpdHkgb2YgTWhhY2gnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZMOpZmVuZHVlIGRlIE1oYWNoJyxcclxuICAgICAgJ2phJzogJ+emgeW/jOmDveW4guODnuODjycsXHJcbiAgICAgICdrbyc6ICfquIjquLDrj4Tsi5wg66eI7ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogLTQwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kea2oeS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxlIGRlIENyw6h2ZWNhcsOobmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6buS5rim5Lyd6KqsIOODj+ODq+ODluODrOODvOOCq+ODvOODu+OCouOCpOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgNTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWfjuWuneeJqeW6kycsXHJcbiAgICAgICdkZSc6ICdBcXVhcG9saXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFxdWFwb2xpcycsXHJcbiAgICAgICdmcic6ICdMXFwnQXF1YXBvbGUnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCouOCr+OCouODneODquOCuScsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7JWE7L+g7JWE7Y+066as7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBsZXR6dGUgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGEgRGVybmnDqHJlIGF2YW5jw6llIGRlIGxhIEZvaScsXHJcbiAgICAgICdqYSc6ICfjg4vjg7zjgrrjg5jjg4PjgrDlvoHnq5zmiKYnLFxyXG4gICAgICAna28nOiAn64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flj6Tmi4nCt+iMg8K35LyR6JGX5pav6L+95Ye75oiYJyxcclxuICAgICAgJ2RlJzogJ0JsdXRpZ2VzIFdpZWRlcjxTb2Z0SHlwaGVuLz5zZWhlbicsXHJcbiAgICAgICdlbic6ICdBIEJsb29keSBSZXVuaW9uJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZS1wb3Vyc3VpdGUgZGFucyBsZSBsYWJvcmF0b2lyZScsXHJcbiAgICAgICdqYSc6ICfjg6zjgrDjg6njg7vjg7TjgqHjg7Pjg7vjg5Ljg6Xjg4njg6vjgrnov73mkoPmiKYnLFxyXG4gICAgICAna28nOiAn66CI6rW06528IOuwmCDtnojrk5zro6jsiqQg7LaU6rKp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMe+9nkIxMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxfkIxMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTHvvZ4yMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTEtMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDExLTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEx772eQjIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExfkIyMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAyMS0zMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjIx772eQjMwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjIxfkIzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjMx772eQjQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjMxfkI0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjQx772eQjUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjQxfkI1MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwvOW+t+mcjeagvOS8oOWlh+W+gem+meaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgTGllZCB2b24gTmlkaG9nZ3MgbGV0enRlbSBSdWYnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IE5pZGhvZ2dcXCdzIFJhZ2UnLFxyXG4gICAgICAnZnInOiAnTFxcJ2lyZSBkZSBOaWRob2dnJyxcclxuICAgICAgJ2phJzogJ+alteODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqh54G15bqc6YK46Ze56ay85bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHZWlzdGVyc2NobG9zcycsXHJcbiAgICAgICdlbic6ICdUaGUgSGF1bnRlZCBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgaGFudMOpJyxcclxuICAgICAgJ2phJzogJ+S6oemciuWxi+aVtyDjg5vjg7zjg7Pjg4bjg4Pjg4njg57jg4rjg7wnLFxyXG4gICAgICAna28nOiAn7Jyg66C57J2YIOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZqeWzu+Wzoeiwt+WhnuWwlOazleeJueWwlOa6quiwtycsXHJcbiAgICAgICdkZSc6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZW4nOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2ZyJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdqYSc6ICfls7vljrPmuJPosLcg44K844Or44OV44Kh44OI44OrJyxcclxuICAgICAgJ2tvJzogJ+ygpO2MjO2GqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTQ4LFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA1NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFAxUDYnLFxyXG4gICAgICAnamEnOiAn5aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yXrOyLoCDshoztlLzslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY5LFxyXG4gIH0sXHJcbiAgNTc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e0ouiPsuWoheatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNvcGhpYScsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUDFUNiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNiAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteWls+elnuOCveODleOCo+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56eY5pys5a6d5bqT6L+m5be05YuS5bm75oOz5Zu+5Lmm6aaGJyxcclxuICAgICAgJ2RlJzogJ0dyb8OfZSBHdWJhbC1CaWJsaW90aGVrIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBHdWJhbCBMaWJyYXJ5IChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnqIDmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTE2LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrlubvljaHlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBXZWx0ZW5zYWxvbicsXHJcbiAgICAgICdlbic6ICdUaGUgVHJpcGxlIFRyaWFkIEJhdHRsZWhhbGwnLFxyXG4gICAgICAnZnInOiAnQXLDqG5lIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44O844OJ44OQ44OI44Or44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5tOuTnCDrjIDqsrDsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKHVtIFJQKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBQbGF5ZXIgQmF0dGxlIChSUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKGF2ZWMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44GC44KKKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7J6I7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjnjqnlrrblr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gU3BpZWxlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBkZXMgam91ZXVycycsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimICjjg5fjg6zjgqTjg6Tjg7zlr77miKbvvIknLFxyXG4gICAgICAna28nOiAn6rys66eIIOy5nOq1rCDqs7XrsKnsoIQ6IOuMgO2ajCDrjIDqsrAo7ZSM66CI7J207Ja0IOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI5peg57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKG9obmUgUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKE5vbi1SUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKHNhbnMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44Gq44GXKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oOe8oOS4jea4heeahOWuv+WRvScsXHJcbiAgICAgICdkZSc6ICdXZWx0ZW7DvGJlcmdyZWlmZW5kZXMgU2NoaWNrc2FsJyxcclxuICAgICAgJ2VuJzogJ09uZSBMaWZlIGZvciBPbmUgV29ybGQnLFxyXG4gICAgICAnZnInOiAnRGVzdGlucyBlbnRyZWNyb2lzw6lzJyxcclxuICAgICAgJ2phJzogJ+e1oeOBv+WQiOOBhuWuv+WRvScsXHJcbiAgICAgICdrbyc6ICfrkqTslr3tnojripQg7IiZ66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNTHvvZ42MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNTEgLSA2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDUxLTYwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNTHvvZ5CNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNTF+QjYwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA2MSAtIDcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI2Me+9nkI3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI2MX5CNzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izcx772eODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDcxIC0gODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA3MS04MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjcx772eQjgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjcxfkI4MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gODEgLSA5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCODHvvZ5COTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCODF+QjkwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs5Me+9njEwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gOTEgLSAxMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA5MS0xMDApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCOTHvvZ5CMTAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjkxfkIxMDAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEwMe+9njExMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTAxIC0gMTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTAxLTExMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEwMS0xMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTAx772eQjExMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMDF+QjExMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTEx772eMTIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMTEgLSAxMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMTEtMTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTExLTEyMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMTHvvZ5CMTIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExMX5CMTIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMjHvvZ4xMzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEyMSAtIDEzMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDEyMS0xMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMjEtMTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEyMe+9nkIxMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTIxfkIxMzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEzMe+9njE0MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTMxIC0gMTQwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTMxLTE0MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEzMS0xNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTMx772eQjE0MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMzF+QjE0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTQx772eMTUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNDEgLSAxNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNDEtMTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTQxLTE1MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNDHvvZ5CMTUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE0MX5CMTUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNTHvvZ4xNjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE1MSAtIDE2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE1MS0xNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNTEtMTYwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE1Me+9nkIxNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTUxfkIxNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE2Me+9njE3MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTYxIC0gMTcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTYxLTE3MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE2MS0xNzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTYx772eQjE3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNjF+QjE3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTcx772eMTgw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNzEgLSAxODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNzEtMTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTcxLTE4MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNzHvvZ5CMTgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE3MX5CMTgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxODHvvZ4xOTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE4MSAtIDE5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE4MS0xOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxODEtMTkwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE4Me+9nkIxOTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTgxfkIxOTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE5Me+9njIwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTkxIC0gMjAwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTkxLTIwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE5MS0yMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTkx772eQjIwMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxOTF+QjIwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjEyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa6L655Yy6JyxcclxuICAgICAgJ2RlJzogJ0FiYW5pc2NoZXMgR3JlbnpsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmluZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNYXJnZXMnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki6L665aKD5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDrs4DrsKnsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzksXHJcbiAgfSxcclxuICA2MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonmtbcnLFxyXG4gICAgICAnZGUnOiAnUnViaW5zZWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJ1YnkgU2VhJyxcclxuICAgICAgJ2ZyJzogJ01lciBkZSBSdWJpcycsXHJcbiAgICAgICdqYSc6ICfntIXnjonmtbcnLFxyXG4gICAgICAna28nOiAn7ZmN7Jil7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgzLFxyXG4gIH0sXHJcbiAgNjE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bu25aSPJyxcclxuICAgICAgJ2RlJzogJ1lhbnhpYScsXHJcbiAgICAgICdlbic6ICdZYW54aWEnLFxyXG4gICAgICAnZnInOiAnWWFueGlhJyxcclxuICAgICAgJ2phJzogJ+ODpOODs+OCtScsXHJcbiAgICAgICdrbyc6ICfsloDsg6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA2MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z2a54mi6ZOB5aOB5be05Z+D6JCo6ZW/5Z+OJyxcclxuICAgICAgJ2RlJzogJ0JhZWxzYXItV2FsbCcsXHJcbiAgICAgICdlbic6ICdCYWVsc2FyXFwncyBXYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xhIE11cmFpbGxlIGRlIEJhZWxzYXInLFxyXG4gICAgICAnamEnOiAn5beo5aSn6Ziy5aOBIOODkOOCqOOCteODq+OBrumVt+WfjicsXHJcbiAgICAgICdrbyc6ICfrsJTsnbzsgqzrpbQg7J6l7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4MixcclxuICAgICdvZmZzZXRZJzogMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgNjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W6leWuq+auv+e0q+awtOWuqycsXHJcbiAgICAgICdkZSc6ICdTaGlzdWknLFxyXG4gICAgICAnZW4nOiAnU2hpc3VpIG9mIHRoZSBWaW9sZXQgVGlkZXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGF1eCBNYXLDqWVzIHZpb2xldHRlcycsXHJcbiAgICAgICdqYSc6ICfmtbflupXlrq7mrr8g57Sr5rC05a6uJyxcclxuICAgICAgJ2tvJzogJ+yLnOyKpOydtCDqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5bGx5rex5aKD57Si5aeG6Zi/5bCU54G15bOwJyxcclxuICAgICAgJ2RlJzogJ1NvaG0gQWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU29obSBBbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU29obSBBbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpnIrls7DmtYTljJYg44K944O844Og44O744Ki44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTI4LFxyXG4gICAgJ29mZnNldFknOiAtMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo54u854ux5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFdvbGZzaMO2aGxlOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIEZlYXN0aW5nIEdyb3VuZHMpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9GZXN0aW4gZGVzIGxvdXBzKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCpuODq+ODtOOCuuOCuOOCp+OCpOODq+a8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjripHrjIDsmrDrpqwg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NSxcclxuICB9LFxyXG4gIDYyMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6muWxseWMuicsXHJcbiAgICAgICdkZSc6ICdEaWUgWmlubmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQZWFrcycsXHJcbiAgICAgICdmcic6ICdMZXMgUGljcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLlsbHlsrPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOyCsOyVheyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MCxcclxuICB9LFxyXG4gIDYyMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6mua5luWMuicsXHJcbiAgICAgICdkZSc6ICdEYXMgRmVubicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9jaHMnLFxyXG4gICAgICAnZnInOiAnTGVzIExhY3MnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki5rmW55WU5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDtmLjrsJjsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODEsXHJcbiAgfSxcclxuICA2MjI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKrpmLPnpZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnQXppbS1TdGVwcGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEF6aW0gU3RlcHBlJyxcclxuICAgICAgJ2ZyJzogJ1N0ZXBwZSBkXFwnQXppbScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjg6Djgrnjg4bjg4Pjg5cnLFxyXG4gICAgICAna28nOiAn7JWE7KeQIOuMgOy0iOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDYyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfor5XngrzooYzot6/lt7TlhL/ovr7mnKjpnLjpgZMnLFxyXG4gICAgICAnZGUnOiAnQmFyZGFtcyBQcm9iZScsXHJcbiAgICAgICdlbic6ICdCYXJkYW1cXCdzIE1ldHRsZScsXHJcbiAgICAgICdmcic6ICdMYSBGb3JjZSBkZSBCYXJkYW0nLFxyXG4gICAgICAnamEnOiAn5Lyd57Wx6Kmm57e0IOODkOODq+ODgOODoOimh+mBkycsXHJcbiAgICAgICdrbyc6ICfrsJTrpbTri7Qg7Yyo64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUgKGxlaWNodCknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMgKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UgKGZhY2lsZSknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumiAoRWFzeSknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisIO2VnOyglSjsiazsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYwLFxyXG4gIH0sXHJcbiAgNjI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvpu4TmmI/mjqLntKLvvIjni6nnjI7kuJPnlKjvvIknLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEphZ2RncsO8bmRlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gSHVudGluZyBHcm91bmRzJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumicsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYxLFxyXG4gIH0sXHJcbiAgNjI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8gua1gea1t+Wfn+WmluatjOa1tycsXHJcbiAgICAgICdkZSc6ICdTaXJlbmVuLVNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgU2lyZW5zb25nIFNlYScsXHJcbiAgICAgICdmcic6ICdMYSBNZXIgZHUgQ2hhbnQgZGVzIHNpcsOobmVzJyxcclxuICAgICAgJ2phJzogJ+a8gua1gea1t+WfnyDjgrvjgqTjg6zjg7zjg7PmtbcnLFxyXG4gICAgICAna28nOiAn7IS47J2066CMIO2VtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNixcclxuICB9LFxyXG4gIDYyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvbHkuYvlm70nLFxyXG4gICAgICAnZGUnOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdlbic6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnamEnOiAn5b2x44Gu5Zu944OA44Oz44O744K544Kr44O8JyxcclxuICAgICAgJ2tvJzogJ+uRlCDsiqTsubQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1MCxcclxuICAgICdvZmZzZXRZJzogLTQwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTgsXHJcbiAgfSxcclxuICA2Mjg6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HmuK8nLFxyXG4gICAgICAnZGUnOiAnS3VnYW5lJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZScsXHJcbiAgICAgICdmcic6ICdLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn44Kv44Ks44ONJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDYzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5oiY5LqJ56We54yO5Zy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBIYWxvbmVzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIEZ1cnknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgSGFsb25lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOeLqeeMnyknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WKoOWwlOaPkOivuuW5s+WOn+mBremBh+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxpb2Ryb20nLFxyXG4gICAgICAnZW4nOiAnVGhlIENhcnRlbmVhdSBGbGF0czogSGVsaW9kcm9tZScsXHJcbiAgICAgICdmcic6ICdSaXhlIMOgIGxcXCdIw6lsaW9kcm9tZScsXHJcbiAgICAgICdqYSc6ICfjgqvjg6vjg4bjg47jg7zlubPljp/pga3pgYfmiKYnLFxyXG4gICAgICAna28nOiAn7Lm066W07YWM64W4IO2PieybkCDsobDsmrDsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuaLs+eXlScsXHJcbiAgICAgICdkZSc6ICdSaGFsZ3JzIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1JoYWxnclxcJ3MgUmVhY2gnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdGVuZHVlIGRlIFJoYWxncicsXHJcbiAgICAgICdqYSc6ICfjg6njg7zjg6vjgqzjg7zjgrrjg6rjg7zjg4EnLFxyXG4gICAgICAna28nOiAn656E6rGw7J2YIOyGkOq4uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OCxcclxuICB9LFxyXG4gIDYzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gWjFQOScsXHJcbiAgICAgICdqYSc6ICfprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6reA7IugIOyjvOultOuwmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzUsXHJcbiAgfSxcclxuICA2Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56WW5bCU5a6b5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gWnVydmFuJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBaMVQ5IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW16ay856We44K644Or44Ov44O844Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDY0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOWcsOiho+Wuq+a8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChGbGVjaHRlbmhhaW46IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gTGljaGVud2VlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1Byw6ktZGUtbGljaGVuKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeOCpOOCseODs+OCpuOCo+ODvOODiea8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjsnqHstIgg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MyxcclxuICB9LFxyXG4gIDY1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5Liw6aW256We56aP5ZywJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBOb3BoaWNhcyBQcsO8ZnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIC0gVHJpYWxzIG9mIHRoZSBNYXRyb24nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgTm9waGljYScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2ICjmjqHpm4YpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyxhOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MSxcclxuICB9LFxyXG4gIDY2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfop6PmlL7lhrPmiJjlpJrnjpvnjovln44nLFxyXG4gICAgICAnZGUnOiAnQnVyZyBEb21hJyxcclxuICAgICAgJ2VuJzogJ0RvbWEgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn6Kej5pS+5rG65oimIOODieODnuWfjicsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5beo54Ku6KaB5aGe5bid5Zu955m95bGx5aChJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2phJzogJ+W3qOegsuimgeWhniDjgqvjgrnjg4jjg6vjg6Djg7vjgqLjg5Djg4vjgqInLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOyVhOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3MixcclxuICAgICdvZmZzZXRZJzogLTE4NixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmgbblhZrlraTln47pu4Tph5HpmIEnLFxyXG4gICAgICAnZGUnOiAnU2NobG9zcyBLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIENhc3RsZScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkZSBLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn5oKq5YWa5oiQ5pWXIOOCr+OCrOODjeWfjicsXHJcbiAgICAgICdrbyc6ICfsv6DqsIDrhKQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcwLFxyXG4gICAgJ29mZnNldFknOiAzMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv67ooYzlj6TliLnmmJ/lr7zlr7onLFxyXG4gICAgICAnZGUnOiAnVGVtcGVsIGRlciBGYXVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGxlIG9mIHRoZSBGaXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBkdSBQb2luZycsXHJcbiAgICAgICdqYSc6ICflo4rnpZ7kv67ooYwg5pif5bCO5bGx5a+66ZmiJyxcclxuICAgICAgJ2tvJzogJ+yEseuPhOyCsCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQyNyxcclxuICAgICdvZmZzZXRZJzogLTMxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpsbzpgZPnjrDouqvvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluIHp3ZWlmZWxoYWZ0ZXMgQW5nZWJvdCcsXHJcbiAgICAgICdlbic6ICdJdFxcJ3MgUHJvYmFibHkgYSBUcmFwJyxcclxuICAgICAgJ2ZyJzogJ1VuIGRyw7RsZSBkZSBOYW1henUnLFxyXG4gICAgICAnamEnOiAn44Ku44On44OJ44Km54++44KL77yBJyxcclxuICAgICAgJ2tvJzogJ+q1kOuPhCDrk7HsnqUhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ3JpcXVlIGF1eCB0cmlidXRzJyxcclxuICAgICAgJ2phJzogJ+OCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsiqTsgqzrhbjsmKQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc3LFxyXG4gIH0sXHJcbiAgNjc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mhu+S9kOS5i+eUt+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFN1c2FubycsXHJcbiAgICAgICdlbic6ICdUaGUgUG9vbCBvZiBUcmlidXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrnjgrXjg47jgqroqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIE1lbmFnZXJpZScsXHJcbiAgICAgICdlbic6ICdUaGUgUm95YWwgTWVuYWdlcmllJyxcclxuICAgICAgJ2ZyJzogJ0xhIE3DqW5hZ2VyaWUgcm95YWxlJyxcclxuICAgICAgJ2phJzogJ+elnum+jeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNjg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6jumHjOaYgueDreeahOenmOetlicsXHJcbiAgICAgICdkZSc6ICdXZWdlIHp1ciBUcmFuc3plbmRlbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIFJlc29uYW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIHJ1c2UgZFxcJ1VyaWFuZ2VyJyxcclxuICAgICAgJ2phJzogJ+OCpuODquOCqOODs+OCuOOCp+OBruenmOetlicsXHJcbiAgICAgICdrbyc6ICfsnITrpqzslZnsoJzsnZgg67mE7LGFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKj6L6+5oWVJyxcclxuICAgICAgJ2RlJzogJ05hYWRhbScsXHJcbiAgICAgICdlbic6ICdOYWFkYW0nLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIGJhdGFpbGxlIGR1IE5hYWRhbScsXHJcbiAgICAgICdqYSc6ICfntYLnr4Djga7lkIjmiKYnLFxyXG4gICAgICAna28nOiAn6rOE7KCI64GdIO2VqeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mPluaImOe6ouiOsumYv+aLieexs+agvCcsXHJcbiAgICAgICdkZSc6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZW4nOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2ZyJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdqYSc6ICfntIXok67msbrmiKYg44Ki44Op44Of44K0JyxcclxuICAgICAgJ2tvJzogJ+yVjOudvOuvuOqzoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyOTIsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pe256m654ut57yd5aSW57yYJyxcclxuICAgICAgJ2RlJzogJ0ludGVyZGltZW5zaW9uYWxlciBSaXNzJyxcclxuICAgICAgJ2VuJzogJ0ludGVyZGltZW5zaW9uYWwgUmlmdCcsXHJcbiAgICAgICdmcic6ICdGaXNzdXJlIGludGVyZGltZW5zaW9ubmVsbGUnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT77ya5aSW57iBJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4g6IOyZuOqzvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDcwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfkvJrlvIDlp4snLFxyXG4gICAgICAnZGUnOiAnVGhhbCB6dSBFaHJlbicsXHJcbiAgICAgICdlbic6ICdJbiBUaGFsXFwncyBOYW1lJyxcclxuICAgICAgJ2ZyJzogJ0xlIHRvdXJub2kgY29tbcOpbW9yYXRpZiBkdSBzdWx0YW5hdCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vnjovmna/pl5jmioDkvJrjga7lp4vjgb7jgoonLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOyZleyLpOuwsCDtiKzquLDrjIDtmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDcwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuLrkuobmm7TlvLonLFxyXG4gICAgICAnZGUnOiAnRGllIGhvaGUgS3Vuc3QgZGVzIFNjaHdlcnRrYW1wZnMnLFxyXG4gICAgICAnZW4nOiAnUmFpc2luZyB0aGUgU3dvcmQnLFxyXG4gICAgICAnZnInOiAnTGEgZmluYWxlIGRlcyBjaGFtcGlvbnMnLFxyXG4gICAgICAnamEnOiAn44GV44KJ44Gq44KL5Ymj6KGT44Gu6auY44G/44G4JyxcclxuICAgICAgJ2tvJzogJ+uNlCDrhpLsnYAg6rKA7Iig7J2YIOqyveyngOuhnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aKl+S6ieS5i+WKmycsXHJcbiAgICAgICdkZSc6ICdEaWUgS3JhZnQgZGVzIFdpZGVyc3RhbmRzJyxcclxuICAgICAgJ2VuJzogJ1dpdGggSGVhcnQgYW5kIFN0ZWVsJyxcclxuICAgICAgJ2ZyJzogJ1RyYW5zbWlncmF0aW9uIGTDqW1vbmlhcXVlJyxcclxuICAgICAgJ2phJzogJ+aKl+OBhuWKmycsXHJcbiAgICAgICdrbyc6ICfrp57shJzripQg7Z6YJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5OCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNyxcclxuICB9LFxyXG4gIDcwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbfpg73ot6/kurrouqvpppblvIInLFxyXG4gICAgICAnZGUnOiAnTW9yZCBpc3Qgc2VpbiBIb2JieScsXHJcbiAgICAgICdlbic6ICdCbG9vZCBvbiB0aGUgRGVjaycsXHJcbiAgICAgICdmcic6ICdMYSBsw6lnZW5kZSBkZSBNdXNvc2FpPEluZGVudC8+OiBsXFwnYXNzYXNzaW4gZGUgTGltc2EgTG9taW5zYScsXHJcbiAgICAgICdqYSc6ICfmtbfpg73jgpLpnIfjgo/jgZnkurrmlqzjgorjga7lrrTvvIEnLFxyXG4gICAgICAna28nOiAn7ZW07JaR64+E7Iuc66W8IO2dlOuTnOuKlCDsgrTsnbjsnpDsnZgg7Jew7ZqMIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aegeaBtuS5i+S6uuacqOaerycsXHJcbiAgICAgICdkZSc6ICdEZXIgSW5iZWdyaWZmIGRlcyBCw7ZzZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZhY2Ugb2YgVHJ1ZSBFdmlsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhYm9taW5hYmxlIEtvZ2FyYXNoaScsXHJcbiAgICAgICdqYSc6ICfmpbXmgqrkurrjgrPjgqzjg6njgrcnLFxyXG4gICAgICAna28nOiAn6re57JWF66y064+E7ZWcIOy9lOqwgOudvOyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ5LFxyXG4gIH0sXHJcbiAgNzEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+advuWPtumXqOWkluS5i+WPmCcsXHJcbiAgICAgICdkZSc6ICdWb3JmYWxsIGF1ZiBkZW0gTWF0c3ViYS1QbGF0eicsXHJcbiAgICAgICdlbic6ICdNYXRzdWJhIE1heWhlbScsXHJcbiAgICAgICdmcic6ICdSw6hnbGVtZW50IGRlIGNvbXB0ZSBhdSBzcXVhcmUgTWF0c3ViYScsXHJcbiAgICAgICdqYSc6ICfmnb7okYnploDlpJbjga7lpIknLFxyXG4gICAgICAna28nOiAn66eI7Lig67CUIOyCrOuzgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDcxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhrPmiJjpvp/nlLLlspsnLFxyXG4gICAgICAnZGUnOiAnRW50PFNvZnRIeXBoZW4vPnNjaGVpPFNvZnRIeXBoZW4vPmR1bmdzPFNvZnRIeXBoZW4vPnNjaGxhY2h0IGF1ZiBCZWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgQmF0dGxlIG9uIEJla2tvJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhZjxTb2Z0SHlwaGVuLz5mcm9uPFNvZnRIeXBoZW4vPnRlPFNvZnRIeXBoZW4vPm1lbnQgZGUgZGV1eCBqdXN0aWNlcycsXHJcbiAgICAgICdqYSc6ICfjg5njg4PjgrPjgqbls7bjga7msbrpl5gnLFxyXG4gICAgICAna28nOiAn67Kg7L2U7JqwIOyErOydmCDqsrDtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA3MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0thbsOkbGUgdm9uIFV6bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggcGVyZHVzIGRcXCdVem5haXInLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCpuOCuuODjeOCouOCq+ODiuODqycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7Jqw7KaI64Sk7Ja0IOyatO2VmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8hum7keeahOW3qOm+mScsXHJcbiAgICAgICdkZSc6ICdEZXIgdG9iZW5kZSBEcmFjaGUnLFxyXG4gICAgICAnZW4nOiAnRGFyayBhcyB0aGUgTmlnaHQgU2t5JyxcclxuICAgICAgJ2ZyJzogJ0F1c3NpIHNvbWJyZSBxdWUgbGEgbnVpdCcsXHJcbiAgICAgICdqYSc6ICfmvIbpu5Ljga7lt6jnq5wnLFxyXG4gICAgICAna28nOiAn7Lmg7Z2R7J2YIOqxsOujoScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLooYDkuYvpvpnpqpHlo6snLFxyXG4gICAgICAnZGUnOiAnRGVyIFJ1YmluLURyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnRHJhZ29uIFNvdW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIERyYWdvbiDDqWNhcmxhdGUnLFxyXG4gICAgICAnamEnOiAn57SF44Gu56uc6aiO5aOrJyxcclxuICAgICAgJ2tvJzogJ+u2ieydgCDsmqnquLDsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDcxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgaXov5znmoTmhqfmhqwnLFxyXG4gICAgICAnZGUnOiAnUHJvYmUgZGVzIE1laXN0ZXJzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBPcnBoYW5zIGFuZCB0aGUgQnJva2VuIEJsYWRlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhc3BpcmF0aW9uIHJlZm91bMOpZScsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuInluqbjgIHpgaXjgYvjgarmhqfmhqwnLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIOyEuCDrsogsIOyVhOuTne2VnCDrj5nqsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NixcclxuICB9LFxyXG4gIDcxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflho3mrKHnm7jop4EnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBUaWVmZSBkZXMgSGVyemVucycsXHJcbiAgICAgICdlbic6ICdPdXIgQ29tcHJvbWlzZScsXHJcbiAgICAgICdmcic6ICdMYSBkZXJuacOocmUgc8OpcGFyYXRpb24nLFxyXG4gICAgICAnamEnOiAn44GC44Go5LiA5bqm44CB5ZCb44Gr5Lya44GI44Gf44KJJyxcclxuICAgICAgJ2tvJzogJ+yVnuycvOuhnCDtlZwg67KILCDrhIjsmYAg66eM64KgIOyImCDsnojri6TrqbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA3MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6f5Yid55qE5oiY5aOrJyxcclxuICAgICAgJ2RlJzogJ0RpZSBVcmtyYWZ0IGluIGlocicsXHJcbiAgICAgICdlbic6ICdDdXJpb3VzIEdvcmdlIE1lZXRzIEhpcyBNYXRjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgZGUgZm9yY2UnLFxyXG4gICAgICAnamEnOiAn5Y6f5Yid55qE44Gq5b285aWzJyxcclxuICAgICAgJ2tvJzogJ+ybkOy0iOyggSDqt7jrhYAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eHg+eDp+WQp+mrmOWQiScsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyaXNjaGUgTGVpZGVuc2NoYWZ0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZWFydCBvZiB0aGUgUHJvYmxlbScsXHJcbiAgICAgICdmcic6ICdQYXNzaW9uIGd1ZXJyacOocmUnLFxyXG4gICAgICAnamEnOiAn54eD44GI44KI44K044O844K477yBJyxcclxuICAgICAgJ2tvJzogJ+u2iO2DgOyYrOudvOudvCwg7IKw6rOo7Kec6riwIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkInnpaXlpKnlpbPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMYWtzaG1pJyxcclxuICAgICAgJ2VuJzogJ0VtYW5hdGlvbicsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uJyxcclxuICAgICAgJ2phJzogJ+ODqeOCr+OCt+ODpeODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epv+i2iuaXtuepuueahOWkmeaEvycsXHJcbiAgICAgICdkZSc6ICdFaW4gV3Vuc2NoIGF1cyBhbHRlbiBaZWl0ZW4nLFxyXG4gICAgICAnZW4nOiAnT3VyIFVuc3VuZyBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ2VzcG9pciBlbiBow6lyaXRhZ2UnLFxyXG4gICAgICAnamEnOiAn5pmC44KS44GL44GR44KL6aGY44GEJyxcclxuICAgICAgJ2tvJzogJ+yLnOqwhOydhCDrm7DslrTrhJjsnYAg7Je87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNzUsXHJcbiAgICAnb2Zmc2V0WSc6IC0yOTcsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNzIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9semakOW/jeazlei0tCcsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVtIFZlcmJvcmdlbmVuJyxcclxuICAgICAgJ2VuJzogJ1doZW4gQ2xhbnMgQ29sbGlkZScsXHJcbiAgICAgICdmcic6ICdMYSBiYXRhaWxsZSBkZXMgY2xhbnMnLFxyXG4gICAgICAnamEnOiAn5b2x6Zqg5b+N5rOV5biWJyxcclxuICAgICAgJ2tvJzogJ+q3uOumvOyekCDsnbjrspXssqknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODUsXHJcbiAgfSxcclxuICA3MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT5rex5bGCJyxcclxuICAgICAgJ2RlJzogJ1Zlcmdlc3NlbmUgS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIaWRkZW4gQ2FuYWxzIG9mIFV6bmFpcicsXHJcbiAgICAgICdmcic6ICdMZXMgQ2FuYXV4IGNhY2jDqXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or5rex5bGkJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOyLrOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i3nemqqOeglOeptuaJgCAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdBc3RyYWdhbG9zJyxcclxuICAgICAgJ2VuJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZnInOiAnQXN0cmFnYWxvcyAobWFjaGluZXJpZSknLFxyXG4gICAgICAnamEnOiAn44Ki44K544OI44Op44Ks44Ot44K5ICjmqZ/lt6XmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yVhOyKpO2KuOudvOqwiOuhnOyKpCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5qKm5bm75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFNoaW5yeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFNoaW5yeXVcXCdzIERvbWFpbicsXHJcbiAgICAgICdmcic6ICdMZSBkb21haW5lIGRlIFNoaW5yeXUnLFxyXG4gICAgICAnamEnOiAn5qW156We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNzMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayieayoeelnuauv+aWr+WNoeaLiemBl+i/uScsXHJcbiAgICAgICdkZSc6ICdEaWUgdmVyc3Vua2VuZSBTdGFkdCBTa2FsbGEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyb3duZWQgQ2l0eSBvZiBTa2FsbGEnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZW5nbG91dGllIGRlIFNrYWxsYScsXHJcbiAgICAgICdqYSc6ICfmsLTmsqHpgbrmp4sg44K544Kr44OpJyxcclxuICAgICAgJ2tvJzogJ+yKpOy5vOudvCDsnKDsoIEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5bi46aOO5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgQW5lbW9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgQW5lbW9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjgqLjg43jg6Ljgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IOyVhOuEpOuqqOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MSxcclxuICB9LFxyXG4gIDczMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m557ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0VuZGxvc2UgU2NoYXR0ZW4gdm9uIEJhaGFtdXQgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgVW5lbmRpbmcgQ29pbCBvZiBCYWhhbXV0IChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBpbmZpbmkgZGUgQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuODkOODj+ODoOODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg67CU7ZWY66y07Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkseiQveS5i+mDveaLieW3tOe6s+aWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSYWJhbmFzdHJlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBDaXR5IG9mIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgcm95YWxlIGRlIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnamEnOiAn5aSx44KP44KM44Gf6YO9IOODqeODkOODiuOCueOCvycsXHJcbiAgICAgICdrbyc6ICfsmZXrj4Qg652867CU64KY7Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDMwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Imv57yY5Luq5byPJyxcclxuICAgICAgJ2RlJzogJ1ZhbGVudGlvbnplcmVtb25pZScsXHJcbiAgICAgICdlbic6ICdUaGUgVmFsZW50aW9uZVxcJ3MgQ2VyZW1vbnknLFxyXG4gICAgICAnZnInOiAnTGEgQ8OpcsOpbW9uaWUgZGUgbGEgVmFsZW50aW9uJyxcclxuICAgICAgJ2phJzogJ+ODtOOCoeODrOODs+ODhuOCo+OCquODs+OCu+ODrOODouODi+ODvCcsXHJcbiAgICAgICdrbyc6ICfrsJzroIzti7DsmKgg7JiI7Iud7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyNSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonngavlsbHni7HkuYvnm5YnLFxyXG4gICAgICAnZGUnOiAnSMO2bGxlbnNwdW5kJyxcclxuICAgICAgJ2VuJzogJ0hlbGxzXFwnIExpZCcsXHJcbiAgICAgICdmcic6ICdMZSBDb3V2ZXJjbGUgZGVzIGVuZmVycycsXHJcbiAgICAgICdqYSc6ICfntIXnjonngavlsbEg542E5LmL6JOLJyxcclxuICAgICAgJ2tvJzogJ+yngOyYpeuanOq7kScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eWr+eLguaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmmrTotbDmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrrLTtlZzsl7Dsho0g67CV66y87ZWoKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5oiY6Zif5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFRlYW0sIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFRlYW0gUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kvw6lxdWlwZSBKY0opJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44OB44O844Og55So44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjtjIAg65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7plYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hJyxcclxuICAgICAgJ2ZyJzogJ0xhIENsYWlyacOocmUgZGUgSmFkZScsXHJcbiAgICAgICdqYSc6ICfnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn67Cx7Zi4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MyxcclxuICB9LFxyXG4gIDc0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7or5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBCeWFra28nLFxyXG4gICAgICAnZW4nOiAnVGhlIEphZGUgU3RvYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW155m96JmO5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzU5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b6aOe5ZywJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGUgRW5rbGF2ZScsXHJcbiAgICAgICdlbic6ICdUaGUgRG9tYW4gRW5jbGF2ZScsXHJcbiAgICAgICdmcic6ICdRdWFydGllciBlbmNsYXbDqSBkZSBEb21hJyxcclxuICAgICAgJ2phJzogJ+ODieODnueUuuS6uuWcsCcsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg64+E7J2N7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIzLFxyXG4gICAgJ29mZnNldFknOiAzNCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA3NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50JyxcclxuICAgICAgJ2ZyJzogJ0NoYXNzZSBhdSBSYXRoYWxvcycsXHJcbiAgICAgICdqYSc6ICfjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn66as7Jik66CI7Jqw7IqkIOyImOugteyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBq+m+meS4iuS9jeeLqeeMjuaImCcsXHJcbiAgICAgICdkZSc6ICdKYWdkIGF1ZiBSYXRoYWxvcyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgSHVudCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44Kq44Os44Km44K554up54yf5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmgZLlhrDkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUGFnb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkeOCtOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7YyM6rOg7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk0LFxyXG4gIH0sXHJcbiAgNzY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChjbGFzc8OpKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICjDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTAsXHJcbiAgfSxcclxuICA3Njc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmsLTmmbbloZTmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoS3Jpc3RhbGx0dXJtLUFyZW5hOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIENyeXN0YWwgVG93ZXIpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9Ub3VyIGRlIENyaXN0YWwpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Kv44Oq44K544K/44Or44K/44Ov44O85ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2BrOumrOyKpO2DiCDtg4Dsm4wg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47msLTngbXlupnlsqnnh5XlupknLFxyXG4gICAgICAnZGUnOiAnS29tcGFzcyBkZXIgU2Nod2FsYmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN3YWxsb3dcXCdzIENvbXBhc3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29tcGFzIGRlIGxcXCdIaXJvbmRlbGxlJyxcclxuICAgICAgJ2phJzogJ+miqOawtOmciuauvyDjgqzjg7Pjgqjjg7Plu58nLFxyXG4gICAgICAna28nOiAn6rCV7JeUIOyiheusmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Njk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouC5pmT55qE5bCR5bm0JyxcclxuICAgICAgJ2RlJzogJ0RlciBLbmFiZSBkZXIgTW9yZ2VucsO2dGUnLFxyXG4gICAgICAnZW4nOiAnRW1pc3Nhcnkgb2YgdGhlIERhd24nLFxyXG4gICAgICAnZnInOiAnVm95YWdlIGVuIHRlcnJlIGhvc3RpbGUnLFxyXG4gICAgICAnamEnOiAn44CM5pqB44CN44Gu5bCR5bm0JyxcclxuICAgICAgJ2tvJzogJ1xcJ+yDiOuyvVxcJ+ydmCDshozrhYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDHvvZ4xMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMS0xMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxLTEwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMe+9njEw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxfjEw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMTEtMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAxMe+9njIw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxMX4yMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMjHvvZ4zMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMjF+MzDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDQx772eNTDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDQxLTUwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA0MS01MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDQx772eNTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDQxfjUw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA2MS03MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNjEtNzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA2Me+9njcw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA2MX43MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gODEtOTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDgxLTkwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgODHvvZ45MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgODF+OTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHpl63lnKPloZTpu47pk47mi4nnurPlpKfnga/loZQnLFxyXG4gICAgICAnZGUnOiAnUmljaHRmZXVlciB2b24gUmlkb3JhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJpZG9yYW5hIExpZ2h0aG91c2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgUmlkb3JhbmEnLFxyXG4gICAgICAnamEnOiAn5bCB44GY44KJ44KM44Gf6IGW5aGUIOODquODieODq+OCouODiicsXHJcbiAgICAgICdrbyc6ICfrjIDrk7HrjIAg66as64+E66W07JWE64KYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwMixcclxuICAgICdvZmZzZXRZJzogLTkyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlYXBvblxcJ3MgUmVmcmFpbiAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZhbnRhc21hZ29yaWUgZFxcJ1VsdGltYSAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICA3Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gRmx1bWluaXMnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdqYSc6ICfjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aciOivu+W5veWknOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFRzdWt1eW9taScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVHN1a3V5b21pXFwncyBQYWluJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gRmx1bWluaXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOy4oOy/oOyalOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDMx772eNDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDMxLTQwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAzMS00MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDMx772eNDDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDMxfjQw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA1MS02MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA1Me+9njYw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA1MX42MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNzEtODApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNzHvvZ44MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNzF+ODDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA5MS0xMDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA5Me+9njEwMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgOTF+MTAw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rGh5p+T5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjmsZrmn5Mg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshLEg66qo7IOoIOyLneusvOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275Lqh5aSn5Zyw57uI5pyr54Sm5ZyfJyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJnbGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnRXNjYXJyZScsXHJcbiAgICAgICdqYSc6ICfmsLjkuYXnhKblnJ8g44K244O744OQ44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yYgeq1rCDstIjthqDsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTcsXHJcbiAgfSxcclxuICA3OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBvuWOhOmHjeeOsOWGm+S6i+a8lOS5oCcsXHJcbiAgICAgICdkZSc6ICdHZWRlbmtzY2hsYWNodCBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENhbGFtaXR5IFJldG9sZCcsXHJcbiAgICAgICdmcic6ICdMZXMgZ3JhbmRlcyBtYW7Fk3V2cmVzIGNvbW3DqW1vcmF0aXZlcycsXHJcbiAgICAgICdqYSc6ICfmlrDnlJ/npa3ou43kuovmvJTnv5InLFxyXG4gICAgICAna28nOiAn7Iug7IOd7KCcIOq1sOyCrO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NSxcclxuICB9LFxyXG4gIDc5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmpDloZ4gKOacuuWKqOaImCknLFxyXG4gICAgICAnZGUnOiAnVmVyYm9yZ2VuZSBTY2hsdWNodCcsXHJcbiAgICAgICdlbic6ICdIaWRkZW4gR29yZ2UnLFxyXG4gICAgICAnZnInOiAnR29yZ2UgZMOpcm9iw6llIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjg5Ljg4njgqXjg7PjgrTjg7zjgrggKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7Iio6rKo7KeEIOuztOujqCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iZmuaZr+i3s+i3s+S5kOWkp+aMkeaImCcsXHJcbiAgICAgICdkZSc6ICdLYWt0b3ItS2xldHRlcndhbmQnLFxyXG4gICAgICAnZW4nOiAnTGVhcCBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdIYXV0ZSB2b2x0aWdlJyxcclxuICAgICAgJ2phJzogJ+aMkeaIpu+8gSDjgrjjg6Pjg7Pjg5Tjg7PjgrDjgqLjgrnjg6zjg4Hjg4Pjgq8nLFxyXG4gICAgICAna28nOiAn65uw7Ja06528ISDsoJDtlZEg7Jq064+Z7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Zu95aKD6Ziy57q/5Z+65aeG5Yip54m55pqX5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBHaGltbHl0LUZpbnN0ZXJuaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdoaW1seXQgRGFyaycsXHJcbiAgICAgICdmcic6ICdMZXMgVMOpbsOoYnJlcyBkZSBHaGltbHl0JyxcclxuICAgICAgJ2phJzogJ+Wig+eVjOaIpue3miDjgq7jg6Djg6rjg4jjg4Djg7zjgq8nLFxyXG4gICAgICAna28nOiAn6rmA66as7Yq4IO2ZqeyVvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/kOays+WuneeJqeW6k+elnuauvycsXHJcbiAgICAgICdkZSc6ICdHbMO8Y2tzYWx0w6RyZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBBbHRhcnMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBzYWNyw6kgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or56Wt5q6/JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5raM54Gr5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBQeXJvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBQeXJvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIFB5cm9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjg5Tjg6Xjg7zjg63jgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IO2UvOuhnOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NixcclxuICB9LFxyXG4gIDc5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjcsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye66YGT5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlYsO8dCBpbiBkZXIgSGltbWxpc2NoZW4gQXJlbmEnLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIFRoYXQgU3RhcnRzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnRMOpYnV0IGR1IHNwZWN0YWNsZScsXHJcbiAgICAgICdqYSc6ICfjg4fjg5Pjg6Xjg7zjg57jg4Pjg4EnLFxyXG4gICAgICAna28nOiAn642w67eU7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qWU55+z5rSeJyxcclxuICAgICAgJ2RlJzogJ0RlciBXaWxsZSBkZXIgTW9uZGfDtnR0aW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdpbGwgb2YgdGhlIE1vb24nLFxyXG4gICAgICAnZnInOiAnUmFsbGllbWVudCBkYW5zIGxhIHN0ZXBwZScsXHJcbiAgICAgICdqYSc6ICfmpZTnn7Pjga7omZonLFxyXG4gICAgICAna28nOiAn7JCQ6riw64+MIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/nemVluatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIEt1Z2FuZS1CcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZSBPaGFzaGknLFxyXG4gICAgICAnZnInOiAnTGUgUG9udCBPaGFzaGknLFxyXG4gICAgICAnamEnOiAn55yf44Oo44Km44K444Oz44Oc44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsmpTsmrDsp4Trs7Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyx6ZuA6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llcicsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucycsXHJcbiAgICAgICdqYSc6ICfmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4Dor5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llciAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgTmlkIGRlcyBMYW1lbnRhdGlvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyjvOyekSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTgsXHJcbiAgfSxcclxuICA4MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flhYvlhbDlvrcnLFxyXG4gICAgICAnZGUnOiAnU2VlbmxhbmQnLFxyXG4gICAgICAnZW4nOiAnTGFrZWxhbmQnLFxyXG4gICAgICAnZnInOiAnR3JhbmQtTGFjJyxcclxuICAgICAgJ2phJzogJ+ODrOOCpOOCr+ODqeODs+ODiScsXHJcbiAgICAgICdrbyc6ICfroIjsnbTtgazrnpzrk5wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA2LFxyXG4gIH0sXHJcbiAgODE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54+C6Zyy6KW/5Lqa5bKbJyxcclxuICAgICAgJ2RlJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2VuJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2ZyJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2phJzogJ+OCs+ODq+OCt+OCouWzticsXHJcbiAgICAgICdrbyc6ICfsvZzro6jsi5zslYQg7ISsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNyxcclxuICB9LFxyXG4gIDgxNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WuieephsK36Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnZW4nOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdmcic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2phJzogJ+OCouODoOODu+OCouODrOODvOODsycsXHJcbiAgICAgICdrbyc6ICfslYTrr4Ag7JWE656tJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOCxcclxuICB9LFxyXG4gIDgxNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuWwlOe+juagvCcsXHJcbiAgICAgICdkZSc6ICdJbCBNaGVnJyxcclxuICAgICAgJ2VuJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZnInOiAnSWwgTWhlZycsXHJcbiAgICAgICdqYSc6ICfjgqTjg6vjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn7J28IOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDksXHJcbiAgfSxcclxuICA4MTc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlh6/mj5DljaHlpKfmo67mnpcnLFxyXG4gICAgICAnZGUnOiAnRGVyIEdyb8OfZSBXYWxkIFJha1xcJ3Rpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJha1xcJ3Rpa2EgR3JlYXR3b29kJyxcclxuICAgICAgJ2ZyJzogJ1Jha1xcJ3Rpa2EnLFxyXG4gICAgICAnamEnOiAn44Op44Kx44OG44Kj44Kr5aSn5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+udvOy8gO2LsOy5tCDrjIDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODE4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6aOO5rW3JyxcclxuICAgICAgJ2RlJzogJ1RlbXBlc3QnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRlbXBlc3QnLFxyXG4gICAgICAnZnInOiAnTGEgVGVtcMOqdGUnLFxyXG4gICAgICAnamEnOiAn44OG44Oz44Oa44K544OIJyxcclxuICAgICAgJ2tvJzogJ+2FnO2OmOyKpO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTEsXHJcbiAgfSxcclxuICA4MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbpg70nLFxyXG4gICAgICAnZGUnOiAnQ3J5c3Rhcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgQ3J5c3Rhcml1bScsXHJcbiAgICAgICdmcic6ICdDcmlzdGFyaXVtJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4Drpqzsm4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEyLFxyXG4gIH0sXHJcbiAgODIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ri45pyr6YKmJyxcclxuICAgICAgJ2RlJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnZW4nOiAnRXVsbW9yZScsXHJcbiAgICAgICdmcic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2phJzogJ+ODpuODvOODq+ODouOCoicsXHJcbiAgICAgICdrbyc6ICfsnKjrqqjslrQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEzLFxyXG4gIH0sXHJcbiAgODIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWmluW5u+WbreWkmuaBqee+juagvOemgeWbrScsXHJcbiAgICAgICdkZSc6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2ZyJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdqYSc6ICfmsLTlppblubvlnJIg44OJ44Kp44O844OM44O744Oh44KwJyxcclxuICAgICAgJ2tvJzogJ+uPhOuKkCDrqZTqt7gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMjAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8qumAoOWkqeeVjOagvOmygeagvOeBq+WxsScsXHJcbiAgICAgICdkZSc6ICdEZXIgR3VsZycsXHJcbiAgICAgICdlbic6ICdNdC4gR3VsZycsXHJcbiAgICAgICdmcic6ICdNb250IEd1bGcnLFxyXG4gICAgICAnamEnOiAn5YG96YCg5aSp55WMIOOCsOODq+OCsOeBq+WxsScsXHJcbiAgICAgICdrbyc6ICfqtbTqt7gg7ZmU7IKwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xODgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmlofmmI7lj6Tov7nlpYflnabpgqPnpZ7lvbHmtJ4nLFxyXG4gICAgICAnZGUnOiAnSXJydW5nZW4gZGVyIFFpdGFyaScsXHJcbiAgICAgICdlbic6ICdUaGUgUWl0YW5hIFJhdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFbmNoZXbDqnRyZW1lbnQgZGVzIFFpdGFyaScsXHJcbiAgICAgICdqYSc6ICflj6Tot6HmjqLntKIg44Kt44K/44Oz44OK56We5b2x5rSeJyxcclxuICAgICAgJ2tvJzogJ+2CpO2DgOuCmCDsi6DqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTI3NCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+memVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxvdCBkZXMgQW1lcnR1bWVzJyxcclxuICAgICAgJ2phJzogJ+mdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfssq3ro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk5LFxyXG4gIH0sXHJcbiAgODI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+meivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFNlaXJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgV3JlYXRoIG9mIFNuYWtlcyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXpnZLpvo3lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5qyy5LmL5omA55Ov5Y2a6K635L+u6YGT6ZmiJyxcclxuICAgICAgJ2RlJzogJ0tsb3N0ZXIgdm9uIE9yYm9ubmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9yYm9ubmUgTW9uYXN0ZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xlIE1vbmFzdMOocmUgZFxcJ09yYm9ubmUnLFxyXG4gICAgICAnamEnOiAn5qW95qyy44Gu5YOn6ZmiIOOCquODvOODnOODs+ODjCcsXHJcbiAgICAgICdrbyc6ICfsmKTrs7jripAg7IiY64+E7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01NDUsXHJcbiAgICAnb2Zmc2V0WSc6IC02NjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDkuLDmsLTkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEh5ZGF0b3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIEh5ZGF0b3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkuODpeODgOODiOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7Z6I64uk7Yag7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDQ3NSxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAwLFxyXG4gIH0sXHJcbiAgODMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOaMveatjCcsXHJcbiAgICAgICdkZSc6ICdSZXF1aWVtIGRlciBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBSZXF1aWVtIGZvciBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnVW4gcmVxdWllbSBwb3VyIGxlcyBow6lyb3MnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44G444Gu6Y6u6a2C5q2MJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydhCDsnITtlZwg7KeE7Zi86rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkmueOm+aWueWfjuaImO+8muS4nOmjjuaImDTkurrkurLlj4vmoYzvvIjkuI3luKbpo5/mlq3vvIknLFxyXG4gICAgICAnZGUnOiAnNC1TcGllbGVyLU1haGpvbmcgKHNjaG5lbGxlIFBhcnRpZSwgS3VpdGFuIGRlYWt0aXZpZXJ0KScsXHJcbiAgICAgICdlbic6ICdGb3VyLXBsYXllciBNYWhqb25nIChRdWljayBNYXRjaCwgS3VpdGFuIERpc2FibGVkKScsXHJcbiAgICAgICdmcic6ICdNYWhqb25nIGRvbWllbjxJbmRlbnQvPjogNCBqb3VldXJzIChwYXJ0aWUgcmFwaWRlIHNhbnMga3VpdGFuKScsXHJcbiAgICAgICdqYSc6ICfjg4njg57lvI/purvpm4DvvJrmnbHpoqjmiKY05Lq644K744OD44OI5Y2T77yI44Kv44Kk44K/44Oz54Sh44GX77yJJyxcclxuICAgICAgJ2tvJzogJ+yeke2MqOycoO2drDog64+Z7ZKN7KCEIDTsnbjsmqkg7YOB7J6QKOu2gOultOq4sCDri6jsmpTqtawg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrlhpvoo4XnlLLpqb7pqbblkZgnLFxyXG4gICAgICAnZGUnOiAnTHVmdHdhZmZlLCBGZXVlciBmcmVpIScsXHJcbiAgICAgICdlbic6ICdBaXIgRm9yY2UgT25lJyxcclxuICAgICAgJ2ZyJzogJ0FzIGRlIGxcXCdhaXInLFxyXG4gICAgICAnamEnOiAn5Ye65pKD77yBIOOCqOOCouODleOCqeODvOOCueODkeOCpOODreODg+ODiCcsXHJcbiAgICAgICdrbyc6ICfstpzqsqkhIOyXkOyWtO2PrOyKpCDsobDsooXsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47kuYvkvb/ogIUnLFxyXG4gICAgICAnZGUnOiAnRHVyY2ggZGVuIFN0dXJtIHVuZCB6dXLDvGNrJyxcclxuICAgICAgJ2VuJzogJ01lc3NlbmdlciBvZiB0aGUgV2luZHMnLFxyXG4gICAgICAnZnInOiAnTGEgTWVzc2Fnw6hyZSBkdSB2ZW50JyxcclxuICAgICAgJ2phJzogJ+adpeioquOBm+OBl+miqOOBruW+oeS9vycsXHJcbiAgICAgICdrbyc6ICfrsJTrnozsnZgg7Ja07IKsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMSxcclxuICB9LFxyXG4gIDgzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgb/mmpHnprvlrqvpqazliKnljaHlpKfkupUnLFxyXG4gICAgICAnZGUnOiAnTWFsaWthaHMgQnJ1bm5lbicsXHJcbiAgICAgICdlbic6ICdNYWxpa2FoXFwncyBXZWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFB1aXRzIGRlIE1hbGlrYWgnLFxyXG4gICAgICAnamEnOiAn54i95ra86Zui5a6uIOODnuODquOCq+OBruWkp+S6leaIuCcsXHJcbiAgICAgICdrbyc6ICfrp5DrpqzsubQg7YGw7Jqw66y8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC02NSxcclxuICAgICdvZmZzZXRZJzogLTMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YGH6KKt6ZuG6JC95rC05rup5p2RJyxcclxuICAgICAgJ2RlJzogJ0hvbG1pbnN0ZXInLFxyXG4gICAgICAnZW4nOiAnSG9sbWluc3RlciBTd2l0Y2gnLFxyXG4gICAgICAnZnInOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdqYSc6ICfmrrrmiK7pg7fmnZEg44Ob44Or44Of44Oz44K544K/44O8JyxcclxuICAgICAgJ2tvJzogJ+2ZgOuvvOyKpO2EsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyr5pel5pqX5b2x5Lqa6ams5LmM572X5o+QJyxcclxuICAgICAgJ2RlJzogJ0FtYXVyb3QnLFxyXG4gICAgICAnZW4nOiAnQW1hdXJvdCcsXHJcbiAgICAgICdmcic6ICdBbWF1cm90ZScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvlubvmg7Mg44Ki44O844Oi44Ot44O844OIJyxcclxuICAgICAgJ2tvJzogJ+yVhOuqqOuhnO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5byC55WM6YGX5p6E5biM5bCU56eR5pav5a2q5pm25aGUJyxcclxuICAgICAgJ2RlJzogJ0RlciBLcmlzdGFsbHp3aWxsaW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUd2lubmluZycsXHJcbiAgICAgICdmcic6ICdMYSBNYWNsZSBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn55Ww55WM6YG65qeLIOOCt+ODq+OCr+OCueODu+ODhOOCpOODi+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfsjI3rkaXsnbQg7Iuc66W07L+g7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg5py65p6E6Zi/5bC85b63572X5a2m6ZmiJyxcclxuICAgICAgJ2RlJzogJ0FrYWRhZW1pYSBBbnlkZXInLFxyXG4gICAgICAnZW4nOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdmcic6ICdBa2FkYWVtaWEgQW55ZHJlJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOapn+mWoiDjgqLjg4rjgqTjg4DjgqLjgqvjg4fjg5/jgqInLFxyXG4gICAgICAna28nOiAn7JWg64KY7J20642UIOyVhOy5tOuNsOuvuOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZScsXHJcbiAgICAgICdmcic6ICdMYSBWYWxzZSBkdSBNb25hcnF1ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yuw7YOA64uI7JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICA4NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIENvdXJvbm5lIGRlIGxcXCdJbW1hY3Vsw6knLFxyXG4gICAgICAnamEnOiAn44Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ydtOuFuOyEvOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA0LFxyXG4gIH0sXHJcbiAgODQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WTiOi/quaWr+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIEhhZGVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEeWluZyBHYXNwJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUnLFxyXG4gICAgICAnamEnOiAn44OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOeRleeBteWQm+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgTMOkdXRlcnVuZyAtIElubm96ZW56JyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcm93biBvZiB0aGUgSW1tYWN1bGF0ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODjuOCu+ODs+OCueiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbicsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24gKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57yH5Z2m5aau6ZuF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gVGl0YW5pYScsXHJcbiAgICAgICdlbic6ICdUaGUgRGFuY2luZyBQbGFndWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OG44Kj44K/44O844OL44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLrlhbPjgIHor4XlkpLjgIHliafmr5LkuI7igKbigKYnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJlaWNodHN0dWhsIHZvbiBUb3VwYXNhIGRlbSDDhGx0ZXJlbicsXHJcbiAgICAgICdlbic6ICdMZWdlbmQgb2YgdGhlIE5vdC1zby1oaWRkZW4gVGVtcGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbmZlc3Npb25uYWwgZGUgVG91cGFzYSBsXFwnYW5jaWVuJyxcclxuICAgICAgJ2phJzogJ+S7leaOm+OBkeOBqOWRquOBhOOBqOavkuOBqCcsXHJcbiAgICAgICdrbyc6ICftlajsoJXqs7wg7KCA7KO87JmAIOuPhScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqf6YO95ou/5be056S66Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ1ZhdGVyIHVuZCBCcnVkZXInLFxyXG4gICAgICAnZW4nOiAnQ29taW5nIENsZWFuJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsZXMgcmFpbHMgZGUgTmFiYWF0aCBBcmVuZycsXHJcbiAgICAgICdqYSc6ICflu4Ppg73jg4rjg5DjgrnjgqLjg6zjg7MnLFxyXG4gICAgICAna28nOiAn64KY67CU7Iqk7JWE66CdIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGH5pGG55qE5aSp5bmzJyxcclxuICAgICAgJ2RlJzogJ09iIE1pdGxlaWQgb2RlciBIYXNzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJkZW5lZCBIZWFydCcsXHJcbiAgICAgICdmcic6ICdOYWlzc2FuY2UgZFxcJ3VuIGJvdXJyZWF1JyxcclxuICAgICAgJ2phJzogJ+aPuuOCjOOCi+WkqeenpCcsXHJcbiAgICAgICdrbyc6ICftnZTrk6TrpqzripQg7LKc7LmtJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2RlJzogJ0FsdGVyIFphdWJlcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBhbmQgdGhlIEZvdW5kJyxcclxuICAgICAgJ2ZyJzogJ01hZ2llIGFuY2VzdHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Y+k44Gu5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2tvJzogJ+qzoOuMgOydmCDrjIDsnqzsg50g66eI67KVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMCxcclxuICB9LFxyXG4gIDg3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfli4fmlaLnmoTnjI7kuronLFxyXG4gICAgICAnZGUnOiAnRGVyIExlZ2VuZGUgYXVmIGRlciBTcHVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIdW50ZXJcXCdzIExlZ2FjeScsXHJcbiAgICAgICdmcic6ICdMYSBjaGFzc2V1c2UgZGUgbMOpZ2VuZGUnLFxyXG4gICAgICAnamEnOiAn5YuH5rCX44Gu54up5Lq6JyxcclxuICAgICAgJ2tvJzogJ+yaqeq4sCDsnojripQg7IKs64Ol6r68JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgODc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WliOi0neWwlOeJueeahOWQjuaClCcsXHJcbiAgICAgICdkZSc6ICdFaW4gZ3Jvw59lcyBPcGZlcicsXHJcbiAgICAgICdlbic6ICdOeWVsYmVydFxcJ3MgTGFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1VuZSBjdXBpZGl0w6kgYmllbiBnw6luw6lyZXVzZScsXHJcbiAgICAgICdqYSc6ICfjg4rjgqTjg6vjg5njg6vjg4jjga7lvozmgpQnLFxyXG4gICAgICAna28nOiAn64KY7J2867Kg66W07Yq47J2YIO2bhO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneWigycsXHJcbiAgICAgICdkZSc6ICdWZXJsaWVzZSB2b24gTHloZSBHaGlhaCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVuZ2VvbnMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBEb25qb24gaHlwb2fDqWVuIGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODsycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpI3liLblt6XljoLlup/lop8nLFxyXG4gICAgICAnZGUnOiAnRGllIGtvcGllcnRlIEZhYnJpaycsXHJcbiAgICAgICdlbic6ICdUaGUgQ29waWVkIEZhY3RvcnknLFxyXG4gICAgICAnZnInOiAnTGEgcsOpcGxpcXVlIGRlIGxcXCd1c2luZSBkw6lzYWZmZWN0w6llJyxcclxuICAgICAgJ2phJzogJ+ikh+ijveOCteODrOOCv+W3peWgtOW7g+WinycsXHJcbiAgICAgICdrbyc6ICfrs7XsoJzrkJwg6rO17J6lIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2MTAsXHJcbiAgICAnb2Zmc2V0WSc6IDcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOazleWuq+auv+Wuh+WumeWuqycsXHJcbiAgICAgICdkZSc6ICdDaGF0ZWF1IENvc21lYScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JhbmQgQ29zbW9zJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvc21vcyBjb3J1c2NhbnQnLFxyXG4gICAgICAnamEnOiAn6a2U5rOV5a6u5q6/IOOCsOODqeODs+ODu+OCs+OCueODouOCuScsXHJcbiAgICAgICdrbyc6ICfqt7jrnpEg7L2U7Iqk66qo7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5a2k5b+15q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEhhZGVzXFwncyBFbGVneScsXHJcbiAgICAgICdmcic6ICdMZSBSw6JsZSBkZSBsXFwnQWdvbmllIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtlZjrjbDsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFcGljIG9mIEFsZXhhbmRlciAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdPZHlzc8OpZSBkXFwnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Os44Kt44K144Oz44OA44O86KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzroInsgrDrjZQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5piC6JCo5ZOI5Yev5bCU77yI56ue5LqJ5oiY77yJJyxcclxuICAgICAgJ2RlJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2VuJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2ZyJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2phJzogJ+OCquODs+OCteODq+ODu+ODj+OCq+OCpOODqyAo57WC56+A5oimKScsXHJcbiAgICAgICdrbyc6ICfsmKjsgrQg7ZWY7Lm07J2066W0KOqzhOygiOuBnSDtlansoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNyxcclxuICB9LFxyXG4gIDg5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuq/nmb3oqpPnuqbjgIHmvIbpu5Hlr4bnuqYnLFxyXG4gICAgICAnZGUnOiAnRGVyIFdvbGYgdW5kIGRlciBEcmFjaGVucmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ1Zvd3Mgb2YgVmlydHVlLCBEZWVkcyBvZiBDcnVlbHR5JyxcclxuICAgICAgJ2ZyJzogJ1bFk3V4IGRlIHZlcnR1LCBhY3RlcyBkZSBjcnVhdXTDqScsXHJcbiAgICAgICdqYSc6ICfnmb3jgY3oqpPntITjgIHpu5LjgY3lr4bntIQnLFxyXG4gICAgICAna28nOiAn7ZWY7JaAIOyEnOyVvSwg6rKA7J2AIOuwgOyVvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aIkeW/g+S+neaXpycsXHJcbiAgICAgICdkZSc6ICdUcnViZWwgaW0gVHJhdW1sYW5kJyxcclxuICAgICAgJ2VuJzogJ0FzIHRoZSBIZWFydCBCaWRzJyxcclxuICAgICAgJ2ZyJzogJ8OAIGxcXCfDqWNvdXRlIGRlIHNvaScsXHJcbiAgICAgICdqYSc6ICfjgZPjga7lv4PjgYzmnJvjgoDjgYzjgb7jgb7jgasnLFxyXG4gICAgICAna28nOiAn7J20IOuniOydjOydtCDsm5DtlZjripQg64yA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMixcclxuICAgICdvZmZzZXRZJzogNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgODk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouWuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdSdWJpbmZldWVyIC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ0NpbmRlciBEcmlmdCcsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zJyxcclxuICAgICAgJ2phJzogJ+ODq+ODk+ODvOOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDg5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbflupXpmL/lsLzlvrfnvZfov73lv4bppoYnLFxyXG4gICAgICAnZGUnOiAnQW5hbW5lc2lzIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FuYW1uZXNpcyBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn6buS6aKo5rW35bqVIOOCouODi+ODieODqeOCueODu+OCouODiuODoOODjeODvOOCt+OCuScsXHJcbiAgICAgICdrbyc6ICfslaDri4jrk5zrnbzsiqQg7JWE64Ko64Sk7Iuc7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDEwMCxcclxuICAgICdvZmZzZXRZJzogLTM5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye65rW35Z6C6ZKTJyxcclxuICAgICAgJ2RlJzogJ0F1ZiBncm/Dn2VyIEZhaHJ0JyxcclxuICAgICAgJ2VuJzogJ09jZWFuIEZpc2hpbmcnLFxyXG4gICAgICAnZnInOiAnUMOqY2hlIGVuIG1lcicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjgrfjg6Pjg7Pjg5XjgqPjg4Pjgrfjg7PjgrAnLFxyXG4gICAgICAna28nOiAn66i867CU64ukIOuCmuyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNCxcclxuICB9LFxyXG4gIDkwMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVudGxhZHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVsbWluYXRpb24nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVsbWluYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIFJhc2VyZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1cm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1cmV1cicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gQmlsZGVyc3R1cm0nLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEljb25vY2xhc20nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gSWNvbm9jbGFzbWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVyc3RhcnJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IFJlZnVsZ2VuY2UnLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gw4ljbGF0JyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2a5YW56ZuF5aCh5Z6S6JK45Y+R5LqL5Lu2JyxcclxuICAgICAgJ2RlJzogJ0RlciBCb3pqYS1Wb3JmYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYSBJbmNpZGVudCcsXHJcbiAgICAgICdmcic6ICdQcsOpbHVkZSDDoCBsYSBjYXRhc3Ryb3BoZScsXHJcbiAgICAgICdqYSc6ICfjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6TokrjnmbrkuovlpIknLFxyXG4gICAgICAna28nOiAn67O07KaI7JW8IOyCrOqxtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW154uC5oOz5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDkxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLov73lv4bmiJgnLFxyXG4gICAgICAnZGUnOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnTWVtb3JpYSBNaXNlcmEgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ01lbW9yaWEgTWlzZXJhIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K344K/44OH44Or44O744Oc44K644Ok6L+95oa25oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrs7Tspojslbwg7LaU7Ja17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zNSxcclxuICAgICdvZmZzZXRZJzogNjgzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5peg5rOV5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ1ZvbiBzY2hsYWZlbmRlbiBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBTbGVlcCBEaXN0dXJiZWQnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OpcHJldXZlIHJvbmthJyxcclxuICAgICAgJ2phJzogJ+axneOAgeiLsembhOOBruecoOOCiuWmqOOBkuOCi+OBrycsXHJcbiAgICAgICdrbyc6ICfqt7jrjIAsIOyYgeybheydmCDsnqDsnYQg67Cp7ZW07ZWY64qU6rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5b2x5Yaz5oiY6K+65byX5YWw54m5JyxcclxuICAgICAgJ2RlJzogJ1NjaGxhY2h0IHVtIE5vcnZyYW5kdCcsXHJcbiAgICAgICdlbic6ICdUaGUgSGVyb2VzXFwnIEdhdW50bGV0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFRyYXZlcnPDqWUgZGUgTm9ydnJhbmR0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuaxuuaIpiDjg47jg6vjg7Tjg6njg7Pjg4gnLFxyXG4gICAgICAna28nOiAn64W466W067iM656A7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYyNixcclxuICAgICdvZmZzZXRZJzogLTYxMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6uuWBtuWGm+S6i+WfuuWcsCcsXHJcbiAgICAgICdkZSc6ICdEaWUgUHVwcGVuZmVzdHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgUHVwcGV0c1xcJyBCdW5rZXInLFxyXG4gICAgICAnZnInOiAnTGEgYmFzZSBtaWxpdGFpcmUgZGVzIFBhbnRpbnMnLFxyXG4gICAgICAnamEnOiAn5Lq65b2i44K/44OB44OO6LuN5LqL5Z+65ZywJyxcclxuICAgICAgJ2tvJzogJ+yduO2YleuTpOydmCDqtbDsgqwg6riw7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MCxcclxuICAgICdvZmZzZXRZJzogLTE5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X5pa55Y2a5YW56ZuF5oiY57q/JyxcclxuICAgICAgJ2RlJzogJ0JvemphLVPDvGRmcm9udCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm96amFuIFNvdXRoZXJuIEZyb250JyxcclxuICAgICAgJ2ZyJzogJ0Zyb250IHN1ZCBkZSBCb3pqYScsXHJcbiAgICAgICdqYSc6ICfljZfmlrnjg5zjgrrjg6TmiKbnt5onLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuztOymiOyVvCDsoITshKAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyNyxcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI0LFxyXG4gIH0sXHJcbiAgOTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRyw7RuZSBkdSBTYWNyaWZpY2UnLFxyXG4gICAgICAnamEnOiAn44Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+u5m+ydmCDsoITsgqwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyNSxcclxuICB9LFxyXG4gIDkyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhYnkuYvmiJjlo6vlubvogIDmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS3JpZWdlciBkZXMgTGljaHRzIChleHRyZW0pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWF0IG9mIFNhY3JpZmljZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpuOCqeODvOODquOCouODu+OCquODluODu+ODqeOCpOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI2LFxyXG4gIH0sXHJcbiAgOTI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneauvycsXHJcbiAgICAgICdkZSc6ICdEYXMgS2FydXNzZWxsIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBPdWJsaWV0dGVzIG9mIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZnInOiAnTGUgSmFyZGluIHNlY3JldCBkdSBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjg6rjgqfjg7zjg7vjgq7jgqLjg7vjg4Djg7Pjgrjjg6fjg7Pnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOumrOyYiCDquLDslYQg7KeA7ZWY66+46raBIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjnue/lOWQp++8jOWJjeW+gOe7tOWwlOWIqeeJue+8gScsXHJcbiAgICAgICdkZSc6ICdMdWZ0YW5ncmlmZiBhdWYgV2VybHl0JyxcclxuICAgICAgJ2VuJzogJ1NsZWVwIE5vdyBpbiBTYXBwaGlyZScsXHJcbiAgICAgICdmcic6ICdTdXIgbGEgbWVyIGRlIHNhcGhpcicsXHJcbiAgICAgICdqYSc6ICfpo5vjgbnvvIEg44Km44Kn44Or44Oq44OI44G4ICcsXHJcbiAgICAgICdrbyc6ICfrgqDslYTrnbwhIOybsOumrO2KuOulvCDtlqXtlZjsl6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTUsXHJcbiAgICAnb2Zmc2V0WSc6IC02MTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS4iuemj+WcsOS6keWGoOe+pOWymycsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gRXJzY2hsaWXDn3VuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoembhiDjg4fjgqPjgqLjg4fjg6Doq7jls7YnLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OCxcclxuICB9LFxyXG4gIDkzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIznk6blubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ikquiJsueahOiusOW/hicsXHJcbiAgICAgICdkZSc6ICdWZXJibGFzc3RlIEVyaW5uZXJ1bmdlbicsXHJcbiAgICAgICdlbic6ICdGYWRlZCBNZW1vcmllcycsXHJcbiAgICAgICdmcic6ICdTb3V2ZW5pciBww6lyaXNzYWJsZScsXHJcbiAgICAgICdqYSc6ICfoibLjgYLjgZvjgZ/oqJjmhrYnLFxyXG4gICAgICAna28nOiAn67mb67CU656cIOq4sOyWtScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5pyv5bel5oi/546b5omY6ZuF5bel5L2c5a6kJyxcclxuICAgICAgJ2RlJzogJ01hdG95YXMgQXRlbGllcicsXHJcbiAgICAgICdlbic6ICdNYXRveWFcXCdzIFJlbGljdCcsXHJcbiAgICAgICdmcic6ICdMXFwnQXRlbGllciBhYmFuZG9ubsOpIGRlIE1hdG95YScsXHJcbiAgICAgICdqYSc6ICfprZTooZPlt6XmiL8g44Oe44OI44O844Ok44Gu44Ki44OI44Oq44KoJyxcclxuICAgICAgJ2tvJzogJ+uniO2GoOyVvOydmCDqs7XrsKknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JeQ66mU656E65OcIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu7/lrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnU21hcmFnZHN0dXJtIC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gTWFyaW51bSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ko44Oh44Op44Or44OJ44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnamEnOiAn44Kw44Oz44OS44Or44OJ44O744OH44Kj44Or44O844OW44Op44OgJyxcclxuICAgICAgJ2tvJzogJ+q1sO2ekOuTnCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zu25byP5aWz546L5Y+k5q6/JyxcclxuICAgICAgJ2RlJzogJ0RlbHVicnVtIFJlZ2luYWUgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdWJydW0gUmVnaW5hZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdEZWx1YnJ1bSBSZWdpbmFlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6Dpm7blvI8nLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCjsmIHsm4UpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zNzgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buE6YeR5bmz5Y6f5biV5oiI5bCU6LWe6I2J5Y6fJyxcclxuICAgICAgJ2RlJzogJ0RpZSBHb2xkZW5lIEViZW5lIHZvbiBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdlbic6ICdQYWdsdGhcXCdhbicsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgcHJhaXJpZSBkZSBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdqYSc6ICfpu4Tph5HlubPljp8g44OR44Ks44Or44K244OzJyxcclxuICAgICAgJ2tvJzogJ+2MjOq4gOuLqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MTUsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muWumOaWuemUpuagh+i1mycsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IE1hbmRlcnZpbGxlLVR1cm5pZXInLFxyXG4gICAgICAnZW4nOiAnVHJpcGxlIFRyaWFkIE9wZW4gVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdUb3Vybm9pIG9mZmljaWVsIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kq44OV44Kj44K344Oj44Or44OI44O844OK44Oh44Oz44OIJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOqzteyLnSDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya6ZSm5qCH6LWb5a+55bGA5a6kJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogUHJpdmF0dHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgSW52aXRhdGlvbmFsIFBhcmxvcicsXHJcbiAgICAgICdmcic6ICdTYWxsZSBkZSB0b3Vybm9pIGxpYnJlIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44K544K/44Og44OI44O844OK44Oh44Oz44OI44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5nOyEoCDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0JyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6knLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTcxLFxyXG4gICAgJ29mZnNldFknOiAyMyxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0IChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6kgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZK755+z56We5YW15o2V6I635L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0RpYW1hbnRibGl0eiAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgQ2xvdWQgRGVjaycsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cycsXHJcbiAgICAgICdqYSc6ICfjg4DjgqTjg6Tjgqbjgqfjg53jg7PmjZXnjbLkvZzmiKYnLFxyXG4gICAgICAna28nOiAn64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILlvaLmpbzpmIHkvZDnibnloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIFpvdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgb2YgWm90JyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgWm90dCcsXHJcbiAgICAgICdqYSc6ICfnlbDlvaLmpbzplqMg44K+44OD44OI44Gu5aGUJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01MCxcclxuICAgICdvZmZzZXRZJzogLTUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+OCv+OCpOOCv+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg7YOA7J207YOEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflqIHlsJTluIPlhbDlvrfmiazluIbotbfoiKonLFxyXG4gICAgICAnZGUnOiAnR3V0ZSBXaW5kZSBmw7xyIFZ5bGJyYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBTaGlwIFZ5bGJyYW5kJyxcclxuICAgICAgJ2ZyJzogJ1VuIG5hdmlyZSBub21tw6kgVnlsYnJhbmQnLFxyXG4gICAgICAnamEnOiAn44OQ44Kk44Or44OW44Op44Oz44OJ44Gu6Ii55Ye6JyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOu4jOuenOuTnCDstpztla0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA5NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5L2R5aWz546LJyxcclxuICAgICAgJ2RlJzogJ0hpbmFiIGluIGRpZSBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnRml0IGZvciBhIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ1F1ZSBsZXMgRGlldXggZ2FyZGVudCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjgrTjg4Pjg4njg7vjgrvjgqTjg5bjg7vjgrbjg7vjgq/jgqTjg7zjg7MnLFxyXG4gICAgICAna28nOiAn6rCTIOyEuOydtOu4jCDrjZQg7YC4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC03NTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTY6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov7fmtKUnLFxyXG4gICAgICAnZGUnOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZW4nOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRob3MnLFxyXG4gICAgICAnamEnOiAn44Op44O044Kj44Oq44Oz44K944K5JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMSxcclxuICB9LFxyXG4gIDk1Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOe7tOWliOWymycsXHJcbiAgICAgICdkZSc6ICdUaGF2bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdmcic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdqYSc6ICfjgrXjg5njg43jgqLls7YnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMyLFxyXG4gIH0sXHJcbiAgOTU4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg6Zu36amsJyxcclxuICAgICAgJ2RlJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdlbic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnZnInOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2phJzogJ+OCrOODrOODnuODq+ODiScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzMsXHJcbiAgfSxcclxuICA5NTk6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj7nmga/mtbcnLFxyXG4gICAgICAnZGUnOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2VuJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdmcic6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnamEnOiAn5ZiG44GN44Gu5rW3JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNSxcclxuICB9LFxyXG4gIDk2MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWkluWkqeWekycsXHJcbiAgICAgICdkZSc6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZW4nOiAnVWx0aW1hIFRodWxlJyxcclxuICAgICAgJ2ZyJzogJ1VsdGltYSBUaHVsw6knLFxyXG4gICAgICAnamEnOiAn44Km44Or44OG44Kj44Oe44O744OI44Kl44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNixcclxuICB9LFxyXG4gIDk2MToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WOhOWwlOW6h+aWrycsXHJcbiAgICAgICdkZSc6ICdFbHBpcycsXHJcbiAgICAgICdlbic6ICdFbHBpcycsXHJcbiAgICAgICdmcic6ICdFbHBpcycsXHJcbiAgICAgICdqYSc6ICfjgqjjg6vjg5TjgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM0LFxyXG4gIH0sXHJcbiAgOTYyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pen6JCo6Zu35a6JJyxcclxuICAgICAgJ2RlJzogJ0FsdC1TaGFybGF5YW4nLFxyXG4gICAgICAnZW4nOiAnT2xkIFNoYXJsYXlhbicsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIFNoYXJsYXlhbicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjg6vjg4njg7vjgrfjg6Pjg7zjg6zjgqLjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM3LFxyXG4gIH0sXHJcbiAgOTYzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ5pyt572VJyxcclxuICAgICAgJ2RlJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2VuJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2ZyJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2phJzogJ+ODqeOCtuODj+ODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzgsXHJcbiAgfSxcclxuICA5NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM5pyb5LmL54Ku5Y+w77ya4oCc5aGU4oCdJyxcclxuICAgICAgJ2RlJzogJ0RlciBUdXJtLCBQYXJhZGlnbWVuYnJlY2hlcicsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgYXQgUGFyYWRpZ21cXCdzIEJyZWFjaCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIGxhIENvbnRpbmdlbmNlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+ODjuegsuWPsO+8muOAjOWhlOOAjScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg7Y+s64yAOiBcXCftg5FcXCcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogODA4LFxyXG4gICAgJ29mZnNldFknOiAtNzcyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95rW35LiK5Z+65Zyw5bmy6Ii55Z2eJyxcclxuICAgICAgJ2RlJzogJ1Ryb2NrZW5kb2NrIHZvbiBDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIERyeWRvY2tzJyxcclxuICAgICAgJ2ZyJzogJ0NhbGUgc8OoY2hlIGRlIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqvjgrnjg4bjg4Pjg6vjg6Djg7vjg57jg6rjg4zjg6Djg7vjg4njg6njgqTjg4njg4Pjgq8nLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuniOumrOuIlCDqsbTshKDqsbAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlr7znpZ7pl6jlt7TliKvloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIEJhYmlsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBCYWJpbCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIEJhYmlsJyxcclxuICAgICAgJ2phJzogJ+mtlOWwjuelnumWgCDjg5Djg5bjgqTjg6vjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjcwLFxyXG4gICAgJ29mZnNldFknOiAtMzAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDk3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmoJHmtbfkuIfnm7jmo67lm70nLFxyXG4gICAgICAnZGUnOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2VuJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdmcic6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnamEnOiAn57WC5pyr5qi55rW3IOODtOOCoeODiuOCueODkeODhuOCoycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODAsXHJcbiAgICAnb2Zmc2V0WSc6IDgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDk3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHlubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMZSBCcmlzZXVyIGRlIG1hcsOpZXMgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDk3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jlubvmg7PmnKvkuJbnu4jov7knLFxyXG4gICAgICAnZGUnOiAnRGFzIFN0ZXJuZW5ncmFiJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEZWFkIEVuZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0lzc3VlIGF1eCBJbXBhc3NlcycsXHJcbiAgICAgICdqYSc6ICfmnIDntYLlubvmg7Mg44Os44Og44OK44Oz44OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zMTAsXHJcbiAgICAnb2Zmc2V0WSc6IDE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDQsXHJcbiAgfSxcclxuICA5NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg546v5aKD5p6B5YyX6YCg54mp6ZmiJyxcclxuICAgICAgJ2RlJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdlbic6ICdLdGlzaXMgSHlwZXJib3JlaWEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cGVyYm9yw6llJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOeSsOWigyDjg5Ljg6Xjg5rjg6vjg5zjg6zjgqLpgKDnianpmaInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aJjuadnOivuuWwlOmrmOWOnycsXHJcbiAgICAgICdkZSc6ICdaYWRub3ItSG9jaGViZW5lJyxcclxuICAgICAgJ2VuJzogJ1phZG5vcicsXHJcbiAgICAgICdmcic6ICdIYXV0cyBwbGF0ZWF1eCBkZSBaYWRub3InLFxyXG4gICAgICAnamEnOiAn44K244OI44Kl44OO44Or6auY5Y6fJyxcclxuICAgICAgJ2tvJzogJ+yekO2KuOuFuOultCDqs6Dsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMwLFxyXG4gIH0sXHJcbiAgOTc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5kOWbremDveW4gueskeeskemVhycsXHJcbiAgICAgICdkZSc6ICdTbWlsZXRvbicsXHJcbiAgICAgICdlbic6ICdTbWlsZXRvbicsXHJcbiAgICAgICdmcic6ICdSaXNldHRlLXN1ci1sdW5lJyxcclxuICAgICAgJ2phJzogJ+alveWckumDveW4giDjgrnjg57jgqTjg6vjg4jjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTIyLFxyXG4gICAgJ29mZnNldFknOiAtNDIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275paX6Iez6buO5piOJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGltIE1vcmdlbmdyYXVlbicsXHJcbiAgICAgICdlbic6ICdEZWF0aCBVbnRvIERhd24nLFxyXG4gICAgICAnZnInOiAnQXViZSBtZXVydHJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfpu47mmI7jga7mrbvpl5gnLFxyXG4gICAgICAna28nOiAn7Jes66qF7J2YIOyCrO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pif5rW35rex5bm95a+75Zug5pif5pm26ZWcJyxcclxuICAgICAgJ2RlJzogJ0RhcyBBaXRpYXNrb3AnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFpdGlhc2NvcGUnLFxyXG4gICAgICAnZnInOiAnTGUgUHJpc21lIGRlIGxcXCdBaXRpYScsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfmvZzoiKog44Ki44Kk44OG44Kj44Kq44Oz5pif5pm26Y+hJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDgsXHJcbiAgICAnb2Zmc2V0WSc6IC01MDEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55S16ISR5qKm5aKD5pav5o+Q5qC8546b5ZubJyxcclxuICAgICAgJ2RlJzogJ1N0aWdtYS1Ib2xvbWV0cmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGlnbWEgRHJlYW1zY2FwZScsXHJcbiAgICAgICdmcic6ICdSw6p2ZSDDqWxlY3RyaXF1ZSBkZSBTdGlnbWEtNCcsXHJcbiAgICAgICdqYSc6ICfpm7vohLPlpKLmg7Mg44K544OG44Kj44Kw44Oe44O744OV44Kp44O8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE0NCxcclxuICAgICdvZmZzZXRZJzogLTE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDAsXHJcbiAgfSxcclxuICA5OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1Byb3BoZXRpZSAtIFpvZGlhcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhcmsgSW5zaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzJyxcclxuICAgICAgJ2phJzogJ+OCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5pqd5pqX5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogWm9kaWFya1xcJ3MgRmFsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgTWFydHlycyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a7keeoveeBteauv+mXuemsvOebm+WutCcsXHJcbiAgICAgICdkZSc6ICdMdXN0aWdlcyBCYW5rZXR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBQaGFudG9tc1xcJyBGZWFzdCcsXHJcbiAgICAgICdmcic6ICdMZSBiYW5xdWV0IGNhdWNoZW1hcmRlc3F1ZScsXHJcbiAgICAgICdqYSc6ICfpgZPljJbppZflrrQg44Ob44O844Oz44OG44OD44OJ44OV44Kj44O844K544OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwLFxyXG4gICAgJ29mZnNldFknOiAxMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbflvrfmnpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1vdGhlcmNyeXN0YWwnLFxyXG4gICAgICAnZnInOiAnTGUgQ3Jpc3RhbC1tw6hyZScsXHJcbiAgICAgICdqYSc6ICfjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+aZluWFieatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdFc2NoYXRvcyAtIEh5ZGFlbHluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBIeWRhZWx5blxcJ3MgQ2FsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44Kk44OH44Oq44Oz6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu4jnu5PkuYvmiJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gRW5kc8OkbmdlcmluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBEYXknLFxyXG4gICAgICAnZnInOiAnTGUgUsOpcG9ucyBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfntYLnhInjga7miKbjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE2LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJpbXBvcnQgeyBQYXJ0eSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCBVdGlsIGZyb20gJy4vdXRpbCc7XHJcblxyXG5jb25zdCBlbXB0eVJvbGVUb1BhcnR5TmFtZXMgPSAoKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRhbms6IFtdLFxyXG4gICAgaGVhbGVyOiBbXSxcclxuICAgIGRwczogW10sXHJcbiAgICBjcmFmdGVyOiBbXSxcclxuICAgIGdhdGhlcmVyOiBbXSxcclxuICAgIG5vbmU6IFtdLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0eVRyYWNrZXIge1xyXG4gIGRldGFpbHM6IFBhcnR5W10gPSBbXTtcclxuICBwYXJ0eU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBwYXJ0eUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VOYW1lc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VJZHNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5hbWVUb1JvbGVfOiB7IFtuYW1lOiBzdHJpbmddOiBSb2xlIH0gPSB7fTtcclxuICBpZFRvTmFtZV86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHJvbGVUb1BhcnR5TmFtZXNfOiBSZWNvcmQ8Um9sZSwgc3RyaW5nW10+ID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcblxyXG4gIC8vIEJpbmQgdGhpcyB0byBQYXJ0eUNoYW5nZWQgZXZlbnRzLlxyXG4gIG9uUGFydHlDaGFuZ2VkKGU6IHsgcGFydHk6IFBhcnR5W10gfSk6IHZvaWQge1xyXG4gICAgaWYgKCFlIHx8ICFlLnBhcnR5KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5kZXRhaWxzID0gZS5wYXJ0eTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHAgb2YgZS5wYXJ0eSkge1xyXG4gICAgICB0aGlzLmFsbGlhbmNlSWRzXy5wdXNoKHAuaWQpO1xyXG4gICAgICB0aGlzLmFsbGlhbmNlTmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgY29uc3Qgam9iTmFtZSA9IFV0aWwuam9iRW51bVRvSm9iKHAuam9iKTtcclxuICAgICAgY29uc3Qgcm9sZSA9IFV0aWwuam9iVG9Sb2xlKGpvYk5hbWUpO1xyXG4gICAgICB0aGlzLmlkVG9OYW1lX1twLmlkXSA9IHAubmFtZTtcclxuICAgICAgdGhpcy5uYW1lVG9Sb2xlX1twLm5hbWVdID0gcm9sZTtcclxuICAgICAgaWYgKHAuaW5QYXJ0eSkge1xyXG4gICAgICAgIHRoaXMucGFydHlJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgICAgdGhpcy5wYXJ0eU5hbWVzXy5wdXNoKHAubmFtZSk7XHJcbiAgICAgICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1tyb2xlXS5wdXNoKHAubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgLy8gb3JpZ2luYWwgZXZlbnQgZGF0YVxyXG4gICAgdGhpcy5kZXRhaWxzID0gW107XHJcbiAgICB0aGlzLnBhcnR5TmFtZXNfID0gW107XHJcbiAgICB0aGlzLnBhcnR5SWRzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZU5hbWVzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZUlkc18gPSBbXTtcclxuICAgIHRoaXMubmFtZVRvUm9sZV8gPSB7fTtcclxuICAgIHRoaXMuaWRUb05hbWVfID0ge307XHJcblxyXG4gICAgLy8gcm9sZSAtPiBbbmFtZXNdIGJ1dCBvbmx5IGZvciBwYXJ0eVxyXG4gICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzXyA9IGVtcHR5Um9sZVRvUGFydHlOYW1lcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCBwYXJ0eU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5TmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcnR5SWRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5SWRzXztcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIHBsYXllcnMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGdldCBhbGxpYW5jZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmFsbGlhbmNlTmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgdGFua3MgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgdGFua05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWyd0YW5rJ107XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBoZWFsZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGhlYWxlck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGRwcyBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGRwc05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydkcHMnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBwYXJ0aWN1bGFyIHJvbGVcclxuICBpc1JvbGUobmFtZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWVUb1JvbGVfW25hbWVdID09PSByb2xlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHRhbmtcclxuICBpc1RhbmsobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ3RhbmsnKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBoZWFsZXJcclxuICBpc0hlYWxlcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnaGVhbGVyJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgZHBzXHJcbiAgaXNEUFMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ2RwcycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBpblBhcnR5KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGlzIGluIHlvdXIgYWxsaWFuY2VcclxuICBpbkFsbGlhbmNlKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBhIG5hbWVkIHBsYXllciwgcmV0dXJucyB0aGUgb3RoZXIgdGFuayBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIC8vIGlmIG5hbWVkIHBsYXllciBpcyBub3QgYSB0YW5rLCBvciB0aGVyZSdzIG5vdCBleGFjdGx5IHR3byB0YW5rc1xyXG4gIC8vIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5LCByZXR1cm5zIG51bGwuXHJcbiAgb3RoZXJUYW5rKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMudGFua05hbWVzO1xyXG4gICAgaWYgKG5hbWVzLmxlbmd0aCAhPT0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKG5hbWVzWzBdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMV07XHJcbiAgICBpZiAobmFtZXNbMV0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1swXTtcclxuICB9XHJcblxyXG4gIC8vIHNlZTogb3RoZXJUYW5rLCBidXQgZm9yIGhlYWxlcnMuXHJcbiAgb3RoZXJIZWFsZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1snaGVhbGVyJ107XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0aGUgam9iIG5hbWUgb2YgdGhlIHNwZWNpZmllZCBwYXJ0eSBtZW1iZXJcclxuICBqb2JOYW1lKG5hbWU6IHN0cmluZyk6IEpvYiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBwYXJ0eUluZGV4ID0gdGhpcy5wYXJ0eU5hbWVzLmluZGV4T2YobmFtZSk7XHJcbiAgICBpZiAocGFydHlJbmRleCA+PSAwKVxyXG4gICAgICByZXR1cm4gVXRpbC5qb2JFbnVtVG9Kb2IodGhpcy5kZXRhaWxzW3BhcnR5SW5kZXhdPy5qb2IgYXMgbnVtYmVyKTtcclxuICB9XHJcblxyXG4gIG5hbWVGcm9tSWQoaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFRvTmFtZV9baWRdO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb29zZVRyaWdnZXJTZXQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgVHJpZ2dlckZpZWxkLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG4vLyBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgYmFzZSBvcHRpb25zIHRoYXQgcmFpZGJvc3MgZXhwZWN0cyB0byBzZWUuXHJcblxyXG4vLyBCYWNrd2FyZHMgY29tcGF0IGZvciB0aGlzIG9sZCBzdHlsZSBvZiBvdmVycmlkaW5nIHRyaWdnZXJzLlxyXG4vLyBUT0RPOiB3ZSBzaG91bGQgcHJvYmFibHkgZGVwcmVjYXRlIGFuZCByZW1vdmUgdGhpcy5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbiA9IFBhcnRpYWw8e1xyXG4gIFRleHRBbGVydDogYm9vbGVhbjtcclxuICBTb3VuZEFsZXJ0OiBib29sZWFuO1xyXG4gIFNwZWVjaEFsZXJ0OiBib29sZWFuO1xyXG4gIEdyb3VwU3BlZWNoQWxlcnQ6IGJvb2xlYW47IC8vIFRPRE86IHdlIHNob3VsZCByZW1vdmUgdGhpc1xyXG4gIFNvdW5kT3ZlcnJpZGU6IHN0cmluZztcclxuICBWb2x1bWVPdmVycmlkZTogbnVtYmVyO1xyXG4gIENvbmRpdGlvbjogVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgYm9vbGVhbj47XHJcbiAgSW5mb1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGVydFRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGFybVRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBUVFNUZXh0OiBUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz47XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVDb25maWcgPSBQYXJ0aWFsPHtcclxuICBJZ25vcmU6IHN0cmluZ1tdO1xyXG4gIFJlbmFtZTogeyBbdGV4dDogc3RyaW5nXTogc3RyaW5nIH07XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlckF1dG9Db25maWcgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbmV4cG9ydCB0eXBlIFBlclRyaWdnZXJPcHRpb25zID0geyBbdHJpZ2dlcklkOiBzdHJpbmddOiBQZXJUcmlnZ2VyT3B0aW9uIH07XHJcbmV4cG9ydCB0eXBlIERpc2FibGVkVHJpZ2dlcnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuZXhwb3J0IHR5cGUgUGVyWm9uZVRpbWVsaW5lQ29uZmlnID0geyBbem9uZUlkOiBudW1iZXJdOiBUaW1lbGluZUNvbmZpZyB9O1xyXG5cclxudHlwZSBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHsgW2dhbWVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICBJbmZvU291bmQ6IHN0cmluZztcclxuICBBbGVydFNvdW5kOiBzdHJpbmc7XHJcbiAgQWxhcm1Tb3VuZDogc3RyaW5nO1xyXG4gIExvbmdTb3VuZDogc3RyaW5nO1xyXG4gIFB1bGxTb3VuZDogc3RyaW5nO1xyXG4gIEF1ZGlvQWxsb3dlZDogYm9vbGVhbjtcclxuICBEaXNhYmxlZFRyaWdnZXJzOiBEaXNhYmxlZFRyaWdnZXJzO1xyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiBQZXJUcmlnZ2VyQXV0b0NvbmZpZztcclxuICBQZXJUcmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbnM7XHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiBQZXJab25lVGltZWxpbmVDb25maWc7XHJcbiAgVHJpZ2dlcnM6IExvb3NlVHJpZ2dlclNldFtdO1xyXG4gIFBsYXllck5hbWVPdmVycmlkZT86IHN0cmluZztcclxuICBJc1JlbW90ZVJhaWRib3NzOiBib29sZWFuO1xyXG4gIC8vIFRyYW5zZm9ybXMgdGV4dCBiZWZvcmUgcGFzc2luZyBpdCB0byBUVFMuXHJcbiAgVHJhbnNmb3JtVHRzOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBUaGVzZSBvcHRpb25zIGFyZSBvbmVzIHRoYXQgYXJlIG5vdCBhdXRvLWRlZmluZWQgYnkgcmFpZGJvc3NfY29uZmlnLmpzLlxyXG5jb25zdCBkZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zOiBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHt9LFxyXG5cclxuICBJbmZvU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9wZXJjdXNzaW9uX2hpdC53ZWJtJyxcclxuICBBbGVydFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0FsZXJ0LndlYm0nLFxyXG4gIEFsYXJtU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxhcm0ud2VibScsXHJcbiAgTG9uZ1NvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0xvbmcud2VibScsXHJcbiAgUHVsbFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9mcmVlc291bmQvc29uYXIud2VibScsXHJcblxyXG4gIEF1ZGlvQWxsb3dlZDogdHJ1ZSxcclxuXHJcbiAgRGlzYWJsZWRUcmlnZ2Vyczoge30sXHJcblxyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiB7fSxcclxuICBQZXJUcmlnZ2VyT3B0aW9uczoge30sXHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiB7fSxcclxuXHJcbiAgVHJpZ2dlcnM6IFtdLFxyXG5cclxuICBJc1JlbW90ZVJhaWRib3NzOiBmYWxzZSxcclxuXHJcbiAgVHJhbnNmb3JtVHRzOiAodCkgPT4gdCxcclxufTtcclxuXHJcbi8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIGdldCB0aGlzIHR5cGUgZnJvbSByYWlkYm9zc19jb25maWc/P1xyXG4vLyBUaGVzZSB2YWx1ZXMgYXJlIG92ZXJ3cml0dGVuIGFuZCBhcmUganVzdCBoZXJlIGZvciB0eXBpbmcuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMgPSB7XHJcbiAgRGVidWc6IGZhbHNlLFxyXG4gIERlZmF1bHRBbGVydE91dHB1dDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgQWxlcnRzTGFuZ3VhZ2U6IHVuZGVmaW5lZCBhcyAoTGFuZyB8IHVuZGVmaW5lZCksXHJcbiAgVGltZWxpbmVMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUVuYWJsZWQ6IHRydWUsXHJcbiAgQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICBTaG93VGltZXJCYXJzQXRTZWNvbmRzOiAzMCxcclxuICBLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHM6IDAuNyxcclxuICBCYXJFeHBpcmVzU29vblNlY29uZHM6IDYsXHJcbiAgTWF4TnVtYmVyT2ZUaW1lckJhcnM6IDYsXHJcbiAgRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kczogMyxcclxuICBBbGFybVNvdW5kVm9sdW1lOiAxLFxyXG4gIEFsZXJ0U291bmRWb2x1bWU6IDEsXHJcbiAgSW5mb1NvdW5kVm9sdW1lOiAxLFxyXG4gIExvbmdTb3VuZFZvbHVtZTogMSxcclxuICBQdWxsU291bmRWb2x1bWU6IDEsXHJcbiAgUnVtYmxlRW5hYmxlZDogZmFsc2UsXHJcbiAgSW5mb1J1bWJsZUR1cmF0aW9uOiA0MDAsXHJcbiAgSW5mb1J1bWJsZVdlYWs6IDAuNSxcclxuICBJbmZvUnVtYmxlU3Ryb25nOiAwLFxyXG4gIEFsZXJ0UnVtYmxlRHVyYXRpb246IDUwMCxcclxuICBBbGVydFJ1bWJsZVdlYWs6IDAsXHJcbiAgQWxlcnRSdW1ibGVTdHJvbmc6IDAuNSxcclxuICBBbGFybVJ1bWJsZUR1cmF0aW9uOiA3NTAsXHJcbiAgQWxhcm1SdW1ibGVXZWFrOiAwLjc1LFxyXG4gIEFsYXJtUnVtYmxlU3Ryb25nOiAwLjc1LFxyXG4gIGNhY3Rib3RXb3JtaG9sZVN0cmF0OiBmYWxzZSxcclxuICBjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQ6IGZhbHNlLFxyXG59O1xyXG50eXBlIFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWlkYm9zc09wdGlvbnNcclxuICBleHRlbmRzIEJhc2VPcHRpb25zLCBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMsIFJhaWRib3NzQ29uZmlnT3B0aW9ucyB7fVxyXG5cclxuLy8gU2VlIHVzZXIvcmFpZGJvc3MtZXhhbXBsZS5qcyBmb3IgZG9jdW1lbnRhdGlvbi5cclxuY29uc3QgT3B0aW9uczogUmFpZGJvc3NPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgT3B0aW9ucztcclxuIiwiLy8gVE9ETzogbWF5YmUgdGhpcyBzaG91bGQgYmUgc3RydWN0dXJlZCBpZGVudGljYWxseSB0byBhIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9uLlxyXG5cclxuaW1wb3J0IHsgTGFuZywgTm9uRW5MYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcblxyXG4vLyBJdCdzIGF3a3dhcmQgdG8gcmVmZXIgdG8gdGhlc2Ugc3RyaW5nIGtleXMsIHNvIG5hbWUgdGhlbSBhcyByZXBsYWNlU3luY1trZXlzLnNlYWxLZXldLlxyXG5leHBvcnQgY29uc3Qgc3luY0tleXMgPSB7XHJcbiAgLy8gTWF0Y2ggUmVnZXhlcywgTmV0UmVnZXhlcywgYW5kIHRpbWVsaW5lIGNvbnN0cnVjdGlvbnMgb2Ygc2VhbCBsb2cgbGluZXMuXHJcbiAgLy8gRklYTUU6IFRoaXMgc2VhbCByZWdleCBpbmNsdWRlcyBhbiBvcHRpb25hbCBzZWNvbmQgY29sb24sIGFzIFwiMDgzOTo6P1wiXCIuXHJcbiAgLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlbHkgY29udmVydGVkIHRoaW5ncyBmb3IgNi4wLFxyXG4gIC8vIHdlIHNob3VsZCBjb21lIGJhY2sgaGVyZSBhbmQgbWFrZSB0aGUgZG91YmxlZCBjb2xvbiBub24tb3B0aW9uYWwuXHJcbiAgc2VhbDogJyg/PD0wMDowODM5Ojp8MDBcXFxcfFtefF0qXFxcXHwwODM5XFxcXHxcXFxcfCkoLiopIHdpbGwgYmUgc2VhbGVkIG9mZig/OiBpbiAoPzpbMC05XSsgc2Vjb25kcyk/KT8nLFxyXG4gIHVuc2VhbDogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gIGVuZ2FnZTogJ0VuZ2FnZSEnLFxyXG59O1xyXG5cclxuY29uc3QgdGV4dEtleXMgPSB7XHJcbiAgLy8gTWF0Y2ggZGlyZWN0aW9ucyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKE4pYCwgYChTVylgLCBgKE5FL05XKWAsIGV0Yy5cclxuICBFOiAnKD88PSBcXFxcKHxcXFxcLylFKD89XFxcXCl8XFxcXC8pJyxcclxuICBOOiAnKD88PSBcXFxcKHxcXFxcLylOKD89XFxcXCl8XFxcXC8pJyxcclxuICBTOiAnKD88PSBcXFxcKHxcXFxcLylTKD89XFxcXCl8XFxcXC8pJyxcclxuICBXOiAnKD88PSBcXFxcKHxcXFxcLylXKD89XFxcXCl8XFxcXC8pJyxcclxuICBORTogJyg/PD0gXFxcXCh8XFxcXC8pTkUoPz1cXFxcKXxcXFxcLyknLFxyXG4gIE5XOiAnKD88PSBcXFxcKHxcXFxcLylOVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU0U6ICcoPzw9IFxcXFwofFxcXFwvKVNFKD89XFxcXCl8XFxcXC8pJyxcclxuICBTVzogJyg/PD0gXFxcXCh8XFxcXC8pU1coPz1cXFxcKXxcXFxcLyknLFxyXG4gIC8vIE1hdGNoIFJvbGVzIGluIHJlcGxhY2VUZXh0XHJcbiAgLy8gZWc6IGAoVGFuaylgLCBgKEhlYWxlcilgLCBgKERQUylgLCBldGNcclxuICBUYW5rOiAnKD88PSBcXFxcKHxcXFxcLylUYW5rcz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIEhlYWxlcjogJyg/PD0gXFxcXCh8XFxcXC8pSGVhbGVycz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIERQUzogJyg/PD0gXFxcXCh8XFxcXC8pRFBTKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBgLS0xLS1gIHN0eWxlIHRleHQuXHJcbiAgTnVtYmVyOiAnLS0oXFxcXHMqXFxcXGQrXFxcXHMqKS0tJyxcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1vblJlcGxhY2VtZW50ID0ge1xyXG4gIHJlcGxhY2VTeW5jOiB7XHJcbiAgICBbcmVwbGFjZUtleTogc3RyaW5nXTogeyBba2V5IGluIExhbmddPzogc3RyaW5nIH07XHJcbiAgfTtcclxuICByZXBsYWNlVGV4dDoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106XHJcbiAgICAgICYge1xyXG4gICAgICAgIFtrZXkgaW4gTm9uRW5MYW5nXT86IHN0cmluZztcclxuICAgICAgfVxyXG4gICAgICAmIHtcclxuICAgICAgICAvLyBkb24ndCBzZXQgdGhpcyBrZXksIGJ1dCBhbGxvdyB1cyB0byBhc2sgaWYgaXQgZXhpc3RzXHJcbiAgICAgICAgZW4/OiBuZXZlcjtcclxuICAgICAgfTtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbW1vblJlcGxhY2VtZW50OiBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3N5bmNLZXlzLnNlYWxdOiB7XHJcbiAgICAgIGVuOiAnJDEgd2lsbCBiZSBzZWFsZWQgb2ZmJyxcclxuICAgICAgZGU6XHJcbiAgICAgICAgJ05vY2ggMTUgU2VrdW5kZW4sIGJpcyBzaWNoICg/Oig/OmRlcnxkaWV8ZGFzKSApPyg/Olp1Z2FuZyB6dSg/OltybV18IGRlbik/ICk/JDEgc2NobGllw590JyxcclxuICAgICAgZnI6ICdGZXJtZXR1cmUgZCg/OmV8dXxlcykgKD86bFxcJ3xsYSB8bGVzPyApPyQxIGRhbnMnLFxyXG4gICAgICBqYTogJyQx44Gu5bCB6Y6W44G+44Gn44GC44GoJyxcclxuICAgICAgY246ICfot50kMeiiq+WwgemUgei/mOaciScsXHJcbiAgICAgIGtvOiAnMTXstIgg7ZuE7JeQICQxKD867J20fOqwgCkg67SJ7IeE65Cp64uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMudW5zZWFsXToge1xyXG4gICAgICBlbjogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gICAgICBkZTogJ8O2ZmZuZXQgc2ljaCAoPzp3aWVkZXJ8ZXJuZXV0KScsXHJcbiAgICAgIGZyOiAnT3V2ZXJ0dXJlICcsXHJcbiAgICAgIGphOiAn44Gu5bCB6Y6W44GM6Kej44GL44KM44GfJyxcclxuICAgICAgY246ICfnmoTlsIHplIHop6PpmaTkuoYnLFxyXG4gICAgICBrbzogJ+ydmCDrtInsh4TqsIAg7ZW07KCc65CY7JeI7Iq164uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMuZW5nYWdlXToge1xyXG4gICAgICBlbjogJ0VuZ2FnZSEnLFxyXG4gICAgICBkZTogJ1N0YXJ0IScsXHJcbiAgICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWUnLFxyXG4gICAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICAgIGNuOiAn5oiY5paX5byA5aeL77yBJyxcclxuICAgICAga286ICfsoITtiKwg7Iuc7J6RIScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgICctLWFkZHMgc3Bhd24tLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZFxcJ2FkZHMtLScsXHJcbiAgICAgIGphOiAnLS3pm5HprZrlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lsI/mgKrlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3sq4Qg7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWFkZHMgdGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tQWRkcyBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLUFkZHMgY2libGFibGVzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Y+v6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIO2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2VudGVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1NaXR0ZS0tJyxcclxuICAgICAgZnI6ICctLUNlbnRyZS0tJyxcclxuICAgICAgamE6ICctLeOCu+ODs+OCv+ODvC0tJyxcclxuICAgICAgY246ICctLeS4reWkri0tJyxcclxuICAgICAga286ICctLeykkeyVmS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChjZW50ZXJcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoTWl0dGUpJyxcclxuICAgICAgZnI6ICcoQ2VudHJlKScsXHJcbiAgICAgIGphOiAnKOOCu+ODs+OCv+ODvCknLFxyXG4gICAgICBjbjogJyjkuK3lpK4pJyxcclxuICAgICAga286ICco7KSR7JWZKScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2xvbmVzIGFwcGVhci0tJzoge1xyXG4gICAgICBkZTogJy0tS2xvbmUgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZGVzIGNsb25lcy0tJyxcclxuICAgICAgamE6ICctLeW5u+W9seWHuuePvi0tJyxcclxuICAgICAgY246ICctLeW5u+W9seWHuueOsC0tJyxcclxuICAgICAga286ICctLeu2hOyLoCDshoztmZgtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY29ybmVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1FY2tlLS0nLFxyXG4gICAgICBmcjogJy0tQ29pbi0tJyxcclxuICAgICAgamE6ICctLeOCs+ODvOODiuODvC0tJyxcclxuICAgICAgY246ICctLeinkuiQvS0tJyxcclxuICAgICAga286ICctLeq1rOyEnS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1kcHMgYnVybi0tJzoge1xyXG4gICAgICBkZTogJy0tRFBTIGJ1cm4tLScsXHJcbiAgICAgIGZyOiAnLS1CdXJuIGRwcy0tJyxcclxuICAgICAgamE6ICctLeeBq+WKm+WHuuOBmy0tJyxcclxuICAgICAgY246ICctLei9rOeBqy0tJyxcclxuICAgICAga286ICctLeuUnCDssrTtgawtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tT3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3mnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJwtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoZWFzdFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhPc3RlbiknLFxyXG4gICAgICBmcjogJyhFc3QpJyxcclxuICAgICAgamE6ICco5p2xKScsXHJcbiAgICAgIGNuOiAnKOS4nCknLFxyXG4gICAgICBrbzogJyjrj5nsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnRW5yYWdlJzoge1xyXG4gICAgICBkZTogJ0ZpbmFsYW5ncmlmZicsXHJcbiAgICAgIGZyOiAnRW5yYWdlJyxcclxuICAgICAgamE6ICfmmYLplpPliIfjgownLFxyXG4gICAgICBjbjogJ+eLguaatCcsXHJcbiAgICAgIGtvOiAn7KCE66m46riwJyxcclxuICAgIH0sXHJcbiAgICAnLS1mcm96ZW4tLSc6IHtcclxuICAgICAgZGU6ICctLWVpbmdlZnJvcmVuLS0nLFxyXG4gICAgICBmcjogJy0tR2Vsw6ktLScsXHJcbiAgICAgIGphOiAnLS3lh43ntZAtLScsXHJcbiAgICAgIGNuOiAnLS3lhrvnu5MtLScsXHJcbiAgICAgIGtvOiAnLS3ruZnqsrAtLScsXHJcbiAgICB9LFxyXG4gICAgJy0taW4tLSc6IHtcclxuICAgICAgZGU6ICctLVJlaW4tLScsXHJcbiAgICAgIGZyOiAnLS1JbnTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5LitLS0nLFxyXG4gICAgICBjbjogJy0t5YaFLS0nLFxyXG4gICAgICBrbzogJy0t7JWILS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKEluXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJlaW4pJyxcclxuICAgICAgZnI6ICcoSW50w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjkuK0pJyxcclxuICAgICAgY246ICco5YaFKScsXHJcbiAgICAgIGtvOiAnKOyViCknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGlubmVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGlubmVuKScsXHJcbiAgICAgIGZyOiAnKGludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnLS1qdW1wLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1TcHJ1bmctLScsXHJcbiAgICAgIGZyOiAnLS1TYXV0LS0nLFxyXG4gICAgICBqYTogJy0t44K444Oj44Oz44OXLS0nLFxyXG4gICAgICBjbjogJy0t6LezLS0nLFxyXG4gICAgICBrbzogJy0t7KCQ7ZSELS0nLFxyXG4gICAgfSxcclxuICAgICctLWtub2NrYmFjay0tJzoge1xyXG4gICAgICBkZTogJy0tUsO8Y2tzdG/Dny0tJyxcclxuICAgICAgZnI6ICctLVBvdXNzw6llLS0nLFxyXG4gICAgICBqYTogJy0t44OO44OD44Kv44OQ44OD44KvLS0nLFxyXG4gICAgICBjbjogJy0t5Ye76YCALS0nLFxyXG4gICAgICBrbzogJy0t64SJ67CxLS0nLFxyXG4gICAgfSxcclxuICAgICctLW1pZGRsZS0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1NaWxpZXUtLScsXHJcbiAgICAgIGphOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGNuOiAnLS3kuK3pl7QtLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwobWlkZGxlXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKE1pbGlldSknLFxyXG4gICAgICBqYTogJyjkuK3lpK4pJyxcclxuICAgICAgY246ICco5Lit6Ze0KScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3JkZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLS0nLFxyXG4gICAgICBqYTogJy0t5YyXLS0nLFxyXG4gICAgICBjbjogJy0t5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG5vcnRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE5vcmRlbiknLFxyXG4gICAgICBmcjogJyhOb3JkKScsXHJcbiAgICAgIGphOiAnKOWMlyknLFxyXG4gICAgICBjbjogJyjljJcpJyxcclxuICAgICAga286ICco67aB7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLUVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+adsS0tJyxcclxuICAgICAgY246ICctLeS4nOWMly0tJyxcclxuICAgICAga286ICctLeu2geuPmS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aHdlc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU5vcmR3ZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5YyX6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLW91dC0tJzoge1xyXG4gICAgICBkZTogJy0tUmF1cy0tJyxcclxuICAgICAgZnI6ICctLUV4dMOpcmlldXItLScsXHJcbiAgICAgIGphOiAnLS3lpJYtLScsXHJcbiAgICAgIGNuOiAnLS3lpJYtLScsXHJcbiAgICAgIGtvOiAnLS3rsJYtLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoT3V0XFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJhdXMpJyxcclxuICAgICAgZnI6ICcoRXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGF1w59lbiknLFxyXG4gICAgICBmcjogJyhleHTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOWkliknLFxyXG4gICAgICBjbjogJyjlpJYpJyxcclxuICAgICAga286ICco67CWKScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwob3V0c2lkZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhEcmF1w59lbiknLFxyXG4gICAgICBmcjogJyjDgCBsXFwnZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSW6Z2iKScsXHJcbiAgICAgIGtvOiAnKOuwlOq5pSknLFxyXG4gICAgfSxcclxuICAgICctLXJvdGF0ZS0tJzoge1xyXG4gICAgICBkZTogJy0tcm90aWVyZW4tLScsXHJcbiAgICAgIGZyOiAnLS1yb3RhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeWbnui7oi0tJyxcclxuICAgICAgY246ICctLeaXi+i9rC0tJyxcclxuICAgICAga286ICctLe2ajOyghC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLS0nLFxyXG4gICAgICBqYTogJy0t5Y2XLS0nLFxyXG4gICAgICBjbjogJy0t5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKHNvdXRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFPDvGRlbiknLFxyXG4gICAgICBmcjogJyhTdWQpJyxcclxuICAgICAgamE6ICco5Y2XKScsXHJcbiAgICAgIGNuOiAnKOWNlyknLFxyXG4gICAgICBrbzogJyjrgqjsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aGVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRvc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljZfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljZctLScsXHJcbiAgICAgIGtvOiAnLS3rgqjrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNwbGl0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS10ZWlsZW4tLScsXHJcbiAgICAgIGZyOiAnLS1kaXZpc2lvbi0tJyxcclxuICAgICAgamE6ICctLeWIhuijgi0tJyxcclxuICAgICAgY246ICctLeWIhuijgi0tJyxcclxuICAgICAga286ICctLeu2hOyXtC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zdHVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1CZXTDpHVidW5nLS0nLFxyXG4gICAgICBmcjogJy0tw4l0b3VyZGlzc2VtZW50LS0nLFxyXG4gICAgICBqYTogJy0t44K544K/44OzLS0nLFxyXG4gICAgICBjbjogJy0t5Ye75pmVLS0nLFxyXG4gICAgICBrbzogJy0t6riw7KCILS0nLFxyXG4gICAgfSxcclxuICAgICctLXN5bmMtLSc6IHtcclxuICAgICAgZGU6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeOCt+ODs+OCry0tJyxcclxuICAgICAgY246ICctLeWQjOatpeWMli0tJyxcclxuICAgICAga286ICctLeuPmeq4sO2ZlC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS0oWzAtOV0reCApP3RhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLSQxYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS0kMWNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0tJDHjgr/jg7zjgrLjg4Pjg4jlj6/og70tLScsXHJcbiAgICAgIGNuOiAnLS0kMeWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLSQx7YOA6rKfIOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS10ZWxlcG9ydC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVsZXBvcnRhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXTDqWzDqXBvcnRhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeODhuODrOODneODvOODiC0tJyxcclxuICAgICAgY246ICctLeS8oOmAgS0tJyxcclxuICAgICAga286ICctLeyInOqwhCDsnbTrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdW50YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1uaWNoIGFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tbm9uIGNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0t44K/44O844Ky44OD44OI5LiN5Y+vLS0nLFxyXG4gICAgICBjbjogJy0t5peg5rOV6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7YOA6rKfIOu2iOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS13ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1XZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeilvy0tJyxcclxuICAgICAgY246ICctLeilvy0tJyxcclxuICAgICAga286ICctLeyEnOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRV06IHtcclxuICAgICAgZGU6ICdPJyxcclxuICAgICAgZnI6ICdFJyxcclxuICAgICAgamE6ICfmnbEnLFxyXG4gICAgICBjbjogJ+S4nCcsXHJcbiAgICAgIGtvOiAn64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTl06IHtcclxuICAgICAgZGU6ICdOJyxcclxuICAgICAgZnI6ICdOJyxcclxuICAgICAgamE6ICfljJcnLFxyXG4gICAgICBjbjogJ+WMlycsXHJcbiAgICAgIGtvOiAn67aBJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU106IHtcclxuICAgICAgZGU6ICdTJyxcclxuICAgICAgZnI6ICdTJyxcclxuICAgICAgamE6ICfljZcnLFxyXG4gICAgICBjbjogJ+WNlycsXHJcbiAgICAgIGtvOiAn64KoJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuV106IHtcclxuICAgICAgZGU6ICdXJyxcclxuICAgICAgZnI6ICdPJyxcclxuICAgICAgamE6ICfopb8nLFxyXG4gICAgICBjbjogJ+ilvycsXHJcbiAgICAgIGtvOiAn7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTkVdOiB7XHJcbiAgICAgIGRlOiAnTk8nLFxyXG4gICAgICBmcjogJ05FJyxcclxuICAgICAgamE6ICfljJfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWMlycsXHJcbiAgICAgIGtvOiAn67aB64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTlddOiB7XHJcbiAgICAgIGRlOiAnTlcnLFxyXG4gICAgICBmcjogJ05PJyxcclxuICAgICAgamE6ICfljJfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WMlycsXHJcbiAgICAgIGtvOiAn67aB7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU0VdOiB7XHJcbiAgICAgIGRlOiAnU08nLFxyXG4gICAgICBmcjogJ1NFJyxcclxuICAgICAgamE6ICfljZfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWNlycsXHJcbiAgICAgIGtvOiAn64Ko64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU1ddOiB7XHJcbiAgICAgIGRlOiAnU1cnLFxyXG4gICAgICBmcjogJ1NPJyxcclxuICAgICAgamE6ICfljZfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WNlycsXHJcbiAgICAgIGtvOiAn64Ko7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuVGFua106IHtcclxuICAgICAgZGU6ICdUYW5rJyxcclxuICAgICAgZnI6ICdUYW5rJyxcclxuICAgICAgamE6ICfjgr/jg7Pjgq8nLFxyXG4gICAgICBjbjogJ+WdpuWFiycsXHJcbiAgICAgIGtvOiAn7YOx7LukJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuSGVhbGVyXToge1xyXG4gICAgICBkZTogJ0hlaWxlcicsXHJcbiAgICAgIGZyOiAnSGVhbGVyJyxcclxuICAgICAgamE6ICfjg5Ljg7zjg6njg7wnLFxyXG4gICAgICBjbjogJ+ayu+eWlycsXHJcbiAgICAgIGtvOiAn7Z6Q65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRFBTXToge1xyXG4gICAgICBkZTogJ0RQUycsXHJcbiAgICAgIGZyOiAnRFBTJyxcclxuICAgICAgamE6ICdEUFMnLFxyXG4gICAgICBjbjogJ0RQUycsXHJcbiAgICAgIGtvOiAn65Sc65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTnVtYmVyXToge1xyXG4gICAgICBkZTogJy0tJDEtLScsXHJcbiAgICAgIGZyOiAnLS0kMS0tJyxcclxuICAgICAgamE6ICctLSQxLS0nLFxyXG4gICAgICBjbjogJy0tJDEtLScsXHJcbiAgICAgIGtvOiAnLS0kMS0tJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIEtleXMgaW50byBjb21tb25SZXBsYWNlbWVudCBvYmplY3RzIHRoYXQgcmVwcmVzZW50IFwicGFydGlhbFwiIHRyYW5zbGF0aW9ucyxcclxuLy8gaW4gdGhlIHNlbnNlIHRoYXQgZXZlbiBpZiBpdCBhcHBsaWVzLCB0aGVyZSBzdGlsbCBuZWVkcyB0byBiZSBhbm90aGVyXHJcbi8vIHRyYW5zbGF0aW9uIGZvciBpdCB0byBiZSBjb21wbGV0ZS4gIFRoZXNlIGtleXMgc2hvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWVcclxuLy8gYXMgdGhlIGtleXMgZnJvbSB0aGUgY29tbW9uUmVwbGFjZW1lbnQgYmxvY2sgYWJvdmUuXHJcbmV4cG9ydCBjb25zdCBwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzID0gW1xyXG4gIC8vIEJlY2F1c2UgdGhlIHpvbmUgbmFtZSBuZWVkcyB0byBiZSB0cmFuc2xhdGVkIGhlcmUsIHRoaXMgaXMgcGFydGlhbC5cclxuICBzeW5jS2V5cy5zZWFsLFxyXG4gIC8vIERpcmVjdGlvbnNcclxuICB0ZXh0S2V5cy5FLFxyXG4gIHRleHRLZXlzLk4sXHJcbiAgdGV4dEtleXMuUyxcclxuICB0ZXh0S2V5cy5XLFxyXG4gIHRleHRLZXlzLk5FLFxyXG4gIHRleHRLZXlzLk5XLFxyXG4gIHRleHRLZXlzLlNFLFxyXG4gIHRleHRLZXlzLlNXLFxyXG4gIC8vIFJvbGVzXHJcbiAgdGV4dEtleXMuVGFuayxcclxuICB0ZXh0S2V5cy5IZWFsZXIsXHJcbiAgdGV4dEtleXMuRFBTLFxyXG5dO1xyXG5cclxuLy8gUmVwbGFjZW1lbnQgd2hlbiB1c2luZyBLb3JlYW4gbGFuZ3VhZ2UgaW4gdGhlIHBhcnNlciwgYXMgdGhlIEtvcmVhbiB2ZXJzaW9uXHJcbi8vIGRvZXMgbm90IGhhdmUgdGhlIDYueCBjaGFuZ2VzIGZyb20gUmF2YWhuIHlldC5cclxuLy8gVGhlc2UgYXJlIGFwcGxpZWQgYWZ0ZXIgb3RoZXIgdHJhbnNsYXRpb25zIGFuZCBkb24ndCBjb3VudCBmb3IgY29sbGlzaW9ucy5cclxuLy8gVE9ETzogdGhpcyBtaXNzZXMgYSBmZXcgdGhpbmdzIGxpa2UgMUEgbGluZXMgaW4gYTdzL283bi9vN3MuXHJcbmV4cG9ydCBjb25zdCBiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2U6IHsgW3JlcGxhY2VLZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICcgMDA6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOic6ICcgMDA6JyxcclxuICAnIDAwOjA4Mzk6Oic6ICcgMDA6MDgzOTonLFxyXG4gICcgMTQ6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOihbXjpdKik6KFteOl0qKTonOiAnOiQyOiQxJyxcclxufTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCB7IExvb3NlVGltZWxpbmVUcmlnZ2VyLCBUcmlnZ2VyQXV0b0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlLCBjb21tb25SZXBsYWNlbWVudCB9IGZyb20gJy4vY29tbW9uX3JlcGxhY2VtZW50JztcclxuaW1wb3J0IGRlZmF1bHRPcHRpb25zLCB7IFJhaWRib3NzT3B0aW9ucywgVGltZWxpbmVDb25maWcgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVSZXBsYWNlbWVudCA9IHtcclxuICBsb2NhbGU6IExhbmc7XHJcbiAgbWlzc2luZ1RyYW5zbGF0aW9ucz86IGJvb2xlYW47XHJcbiAgcmVwbGFjZVN5bmM/OiB7IFtyZWdleFN0cmluZzogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVwbGFjZVRleHQ/OiB7IFt0aW1lbGluZVRleHQ6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVTdHlsZSA9IHtcclxuICBzdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICByZWdleDogUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnQgPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhY3RpdmVUaW1lPzogbnVtYmVyO1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgc29ydEtleT86IG51bWJlcjtcclxuICBpc0R1cj86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3IgPSB7XHJcbiAgbGluZU51bWJlcj86IG51bWJlcjtcclxuICBsaW5lPzogc3RyaW5nO1xyXG4gIGVycm9yOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTeW5jID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgb3JpZ1JlZ2V4U3RyOiBzdHJpbmc7XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpbWU6IG51bWJlcjtcclxuICBsaW5lTnVtYmVyOiBudW1iZXI7XHJcbiAganVtcD86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgUGFyc2VkUG9wdXBUZXh0ID0ge1xyXG4gIHR5cGU6ICdpbmZvJyB8ICdhbGVydCcgfCAnYWxhcm0nIHwgJ3R0cyc7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFRyaWdnZXJUZXh0ID0ge1xyXG4gIHR5cGU6ICd0cmlnZ2VyJztcclxuICBzZWNvbmRzQmVmb3JlPzogbnVtYmVyO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgbWF0Y2hlczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcclxuICB0cmlnZ2VyOiBMb29zZVRpbWVsaW5lVHJpZ2dlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlZFRleHQgPSBQYXJzZWRQb3B1cFRleHQgfCBQYXJzZWRUcmlnZ2VyVGV4dDtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHQgPSBQYXJzZWRUZXh0ICYgeyB0aW1lOiBudW1iZXIgfTtcclxuXHJcbi8vIFRoaXMgY2xhc3MgcmVhZHMgdGhlIGZvcm1hdCBvZiBBQ1QgVGltZWxpbmUgcGx1Z2luLCBkZXNjcmliZWQgaW5cclxuLy8gZG9jcy9UaW1lbGluZUd1aWRlLm1kXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVBhcnNlciB7XHJcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucztcclxuICBwcm90ZWN0ZWQgcGVyVHJpZ2dlckF1dG9Db25maWc6IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuICBwcm90ZWN0ZWQgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUNvbmZpZzogVGltZWxpbmVDb25maWc7XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuICBwdWJsaWMgZXJyb3JzOiBFcnJvcltdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM/OiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICBvcHRpb25zPzogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgem9uZUlkPzogbnVtYmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyA/PyBkZWZhdWx0T3B0aW9ucztcclxuICAgIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWcgPSB0aGlzLm9wdGlvbnNbJ1BlclRyaWdnZXJBdXRvQ29uZmlnJ10gfHwge307XHJcbiAgICB0aGlzLnJlcGxhY2VtZW50cyA9IHJlcGxhY2VtZW50cztcclxuXHJcbiAgICAvLyBBIHNldCBvZiBuYW1lcyB3aGljaCB3aWxsIG5vdCBiZSBub3RpZmllZCBhYm91dC5cclxuICAgIHRoaXMuaWdub3JlcyA9IHt9O1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgZXZlbnQgb2NjdXJyZW5jZSB0aW1lLlxyXG4gICAgdGhpcy50ZXh0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuc3RhcnQgdGltZS5cclxuICAgIHRoaXMuc3luY1N0YXJ0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuZW5kIHRpbWUuXHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgbGluZS5cclxuICAgIHRoaXMuZXJyb3JzID0gW107XHJcblxyXG4gICAgdGhpcy50aW1lbGluZUNvbmZpZyA9IHR5cGVvZiB6b25lSWQgPT09ICdudW1iZXInXHJcbiAgICAgID8gdGhpcy5vcHRpb25zLlBlclpvbmVUaW1lbGluZUNvbmZpZ1t6b25lSWRdID8/IHt9XHJcbiAgICAgIDoge307XHJcbiAgICBmb3IgKGNvbnN0IHRleHQgb2YgdGhpcy50aW1lbGluZUNvbmZpZy5JZ25vcmUgPz8gW10pXHJcbiAgICAgIHRoaXMuaWdub3Jlc1t0ZXh0XSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5wYXJzZSh0ZXh0LCB0cmlnZ2Vycywgc3R5bGVzID8/IFtdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIHRoaXMuc3luY0VuZHMgPSBbXTtcclxuXHJcbiAgICBsZXQgdW5pcXVlaWQgPSAxO1xyXG4gICAgY29uc3QgdGV4dHM6IHsgW2lkOiBzdHJpbmddOiBQYXJzZWRUZXh0W10gfSA9IHt9O1xyXG4gICAgY29uc3QgcmVnZXhlcyA9IHtcclxuICAgICAgY29tbWVudDogL15cXHMqIy8sXHJcbiAgICAgIGNvbW1lbnRMaW5lOiAvIy4qJC8sXHJcbiAgICAgIGR1cmF0aW9uQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5kdXJhdGlvblxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoXFxzLiopPyQvLFxyXG4gICAgICBpZ25vcmU6IC9eaGlkZWFsbFxccytcXFwiKD88aWQ+W15cIl0rKVxcXCIkLyxcclxuICAgICAganVtcENvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+anVtcFxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICAgIGxpbmU6IC9eKD88dGV4dD4oPzx0aW1lPlswLTldKyg/OlxcLlswLTldKyk/KVxccytcIig/PG5hbWU+Lio/KVwiKShcXHMrKC4qKSk/LyxcclxuICAgICAgcG9wdXBUZXh0OlxyXG4gICAgICAgIC9eKD88dHlwZT5pbmZvfGFsZXJ0fGFsYXJtKXRleHRcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pKD86XFxzK1xcXCIoPzx0ZXh0PlteXCJdKylcXFwiKT8kLyxcclxuICAgICAgc291bmRBbGVydDogL15kZWZpbmVcXHMrc291bmRhbGVydFxccytcIlteXCJdKlwiXFxzK1wiW15cIl0qXCIkLyxcclxuICAgICAgc3BlYWtlcjpcclxuICAgICAgICAvZGVmaW5lIHNwZWFrZXIgXCJbXlwiXSpcIihcXHMrXCJbXlwiXSpcIik/XFxzKygtP1swLTldKyg/OlxcLlswLTldKyk/KVxccysoLT9bMC05XSsoPzpcXC5bMC05XSspPykvLFxyXG4gICAgICBzeW5jQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5zeW5jXFxzKlxcLyg/PHJlZ2V4Pi4qKVxcLykoPzxhcmdzPlxccy4qKT8kLyxcclxuICAgICAgdHRzOlxyXG4gICAgICAgIC9eYWxlcnRhbGxcXHMrXCIoPzxpZD5bXlwiXSopXCJcXHMrYmVmb3JlXFxzKyg/PGJlZm9yZVNlY29uZHM+LT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKD88Y29tbWFuZD5zb3VuZHxzcGVha1xccytcIlteXCJdKlwiKVxccytcIig/PHRleHQ+W15cIl0qKVwiJC8sXHJcbiAgICAgIHdpbmRvd0NvbW1hbmQ6XHJcbiAgICAgICAgLyg/OlteI10qP1xccyk/KD88dGV4dD53aW5kb3dcXHMrKD86KD88c3RhcnQ+WzAtOV0rKD86XFwuWzAtOV0rKT8pLCk/KD88ZW5kPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1ha2UgYWxsIHJlZ2V4ZXMgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHBhcnNlIGFueSBzcGVjaWFsIFxceXt9IGdyb3Vwcy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBpZiAodHJpZ2dlci5yZWdleClcclxuICAgICAgICB0cmlnZ2VyLnJlZ2V4ID0gUmVnZXhlcy5wYXJzZSh0cmlnZ2VyLnJlZ2V4KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcbicpO1xyXG4gICAgbGV0IGxpbmVOdW1iZXIgPSAwO1xyXG4gICAgZm9yIChsZXQgbGluZSBvZiBsaW5lcykge1xyXG4gICAgICArK2xpbmVOdW1iZXI7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcclxuICAgICAgLy8gRHJvcCBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMuXHJcbiAgICAgIGlmICghbGluZSB8fCByZWdleGVzLmNvbW1lbnQudGVzdChsaW5lKSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gbGluZTtcclxuXHJcbiAgICAgIGxldCBtYXRjaCA9IHJlZ2V4ZXMuaWdub3JlLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICBjb25zdCBpZ25vcmUgPSBtYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgaWYgKGlnbm9yZS5pZClcclxuICAgICAgICAgIHRoaXMuaWdub3Jlc1tpZ25vcmUuaWRdID0gdHJ1ZTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnR0cy5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgdHRzID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghdHRzLmlkIHx8ICF0dHMuYmVmb3JlU2Vjb25kcyB8fCAhdHRzLmNvbW1hbmQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgLy8gVE9ETzogU3VwcG9ydCBhbGVydCBzb3VuZHM/XHJcbiAgICAgICAgaWYgKHR0cy5jb21tYW5kID09PSAnc291bmQnKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgY29uc3QgdHRzSXRlbXMgPSB0ZXh0c1t0dHMuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3R0cy5pZF0gPSB0dHNJdGVtcztcclxuICAgICAgICB0dHNJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0dHMnLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdCh0dHMuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiB0dHMudGV4dCA/IHR0cy50ZXh0IDogdHRzLmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zb3VuZEFsZXJ0LmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnNwZWFrZXIuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnBvcHVwVGV4dC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0ID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghcG9wdXBUZXh0LnR5cGUgfHwgIXBvcHVwVGV4dC5pZCB8fCAhcG9wdXBUZXh0LmJlZm9yZVNlY29uZHMpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0SXRlbXMgPSB0ZXh0c1twb3B1cFRleHQuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3BvcHVwVGV4dC5pZF0gPSBwb3B1cFRleHRJdGVtcztcclxuICAgICAgICBjb25zdCB0eXBlID0gcG9wdXBUZXh0LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBwb3B1cFRleHRJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgICBzZWNvbmRzQmVmb3JlOiBwYXJzZUZsb2F0KHBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKSxcclxuICAgICAgICAgIHRleHQ6IHBvcHVwVGV4dC50ZXh0ID8gcG9wdXBUZXh0LnRleHQgOiBwb3B1cFRleHQuaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLmxpbmUuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKCEobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnSW52YWxpZCBmb3JtYXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmtub3duIHRpbWVsaW5lOiAnICsgb3JpZ2luYWxMaW5lKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJzZWRMaW5lID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAvLyBUZWNobmljYWxseSB0aGUgbmFtZSBjYW4gYmUgZW1wdHlcclxuICAgICAgaWYgKCFwYXJzZWRMaW5lLnRleHQgfHwgIXBhcnNlZExpbmUudGltZSB8fCBwYXJzZWRMaW5lLm5hbWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocGFyc2VkTGluZS50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAvLyBUaGVyZSBjYW4gYmUgIyBpbiB0aGUgYWJpbGl0eSBuYW1lLCBidXQgcHJvYmFibHkgbm90IGluIHRoZSByZWdleC5cclxuICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShyZWdleGVzLmNvbW1lbnRMaW5lLCAnJykudHJpbSgpO1xyXG5cclxuICAgICAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlRmxvYXQocGFyc2VkTGluZS50aW1lKTtcclxuICAgICAgY29uc3QgZTogRXZlbnQgPSB7XHJcbiAgICAgICAgaWQ6IHVuaXF1ZWlkKyssXHJcbiAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAvLyBUaGUgb3JpZ2luYWwgYWJpbGl0eSBuYW1lIGluIHRoZSB0aW1lbGluZS4gIFVzZWQgZm9yIGhpZGVhbGwsIGluZm90ZXh0LCBldGMuXHJcbiAgICAgICAgbmFtZTogcGFyc2VkTGluZS5uYW1lLFxyXG4gICAgICAgIC8vIFRoZSB0ZXh0IHRvIGRpc3BsYXkuICBOb3QgdXNlZCBmb3IgYW55IGxvZ2ljLlxyXG4gICAgICAgIHRleHQ6IHRoaXMuR2V0UmVwbGFjZWRUZXh0KHBhcnNlZExpbmUubmFtZSksXHJcbiAgICAgICAgYWN0aXZlVGltZTogMCxcclxuICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAobGluZSkge1xyXG4gICAgICAgIGxldCBjb21tYW5kTWF0Y2ggPSByZWdleGVzLmR1cmF0aW9uQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3QgZHVyYXRpb25Db21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghZHVyYXRpb25Db21tYW5kLnRleHQgfHwgIWR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGR1cmF0aW9uQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgZS5kdXJhdGlvbiA9IHBhcnNlRmxvYXQoZHVyYXRpb25Db21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5zeW5jQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3Qgc3luY0NvbW1hbmQgPSBjb21tYW5kTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgaWYgKCFzeW5jQ29tbWFuZC50ZXh0IHx8ICFzeW5jQ29tbWFuZC5yZWdleClcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShzeW5jQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgY29uc3Qgc3luYzogU3luYyA9IHtcclxuICAgICAgICAgICAgaWQ6IHVuaXF1ZWlkLFxyXG4gICAgICAgICAgICBvcmlnUmVnZXhTdHI6IHN5bmNDb21tYW5kLnJlZ2V4LFxyXG4gICAgICAgICAgICByZWdleDogUmVnZXhlcy5wYXJzZSh0aGlzLkdldFJlcGxhY2VkU3luYyhzeW5jQ29tbWFuZC5yZWdleCkpLFxyXG4gICAgICAgICAgICBzdGFydDogc2Vjb25kcyAtIDIuNSxcclxuICAgICAgICAgICAgZW5kOiBzZWNvbmRzICsgMi41LFxyXG4gICAgICAgICAgICB0aW1lOiBzZWNvbmRzLFxyXG4gICAgICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChzeW5jQ29tbWFuZC5hcmdzKSB7XHJcbiAgICAgICAgICAgIGxldCBhcmdNYXRjaCA9IHJlZ2V4ZXMud2luZG93Q29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd2luZG93Q29tbWFuZCA9IGFyZ01hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgICAgICBpZiAoIXdpbmRvd0NvbW1hbmQudGV4dCB8fCAhd2luZG93Q29tbWFuZC5lbmQpXHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh3aW5kb3dDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHdpbmRvd0NvbW1hbmQuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHN5bmMuc3RhcnQgPSBzZWNvbmRzIC0gcGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLnN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgc3luYy5lbmQgPSBzZWNvbmRzICsgKHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpIC8gMik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyZ01hdGNoID0gcmVnZXhlcy5qdW1wQ29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganVtcENvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCFqdW1wQ29tbWFuZC50ZXh0IHx8ICFqdW1wQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoanVtcENvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICBzeW5jLmp1bXAgPSBwYXJzZUZsb2F0KGp1bXBDb21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnN5bmNTdGFydHMucHVzaChzeW5jKTtcclxuICAgICAgICAgIHRoaXMuc3luY0VuZHMucHVzaChzeW5jKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gSWYgdGhlcmUncyB0ZXh0IGxlZnQgdGhhdCBpc24ndCBhIGNvbW1lbnQgdGhlbiB3ZSBkaWRuJ3QgcGFyc2UgdGhhdCB0ZXh0IHNvIHJlcG9ydCBpdC5cclxuICAgICAgaWYgKGxpbmUgJiYgIXJlZ2V4ZXMuY29tbWVudC5leGVjKGxpbmUpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFVua25vd24gY29udGVudCAnJHtsaW5lfScgaW4gdGltZWxpbmU6ICR7b3JpZ2luYWxMaW5lfWApO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnRXh0cmEgdGV4dCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhbGlkYXRlIHRoYXQgYWxsIHRpbWVsaW5lIHRyaWdnZXJzIG1hdGNoIHNvbWV0aGluZy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICAgIGlmICh0cmlnZ2VyLnJlZ2V4ICYmIHRyaWdnZXIucmVnZXgudGVzdChldmVudC5uYW1lKSkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gYE5vIG1hdGNoIGZvciB0aW1lbGluZSB0cmlnZ2VyICR7dHJpZ2dlci5yZWdleD8uc291cmNlID8/XHJcbiAgICAgICAgICAnJ30gaW4gJHt0cmlnZ2VyLmlkID8/ICcnfWA7XHJcbiAgICAgICAgdGhpcy5lcnJvcnMucHVzaCh7IGVycm9yOiB0ZXh0IH0pO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCoqKiBFUlJPUjogJHt0ZXh0fWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBlIG9mIHRoaXMuZXZlbnRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbWF0Y2hlZFRleHRFdmVudCBvZiB0ZXh0c1tlLm5hbWVdID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IG1hdGNoZWRUZXh0RXZlbnQudHlwZTtcclxuICAgICAgICBpZiAodHlwZSAhPT0gJ2luZm8nICYmIHR5cGUgIT09ICdhbGVydCcgJiYgdHlwZSAhPT0gJ2FsYXJtJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lIC0gKG1hdGNoZWRUZXh0RXZlbnQuc2Vjb25kc0JlZm9yZSB8fCAwKSxcclxuICAgICAgICAgIHRleHQ6IG1hdGNoZWRUZXh0RXZlbnQudGV4dCA/PyAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmF0aGVyIHRoYW4gbWF0Y2hpbmcgdHJpZ2dlcnMgYXQgcnVuIHRpbWUsIHByZS1tYXRjaCBhbGwgdGhlIHRyaWdnZXJzXHJcbiAgICAgIC8vIGFnYWluc3QgdGltZWxpbmUgdGV4dCBhbmQgaW5zZXJ0IHRoZW0gYXMgdGV4dCBldmVudHMgdG8gcnVuLlxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgICBjb25zdCBtID0gdHJpZ2dlci5yZWdleD8uZXhlYyhlLm5hbWUpO1xyXG4gICAgICAgIGlmICghbSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBUT0RPOiBiZWZvcmVTZWNvbmRzIHNob3VsZCBzdXBwb3J0IGJlaW5nIGEgZnVuY3Rpb24uXHJcbiAgICAgICAgY29uc3QgYXV0b0NvbmZpZyA9IHRyaWdnZXIuaWQgJiYgdGhpcy5wZXJUcmlnZ2VyQXV0b0NvbmZpZ1t0cmlnZ2VyLmlkXSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gYXV0b0NvbmZpZ1snQmVmb3JlU2Vjb25kcyddID8/IHRyaWdnZXIuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgdGhpcy50ZXh0cy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0cmlnZ2VyJyxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChiZWZvcmVTZWNvbmRzIHx8IDApLFxyXG4gICAgICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgICAgIG1hdGNoZXM6IG0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzID8/IFtdKSB7XHJcbiAgICAgICAgaWYgKCFzdHlsZS5yZWdleC50ZXN0KGUubmFtZSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBlLnN0eWxlID0gc3R5bGUuc3R5bGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTb3J0IGJ5IHRpbWUsIGJ1dCB3aGVuIHRoZSB0aW1lIGlzIHRoZSBzYW1lLCBzb3J0IGJ5IGZpbGUgb3JkZXIuXHJcbiAgICAvLyBUaGVuIGFzc2lnbiBhIHNvcnRLZXkgdG8gZWFjaCBldmVudCBzbyB0aGF0IHdlIGNhbiBtYWludGFpbiB0aGF0IG9yZGVyLlxyXG4gICAgdGhpcy5ldmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS50aW1lID09PSBiLnRpbWUpXHJcbiAgICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkO1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKChldmVudCwgaWR4KSA9PiBldmVudC5zb3J0S2V5ID0gaWR4KTtcclxuXHJcbiAgICB0aGlzLnRleHRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuc3RhcnQgLSBiLnN0YXJ0O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNFbmRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuZW5kIC0gYi5lbmQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRIZWxwZXIoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlS2V5OiAncmVwbGFjZVN5bmMnIHwgJ3JlcGxhY2VUZXh0JyxcclxuICAgIHJlcGxhY2VMYW5nOiBMYW5nLFxyXG4gICAgaXNHbG9iYWw6IGJvb2xlYW4sXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGZvciAoY29uc3QgciBvZiB0aGlzLnJlcGxhY2VtZW50cykge1xyXG4gICAgICBpZiAoci5sb2NhbGUgJiYgci5sb2NhbGUgIT09IHJlcGxhY2VMYW5nKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZXBzID0gcltyZXBsYWNlS2V5XTtcclxuICAgICAgaWYgKCFyZXBzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBzKSlcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFJlZ2V4ZXMucGFyc2Uoa2V5KSwgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29tbW9uIFJlcGxhY2VtZW50c1xyXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBjb21tb25SZXBsYWNlbWVudFtyZXBsYWNlS2V5XTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50ID8/IHt9KSkge1xyXG4gICAgICBjb25zdCByZXBsID0gdmFsdWVbcmVwbGFjZUxhbmddO1xyXG4gICAgICBpZiAoIXJlcGwpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gaXNHbG9iYWwgPyBSZWdleGVzLnBhcnNlR2xvYmFsKGtleSkgOiBSZWdleGVzLnBhcnNlKGtleSk7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgcmVwbGFjZW1lbnRzIGZvciBLb3JlYW4gcGFyc2VkIGxvZyBsaW5lcyBiZWZvcmUgNi54IGNoYW5nZXMuXHJcbiAgICBpZiAocmVwbGFjZUxhbmcgPT09ICdrbycgJiYgcmVwbGFjZUtleSA9PT0gJ3JlcGxhY2VTeW5jJykge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHJlcGxdIG9mIE9iamVjdC5lbnRyaWVzKGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSkpIHtcclxuICAgICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQW55dGhpbmcgaW4gdGhlIHRpbWVsaW5lIGNvbmZpZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGltZWxpbmVSZXBsYWNlIHNlY3Rpb25zIGluXHJcbiAgICAvLyB0aGUgdHJpZ2dlciBmaWxlLiAgSXQgaXMgYWxzbyBhIGZ1bGwgcmVwbGFjZW1lbnQsIHZzIHRoZSByZWdleC1zdHlsZSBHZXRSZXBsYWNlZEhlbHBlci5cclxuICAgIGNvbnN0IHJlbmFtZSA9IHRoaXMudGltZWxpbmVDb25maWc/LlJlbmFtZT8uW3RleHRdO1xyXG4gICAgaWYgKHJlbmFtZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gcmVuYW1lO1xyXG5cclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGNvbnN0IHJlcGxhY2VMYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICBjb25zdCBpc0dsb2JhbCA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIodGV4dCwgJ3JlcGxhY2VUZXh0JywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRTeW5jKHN5bmM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gc3luYztcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIoc3luYywgJ3JlcGxhY2VTeW5jJywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUoKTogUmVnRXhwW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJy0tUmVzZXQtLScsXHJcbiAgICAgICctLXN5bmMtLScsXHJcbiAgICAgICdTdGFydCcsXHJcbiAgICAgICdeID8yMTonLFxyXG4gICAgICAnXihcXFxcKFxcXFw/XFxcXDx0aW1lc3RhbXBcXFxcPlxcXFxeXFxcXC5cXFxcezE0XFxcXH1cXFxcKSkgKDFCfDIxfDIzKTonLFxyXG4gICAgICAnXihcXFxcXlxcXFwuXFxcXHsxNFxcXFx9KT8gPygxQnwyMXwyMyk6JyxcclxuICAgICAgJ146OlxcXFx5e0FiaWxpdHlDb2RlfTokJyxcclxuICAgICAgJ15cXFxcLlxcXFwqJCcsXHJcbiAgICBdLm1hcCgoeCkgPT4gUmVnZXhlcy5wYXJzZSh4KSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IGlzTGFuZywgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUGFydHlUcmFja2VyIGZyb20gJy4uLy4uL3Jlc291cmNlcy9wYXJ0eSc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZWdleGVzJztcclxuaW1wb3J0IHsgdHJpZ2dlck91dHB1dEZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZXNwb25zZXMnO1xyXG5pbXBvcnQgVXNlckNvbmZpZywge1xyXG4gIENvbmZpZ1ZhbHVlLFxyXG4gIE9wdGlvbnNUZW1wbGF0ZSxcclxuICBVc2VyRmlsZUNhbGxiYWNrLFxyXG59IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb2NhbGVUZXh0LFxyXG4gIExvb3NlVHJpZ2dlcixcclxuICBPdXRwdXQsXHJcbiAgT3V0cHV0U3RyaW5ncyxcclxuICBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gIFRpbWVsaW5lRmllbGQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7XHJcbiAgQ2FjdGJvdENvbmZpZ3VyYXRvcixcclxuICBDb25maWdMb29zZVRyaWdnZXIsXHJcbiAgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LFxyXG4gIENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXAsXHJcbn0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NUcmlnZ2VyRmllbGQsIFJhaWRib3NzVHJpZ2dlck91dHB1dCB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCByYWlkYm9zc09wdGlvbnMsIHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVQYXJzZXIgfSBmcm9tICcuL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5jb25zdCBrT3B0aW9uS2V5cyA9IHtcclxuICBvdXRwdXQ6ICdPdXRwdXQnLFxyXG4gIGR1cmF0aW9uOiAnRHVyYXRpb24nLFxyXG4gIGJlZm9yZVNlY29uZHM6ICdCZWZvcmVTZWNvbmRzJyxcclxuICBvdXRwdXRTdHJpbmdzOiAnT3V0cHV0U3RyaW5ncycsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFRyaWdnZXJTb3VuZE9wdGlvbiA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG59O1xyXG5cclxuLy8gTm8gc291bmQgb25seSBvcHRpb24sIGJlY2F1c2UgdGhhdCdzIHNpbGx5LlxyXG5jb25zdCBrVHJpZ2dlck9wdGlvbnMgPSB7XHJcbiAgZGVmYXVsdDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinJQgRGVmYXVsdHMnLFxyXG4gICAgICBkZTogJ+KclCBTdGFuZGFyZHMnLFxyXG4gICAgICBmcjogJ+KclCBEw6lmYXV0cycsXHJcbiAgICAgIGphOiAn4pyUIOWIneacn+ioreWumicsXHJcbiAgICAgIGNuOiAn4pyUIOm7mOiupOiuvue9ricsXHJcbiAgICAgIGtvOiAn4pyUIOq4sOuzuCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dEFuZFNvdW5kOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/Cfhpnwn5SKIFRleHQgYW5kIFNvdW5kJyxcclxuICAgICAgZGU6ICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nLFxyXG4gICAgICBmcjogJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbicsXHJcbiAgICAgIGphOiAn8J+GmfCflIog44OG44Kt44K544OI44Go6Z+z5aOwJyxcclxuICAgICAgY246ICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c0FuZFRleHQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCfkqwgVGV4dCBhbmQgVFRTJyxcclxuICAgICAgZGU6ICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnLFxyXG4gICAgICBmcjogJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUycsXHJcbiAgICAgIGphOiAn8J+GmfCfkqwg44OG44Kt44K544OI44GoVFRTJyxcclxuICAgICAgY246ICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5KsIO2FjeyKpO2KuOyZgCBUVFMnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c09ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+SrCBUVFMgT25seScsXHJcbiAgICAgIGRlOiAn8J+SrCBOdXIgVFRTJyxcclxuICAgICAgZnI6ICfwn5KsIFRUUyBTZXVsZW1lbnQnLFxyXG4gICAgICBqYTogJ/CfkqwgVFRT44Gu44G/JyxcclxuICAgICAgY246ICfwn5KsIOWPquS9v+eUqFRUUycsXHJcbiAgICAgIGtvOiAn8J+SrCBUVFPrp4wnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHRleHRPbmx5OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/CfhpkgVGV4dCBPbmx5JyxcclxuICAgICAgZGU6ICfwn4aZIE51ciBUZXh0JyxcclxuICAgICAgZnI6ICfwn4aZIFRleHRlIHNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfhpkg5Y+q5L2/55So5paH5a2X5pi+56S6JyxcclxuICAgICAga286ICfwn4aZIO2FjeyKpO2KuOunjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGlzYWJsZWQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn4p2MIERpc2FibGVkJyxcclxuICAgICAgZGU6ICfinYwgRGVha3RpdmllcnQnLFxyXG4gICAgICBmcjogJ+KdjCBEw6lzYWN0aXbDqScsXHJcbiAgICAgIGphOiAn4p2MIOeEoeWKuScsXHJcbiAgICAgIGNuOiAn4p2MIOemgeeUqCcsXHJcbiAgICAgIGtvOiAn4p2MIOu5hO2ZnOyEse2ZlCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB0cmlnZ2VyU291bmRPcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJTb3VuZE9wdGlvbiB9ID0ga1RyaWdnZXJPcHRpb25zO1xyXG5cclxudHlwZSBEZXRhaWxLZXkgPSB7XHJcbiAgbGFiZWw6IExvY2FsZVRleHQ7XHJcbiAgY2xzOiBzdHJpbmc7XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICBnZW5lcmF0ZWRNYW51YWxseT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5jb25zdCBrRGV0YWlsS2V5cyA9IHtcclxuICAndHJpZ2dlclJlZ2V4Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdyZWdleCcsXHJcbiAgICAgIGRlOiAncmVnZXgnLFxyXG4gICAgICBmcjogJ3JlZ2V4JyxcclxuICAgICAgamE6ICfmraPopo/ooajnj74nLFxyXG4gICAgICBjbjogJ+ato+WImeihqOi+vuW8jycsXHJcbiAgICAgIGtvOiAn7KCV6rec7IudJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdyZWdleC10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICd0cmlnZ2VyTmV0UmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ25ldHJlZ2V4JyxcclxuICAgICAgZGU6ICduZXRyZWdleCcsXHJcbiAgICAgIGZyOiAnbmV0cmVnZXgnLFxyXG4gICAgICBqYTogJ+ODjeODg+ODiOato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn572R57uc5pel5b+X5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5ztkZztmITsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RpbWVsaW5lUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3RpbWVsaW5lJyxcclxuICAgICAgZGU6ICd0aW1lbGluZScsXHJcbiAgICAgIGZyOiAndGltZWxpbmUnLFxyXG4gICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODsycsXHJcbiAgICAgIGNuOiAn5pe26Ze06L20JyxcclxuICAgICAga286ICftg4DsnoTrnbzsnbgnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2JlZm9yZVNlY29uZHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2JlZm9yZSAoc2VjKScsXHJcbiAgICAgIGRlOiAnVm9yaGVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ2F2YW50IChzZWNvbmRlKScsXHJcbiAgICAgIGphOiAn44Gd44Gu5YmN44GrICjnp5IpJyxcclxuICAgICAgY246ICfmj5DliY0gKOenkiknLFxyXG4gICAgICBrbzogJ+yVnuuLueq5gCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYmVmb3JlLXNlY29uZHMtdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdjb25kaXRpb24nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGRlOiAnY29uZGl0aW9uJyxcclxuICAgICAgZnI6ICdjb25kaXRpb24nLFxyXG4gICAgICBqYTogJ+adoeS7ticsXHJcbiAgICAgIGNuOiAn5p2h5Lu2JyxcclxuICAgICAga286ICfsobDqsbQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2NvbmRpdGlvbi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdkdXJhdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnZHVyYXRpb24gKHNlYyknLFxyXG4gICAgICBkZTogJ0RhdWVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ0R1csOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgamE6ICflrZjntprmmYLplpMgKOenkiknLFxyXG4gICAgICBjbjogJ+aMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgIGtvOiAn7KeA7IaNIOyLnOqwhCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnZHVyYXRpb24tdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdwcmVSdW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3ByZVJ1bicsXHJcbiAgICAgIGRlOiAncHJlUnVuJyxcclxuICAgICAgZnI6ICdwcmVSdW4nLFxyXG4gICAgICBqYTogJ+ODl+ODrOWun+ihjCcsXHJcbiAgICAgIGNuOiAn6aKE6L+Q6KGMJyxcclxuICAgICAga286ICfsgqzsoIQg7Iuk7ZaJJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdwcmVydW4tdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYWxhcm1UZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGFybScsXHJcbiAgICAgIGRlOiAnYWxhcm0nLFxyXG4gICAgICBmcjogJ2FsYXJtZScsXHJcbiAgICAgIGphOiAn6K2m5aCxJyxcclxuICAgICAgY246ICforabmiqXmlofmnKwnLFxyXG4gICAgICBrbzogJ+qyveqzoCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxhcm0tdGV4dCcsXHJcbiAgfSxcclxuICAnYWxlcnRUZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGVydCcsXHJcbiAgICAgIGRlOiAnYWxlcnQnLFxyXG4gICAgICBmcjogJ2FsZXJ0ZScsXHJcbiAgICAgIGphOiAn6K2m5ZGKJyxcclxuICAgICAgY246ICforablkYrmlofmnKwnLFxyXG4gICAgICBrbzogJ+yjvOydmCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxlcnQtdGV4dCcsXHJcbiAgfSxcclxuICAnaW5mb1RleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2luZm8nLFxyXG4gICAgICBkZTogJ2luZm8nLFxyXG4gICAgICBmcjogJ2luZm8nLFxyXG4gICAgICBqYTogJ+aDheWgsScsXHJcbiAgICAgIGNuOiAn5L+h5oGv5paH5pysJyxcclxuICAgICAga286ICfslYjrgrQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2luZm8tdGV4dCcsXHJcbiAgfSxcclxuICAndHRzJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICd0dHMnLFxyXG4gICAgICBkZTogJ3R0cycsXHJcbiAgICAgIGZyOiAndHRzJyxcclxuICAgICAgamE6ICdUVFMnLFxyXG4gICAgICBjbjogJ1RUUycsXHJcbiAgICAgIGtvOiAnVFRTJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICd0dHMtdGV4dCcsXHJcbiAgfSxcclxuICAnc291bmQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3NvdW5kJyxcclxuICAgICAgZGU6ICdzb3VuZCcsXHJcbiAgICAgIGZyOiAnc29uJyxcclxuICAgICAgamE6ICfpn7Plo7AnLFxyXG4gICAgICBjbjogJ+aPkOekuumfsycsXHJcbiAgICAgIGtvOiAn7IaM66asJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdzb3VuZC10ZXh0JyxcclxuICB9LFxyXG4gICdydW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3J1bicsXHJcbiAgICAgIGRlOiAncnVuJyxcclxuICAgICAgZnI6ICdydW4nLFxyXG4gICAgICBqYTogJ+Wun+ihjCcsXHJcbiAgICAgIGNuOiAn6L+Q6KGMJyxcclxuICAgICAga286ICfsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3J1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gT3JkZXJlZCBzZXQgb2YgaGVhZGVycyBpbiB0aGUgdGltZWxpbmUgZWRpdCB0YWJsZS5cclxuY29uc3Qga1RpbWVsaW5lVGFibGVIZWFkZXJzID0ge1xyXG4gIHNob3VsZERpc3BsYXlUZXh0OiB7XHJcbiAgICBlbjogJ1Nob3cnLFxyXG4gICAgZGU6ICdBbnplaWdlbicsXHJcbiAgICBmcjogJ0FmZmljaGVyJyxcclxuICB9LFxyXG4gIHRleHQ6IHtcclxuICAgIGVuOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBkZTogJ1RpbWVsaW5lIFRleHQnLFxyXG4gICAgZnI6ICdUZXh0ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgfSxcclxuICBvdmVycmlkZVRleHQ6IHtcclxuICAgIGVuOiAnUmVuYW1lJyxcclxuICAgIGRlOiAnVW1iZW5lbm5lbicsXHJcbiAgICBmcjogJ1Jlbm9tbWVyJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZGV0YWlsS2V5czogeyBba2V5IGluIGtleW9mIExvb3NlVHJpZ2dlcl06IERldGFpbEtleSB9ID0ga0RldGFpbEtleXM7XHJcblxyXG5jb25zdCBrTWlzY1RyYW5zbGF0aW9ucyA9IHtcclxuICAvLyBTaG93cyB1cCBmb3IgdW4tc2V0IHZhbHVlcy5cclxuICB2YWx1ZURlZmF1bHQ6IHtcclxuICAgIGVuOiAnKGRlZmF1bHQpJyxcclxuICAgIGRlOiAnKFN0YW5kYXJkKScsXHJcbiAgICBmcjogJyhEw6lmYXV0KScsXHJcbiAgICBqYTogJyjliJ3mnJ/lgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco6riw67O46rCSKScsXHJcbiAgfSxcclxuICAvLyBTaG93biB3aGVuIHRoZSBVSSBjYW4ndCBkZWNpcGhlciB0aGUgb3V0cHV0IG9mIGEgZnVuY3Rpb24uXHJcbiAgdmFsdWVJc0Z1bmN0aW9uOiB7XHJcbiAgICBlbjogJyhmdW5jdGlvbiknLFxyXG4gICAgZGU6ICcoRnVua3Rpb24pJyxcclxuICAgIGZyOiAnKEZvbmN0aW9uKScsXHJcbiAgICBqYTogJyjplqLmlbApJyxcclxuICAgIGNuOiAnKOWHveaVsCknLFxyXG4gICAga286ICco7ZWo7IiYKScsXHJcbiAgfSxcclxuICAvLyBXYXJuaW5nIGxhYmVsIGZvciB0cmlnZ2VycyB3aXRob3V0IGlkcyBvciBvdmVycmlkZGVuIHRyaWdnZXJzLlxyXG4gIHdhcm5pbmc6IHtcclxuICAgIGVuOiAn4pqg77iPIHdhcm5pbmcnLFxyXG4gICAgZGU6ICfimqDvuI8gV2FybnVuZycsXHJcbiAgICBmcjogJ+KaoO+4jyBBdHRlbnRpb24nLFxyXG4gICAgamE6ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGNuOiAn4pqg77iPIOitpuWRiicsXHJcbiAgICBrbzogJ+KaoO+4jyDso7zsnZgnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzLlxyXG4gIG1pc3NpbmdJZDoge1xyXG4gICAgZW46ICdtaXNzaW5nIGlkIGZpZWxkJyxcclxuICAgIGRlOiAnRmVobGVuZGVzIElEIEZlbGQnLFxyXG4gICAgZnI6ICdDaGFtcCBJRCBtYW5xdWFudCcsXHJcbiAgICBqYTogJ2lk44GM44GC44KK44G+44Gb44KTJyxcclxuICAgIGNuOiAn57y65bCRaWTlsZ7mgKcnLFxyXG4gICAga286ICdJRCDtlYTrk5zqsJIg7JeG7J2MJyxcclxuICB9LFxyXG4gIC8vIFNob3dzIHVwIGZvciB0cmlnZ2VycyB0aGF0IGFyZSBvdmVycmlkZGVuIGJ5IG90aGVyIHRyaWdnZXJzLlxyXG4gIG92ZXJyaWRkZW5CeUZpbGU6IHtcclxuICAgIGVuOiAnb3ZlcnJpZGRlbiBieSBcIiR7ZmlsZX1cIicsXHJcbiAgICBkZTogJ8OcYmVyc2NocmllYmVuIGR1cmNoIFwiJHtmaWxlfVwiJyxcclxuICAgIGZyOiAnw4ljcmFzw6koZSkgcGFyIFwiJHtmaWxlfVwiJyxcclxuICAgIGphOiAnXCIke2ZpbGV9XCLjgavkuIrmm7jjgY3jgb7jgZfjgZ8nLFxyXG4gICAgY246ICfooqtcIiR7ZmlsZX1cIuaWh+S7tuimhueblicsXHJcbiAgICBrbzogJ1wiJHtmaWxlfVwiIO2MjOydvOyXkOyEnCDrja7slrTslIzsm4AnLFxyXG4gIH0sXHJcbiAgLy8gT3BlbnMgdHJpZ2dlciBmaWxlIG9uIEdpdGh1Yi5cclxuICB2aWV3VHJpZ2dlclNvdXJjZToge1xyXG4gICAgZW46ICdWaWV3IFRyaWdnZXIgU291cmNlJyxcclxuICAgIGRlOiAnWmVpZ2UgVHJpZ2dlciBRdWVsbGUnLFxyXG4gICAgZnI6ICdBZmZpY2hlciBsYSBzb3VyY2UgZHUgVHJpZ2dlcicsXHJcbiAgICBqYTogJ+ODiOODquOCrOODvOOBruOCs+ODvOODieOCkuihqOekuicsXHJcbiAgICBjbjogJ+aYvuekuuinpuWPkeWZqOa6kOeggScsXHJcbiAgICBrbzogJ+2KuOumrOqxsCDstpzsspgg7Je06riwJyxcclxuICB9LFxyXG4gIC8vIFRoZSBoZWFkZXIgZm9yIHRoZSBlZGl0aW5nIHRpbWVsaW5lIHNlY3Rpb24gaW5zaWRlIGEgdHJpZ2dlciBmaWxlLlxyXG4gIGVkaXRUaW1lbGluZToge1xyXG4gICAgZW46ICdFZGl0IFRpbWVsaW5lJyxcclxuICAgIGRlOiAnVGltZWxpbmUgYmVhcmJlaXRlbicsXHJcbiAgICBmcjogJ8OJZGl0ZXIgbGEgdGltZWxpbmUnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQgPSAodmFsRW50cnk/OiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiB2YWxFbnRyeSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEVudHJ5ICE9PSAnbnVtYmVyJylcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWxFbnRyeS50b1N0cmluZygpKTtcclxuICBpZiAoIWlzTmFOKHZhbCkgJiYgdmFsID49IDApXHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5jb25zdCBjYW5CZUNvbmZpZ3VyZWQgPSAodHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyKSA9PiAhdHJpZy5pc01pc3NpbmdJZCAmJiAhdHJpZy5vdmVycmlkZGVuQnlGaWxlO1xyXG5cclxuY29uc3QgYWRkVHJpZ2dlckRldGFpbCA9IChcclxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxyXG4gIGxhYmVsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbFRleHQ6IHN0cmluZyxcclxuICBkZXRhaWxDbHM/OiBzdHJpbmdbXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBsYWJlbC5pbm5lclRleHQgPSBsYWJlbFRleHQ7XHJcbiAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gIGNvbnN0IGRldGFpbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGRldGFpbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbCcpO1xyXG4gIGRldGFpbC5pbm5lclRleHQgPSBkZXRhaWxUZXh0O1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkZXRhaWwpO1xyXG5cclxuICBpZiAoZGV0YWlsQ2xzKVxyXG4gICAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoLi4uZGV0YWlsQ2xzKTtcclxufTtcclxuXHJcbi8vIFRoaXMgaXMgdXNlZCBib3RoIGZvciB0b3AgbGV2ZWwgT3B0aW9ucyBhbmQgZm9yIFBlclRyaWdnZXJBdXRvQ29uZmlnIHNldHRpbmdzLlxyXG4vLyBVbmZvcnR1bmF0ZWx5IGR1ZSB0byBwb29yIGRlY2lzaW9ucyBpbiB0aGUgcGFzdCwgUGVyVHJpZ2dlck9wdGlvbnMgaGFzIGRpZmZlcmVudFxyXG4vLyBmaWVsZHMgaGVyZS4gIFRoaXMgc2hvdWxkIGJlIGZpeGVkLlxyXG5jb25zdCBzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlID0gKFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zIHwgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnksXHJcbikgPT4ge1xyXG4gIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAvLyBOb3RoaW5nLlxyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0QW5kU291bmQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNBbmRUZXh0Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNPbmx5Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAndGV4dE9ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAnZGlzYWJsZWQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gb3V0cHV0IHR5cGU6ICR7dmFsdWUudG9TdHJpbmcoKX1gKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBIZWxwZXIgZm9yIGRvaW5nIG5vdGhpbmcgZHVyaW5nIHRyaWdnZXIgZXZhbCwgYnV0IHN0aWxsIHJlY29yZGluZyBhbnlcclxuLy8gY2FsbHMgdG8gYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB4O2AgdmlhIGNhbGxiYWNrLlxyXG5jbGFzcyBEb05vdGhpbmdGdW5jUHJveHkge1xyXG4gIGNvbnN0cnVjdG9yKG91dHB1dFN0cmluZ3NDYWxsYmFjazogKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xyXG4gICAgICBzZXQoX3RhcmdldCwgcHJvcGVydHksIHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncmVzcG9uc2VPdXRwdXRTdHJpbmdzJykge1xyXG4gICAgICAgICAgLy8gVE9ETzogbmVlZCBzb21lIHdheSBvZiB2ZXJpZnlpbmcgdGhhdCBhIHZhbHVlIGlzIGFuIE91dHB1dFN0cmluZ3MuXHJcbiAgICAgICAgICBvdXRwdXRTdHJpbmdzQ2FsbGJhY2sodmFsdWUgYXMgT3V0cHV0U3RyaW5ncyk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElnbm9yZSBvdGhlciBwcm9wZXJ0eSBzZXR0aW5nIGhlcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KF90YXJnZXQsIF9uYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHsvKiBub29wICovfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgbWFrZUxpbmsgPSAoaHJlZjogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7aHJlZn08L2E+YDtcclxufTtcclxuXHJcbmNvbnN0IGxhbmdPckVuID0gKGxhbmc6IENvbmZpZ1ZhbHVlKTogTGFuZyA9PiB7XHJcbiAgcmV0dXJuIHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJyAmJiBpc0xhbmcobGFuZykgPyBsYW5nIDogJ2VuJztcclxufTtcclxuXHJcbmNsYXNzIFJhaWRib3NzQ29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSBhbGVydHNMYW5nOiBMYW5nO1xyXG4gIHByaXZhdGUgdGltZWxpbmVMYW5nOiBMYW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG5cclxuICAgIC8vIFRPRE86IGlzIGl0IHdvcnRoIGFkZGluZyB0aGUgY29tcGxleGl0eSB0byByZWZsZWN0IHRoaXMgY2hhbmdlIGluIHRyaWdnZXJzIHRoYXQgdXNlIGl0P1xyXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB1c2luZyBzb21ldGhpbmcgbGlrZSB2dWUgb3IgcmVhY3Qgd291bGQgYmUgZWFzaWVyLlxyXG4gICAgLy8gRm9yIHRoZSBtb21lbnQsIGZvbGtzIGNhbiBqdXN0IHJlbG9hZCwgZm9yIHJlYWwuXHJcbiAgICB0aGlzLmFsZXJ0c0xhbmcgPSBsYW5nT3JFbih0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdBbGVydHNMYW5ndWFnZScsIHRoaXMuYmFzZS5sYW5nKSk7XHJcbiAgICB0aGlzLnRpbWVsaW5lTGFuZyA9IGxhbmdPckVuKFxyXG4gICAgICB0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdUaW1lbGluZUxhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkVUkoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgcmFpZGJvc3NGaWxlczogUmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc1JhaWRib3NzRmlsZXMocmFpZGJvc3NGaWxlcywgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZU1hcCkpIHtcclxuICAgICAgLy8gXCJleHBhbnNpb25cIiBoZXJlIGlzIHRlY2huaWNhbGx5IHNlY3Rpb24sIHdoaWNoIGluY2x1ZGVzIFwiZ2VuZXJhbCB0cmlnZ2Vyc1wiXHJcbiAgICAgIC8vIGFuZCBvbmUgc2VjdGlvbiBwZXIgdXNlciBmaWxlLlxyXG4gICAgICBjb25zdCBleHBhbnNpb24gPSBpbmZvLnNlY3Rpb247XHJcblxyXG4gICAgICBpZiAoIWluZm8udHJpZ2dlcnMgfHwgT2JqZWN0LmtleXMoaW5mby50cmlnZ2VycykubGVuZ3RoID09PSAwKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbGV0IGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXTtcclxuICAgICAgaWYgKCFleHBhbnNpb25EaXYpIHtcclxuICAgICAgICBjb25zdCBleHBhbnNpb25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24tY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25Db250YWluZXIpO1xyXG5cclxuICAgICAgICBjb25zdCBleHBhbnNpb25IZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24taGVhZGVyJyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuaW5uZXJUZXh0ID0gZXhwYW5zaW9uO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25IZWFkZXIpO1xyXG5cclxuICAgICAgICBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl0gPSBleHBhbnNpb25Db250YWluZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICBleHBhbnNpb25EaXYuYXBwZW5kQ2hpbGQodHJpZ2dlckNvbnRhaW5lcik7XHJcblxyXG4gICAgICBjb25zdCBoZWFkZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXInKTtcclxuICAgICAgaGVhZGVyRGl2Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhcnRzID0gW2luZm8udGl0bGUsIGluZm8udHlwZSwgaW5mby5wcmVmaXhdO1xyXG4gICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgICBpZiAoIXBhcnQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBwYXJ0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcGFydERpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyLXBhcnQnKTtcclxuICAgICAgICAvLyBVc2UgaW5uZXJIVE1MIGhlcmUgYmVjYXVzZSBvZiA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+LlxyXG4gICAgICAgIHBhcnREaXYuaW5uZXJIVE1MID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIC8vIFRpbWVsaW5lIGVkaXRpbmcgaXMgdGllZCB0byBhIHNpbmdsZSwgc3BlY2lmaWMgem9uZUlkIHBlciBmaWxlIGZvciBub3cuXHJcbiAgICAgIC8vIFdlIGNvdWxkIGFkZCBtb3JlIGluZGlyZWN0aW9uICh2aWEgZmlsZUtleT8pIGFuZCBsb29rIHVwIHpvbmVJZCAtPiBmaWxlS2V5W11cclxuICAgICAgLy8gYW5kIGZpbGVLZXkgLT4gdGltZWxpbmUgZWRpdHMgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoaW5mby50cmlnZ2VyU2V0LnRpbWVsaW5lICYmIHR5cGVvZiBpbmZvLnpvbmVJZCA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgdGhpcy5idWlsZFRpbWVsaW5lVUlDb250YWluZXIoaW5mby56b25lSWQsIGluZm8udHJpZ2dlclNldCwgdHJpZ2dlckNvbnRhaW5lciwgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlck9wdGlvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlck9wdGlvbnMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLW9wdGlvbnMnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0cmlnZ2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFt0cmlnSWQsIHRyaWddIG9mIE9iamVjdC5lbnRyaWVzKGluZm8udHJpZ2dlcnMgPz8ge30pKSB7XHJcbiAgICAgICAgLy8gRG9uJ3QgY29uc3RydWN0IHRyaWdnZXJzIHRoYXQgd29uJ3Qgc2hvdyBhbnl0aGluZy5cclxuICAgICAgICBsZXQgaGFzT3V0cHV0RnVuYyA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgZnVuYyBvZiB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zKSB7XHJcbiAgICAgICAgICBpZiAoZnVuYyBpbiB0cmlnKSB7XHJcbiAgICAgICAgICAgIGhhc091dHB1dEZ1bmMgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFoYXNPdXRwdXRGdW5jICYmICF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBCdWlsZCB0aGUgdHJpZ2dlciBsYWJlbC5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRpdi5pbm5lckhUTUwgPSB0cmlnLmlzTWlzc2luZ0lkID8gJyg/Pz8pJyA6IHRyaWdJZDtcclxuXHJcbiAgICAgICAgdHJpZ2dlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRpdik7XHJcblxyXG4gICAgICAgIC8vIENvbnRhaW5lciBmb3IgdGhlIHJpZ2h0IHNpZGUgdWkgKHNlbGVjdCBib3hlcywgYWxsIG9mIHRoZSBpbmZvKS5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlscycpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEZXRhaWxzKTtcclxuXHJcbiAgICAgICAgaWYgKGNhbkJlQ29uZmlndXJlZCh0cmlnKSlcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnLCB0cmlnZ2VyRGl2KSk7XHJcblxyXG4gICAgICAgIGlmICh0cmlnLmlzTWlzc2luZ0lkKSB7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy5taXNzaW5nSWQpLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSkge1xyXG4gICAgICAgICAgY29uc3QgYmFzZVRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsVGV4dCA9IGJhc2VUZXh0LnJlcGxhY2UoJyR7ZmlsZX0nLCB0cmlnLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMud2FybmluZyksXHJcbiAgICAgICAgICAgIGRldGFpbFRleHQsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwZW5kIHNvbWUgZGV0YWlscyBhYm91dCB0aGUgdHJpZ2dlciBzbyBpdCdzIG1vcmUgb2J2aW91cyB3aGF0IGl0IGlzLlxyXG4gICAgICAgIGZvciAoY29uc3QgW2RldGFpbFN0cmluZ0tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyhkZXRhaWxLZXlzKSkge1xyXG4gICAgICAgICAgLy8gT2JqZWN0LmVudHJpZXMgY29lcmNlcyB0byBhIHN0cmluZywgYnV0IHRoZSBkZXRhaWxLZXlzIGRlZmluaXRpb24gbWFrZXMgdGhpcyB0cnVlLlxyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gZGV0YWlsU3RyaW5nS2V5IGFzIGtleW9mIExvb3NlVHJpZ2dlcjtcclxuXHJcbiAgICAgICAgICBpZiAob3B0LmdlbmVyYXRlZE1hbnVhbGx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGlmICghdGhpcy5iYXNlLmRldmVsb3Blck9wdGlvbnMgJiYgb3B0LmRlYnVnT25seSlcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICBjb25zdCB0cmlnT3V0cHV0ID0gdHJpZy5jb25maWdPdXRwdXQ/LltkZXRhaWxLZXldO1xyXG4gICAgICAgICAgY29uc3QgdHJpZ0Z1bmMgPSB0cmlnW2RldGFpbEtleV07XHJcbiAgICAgICAgICBpZiAoIXRyaWdGdW5jKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxDbHMgPSBbb3B0LmNsc107XHJcbiAgICAgICAgICBsZXQgZGV0YWlsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgaWYgKHRyaWdPdXRwdXQpIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdPdXRwdXQ7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0cmlnRnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZUlzRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICBkZXRhaWxDbHMucHVzaCgnZnVuY3Rpb24tdGV4dCcpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdGdW5jLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICAgZGV0YWlsQ2xzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEFkZCBiZWZvcmVTZWNvbmRzIG1hbnVhbGx5IGZvciB0aW1lbGluZSB0cmlnZ2Vycy5cclxuICAgICAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2JlZm9yZVNlY29uZHMnO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrRGV0YWlsS2V5c1tkZXRhaWxLZXldLmxhYmVsKTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbGFiZWwnKTtcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItYmVmb3JlLXNlY29uZHMnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnN0ZXAgPSAnYW55JztcclxuXHJcbiAgICAgICAgICAvLyBTYXkgXCIoZGVmYXVsdClcIiBmb3IgbW9yZSBjb21wbGljYXRlZCB0aGluZ3MgbGlrZSBmdW5jdGlvbnMuXHJcbiAgICAgICAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZURlZmF1bHQpO1xyXG4gICAgICAgICAgaWYgKHRyaWcuYmVmb3JlU2Vjb25kcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSAnMCc7XHJcbiAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdHJpZy5iZWZvcmVTZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlID0gdHJpZy5iZWZvcmVTZWNvbmRzLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgZHVyYXRpb24gbWFudWFsbHkgd2l0aCBhbiBpbnB1dCB0byBvdmVycmlkZS5cclxuICAgICAgICBpZiAoaGFzT3V0cHV0RnVuYykge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2R1cmF0aW9uJztcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLmR1cmF0aW9uO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1kdXJhdGlvbicpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB0cmlnLmR1cmF0aW9uU2Vjb25kcyA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gYCR7dHJpZy5kdXJhdGlvblNlY29uZHN9YDtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgb3V0cHV0IHN0cmluZ3MgbWFudWFsbHlcclxuICAgICAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIG91dHB1dFN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMob3V0cHV0U3RyaW5ncykpIHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLm91dHB1dFN0cmluZ3M7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHR5cGVvZiBvdXRwdXRTdHJpbmcgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgICAgID8gb3V0cHV0U3RyaW5nXHJcbiAgICAgICAgICAgIDogdGhpcy5iYXNlLnRyYW5zbGF0ZShvdXRwdXRTdHJpbmcpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSBrZXk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW91dHB1dHN0cmluZy1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1vdXRwdXRzdHJpbmcnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gdGVtcGxhdGU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oXHJcbiAgICAgICAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgICAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleSwga2V5XSxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgICAgICBpbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy0nKTtcclxuICAgICAgICBjb25zdCBbcDAsIHAxLCBwMl0gPSBwYXRoO1xyXG4gICAgICAgIGlmIChwMCAhPT0gdW5kZWZpbmVkICYmIHAxICE9PSB1bmRlZmluZWQgJiYgcDIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLXNvdXJjZScpO1xyXG4gICAgICAgICAgY29uc3QgYmFzZVVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi90cmlnZ2Vycyc7XHJcbiAgICAgICAgICBsZXQgdXJsRmlsZXBhdGg7XHJcbiAgICAgICAgICBpZiAocGF0aC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICAgICAgLy8gMDAtbWlzYy9nZW5lcmFsLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7Wy4uLnBhdGhdLnNsaWNlKDIpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gMDItYXJyL3JhaWRzL3QxLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7cDJ9LyR7Wy4uLnBhdGhdLnNsaWNlKDMpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZFRyaWdnZXJJZCA9IHRyaWdJZC5yZXBsYWNlKC8nL2csICdcXFxcXFwnJyk7XHJcbiAgICAgICAgICBjb25zdCB1cmlDb21wb25lbnQgPSBlbmNvZGVVUklDb21wb25lbnQoYGlkOiAnJHtlc2NhcGVkVHJpZ2dlcklkfSdgKS5yZXBsYWNlKC8nL2csICclMjcnKTtcclxuICAgICAgICAgIGNvbnN0IHVybFN0cmluZyA9IGAke2Jhc2VVcmx9LyR7dXJsRmlsZXBhdGh9LmpzIzp+OnRleHQ9JHt1cmlDb21wb25lbnR9YDtcclxuICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBgPGEgaHJlZj1cIiR7dXJsU3RyaW5nfVwiIHRhcmdldD1cIl9ibGFua1wiPigke1xyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZpZXdUcmlnZ2VyU291cmNlKVxyXG4gICAgICAgICAgfSk8L2E+YDtcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnVpbGQgdGhlIHRvcCBsZXZlbCB0aW1lbGluZSBlZGl0aW5nIGV4cGFuZGFibGUgY29udGFpbmVyLlxyXG4gIGJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBsZXQgaGFzRXZlckJlZW5FeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLWVkaXQtaGVhZGVyJyk7XHJcbiAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAvLyBCdWlsZCB0aGUgcmVzdCBvZiB0aGlzIFVJIG9uIGRlbWFuZCBsYXppbHkuXHJcbiAgICAgIGlmICghaGFzRXZlckJlZW5FeHBhbmRlZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWVsaW5lID0gdGhpcy50aW1lbGluZUZyb21TZXQoc2V0LCBvcHRpb25zKTtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSSh6b25lSWQsIHRpbWVsaW5lLCBjb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGhhc0V2ZXJCZWVuRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgfTtcclxuICAgIGhlYWRlckRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLmVkaXRUaW1lbGluZSk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYSBwYXJzZWQgdGltZWxpbmUgZnJvbSBhIGdpdmVuIHRyaWdnZXIgc2V0LlxyXG4gIHRpbWVsaW5lRnJvbVNldChzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCwgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zKTogVGltZWxpbmVQYXJzZXIge1xyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBSZWN1cnNpdmVseSB0dXJuIHRoZSB0aW1lbGluZSBhcnJheSBpbnRvIGEgc3RyaW5nLlxyXG4gICAgY29uc3QgYWRkVGltZWxpbmUgPSAob2JqPzogVGltZWxpbmVGaWVsZCkgPT4ge1xyXG4gICAgICBpZiAob2JqID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgLy8gSGFjaywgcGFzcyBibGFuayBkYXRhIGluLCBhcyB3ZSBkb24ndCBoYXZlIGEgcmVhbCBkYXRhIGhlcmUuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xyXG4gICAgICAgIGNvbnN0IGJsYW5rRGF0YTogUmFpZGJvc3NEYXRhID0ge30gYXMgUmFpZGJvc3NEYXRhO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmooYmxhbmtEYXRhKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gRG8gbm90aGluZyBpZiB0aGlzIGZhaWxzLlxyXG4gICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBwcmV0dHkgdW5jb21tb24gaW4gYnVpbHQtaW4gdGltZWxpbmVzLlxyXG4gICAgICAgICAgLy8gSWYgdXNlciBmdW5jdGlvbnMgZG8gZnVua3kgdGhpbmdzLCB0aG9zZSBleHRyYSBsaW5lcyB3aWxsIGJlIHNraXBwZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7b2JqfWA7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBhZGRUaW1lbGluZShzZXQudGltZWxpbmUpO1xyXG4gICAgLy8gVXNpbmcgdGhlIHRpbWVsaW5lUmVwbGFjZSBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbGV0cyB0aGUgdGltZWxpbmVcclxuICAgIC8vIGVudHJpZXMgbG9vayBsaWtlIHRoZXkgd291bGQgaW4gZ2FtZS5cclxuICAgIHJldHVybiBuZXcgVGltZWxpbmVQYXJzZXIodGV4dCwgc2V0LnRpbWVsaW5lUmVwbGFjZSA/PyBbXSwgW10sIFtdLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBpbnRlcm5hbCBwYXJ0IG9mIHRpbWVsaW5lIGVkaXRpbmcgdWkuXHJcbiAgYnVpbGRUaW1lbGluZVVJKHpvbmVJZDogbnVtYmVyLCB0aW1lbGluZTogVGltZWxpbmVQYXJzZXIsIHBhcmVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVuaXFFdmVudHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIHRpbWVsaW5lLmV2ZW50cykge1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB1bmlxRXZlbnRzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB0aW1lbGluZS5pZ25vcmVzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAvLyBuYW1lID0gb3JpZ2luYWwgdGltZWxpbmUgdGV4dFxyXG4gICAgICAvLyB0ZXh0ID0gcmVwbGFjZWQgdGV4dCBpbiBjdXJyZW50IGxhbmd1YWdlXHJcbiAgICAgIHVuaXFFdmVudHNbZXZlbnQubmFtZV0gPSBldmVudC50ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtY29udGFpbmVyJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiBPYmplY3QudmFsdWVzKGtUaW1lbGluZVRhYmxlSGVhZGVycykpIHtcclxuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGhlYWRlcik7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh1bmlxRXZlbnRzKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdW5pcUV2ZW50c1trZXldO1xyXG4gICAgICBpZiAoIWV2ZW50KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY29uc3QgY2hlY2tJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lbmFibGUnKTtcclxuICAgICAgY2hlY2tJbnB1dC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNoZWNrSW5wdXQpO1xyXG5cclxuICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgaGVyZSBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIGBoaWRlYWxsIFwia2V5XCJgLCB3aGVyZSB0aGlzIHRleHQgd2lsbFxyXG4gICAgICAvLyBub3QgYmUgc2hvd24sIGJ1dCB0aW1lbGluZSB0cmlnZ2VycyByZWxhdGVkIHRvIGl0IHdpbGwgc3RpbGwgZmlyZS5cclxuICAgICAgY29uc3QgZW5hYmxlSWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdlbmFibGUnLCBrZXldO1xyXG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0cnVlO1xyXG4gICAgICBjaGVja0lucHV0LmNoZWNrZWQgPSB0aGlzLmJhc2UuZ2V0Qm9vbGVhbk9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgZGVmYXVsdFZhbHVlKTtcclxuICAgICAgY2hlY2tJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgZW5hYmxlSWQsIGNoZWNrSW5wdXQuY2hlY2tlZCk7XHJcblxyXG4gICAgICBjb25zdCB0aW1lbGluZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdGltZWxpbmVUZXh0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtdGV4dCcpO1xyXG4gICAgICB0aW1lbGluZVRleHQuaW5uZXJIVE1MID0gZXZlbnQ7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW1lbGluZVRleHQpO1xyXG5cclxuICAgICAgY29uc3QgdGV4dElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgdGV4dElucHV0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtZWRpdCcpO1xyXG4gICAgICB0ZXh0SW5wdXQucGxhY2Vob2xkZXIgPSBldmVudDtcclxuXHJcbiAgICAgIC8vIEFueSBjaGFuZ2VzIGFyZSB0aWVkIHRvIHRoZSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0IChrZXkpLCBidXQgdGhlIGNvbmZpZyB1aSB3aWxsXHJcbiAgICAgIC8vIGRpc3BsYXkgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UncyB0ZXh0IHdpdGggcmVwbGFjZW1lbnRzIChldmVudCkgYXMgdGhlIHBsYWNlaG9sZGVyIGFib3ZlLlxyXG4gICAgICBjb25zdCB0ZXh0SWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdnbG9iYWxSZXBsYWNlJywga2V5XTtcclxuICAgICAgdGV4dElucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsICcnKTtcclxuICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgdGV4dElkLCB0ZXh0SW5wdXQudmFsdWUpO1xyXG4gICAgICB0ZXh0SW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICB0ZXh0SW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dElucHV0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRoaXMgZHVwbGljYXRlcyB0aGUgcmFpZGJvc3MgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZS5cclxuICB2YWx1ZU9yRnVuY3Rpb24oXHJcbiAgICBmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCxcclxuICAgIGRhdGE6IFJhaWRib3NzRGF0YSxcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBvdXRwdXQ6IE91dHB1dCxcclxuICApOiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gKHR5cGVvZiBmID09PSAnZnVuY3Rpb24nKSA/IGYoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA6IGY7XHJcbiAgICBpZiAocmVzdWx0ICE9PSBPYmplY3QocmVzdWx0KSlcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICBpZiAocmVzdWx0W3RoaXMuYWxlcnRzTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIGlmIChyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddKVxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMudGltZWxpbmVMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIC8vIEZvciBwYXJ0aWFsbHkgbG9jYWxpemVkIHJlc3VsdHMgd2hlcmUgdGhpcyBsb2NhbGl6YXRpb24gZG9lc24ndFxyXG4gICAgLy8gZXhpc3QsIHByZWZlciBFbmdsaXNoIG92ZXIgbm90aGluZy5cclxuICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbJ2VuJ10sIGRhdGEsIG1hdGNoZXMsIG91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzVHJpZ2dlcih0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpOiBDb25maWdMb29zZVRyaWdnZXIge1xyXG4gICAgLy8gVE9ETzogd2l0aCBzb21lIGhhY2tpbmVzcyAoZS5nLiByZWdleGVzPykgd2UgY291bGQgZmlndXJlIG91dCB3aGljaFxyXG4gICAgLy8gb3V0cHV0IHN0cmluZyBjYW1lIGZyb20gd2hpY2ggYWxlcnQgdHlwZSAoYWxhcm0sIGFsZXJ0LCBpbmZvLCB0dHMpLlxyXG4gICAgLy8gU2VlIGBtYWtlT3V0cHV0YCBjb21tZW50cyBmb3Igd2h5IHRoaXMgbmVlZHMgYSB0eXBlIGFzc2VydGlvbiB0byBiZSBhbiBPdXRwdXQuXHJcbiAgICBjb25zdCBmYWtlT3V0cHV0UHJveHkgPSBuZXcgRG9Ob3RoaW5nRnVuY1Byb3h5KChvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzKSA9PiB7XHJcbiAgICAgIHRyaWcub3V0cHV0U3RyaW5ncyA9IHRyaWcub3V0cHV0U3RyaW5ncyB8fCB7fTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0cmlnLm91dHB1dFN0cmluZ3MsIG91dHB1dFN0cmluZ3MpO1xyXG4gICAgfSkgYXMgT3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGJhc2VGYWtlRGF0YTogUmFpZGJvc3NEYXRhID0ge1xyXG4gICAgICBtZTogJycsXHJcbiAgICAgIGpvYjogJ05PTkUnLFxyXG4gICAgICByb2xlOiAnbm9uZScsXHJcbiAgICAgIHBhcnR5OiBuZXcgUGFydHlUcmFja2VyKCksXHJcbiAgICAgIGxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IDEwMDAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMuYmFzZS5jb25maWdPcHRpb25zLFxyXG4gICAgICBTaG9ydE5hbWU6ICh4Pzogc3RyaW5nKSA9PiB4ID8/ICc/Pz8nLFxyXG4gICAgICBTdG9wQ29tYmF0OiAoKSA9PiB7Lyogbm9vcCAqL30sXHJcbiAgICAgIFBhcnNlTG9jYWxlRmxvYXQ6IHBhcnNlRmxvYXQsXHJcbiAgICAgIENhblN0dW46ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuU2xlZXA6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5DbGVhbnNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuRmVpbnQ6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5BZGRsZTogKCkgPT4gZmFsc2UsXHJcbiAgICAgIHBhcnNlckxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBkaXNwbGF5TGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICB9O1xyXG5cclxuICAgIHR5cGUgUGFydGlhbEZha2VEYXRhRW50cnkgPSB7IG1lOiBzdHJpbmc7IGpvYjogSm9iOyByb2xlOiBSb2xlIH07XHJcbiAgICBjb25zdCBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzOiBQYXJ0aWFsRmFrZURhdGFFbnRyeVtdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUaW5pIFBvdXRpbmknLFxyXG4gICAgICAgIGpvYjogJ0dOQicsXHJcbiAgICAgICAgcm9sZTogJ3RhbmsnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdQb3RhdG8gQ2hpcHB5JyxcclxuICAgICAgICBqb2I6ICdXSE0nLFxyXG4gICAgICAgIHJvbGU6ICdoZWFsZXInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUYXRlciBUb3QnLFxyXG4gICAgICAgIGpvYjogJ0JMTScsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0hhc2ggQnJvd24nLFxyXG4gICAgICAgIGpvYjogJ0RSRycsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0Fsb28gR29iaScsXHJcbiAgICAgICAgam9iOiAnQkxVJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBjb25zdCBmYWtlRGF0YUVudHJpZXM6IFJhaWRib3NzRGF0YVtdID0gcGFydGlhbEZha2VEYXRhRW50cmllcy5tYXAoKHgpID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHgsIGJhc2VGYWtlRGF0YSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZpcnN0RGF0YSA9IGZha2VEYXRhRW50cmllc1swXTtcclxuICAgIGlmICghZmlyc3REYXRhKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qga0Zha2VNYXRjaGVzID0ge1xyXG4gICAgICAvLyBUT0RPOiByZWFsbHkgc2hvdWxkIGNvbnZlcnQgYWxsIHRyaWdnZXJzIHRvIHVzZSByZWdleGVzLmpzLlxyXG4gICAgICAvLyBNb29vb29zdCB0cmlnZ2VycyB1c2UgbWF0Y2hlc1sxXSB0byBiZSBhIG5hbWUuXHJcbiAgICAgIDE6IGZpcnN0RGF0YS5tZSxcclxuXHJcbiAgICAgIHNvdXJjZUlkOiAnNDEyMzQ1NjcnLFxyXG4gICAgICBzb3VyY2U6ICdFbmVteScsXHJcbiAgICAgIGlkOiAnMTIzNCcsXHJcbiAgICAgIGFiaWxpdHk6ICdBYmlsaXR5JyxcclxuICAgICAgdGFyZ2V0SWQ6ICcxMjM0NTY3JyxcclxuICAgICAgdGFyZ2V0OiBmaXJzdERhdGEubWUsXHJcbiAgICAgIGZsYWdzOiAnJyxcclxuICAgICAgeDogJzEwMCcsXHJcbiAgICAgIHk6ICcxMDAnLFxyXG4gICAgICB6OiAnMCcsXHJcbiAgICAgIGhlYWRpbmc6ICcwJyxcclxuICAgICAgbnBjSWQ6ICcnLFxyXG4gICAgICBlZmZlY3Q6ICdFZmZlY3QnLFxyXG4gICAgICBkdXJhdGlvbjogJzMwJyxcclxuICAgICAgY29kZTogJzAwJyxcclxuICAgICAgbGluZTogJycsXHJcbiAgICAgIG5hbWU6ICdOYW1lJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0OiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXRLZXlzID0gWydhbGFybVRleHQnLCAnYWxlcnRUZXh0JywgJ2luZm9UZXh0JywgJ3R0cycsICdzb3VuZCddIGFzIGNvbnN0O1xyXG4gICAgdHlwZSBPdXRwdXRLZXkgPSB0eXBlb2Ygb3V0cHV0S2V5c1tudW1iZXJdO1xyXG5cclxuICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgc29tZSBzYW1wbGUgb3V0cHV0P1xyXG4gICAgLy8gVGhpcyBjb3VsZCBnZXQgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGlmIHdlIHdhbnRlZCBpdCB0by5cclxuICAgIGNvbnN0IGV2YWxUcmlnZ2VyID0gKHRyaWc6IExvb3NlVHJpZ2dlciwga2V5OiBPdXRwdXRLZXksIGRhdGE6IFJhaWRib3NzRGF0YSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsdWVPckZ1bmN0aW9uKHRyaWdba2V5XSwgZGF0YSwga0Zha2VNYXRjaGVzLCBmYWtlT3V0cHV0UHJveHkpO1xyXG4gICAgICAgIGlmICghcmVzdWx0KVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBTdXBlciBoYWNrOlxyXG4gICAgICAgIGNvbnN0IHJlc3VsdFN0ciA9IHJlc3VsdC50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChyZXN1bHRTdHIuaW5jbHVkZXMoJ3VuZGVmaW5lZCcpIHx8IHJlc3VsdFN0ci5pbmNsdWRlcygnTmFOJykpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIG91dHB1dFtrZXldID0gcmVzdWx0U3RyO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBhbGwgdG90YWxseSBib2d1cy4gIE1hbnkgdHJpZ2dlcnMgYXNzdW1lIGZpZWxkcyBvbiBkYXRhXHJcbiAgICAgICAgLy8gYXJlIHByb3Blcmx5IGRlZmluZWQgd2hlbiB0aGVzZSBjYWxscyBoYXBwZW4sIHNvIHdpbGwgdGhyb3cgZXJyb3JzLlxyXG4gICAgICAgIC8vIFNvIGp1c3Qgc2lsZW50bHkgaWdub3JlLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBIYW5kbGUgJ3Jlc3BvbnNlJyBmaXJzdC5cclxuICAgIGlmICh0cmlnLnJlc3BvbnNlKSB7XHJcbiAgICAgIGNvbnN0IHIgPSB0cmlnLnJlc3BvbnNlO1xyXG4gICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIC8vIENhbid0IHVzZSBWYWx1ZU9yRnVuY3Rpb24gaGVyZSBhcyByIHJldHVybnMgYSBub24tbG9jYWxpemFibGUgb2JqZWN0LlxyXG4gICAgICAgICAgLy8gRklYTUU6IHRoaXMgaGFja2lseSByZXBsaWNhdGVzIHNvbWUgcmFpZGJvc3MgbG9naWMgdG9vLlxyXG4gICAgICAgICAgbGV0IHJlc3BvbnNlOiB0eXBlb2YgdHJpZy5yZXNwb25zZSB8IHVuZGVmaW5lZCA9IHI7XHJcbiAgICAgICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaGFzIGJ1aWx0SW5SZXNwb25zZVN0ciBmaXJzdC5cclxuICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZShkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKVxyXG4gICAgICAgICAgICAgIGV2YWxUcmlnZ2VyKHJlc3BvbnNlLCBrZXksIGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT25seSBldmFsdWF0ZSBmaWVsZHMgaWYgdGhlcmUgYXJlIG5vdCBvdXRwdXRTdHJpbmdzLlxyXG4gICAgLy8gb3V0cHV0U3RyaW5ncyB3aWxsIGluZGljYXRlIG1vcmUgY2xlYXJseSB3aGF0IHRoZSB0cmlnZ2VyIHNheXMuXHJcbiAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKSB7XHJcbiAgICAgICAgaWYgKCEoa2V5IGluIHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZm9yIChjb25zdCBkYXRhIG9mIGZha2VEYXRhRW50cmllcykge1xyXG4gICAgICAgICAgaWYgKGV2YWxUcmlnZ2VyKHRyaWcsIGtleSwgZGF0YSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWcuY29uZmlnT3V0cHV0ID0gb3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLmJhc2UubGFuZztcclxuXHJcbiAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleGVzID0gW1xyXG4gICAgICAnbmV0UmVnZXhEZScsXHJcbiAgICAgICduZXRSZWdleEZyJyxcclxuICAgICAgJ25ldFJlZ2V4SmEnLFxyXG4gICAgICAnbmV0UmVnZXhDbicsXHJcbiAgICAgICduZXRSZWdleEtvJyxcclxuICAgICAgJ3JlZ2V4RGUnLFxyXG4gICAgICAncmVnZXhGcicsXHJcbiAgICAgICdyZWdleEphJyxcclxuICAgICAgJ3JlZ2V4Q24nLFxyXG4gICAgICAncmVnZXhLbycsXHJcbiAgICBdIGFzIGNvbnN0O1xyXG4gICAgY29uc3QgZ2V0UmVnZXggPSAoYmFzZUZpZWxkOiAncmVnZXgnIHwgJ25ldFJlZ2V4JykgPT4ge1xyXG4gICAgICBjb25zdCBzaG9ydExhbmd1YWdlID0gbGFuZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGxhbmcuc2xpY2UoMSk7XHJcbiAgICAgIGNvbnN0IGNvbmNhdFN0ciA9IGxhbmdTcGVjaWZpY1JlZ2V4ZXMuZmluZCgoeCkgPT4geCA9PT0gYCR7YmFzZUZpZWxkfSR7c2hvcnRMYW5ndWFnZX1gKTtcclxuICAgICAgaWYgKCFjb25jYXRTdHIpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleCA9IHRyaWdbY29uY2F0U3RyXSA/PyB0cmlnW2Jhc2VGaWVsZF07XHJcbiAgICAgIGlmICghbGFuZ1NwZWNpZmljUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBiYXNlUmVnZXggPSBSZWdleGVzLnBhcnNlKGxhbmdTcGVjaWZpY1JlZ2V4KTtcclxuICAgICAgaWYgKCFiYXNlUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICByZXR1cm4gUmVnZXhlcy5wYXJzZShiYXNlUmVnZXgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICB0cmlnLnRpbWVsaW5lUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyaWcudHJpZ2dlclJlZ2V4ID0gZ2V0UmVnZXgoJ3JlZ2V4Jyk7XHJcbiAgICAgIHRyaWcudHJpZ2dlck5ldFJlZ2V4ID0gZ2V0UmVnZXgoJ25ldFJlZ2V4Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyaWc7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzUmFpZGJvc3NGaWxlcyhcclxuICAgIGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICApOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4ge1xyXG4gICAgLy8gYGZpbGVzYCBpcyBtYXAgb2YgZmlsZW5hbWUgPT4gdHJpZ2dlclNldCAoZm9yIHRyaWdnZXIgZmlsZXMpXHJcbiAgICAvLyBgbWFwYCBpcyBhIHNvcnRlZCBtYXAgb2Ygc2hvcnRlbmVkIHpvbmUga2V5ID0+IHsgdmFyaW91cyBmaWVsZHMsIHRyaWdnZXJTZXQgfVxyXG4gICAgY29uc3QgdHJpZ2dlckZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0IH0gPSB7fTtcclxuICAgIGNvbnN0IHRpbWVsaW5lRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIHRyaWdnZXJTZXRPclN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdHJpZ2dlclNldE9yU3RyaW5nID09PSAnc3RyaW5nJylcclxuICAgICAgICB0aW1lbGluZUZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRyaWdnZXJGaWxlc1tmaWxlbmFtZV0gPSB0cmlnZ2VyU2V0T3JTdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWFwID0gdGhpcy5iYXNlLnByb2Nlc3NGaWxlczxDb25maWdMb29zZVRyaWdnZXJTZXQ+KHRyaWdnZXJGaWxlcywgdXNlck9wdGlvbnMuVHJpZ2dlcnMpO1xyXG4gICAgbGV0IHRyaWdnZXJJZHggPSAwO1xyXG5cclxuICAgIC8vIFdoaWxlIHdhbGtpbmcgdGhyb3VnaCB0cmlnZ2VycywgcmVjb3JkIGFueSBwcmV2aW91cyB0cmlnZ2VycyB3aXRoIHRoZSBzYW1lXHJcbiAgICAvLyBpZCBzbyB0aGF0IHRoZSB1aSBjYW4gZGlzYWJsZSBvdmVycmlkaW5nIGluZm9ybWF0aW9uLlxyXG4gICAgY29uc3QgcHJldmlvdXNUcmlnZ2VyV2l0aElkOiB7IFtpZDogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhtYXApKSB7XHJcbiAgICAgIC8vIFRPRE86IG1heWJlIGVhY2ggdHJpZ2dlciBzZXQgbmVlZHMgYSB6b25lIG5hbWUsIGFuZCB3ZSBzaG91bGRcclxuICAgICAgLy8gdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgZmlsZW5hbWU/Pz9cclxuICAgICAgY29uc3QgcmF3VHJpZ2dlcnM6IHsgdHJpZ2dlcjogTG9vc2VUcmlnZ2VyW107IHRpbWVsaW5lOiBMb29zZVRyaWdnZXJbXSB9ID0ge1xyXG4gICAgICAgIHRyaWdnZXI6IFtdLFxyXG4gICAgICAgIHRpbWVsaW5lOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgdHJpZ2dlclNldCA9IGl0ZW0udHJpZ2dlclNldDtcclxuICAgICAgaWYgKHRyaWdnZXJTZXQudHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudHJpZ2dlci5wdXNoKC4uLnRyaWdnZXJTZXQudHJpZ2dlcnMpO1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKVxyXG4gICAgICAgIHJhd1RyaWdnZXJzLnRpbWVsaW5lLnB1c2goLi4udHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKTtcclxuXHJcbiAgICAgIGlmICghdHJpZ2dlclNldC5pc1VzZXJUcmlnZ2VyU2V0ICYmIHRyaWdnZXJTZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgZmxhdHRlblRpbWVsaW5lKHRyaWdnZXJTZXQsIHRyaWdnZXJTZXQuZmlsZW5hbWUsIHRpbWVsaW5lRmlsZXMpO1xyXG5cclxuICAgICAgaXRlbS50cmlnZ2VycyA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHRyaWdnZXJBcnJdIG9mIE9iamVjdC5lbnRyaWVzKHJhd1RyaWdnZXJzKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZVRyaWcgb2YgdHJpZ2dlckFycikge1xyXG4gICAgICAgICAgY29uc3QgdHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyID0gYmFzZVRyaWc7XHJcbiAgICAgICAgICB0cmlnZ2VySWR4Kys7XHJcbiAgICAgICAgICBpZiAoIXRyaWcuaWQpIHtcclxuICAgICAgICAgICAgLy8gR2l2ZSB0cmlnZ2VycyB3aXRoIG5vIGlkIHNvbWUgXCJ1bmlxdWVcIiBzdHJpbmcgc28gdGhhdCB0aGV5IGNhblxyXG4gICAgICAgICAgICAvLyBzdGlsbCBiZSBhZGRlZCB0byB0aGUgc2V0IGFuZCBzaG93IHVwIGluIHRoZSB1aS5cclxuICAgICAgICAgICAgdHJpZy5pZCA9IGAhIU5vSWRUcmlnZ2VyJHt0cmlnZ2VySWR4fWA7XHJcbiAgICAgICAgICAgIHRyaWcuaXNNaXNzaW5nSWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIFRyYWNrIGlmIHRoaXMgdHJpZ2dlciBvdmVycmlkZXMgYW55IHByZXZpb3VzIHRyaWdnZXIuXHJcbiAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXTtcclxuICAgICAgICAgIGlmIChwcmV2aW91cylcclxuICAgICAgICAgICAgcHJldmlvdXMub3ZlcnJpZGRlbkJ5RmlsZSA9IHRyaWdnZXJTZXQuZmlsZW5hbWU7XHJcbiAgICAgICAgICBwcmV2aW91c1RyaWdnZXJXaXRoSWRbdHJpZy5pZF0gPSB0cmlnO1xyXG5cclxuICAgICAgICAgIHRyaWcuaXNUaW1lbGluZVRyaWdnZXIgPSBrZXkgPT09ICd0aW1lbGluZSc7XHJcbiAgICAgICAgICAvLyBBbHNvLCBpZiBhIHVzZXIgaGFzIHR3byBvZiB0aGUgc2FtZSBpZCBpbiB0aGUgc2FtZSB0cmlnZ2VyU2V0ICg/ISlcclxuICAgICAgICAgIC8vIHRoZW4gb25seSB0aGUgc2Vjb25kIHRyaWdnZXIgd2lsbCBzaG93IHVwLlxyXG4gICAgICAgICAgaXRlbS50cmlnZ2Vyc1t0cmlnLmlkXSA9IHRoaXMucHJvY2Vzc1RyaWdnZXIodHJpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnOiBMb29zZVRyaWdnZXIsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCkge1xyXG4gICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBhcyBhbGwgdHJpZ2dlcnMgc2hvdWxkIGJlIHByb2Nlc3NlZCB3aXRoIGEgdW5pcXVlIGlkLlxyXG4gICAgY29uc3QgdHJpZ0lkID0gdHJpZy5pZDtcclxuICAgIGlmICghdHJpZ0lkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0O1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKFxyXG4gICAgICAncmFpZGJvc3MnLFxyXG4gICAgICBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLFxyXG4gICAgICAnZGVmYXVsdCcsXHJcbiAgICApO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VyU291bmRPcHRpb25zKSkge1xyXG4gICAgICAvLyBIaWRlIGRlYnVnIG9ubHkgb3B0aW9ucyB1bmxlc3MgdGhleSBhcmUgc2VsZWN0ZWQuXHJcbiAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBsb29rIHdlaXJkIHRvIHBpY2sgc29tZXRoaW5nIGxpa2UgJ0Rpc2FibGVkJyxcclxuICAgICAgLy8gYnV0IHRoZW4gbm90IHNob3cgaXQgd2hlbiBkZXZlbG9wZXIgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cclxuICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5ICYmIGtleSAhPT0gc2VsZWN0VmFsdWUpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgZWxlbS5pbm5lckhUTUwgPSB0aGlzLmJhc2UudHJhbnNsYXRlKG9wdC5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBmbGF0dGVuVGltZWxpbmUgPSAoXHJcbiAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBmaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4pID0+IHtcclxuICAvLyBDb252ZXJ0IHNldC50aW1lbGluZUZpbGUgdG8gc2V0LnRpbWVsaW5lLlxyXG4gIGlmICghc2V0LnRpbWVsaW5lRmlsZSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCBsYXN0SW5kZXggPSBNYXRoLm1heChmaWxlbmFtZS5sYXN0SW5kZXhPZignLycpLCBmaWxlbmFtZS5sYXN0SW5kZXhPZignXFxcXCcpKTtcclxuICAvLyBJZiBsYXN0SW5kZXggPT09IC0xLCB0cnVuY2F0ZSBuYW1lIHRvIHRoZSBlbXB0eSBzdHJpbmcuXHJcbiAgLy8gaWYgbGFzdEluZGV4ID4gLTEsIHRydW5jYXRlIG5hbWUgYWZ0ZXIgdGhlIGZpbmFsIHNsYXNoLlxyXG4gIGNvbnN0IGRpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuXHJcbiAgY29uc3QgdGltZWxpbmVGaWxlID0gYCR7ZGlyfSR7c2V0LnRpbWVsaW5lRmlsZX1gO1xyXG4gIGRlbGV0ZSBzZXQudGltZWxpbmVGaWxlO1xyXG5cclxuICBpZiAoISh0aW1lbGluZUZpbGUgaW4gZmlsZXMpKSB7XHJcbiAgICBjb25zb2xlLmxvZyhgRVJST1I6ICcke2ZpbGVuYW1lfScgc3BlY2lmaWVzIG5vbi1leGlzdGVudCB0aW1lbGluZSBmaWxlICcke3RpbWVsaW5lRmlsZX0nLmApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLy8gc2V0LnRpbWVsaW5lIGlzIHByb2Nlc3NlZCByZWN1cnNpdmVseS5cclxuICBzZXQudGltZWxpbmUgPSBbc2V0LnRpbWVsaW5lLCBmaWxlc1t0aW1lbGluZUZpbGVdXTtcclxufTtcclxuXHJcbi8vIFJhaWRib3NzIG5lZWRzIHRvIGRvIHNvbWUgZXh0cmEgcHJvY2Vzc2luZyBvZiB1c2VyIGZpbGVzLlxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbiAgYmFzZU9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4ge1xyXG4gIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLlxyXG4gIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBSYWlkYm9zc09wdGlvbnM7XHJcblxyXG4gIGlmICghb3B0aW9ucy5UcmlnZ2VycylcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBiYXNlVHJpZ2dlclNldCBvZiBvcHRpb25zLlRyaWdnZXJzKSB7XHJcbiAgICBjb25zdCBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuXHJcbiAgICBmbGF0dGVuVGltZWxpbmUoc2V0LCBuYW1lLCBmaWxlcyk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnID0gKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICAvLyByYWlkYm9zcyB3aWxsIGxvb2sgdXAgdGhpcy5vcHRpb25zLlBlclRyaWdnZXJBdXRvQ29uZmlnIHRvIGZpbmQgdGhlc2UgdmFsdWVzLlxyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyVHJpZ2dlckF1dG9Db25maWcnO1xyXG5cclxuICBjb25zdCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IG9wdGlvbnNbb3B0aW9uTmFtZV0gPz89IHt9O1xyXG4gIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IHRyaWdnZXJzID0gc2F2ZWRDb25maWdbJ3RyaWdnZXJzJ107XHJcbiAgaWYgKCF0cmlnZ2VycyB8fCB0eXBlb2YgdHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkodHJpZ2dlcnMpKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBjb25zdCBvdXRwdXRPYmpzOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH0gPSB7fTtcclxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoa1RyaWdnZXJPcHRpb25zKTtcclxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICBjb25zdCBvYmogPSBvdXRwdXRPYmpzW2tleV0gPSB7fTtcclxuICAgIHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUob2JqLCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBbaWQsIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VycykpIHtcclxuICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWcgPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVtrT3B0aW9uS2V5cy5vdXRwdXRdPy50b1N0cmluZygpO1xyXG4gICAgaWYgKG91dHB1dClcclxuICAgICAgT2JqZWN0LmFzc2lnbihhdXRvQ29uZmlnLCBvdXRwdXRPYmpzW291dHB1dF0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmR1cmF0aW9uXSk7XHJcbiAgICBpZiAoZHVyYXRpb24pXHJcbiAgICAgIGF1dG9Db25maWdba09wdGlvbktleXMuZHVyYXRpb25dID0gZHVyYXRpb247XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZChlbnRyeVtrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSk7XHJcbiAgICBpZiAoYmVmb3JlU2Vjb25kcylcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSA9IGJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdO1xyXG4gICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgU2F2ZWRDb25maWdFbnRyeSBpcyBhbiBhbiBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLFxyXG4gICAgLy8gd2hpY2ggaXMgYSBzdWJzZXQgb2YgdGhlIE91dHB1dFN0cmluZ3MgdHlwZS5cclxuICAgIGlmIChcclxuICAgICAgKChlbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpOiBlbnRyeSBpcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIGVudHJ5ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGVudHJ5KSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoZW50cnkpKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfSkob3V0cHV0U3RyaW5ncylcclxuICAgIClcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5vdXRwdXRTdHJpbmdzXSA9IG91dHB1dFN0cmluZ3M7XHJcblxyXG4gICAgaWYgKG91dHB1dCB8fCBkdXJhdGlvbiB8fCBvdXRwdXRTdHJpbmdzKVxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPSBhdXRvQ29uZmlnO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyWm9uZVRpbWVsaW5lQ29uZmlnJztcclxuICAvLyBTYXZlZENvbmZpZyB1c2VzIHRoaXMga2V5IHN0cnVjdHVyZTpcclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2VuYWJsZScsIHRleHQsIGJvb2xlYW5cclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2dsb2JhbFJlcGxhY2UnLCB0ZXh0LCBzdHJpbmdcclxuICAvLyAuLi5hbmQgdGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGl0IGludG8gYSBgUGVyWm9uZVRpbWVsaW5lQ29uZmlnYC5cclxuXHJcbiAgY29uc3QgcGVyWm9uZVRpbWVsaW5lQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdGltZWxpbmUgPSBzYXZlZENvbmZpZ1sndGltZWxpbmUnXTtcclxuICBpZiAoIXRpbWVsaW5lIHx8IHR5cGVvZiB0aW1lbGluZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0aW1lbGluZSkpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgW3pvbmVLZXksIHpvbmVFbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModGltZWxpbmUpKSB7XHJcbiAgICBjb25zdCB6b25lSWQgPSBwYXJzZUludCh6b25lS2V5KTtcclxuICAgIGlmICghem9uZUlkKVxyXG4gICAgICBjb250aW51ZTtcclxuICAgIGNvbnN0IHRpbWVsaW5lQ29uZmlnID0gcGVyWm9uZVRpbWVsaW5lQ29uZmlnW3pvbmVJZF0gPz89IHt9O1xyXG5cclxuICAgIGlmICghem9uZUVudHJ5IHx8IHR5cGVvZiB6b25lRW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoem9uZUVudHJ5KSlcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3QgZW5hYmxlRW50cnkgPSB6b25lRW50cnlbJ2VuYWJsZSddO1xyXG4gICAgY29uc3QgcmVwbGFjZUVudHJ5ID0gem9uZUVudHJ5WydnbG9iYWxSZXBsYWNlJ107XHJcblxyXG4gICAgaWYgKGVuYWJsZUVudHJ5ICYmIHR5cGVvZiBlbmFibGVFbnRyeSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVuYWJsZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiAhdmFsdWUpXHJcbiAgICAgICAgICAodGltZWxpbmVDb25maWcuSWdub3JlID8/PSBbXSkucHVzaChrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcGxhY2VFbnRyeSAmJiB0eXBlb2YgcmVwbGFjZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShyZXBsYWNlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5SZW5hbWUgPz89IHt9KVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG5jb25zdCB0ZW1wbGF0ZU9wdGlvbnM6IE9wdGlvbnNUZW1wbGF0ZSA9IHtcclxuICBidWlsZEV4dHJhVUk6IChiYXNlLCBjb250YWluZXIpID0+IHtcclxuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgUmFpZGJvc3NDb25maWd1cmF0b3IoYmFzZSk7XHJcbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IHsgLi4ucmFpZGJvc3NPcHRpb25zIH07XHJcbiAgICBVc2VyQ29uZmlnLmxvYWRVc2VyRmlsZXMoJ3JhaWRib3NzJywgdXNlck9wdGlvbnMsICgpID0+IHtcclxuICAgICAgYnVpbGRlci5idWlsZFVJKGNvbnRhaW5lciwgcmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgfSxcclxuICBwcm9jZXNzRXh0cmFPcHRpb25zOiAoYmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnKSA9PiB7XHJcbiAgICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAgIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLiAgV2l0aG91dCB0aGlzLCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyBpcyB1bmtub3duLlxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgICBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gICAgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgfSxcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ292ZXJhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTdXBwb3J0ZWQgY29udGVudCAobGF0ZXN0IHZlcnNpb24pJyxcclxuICAgICAgICBkZTogJ1VudGVyc3TDvHR6dGUgSW5oYWx0ZSAoYWt0dWVsbHN0ZSBWZXJzaW9uKScsXHJcbiAgICAgICAgZnI6ICdDb250ZW51IHN1cHBvcnTDqSAoZGVybmnDqHJlIHZlcnNpb24pJyxcclxuICAgICAgICBqYTogJ+WvvuW/nOOCs+ODs+ODhuODs+ODhOS4gOimpyAo5pyA5paw44OQ44O844K444On44OzKScsXHJcbiAgICAgICAgY246ICfmlK/mjIHlia/mnKzkuIDop4ggKOWQq+acquWPkeW4g+abtOaWsCknLFxyXG4gICAgICAgIGtvOiAn7KeA7JuQ7ZWY64qUIOy7qO2FkOy4oCAo66a066as7KaI67KE7KCE67O064ukIOy1nOyLoCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaHRtbCcsXHJcbiAgICAgIGh0bWw6IHtcclxuICAgICAgICAvLyBUT0RPOiBpdCdkIGJlIG5pY2UgaWYgT3ZlcmxheVBsdWdpbiBjb3VsZCBvcGVuIGxpbmtzIG9uIHRoZSBzeXN0ZW0gb3V0c2lkZSBvZiBBQ1QuXHJcbiAgICAgICAgZW46IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgICAgIGRlOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZGUnKSxcclxuICAgICAgICBmcjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWZyJyksXHJcbiAgICAgICAgamE6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1qYScpLFxyXG4gICAgICAgIGNuOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9Y24nKSxcclxuICAgICAgICBrbzogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWtvJyksXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVmYXVsdEFsZXJ0T3V0cHV0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRGVmYXVsdCBhbGVydCBvdXRwdXQnLFxyXG4gICAgICAgIGRlOiAnU3RhbmRhcmQgQWxlcnQgQXVzZ2FiZScsXHJcbiAgICAgICAgZnI6ICdBbGVydGUgcGFyIGTDqWZhdXQnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx5Ye65Yqb5pei5a6a5YCkJyxcclxuICAgICAgICBjbjogJ+m7mOiupOitpuaKpeaPkOekuuS/oeaBr+i+k+WHuuaWueW8jycsXHJcbiAgICAgICAga286ICfquLDrs7gg7JWM656MIOy2nOugpSDrsKnsi50nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgT25seSc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIFRleHQgT25seSc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCB1bmQgVG9uJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwgVGV4dCB1bmQgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgTnVyIFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIE51ciBUZXh0JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGVha3RpdmllcnQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0ZSBldCBzb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0ZSBldCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgc2V1bGVtZW50JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dGUgc2V1bGVtZW50JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRMOpc2FjdGl2w6knOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFPjga7jgb8nOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnhKHlirknOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCDlj6rkvb/nlKhUVFMnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDthY3siqTtirjsmYAg7IaM66asJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+unjCc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIO2FjeyKpO2KuOunjCc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOu5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgIHNldHRlckZ1bmM6IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0c0xhbmd1YWdlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0FsZXJ0IFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlcyBhbGVydGVzJyxcclxuICAgICAgICBqYTogJ+itpuWRiuaDheWgseOBruiogOiqnicsXHJcbiAgICAgICAgY246ICforabmiqXmj5DnpLrmloflrZfnmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7JWM656MIOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRGlzcGxheSBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ1V0aWxpc2VyIGxhIGxhbmd1ZSBkXFwnYWZmaWNoYWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn6KGo56S66KiA6Kqe5pei5a6a5YCkJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmmL7npLror63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+yjvCDsgqzsmqkg7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydBbGVydHNMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVsaW5lTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBsYW5ndWFnZScsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBTcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7Pjga7oqIDoqp4nLFxyXG4gICAgICAgIGNuOiAn5pe26Ze06L205paH5pys55qE6K+t6KiAJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfmsYnor60gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydUaW1lbGluZUxhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2tpbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGRlOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZnI6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBqYTogJ1JhaWRib3Nz44Gu44K544Kt44OzJyxcclxuICAgICAgICBjbjogJ1JhaWRib3Nz55qu6IKkJyxcclxuICAgICAgICBrbzogJ1JhaWRib3NzIOyKpO2CqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnRGVmYXVsdCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ0TDqWZhdXQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfliJ3mnJ/oqK3lrponOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfpu5jorqQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfquLDrs7gnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZWxpbmUgZW5hYmxlZCcsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnVGltZWxpbmUgYWN0aXbDqWUnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44Oz44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaXtumXtOi9tCcsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbgg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0cyBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0FsZXJ0cyBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnQWxlcnRlcyBhY3RpdsOpZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaPkOekuuaWh+acrOaYvuekuicsXHJcbiAgICAgICAga286ICfslYzrnowg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd1RpbWVyQmFyc0F0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVyIGJhciBzaG93IHdpbmRvdyAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnVGltZXItQmFyIEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0ZlbsOqdHJlIGRcXCdhZmZpY2hhZ2UgZGUgbGEgYmFycmUgZGUgdGVtcHMgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgavmmYLplpPooajnpLogKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K6h5pe25p2h5pi+56S65pe26ZW/ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydhCDtkZzsi5ztlaAg6riw7KSAIOyLnOqwhCAo7LSIIOydtO2VmCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnS2VlcCBleHBpcmVkIHRpbWVyIGJhciAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQmVoYWx0ZSBhYmdlbGF1ZmVuZSBUaW1lci1CYXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdHYXJkZXIgbGEgYmFycmUgZGUgdGVtcHMgZXhwaXLDqWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfntYLkuobjgZfjgZ/jgr/jgqTjg6Djg5Djg7zjgYzmtojjgYjjgovjgb7jgafjga7lvoXjgaHmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5bey5aSx5pWI55qE6K6h5pe25p2h55qE5reh5Ye65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+unjOujjOuQnCDtg4DsnoTrnbzsnbjsnbQg7IKs65287KeA6riw6rmM7KeA7J2YIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmFyRXhwaXJlc1Nvb25TZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZSB0byByZWNvbG9yIHRpbWVyIGFzIGV4cGlyaW5nIHNvb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgYmlzIGVpbiBiYWxkIGF1c2xhdWZlbmRlciBUaW1lciB1bWdlZsOkcmJ0IHdpcmQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSZWNvbG9yaXNhdGlvbiBkZSBsYSBiYXJyZSBkZSB0ZW1wcyBhdmFudCBleHBpcmF0aW9uIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844GM57WC5LqG5YmN44Gr5YaN5bqm6Imy5LuY44GR44Gu5q6L44KK5pmC6ZaTICjnp5IpJyxcclxuICAgICAgICBjbjogJ+WAkuiuoeaXtuWwj+S6juivpeWAvOaXtuW9k+WJjeiuoeaXtuadoeWPmOiJsiAo56eSKScsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbjsnZgg7IOJ7IOB7J2EIOuwlOq/gCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTWF4TnVtYmVyT2ZUaW1lckJhcnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYXggbnVtYmVyIG9mIHRpbWVyIGJhcnMnLFxyXG4gICAgICAgIGRlOiAnTWF4IEFuemFobCBhbiBUaW1lci1CYXJzJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtYXggZGUgYmFycmVzIGRlIHRlbXBzJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBruacgOWkp+aVsCcsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmnIDlpKfmlbDph48nLFxyXG4gICAgICAgIGtvOiAn7ZGc7Iuc7ZWgIO2DgOyehOudvOyduOydmCDstZzrjIAg6rCc7IiYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxhcm1lIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQtVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxlcnRlIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuWRiuaWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyB0ZXh0IGRpc3BsYXkgZHVyYXRpb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0luZm8tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnaW5mb3JtYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfmg4XloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yViOuCtCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGFybSBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGFybWUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuaKpeaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGVydGUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiuaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0luZm8gc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0luZm8gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdpbmZvICgwLTEpJyxcclxuICAgICAgICBqYTogJ+aDheWgsemfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/mj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdMb25nU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb25nIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYW5nZXIgVG9uIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9uZyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfplbfjgYTpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6ZW/5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+q4tCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUHVsbFNvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHVsbCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnUHVsbCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZHUgc29uIGRlIHB1bGwgKDAtMSknLFxyXG4gICAgICAgIGphOiAn44K/44Ky5Y+W44KL5Yq55p6c6Z+z44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+W8gOaAquaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICftkoDrp4Eg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1J1bWJsZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZ2FtZXBhZCBydW1ibGUgZm9yIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ0dhbWVwYWQtVmlicmF0aW9uIGbDvHIgVHJpZ2dlciBha3RpdmllcmVuJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgdmlicmF0aW9uIGRlIGxhIG1hbmV0dGUgZGUgamV1IHBvdXIgbGVzIHRyaWdnZXJzJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnSW5mb1J1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGluZm8gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBpbmZvIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZmFpYmxlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRHVyYXRpb24gKG1pbGxpc2Vjb25kcykgb2YgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdaZWl0IChpbiBNaWxsaXNla3VuZGVuKSBkZXIgVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGVydGVzJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNTAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGFsZXJ0IHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsZXJ0ZXMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxhcm1lcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDc1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVXZWFrJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnTWFnbml0dWRlICgwLTEpIG9mIHdlYWsgcnVtYmxlIGZvciBhbGFybSB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZmFpYmxlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdhbGFybWVzICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgc3RhcmtlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjc1LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdjYWN0Ym90V29ybWhvbGVTdHJhdCcsXHJcbiAgICAgIC8vIFRPRE86IG1heWJlIG5lZWQgc29tZSB3YXkgdG8gZ3JvdXAgdGhlc2Uga2luZHMgb2ZcclxuICAgICAgLy8gb3B0aW9ucyBpZiB3ZSBlbmQgdXAgaGF2aW5nIGEgbG90P1xyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGV4IFVsdGltYXRlOiBlbmFibGUgY2FjdGJvdCBXb3JtaG9sZSBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdBbGV4IFVsdGltYXRlOiBha3RpdmllcmUgY2FjdGJvdCBXb3JtaG9sZSBTdHJhdGVnaWUnLFxyXG4gICAgICAgIGZyOiAnQWxleCBmYXRhbCA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFdvcm1ob2xlJyxcclxuICAgICAgICBqYTogJ+e1tuOCouODrOOCreOCteODs+ODgOODvOiojua7heaIpu+8mmNhY3Rib3TjgIzmrKHlhYPmlq3ntbbjga7jg57jg7zjg4HjgI3jgq7jg5/jg4Pjgq8nLFxyXG4gICAgICAgIGNuOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiY77yaY2FjdGJvdOeBteaziei+heWKqeWKn+iDvScsXHJcbiAgICAgICAga286ICfsoIgg7JWM66CJOiBjYWN0Ym90IOybnO2ZgCDqs7XrnrXrsKnsi50g7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ2NhY3Rib3RlOHNVcHRpbWVLbm9ja2JhY2tTdHJhdCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ2U4czogZW5hYmxlIGNhY3Rib3QgVXB0aW1lIEtub2NrYmFjayBzdHJhdCcsXHJcbiAgICAgICAgZGU6ICdlOHM6IGFrdGl2aWVyZSBjYWN0Ym90IFVwdGltZSBLbm9ja2JhY2sgU3RyYXRlZ2llJyxcclxuICAgICAgICBmcjogJ2U4cyA6IGFjdGl2ZXIgY2FjdGJvdCBwb3VyIGxhIHN0cmF0IFVwdGltZSBLbm9ja2JhY2snLFxyXG4gICAgICAgIGphOiAn44Ko44OH44Oz6Zu25byP5YWx6bO057eo77yU5bGk77yaY2FjdGJvdOOAjOODmOODtOODs+ODquODvOOCueODiOODqeOCpOOCryAo44OO44OD44Kv44OQ44OD44KvKeOAjeOCruODn+ODg+OCrycsXHJcbiAgICAgICAgY246ICdFOFM6IOWQr+eUqGNhY3Rib3TnmoTlh7vpgIDmj5DnpLrlip/og70nLFxyXG4gICAgICAgIGtvOiAn6rO166qFIOyYgeybhSA07Li1OiBjYWN0Ym90IOygle2Zle2VnCDtg4DsnbTrsI0g64SJ67Cx67Cp7KeAIOqzteuetSDtmZzshLHtmZQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgXSxcclxufTtcclxuXHJcblVzZXJDb25maWcucmVnaXN0ZXJPcHRpb25zKCdyYWlkYm9zcycsIHRlbXBsYXRlT3B0aW9ucywgdXNlckZpbGVIYW5kbGVyKTtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fcGV0X25hbWVzLnRzXHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4vbGFuZ3VhZ2VzJztcclxuXHJcbnR5cGUgUGV0RGF0YSA9IHtcclxuICBbbmFtZSBpbiBMYW5nXTogcmVhZG9ubHkgc3RyaW5nW107XHJcbn07XHJcblxyXG5jb25zdCBkYXRhOiBQZXREYXRhID0ge1xyXG4gICdjbic6IFtcclxuICAgICfnu7/lrp3nn7Plhb0nLFxyXG4gICAgJ+m7hOWuneefs+WFvScsXHJcbiAgICAn5LyK5byX5Yip54m55LmL54G1JyxcclxuICAgICfms7DlnabkuYvngbUnLFxyXG4gICAgJ+i/pualvOe9l+S5i+eBtScsXHJcbiAgICAn5pyd5pel5bCP5LuZ5aWzJyxcclxuICAgICflpJXmnIjlsI/ku5nlpbMnLFxyXG4gICAgJ+i9puW8j+a1ruepuueCruWhlCcsXHJcbiAgICAn6LGh5byP5rWu56m654Ku5aGUJyxcclxuICAgICfkuprngbXnpZ7lt7Tlk4jlp4bnibknLFxyXG4gICAgJ+S6mueBteelnuS4jeatu+m4nycsXHJcbiAgICAn54K95aSp5L2/JyxcclxuICAgICfmnIjplb/lrp3nn7Plhb0nLFxyXG4gICAgJ+iLsembhOeahOaOoOW9sScsXHJcbiAgICAn5ZCO5byP6Ieq6LWw5Lq65YG2JyxcclxuICAgICfliIbouqsnLFxyXG4gIF0sXHJcbiAgJ2RlJzogW1xyXG4gICAgJ1NtYXJhZ2QtS2FyZnVua2VsJyxcclxuICAgICdUb3Bhcy1LYXJmdW5rZWwnLFxyXG4gICAgJ0lmcml0LUVnaScsXHJcbiAgICAnVGl0YW4tRWdpJyxcclxuICAgICdHYXJ1ZGEtRWdpJyxcclxuICAgICdFb3MnLFxyXG4gICAgJ1NlbGVuZScsXHJcbiAgICAnU2VsYnN0c2NodXNzLUd5cm9jb3B0ZXIgVFVSTScsXHJcbiAgICAnU2VsYnN0c2NodXNzLUd5cm9jb3B0ZXIgTMOEVUZFUicsXHJcbiAgICAnRGVtaS1CYWhhbXV0JyxcclxuICAgICdEZW1pLVBow7ZuaXgnLFxyXG4gICAgJ1NlcmFwaCcsXHJcbiAgICAnTW9uZHN0ZWluLUthcmZ1bmtlbCcsXHJcbiAgICAnU2NoYXR0ZW5zY2hlbWVuJyxcclxuICAgICdBdXRvbWF0b24gREFNRScsXHJcbiAgICAnR2Vkb3BwZWx0ZXMgSWNoJyxcclxuICBdLFxyXG4gICdlbic6IFtcclxuICAgICdFbWVyYWxkIENhcmJ1bmNsZScsXHJcbiAgICAnVG9wYXogQ2FyYnVuY2xlJyxcclxuICAgICdJZnJpdC1FZ2knLFxyXG4gICAgJ1RpdGFuLUVnaScsXHJcbiAgICAnR2FydWRhLUVnaScsXHJcbiAgICAnRW9zJyxcclxuICAgICdTZWxlbmUnLFxyXG4gICAgJ1Jvb2sgQXV0b3R1cnJldCcsXHJcbiAgICAnQmlzaG9wIEF1dG90dXJyZXQnLFxyXG4gICAgJ0RlbWktQmFoYW11dCcsXHJcbiAgICAnRGVtaS1QaG9lbml4JyxcclxuICAgICdTZXJhcGgnLFxyXG4gICAgJ01vb25zdG9uZSBDYXJidW5jbGUnLFxyXG4gICAgJ0VzdGVlbScsXHJcbiAgICAnQXV0b21hdG9uIFF1ZWVuJyxcclxuICAgICdCdW5zaGluJyxcclxuICBdLFxyXG4gICdmcic6IFtcclxuICAgICdDYXJidW5jbGUgw6ltZXJhdWRlJyxcclxuICAgICdDYXJidW5jbGUgdG9wYXplJyxcclxuICAgICdJZnJpdC1FZ2knLFxyXG4gICAgJ1RpdGFuLUVnaScsXHJcbiAgICAnR2FydWRhLUVnaScsXHJcbiAgICAnRW9zJyxcclxuICAgICdTZWxlbmUnLFxyXG4gICAgJ0F1dG8tdG91cmVsbGUgVG91cicsXHJcbiAgICAnQXV0by10b3VyZWxsZSBGb3UnLFxyXG4gICAgJ0RlbWktQmFoYW11dCcsXHJcbiAgICAnRGVtaS1QaMOpbml4JyxcclxuICAgICdTw6lyYXBoaW4nLFxyXG4gICAgJ0NhcmJ1bmNsZSBow6ljYXRvbGl0ZScsXHJcbiAgICAnRXN0aW1lJyxcclxuICAgICdBdXRvbWF0ZSBSZWluZScsXHJcbiAgICAnT21icmUnLFxyXG4gIF0sXHJcbiAgJ2phJzogW1xyXG4gICAgJ+OCq+ODvOODkOODs+OCr+ODq+ODu+OCqOODoeODqeODq+ODiScsXHJcbiAgICAn44Kr44O844OQ44Oz44Kv44Or44O744OI44OR44O844K6JyxcclxuICAgICfjgqTjg5Xjg6rjg7zjg4jjg7vjgqjjgq4nLFxyXG4gICAgJ+OCv+OCpOOCv+ODs+ODu+OCqOOCricsXHJcbiAgICAn44Ks44Or44O844OA44O744Ko44KuJyxcclxuICAgICfjg5XjgqfjgqLjg6rjg7zjg7vjgqjjgqrjgrknLFxyXG4gICAgJ+ODleOCp+OCouODquODvOODu+OCu+ODrOODjScsXHJcbiAgICAn44Kq44O844OI44K/44Os44OD44OI44O744Or44O844KvJyxcclxuICAgICfjgqrjg7zjg4jjgr/jg6zjg4Pjg4jjg7vjg5Pjgrfjg6fjg4Pjg5cnLFxyXG4gICAgJ+ODh+ODn+ODu+ODkOODj+ODoOODvOODiCcsXHJcbiAgICAn44OH44Of44O744OV44Kn44OL44OD44Kv44K5JyxcclxuICAgICfjgrvjg6njg5XjgqPjg6AnLFxyXG4gICAgJ+OCq+ODvOODkOODs+OCr+ODq+ODu+ODoOODvOODs+OCueODiOODvOODsycsXHJcbiAgICAn6Iux6ZuE44Gu5b2x6LqrJyxcclxuICAgICfjgqrjg7zjg4jjg57jg4jjg7Pjg7vjgq/jgqTjg7zjg7MnLFxyXG4gICAgJ+WIhui6qycsXHJcbiAgXSxcclxuICAna28nOiBbXHJcbiAgICAn7Lm067KZ7YG0IOyXkOuplOuehOuTnCcsXHJcbiAgICAn7Lm067KZ7YG0IO2GoO2MjOymiCcsXHJcbiAgICAn7J207ZSE66as7Yq4IOyXkOq4sCcsXHJcbiAgICAn7YOA7J207YOEIOyXkOq4sCcsXHJcbiAgICAn6rCA66Oo64ukIOyXkOq4sCcsXHJcbiAgICAn7JqU7KCVIOyXkOyYpOyKpCcsXHJcbiAgICAn7JqU7KCVIOyFgOugiOuEpCcsXHJcbiAgICAn7J6Q64+Z7Y+s7YORIOujqScsXHJcbiAgICAn7J6Q64+Z7Y+s7YORIOu5hOyIjScsXHJcbiAgICAn642w66+467CU7ZWY66y07Yq4JyxcclxuICAgICfrjbDrr7jtlLzri4nsiqQnLFxyXG4gICAgJ+yEuOudvO2VjCcsXHJcbiAgICAn7Lm067KZ7YG0IOusuOyKpO2GpCcsXHJcbiAgICAn7JiB7JuF7J2YIO2ZmOyYgScsXHJcbiAgICAn7J6Q64+Z7J247ZiVIO2AuCcsXHJcbiAgICAn67aE7IugJyxcclxuICBdLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZGF0YTtcclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCBDb21iYXRhbnRTdGF0ZSBmcm9tICcuL0NvbWJhdGFudFN0YXRlJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJhdGFudCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lID0gJyc7XHJcbiAgc2VydmVyID0gJyc7XHJcbiAgc3RhdGVzOiB7IFt0aW1lc3RhbXA6IG51bWJlcl06IENvbWJhdGFudFN0YXRlIH0gPSB7fTtcclxuICBzaWduaWZpY2FudFN0YXRlczogbnVtYmVyW10gPSBbXTtcclxuICBsYXRlc3RUaW1lc3RhbXAgPSAtMTtcclxuICBqb2I/OiBKb2I7XHJcbiAgam9iSWQ/OiBudW1iZXI7XHJcbiAgbGV2ZWw/OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgdGhpcy5zZXROYW1lKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIC8vIFNvbWV0aW1lcyBuZXR3b3JrIGxpbmVzIGFycml2ZSBhZnRlciB0aGUgY29tYmF0YW50IGhhcyBiZWVuIGNsZWFyZWRcclxuICAgIC8vIGZyb20gbWVtb3J5IGluIHRoZSBjbGllbnQsIHNvIHRoZSBuZXR3b3JrIGxpbmUgd2lsbCBoYXZlIGEgdmFsaWQgSURcclxuICAgIC8vIGJ1dCB0aGUgbmFtZSB3aWxsIGJlIGJsYW5rLiBTaW5jZSB3ZSdyZSB0cmFja2luZyB0aGUgbmFtZSBmb3IgdGhlXHJcbiAgICAvLyBlbnRpcmUgZmlnaHQgYW5kIG5vdCBvbiBhIHN0YXRlLWJ5LXN0YXRlIGJhc2lzLCB3ZSBkb24ndCB3YW50IHRvXHJcbiAgICAvLyBibGFuayBvdXQgYSBuYW1lIGluIHRoaXMgY2FzZS5cclxuICAgIC8vIElmIGEgY29tYmF0YW50IGFjdHVhbGx5IGhhcyBhIGJsYW5rIG5hbWUsIHRoYXQncyBzdGlsbCBhbGxvd2VkIGJ5XHJcbiAgICAvLyB0aGUgY29uc3RydWN0b3IuXHJcbiAgICBpZiAobmFtZSA9PT0gJycpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBwYXJ0cyA9IG5hbWUuc3BsaXQoJygnKTtcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzWzBdID8/ICcnO1xyXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpXHJcbiAgICAgIHRoaXMuc2VydmVyID0gcGFydHNbMV0/LnJlcGxhY2UoL1xcKSQvLCAnJykgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBoYXNTdGF0ZSh0aW1lc3RhbXA6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGVzW3RpbWVzdGFtcF0gIT09IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1c2hTdGF0ZSh0aW1lc3RhbXA6IG51bWJlciwgc3RhdGU6IENvbWJhdGFudFN0YXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlc1t0aW1lc3RhbXBdID0gc3RhdGU7XHJcbiAgICB0aGlzLmxhdGVzdFRpbWVzdGFtcCA9IHRpbWVzdGFtcDtcclxuICAgIGlmICghdGhpcy5zaWduaWZpY2FudFN0YXRlcy5pbmNsdWRlcyh0aW1lc3RhbXApKVxyXG4gICAgICB0aGlzLnNpZ25pZmljYW50U3RhdGVzLnB1c2godGltZXN0YW1wKTtcclxuICB9XHJcblxyXG4gIG5leHRTaWduaWZpY2FudFN0YXRlKHRpbWVzdGFtcDogbnVtYmVyKTogQ29tYmF0YW50U3RhdGUge1xyXG4gICAgLy8gU2hvcnRjdXQgb3V0IGlmIHRoaXMgaXMgc2lnbmlmaWNhbnQgb3IgaWYgdGhlcmUncyBubyBoaWdoZXIgc2lnbmlmaWNhbnQgc3RhdGVcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zaWduaWZpY2FudFN0YXRlcy5pbmRleE9mKHRpbWVzdGFtcCk7XHJcbiAgICBjb25zdCBsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4ID0gdGhpcy5zaWduaWZpY2FudFN0YXRlcy5sZW5ndGggLSAxO1xyXG4gICAgLy8gSWYgdGltZXN0YW1wIGlzIGEgc2lnbmlmaWNhbnQgc3RhdGUgYWxyZWFkeSwgYW5kIGl0J3Mgbm90IHRoZSBsYXN0IG9uZSwgcmV0dXJuIHRoZSBuZXh0XHJcbiAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IGxhc3RTaWduaWZpY2FudFN0YXRlSW5kZXgpXHJcbiAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleChpbmRleCArIDEpO1xyXG4gICAgLy8gSWYgdGltZXN0YW1wIGlzIHRoZSBsYXN0IHNpZ25pZmljYW50IHN0YXRlIG9yIHRoZSB0aW1lc3RhbXAgaXMgcGFzdCB0aGUgbGFzdCBzaWduaWZpY2FudFxyXG4gICAgLy8gc3RhdGUsIHJldHVybiB0aGUgbGFzdCBzaWduaWZpY2FudCBzdGF0ZVxyXG4gICAgZWxzZSBpZiAoXHJcbiAgICAgIGluZGV4ID09PSBsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4IHx8XHJcbiAgICAgIHRpbWVzdGFtcCA+ICh0aGlzLnNpZ25pZmljYW50U3RhdGVzW2xhc3RTaWduaWZpY2FudFN0YXRlSW5kZXhdID8/IDApXHJcbiAgICApXHJcbiAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleChsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4KTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgY29uc3Qgc3RhdGVJbmRleCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNbaV07XHJcbiAgICAgIGlmIChzdGF0ZUluZGV4ICYmIHN0YXRlSW5kZXggPiB0aW1lc3RhbXApXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVCeUluZGV4KGkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleCh0aGlzLnNpZ25pZmljYW50U3RhdGVzLmxlbmd0aCAtIDEpO1xyXG4gIH1cclxuXHJcbiAgcHVzaFBhcnRpYWxTdGF0ZSh0aW1lc3RhbXA6IG51bWJlciwgcHJvcHM6IFBhcnRpYWw8Q29tYmF0YW50U3RhdGU+KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdGF0ZXNbdGltZXN0YW1wXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vIENsb25lIHRoZSBsYXN0IHN0YXRlIGJlZm9yZSB0aGlzIHRpbWVzdGFtcFxyXG4gICAgICBjb25zdCBzdGF0ZVRpbWVzdGFtcCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNcclxuICAgICAgICAuZmlsdGVyKChzKSA9PiBzIDwgdGltZXN0YW1wKVxyXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSlbMF0gPz8gdGhpcy5zaWduaWZpY2FudFN0YXRlc1swXTtcclxuICAgICAgaWYgKHN0YXRlVGltZXN0YW1wID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVzW3N0YXRlVGltZXN0YW1wXTtcclxuICAgICAgaWYgKCFzdGF0ZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIHRoaXMuc3RhdGVzW3RpbWVzdGFtcF0gPSBzdGF0ZS5wYXJ0aWFsQ2xvbmUocHJvcHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlc1t0aW1lc3RhbXBdO1xyXG4gICAgICBpZiAoIXN0YXRlKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgdGhpcy5zdGF0ZXNbdGltZXN0YW1wXSA9IHN0YXRlLnBhcnRpYWxDbG9uZShwcm9wcyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxhdGVzdFRpbWVzdGFtcCA9IE1hdGgubWF4KHRoaXMubGF0ZXN0VGltZXN0YW1wLCB0aW1lc3RhbXApO1xyXG5cclxuICAgIGNvbnN0IGxhc3RTaWduaWZpY2FudFN0YXRlVGltZXN0YW1wID0gdGhpcy5zaWduaWZpY2FudFN0YXRlc1t0aGlzLnNpZ25pZmljYW50U3RhdGVzLmxlbmd0aCAtIDFdO1xyXG4gICAgaWYgKCFsYXN0U2lnbmlmaWNhbnRTdGF0ZVRpbWVzdGFtcClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgY29uc3Qgb2xkU3RhdGVKU09OID0gSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZXNbbGFzdFNpZ25pZmljYW50U3RhdGVUaW1lc3RhbXBdKTtcclxuICAgIGNvbnN0IG5ld1N0YXRlSlNPTiA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGVzW3RpbWVzdGFtcF0pO1xyXG5cclxuICAgIGlmIChsYXN0U2lnbmlmaWNhbnRTdGF0ZVRpbWVzdGFtcCAhPT0gdGltZXN0YW1wICYmIG5ld1N0YXRlSlNPTiAhPT0gb2xkU3RhdGVKU09OKVxyXG4gICAgICB0aGlzLnNpZ25pZmljYW50U3RhdGVzLnB1c2godGltZXN0YW1wKTtcclxuICB9XHJcblxyXG4gIGdldFN0YXRlKHRpbWVzdGFtcDogbnVtYmVyKTogQ29tYmF0YW50U3RhdGUge1xyXG4gICAgY29uc3Qgc3RhdGVCeVRpbWVzdGFtcCA9IHRoaXMuc3RhdGVzW3RpbWVzdGFtcF07XHJcbiAgICBpZiAoc3RhdGVCeVRpbWVzdGFtcClcclxuICAgICAgcmV0dXJuIHN0YXRlQnlUaW1lc3RhbXA7XHJcblxyXG4gICAgY29uc3QgaW5pdGlhbFRpbWVzdGFtcCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNbMF07XHJcbiAgICBpZiAoaW5pdGlhbFRpbWVzdGFtcCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBpZiAodGltZXN0YW1wIDwgaW5pdGlhbFRpbWVzdGFtcClcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVCeUluZGV4KDApO1xyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoOyBpIDwgdGhpcy5zaWduaWZpY2FudFN0YXRlcy5sZW5ndGg7ICsraSkge1xyXG4gICAgICBjb25zdCBwcmV2VGltZXN0YW1wID0gdGhpcy5zaWduaWZpY2FudFN0YXRlc1tpXTtcclxuICAgICAgaWYgKHByZXZUaW1lc3RhbXAgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGlmIChwcmV2VGltZXN0YW1wID4gdGltZXN0YW1wKVxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleChpIC0gMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVCeUluZGV4KGkgLSAxKTtcclxuICB9XHJcblxyXG4gIC8vIFNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIGBpbmRleGAgaXMgdmFsaWQuXHJcbiAgcHJpdmF0ZSBnZXRTdGF0ZUJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IENvbWJhdGFudFN0YXRlIHtcclxuICAgIGNvbnN0IHN0YXRlSW5kZXggPSB0aGlzLnNpZ25pZmljYW50U3RhdGVzW2luZGV4XTtcclxuICAgIGlmIChzdGF0ZUluZGV4ID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZXNbc3RhdGVJbmRleF07XHJcbiAgICBpZiAoc3RhdGUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBKb2IgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9qb2InO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmF0YW50Sm9iU2VhcmNoIHtcclxuICBzdGF0aWMgZ2V0Sm9iKGFiaWxpdHlJZDogbnVtYmVyKTogSm9iIHwgdW5kZWZpbmVkIHtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKENvbWJhdGFudEpvYlNlYXJjaC5hYmlsaXRpZXMpKSB7XHJcbiAgICAgIGlmICh2YWx1ZT8uaW5jbHVkZXMoYWJpbGl0eUlkKSlcclxuICAgICAgICByZXR1cm4ga2V5IGFzIGtleW9mIHR5cGVvZiBDb21iYXRhbnRKb2JTZWFyY2guYWJpbGl0aWVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IGFiaWxpdHlNYXRjaFJlZ2V4ID0gL1thLWZBLUYwLTldezEsNH0vaTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IGFiaWxpdGllczogeyBbam9iIGluIEpvYl0/OiBudW1iZXJbXSB9ID0ge1xyXG4gICAgUExEOiBbXHJcbiAgICAgIDEyOTU5LFxyXG4gICAgICAxMjk2MSxcclxuICAgICAgMTI5NjQsXHJcbiAgICAgIDEyOTY3LFxyXG4gICAgICAxMjk2OCxcclxuICAgICAgMTI5NjksXHJcbiAgICAgIDEyOTcwLFxyXG4gICAgICAxMjk3MSxcclxuICAgICAgMTI5NzIsXHJcbiAgICAgIDEyOTczLFxyXG4gICAgICAxMjk3NCxcclxuICAgICAgMTI5NzUsXHJcbiAgICAgIDEyOTc2LFxyXG4gICAgICAxMjk3OCxcclxuICAgICAgMTI5ODAsXHJcbiAgICAgIDEyOTgxLFxyXG4gICAgICAxMjk4MixcclxuICAgICAgMTI5ODMsXHJcbiAgICAgIDEyOTg0LFxyXG4gICAgICAxMjk4NSxcclxuICAgICAgMTI5ODYsXHJcbiAgICAgIDEyOTg3LFxyXG4gICAgICAxMjk4OCxcclxuICAgICAgMTI5ODksXHJcbiAgICAgIDEyOTkxLFxyXG4gICAgICAxMjk5MixcclxuICAgICAgMTI5OTMsXHJcbiAgICAgIDEyOTk0LFxyXG4gICAgICAxMjk5NixcclxuICAgICAgMTMwMDAsXHJcbiAgICAgIDEzMDAxLFxyXG4gICAgICAxMzAwNixcclxuICAgICAgMTQ0ODAsXHJcbiAgICAgIDE2NDU3LFxyXG4gICAgICAxNjQ1OCxcclxuICAgICAgMTY0NTksXHJcbiAgICAgIDE2NDYwLFxyXG4gICAgICAxNjQ2MSxcclxuICAgICAgMTc2NjksXHJcbiAgICAgIDE3NjcxLFxyXG4gICAgICAxNzY3MixcclxuICAgICAgMTc2OTEsXHJcbiAgICAgIDE3NjkyLFxyXG4gICAgICAxNzY5MyxcclxuICAgICAgMTc2OTQsXHJcbiAgICAgIDE3ODY2LFxyXG4gICAgICAxODA1MCxcclxuICAgICAgMjcsXHJcbiAgICAgIDI5LFxyXG4gICAgICAzMCxcclxuICAgICAgMzUzOCxcclxuICAgICAgMzUzOSxcclxuICAgICAgMzU0MCxcclxuICAgICAgMzU0MSxcclxuICAgICAgMzU0MixcclxuICAgICAgNDI4NCxcclxuICAgICAgNDI4NSxcclxuICAgICAgNDI4NixcclxuICAgICAgNTAyMDcsXHJcbiAgICAgIDUwMjA5LFxyXG4gICAgICA1MDI0NixcclxuICAgICAgNTAyNjAsXHJcbiAgICAgIDUwMjYxLFxyXG4gICAgICA1MDI2MixcclxuICAgICAgNTAyNjMsXHJcbiAgICAgIDUwMjY0LFxyXG4gICAgICA3MzgyLFxyXG4gICAgICA3MzgzLFxyXG4gICAgICA3Mzg0LFxyXG4gICAgICA3Mzg1LFxyXG4gICAgICA4NzQ2LFxyXG4gICAgICA4NzQ5LFxyXG4gICAgICA4NzUwLFxyXG4gICAgICA4NzUxLFxyXG4gICAgICA4NzUyLFxyXG4gICAgICA4NzU0LFxyXG4gICAgICA4NzU1LFxyXG4gICAgICA4NzU2LFxyXG4gICAgXSxcclxuICAgIFdBUjogW1xyXG4gICAgICAxNjQ2MixcclxuICAgICAgMTY0NjMsXHJcbiAgICAgIDE2NDY0LFxyXG4gICAgICAxNjQ2NSxcclxuICAgICAgMTc2OTUsXHJcbiAgICAgIDE3Njk2LFxyXG4gICAgICAxNzY5NyxcclxuICAgICAgMTc2OTgsXHJcbiAgICAgIDE3ODg5LFxyXG4gICAgICAzNTQ5LFxyXG4gICAgICAzNTUwLFxyXG4gICAgICAzNTUxLFxyXG4gICAgICAzNTUyLFxyXG4gICAgICA0Mjg5LFxyXG4gICAgICA0MjkwLFxyXG4gICAgICA0MjkxLFxyXG4gICAgICA0OSxcclxuICAgICAgNTAxNTcsXHJcbiAgICAgIDUwMjE4LFxyXG4gICAgICA1MDI0OSxcclxuICAgICAgNTAyNjUsXHJcbiAgICAgIDUwMjY2LFxyXG4gICAgICA1MDI2NyxcclxuICAgICAgNTAyNjgsXHJcbiAgICAgIDUwMjY5LFxyXG4gICAgICA1MSxcclxuICAgICAgNTIsXHJcbiAgICAgIDczODYsXHJcbiAgICAgIDczODcsXHJcbiAgICAgIDczODgsXHJcbiAgICAgIDczODksXHJcbiAgICAgIDg3NTgsXHJcbiAgICAgIDg3NjEsXHJcbiAgICAgIDg3NjIsXHJcbiAgICAgIDg3NjMsXHJcbiAgICAgIDg3NjQsXHJcbiAgICAgIDg3NjUsXHJcbiAgICAgIDg3NjcsXHJcbiAgICAgIDg3NjgsXHJcbiAgICBdLFxyXG4gICAgRFJLOiBbXHJcbiAgICAgIDE2NDY2LFxyXG4gICAgICAxNjQ2NyxcclxuICAgICAgMTY0NjgsXHJcbiAgICAgIDE2NDY5LFxyXG4gICAgICAxNjQ3MCxcclxuICAgICAgMTY0NzEsXHJcbiAgICAgIDE2NDcyLFxyXG4gICAgICAxNzcwMCxcclxuICAgICAgMTc3MDEsXHJcbiAgICAgIDE3NzAyLFxyXG4gICAgICAzNjE3LFxyXG4gICAgICAzNjIxLFxyXG4gICAgICAzNjIzLFxyXG4gICAgICAzNjI0LFxyXG4gICAgICAzNjI1LFxyXG4gICAgICAzNjI5LFxyXG4gICAgICAzNjMyLFxyXG4gICAgICAzNjM0LFxyXG4gICAgICAzNjM2LFxyXG4gICAgICAzNjM4LFxyXG4gICAgICAzNjM5LFxyXG4gICAgICAzNjQwLFxyXG4gICAgICAzNjQxLFxyXG4gICAgICAzNjQzLFxyXG4gICAgICA0MzAzLFxyXG4gICAgICA0MzA0LFxyXG4gICAgICA0MzA1LFxyXG4gICAgICA0MzA2LFxyXG4gICAgICA0MzA3LFxyXG4gICAgICA0MzA4LFxyXG4gICAgICA0MzA5LFxyXG4gICAgICA0MzEwLFxyXG4gICAgICA0MzExLFxyXG4gICAgICA0MzEyLFxyXG4gICAgICA0NjgwLFxyXG4gICAgICA1MDE1OCxcclxuICAgICAgNTAxNTksXHJcbiAgICAgIDUwMjcxLFxyXG4gICAgICA1MDI3MixcclxuICAgICAgNTAzMTksXHJcbiAgICAgIDczOTAsXHJcbiAgICAgIDczOTEsXHJcbiAgICAgIDczOTIsXHJcbiAgICAgIDczOTMsXHJcbiAgICAgIDg3NjksXHJcbiAgICAgIDg3NzIsXHJcbiAgICAgIDg3NzMsXHJcbiAgICAgIDg3NzUsXHJcbiAgICAgIDg3NzYsXHJcbiAgICAgIDg3NzcsXHJcbiAgICAgIDg3NzgsXHJcbiAgICAgIDg3NzksXHJcbiAgICBdLFxyXG4gICAgR05COiBbXHJcbiAgICAgIDE3NzAzLFxyXG4gICAgICAxNzcwNCxcclxuICAgICAgMTc3MDUsXHJcbiAgICAgIDE3NzA2LFxyXG4gICAgICAxNzcwNyxcclxuICAgICAgMTc3MDgsXHJcbiAgICAgIDE3NzA5LFxyXG4gICAgICAxNzcxMCxcclxuICAgICAgMTc3MTEsXHJcbiAgICAgIDE3NzEyLFxyXG4gICAgICAxNzcxMyxcclxuICAgICAgMTc3MTQsXHJcbiAgICAgIDE3NzE2LFxyXG4gICAgICAxNzcxNyxcclxuICAgICAgMTc4OTAsXHJcbiAgICAgIDE3ODkxLFxyXG4gICAgICAxNjEzNyxcclxuICAgICAgNTAzMjAsXHJcbiAgICAgIDE2MTM4LFxyXG4gICAgICAxNjEzOSxcclxuICAgICAgMTYxNDAsXHJcbiAgICAgIDE2MTQxLFxyXG4gICAgICAxNjE0MixcclxuICAgICAgMTYxNDMsXHJcbiAgICAgIDE2MTQ0LFxyXG4gICAgICAxNjE0NSxcclxuICAgICAgMTYxNjIsXHJcbiAgICAgIDUwMjU3LFxyXG4gICAgICAxNjE0OCxcclxuICAgICAgMTYxNDksXHJcbiAgICAgIDE2MTUxLFxyXG4gICAgICAxNjE1MixcclxuICAgICAgNTAyNTgsXHJcbiAgICAgIDE2MTUzLFxyXG4gICAgICAxNjE1NCxcclxuICAgICAgMTYxNDYsXHJcbiAgICAgIDE2MTQ3LFxyXG4gICAgICAxNjE1MCxcclxuICAgICAgMTYxNTksXHJcbiAgICAgIDE2MTYwLFxyXG4gICAgICAxNjE2MSxcclxuICAgICAgMTYxNTUsXHJcbiAgICAgIDE2MTU2LFxyXG4gICAgICAxNjE1NyxcclxuICAgICAgMTYxNTgsXHJcbiAgICAgIDE2MTYzLFxyXG4gICAgICAxNjE2NCxcclxuICAgICAgMTYxNjUsXHJcbiAgICAgIDUwMjU5LFxyXG4gICAgXSxcclxuICAgIFdITTogW1xyXG4gICAgICAxMjk1OCxcclxuICAgICAgMTI5NjIsXHJcbiAgICAgIDEyOTY1LFxyXG4gICAgICAxMjk5NyxcclxuICAgICAgMTMwMDIsXHJcbiAgICAgIDEzMDAzLFxyXG4gICAgICAxMzAwNCxcclxuICAgICAgMTMwMDUsXHJcbiAgICAgIDEzMSxcclxuICAgICAgMTM2LFxyXG4gICAgICAxMzcsXHJcbiAgICAgIDEzOSxcclxuICAgICAgMTQwLFxyXG4gICAgICAxNDQ4MSxcclxuICAgICAgMTU4NCxcclxuICAgICAgMTY1MzEsXHJcbiAgICAgIDE2NTMyLFxyXG4gICAgICAxNjUzMyxcclxuICAgICAgMTY1MzQsXHJcbiAgICAgIDE2NTM1LFxyXG4gICAgICAxNjUzNixcclxuICAgICAgMTc2ODgsXHJcbiAgICAgIDE3Njg5LFxyXG4gICAgICAxNzY5MCxcclxuICAgICAgMTc3ODksXHJcbiAgICAgIDE3NzkwLFxyXG4gICAgICAxNzc5MSxcclxuICAgICAgMTc3OTMsXHJcbiAgICAgIDE3Nzk0LFxyXG4gICAgICAxNzgzMixcclxuICAgICAgMzU2OCxcclxuICAgICAgMzU2OSxcclxuICAgICAgMzU3MCxcclxuICAgICAgMzU3MSxcclxuICAgICAgNDI5NixcclxuICAgICAgNDI5NyxcclxuICAgICAgNTAxODEsXHJcbiAgICAgIDUwMTgyLFxyXG4gICAgICA1MDE5NixcclxuICAgICAgNTAzMDcsXHJcbiAgICAgIDUwMzA4LFxyXG4gICAgICA1MDMwOSxcclxuICAgICAgNTAzMTAsXHJcbiAgICAgIDc0MzAsXHJcbiAgICAgIDc0MzEsXHJcbiAgICAgIDc0MzIsXHJcbiAgICAgIDc0MzMsXHJcbiAgICAgIDg4OTUsXHJcbiAgICAgIDg4OTYsXHJcbiAgICAgIDg5MDAsXHJcbiAgICAgIDk2MjEsXHJcbiAgICAgIDEyNyxcclxuICAgICAgMTMzLFxyXG4gICAgXSxcclxuICAgIFNDSDogW1xyXG4gICAgICAxNjUzNyxcclxuICAgICAgMTY1MzgsXHJcbiAgICAgIDE2NTM5LFxyXG4gICAgICAxNjU0MCxcclxuICAgICAgMTY1NDEsXHJcbiAgICAgIDE2NTQyLFxyXG4gICAgICAxNjU0MyxcclxuICAgICAgMTY1NDQsXHJcbiAgICAgIDE2NTQ1LFxyXG4gICAgICAxNjU0NixcclxuICAgICAgMTY1NDcsXHJcbiAgICAgIDE2NTQ4LFxyXG4gICAgICAxNjU1MCxcclxuICAgICAgMTY1NTEsXHJcbiAgICAgIDE2NixcclxuICAgICAgMTY3LFxyXG4gICAgICAxNzIxNSxcclxuICAgICAgMTcyMTYsXHJcbiAgICAgIDE3Nzk1LFxyXG4gICAgICAxNzc5NixcclxuICAgICAgMTc3OTcsXHJcbiAgICAgIDE3Nzk4LFxyXG4gICAgICAxNzgwMixcclxuICAgICAgMTc4NjQsXHJcbiAgICAgIDE3ODY1LFxyXG4gICAgICAxNzg2OSxcclxuICAgICAgMTc4NzAsXHJcbiAgICAgIDE3OTkwLFxyXG4gICAgICAxODUsXHJcbiAgICAgIDE4NixcclxuICAgICAgMTg4LFxyXG4gICAgICAxODksXHJcbiAgICAgIDE5MCxcclxuICAgICAgMzU4MyxcclxuICAgICAgMzU4NCxcclxuICAgICAgMzU4NSxcclxuICAgICAgMzU4NixcclxuICAgICAgMzU4NyxcclxuICAgICAgNDMwMCxcclxuICAgICAgNTAxODQsXHJcbiAgICAgIDUwMjE0LFxyXG4gICAgICA1MDMxMSxcclxuICAgICAgNTAzMTIsXHJcbiAgICAgIDUwMzEzLFxyXG4gICAgICA1MDMyNCxcclxuICAgICAgNzQzNCxcclxuICAgICAgNzQzNSxcclxuICAgICAgNzQzNixcclxuICAgICAgNzQzNyxcclxuICAgICAgNzQzOCxcclxuICAgICAgNzg2OSxcclxuICAgICAgODAyLFxyXG4gICAgICA4MDMsXHJcbiAgICAgIDgwNSxcclxuICAgICAgODkwNCxcclxuICAgICAgODkwNSxcclxuICAgICAgODkwOSxcclxuICAgICAgOTYyMixcclxuICAgIF0sXHJcbiAgICBBU1Q6IFtcclxuICAgICAgMTAwMjcsXHJcbiAgICAgIDEwMDI4LFxyXG4gICAgICAxMDAyOSxcclxuICAgICAgMTY1NTIsXHJcbiAgICAgIDE2NTUzLFxyXG4gICAgICAxNjU1NCxcclxuICAgICAgMTY1NTUsXHJcbiAgICAgIDE2NTU2LFxyXG4gICAgICAxNjU1NyxcclxuICAgICAgMTY1NTgsXHJcbiAgICAgIDE2NTU5LFxyXG4gICAgICAxNzA1NSxcclxuICAgICAgMTcxNTEsXHJcbiAgICAgIDE3MTUyLFxyXG4gICAgICAxNzgwNCxcclxuICAgICAgMTc4MDUsXHJcbiAgICAgIDE3ODA2LFxyXG4gICAgICAxNzgwNyxcclxuICAgICAgMTc4MDksXHJcbiAgICAgIDE3OTkxLFxyXG4gICAgICAzNTkwLFxyXG4gICAgICAzNTkzLFxyXG4gICAgICAzNTk0LFxyXG4gICAgICAzNTk1LFxyXG4gICAgICAzNTk2LFxyXG4gICAgICAzNTk4LFxyXG4gICAgICAzNTk5LFxyXG4gICAgICAzNjAwLFxyXG4gICAgICAzNjAxLFxyXG4gICAgICAzNjAzLFxyXG4gICAgICAzNjA0LFxyXG4gICAgICAzNjA1LFxyXG4gICAgICAzNjA2LFxyXG4gICAgICAzNjA4LFxyXG4gICAgICAzNjEwLFxyXG4gICAgICAzNjEyLFxyXG4gICAgICAzNjEzLFxyXG4gICAgICAzNjE0LFxyXG4gICAgICAzNjE1LFxyXG4gICAgICA0MzAxLFxyXG4gICAgICA0MzAyLFxyXG4gICAgICA0NDAxLFxyXG4gICAgICA0NDAyLFxyXG4gICAgICA0NDAzLFxyXG4gICAgICA0NDA0LFxyXG4gICAgICA0NDA1LFxyXG4gICAgICA0NDA2LFxyXG4gICAgICA0Njc3LFxyXG4gICAgICA0Njc4LFxyXG4gICAgICA0Njc5LFxyXG4gICAgICA1MDEyMixcclxuICAgICAgNTAxMjQsXHJcbiAgICAgIDUwMTI1LFxyXG4gICAgICA1MDE4NixcclxuICAgICAgNTAxODcsXHJcbiAgICAgIDUwMTg4LFxyXG4gICAgICA1MDE4OSxcclxuICAgICAgNTAzMTQsXHJcbiAgICAgIDUwMzE1LFxyXG4gICAgICA1MDMxNixcclxuICAgICAgNzQzOSxcclxuICAgICAgNzQ0MCxcclxuICAgICAgNzQ0MSxcclxuICAgICAgNzQ0MixcclxuICAgICAgNzQ0MyxcclxuICAgICAgNzQ0NCxcclxuICAgICAgNzQ0NSxcclxuICAgICAgNzQ0OCxcclxuICAgICAgODMyNCxcclxuICAgICAgODkxMyxcclxuICAgICAgODkxNCxcclxuICAgICAgODkxNixcclxuICAgICAgOTYyOSxcclxuICAgIF0sXHJcbiAgICBNTks6IFtcclxuICAgICAgMTI5NjAsXHJcbiAgICAgIDEyOTYzLFxyXG4gICAgICAxMjk2NixcclxuICAgICAgMTI5NzcsXHJcbiAgICAgIDEyOTc5LFxyXG4gICAgICAxMjk5MCxcclxuICAgICAgMTI5OTUsXHJcbiAgICAgIDEyOTk4LFxyXG4gICAgICAxMjk5OSxcclxuICAgICAgMTQ0NzYsXHJcbiAgICAgIDE0NDc4LFxyXG4gICAgICAxNjQ3MyxcclxuICAgICAgMTY0NzQsXHJcbiAgICAgIDE2NDc1LFxyXG4gICAgICAxNjQ3NixcclxuICAgICAgMTc2NzQsXHJcbiAgICAgIDE3Njc1LFxyXG4gICAgICAxNzY3NixcclxuICAgICAgMTc2NzcsXHJcbiAgICAgIDE3NzE5LFxyXG4gICAgICAxNzcyMCxcclxuICAgICAgMTc3MjEsXHJcbiAgICAgIDE3NzIyLFxyXG4gICAgICAxNzcyMyxcclxuICAgICAgMTc3MjQsXHJcbiAgICAgIDE3NzI1LFxyXG4gICAgICAxNzcyNixcclxuICAgICAgMzU0MyxcclxuICAgICAgMzU0NSxcclxuICAgICAgMzU0NixcclxuICAgICAgMzU0NyxcclxuICAgICAgNDI2MixcclxuICAgICAgNDI4NyxcclxuICAgICAgNDI4OCxcclxuICAgICAgNTAxNjAsXHJcbiAgICAgIDUwMTYxLFxyXG4gICAgICA1MDI0NSxcclxuICAgICAgNTAyNzMsXHJcbiAgICAgIDUwMjc0LFxyXG4gICAgICA2MyxcclxuICAgICAgNzAsXHJcbiAgICAgIDcxLFxyXG4gICAgICA3Mzk0LFxyXG4gICAgICA3Mzk1LFxyXG4gICAgICA3Mzk2LFxyXG4gICAgICA3NCxcclxuICAgICAgODc4MCxcclxuICAgICAgODc4MSxcclxuICAgICAgODc4MixcclxuICAgICAgODc4MyxcclxuICAgICAgODc4NCxcclxuICAgICAgODc4NSxcclxuICAgICAgODc4NyxcclxuICAgICAgODc4OSxcclxuICAgICAgODkyNSxcclxuICAgIF0sXHJcbiAgICBEUkc6IFtcclxuICAgICAgMTY0NzcsXHJcbiAgICAgIDE2NDc4LFxyXG4gICAgICAxNjQ3OSxcclxuICAgICAgMTY0ODAsXHJcbiAgICAgIDE3NzI4LFxyXG4gICAgICAxNzcyOSxcclxuICAgICAgMzU1MyxcclxuICAgICAgMzU1NCxcclxuICAgICAgMzU1NSxcclxuICAgICAgMzU1NixcclxuICAgICAgMzU1NyxcclxuICAgICAgNDI5MixcclxuICAgICAgNDI5MyxcclxuICAgICAgNTAxNjIsXHJcbiAgICAgIDUwMTYzLFxyXG4gICAgICA1MDI0NyxcclxuICAgICAgNTAyNzUsXHJcbiAgICAgIDUwMjc2LFxyXG4gICAgICA3Mzk3LFxyXG4gICAgICA3Mzk4LFxyXG4gICAgICA3Mzk5LFxyXG4gICAgICA3NDAwLFxyXG4gICAgICA4NixcclxuICAgICAgODc5MSxcclxuICAgICAgODc5MixcclxuICAgICAgODc5MyxcclxuICAgICAgODc5NCxcclxuICAgICAgODc5NSxcclxuICAgICAgODc5NixcclxuICAgICAgODc5NyxcclxuICAgICAgODc5OCxcclxuICAgICAgODc5OSxcclxuICAgICAgODgwMixcclxuICAgICAgODgwMyxcclxuICAgICAgODgwNCxcclxuICAgICAgODgwNSxcclxuICAgICAgODgwNixcclxuICAgICAgOTIsXHJcbiAgICAgIDk0LFxyXG4gICAgICA5NSxcclxuICAgICAgOTYsXHJcbiAgICAgIDk2NDAsXHJcbiAgICAgIDc1LFxyXG4gICAgICA3OCxcclxuICAgIF0sXHJcbiAgICBOSU46IFtcclxuICAgICAgMTY0ODgsXHJcbiAgICAgIDE2NDg5LFxyXG4gICAgICAxNjQ5MSxcclxuICAgICAgMTY0OTIsXHJcbiAgICAgIDE2NDkzLFxyXG4gICAgICAxNzQxMyxcclxuICAgICAgMTc0MTQsXHJcbiAgICAgIDE3NDE1LFxyXG4gICAgICAxNzQxNixcclxuICAgICAgMTc0MTcsXHJcbiAgICAgIDE3NDE4LFxyXG4gICAgICAxNzQxOSxcclxuICAgICAgMTc0MjAsXHJcbiAgICAgIDE3NzMyLFxyXG4gICAgICAxNzczMyxcclxuICAgICAgMTc3MzQsXHJcbiAgICAgIDE3NzM1LFxyXG4gICAgICAxNzczNixcclxuICAgICAgMTc3MzcsXHJcbiAgICAgIDE3NzM4LFxyXG4gICAgICAxNzczOSxcclxuICAgICAgMjI0NixcclxuICAgICAgMjI1OSxcclxuICAgICAgMjI2MCxcclxuICAgICAgMjI2MSxcclxuICAgICAgMjI2MixcclxuICAgICAgMjI2MyxcclxuICAgICAgMjI2NCxcclxuICAgICAgMjI2NSxcclxuICAgICAgMjI2NixcclxuICAgICAgMjI2NyxcclxuICAgICAgMjI2OCxcclxuICAgICAgMjI2OSxcclxuICAgICAgMjI3MCxcclxuICAgICAgMjI3MSxcclxuICAgICAgMjI3MixcclxuICAgICAgMzU2MyxcclxuICAgICAgMzU2NixcclxuICAgICAgNDI5NSxcclxuICAgICAgNTAxNjUsXHJcbiAgICAgIDUwMTY2LFxyXG4gICAgICA1MDE2NyxcclxuICAgICAgNTAyNTAsXHJcbiAgICAgIDUwMjc5LFxyXG4gICAgICA1MDI4MCxcclxuICAgICAgNzQwMSxcclxuICAgICAgNzQwMixcclxuICAgICAgNzQwMyxcclxuICAgICAgODgwNyxcclxuICAgICAgODgwOCxcclxuICAgICAgODgwOSxcclxuICAgICAgODgxMCxcclxuICAgICAgODgxMixcclxuICAgICAgODgxNCxcclxuICAgICAgODgxNSxcclxuICAgICAgODgxNixcclxuICAgICAgODgyMCxcclxuICAgICAgOTQ2MSxcclxuICAgIF0sXHJcbiAgICBTQU06IFtcclxuICAgICAgMTY0ODEsXHJcbiAgICAgIDE2NDgyLFxyXG4gICAgICAxNjQ4MyxcclxuICAgICAgMTY0ODQsXHJcbiAgICAgIDE2NDg1LFxyXG4gICAgICAxNjQ4NixcclxuICAgICAgMTY0ODcsXHJcbiAgICAgIDE3NzQwLFxyXG4gICAgICAxNzc0MSxcclxuICAgICAgMTc3NDIsXHJcbiAgICAgIDE3NzQzLFxyXG4gICAgICAxNzc0NCxcclxuICAgICAgNTAyMDgsXHJcbiAgICAgIDUwMjE1LFxyXG4gICAgICA1MDI3NyxcclxuICAgICAgNTAyNzgsXHJcbiAgICAgIDc0NzcsXHJcbiAgICAgIDc0NzgsXHJcbiAgICAgIDc0NzksXHJcbiAgICAgIDc0ODAsXHJcbiAgICAgIDc0ODEsXHJcbiAgICAgIDc0ODIsXHJcbiAgICAgIDc0ODMsXHJcbiAgICAgIDc0ODQsXHJcbiAgICAgIDc0ODUsXHJcbiAgICAgIDc0ODYsXHJcbiAgICAgIDc0ODcsXHJcbiAgICAgIDc0ODgsXHJcbiAgICAgIDc0ODksXHJcbiAgICAgIDc0OTAsXHJcbiAgICAgIDc0OTEsXHJcbiAgICAgIDc0OTIsXHJcbiAgICAgIDc0OTMsXHJcbiAgICAgIDc0OTQsXHJcbiAgICAgIDc0OTUsXHJcbiAgICAgIDc0OTYsXHJcbiAgICAgIDc0OTcsXHJcbiAgICAgIDc0OTgsXHJcbiAgICAgIDc0OTksXHJcbiAgICAgIDc1MDEsXHJcbiAgICAgIDc1MDIsXHJcbiAgICAgIDc4NTUsXHJcbiAgICAgIDc4NTcsXHJcbiAgICAgIDc4NjcsXHJcbiAgICAgIDg4MjEsXHJcbiAgICAgIDg4MjIsXHJcbiAgICAgIDg4MjMsXHJcbiAgICAgIDg4MjQsXHJcbiAgICAgIDg4MjUsXHJcbiAgICAgIDg4MjYsXHJcbiAgICAgIDg4MjgsXHJcbiAgICAgIDg4MjksXHJcbiAgICAgIDg4MzAsXHJcbiAgICAgIDg4MzEsXHJcbiAgICAgIDg4MzMsXHJcbiAgICBdLFxyXG4gICAgQlJEOiBbXHJcbiAgICAgIDEwMDIzLFxyXG4gICAgICAxMTQsXHJcbiAgICAgIDExNixcclxuICAgICAgMTE3LFxyXG4gICAgICAxMTgsXHJcbiAgICAgIDEzMDA3LFxyXG4gICAgICAxNDQ3OSxcclxuICAgICAgMTY0OTQsXHJcbiAgICAgIDE2NDk1LFxyXG4gICAgICAxNjQ5NixcclxuICAgICAgMTc2NzgsXHJcbiAgICAgIDE3Njc5LFxyXG4gICAgICAxNzY4MCxcclxuICAgICAgMTc2ODEsXHJcbiAgICAgIDE3NjgyLFxyXG4gICAgICAxNzc0NSxcclxuICAgICAgMTc3NDcsXHJcbiAgICAgIDM1NTgsXHJcbiAgICAgIDM1NTksXHJcbiAgICAgIDM1NjAsXHJcbiAgICAgIDM1NjEsXHJcbiAgICAgIDM1NjIsXHJcbiAgICAgIDQyOTQsXHJcbiAgICAgIDUwMTY4LFxyXG4gICAgICA1MDE2OSxcclxuICAgICAgNTAyODIsXHJcbiAgICAgIDUwMjgzLFxyXG4gICAgICA1MDI4NCxcclxuICAgICAgNTAyODUsXHJcbiAgICAgIDUwMjg2LFxyXG4gICAgICA1MDI4NyxcclxuICAgICAgNzQwNCxcclxuICAgICAgNzQwNSxcclxuICAgICAgNzQwNixcclxuICAgICAgNzQwNyxcclxuICAgICAgNzQwOCxcclxuICAgICAgNzQwOSxcclxuICAgICAgODgzNixcclxuICAgICAgODgzNyxcclxuICAgICAgODgzOCxcclxuICAgICAgODgzOSxcclxuICAgICAgODg0MSxcclxuICAgICAgODg0MixcclxuICAgICAgODg0MyxcclxuICAgICAgODg0NCxcclxuICAgICAgOTYyNSxcclxuICAgICAgMTA2LFxyXG4gICAgXSxcclxuICAgIE1DSDogW1xyXG4gICAgICAxNjQ5NyxcclxuICAgICAgMTY0OTgsXHJcbiAgICAgIDE2NDk5LFxyXG4gICAgICAxNjUwMCxcclxuICAgICAgMTY1MDEsXHJcbiAgICAgIDE2NTAyLFxyXG4gICAgICAxNjUwMyxcclxuICAgICAgMTY1MDQsXHJcbiAgICAgIDE2NzY2LFxyXG4gICAgICAxNjg4OSxcclxuICAgICAgMTcyMDYsXHJcbiAgICAgIDE3MjA5LFxyXG4gICAgICAxNzc0OSxcclxuICAgICAgMTc3NTAsXHJcbiAgICAgIDE3NzUxLFxyXG4gICAgICAxNzc1MixcclxuICAgICAgMTc3NTMsXHJcbiAgICAgIDE3NzU0LFxyXG4gICAgICAyODY0LFxyXG4gICAgICAyODY2LFxyXG4gICAgICAyODY4LFxyXG4gICAgICAyODcwLFxyXG4gICAgICAyODcyLFxyXG4gICAgICAyODczLFxyXG4gICAgICAyODc0LFxyXG4gICAgICAyODc2LFxyXG4gICAgICAyODc4LFxyXG4gICAgICAyODkwLFxyXG4gICAgICA0Mjc2LFxyXG4gICAgICA0Njc1LFxyXG4gICAgICA0Njc2LFxyXG4gICAgICA1MDExNyxcclxuICAgICAgNTAxMTksXHJcbiAgICAgIDUwMjg4LFxyXG4gICAgICA1MDI4OSxcclxuICAgICAgNTAyOTAsXHJcbiAgICAgIDUwMjkxLFxyXG4gICAgICA1MDI5MixcclxuICAgICAgNTAyOTMsXHJcbiAgICAgIDUwMjk0LFxyXG4gICAgICA3NDEwLFxyXG4gICAgICA3NDExLFxyXG4gICAgICA3NDEyLFxyXG4gICAgICA3NDEzLFxyXG4gICAgICA3NDE0LFxyXG4gICAgICA3NDE1LFxyXG4gICAgICA3NDE2LFxyXG4gICAgICA3NDE4LFxyXG4gICAgICA4ODQ4LFxyXG4gICAgICA4ODQ5LFxyXG4gICAgICA4ODUwLFxyXG4gICAgICA4ODUxLFxyXG4gICAgICA4ODUzLFxyXG4gICAgICA4ODU1LFxyXG4gICAgXSxcclxuICAgIEROQzogW1xyXG4gICAgICAxNzc1NixcclxuICAgICAgMTc3NTcsXHJcbiAgICAgIDE3NzU4LFxyXG4gICAgICAxNzc1OSxcclxuICAgICAgMTc3NjAsXHJcbiAgICAgIDE3NzYxLFxyXG4gICAgICAxNzc2MixcclxuICAgICAgMTc3NjMsXHJcbiAgICAgIDE3NzY0LFxyXG4gICAgICAxNzc2NSxcclxuICAgICAgMTc3NjYsXHJcbiAgICAgIDE3NzY3LFxyXG4gICAgICAxNzc2OCxcclxuICAgICAgMTc3NjksXHJcbiAgICAgIDE3NzcwLFxyXG4gICAgICAxNzc3MSxcclxuICAgICAgMTc3NzIsXHJcbiAgICAgIDE3NzczLFxyXG4gICAgICAxNzgyNCxcclxuICAgICAgMTc4MjUsXHJcbiAgICAgIDE3ODI2LFxyXG4gICAgICAxNzgyNyxcclxuICAgICAgMTc4MjgsXHJcbiAgICAgIDE3ODI5LFxyXG4gICAgICAxODA3NixcclxuICAgICAgMTU5ODksXHJcbiAgICAgIDE1OTkwLFxyXG4gICAgICAxNTk5MyxcclxuICAgICAgMTU5OTcsXHJcbiAgICAgIDE1OTk5LFxyXG4gICAgICAxNjAwMCxcclxuICAgICAgMTYwMDEsXHJcbiAgICAgIDE2MDAyLFxyXG4gICAgICAxNjAwMyxcclxuICAgICAgMTYxOTEsXHJcbiAgICAgIDE2MTkyLFxyXG4gICAgICAxNTk5MSxcclxuICAgICAgMTU5OTQsXHJcbiAgICAgIDE2MDA3LFxyXG4gICAgICA1MDI1MixcclxuICAgICAgMTU5OTUsXHJcbiAgICAgIDE1OTkyLFxyXG4gICAgICAxNTk5NixcclxuICAgICAgMTYwMDgsXHJcbiAgICAgIDE2MDEwLFxyXG4gICAgICA1MDI1MSxcclxuICAgICAgMTYwMTUsXHJcbiAgICAgIDE2MDEyLFxyXG4gICAgICAxNjAwNixcclxuICAgICAgMTgwNzMsXHJcbiAgICAgIDUwMjUzLFxyXG4gICAgICAxNjAxMSxcclxuICAgICAgMTYwMDksXHJcbiAgICAgIDUwMjU0LFxyXG4gICAgICAxNTk5OCxcclxuICAgICAgMTYwMDQsXHJcbiAgICAgIDE2MTkzLFxyXG4gICAgICAxNjE5NCxcclxuICAgICAgMTYxOTUsXHJcbiAgICAgIDE2MTk2LFxyXG4gICAgICAxNjAxMyxcclxuICAgICAgMTYwMDUsXHJcbiAgICAgIDUwMjU1LFxyXG4gICAgICA1MDI1NixcclxuICAgICAgMTYwMTQsXHJcbiAgICBdLFxyXG4gICAgQkxNOiBbXHJcbiAgICAgIDE0NDc3LFxyXG4gICAgICAxNTMsXHJcbiAgICAgIDE1NCxcclxuICAgICAgMTU4LFxyXG4gICAgICAxNTksXHJcbiAgICAgIDE2MixcclxuICAgICAgMTY1MDUsXHJcbiAgICAgIDE2NTA2LFxyXG4gICAgICAxNjUwNyxcclxuICAgICAgMTc2ODMsXHJcbiAgICAgIDE3Njg0LFxyXG4gICAgICAxNzY4NSxcclxuICAgICAgMTc2ODYsXHJcbiAgICAgIDE3Njg3LFxyXG4gICAgICAxNzc3NCxcclxuICAgICAgMTc3NzUsXHJcbiAgICAgIDM1NzMsXHJcbiAgICAgIDM1NzQsXHJcbiAgICAgIDM1NzUsXHJcbiAgICAgIDM1NzYsXHJcbiAgICAgIDM1NzcsXHJcbiAgICAgIDQyOTgsXHJcbiAgICAgIDUwMTcxLFxyXG4gICAgICA1MDE3MixcclxuICAgICAgNTAxNzMsXHJcbiAgICAgIDUwMTc0LFxyXG4gICAgICA1MDI5NSxcclxuICAgICAgNTAyOTYsXHJcbiAgICAgIDUwMjk3LFxyXG4gICAgICA1MDMyMSxcclxuICAgICAgNTAzMjIsXHJcbiAgICAgIDc0MTksXHJcbiAgICAgIDc0MjAsXHJcbiAgICAgIDc0MjEsXHJcbiAgICAgIDc0MjIsXHJcbiAgICAgIDg4NTgsXHJcbiAgICAgIDg4NTksXHJcbiAgICAgIDg4NjAsXHJcbiAgICAgIDg4NjEsXHJcbiAgICAgIDg4NjIsXHJcbiAgICAgIDg4NjMsXHJcbiAgICAgIDg4NjQsXHJcbiAgICAgIDg4NjUsXHJcbiAgICAgIDg4NjYsXHJcbiAgICAgIDg4NjcsXHJcbiAgICAgIDg4NjksXHJcbiAgICAgIDk2MzcsXHJcbiAgICAgIDE0OSxcclxuICAgICAgMTU1LFxyXG4gICAgICAxNDEsXHJcbiAgICAgIDE1MixcclxuICAgIF0sXHJcbiAgICBTTU46IFtcclxuICAgICAgMTY1MTAsXHJcbiAgICAgIDE2NTExLFxyXG4gICAgICAxNjUxMyxcclxuICAgICAgMTY1MTQsXHJcbiAgICAgIDE2NTE1LFxyXG4gICAgICAxNjUxNixcclxuICAgICAgMTY1MTcsXHJcbiAgICAgIDE2NTE4LFxyXG4gICAgICAxNjUxOSxcclxuICAgICAgMTY1MjIsXHJcbiAgICAgIDE2NTIzLFxyXG4gICAgICAxNjU0OSxcclxuICAgICAgMTY3OTUsXHJcbiAgICAgIDE2Nzk2LFxyXG4gICAgICAxNjc5NyxcclxuICAgICAgMTY3OTgsXHJcbiAgICAgIDE2Nzk5LFxyXG4gICAgICAxNjgwMCxcclxuICAgICAgMTY4MDEsXHJcbiAgICAgIDE2ODAyLFxyXG4gICAgICAxNjgwMyxcclxuICAgICAgMTc3NzcsXHJcbiAgICAgIDE3Nzc4LFxyXG4gICAgICAxNzc3OSxcclxuICAgICAgMTc3ODAsXHJcbiAgICAgIDE3NzgxLFxyXG4gICAgICAxNzc4MixcclxuICAgICAgMTc3ODMsXHJcbiAgICAgIDE3Nzg0LFxyXG4gICAgICAxNzc4NSxcclxuICAgICAgMTgwLFxyXG4gICAgICAxODQsXHJcbiAgICAgIDM1NzgsXHJcbiAgICAgIDM1NzksXHJcbiAgICAgIDM1ODAsXHJcbiAgICAgIDM1ODEsXHJcbiAgICAgIDM1ODIsXHJcbiAgICAgIDQyOTksXHJcbiAgICAgIDUwMTc2LFxyXG4gICAgICA1MDE3NyxcclxuICAgICAgNTAxNzgsXHJcbiAgICAgIDUwMjEzLFxyXG4gICAgICA1MDIxNyxcclxuICAgICAgNTAyOTgsXHJcbiAgICAgIDUwMjk5LFxyXG4gICAgICA1MDMwMCxcclxuICAgICAgNTAzMDEsXHJcbiAgICAgIDUwMzAyLFxyXG4gICAgICA3NDIzLFxyXG4gICAgICA3NDI0LFxyXG4gICAgICA3NDI1LFxyXG4gICAgICA3NDI2LFxyXG4gICAgICA3NDI3LFxyXG4gICAgICA3NDI4LFxyXG4gICAgICA3NDI5LFxyXG4gICAgICA3NDQ5LFxyXG4gICAgICA3NDUwLFxyXG4gICAgICA3ODcsXHJcbiAgICAgIDc4OCxcclxuICAgICAgNzkxLFxyXG4gICAgICA3OTIsXHJcbiAgICAgIDc5NCxcclxuICAgICAgNzk2LFxyXG4gICAgICA3OTcsXHJcbiAgICAgIDc5OCxcclxuICAgICAgODAwLFxyXG4gICAgICA4MDEsXHJcbiAgICAgIDg4NzIsXHJcbiAgICAgIDg4NzMsXHJcbiAgICAgIDg4NzQsXHJcbiAgICAgIDg4NzcsXHJcbiAgICAgIDg4NzgsXHJcbiAgICAgIDg4NzksXHJcbiAgICAgIDg4ODAsXHJcbiAgICAgIDg4ODEsXHJcbiAgICAgIDkwMTQsXHJcbiAgICAgIDk0MzIsXHJcbiAgICBdLFxyXG4gICAgUkRNOiBbXHJcbiAgICAgIDEwMDI1LFxyXG4gICAgICAxNjUyNCxcclxuICAgICAgMTY1MjUsXHJcbiAgICAgIDE2NTI2LFxyXG4gICAgICAxNjUyNyxcclxuICAgICAgMTY1MjgsXHJcbiAgICAgIDE2NTI5LFxyXG4gICAgICAxNjUzMCxcclxuICAgICAgMTc3ODYsXHJcbiAgICAgIDE3Nzg3LFxyXG4gICAgICAxNzc4OCxcclxuICAgICAgNTAxOTUsXHJcbiAgICAgIDUwMjAwLFxyXG4gICAgICA1MDIwMSxcclxuICAgICAgNTAyMTYsXHJcbiAgICAgIDUwMzAzLFxyXG4gICAgICA1MDMwNCxcclxuICAgICAgNTAzMDUsXHJcbiAgICAgIDUwMzA2LFxyXG4gICAgICA3NTAzLFxyXG4gICAgICA3NTA0LFxyXG4gICAgICA3NTA1LFxyXG4gICAgICA3NTA2LFxyXG4gICAgICA3NTA3LFxyXG4gICAgICA3NTA5LFxyXG4gICAgICA3NTEwLFxyXG4gICAgICA3NTExLFxyXG4gICAgICA3NTEyLFxyXG4gICAgICA3NTEzLFxyXG4gICAgICA3NTE0LFxyXG4gICAgICA3NTE1LFxyXG4gICAgICA3NTE2LFxyXG4gICAgICA3NTE3LFxyXG4gICAgICA3NTE4LFxyXG4gICAgICA3NTE5LFxyXG4gICAgICA3NTIwLFxyXG4gICAgICA3NTIxLFxyXG4gICAgICA3NTIzLFxyXG4gICAgICA3NTI0LFxyXG4gICAgICA3NTI1LFxyXG4gICAgICA3NTI2LFxyXG4gICAgICA3NTI3LFxyXG4gICAgICA3NTI4LFxyXG4gICAgICA3NTI5LFxyXG4gICAgICA3NTMwLFxyXG4gICAgICA4ODgyLFxyXG4gICAgICA4ODgzLFxyXG4gICAgICA4ODg0LFxyXG4gICAgICA4ODg1LFxyXG4gICAgICA4ODg3LFxyXG4gICAgICA4ODg4LFxyXG4gICAgICA4ODg5LFxyXG4gICAgICA4ODkwLFxyXG4gICAgICA4ODkxLFxyXG4gICAgICA4ODkyLFxyXG4gICAgICA5NDMzLFxyXG4gICAgICA5NDM0LFxyXG4gICAgXSxcclxuICAgIEJMVTogW1xyXG4gICAgICAxMTcxNSxcclxuICAgICAgMTEzODMsXHJcbiAgICAgIDExMzg0LFxyXG4gICAgICAxMTM4NSxcclxuICAgICAgMTEzODYsXHJcbiAgICAgIDExMzg3LFxyXG4gICAgICAxMTM4OCxcclxuICAgICAgMTEzODksXHJcbiAgICAgIDExMzkwLFxyXG4gICAgICAxMTM5MSxcclxuICAgICAgMTEzOTIsXHJcbiAgICAgIDExMzkzLFxyXG4gICAgICAxMTM5NCxcclxuICAgICAgMTEzOTUsXHJcbiAgICAgIDExMzk2LFxyXG4gICAgICAxMTM5NyxcclxuICAgICAgMTEzOTgsXHJcbiAgICAgIDExMzk5LFxyXG4gICAgICAxMTQwMCxcclxuICAgICAgMTE0MDEsXHJcbiAgICAgIDExNDAyLFxyXG4gICAgICAxMTQwMyxcclxuICAgICAgMTE0MDQsXHJcbiAgICAgIDExNDA1LFxyXG4gICAgICAxMTQwNixcclxuICAgICAgMTE0MDcsXHJcbiAgICAgIDExNDA4LFxyXG4gICAgICAxMTQwOSxcclxuICAgICAgMTE0MTAsXHJcbiAgICAgIDExNDExLFxyXG4gICAgICAxMTQxMixcclxuICAgICAgMTE0MTMsXHJcbiAgICAgIDExNDE0LFxyXG4gICAgICAxMTQxNSxcclxuICAgICAgMTE0MTYsXHJcbiAgICAgIDExNDE3LFxyXG4gICAgICAxMTQxOCxcclxuICAgICAgMTE0MTksXHJcbiAgICAgIDExNDIwLFxyXG4gICAgICAxMTQyMSxcclxuICAgICAgMTE0MjIsXHJcbiAgICAgIDExNDIzLFxyXG4gICAgICAxMTQyNCxcclxuICAgICAgMTE0MjUsXHJcbiAgICAgIDExNDI2LFxyXG4gICAgICAxMTQyNyxcclxuICAgICAgMTE0MjgsXHJcbiAgICAgIDExNDI5LFxyXG4gICAgICAxMTQzMCxcclxuICAgICAgMTE0MzEsXHJcbiAgICAgIDUwMjE5LFxyXG4gICAgICA1MDIyMCxcclxuICAgICAgNTAyMjEsXHJcbiAgICAgIDUwMjIyLFxyXG4gICAgICA1MDIyMyxcclxuICAgICAgNTAyMjQsXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuIiwiaW1wb3J0IHsgUGx1Z2luQ29tYmF0YW50U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9ldmVudCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iYXRhbnRTdGF0ZSB7XHJcbiAgcG9zWDogbnVtYmVyO1xyXG4gIHBvc1k6IG51bWJlcjtcclxuICBwb3NaOiBudW1iZXI7XHJcbiAgaGVhZGluZzogbnVtYmVyO1xyXG4gIHRhcmdldGFibGU6IGJvb2xlYW47XHJcbiAgaHA6IG51bWJlcjtcclxuICBtYXhIcDogbnVtYmVyO1xyXG4gIG1wOiBudW1iZXI7XHJcbiAgbWF4TXA6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwb3NYOiBudW1iZXIsXHJcbiAgICBwb3NZOiBudW1iZXIsXHJcbiAgICBwb3NaOiBudW1iZXIsXHJcbiAgICBoZWFkaW5nOiBudW1iZXIsXHJcbiAgICB0YXJnZXRhYmxlOiBib29sZWFuLFxyXG4gICAgaHA6IG51bWJlcixcclxuICAgIG1heEhwOiBudW1iZXIsXHJcbiAgICBtcDogbnVtYmVyLFxyXG4gICAgbWF4TXA6IG51bWJlcixcclxuICApIHtcclxuICAgIHRoaXMucG9zWCA9IHBvc1g7XHJcbiAgICB0aGlzLnBvc1kgPSBwb3NZO1xyXG4gICAgdGhpcy5wb3NaID0gcG9zWjtcclxuICAgIHRoaXMuaGVhZGluZyA9IGhlYWRpbmc7XHJcbiAgICB0aGlzLnRhcmdldGFibGUgPSB0YXJnZXRhYmxlO1xyXG4gICAgdGhpcy5ocCA9IGhwO1xyXG4gICAgdGhpcy5tYXhIcCA9IG1heEhwO1xyXG4gICAgdGhpcy5tcCA9IG1wO1xyXG4gICAgdGhpcy5tYXhNcCA9IG1heE1wO1xyXG4gIH1cclxuXHJcbiAgcGFydGlhbENsb25lKHByb3BzOiBQYXJ0aWFsPENvbWJhdGFudFN0YXRlPik6IENvbWJhdGFudFN0YXRlIHtcclxuICAgIHJldHVybiBuZXcgQ29tYmF0YW50U3RhdGUoXHJcbiAgICAgIHByb3BzLnBvc1ggPz8gdGhpcy5wb3NYLFxyXG4gICAgICBwcm9wcy5wb3NZID8/IHRoaXMucG9zWSxcclxuICAgICAgcHJvcHMucG9zWiA/PyB0aGlzLnBvc1osXHJcbiAgICAgIHByb3BzLmhlYWRpbmcgPz8gdGhpcy5oZWFkaW5nLFxyXG4gICAgICBwcm9wcy50YXJnZXRhYmxlID8/IHRoaXMudGFyZ2V0YWJsZSxcclxuICAgICAgcHJvcHMuaHAgPz8gdGhpcy5ocCxcclxuICAgICAgcHJvcHMubWF4SHAgPz8gdGhpcy5tYXhIcCxcclxuICAgICAgcHJvcHMubXAgPz8gdGhpcy5tcCxcclxuICAgICAgcHJvcHMubWF4TXAgPz8gdGhpcy5tYXhNcCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB0b1BsdWdpblN0YXRlKCk6IFBsdWdpbkNvbWJhdGFudFN0YXRlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFBvc1g6IHRoaXMucG9zWCxcclxuICAgICAgUG9zWTogdGhpcy5wb3NZLFxyXG4gICAgICBQb3NaOiB0aGlzLnBvc1osXHJcbiAgICAgIEhlYWRpbmc6IHRoaXMuaGVhZGluZyxcclxuICAgICAgQ3VycmVudEhQOiB0aGlzLmhwLFxyXG4gICAgICBNYXhIUDogdGhpcy5tYXhIcCxcclxuICAgICAgQ3VycmVudE1QOiB0aGlzLm1wLFxyXG4gICAgICBNYXhNUDogdGhpcy5tYXhNcCxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4vbGFuZ3VhZ2VzJztcclxuaW1wb3J0IE5ldFJlZ2V4ZXMgZnJvbSAnLi9uZXRyZWdleGVzJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi9yZWdleGVzJztcclxuXHJcbi8vIEZpbGwgaW4gTG9jYWxlUmVnZXggc28gdGhhdCB0aGluZ3MgbGlrZSBMb2NhbGVSZWdleC5jb3VudGRvd25TdGFydC5kZSBpcyBhIHZhbGlkIHJlZ2V4LlxyXG5jb25zdCBsb2NhbGVMaW5lcyA9IHtcclxuICBjb3VudGRvd25TdGFydDoge1xyXG4gICAgZW46ICdCYXR0bGUgY29tbWVuY2luZyBpbiAoPzx0aW1lPlxcXFx5e0Zsb2F0fSkgc2Vjb25kcyEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICAgIGRlOiAnTm9jaCAoPzx0aW1lPlxcXFx5e0Zsb2F0fSkgU2VrdW5kZW4gYmlzIEthbXBmYmVnaW5uISBcXFxcKCg/PHBsYXllcj4uKj8pXFxcXCknLFxyXG4gICAgZnI6ICdEw6lidXQgZHUgY29tYmF0IGRhbnMgKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZGVzWyBdPyEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICAgIGphOiAn5oim6ZeY6ZaL5aeL44G+44GnKD88dGltZT5cXFxceXtGbG9hdH0p56eS77yBIO+8iCg/PHBsYXllcj4uKj8p77yJJyxcclxuICAgIGNuOiAn6Led56a75oiY5paX5byA5aeL6L+Y5pyJKD88dGltZT5cXFxceXtGbG9hdH0p56eS77yBIO+8iCg/PHBsYXllcj4uKj8p77yJJyxcclxuICAgIGtvOiAn7KCE7YisIOyLnOyekSAoPzx0aW1lPlxcXFx5e0Zsb2F0fSnstIgg7KCEISBcXFxcKCg/PHBsYXllcj4uKj8pXFxcXCknLFxyXG4gIH0sXHJcbiAgY291bnRkb3duRW5nYWdlOiB7XHJcbiAgICBlbjogJ0VuZ2FnZSEnLFxyXG4gICAgZGU6ICdTdGFydCEnLFxyXG4gICAgZnI6ICfDgCBsXFwnYXR0YXF1ZVsgXT8hJyxcclxuICAgIGphOiAn5oim6ZeY6ZaL5aeL77yBJyxcclxuICAgIGNuOiAn5oiY5paX5byA5aeL77yBJyxcclxuICAgIGtvOiAn7KCE7YisIOyLnOyekSEnLFxyXG4gIH0sXHJcbiAgY291bnRkb3duQ2FuY2VsOiB7XHJcbiAgICBlbjogJ0NvdW50ZG93biBjYW5jZWxlZCBieSAoPzxwbGF5ZXI+XFxcXHl7TmFtZX0pJyxcclxuICAgIGRlOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KSBoYXQgZGVuIENvdW50ZG93biBhYmdlYnJvY2hlbicsXHJcbiAgICBmcjogJ0xlIGNvbXB0ZSDDoCByZWJvdXJzIGEgw6l0w6kgaW50ZXJyb21wdSBwYXIgKD88cGxheWVyPlxcXFx5e05hbWV9KVsgXT9cXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjgavjgojjgorjgIHmiKbpl5jplovlp4vjgqvjgqbjg7Pjg4jjgYzjgq3jg6Pjg7Pjgrvjg6vjgZXjgozjgb7jgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Y+W5raI5LqG5oiY5paX5byA5aeL5YCS6K6h5pe244CCJyxcclxuICAgIGtvOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KSDri5jsnbQg7LSI7J296riw66W8IOy3qOyGjO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIGFyZWFTZWFsOiB7XHJcbiAgICBlbjogJyg/PGFyZWE+Lio/KSB3aWxsIGJlIHNlYWxlZCBvZmYgaW4gKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZHMhJyxcclxuICAgIGRlOiAnTm9jaCAoPzx0aW1lPlxcXFx5e0Zsb2F0fSkgU2VrdW5kZW4sIGJpcyBzaWNoICg/PGFyZWE+Lio/KSBzY2hsaWXDn3QnLFxyXG4gICAgZnI6ICdGZXJtZXR1cmUgKD88YXJlYT4uKj8pIGRhbnMgKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZGVzWyBdP1xcXFwuJyxcclxuICAgIGphOiAnKD88YXJlYT4uKj8p44Gu5bCB6Y6W44G+44Gn44GC44GoKD88dGltZT5cXFxceXtGbG9hdH0p56eSJyxcclxuICAgIGNuOiAn6LedKD88YXJlYT4uKj8p6KKr5bCB6ZSB6L+Y5pyJKD88dGltZT5cXFxceXtGbG9hdH0p56eSJyxcclxuICAgIGtvOiAnKD88dGltZT5cXFxceXtGbG9hdH0p7LSIIO2bhOyXkCAoPzxhcmVhPi4qPyko7J20fOqwgCkg67SJ7IeE65Cp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgYXJlYVVuc2VhbDoge1xyXG4gICAgZW46ICcoPzxhcmVhPi4qPykgaXMgbm8gbG9uZ2VyIHNlYWxlZC4nLFxyXG4gICAgZGU6ICcoPzxhcmVhPi4qPykgw7ZmZm5ldCBzaWNoIGVybmV1dC4nLFxyXG4gICAgZnI6ICdPdXZlcnR1cmUgKD88YXJlYT4uKj8pWyBdPyEnLFxyXG4gICAgamE6ICcoPzxhcmVhPi4qPynjga7lsIHpjpbjgYzop6PjgYvjgozjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxhcmVhPi4qPynnmoTlsIHplIHop6PpmaTkuoYnLFxyXG4gICAga286ICcoPzxhcmVhPi4qPynsnZgg67SJ7IeE6rCAIO2VtOygnOuQmOyXiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIC8vIFJlY2lwZSBuYW1lIGFsd2F5cyBzdGFydCB3aXRoIFxcdWUwYmJcclxuICAvLyBIUSBpY29uIGlzIFxcdWUwM2NcclxuICBjcmFmdGluZ1N0YXJ0OiB7XHJcbiAgICBlbjogJ1lvdSBiZWdpbiBzeW50aGVzaXppbmcgKD88Y291bnQ+KGFuP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBkZTpcclxuICAgICAgJ0R1IGhhc3QgYmVnb25uZW4sIGR1cmNoIFN5bnRoZXNlICg/PGNvdW50PihlaW4oZXxlc3xlbXxlcik/fFxcXFxkKykgKT9cXHVlMGJiKD88cmVjaXBlPi4qKSBoZXJ6dXN0ZWxsZW5cXFxcLicsXHJcbiAgICBmcjogJ1ZvdXMgY29tbWVuY2V6IMOgIGZhYnJpcXVlciAoPzxjb3VudD4odW5lP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga9cXHVlMGJiKD88cmVjaXBlPi4qKSjDlyg/PGNvdW50PlxcXFxkKykpP+OBruijveS9nOOCkumWi+Wni+OBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlvIDlp4vliLbkvZzigJxcXHVlMGJiKD88cmVjaXBlPi4qKeKAnSjDlyg/PGNvdW50PlxcXFxkKykpP+OAgicsXHJcbiAgICBrbzogJ1xcdWUwYmIoPzxyZWNpcGU+LiopKMOXKD88Y291bnQ+XFxcXGQrKeqwnCk/IOygnOyekeydhCDsi5zsnpHtlanri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICB0cmlhbENyYWZ0aW5nU3RhcnQ6IHtcclxuICAgIGVuOiAnWW91IGJlZ2luIHRyaWFsIHN5bnRoZXNpcyBvZiBcXHVlMGJiKD88cmVjaXBlPi4qKVxcXFwuJyxcclxuICAgIGRlOiAnRHUgaGFzdCBtaXQgZGVyIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgYmVnb25uZW5cXFxcLicsXHJcbiAgICBmcjogJ1ZvdXMgY29tbWVuY2V6IHVuZSBzeW50aMOoc2UgZFxcJ2Vzc2FpIHBvdXIgdW5lPyBcXHVlMGJiKD88cmVjaXBlPi4qKVxcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+Liop44Gu6KO95L2c57e057+S44KS6ZaL5aeL44GX44Gf44CCJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeW8gOWni+e7g+S5oOWItuS9nFxcdWUwYmIoPzxyZWNpcGU+Liop44CCJyxcclxuICAgIGtvOiAnXFx1ZTBiYig/PHJlY2lwZT4uKikg7KCc7J6RIOyXsOyKteydhCDsi5zsnpHtlanri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICBjcmFmdGluZ0ZpbmlzaDoge1xyXG4gICAgZW46ICdZb3Ugc3ludGhlc2l6ZSAoPzxjb3VudD4oYW4/fFxcXFxkKykgKT9cXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT9cXFxcLicsXHJcbiAgICBkZTpcclxuICAgICAgJ0R1IGhhc3QgZXJmb2xncmVpY2ggKD88Y291bnQ+KGVpbihlfGVzfGVtfGVyKT98XFxcXGQrKSApPyg/PHJlY2lwZT4uKikoXFx1ZTAzYyk/IGhlcmdlc3RlbGx0XFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGZhYnJpcXVleiAoPzxjb3VudD4odW5lP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikoXFx1ZTAzYyk/XFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKikoXFx1ZTAzYyk/KMOXKD88Y291bnQ+XFxcXGQrKSk/44KS5a6M5oiQ44GV44Gb44Gf77yBJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeWItuS9nOKAnFxcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpP+KAnSjDlyg/PGNvdW50PlxcXFxkKykpP+aIkOWKn++8gScsXHJcbiAgICBrbzogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkg64uY7J20IFxcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpPyjDlyg/PGNvdW50PlxcXFxkKynqsJwpPyjsnYR866W8KSDsmYTshLHtlojsirXri4jri6QhJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdGaW5pc2g6IHtcclxuICAgIGVuOiAnWW91ciB0cmlhbCBzeW50aGVzaXMgb2YgXFx1ZTBiYig/PHJlY2lwZT4uKikgcHJvdmVkIGEgc3VjY2VzcyEnLFxyXG4gICAgZGU6ICdEaWUgVGVzdHN5bnRoZXNlIHZvbiBcXHVlMGJiKD88cmVjaXBlPi4qKSB3YXIgZXJmb2xncmVpY2ghJyxcclxuICAgIGZyOiAnVm90cmUgc3ludGjDqHNlIGRcXCdlc3NhaSBwb3VyIGZhYnJpcXVlciBcXHVlMGJiKD88cmVjaXBlPi4qKSBhIMOpdMOpIGNvdXJvbm7DqWUgZGUgc3VjY8OocyEnLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKinjga7oo73kvZznt7Tnv5LjgavmiJDlip/jgZfjgZ/vvIEnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p57uD5Lmg5Yi25L2cXFx1ZTBiYig/PHJlY2lwZT4uKinmiJDlip/kuobvvIEnLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSDsoJzsnpEg7Jew7Iq17JeQIOyEseqzte2WiOyKteuLiOuLpCEnLFxyXG4gIH0sXHJcbiAgY3JhZnRpbmdGYWlsOiB7XHJcbiAgICBlbjogJ1lvdXIgc3ludGhlc2lzIGZhaWxzIScsXHJcbiAgICBkZTogJ0RlaW5lIFN5bnRoZXNlIGlzdCBmZWhsZ2VzY2hsYWdlbiEnLFxyXG4gICAgZnI6ICdMYSBzeW50aMOoc2Ugw6ljaG91ZVxcXFwuezN9JyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr+ijveS9nOOBq+WkseaVl+OBl+OBn+KApuKApicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnliLbkvZzlpLHotKXkuobigKbigKYnLFxyXG4gICAga286ICfsoJzsnpHsl5Ag7Iuk7Yyo7ZaI7Iq164uI64uk4oCm4oCmXFxcXC4nLFxyXG4gIH0sXHJcbiAgdHJpYWxDcmFmdGluZ0ZhaWw6IHtcclxuICAgIGVuOiAnWW91ciB0cmlhbCBzeW50aGVzaXMgb2YgXFx1ZTBiYig/PHJlY2lwZT4uKikgZmFpbGVkXFxcXC57M30nLFxyXG4gICAgZGU6ICdEaWUgVGVzdHN5bnRoZXNlIHZvbiBcXHVlMGJiKD88cmVjaXBlPi4qKSBpc3QgZmVobGdlc2NobGFnZW5cXFxcLnszfScsXHJcbiAgICBmcjpcclxuICAgICAgJ1ZvdHJlIHN5bnRow6hzZSBkXFwnZXNzYWkgcG91ciBmYWJyaXF1ZXIgXFx1ZTBiYig/PHJlY2lwZT4uKikgc1xcJ2VzdCBzb2xkw6llIHBhciB1biDDqWNoZWNcXFxcLnszfScsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga9cXHVlMGJiKD88cmVjaXBlPi4qKeOBruijveS9nOe3tOe/kuOBq+WkseaVl+OBl+OBn+KApuKApicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnnu4PkuaDliLbkvZxcXHVlMGJiKD88cmVjaXBlPi4qKeWksei0peS6huKApuKApicsXHJcbiAgICBrbzogJ1xcdWUwYmIoPzxyZWNpcGU+LiopIOygnOyekSDsl7DsirXsl5Ag7Iuk7Yyo7ZaI7Iq164uI64uk4oCm4oCmXFxcXC4nLFxyXG4gIH0sXHJcbiAgY3JhZnRpbmdDYW5jZWw6IHtcclxuICAgIGVuOiAnWW91IGNhbmNlbCB0aGUgc3ludGhlc2lzXFxcXC4nLFxyXG4gICAgZGU6ICdEdSBoYXN0IGRpZSBTeW50aGVzZSBhYmdlYnJvY2hlblxcXFwuJyxcclxuICAgIGZyOiAnTGEgc3ludGjDqHNlIGVzdCBhbm51bMOpZVxcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr+ijveS9nOOCkuS4reatouOBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnkuK3mraLkuobliLbkvZzkvZzkuJrjgIInLFxyXG4gICAga286ICfsoJzsnpHsnYQg7KSR7KeA7ZaI7Iq164uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgdHJpYWxDcmFmdGluZ0NhbmNlbDoge1xyXG4gICAgZW46ICdZb3UgYWJhbmRvbmVkIHRyaWFsIHN5bnRoZXNpc1xcXFwuJyxcclxuICAgIGRlOiAnVGVzdHN5bnRoZXNlIGFiZ2Vicm9jaGVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGF2ZXogaW50ZXJyb21wdSBsYSBzeW50aMOoc2UgZFxcJ2Vzc2FpXFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44Gv6KO95L2c57e057+S44KS5Lit5q2i44GX44Gf44CCJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeWBnOatouS6hue7g+S5oOOAgicsXHJcbiAgICBrbzogJ+ygnOyekSDsl7DsirXsnYQg7KSR7KeA7ZaI7Iq164uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIExvY2FsZUxpbmUgPSB7IGVuOiBzdHJpbmcgfSAmIFBhcnRpYWw8UmVjb3JkPEV4Y2x1ZGU8TGFuZywgJ2VuJz4sIHN0cmluZz4+O1xyXG5cclxudHlwZSBMb2NhbGVSZWdleGVzT2JqID0gUmVjb3JkPGtleW9mIHR5cGVvZiBsb2NhbGVMaW5lcywgUmVjb3JkPExhbmcsIFJlZ0V4cD4+O1xyXG5cclxuY2xhc3MgUmVnZXhTZXQge1xyXG4gIHJlZ2V4ZXM/OiBMb2NhbGVSZWdleGVzT2JqO1xyXG4gIG5ldFJlZ2V4ZXM/OiBMb2NhbGVSZWdleGVzT2JqO1xyXG5cclxuICBnZXQgbG9jYWxlUmVnZXgoKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICBpZiAodGhpcy5yZWdleGVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5yZWdleGVzO1xyXG4gICAgdGhpcy5yZWdleGVzID0gdGhpcy5idWlsZExvY2FsZVJlZ2V4ZXMoXHJcbiAgICAgIGxvY2FsZUxpbmVzLFxyXG4gICAgICAoczogc3RyaW5nKSA9PiBSZWdleGVzLmdhbWVMb2coeyBsaW5lOiBzICsgJy4qPycgfSksXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMucmVnZXhlcztcclxuICB9XHJcblxyXG4gIGdldCBsb2NhbGVOZXRSZWdleCgpOiBMb2NhbGVSZWdleGVzT2JqIHtcclxuICAgIGlmICh0aGlzLm5ldFJlZ2V4ZXMpXHJcbiAgICAgIHJldHVybiB0aGlzLm5ldFJlZ2V4ZXM7XHJcbiAgICB0aGlzLm5ldFJlZ2V4ZXMgPSB0aGlzLmJ1aWxkTG9jYWxlUmVnZXhlcyhcclxuICAgICAgbG9jYWxlTGluZXMsXHJcbiAgICAgIChzOiBzdHJpbmcpID0+IE5ldFJlZ2V4ZXMuZ2FtZUxvZyh7IGxpbmU6IHMgKyAnW158XSo/JyB9KSxcclxuICAgICk7XHJcbiAgICByZXR1cm4gdGhpcy5uZXRSZWdleGVzO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRMb2NhbGVSZWdleGVzKFxyXG4gICAgbG9jYWxlczogdHlwZW9mIGxvY2FsZUxpbmVzLFxyXG4gICAgYnVpbGRlcjogKHM6IHN0cmluZykgPT4gQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cCxcclxuICApOiBMb2NhbGVSZWdleGVzT2JqIHtcclxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICAgIE9iamVjdFxyXG4gICAgICAgIC5lbnRyaWVzKGxvY2FsZXMpXHJcbiAgICAgICAgLm1hcCgoW2tleSwgbGluZXNdKSA9PiBba2V5LCB0aGlzLmJ1aWxkTG9jYWxlUmVnZXgobGluZXMsIGJ1aWxkZXIpXSksXHJcbiAgICApIGFzIExvY2FsZVJlZ2V4ZXNPYmo7XHJcbiAgfVxyXG5cclxuICBidWlsZExvY2FsZVJlZ2V4KFxyXG4gICAgbGluZXM6IExvY2FsZUxpbmUsXHJcbiAgICBidWlsZGVyOiAoczogc3RyaW5nKSA9PiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHwgUmVnRXhwLFxyXG4gICk6IFJlY29yZDxMYW5nLCBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHwgUmVnRXhwPiB7XHJcbiAgICBjb25zdCByZWdleEVuID0gYnVpbGRlcihsaW5lcy5lbik7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbjogcmVnZXhFbixcclxuICAgICAgZGU6IGxpbmVzLmRlID8gYnVpbGRlcihsaW5lcy5kZSkgOiByZWdleEVuLFxyXG4gICAgICBmcjogbGluZXMuZnIgPyBidWlsZGVyKGxpbmVzLmZyKSA6IHJlZ2V4RW4sXHJcbiAgICAgIGphOiBsaW5lcy5qYSA/IGJ1aWxkZXIobGluZXMuamEpIDogcmVnZXhFbixcclxuICAgICAgY246IGxpbmVzLmNuID8gYnVpbGRlcihsaW5lcy5jbikgOiByZWdleEVuLFxyXG4gICAgICBrbzogbGluZXMua28gPyBidWlsZGVyKGxpbmVzLmtvKSA6IHJlZ2V4RW4sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgcmVnZXhTZXQgPSBuZXcgUmVnZXhTZXQoKTtcclxuXHJcbmV4cG9ydCBjb25zdCBMb2NhbGVSZWdleCA9IHJlZ2V4U2V0LmxvY2FsZVJlZ2V4O1xyXG5leHBvcnQgY29uc3QgTG9jYWxlTmV0UmVnZXggPSByZWdleFNldC5sb2NhbGVOZXRSZWdleDtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgTmV0UmVnZXhlcyBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvbmV0cmVnZXhlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IExvY2FsZU5ldFJlZ2V4IH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL3RyYW5zbGF0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgQ2FjdGJvdEJhc2VSZWdFeHAsXHJcbiAgQ2FjdGJvdFJlZ0V4cEV4ZWNBcnJheSxcclxuICBUcmlnZ2VyVHlwZXMsXHJcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5cclxuLy8gRGlzYWJsZSBuby1leHBsaWNpdC1hbnkgZm9yIGNsb25lRGF0YSBhcyBpdCBuZWVkcyB0byB3b3JrIG9uIHJhdyBvYmplY3RzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLlxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG5leHBvcnQgdHlwZSBEYXRhVHlwZSA9IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsO1xyXG5cclxuZXhwb3J0IHR5cGUgTWF0Y2hTdGFydEluZm8gPSB7XHJcbiAgU3RhcnRJbjogc3RyaW5nO1xyXG4gIFN0YXJ0VHlwZTogc3RyaW5nO1xyXG4gIGxhbmd1YWdlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTWF0Y2hFbmRJbmZvID0ge1xyXG4gIEVuZFR5cGU6IHN0cmluZztcclxuICBsYW5ndWFnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBxdWVyeVNlbGVjdG9yU2FmZSA9IChub2RlOiBQYXJlbnROb2RlLCBzZWw6IHN0cmluZyk6IEhUTUxFbGVtZW50ID0+IHtcclxuICBjb25zdCByZXQgPSBub2RlLnF1ZXJ5U2VsZWN0b3Ioc2VsKTtcclxuICBpZiAoIShyZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgcmV0dXJuIHJldDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBxdWVyeVNlbGVjdG9yQWxsU2FmZSA9IChub2RlOiBQYXJlbnROb2RlLCBzZWw6IHN0cmluZyk6IEhUTUxFbGVtZW50W10gPT4ge1xyXG4gIGNvbnN0IHJldCA9IFsuLi5ub2RlLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsKV0ubWFwKChlbGVtKSA9PiB7XHJcbiAgICBpZiAoIShlbGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICByZXR1cm4gZWxlbTtcclxuICB9KTtcclxuICByZXR1cm4gcmV0O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFRlbXBsYXRlQ2hpbGQgPSAobm9kZTogUGFyZW50Tm9kZSwgc2VsOiBzdHJpbmcpOiBIVE1MRWxlbWVudCA9PiB7XHJcbiAgY29uc3QgdGVtcGxhdGUgPSBxdWVyeVNlbGVjdG9yU2FmZShub2RlLCBzZWwpO1xyXG4gIGlmICghKHRlbXBsYXRlIGluc3RhbmNlb2YgSFRNTFRlbXBsYXRlRWxlbWVudCkpXHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgY29uc3QgcmV0ID0gdGVtcGxhdGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZDtcclxuICBpZiAoIXJldClcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICBpZiAoIShyZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgcmV0dXJuIHJldDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjbG9uZVNhZmUgPSAobm9kZTogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCA9PiB7XHJcbiAgY29uc3QgY2xvbmVkID0gbm9kZS5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgaWYgKCEoY2xvbmVkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIHJldHVybiBjbG9uZWQ7XHJcbn07XHJcblxyXG4vLyBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucyB0byBwcmV2ZW50IHJlLWNhbGN1bGF0aW5nIHRoaXMgZXZlcnkgc2luZ2xlIGxpbmUsXHJcbi8vIHN0b3JlIGFscmVhZHkgY2FsY3VsYXRlZCB2YWx1ZXNcclxuY29uc3QgdHpPZmZzZXRNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRUaW1lem9uZU9mZnNldE1pbGxpcyA9ICh0aW1lU3RyaW5nOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xyXG4gIGNvbnN0IHRpbWV6b25lT2Zmc2V0U3RyaW5nID0gdGltZVN0cmluZy5zdWJzdHIoLTYpO1xyXG4gIGNvbnN0IG1hcHBlZFZhbHVlID0gdHpPZmZzZXRNYXBbdGltZXpvbmVPZmZzZXRTdHJpbmddO1xyXG4gIGlmIChtYXBwZWRWYWx1ZSlcclxuICAgIHJldHVybiBtYXBwZWRWYWx1ZTtcclxuICBjb25zdCBkZWZhdWx0T2Zmc2V0ID0gbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogMTAwMDtcclxuICBpZiAodGltZXpvbmVPZmZzZXRTdHJpbmcgPT09IHVuZGVmaW5lZClcclxuICAgIHJldHVybiBkZWZhdWx0T2Zmc2V0O1xyXG4gIGNvbnN0IG9wZXJhdG9yID0gdGltZXpvbmVPZmZzZXRTdHJpbmcuc3Vic3RyKDAsIDEpO1xyXG4gIGlmIChvcGVyYXRvciAhPT0gJysnICYmIG9wZXJhdG9yICE9PSAnLScpXHJcbiAgICByZXR1cm4gZGVmYXVsdE9mZnNldDtcclxuICBjb25zdCB0aW1lem9uZU9mZnNldFBhcnRzID0gdGltZXpvbmVPZmZzZXRTdHJpbmcuc3Vic3RyKDEpLnNwbGl0KCc6Jyk7XHJcbiAgY29uc3QgaG91cnNTdHJpbmcgPSB0aW1lem9uZU9mZnNldFBhcnRzWzBdO1xyXG4gIGNvbnN0IG1pbnV0ZXNTdHJpbmcgPSB0aW1lem9uZU9mZnNldFBhcnRzWzFdO1xyXG4gIGlmIChob3Vyc1N0cmluZyA9PT0gdW5kZWZpbmVkIHx8IG1pbnV0ZXNTdHJpbmcgPT09IHVuZGVmaW5lZClcclxuICAgIHJldHVybiBkZWZhdWx0T2Zmc2V0O1xyXG4gIGNvbnN0IGhvdXJzID0gcGFyc2VJbnQoaG91cnNTdHJpbmcpO1xyXG4gIGNvbnN0IG1pbnV0ZXMgPSBwYXJzZUludChtaW51dGVzU3RyaW5nKTtcclxuICBjb25zdCB0ek9mZnNldCA9ICgoKGhvdXJzICogNjApICsgbWludXRlcykgKiA2MCAqIDEwMDApICogKG9wZXJhdG9yID09PSAnLScgPyAtMSA6IDEpO1xyXG4gIHR6T2Zmc2V0TWFwW3RpbWV6b25lT2Zmc2V0U3RyaW5nXSA9IHR6T2Zmc2V0O1xyXG4gIHJldHVybiB0ek9mZnNldDtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtdWxhdG9yQ29tbW9uIHtcclxuICBzdGF0aWMgY2xvbmVEYXRhKGRhdGE6IERhdGFUeXBlLCBleGNsdWRlID0gWydvcHRpb25zJywgJ3BhcnR5J10pOiBEYXRhVHlwZSB7XHJcbiAgICBjb25zdCByZXQ6IERhdGFUeXBlID0ge307XHJcblxyXG4gICAgLy8gVXNlIGV4dHJhIGxvZ2ljIGZvciB0b3AtbGV2ZWwgZXh0ZW5kIGZvciBwcm9wZXJ0eSBleGNsdXNpb25cclxuICAgIC8vIFRoaXMgY3V0IHRoZSBleGVjdXRpb24gdGltZSBvZiB0aGlzIGNvZGUgZnJvbSA0MSwwMDBtcyB0byA1MG1zIHdoZW4gcGFyc2luZyBhIDEyIG1pbnV0ZSBwdWxsXHJcbiAgICBmb3IgKGNvbnN0IGkgaW4gZGF0YSkge1xyXG4gICAgICBpZiAoZXhjbHVkZS5pbmNsdWRlcyhpKSlcclxuICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAvLyBDbG9uaW5nIGFueS4gU2VlIERhdGFUeXBlIGRlZmluaXRpb24gYWJvdmUgZm9yIHJlYXNvbmluZy5cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudFxyXG4gICAgICAgIHJldFtpXSA9IEVtdWxhdG9yQ29tbW9uLl9jbG9uZURhdGEoZGF0YVtpXSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFzc2lnbm1lbnQgb2YgYW55IHRvIGFueS4gU2VlIERhdGFUeXBlIGRlZmluaXRpb24gYWJvdmUgZm9yIHJlYXNvbmluZy5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudFxyXG4gICAgICByZXRbaV0gPSBkYXRhW2ldO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBfY2xvbmVEYXRhKGRhdGE6IERhdGFUeXBlKTogRGF0YVR5cGUge1xyXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGNvbnN0IHJldCA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7ICsraSkge1xyXG4gICAgICAgICAgLy8gQ2xvbmluZyBhbnkuIFNlZSBEYXRhVHlwZSBkZWZpbml0aW9uIGFib3ZlIGZvciByZWFzb25pbmcuXHJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudFxyXG4gICAgICAgICAgcmV0W2ldID0gRW11bGF0b3JDb21tb24uX2Nsb25lRGF0YShkYXRhW2ldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhID09PSBudWxsKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBSZWdFeHApXHJcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoZGF0YSk7XHJcblxyXG4gICAgICBjb25zdCByZXQ6IERhdGFUeXBlID0ge307XHJcbiAgICAgIGZvciAoY29uc3QgaSBpbiBkYXRhKSB7XHJcbiAgICAgICAgLy8gQ2xvbmluZyBhbnkuIFNlZSBEYXRhVHlwZSBkZWZpbml0aW9uIGFib3ZlIGZvciByZWFzb25pbmcuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcclxuICAgICAgICByZXRbaV0gPSBFbXVsYXRvckNvbW1vbi5fY2xvbmVEYXRhKGRhdGFbaV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGltZVRvU3RyaW5nKHRpbWU6IG51bWJlciwgaW5jbHVkZU1pbGxpcyA9IHRydWUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbmVnYXRpdmUgPSB0aW1lIDwgMCA/ICctJyA6ICcnO1xyXG4gICAgdGltZSA9IE1hdGguYWJzKHRpbWUpO1xyXG4gICAgY29uc3QgbWlsbGlzTnVtID0gdGltZSAlIDEwMDA7XHJcbiAgICBjb25zdCBzZWNzTnVtID0gKCh0aW1lICUgKDYwICogMTAwMCkpIC0gbWlsbGlzTnVtKSAvIDEwMDA7XHJcbiAgICAvLyBNaWxsaXNlY29uZHNcclxuICAgIGNvbnN0IG1pbGxpcyA9IGAwMCR7bWlsbGlzTnVtfWAuc3Vic3RyKC0zKTtcclxuICAgIGNvbnN0IHNlY3MgPSBgMCR7c2Vjc051bX1gLnN1YnN0cigtMik7XHJcbiAgICBjb25zdCBtaW5zID0gYDAkeygoKCh0aW1lICUgKDYwICogNjAgKiAxMDAwKSkgLSBtaWxsaXNOdW0pIC8gMTAwMCkgLSBzZWNzTnVtKSAvIDYwfWAuc3Vic3RyKC0yKTtcclxuICAgIHJldHVybiBuZWdhdGl2ZSArIG1pbnMgKyAnOicgKyBzZWNzICsgKGluY2x1ZGVNaWxsaXMgPyAnLicgKyBtaWxsaXMgOiAnJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGltZVRvRGF0ZVN0cmluZyh0aW1lOiBudW1iZXIsIHR6T2Zmc2V0TWlsbGlzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZU9iamVjdFRvRGF0ZVN0cmluZyhuZXcgRGF0ZSh0aW1lKSwgdHpPZmZzZXRNaWxsaXMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVPYmplY3RUb0RhdGVTdHJpbmcoZGF0ZTogRGF0ZSwgdHpPZmZzZXRNaWxsaXM6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjb252RGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpICsgdHpPZmZzZXRNaWxsaXMpO1xyXG4gICAgY29uc3QgeWVhciA9IGNvbnZEYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XHJcbiAgICBjb25zdCBtb250aCA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQoKGNvbnZEYXRlLmdldFVUQ01vbnRoKCkgKyAxKS50b1N0cmluZygpKTtcclxuICAgIGNvbnN0IGRheSA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQoY29udkRhdGUuZ2V0VVRDRGF0ZSgpLnRvU3RyaW5nKCkpO1xyXG4gICAgcmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGltZVRvVGltZVN0cmluZyh0aW1lOiBudW1iZXIsIHR6T2Zmc2V0TWlsbGlzOiBudW1iZXIsIGluY2x1ZGVNaWxsaXMgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlT2JqZWN0VG9UaW1lU3RyaW5nKG5ldyBEYXRlKHRpbWUpLCB0ek9mZnNldE1pbGxpcywgaW5jbHVkZU1pbGxpcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZU9iamVjdFRvVGltZVN0cmluZyhkYXRlOiBEYXRlLCB0ek9mZnNldE1pbGxpczogbnVtYmVyLCBpbmNsdWRlTWlsbGlzID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgY29udkRhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSArIHR6T2Zmc2V0TWlsbGlzKTtcclxuICAgIGNvbnN0IGhvdXIgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKGNvbnZEYXRlLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBtaW51dGUgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKGNvbnZEYXRlLmdldFVUQ01pbnV0ZXMoKS50b1N0cmluZygpKTtcclxuICAgIGNvbnN0IHNlY29uZCA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQoY29udkRhdGUuZ2V0VVRDU2Vjb25kcygpLnRvU3RyaW5nKCkpO1xyXG4gICAgbGV0IHJldCA9IGAke2hvdXJ9OiR7bWludXRlfToke3NlY29uZH1gO1xyXG4gICAgaWYgKGluY2x1ZGVNaWxsaXMpXHJcbiAgICAgIHJldCA9IHJldCArIGAuJHtFbXVsYXRvckNvbW1vbi56ZXJvUGFkKGNvbnZEYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpLnRvU3RyaW5nKCksIDMpfWA7XHJcblxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtc1RvRHVyYXRpb24obXM6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0bXAgPSBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcobXMsIGZhbHNlKTtcclxuICAgIHJldHVybiB0bXAucmVwbGFjZSgnOicsICdtJykgKyAncyc7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRpbWVUb1N0cmluZyh0aW1lOiBudW1iZXIsIHR6T2Zmc2V0TWlsbGlzOiBudW1iZXIsIGluY2x1ZGVNaWxsaXMgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZSk7XHJcbiAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5kYXRlT2JqZWN0VG9EYXRlU3RyaW5nKGRhdGUsIHR6T2Zmc2V0TWlsbGlzKTtcclxuICAgIGNvbnN0IHRpbWVTdHJpbmcgPSB0aGlzLmRhdGVPYmplY3RUb1RpbWVTdHJpbmcoZGF0ZSwgdHpPZmZzZXRNaWxsaXMsIGluY2x1ZGVNaWxsaXMpO1xyXG4gICAgcmV0dXJuIGRhdGVTdHJpbmcgKyAnICcgKyB0aW1lU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHplcm9QYWQoc3RyOiBzdHJpbmcsIGxlbiA9IDIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICgnJyArIHN0cikucGFkU3RhcnQobGVuLCAnMCcpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHByb3BlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW15cXFdfXStbXlxccy1dKikgKi9nLCAodHh0KSA9PiB7XHJcbiAgICAgIHJldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzcGFjZVBhZExlZnQoc3RyOiBzdHJpbmcsIGxlbjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHIucGFkU3RhcnQobGVuLCAnICcpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRvZXNMaW5lTWF0Y2g8VCBleHRlbmRzIFRyaWdnZXJUeXBlcz4oXHJcbiAgICBsaW5lOiBzdHJpbmcsXHJcbiAgICByZWdleGVzOiBSZWNvcmQ8TGFuZywgUmVnRXhwPiB8IFJlZ0V4cCB8IENhY3Rib3RCYXNlUmVnRXhwPFQ+LFxyXG4gICk6IFJlZ0V4cEV4ZWNBcnJheSB8IENhY3Rib3RSZWdFeHBFeGVjQXJyYXk8VD4gfCBudWxsIHtcclxuICAgIGlmIChyZWdleGVzIGluc3RhbmNlb2YgUmVnRXhwKVxyXG4gICAgICByZXR1cm4gcmVnZXhlcy5leGVjKGxpbmUpO1xyXG5cclxuICAgIGZvciAoY29uc3QgbGFuZ1N0ciBpbiByZWdleGVzKSB7XHJcbiAgICAgIGNvbnN0IGxhbmcgPSBsYW5nU3RyIGFzIGtleW9mIHR5cGVvZiByZWdleGVzO1xyXG4gICAgICBjb25zdCByZXMgPSByZWdleGVzW2xhbmddLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICBpZiAocmVzLmdyb3VwcylcclxuICAgICAgICAgIHJlcy5ncm91cHMubGFuZ3VhZ2UgPSBsYW5nO1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1hdGNoU3RhcnQobGluZTogc3RyaW5nKTogTWF0Y2hTdGFydEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IHJlcztcclxuICAgIC8vIEN1cnJlbnRseSBhbGwgb2YgdGhlc2UgcmVnZXhlcyBoYXZlIGdyb3VwcyBpZiB0aGV5IG1hdGNoIGF0IGFsbCxcclxuICAgIC8vIGJ1dCBiZSByb2J1c3QgdG8gdGhhdCBjaGFuZ2luZyBpbiB0aGUgZnV0dXJlLlxyXG4gICAgcmVzID0gRW11bGF0b3JDb21tb24uZG9lc0xpbmVNYXRjaChsaW5lLCBFbXVsYXRvckNvbW1vbi5jb3VudGRvd25SZWdleGVzKTtcclxuICAgIGlmIChyZXMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBTdGFydEluOiAocGFyc2VJbnQocmVzLmdyb3Vwcz8udGltZSA/PyAnMCcpICogMTAwMCkudG9TdHJpbmcoKSxcclxuICAgICAgICBTdGFydFR5cGU6ICdDb3VudGRvd24nLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5kb2VzTGluZU1hdGNoKGxpbmUsIEVtdWxhdG9yQ29tbW9uLnNlYWxSZWdleGVzKTtcclxuICAgIGlmIChyZXMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBTdGFydEluOiAnMCcsXHJcbiAgICAgICAgU3RhcnRUeXBlOiAnU2VhbCcsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24uZW5nYWdlUmVnZXhlcyk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgU3RhcnRJbjogJzAnLFxyXG4gICAgICAgIFN0YXJ0VHlwZTogJ0VuZ2FnZScsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYXRjaEVuZChsaW5lOiBzdHJpbmcpOiBNYXRjaEVuZEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IHJlcztcclxuICAgIC8vIEN1cnJlbnRseSBhbGwgb2YgdGhlc2UgcmVnZXhlcyBoYXZlIGdyb3VwcyBpZiB0aGV5IG1hdGNoIGF0IGFsbCxcclxuICAgIC8vIGJ1dCBiZSByb2J1c3QgdG8gdGhhdCBjaGFuZ2luZyBpbiB0aGUgZnV0dXJlLlxyXG4gICAgcmVzID0gRW11bGF0b3JDb21tb24uZG9lc0xpbmVNYXRjaChsaW5lLCBFbXVsYXRvckNvbW1vbi53aW5SZWdleCk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgRW5kVHlwZTogJ1dpbicsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24ud2lwZVJlZ2V4KTtcclxuICAgIGlmIChyZXMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBFbmRUeXBlOiAnV2lwZScsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24uY2FjdGJvdFdpcGVSZWdleCk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgRW5kVHlwZTogJ0NhY3Rib3QgV2lwZScsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24udW5zZWFsUmVnZXhlcyk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgRW5kVHlwZTogJ1Vuc2VhbCcsXHJcbiAgICAgICAgbGFuZ3VhZ2U6IHJlcy5ncm91cHM/Lmxhbmd1YWdlID8/IHVuZGVmaW5lZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBzZWFsUmVnZXhlcyA9IExvY2FsZU5ldFJlZ2V4LmFyZWFTZWFsO1xyXG4gIHN0YXRpYyBlbmdhZ2VSZWdleGVzID0gTG9jYWxlTmV0UmVnZXguY291bnRkb3duRW5nYWdlO1xyXG4gIHN0YXRpYyBjb3VudGRvd25SZWdleGVzID0gTG9jYWxlTmV0UmVnZXguY291bnRkb3duU3RhcnQ7XHJcbiAgc3RhdGljIHVuc2VhbFJlZ2V4ZXMgPSBMb2NhbGVOZXRSZWdleC5hcmVhVW5zZWFsO1xyXG4gIHN0YXRpYyB3aXBlUmVnZXggPSBOZXRSZWdleGVzLm5ldHdvcms2ZCh7IGNvbW1hbmQ6ICc0MDAwMDAxMCcgfSk7XHJcbiAgc3RhdGljIHdpblJlZ2V4ID0gTmV0UmVnZXhlcy5uZXR3b3JrNmQoeyBjb21tYW5kOiAnNDAwMDAwMDMnIH0pO1xyXG4gIHN0YXRpYyBjYWN0Ym90V2lwZVJlZ2V4ID0gTmV0UmVnZXhlcy5lY2hvKHsgbGluZTogJ2NhY3Rib3Qgd2lwZS4qPycgfSk7XHJcbn1cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zLCB7IExvZ0RlZmluaXRpb25NYXAgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9qb2InO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHsgZ2V0VGltZXpvbmVPZmZzZXRNaWxsaXMgfSBmcm9tICcuLi8uLi9FbXVsYXRvckNvbW1vbic7XHJcblxyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0ge1xyXG4gIGV2ZW50OiAwLFxyXG4gIHRpbWVzdGFtcDogMSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IHVua25vd25Mb2dNZXNzYWdlUHJlZml4ID0gJ1Vua25vd24nO1xyXG5cclxuY29uc3QgbG9nTWVzc2FnZVByZWZpeDogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuY29uc3QgbG9nRGVmc0dlbmVyaWM6IExvZ0RlZmluaXRpb25NYXAgPSBsb2dEZWZpbml0aW9ucztcclxuZm9yIChjb25zdCBkZWYgb2YgT2JqZWN0LnZhbHVlcyhsb2dEZWZzR2VuZXJpYykpXHJcbiAgbG9nTWVzc2FnZVByZWZpeFtkZWYudHlwZV0gPSBkZWYubWVzc2FnZVR5cGU7XHJcblxyXG4vKipcclxuICogR2VuZXJpYyBjbGFzcyB0byB0cmFjayBhbiBGRlhJViBsb2cgbGluZVxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgb2Zmc2V0ID0gMDtcclxuICBwdWJsaWMgY29udmVydGVkTGluZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgcHVibGljIGluZGV4ID0gMDtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVjRXZlbnRTdHI6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVjRXZlbnQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGV4RXZlbnQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGltZXN0YW1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNoZWNrc3VtOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHR6T2Zmc2V0TWlsbGlzOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIHB1YmxpYyBuZXR3b3JrTGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IHRpbWVzdGFtcFN0cmluZyA9IHBhcnRzW2ZpZWxkcy50aW1lc3RhbXBdID8/ICcwJztcclxuICAgIHRoaXMudHpPZmZzZXRNaWxsaXMgPSBnZXRUaW1lem9uZU9mZnNldE1pbGxpcyh0aW1lc3RhbXBTdHJpbmcpO1xyXG4gICAgdGhpcy5kZWNFdmVudFN0ciA9IHBhcnRzW2ZpZWxkcy5ldmVudF0gPz8gJzAwJztcclxuICAgIHRoaXMuZGVjRXZlbnQgPSBwYXJzZUludCh0aGlzLmRlY0V2ZW50U3RyKTtcclxuICAgIHRoaXMuaGV4RXZlbnQgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKHRoaXMuZGVjRXZlbnQudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgdGhpcy50aW1lc3RhbXAgPSBuZXcgRGF0ZSh0aW1lc3RhbXBTdHJpbmcpLmdldFRpbWUoKTtcclxuICAgIHRoaXMuY2hlY2tzdW0gPSBwYXJ0cy5zbGljZSgtMSlbMF0gPz8gJyc7XHJcbiAgICByZXBvLnVwZGF0ZVRpbWVzdGFtcCh0aGlzLnRpbWVzdGFtcCk7XHJcbiAgICB0aGlzLmNvbnZlcnRlZExpbmUgPSB0aGlzLnByZWZpeCgpICsgKHBhcnRzLnNsaWNlKDIsIC0xKS5qb2luKCc6JykpLnJlcGxhY2UoJ3wnLCAnOicpO1xyXG4gIH1cclxuXHJcbiAgcHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0aW1lU3RyaW5nID0gRW11bGF0b3JDb21tb24udGltZVRvVGltZVN0cmluZyh0aGlzLnRpbWVzdGFtcCwgdGhpcy50ek9mZnNldE1pbGxpcywgdHJ1ZSk7XHJcbiAgICBjb25zdCBsb2dNZXNzYWdlTmFtZSA9IGxvZ01lc3NhZ2VQcmVmaXhbdGhpcy5kZWNFdmVudFN0cl0gPz8gdW5rbm93bkxvZ01lc3NhZ2VQcmVmaXg7XHJcbiAgICByZXR1cm4gYFske3RpbWVTdHJpbmd9XSAke2xvZ01lc3NhZ2VOYW1lfSAke3RoaXMuaGV4RXZlbnR9OmA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNEYW1hZ2VIYWxsb3dlZChkYW1hZ2U6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChwYXJzZUludChkYW1hZ2UsIDE2KSAmIHBhcnNlSW50KCcxMDAwJywgMTYpKSA+IDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNEYW1hZ2VCaWcoZGFtYWdlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAocGFyc2VJbnQoZGFtYWdlLCAxNikgJiBwYXJzZUludCgnNDAwMCcsIDE2KSkgPiAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZURhbWFnZShkYW1hZ2U6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBpZiAoTGluZUV2ZW50LmlzRGFtYWdlSGFsbG93ZWQoZGFtYWdlKSlcclxuICAgICAgcmV0dXJuIDA7XHJcblxyXG4gICAgZGFtYWdlID0gRW11bGF0b3JDb21tb24uemVyb1BhZChkYW1hZ2UsIDgpO1xyXG4gICAgY29uc3QgcGFydHMgPSBbXHJcbiAgICAgIGRhbWFnZS5zdWJzdHIoMCwgMiksXHJcbiAgICAgIGRhbWFnZS5zdWJzdHIoMiwgMiksXHJcbiAgICAgIGRhbWFnZS5zdWJzdHIoNCwgMiksXHJcbiAgICAgIGRhbWFnZS5zdWJzdHIoNiwgMiksXHJcbiAgICBdIGFzIGNvbnN0O1xyXG5cclxuICAgIGlmICghTGluZUV2ZW50LmlzRGFtYWdlQmlnKGRhbWFnZSkpXHJcbiAgICAgIHJldHVybiBwYXJzZUludChwYXJ0cy5zbGljZSgwLCAyKS5yZXZlcnNlKCkuam9pbignJyksIDE2KTtcclxuXHJcbiAgICByZXR1cm4gcGFyc2VJbnQoXHJcbiAgICAgIChwYXJ0c1szXSArIHBhcnRzWzBdKSArXHJcbiAgICAgICAgKHBhcnNlSW50KHBhcnRzWzFdLCAxNikgLSBwYXJzZUludChwYXJ0c1szXSwgMTYpKS50b1N0cmluZygxNiksXHJcbiAgICAgIDE2LFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFR5cGUgZ3VhcmRzIGZvciB0aGVzZSBpbnRlcmZhY2VzIHJlcXVpcmUgdGhlaXIgb3duIGRlc2NyaXB0b3IgcHJvcGVydHlcclxuLy8gYmVjYXVzZSB3ZSBkb24ndCB3YW50IGV2ZXJ5IGxpbmUgZXZlbnQgd2l0aCBhbiBpZC9uYW1lXHJcbi8vIHRvIHVwZGF0ZSBjb21iYXRhbnQgc3RhdGUsIGZvciBleGFtcGxlXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluZUV2ZW50U291cmNlIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICByZWFkb25seSBpc1NvdXJjZTogdHJ1ZTtcclxuICByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICByZWFkb25seSB4PzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHk/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgej86IG51bWJlcjtcclxuICByZWFkb25seSBoZWFkaW5nPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHRhcmdldGFibGU/OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IGhwPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IG1heEhwPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IG1wPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IG1heE1wPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNMaW5lRXZlbnRTb3VyY2UgPSAobGluZTogTGluZUV2ZW50KTogbGluZSBpcyBMaW5lRXZlbnRTb3VyY2UgPT4ge1xyXG4gIHJldHVybiAnaXNTb3VyY2UnIGluIGxpbmU7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVFdmVudFRhcmdldCBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcmVhZG9ubHkgaXNUYXJnZXQ6IHRydWU7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0WD86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRZPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHRhcmdldFo/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0SGVhZGluZz86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRIcD86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRNYXhIcD86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRNcD86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRNYXhNcD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzTGluZUV2ZW50VGFyZ2V0ID0gKGxpbmU6IExpbmVFdmVudCk6IGxpbmUgaXMgTGluZUV2ZW50VGFyZ2V0ID0+IHtcclxuICByZXR1cm4gJ2lzVGFyZ2V0JyBpbiBsaW5lO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lRXZlbnRKb2JMZXZlbCBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcmVhZG9ubHkgaXNKb2JMZXZlbDogdHJ1ZTtcclxuICByZWFkb25seSBqb2I6IEpvYjtcclxuICByZWFkb25seSBqb2JJZDogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IGxldmVsOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpc0xpbmVFdmVudEpvYkxldmVsID0gKGxpbmU6IExpbmVFdmVudCk6IGxpbmUgaXMgTGluZUV2ZW50Sm9iTGV2ZWwgPT4ge1xyXG4gIHJldHVybiAnaXNKb2JMZXZlbCcgaW4gbGluZTtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluZUV2ZW50QWJpbGl0eSBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcmVhZG9ubHkgaXNBYmlsaXR5OiB0cnVlO1xyXG4gIHJlYWRvbmx5IGFiaWxpdHlJZDogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IGFiaWxpdHlOYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpc0xpbmVFdmVudEFiaWxpdHkgPSAobGluZTogTGluZUV2ZW50KTogbGluZSBpcyBMaW5lRXZlbnRBYmlsaXR5ID0+IHtcclxuICByZXR1cm4gJ2lzQWJpbGl0eScgaW4gbGluZTtcclxufTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgUGV0TmFtZXNCeUxhbmcgZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3BldF9uYW1lcyc7XHJcblxyXG5pbXBvcnQgQ29tYmF0YW50IGZyb20gJy4vQ29tYmF0YW50JztcclxuaW1wb3J0IENvbWJhdGFudEpvYlNlYXJjaCBmcm9tICcuL0NvbWJhdGFudEpvYlNlYXJjaCc7XHJcbmltcG9ydCBDb21iYXRhbnRTdGF0ZSBmcm9tICcuL0NvbWJhdGFudFN0YXRlJztcclxuaW1wb3J0IExpbmVFdmVudCwge1xyXG4gIGlzTGluZUV2ZW50QWJpbGl0eSxcclxuICBpc0xpbmVFdmVudEpvYkxldmVsLFxyXG4gIGlzTGluZUV2ZW50U291cmNlLFxyXG4gIGlzTGluZUV2ZW50VGFyZ2V0LFxyXG4gIExpbmVFdmVudFNvdXJjZSxcclxuICBMaW5lRXZlbnRUYXJnZXQsXHJcbn0gZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJhdGFudFRyYWNrZXIge1xyXG4gIGxhbmd1YWdlOiBMYW5nO1xyXG4gIGZpcnN0VGltZXN0YW1wOiBudW1iZXI7XHJcbiAgbGFzdFRpbWVzdGFtcDogbnVtYmVyO1xyXG4gIGNvbWJhdGFudHM6IHsgW2lkOiBzdHJpbmddOiBDb21iYXRhbnQgfSA9IHt9O1xyXG4gIHBhcnR5TWVtYmVyczogc3RyaW5nW10gPSBbXTtcclxuICBlbmVtaWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG90aGVyczogc3RyaW5nW10gPSBbXTtcclxuICBwZXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG1haW5Db21iYXRhbnRJRD86IHN0cmluZztcclxuICBpbml0aWFsU3RhdGVzOiB7IFtpZDogc3RyaW5nXTogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4gfSA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKGxvZ0xpbmVzOiBMaW5lRXZlbnRbXSwgbGFuZ3VhZ2U6IExhbmcpIHtcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZTtcclxuICAgIHRoaXMuZmlyc3RUaW1lc3RhbXAgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICAgIHRoaXMubGFzdFRpbWVzdGFtcCA9IDA7XHJcbiAgICB0aGlzLmluaXRpYWxpemUobG9nTGluZXMpO1xyXG4gICAgLy8gQ2xlYXIgaW5pdGlhbFN0YXRlcyBhZnRlciB3ZSBpbml0aWFsaXplLCB3ZSBkb24ndCBuZWVkIGl0IGFueW1vcmVcclxuICAgIHRoaXMuaW5pdGlhbFN0YXRlcyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZShsb2dMaW5lczogTGluZUV2ZW50W10pOiB2b2lkIHtcclxuICAgIC8vIEZpcnN0IHBhc3M6IEdldCBsaXN0IG9mIGNvbWJhdGFudHMsIGZpZ3VyZSBvdXQgd2hlcmUgdGhleVxyXG4gICAgLy8gc3RhcnQgYXQgaWYgcG9zc2libGVcclxuICAgIGZvciAoY29uc3QgbGluZSBvZiBsb2dMaW5lcykge1xyXG4gICAgICB0aGlzLmZpcnN0VGltZXN0YW1wID0gTWF0aC5taW4odGhpcy5maXJzdFRpbWVzdGFtcCwgbGluZS50aW1lc3RhbXApO1xyXG4gICAgICB0aGlzLmxhc3RUaW1lc3RhbXAgPSBNYXRoLm1heCh0aGlzLmxhc3RUaW1lc3RhbXAsIGxpbmUudGltZXN0YW1wKTtcclxuXHJcbiAgICAgIGlmIChpc0xpbmVFdmVudFNvdXJjZShsaW5lKSlcclxuICAgICAgICB0aGlzLmFkZENvbWJhdGFudEZyb21MaW5lKGxpbmUpO1xyXG5cclxuICAgICAgaWYgKGlzTGluZUV2ZW50VGFyZ2V0KGxpbmUpKVxyXG4gICAgICAgIHRoaXMuYWRkQ29tYmF0YW50RnJvbVRhcmdldExpbmUobGluZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmV0d2VlbiBwYXNzZXM6IENyZWF0ZSBvdXIgaW5pdGlhbCBjb21iYXRhbnQgc3RhdGVzXHJcbiAgICBmb3IgKGNvbnN0IGlkIGluIHRoaXMuaW5pdGlhbFN0YXRlcykge1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuaW5pdGlhbFN0YXRlc1tpZF0gPz8ge307XHJcbiAgICAgIHRoaXMuY29tYmF0YW50c1tpZF0/LnB1c2hTdGF0ZShcclxuICAgICAgICB0aGlzLmZpcnN0VGltZXN0YW1wLFxyXG4gICAgICAgIG5ldyBDb21iYXRhbnRTdGF0ZShcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5wb3NYKSxcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5wb3NZKSxcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5wb3NaKSxcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5oZWFkaW5nKSxcclxuICAgICAgICAgIHN0YXRlLnRhcmdldGFibGUgPz8gZmFsc2UsXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUuaHApLFxyXG4gICAgICAgICAgTnVtYmVyKHN0YXRlLm1heEhwKSxcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5tcCksXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUubWF4TXApLFxyXG4gICAgICAgICksXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2Vjb25kIHBhc3M6IEFuYWx5emUgY29tYmF0YW50IGluZm9ybWF0aW9uIGZvciB0cmFja2luZ1xyXG4gICAgY29uc3QgZXZlbnRUcmFja2VyOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbG9nTGluZXMpIHtcclxuICAgICAgaWYgKGlzTGluZUV2ZW50U291cmNlKGxpbmUpKSB7XHJcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmV4dHJhY3RTdGF0ZUZyb21MaW5lKGxpbmUpO1xyXG4gICAgICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICAgICAgZXZlbnRUcmFja2VyW2xpbmUuaWRdID0gZXZlbnRUcmFja2VyW2xpbmUuaWRdID8/IDA7XHJcbiAgICAgICAgICArK2V2ZW50VHJhY2tlcltsaW5lLmlkXTtcclxuICAgICAgICAgIHRoaXMuY29tYmF0YW50c1tsaW5lLmlkXT8ucHVzaFBhcnRpYWxTdGF0ZShsaW5lLnRpbWVzdGFtcCwgc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoaXNMaW5lRXZlbnRUYXJnZXQobGluZSkpIHtcclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZXh0cmFjdFN0YXRlRnJvbVRhcmdldExpbmUobGluZSk7XHJcbiAgICAgICAgaWYgKHN0YXRlKSB7XHJcbiAgICAgICAgICBldmVudFRyYWNrZXJbbGluZS50YXJnZXRJZF0gPSBldmVudFRyYWNrZXJbbGluZS50YXJnZXRJZF0gPz8gMDtcclxuICAgICAgICAgICsrZXZlbnRUcmFja2VyW2xpbmUudGFyZ2V0SWRdO1xyXG4gICAgICAgICAgdGhpcy5jb21iYXRhbnRzW2xpbmUudGFyZ2V0SWRdPy5wdXNoUGFydGlhbFN0YXRlKGxpbmUudGltZXN0YW1wLCBzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmlndXJlIG91dCBwYXJ0eS9lbmVteS9vdGhlciBzdGF0dXNcclxuICAgIGNvbnN0IHBldE5hbWVzID0gUGV0TmFtZXNCeUxhbmdbdGhpcy5sYW5ndWFnZV07XHJcbiAgICB0aGlzLm90aGVycyA9IHRoaXMub3RoZXJzLmZpbHRlcigoSUQpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuY29tYmF0YW50c1tJRF0/LmpvYiAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGhpcy5jb21iYXRhbnRzW0lEXT8uam9iICE9PSAnTk9ORScgJiZcclxuICAgICAgICBJRC5zdGFydHNXaXRoKCcxJylcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wYXJ0eU1lbWJlcnMucHVzaChJRCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2UgaWYgKHBldE5hbWVzLmluY2x1ZGVzKHRoaXMuY29tYmF0YW50c1tJRF0/Lm5hbWUgPz8gJycpKSB7XHJcbiAgICAgICAgdGhpcy5wZXRzLnB1c2goSUQpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmICgoZXZlbnRUcmFja2VyW0lEXSA/PyAwKSA+IDApIHtcclxuICAgICAgICB0aGlzLmVuZW1pZXMucHVzaChJRCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gTWFpbiBjb21iYXRhbnQgaXMgdGhlIG9uZSB0aGF0IHRvb2sgdGhlIG1vc3QgYWN0aW9uc1xyXG4gICAgdGhpcy5tYWluQ29tYmF0YW50SUQgPSB0aGlzLmVuZW1pZXMuc29ydCgobCwgcikgPT4ge1xyXG4gICAgICByZXR1cm4gKGV2ZW50VHJhY2tlcltyXSA/PyAwKSAtIChldmVudFRyYWNrZXJbbF0gPz8gMCk7XHJcbiAgICB9KVswXTtcclxuICB9XHJcblxyXG4gIGFkZENvbWJhdGFudEZyb21MaW5lKGxpbmU6IExpbmVFdmVudFNvdXJjZSk6IHZvaWQge1xyXG4gICAgY29uc3QgY29tYmF0YW50ID0gdGhpcy5pbml0Q29tYmF0YW50KGxpbmUuaWQsIGxpbmUubmFtZSk7XHJcbiAgICBjb25zdCBpbml0U3RhdGUgPSB0aGlzLmluaXRpYWxTdGF0ZXNbbGluZS5pZF0gPz8ge307XHJcblxyXG4gICAgY29uc3QgZXh0cmFjdGVkU3RhdGUgPSB0aGlzLmV4dHJhY3RTdGF0ZUZyb21MaW5lKGxpbmUpID8/IHt9O1xyXG5cclxuICAgIGluaXRTdGF0ZS5wb3NYID0gaW5pdFN0YXRlLnBvc1ggPz8gZXh0cmFjdGVkU3RhdGUucG9zWDtcclxuICAgIGluaXRTdGF0ZS5wb3NZID0gaW5pdFN0YXRlLnBvc1kgPz8gZXh0cmFjdGVkU3RhdGUucG9zWTtcclxuICAgIGluaXRTdGF0ZS5wb3NaID0gaW5pdFN0YXRlLnBvc1ogPz8gZXh0cmFjdGVkU3RhdGUucG9zWjtcclxuICAgIGluaXRTdGF0ZS5oZWFkaW5nID0gaW5pdFN0YXRlLmhlYWRpbmcgPz8gZXh0cmFjdGVkU3RhdGUuaGVhZGluZztcclxuICAgIGluaXRTdGF0ZS50YXJnZXRhYmxlID0gaW5pdFN0YXRlLnRhcmdldGFibGUgPz8gZXh0cmFjdGVkU3RhdGUudGFyZ2V0YWJsZTtcclxuICAgIGluaXRTdGF0ZS5ocCA9IGluaXRTdGF0ZS5ocCA/PyBleHRyYWN0ZWRTdGF0ZS5ocDtcclxuICAgIGluaXRTdGF0ZS5tYXhIcCA9IGluaXRTdGF0ZS5tYXhIcCA/PyBleHRyYWN0ZWRTdGF0ZS5tYXhIcDtcclxuICAgIGluaXRTdGF0ZS5tcCA9IGluaXRTdGF0ZS5tcCA/PyBleHRyYWN0ZWRTdGF0ZS5tcDtcclxuICAgIGluaXRTdGF0ZS5tYXhNcCA9IGluaXRTdGF0ZS5tYXhNcCA/PyBleHRyYWN0ZWRTdGF0ZS5tYXhNcDtcclxuXHJcbiAgICBpZiAoaXNMaW5lRXZlbnRKb2JMZXZlbChsaW5lKSkge1xyXG4gICAgICBjb21iYXRhbnQuam9iID0gdGhpcy5jb21iYXRhbnRzW2xpbmUuaWRdPy5qb2IgPz8gbGluZS5qb2I7XHJcbiAgICAgIGNvbWJhdGFudC5sZXZlbCA9IHRoaXMuY29tYmF0YW50c1tsaW5lLmlkXT8ubGV2ZWwgPz8gbGluZS5sZXZlbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNMaW5lRXZlbnRBYmlsaXR5KGxpbmUpKSB7XHJcbiAgICAgIGlmICghY29tYmF0YW50LmpvYiAmJiAhbGluZS5pZC5zdGFydHNXaXRoKCc0JykgJiYgbGluZS5hYmlsaXR5SWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICBjb21iYXRhbnQuam9iID0gQ29tYmF0YW50Sm9iU2VhcmNoLmdldEpvYihsaW5lLmFiaWxpdHlJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRDb21iYXRhbnRGcm9tVGFyZ2V0TGluZShsaW5lOiBMaW5lRXZlbnRUYXJnZXQpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdENvbWJhdGFudChsaW5lLnRhcmdldElkLCBsaW5lLnRhcmdldE5hbWUpO1xyXG4gICAgY29uc3QgaW5pdFN0YXRlID0gdGhpcy5pbml0aWFsU3RhdGVzW2xpbmUudGFyZ2V0SWRdID8/IHt9O1xyXG5cclxuICAgIGNvbnN0IGV4dHJhY3RlZFN0YXRlID0gdGhpcy5leHRyYWN0U3RhdGVGcm9tVGFyZ2V0TGluZShsaW5lKSA/PyB7fTtcclxuXHJcbiAgICBpbml0U3RhdGUucG9zWCA9IGluaXRTdGF0ZS5wb3NYID8/IGV4dHJhY3RlZFN0YXRlLnBvc1g7XHJcbiAgICBpbml0U3RhdGUucG9zWSA9IGluaXRTdGF0ZS5wb3NZID8/IGV4dHJhY3RlZFN0YXRlLnBvc1k7XHJcbiAgICBpbml0U3RhdGUucG9zWiA9IGluaXRTdGF0ZS5wb3NaID8/IGV4dHJhY3RlZFN0YXRlLnBvc1o7XHJcbiAgICBpbml0U3RhdGUuaGVhZGluZyA9IGluaXRTdGF0ZS5oZWFkaW5nID8/IGV4dHJhY3RlZFN0YXRlLmhlYWRpbmc7XHJcbiAgICBpbml0U3RhdGUuaHAgPSBpbml0U3RhdGUuaHAgPz8gZXh0cmFjdGVkU3RhdGUuaHA7XHJcbiAgICBpbml0U3RhdGUubWF4SHAgPSBpbml0U3RhdGUubWF4SHAgPz8gZXh0cmFjdGVkU3RhdGUubWF4SHA7XHJcbiAgICBpbml0U3RhdGUubXAgPSBpbml0U3RhdGUubXAgPz8gZXh0cmFjdGVkU3RhdGUubXA7XHJcbiAgICBpbml0U3RhdGUubWF4TXAgPSBpbml0U3RhdGUubWF4TXAgPz8gZXh0cmFjdGVkU3RhdGUubWF4TXA7XHJcbiAgfVxyXG5cclxuICBleHRyYWN0U3RhdGVGcm9tTGluZShsaW5lOiBMaW5lRXZlbnRTb3VyY2UpOiBQYXJ0aWFsPENvbWJhdGFudFN0YXRlPiB7XHJcbiAgICBjb25zdCBzdGF0ZTogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4gPSB7fTtcclxuXHJcbiAgICBpZiAobGluZS54ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1ggPSBsaW5lLng7XHJcbiAgICBpZiAobGluZS55ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1kgPSBsaW5lLnk7XHJcbiAgICBpZiAobGluZS56ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1ogPSBsaW5lLno7XHJcbiAgICBpZiAobGluZS5oZWFkaW5nICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLmhlYWRpbmcgPSBsaW5lLmhlYWRpbmc7XHJcbiAgICBpZiAobGluZS50YXJnZXRhYmxlICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnRhcmdldGFibGUgPSBsaW5lLnRhcmdldGFibGU7XHJcbiAgICBpZiAobGluZS5ocCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5ocCA9IGxpbmUuaHA7XHJcbiAgICBpZiAobGluZS5tYXhIcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tYXhIcCA9IGxpbmUubWF4SHA7XHJcbiAgICBpZiAobGluZS5tcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tcCA9IGxpbmUubXA7XHJcbiAgICBpZiAobGluZS5tYXhNcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tYXhNcCA9IGxpbmUubWF4TXA7XHJcblxyXG4gICAgaWYgKGxpbmUuZGVjRXZlbnQgPT09IDQpXHJcbiAgICAgIHN0YXRlLnRhcmdldGFibGUgPSBmYWxzZTtcclxuXHJcbiAgICByZXR1cm4gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBleHRyYWN0U3RhdGVGcm9tVGFyZ2V0TGluZShsaW5lOiBMaW5lRXZlbnRUYXJnZXQpOiBQYXJ0aWFsPENvbWJhdGFudFN0YXRlPiB7XHJcbiAgICBjb25zdCBzdGF0ZTogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4gPSB7fTtcclxuXHJcbiAgICBpZiAobGluZS50YXJnZXRYICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1ggPSBsaW5lLnRhcmdldFg7XHJcbiAgICBpZiAobGluZS50YXJnZXRZICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1kgPSBsaW5lLnRhcmdldFk7XHJcbiAgICBpZiAobGluZS50YXJnZXRaICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLnBvc1ogPSBsaW5lLnRhcmdldFo7XHJcbiAgICBpZiAobGluZS50YXJnZXRIZWFkaW5nICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHN0YXRlLmhlYWRpbmcgPSBsaW5lLnRhcmdldEhlYWRpbmc7XHJcbiAgICBpZiAobGluZS50YXJnZXRIcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5ocCA9IGxpbmUudGFyZ2V0SHA7XHJcbiAgICBpZiAobGluZS50YXJnZXRNYXhIcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tYXhIcCA9IGxpbmUudGFyZ2V0TWF4SHA7XHJcbiAgICBpZiAobGluZS50YXJnZXRNcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tcCA9IGxpbmUudGFyZ2V0TXA7XHJcbiAgICBpZiAobGluZS50YXJnZXRNYXhNcCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5tYXhNcCA9IGxpbmUudGFyZ2V0TWF4TXA7XHJcblxyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxuXHJcbiAgaW5pdENvbWJhdGFudChpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBDb21iYXRhbnQge1xyXG4gICAgbGV0IGNvbWJhdGFudCA9IHRoaXMuY29tYmF0YW50c1tpZF07XHJcbiAgICBpZiAoY29tYmF0YW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29tYmF0YW50ID0gdGhpcy5jb21iYXRhbnRzW2lkXSA9IG5ldyBDb21iYXRhbnQoaWQsIG5hbWUpO1xyXG4gICAgICB0aGlzLm90aGVycy5wdXNoKGlkKTtcclxuICAgICAgdGhpcy5pbml0aWFsU3RhdGVzW2lkXSA9IHtcclxuICAgICAgICB0YXJnZXRhYmxlOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIGlmIChjb21iYXRhbnQubmFtZSA9PT0gJycpIHtcclxuICAgICAgY29tYmF0YW50LnNldE5hbWUobmFtZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29tYmF0YW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0TWFpbkNvbWJhdGFudE5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLm1haW5Db21iYXRhbnRJRClcclxuICAgICAgcmV0dXJuIHRoaXMuY29tYmF0YW50c1t0aGlzLm1haW5Db21iYXRhbnRJRF0/Lm5hbWUgPz8gJ1Vua25vd24nO1xyXG4gICAgcmV0dXJuICdVbmtub3duJztcclxuICB9XHJcbn1cclxuIiwiLypcbiAqIERleGllLmpzIC0gYSBtaW5pbWFsaXN0aWMgd3JhcHBlciBmb3IgSW5kZXhlZERCXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICpcbiAqIEJ5IERhdmlkIEZhaGxhbmRlciwgZGF2aWQuZmFobGFuZGVyQGdtYWlsLmNvbVxuICpcbiAqIFZlcnNpb24gMy4wLjMsIFdlZCBOb3YgMTggMjAyMFxuICpcbiAqIGh0dHA6Ly9kZXhpZS5vcmdcbiAqXG4gKiBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0LCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvXG4gKi9cbiBcbnZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgfTtcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn07XG5cblxuXG5cblxuXG5cblxuXG5cbmZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcbiAgICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcbiAgICByZXR1cm4gcjtcbn1cblxudmFyIGtleXMgPSBPYmplY3Qua2V5cztcbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcbnZhciBfZ2xvYmFsID0gdHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOlxuICAgICAgICBnbG9iYWw7XG5pZiAodHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnICYmICFfZ2xvYmFsLlByb21pc2UpIHtcbiAgICBfZ2xvYmFsLlByb21pc2UgPSBQcm9taXNlO1xufVxuZnVuY3Rpb24gZXh0ZW5kKG9iaiwgZXh0ZW5zaW9uKSB7XG4gICAgaWYgKHR5cGVvZiBleHRlbnNpb24gIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIGtleXMoZXh0ZW5zaW9uKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBleHRlbnNpb25ba2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JqO1xufVxudmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9oYXNPd24gPSB7fS5oYXNPd25Qcm9wZXJ0eTtcbmZ1bmN0aW9uIGhhc093bihvYmosIHByb3ApIHtcbiAgICByZXR1cm4gX2hhc093bi5jYWxsKG9iaiwgcHJvcCk7XG59XG5mdW5jdGlvbiBwcm9wcyhwcm90bywgZXh0ZW5zaW9uKSB7XG4gICAgaWYgKHR5cGVvZiBleHRlbnNpb24gPT09ICdmdW5jdGlvbicpXG4gICAgICAgIGV4dGVuc2lvbiA9IGV4dGVuc2lvbihnZXRQcm90byhwcm90bykpO1xuICAgIGtleXMoZXh0ZW5zaW9uKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgc2V0UHJvcChwcm90bywga2V5LCBleHRlbnNpb25ba2V5XSk7XG4gICAgfSk7XG59XG52YXIgZGVmaW5lUHJvcGVydHkgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5mdW5jdGlvbiBzZXRQcm9wKG9iaiwgcHJvcCwgZnVuY3Rpb25PckdldFNldCwgb3B0aW9ucykge1xuICAgIGRlZmluZVByb3BlcnR5KG9iaiwgcHJvcCwgZXh0ZW5kKGZ1bmN0aW9uT3JHZXRTZXQgJiYgaGFzT3duKGZ1bmN0aW9uT3JHZXRTZXQsIFwiZ2V0XCIpICYmIHR5cGVvZiBmdW5jdGlvbk9yR2V0U2V0LmdldCA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgIHsgZ2V0OiBmdW5jdGlvbk9yR2V0U2V0LmdldCwgc2V0OiBmdW5jdGlvbk9yR2V0U2V0LnNldCwgY29uZmlndXJhYmxlOiB0cnVlIH0gOlxuICAgICAgICB7IHZhbHVlOiBmdW5jdGlvbk9yR2V0U2V0LCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0sIG9wdGlvbnMpKTtcbn1cbmZ1bmN0aW9uIGRlcml2ZShDaGlsZCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGZyb206IGZ1bmN0aW9uIChQYXJlbnQpIHtcbiAgICAgICAgICAgIENoaWxkLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoUGFyZW50LnByb3RvdHlwZSk7XG4gICAgICAgICAgICBzZXRQcm9wKENoaWxkLnByb3RvdHlwZSwgXCJjb25zdHJ1Y3RvclwiLCBDaGlsZCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGV4dGVuZDogcHJvcHMuYmluZChudWxsLCBDaGlsZC5wcm90b3R5cGUpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfTtcbn1cbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuZnVuY3Rpb24gZ2V0UHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgcHJvcCkge1xuICAgIHZhciBwZCA9IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3ApO1xuICAgIHZhciBwcm90bztcbiAgICByZXR1cm4gcGQgfHwgKHByb3RvID0gZ2V0UHJvdG8ob2JqKSkgJiYgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCBwcm9wKTtcbn1cbnZhciBfc2xpY2UgPSBbXS5zbGljZTtcbmZ1bmN0aW9uIHNsaWNlKGFyZ3MsIHN0YXJ0LCBlbmQpIHtcbiAgICByZXR1cm4gX3NsaWNlLmNhbGwoYXJncywgc3RhcnQsIGVuZCk7XG59XG5mdW5jdGlvbiBvdmVycmlkZShvcmlnRnVuYywgb3ZlcnJpZGVkRmFjdG9yeSkge1xuICAgIHJldHVybiBvdmVycmlkZWRGYWN0b3J5KG9yaWdGdW5jKTtcbn1cbmZ1bmN0aW9uIGFzc2VydChiKSB7XG4gICAgaWYgKCFiKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBc3NlcnRpb24gRmFpbGVkXCIpO1xufVxuZnVuY3Rpb24gYXNhcChmbikge1xuICAgIGlmIChfZ2xvYmFsLnNldEltbWVkaWF0ZSlcbiAgICAgICAgc2V0SW1tZWRpYXRlKGZuKTtcbiAgICBlbHNlXG4gICAgICAgIHNldFRpbWVvdXQoZm4sIDApO1xufVxuXG5mdW5jdGlvbiBhcnJheVRvT2JqZWN0KGFycmF5LCBleHRyYWN0b3IpIHtcbiAgICByZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHQsIGl0ZW0sIGkpIHtcbiAgICAgICAgdmFyIG5hbWVBbmRWYWx1ZSA9IGV4dHJhY3RvcihpdGVtLCBpKTtcbiAgICAgICAgaWYgKG5hbWVBbmRWYWx1ZSlcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lQW5kVmFsdWVbMF1dID0gbmFtZUFuZFZhbHVlWzFdO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gdHJ5Q2F0Y2goZm4sIG9uZXJyb3IsIGFyZ3MpIHtcbiAgICB0cnkge1xuICAgICAgICBmbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGV4KSB7XG4gICAgICAgIG9uZXJyb3IgJiYgb25lcnJvcihleCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aCkge1xuICAgIGlmIChoYXNPd24ob2JqLCBrZXlQYXRoKSlcbiAgICAgICAgcmV0dXJuIG9ialtrZXlQYXRoXTtcbiAgICBpZiAoIWtleVBhdGgpXG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgaWYgKHR5cGVvZiBrZXlQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICB2YXIgcnYgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBrZXlQYXRoLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgdmFyIHZhbCA9IGdldEJ5S2V5UGF0aChvYmosIGtleVBhdGhbaV0pO1xuICAgICAgICAgICAgcnYucHVzaCh2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBydjtcbiAgICB9XG4gICAgdmFyIHBlcmlvZCA9IGtleVBhdGguaW5kZXhPZignLicpO1xuICAgIGlmIChwZXJpb2QgIT09IC0xKSB7XG4gICAgICAgIHZhciBpbm5lck9iaiA9IG9ialtrZXlQYXRoLnN1YnN0cigwLCBwZXJpb2QpXTtcbiAgICAgICAgcmV0dXJuIGlubmVyT2JqID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBnZXRCeUtleVBhdGgoaW5uZXJPYmosIGtleVBhdGguc3Vic3RyKHBlcmlvZCArIDEpKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldEJ5S2V5UGF0aChvYmosIGtleVBhdGgsIHZhbHVlKSB7XG4gICAgaWYgKCFvYmogfHwga2V5UGF0aCA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKCdpc0Zyb3plbicgaW4gT2JqZWN0ICYmIE9iamVjdC5pc0Zyb3plbihvYmopKVxuICAgICAgICByZXR1cm47XG4gICAgaWYgKHR5cGVvZiBrZXlQYXRoICE9PSAnc3RyaW5nJyAmJiAnbGVuZ3RoJyBpbiBrZXlQYXRoKSB7XG4gICAgICAgIGFzc2VydCh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnICYmICdsZW5ndGgnIGluIHZhbHVlKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBrZXlQYXRoLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgc2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aFtpXSwgdmFsdWVbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgcGVyaW9kID0ga2V5UGF0aC5pbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChwZXJpb2QgIT09IC0xKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudEtleVBhdGggPSBrZXlQYXRoLnN1YnN0cigwLCBwZXJpb2QpO1xuICAgICAgICAgICAgdmFyIHJlbWFpbmluZ0tleVBhdGggPSBrZXlQYXRoLnN1YnN0cihwZXJpb2QgKyAxKTtcbiAgICAgICAgICAgIGlmIChyZW1haW5pbmdLZXlQYXRoID09PSBcIlwiKVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KG9iaikgJiYgIWlzTmFOKHBhcnNlSW50KGN1cnJlbnRLZXlQYXRoKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmouc3BsaWNlKGN1cnJlbnRLZXlQYXRoLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9ialtjdXJyZW50S2V5UGF0aF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgb2JqW2N1cnJlbnRLZXlQYXRoXSA9IHZhbHVlO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGlubmVyT2JqID0gb2JqW2N1cnJlbnRLZXlQYXRoXTtcbiAgICAgICAgICAgICAgICBpZiAoIWlubmVyT2JqKVxuICAgICAgICAgICAgICAgICAgICBpbm5lck9iaiA9IChvYmpbY3VycmVudEtleVBhdGhdID0ge30pO1xuICAgICAgICAgICAgICAgIHNldEJ5S2V5UGF0aChpbm5lck9iaiwgcmVtYWluaW5nS2V5UGF0aCwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheShvYmopICYmICFpc05hTihwYXJzZUludChrZXlQYXRoKSkpXG4gICAgICAgICAgICAgICAgICAgIG9iai5zcGxpY2Uoa2V5UGF0aCwgMSk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW2tleVBhdGhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIG9ialtrZXlQYXRoXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gZGVsQnlLZXlQYXRoKG9iaiwga2V5UGF0aCkge1xuICAgIGlmICh0eXBlb2Yga2V5UGF0aCA9PT0gJ3N0cmluZycpXG4gICAgICAgIHNldEJ5S2V5UGF0aChvYmosIGtleVBhdGgsIHVuZGVmaW5lZCk7XG4gICAgZWxzZSBpZiAoJ2xlbmd0aCcgaW4ga2V5UGF0aClcbiAgICAgICAgW10ubWFwLmNhbGwoa2V5UGF0aCwgZnVuY3Rpb24gKGtwKSB7XG4gICAgICAgICAgICBzZXRCeUtleVBhdGgob2JqLCBrcCwgdW5kZWZpbmVkKTtcbiAgICAgICAgfSk7XG59XG5mdW5jdGlvbiBzaGFsbG93Q2xvbmUob2JqKSB7XG4gICAgdmFyIHJ2ID0ge307XG4gICAgZm9yICh2YXIgbSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGhhc093bihvYmosIG0pKVxuICAgICAgICAgICAgcnZbbV0gPSBvYmpbbV07XG4gICAgfVxuICAgIHJldHVybiBydjtcbn1cbnZhciBjb25jYXQgPSBbXS5jb25jYXQ7XG5mdW5jdGlvbiBmbGF0dGVuKGEpIHtcbiAgICByZXR1cm4gY29uY2F0LmFwcGx5KFtdLCBhKTtcbn1cbnZhciBpbnRyaW5zaWNUeXBlTmFtZXMgPSBcIkJvb2xlYW4sU3RyaW5nLERhdGUsUmVnRXhwLEJsb2IsRmlsZSxGaWxlTGlzdCxBcnJheUJ1ZmZlcixEYXRhVmlldyxVaW50OENsYW1wZWRBcnJheSxJbWFnZURhdGEsTWFwLFNldFwiXG4gICAgLnNwbGl0KCcsJykuY29uY2F0KGZsYXR0ZW4oWzgsIDE2LCAzMiwgNjRdLm1hcChmdW5jdGlvbiAobnVtKSB7IHJldHVybiBbXCJJbnRcIiwgXCJVaW50XCIsIFwiRmxvYXRcIl0ubWFwKGZ1bmN0aW9uICh0KSB7IHJldHVybiB0ICsgbnVtICsgXCJBcnJheVwiOyB9KTsgfSkpKS5maWx0ZXIoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIF9nbG9iYWxbdF07IH0pO1xudmFyIGludHJpbnNpY1R5cGVzID0gaW50cmluc2ljVHlwZU5hbWVzLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gX2dsb2JhbFt0XTsgfSk7XG52YXIgaW50cmluc2ljVHlwZU5hbWVTZXQgPSBhcnJheVRvT2JqZWN0KGludHJpbnNpY1R5cGVOYW1lcywgZnVuY3Rpb24gKHgpIHsgcmV0dXJuIFt4LCB0cnVlXTsgfSk7XG5mdW5jdGlvbiBkZWVwQ2xvbmUoYW55KSB7XG4gICAgaWYgKCFhbnkgfHwgdHlwZW9mIGFueSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiBhbnk7XG4gICAgdmFyIHJ2O1xuICAgIGlmIChpc0FycmF5KGFueSkpIHtcbiAgICAgICAgcnYgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBhbnkubGVuZ3RoOyBpIDwgbDsgKytpKSB7XG4gICAgICAgICAgICBydi5wdXNoKGRlZXBDbG9uZShhbnlbaV0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpbnRyaW5zaWNUeXBlcy5pbmRleE9mKGFueS5jb25zdHJ1Y3RvcikgPj0gMCkge1xuICAgICAgICBydiA9IGFueTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJ2ID0gYW55LmNvbnN0cnVjdG9yID8gT2JqZWN0LmNyZWF0ZShhbnkuY29uc3RydWN0b3IucHJvdG90eXBlKSA6IHt9O1xuICAgICAgICBmb3IgKHZhciBwcm9wIGluIGFueSkge1xuICAgICAgICAgICAgaWYgKGhhc093bihhbnksIHByb3ApKSB7XG4gICAgICAgICAgICAgICAgcnZbcHJvcF0gPSBkZWVwQ2xvbmUoYW55W3Byb3BdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcnY7XG59XG52YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcbmZ1bmN0aW9uIHRvU3RyaW5nVGFnKG8pIHtcbiAgICByZXR1cm4gdG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7XG59XG52YXIgZ2V0VmFsdWVPZiA9IGZ1bmN0aW9uICh2YWwsIHR5cGUpIHtcbiAgICByZXR1cm4gdHlwZSA9PT0gXCJBcnJheVwiID8gJycgKyB2YWwubWFwKGZ1bmN0aW9uICh2KSB7IHJldHVybiBnZXRWYWx1ZU9mKHYsIHRvU3RyaW5nVGFnKHYpKTsgfSkgOlxuICAgICAgICB0eXBlID09PSBcIkFycmF5QnVmZmVyXCIgPyAnJyArIG5ldyBVaW50OEFycmF5KHZhbCkgOlxuICAgICAgICAgICAgdHlwZSA9PT0gXCJEYXRlXCIgPyB2YWwuZ2V0VGltZSgpIDpcbiAgICAgICAgICAgICAgICBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKSA/ICcnICsgbmV3IFVpbnQ4QXJyYXkodmFsLmJ1ZmZlcikgOlxuICAgICAgICAgICAgICAgICAgICB2YWw7XG59O1xuZnVuY3Rpb24gZ2V0T2JqZWN0RGlmZihhLCBiLCBydiwgcHJmeCkge1xuICAgIHJ2ID0gcnYgfHwge307XG4gICAgcHJmeCA9IHByZnggfHwgJyc7XG4gICAga2V5cyhhKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICAgIGlmICghaGFzT3duKGIsIHByb3ApKVxuICAgICAgICAgICAgcnZbcHJmeCArIHByb3BdID0gdW5kZWZpbmVkO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBhcCA9IGFbcHJvcF0sIGJwID0gYltwcm9wXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYXAgPT09ICdvYmplY3QnICYmIHR5cGVvZiBicCA9PT0gJ29iamVjdCcgJiYgYXAgJiYgYnApIHtcbiAgICAgICAgICAgICAgICB2YXIgYXBUeXBlTmFtZSA9IHRvU3RyaW5nVGFnKGFwKTtcbiAgICAgICAgICAgICAgICB2YXIgYnBUeXBlTmFtZSA9IHRvU3RyaW5nVGFnKGJwKTtcbiAgICAgICAgICAgICAgICBpZiAoYXBUeXBlTmFtZSA9PT0gYnBUeXBlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW50cmluc2ljVHlwZU5hbWVTZXRbYXBUeXBlTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRWYWx1ZU9mKGFwLCBhcFR5cGVOYW1lKSAhPT0gZ2V0VmFsdWVPZihicCwgYnBUeXBlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydltwcmZ4ICsgcHJvcF0gPSBiW3Byb3BdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0T2JqZWN0RGlmZihhcCwgYnAsIHJ2LCBwcmZ4ICsgcHJvcCArIFwiLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcnZbcHJmeCArIHByb3BdID0gYltwcm9wXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhcCAhPT0gYnApXG4gICAgICAgICAgICAgICAgcnZbcHJmeCArIHByb3BdID0gYltwcm9wXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGtleXMoYikuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICBpZiAoIWhhc093bihhLCBwcm9wKSkge1xuICAgICAgICAgICAgcnZbcHJmeCArIHByb3BdID0gYltwcm9wXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBydjtcbn1cbnZhciBpdGVyYXRvclN5bWJvbCA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBnZXRJdGVyYXRvck9mID0gaXRlcmF0b3JTeW1ib2wgPyBmdW5jdGlvbiAoeCkge1xuICAgIHZhciBpO1xuICAgIHJldHVybiB4ICE9IG51bGwgJiYgKGkgPSB4W2l0ZXJhdG9yU3ltYm9sXSkgJiYgaS5hcHBseSh4KTtcbn0gOiBmdW5jdGlvbiAoKSB7IHJldHVybiBudWxsOyB9O1xudmFyIE5PX0NIQVJfQVJSQVkgPSB7fTtcbmZ1bmN0aW9uIGdldEFycmF5T2YoYXJyYXlMaWtlKSB7XG4gICAgdmFyIGksIGEsIHgsIGl0O1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGlmIChpc0FycmF5KGFycmF5TGlrZSkpXG4gICAgICAgICAgICByZXR1cm4gYXJyYXlMaWtlLnNsaWNlKCk7XG4gICAgICAgIGlmICh0aGlzID09PSBOT19DSEFSX0FSUkFZICYmIHR5cGVvZiBhcnJheUxpa2UgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIFthcnJheUxpa2VdO1xuICAgICAgICBpZiAoKGl0ID0gZ2V0SXRlcmF0b3JPZihhcnJheUxpa2UpKSkge1xuICAgICAgICAgICAgYSA9IFtdO1xuICAgICAgICAgICAgd2hpbGUgKHggPSBpdC5uZXh0KCksICF4LmRvbmUpXG4gICAgICAgICAgICAgICAgYS5wdXNoKHgudmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFycmF5TGlrZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIFthcnJheUxpa2VdO1xuICAgICAgICBpID0gYXJyYXlMaWtlLmxlbmd0aDtcbiAgICAgICAgaWYgKHR5cGVvZiBpID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgYSA9IG5ldyBBcnJheShpKTtcbiAgICAgICAgICAgIHdoaWxlIChpLS0pXG4gICAgICAgICAgICAgICAgYVtpXSA9IGFycmF5TGlrZVtpXTtcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbYXJyYXlMaWtlXTtcbiAgICB9XG4gICAgaSA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgYSA9IG5ldyBBcnJheShpKTtcbiAgICB3aGlsZSAoaS0tKVxuICAgICAgICBhW2ldID0gYXJndW1lbnRzW2ldO1xuICAgIHJldHVybiBhO1xufVxudmFyIGlzQXN5bmNGdW5jdGlvbiA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnXG4gICAgPyBmdW5jdGlvbiAoZm4pIHsgcmV0dXJuIGZuW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdBc3luY0Z1bmN0aW9uJzsgfVxuICAgIDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZmFsc2U7IH07XG5cbnZhciBkZWJ1ZyA9IHR5cGVvZiBsb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAvXihodHRwfGh0dHBzKTpcXC9cXC8obG9jYWxob3N0fDEyN1xcLjBcXC4wXFwuMSkvLnRlc3QobG9jYXRpb24uaHJlZik7XG5mdW5jdGlvbiBzZXREZWJ1Zyh2YWx1ZSwgZmlsdGVyKSB7XG4gICAgZGVidWcgPSB2YWx1ZTtcbiAgICBsaWJyYXJ5RmlsdGVyID0gZmlsdGVyO1xufVxudmFyIGxpYnJhcnlGaWx0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0cnVlOyB9O1xudmFyIE5FRURTX1RIUk9XX0ZPUl9TVEFDSyA9ICFuZXcgRXJyb3IoXCJcIikuc3RhY2s7XG5mdW5jdGlvbiBnZXRFcnJvcldpdGhTdGFjaygpIHtcbiAgICBpZiAoTkVFRFNfVEhST1dfRk9SX1NUQUNLKVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBlO1xuICAgICAgICB9XG4gICAgcmV0dXJuIG5ldyBFcnJvcigpO1xufVxuZnVuY3Rpb24gcHJldHR5U3RhY2soZXhjZXB0aW9uLCBudW1JZ25vcmVkRnJhbWVzKSB7XG4gICAgdmFyIHN0YWNrID0gZXhjZXB0aW9uLnN0YWNrO1xuICAgIGlmICghc3RhY2spXG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIG51bUlnbm9yZWRGcmFtZXMgPSAobnVtSWdub3JlZEZyYW1lcyB8fCAwKTtcbiAgICBpZiAoc3RhY2suaW5kZXhPZihleGNlcHRpb24ubmFtZSkgPT09IDApXG4gICAgICAgIG51bUlnbm9yZWRGcmFtZXMgKz0gKGV4Y2VwdGlvbi5uYW1lICsgZXhjZXB0aW9uLm1lc3NhZ2UpLnNwbGl0KCdcXG4nKS5sZW5ndGg7XG4gICAgcmV0dXJuIHN0YWNrLnNwbGl0KCdcXG4nKVxuICAgICAgICAuc2xpY2UobnVtSWdub3JlZEZyYW1lcylcbiAgICAgICAgLmZpbHRlcihsaWJyYXJ5RmlsdGVyKVxuICAgICAgICAubWFwKGZ1bmN0aW9uIChmcmFtZSkgeyByZXR1cm4gXCJcXG5cIiArIGZyYW1lOyB9KVxuICAgICAgICAuam9pbignJyk7XG59XG5cbnZhciBkZXhpZUVycm9yTmFtZXMgPSBbXG4gICAgJ01vZGlmeScsXG4gICAgJ0J1bGsnLFxuICAgICdPcGVuRmFpbGVkJyxcbiAgICAnVmVyc2lvbkNoYW5nZScsXG4gICAgJ1NjaGVtYScsXG4gICAgJ1VwZ3JhZGUnLFxuICAgICdJbnZhbGlkVGFibGUnLFxuICAgICdNaXNzaW5nQVBJJyxcbiAgICAnTm9TdWNoRGF0YWJhc2UnLFxuICAgICdJbnZhbGlkQXJndW1lbnQnLFxuICAgICdTdWJUcmFuc2FjdGlvbicsXG4gICAgJ1Vuc3VwcG9ydGVkJyxcbiAgICAnSW50ZXJuYWwnLFxuICAgICdEYXRhYmFzZUNsb3NlZCcsXG4gICAgJ1ByZW1hdHVyZUNvbW1pdCcsXG4gICAgJ0ZvcmVpZ25Bd2FpdCdcbl07XG52YXIgaWRiRG9tRXJyb3JOYW1lcyA9IFtcbiAgICAnVW5rbm93bicsXG4gICAgJ0NvbnN0cmFpbnQnLFxuICAgICdEYXRhJyxcbiAgICAnVHJhbnNhY3Rpb25JbmFjdGl2ZScsXG4gICAgJ1JlYWRPbmx5JyxcbiAgICAnVmVyc2lvbicsXG4gICAgJ05vdEZvdW5kJyxcbiAgICAnSW52YWxpZFN0YXRlJyxcbiAgICAnSW52YWxpZEFjY2VzcycsXG4gICAgJ0Fib3J0JyxcbiAgICAnVGltZW91dCcsXG4gICAgJ1F1b3RhRXhjZWVkZWQnLFxuICAgICdTeW50YXgnLFxuICAgICdEYXRhQ2xvbmUnXG5dO1xudmFyIGVycm9yTGlzdCA9IGRleGllRXJyb3JOYW1lcy5jb25jYXQoaWRiRG9tRXJyb3JOYW1lcyk7XG52YXIgZGVmYXVsdFRleHRzID0ge1xuICAgIFZlcnNpb25DaGFuZ2VkOiBcIkRhdGFiYXNlIHZlcnNpb24gY2hhbmdlZCBieSBvdGhlciBkYXRhYmFzZSBjb25uZWN0aW9uXCIsXG4gICAgRGF0YWJhc2VDbG9zZWQ6IFwiRGF0YWJhc2UgaGFzIGJlZW4gY2xvc2VkXCIsXG4gICAgQWJvcnQ6IFwiVHJhbnNhY3Rpb24gYWJvcnRlZFwiLFxuICAgIFRyYW5zYWN0aW9uSW5hY3RpdmU6IFwiVHJhbnNhY3Rpb24gaGFzIGFscmVhZHkgY29tcGxldGVkIG9yIGZhaWxlZFwiXG59O1xuZnVuY3Rpb24gRGV4aWVFcnJvcihuYW1lLCBtc2cpIHtcbiAgICB0aGlzLl9lID0gZ2V0RXJyb3JXaXRoU3RhY2soKTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMubWVzc2FnZSA9IG1zZztcbn1cbmRlcml2ZShEZXhpZUVycm9yKS5mcm9tKEVycm9yKS5leHRlbmQoe1xuICAgIHN0YWNrOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YWNrIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuX3N0YWNrID0gdGhpcy5uYW1lICsgXCI6IFwiICsgdGhpcy5tZXNzYWdlICsgcHJldHR5U3RhY2sodGhpcy5fZSwgMikpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5uYW1lICsgXCI6IFwiICsgdGhpcy5tZXNzYWdlOyB9XG59KTtcbmZ1bmN0aW9uIGdldE11bHRpRXJyb3JNZXNzYWdlKG1zZywgZmFpbHVyZXMpIHtcbiAgICByZXR1cm4gbXNnICsgXCIuIEVycm9yczogXCIgKyBPYmplY3Qua2V5cyhmYWlsdXJlcylcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBmYWlsdXJlc1trZXldLnRvU3RyaW5nKCk7IH0pXG4gICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKHYsIGksIHMpIHsgcmV0dXJuIHMuaW5kZXhPZih2KSA9PT0gaTsgfSlcbiAgICAgICAgLmpvaW4oJ1xcbicpO1xufVxuZnVuY3Rpb24gTW9kaWZ5RXJyb3IobXNnLCBmYWlsdXJlcywgc3VjY2Vzc0NvdW50LCBmYWlsZWRLZXlzKSB7XG4gICAgdGhpcy5fZSA9IGdldEVycm9yV2l0aFN0YWNrKCk7XG4gICAgdGhpcy5mYWlsdXJlcyA9IGZhaWx1cmVzO1xuICAgIHRoaXMuZmFpbGVkS2V5cyA9IGZhaWxlZEtleXM7XG4gICAgdGhpcy5zdWNjZXNzQ291bnQgPSBzdWNjZXNzQ291bnQ7XG4gICAgdGhpcy5tZXNzYWdlID0gZ2V0TXVsdGlFcnJvck1lc3NhZ2UobXNnLCBmYWlsdXJlcyk7XG59XG5kZXJpdmUoTW9kaWZ5RXJyb3IpLmZyb20oRGV4aWVFcnJvcik7XG5mdW5jdGlvbiBCdWxrRXJyb3IobXNnLCBmYWlsdXJlcykge1xuICAgIHRoaXMuX2UgPSBnZXRFcnJvcldpdGhTdGFjaygpO1xuICAgIHRoaXMubmFtZSA9IFwiQnVsa0Vycm9yXCI7XG4gICAgdGhpcy5mYWlsdXJlcyA9IGZhaWx1cmVzO1xuICAgIHRoaXMubWVzc2FnZSA9IGdldE11bHRpRXJyb3JNZXNzYWdlKG1zZywgZmFpbHVyZXMpO1xufVxuZGVyaXZlKEJ1bGtFcnJvcikuZnJvbShEZXhpZUVycm9yKTtcbnZhciBlcnJuYW1lcyA9IGVycm9yTGlzdC5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwgbmFtZSkgeyByZXR1cm4gKG9ialtuYW1lXSA9IG5hbWUgKyBcIkVycm9yXCIsIG9iaik7IH0sIHt9KTtcbnZhciBCYXNlRXhjZXB0aW9uID0gRGV4aWVFcnJvcjtcbnZhciBleGNlcHRpb25zID0gZXJyb3JMaXN0LnJlZHVjZShmdW5jdGlvbiAob2JqLCBuYW1lKSB7XG4gICAgdmFyIGZ1bGxOYW1lID0gbmFtZSArIFwiRXJyb3JcIjtcbiAgICBmdW5jdGlvbiBEZXhpZUVycm9yKG1zZ09ySW5uZXIsIGlubmVyKSB7XG4gICAgICAgIHRoaXMuX2UgPSBnZXRFcnJvcldpdGhTdGFjaygpO1xuICAgICAgICB0aGlzLm5hbWUgPSBmdWxsTmFtZTtcbiAgICAgICAgaWYgKCFtc2dPcklubmVyKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBkZWZhdWx0VGV4dHNbbmFtZV0gfHwgZnVsbE5hbWU7XG4gICAgICAgICAgICB0aGlzLmlubmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgbXNnT3JJbm5lciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IFwiXCIgKyBtc2dPcklubmVyICsgKCFpbm5lciA/ICcnIDogJ1xcbiAnICsgaW5uZXIpO1xuICAgICAgICAgICAgdGhpcy5pbm5lciA9IGlubmVyIHx8IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIG1zZ09ySW5uZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtc2dPcklubmVyLm5hbWUgKyBcIiBcIiArIG1zZ09ySW5uZXIubWVzc2FnZTtcbiAgICAgICAgICAgIHRoaXMuaW5uZXIgPSBtc2dPcklubmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRlcml2ZShEZXhpZUVycm9yKS5mcm9tKEJhc2VFeGNlcHRpb24pO1xuICAgIG9ialtuYW1lXSA9IERleGllRXJyb3I7XG4gICAgcmV0dXJuIG9iajtcbn0sIHt9KTtcbmV4Y2VwdGlvbnMuU3ludGF4ID0gU3ludGF4RXJyb3I7XG5leGNlcHRpb25zLlR5cGUgPSBUeXBlRXJyb3I7XG5leGNlcHRpb25zLlJhbmdlID0gUmFuZ2VFcnJvcjtcbnZhciBleGNlcHRpb25NYXAgPSBpZGJEb21FcnJvck5hbWVzLnJlZHVjZShmdW5jdGlvbiAob2JqLCBuYW1lKSB7XG4gICAgb2JqW25hbWUgKyBcIkVycm9yXCJdID0gZXhjZXB0aW9uc1tuYW1lXTtcbiAgICByZXR1cm4gb2JqO1xufSwge30pO1xuZnVuY3Rpb24gbWFwRXJyb3IoZG9tRXJyb3IsIG1lc3NhZ2UpIHtcbiAgICBpZiAoIWRvbUVycm9yIHx8IGRvbUVycm9yIGluc3RhbmNlb2YgRGV4aWVFcnJvciB8fCBkb21FcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvciB8fCBkb21FcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yIHx8ICFkb21FcnJvci5uYW1lIHx8ICFleGNlcHRpb25NYXBbZG9tRXJyb3IubmFtZV0pXG4gICAgICAgIHJldHVybiBkb21FcnJvcjtcbiAgICB2YXIgcnYgPSBuZXcgZXhjZXB0aW9uTWFwW2RvbUVycm9yLm5hbWVdKG1lc3NhZ2UgfHwgZG9tRXJyb3IubWVzc2FnZSwgZG9tRXJyb3IpO1xuICAgIGlmIChcInN0YWNrXCIgaW4gZG9tRXJyb3IpIHtcbiAgICAgICAgc2V0UHJvcChydiwgXCJzdGFja1wiLCB7IGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlubmVyLnN0YWNrO1xuICAgICAgICAgICAgfSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJ2O1xufVxudmFyIGZ1bGxOYW1lRXhjZXB0aW9ucyA9IGVycm9yTGlzdC5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwgbmFtZSkge1xuICAgIGlmIChbXCJTeW50YXhcIiwgXCJUeXBlXCIsIFwiUmFuZ2VcIl0uaW5kZXhPZihuYW1lKSA9PT0gLTEpXG4gICAgICAgIG9ialtuYW1lICsgXCJFcnJvclwiXSA9IGV4Y2VwdGlvbnNbbmFtZV07XG4gICAgcmV0dXJuIG9iajtcbn0sIHt9KTtcbmZ1bGxOYW1lRXhjZXB0aW9ucy5Nb2RpZnlFcnJvciA9IE1vZGlmeUVycm9yO1xuZnVsbE5hbWVFeGNlcHRpb25zLkRleGllRXJyb3IgPSBEZXhpZUVycm9yO1xuZnVsbE5hbWVFeGNlcHRpb25zLkJ1bGtFcnJvciA9IEJ1bGtFcnJvcjtcblxuZnVuY3Rpb24gbm9wKCkgeyB9XG5mdW5jdGlvbiBtaXJyb3IodmFsKSB7IHJldHVybiB2YWw7IH1cbmZ1bmN0aW9uIHB1cmVGdW5jdGlvbkNoYWluKGYxLCBmMikge1xuICAgIGlmIChmMSA9PSBudWxsIHx8IGYxID09PSBtaXJyb3IpXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICByZXR1cm4gZjIoZjEodmFsKSk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGNhbGxCb3RoKG9uMSwgb24yKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgb24xLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIG9uMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG59XG5mdW5jdGlvbiBob29rQ3JlYXRpbmdDaGFpbihmMSwgZjIpIHtcbiAgICBpZiAoZjEgPT09IG5vcClcbiAgICAgICAgcmV0dXJuIGYyO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciByZXMgPSBmMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAocmVzICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhcmd1bWVudHNbMF0gPSByZXM7XG4gICAgICAgIHZhciBvbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyxcbiAgICAgICAgb25lcnJvciA9IHRoaXMub25lcnJvcjtcbiAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSBudWxsO1xuICAgICAgICB0aGlzLm9uZXJyb3IgPSBudWxsO1xuICAgICAgICB2YXIgcmVzMiA9IGYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChvbnN1Y2Nlc3MpXG4gICAgICAgICAgICB0aGlzLm9uc3VjY2VzcyA9IHRoaXMub25zdWNjZXNzID8gY2FsbEJvdGgob25zdWNjZXNzLCB0aGlzLm9uc3VjY2VzcykgOiBvbnN1Y2Nlc3M7XG4gICAgICAgIGlmIChvbmVycm9yKVxuICAgICAgICAgICAgdGhpcy5vbmVycm9yID0gdGhpcy5vbmVycm9yID8gY2FsbEJvdGgob25lcnJvciwgdGhpcy5vbmVycm9yKSA6IG9uZXJyb3I7XG4gICAgICAgIHJldHVybiByZXMyICE9PSB1bmRlZmluZWQgPyByZXMyIDogcmVzO1xuICAgIH07XG59XG5mdW5jdGlvbiBob29rRGVsZXRpbmdDaGFpbihmMSwgZjIpIHtcbiAgICBpZiAoZjEgPT09IG5vcClcbiAgICAgICAgcmV0dXJuIGYyO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGYxLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIHZhciBvbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyxcbiAgICAgICAgb25lcnJvciA9IHRoaXMub25lcnJvcjtcbiAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSB0aGlzLm9uZXJyb3IgPSBudWxsO1xuICAgICAgICBmMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAob25zdWNjZXNzKVxuICAgICAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyA/IGNhbGxCb3RoKG9uc3VjY2VzcywgdGhpcy5vbnN1Y2Nlc3MpIDogb25zdWNjZXNzO1xuICAgICAgICBpZiAob25lcnJvcilcbiAgICAgICAgICAgIHRoaXMub25lcnJvciA9IHRoaXMub25lcnJvciA/IGNhbGxCb3RoKG9uZXJyb3IsIHRoaXMub25lcnJvcikgOiBvbmVycm9yO1xuICAgIH07XG59XG5mdW5jdGlvbiBob29rVXBkYXRpbmdDaGFpbihmMSwgZjIpIHtcbiAgICBpZiAoZjEgPT09IG5vcClcbiAgICAgICAgcmV0dXJuIGYyO1xuICAgIHJldHVybiBmdW5jdGlvbiAobW9kaWZpY2F0aW9ucykge1xuICAgICAgICB2YXIgcmVzID0gZjEuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgZXh0ZW5kKG1vZGlmaWNhdGlvbnMsIHJlcyk7XG4gICAgICAgIHZhciBvbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyxcbiAgICAgICAgb25lcnJvciA9IHRoaXMub25lcnJvcjtcbiAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSBudWxsO1xuICAgICAgICB0aGlzLm9uZXJyb3IgPSBudWxsO1xuICAgICAgICB2YXIgcmVzMiA9IGYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChvbnN1Y2Nlc3MpXG4gICAgICAgICAgICB0aGlzLm9uc3VjY2VzcyA9IHRoaXMub25zdWNjZXNzID8gY2FsbEJvdGgob25zdWNjZXNzLCB0aGlzLm9uc3VjY2VzcykgOiBvbnN1Y2Nlc3M7XG4gICAgICAgIGlmIChvbmVycm9yKVxuICAgICAgICAgICAgdGhpcy5vbmVycm9yID0gdGhpcy5vbmVycm9yID8gY2FsbEJvdGgob25lcnJvciwgdGhpcy5vbmVycm9yKSA6IG9uZXJyb3I7XG4gICAgICAgIHJldHVybiByZXMgPT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgICAocmVzMiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcmVzMikgOlxuICAgICAgICAgICAgKGV4dGVuZChyZXMsIHJlczIpKTtcbiAgICB9O1xufVxuZnVuY3Rpb24gcmV2ZXJzZVN0b3BwYWJsZUV2ZW50Q2hhaW4oZjEsIGYyKSB7XG4gICAgaWYgKGYxID09PSBub3ApXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoZjIuYXBwbHkodGhpcywgYXJndW1lbnRzKSA9PT0gZmFsc2UpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBmMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIHByb21pc2FibGVDaGFpbihmMSwgZjIpIHtcbiAgICBpZiAoZjEgPT09IG5vcClcbiAgICAgICAgcmV0dXJuIGYyO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciByZXMgPSBmMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAocmVzICYmIHR5cGVvZiByZXMudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIHRoaXogPSB0aGlzLCBpID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShpKTtcbiAgICAgICAgICAgIHdoaWxlIChpLS0pXG4gICAgICAgICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIHJldHVybiByZXMudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGYyLmFwcGx5KHRoaXosIGFyZ3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfTtcbn1cblxudmFyIElOVEVSTkFMID0ge307XG52YXIgTE9OR19TVEFDS1NfQ0xJUF9MSU1JVCA9IDEwMDtcbnZhciBNQVhfTE9OR19TVEFDS1MgPSAyMDtcbnZhciBaT05FX0VDSE9fTElNSVQgPSAxMDA7XG52YXIgX2EgPSB0eXBlb2YgUHJvbWlzZSA9PT0gJ3VuZGVmaW5lZCcgP1xuICAgIFtdIDpcbiAgICAoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZ2xvYmFsUCA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICBpZiAodHlwZW9mIGNyeXB0byA9PT0gJ3VuZGVmaW5lZCcgfHwgIWNyeXB0by5zdWJ0bGUpXG4gICAgICAgICAgICByZXR1cm4gW2dsb2JhbFAsIGdsb2JhbFAuX19wcm90b19fLCBnbG9iYWxQXTtcbiAgICAgICAgdmFyIG5hdGl2ZVAgPSBjcnlwdG8uc3VidGxlLmRpZ2VzdChcIlNIQS01MTJcIiwgbmV3IFVpbnQ4QXJyYXkoWzBdKSk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuYXRpdmVQLFxuICAgICAgICAgICAgbmF0aXZlUC5fX3Byb3RvX18sXG4gICAgICAgICAgICBnbG9iYWxQXG4gICAgICAgIF07XG4gICAgfSkoKTtcbnZhciByZXNvbHZlZE5hdGl2ZVByb21pc2UgPSBfYVswXTtcbnZhciBuYXRpdmVQcm9taXNlUHJvdG8gPSBfYVsxXTtcbnZhciByZXNvbHZlZEdsb2JhbFByb21pc2UgPSBfYVsyXTtcbnZhciBuYXRpdmVQcm9taXNlVGhlbiA9IG5hdGl2ZVByb21pc2VQcm90byAmJiBuYXRpdmVQcm9taXNlUHJvdG8udGhlbjtcbnZhciBOYXRpdmVQcm9taXNlID0gcmVzb2x2ZWROYXRpdmVQcm9taXNlICYmIHJlc29sdmVkTmF0aXZlUHJvbWlzZS5jb25zdHJ1Y3RvcjtcbnZhciBwYXRjaEdsb2JhbFByb21pc2UgPSAhIXJlc29sdmVkR2xvYmFsUHJvbWlzZTtcbnZhciBzdGFja19iZWluZ19nZW5lcmF0ZWQgPSBmYWxzZTtcbnZhciBzY2hlZHVsZVBoeXNpY2FsVGljayA9IHJlc29sdmVkR2xvYmFsUHJvbWlzZSA/XG4gICAgZnVuY3Rpb24gKCkgeyByZXNvbHZlZEdsb2JhbFByb21pc2UudGhlbihwaHlzaWNhbFRpY2spOyB9XG4gICAgOlxuICAgICAgICBfZ2xvYmFsLnNldEltbWVkaWF0ZSA/XG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUuYmluZChudWxsLCBwaHlzaWNhbFRpY2spIDpcbiAgICAgICAgICAgIF9nbG9iYWwuTXV0YXRpb25PYnNlcnZlciA/XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaGlkZGVuRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgICAgICAgICAgICAgKG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBoeXNpY2FsVGljaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuRGl2ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSkpLm9ic2VydmUoaGlkZGVuRGl2LCB7IGF0dHJpYnV0ZXM6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbkRpdi5zZXRBdHRyaWJ1dGUoJ2knLCAnMScpO1xuICAgICAgICAgICAgICAgIH0gOlxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dChwaHlzaWNhbFRpY2ssIDApOyB9O1xudmFyIGFzYXAkMSA9IGZ1bmN0aW9uIChjYWxsYmFjaywgYXJncykge1xuICAgIG1pY3JvdGlja1F1ZXVlLnB1c2goW2NhbGxiYWNrLCBhcmdzXSk7XG4gICAgaWYgKG5lZWRzTmV3UGh5c2ljYWxUaWNrKSB7XG4gICAgICAgIHNjaGVkdWxlUGh5c2ljYWxUaWNrKCk7XG4gICAgICAgIG5lZWRzTmV3UGh5c2ljYWxUaWNrID0gZmFsc2U7XG4gICAgfVxufTtcbnZhciBpc091dHNpZGVNaWNyb1RpY2sgPSB0cnVlO1xudmFyIG5lZWRzTmV3UGh5c2ljYWxUaWNrID0gdHJ1ZTtcbnZhciB1bmhhbmRsZWRFcnJvcnMgPSBbXTtcbnZhciByZWplY3RpbmdFcnJvcnMgPSBbXTtcbnZhciBjdXJyZW50RnVsZmlsbGVyID0gbnVsbDtcbnZhciByZWplY3Rpb25NYXBwZXIgPSBtaXJyb3I7XG52YXIgZ2xvYmFsUFNEID0ge1xuICAgIGlkOiAnZ2xvYmFsJyxcbiAgICBnbG9iYWw6IHRydWUsXG4gICAgcmVmOiAwLFxuICAgIHVuaGFuZGxlZHM6IFtdLFxuICAgIG9udW5oYW5kbGVkOiBnbG9iYWxFcnJvcixcbiAgICBwZ3A6IGZhbHNlLFxuICAgIGVudjoge30sXG4gICAgZmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy51bmhhbmRsZWRzLmZvckVhY2goZnVuY3Rpb24gKHVoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGdsb2JhbEVycm9yKHVoWzBdLCB1aFsxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkgeyB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG52YXIgUFNEID0gZ2xvYmFsUFNEO1xudmFyIG1pY3JvdGlja1F1ZXVlID0gW107XG52YXIgbnVtU2NoZWR1bGVkQ2FsbHMgPSAwO1xudmFyIHRpY2tGaW5hbGl6ZXJzID0gW107XG5mdW5jdGlvbiBEZXhpZVByb21pc2UoZm4pIHtcbiAgICBpZiAodHlwZW9mIHRoaXMgIT09ICdvYmplY3QnKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXcnKTtcbiAgICB0aGlzLl9saXN0ZW5lcnMgPSBbXTtcbiAgICB0aGlzLm9udW5jYXRjaGVkID0gbm9wO1xuICAgIHRoaXMuX2xpYiA9IGZhbHNlO1xuICAgIHZhciBwc2QgPSAodGhpcy5fUFNEID0gUFNEKTtcbiAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgdGhpcy5fc3RhY2tIb2xkZXIgPSBnZXRFcnJvcldpdGhTdGFjaygpO1xuICAgICAgICB0aGlzLl9wcmV2ID0gbnVsbDtcbiAgICAgICAgdGhpcy5fbnVtUHJldiA9IDA7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKGZuICE9PSBJTlRFUk5BTClcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vdCBhIGZ1bmN0aW9uJyk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gYXJndW1lbnRzWzFdO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IGFyZ3VtZW50c1syXTtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlID09PSBmYWxzZSlcbiAgICAgICAgICAgIGhhbmRsZVJlamVjdGlvbih0aGlzLCB0aGlzLl92YWx1ZSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc3RhdGUgPSBudWxsO1xuICAgIHRoaXMuX3ZhbHVlID0gbnVsbDtcbiAgICArK3BzZC5yZWY7XG4gICAgZXhlY3V0ZVByb21pc2VUYXNrKHRoaXMsIGZuKTtcbn1cbnZhciB0aGVuUHJvcCA9IHtcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHBzZCA9IFBTRCwgbWljcm9UYXNrSWQgPSB0b3RhbEVjaG9lcztcbiAgICAgICAgZnVuY3Rpb24gdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBwb3NzaWJsZUF3YWl0ID0gIXBzZC5nbG9iYWwgJiYgKHBzZCAhPT0gUFNEIHx8IG1pY3JvVGFza0lkICE9PSB0b3RhbEVjaG9lcyk7XG4gICAgICAgICAgICB2YXIgY2xlYW51cCA9IHBvc3NpYmxlQXdhaXQgJiYgIWRlY3JlbWVudEV4cGVjdGVkQXdhaXRzKCk7XG4gICAgICAgICAgICB2YXIgcnYgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICBwcm9wYWdhdGVUb0xpc3RlbmVyKF90aGlzLCBuZXcgTGlzdGVuZXIobmF0aXZlQXdhaXRDb21wYXRpYmxlV3JhcChvbkZ1bGZpbGxlZCwgcHNkLCBwb3NzaWJsZUF3YWl0LCBjbGVhbnVwKSwgbmF0aXZlQXdhaXRDb21wYXRpYmxlV3JhcChvblJlamVjdGVkLCBwc2QsIHBvc3NpYmxlQXdhaXQsIGNsZWFudXApLCByZXNvbHZlLCByZWplY3QsIHBzZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBkZWJ1ZyAmJiBsaW5rVG9QcmV2aW91c1Byb21pc2UocnYsIHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIHJ2O1xuICAgICAgICB9XG4gICAgICAgIHRoZW4ucHJvdG90eXBlID0gSU5URVJOQUw7XG4gICAgICAgIHJldHVybiB0aGVuO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgc2V0UHJvcCh0aGlzLCAndGhlbicsIHZhbHVlICYmIHZhbHVlLnByb3RvdHlwZSA9PT0gSU5URVJOQUwgP1xuICAgICAgICAgICAgdGhlblByb3AgOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXQ6IHRoZW5Qcm9wLnNldFxuICAgICAgICAgICAgfSk7XG4gICAgfVxufTtcbnByb3BzKERleGllUHJvbWlzZS5wcm90b3R5cGUsIHtcbiAgICB0aGVuOiB0aGVuUHJvcCxcbiAgICBfdGhlbjogZnVuY3Rpb24gKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSB7XG4gICAgICAgIHByb3BhZ2F0ZVRvTGlzdGVuZXIodGhpcywgbmV3IExpc3RlbmVyKG51bGwsIG51bGwsIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkLCBQU0QpKTtcbiAgICB9LFxuICAgIGNhdGNoOiBmdW5jdGlvbiAob25SZWplY3RlZCkge1xuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoZW4obnVsbCwgb25SZWplY3RlZCk7XG4gICAgICAgIHZhciB0eXBlID0gYXJndW1lbnRzWzBdLCBoYW5kbGVyID0gYXJndW1lbnRzWzFdO1xuICAgICAgICByZXR1cm4gdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgPyB0aGlzLnRoZW4obnVsbCwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgcmV0dXJuIGVyciBpbnN0YW5jZW9mIHR5cGUgPyBoYW5kbGVyKGVycikgOiBQcm9taXNlUmVqZWN0KGVycik7XG4gICAgICAgIH0pXG4gICAgICAgICAgICA6IHRoaXMudGhlbihudWxsLCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVyciAmJiBlcnIubmFtZSA9PT0gdHlwZSA/IGhhbmRsZXIoZXJyKSA6IFByb21pc2VSZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sXG4gICAgZmluYWxseTogZnVuY3Rpb24gKG9uRmluYWxseSkge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgb25GaW5hbGx5KCk7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgIG9uRmluYWxseSgpO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2VSZWplY3QoZXJyKTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBzdGFjazoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zdGFjaylcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc3RhY2s7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHN0YWNrX2JlaW5nX2dlbmVyYXRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdmFyIHN0YWNrcyA9IGdldFN0YWNrKHRoaXMsIFtdLCBNQVhfTE9OR19TVEFDS1MpO1xuICAgICAgICAgICAgICAgIHZhciBzdGFjayA9IHN0YWNrcy5qb2luKFwiXFxuRnJvbSBwcmV2aW91czogXCIpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RhY2sgPSBzdGFjaztcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzdGFja19iZWluZ19nZW5lcmF0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgdGltZW91dDogZnVuY3Rpb24gKG1zLCBtc2cpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIG1zIDwgSW5maW5pdHkgP1xuICAgICAgICAgICAgbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIGhhbmRsZSA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVqZWN0KG5ldyBleGNlcHRpb25zLlRpbWVvdXQobXNnKSk7IH0sIG1zKTtcbiAgICAgICAgICAgICAgICBfdGhpcy50aGVuKHJlc29sdmUsIHJlamVjdCkuZmluYWxseShjbGVhclRpbWVvdXQuYmluZChudWxsLCBoYW5kbGUpKTtcbiAgICAgICAgICAgIH0pIDogdGhpcztcbiAgICB9XG59KTtcbmlmICh0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpXG4gICAgc2V0UHJvcChEZXhpZVByb21pc2UucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsICdEZXhpZS5Qcm9taXNlJyk7XG5nbG9iYWxQU0QuZW52ID0gc25hcFNob3QoKTtcbmZ1bmN0aW9uIExpc3RlbmVyKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkLCByZXNvbHZlLCByZWplY3QsIHpvbmUpIHtcbiAgICB0aGlzLm9uRnVsZmlsbGVkID0gdHlwZW9mIG9uRnVsZmlsbGVkID09PSAnZnVuY3Rpb24nID8gb25GdWxmaWxsZWQgOiBudWxsO1xuICAgIHRoaXMub25SZWplY3RlZCA9IHR5cGVvZiBvblJlamVjdGVkID09PSAnZnVuY3Rpb24nID8gb25SZWplY3RlZCA6IG51bGw7XG4gICAgdGhpcy5yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICB0aGlzLnJlamVjdCA9IHJlamVjdDtcbiAgICB0aGlzLnBzZCA9IHpvbmU7XG59XG5wcm9wcyhEZXhpZVByb21pc2UsIHtcbiAgICBhbGw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHZhbHVlcyA9IGdldEFycmF5T2YuYXBwbHkobnVsbCwgYXJndW1lbnRzKVxuICAgICAgICAgICAgLm1hcChvblBvc3NpYmxlUGFyYWxsZWxsQXN5bmMpO1xuICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICByZXNvbHZlKFtdKTtcbiAgICAgICAgICAgIHZhciByZW1haW5pbmcgPSB2YWx1ZXMubGVuZ3RoO1xuICAgICAgICAgICAgdmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKGEsIGkpIHsgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSB4O1xuICAgICAgICAgICAgICAgIGlmICghLS1yZW1haW5pbmcpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodmFsdWVzKTtcbiAgICAgICAgICAgIH0sIHJlamVjdCk7IH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHJlc29sdmU6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEZXhpZVByb21pc2UpXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdmFyIHJ2ID0gbmV3IERleGllUHJvbWlzZShJTlRFUk5BTCwgdHJ1ZSwgdmFsdWUpO1xuICAgICAgICBsaW5rVG9QcmV2aW91c1Byb21pc2UocnYsIGN1cnJlbnRGdWxmaWxsZXIpO1xuICAgICAgICByZXR1cm4gcnY7XG4gICAgfSxcbiAgICByZWplY3Q6IFByb21pc2VSZWplY3QsXG4gICAgcmFjZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdmFsdWVzID0gZ2V0QXJyYXlPZi5hcHBseShudWxsLCBhcmd1bWVudHMpLm1hcChvblBvc3NpYmxlUGFyYWxsZWxsQXN5bmMpO1xuICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICB2YWx1ZXMubWFwKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gRGV4aWVQcm9taXNlLnJlc29sdmUodmFsdWUpLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsgfSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgUFNEOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gUFNEOyB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gUFNEID0gdmFsdWU7IH1cbiAgICB9LFxuICAgIHRvdGFsRWNob2VzOiB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdG90YWxFY2hvZXM7IH0gfSxcbiAgICBuZXdQU0Q6IG5ld1Njb3BlLFxuICAgIHVzZVBTRDogdXNlUFNELFxuICAgIHNjaGVkdWxlcjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFzYXAkMTsgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgYXNhcCQxID0gdmFsdWU7IH1cbiAgICB9LFxuICAgIHJlamVjdGlvbk1hcHBlcjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlamVjdGlvbk1hcHBlcjsgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgcmVqZWN0aW9uTWFwcGVyID0gdmFsdWU7IH1cbiAgICB9LFxuICAgIGZvbGxvdzogZnVuY3Rpb24gKGZuLCB6b25lUHJvcHMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ld1Njb3BlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICB2YXIgcHNkID0gUFNEO1xuICAgICAgICAgICAgICAgIHBzZC51bmhhbmRsZWRzID0gW107XG4gICAgICAgICAgICAgICAgcHNkLm9udW5oYW5kbGVkID0gcmVqZWN0O1xuICAgICAgICAgICAgICAgIHBzZC5maW5hbGl6ZSA9IGNhbGxCb3RoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgcnVuX2F0X2VuZF9vZl90aGlzX29yX25leHRfcGh5c2ljYWxfdGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy51bmhhbmRsZWRzLmxlbmd0aCA9PT0gMCA/IHJlc29sdmUoKSA6IHJlamVjdChfdGhpcy51bmhhbmRsZWRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSwgcHNkLmZpbmFsaXplKTtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgfSwgem9uZVByb3BzLCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9KTtcbiAgICB9XG59KTtcbmlmIChOYXRpdmVQcm9taXNlKSB7XG4gICAgaWYgKE5hdGl2ZVByb21pc2UuYWxsU2V0dGxlZClcbiAgICAgICAgc2V0UHJvcChEZXhpZVByb21pc2UsIFwiYWxsU2V0dGxlZFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgcG9zc2libGVQcm9taXNlcyA9IGdldEFycmF5T2YuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5tYXAob25Qb3NzaWJsZVBhcmFsbGVsbEFzeW5jKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBvc3NpYmxlUHJvbWlzZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKFtdKTtcbiAgICAgICAgICAgICAgICB2YXIgcmVtYWluaW5nID0gcG9zc2libGVQcm9taXNlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSBuZXcgQXJyYXkocmVtYWluaW5nKTtcbiAgICAgICAgICAgICAgICBwb3NzaWJsZVByb21pc2VzLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHApLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiByZXN1bHRzW2ldID0geyBzdGF0dXM6IFwiZnVsZmlsbGVkXCIsIHZhbHVlOiB2YWx1ZSB9OyB9LCBmdW5jdGlvbiAocmVhc29uKSB7IHJldHVybiByZXN1bHRzW2ldID0geyBzdGF0dXM6IFwicmVqZWN0ZWRcIiwgcmVhc29uOiByZWFzb24gfTsgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gLS1yZW1haW5pbmcgfHwgcmVzb2x2ZShyZXN1bHRzKTsgfSk7IH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIGlmIChOYXRpdmVQcm9taXNlLmFueSAmJiB0eXBlb2YgQWdncmVnYXRlRXJyb3IgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICBzZXRQcm9wKERleGllUHJvbWlzZSwgXCJhbnlcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHBvc3NpYmxlUHJvbWlzZXMgPSBnZXRBcnJheU9mLmFwcGx5KG51bGwsIGFyZ3VtZW50cykubWFwKG9uUG9zc2libGVQYXJhbGxlbGxBc3luYyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHBvc3NpYmxlUHJvbWlzZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICByZWplY3QobmV3IEFnZ3JlZ2F0ZUVycm9yKFtdKSk7XG4gICAgICAgICAgICAgICAgdmFyIHJlbWFpbmluZyA9IHBvc3NpYmxlUHJvbWlzZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlcyA9IG5ldyBBcnJheShyZW1haW5pbmcpO1xuICAgICAgICAgICAgICAgIHBvc3NpYmxlUHJvbWlzZXMuZm9yRWFjaChmdW5jdGlvbiAocCwgaSkgeyByZXR1cm4gRGV4aWVQcm9taXNlLnJlc29sdmUocCkudGhlbihmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHJlc29sdmUodmFsdWUpOyB9LCBmdW5jdGlvbiAoZmFpbHVyZSkge1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlc1tpXSA9IGZhaWx1cmU7XG4gICAgICAgICAgICAgICAgICAgIGlmICghLS1yZW1haW5pbmcpXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QobmV3IEFnZ3JlZ2F0ZUVycm9yKGZhaWx1cmVzKSk7XG4gICAgICAgICAgICAgICAgfSk7IH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xufVxuZnVuY3Rpb24gZXhlY3V0ZVByb21pc2VUYXNrKHByb21pc2UsIGZuKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgZm4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAocHJvbWlzZS5fc3RhdGUgIT09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBwcm9taXNlKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0EgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuJyk7XG4gICAgICAgICAgICB2YXIgc2hvdWxkRXhlY3V0ZVRpY2sgPSBwcm9taXNlLl9saWIgJiYgYmVnaW5NaWNyb1RpY2tTY29wZSgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgZXhlY3V0ZVByb21pc2VUYXNrKHByb21pc2UsIGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBEZXhpZVByb21pc2UgP1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuX3RoZW4ocmVzb2x2ZSwgcmVqZWN0KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlLl9zdGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcHJvbWlzZS5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBwcm9wYWdhdGVBbGxMaXN0ZW5lcnMocHJvbWlzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2hvdWxkRXhlY3V0ZVRpY2spXG4gICAgICAgICAgICAgICAgZW5kTWljcm9UaWNrU2NvcGUoKTtcbiAgICAgICAgfSwgaGFuZGxlUmVqZWN0aW9uLmJpbmQobnVsbCwgcHJvbWlzZSkpO1xuICAgIH1cbiAgICBjYXRjaCAoZXgpIHtcbiAgICAgICAgaGFuZGxlUmVqZWN0aW9uKHByb21pc2UsIGV4KTtcbiAgICB9XG59XG5mdW5jdGlvbiBoYW5kbGVSZWplY3Rpb24ocHJvbWlzZSwgcmVhc29uKSB7XG4gICAgcmVqZWN0aW5nRXJyb3JzLnB1c2gocmVhc29uKTtcbiAgICBpZiAocHJvbWlzZS5fc3RhdGUgIT09IG51bGwpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgc2hvdWxkRXhlY3V0ZVRpY2sgPSBwcm9taXNlLl9saWIgJiYgYmVnaW5NaWNyb1RpY2tTY29wZSgpO1xuICAgIHJlYXNvbiA9IHJlamVjdGlvbk1hcHBlcihyZWFzb24pO1xuICAgIHByb21pc2UuX3N0YXRlID0gZmFsc2U7XG4gICAgcHJvbWlzZS5fdmFsdWUgPSByZWFzb247XG4gICAgZGVidWcgJiYgcmVhc29uICE9PSBudWxsICYmIHR5cGVvZiByZWFzb24gPT09ICdvYmplY3QnICYmICFyZWFzb24uX3Byb21pc2UgJiYgdHJ5Q2F0Y2goZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgb3JpZ1Byb3AgPSBnZXRQcm9wZXJ0eURlc2NyaXB0b3IocmVhc29uLCBcInN0YWNrXCIpO1xuICAgICAgICByZWFzb24uX3Byb21pc2UgPSBwcm9taXNlO1xuICAgICAgICBzZXRQcm9wKHJlYXNvbiwgXCJzdGFja1wiLCB7XG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhY2tfYmVpbmdfZ2VuZXJhdGVkID9cbiAgICAgICAgICAgICAgICAgICAgb3JpZ1Byb3AgJiYgKG9yaWdQcm9wLmdldCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnUHJvcC5nZXQuYXBwbHkocmVhc29uKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnUHJvcC52YWx1ZSkgOlxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnN0YWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBhZGRQb3NzaWJseVVuaGFuZGxlZEVycm9yKHByb21pc2UpO1xuICAgIHByb3BhZ2F0ZUFsbExpc3RlbmVycyhwcm9taXNlKTtcbiAgICBpZiAoc2hvdWxkRXhlY3V0ZVRpY2spXG4gICAgICAgIGVuZE1pY3JvVGlja1Njb3BlKCk7XG59XG5mdW5jdGlvbiBwcm9wYWdhdGVBbGxMaXN0ZW5lcnMocHJvbWlzZSkge1xuICAgIHZhciBsaXN0ZW5lcnMgPSBwcm9taXNlLl9saXN0ZW5lcnM7XG4gICAgcHJvbWlzZS5fbGlzdGVuZXJzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgICAgICBwcm9wYWdhdGVUb0xpc3RlbmVyKHByb21pc2UsIGxpc3RlbmVyc1tpXSk7XG4gICAgfVxuICAgIHZhciBwc2QgPSBwcm9taXNlLl9QU0Q7XG4gICAgLS1wc2QucmVmIHx8IHBzZC5maW5hbGl6ZSgpO1xuICAgIGlmIChudW1TY2hlZHVsZWRDYWxscyA9PT0gMCkge1xuICAgICAgICArK251bVNjaGVkdWxlZENhbGxzO1xuICAgICAgICBhc2FwJDEoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKC0tbnVtU2NoZWR1bGVkQ2FsbHMgPT09IDApXG4gICAgICAgICAgICAgICAgZmluYWxpemVQaHlzaWNhbFRpY2soKTtcbiAgICAgICAgfSwgW10pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZVRvTGlzdGVuZXIocHJvbWlzZSwgbGlzdGVuZXIpIHtcbiAgICBpZiAocHJvbWlzZS5fc3RhdGUgPT09IG51bGwpIHtcbiAgICAgICAgcHJvbWlzZS5fbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBjYiA9IHByb21pc2UuX3N0YXRlID8gbGlzdGVuZXIub25GdWxmaWxsZWQgOiBsaXN0ZW5lci5vblJlamVjdGVkO1xuICAgIGlmIChjYiA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKHByb21pc2UuX3N0YXRlID8gbGlzdGVuZXIucmVzb2x2ZSA6IGxpc3RlbmVyLnJlamVjdCkocHJvbWlzZS5fdmFsdWUpO1xuICAgIH1cbiAgICArK2xpc3RlbmVyLnBzZC5yZWY7XG4gICAgKytudW1TY2hlZHVsZWRDYWxscztcbiAgICBhc2FwJDEoY2FsbExpc3RlbmVyLCBbY2IsIHByb21pc2UsIGxpc3RlbmVyXSk7XG59XG5mdW5jdGlvbiBjYWxsTGlzdGVuZXIoY2IsIHByb21pc2UsIGxpc3RlbmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY3VycmVudEZ1bGZpbGxlciA9IHByb21pc2U7XG4gICAgICAgIHZhciByZXQsIHZhbHVlID0gcHJvbWlzZS5fdmFsdWU7XG4gICAgICAgIGlmIChwcm9taXNlLl9zdGF0ZSkge1xuICAgICAgICAgICAgcmV0ID0gY2IodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHJlamVjdGluZ0Vycm9ycy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgcmVqZWN0aW5nRXJyb3JzID0gW107XG4gICAgICAgICAgICByZXQgPSBjYih2YWx1ZSk7XG4gICAgICAgICAgICBpZiAocmVqZWN0aW5nRXJyb3JzLmluZGV4T2YodmFsdWUpID09PSAtMSlcbiAgICAgICAgICAgICAgICBtYXJrRXJyb3JBc0hhbmRsZWQocHJvbWlzZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGlzdGVuZXIucmVzb2x2ZShyZXQpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBsaXN0ZW5lci5yZWplY3QoZSk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgICBjdXJyZW50RnVsZmlsbGVyID0gbnVsbDtcbiAgICAgICAgaWYgKC0tbnVtU2NoZWR1bGVkQ2FsbHMgPT09IDApXG4gICAgICAgICAgICBmaW5hbGl6ZVBoeXNpY2FsVGljaygpO1xuICAgICAgICAtLWxpc3RlbmVyLnBzZC5yZWYgfHwgbGlzdGVuZXIucHNkLmZpbmFsaXplKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U3RhY2socHJvbWlzZSwgc3RhY2tzLCBsaW1pdCkge1xuICAgIGlmIChzdGFja3MubGVuZ3RoID09PSBsaW1pdClcbiAgICAgICAgcmV0dXJuIHN0YWNrcztcbiAgICB2YXIgc3RhY2sgPSBcIlwiO1xuICAgIGlmIChwcm9taXNlLl9zdGF0ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgdmFyIGZhaWx1cmUgPSBwcm9taXNlLl92YWx1ZSwgZXJyb3JOYW1lLCBtZXNzYWdlO1xuICAgICAgICBpZiAoZmFpbHVyZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBlcnJvck5hbWUgPSBmYWlsdXJlLm5hbWUgfHwgXCJFcnJvclwiO1xuICAgICAgICAgICAgbWVzc2FnZSA9IGZhaWx1cmUubWVzc2FnZSB8fCBmYWlsdXJlO1xuICAgICAgICAgICAgc3RhY2sgPSBwcmV0dHlTdGFjayhmYWlsdXJlLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yTmFtZSA9IGZhaWx1cmU7XG4gICAgICAgICAgICBtZXNzYWdlID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBzdGFja3MucHVzaChlcnJvck5hbWUgKyAobWVzc2FnZSA/IFwiOiBcIiArIG1lc3NhZ2UgOiBcIlwiKSArIHN0YWNrKTtcbiAgICB9XG4gICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIHN0YWNrID0gcHJldHR5U3RhY2socHJvbWlzZS5fc3RhY2tIb2xkZXIsIDIpO1xuICAgICAgICBpZiAoc3RhY2sgJiYgc3RhY2tzLmluZGV4T2Yoc3RhY2spID09PSAtMSlcbiAgICAgICAgICAgIHN0YWNrcy5wdXNoKHN0YWNrKTtcbiAgICAgICAgaWYgKHByb21pc2UuX3ByZXYpXG4gICAgICAgICAgICBnZXRTdGFjayhwcm9taXNlLl9wcmV2LCBzdGFja3MsIGxpbWl0KTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrcztcbn1cbmZ1bmN0aW9uIGxpbmtUb1ByZXZpb3VzUHJvbWlzZShwcm9taXNlLCBwcmV2KSB7XG4gICAgdmFyIG51bVByZXYgPSBwcmV2ID8gcHJldi5fbnVtUHJldiArIDEgOiAwO1xuICAgIGlmIChudW1QcmV2IDwgTE9OR19TVEFDS1NfQ0xJUF9MSU1JVCkge1xuICAgICAgICBwcm9taXNlLl9wcmV2ID0gcHJldjtcbiAgICAgICAgcHJvbWlzZS5fbnVtUHJldiA9IG51bVByZXY7XG4gICAgfVxufVxuZnVuY3Rpb24gcGh5c2ljYWxUaWNrKCkge1xuICAgIGJlZ2luTWljcm9UaWNrU2NvcGUoKSAmJiBlbmRNaWNyb1RpY2tTY29wZSgpO1xufVxuZnVuY3Rpb24gYmVnaW5NaWNyb1RpY2tTY29wZSgpIHtcbiAgICB2YXIgd2FzUm9vdEV4ZWMgPSBpc091dHNpZGVNaWNyb1RpY2s7XG4gICAgaXNPdXRzaWRlTWljcm9UaWNrID0gZmFsc2U7XG4gICAgbmVlZHNOZXdQaHlzaWNhbFRpY2sgPSBmYWxzZTtcbiAgICByZXR1cm4gd2FzUm9vdEV4ZWM7XG59XG5mdW5jdGlvbiBlbmRNaWNyb1RpY2tTY29wZSgpIHtcbiAgICB2YXIgY2FsbGJhY2tzLCBpLCBsO1xuICAgIGRvIHtcbiAgICAgICAgd2hpbGUgKG1pY3JvdGlja1F1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNhbGxiYWNrcyA9IG1pY3JvdGlja1F1ZXVlO1xuICAgICAgICAgICAgbWljcm90aWNrUXVldWUgPSBbXTtcbiAgICAgICAgICAgIGwgPSBjYWxsYmFja3MubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgICAgIHZhciBpdGVtID0gY2FsbGJhY2tzW2ldO1xuICAgICAgICAgICAgICAgIGl0ZW1bMF0uYXBwbHkobnVsbCwgaXRlbVsxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IHdoaWxlIChtaWNyb3RpY2tRdWV1ZS5sZW5ndGggPiAwKTtcbiAgICBpc091dHNpZGVNaWNyb1RpY2sgPSB0cnVlO1xuICAgIG5lZWRzTmV3UGh5c2ljYWxUaWNrID0gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGZpbmFsaXplUGh5c2ljYWxUaWNrKCkge1xuICAgIHZhciB1bmhhbmRsZWRFcnJzID0gdW5oYW5kbGVkRXJyb3JzO1xuICAgIHVuaGFuZGxlZEVycm9ycyA9IFtdO1xuICAgIHVuaGFuZGxlZEVycnMuZm9yRWFjaChmdW5jdGlvbiAocCkge1xuICAgICAgICBwLl9QU0Qub251bmhhbmRsZWQuY2FsbChudWxsLCBwLl92YWx1ZSwgcCk7XG4gICAgfSk7XG4gICAgdmFyIGZpbmFsaXplcnMgPSB0aWNrRmluYWxpemVycy5zbGljZSgwKTtcbiAgICB2YXIgaSA9IGZpbmFsaXplcnMubGVuZ3RoO1xuICAgIHdoaWxlIChpKVxuICAgICAgICBmaW5hbGl6ZXJzWy0taV0oKTtcbn1cbmZ1bmN0aW9uIHJ1bl9hdF9lbmRfb2ZfdGhpc19vcl9uZXh0X3BoeXNpY2FsX3RpY2soZm4pIHtcbiAgICBmdW5jdGlvbiBmaW5hbGl6ZXIoKSB7XG4gICAgICAgIGZuKCk7XG4gICAgICAgIHRpY2tGaW5hbGl6ZXJzLnNwbGljZSh0aWNrRmluYWxpemVycy5pbmRleE9mKGZpbmFsaXplciksIDEpO1xuICAgIH1cbiAgICB0aWNrRmluYWxpemVycy5wdXNoKGZpbmFsaXplcik7XG4gICAgKytudW1TY2hlZHVsZWRDYWxscztcbiAgICBhc2FwJDEoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoLS1udW1TY2hlZHVsZWRDYWxscyA9PT0gMClcbiAgICAgICAgICAgIGZpbmFsaXplUGh5c2ljYWxUaWNrKCk7XG4gICAgfSwgW10pO1xufVxuZnVuY3Rpb24gYWRkUG9zc2libHlVbmhhbmRsZWRFcnJvcihwcm9taXNlKSB7XG4gICAgaWYgKCF1bmhhbmRsZWRFcnJvcnMuc29tZShmdW5jdGlvbiAocCkgeyByZXR1cm4gcC5fdmFsdWUgPT09IHByb21pc2UuX3ZhbHVlOyB9KSlcbiAgICAgICAgdW5oYW5kbGVkRXJyb3JzLnB1c2gocHJvbWlzZSk7XG59XG5mdW5jdGlvbiBtYXJrRXJyb3JBc0hhbmRsZWQocHJvbWlzZSkge1xuICAgIHZhciBpID0gdW5oYW5kbGVkRXJyb3JzLmxlbmd0aDtcbiAgICB3aGlsZSAoaSlcbiAgICAgICAgaWYgKHVuaGFuZGxlZEVycm9yc1stLWldLl92YWx1ZSA9PT0gcHJvbWlzZS5fdmFsdWUpIHtcbiAgICAgICAgICAgIHVuaGFuZGxlZEVycm9ycy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbn1cbmZ1bmN0aW9uIFByb21pc2VSZWplY3QocmVhc29uKSB7XG4gICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoSU5URVJOQUwsIGZhbHNlLCByZWFzb24pO1xufVxuZnVuY3Rpb24gd3JhcChmbiwgZXJyb3JDYXRjaGVyKSB7XG4gICAgdmFyIHBzZCA9IFBTRDtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgd2FzUm9vdEV4ZWMgPSBiZWdpbk1pY3JvVGlja1Njb3BlKCksIG91dGVyU2NvcGUgPSBQU0Q7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzd2l0Y2hUb1pvbmUocHNkLCB0cnVlKTtcbiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBlcnJvckNhdGNoZXIgJiYgZXJyb3JDYXRjaGVyKGUpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgc3dpdGNoVG9ab25lKG91dGVyU2NvcGUsIGZhbHNlKTtcbiAgICAgICAgICAgIGlmICh3YXNSb290RXhlYylcbiAgICAgICAgICAgICAgICBlbmRNaWNyb1RpY2tTY29wZSgpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbnZhciB0YXNrID0geyBhd2FpdHM6IDAsIGVjaG9lczogMCwgaWQ6IDAgfTtcbnZhciB0YXNrQ291bnRlciA9IDA7XG52YXIgem9uZVN0YWNrID0gW107XG52YXIgem9uZUVjaG9lcyA9IDA7XG52YXIgdG90YWxFY2hvZXMgPSAwO1xudmFyIHpvbmVfaWRfY291bnRlciA9IDA7XG5mdW5jdGlvbiBuZXdTY29wZShmbiwgcHJvcHMkJDEsIGExLCBhMikge1xuICAgIHZhciBwYXJlbnQgPSBQU0QsIHBzZCA9IE9iamVjdC5jcmVhdGUocGFyZW50KTtcbiAgICBwc2QucGFyZW50ID0gcGFyZW50O1xuICAgIHBzZC5yZWYgPSAwO1xuICAgIHBzZC5nbG9iYWwgPSBmYWxzZTtcbiAgICBwc2QuaWQgPSArK3pvbmVfaWRfY291bnRlcjtcbiAgICB2YXIgZ2xvYmFsRW52ID0gZ2xvYmFsUFNELmVudjtcbiAgICBwc2QuZW52ID0gcGF0Y2hHbG9iYWxQcm9taXNlID8ge1xuICAgICAgICBQcm9taXNlOiBEZXhpZVByb21pc2UsXG4gICAgICAgIFByb21pc2VQcm9wOiB7IHZhbHVlOiBEZXhpZVByb21pc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSxcbiAgICAgICAgYWxsOiBEZXhpZVByb21pc2UuYWxsLFxuICAgICAgICByYWNlOiBEZXhpZVByb21pc2UucmFjZSxcbiAgICAgICAgYWxsU2V0dGxlZDogRGV4aWVQcm9taXNlLmFsbFNldHRsZWQsXG4gICAgICAgIGFueTogRGV4aWVQcm9taXNlLmFueSxcbiAgICAgICAgcmVzb2x2ZTogRGV4aWVQcm9taXNlLnJlc29sdmUsXG4gICAgICAgIHJlamVjdDogRGV4aWVQcm9taXNlLnJlamVjdCxcbiAgICAgICAgbnRoZW46IGdldFBhdGNoZWRQcm9taXNlVGhlbihnbG9iYWxFbnYubnRoZW4sIHBzZCksXG4gICAgICAgIGd0aGVuOiBnZXRQYXRjaGVkUHJvbWlzZVRoZW4oZ2xvYmFsRW52Lmd0aGVuLCBwc2QpXG4gICAgfSA6IHt9O1xuICAgIGlmIChwcm9wcyQkMSlcbiAgICAgICAgZXh0ZW5kKHBzZCwgcHJvcHMkJDEpO1xuICAgICsrcGFyZW50LnJlZjtcbiAgICBwc2QuZmluYWxpemUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC0tdGhpcy5wYXJlbnQucmVmIHx8IHRoaXMucGFyZW50LmZpbmFsaXplKCk7XG4gICAgfTtcbiAgICB2YXIgcnYgPSB1c2VQU0QocHNkLCBmbiwgYTEsIGEyKTtcbiAgICBpZiAocHNkLnJlZiA9PT0gMClcbiAgICAgICAgcHNkLmZpbmFsaXplKCk7XG4gICAgcmV0dXJuIHJ2O1xufVxuZnVuY3Rpb24gaW5jcmVtZW50RXhwZWN0ZWRBd2FpdHMoKSB7XG4gICAgaWYgKCF0YXNrLmlkKVxuICAgICAgICB0YXNrLmlkID0gKyt0YXNrQ291bnRlcjtcbiAgICArK3Rhc2suYXdhaXRzO1xuICAgIHRhc2suZWNob2VzICs9IFpPTkVfRUNIT19MSU1JVDtcbiAgICByZXR1cm4gdGFzay5pZDtcbn1cbmZ1bmN0aW9uIGRlY3JlbWVudEV4cGVjdGVkQXdhaXRzKCkge1xuICAgIGlmICghdGFzay5hd2FpdHMpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBpZiAoLS10YXNrLmF3YWl0cyA9PT0gMClcbiAgICAgICAgdGFzay5pZCA9IDA7XG4gICAgdGFzay5lY2hvZXMgPSB0YXNrLmF3YWl0cyAqIFpPTkVfRUNIT19MSU1JVDtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmlmICgoJycgKyBuYXRpdmVQcm9taXNlVGhlbikuaW5kZXhPZignW25hdGl2ZSBjb2RlXScpID09PSAtMSkge1xuICAgIGluY3JlbWVudEV4cGVjdGVkQXdhaXRzID0gZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMgPSBub3A7XG59XG5mdW5jdGlvbiBvblBvc3NpYmxlUGFyYWxsZWxsQXN5bmMocG9zc2libGVQcm9taXNlKSB7XG4gICAgaWYgKHRhc2suZWNob2VzICYmIHBvc3NpYmxlUHJvbWlzZSAmJiBwb3NzaWJsZVByb21pc2UuY29uc3RydWN0b3IgPT09IE5hdGl2ZVByb21pc2UpIHtcbiAgICAgICAgaW5jcmVtZW50RXhwZWN0ZWRBd2FpdHMoKTtcbiAgICAgICAgcmV0dXJuIHBvc3NpYmxlUHJvbWlzZS50aGVuKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICBkZWNyZW1lbnRFeHBlY3RlZEF3YWl0cygpO1xuICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBkZWNyZW1lbnRFeHBlY3RlZEF3YWl0cygpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwb3NzaWJsZVByb21pc2U7XG59XG5mdW5jdGlvbiB6b25lRW50ZXJFY2hvKHRhcmdldFpvbmUpIHtcbiAgICArK3RvdGFsRWNob2VzO1xuICAgIGlmICghdGFzay5lY2hvZXMgfHwgLS10YXNrLmVjaG9lcyA9PT0gMCkge1xuICAgICAgICB0YXNrLmVjaG9lcyA9IHRhc2suaWQgPSAwO1xuICAgIH1cbiAgICB6b25lU3RhY2sucHVzaChQU0QpO1xuICAgIHN3aXRjaFRvWm9uZSh0YXJnZXRab25lLCB0cnVlKTtcbn1cbmZ1bmN0aW9uIHpvbmVMZWF2ZUVjaG8oKSB7XG4gICAgdmFyIHpvbmUgPSB6b25lU3RhY2tbem9uZVN0YWNrLmxlbmd0aCAtIDFdO1xuICAgIHpvbmVTdGFjay5wb3AoKTtcbiAgICBzd2l0Y2hUb1pvbmUoem9uZSwgZmFsc2UpO1xufVxuZnVuY3Rpb24gc3dpdGNoVG9ab25lKHRhcmdldFpvbmUsIGJFbnRlcmluZ1pvbmUpIHtcbiAgICB2YXIgY3VycmVudFpvbmUgPSBQU0Q7XG4gICAgaWYgKGJFbnRlcmluZ1pvbmUgPyB0YXNrLmVjaG9lcyAmJiAoIXpvbmVFY2hvZXMrKyB8fCB0YXJnZXRab25lICE9PSBQU0QpIDogem9uZUVjaG9lcyAmJiAoIS0tem9uZUVjaG9lcyB8fCB0YXJnZXRab25lICE9PSBQU0QpKSB7XG4gICAgICAgIGVucXVldWVOYXRpdmVNaWNyb1Rhc2soYkVudGVyaW5nWm9uZSA/IHpvbmVFbnRlckVjaG8uYmluZChudWxsLCB0YXJnZXRab25lKSA6IHpvbmVMZWF2ZUVjaG8pO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0Wm9uZSA9PT0gUFNEKVxuICAgICAgICByZXR1cm47XG4gICAgUFNEID0gdGFyZ2V0Wm9uZTtcbiAgICBpZiAoY3VycmVudFpvbmUgPT09IGdsb2JhbFBTRClcbiAgICAgICAgZ2xvYmFsUFNELmVudiA9IHNuYXBTaG90KCk7XG4gICAgaWYgKHBhdGNoR2xvYmFsUHJvbWlzZSkge1xuICAgICAgICB2YXIgR2xvYmFsUHJvbWlzZV8xID0gZ2xvYmFsUFNELmVudi5Qcm9taXNlO1xuICAgICAgICB2YXIgdGFyZ2V0RW52ID0gdGFyZ2V0Wm9uZS5lbnY7XG4gICAgICAgIG5hdGl2ZVByb21pc2VQcm90by50aGVuID0gdGFyZ2V0RW52Lm50aGVuO1xuICAgICAgICBHbG9iYWxQcm9taXNlXzEucHJvdG90eXBlLnRoZW4gPSB0YXJnZXRFbnYuZ3RoZW47XG4gICAgICAgIGlmIChjdXJyZW50Wm9uZS5nbG9iYWwgfHwgdGFyZ2V0Wm9uZS5nbG9iYWwpIHtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfZ2xvYmFsLCAnUHJvbWlzZScsIHRhcmdldEVudi5Qcm9taXNlUHJvcCk7XG4gICAgICAgICAgICBHbG9iYWxQcm9taXNlXzEuYWxsID0gdGFyZ2V0RW52LmFsbDtcbiAgICAgICAgICAgIEdsb2JhbFByb21pc2VfMS5yYWNlID0gdGFyZ2V0RW52LnJhY2U7XG4gICAgICAgICAgICBHbG9iYWxQcm9taXNlXzEucmVzb2x2ZSA9IHRhcmdldEVudi5yZXNvbHZlO1xuICAgICAgICAgICAgR2xvYmFsUHJvbWlzZV8xLnJlamVjdCA9IHRhcmdldEVudi5yZWplY3Q7XG4gICAgICAgICAgICBpZiAodGFyZ2V0RW52LmFsbFNldHRsZWQpXG4gICAgICAgICAgICAgICAgR2xvYmFsUHJvbWlzZV8xLmFsbFNldHRsZWQgPSB0YXJnZXRFbnYuYWxsU2V0dGxlZDtcbiAgICAgICAgICAgIGlmICh0YXJnZXRFbnYuYW55KVxuICAgICAgICAgICAgICAgIEdsb2JhbFByb21pc2VfMS5hbnkgPSB0YXJnZXRFbnYuYW55O1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc25hcFNob3QoKSB7XG4gICAgdmFyIEdsb2JhbFByb21pc2UgPSBfZ2xvYmFsLlByb21pc2U7XG4gICAgcmV0dXJuIHBhdGNoR2xvYmFsUHJvbWlzZSA/IHtcbiAgICAgICAgUHJvbWlzZTogR2xvYmFsUHJvbWlzZSxcbiAgICAgICAgUHJvbWlzZVByb3A6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoX2dsb2JhbCwgXCJQcm9taXNlXCIpLFxuICAgICAgICBhbGw6IEdsb2JhbFByb21pc2UuYWxsLFxuICAgICAgICByYWNlOiBHbG9iYWxQcm9taXNlLnJhY2UsXG4gICAgICAgIGFsbFNldHRsZWQ6IEdsb2JhbFByb21pc2UuYWxsU2V0dGxlZCxcbiAgICAgICAgYW55OiBHbG9iYWxQcm9taXNlLmFueSxcbiAgICAgICAgcmVzb2x2ZTogR2xvYmFsUHJvbWlzZS5yZXNvbHZlLFxuICAgICAgICByZWplY3Q6IEdsb2JhbFByb21pc2UucmVqZWN0LFxuICAgICAgICBudGhlbjogbmF0aXZlUHJvbWlzZVByb3RvLnRoZW4sXG4gICAgICAgIGd0aGVuOiBHbG9iYWxQcm9taXNlLnByb3RvdHlwZS50aGVuXG4gICAgfSA6IHt9O1xufVxuZnVuY3Rpb24gdXNlUFNEKHBzZCwgZm4sIGExLCBhMiwgYTMpIHtcbiAgICB2YXIgb3V0ZXJTY29wZSA9IFBTRDtcbiAgICB0cnkge1xuICAgICAgICBzd2l0Y2hUb1pvbmUocHNkLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIGZuKGExLCBhMiwgYTMpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgc3dpdGNoVG9ab25lKG91dGVyU2NvcGUsIGZhbHNlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlTmF0aXZlTWljcm9UYXNrKGpvYikge1xuICAgIG5hdGl2ZVByb21pc2VUaGVuLmNhbGwocmVzb2x2ZWROYXRpdmVQcm9taXNlLCBqb2IpO1xufVxuZnVuY3Rpb24gbmF0aXZlQXdhaXRDb21wYXRpYmxlV3JhcChmbiwgem9uZSwgcG9zc2libGVBd2FpdCwgY2xlYW51cCkge1xuICAgIHJldHVybiB0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicgPyBmbiA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG91dGVyWm9uZSA9IFBTRDtcbiAgICAgICAgaWYgKHBvc3NpYmxlQXdhaXQpXG4gICAgICAgICAgICBpbmNyZW1lbnRFeHBlY3RlZEF3YWl0cygpO1xuICAgICAgICBzd2l0Y2hUb1pvbmUoem9uZSwgdHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHN3aXRjaFRvWm9uZShvdXRlclpvbmUsIGZhbHNlKTtcbiAgICAgICAgICAgIGlmIChjbGVhbnVwKVxuICAgICAgICAgICAgICAgIGVucXVldWVOYXRpdmVNaWNyb1Rhc2soZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhdGNoZWRQcm9taXNlVGhlbihvcmlnVGhlbiwgem9uZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAob25SZXNvbHZlZCwgb25SZWplY3RlZCkge1xuICAgICAgICByZXR1cm4gb3JpZ1RoZW4uY2FsbCh0aGlzLCBuYXRpdmVBd2FpdENvbXBhdGlibGVXcmFwKG9uUmVzb2x2ZWQsIHpvbmUpLCBuYXRpdmVBd2FpdENvbXBhdGlibGVXcmFwKG9uUmVqZWN0ZWQsIHpvbmUpKTtcbiAgICB9O1xufVxudmFyIFVOSEFORExFRFJFSkVDVElPTiA9IFwidW5oYW5kbGVkcmVqZWN0aW9uXCI7XG5mdW5jdGlvbiBnbG9iYWxFcnJvcihlcnIsIHByb21pc2UpIHtcbiAgICB2YXIgcnY7XG4gICAgdHJ5IHtcbiAgICAgICAgcnYgPSBwcm9taXNlLm9udW5jYXRjaGVkKGVycik7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7IH1cbiAgICBpZiAocnYgIT09IGZhbHNlKVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGV2ZW50LCBldmVudERhdGEgPSB7IHByb21pc2U6IHByb21pc2UsIHJlYXNvbjogZXJyIH07XG4gICAgICAgICAgICBpZiAoX2dsb2JhbC5kb2N1bWVudCAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG4gICAgICAgICAgICAgICAgZXZlbnQuaW5pdEV2ZW50KFVOSEFORExFRFJFSkVDVElPTiwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgZXh0ZW5kKGV2ZW50LCBldmVudERhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoX2dsb2JhbC5DdXN0b21FdmVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KFVOSEFORExFRFJFSkVDVElPTiwgeyBkZXRhaWw6IGV2ZW50RGF0YSB9KTtcbiAgICAgICAgICAgICAgICBleHRlbmQoZXZlbnQsIGV2ZW50RGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXZlbnQgJiYgX2dsb2JhbC5kaXNwYXRjaEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgICAgICAgICAgaWYgKCFfZ2xvYmFsLlByb21pc2VSZWplY3Rpb25FdmVudCAmJiBfZ2xvYmFsLm9udW5oYW5kbGVkcmVqZWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2dsb2JhbC5vbnVuaGFuZGxlZHJlamVjdGlvbihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKF8pIHsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRlYnVnICYmIGV2ZW50ICYmICFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVW5oYW5kbGVkIHJlamVjdGlvbjogXCIgKyAoZXJyLnN0YWNrIHx8IGVycikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7IH1cbn1cbnZhciByZWplY3Rpb24gPSBEZXhpZVByb21pc2UucmVqZWN0O1xuXG5mdW5jdGlvbiB0ZW1wVHJhbnNhY3Rpb24oZGIsIG1vZGUsIHN0b3JlTmFtZXMsIGZuKSB7XG4gICAgaWYgKCFkYi5fc3RhdGUub3BlbkNvbXBsZXRlICYmICghUFNELmxldFRocm91Z2gpKSB7XG4gICAgICAgIGlmICghZGIuX3N0YXRlLmlzQmVpbmdPcGVuZWQpIHtcbiAgICAgICAgICAgIGlmICghZGIuX29wdGlvbnMuYXV0b09wZW4pXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihuZXcgZXhjZXB0aW9ucy5EYXRhYmFzZUNsb3NlZCgpKTtcbiAgICAgICAgICAgIGRiLm9wZW4oKS5jYXRjaChub3ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYi5fc3RhdGUuZGJSZWFkeVByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiB0ZW1wVHJhbnNhY3Rpb24oZGIsIG1vZGUsIHN0b3JlTmFtZXMsIGZuKTsgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgdHJhbnMgPSBkYi5fY3JlYXRlVHJhbnNhY3Rpb24obW9kZSwgc3RvcmVOYW1lcywgZGIuX2RiU2NoZW1hKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRyYW5zLmNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChleCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihleCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zLl9wcm9taXNlKG1vZGUsIGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXdTY29wZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgUFNELnRyYW5zID0gdHJhbnM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZuKHJlc29sdmUsIHJlamVjdCwgdHJhbnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zLl9jb21wbGV0aW9uLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVzdWx0OyB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG52YXIgREVYSUVfVkVSU0lPTiA9ICczLjAuMyc7XG52YXIgbWF4U3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg2NTUzNSk7XG52YXIgbWluS2V5ID0gLUluZmluaXR5O1xudmFyIElOVkFMSURfS0VZX0FSR1VNRU5UID0gXCJJbnZhbGlkIGtleSBwcm92aWRlZC4gS2V5cyBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLCBudW1iZXIsIERhdGUgb3IgQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgRGF0ZT4uXCI7XG52YXIgU1RSSU5HX0VYUEVDVEVEID0gXCJTdHJpbmcgZXhwZWN0ZWQuXCI7XG52YXIgY29ubmVjdGlvbnMgPSBbXTtcbnZhciBpc0lFT3JFZGdlID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgLyhNU0lFfFRyaWRlbnR8RWRnZSkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG52YXIgaGFzSUVEZWxldGVPYmplY3RTdG9yZUJ1ZyA9IGlzSUVPckVkZ2U7XG52YXIgaGFuZ3NPbkRlbGV0ZUxhcmdlS2V5UmFuZ2UgPSBpc0lFT3JFZGdlO1xudmFyIGRleGllU3RhY2tGcmFtZUZpbHRlciA9IGZ1bmN0aW9uIChmcmFtZSkgeyByZXR1cm4gIS8oZGV4aWVcXC5qc3xkZXhpZVxcLm1pblxcLmpzKS8udGVzdChmcmFtZSk7IH07XG52YXIgREJOQU1FU19EQiA9ICdfX2RibmFtZXMnO1xudmFyIFJFQURPTkxZID0gJ3JlYWRvbmx5JztcbnZhciBSRUFEV1JJVEUgPSAncmVhZHdyaXRlJztcblxuZnVuY3Rpb24gY29tYmluZShmaWx0ZXIxLCBmaWx0ZXIyKSB7XG4gICAgcmV0dXJuIGZpbHRlcjEgP1xuICAgICAgICBmaWx0ZXIyID9cbiAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZpbHRlcjEuYXBwbHkodGhpcywgYXJndW1lbnRzKSAmJiBmaWx0ZXIyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IH0gOlxuICAgICAgICAgICAgZmlsdGVyMSA6XG4gICAgICAgIGZpbHRlcjI7XG59XG5cbnZhciBBbnlSYW5nZSA9IHtcbiAgICB0eXBlOiAzICAgICAgICAgICxcbiAgICBsb3dlcjogLUluZmluaXR5LFxuICAgIGxvd2VyT3BlbjogZmFsc2UsXG4gICAgdXBwZXI6IFtbXV0sXG4gICAgdXBwZXJPcGVuOiBmYWxzZVxufTtcblxuZnVuY3Rpb24gd29ya2Fyb3VuZEZvclVuZGVmaW5lZFByaW1LZXkoa2V5UGF0aCkge1xuICAgIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIGlmIChnZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBvYmogPSBkZWVwQ2xvbmUob2JqKTtcbiAgICAgICAgICAgIGRlbEJ5S2V5UGF0aChvYmosIGtleVBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfTtcbn1cblxudmFyIFRhYmxlID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRhYmxlKCkge1xuICAgIH1cbiAgICBUYWJsZS5wcm90b3R5cGUuX3RyYW5zID0gZnVuY3Rpb24gKG1vZGUsIGZuLCB3cml0ZUxvY2tlZCkge1xuICAgICAgICB2YXIgdHJhbnMgPSB0aGlzLl90eCB8fCBQU0QudHJhbnM7XG4gICAgICAgIHZhciB0YWJsZU5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrVGFibGVJblRyYW5zYWN0aW9uKHJlc29sdmUsIHJlamVjdCwgdHJhbnMpIHtcbiAgICAgICAgICAgIGlmICghdHJhbnMuc2NoZW1hW3RhYmxlTmFtZV0pXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuTm90Rm91bmQoXCJUYWJsZSBcIiArIHRhYmxlTmFtZSArIFwiIG5vdCBwYXJ0IG9mIHRyYW5zYWN0aW9uXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZuKHRyYW5zLmlkYnRyYW5zLCB0cmFucyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHdhc1Jvb3RFeGVjID0gYmVnaW5NaWNyb1RpY2tTY29wZSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zICYmIHRyYW5zLmRiID09PSB0aGlzLmRiID9cbiAgICAgICAgICAgICAgICB0cmFucyA9PT0gUFNELnRyYW5zID9cbiAgICAgICAgICAgICAgICAgICAgdHJhbnMuX3Byb21pc2UobW9kZSwgY2hlY2tUYWJsZUluVHJhbnNhY3Rpb24sIHdyaXRlTG9ja2VkKSA6XG4gICAgICAgICAgICAgICAgICAgIG5ld1Njb3BlKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRyYW5zLl9wcm9taXNlKG1vZGUsIGNoZWNrVGFibGVJblRyYW5zYWN0aW9uLCB3cml0ZUxvY2tlZCk7IH0sIHsgdHJhbnM6IHRyYW5zLCB0cmFuc2xlc3M6IFBTRC50cmFuc2xlc3MgfHwgUFNEIH0pIDpcbiAgICAgICAgICAgICAgICB0ZW1wVHJhbnNhY3Rpb24odGhpcy5kYiwgbW9kZSwgW3RoaXMubmFtZV0sIGNoZWNrVGFibGVJblRyYW5zYWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIGlmICh3YXNSb290RXhlYylcbiAgICAgICAgICAgICAgICBlbmRNaWNyb1RpY2tTY29wZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGtleU9yQ3JpdCwgY2IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgaWYgKGtleU9yQ3JpdCAmJiBrZXlPckNyaXQuY29uc3RydWN0b3IgPT09IE9iamVjdClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndoZXJlKGtleU9yQ3JpdCkuZmlyc3QoY2IpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnMoJ3JlYWRvbmx5JywgZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuY29yZS5nZXQoeyB0cmFuczogdHJhbnMsIGtleToga2V5T3JDcml0IH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gX3RoaXMuaG9vay5yZWFkaW5nLmZpcmUocmVzKTsgfSk7XG4gICAgICAgIH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLndoZXJlID0gZnVuY3Rpb24gKGluZGV4T3JDcml0KSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5kZXhPckNyaXQgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyB0aGlzLmRiLldoZXJlQ2xhdXNlKHRoaXMsIGluZGV4T3JDcml0KTtcbiAgICAgICAgaWYgKGlzQXJyYXkoaW5kZXhPckNyaXQpKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyB0aGlzLmRiLldoZXJlQ2xhdXNlKHRoaXMsIFwiW1wiICsgaW5kZXhPckNyaXQuam9pbignKycpICsgXCJdXCIpO1xuICAgICAgICB2YXIga2V5UGF0aHMgPSBrZXlzKGluZGV4T3JDcml0KTtcbiAgICAgICAgaWYgKGtleVBhdGhzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICAgICAgLndoZXJlKGtleVBhdGhzWzBdKVxuICAgICAgICAgICAgICAgIC5lcXVhbHMoaW5kZXhPckNyaXRba2V5UGF0aHNbMF1dKTtcbiAgICAgICAgdmFyIGNvbXBvdW5kSW5kZXggPSB0aGlzLnNjaGVtYS5pbmRleGVzLmNvbmNhdCh0aGlzLnNjaGVtYS5wcmltS2V5KS5maWx0ZXIoZnVuY3Rpb24gKGl4KSB7XG4gICAgICAgICAgICByZXR1cm4gaXguY29tcG91bmQgJiZcbiAgICAgICAgICAgICAgICBrZXlQYXRocy5ldmVyeShmdW5jdGlvbiAoa2V5UGF0aCkgeyByZXR1cm4gaXgua2V5UGF0aC5pbmRleE9mKGtleVBhdGgpID49IDA7IH0pICYmXG4gICAgICAgICAgICAgICAgaXgua2V5UGF0aC5ldmVyeShmdW5jdGlvbiAoa2V5UGF0aCkgeyByZXR1cm4ga2V5UGF0aHMuaW5kZXhPZihrZXlQYXRoKSA+PSAwOyB9KTtcbiAgICAgICAgfSlbMF07XG4gICAgICAgIGlmIChjb21wb3VuZEluZGV4ICYmIHRoaXMuZGIuX21heEtleSAhPT0gbWF4U3RyaW5nKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXNcbiAgICAgICAgICAgICAgICAud2hlcmUoY29tcG91bmRJbmRleC5uYW1lKVxuICAgICAgICAgICAgICAgIC5lcXVhbHMoY29tcG91bmRJbmRleC5rZXlQYXRoLm1hcChmdW5jdGlvbiAoa3ApIHsgcmV0dXJuIGluZGV4T3JDcml0W2twXTsgfSkpO1xuICAgICAgICBpZiAoIWNvbXBvdW5kSW5kZXggJiYgZGVidWcpXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGUgcXVlcnkgXCIgKyBKU09OLnN0cmluZ2lmeShpbmRleE9yQ3JpdCkgKyBcIiBvbiBcIiArIHRoaXMubmFtZSArIFwiIHdvdWxkIGJlbmVmaXQgb2YgYSBcIiArXG4gICAgICAgICAgICAgICAgKFwiY29tcG91bmQgaW5kZXggW1wiICsga2V5UGF0aHMuam9pbignKycpICsgXCJdXCIpKTtcbiAgICAgICAgdmFyIGlkeEJ5TmFtZSA9IHRoaXMuc2NoZW1hLmlkeEJ5TmFtZTtcbiAgICAgICAgdmFyIGlkYiA9IHRoaXMuZGIuX2RlcHMuaW5kZXhlZERCO1xuICAgICAgICBmdW5jdGlvbiBlcXVhbHMoYSwgYikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWRiLmNtcChhLCBiKSA9PT0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciBfYSA9IGtleVBhdGhzLnJlZHVjZShmdW5jdGlvbiAoX2EsIGtleVBhdGgpIHtcbiAgICAgICAgICAgIHZhciBwcmV2SW5kZXggPSBfYVswXSwgcHJldkZpbHRlckZuID0gX2FbMV07XG4gICAgICAgICAgICB2YXIgaW5kZXggPSBpZHhCeU5hbWVba2V5UGF0aF07XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBpbmRleE9yQ3JpdFtrZXlQYXRoXTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgcHJldkluZGV4IHx8IGluZGV4LFxuICAgICAgICAgICAgICAgIHByZXZJbmRleCB8fCAhaW5kZXggP1xuICAgICAgICAgICAgICAgICAgICBjb21iaW5lKHByZXZGaWx0ZXJGbiwgaW5kZXggJiYgaW5kZXgubXVsdGkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvcCA9IGdldEJ5S2V5UGF0aCh4LCBrZXlQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNBcnJheShwcm9wKSAmJiBwcm9wLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHsgcmV0dXJuIGVxdWFscyh2YWx1ZSwgaXRlbSk7IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSA6IGZ1bmN0aW9uICh4KSB7IHJldHVybiBlcXVhbHModmFsdWUsIGdldEJ5S2V5UGF0aCh4LCBrZXlQYXRoKSk7IH0pXG4gICAgICAgICAgICAgICAgICAgIDogcHJldkZpbHRlckZuXG4gICAgICAgICAgICBdO1xuICAgICAgICB9LCBbbnVsbCwgbnVsbF0pLCBpZHggPSBfYVswXSwgZmlsdGVyRnVuY3Rpb24gPSBfYVsxXTtcbiAgICAgICAgcmV0dXJuIGlkeCA/XG4gICAgICAgICAgICB0aGlzLndoZXJlKGlkeC5uYW1lKS5lcXVhbHMoaW5kZXhPckNyaXRbaWR4LmtleVBhdGhdKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoZmlsdGVyRnVuY3Rpb24pIDpcbiAgICAgICAgICAgIGNvbXBvdW5kSW5kZXggP1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKGZpbHRlckZ1bmN0aW9uKSA6XG4gICAgICAgICAgICAgICAgdGhpcy53aGVyZShrZXlQYXRocykuZXF1YWxzKCcnKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoZmlsdGVyRnVuY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkuYW5kKGZpbHRlckZ1bmN0aW9uKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5jb3VudCA9IGZ1bmN0aW9uICh0aGVuU2hvcnRjdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkuY291bnQodGhlblNob3J0Y3V0KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5vZmZzZXQgPSBmdW5jdGlvbiAob2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQ29sbGVjdGlvbigpLm9mZnNldChvZmZzZXQpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmxpbWl0ID0gZnVuY3Rpb24gKG51bVJvd3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkubGltaXQobnVtUm93cyk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuZWFjaCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICByZXR1cm4gdGhpcy50b0NvbGxlY3Rpb24oKS5lYWNoKGNhbGxiYWNrKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gKHRoZW5TaG9ydGN1dCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b0NvbGxlY3Rpb24oKS50b0FycmF5KHRoZW5TaG9ydGN1dCk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUudG9Db2xsZWN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMuZGIuQ29sbGVjdGlvbihuZXcgdGhpcy5kYi5XaGVyZUNsYXVzZSh0aGlzKSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUub3JkZXJCeSA9IGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMuZGIuQ29sbGVjdGlvbihuZXcgdGhpcy5kYi5XaGVyZUNsYXVzZSh0aGlzLCBpc0FycmF5KGluZGV4KSA/XG4gICAgICAgICAgICBcIltcIiArIGluZGV4LmpvaW4oJysnKSArIFwiXVwiIDpcbiAgICAgICAgICAgIGluZGV4KSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkucmV2ZXJzZSgpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLm1hcFRvQ2xhc3MgPSBmdW5jdGlvbiAoY29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhpcy5zY2hlbWEubWFwcGVkQ2xhc3MgPSBjb25zdHJ1Y3RvcjtcbiAgICAgICAgdmFyIHJlYWRIb29rID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgaWYgKCFvYmopXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgICAgIHZhciByZXMgPSBPYmplY3QuY3JlYXRlKGNvbnN0cnVjdG9yLnByb3RvdHlwZSk7XG4gICAgICAgICAgICBmb3IgKHZhciBtIGluIG9iailcbiAgICAgICAgICAgICAgICBpZiAoaGFzT3duKG9iaiwgbSkpXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNbbV0gPSBvYmpbbV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKF8pIHsgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuc2NoZW1hLnJlYWRIb29rKSB7XG4gICAgICAgICAgICB0aGlzLmhvb2sucmVhZGluZy51bnN1YnNjcmliZSh0aGlzLnNjaGVtYS5yZWFkSG9vayk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zY2hlbWEucmVhZEhvb2sgPSByZWFkSG9vaztcbiAgICAgICAgdGhpcy5ob29rKFwicmVhZGluZ1wiLCByZWFkSG9vayk7XG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5kZWZpbmVDbGFzcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZnVuY3Rpb24gQ2xhc3MoY29udGVudCkge1xuICAgICAgICAgICAgZXh0ZW5kKHRoaXMsIGNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5tYXBUb0NsYXNzKENsYXNzKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAob2JqLCBrZXkpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIF9hID0gdGhpcy5zY2hlbWEucHJpbUtleSwgYXV0byA9IF9hLmF1dG8sIGtleVBhdGggPSBfYS5rZXlQYXRoO1xuICAgICAgICB2YXIgb2JqVG9BZGQgPSBvYmo7XG4gICAgICAgIGlmIChrZXlQYXRoICYmIGF1dG8pIHtcbiAgICAgICAgICAgIG9ialRvQWRkID0gd29ya2Fyb3VuZEZvclVuZGVmaW5lZFByaW1LZXkoa2V5UGF0aCkob2JqKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnMoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICh0cmFucykge1xuICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNvcmUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAnYWRkJywga2V5czoga2V5ICE9IG51bGwgPyBba2V5XSA6IG51bGwsIHZhbHVlczogW29ialRvQWRkXSB9KTtcbiAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7IHJldHVybiByZXMubnVtRmFpbHVyZXMgPyBEZXhpZVByb21pc2UucmVqZWN0KHJlcy5mYWlsdXJlc1swXSkgOiByZXMubGFzdFJlc3VsdDsgfSlcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChsYXN0UmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoa2V5UGF0aCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHNldEJ5S2V5UGF0aChvYmosIGtleVBhdGgsIGxhc3RSZXN1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoXykgeyB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbGFzdFJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGtleU9yT2JqZWN0LCBtb2RpZmljYXRpb25zKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbW9kaWZpY2F0aW9ucyAhPT0gJ29iamVjdCcgfHwgaXNBcnJheShtb2RpZmljYXRpb25zKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcIk1vZGlmaWNhdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QuXCIpO1xuICAgICAgICBpZiAodHlwZW9mIGtleU9yT2JqZWN0ID09PSAnb2JqZWN0JyAmJiAhaXNBcnJheShrZXlPck9iamVjdCkpIHtcbiAgICAgICAgICAgIGtleXMobW9kaWZpY2F0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoa2V5UGF0aCkge1xuICAgICAgICAgICAgICAgIHNldEJ5S2V5UGF0aChrZXlPck9iamVjdCwga2V5UGF0aCwgbW9kaWZpY2F0aW9uc1trZXlQYXRoXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBrZXkgPSBnZXRCeUtleVBhdGgoa2V5T3JPYmplY3QsIHRoaXMuc2NoZW1hLnByaW1LZXkua2V5UGF0aCk7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJHaXZlbiBvYmplY3QgZG9lcyBub3QgY29udGFpbiBpdHMgcHJpbWFyeSBrZXlcIikpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2hlcmUoXCI6aWRcIikuZXF1YWxzKGtleSkubW9kaWZ5KG1vZGlmaWNhdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2hlcmUoXCI6aWRcIikuZXF1YWxzKGtleU9yT2JqZWN0KS5tb2RpZnkobW9kaWZpY2F0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5wdXQgPSBmdW5jdGlvbiAob2JqLCBrZXkpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIF9hID0gdGhpcy5zY2hlbWEucHJpbUtleSwgYXV0byA9IF9hLmF1dG8sIGtleVBhdGggPSBfYS5rZXlQYXRoO1xuICAgICAgICB2YXIgb2JqVG9BZGQgPSBvYmo7XG4gICAgICAgIGlmIChrZXlQYXRoICYmIGF1dG8pIHtcbiAgICAgICAgICAgIG9ialRvQWRkID0gd29ya2Fyb3VuZEZvclVuZGVmaW5lZFByaW1LZXkoa2V5UGF0aCkob2JqKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnMoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICh0cmFucykgeyByZXR1cm4gX3RoaXMuY29yZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdwdXQnLCB2YWx1ZXM6IFtvYmpUb0FkZF0sIGtleXM6IGtleSAhPSBudWxsID8gW2tleV0gOiBudWxsIH0pOyB9KVxuICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gcmVzLm51bUZhaWx1cmVzID8gRGV4aWVQcm9taXNlLnJlamVjdChyZXMuZmFpbHVyZXNbMF0pIDogcmVzLmxhc3RSZXN1bHQ7IH0pXG4gICAgICAgICAgICAudGhlbihmdW5jdGlvbiAobGFzdFJlc3VsdCkge1xuICAgICAgICAgICAgaWYgKGtleVBhdGgpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoLCBsYXN0UmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKF8pIHsgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHsgcmV0dXJuIF90aGlzLmNvcmUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAnZGVsZXRlJywga2V5czogW2tleV0gfSk7IH0pXG4gICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7IHJldHVybiByZXMubnVtRmFpbHVyZXMgPyBEZXhpZVByb21pc2UucmVqZWN0KHJlcy5mYWlsdXJlc1swXSkgOiB1bmRlZmluZWQ7IH0pO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnMoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICh0cmFucykgeyByZXR1cm4gX3RoaXMuY29yZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdkZWxldGVSYW5nZScsIHJhbmdlOiBBbnlSYW5nZSB9KTsgfSlcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIHJlcy5udW1GYWlsdXJlcyA/IERleGllUHJvbWlzZS5yZWplY3QocmVzLmZhaWx1cmVzWzBdKSA6IHVuZGVmaW5lZDsgfSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuYnVsa0dldCA9IGZ1bmN0aW9uIChrZXlzJCQxKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFucygncmVhZG9ubHknLCBmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jb3JlLmdldE1hbnkoe1xuICAgICAgICAgICAgICAgIGtleXM6IGtleXMkJDEsXG4gICAgICAgICAgICAgICAgdHJhbnM6IHRyYW5zXG4gICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHsgcmV0dXJuIHJlc3VsdC5tYXAoZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gX3RoaXMuaG9vay5yZWFkaW5nLmZpcmUocmVzKTsgfSk7IH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5idWxrQWRkID0gZnVuY3Rpb24gKG9iamVjdHMsIGtleXNPck9wdGlvbnMsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGtleXMkJDEgPSBBcnJheS5pc0FycmF5KGtleXNPck9wdGlvbnMpID8ga2V5c09yT3B0aW9ucyA6IHVuZGVmaW5lZDtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwgKGtleXMkJDEgPyB1bmRlZmluZWQgOiBrZXlzT3JPcHRpb25zKTtcbiAgICAgICAgdmFyIHdhbnRSZXN1bHRzID0gb3B0aW9ucyA/IG9wdGlvbnMuYWxsS2V5cyA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnNjaGVtYS5wcmltS2V5LCBhdXRvID0gX2EuYXV0bywga2V5UGF0aCA9IF9hLmtleVBhdGg7XG4gICAgICAgICAgICBpZiAoa2V5UGF0aCAmJiBrZXlzJCQxKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcImJ1bGtBZGQoKToga2V5cyBhcmd1bWVudCBpbnZhbGlkIG9uIHRhYmxlcyB3aXRoIGluYm91bmQga2V5c1wiKTtcbiAgICAgICAgICAgIGlmIChrZXlzJCQxICYmIGtleXMkJDEubGVuZ3RoICE9PSBvYmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJBcmd1bWVudHMgb2JqZWN0cyBhbmQga2V5cyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCIpO1xuICAgICAgICAgICAgdmFyIG51bU9iamVjdHMgPSBvYmplY3RzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBvYmplY3RzVG9BZGQgPSBrZXlQYXRoICYmIGF1dG8gP1xuICAgICAgICAgICAgICAgIG9iamVjdHMubWFwKHdvcmthcm91bmRGb3JVbmRlZmluZWRQcmltS2V5KGtleVBhdGgpKSA6XG4gICAgICAgICAgICAgICAgb2JqZWN0cztcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2FkZCcsIGtleXM6IGtleXMkJDEsIHZhbHVlczogb2JqZWN0c1RvQWRkLCB3YW50UmVzdWx0czogd2FudFJlc3VsdHMgfSlcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgbnVtRmFpbHVyZXMgPSBfYS5udW1GYWlsdXJlcywgcmVzdWx0cyA9IF9hLnJlc3VsdHMsIGxhc3RSZXN1bHQgPSBfYS5sYXN0UmVzdWx0LCBmYWlsdXJlcyA9IF9hLmZhaWx1cmVzO1xuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSB3YW50UmVzdWx0cyA/IHJlc3VsdHMgOiBsYXN0UmVzdWx0O1xuICAgICAgICAgICAgICAgIGlmIChudW1GYWlsdXJlcyA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQnVsa0Vycm9yKF90aGlzLm5hbWUgKyBcIi5idWxrQWRkKCk6IFwiICsgbnVtRmFpbHVyZXMgKyBcIiBvZiBcIiArIG51bU9iamVjdHMgKyBcIiBvcGVyYXRpb25zIGZhaWxlZFwiLCBPYmplY3Qua2V5cyhmYWlsdXJlcykubWFwKGZ1bmN0aW9uIChwb3MpIHsgcmV0dXJuIGZhaWx1cmVzW3Bvc107IH0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5idWxrUHV0ID0gZnVuY3Rpb24gKG9iamVjdHMsIGtleXNPck9wdGlvbnMsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGtleXMkJDEgPSBBcnJheS5pc0FycmF5KGtleXNPck9wdGlvbnMpID8ga2V5c09yT3B0aW9ucyA6IHVuZGVmaW5lZDtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwgKGtleXMkJDEgPyB1bmRlZmluZWQgOiBrZXlzT3JPcHRpb25zKTtcbiAgICAgICAgdmFyIHdhbnRSZXN1bHRzID0gb3B0aW9ucyA/IG9wdGlvbnMuYWxsS2V5cyA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IF90aGlzLnNjaGVtYS5wcmltS2V5LCBhdXRvID0gX2EuYXV0bywga2V5UGF0aCA9IF9hLmtleVBhdGg7XG4gICAgICAgICAgICBpZiAoa2V5UGF0aCAmJiBrZXlzJCQxKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcImJ1bGtQdXQoKToga2V5cyBhcmd1bWVudCBpbnZhbGlkIG9uIHRhYmxlcyB3aXRoIGluYm91bmQga2V5c1wiKTtcbiAgICAgICAgICAgIGlmIChrZXlzJCQxICYmIGtleXMkJDEubGVuZ3RoICE9PSBvYmplY3RzLmxlbmd0aClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJBcmd1bWVudHMgb2JqZWN0cyBhbmQga2V5cyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCIpO1xuICAgICAgICAgICAgdmFyIG51bU9iamVjdHMgPSBvYmplY3RzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhciBvYmplY3RzVG9QdXQgPSBrZXlQYXRoICYmIGF1dG8gP1xuICAgICAgICAgICAgICAgIG9iamVjdHMubWFwKHdvcmthcm91bmRGb3JVbmRlZmluZWRQcmltS2V5KGtleVBhdGgpKSA6XG4gICAgICAgICAgICAgICAgb2JqZWN0cztcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ3B1dCcsIGtleXM6IGtleXMkJDEsIHZhbHVlczogb2JqZWN0c1RvUHV0LCB3YW50UmVzdWx0czogd2FudFJlc3VsdHMgfSlcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgbnVtRmFpbHVyZXMgPSBfYS5udW1GYWlsdXJlcywgcmVzdWx0cyA9IF9hLnJlc3VsdHMsIGxhc3RSZXN1bHQgPSBfYS5sYXN0UmVzdWx0LCBmYWlsdXJlcyA9IF9hLmZhaWx1cmVzO1xuICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSB3YW50UmVzdWx0cyA/IHJlc3VsdHMgOiBsYXN0UmVzdWx0O1xuICAgICAgICAgICAgICAgIGlmIChudW1GYWlsdXJlcyA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQnVsa0Vycm9yKF90aGlzLm5hbWUgKyBcIi5idWxrUHV0KCk6IFwiICsgbnVtRmFpbHVyZXMgKyBcIiBvZiBcIiArIG51bU9iamVjdHMgKyBcIiBvcGVyYXRpb25zIGZhaWxlZFwiLCBPYmplY3Qua2V5cyhmYWlsdXJlcykubWFwKGZ1bmN0aW9uIChwb3MpIHsgcmV0dXJuIGZhaWx1cmVzW3Bvc107IH0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5idWxrRGVsZXRlID0gZnVuY3Rpb24gKGtleXMkJDEpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIG51bUtleXMgPSBrZXlzJCQxLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2RlbGV0ZScsIGtleXM6IGtleXMkJDEgfSk7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICB2YXIgbnVtRmFpbHVyZXMgPSBfYS5udW1GYWlsdXJlcywgbGFzdFJlc3VsdCA9IF9hLmxhc3RSZXN1bHQsIGZhaWx1cmVzID0gX2EuZmFpbHVyZXM7XG4gICAgICAgICAgICBpZiAobnVtRmFpbHVyZXMgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQnVsa0Vycm9yKF90aGlzLm5hbWUgKyBcIi5idWxrRGVsZXRlKCk6IFwiICsgbnVtRmFpbHVyZXMgKyBcIiBvZiBcIiArIG51bUtleXMgKyBcIiBvcGVyYXRpb25zIGZhaWxlZFwiLCBmYWlsdXJlcyk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIFRhYmxlO1xufSgpKTtcblxuZnVuY3Rpb24gRXZlbnRzKGN0eCkge1xuICAgIHZhciBldnMgPSB7fTtcbiAgICB2YXIgcnYgPSBmdW5jdGlvbiAoZXZlbnROYW1lLCBzdWJzY3JpYmVyKSB7XG4gICAgICAgIGlmIChzdWJzY3JpYmVyKSB7XG4gICAgICAgICAgICB2YXIgaSA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoaSAtIDEpO1xuICAgICAgICAgICAgd2hpbGUgKC0taSlcbiAgICAgICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGV2c1tldmVudE5hbWVdLnN1YnNjcmliZS5hcHBseShudWxsLCBhcmdzKTtcbiAgICAgICAgICAgIHJldHVybiBjdHg7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIChldmVudE5hbWUpID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGV2c1tldmVudE5hbWVdO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBydi5hZGRFdmVudFR5cGUgPSBhZGQ7XG4gICAgZm9yICh2YXIgaSA9IDEsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgKytpKSB7XG4gICAgICAgIGFkZChhcmd1bWVudHNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gICAgZnVuY3Rpb24gYWRkKGV2ZW50TmFtZSwgY2hhaW5GdW5jdGlvbiwgZGVmYXVsdEZ1bmN0aW9uKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZXZlbnROYW1lID09PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHJldHVybiBhZGRDb25maWd1cmVkRXZlbnRzKGV2ZW50TmFtZSk7XG4gICAgICAgIGlmICghY2hhaW5GdW5jdGlvbilcbiAgICAgICAgICAgIGNoYWluRnVuY3Rpb24gPSByZXZlcnNlU3RvcHBhYmxlRXZlbnRDaGFpbjtcbiAgICAgICAgaWYgKCFkZWZhdWx0RnVuY3Rpb24pXG4gICAgICAgICAgICBkZWZhdWx0RnVuY3Rpb24gPSBub3A7XG4gICAgICAgIHZhciBjb250ZXh0ID0ge1xuICAgICAgICAgICAgc3Vic2NyaWJlcnM6IFtdLFxuICAgICAgICAgICAgZmlyZTogZGVmYXVsdEZ1bmN0aW9uLFxuICAgICAgICAgICAgc3Vic2NyaWJlOiBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29udGV4dC5zdWJzY3JpYmVycy5pbmRleE9mKGNiKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5zdWJzY3JpYmVycy5wdXNoKGNiKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5maXJlID0gY2hhaW5GdW5jdGlvbihjb250ZXh0LmZpcmUsIGNiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdW5zdWJzY3JpYmU6IGZ1bmN0aW9uIChjYikge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuc3Vic2NyaWJlcnMgPSBjb250ZXh0LnN1YnNjcmliZXJzLmZpbHRlcihmdW5jdGlvbiAoZm4pIHsgcmV0dXJuIGZuICE9PSBjYjsgfSk7XG4gICAgICAgICAgICAgICAgY29udGV4dC5maXJlID0gY29udGV4dC5zdWJzY3JpYmVycy5yZWR1Y2UoY2hhaW5GdW5jdGlvbiwgZGVmYXVsdEZ1bmN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZXZzW2V2ZW50TmFtZV0gPSBydltldmVudE5hbWVdID0gY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFkZENvbmZpZ3VyZWRFdmVudHMoY2ZnKSB7XG4gICAgICAgIGtleXMoY2ZnKS5mb3JFYWNoKGZ1bmN0aW9uIChldmVudE5hbWUpIHtcbiAgICAgICAgICAgIHZhciBhcmdzID0gY2ZnW2V2ZW50TmFtZV07XG4gICAgICAgICAgICBpZiAoaXNBcnJheShhcmdzKSkge1xuICAgICAgICAgICAgICAgIGFkZChldmVudE5hbWUsIGNmZ1tldmVudE5hbWVdWzBdLCBjZmdbZXZlbnROYW1lXVsxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhcmdzID09PSAnYXNhcCcpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGV4dCA9IGFkZChldmVudE5hbWUsIG1pcnJvciwgZnVuY3Rpb24gZmlyZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KGkpO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaS0tKVxuICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5zdWJzY3JpYmVycy5mb3JFYWNoKGZ1bmN0aW9uIChmbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXNhcChmdW5jdGlvbiBmaXJlRXZlbnQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KFwiSW52YWxpZCBldmVudCBjb25maWdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbWFrZUNsYXNzQ29uc3RydWN0b3IocHJvdG90eXBlLCBjb25zdHJ1Y3Rvcikge1xuICAgIGRlcml2ZShjb25zdHJ1Y3RvcikuZnJvbSh7IHByb3RvdHlwZTogcHJvdG90eXBlIH0pO1xuICAgIHJldHVybiBjb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGFibGVDb25zdHJ1Y3RvcihkYikge1xuICAgIHJldHVybiBtYWtlQ2xhc3NDb25zdHJ1Y3RvcihUYWJsZS5wcm90b3R5cGUsIGZ1bmN0aW9uIFRhYmxlJCQxKG5hbWUsIHRhYmxlU2NoZW1hLCB0cmFucykge1xuICAgICAgICB0aGlzLmRiID0gZGI7XG4gICAgICAgIHRoaXMuX3R4ID0gdHJhbnM7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuc2NoZW1hID0gdGFibGVTY2hlbWE7XG4gICAgICAgIHRoaXMuaG9vayA9IGRiLl9hbGxUYWJsZXNbbmFtZV0gPyBkYi5fYWxsVGFibGVzW25hbWVdLmhvb2sgOiBFdmVudHMobnVsbCwge1xuICAgICAgICAgICAgXCJjcmVhdGluZ1wiOiBbaG9va0NyZWF0aW5nQ2hhaW4sIG5vcF0sXG4gICAgICAgICAgICBcInJlYWRpbmdcIjogW3B1cmVGdW5jdGlvbkNoYWluLCBtaXJyb3JdLFxuICAgICAgICAgICAgXCJ1cGRhdGluZ1wiOiBbaG9va1VwZGF0aW5nQ2hhaW4sIG5vcF0sXG4gICAgICAgICAgICBcImRlbGV0aW5nXCI6IFtob29rRGVsZXRpbmdDaGFpbiwgbm9wXVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gaXNQbGFpbktleVJhbmdlKGN0eCwgaWdub3JlTGltaXRGaWx0ZXIpIHtcbiAgICByZXR1cm4gIShjdHguZmlsdGVyIHx8IGN0eC5hbGdvcml0aG0gfHwgY3R4Lm9yKSAmJlxuICAgICAgICAoaWdub3JlTGltaXRGaWx0ZXIgPyBjdHguanVzdExpbWl0IDogIWN0eC5yZXBsYXlGaWx0ZXIpO1xufVxuZnVuY3Rpb24gYWRkRmlsdGVyKGN0eCwgZm4pIHtcbiAgICBjdHguZmlsdGVyID0gY29tYmluZShjdHguZmlsdGVyLCBmbik7XG59XG5mdW5jdGlvbiBhZGRSZXBsYXlGaWx0ZXIoY3R4LCBmYWN0b3J5LCBpc0xpbWl0RmlsdGVyKSB7XG4gICAgdmFyIGN1cnIgPSBjdHgucmVwbGF5RmlsdGVyO1xuICAgIGN0eC5yZXBsYXlGaWx0ZXIgPSBjdXJyID8gZnVuY3Rpb24gKCkgeyByZXR1cm4gY29tYmluZShjdXJyKCksIGZhY3RvcnkoKSk7IH0gOiBmYWN0b3J5O1xuICAgIGN0eC5qdXN0TGltaXQgPSBpc0xpbWl0RmlsdGVyICYmICFjdXJyO1xufVxuZnVuY3Rpb24gYWRkTWF0Y2hGaWx0ZXIoY3R4LCBmbikge1xuICAgIGN0eC5pc01hdGNoID0gY29tYmluZShjdHguaXNNYXRjaCwgZm4pO1xufVxuZnVuY3Rpb24gZ2V0SW5kZXhPclN0b3JlKGN0eCwgY29yZVNjaGVtYSkge1xuICAgIGlmIChjdHguaXNQcmltS2V5KVxuICAgICAgICByZXR1cm4gY29yZVNjaGVtYS5wcmltYXJ5S2V5O1xuICAgIHZhciBpbmRleCA9IGNvcmVTY2hlbWEuZ2V0SW5kZXhCeUtleVBhdGgoY3R4LmluZGV4KTtcbiAgICBpZiAoIWluZGV4KVxuICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5TY2hlbWEoXCJLZXlQYXRoIFwiICsgY3R4LmluZGV4ICsgXCIgb24gb2JqZWN0IHN0b3JlIFwiICsgY29yZVNjaGVtYS5uYW1lICsgXCIgaXMgbm90IGluZGV4ZWRcIik7XG4gICAgcmV0dXJuIGluZGV4O1xufVxuZnVuY3Rpb24gb3BlbkN1cnNvcihjdHgsIGNvcmVUYWJsZSwgdHJhbnMpIHtcbiAgICB2YXIgaW5kZXggPSBnZXRJbmRleE9yU3RvcmUoY3R4LCBjb3JlVGFibGUuc2NoZW1hKTtcbiAgICByZXR1cm4gY29yZVRhYmxlLm9wZW5DdXJzb3Ioe1xuICAgICAgICB0cmFuczogdHJhbnMsXG4gICAgICAgIHZhbHVlczogIWN0eC5rZXlzT25seSxcbiAgICAgICAgcmV2ZXJzZTogY3R4LmRpciA9PT0gJ3ByZXYnLFxuICAgICAgICB1bmlxdWU6ICEhY3R4LnVuaXF1ZSxcbiAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgIHJhbmdlOiBjdHgucmFuZ2VcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaXRlcihjdHgsIGZuLCBjb3JlVHJhbnMsIGNvcmVUYWJsZSkge1xuICAgIHZhciBmaWx0ZXIgPSBjdHgucmVwbGF5RmlsdGVyID8gY29tYmluZShjdHguZmlsdGVyLCBjdHgucmVwbGF5RmlsdGVyKCkpIDogY3R4LmZpbHRlcjtcbiAgICBpZiAoIWN0eC5vcikge1xuICAgICAgICByZXR1cm4gaXRlcmF0ZShvcGVuQ3Vyc29yKGN0eCwgY29yZVRhYmxlLCBjb3JlVHJhbnMpLCBjb21iaW5lKGN0eC5hbGdvcml0aG0sIGZpbHRlciksIGZuLCAhY3R4LmtleXNPbmx5ICYmIGN0eC52YWx1ZU1hcHBlcik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgc2V0XzEgPSB7fTtcbiAgICAgICAgdmFyIHVuaW9uID0gZnVuY3Rpb24gKGl0ZW0sIGN1cnNvciwgYWR2YW5jZSkge1xuICAgICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGN1cnNvciwgYWR2YW5jZSwgZnVuY3Rpb24gKHJlc3VsdCkgeyByZXR1cm4gY3Vyc29yLnN0b3AocmVzdWx0KTsgfSwgZnVuY3Rpb24gKGVycikgeyByZXR1cm4gY3Vyc29yLmZhaWwoZXJyKTsgfSkpIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJpbWFyeUtleSA9IGN1cnNvci5wcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgIHZhciBrZXkgPSAnJyArIHByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJylcbiAgICAgICAgICAgICAgICAgICAga2V5ID0gJycgKyBuZXcgVWludDhBcnJheShwcmltYXJ5S2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc093bihzZXRfMSwga2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRfMVtrZXldID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm4oaXRlbSwgY3Vyc29yLCBhZHZhbmNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICBjdHgub3IuX2l0ZXJhdGUodW5pb24sIGNvcmVUcmFucyksXG4gICAgICAgICAgICBpdGVyYXRlKG9wZW5DdXJzb3IoY3R4LCBjb3JlVGFibGUsIGNvcmVUcmFucyksIGN0eC5hbGdvcml0aG0sIHVuaW9uLCAhY3R4LmtleXNPbmx5ICYmIGN0eC52YWx1ZU1hcHBlcilcbiAgICAgICAgXSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaXRlcmF0ZShjdXJzb3JQcm9taXNlLCBmaWx0ZXIsIGZuLCB2YWx1ZU1hcHBlcikge1xuICAgIHZhciBtYXBwZWRGbiA9IHZhbHVlTWFwcGVyID8gZnVuY3Rpb24gKHgsIGMsIGEpIHsgcmV0dXJuIGZuKHZhbHVlTWFwcGVyKHgpLCBjLCBhKTsgfSA6IGZuO1xuICAgIHZhciB3cmFwcGVkRm4gPSB3cmFwKG1hcHBlZEZuKTtcbiAgICByZXR1cm4gY3Vyc29yUHJvbWlzZS50aGVuKGZ1bmN0aW9uIChjdXJzb3IpIHtcbiAgICAgICAgaWYgKGN1cnNvcikge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnNvci5zdGFydChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBjdXJzb3IuY29udGludWUoKTsgfTtcbiAgICAgICAgICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoY3Vyc29yLCBmdW5jdGlvbiAoYWR2YW5jZXIpIHsgcmV0dXJuIGMgPSBhZHZhbmNlcjsgfSwgZnVuY3Rpb24gKHZhbCkgeyBjdXJzb3Iuc3RvcCh2YWwpOyBjID0gbm9wOyB9LCBmdW5jdGlvbiAoZSkgeyBjdXJzb3IuZmFpbChlKTsgYyA9IG5vcDsgfSkpXG4gICAgICAgICAgICAgICAgICAgIHdyYXBwZWRGbihjdXJzb3IudmFsdWUsIGN1cnNvciwgZnVuY3Rpb24gKGFkdmFuY2VyKSB7IHJldHVybiBjID0gYWR2YW5jZXI7IH0pO1xuICAgICAgICAgICAgICAgIGMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbnZhciBDb2xsZWN0aW9uID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIENvbGxlY3Rpb24oKSB7XG4gICAgfVxuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKGZuLCBjYikge1xuICAgICAgICB2YXIgY3R4ID0gdGhpcy5fY3R4O1xuICAgICAgICByZXR1cm4gY3R4LmVycm9yID9cbiAgICAgICAgICAgIGN0eC50YWJsZS5fdHJhbnMobnVsbCwgcmVqZWN0aW9uLmJpbmQobnVsbCwgY3R4LmVycm9yKSkgOlxuICAgICAgICAgICAgY3R4LnRhYmxlLl90cmFucygncmVhZG9ubHknLCBmbikudGhlbihjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgcmV0dXJuIGN0eC5lcnJvciA/XG4gICAgICAgICAgICBjdHgudGFibGUuX3RyYW5zKG51bGwsIHJlamVjdGlvbi5iaW5kKG51bGwsIGN0eC5lcnJvcikpIDpcbiAgICAgICAgICAgIGN0eC50YWJsZS5fdHJhbnMoJ3JlYWR3cml0ZScsIGZuLCBcImxvY2tlZFwiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLl9hZGRBbGdvcml0aG0gPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgY3R4LmFsZ29yaXRobSA9IGNvbWJpbmUoY3R4LmFsZ29yaXRobSwgZm4pO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuX2l0ZXJhdGUgPSBmdW5jdGlvbiAoZm4sIGNvcmVUcmFucykge1xuICAgICAgICByZXR1cm4gaXRlcih0aGlzLl9jdHgsIGZuLCBjb3JlVHJhbnMsIHRoaXMuX2N0eC50YWJsZS5jb3JlKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gKHByb3BzJCQxKSB7XG4gICAgICAgIHZhciBydiA9IE9iamVjdC5jcmVhdGUodGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpLCBjdHggPSBPYmplY3QuY3JlYXRlKHRoaXMuX2N0eCk7XG4gICAgICAgIGlmIChwcm9wcyQkMSlcbiAgICAgICAgICAgIGV4dGVuZChjdHgsIHByb3BzJCQxKTtcbiAgICAgICAgcnYuX2N0eCA9IGN0eDtcbiAgICAgICAgcmV0dXJuIHJ2O1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUucmF3ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLl9jdHgudmFsdWVNYXBwZXIgPSBudWxsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmVhY2ggPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWQoZnVuY3Rpb24gKHRyYW5zKSB7IHJldHVybiBpdGVyKGN0eCwgZm4sIHRyYW5zLCBjdHgudGFibGUuY29yZSk7IH0pO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuY291bnQgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWQoZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICB2YXIgY3R4ID0gX3RoaXMuX2N0eDtcbiAgICAgICAgICAgIHZhciBjb3JlVGFibGUgPSBjdHgudGFibGUuY29yZTtcbiAgICAgICAgICAgIGlmIChpc1BsYWluS2V5UmFuZ2UoY3R4LCB0cnVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3JlVGFibGUuY291bnQoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuczogdHJhbnMsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogZ2V0SW5kZXhPclN0b3JlKGN0eCwgY29yZVRhYmxlLnNjaGVtYSksXG4gICAgICAgICAgICAgICAgICAgICAgICByYW5nZTogY3R4LnJhbmdlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChjb3VudCkgeyByZXR1cm4gTWF0aC5taW4oY291bnQsIGN0eC5saW1pdCk7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gMDtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlcihjdHgsIGZ1bmN0aW9uICgpIHsgKytjb3VudDsgcmV0dXJuIGZhbHNlOyB9LCB0cmFucywgY29yZVRhYmxlKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBjb3VudDsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuc29ydEJ5ID0gZnVuY3Rpb24gKGtleVBhdGgsIGNiKSB7XG4gICAgICAgIHZhciBwYXJ0cyA9IGtleVBhdGguc3BsaXQoJy4nKS5yZXZlcnNlKCksIGxhc3RQYXJ0ID0gcGFydHNbMF0sIGxhc3RJbmRleCA9IHBhcnRzLmxlbmd0aCAtIDE7XG4gICAgICAgIGZ1bmN0aW9uIGdldHZhbChvYmosIGkpIHtcbiAgICAgICAgICAgIGlmIChpKVxuICAgICAgICAgICAgICAgIHJldHVybiBnZXR2YWwob2JqW3BhcnRzW2ldXSwgaSAtIDEpO1xuICAgICAgICAgICAgcmV0dXJuIG9ialtsYXN0UGFydF07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9yZGVyID0gdGhpcy5fY3R4LmRpciA9PT0gXCJuZXh0XCIgPyAxIDogLTE7XG4gICAgICAgIGZ1bmN0aW9uIHNvcnRlcihhLCBiKSB7XG4gICAgICAgICAgICB2YXIgYVZhbCA9IGdldHZhbChhLCBsYXN0SW5kZXgpLCBiVmFsID0gZ2V0dmFsKGIsIGxhc3RJbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gYVZhbCA8IGJWYWwgPyAtb3JkZXIgOiBhVmFsID4gYlZhbCA/IG9yZGVyIDogMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50b0FycmF5KGZ1bmN0aW9uIChhKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5zb3J0KHNvcnRlcik7XG4gICAgICAgIH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZChmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHZhciBjdHggPSBfdGhpcy5fY3R4O1xuICAgICAgICAgICAgaWYgKGN0eC5kaXIgPT09ICduZXh0JyAmJiBpc1BsYWluS2V5UmFuZ2UoY3R4LCB0cnVlKSAmJiBjdHgubGltaXQgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlTWFwcGVyXzEgPSBjdHgudmFsdWVNYXBwZXI7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhPclN0b3JlKGN0eCwgY3R4LnRhYmxlLmNvcmUuc2NoZW1hKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnRhYmxlLmNvcmUucXVlcnkoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuczogdHJhbnMsXG4gICAgICAgICAgICAgICAgICAgIGxpbWl0OiBjdHgubGltaXQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlOiBjdHgucmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBfYS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZU1hcHBlcl8xID8gcmVzdWx0Lm1hcCh2YWx1ZU1hcHBlcl8xKSA6IHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBhXzEgPSBbXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlcihjdHgsIGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBhXzEucHVzaChpdGVtKTsgfSwgdHJhbnMsIGN0eC50YWJsZS5jb3JlKS50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFfMTsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLm9mZnNldCA9IGZ1bmN0aW9uIChvZmZzZXQpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgaWYgKG9mZnNldCA8PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIGN0eC5vZmZzZXQgKz0gb2Zmc2V0O1xuICAgICAgICBpZiAoaXNQbGFpbktleVJhbmdlKGN0eCkpIHtcbiAgICAgICAgICAgIGFkZFJlcGxheUZpbHRlcihjdHgsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0TGVmdCA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGN1cnNvciwgYWR2YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0TGVmdCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0TGVmdCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLS1vZmZzZXRMZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGFkdmFuY2UoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmFkdmFuY2Uob2Zmc2V0TGVmdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBhZGRSZXBsYXlGaWx0ZXIoY3R4LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9mZnNldExlZnQgPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgcmV0dXJuICgtLW9mZnNldExlZnQgPCAwKTsgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUubGltaXQgPSBmdW5jdGlvbiAobnVtUm93cykge1xuICAgICAgICB0aGlzLl9jdHgubGltaXQgPSBNYXRoLm1pbih0aGlzLl9jdHgubGltaXQsIG51bVJvd3MpO1xuICAgICAgICBhZGRSZXBsYXlGaWx0ZXIodGhpcy5fY3R4LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgcm93c0xlZnQgPSBudW1Sb3dzO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChjdXJzb3IsIGFkdmFuY2UsIHJlc29sdmUpIHtcbiAgICAgICAgICAgICAgICBpZiAoLS1yb3dzTGVmdCA8PSAwKVxuICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgIHJldHVybiByb3dzTGVmdCA+PSAwO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUudW50aWwgPSBmdW5jdGlvbiAoZmlsdGVyRnVuY3Rpb24sIGJJbmNsdWRlU3RvcEVudHJ5KSB7XG4gICAgICAgIGFkZEZpbHRlcih0aGlzLl9jdHgsIGZ1bmN0aW9uIChjdXJzb3IsIGFkdmFuY2UsIHJlc29sdmUpIHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbihjdXJzb3IudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgYWR2YW5jZShyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYkluY2x1ZGVTdG9wRW50cnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuZmlyc3QgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGltaXQoMSkudG9BcnJheShmdW5jdGlvbiAoYSkgeyByZXR1cm4gYVswXTsgfSkudGhlbihjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5sYXN0ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKS5maXJzdChjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoZmlsdGVyRnVuY3Rpb24pIHtcbiAgICAgICAgYWRkRmlsdGVyKHRoaXMuX2N0eCwgZnVuY3Rpb24gKGN1cnNvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmN0aW9uKGN1cnNvci52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBhZGRNYXRjaEZpbHRlcih0aGlzLl9jdHgsIGZpbHRlckZ1bmN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiAoZmlsdGVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihmaWx0ZXIpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiAoaW5kZXhOYW1lKSB7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5kYi5XaGVyZUNsYXVzZSh0aGlzLl9jdHgudGFibGUsIGluZGV4TmFtZSwgdGhpcyk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5yZXZlcnNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLl9jdHguZGlyID0gKHRoaXMuX2N0eC5kaXIgPT09IFwicHJldlwiID8gXCJuZXh0XCIgOiBcInByZXZcIik7XG4gICAgICAgIGlmICh0aGlzLl9vbmRpcmVjdGlvbmNoYW5nZSlcbiAgICAgICAgICAgIHRoaXMuX29uZGlyZWN0aW9uY2hhbmdlKHRoaXMuX2N0eC5kaXIpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmRlc2MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmVhY2hLZXkgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgY3R4LmtleXNPbmx5ID0gIWN0eC5pc01hdGNoO1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICh2YWwsIGN1cnNvcikgeyBjYihjdXJzb3Iua2V5LCBjdXJzb3IpOyB9KTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmVhY2hVbmlxdWVLZXkgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdGhpcy5fY3R4LnVuaXF1ZSA9IFwidW5pcXVlXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmVhY2hLZXkoY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuZWFjaFByaW1hcnlLZXkgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgY3R4LmtleXNPbmx5ID0gIWN0eC5pc01hdGNoO1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICh2YWwsIGN1cnNvcikgeyBjYihjdXJzb3IucHJpbWFyeUtleSwgY3Vyc29yKTsgfSk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5rZXlzID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGN0eC5rZXlzT25seSA9ICFjdHguaXNNYXRjaDtcbiAgICAgICAgdmFyIGEgPSBbXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoaXRlbSwgY3Vyc29yKSB7XG4gICAgICAgICAgICBhLnB1c2goY3Vyc29yLmtleSk7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUucHJpbWFyeUtleXMgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgaWYgKGN0eC5kaXIgPT09ICduZXh0JyAmJiBpc1BsYWluS2V5UmFuZ2UoY3R4LCB0cnVlKSAmJiBjdHgubGltaXQgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fcmVhZChmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBnZXRJbmRleE9yU3RvcmUoY3R4LCBjdHgudGFibGUuY29yZS5zY2hlbWEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHgudGFibGUuY29yZS5xdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zOiB0cmFucyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbGltaXQ6IGN0eC5saW1pdCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlOiBjdHgucmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gX2EucmVzdWx0O1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9KS50aGVuKGNiKTtcbiAgICAgICAgfVxuICAgICAgICBjdHgua2V5c09ubHkgPSAhY3R4LmlzTWF0Y2g7XG4gICAgICAgIHZhciBhID0gW107XG4gICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKGl0ZW0sIGN1cnNvcikge1xuICAgICAgICAgICAgYS5wdXNoKGN1cnNvci5wcmltYXJ5S2V5KTtcbiAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfSkudGhlbihjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS51bmlxdWVLZXlzID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHRoaXMuX2N0eC51bmlxdWUgPSBcInVuaXF1ZVwiO1xuICAgICAgICByZXR1cm4gdGhpcy5rZXlzKGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmZpcnN0S2V5ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbWl0KDEpLmtleXMoZnVuY3Rpb24gKGEpIHsgcmV0dXJuIGFbMF07IH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUubGFzdEtleSA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmlyc3RLZXkoY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuZGlzdGluY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHgsIGlkeCA9IGN0eC5pbmRleCAmJiBjdHgudGFibGUuc2NoZW1hLmlkeEJ5TmFtZVtjdHguaW5kZXhdO1xuICAgICAgICBpZiAoIWlkeCB8fCAhaWR4Lm11bHRpKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIHZhciBzZXQgPSB7fTtcbiAgICAgICAgYWRkRmlsdGVyKHRoaXMuX2N0eCwgZnVuY3Rpb24gKGN1cnNvcikge1xuICAgICAgICAgICAgdmFyIHN0cktleSA9IGN1cnNvci5wcmltYXJ5S2V5LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB2YXIgZm91bmQgPSBoYXNPd24oc2V0LCBzdHJLZXkpO1xuICAgICAgICAgICAgc2V0W3N0cktleV0gPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuICFmb3VuZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUubW9kaWZ5ID0gZnVuY3Rpb24gKGNoYW5nZXMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dyaXRlKGZ1bmN0aW9uICh0cmFucykge1xuICAgICAgICAgICAgdmFyIG1vZGlmeWVyO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGFuZ2VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgbW9kaWZ5ZXIgPSBjaGFuZ2VzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleVBhdGhzID0ga2V5cyhjaGFuZ2VzKTtcbiAgICAgICAgICAgICAgICB2YXIgbnVtS2V5cyA9IGtleVBhdGhzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBtb2RpZnllciA9IGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBhbnl0aGluZ01vZGlmaWVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtS2V5czsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5UGF0aCA9IGtleVBhdGhzW2ldLCB2YWwgPSBjaGFuZ2VzW2tleVBhdGhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEJ5S2V5UGF0aChpdGVtLCBrZXlQYXRoKSAhPT0gdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QnlLZXlQYXRoKGl0ZW0sIGtleVBhdGgsIHZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW55dGhpbmdNb2RpZmllZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFueXRoaW5nTW9kaWZpZWQ7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBjb3JlVGFibGUgPSBjdHgudGFibGUuY29yZTtcbiAgICAgICAgICAgIHZhciBfYSA9IGNvcmVUYWJsZS5zY2hlbWEucHJpbWFyeUtleSwgb3V0Ym91bmQgPSBfYS5vdXRib3VuZCwgZXh0cmFjdEtleSA9IF9hLmV4dHJhY3RLZXk7XG4gICAgICAgICAgICB2YXIgbGltaXQgPSAndGVzdG1vZGUnIGluIERleGllID8gMSA6IDIwMDA7XG4gICAgICAgICAgICB2YXIgY21wID0gX3RoaXMuZGIuY29yZS5jbXA7XG4gICAgICAgICAgICB2YXIgdG90YWxGYWlsdXJlcyA9IFtdO1xuICAgICAgICAgICAgdmFyIHN1Y2Nlc3NDb3VudCA9IDA7XG4gICAgICAgICAgICB2YXIgZmFpbGVkS2V5cyA9IFtdO1xuICAgICAgICAgICAgdmFyIGFwcGx5TXV0YXRlUmVzdWx0ID0gZnVuY3Rpb24gKGV4cGVjdGVkQ291bnQsIHJlcykge1xuICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlcyA9IHJlcy5mYWlsdXJlcywgbnVtRmFpbHVyZXMgPSByZXMubnVtRmFpbHVyZXM7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0NvdW50ICs9IGV4cGVjdGVkQ291bnQgLSBudW1GYWlsdXJlcztcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDAsIF9hID0ga2V5cyhmYWlsdXJlcyk7IF9pIDwgX2EubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwb3MgPSBfYVtfaV07XG4gICAgICAgICAgICAgICAgICAgIHRvdGFsRmFpbHVyZXMucHVzaChmYWlsdXJlc1twb3NdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lKCkucHJpbWFyeUtleXMoKS50aGVuKGZ1bmN0aW9uIChrZXlzJCQxKSB7XG4gICAgICAgICAgICAgICAgdmFyIG5leHRDaHVuayA9IGZ1bmN0aW9uIChvZmZzZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gTWF0aC5taW4obGltaXQsIGtleXMkJDEubGVuZ3RoIC0gb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvcmVUYWJsZS5nZXRNYW55KHsgdHJhbnM6IHRyYW5zLCBrZXlzOiBrZXlzJCQxLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgY291bnQpIH0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFkZFZhbHVlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1dFZhbHVlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHB1dEtleXMgPSBvdXRib3VuZCA/IFtdIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWxldGVLZXlzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3JpZ1ZhbHVlID0gdmFsdWVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdHhfMSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGRlZXBDbG9uZShvcmlnVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltS2V5OiBrZXlzJCQxW29mZnNldCArIGldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kaWZ5ZXIuY2FsbChjdHhfMSwgY3R4XzEudmFsdWUsIGN0eF8xKSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eF8xLnZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUtleXMucHVzaChrZXlzJCQxW29mZnNldCArIGldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghb3V0Ym91bmQgJiYgY21wKGV4dHJhY3RLZXkob3JpZ1ZhbHVlKSwgZXh0cmFjdEtleShjdHhfMS52YWx1ZSkpICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVLZXlzLnB1c2goa2V5cyQkMVtvZmZzZXQgKyBpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRWYWx1ZXMucHVzaChjdHhfMS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRWYWx1ZXMucHVzaChjdHhfMS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3V0Ym91bmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHV0S2V5cy5wdXNoKGtleXMkJDFbb2Zmc2V0ICsgaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShhZGRWYWx1ZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcmVUYWJsZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdhZGQnLCB2YWx1ZXM6IGFkZFZhbHVlcyB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHBvcyBpbiByZXMuZmFpbHVyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZUtleXMuc3BsaWNlKHBhcnNlSW50KHBvcyksIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5TXV0YXRlUmVzdWx0KGFkZFZhbHVlcy5sZW5ndGgsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gcHV0VmFsdWVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JlVGFibGUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAncHV0Jywga2V5czogcHV0S2V5cywgdmFsdWVzOiBwdXRWYWx1ZXMgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gYXBwbHlNdXRhdGVSZXN1bHQocHV0VmFsdWVzLmxlbmd0aCwgcmVzKTsgfSk7IH0pLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVsZXRlS2V5cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZVRhYmxlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2RlbGV0ZScsIGtleXM6IGRlbGV0ZUtleXMgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gYXBwbHlNdXRhdGVSZXN1bHQoZGVsZXRlS2V5cy5sZW5ndGgsIHJlcyk7IH0pOyB9KS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5cyQkMS5sZW5ndGggPiBvZmZzZXQgKyBjb3VudCAmJiBuZXh0Q2h1bmsob2Zmc2V0ICsgbGltaXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHRDaHVuaygwKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvdGFsRmFpbHVyZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBNb2RpZnlFcnJvcihcIkVycm9yIG1vZGlmeWluZyBvbmUgb3IgbW9yZSBvYmplY3RzXCIsIHRvdGFsRmFpbHVyZXMsIHN1Y2Nlc3NDb3VudCwgZmFpbGVkS2V5cyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXlzJCQxLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmRlbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eCwgcmFuZ2UgPSBjdHgucmFuZ2U7XG4gICAgICAgIGlmIChpc1BsYWluS2V5UmFuZ2UoY3R4KSAmJlxuICAgICAgICAgICAgKChjdHguaXNQcmltS2V5ICYmICFoYW5nc09uRGVsZXRlTGFyZ2VLZXlSYW5nZSkgfHwgcmFuZ2UudHlwZSA9PT0gMyAgICAgICAgICApKVxuICAgICAgICAge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dyaXRlKGZ1bmN0aW9uICh0cmFucykge1xuICAgICAgICAgICAgICAgIHZhciBwcmltYXJ5S2V5ID0gY3R4LnRhYmxlLmNvcmUuc2NoZW1hLnByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgdmFyIGNvcmVSYW5nZSA9IHJhbmdlO1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHgudGFibGUuY29yZS5jb3VudCh7IHRyYW5zOiB0cmFucywgcXVlcnk6IHsgaW5kZXg6IHByaW1hcnlLZXksIHJhbmdlOiBjb3JlUmFuZ2UgfSB9KS50aGVuKGZ1bmN0aW9uIChjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnRhYmxlLmNvcmUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAnZGVsZXRlUmFuZ2UnLCByYW5nZTogY29yZVJhbmdlIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlcyA9IF9hLmZhaWx1cmVzLCBsYXN0UmVzdWx0ID0gX2EubGFzdFJlc3VsdCwgcmVzdWx0cyA9IF9hLnJlc3VsdHMsIG51bUZhaWx1cmVzID0gX2EubnVtRmFpbHVyZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtRmFpbHVyZXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IE1vZGlmeUVycm9yKFwiQ291bGQgbm90IGRlbGV0ZSBzb21lIHZhbHVlc1wiLCBPYmplY3Qua2V5cyhmYWlsdXJlcykubWFwKGZ1bmN0aW9uIChwb3MpIHsgcmV0dXJuIGZhaWx1cmVzW3Bvc107IH0pLCBjb3VudCAtIG51bUZhaWx1cmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb3VudCAtIG51bUZhaWx1cmVzO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGlmeShmdW5jdGlvbiAodmFsdWUsIGN0eCkgeyByZXR1cm4gY3R4LnZhbHVlID0gbnVsbDsgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gQ29sbGVjdGlvbjtcbn0oKSk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbGxlY3Rpb25Db25zdHJ1Y3RvcihkYikge1xuICAgIHJldHVybiBtYWtlQ2xhc3NDb25zdHJ1Y3RvcihDb2xsZWN0aW9uLnByb3RvdHlwZSwgZnVuY3Rpb24gQ29sbGVjdGlvbiQkMSh3aGVyZUNsYXVzZSwga2V5UmFuZ2VHZW5lcmF0b3IpIHtcbiAgICAgICAgdGhpcy5kYiA9IGRiO1xuICAgICAgICB2YXIga2V5UmFuZ2UgPSBBbnlSYW5nZSwgZXJyb3IgPSBudWxsO1xuICAgICAgICBpZiAoa2V5UmFuZ2VHZW5lcmF0b3IpXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGtleVJhbmdlID0ga2V5UmFuZ2VHZW5lcmF0b3IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChleCkge1xuICAgICAgICAgICAgICAgIGVycm9yID0gZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIHZhciB3aGVyZUN0eCA9IHdoZXJlQ2xhdXNlLl9jdHg7XG4gICAgICAgIHZhciB0YWJsZSA9IHdoZXJlQ3R4LnRhYmxlO1xuICAgICAgICB2YXIgcmVhZGluZ0hvb2sgPSB0YWJsZS5ob29rLnJlYWRpbmcuZmlyZTtcbiAgICAgICAgdGhpcy5fY3R4ID0ge1xuICAgICAgICAgICAgdGFibGU6IHRhYmxlLFxuICAgICAgICAgICAgaW5kZXg6IHdoZXJlQ3R4LmluZGV4LFxuICAgICAgICAgICAgaXNQcmltS2V5OiAoIXdoZXJlQ3R4LmluZGV4IHx8ICh0YWJsZS5zY2hlbWEucHJpbUtleS5rZXlQYXRoICYmIHdoZXJlQ3R4LmluZGV4ID09PSB0YWJsZS5zY2hlbWEucHJpbUtleS5uYW1lKSksXG4gICAgICAgICAgICByYW5nZToga2V5UmFuZ2UsXG4gICAgICAgICAgICBrZXlzT25seTogZmFsc2UsXG4gICAgICAgICAgICBkaXI6IFwibmV4dFwiLFxuICAgICAgICAgICAgdW5pcXVlOiBcIlwiLFxuICAgICAgICAgICAgYWxnb3JpdGhtOiBudWxsLFxuICAgICAgICAgICAgZmlsdGVyOiBudWxsLFxuICAgICAgICAgICAgcmVwbGF5RmlsdGVyOiBudWxsLFxuICAgICAgICAgICAganVzdExpbWl0OiB0cnVlLFxuICAgICAgICAgICAgaXNNYXRjaDogbnVsbCxcbiAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgIGxpbWl0OiBJbmZpbml0eSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICAgIG9yOiB3aGVyZUN0eC5vcixcbiAgICAgICAgICAgIHZhbHVlTWFwcGVyOiByZWFkaW5nSG9vayAhPT0gbWlycm9yID8gcmVhZGluZ0hvb2sgOiBudWxsXG4gICAgICAgIH07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNpbXBsZUNvbXBhcmUoYSwgYikge1xuICAgIHJldHVybiBhIDwgYiA/IC0xIDogYSA9PT0gYiA/IDAgOiAxO1xufVxuZnVuY3Rpb24gc2ltcGxlQ29tcGFyZVJldmVyc2UoYSwgYikge1xuICAgIHJldHVybiBhID4gYiA/IC0xIDogYSA9PT0gYiA/IDAgOiAxO1xufVxuXG5mdW5jdGlvbiBmYWlsKGNvbGxlY3Rpb25PcldoZXJlQ2xhdXNlLCBlcnIsIFQpIHtcbiAgICB2YXIgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25PcldoZXJlQ2xhdXNlIGluc3RhbmNlb2YgV2hlcmVDbGF1c2UgP1xuICAgICAgICBuZXcgY29sbGVjdGlvbk9yV2hlcmVDbGF1c2UuQ29sbGVjdGlvbihjb2xsZWN0aW9uT3JXaGVyZUNsYXVzZSkgOlxuICAgICAgICBjb2xsZWN0aW9uT3JXaGVyZUNsYXVzZTtcbiAgICBjb2xsZWN0aW9uLl9jdHguZXJyb3IgPSBUID8gbmV3IFQoZXJyKSA6IG5ldyBUeXBlRXJyb3IoZXJyKTtcbiAgICByZXR1cm4gY29sbGVjdGlvbjtcbn1cbmZ1bmN0aW9uIGVtcHR5Q29sbGVjdGlvbih3aGVyZUNsYXVzZSkge1xuICAgIHJldHVybiBuZXcgd2hlcmVDbGF1c2UuQ29sbGVjdGlvbih3aGVyZUNsYXVzZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gcmFuZ2VFcXVhbChcIlwiKTsgfSkubGltaXQoMCk7XG59XG5mdW5jdGlvbiB1cHBlckZhY3RvcnkoZGlyKSB7XG4gICAgcmV0dXJuIGRpciA9PT0gXCJuZXh0XCIgP1xuICAgICAgICBmdW5jdGlvbiAocykgeyByZXR1cm4gcy50b1VwcGVyQ2FzZSgpOyB9IDpcbiAgICAgICAgZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHMudG9Mb3dlckNhc2UoKTsgfTtcbn1cbmZ1bmN0aW9uIGxvd2VyRmFjdG9yeShkaXIpIHtcbiAgICByZXR1cm4gZGlyID09PSBcIm5leHRcIiA/XG4gICAgICAgIGZ1bmN0aW9uIChzKSB7IHJldHVybiBzLnRvTG93ZXJDYXNlKCk7IH0gOlxuICAgICAgICBmdW5jdGlvbiAocykgeyByZXR1cm4gcy50b1VwcGVyQ2FzZSgpOyB9O1xufVxuZnVuY3Rpb24gbmV4dENhc2luZyhrZXksIGxvd2VyS2V5LCB1cHBlck5lZWRsZSwgbG93ZXJOZWVkbGUsIGNtcCwgZGlyKSB7XG4gICAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGtleS5sZW5ndGgsIGxvd2VyTmVlZGxlLmxlbmd0aCk7XG4gICAgdmFyIGxscCA9IC0xO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIGx3cktleUNoYXIgPSBsb3dlcktleVtpXTtcbiAgICAgICAgaWYgKGx3cktleUNoYXIgIT09IGxvd2VyTmVlZGxlW2ldKSB7XG4gICAgICAgICAgICBpZiAoY21wKGtleVtpXSwgdXBwZXJOZWVkbGVbaV0pIDwgMClcbiAgICAgICAgICAgICAgICByZXR1cm4ga2V5LnN1YnN0cigwLCBpKSArIHVwcGVyTmVlZGxlW2ldICsgdXBwZXJOZWVkbGUuc3Vic3RyKGkgKyAxKTtcbiAgICAgICAgICAgIGlmIChjbXAoa2V5W2ldLCBsb3dlck5lZWRsZVtpXSkgPCAwKVxuICAgICAgICAgICAgICAgIHJldHVybiBrZXkuc3Vic3RyKDAsIGkpICsgbG93ZXJOZWVkbGVbaV0gKyB1cHBlck5lZWRsZS5zdWJzdHIoaSArIDEpO1xuICAgICAgICAgICAgaWYgKGxscCA+PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybiBrZXkuc3Vic3RyKDAsIGxscCkgKyBsb3dlcktleVtsbHBdICsgdXBwZXJOZWVkbGUuc3Vic3RyKGxscCArIDEpO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNtcChrZXlbaV0sIGx3cktleUNoYXIpIDwgMClcbiAgICAgICAgICAgIGxscCA9IGk7XG4gICAgfVxuICAgIGlmIChsZW5ndGggPCBsb3dlck5lZWRsZS5sZW5ndGggJiYgZGlyID09PSBcIm5leHRcIilcbiAgICAgICAgcmV0dXJuIGtleSArIHVwcGVyTmVlZGxlLnN1YnN0cihrZXkubGVuZ3RoKTtcbiAgICBpZiAobGVuZ3RoIDwga2V5Lmxlbmd0aCAmJiBkaXIgPT09IFwicHJldlwiKVxuICAgICAgICByZXR1cm4ga2V5LnN1YnN0cigwLCB1cHBlck5lZWRsZS5sZW5ndGgpO1xuICAgIHJldHVybiAobGxwIDwgMCA/IG51bGwgOiBrZXkuc3Vic3RyKDAsIGxscCkgKyBsb3dlck5lZWRsZVtsbHBdICsgdXBwZXJOZWVkbGUuc3Vic3RyKGxscCArIDEpKTtcbn1cbmZ1bmN0aW9uIGFkZElnbm9yZUNhc2VBbGdvcml0aG0od2hlcmVDbGF1c2UsIG1hdGNoLCBuZWVkbGVzLCBzdWZmaXgpIHtcbiAgICB2YXIgdXBwZXIsIGxvd2VyLCBjb21wYXJlLCB1cHBlck5lZWRsZXMsIGxvd2VyTmVlZGxlcywgZGlyZWN0aW9uLCBuZXh0S2V5U3VmZml4LCBuZWVkbGVzTGVuID0gbmVlZGxlcy5sZW5ndGg7XG4gICAgaWYgKCFuZWVkbGVzLmV2ZXJ5KGZ1bmN0aW9uIChzKSB7IHJldHVybiB0eXBlb2YgcyA9PT0gJ3N0cmluZyc7IH0pKSB7XG4gICAgICAgIHJldHVybiBmYWlsKHdoZXJlQ2xhdXNlLCBTVFJJTkdfRVhQRUNURUQpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0RGlyZWN0aW9uKGRpcikge1xuICAgICAgICB1cHBlciA9IHVwcGVyRmFjdG9yeShkaXIpO1xuICAgICAgICBsb3dlciA9IGxvd2VyRmFjdG9yeShkaXIpO1xuICAgICAgICBjb21wYXJlID0gKGRpciA9PT0gXCJuZXh0XCIgPyBzaW1wbGVDb21wYXJlIDogc2ltcGxlQ29tcGFyZVJldmVyc2UpO1xuICAgICAgICB2YXIgbmVlZGxlQm91bmRzID0gbmVlZGxlcy5tYXAoZnVuY3Rpb24gKG5lZWRsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgbG93ZXI6IGxvd2VyKG5lZWRsZSksIHVwcGVyOiB1cHBlcihuZWVkbGUpIH07XG4gICAgICAgIH0pLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wYXJlKGEubG93ZXIsIGIubG93ZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdXBwZXJOZWVkbGVzID0gbmVlZGxlQm91bmRzLm1hcChmdW5jdGlvbiAobmIpIHsgcmV0dXJuIG5iLnVwcGVyOyB9KTtcbiAgICAgICAgbG93ZXJOZWVkbGVzID0gbmVlZGxlQm91bmRzLm1hcChmdW5jdGlvbiAobmIpIHsgcmV0dXJuIG5iLmxvd2VyOyB9KTtcbiAgICAgICAgZGlyZWN0aW9uID0gZGlyO1xuICAgICAgICBuZXh0S2V5U3VmZml4ID0gKGRpciA9PT0gXCJuZXh0XCIgPyBcIlwiIDogc3VmZml4KTtcbiAgICB9XG4gICAgaW5pdERpcmVjdGlvbihcIm5leHRcIik7XG4gICAgdmFyIGMgPSBuZXcgd2hlcmVDbGF1c2UuQ29sbGVjdGlvbih3aGVyZUNsYXVzZSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUmFuZ2UodXBwZXJOZWVkbGVzWzBdLCBsb3dlck5lZWRsZXNbbmVlZGxlc0xlbiAtIDFdICsgc3VmZml4KTsgfSk7XG4gICAgYy5fb25kaXJlY3Rpb25jaGFuZ2UgPSBmdW5jdGlvbiAoZGlyZWN0aW9uKSB7XG4gICAgICAgIGluaXREaXJlY3Rpb24oZGlyZWN0aW9uKTtcbiAgICB9O1xuICAgIHZhciBmaXJzdFBvc3NpYmxlTmVlZGxlID0gMDtcbiAgICBjLl9hZGRBbGdvcml0aG0oZnVuY3Rpb24gKGN1cnNvciwgYWR2YW5jZSwgcmVzb2x2ZSkge1xuICAgICAgICB2YXIga2V5ID0gY3Vyc29yLmtleTtcbiAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgbG93ZXJLZXkgPSBsb3dlcihrZXkpO1xuICAgICAgICBpZiAobWF0Y2gobG93ZXJLZXksIGxvd2VyTmVlZGxlcywgZmlyc3RQb3NzaWJsZU5lZWRsZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGxvd2VzdFBvc3NpYmxlQ2FzaW5nID0gbnVsbDtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBmaXJzdFBvc3NpYmxlTmVlZGxlOyBpIDwgbmVlZGxlc0xlbjsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhc2luZyA9IG5leHRDYXNpbmcoa2V5LCBsb3dlcktleSwgdXBwZXJOZWVkbGVzW2ldLCBsb3dlck5lZWRsZXNbaV0sIGNvbXBhcmUsIGRpcmVjdGlvbik7XG4gICAgICAgICAgICAgICAgaWYgKGNhc2luZyA9PT0gbnVsbCAmJiBsb3dlc3RQb3NzaWJsZUNhc2luZyA9PT0gbnVsbClcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RQb3NzaWJsZU5lZWRsZSA9IGkgKyAxO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxvd2VzdFBvc3NpYmxlQ2FzaW5nID09PSBudWxsIHx8IGNvbXBhcmUobG93ZXN0UG9zc2libGVDYXNpbmcsIGNhc2luZykgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvd2VzdFBvc3NpYmxlQ2FzaW5nID0gY2FzaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsb3dlc3RQb3NzaWJsZUNhc2luZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGFkdmFuY2UoZnVuY3Rpb24gKCkgeyBjdXJzb3IuY29udGludWUobG93ZXN0UG9zc2libGVDYXNpbmcgKyBuZXh0S2V5U3VmZml4KTsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhZHZhbmNlKHJlc29sdmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGM7XG59XG5mdW5jdGlvbiBjcmVhdGVSYW5nZShsb3dlciwgdXBwZXIsIGxvd2VyT3BlbiwgdXBwZXJPcGVuKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogMiAgICAgICAgICAgICxcbiAgICAgICAgbG93ZXI6IGxvd2VyLFxuICAgICAgICB1cHBlcjogdXBwZXIsXG4gICAgICAgIGxvd2VyT3BlbjogbG93ZXJPcGVuLFxuICAgICAgICB1cHBlck9wZW46IHVwcGVyT3BlblxuICAgIH07XG59XG5mdW5jdGlvbiByYW5nZUVxdWFsKHZhbHVlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogMSAgICAgICAgICAgICxcbiAgICAgICAgbG93ZXI6IHZhbHVlLFxuICAgICAgICB1cHBlcjogdmFsdWVcbiAgICB9O1xufVxuXG52YXIgV2hlcmVDbGF1c2UgPSAgICAgICAgICAgICAgIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gV2hlcmVDbGF1c2UoKSB7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXaGVyZUNsYXVzZS5wcm90b3R5cGUsIFwiQ29sbGVjdGlvblwiLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2N0eC50YWJsZS5kYi5Db2xsZWN0aW9uO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYmV0d2VlbiA9IGZ1bmN0aW9uIChsb3dlciwgdXBwZXIsIGluY2x1ZGVMb3dlciwgaW5jbHVkZVVwcGVyKSB7XG4gICAgICAgIGluY2x1ZGVMb3dlciA9IGluY2x1ZGVMb3dlciAhPT0gZmFsc2U7XG4gICAgICAgIGluY2x1ZGVVcHBlciA9IGluY2x1ZGVVcHBlciA9PT0gdHJ1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICgodGhpcy5fY21wKGxvd2VyLCB1cHBlcikgPiAwKSB8fFxuICAgICAgICAgICAgICAgICh0aGlzLl9jbXAobG93ZXIsIHVwcGVyKSA9PT0gMCAmJiAoaW5jbHVkZUxvd2VyIHx8IGluY2x1ZGVVcHBlcikgJiYgIShpbmNsdWRlTG93ZXIgJiYgaW5jbHVkZVVwcGVyKSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5Q29sbGVjdGlvbih0aGlzKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKGxvd2VyLCB1cHBlciwgIWluY2x1ZGVMb3dlciwgIWluY2x1ZGVVcHBlcik7IH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJhbmdlRXF1YWwodmFsdWUpOyB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5hYm92ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLkNvbGxlY3Rpb24odGhpcywgZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUmFuZ2UodmFsdWUsIHVuZGVmaW5lZCwgdHJ1ZSk7IH0pO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLmFib3ZlT3JFcXVhbCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLkNvbGxlY3Rpb24odGhpcywgZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUmFuZ2UodmFsdWUsIHVuZGVmaW5lZCwgZmFsc2UpOyB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5iZWxvdyA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLkNvbGxlY3Rpb24odGhpcywgZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUmFuZ2UodW5kZWZpbmVkLCB2YWx1ZSwgZmFsc2UsIHRydWUpOyB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5iZWxvd09yRXF1YWwgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHVuZGVmaW5lZCwgdmFsdWUpOyB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5zdGFydHNXaXRoID0gZnVuY3Rpb24gKHN0cikge1xuICAgICAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBTVFJJTkdfRVhQRUNURUQpO1xuICAgICAgICByZXR1cm4gdGhpcy5iZXR3ZWVuKHN0ciwgc3RyICsgbWF4U3RyaW5nLCB0cnVlLCB0cnVlKTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5zdGFydHNXaXRoSWdub3JlQ2FzZSA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgaWYgKHN0ciA9PT0gXCJcIilcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXJ0c1dpdGgoc3RyKTtcbiAgICAgICAgcmV0dXJuIGFkZElnbm9yZUNhc2VBbGdvcml0aG0odGhpcywgZnVuY3Rpb24gKHgsIGEpIHsgcmV0dXJuIHguaW5kZXhPZihhWzBdKSA9PT0gMDsgfSwgW3N0cl0sIG1heFN0cmluZyk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuZXF1YWxzSWdub3JlQ2FzZSA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgcmV0dXJuIGFkZElnbm9yZUNhc2VBbGdvcml0aG0odGhpcywgZnVuY3Rpb24gKHgsIGEpIHsgcmV0dXJuIHggPT09IGFbMF07IH0sIFtzdHJdLCBcIlwiKTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5hbnlPZklnbm9yZUNhc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzZXQgPSBnZXRBcnJheU9mLmFwcGx5KE5PX0NIQVJfQVJSQVksIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChzZXQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGVtcHR5Q29sbGVjdGlvbih0aGlzKTtcbiAgICAgICAgcmV0dXJuIGFkZElnbm9yZUNhc2VBbGdvcml0aG0odGhpcywgZnVuY3Rpb24gKHgsIGEpIHsgcmV0dXJuIGEuaW5kZXhPZih4KSAhPT0gLTE7IH0sIHNldCwgXCJcIik7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuc3RhcnRzV2l0aEFueU9mSWdub3JlQ2FzZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHNldCA9IGdldEFycmF5T2YuYXBwbHkoTk9fQ0hBUl9BUlJBWSwgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHNldC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gZW1wdHlDb2xsZWN0aW9uKHRoaXMpO1xuICAgICAgICByZXR1cm4gYWRkSWdub3JlQ2FzZUFsZ29yaXRobSh0aGlzLCBmdW5jdGlvbiAoeCwgYSkgeyByZXR1cm4gYS5zb21lKGZ1bmN0aW9uIChuKSB7IHJldHVybiB4LmluZGV4T2YobikgPT09IDA7IH0pOyB9LCBzZXQsIG1heFN0cmluZyk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYW55T2YgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBzZXQgPSBnZXRBcnJheU9mLmFwcGx5KE5PX0NIQVJfQVJSQVksIGFyZ3VtZW50cyk7XG4gICAgICAgIHZhciBjb21wYXJlID0gdGhpcy5fY21wO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc2V0LnNvcnQoY29tcGFyZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBlbXB0eUNvbGxlY3Rpb24odGhpcyk7XG4gICAgICAgIHZhciBjID0gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzLCBmdW5jdGlvbiAoKSB7IHJldHVybiBjcmVhdGVSYW5nZShzZXRbMF0sIHNldFtzZXQubGVuZ3RoIC0gMV0pOyB9KTtcbiAgICAgICAgYy5fb25kaXJlY3Rpb25jaGFuZ2UgPSBmdW5jdGlvbiAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjb21wYXJlID0gKGRpcmVjdGlvbiA9PT0gXCJuZXh0XCIgP1xuICAgICAgICAgICAgICAgIF90aGlzLl9hc2NlbmRpbmcgOlxuICAgICAgICAgICAgICAgIF90aGlzLl9kZXNjZW5kaW5nKTtcbiAgICAgICAgICAgIHNldC5zb3J0KGNvbXBhcmUpO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgaSA9IDA7XG4gICAgICAgIGMuX2FkZEFsZ29yaXRobShmdW5jdGlvbiAoY3Vyc29yLCBhZHZhbmNlLCByZXNvbHZlKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gY3Vyc29yLmtleTtcbiAgICAgICAgICAgIHdoaWxlIChjb21wYXJlKGtleSwgc2V0W2ldKSA+IDApIHtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICAgICAgaWYgKGkgPT09IHNldC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYWR2YW5jZShyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb21wYXJlKGtleSwgc2V0W2ldKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYWR2YW5jZShmdW5jdGlvbiAoKSB7IGN1cnNvci5jb250aW51ZShzZXRbaV0pOyB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYztcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5ub3RFcXVhbCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbkFueVJhbmdlKFtbbWluS2V5LCB2YWx1ZV0sIFt2YWx1ZSwgdGhpcy5kYi5fbWF4S2V5XV0sIHsgaW5jbHVkZUxvd2VyczogZmFsc2UsIGluY2x1ZGVVcHBlcnM6IGZhbHNlIH0pO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLm5vbmVPZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHNldCA9IGdldEFycmF5T2YuYXBwbHkoTk9fQ0hBUl9BUlJBWSwgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHNldC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHNldC5zb3J0KHRoaXMuX2FzY2VuZGluZyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmFuZ2VzID0gc2V0LnJlZHVjZShmdW5jdGlvbiAocmVzLCB2YWwpIHsgcmV0dXJuIHJlcyA/XG4gICAgICAgICAgICByZXMuY29uY2F0KFtbcmVzW3Jlcy5sZW5ndGggLSAxXVsxXSwgdmFsXV0pIDpcbiAgICAgICAgICAgIFtbbWluS2V5LCB2YWxdXTsgfSwgbnVsbCk7XG4gICAgICAgIHJhbmdlcy5wdXNoKFtzZXRbc2V0Lmxlbmd0aCAtIDFdLCB0aGlzLmRiLl9tYXhLZXldKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5BbnlSYW5nZShyYW5nZXMsIHsgaW5jbHVkZUxvd2VyczogZmFsc2UsIGluY2x1ZGVVcHBlcnM6IGZhbHNlIH0pO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLmluQW55UmFuZ2UgPSBmdW5jdGlvbiAocmFuZ2VzLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBjbXAgPSB0aGlzLl9jbXAsIGFzY2VuZGluZyA9IHRoaXMuX2FzY2VuZGluZywgZGVzY2VuZGluZyA9IHRoaXMuX2Rlc2NlbmRpbmcsIG1pbiA9IHRoaXMuX21pbiwgbWF4ID0gdGhpcy5fbWF4O1xuICAgICAgICBpZiAocmFuZ2VzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBlbXB0eUNvbGxlY3Rpb24odGhpcyk7XG4gICAgICAgIGlmICghcmFuZ2VzLmV2ZXJ5KGZ1bmN0aW9uIChyYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJhbmdlWzBdICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICByYW5nZVsxXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgYXNjZW5kaW5nKHJhbmdlWzBdLCByYW5nZVsxXSkgPD0gMDtcbiAgICAgICAgfSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIFwiRmlyc3QgYXJndW1lbnQgdG8gaW5BbnlSYW5nZSgpIG11c3QgYmUgYW4gQXJyYXkgb2YgdHdvLXZhbHVlIEFycmF5cyBbbG93ZXIsdXBwZXJdIHdoZXJlIHVwcGVyIG11c3Qgbm90IGJlIGxvd2VyIHRoYW4gbG93ZXJcIiwgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbmNsdWRlTG93ZXJzID0gIW9wdGlvbnMgfHwgb3B0aW9ucy5pbmNsdWRlTG93ZXJzICE9PSBmYWxzZTtcbiAgICAgICAgdmFyIGluY2x1ZGVVcHBlcnMgPSBvcHRpb25zICYmIG9wdGlvbnMuaW5jbHVkZVVwcGVycyA9PT0gdHJ1ZTtcbiAgICAgICAgZnVuY3Rpb24gYWRkUmFuZ2UocmFuZ2VzLCBuZXdSYW5nZSkge1xuICAgICAgICAgICAgdmFyIGkgPSAwLCBsID0gcmFuZ2VzLmxlbmd0aDtcbiAgICAgICAgICAgIGZvciAoOyBpIDwgbDsgKytpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJhbmdlID0gcmFuZ2VzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChjbXAobmV3UmFuZ2VbMF0sIHJhbmdlWzFdKSA8IDAgJiYgY21wKG5ld1JhbmdlWzFdLCByYW5nZVswXSkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlWzBdID0gbWluKHJhbmdlWzBdLCBuZXdSYW5nZVswXSk7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlWzFdID0gbWF4KHJhbmdlWzFdLCBuZXdSYW5nZVsxXSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSBsKVxuICAgICAgICAgICAgICAgIHJhbmdlcy5wdXNoKG5ld1JhbmdlKTtcbiAgICAgICAgICAgIHJldHVybiByYW5nZXM7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNvcnREaXJlY3Rpb24gPSBhc2NlbmRpbmc7XG4gICAgICAgIGZ1bmN0aW9uIHJhbmdlU29ydGVyKGEsIGIpIHsgcmV0dXJuIHNvcnREaXJlY3Rpb24oYVswXSwgYlswXSk7IH1cbiAgICAgICAgdmFyIHNldDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHNldCA9IHJhbmdlcy5yZWR1Y2UoYWRkUmFuZ2UsIFtdKTtcbiAgICAgICAgICAgIHNldC5zb3J0KHJhbmdlU29ydGVyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIElOVkFMSURfS0VZX0FSR1VNRU5UKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmFuZ2VQb3MgPSAwO1xuICAgICAgICB2YXIga2V5SXNCZXlvbmRDdXJyZW50RW50cnkgPSBpbmNsdWRlVXBwZXJzID9cbiAgICAgICAgICAgIGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGFzY2VuZGluZyhrZXksIHNldFtyYW5nZVBvc11bMV0pID4gMDsgfSA6XG4gICAgICAgICAgICBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBhc2NlbmRpbmcoa2V5LCBzZXRbcmFuZ2VQb3NdWzFdKSA+PSAwOyB9O1xuICAgICAgICB2YXIga2V5SXNCZWZvcmVDdXJyZW50RW50cnkgPSBpbmNsdWRlTG93ZXJzID9cbiAgICAgICAgICAgIGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGRlc2NlbmRpbmcoa2V5LCBzZXRbcmFuZ2VQb3NdWzBdKSA+IDA7IH0gOlxuICAgICAgICAgICAgZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gZGVzY2VuZGluZyhrZXksIHNldFtyYW5nZVBvc11bMF0pID49IDA7IH07XG4gICAgICAgIGZ1bmN0aW9uIGtleVdpdGhpbkN1cnJlbnRSYW5nZShrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiAha2V5SXNCZXlvbmRDdXJyZW50RW50cnkoa2V5KSAmJiAha2V5SXNCZWZvcmVDdXJyZW50RW50cnkoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2hlY2tLZXkgPSBrZXlJc0JleW9uZEN1cnJlbnRFbnRyeTtcbiAgICAgICAgdmFyIGMgPSBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHNldFswXVswXSwgc2V0W3NldC5sZW5ndGggLSAxXVsxXSwgIWluY2x1ZGVMb3dlcnMsICFpbmNsdWRlVXBwZXJzKTsgfSk7XG4gICAgICAgIGMuX29uZGlyZWN0aW9uY2hhbmdlID0gZnVuY3Rpb24gKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJuZXh0XCIpIHtcbiAgICAgICAgICAgICAgICBjaGVja0tleSA9IGtleUlzQmV5b25kQ3VycmVudEVudHJ5O1xuICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24gPSBhc2NlbmRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGVja0tleSA9IGtleUlzQmVmb3JlQ3VycmVudEVudHJ5O1xuICAgICAgICAgICAgICAgIHNvcnREaXJlY3Rpb24gPSBkZXNjZW5kaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0LnNvcnQocmFuZ2VTb3J0ZXIpO1xuICAgICAgICB9O1xuICAgICAgICBjLl9hZGRBbGdvcml0aG0oZnVuY3Rpb24gKGN1cnNvciwgYWR2YW5jZSwgcmVzb2x2ZSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGN1cnNvci5rZXk7XG4gICAgICAgICAgICB3aGlsZSAoY2hlY2tLZXkoa2V5KSkge1xuICAgICAgICAgICAgICAgICsrcmFuZ2VQb3M7XG4gICAgICAgICAgICAgICAgaWYgKHJhbmdlUG9zID09PSBzZXQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkdmFuY2UocmVzb2x2ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoa2V5V2l0aGluQ3VycmVudFJhbmdlKGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKF90aGlzLl9jbXAoa2V5LCBzZXRbcmFuZ2VQb3NdWzFdKSA9PT0gMCB8fCBfdGhpcy5fY21wKGtleSwgc2V0W3JhbmdlUG9zXVswXSkgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhZHZhbmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNvcnREaXJlY3Rpb24gPT09IGFzY2VuZGluZylcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZShzZXRbcmFuZ2VQb3NdWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKHNldFtyYW5nZVBvc11bMV0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLnN0YXJ0c1dpdGhBbnlPZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHNldCA9IGdldEFycmF5T2YuYXBwbHkoTk9fQ0hBUl9BUlJBWSwgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKCFzZXQuZXZlcnkoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHR5cGVvZiBzID09PSAnc3RyaW5nJzsgfSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWlsKHRoaXMsIFwic3RhcnRzV2l0aEFueU9mKCkgb25seSB3b3JrcyB3aXRoIHN0cmluZ3NcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNldC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gZW1wdHlDb2xsZWN0aW9uKHRoaXMpO1xuICAgICAgICByZXR1cm4gdGhpcy5pbkFueVJhbmdlKHNldC5tYXAoZnVuY3Rpb24gKHN0cikgeyByZXR1cm4gW3N0ciwgc3RyICsgbWF4U3RyaW5nXTsgfSkpO1xuICAgIH07XG4gICAgcmV0dXJuIFdoZXJlQ2xhdXNlO1xufSgpKTtcblxuZnVuY3Rpb24gY3JlYXRlV2hlcmVDbGF1c2VDb25zdHJ1Y3RvcihkYikge1xuICAgIHJldHVybiBtYWtlQ2xhc3NDb25zdHJ1Y3RvcihXaGVyZUNsYXVzZS5wcm90b3R5cGUsIGZ1bmN0aW9uIFdoZXJlQ2xhdXNlJCQxKHRhYmxlLCBpbmRleCwgb3JDb2xsZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuZGIgPSBkYjtcbiAgICAgICAgdGhpcy5fY3R4ID0ge1xuICAgICAgICAgICAgdGFibGU6IHRhYmxlLFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4ID09PSBcIjppZFwiID8gbnVsbCA6IGluZGV4LFxuICAgICAgICAgICAgb3I6IG9yQ29sbGVjdGlvblxuICAgICAgICB9O1xuICAgICAgICB2YXIgaW5kZXhlZERCID0gZGIuX2RlcHMuaW5kZXhlZERCO1xuICAgICAgICBpZiAoIWluZGV4ZWREQilcbiAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk1pc3NpbmdBUEkoXCJpbmRleGVkREIgQVBJIG1pc3NpbmdcIik7XG4gICAgICAgIHRoaXMuX2NtcCA9IHRoaXMuX2FzY2VuZGluZyA9IGluZGV4ZWREQi5jbXAuYmluZChpbmRleGVkREIpO1xuICAgICAgICB0aGlzLl9kZXNjZW5kaW5nID0gZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGluZGV4ZWREQi5jbXAoYiwgYSk7IH07XG4gICAgICAgIHRoaXMuX21heCA9IGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBpbmRleGVkREIuY21wKGEsIGIpID4gMCA/IGEgOiBiOyB9O1xuICAgICAgICB0aGlzLl9taW4gPSBmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gaW5kZXhlZERCLmNtcChhLCBiKSA8IDAgPyBhIDogYjsgfTtcbiAgICAgICAgdGhpcy5fSURCS2V5UmFuZ2UgPSBkYi5fZGVwcy5JREJLZXlSYW5nZTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gc2FmYXJpTXVsdGlTdG9yZUZpeChzdG9yZU5hbWVzKSB7XG4gICAgcmV0dXJuIHN0b3JlTmFtZXMubGVuZ3RoID09PSAxID8gc3RvcmVOYW1lc1swXSA6IHN0b3JlTmFtZXM7XG59XG5cbmZ1bmN0aW9uIGdldE1heEtleShJZGJLZXlSYW5nZSkge1xuICAgIHRyeSB7XG4gICAgICAgIElkYktleVJhbmdlLm9ubHkoW1tdXSk7XG4gICAgICAgIHJldHVybiBbW11dO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gbWF4U3RyaW5nO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCkge1xuICAgIHJldHVybiB3cmFwKGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBwcmV2ZW50RGVmYXVsdChldmVudCk7XG4gICAgICAgIHJlamVjdChldmVudC50YXJnZXQuZXJyb3IpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG59XG5cblxuXG5mdW5jdGlvbiBwcmV2ZW50RGVmYXVsdChldmVudCkge1xuICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdClcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn1cblxudmFyIFRyYW5zYWN0aW9uID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRyYW5zYWN0aW9uKCkge1xuICAgIH1cbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuX2xvY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzc2VydCghUFNELmdsb2JhbCk7XG4gICAgICAgICsrdGhpcy5fcmVjdWxvY2s7XG4gICAgICAgIGlmICh0aGlzLl9yZWN1bG9jayA9PT0gMSAmJiAhUFNELmdsb2JhbClcbiAgICAgICAgICAgIFBTRC5sb2NrT3duZXJGb3IgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIFRyYW5zYWN0aW9uLnByb3RvdHlwZS5fdW5sb2NrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQoIVBTRC5nbG9iYWwpO1xuICAgICAgICBpZiAoLS10aGlzLl9yZWN1bG9jayA9PT0gMCkge1xuICAgICAgICAgICAgaWYgKCFQU0QuZ2xvYmFsKVxuICAgICAgICAgICAgICAgIFBTRC5sb2NrT3duZXJGb3IgPSBudWxsO1xuICAgICAgICAgICAgd2hpbGUgKHRoaXMuX2Jsb2NrZWRGdW5jcy5sZW5ndGggPiAwICYmICF0aGlzLl9sb2NrZWQoKSkge1xuICAgICAgICAgICAgICAgIHZhciBmbkFuZFBTRCA9IHRoaXMuX2Jsb2NrZWRGdW5jcy5zaGlmdCgpO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHVzZVBTRChmbkFuZFBTRFsxXSwgZm5BbmRQU0RbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkgeyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuX2xvY2tlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlY3Vsb2NrICYmIFBTRC5sb2NrT3duZXJGb3IgIT09IHRoaXM7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuY3JlYXRlID0gZnVuY3Rpb24gKGlkYnRyYW5zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmICghdGhpcy5tb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIHZhciBpZGJkYiA9IHRoaXMuZGIuaWRiZGI7XG4gICAgICAgIHZhciBkYk9wZW5FcnJvciA9IHRoaXMuZGIuX3N0YXRlLmRiT3BlbkVycm9yO1xuICAgICAgICBhc3NlcnQoIXRoaXMuaWRidHJhbnMpO1xuICAgICAgICBpZiAoIWlkYnRyYW5zICYmICFpZGJkYikge1xuICAgICAgICAgICAgc3dpdGNoIChkYk9wZW5FcnJvciAmJiBkYk9wZW5FcnJvci5uYW1lKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcIkRhdGFiYXNlQ2xvc2VkRXJyb3JcIjpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuRGF0YWJhc2VDbG9zZWQoZGJPcGVuRXJyb3IpO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJNaXNzaW5nQVBJRXJyb3JcIjpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuTWlzc2luZ0FQSShkYk9wZW5FcnJvci5tZXNzYWdlLCBkYk9wZW5FcnJvcik7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuT3BlbkZhaWxlZChkYk9wZW5FcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLlRyYW5zYWN0aW9uSW5hY3RpdmUoKTtcbiAgICAgICAgYXNzZXJ0KHRoaXMuX2NvbXBsZXRpb24uX3N0YXRlID09PSBudWxsKTtcbiAgICAgICAgaWRidHJhbnMgPSB0aGlzLmlkYnRyYW5zID0gaWRidHJhbnMgfHwgaWRiZGIudHJhbnNhY3Rpb24oc2FmYXJpTXVsdGlTdG9yZUZpeCh0aGlzLnN0b3JlTmFtZXMpLCB0aGlzLm1vZGUpO1xuICAgICAgICBpZGJ0cmFucy5vbmVycm9yID0gd3JhcChmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KGV2KTtcbiAgICAgICAgICAgIF90aGlzLl9yZWplY3QoaWRidHJhbnMuZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWRidHJhbnMub25hYm9ydCA9IHdyYXAoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICBwcmV2ZW50RGVmYXVsdChldik7XG4gICAgICAgICAgICBfdGhpcy5hY3RpdmUgJiYgX3RoaXMuX3JlamVjdChuZXcgZXhjZXB0aW9ucy5BYm9ydChpZGJ0cmFucy5lcnJvcikpO1xuICAgICAgICAgICAgX3RoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICBfdGhpcy5vbihcImFib3J0XCIpLmZpcmUoZXYpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWRidHJhbnMub25jb21wbGV0ZSA9IHdyYXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICBfdGhpcy5fcmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuX3Byb21pc2UgPSBmdW5jdGlvbiAobW9kZSwgZm4sIGJXcml0ZUxvY2spIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgaWYgKG1vZGUgPT09ICdyZWFkd3JpdGUnICYmIHRoaXMubW9kZSAhPT0gJ3JlYWR3cml0ZScpXG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0aW9uKG5ldyBleGNlcHRpb25zLlJlYWRPbmx5KFwiVHJhbnNhY3Rpb24gaXMgcmVhZG9ubHlcIikpO1xuICAgICAgICBpZiAoIXRoaXMuYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihuZXcgZXhjZXB0aW9ucy5UcmFuc2FjdGlvbkluYWN0aXZlKCkpO1xuICAgICAgICBpZiAodGhpcy5fbG9ja2VkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5fYmxvY2tlZEZ1bmNzLnB1c2goW2Z1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLl9wcm9taXNlKG1vZGUsIGZuLCBiV3JpdGVMb2NrKS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIFBTRF0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYldyaXRlTG9jaykge1xuICAgICAgICAgICAgcmV0dXJuIG5ld1Njb3BlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgcCA9IG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5fbG9jaygpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcnYgPSBmbihyZXNvbHZlLCByZWplY3QsIF90aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJ2ICYmIHJ2LnRoZW4pXG4gICAgICAgICAgICAgICAgICAgICAgICBydi50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcC5maW5hbGx5KGZ1bmN0aW9uICgpIHsgcmV0dXJuIF90aGlzLl91bmxvY2soKTsgfSk7XG4gICAgICAgICAgICAgICAgcC5fbGliID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIHAgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICB2YXIgcnYgPSBmbihyZXNvbHZlLCByZWplY3QsIF90aGlzKTtcbiAgICAgICAgICAgICAgICBpZiAocnYgJiYgcnYudGhlbilcbiAgICAgICAgICAgICAgICAgICAgcnYudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwLl9saWIgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHA7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFRyYW5zYWN0aW9uLnByb3RvdHlwZS5fcm9vdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50ID8gdGhpcy5wYXJlbnQuX3Jvb3QoKSA6IHRoaXM7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUud2FpdEZvciA9IGZ1bmN0aW9uIChwcm9taXNlTGlrZSkge1xuICAgICAgICB2YXIgcm9vdCA9IHRoaXMuX3Jvb3QoKTtcbiAgICAgICAgdmFyIHByb21pc2UgPSBEZXhpZVByb21pc2UucmVzb2x2ZShwcm9taXNlTGlrZSk7XG4gICAgICAgIGlmIChyb290Ll93YWl0aW5nRm9yKSB7XG4gICAgICAgICAgICByb290Ll93YWl0aW5nRm9yID0gcm9vdC5fd2FpdGluZ0Zvci50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb21pc2U7IH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcm9vdC5fd2FpdGluZ0ZvciA9IHByb21pc2U7XG4gICAgICAgICAgICByb290Ll93YWl0aW5nUXVldWUgPSBbXTtcbiAgICAgICAgICAgIHZhciBzdG9yZSA9IHJvb3QuaWRidHJhbnMub2JqZWN0U3RvcmUocm9vdC5zdG9yZU5hbWVzWzBdKTtcbiAgICAgICAgICAgIChmdW5jdGlvbiBzcGluKCkge1xuICAgICAgICAgICAgICAgICsrcm9vdC5fc3BpbkNvdW50O1xuICAgICAgICAgICAgICAgIHdoaWxlIChyb290Ll93YWl0aW5nUXVldWUubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICAocm9vdC5fd2FpdGluZ1F1ZXVlLnNoaWZ0KCkpKCk7XG4gICAgICAgICAgICAgICAgaWYgKHJvb3QuX3dhaXRpbmdGb3IpXG4gICAgICAgICAgICAgICAgICAgIHN0b3JlLmdldCgtSW5maW5pdHkpLm9uc3VjY2VzcyA9IHNwaW47XG4gICAgICAgICAgICB9KCkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjdXJyZW50V2FpdFByb21pc2UgPSByb290Ll93YWl0aW5nRm9yO1xuICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gcm9vdC5fd2FpdGluZ1F1ZXVlLnB1c2god3JhcChyZXNvbHZlLmJpbmQobnVsbCwgcmVzKSkpOyB9LCBmdW5jdGlvbiAoZXJyKSB7IHJldHVybiByb290Ll93YWl0aW5nUXVldWUucHVzaCh3cmFwKHJlamVjdC5iaW5kKG51bGwsIGVycikpKTsgfSkuZmluYWxseShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJvb3QuX3dhaXRpbmdGb3IgPT09IGN1cnJlbnRXYWl0UHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICByb290Ll93YWl0aW5nRm9yID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuYWJvcnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlICYmIHRoaXMuX3JlamVjdChuZXcgZXhjZXB0aW9ucy5BYm9ydCgpKTtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICB9O1xuICAgIFRyYW5zYWN0aW9uLnByb3RvdHlwZS50YWJsZSA9IGZ1bmN0aW9uICh0YWJsZU5hbWUpIHtcbiAgICAgICAgdmFyIG1lbW9pemVkVGFibGVzID0gKHRoaXMuX21lbW9pemVkVGFibGVzIHx8ICh0aGlzLl9tZW1vaXplZFRhYmxlcyA9IHt9KSk7XG4gICAgICAgIGlmIChoYXNPd24obWVtb2l6ZWRUYWJsZXMsIHRhYmxlTmFtZSkpXG4gICAgICAgICAgICByZXR1cm4gbWVtb2l6ZWRUYWJsZXNbdGFibGVOYW1lXTtcbiAgICAgICAgdmFyIHRhYmxlU2NoZW1hID0gdGhpcy5zY2hlbWFbdGFibGVOYW1lXTtcbiAgICAgICAgaWYgKCF0YWJsZVNjaGVtYSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuTm90Rm91bmQoXCJUYWJsZSBcIiArIHRhYmxlTmFtZSArIFwiIG5vdCBwYXJ0IG9mIHRyYW5zYWN0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0cmFuc2FjdGlvbkJvdW5kVGFibGUgPSBuZXcgdGhpcy5kYi5UYWJsZSh0YWJsZU5hbWUsIHRhYmxlU2NoZW1hLCB0aGlzKTtcbiAgICAgICAgdHJhbnNhY3Rpb25Cb3VuZFRhYmxlLmNvcmUgPSB0aGlzLmRiLmNvcmUudGFibGUodGFibGVOYW1lKTtcbiAgICAgICAgbWVtb2l6ZWRUYWJsZXNbdGFibGVOYW1lXSA9IHRyYW5zYWN0aW9uQm91bmRUYWJsZTtcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uQm91bmRUYWJsZTtcbiAgICB9O1xuICAgIHJldHVybiBUcmFuc2FjdGlvbjtcbn0oKSk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVRyYW5zYWN0aW9uQ29uc3RydWN0b3IoZGIpIHtcbiAgICByZXR1cm4gbWFrZUNsYXNzQ29uc3RydWN0b3IoVHJhbnNhY3Rpb24ucHJvdG90eXBlLCBmdW5jdGlvbiBUcmFuc2FjdGlvbiQkMShtb2RlLCBzdG9yZU5hbWVzLCBkYnNjaGVtYSwgcGFyZW50KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHRoaXMuZGIgPSBkYjtcbiAgICAgICAgdGhpcy5tb2RlID0gbW9kZTtcbiAgICAgICAgdGhpcy5zdG9yZU5hbWVzID0gc3RvcmVOYW1lcztcbiAgICAgICAgdGhpcy5zY2hlbWEgPSBkYnNjaGVtYTtcbiAgICAgICAgdGhpcy5pZGJ0cmFucyA9IG51bGw7XG4gICAgICAgIHRoaXMub24gPSBFdmVudHModGhpcywgXCJjb21wbGV0ZVwiLCBcImVycm9yXCIsIFwiYWJvcnRcIik7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50IHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fcmVjdWxvY2sgPSAwO1xuICAgICAgICB0aGlzLl9ibG9ja2VkRnVuY3MgPSBbXTtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX3JlamVjdCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3dhaXRpbmdGb3IgPSBudWxsO1xuICAgICAgICB0aGlzLl93YWl0aW5nUXVldWUgPSBudWxsO1xuICAgICAgICB0aGlzLl9zcGluQ291bnQgPSAwO1xuICAgICAgICB0aGlzLl9jb21wbGV0aW9uID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICBfdGhpcy5fcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgICAgICBfdGhpcy5fcmVqZWN0ID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY29tcGxldGlvbi50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgX3RoaXMub24uY29tcGxldGUuZmlyZSgpO1xuICAgICAgICB9LCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgdmFyIHdhc0FjdGl2ZSA9IF90aGlzLmFjdGl2ZTtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgX3RoaXMub24uZXJyb3IuZmlyZShlKTtcbiAgICAgICAgICAgIF90aGlzLnBhcmVudCA/XG4gICAgICAgICAgICAgICAgX3RoaXMucGFyZW50Ll9yZWplY3QoZSkgOlxuICAgICAgICAgICAgICAgIHdhc0FjdGl2ZSAmJiBfdGhpcy5pZGJ0cmFucyAmJiBfdGhpcy5pZGJ0cmFucy5hYm9ydCgpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4U3BlYyhuYW1lLCBrZXlQYXRoLCB1bmlxdWUsIG11bHRpLCBhdXRvLCBjb21wb3VuZCwgaXNQcmltS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAga2V5UGF0aDoga2V5UGF0aCxcbiAgICAgICAgdW5pcXVlOiB1bmlxdWUsXG4gICAgICAgIG11bHRpOiBtdWx0aSxcbiAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgY29tcG91bmQ6IGNvbXBvdW5kLFxuICAgICAgICBzcmM6ICh1bmlxdWUgJiYgIWlzUHJpbUtleSA/ICcmJyA6ICcnKSArIChtdWx0aSA/ICcqJyA6ICcnKSArIChhdXRvID8gXCIrK1wiIDogXCJcIikgKyBuYW1lRnJvbUtleVBhdGgoa2V5UGF0aClcbiAgICB9O1xufVxuZnVuY3Rpb24gbmFtZUZyb21LZXlQYXRoKGtleVBhdGgpIHtcbiAgICByZXR1cm4gdHlwZW9mIGtleVBhdGggPT09ICdzdHJpbmcnID9cbiAgICAgICAga2V5UGF0aCA6XG4gICAgICAgIGtleVBhdGggPyAoJ1snICsgW10uam9pbi5jYWxsKGtleVBhdGgsICcrJykgKyAnXScpIDogXCJcIjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGFibGVTY2hlbWEobmFtZSwgcHJpbUtleSwgaW5kZXhlcykge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIHByaW1LZXk6IHByaW1LZXksXG4gICAgICAgIGluZGV4ZXM6IGluZGV4ZXMsXG4gICAgICAgIG1hcHBlZENsYXNzOiBudWxsLFxuICAgICAgICBpZHhCeU5hbWU6IGFycmF5VG9PYmplY3QoaW5kZXhlcywgZnVuY3Rpb24gKGluZGV4KSB7IHJldHVybiBbaW5kZXgubmFtZSwgaW5kZXhdOyB9KVxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGdldEtleUV4dHJhY3RvcihrZXlQYXRoKSB7XG4gICAgaWYgKGtleVBhdGggPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9O1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Yga2V5UGF0aCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGdldFNpbmdsZVBhdGhLZXlFeHRyYWN0b3Ioa2V5UGF0aCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gZ2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aCk7IH07XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U2luZ2xlUGF0aEtleUV4dHJhY3RvcihrZXlQYXRoKSB7XG4gICAgdmFyIHNwbGl0ID0ga2V5UGF0aC5zcGxpdCgnLicpO1xuICAgIGlmIChzcGxpdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIG9ialtrZXlQYXRoXTsgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBnZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoKTsgfTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldEVmZmVjdGl2ZUtleXMocHJpbWFyeUtleSwgcmVxKSB7XG4gICAgaWYgKHJlcS50eXBlID09PSAnZGVsZXRlJylcbiAgICAgICAgcmV0dXJuIHJlcS5rZXlzO1xuICAgIHJldHVybiByZXEua2V5cyB8fCByZXEudmFsdWVzLm1hcChwcmltYXJ5S2V5LmV4dHJhY3RLZXkpO1xufVxuZnVuY3Rpb24gZ2V0RXhpc3RpbmdWYWx1ZXModGFibGUsIHJlcSwgZWZmZWN0aXZlS2V5cykge1xuICAgIHJldHVybiByZXEudHlwZSA9PT0gJ2FkZCcgPyBQcm9taXNlLnJlc29sdmUobmV3IEFycmF5KHJlcS52YWx1ZXMubGVuZ3RoKSkgOlxuICAgICAgICB0YWJsZS5nZXRNYW55KHsgdHJhbnM6IHJlcS50cmFucywga2V5czogZWZmZWN0aXZlS2V5cyB9KTtcbn1cblxuZnVuY3Rpb24gYXJyYXlpZnkoYXJyYXlMaWtlKSB7XG4gICAgcmV0dXJuIFtdLnNsaWNlLmNhbGwoYXJyYXlMaWtlKTtcbn1cblxudmFyIF9pZF9jb3VudGVyID0gMDtcbmZ1bmN0aW9uIGdldEtleVBhdGhBbGlhcyhrZXlQYXRoKSB7XG4gICAgcmV0dXJuIGtleVBhdGggPT0gbnVsbCA/XG4gICAgICAgIFwiOmlkXCIgOlxuICAgICAgICB0eXBlb2Yga2V5UGF0aCA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgICAga2V5UGF0aCA6XG4gICAgICAgICAgICBcIltcIiArIGtleVBhdGguam9pbignKycpICsgXCJdXCI7XG59XG5mdW5jdGlvbiBjcmVhdGVEQkNvcmUoZGIsIGluZGV4ZWREQiwgSWRiS2V5UmFuZ2UsIHRtcFRyYW5zKSB7XG4gICAgdmFyIGNtcCA9IGluZGV4ZWREQi5jbXAuYmluZChpbmRleGVkREIpO1xuICAgIGZ1bmN0aW9uIGV4dHJhY3RTY2hlbWEoZGIsIHRyYW5zKSB7XG4gICAgICAgIHZhciB0YWJsZXMgPSBhcnJheWlmeShkYi5vYmplY3RTdG9yZU5hbWVzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjaGVtYToge1xuICAgICAgICAgICAgICAgIG5hbWU6IGRiLm5hbWUsXG4gICAgICAgICAgICAgICAgdGFibGVzOiB0YWJsZXMubWFwKGZ1bmN0aW9uICh0YWJsZSkgeyByZXR1cm4gdHJhbnMub2JqZWN0U3RvcmUodGFibGUpOyB9KS5tYXAoZnVuY3Rpb24gKHN0b3JlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBrZXlQYXRoID0gc3RvcmUua2V5UGF0aCwgYXV0b0luY3JlbWVudCA9IHN0b3JlLmF1dG9JbmNyZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb21wb3VuZCA9IGlzQXJyYXkoa2V5UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBvdXRib3VuZCA9IGtleVBhdGggPT0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4QnlLZXlQYXRoID0ge307XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdG9yZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUtleToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQcmltYXJ5S2V5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGJvdW5kOiBvdXRib3VuZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3VuZDogY29tcG91bmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5UGF0aDoga2V5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvSW5jcmVtZW50OiBhdXRvSW5jcmVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYWN0S2V5OiBnZXRLZXlFeHRyYWN0b3Ioa2V5UGF0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleGVzOiBhcnJheWlmeShzdG9yZS5pbmRleE5hbWVzKS5tYXAoZnVuY3Rpb24gKGluZGV4TmFtZSkgeyByZXR1cm4gc3RvcmUuaW5kZXgoaW5kZXhOYW1lKTsgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuYW1lID0gaW5kZXgubmFtZSwgdW5pcXVlID0gaW5kZXgudW5pcXVlLCBtdWx0aUVudHJ5ID0gaW5kZXgubXVsdGlFbnRyeSwga2V5UGF0aCA9IGluZGV4LmtleVBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbXBvdW5kID0gaXNBcnJheShrZXlQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb3VuZDogY29tcG91bmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleVBhdGg6IGtleVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZTogdW5pcXVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aUVudHJ5OiBtdWx0aUVudHJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYWN0S2V5OiBnZXRLZXlFeHRyYWN0b3Ioa2V5UGF0aClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4QnlLZXlQYXRoW2dldEtleVBhdGhBbGlhcyhrZXlQYXRoKV0gPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0SW5kZXhCeUtleVBhdGg6IGZ1bmN0aW9uIChrZXlQYXRoKSB7IHJldHVybiBpbmRleEJ5S2V5UGF0aFtnZXRLZXlQYXRoQWxpYXMoa2V5UGF0aCldOyB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGluZGV4QnlLZXlQYXRoW1wiOmlkXCJdID0gcmVzdWx0LnByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXlQYXRoICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4QnlLZXlQYXRoW2dldEtleVBhdGhBbGlhcyhrZXlQYXRoKV0gPSByZXN1bHQucHJpbWFyeUtleTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzR2V0QWxsOiB0YWJsZXMubGVuZ3RoID4gMCAmJiAoJ2dldEFsbCcgaW4gdHJhbnMub2JqZWN0U3RvcmUodGFibGVzWzBdKSkgJiZcbiAgICAgICAgICAgICAgICAhKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9TYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgIS8oQ2hyb21lXFwvfEVkZ2VcXC8pLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgICAgICAgICAgICAgICAgIFtdLmNvbmNhdChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9TYWZhcmlcXC8oXFxkKikvKSlbMV0gPCA2MDQpXG4gICAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VJREJLZXlSYW5nZShyYW5nZSkge1xuICAgICAgICBpZiAocmFuZ2UudHlwZSA9PT0gMyAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKHJhbmdlLnR5cGUgPT09IDQgICAgICAgICAgICApXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY29udmVydCBuZXZlciB0eXBlIHRvIElEQktleVJhbmdlXCIpO1xuICAgICAgICB2YXIgbG93ZXIgPSByYW5nZS5sb3dlciwgdXBwZXIgPSByYW5nZS51cHBlciwgbG93ZXJPcGVuID0gcmFuZ2UubG93ZXJPcGVuLCB1cHBlck9wZW4gPSByYW5nZS51cHBlck9wZW47XG4gICAgICAgIHZhciBpZGJSYW5nZSA9IGxvd2VyID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgdXBwZXIgPT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgICAgICAgbnVsbCA6XG4gICAgICAgICAgICAgICAgSWRiS2V5UmFuZ2UudXBwZXJCb3VuZCh1cHBlciwgISF1cHBlck9wZW4pIDpcbiAgICAgICAgICAgIHVwcGVyID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICAgIElkYktleVJhbmdlLmxvd2VyQm91bmQobG93ZXIsICEhbG93ZXJPcGVuKSA6XG4gICAgICAgICAgICAgICAgSWRiS2V5UmFuZ2UuYm91bmQobG93ZXIsIHVwcGVyLCAhIWxvd2VyT3BlbiwgISF1cHBlck9wZW4pO1xuICAgICAgICByZXR1cm4gaWRiUmFuZ2U7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZURiQ29yZVRhYmxlKHRhYmxlU2NoZW1hKSB7XG4gICAgICAgIHZhciB0YWJsZU5hbWUgPSB0YWJsZVNjaGVtYS5uYW1lO1xuICAgICAgICBmdW5jdGlvbiBtdXRhdGUoX2EpIHtcbiAgICAgICAgICAgIHZhciB0cmFucyA9IF9hLnRyYW5zLCB0eXBlID0gX2EudHlwZSwga2V5cyQkMSA9IF9hLmtleXMsIHZhbHVlcyA9IF9hLnZhbHVlcywgcmFuZ2UgPSBfYS5yYW5nZSwgd2FudFJlc3VsdHMgPSBfYS53YW50UmVzdWx0cztcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSA9IHdyYXAocmVzb2x2ZSk7XG4gICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUodGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICB2YXIgb3V0Ym91bmQgPSBzdG9yZS5rZXlQYXRoID09IG51bGw7XG4gICAgICAgICAgICAgICAgdmFyIGlzQWRkT3JQdXQgPSB0eXBlID09PSBcInB1dFwiIHx8IHR5cGUgPT09IFwiYWRkXCI7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0FkZE9yUHV0ICYmIHR5cGUgIT09ICdkZWxldGUnICYmIHR5cGUgIT09ICdkZWxldGVSYW5nZScpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgb3BlcmF0aW9uIHR5cGU6IFwiICsgdHlwZSk7XG4gICAgICAgICAgICAgICAgdmFyIGxlbmd0aCA9IChrZXlzJCQxIHx8IHZhbHVlcyB8fCB7IGxlbmd0aDogMSB9KS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaWYgKGtleXMkJDEgJiYgdmFsdWVzICYmIGtleXMkJDEubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkdpdmVuIGtleXMgYXJyYXkgbXVzdCBoYXZlIHNhbWUgbGVuZ3RoIGFzIGdpdmVuIHZhbHVlcyBhcnJheS5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHsgbnVtRmFpbHVyZXM6IDAsIGZhaWx1cmVzOiB7fSwgcmVzdWx0czogW10sIGxhc3RSZXN1bHQ6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0cyA9IHdhbnRSZXN1bHRzICYmIF9fc3ByZWFkQXJyYXlzKChrZXlzJCQxID9cbiAgICAgICAgICAgICAgICAgICAga2V5cyQkMSA6XG4gICAgICAgICAgICAgICAgICAgIGdldEVmZmVjdGl2ZUtleXModGFibGVTY2hlbWEucHJpbWFyeUtleSwgeyB0eXBlOiB0eXBlLCBrZXlzOiBrZXlzJCQxLCB2YWx1ZXM6IHZhbHVlcyB9KSkpO1xuICAgICAgICAgICAgICAgIHZhciByZXE7XG4gICAgICAgICAgICAgICAgdmFyIGZhaWx1cmVzID0gW107XG4gICAgICAgICAgICAgICAgdmFyIG51bUZhaWx1cmVzID0gMDtcbiAgICAgICAgICAgICAgICB2YXIgZXJyb3JIYW5kbGVyID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICsrbnVtRmFpbHVyZXM7XG4gICAgICAgICAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdHMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzW2V2ZW50LnRhcmdldC5fcmVxbm9dID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlc1tldmVudC50YXJnZXQuX3JlcW5vXSA9IGV2ZW50LnRhcmdldC5lcnJvcjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHZhciBzZXRSZXN1bHQgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0c1t0YXJnZXQuX3JlcW5vXSA9IHRhcmdldC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2RlbGV0ZVJhbmdlJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmFuZ2UudHlwZSA9PT0gNCAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHsgbnVtRmFpbHVyZXM6IG51bUZhaWx1cmVzLCBmYWlsdXJlczogZmFpbHVyZXMsIHJlc3VsdHM6IHJlc3VsdHMsIGxhc3RSZXN1bHQ6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlLnR5cGUgPT09IDMgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxID0gc3RvcmUuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxID0gc3RvcmUuZGVsZXRlKG1ha2VJREJLZXlSYW5nZShyYW5nZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hID0gaXNBZGRPclB1dCA/XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRib3VuZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlcywga2V5cyQkMV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZXMsIG51bGxdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIFtrZXlzJCQxLCBudWxsXSwgYXJnczEgPSBfYVswXSwgYXJnczIgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQWRkT3JQdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEgPSAoYXJnczIgJiYgYXJnczJbaV0gIT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlW3R5cGVdKGFyZ3MxW2ldLCBhcmdzMltpXSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZVt0eXBlXShhcmdzMVtpXSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5fcmVxbm8gPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHNbaV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gc2V0UmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGVycm9ySGFuZGxlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEgPSBzdG9yZVt0eXBlXShhcmdzMVtpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLl9yZXFubyA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBlcnJvckhhbmRsZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIGRvbmUgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RSZXN1bHQgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0cylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHNbbGVuZ3RoIC0gMV0gPSBsYXN0UmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bUZhaWx1cmVzOiBudW1GYWlsdXJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmVzOiBmYWlsdXJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHM6IHJlc3VsdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0UmVzdWx0OiBsYXN0UmVzdWx0XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgZG9uZShldmVudCk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gZG9uZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIG9wZW5DdXJzb3IoX2EpIHtcbiAgICAgICAgICAgIHZhciB0cmFucyA9IF9hLnRyYW5zLCB2YWx1ZXMgPSBfYS52YWx1ZXMsIHF1ZXJ5ID0gX2EucXVlcnksIHJldmVyc2UgPSBfYS5yZXZlcnNlLCB1bmlxdWUgPSBfYS51bmlxdWU7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUgPSB3cmFwKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHF1ZXJ5LmluZGV4LCByYW5nZSA9IHF1ZXJ5LnJhbmdlO1xuICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgdmFyIHNvdXJjZSA9IGluZGV4LmlzUHJpbWFyeUtleSA/XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlIDpcbiAgICAgICAgICAgICAgICAgICAgc3RvcmUuaW5kZXgoaW5kZXgubmFtZSk7XG4gICAgICAgICAgICAgICAgdmFyIGRpcmVjdGlvbiA9IHJldmVyc2UgP1xuICAgICAgICAgICAgICAgICAgICB1bmlxdWUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmV2dW5pcXVlXCIgOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwcmV2XCIgOlxuICAgICAgICAgICAgICAgICAgICB1bmlxdWUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJuZXh0dW5pcXVlXCIgOlxuICAgICAgICAgICAgICAgICAgICAgICAgXCJuZXh0XCI7XG4gICAgICAgICAgICAgICAgdmFyIHJlcSA9IHZhbHVlcyB8fCAhKCdvcGVuS2V5Q3Vyc29yJyBpbiBzb3VyY2UpID9cbiAgICAgICAgICAgICAgICAgICAgc291cmNlLm9wZW5DdXJzb3IobWFrZUlEQktleVJhbmdlKHJhbmdlKSwgZGlyZWN0aW9uKSA6XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZS5vcGVuS2V5Q3Vyc29yKG1ha2VJREJLZXlSYW5nZShyYW5nZSksIGRpcmVjdGlvbik7XG4gICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBldmVudFJlamVjdEhhbmRsZXIocmVqZWN0KTtcbiAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gd3JhcChmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnNvciA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci5fX19pZCA9ICsrX2lkX2NvdW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci5kb25lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfY3Vyc29yQ29udGludWUgPSBjdXJzb3IuY29udGludWUuYmluZChjdXJzb3IpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2N1cnNvckNvbnRpbnVlUHJpbWFyeUtleSA9IGN1cnNvci5jb250aW51ZVByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfY3Vyc29yQ29udGludWVQcmltYXJ5S2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgX2N1cnNvckNvbnRpbnVlUHJpbWFyeUtleSA9IF9jdXJzb3JDb250aW51ZVByaW1hcnlLZXkuYmluZChjdXJzb3IpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2N1cnNvckFkdmFuY2UgPSBjdXJzb3IuYWR2YW5jZS5iaW5kKGN1cnNvcik7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkb1Rocm93Q3Vyc29ySXNOb3RTdGFydGVkID0gZnVuY3Rpb24gKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJDdXJzb3Igbm90IHN0YXJ0ZWRcIik7IH07XG4gICAgICAgICAgICAgICAgICAgIHZhciBkb1Rocm93Q3Vyc29ySXNTdG9wcGVkID0gZnVuY3Rpb24gKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJDdXJzb3Igbm90IHN0b3BwZWRcIik7IH07XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci50cmFucyA9IHRyYW5zO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3Iuc3RvcCA9IGN1cnNvci5jb250aW51ZSA9IGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkgPSBjdXJzb3IuYWR2YW5jZSA9IGRvVGhyb3dDdXJzb3JJc05vdFN0YXJ0ZWQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci5mYWlsID0gd3JhcChyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3IubmV4dCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ290T25lID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXJ0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGdvdE9uZS0tID8gX3RoaXMuY29udGludWUoKSA6IF90aGlzLnN0b3AoKTsgfSkudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpczsgfSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvci5zdGFydCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZXJhdGlvblByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZUl0ZXJhdGlvbiwgcmVqZWN0SXRlcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUl0ZXJhdGlvbiA9IHdyYXAocmVzb2x2ZUl0ZXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBldmVudFJlamVjdEhhbmRsZXIocmVqZWN0SXRlcmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZmFpbCA9IHJlamVjdEl0ZXJhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3Iuc3RvcCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3Iuc3RvcCA9IGN1cnNvci5jb250aW51ZSA9IGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkgPSBjdXJzb3IuYWR2YW5jZSA9IGRvVGhyb3dDdXJzb3JJc1N0b3BwZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVJdGVyYXRpb24odmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBndWFyZGVkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmZhaWwoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3Iuc3RhcnQgPSBmdW5jdGlvbiAoKSB7IHRocm93IG5ldyBFcnJvcihcIkN1cnNvciBiZWhpbmQgbGFzdCBlbnRyeVwiKTsgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLnN0b3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHdyYXAoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGd1YXJkZWRDYWxsYmFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWFyZGVkQ2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlID0gX2N1cnNvckNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleSA9IF9jdXJzb3JDb250aW51ZVByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuYWR2YW5jZSA9IF9jdXJzb3JBZHZhbmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3VhcmRlZENhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlcmF0aW9uUHJvbWlzZTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjdXJzb3IpO1xuICAgICAgICAgICAgICAgIH0sIHJlamVjdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBxdWVyeShoYXNHZXRBbGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAocmVxdWVzdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUgPSB3cmFwKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnRyYW5zLCB2YWx1ZXMgPSByZXF1ZXN0LnZhbHVlcywgbGltaXQgPSByZXF1ZXN0LmxpbWl0LCBxdWVyeSA9IHJlcXVlc3QucXVlcnk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBub25JbmZpbml0TGltaXQgPSBsaW1pdCA9PT0gSW5maW5pdHkgPyB1bmRlZmluZWQgOiBsaW1pdDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gcXVlcnkuaW5kZXgsIHJhbmdlID0gcXVlcnkucmFuZ2U7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzb3VyY2UgPSBpbmRleC5pc1ByaW1hcnlLZXkgPyBzdG9yZSA6IHN0b3JlLmluZGV4KGluZGV4Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgaWRiS2V5UmFuZ2UgPSBtYWtlSURCS2V5UmFuZ2UocmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGltaXQgPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh7IHJlc3VsdDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNHZXRBbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSB2YWx1ZXMgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5nZXRBbGwoaWRiS2V5UmFuZ2UsIG5vbkluZmluaXRMaW1pdCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5nZXRBbGxLZXlzKGlkYktleVJhbmdlLCBub25JbmZpbml0TGltaXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkgeyByZXR1cm4gcmVzb2x2ZSh7IHJlc3VsdDogZXZlbnQudGFyZ2V0LnJlc3VsdCB9KTsgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnRfMSA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVxXzEgPSB2YWx1ZXMgfHwgISgnb3BlbktleUN1cnNvcicgaW4gc291cmNlKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLm9wZW5DdXJzb3IoaWRiS2V5UmFuZ2UpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Uub3BlbktleUN1cnNvcihpZGJLZXlSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0XzEgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcV8xLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJzb3IgPSByZXFfMS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJzb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHsgcmVzdWx0OiByZXN1bHRfMSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRfMS5wdXNoKHZhbHVlcyA/IGN1cnNvci52YWx1ZSA6IGN1cnNvci5wcmltYXJ5S2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKytjb3VudF8xID09PSBsaW1pdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoeyByZXN1bHQ6IHJlc3VsdF8xIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcV8xLm9uZXJyb3IgPSBldmVudFJlamVjdEhhbmRsZXIocmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogdGFibGVOYW1lLFxuICAgICAgICAgICAgc2NoZW1hOiB0YWJsZVNjaGVtYSxcbiAgICAgICAgICAgIG11dGF0ZTogbXV0YXRlLFxuICAgICAgICAgICAgZ2V0TWFueTogZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRyYW5zID0gX2EudHJhbnMsIGtleXMkJDEgPSBfYS5rZXlzO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUgPSB3cmFwKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoID0ga2V5cyQkMS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQXJyYXkobGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGtleUNvdW50ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNhbGxiYWNrQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWVDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXE7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdWNjZXNzSGFuZGxlciA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocmVzdWx0W3JlcS5fcG9zXSA9IHJlcS5yZXN1bHQpICE9IG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKyt2YWx1ZUNvdW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCsrY2FsbGJhY2tDb3VudCA9PT0ga2V5Q291bnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXJyb3JIYW5kbGVyID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBrZXlzJCQxW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGtleSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxID0gc3RvcmUuZ2V0KGtleXMkJDFbaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5fcG9zID0gaTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gc3VjY2Vzc0hhbmRsZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBlcnJvckhhbmRsZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKytrZXlDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5Q291bnQgPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgdHJhbnMgPSBfYS50cmFucywga2V5ID0gX2Eua2V5O1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUgPSB3cmFwKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gc3RvcmUuZ2V0KGtleSk7XG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsgcmV0dXJuIHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7IH07XG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5KGhhc0dldEFsbCksXG4gICAgICAgICAgICBvcGVuQ3Vyc29yOiBvcGVuQ3Vyc29yLFxuICAgICAgICAgICAgY291bnQ6IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgIHZhciBxdWVyeSA9IF9hLnF1ZXJ5LCB0cmFucyA9IF9hLnRyYW5zO1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHF1ZXJ5LmluZGV4LCByYW5nZSA9IHF1ZXJ5LnJhbmdlO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzb3VyY2UgPSBpbmRleC5pc1ByaW1hcnlLZXkgPyBzdG9yZSA6IHN0b3JlLmluZGV4KGluZGV4Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgaWRiS2V5UmFuZ2UgPSBtYWtlSURCS2V5UmFuZ2UocmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gaWRiS2V5UmFuZ2UgPyBzb3VyY2UuY291bnQoaWRiS2V5UmFuZ2UpIDogc291cmNlLmNvdW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSB3cmFwKGZ1bmN0aW9uIChldikgeyByZXR1cm4gcmVzb2x2ZShldi50YXJnZXQucmVzdWx0KTsgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhciBfYSA9IGV4dHJhY3RTY2hlbWEoZGIsIHRtcFRyYW5zKSwgc2NoZW1hID0gX2Euc2NoZW1hLCBoYXNHZXRBbGwgPSBfYS5oYXNHZXRBbGw7XG4gICAgdmFyIHRhYmxlcyA9IHNjaGVtYS50YWJsZXMubWFwKGZ1bmN0aW9uICh0YWJsZVNjaGVtYSkgeyByZXR1cm4gY3JlYXRlRGJDb3JlVGFibGUodGFibGVTY2hlbWEpOyB9KTtcbiAgICB2YXIgdGFibGVNYXAgPSB7fTtcbiAgICB0YWJsZXMuZm9yRWFjaChmdW5jdGlvbiAodGFibGUpIHsgcmV0dXJuIHRhYmxlTWFwW3RhYmxlLm5hbWVdID0gdGFibGU7IH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YWNrOiBcImRiY29yZVwiLFxuICAgICAgICB0cmFuc2FjdGlvbjogZGIudHJhbnNhY3Rpb24uYmluZChkYiksXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHRhYmxlTWFwW25hbWVdO1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGFibGUgJ1wiICsgbmFtZSArIFwiJyBub3QgZm91bmRcIik7XG4gICAgICAgICAgICByZXR1cm4gdGFibGVNYXBbbmFtZV07XG4gICAgICAgIH0sXG4gICAgICAgIGNtcDogY21wLFxuICAgICAgICBNSU5fS0VZOiAtSW5maW5pdHksXG4gICAgICAgIE1BWF9LRVk6IGdldE1heEtleShJZGJLZXlSYW5nZSksXG4gICAgICAgIHNjaGVtYTogc2NoZW1hXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTWlkZGxld2FyZVN0YWNrKHN0YWNrSW1wbCwgbWlkZGxld2FyZXMpIHtcbiAgICByZXR1cm4gbWlkZGxld2FyZXMucmVkdWNlKGZ1bmN0aW9uIChkb3duLCBfYSkge1xuICAgICAgICB2YXIgY3JlYXRlID0gX2EuY3JlYXRlO1xuICAgICAgICByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBkb3duKSwgY3JlYXRlKGRvd24pKSk7XG4gICAgfSwgc3RhY2tJbXBsKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZU1pZGRsZXdhcmVTdGFja3MobWlkZGxld2FyZXMsIGlkYmRiLCBfYSwgdG1wVHJhbnMpIHtcbiAgICB2YXIgSURCS2V5UmFuZ2UgPSBfYS5JREJLZXlSYW5nZSwgaW5kZXhlZERCID0gX2EuaW5kZXhlZERCO1xuICAgIHZhciBkYmNvcmUgPSBjcmVhdGVNaWRkbGV3YXJlU3RhY2soY3JlYXRlREJDb3JlKGlkYmRiLCBpbmRleGVkREIsIElEQktleVJhbmdlLCB0bXBUcmFucyksIG1pZGRsZXdhcmVzLmRiY29yZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZGJjb3JlOiBkYmNvcmVcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2VuZXJhdGVNaWRkbGV3YXJlU3RhY2tzKGRiLCB0bXBUcmFucykge1xuICAgIHZhciBpZGJkYiA9IHRtcFRyYW5zLmRiO1xuICAgIHZhciBzdGFja3MgPSBjcmVhdGVNaWRkbGV3YXJlU3RhY2tzKGRiLl9taWRkbGV3YXJlcywgaWRiZGIsIGRiLl9kZXBzLCB0bXBUcmFucyk7XG4gICAgZGIuY29yZSA9IHN0YWNrcy5kYmNvcmU7XG4gICAgZGIudGFibGVzLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlKSB7XG4gICAgICAgIHZhciB0YWJsZU5hbWUgPSB0YWJsZS5uYW1lO1xuICAgICAgICBpZiAoZGIuY29yZS5zY2hlbWEudGFibGVzLnNvbWUoZnVuY3Rpb24gKHRibCkgeyByZXR1cm4gdGJsLm5hbWUgPT09IHRhYmxlTmFtZTsgfSkpIHtcbiAgICAgICAgICAgIHRhYmxlLmNvcmUgPSBkYi5jb3JlLnRhYmxlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICBpZiAoZGJbdGFibGVOYW1lXSBpbnN0YW5jZW9mIGRiLlRhYmxlKSB7XG4gICAgICAgICAgICAgICAgZGJbdGFibGVOYW1lXS5jb3JlID0gdGFibGUuY29yZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRBcGlPblBsYWNlKGRiLCBvYmpzLCB0YWJsZU5hbWVzLCBkYnNjaGVtYSkge1xuICAgIHRhYmxlTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgIHZhciBzY2hlbWEgPSBkYnNjaGVtYVt0YWJsZU5hbWVdO1xuICAgICAgICBvYmpzLmZvckVhY2goZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgICAgdmFyIHByb3BEZXNjID0gZ2V0UHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgdGFibGVOYW1lKTtcbiAgICAgICAgICAgIGlmICghcHJvcERlc2MgfHwgKFwidmFsdWVcIiBpbiBwcm9wRGVzYyAmJiBwcm9wRGVzYy52YWx1ZSA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICAgIGlmIChvYmogPT09IGRiLlRyYW5zYWN0aW9uLnByb3RvdHlwZSB8fCBvYmogaW5zdGFuY2VvZiBkYi5UcmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBzZXRQcm9wKG9iaiwgdGFibGVOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMudGFibGUodGFibGVOYW1lKTsgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lUHJvcGVydHkodGhpcywgdGFibGVOYW1lLCB7IHZhbHVlOiB2YWx1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYmpbdGFibGVOYW1lXSA9IG5ldyBkYi5UYWJsZSh0YWJsZU5hbWUsIHNjaGVtYSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHJlbW92ZVRhYmxlc0FwaShkYiwgb2Jqcykge1xuICAgIG9ianMuZm9yRWFjaChmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgICAgIGlmIChvYmpba2V5XSBpbnN0YW5jZW9mIGRiLlRhYmxlKVxuICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gbG93ZXJWZXJzaW9uRmlyc3QoYSwgYikge1xuICAgIHJldHVybiBhLl9jZmcudmVyc2lvbiAtIGIuX2NmZy52ZXJzaW9uO1xufVxuZnVuY3Rpb24gcnVuVXBncmFkZXJzKGRiLCBvbGRWZXJzaW9uLCBpZGJVcGdyYWRlVHJhbnMsIHJlamVjdCkge1xuICAgIHZhciBnbG9iYWxTY2hlbWEgPSBkYi5fZGJTY2hlbWE7XG4gICAgdmFyIHRyYW5zID0gZGIuX2NyZWF0ZVRyYW5zYWN0aW9uKCdyZWFkd3JpdGUnLCBkYi5fc3RvcmVOYW1lcywgZ2xvYmFsU2NoZW1hKTtcbiAgICB0cmFucy5jcmVhdGUoaWRiVXBncmFkZVRyYW5zKTtcbiAgICB0cmFucy5fY29tcGxldGlvbi5jYXRjaChyZWplY3QpO1xuICAgIHZhciByZWplY3RUcmFuc2FjdGlvbiA9IHRyYW5zLl9yZWplY3QuYmluZCh0cmFucyk7XG4gICAgdmFyIHRyYW5zbGVzcyA9IFBTRC50cmFuc2xlc3MgfHwgUFNEO1xuICAgIG5ld1Njb3BlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgUFNELnRyYW5zID0gdHJhbnM7XG4gICAgICAgIFBTRC50cmFuc2xlc3MgPSB0cmFuc2xlc3M7XG4gICAgICAgIGlmIChvbGRWZXJzaW9uID09PSAwKSB7XG4gICAgICAgICAgICBrZXlzKGdsb2JhbFNjaGVtYSkuZm9yRWFjaChmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgY3JlYXRlVGFibGUoaWRiVXBncmFkZVRyYW5zLCB0YWJsZU5hbWUsIGdsb2JhbFNjaGVtYVt0YWJsZU5hbWVdLnByaW1LZXksIGdsb2JhbFNjaGVtYVt0YWJsZU5hbWVdLmluZGV4ZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBnZW5lcmF0ZU1pZGRsZXdhcmVTdGFja3MoZGIsIGlkYlVwZ3JhZGVUcmFucyk7XG4gICAgICAgICAgICBEZXhpZVByb21pc2UuZm9sbG93KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRiLm9uLnBvcHVsYXRlLmZpcmUodHJhbnMpOyB9KS5jYXRjaChyZWplY3RUcmFuc2FjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdXBkYXRlVGFibGVzQW5kSW5kZXhlcyhkYiwgb2xkVmVyc2lvbiwgdHJhbnMsIGlkYlVwZ3JhZGVUcmFucykuY2F0Y2gocmVqZWN0VHJhbnNhY3Rpb24pO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gdXBkYXRlVGFibGVzQW5kSW5kZXhlcyhkYiwgb2xkVmVyc2lvbiwgdHJhbnMsIGlkYlVwZ3JhZGVUcmFucykge1xuICAgIHZhciBxdWV1ZSA9IFtdO1xuICAgIHZhciB2ZXJzaW9ucyA9IGRiLl92ZXJzaW9ucztcbiAgICB2YXIgZ2xvYmFsU2NoZW1hID0gZGIuX2RiU2NoZW1hID0gYnVpbGRHbG9iYWxTY2hlbWEoZGIsIGRiLmlkYmRiLCBpZGJVcGdyYWRlVHJhbnMpO1xuICAgIHZhciBhbnlDb250ZW50VXBncmFkZXJIYXNSdW4gPSBmYWxzZTtcbiAgICB2YXIgdmVyc1RvUnVuID0gdmVyc2lvbnMuZmlsdGVyKGZ1bmN0aW9uICh2KSB7IHJldHVybiB2Ll9jZmcudmVyc2lvbiA+PSBvbGRWZXJzaW9uOyB9KTtcbiAgICB2ZXJzVG9SdW4uZm9yRWFjaChmdW5jdGlvbiAodmVyc2lvbikge1xuICAgICAgICBxdWV1ZS5wdXNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBvbGRTY2hlbWEgPSBnbG9iYWxTY2hlbWE7XG4gICAgICAgICAgICB2YXIgbmV3U2NoZW1hID0gdmVyc2lvbi5fY2ZnLmRic2NoZW1hO1xuICAgICAgICAgICAgYWRqdXN0VG9FeGlzdGluZ0luZGV4TmFtZXMoZGIsIG9sZFNjaGVtYSwgaWRiVXBncmFkZVRyYW5zKTtcbiAgICAgICAgICAgIGFkanVzdFRvRXhpc3RpbmdJbmRleE5hbWVzKGRiLCBuZXdTY2hlbWEsIGlkYlVwZ3JhZGVUcmFucyk7XG4gICAgICAgICAgICBnbG9iYWxTY2hlbWEgPSBkYi5fZGJTY2hlbWEgPSBuZXdTY2hlbWE7XG4gICAgICAgICAgICB2YXIgZGlmZiA9IGdldFNjaGVtYURpZmYob2xkU2NoZW1hLCBuZXdTY2hlbWEpO1xuICAgICAgICAgICAgZGlmZi5hZGQuZm9yRWFjaChmdW5jdGlvbiAodHVwbGUpIHtcbiAgICAgICAgICAgICAgICBjcmVhdGVUYWJsZShpZGJVcGdyYWRlVHJhbnMsIHR1cGxlWzBdLCB0dXBsZVsxXS5wcmltS2V5LCB0dXBsZVsxXS5pbmRleGVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZGlmZi5jaGFuZ2UuZm9yRWFjaChmdW5jdGlvbiAoY2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZS5yZWNyZWF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5VcGdyYWRlKFwiTm90IHlldCBzdXBwb3J0IGZvciBjaGFuZ2luZyBwcmltYXJ5IGtleVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzdG9yZV8xID0gaWRiVXBncmFkZVRyYW5zLm9iamVjdFN0b3JlKGNoYW5nZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmFkZC5mb3JFYWNoKGZ1bmN0aW9uIChpZHgpIHsgcmV0dXJuIGFkZEluZGV4KHN0b3JlXzEsIGlkeCk7IH0pO1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2UuY2hhbmdlLmZvckVhY2goZnVuY3Rpb24gKGlkeCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVfMS5kZWxldGVJbmRleChpZHgubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRJbmRleChzdG9yZV8xLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmRlbC5mb3JFYWNoKGZ1bmN0aW9uIChpZHhOYW1lKSB7IHJldHVybiBzdG9yZV8xLmRlbGV0ZUluZGV4KGlkeE5hbWUpOyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBjb250ZW50VXBncmFkZSA9IHZlcnNpb24uX2NmZy5jb250ZW50VXBncmFkZTtcbiAgICAgICAgICAgIGlmIChjb250ZW50VXBncmFkZSAmJiB2ZXJzaW9uLl9jZmcudmVyc2lvbiA+IG9sZFZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZU1pZGRsZXdhcmVTdGFja3MoZGIsIGlkYlVwZ3JhZGVUcmFucyk7XG4gICAgICAgICAgICAgICAgdHJhbnMuX21lbW9pemVkVGFibGVzID0ge307XG4gICAgICAgICAgICAgICAgYW55Q29udGVudFVwZ3JhZGVySGFzUnVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB2YXIgdXBncmFkZVNjaGVtYV8xID0gc2hhbGxvd0Nsb25lKG5ld1NjaGVtYSk7XG4gICAgICAgICAgICAgICAgZGlmZi5kZWwuZm9yRWFjaChmdW5jdGlvbiAodGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdXBncmFkZVNjaGVtYV8xW3RhYmxlXSA9IG9sZFNjaGVtYVt0YWJsZV07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlVGFibGVzQXBpKGRiLCBbZGIuVHJhbnNhY3Rpb24ucHJvdG90eXBlXSk7XG4gICAgICAgICAgICAgICAgc2V0QXBpT25QbGFjZShkYiwgW2RiLlRyYW5zYWN0aW9uLnByb3RvdHlwZV0sIGtleXModXBncmFkZVNjaGVtYV8xKSwgdXBncmFkZVNjaGVtYV8xKTtcbiAgICAgICAgICAgICAgICB0cmFucy5zY2hlbWEgPSB1cGdyYWRlU2NoZW1hXzE7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRlbnRVcGdyYWRlSXNBc3luY18xID0gaXNBc3luY0Z1bmN0aW9uKGNvbnRlbnRVcGdyYWRlKTtcbiAgICAgICAgICAgICAgICBpZiAoY29udGVudFVwZ3JhZGVJc0FzeW5jXzEpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50RXhwZWN0ZWRBd2FpdHMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHJldHVyblZhbHVlXzE7XG4gICAgICAgICAgICAgICAgdmFyIHByb21pc2VGb2xsb3dlZCA9IERleGllUHJvbWlzZS5mb2xsb3coZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm5WYWx1ZV8xID0gY29udGVudFVwZ3JhZGUodHJhbnMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmV0dXJuVmFsdWVfMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRVcGdyYWRlSXNBc3luY18xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlY3JlbWVudG9yID0gZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMuYmluZChudWxsLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5WYWx1ZV8xLnRoZW4oZGVjcmVtZW50b3IsIGRlY3JlbWVudG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiAocmV0dXJuVmFsdWVfMSAmJiB0eXBlb2YgcmV0dXJuVmFsdWVfMS50aGVuID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUocmV0dXJuVmFsdWVfMSkgOiBwcm9taXNlRm9sbG93ZWQudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiByZXR1cm5WYWx1ZV8xOyB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBxdWV1ZS5wdXNoKGZ1bmN0aW9uIChpZGJ0cmFucykge1xuICAgICAgICAgICAgaWYgKCFhbnlDb250ZW50VXBncmFkZXJIYXNSdW4gfHwgIWhhc0lFRGVsZXRlT2JqZWN0U3RvcmVCdWcpIHtcbiAgICAgICAgICAgICAgICB2YXIgbmV3U2NoZW1hID0gdmVyc2lvbi5fY2ZnLmRic2NoZW1hO1xuICAgICAgICAgICAgICAgIGRlbGV0ZVJlbW92ZWRUYWJsZXMobmV3U2NoZW1hLCBpZGJ0cmFucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZW1vdmVUYWJsZXNBcGkoZGIsIFtkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGVdKTtcbiAgICAgICAgICAgIHNldEFwaU9uUGxhY2UoZGIsIFtkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGVdLCBkYi5fc3RvcmVOYW1lcywgZGIuX2RiU2NoZW1hKTtcbiAgICAgICAgICAgIHRyYW5zLnNjaGVtYSA9IGRiLl9kYlNjaGVtYTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gcnVuUXVldWUoKSB7XG4gICAgICAgIHJldHVybiBxdWV1ZS5sZW5ndGggPyBEZXhpZVByb21pc2UucmVzb2x2ZShxdWV1ZS5zaGlmdCgpKHRyYW5zLmlkYnRyYW5zKSkudGhlbihydW5RdWV1ZSkgOlxuICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJ1blF1ZXVlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNyZWF0ZU1pc3NpbmdUYWJsZXMoZ2xvYmFsU2NoZW1hLCBpZGJVcGdyYWRlVHJhbnMpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0U2NoZW1hRGlmZihvbGRTY2hlbWEsIG5ld1NjaGVtYSkge1xuICAgIHZhciBkaWZmID0ge1xuICAgICAgICBkZWw6IFtdLFxuICAgICAgICBhZGQ6IFtdLFxuICAgICAgICBjaGFuZ2U6IFtdXG4gICAgfTtcbiAgICB2YXIgdGFibGU7XG4gICAgZm9yICh0YWJsZSBpbiBvbGRTY2hlbWEpIHtcbiAgICAgICAgaWYgKCFuZXdTY2hlbWFbdGFibGVdKVxuICAgICAgICAgICAgZGlmZi5kZWwucHVzaCh0YWJsZSk7XG4gICAgfVxuICAgIGZvciAodGFibGUgaW4gbmV3U2NoZW1hKSB7XG4gICAgICAgIHZhciBvbGREZWYgPSBvbGRTY2hlbWFbdGFibGVdLCBuZXdEZWYgPSBuZXdTY2hlbWFbdGFibGVdO1xuICAgICAgICBpZiAoIW9sZERlZikge1xuICAgICAgICAgICAgZGlmZi5hZGQucHVzaChbdGFibGUsIG5ld0RlZl0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNoYW5nZSA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiB0YWJsZSxcbiAgICAgICAgICAgICAgICBkZWY6IG5ld0RlZixcbiAgICAgICAgICAgICAgICByZWNyZWF0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVsOiBbXSxcbiAgICAgICAgICAgICAgICBhZGQ6IFtdLFxuICAgICAgICAgICAgICAgIGNoYW5nZTogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoKFxuICAgICAgICAgICAgJycgKyAob2xkRGVmLnByaW1LZXkua2V5UGF0aCB8fCAnJykpICE9PSAoJycgKyAobmV3RGVmLnByaW1LZXkua2V5UGF0aCB8fCAnJykpIHx8XG4gICAgICAgICAgICAgICAgKG9sZERlZi5wcmltS2V5LmF1dG8gIT09IG5ld0RlZi5wcmltS2V5LmF1dG8gJiYgIWlzSUVPckVkZ2UpKVxuICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2UucmVjcmVhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGRpZmYuY2hhbmdlLnB1c2goY2hhbmdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBvbGRJbmRleGVzID0gb2xkRGVmLmlkeEJ5TmFtZTtcbiAgICAgICAgICAgICAgICB2YXIgbmV3SW5kZXhlcyA9IG5ld0RlZi5pZHhCeU5hbWU7XG4gICAgICAgICAgICAgICAgdmFyIGlkeE5hbWUgPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgZm9yIChpZHhOYW1lIGluIG9sZEluZGV4ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdJbmRleGVzW2lkeE5hbWVdKVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmRlbC5wdXNoKGlkeE5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3IgKGlkeE5hbWUgaW4gbmV3SW5kZXhlcykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgb2xkSWR4ID0gb2xkSW5kZXhlc1tpZHhOYW1lXSwgbmV3SWR4ID0gbmV3SW5kZXhlc1tpZHhOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvbGRJZHgpXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UuYWRkLnB1c2gobmV3SWR4KTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob2xkSWR4LnNyYyAhPT0gbmV3SWR4LnNyYylcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5jaGFuZ2UucHVzaChuZXdJZHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY2hhbmdlLmRlbC5sZW5ndGggPiAwIHx8IGNoYW5nZS5hZGQubGVuZ3RoID4gMCB8fCBjaGFuZ2UuY2hhbmdlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlmZi5jaGFuZ2UucHVzaChjaGFuZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGlmZjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRhYmxlKGlkYnRyYW5zLCB0YWJsZU5hbWUsIHByaW1LZXksIGluZGV4ZXMpIHtcbiAgICB2YXIgc3RvcmUgPSBpZGJ0cmFucy5kYi5jcmVhdGVPYmplY3RTdG9yZSh0YWJsZU5hbWUsIHByaW1LZXkua2V5UGF0aCA/XG4gICAgICAgIHsga2V5UGF0aDogcHJpbUtleS5rZXlQYXRoLCBhdXRvSW5jcmVtZW50OiBwcmltS2V5LmF1dG8gfSA6XG4gICAgICAgIHsgYXV0b0luY3JlbWVudDogcHJpbUtleS5hdXRvIH0pO1xuICAgIGluZGV4ZXMuZm9yRWFjaChmdW5jdGlvbiAoaWR4KSB7IHJldHVybiBhZGRJbmRleChzdG9yZSwgaWR4KTsgfSk7XG4gICAgcmV0dXJuIHN0b3JlO1xufVxuZnVuY3Rpb24gY3JlYXRlTWlzc2luZ1RhYmxlcyhuZXdTY2hlbWEsIGlkYnRyYW5zKSB7XG4gICAga2V5cyhuZXdTY2hlbWEpLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICBpZiAoIWlkYnRyYW5zLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnModGFibGVOYW1lKSkge1xuICAgICAgICAgICAgY3JlYXRlVGFibGUoaWRidHJhbnMsIHRhYmxlTmFtZSwgbmV3U2NoZW1hW3RhYmxlTmFtZV0ucHJpbUtleSwgbmV3U2NoZW1hW3RhYmxlTmFtZV0uaW5kZXhlcyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGRlbGV0ZVJlbW92ZWRUYWJsZXMobmV3U2NoZW1hLCBpZGJ0cmFucykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaWRidHJhbnMuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGg7ICsraSkge1xuICAgICAgICB2YXIgc3RvcmVOYW1lID0gaWRidHJhbnMuZGIub2JqZWN0U3RvcmVOYW1lc1tpXTtcbiAgICAgICAgaWYgKG5ld1NjaGVtYVtzdG9yZU5hbWVdID09IG51bGwpIHtcbiAgICAgICAgICAgIGlkYnRyYW5zLmRiLmRlbGV0ZU9iamVjdFN0b3JlKHN0b3JlTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBhZGRJbmRleChzdG9yZSwgaWR4KSB7XG4gICAgc3RvcmUuY3JlYXRlSW5kZXgoaWR4Lm5hbWUsIGlkeC5rZXlQYXRoLCB7IHVuaXF1ZTogaWR4LnVuaXF1ZSwgbXVsdGlFbnRyeTogaWR4Lm11bHRpIH0pO1xufVxuZnVuY3Rpb24gYnVpbGRHbG9iYWxTY2hlbWEoZGIsIGlkYmRiLCB0bXBUcmFucykge1xuICAgIHZhciBnbG9iYWxTY2hlbWEgPSB7fTtcbiAgICB2YXIgZGJTdG9yZU5hbWVzID0gc2xpY2UoaWRiZGIub2JqZWN0U3RvcmVOYW1lcywgMCk7XG4gICAgZGJTdG9yZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKHN0b3JlTmFtZSkge1xuICAgICAgICB2YXIgc3RvcmUgPSB0bXBUcmFucy5vYmplY3RTdG9yZShzdG9yZU5hbWUpO1xuICAgICAgICB2YXIga2V5UGF0aCA9IHN0b3JlLmtleVBhdGg7XG4gICAgICAgIHZhciBwcmltS2V5ID0gY3JlYXRlSW5kZXhTcGVjKG5hbWVGcm9tS2V5UGF0aChrZXlQYXRoKSwga2V5UGF0aCB8fCBcIlwiLCBmYWxzZSwgZmFsc2UsICEhc3RvcmUuYXV0b0luY3JlbWVudCwga2V5UGF0aCAmJiB0eXBlb2Yga2V5UGF0aCAhPT0gXCJzdHJpbmdcIiwgdHJ1ZSk7XG4gICAgICAgIHZhciBpbmRleGVzID0gW107XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc3RvcmUuaW5kZXhOYW1lcy5sZW5ndGg7ICsraikge1xuICAgICAgICAgICAgdmFyIGlkYmluZGV4ID0gc3RvcmUuaW5kZXgoc3RvcmUuaW5kZXhOYW1lc1tqXSk7XG4gICAgICAgICAgICBrZXlQYXRoID0gaWRiaW5kZXgua2V5UGF0aDtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGNyZWF0ZUluZGV4U3BlYyhpZGJpbmRleC5uYW1lLCBrZXlQYXRoLCAhIWlkYmluZGV4LnVuaXF1ZSwgISFpZGJpbmRleC5tdWx0aUVudHJ5LCBmYWxzZSwga2V5UGF0aCAmJiB0eXBlb2Yga2V5UGF0aCAhPT0gXCJzdHJpbmdcIiwgZmFsc2UpO1xuICAgICAgICAgICAgaW5kZXhlcy5wdXNoKGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxTY2hlbWFbc3RvcmVOYW1lXSA9IGNyZWF0ZVRhYmxlU2NoZW1hKHN0b3JlTmFtZSwgcHJpbUtleSwgaW5kZXhlcyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdsb2JhbFNjaGVtYTtcbn1cbmZ1bmN0aW9uIHJlYWRHbG9iYWxTY2hlbWEoZGIsIGlkYmRiLCB0bXBUcmFucykge1xuICAgIGRiLnZlcm5vID0gaWRiZGIudmVyc2lvbiAvIDEwO1xuICAgIHZhciBnbG9iYWxTY2hlbWEgPSBkYi5fZGJTY2hlbWEgPSBidWlsZEdsb2JhbFNjaGVtYShkYiwgaWRiZGIsIHRtcFRyYW5zKTtcbiAgICBkYi5fc3RvcmVOYW1lcyA9IHNsaWNlKGlkYmRiLm9iamVjdFN0b3JlTmFtZXMsIDApO1xuICAgIHNldEFwaU9uUGxhY2UoZGIsIFtkYi5fYWxsVGFibGVzXSwga2V5cyhnbG9iYWxTY2hlbWEpLCBnbG9iYWxTY2hlbWEpO1xufVxuZnVuY3Rpb24gdmVyaWZ5SW5zdGFsbGVkU2NoZW1hKGRiLCB0bXBUcmFucykge1xuICAgIHZhciBpbnN0YWxsZWRTY2hlbWEgPSBidWlsZEdsb2JhbFNjaGVtYShkYiwgZGIuaWRiZGIsIHRtcFRyYW5zKTtcbiAgICB2YXIgZGlmZiA9IGdldFNjaGVtYURpZmYoaW5zdGFsbGVkU2NoZW1hLCBkYi5fZGJTY2hlbWEpO1xuICAgIHJldHVybiAhKGRpZmYuYWRkLmxlbmd0aCB8fCBkaWZmLmNoYW5nZS5zb21lKGZ1bmN0aW9uIChjaCkgeyByZXR1cm4gY2guYWRkLmxlbmd0aCB8fCBjaC5jaGFuZ2UubGVuZ3RoOyB9KSk7XG59XG5mdW5jdGlvbiBhZGp1c3RUb0V4aXN0aW5nSW5kZXhOYW1lcyhkYiwgc2NoZW1hLCBpZGJ0cmFucykge1xuICAgIHZhciBzdG9yZU5hbWVzID0gaWRidHJhbnMuZGIub2JqZWN0U3RvcmVOYW1lcztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JlTmFtZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIHN0b3JlTmFtZSA9IHN0b3JlTmFtZXNbaV07XG4gICAgICAgIHZhciBzdG9yZSA9IGlkYnRyYW5zLm9iamVjdFN0b3JlKHN0b3JlTmFtZSk7XG4gICAgICAgIGRiLl9oYXNHZXRBbGwgPSAnZ2V0QWxsJyBpbiBzdG9yZTtcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdG9yZS5pbmRleE5hbWVzLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgICB2YXIgaW5kZXhOYW1lID0gc3RvcmUuaW5kZXhOYW1lc1tqXTtcbiAgICAgICAgICAgIHZhciBrZXlQYXRoID0gc3RvcmUuaW5kZXgoaW5kZXhOYW1lKS5rZXlQYXRoO1xuICAgICAgICAgICAgdmFyIGRleGllTmFtZSA9IHR5cGVvZiBrZXlQYXRoID09PSAnc3RyaW5nJyA/IGtleVBhdGggOiBcIltcIiArIHNsaWNlKGtleVBhdGgpLmpvaW4oJysnKSArIFwiXVwiO1xuICAgICAgICAgICAgaWYgKHNjaGVtYVtzdG9yZU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4U3BlYyA9IHNjaGVtYVtzdG9yZU5hbWVdLmlkeEJ5TmFtZVtkZXhpZU5hbWVdO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleFNwZWMpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhTcGVjLm5hbWUgPSBpbmRleE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBzY2hlbWFbc3RvcmVOYW1lXS5pZHhCeU5hbWVbZGV4aWVOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgc2NoZW1hW3N0b3JlTmFtZV0uaWR4QnlOYW1lW2luZGV4TmFtZV0gPSBpbmRleFNwZWM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvU2FmYXJpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgICAgICEvKENocm9tZVxcL3xFZGdlXFwvKS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJlxuICAgICAgICBfZ2xvYmFsLldvcmtlckdsb2JhbFNjb3BlICYmIF9nbG9iYWwgaW5zdGFuY2VvZiBfZ2xvYmFsLldvcmtlckdsb2JhbFNjb3BlICYmXG4gICAgICAgIFtdLmNvbmNhdChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9TYWZhcmlcXC8oXFxkKikvKSlbMV0gPCA2MDQpIHtcbiAgICAgICAgZGIuX2hhc0dldEFsbCA9IGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHBhcnNlSW5kZXhTeW50YXgocHJpbUtleUFuZEluZGV4ZXMpIHtcbiAgICByZXR1cm4gcHJpbUtleUFuZEluZGV4ZXMuc3BsaXQoJywnKS5tYXAoZnVuY3Rpb24gKGluZGV4LCBpbmRleE51bSkge1xuICAgICAgICBpbmRleCA9IGluZGV4LnRyaW0oKTtcbiAgICAgICAgdmFyIG5hbWUgPSBpbmRleC5yZXBsYWNlKC8oWyYqXXxcXCtcXCspL2csIFwiXCIpO1xuICAgICAgICB2YXIga2V5UGF0aCA9IC9eXFxbLy50ZXN0KG5hbWUpID8gbmFtZS5tYXRjaCgvXlxcWyguKilcXF0kLylbMV0uc3BsaXQoJysnKSA6IG5hbWU7XG4gICAgICAgIHJldHVybiBjcmVhdGVJbmRleFNwZWMobmFtZSwga2V5UGF0aCB8fCBudWxsLCAvXFwmLy50ZXN0KGluZGV4KSwgL1xcKi8udGVzdChpbmRleCksIC9cXCtcXCsvLnRlc3QoaW5kZXgpLCBpc0FycmF5KGtleVBhdGgpLCBpbmRleE51bSA9PT0gMCk7XG4gICAgfSk7XG59XG5cbnZhciBWZXJzaW9uID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFZlcnNpb24oKSB7XG4gICAgfVxuICAgIFZlcnNpb24ucHJvdG90eXBlLl9wYXJzZVN0b3Jlc1NwZWMgPSBmdW5jdGlvbiAoc3RvcmVzLCBvdXRTY2hlbWEpIHtcbiAgICAgICAga2V5cyhzdG9yZXMpLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICAgICAgaWYgKHN0b3Jlc1t0YWJsZU5hbWVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ZXMgPSBwYXJzZUluZGV4U3ludGF4KHN0b3Jlc1t0YWJsZU5hbWVdKTtcbiAgICAgICAgICAgICAgICB2YXIgcHJpbUtleSA9IGluZGV4ZXMuc2hpZnQoKTtcbiAgICAgICAgICAgICAgICBpZiAocHJpbUtleS5tdWx0aSlcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU2NoZW1hKFwiUHJpbWFyeSBrZXkgY2Fubm90IGJlIG11bHRpLXZhbHVlZFwiKTtcbiAgICAgICAgICAgICAgICBpbmRleGVzLmZvckVhY2goZnVuY3Rpb24gKGlkeCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaWR4LmF1dG8pXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5TY2hlbWEoXCJPbmx5IHByaW1hcnkga2V5IGNhbiBiZSBtYXJrZWQgYXMgYXV0b0luY3JlbWVudCAoKyspXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlkeC5rZXlQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU2NoZW1hKFwiSW5kZXggbXVzdCBoYXZlIGEgbmFtZSBhbmQgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZ1wiKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvdXRTY2hlbWFbdGFibGVOYW1lXSA9IGNyZWF0ZVRhYmxlU2NoZW1hKHRhYmxlTmFtZSwgcHJpbUtleSwgaW5kZXhlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgVmVyc2lvbi5wcm90b3R5cGUuc3RvcmVzID0gZnVuY3Rpb24gKHN0b3Jlcykge1xuICAgICAgICB2YXIgZGIgPSB0aGlzLmRiO1xuICAgICAgICB0aGlzLl9jZmcuc3RvcmVzU291cmNlID0gdGhpcy5fY2ZnLnN0b3Jlc1NvdXJjZSA/XG4gICAgICAgICAgICBleHRlbmQodGhpcy5fY2ZnLnN0b3Jlc1NvdXJjZSwgc3RvcmVzKSA6XG4gICAgICAgICAgICBzdG9yZXM7XG4gICAgICAgIHZhciB2ZXJzaW9ucyA9IGRiLl92ZXJzaW9ucztcbiAgICAgICAgdmFyIHN0b3Jlc1NwZWMgPSB7fTtcbiAgICAgICAgdmFyIGRic2NoZW1hID0ge307XG4gICAgICAgIHZlcnNpb25zLmZvckVhY2goZnVuY3Rpb24gKHZlcnNpb24pIHtcbiAgICAgICAgICAgIGV4dGVuZChzdG9yZXNTcGVjLCB2ZXJzaW9uLl9jZmcuc3RvcmVzU291cmNlKTtcbiAgICAgICAgICAgIGRic2NoZW1hID0gKHZlcnNpb24uX2NmZy5kYnNjaGVtYSA9IHt9KTtcbiAgICAgICAgICAgIHZlcnNpb24uX3BhcnNlU3RvcmVzU3BlYyhzdG9yZXNTcGVjLCBkYnNjaGVtYSk7XG4gICAgICAgIH0pO1xuICAgICAgICBkYi5fZGJTY2hlbWEgPSBkYnNjaGVtYTtcbiAgICAgICAgcmVtb3ZlVGFibGVzQXBpKGRiLCBbZGIuX2FsbFRhYmxlcywgZGIsIGRiLlRyYW5zYWN0aW9uLnByb3RvdHlwZV0pO1xuICAgICAgICBzZXRBcGlPblBsYWNlKGRiLCBbZGIuX2FsbFRhYmxlcywgZGIsIGRiLlRyYW5zYWN0aW9uLnByb3RvdHlwZSwgdGhpcy5fY2ZnLnRhYmxlc10sIGtleXMoZGJzY2hlbWEpLCBkYnNjaGVtYSk7XG4gICAgICAgIGRiLl9zdG9yZU5hbWVzID0ga2V5cyhkYnNjaGVtYSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgVmVyc2lvbi5wcm90b3R5cGUudXBncmFkZSA9IGZ1bmN0aW9uICh1cGdyYWRlRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5fY2ZnLmNvbnRlbnRVcGdyYWRlID0gdXBncmFkZUZ1bmN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIHJldHVybiBWZXJzaW9uO1xufSgpKTtcblxuZnVuY3Rpb24gY3JlYXRlVmVyc2lvbkNvbnN0cnVjdG9yKGRiKSB7XG4gICAgcmV0dXJuIG1ha2VDbGFzc0NvbnN0cnVjdG9yKFZlcnNpb24ucHJvdG90eXBlLCBmdW5jdGlvbiBWZXJzaW9uJCQxKHZlcnNpb25OdW1iZXIpIHtcbiAgICAgICAgdGhpcy5kYiA9IGRiO1xuICAgICAgICB0aGlzLl9jZmcgPSB7XG4gICAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uTnVtYmVyLFxuICAgICAgICAgICAgc3RvcmVzU291cmNlOiBudWxsLFxuICAgICAgICAgICAgZGJzY2hlbWE6IHt9LFxuICAgICAgICAgICAgdGFibGVzOiB7fSxcbiAgICAgICAgICAgIGNvbnRlbnRVcGdyYWRlOiBudWxsXG4gICAgICAgIH07XG4gICAgfSk7XG59XG5cbnZhciBkYXRhYmFzZUVudW1lcmF0b3I7XG5mdW5jdGlvbiBEYXRhYmFzZUVudW1lcmF0b3IoaW5kZXhlZERCKSB7XG4gICAgdmFyIGhhc0RhdGFiYXNlc05hdGl2ZSA9IGluZGV4ZWREQiAmJiB0eXBlb2YgaW5kZXhlZERCLmRhdGFiYXNlcyA9PT0gJ2Z1bmN0aW9uJztcbiAgICB2YXIgZGJOYW1lc1RhYmxlO1xuICAgIGlmICghaGFzRGF0YWJhc2VzTmF0aXZlKSB7XG4gICAgICAgIHZhciBkYiA9IG5ldyBEZXhpZShEQk5BTUVTX0RCLCB7IGFkZG9uczogW10gfSk7XG4gICAgICAgIGRiLnZlcnNpb24oMSkuc3RvcmVzKHsgZGJuYW1lczogJ25hbWUnIH0pO1xuICAgICAgICBkYk5hbWVzVGFibGUgPSBkYi50YWJsZSgnZGJuYW1lcycpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBnZXREYXRhYmFzZU5hbWVzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gaGFzRGF0YWJhc2VzTmF0aXZlXG4gICAgICAgICAgICAgICAgP1xuICAgICAgICAgICAgICAgICAgICBEZXhpZVByb21pc2UucmVzb2x2ZShpbmRleGVkREIuZGF0YWJhc2VzKCkpLnRoZW4oZnVuY3Rpb24gKGluZm9zKSB7IHJldHVybiBpbmZvc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaW5mbykgeyByZXR1cm4gaW5mby5uYW1lOyB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gbmFtZSAhPT0gREJOQU1FU19EQjsgfSk7IH0pXG4gICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICBkYk5hbWVzVGFibGUudG9Db2xsZWN0aW9uKCkucHJpbWFyeUtleXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgYWRkOiBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuICFoYXNEYXRhYmFzZXNOYXRpdmUgJiYgbmFtZSAhPT0gREJOQU1FU19EQiAmJiBkYk5hbWVzVGFibGUucHV0KHsgbmFtZTogbmFtZSB9KS5jYXRjaChub3ApO1xuICAgICAgICB9LFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gIWhhc0RhdGFiYXNlc05hdGl2ZSAmJiBuYW1lICE9PSBEQk5BTUVTX0RCICYmIGRiTmFtZXNUYWJsZS5kZWxldGUobmFtZSkuY2F0Y2gobm9wKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBpbml0RGF0YWJhc2VFbnVtZXJhdG9yKGluZGV4ZWREQikge1xuICAgIHRyeSB7XG4gICAgICAgIGRhdGFiYXNlRW51bWVyYXRvciA9IERhdGFiYXNlRW51bWVyYXRvcihpbmRleGVkREIpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkgeyB9XG59XG5cbmZ1bmN0aW9uIHZpcChmbikge1xuICAgIHJldHVybiBuZXdTY29wZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIFBTRC5sZXRUaHJvdWdoID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGRleGllT3BlbihkYikge1xuICAgIHZhciBzdGF0ZSA9IGRiLl9zdGF0ZTtcbiAgICB2YXIgaW5kZXhlZERCID0gZGIuX2RlcHMuaW5kZXhlZERCO1xuICAgIGlmIChzdGF0ZS5pc0JlaW5nT3BlbmVkIHx8IGRiLmlkYmRiKVxuICAgICAgICByZXR1cm4gc3RhdGUuZGJSZWFkeVByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBzdGF0ZS5kYk9wZW5FcnJvciA/XG4gICAgICAgICAgICByZWplY3Rpb24oc3RhdGUuZGJPcGVuRXJyb3IpIDpcbiAgICAgICAgICAgIGRiOyB9KTtcbiAgICBkZWJ1ZyAmJiAoc3RhdGUub3BlbkNhbmNlbGxlci5fc3RhY2tIb2xkZXIgPSBnZXRFcnJvcldpdGhTdGFjaygpKTtcbiAgICBzdGF0ZS5pc0JlaW5nT3BlbmVkID0gdHJ1ZTtcbiAgICBzdGF0ZS5kYk9wZW5FcnJvciA9IG51bGw7XG4gICAgc3RhdGUub3BlbkNvbXBsZXRlID0gZmFsc2U7XG4gICAgdmFyIHJlc29sdmVEYlJlYWR5ID0gc3RhdGUuZGJSZWFkeVJlc29sdmUsXG4gICAgdXBncmFkZVRyYW5zYWN0aW9uID0gbnVsbDtcbiAgICByZXR1cm4gRGV4aWVQcm9taXNlLnJhY2UoW3N0YXRlLm9wZW5DYW5jZWxsZXIsIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgaWYgKCFpbmRleGVkREIpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuTWlzc2luZ0FQSShcImluZGV4ZWREQiBBUEkgbm90IGZvdW5kLiBJZiB1c2luZyBJRTEwKywgbWFrZSBzdXJlIHRvIHJ1biB5b3VyIGNvZGUgb24gYSBzZXJ2ZXIgVVJMIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCIobm90IGxvY2FsbHkpLiBJZiB1c2luZyBvbGQgU2FmYXJpIHZlcnNpb25zLCBtYWtlIHN1cmUgdG8gaW5jbHVkZSBpbmRleGVkREIgcG9seWZpbGwuXCIpO1xuICAgICAgICAgICAgdmFyIGRiTmFtZSA9IGRiLm5hbWU7XG4gICAgICAgICAgICB2YXIgcmVxID0gc3RhdGUuYXV0b1NjaGVtYSA/XG4gICAgICAgICAgICAgICAgaW5kZXhlZERCLm9wZW4oZGJOYW1lKSA6XG4gICAgICAgICAgICAgICAgaW5kZXhlZERCLm9wZW4oZGJOYW1lLCBNYXRoLnJvdW5kKGRiLnZlcm5vICogMTApKTtcbiAgICAgICAgICAgIGlmICghcmVxKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk1pc3NpbmdBUEkoXCJJbmRleGVkREIgQVBJIG5vdCBhdmFpbGFibGVcIik7XG4gICAgICAgICAgICByZXEub25lcnJvciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IHdyYXAoZGIuX2ZpcmVPbkJsb2NrZWQpO1xuICAgICAgICAgICAgcmVxLm9udXBncmFkZW5lZWRlZCA9IHdyYXAoZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICB1cGdyYWRlVHJhbnNhY3Rpb24gPSByZXEudHJhbnNhY3Rpb247XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLmF1dG9TY2hlbWEgJiYgIWRiLl9vcHRpb25zLmFsbG93RW1wdHlEQikge1xuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IHByZXZlbnREZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICB1cGdyYWRlVHJhbnNhY3Rpb24uYWJvcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVxLnJlc3VsdC5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVscmVxID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRiTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGRlbHJlcS5vbnN1Y2Nlc3MgPSBkZWxyZXEub25lcnJvciA9IHdyYXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBleGNlcHRpb25zLk5vU3VjaERhdGFiYXNlKFwiRGF0YWJhc2UgXCIgKyBkYk5hbWUgKyBcIiBkb2VzbnQgZXhpc3RcIikpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZ3JhZGVUcmFuc2FjdGlvbi5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBvbGRWZXIgPSBlLm9sZFZlcnNpb24gPiBNYXRoLnBvdygyLCA2MikgPyAwIDogZS5vbGRWZXJzaW9uO1xuICAgICAgICAgICAgICAgICAgICBkYi5pZGJkYiA9IHJlcS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHJ1blVwZ3JhZGVycyhkYiwgb2xkVmVyIC8gMTAsIHVwZ3JhZGVUcmFuc2FjdGlvbiwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZWplY3QpO1xuICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHdyYXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHVwZ3JhZGVUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgdmFyIGlkYmRiID0gZGIuaWRiZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgIHZhciBvYmplY3RTdG9yZU5hbWVzID0gc2xpY2UoaWRiZGIub2JqZWN0U3RvcmVOYW1lcyk7XG4gICAgICAgICAgICAgICAgaWYgKG9iamVjdFN0b3JlTmFtZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0bXBUcmFucyA9IGlkYmRiLnRyYW5zYWN0aW9uKHNhZmFyaU11bHRpU3RvcmVGaXgob2JqZWN0U3RvcmVOYW1lcyksICdyZWFkb25seScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlLmF1dG9TY2hlbWEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZEdsb2JhbFNjaGVtYShkYiwgaWRiZGIsIHRtcFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdFRvRXhpc3RpbmdJbmRleE5hbWVzKGRiLCBkYi5fZGJTY2hlbWEsIHRtcFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXZlcmlmeUluc3RhbGxlZFNjaGVtYShkYiwgdG1wVHJhbnMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkRleGllIFNjaGVtYURpZmY6IFNjaGVtYSB3YXMgZXh0ZW5kZWQgd2l0aG91dCBpbmNyZWFzaW5nIHRoZSBudW1iZXIgcGFzc2VkIHRvIGRiLnZlcnNpb24oKS4gU29tZSBxdWVyaWVzIG1heSBmYWlsLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZU1pZGRsZXdhcmVTdGFja3MoZGIsIHRtcFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbnMucHVzaChkYik7XG4gICAgICAgICAgICAgICAgaWRiZGIub252ZXJzaW9uY2hhbmdlID0gd3JhcChmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUudmNGaXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGRiLm9uKFwidmVyc2lvbmNoYW5nZVwiKS5maXJlKGV2KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkYXRhYmFzZUVudW1lcmF0b3IuYWRkKGRiTmFtZSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgICAgfSldKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc3RhdGUub25SZWFkeUJlaW5nRmlyZWQgPSBbXTtcbiAgICAgICAgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHZpcChkYi5vbi5yZWFkeS5maXJlKSkudGhlbihmdW5jdGlvbiBmaXJlUmVtYWluZGVycygpIHtcbiAgICAgICAgICAgIGlmIChzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlbWFpbmRlcnMgPSBzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZC5yZWR1Y2UocHJvbWlzYWJsZUNoYWluLCBub3ApO1xuICAgICAgICAgICAgICAgIHN0YXRlLm9uUmVhZHlCZWluZ0ZpcmVkID0gW107XG4gICAgICAgICAgICAgICAgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHZpcChyZW1haW5kZXJzKSkudGhlbihmaXJlUmVtYWluZGVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pLmZpbmFsbHkoZnVuY3Rpb24gKCkge1xuICAgICAgICBzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZCA9IG51bGw7XG4gICAgfSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHN0YXRlLmlzQmVpbmdPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGRiO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVwZ3JhZGVUcmFuc2FjdGlvbiAmJiB1cGdyYWRlVHJhbnNhY3Rpb24uYWJvcnQoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkgeyB9XG4gICAgICAgIHN0YXRlLmlzQmVpbmdPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgc3RhdGUuZGJPcGVuRXJyb3IgPSBlcnI7XG4gICAgICAgIHJldHVybiByZWplY3Rpb24oc3RhdGUuZGJPcGVuRXJyb3IpO1xuICAgIH0pLmZpbmFsbHkoZnVuY3Rpb24gKCkge1xuICAgICAgICBzdGF0ZS5vcGVuQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICByZXNvbHZlRGJSZWFkeSgpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhd2FpdEl0ZXJhdG9yKGl0ZXJhdG9yKSB7XG4gICAgdmFyIGNhbGxOZXh0ID0gZnVuY3Rpb24gKHJlc3VsdCkgeyByZXR1cm4gaXRlcmF0b3IubmV4dChyZXN1bHQpOyB9LCBkb1Rocm93ID0gZnVuY3Rpb24gKGVycm9yKSB7IHJldHVybiBpdGVyYXRvci50aHJvdyhlcnJvcik7IH0sIG9uU3VjY2VzcyA9IHN0ZXAoY2FsbE5leHQpLCBvbkVycm9yID0gc3RlcChkb1Rocm93KTtcbiAgICBmdW5jdGlvbiBzdGVwKGdldE5leHQpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgIHZhciBuZXh0ID0gZ2V0TmV4dCh2YWwpLCB2YWx1ZSA9IG5leHQudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5kb25lID8gdmFsdWUgOlxuICAgICAgICAgICAgICAgICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlLnRoZW4gIT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgICAgICAgICAgICBpc0FycmF5KHZhbHVlKSA/IFByb21pc2UuYWxsKHZhbHVlKS50aGVuKG9uU3VjY2Vzcywgb25FcnJvcikgOiBvblN1Y2Nlc3ModmFsdWUpIDpcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUudGhlbihvblN1Y2Nlc3MsIG9uRXJyb3IpKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ZXAoY2FsbE5leHQpKCk7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2FjdGlvbkFyZ3MobW9kZSwgX3RhYmxlQXJnc18sIHNjb3BlRnVuYykge1xuICAgIHZhciBpID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBpZiAoaSA8IDIpXG4gICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcIlRvbyBmZXcgYXJndW1lbnRzXCIpO1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGkgLSAxKTtcbiAgICB3aGlsZSAoLS1pKVxuICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICBzY29wZUZ1bmMgPSBhcmdzLnBvcCgpO1xuICAgIHZhciB0YWJsZXMgPSBmbGF0dGVuKGFyZ3MpO1xuICAgIHJldHVybiBbbW9kZSwgdGFibGVzLCBzY29wZUZ1bmNdO1xufVxuZnVuY3Rpb24gZW50ZXJUcmFuc2FjdGlvblNjb3BlKGRiLCBtb2RlLCBzdG9yZU5hbWVzLCBwYXJlbnRUcmFuc2FjdGlvbiwgc2NvcGVGdW5jKSB7XG4gICAgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB0cmFuc2xlc3MgPSBQU0QudHJhbnNsZXNzIHx8IFBTRDtcbiAgICAgICAgdmFyIHRyYW5zID0gZGIuX2NyZWF0ZVRyYW5zYWN0aW9uKG1vZGUsIHN0b3JlTmFtZXMsIGRiLl9kYlNjaGVtYSwgcGFyZW50VHJhbnNhY3Rpb24pO1xuICAgICAgICB2YXIgem9uZVByb3BzID0ge1xuICAgICAgICAgICAgdHJhbnM6IHRyYW5zLFxuICAgICAgICAgICAgdHJhbnNsZXNzOiB0cmFuc2xlc3NcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBhcmVudFRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICB0cmFucy5pZGJ0cmFucyA9IHBhcmVudFRyYW5zYWN0aW9uLmlkYnRyYW5zO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdHJhbnMuY3JlYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNjb3BlRnVuY0lzQXN5bmMgPSBpc0FzeW5jRnVuY3Rpb24oc2NvcGVGdW5jKTtcbiAgICAgICAgaWYgKHNjb3BlRnVuY0lzQXN5bmMpIHtcbiAgICAgICAgICAgIGluY3JlbWVudEV4cGVjdGVkQXdhaXRzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJldHVyblZhbHVlO1xuICAgICAgICB2YXIgcHJvbWlzZUZvbGxvd2VkID0gRGV4aWVQcm9taXNlLmZvbGxvdyhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm5WYWx1ZSA9IHNjb3BlRnVuYy5jYWxsKHRyYW5zLCB0cmFucyk7XG4gICAgICAgICAgICBpZiAocmV0dXJuVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGVGdW5jSXNBc3luYykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGVjcmVtZW50b3IgPSBkZWNyZW1lbnRFeHBlY3RlZEF3YWl0cy5iaW5kKG51bGwsIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm5WYWx1ZS50aGVuKGRlY3JlbWVudG9yLCBkZWNyZW1lbnRvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiByZXR1cm5WYWx1ZS5uZXh0ID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiByZXR1cm5WYWx1ZS50aHJvdyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IGF3YWl0SXRlcmF0b3IocmV0dXJuVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgem9uZVByb3BzKTtcbiAgICAgICAgcmV0dXJuIChyZXR1cm5WYWx1ZSAmJiB0eXBlb2YgcmV0dXJuVmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgICAgICBEZXhpZVByb21pc2UucmVzb2x2ZShyZXR1cm5WYWx1ZSkudGhlbihmdW5jdGlvbiAoeCkgeyByZXR1cm4gdHJhbnMuYWN0aXZlID9cbiAgICAgICAgICAgICAgICB4XG4gICAgICAgICAgICAgICAgOiByZWplY3Rpb24obmV3IGV4Y2VwdGlvbnMuUHJlbWF0dXJlQ29tbWl0KFwiVHJhbnNhY3Rpb24gY29tbWl0dGVkIHRvbyBlYXJseS4gU2VlIGh0dHA6Ly9iaXQubHkvMmtkY2tNblwiKSk7IH0pXG4gICAgICAgICAgICA6IHByb21pc2VGb2xsb3dlZC50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJldHVyblZhbHVlOyB9KSkudGhlbihmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgaWYgKHBhcmVudFRyYW5zYWN0aW9uKVxuICAgICAgICAgICAgICAgIHRyYW5zLl9yZXNvbHZlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnMuX2NvbXBsZXRpb24udGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiB4OyB9KTtcbiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHRyYW5zLl9yZWplY3QoZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0aW9uKGUpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gcGFkKGEsIHZhbHVlLCBjb3VudCkge1xuICAgIHZhciByZXN1bHQgPSBpc0FycmF5KGEpID8gYS5zbGljZSgpIDogW2FdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSlcbiAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBjcmVhdGVWaXJ0dWFsSW5kZXhNaWRkbGV3YXJlKGRvd24pIHtcbiAgICByZXR1cm4gX19hc3NpZ24oX19hc3NpZ24oe30sIGRvd24pLCB7IHRhYmxlOiBmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgICAgICB2YXIgdGFibGUgPSBkb3duLnRhYmxlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICB2YXIgc2NoZW1hID0gdGFibGUuc2NoZW1hO1xuICAgICAgICAgICAgdmFyIGluZGV4TG9va3VwID0ge307XG4gICAgICAgICAgICB2YXIgYWxsVmlydHVhbEluZGV4ZXMgPSBbXTtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZFZpcnR1YWxJbmRleGVzKGtleVBhdGgsIGtleVRhaWwsIGxvd0xldmVsSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5UGF0aEFsaWFzID0gZ2V0S2V5UGF0aEFsaWFzKGtleVBhdGgpO1xuICAgICAgICAgICAgICAgIHZhciBpbmRleExpc3QgPSAoaW5kZXhMb29rdXBba2V5UGF0aEFsaWFzXSA9IGluZGV4TG9va3VwW2tleVBhdGhBbGlhc10gfHwgW10pO1xuICAgICAgICAgICAgICAgIHZhciBrZXlMZW5ndGggPSBrZXlQYXRoID09IG51bGwgPyAwIDogdHlwZW9mIGtleVBhdGggPT09ICdzdHJpbmcnID8gMSA6IGtleVBhdGgubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHZhciBpc1ZpcnR1YWwgPSBrZXlUYWlsID4gMDtcbiAgICAgICAgICAgICAgICB2YXIgdmlydHVhbEluZGV4ID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGxvd0xldmVsSW5kZXgpLCB7IGlzVmlydHVhbDogaXNWaXJ0dWFsLCBpc1ByaW1hcnlLZXk6ICFpc1ZpcnR1YWwgJiYgbG93TGV2ZWxJbmRleC5pc1ByaW1hcnlLZXksIGtleVRhaWw6IGtleVRhaWwsXG4gICAgICAgICAgICAgICAgICAgIGtleUxlbmd0aDoga2V5TGVuZ3RoLCBleHRyYWN0S2V5OiBnZXRLZXlFeHRyYWN0b3Ioa2V5UGF0aCksIHVuaXF1ZTogIWlzVmlydHVhbCAmJiBsb3dMZXZlbEluZGV4LnVuaXF1ZSB9KTtcbiAgICAgICAgICAgICAgICBpbmRleExpc3QucHVzaCh2aXJ0dWFsSW5kZXgpO1xuICAgICAgICAgICAgICAgIGlmICghdmlydHVhbEluZGV4LmlzUHJpbWFyeUtleSkge1xuICAgICAgICAgICAgICAgICAgICBhbGxWaXJ0dWFsSW5kZXhlcy5wdXNoKHZpcnR1YWxJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChrZXlMZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB2aXJ0dWFsS2V5UGF0aCA9IGtleUxlbmd0aCA9PT0gMiA/XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlQYXRoWzBdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleVBhdGguc2xpY2UoMCwga2V5TGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgIGFkZFZpcnR1YWxJbmRleGVzKHZpcnR1YWxLZXlQYXRoLCBrZXlUYWlsICsgMSwgbG93TGV2ZWxJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluZGV4TGlzdC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmtleVRhaWwgLSBiLmtleVRhaWw7IH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB2aXJ0dWFsSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcHJpbWFyeUtleSA9IGFkZFZpcnR1YWxJbmRleGVzKHNjaGVtYS5wcmltYXJ5S2V5LmtleVBhdGgsIDAsIHNjaGVtYS5wcmltYXJ5S2V5KTtcbiAgICAgICAgICAgIGluZGV4TG9va3VwW1wiOmlkXCJdID0gW3ByaW1hcnlLZXldO1xuICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwLCBfYSA9IHNjaGVtYS5pbmRleGVzOyBfaSA8IF9hLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IF9hW19pXTtcbiAgICAgICAgICAgICAgICBhZGRWaXJ0dWFsSW5kZXhlcyhpbmRleC5rZXlQYXRoLCAwLCBpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiBmaW5kQmVzdEluZGV4KGtleVBhdGgpIHtcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gaW5kZXhMb29rdXBbZ2V0S2V5UGF0aEFsaWFzKGtleVBhdGgpXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIHJlc3VsdFswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zbGF0ZVJhbmdlKHJhbmdlLCBrZXlUYWlsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcmFuZ2UudHlwZSA9PT0gMSAgICAgICAgICAgICA/XG4gICAgICAgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGxvd2VyOiBwYWQocmFuZ2UubG93ZXIsIHJhbmdlLmxvd2VyT3BlbiA/IGRvd24uTUFYX0tFWSA6IGRvd24uTUlOX0tFWSwga2V5VGFpbCksXG4gICAgICAgICAgICAgICAgICAgIGxvd2VyT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdXBwZXI6IHBhZChyYW5nZS51cHBlciwgcmFuZ2UudXBwZXJPcGVuID8gZG93bi5NSU5fS0VZIDogZG93bi5NQVhfS0VZLCBrZXlUYWlsKSxcbiAgICAgICAgICAgICAgICAgICAgdXBwZXJPcGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZ1bmN0aW9uIHRyYW5zbGF0ZVJlcXVlc3QocmVxKSB7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gcmVxLnF1ZXJ5LmluZGV4O1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleC5pc1ZpcnR1YWwgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVxKSwgeyBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2U6IHRyYW5zbGF0ZVJhbmdlKHJlcS5xdWVyeS5yYW5nZSwgaW5kZXgua2V5VGFpbClcbiAgICAgICAgICAgICAgICAgICAgfSB9KSA6IHJlcTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgdGFibGUpLCB7IHNjaGVtYTogX19hc3NpZ24oX19hc3NpZ24oe30sIHNjaGVtYSksIHsgcHJpbWFyeUtleTogcHJpbWFyeUtleSwgaW5kZXhlczogYWxsVmlydHVhbEluZGV4ZXMsIGdldEluZGV4QnlLZXlQYXRoOiBmaW5kQmVzdEluZGV4IH0pLCBjb3VudDogZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFibGUuY291bnQodHJhbnNsYXRlUmVxdWVzdChyZXEpKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBmdW5jdGlvbiAocmVxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZS5xdWVyeSh0cmFuc2xhdGVSZXF1ZXN0KHJlcSkpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3BlbkN1cnNvcjogZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EgPSByZXEucXVlcnkuaW5kZXgsIGtleVRhaWwgPSBfYS5rZXlUYWlsLCBpc1ZpcnR1YWwgPSBfYS5pc1ZpcnR1YWwsIGtleUxlbmd0aCA9IF9hLmtleUxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1ZpcnR1YWwpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFibGUub3BlbkN1cnNvcihyZXEpO1xuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVWaXJ0dWFsQ3Vyc29yKGN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gX2NvbnRpbnVlKGtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSAhPSBudWxsID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKHBhZChrZXksIHJlcS5yZXZlcnNlID8gZG93bi5NQVhfS0VZIDogZG93bi5NSU5fS0VZLCBrZXlUYWlsKSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEudW5pcXVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZShwYWQoY3Vyc29yLmtleSwgcmVxLnJldmVyc2UgPyBkb3duLk1JTl9LRVkgOiBkb3duLk1BWF9LRVksIGtleVRhaWwpKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2aXJ0dWFsQ3Vyc29yID0gT2JqZWN0LmNyZWF0ZShjdXJzb3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTogeyB2YWx1ZTogX2NvbnRpbnVlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWVQcmltYXJ5S2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoa2V5LCBwcmltYXJ5S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5KHBhZChrZXksIGRvd24uTUFYX0tFWSwga2V5VGFpbCksIHByaW1hcnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gY3Vyc29yLmtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXlMZW5ndGggPT09IDEgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleVswXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LnNsaWNlKDAsIGtleUxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvci52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpcnR1YWxDdXJzb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlLm9wZW5DdXJzb3IodHJhbnNsYXRlUmVxdWVzdChyZXEpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGN1cnNvcikgeyByZXR1cm4gY3Vyc29yICYmIGNyZWF0ZVZpcnR1YWxDdXJzb3IoY3Vyc29yKTsgfSk7XG4gICAgICAgICAgICAgICAgfSB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gfSk7XG59XG52YXIgdmlydHVhbEluZGV4TWlkZGxld2FyZSA9IHtcbiAgICBzdGFjazogXCJkYmNvcmVcIixcbiAgICBuYW1lOiBcIlZpcnR1YWxJbmRleE1pZGRsZXdhcmVcIixcbiAgICBsZXZlbDogMSxcbiAgICBjcmVhdGU6IGNyZWF0ZVZpcnR1YWxJbmRleE1pZGRsZXdhcmVcbn07XG5cbnZhciBob29rc01pZGRsZXdhcmUgPSB7XG4gICAgc3RhY2s6IFwiZGJjb3JlXCIsXG4gICAgbmFtZTogXCJIb29rc01pZGRsZXdhcmVcIixcbiAgICBsZXZlbDogMixcbiAgICBjcmVhdGU6IGZ1bmN0aW9uIChkb3duQ29yZSkgeyByZXR1cm4gKF9fYXNzaWduKF9fYXNzaWduKHt9LCBkb3duQ29yZSksIHsgdGFibGU6IGZ1bmN0aW9uICh0YWJsZU5hbWUpIHtcbiAgICAgICAgICAgIHZhciBkb3duVGFibGUgPSBkb3duQ29yZS50YWJsZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgdmFyIHByaW1hcnlLZXkgPSBkb3duVGFibGUuc2NoZW1hLnByaW1hcnlLZXk7XG4gICAgICAgICAgICB2YXIgdGFibGVNaWRkbGV3YXJlID0gX19hc3NpZ24oX19hc3NpZ24oe30sIGRvd25UYWJsZSksIHsgbXV0YXRlOiBmdW5jdGlvbiAocmVxKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkeFRyYW5zID0gUFNELnRyYW5zO1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EgPSBkeFRyYW5zLnRhYmxlKHRhYmxlTmFtZSkuaG9vaywgZGVsZXRpbmcgPSBfYS5kZWxldGluZywgY3JlYXRpbmcgPSBfYS5jcmVhdGluZywgdXBkYXRpbmcgPSBfYS51cGRhdGluZztcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChyZXEudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYWRkJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3JlYXRpbmcuZmlyZSA9PT0gbm9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHhUcmFucy5fcHJvbWlzZSgncmVhZHdyaXRlJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gYWRkUHV0T3JEZWxldGUocmVxKTsgfSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdwdXQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmVhdGluZy5maXJlID09PSBub3AgJiYgdXBkYXRpbmcuZmlyZSA9PT0gbm9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHhUcmFucy5fcHJvbWlzZSgncmVhZHdyaXRlJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gYWRkUHV0T3JEZWxldGUocmVxKTsgfSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWxldGluZy5maXJlID09PSBub3ApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkeFRyYW5zLl9wcm9taXNlKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAoKSB7IHJldHVybiBhZGRQdXRPckRlbGV0ZShyZXEpOyB9LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZVJhbmdlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRpbmcuZmlyZSA9PT0gbm9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHhUcmFucy5fcHJvbWlzZSgncmVhZHdyaXRlJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVsZXRlUmFuZ2UocmVxKTsgfSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvd25UYWJsZS5tdXRhdGUocmVxKTtcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYWRkUHV0T3JEZWxldGUocmVxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZHhUcmFucyA9IFBTRC50cmFucztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBrZXlzJCQxID0gcmVxLmtleXMgfHwgZ2V0RWZmZWN0aXZlS2V5cyhwcmltYXJ5S2V5LCByZXEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFrZXlzJCQxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIktleXMgbWlzc2luZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcSA9IHJlcS50eXBlID09PSAnYWRkJyB8fCByZXEudHlwZSA9PT0gJ3B1dCcgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmVxKSwgeyBrZXlzOiBrZXlzJCQxLCB3YW50UmVzdWx0czogdHJ1ZSB9KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgX19hc3NpZ24oe30sIHJlcSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVxLnR5cGUgIT09ICdkZWxldGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS52YWx1ZXMgPSBfX3NwcmVhZEFycmF5cyhyZXEudmFsdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXEua2V5cylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEua2V5cyA9IF9fc3ByZWFkQXJyYXlzKHJlcS5rZXlzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRFeGlzdGluZ1ZhbHVlcyhkb3duVGFibGUsIHJlcSwga2V5cyQkMSkudGhlbihmdW5jdGlvbiAoZXhpc3RpbmdWYWx1ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29udGV4dHMgPSBrZXlzJCQxLm1hcChmdW5jdGlvbiAoa2V5LCBpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleGlzdGluZ1ZhbHVlID0gZXhpc3RpbmdWYWx1ZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdHggPSB7IG9uZXJyb3I6IG51bGwsIG9uc3VjY2VzczogbnVsbCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVxLnR5cGUgPT09ICdkZWxldGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGluZy5maXJlLmNhbGwoY3R4LCBrZXksIGV4aXN0aW5nVmFsdWUsIGR4VHJhbnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlcS50eXBlID09PSAnYWRkJyB8fCBleGlzdGluZ1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnZW5lcmF0ZWRQcmltYXJ5S2V5ID0gY3JlYXRpbmcuZmlyZS5jYWxsKGN0eCwga2V5LCByZXEudmFsdWVzW2ldLCBkeFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gbnVsbCAmJiBnZW5lcmF0ZWRQcmltYXJ5S2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBnZW5lcmF0ZWRQcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5rZXlzW2ldID0ga2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJpbWFyeUtleS5vdXRib3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgocmVxLnZhbHVlc1tpXSwgcHJpbWFyeUtleS5rZXlQYXRoLCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvYmplY3REaWZmID0gZ2V0T2JqZWN0RGlmZihleGlzdGluZ1ZhbHVlLCByZXEudmFsdWVzW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhZGRpdGlvbmFsQ2hhbmdlc18xID0gdXBkYXRpbmcuZmlyZS5jYWxsKGN0eCwgb2JqZWN0RGlmZiwga2V5LCBleGlzdGluZ1ZhbHVlLCBkeFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhZGRpdGlvbmFsQ2hhbmdlc18xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcXVlc3RlZFZhbHVlXzEgPSByZXEudmFsdWVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGFkZGl0aW9uYWxDaGFuZ2VzXzEpLmZvckVhY2goZnVuY3Rpb24gKGtleVBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc093bihyZXF1ZXN0ZWRWYWx1ZV8xLCBrZXlQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkVmFsdWVfMVtrZXlQYXRoXSA9IGFkZGl0aW9uYWxDaGFuZ2VzXzFba2V5UGF0aF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgocmVxdWVzdGVkVmFsdWVfMSwga2V5UGF0aCwgYWRkaXRpb25hbENoYW5nZXNfMVtrZXlQYXRoXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3R4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkb3duVGFibGUubXV0YXRlKHJlcSkudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZhaWx1cmVzID0gX2EuZmFpbHVyZXMsIHJlc3VsdHMgPSBfYS5yZXN1bHRzLCBudW1GYWlsdXJlcyA9IF9hLm51bUZhaWx1cmVzLCBsYXN0UmVzdWx0ID0gX2EubGFzdFJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzJCQxLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJpbUtleSA9IHJlc3VsdHMgPyByZXN1bHRzW2ldIDoga2V5cyQkMVtpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdHggPSBjb250ZXh0c1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmltS2V5ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgub25lcnJvciAmJiBjdHgub25lcnJvcihmYWlsdXJlc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgub25zdWNjZXNzICYmIGN0eC5vbnN1Y2Nlc3MocmVxLnR5cGUgPT09ICdwdXQnICYmIGV4aXN0aW5nVmFsdWVzW2ldID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLnZhbHVlc1tpXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1LZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGZhaWx1cmVzOiBmYWlsdXJlcywgcmVzdWx0czogcmVzdWx0cywgbnVtRmFpbHVyZXM6IG51bUZhaWx1cmVzLCBsYXN0UmVzdWx0OiBsYXN0UmVzdWx0IH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRzLmZvckVhY2goZnVuY3Rpb24gKGN0eCkgeyByZXR1cm4gY3R4Lm9uZXJyb3IgJiYgY3R4Lm9uZXJyb3IoZXJyb3IpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVJhbmdlKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZU5leHRDaHVuayhyZXEudHJhbnMsIHJlcS5yYW5nZSwgMTAwMDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZU5leHRDaHVuayh0cmFucywgcmFuZ2UsIGxpbWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG93blRhYmxlLnF1ZXJ5KHsgdHJhbnM6IHRyYW5zLCB2YWx1ZXM6IGZhbHNlLCBxdWVyeTogeyBpbmRleDogcHJpbWFyeUtleSwgcmFuZ2U6IHJhbmdlIH0sIGxpbWl0OiBsaW1pdCB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBfYS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFkZFB1dE9yRGVsZXRlKHsgdHlwZTogJ2RlbGV0ZScsIGtleXM6IHJlc3VsdCwgdHJhbnM6IHRyYW5zIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLm51bUZhaWx1cmVzID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZXMuZmFpbHVyZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA8IGxpbWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBmYWlsdXJlczogW10sIG51bUZhaWx1cmVzOiAwLCBsYXN0UmVzdWx0OiB1bmRlZmluZWQgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWxldGVOZXh0Q2h1bmsodHJhbnMsIF9fYXNzaWduKF9fYXNzaWduKHt9LCByYW5nZSksIHsgbG93ZXI6IHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0sIGxvd2VyT3BlbjogdHJ1ZSB9KSwgbGltaXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gfSk7XG4gICAgICAgICAgICByZXR1cm4gdGFibGVNaWRkbGV3YXJlO1xuICAgICAgICB9IH0pKTsgfVxufTtcblxudmFyIERleGllID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERleGllKG5hbWUsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdGhpcy5fbWlkZGxld2FyZXMgPSB7fTtcbiAgICAgICAgdGhpcy52ZXJubyA9IDA7XG4gICAgICAgIHZhciBkZXBzID0gRGV4aWUuZGVwZW5kZW5jaWVzO1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucyA9IF9fYXNzaWduKHtcbiAgICAgICAgICAgIGFkZG9uczogRGV4aWUuYWRkb25zLCBhdXRvT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgIGluZGV4ZWREQjogZGVwcy5pbmRleGVkREIsIElEQktleVJhbmdlOiBkZXBzLklEQktleVJhbmdlIH0sIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLl9kZXBzID0ge1xuICAgICAgICAgICAgaW5kZXhlZERCOiBvcHRpb25zLmluZGV4ZWREQixcbiAgICAgICAgICAgIElEQktleVJhbmdlOiBvcHRpb25zLklEQktleVJhbmdlXG4gICAgICAgIH07XG4gICAgICAgIHZhciBhZGRvbnMgPSBvcHRpb25zLmFkZG9ucztcbiAgICAgICAgdGhpcy5fZGJTY2hlbWEgPSB7fTtcbiAgICAgICAgdGhpcy5fdmVyc2lvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5fc3RvcmVOYW1lcyA9IFtdO1xuICAgICAgICB0aGlzLl9hbGxUYWJsZXMgPSB7fTtcbiAgICAgICAgdGhpcy5pZGJkYiA9IG51bGw7XG4gICAgICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgICAgICAgIGRiT3BlbkVycm9yOiBudWxsLFxuICAgICAgICAgICAgaXNCZWluZ09wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBvblJlYWR5QmVpbmdGaXJlZDogbnVsbCxcbiAgICAgICAgICAgIG9wZW5Db21wbGV0ZTogZmFsc2UsXG4gICAgICAgICAgICBkYlJlYWR5UmVzb2x2ZTogbm9wLFxuICAgICAgICAgICAgZGJSZWFkeVByb21pc2U6IG51bGwsXG4gICAgICAgICAgICBjYW5jZWxPcGVuOiBub3AsXG4gICAgICAgICAgICBvcGVuQ2FuY2VsbGVyOiBudWxsLFxuICAgICAgICAgICAgYXV0b1NjaGVtYTogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBzdGF0ZS5kYlJlYWR5UHJvbWlzZSA9IG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICAgIHN0YXRlLmRiUmVhZHlSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXRlLm9wZW5DYW5jZWxsZXIgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChfLCByZWplY3QpIHtcbiAgICAgICAgICAgIHN0YXRlLmNhbmNlbE9wZW4gPSByZWplY3Q7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLm9uID0gRXZlbnRzKHRoaXMsIFwicG9wdWxhdGVcIiwgXCJibG9ja2VkXCIsIFwidmVyc2lvbmNoYW5nZVwiLCB7IHJlYWR5OiBbcHJvbWlzYWJsZUNoYWluLCBub3BdIH0pO1xuICAgICAgICB0aGlzLm9uLnJlYWR5LnN1YnNjcmliZSA9IG92ZXJyaWRlKHRoaXMub24ucmVhZHkuc3Vic2NyaWJlLCBmdW5jdGlvbiAoc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHN1YnNjcmliZXIsIGJTdGlja3kpIHtcbiAgICAgICAgICAgICAgICBEZXhpZS52aXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdGUgPSBfdGhpcy5fc3RhdGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5vcGVuQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGUuZGJPcGVuRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUoKS50aGVuKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJTdGlja3kpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0YXRlLm9uUmVhZHlCZWluZ0ZpcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZC5wdXNoKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJTdGlja3kpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRiXzEgPSBfdGhpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYlN0aWNreSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmUoZnVuY3Rpb24gdW5zdWJzY3JpYmUoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRiXzEub24ucmVhZHkudW5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRiXzEub24ucmVhZHkudW5zdWJzY3JpYmUodW5zdWJzY3JpYmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5Db2xsZWN0aW9uID0gY3JlYXRlQ29sbGVjdGlvbkNvbnN0cnVjdG9yKHRoaXMpO1xuICAgICAgICB0aGlzLlRhYmxlID0gY3JlYXRlVGFibGVDb25zdHJ1Y3Rvcih0aGlzKTtcbiAgICAgICAgdGhpcy5UcmFuc2FjdGlvbiA9IGNyZWF0ZVRyYW5zYWN0aW9uQ29uc3RydWN0b3IodGhpcyk7XG4gICAgICAgIHRoaXMuVmVyc2lvbiA9IGNyZWF0ZVZlcnNpb25Db25zdHJ1Y3Rvcih0aGlzKTtcbiAgICAgICAgdGhpcy5XaGVyZUNsYXVzZSA9IGNyZWF0ZVdoZXJlQ2xhdXNlQ29uc3RydWN0b3IodGhpcyk7XG4gICAgICAgIHRoaXMub24oXCJ2ZXJzaW9uY2hhbmdlXCIsIGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgaWYgKGV2Lm5ld1ZlcnNpb24gPiAwKVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFub3RoZXIgY29ubmVjdGlvbiB3YW50cyB0byB1cGdyYWRlIGRhdGFiYXNlICdcIiArIF90aGlzLm5hbWUgKyBcIicuIENsb3NpbmcgZGIgbm93IHRvIHJlc3VtZSB0aGUgdXBncmFkZS5cIik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQW5vdGhlciBjb25uZWN0aW9uIHdhbnRzIHRvIGRlbGV0ZSBkYXRhYmFzZSAnXCIgKyBfdGhpcy5uYW1lICsgXCInLiBDbG9zaW5nIGRiIG5vdyB0byByZXN1bWUgdGhlIGRlbGV0ZSByZXF1ZXN0LlwiKTtcbiAgICAgICAgICAgIF90aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uKFwiYmxvY2tlZFwiLCBmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgIGlmICghZXYubmV3VmVyc2lvbiB8fCBldi5uZXdWZXJzaW9uIDwgZXYub2xkVmVyc2lvbilcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJEZXhpZS5kZWxldGUoJ1wiICsgX3RoaXMubmFtZSArIFwiJykgd2FzIGJsb2NrZWRcIik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVXBncmFkZSAnXCIgKyBfdGhpcy5uYW1lICsgXCInIGJsb2NrZWQgYnkgb3RoZXIgY29ubmVjdGlvbiBob2xkaW5nIHZlcnNpb24gXCIgKyBldi5vbGRWZXJzaW9uIC8gMTApO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fbWF4S2V5ID0gZ2V0TWF4S2V5KG9wdGlvbnMuSURCS2V5UmFuZ2UpO1xuICAgICAgICB0aGlzLl9jcmVhdGVUcmFuc2FjdGlvbiA9IGZ1bmN0aW9uIChtb2RlLCBzdG9yZU5hbWVzLCBkYnNjaGVtYSwgcGFyZW50VHJhbnNhY3Rpb24pIHsgcmV0dXJuIG5ldyBfdGhpcy5UcmFuc2FjdGlvbihtb2RlLCBzdG9yZU5hbWVzLCBkYnNjaGVtYSwgcGFyZW50VHJhbnNhY3Rpb24pOyB9O1xuICAgICAgICB0aGlzLl9maXJlT25CbG9ja2VkID0gZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICBfdGhpcy5vbihcImJsb2NrZWRcIikuZmlyZShldik7XG4gICAgICAgICAgICBjb25uZWN0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGMubmFtZSA9PT0gX3RoaXMubmFtZSAmJiBjICE9PSBfdGhpcyAmJiAhYy5fc3RhdGUudmNGaXJlZDsgfSlcbiAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLm9uKFwidmVyc2lvbmNoYW5nZVwiKS5maXJlKGV2KTsgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudXNlKHZpcnR1YWxJbmRleE1pZGRsZXdhcmUpO1xuICAgICAgICB0aGlzLnVzZShob29rc01pZGRsZXdhcmUpO1xuICAgICAgICBhZGRvbnMuZm9yRWFjaChmdW5jdGlvbiAoYWRkb24pIHsgcmV0dXJuIGFkZG9uKF90aGlzKTsgfSk7XG4gICAgfVxuICAgIERleGllLnByb3RvdHlwZS52ZXJzaW9uID0gZnVuY3Rpb24gKHZlcnNpb25OdW1iZXIpIHtcbiAgICAgICAgaWYgKGlzTmFOKHZlcnNpb25OdW1iZXIpIHx8IHZlcnNpb25OdW1iZXIgPCAwLjEpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5UeXBlKFwiR2l2ZW4gdmVyc2lvbiBpcyBub3QgYSBwb3NpdGl2ZSBudW1iZXJcIik7XG4gICAgICAgIHZlcnNpb25OdW1iZXIgPSBNYXRoLnJvdW5kKHZlcnNpb25OdW1iZXIgKiAxMCkgLyAxMDtcbiAgICAgICAgaWYgKHRoaXMuaWRiZGIgfHwgdGhpcy5fc3RhdGUuaXNCZWluZ09wZW5lZClcbiAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLlNjaGVtYShcIkNhbm5vdCBhZGQgdmVyc2lvbiB3aGVuIGRhdGFiYXNlIGlzIG9wZW5cIik7XG4gICAgICAgIHRoaXMudmVybm8gPSBNYXRoLm1heCh0aGlzLnZlcm5vLCB2ZXJzaW9uTnVtYmVyKTtcbiAgICAgICAgdmFyIHZlcnNpb25zID0gdGhpcy5fdmVyc2lvbnM7XG4gICAgICAgIHZhciB2ZXJzaW9uSW5zdGFuY2UgPSB2ZXJzaW9ucy5maWx0ZXIoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHYuX2NmZy52ZXJzaW9uID09PSB2ZXJzaW9uTnVtYmVyOyB9KVswXTtcbiAgICAgICAgaWYgKHZlcnNpb25JbnN0YW5jZSlcbiAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uSW5zdGFuY2U7XG4gICAgICAgIHZlcnNpb25JbnN0YW5jZSA9IG5ldyB0aGlzLlZlcnNpb24odmVyc2lvbk51bWJlcik7XG4gICAgICAgIHZlcnNpb25zLnB1c2godmVyc2lvbkluc3RhbmNlKTtcbiAgICAgICAgdmVyc2lvbnMuc29ydChsb3dlclZlcnNpb25GaXJzdCk7XG4gICAgICAgIHZlcnNpb25JbnN0YW5jZS5zdG9yZXMoe30pO1xuICAgICAgICB0aGlzLl9zdGF0ZS5hdXRvU2NoZW1hID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB2ZXJzaW9uSW5zdGFuY2U7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuX3doZW5SZWFkeSA9IGZ1bmN0aW9uIChmbikge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGUub3BlbkNvbXBsZXRlIHx8IFBTRC5sZXRUaHJvdWdoID8gZm4oKSA6IG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgaWYgKCFfdGhpcy5fc3RhdGUuaXNCZWluZ09wZW5lZCkge1xuICAgICAgICAgICAgICAgIGlmICghX3RoaXMuX29wdGlvbnMuYXV0b09wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBleGNlcHRpb25zLkRhdGFiYXNlQ2xvc2VkKCkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF90aGlzLm9wZW4oKS5jYXRjaChub3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3RoaXMuX3N0YXRlLmRiUmVhZHlQcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgfSkudGhlbihmbik7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHZhciBzdGFjayA9IF9hLnN0YWNrLCBjcmVhdGUgPSBfYS5jcmVhdGUsIGxldmVsID0gX2EubGV2ZWwsIG5hbWUgPSBfYS5uYW1lO1xuICAgICAgICBpZiAobmFtZSlcbiAgICAgICAgICAgIHRoaXMudW51c2UoeyBzdGFjazogc3RhY2ssIG5hbWU6IG5hbWUgfSk7XG4gICAgICAgIHZhciBtaWRkbGV3YXJlcyA9IHRoaXMuX21pZGRsZXdhcmVzW3N0YWNrXSB8fCAodGhpcy5fbWlkZGxld2FyZXNbc3RhY2tdID0gW10pO1xuICAgICAgICBtaWRkbGV3YXJlcy5wdXNoKHsgc3RhY2s6IHN0YWNrLCBjcmVhdGU6IGNyZWF0ZSwgbGV2ZWw6IGxldmVsID09IG51bGwgPyAxMCA6IGxldmVsLCBuYW1lOiBuYW1lIH0pO1xuICAgICAgICBtaWRkbGV3YXJlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmxldmVsIC0gYi5sZXZlbDsgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLnVudXNlID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHZhciBzdGFjayA9IF9hLnN0YWNrLCBuYW1lID0gX2EubmFtZSwgY3JlYXRlID0gX2EuY3JlYXRlO1xuICAgICAgICBpZiAoc3RhY2sgJiYgdGhpcy5fbWlkZGxld2FyZXNbc3RhY2tdKSB7XG4gICAgICAgICAgICB0aGlzLl9taWRkbGV3YXJlc1tzdGFja10gPSB0aGlzLl9taWRkbGV3YXJlc1tzdGFja10uZmlsdGVyKGZ1bmN0aW9uIChtdykge1xuICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGUgPyBtdy5jcmVhdGUgIT09IGNyZWF0ZSA6XG4gICAgICAgICAgICAgICAgICAgIG5hbWUgPyBtdy5uYW1lICE9PSBuYW1lIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGRleGllT3Blbih0aGlzKTtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGlkeCA9IGNvbm5lY3Rpb25zLmluZGV4T2YodGhpcyksIHN0YXRlID0gdGhpcy5fc3RhdGU7XG4gICAgICAgIGlmIChpZHggPj0gMClcbiAgICAgICAgICAgIGNvbm5lY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICBpZiAodGhpcy5pZGJkYikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlkYmRiLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkgeyB9XG4gICAgICAgICAgICB0aGlzLmlkYmRiID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcHRpb25zLmF1dG9PcGVuID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmRiT3BlbkVycm9yID0gbmV3IGV4Y2VwdGlvbnMuRGF0YWJhc2VDbG9zZWQoKTtcbiAgICAgICAgaWYgKHN0YXRlLmlzQmVpbmdPcGVuZWQpXG4gICAgICAgICAgICBzdGF0ZS5jYW5jZWxPcGVuKHN0YXRlLmRiT3BlbkVycm9yKTtcbiAgICAgICAgc3RhdGUuZGJSZWFkeVByb21pc2UgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICBzdGF0ZS5kYlJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0ZS5vcGVuQ2FuY2VsbGVyID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAoXywgcmVqZWN0KSB7XG4gICAgICAgICAgICBzdGF0ZS5jYW5jZWxPcGVuID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5kZWxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBoYXNBcmd1bWVudHMgPSBhcmd1bWVudHMubGVuZ3RoID4gMDtcbiAgICAgICAgdmFyIHN0YXRlID0gdGhpcy5fc3RhdGU7XG4gICAgICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHZhciBkb0RlbGV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBfdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHZhciByZXEgPSBfdGhpcy5fZGVwcy5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoX3RoaXMubmFtZSk7XG4gICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHdyYXAoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZUVudW1lcmF0b3IucmVtb3ZlKF90aGlzLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBldmVudFJlamVjdEhhbmRsZXIocmVqZWN0KTtcbiAgICAgICAgICAgICAgICByZXEub25ibG9ja2VkID0gX3RoaXMuX2ZpcmVPbkJsb2NrZWQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKGhhc0FyZ3VtZW50cylcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJBcmd1bWVudHMgbm90IGFsbG93ZWQgaW4gZGIuZGVsZXRlKClcIik7XG4gICAgICAgICAgICBpZiAoc3RhdGUuaXNCZWluZ09wZW5lZCkge1xuICAgICAgICAgICAgICAgIHN0YXRlLmRiUmVhZHlQcm9taXNlLnRoZW4oZG9EZWxldGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZG9EZWxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuYmFja2VuZERCID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pZGJkYjtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5pc09wZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkYmRiICE9PSBudWxsO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLmhhc0JlZW5DbG9zZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYk9wZW5FcnJvciA9IHRoaXMuX3N0YXRlLmRiT3BlbkVycm9yO1xuICAgICAgICByZXR1cm4gZGJPcGVuRXJyb3IgJiYgKGRiT3BlbkVycm9yLm5hbWUgPT09ICdEYXRhYmFzZUNsb3NlZCcpO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLmhhc0ZhaWxlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlLmRiT3BlbkVycm9yICE9PSBudWxsO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLmR5bmFtaWNhbGx5T3BlbmVkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGUuYXV0b1NjaGVtYTtcbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEZXhpZS5wcm90b3R5cGUsIFwidGFibGVzXCIsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIGtleXModGhpcy5fYWxsVGFibGVzKS5tYXAoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIF90aGlzLl9hbGxUYWJsZXNbbmFtZV07IH0pO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBEZXhpZS5wcm90b3R5cGUudHJhbnNhY3Rpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBhcmdzID0gZXh0cmFjdFRyYW5zYWN0aW9uQXJncy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb24uYXBwbHkodGhpcywgYXJncyk7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuX3RyYW5zYWN0aW9uID0gZnVuY3Rpb24gKG1vZGUsIHRhYmxlcywgc2NvcGVGdW5jKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBwYXJlbnRUcmFuc2FjdGlvbiA9IFBTRC50cmFucztcbiAgICAgICAgaWYgKCFwYXJlbnRUcmFuc2FjdGlvbiB8fCBwYXJlbnRUcmFuc2FjdGlvbi5kYiAhPT0gdGhpcyB8fCBtb2RlLmluZGV4T2YoJyEnKSAhPT0gLTEpXG4gICAgICAgICAgICBwYXJlbnRUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgICAgIHZhciBvbmx5SWZDb21wYXRpYmxlID0gbW9kZS5pbmRleE9mKCc/JykgIT09IC0xO1xuICAgICAgICBtb2RlID0gbW9kZS5yZXBsYWNlKCchJywgJycpLnJlcGxhY2UoJz8nLCAnJyk7XG4gICAgICAgIHZhciBpZGJNb2RlLCBzdG9yZU5hbWVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RvcmVOYW1lcyA9IHRhYmxlcy5tYXAoZnVuY3Rpb24gKHRhYmxlKSB7XG4gICAgICAgICAgICAgICAgdmFyIHN0b3JlTmFtZSA9IHRhYmxlIGluc3RhbmNlb2YgX3RoaXMuVGFibGUgPyB0YWJsZS5uYW1lIDogdGFibGU7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzdG9yZU5hbWUgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCB0YWJsZSBhcmd1bWVudCB0byBEZXhpZS50cmFuc2FjdGlvbigpLiBPbmx5IFRhYmxlIG9yIFN0cmluZyBhcmUgYWxsb3dlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmVOYW1lO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAobW9kZSA9PSBcInJcIiB8fCBtb2RlID09PSBSRUFET05MWSlcbiAgICAgICAgICAgICAgICBpZGJNb2RlID0gUkVBRE9OTFk7XG4gICAgICAgICAgICBlbHNlIGlmIChtb2RlID09IFwicndcIiB8fCBtb2RlID09IFJFQURXUklURSlcbiAgICAgICAgICAgICAgICBpZGJNb2RlID0gUkVBRFdSSVRFO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcIkludmFsaWQgdHJhbnNhY3Rpb24gbW9kZTogXCIgKyBtb2RlKTtcbiAgICAgICAgICAgIGlmIChwYXJlbnRUcmFuc2FjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRUcmFuc2FjdGlvbi5tb2RlID09PSBSRUFET05MWSAmJiBpZGJNb2RlID09PSBSRUFEV1JJVEUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9ubHlJZkNvbXBhdGlibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFRyYW5zYWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5TdWJUcmFuc2FjdGlvbihcIkNhbm5vdCBlbnRlciBhIHN1Yi10cmFuc2FjdGlvbiB3aXRoIFJFQURXUklURSBtb2RlIHdoZW4gcGFyZW50IHRyYW5zYWN0aW9uIGlzIFJFQURPTkxZXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocGFyZW50VHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgc3RvcmVOYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChzdG9yZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRUcmFuc2FjdGlvbiAmJiBwYXJlbnRUcmFuc2FjdGlvbi5zdG9yZU5hbWVzLmluZGV4T2Yoc3RvcmVOYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob25seUlmQ29tcGF0aWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU3ViVHJhbnNhY3Rpb24oXCJUYWJsZSBcIiArIHN0b3JlTmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBub3QgaW5jbHVkZWQgaW4gcGFyZW50IHRyYW5zYWN0aW9uLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvbmx5SWZDb21wYXRpYmxlICYmIHBhcmVudFRyYW5zYWN0aW9uICYmICFwYXJlbnRUcmFuc2FjdGlvbi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50VHJhbnNhY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFRyYW5zYWN0aW9uID9cbiAgICAgICAgICAgICAgICBwYXJlbnRUcmFuc2FjdGlvbi5fcHJvbWlzZShudWxsLCBmdW5jdGlvbiAoXywgcmVqZWN0KSB7IHJlamVjdChlKTsgfSkgOlxuICAgICAgICAgICAgICAgIHJlamVjdGlvbihlKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZW50ZXJUcmFuc2FjdGlvbiA9IGVudGVyVHJhbnNhY3Rpb25TY29wZS5iaW5kKG51bGwsIHRoaXMsIGlkYk1vZGUsIHN0b3JlTmFtZXMsIHBhcmVudFRyYW5zYWN0aW9uLCBzY29wZUZ1bmMpO1xuICAgICAgICByZXR1cm4gKHBhcmVudFRyYW5zYWN0aW9uID9cbiAgICAgICAgICAgIHBhcmVudFRyYW5zYWN0aW9uLl9wcm9taXNlKGlkYk1vZGUsIGVudGVyVHJhbnNhY3Rpb24sIFwibG9ja1wiKSA6XG4gICAgICAgICAgICBQU0QudHJhbnMgP1xuICAgICAgICAgICAgICAgIHVzZVBTRChQU0QudHJhbnNsZXNzLCBmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5fd2hlblJlYWR5KGVudGVyVHJhbnNhY3Rpb24pOyB9KSA6XG4gICAgICAgICAgICAgICAgdGhpcy5fd2hlblJlYWR5KGVudGVyVHJhbnNhY3Rpb24pKTtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS50YWJsZSA9IGZ1bmN0aW9uICh0YWJsZU5hbWUpIHtcbiAgICAgICAgaWYgKCFoYXNPd24odGhpcy5fYWxsVGFibGVzLCB0YWJsZU5hbWUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkVGFibGUoXCJUYWJsZSBcIiArIHRhYmxlTmFtZSArIFwiIGRvZXMgbm90IGV4aXN0XCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9hbGxUYWJsZXNbdGFibGVOYW1lXTtcbiAgICB9O1xuICAgIHJldHVybiBEZXhpZTtcbn0oKSk7XG5cbnZhciBEZXhpZSQxID0gRGV4aWU7XG5wcm9wcyhEZXhpZSQxLCBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZnVsbE5hbWVFeGNlcHRpb25zKSwge1xuICAgIGRlbGV0ZTogZnVuY3Rpb24gKGRhdGFiYXNlTmFtZSkge1xuICAgICAgICB2YXIgZGIgPSBuZXcgRGV4aWUkMShkYXRhYmFzZU5hbWUpO1xuICAgICAgICByZXR1cm4gZGIuZGVsZXRlKCk7XG4gICAgfSxcbiAgICBleGlzdHM6IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGV4aWUkMShuYW1lLCB7IGFkZG9uczogW10gfSkub3BlbigpLnRoZW4oZnVuY3Rpb24gKGRiKSB7XG4gICAgICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLmNhdGNoKCdOb1N1Y2hEYXRhYmFzZUVycm9yJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gZmFsc2U7IH0pO1xuICAgIH0sXG4gICAgZ2V0RGF0YWJhc2VOYW1lczogZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHJldHVybiBkYXRhYmFzZUVudW1lcmF0b3IgP1xuICAgICAgICAgICAgZGF0YWJhc2VFbnVtZXJhdG9yLmdldERhdGFiYXNlTmFtZXMoKS50aGVuKGNiKSA6XG4gICAgICAgICAgICBEZXhpZVByb21pc2UucmVzb2x2ZShbXSk7XG4gICAgfSxcbiAgICBkZWZpbmVDbGFzczogZnVuY3Rpb24gKCkge1xuICAgICAgICBmdW5jdGlvbiBDbGFzcyhjb250ZW50KSB7XG4gICAgICAgICAgICBleHRlbmQodGhpcywgY29udGVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIENsYXNzO1xuICAgIH0sXG4gICAgaWdub3JlVHJhbnNhY3Rpb246IGZ1bmN0aW9uIChzY29wZUZ1bmMpIHtcbiAgICAgICAgcmV0dXJuIFBTRC50cmFucyA/XG4gICAgICAgICAgICB1c2VQU0QoUFNELnRyYW5zbGVzcywgc2NvcGVGdW5jKSA6XG4gICAgICAgICAgICBzY29wZUZ1bmMoKTtcbiAgICB9LFxuICAgIHZpcDogdmlwLCBhc3luYzogZnVuY3Rpb24gKGdlbmVyYXRvckZuKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhciBydiA9IGF3YWl0SXRlcmF0b3IoZ2VuZXJhdG9yRm4uYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gICAgICAgICAgICAgICAgaWYgKCFydiB8fCB0eXBlb2YgcnYudGhlbiAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHJ2KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcnY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24oZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgc3Bhd246IGZ1bmN0aW9uIChnZW5lcmF0b3JGbiwgYXJncywgdGhpeikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIHJ2ID0gYXdhaXRJdGVyYXRvcihnZW5lcmF0b3JGbi5hcHBseSh0aGl6LCBhcmdzIHx8IFtdKSk7XG4gICAgICAgICAgICBpZiAoIXJ2IHx8IHR5cGVvZiBydi50aGVuICE9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgIHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZShydik7XG4gICAgICAgICAgICByZXR1cm4gcnY7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24oZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGN1cnJlbnRUcmFuc2FjdGlvbjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFBTRC50cmFucyB8fCBudWxsOyB9XG4gICAgfSwgd2FpdEZvcjogZnVuY3Rpb24gKHByb21pc2VPckZ1bmN0aW9uLCBvcHRpb25hbFRpbWVvdXQpIHtcbiAgICAgICAgdmFyIHByb21pc2UgPSBEZXhpZVByb21pc2UucmVzb2x2ZSh0eXBlb2YgcHJvbWlzZU9yRnVuY3Rpb24gPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgICAgRGV4aWUkMS5pZ25vcmVUcmFuc2FjdGlvbihwcm9taXNlT3JGdW5jdGlvbikgOlxuICAgICAgICAgICAgcHJvbWlzZU9yRnVuY3Rpb24pXG4gICAgICAgICAgICAudGltZW91dChvcHRpb25hbFRpbWVvdXQgfHwgNjAwMDApO1xuICAgICAgICByZXR1cm4gUFNELnRyYW5zID9cbiAgICAgICAgICAgIFBTRC50cmFucy53YWl0Rm9yKHByb21pc2UpIDpcbiAgICAgICAgICAgIHByb21pc2U7XG4gICAgfSxcbiAgICBQcm9taXNlOiBEZXhpZVByb21pc2UsXG4gICAgZGVidWc6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBkZWJ1ZzsgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHNldERlYnVnKHZhbHVlLCB2YWx1ZSA9PT0gJ2RleGllJyA/IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRydWU7IH0gOiBkZXhpZVN0YWNrRnJhbWVGaWx0ZXIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkZXJpdmU6IGRlcml2ZSwgZXh0ZW5kOiBleHRlbmQsIHByb3BzOiBwcm9wcywgb3ZlcnJpZGU6IG92ZXJyaWRlLFxuICAgIEV2ZW50czogRXZlbnRzLFxuICAgIGdldEJ5S2V5UGF0aDogZ2V0QnlLZXlQYXRoLCBzZXRCeUtleVBhdGg6IHNldEJ5S2V5UGF0aCwgZGVsQnlLZXlQYXRoOiBkZWxCeUtleVBhdGgsIHNoYWxsb3dDbG9uZTogc2hhbGxvd0Nsb25lLCBkZWVwQ2xvbmU6IGRlZXBDbG9uZSwgZ2V0T2JqZWN0RGlmZjogZ2V0T2JqZWN0RGlmZiwgYXNhcDogYXNhcCxcbiAgICBtaW5LZXk6IG1pbktleSxcbiAgICBhZGRvbnM6IFtdLFxuICAgIGNvbm5lY3Rpb25zOiBjb25uZWN0aW9ucyxcbiAgICBlcnJuYW1lczogZXJybmFtZXMsXG4gICAgZGVwZW5kZW5jaWVzOiAoZnVuY3Rpb24gKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbmRleGVkREI6IF9nbG9iYWwuaW5kZXhlZERCIHx8IF9nbG9iYWwubW96SW5kZXhlZERCIHx8IF9nbG9iYWwud2Via2l0SW5kZXhlZERCIHx8IF9nbG9iYWwubXNJbmRleGVkREIsXG4gICAgICAgICAgICAgICAgSURCS2V5UmFuZ2U6IF9nbG9iYWwuSURCS2V5UmFuZ2UgfHwgX2dsb2JhbC53ZWJraXRJREJLZXlSYW5nZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgaW5kZXhlZERCOiBudWxsLCBJREJLZXlSYW5nZTogbnVsbCB9O1xuICAgICAgICB9XG4gICAgfSkoKSxcbiAgICBzZW1WZXI6IERFWElFX1ZFUlNJT04sIHZlcnNpb246IERFWElFX1ZFUlNJT04uc3BsaXQoJy4nKVxuICAgICAgICAubWFwKGZ1bmN0aW9uIChuKSB7IHJldHVybiBwYXJzZUludChuKTsgfSlcbiAgICAgICAgLnJlZHVjZShmdW5jdGlvbiAocCwgYywgaSkgeyByZXR1cm4gcCArIChjIC8gTWF0aC5wb3coMTAsIGkgKiAyKSk7IH0pLFxuICAgIGRlZmF1bHQ6IERleGllJDEsXG4gICAgRGV4aWU6IERleGllJDEgfSkpO1xuRGV4aWUkMS5tYXhLZXkgPSBnZXRNYXhLZXkoRGV4aWUkMS5kZXBlbmRlbmNpZXMuSURCS2V5UmFuZ2UpO1xuXG5pbml0RGF0YWJhc2VFbnVtZXJhdG9yKERleGllLmRlcGVuZGVuY2llcy5pbmRleGVkREIpO1xuRGV4aWVQcm9taXNlLnJlamVjdGlvbk1hcHBlciA9IG1hcEVycm9yO1xuc2V0RGVidWcoZGVidWcsIGRleGllU3RhY2tGcmFtZUZpbHRlcik7XG5cbmV4cG9ydCBkZWZhdWx0IERleGllO1xuZXhwb3J0IHsgRGV4aWUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRleGllLm1qcy5tYXBcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICBkZXhpZS1leHBvcnQtaW1wb3J0LmpzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICpcbiAqIERleGllIGFkZG9uIGZvciBleHBvcnRpbmcgYW5kIGltcG9ydGluZyBkYXRhYmFzZXMgdG8gLyBmcm9tIEJsb2JzLlxuICpcbiAqIEJ5IERhdmlkIEZhaGxhbmRlciwgZGF2aWQuZmFobGFuZGVyQGdtYWlsLmNvbSxcbiAqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICpcbiAqIFZlcnNpb24gMS4wLjAsIFRodSBOb3YgMTkgMjAyMFxuICpcbiAqIGh0dHA6Ly9kZXhpZS5vcmdcbiAqXG4gKiBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgSmFudWFyeSAyMDA0LCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvXG4gKiBcbiAqL1xuXG5pbXBvcnQgRGV4aWUgZnJvbSAnZGV4aWUnO1xuXG4vKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZVxyXG50aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZVxyXG5MaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG5cclxuVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxyXG5LSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVEXHJcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXHJcbk1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuXHJcblxyXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcclxuYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZShyZXN1bHQudmFsdWUpOyB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcclxuICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7IGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTsgcmV0dXJuIHRbMV07IH0sIHRyeXM6IFtdLCBvcHM6IFtdIH0sIGYsIHksIHQsIGc7XHJcbiAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgXCJ0aHJvd1wiOiB2ZXJiKDEpLCBcInJldHVyblwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZztcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc3RlcChvcCkge1xyXG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcclxuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xyXG4gICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XHJcbiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxyXG4gICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9O1xyXG4gICAgfVxyXG59XG5cbmZ1bmN0aW9uIGdldFNjaGVtYVN0cmluZyh0YWJsZSkge1xuICAgIHZhciBwcmltS2V5QW5kSW5kZXhlcyA9IFt0YWJsZS5zY2hlbWEucHJpbUtleV0uY29uY2F0KHRhYmxlLnNjaGVtYS5pbmRleGVzKTtcbiAgICByZXR1cm4gcHJpbUtleUFuZEluZGV4ZXMubWFwKGZ1bmN0aW9uIChpbmRleCkgeyByZXR1cm4gaW5kZXguc3JjOyB9KS5qb2luKCcsJyk7XG59XG5mdW5jdGlvbiBleHRyYWN0RGJTY2hlbWEoZXhwb3J0ZWREYikge1xuICAgIHZhciBzY2hlbWEgPSB7fTtcbiAgICBmb3IgKHZhciBfaSA9IDAsIF9hID0gZXhwb3J0ZWREYi50YWJsZXM7IF9pIDwgX2EubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIHZhciB0YWJsZSA9IF9hW19pXTtcbiAgICAgICAgc2NoZW1hW3RhYmxlLm5hbWVdID0gdGFibGUuc2NoZW1hO1xuICAgIH1cbiAgICByZXR1cm4gc2NoZW1hO1xufVxuZnVuY3Rpb24gcmVhZEJsb2JBc3luYyhibG9iLCB0eXBlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIHJlYWRlci5vbmFib3J0ID0gZnVuY3Rpb24gKGV2KSB7IHJldHVybiByZWplY3QobmV3IEVycm9yKFwiZmlsZSByZWFkIGFib3J0ZWRcIikpOyB9O1xuICAgICAgICByZWFkZXIub25lcnJvciA9IGZ1bmN0aW9uIChldikgeyByZXR1cm4gcmVqZWN0KGV2LnRhcmdldC5lcnJvcik7IH07XG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZXYpIHsgcmV0dXJuIHJlc29sdmUoZXYudGFyZ2V0LnJlc3VsdCk7IH07XG4gICAgICAgIGlmICh0eXBlID09PSAnYmluYXJ5JylcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoYmxvYik7XG4gICAgfSk7XG59XG5mdW5jdGlvbiByZWFkQmxvYlN5bmMoYmxvYiwgdHlwZSkge1xuICAgIGlmICh0eXBlb2YgRmlsZVJlYWRlclN5bmMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZVJlYWRlclN5bmMgbWlzc2luZy4gUmVhZGluZyBibG9icyBzeW5jaHJvbm91c2x5IHJlcXVpcmVzIGNvZGUgdG8gcnVuIGZyb20gd2l0aGluIGEgd2ViIHdvcmtlci4gVXNlIFRTT04uZW5jYXBzdWxhdGVBc3luYygpIHRvIGRvIGl0IGZyb20gdGhlIG1haW4gdGhyZWFkLicpO1xuICAgIH1cbiAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXJTeW5jKCk7IC8vIFJlcXVpcmVzIHdvcmtlciBlbnZpcm9ubWVudFxuICAgIHZhciBkYXRhID0gdHlwZSA9PT0gJ2JpbmFyeScgP1xuICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYikgOlxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICByZXR1cm4gZGF0YTtcbn1cblxudmFyIGNvbW1vbmpzR2xvYmFsID0gdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsVGhpcyA6IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgPyBzZWxmIDoge307XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZuLCBtb2R1bGUpIHtcblx0cmV0dXJuIG1vZHVsZSA9IHsgZXhwb3J0czoge30gfSwgZm4obW9kdWxlLCBtb2R1bGUuZXhwb3J0cyksIG1vZHVsZS5leHBvcnRzO1xufVxuXG52YXIgdHlwZXNvbiA9IGNyZWF0ZUNvbW1vbmpzTW9kdWxlKGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcbiFmdW5jdGlvbihlLG4pe21vZHVsZS5leHBvcnRzPW4oKTt9KGNvbW1vbmpzR2xvYmFsLGZ1bmN0aW9uKCl7dmFyIGU9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZcInN5bWJvbFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/XCJzeW1ib2xcIjp0eXBlb2YgZX0sbj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlLG4pe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7aWYoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlyZXR1cm4gZnVuY3Rpb24gc2xpY2VJdGVyYXRvcihlLG4pe3ZhciB0PVtdLHI9ITAsaT0hMSxvPXZvaWQgMDt0cnl7Zm9yKHZhciBzLGM9ZVtTeW1ib2wuaXRlcmF0b3JdKCk7IShyPShzPWMubmV4dCgpKS5kb25lKSYmKHQucHVzaChzLnZhbHVlKSwhbnx8dC5sZW5ndGghPT1uKTtyPSEwKTt9Y2F0Y2goZSl7aT0hMCxvPWU7fWZpbmFsbHl7dHJ5eyFyJiZjLnJldHVybiYmYy5yZXR1cm4oKTt9ZmluYWxseXtpZihpKXRocm93IG99fXJldHVybiB0fShlLG4pO3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlXCIpfX0oKSx0PWZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgbj0wLHQ9QXJyYXkoZS5sZW5ndGgpO248ZS5sZW5ndGg7bisrKXRbbl09ZVtuXTtyZXR1cm4gdH1yZXR1cm4gQXJyYXkuZnJvbShlKX0scj1PYmplY3Qua2V5cyxpPUFycmF5LmlzQXJyYXksbz17fS50b1N0cmluZyxzPU9iamVjdC5nZXRQcm90b3R5cGVPZixjPXt9Lmhhc093blByb3BlcnR5LGE9Yy50b1N0cmluZyx1PVtcInR5cGVcIixcInJlcGxhY2VkXCIsXCJpdGVyYXRlSW5cIixcIml0ZXJhdGVVbnNldE51bWVyaWNcIl07ZnVuY3Rpb24gaXNUaGVuYWJsZShlLG4pe3JldHVybiBUeXBlc29uLmlzT2JqZWN0KGUpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLnRoZW4mJighbnx8XCJmdW5jdGlvblwiPT10eXBlb2YgZS5jYXRjaCl9ZnVuY3Rpb24gdG9TdHJpbmdUYWcoZSl7cmV0dXJuIG8uY2FsbChlKS5zbGljZSg4LC0xKX1mdW5jdGlvbiBoYXNDb25zdHJ1Y3Rvck9mKG4sdCl7aWYoIW58fFwib2JqZWN0XCIhPT0odm9pZCAwPT09bj9cInVuZGVmaW5lZFwiOmUobikpKXJldHVybiAhMTt2YXIgcj1zKG4pO2lmKCFyKXJldHVybiAhMTt2YXIgaT1jLmNhbGwocixcImNvbnN0cnVjdG9yXCIpJiZyLmNvbnN0cnVjdG9yO3JldHVybiBcImZ1bmN0aW9uXCIhPXR5cGVvZiBpP251bGw9PT10OlwiZnVuY3Rpb25cIj09dHlwZW9mIGkmJm51bGwhPT10JiZhLmNhbGwoaSk9PT1hLmNhbGwodCl9ZnVuY3Rpb24gaXNQbGFpbk9iamVjdChlKXtyZXR1cm4gISghZXx8XCJPYmplY3RcIiE9PXRvU3RyaW5nVGFnKGUpKSYmKCFzKGUpfHxoYXNDb25zdHJ1Y3Rvck9mKGUsT2JqZWN0KSl9ZnVuY3Rpb24gaXNPYmplY3Qobil7cmV0dXJuIG4mJlwib2JqZWN0XCI9PT0odm9pZCAwPT09bj9cInVuZGVmaW5lZFwiOmUobikpfWZ1bmN0aW9uIFR5cGVzb24obyl7dmFyIHM9W10sYz1bXSxhPXt9LHk9dGhpcy50eXBlcz17fSxwPXRoaXMuc3RyaW5naWZ5PWZ1bmN0aW9uKGUsbix0LHIpe3I9T2JqZWN0LmFzc2lnbih7fSxvLHIse3N0cmluZ2lmaWNhdGlvbjohMH0pO3ZhciBzPWwoZSxudWxsLHIpO3JldHVybiBpKHMpP0pTT04uc3RyaW5naWZ5KHNbMF0sbix0KTpzLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUsbix0KX0pfTt0aGlzLnN0cmluZ2lmeVN5bmM9ZnVuY3Rpb24oZSxuLHQscil7cmV0dXJuIHAoZSxuLHQsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxyLHtzeW5jOiEwfSkpfSx0aGlzLnN0cmluZ2lmeUFzeW5jPWZ1bmN0aW9uKGUsbix0LHIpe3JldHVybiBwKGUsbix0LE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0scix7c3luYzohMX0pKX07dmFyIGY9dGhpcy5wYXJzZT1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIHQ9T2JqZWN0LmFzc2lnbih7fSxvLHQse3BhcnNlOiEwfSksaChKU09OLnBhcnNlKGUsbiksdCl9O3RoaXMucGFyc2VTeW5jPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gZihlLG4sT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSx0LHtzeW5jOiEwfSkpfSx0aGlzLnBhcnNlQXN5bmM9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBmKGUsbixPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHQse3N5bmM6ITF9KSl9LHRoaXMuc3BlY2lhbFR5cGVOYW1lcz1mdW5jdGlvbihlLG4pe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gdC5yZXR1cm5UeXBlTmFtZXM9ITAsdGhpcy5lbmNhcHN1bGF0ZShlLG4sdCl9LHRoaXMucm9vdFR5cGVOYW1lPWZ1bmN0aW9uKGUsbil7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9O3JldHVybiB0Lml0ZXJhdGVOb25lPSEwLHRoaXMuZW5jYXBzdWxhdGUoZSxuLHQpfTt2YXIgbD10aGlzLmVuY2Fwc3VsYXRlPWZ1bmN0aW9uKHkscCxmKXt2YXIgbD0oZj1PYmplY3QuYXNzaWduKHtzeW5jOiEwfSxvLGYpKS5zeW5jLGg9e30sdj1bXSxkPVtdLGI9W10sTz0hKGYmJlwiY3ljbGljXCJpbiBmKXx8Zi5jeWNsaWMsbT1mLmVuY2Fwc3VsYXRlT2JzZXJ2ZXIsVD1fZW5jYXBzdWxhdGUoXCJcIix5LE8scHx8e30sYik7ZnVuY3Rpb24gZmluaXNoKGUpe3ZhciBuPU9iamVjdC52YWx1ZXMoaCk7aWYoZi5pdGVyYXRlTm9uZSlyZXR1cm4gbi5sZW5ndGg/blswXTpUeXBlc29uLmdldEpTT05UeXBlKGUpO2lmKG4ubGVuZ3RoKXtpZihmLnJldHVyblR5cGVOYW1lcylyZXR1cm4gW10uY29uY2F0KHQobmV3IFNldChuKSkpO2UmJmlzUGxhaW5PYmplY3QoZSkmJiFlLmhhc093blByb3BlcnR5KFwiJHR5cGVzXCIpP2UuJHR5cGVzPWg6ZT17JDplLCR0eXBlczp7JDpofX07fWVsc2UgaXNPYmplY3QoZSkmJmUuaGFzT3duUHJvcGVydHkoXCIkdHlwZXNcIikmJihlPXskOmUsJHR5cGVzOiEwfSk7cmV0dXJuICFmLnJldHVyblR5cGVOYW1lcyYmZX1yZXR1cm4gYi5sZW5ndGg/bCYmZi50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBhc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6UHJvbWlzZS5yZXNvbHZlKGZ1bmN0aW9uIGNoZWNrUHJvbWlzZXMoZSx0KXtyZXR1cm4gUHJvbWlzZS5hbGwodC5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV0ucH0pKS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiBQcm9taXNlLmFsbChyLm1hcChmdW5jdGlvbihyKXt2YXIgaT1bXSxvPXQuc3BsaWNlKDAsMSlbMF0scz1uKG8sNyksYz1zWzBdLGE9c1syXSx1PXNbM10seT1zWzRdLHA9c1s1XSxmPXNbNl0sbD1fZW5jYXBzdWxhdGUoYyxyLGEsdSxpLCEwLGYpLGg9aGFzQ29uc3RydWN0b3JPZihsLFR5cGVzb25Qcm9taXNlKTtyZXR1cm4gYyYmaD9sLnAudGhlbihmdW5jdGlvbihuKXtyZXR1cm4geVtwXT1uLGNoZWNrUHJvbWlzZXMoZSxpKX0pOihjP3lbcF09bDplPWg/bC5wOmwsY2hlY2tQcm9taXNlcyhlLGkpKX0pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZX0pfShULGIpKS50aGVuKGZpbmlzaCk6IWwmJmYudGhyb3dPbkJhZFN5bmNUeXBlP2Z1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFzeW5jIG1ldGhvZCByZXF1ZXN0ZWQgYnV0IHN5bmMgcmVzdWx0IG9idGFpbmVkXCIpfSgpOmYuc3RyaW5naWZpY2F0aW9uJiZsP1tmaW5pc2goVCldOmw/ZmluaXNoKFQpOlByb21pc2UucmVzb2x2ZShmaW5pc2goVCkpO2Z1bmN0aW9uIF9hZGFwdEJ1aWx0aW5TdGF0ZU9iamVjdFByb3BlcnRpZXMoZSxuLHQpe09iamVjdC5hc3NpZ24oZSxuKTt2YXIgcj11Lm1hcChmdW5jdGlvbihuKXt2YXIgdD1lW25dO3JldHVybiBkZWxldGUgZVtuXSx0fSk7dCgpLHUuZm9yRWFjaChmdW5jdGlvbihuLHQpe2Vbbl09clt0XTt9KTt9ZnVuY3Rpb24gX2VuY2Fwc3VsYXRlKG4sdCxvLGMsYSx1LHkpe3ZhciBwPXZvaWQgMCxsPXt9LGI9dm9pZCAwPT09dD9cInVuZGVmaW5lZFwiOmUodCksTz1tP2Z1bmN0aW9uKGUpe3ZhciByPXl8fGMudHlwZXx8VHlwZXNvbi5nZXRKU09OVHlwZSh0KTttKE9iamVjdC5hc3NpZ24oZXx8bCx7a2V5cGF0aDpuLHZhbHVlOnQsY3ljbGljOm8sc3RhdGVPYmo6Yyxwcm9taXNlc0RhdGE6YSxyZXNvbHZpbmdUeXBlc29uUHJvbWlzZTp1LGF3YWl0aW5nVHlwZXNvblByb21pc2U6aGFzQ29uc3RydWN0b3JPZih0LFR5cGVzb25Qcm9taXNlKX0sdm9pZCAwIT09cj97dHlwZTpyfTp7fSkpO306bnVsbDtpZihiIGlue3N0cmluZzoxLGJvb2xlYW46MSxudW1iZXI6MSx1bmRlZmluZWQ6MX0pcmV0dXJuIHZvaWQgMD09PXR8fFwibnVtYmVyXCI9PT1iJiYoaXNOYU4odCl8fHQ9PT0tMS8wfHx0PT09MS8wKT8ocD1yZXBsYWNlKG4sdCxjLGEsITEsdSxPKSkhPT10JiYobD17cmVwbGFjZWQ6cH0pOnA9dCxPJiZPKCkscDtpZihudWxsPT09dClyZXR1cm4gTyYmTygpLHQ7aWYobyYmIWMuaXRlcmF0ZUluJiYhYy5pdGVyYXRlVW5zZXROdW1lcmljKXt2YXIgVD12LmluZGV4T2YodCk7aWYoIShUPDApKXJldHVybiBoW25dPVwiI1wiLE8mJk8oe2N5Y2xpY0tleXBhdGg6ZFtUXX0pLFwiI1wiK2RbVF07ITA9PT1vJiYodi5wdXNoKHQpLGQucHVzaChuKSk7fXZhciBnPWlzUGxhaW5PYmplY3QodCksUD1pKHQpLGo9KGd8fFApJiYoIXMubGVuZ3RofHxjLnJlcGxhY2VkKXx8Yy5pdGVyYXRlSW4/dDpyZXBsYWNlKG4sdCxjLGEsZ3x8UCxudWxsLE8pLFM9dm9pZCAwO2lmKGohPT10PyhwPWosbD17cmVwbGFjZWQ6an0pOlB8fFwiYXJyYXlcIj09PWMuaXRlcmF0ZUluPyhTPW5ldyBBcnJheSh0Lmxlbmd0aCksbD17Y2xvbmU6U30pOmd8fFwib2JqZWN0XCI9PT1jLml0ZXJhdGVJbj9sPXtjbG9uZTpTPXt9fTpcIlwiPT09biYmaGFzQ29uc3RydWN0b3JPZih0LFR5cGVzb25Qcm9taXNlKT8oYS5wdXNoKFtuLHQsbyxjLHZvaWQgMCx2b2lkIDAsYy50eXBlXSkscD10KTpwPXQsTyYmTygpLGYuaXRlcmF0ZU5vbmUpcmV0dXJuIFN8fHA7aWYoIVMpcmV0dXJuIHA7aWYoYy5pdGVyYXRlSW4pe3ZhciB3PWZ1bmN0aW9uIF9sb29wKGUpe3ZhciByPXtvd25LZXlzOnQuaGFzT3duUHJvcGVydHkoZSl9O19hZGFwdEJ1aWx0aW5TdGF0ZU9iamVjdFByb3BlcnRpZXMoYyxyLGZ1bmN0aW9uKCl7dmFyIHI9bisobj9cIi5cIjpcIlwiKStlc2NhcGVLZXlQYXRoQ29tcG9uZW50KGUpLGk9X2VuY2Fwc3VsYXRlKHIsdFtlXSwhIW8sYyxhLHUpO2hhc0NvbnN0cnVjdG9yT2YoaSxUeXBlc29uUHJvbWlzZSk/YS5wdXNoKFtyLGksISFvLGMsUyxlLGMudHlwZV0pOnZvaWQgMCE9PWkmJihTW2VdPWkpO30pO307Zm9yKHZhciBBIGluIHQpdyhBKTtPJiZPKHtlbmRJdGVyYXRlSW46ITAsZW5kOiEwfSk7fWVsc2Ugcih0KS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByPW4rKG4/XCIuXCI6XCJcIikrZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKTtfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGMse293bktleXM6ITB9LGZ1bmN0aW9uKCl7dmFyIG49X2VuY2Fwc3VsYXRlKHIsdFtlXSwhIW8sYyxhLHUpO2hhc0NvbnN0cnVjdG9yT2YobixUeXBlc29uUHJvbWlzZSk/YS5wdXNoKFtyLG4sISFvLGMsUyxlLGMudHlwZV0pOnZvaWQgMCE9PW4mJihTW2VdPW4pO30pO30pLE8mJk8oe2VuZEl0ZXJhdGVPd246ITAsZW5kOiEwfSk7aWYoYy5pdGVyYXRlVW5zZXROdW1lcmljKXtmb3IodmFyIEM9dC5sZW5ndGgsTj1mdW5jdGlvbiBfbG9vcDIoZSl7aWYoIShlIGluIHQpKXt2YXIgcj1uKyhuP1wiLlwiOlwiXCIpK2U7X2FkYXB0QnVpbHRpblN0YXRlT2JqZWN0UHJvcGVydGllcyhjLHtvd25LZXlzOiExfSxmdW5jdGlvbigpe3ZhciBuPV9lbmNhcHN1bGF0ZShyLHZvaWQgMCwhIW8sYyxhLHUpO2hhc0NvbnN0cnVjdG9yT2YobixUeXBlc29uUHJvbWlzZSk/YS5wdXNoKFtyLG4sISFvLGMsUyxlLGMudHlwZV0pOnZvaWQgMCE9PW4mJihTW2VdPW4pO30pO319LEI9MDtCPEM7QisrKU4oQik7TyYmTyh7ZW5kSXRlcmF0ZVVuc2V0TnVtZXJpYzohMCxlbmQ6ITB9KTt9cmV0dXJuIFN9ZnVuY3Rpb24gcmVwbGFjZShlLG4sdCxyLGksbyx1KXtmb3IodmFyIHk9aT9zOmMscD15Lmxlbmd0aDtwLS07KXt2YXIgZj15W3BdO2lmKGYudGVzdChuLHQpKXt2YXIgdj1mLnR5cGU7aWYoYVt2XSl7dmFyIGQ9aFtlXTtoW2VdPWQ/W3ZdLmNvbmNhdChkKTp2O31yZXR1cm4gT2JqZWN0LmFzc2lnbih0LHt0eXBlOnYscmVwbGFjZWQ6ITB9KSwhbCYmZi5yZXBsYWNlQXN5bmN8fGYucmVwbGFjZT8odSYmdSh7cmVwbGFjaW5nOiEwfSksX2VuY2Fwc3VsYXRlKGUsZltsfHwhZi5yZXBsYWNlQXN5bmM/XCJyZXBsYWNlXCI6XCJyZXBsYWNlQXN5bmNcIl0obix0KSxPJiZcInJlYWRvbmx5XCIsdCxyLG8sdikpOih1JiZ1KHt0eXBlRGV0ZWN0ZWQ6ITB9KSxfZW5jYXBzdWxhdGUoZSxuLE8mJlwicmVhZG9ubHlcIix0LHIsbyx2KSl9fXJldHVybiBufX07dGhpcy5lbmNhcHN1bGF0ZVN5bmM9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBsKGUsbixPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHQse3N5bmM6ITB9KSl9LHRoaXMuZW5jYXBzdWxhdGVBc3luYz1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIGwoZSxuLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sdCx7c3luYzohMX0pKX07dmFyIGg9dGhpcy5yZXZpdmU9ZnVuY3Rpb24oZSx0KXt2YXIgcz0odD1PYmplY3QuYXNzaWduKHtzeW5jOiEwfSxvLHQpKS5zeW5jLGM9ZSYmZS4kdHlwZXMsdT0hMDtpZighYylyZXR1cm4gZTtpZighMD09PWMpcmV0dXJuIGUuJDtjLiQmJmlzUGxhaW5PYmplY3QoYy4kKSYmKGU9ZS4kLGM9Yy4kLHU9ITEpO3ZhciB5PVtdLHA9e30sZj1mdW5jdGlvbiBfcmV2aXZlKGUsdCxvLHMsZixsKXtpZih1JiZcIiR0eXBlc1wiPT09ZSlyZXR1cm47dmFyIGg9Y1tlXTtpZihpKHQpfHxpc1BsYWluT2JqZWN0KHQpKXt2YXIgdj1pKHQpP25ldyBBcnJheSh0Lmxlbmd0aCk6e307Zm9yKHIodCkuZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgcj1fcmV2aXZlKGUrKGU/XCIuXCI6XCJcIikrZXNjYXBlS2V5UGF0aENvbXBvbmVudChuKSx0W25dLG98fHYscyx2LG4pO2hhc0NvbnN0cnVjdG9yT2YocixVbmRlZmluZWQpP3Zbbl09dm9pZCAwOnZvaWQgMCE9PXImJih2W25dPXIpO30pLHQ9djt5Lmxlbmd0aDspe3ZhciBkPW4oeVswXSw0KSxiPWRbMF0sTz1kWzFdLG09ZFsyXSxUPWRbM10sZz1nZXRCeUtleVBhdGgoYixPKTtpZihoYXNDb25zdHJ1Y3Rvck9mKGcsVW5kZWZpbmVkKSltW1RdPXZvaWQgMDtlbHNle2lmKHZvaWQgMD09PWcpYnJlYWs7bVtUXT1nO315LnNwbGljZSgwLDEpO319aWYoIWgpcmV0dXJuIHQ7aWYoXCIjXCI9PT1oKXt2YXIgUD1nZXRCeUtleVBhdGgobyx0LnN1YnN0cigxKSk7cmV0dXJuIHZvaWQgMD09PVAmJnkucHVzaChbbyx0LnN1YnN0cigxKSxmLGxdKSxQfXZhciBqPXMuc3luYztyZXR1cm4gW10uY29uY2F0KGgpLnJlZHVjZShmdW5jdGlvbihlLG4pe3ZhciB0PWFbbl07aWYoIXQpdGhyb3cgbmV3IEVycm9yKFwiVW5yZWdpc3RlcmVkIHR5cGU6IFwiK24pO3JldHVybiB0W2omJnQucmV2aXZlP1wicmV2aXZlXCI6IWomJnQucmV2aXZlQXN5bmM/XCJyZXZpdmVBc3luY1wiOlwicmV2aXZlXCJdKGUscCl9LHQpfShcIlwiLGUsbnVsbCx0KTtyZXR1cm4gaXNUaGVuYWJsZShmPWhhc0NvbnN0cnVjdG9yT2YoZixVbmRlZmluZWQpP3ZvaWQgMDpmKT9zJiZ0LnRocm93T25CYWRTeW5jVHlwZT9mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJTeW5jIG1ldGhvZCByZXF1ZXN0ZWQgYnV0IGFzeW5jIHJlc3VsdCBvYnRhaW5lZFwiKX0oKTpmOiFzJiZ0LnRocm93T25CYWRTeW5jVHlwZT9mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBc3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBzeW5jIHJlc3VsdCBvYnRhaW5lZFwiKX0oKTpzP2Y6UHJvbWlzZS5yZXNvbHZlKGYpfTt0aGlzLnJldml2ZVN5bmM9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaChlLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sbix7c3luYzohMH0pKX0sdGhpcy5yZXZpdmVBc3luYz1mdW5jdGlvbihlLG4pe3JldHVybiBoKGUsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxuLHtzeW5jOiExfSkpfSx0aGlzLnJlZ2lzdGVyPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG49bnx8e30sW10uY29uY2F0KGUpLmZvckVhY2goZnVuY3Rpb24gUihlKXtpZihpKGUpKXJldHVybiBlLm1hcChSKTtlJiZyKGUpLmZvckVhY2goZnVuY3Rpb24odCl7aWYoXCIjXCI9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoXCIjIGNhbm5vdCBiZSB1c2VkIGFzIGEgdHlwZSBuYW1lIGFzIGl0IGlzIHJlc2VydmVkIGZvciBjeWNsaWMgb2JqZWN0c1wiKTtpZihUeXBlc29uLkpTT05fVFlQRVMuaW5jbHVkZXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlBsYWluIEpTT04gb2JqZWN0IHR5cGVzIGFyZSByZXNlcnZlZCBhcyB0eXBlIG5hbWVzXCIpO3ZhciByPWVbdF0sbz1yLnRlc3RQbGFpbk9iamVjdHM/czpjLHU9by5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXR9KTtpZih1Lmxlbmd0aCYmKG8uc3BsaWNlKG8uaW5kZXhPZih1WzBdKSwxKSxkZWxldGUgYVt0XSxkZWxldGUgeVt0XSkscil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygcil7dmFyIHA9cjtyPXt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIGUmJmUuY29uc3RydWN0b3I9PT1wfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIGFzc2lnbih7fSxlKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gYXNzaWduKE9iamVjdC5jcmVhdGUocC5wcm90b3R5cGUpLGUpfX07fWVsc2UgaShyKSYmKHI9e3Rlc3Q6clswXSxyZXBsYWNlOnJbMV0scmV2aXZlOnJbMl19KTt2YXIgZj17dHlwZTp0LHRlc3Q6ci50ZXN0LmJpbmQocil9O3IucmVwbGFjZSYmKGYucmVwbGFjZT1yLnJlcGxhY2UuYmluZChyKSksci5yZXBsYWNlQXN5bmMmJihmLnJlcGxhY2VBc3luYz1yLnJlcGxhY2VBc3luYy5iaW5kKHIpKTt2YXIgbD1cIm51bWJlclwiPT10eXBlb2Ygbi5mYWxsYmFjaz9uLmZhbGxiYWNrOm4uZmFsbGJhY2s/MDoxLzA7aWYoci50ZXN0UGxhaW5PYmplY3RzP3Muc3BsaWNlKGwsMCxmKTpjLnNwbGljZShsLDAsZiksci5yZXZpdmV8fHIucmV2aXZlQXN5bmMpe3ZhciBoPXt9O3IucmV2aXZlJiYoaC5yZXZpdmU9ci5yZXZpdmUuYmluZChyKSksci5yZXZpdmVBc3luYyYmKGgucmV2aXZlQXN5bmM9ci5yZXZpdmVBc3luYy5iaW5kKHIpKSxhW3RdPWg7fXlbdF09cjt9fSk7fSksdGhpc307fWZ1bmN0aW9uIGFzc2lnbihlLG4pe3JldHVybiByKG4pLm1hcChmdW5jdGlvbih0KXtlW3RdPW5bdF07fSksZX1mdW5jdGlvbiBlc2NhcGVLZXlQYXRoQ29tcG9uZW50KGUpe3JldHVybiBlLnJlcGxhY2UoL34vZyxcIn4wXCIpLnJlcGxhY2UoL1xcLi9nLFwifjFcIil9ZnVuY3Rpb24gdW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50KGUpe3JldHVybiBlLnJlcGxhY2UoL34xL2csXCIuXCIpLnJlcGxhY2UoL34wL2csXCJ+XCIpfWZ1bmN0aW9uIGdldEJ5S2V5UGF0aChlLG4pe2lmKFwiXCI9PT1uKXJldHVybiBlO3ZhciB0PW4uaW5kZXhPZihcIi5cIik7aWYodD4tMSl7dmFyIHI9ZVt1bmVzY2FwZUtleVBhdGhDb21wb25lbnQobi5zdWJzdHIoMCx0KSldO3JldHVybiB2b2lkIDA9PT1yP3ZvaWQgMDpnZXRCeUtleVBhdGgocixuLnN1YnN0cih0KzEpKX1yZXR1cm4gZVt1bmVzY2FwZUtleVBhdGhDb21wb25lbnQobildfWZ1bmN0aW9uIFVuZGVmaW5lZCgpe31mdW5jdGlvbiBUeXBlc29uUHJvbWlzZShlKXt0aGlzLnA9bmV3IFByb21pc2UoZSk7fXJldHVybiBUeXBlc29uUHJvbWlzZS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihlLG4pe3ZhciB0PXRoaXM7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbihyLGkpe3QucC50aGVuKGZ1bmN0aW9uKG4pe3IoZT9lKG4pOm4pO30sZnVuY3Rpb24oZSl7dC5wLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybiBuP24oZSk6UHJvbWlzZS5yZWplY3QoZSl9KS50aGVuKHIsaSk7fSk7fSl9LFR5cGVzb25Qcm9taXNlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LFR5cGVzb25Qcm9taXNlLnJlc29sdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbihuKXtuKGUpO30pfSxUeXBlc29uUHJvbWlzZS5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbihuLHQpe3QoZSk7fSl9LFtcImFsbFwiLFwicmFjZVwiXS5tYXAoZnVuY3Rpb24oZSl7VHlwZXNvblByb21pc2VbZV09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbih0LHIpe1Byb21pc2VbZV0obi5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUucH0pKS50aGVuKHQscik7fSl9O30pLFR5cGVzb24uVW5kZWZpbmVkPVVuZGVmaW5lZCxUeXBlc29uLlByb21pc2U9VHlwZXNvblByb21pc2UsVHlwZXNvbi5pc1RoZW5hYmxlPWlzVGhlbmFibGUsVHlwZXNvbi50b1N0cmluZ1RhZz10b1N0cmluZ1RhZyxUeXBlc29uLmhhc0NvbnN0cnVjdG9yT2Y9aGFzQ29uc3RydWN0b3JPZixUeXBlc29uLmlzT2JqZWN0PWlzT2JqZWN0LFR5cGVzb24uaXNQbGFpbk9iamVjdD1pc1BsYWluT2JqZWN0LFR5cGVzb24uaXNVc2VyT2JqZWN0PWZ1bmN0aW9uIGlzVXNlck9iamVjdChlKXtpZighZXx8XCJPYmplY3RcIiE9PXRvU3RyaW5nVGFnKGUpKXJldHVybiAhMTt2YXIgbj1zKGUpO3JldHVybiAhbnx8aGFzQ29uc3RydWN0b3JPZihlLE9iamVjdCl8fGlzVXNlck9iamVjdChuKX0sVHlwZXNvbi5lc2NhcGVLZXlQYXRoQ29tcG9uZW50PWVzY2FwZUtleVBhdGhDb21wb25lbnQsVHlwZXNvbi51bmVzY2FwZUtleVBhdGhDb21wb25lbnQ9dW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50LFR5cGVzb24uZ2V0QnlLZXlQYXRoPWdldEJ5S2V5UGF0aCxUeXBlc29uLmdldEpTT05UeXBlPWZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT09bj9cIm51bGxcIjppKG4pP1wiYXJyYXlcIjp2b2lkIDA9PT1uP1widW5kZWZpbmVkXCI6ZShuKX0sVHlwZXNvbi5KU09OX1RZUEVTPVtcIm51bGxcIixcImJvb2xlYW5cIixcIm51bWJlclwiLFwic3RyaW5nXCIsXCJhcnJheVwiLFwib2JqZWN0XCJdLFR5cGVzb259KTtcbn0pO1xuXG52YXIgc3RydWN0dXJlZENsb25pbmcgPSBjcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XG4hZnVuY3Rpb24oZSx0KXttb2R1bGUuZXhwb3J0cz10KCk7fShjb21tb25qc0dsb2JhbCxmdW5jdGlvbigpe3ZhciBlPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlO2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoZSkpcmV0dXJuIGZ1bmN0aW9uIHNsaWNlSXRlcmF0b3IoZSx0KXt2YXIgbj1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgcyxhPWVbU3ltYm9sLml0ZXJhdG9yXSgpOyEocj0ocz1hLm5leHQoKSkuZG9uZSkmJihuLnB1c2gocy52YWx1ZSksIXR8fG4ubGVuZ3RoIT09dCk7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lO31maW5hbGx5e3RyeXshciYmYS5yZXR1cm4mJmEucmV0dXJuKCk7fWZpbmFsbHl7aWYoaSl0aHJvdyBvfX1yZXR1cm4gbn0oZSx0KTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKX19KCksbj1mdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHQ9MCxuPUFycmF5KGUubGVuZ3RoKTt0PGUubGVuZ3RoO3QrKyluW3RdPWVbdF07cmV0dXJuIG59cmV0dXJuIEFycmF5LmZyb20oZSl9LHI9T2JqZWN0LmtleXMsaT1BcnJheS5pc0FycmF5LG89e30udG9TdHJpbmcscz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsYT17fS5oYXNPd25Qcm9wZXJ0eSxjPWEudG9TdHJpbmcsdT1bXCJ0eXBlXCIsXCJyZXBsYWNlZFwiLFwiaXRlcmF0ZUluXCIsXCJpdGVyYXRlVW5zZXROdW1lcmljXCJdO2Z1bmN0aW9uIGlzVGhlbmFibGUoZSx0KXtyZXR1cm4gVHlwZXNvbi5pc09iamVjdChlKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS50aGVuJiYoIXR8fFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuY2F0Y2gpfWZ1bmN0aW9uIHRvU3RyaW5nVGFnKGUpe3JldHVybiBvLmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gaGFzQ29uc3RydWN0b3JPZih0LG4pe2lmKCF0fHxcIm9iamVjdFwiIT09KHZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpKSlyZXR1cm4gITE7dmFyIHI9cyh0KTtpZighcilyZXR1cm4gITE7dmFyIGk9YS5jYWxsKHIsXCJjb25zdHJ1Y3RvclwiKSYmci5jb25zdHJ1Y3RvcjtyZXR1cm4gXCJmdW5jdGlvblwiIT10eXBlb2YgaT9udWxsPT09bjpcImZ1bmN0aW9uXCI9PXR5cGVvZiBpJiZudWxsIT09biYmYy5jYWxsKGkpPT09Yy5jYWxsKG4pfWZ1bmN0aW9uIGlzUGxhaW5PYmplY3QoZSl7cmV0dXJuICEoIWV8fFwiT2JqZWN0XCIhPT10b1N0cmluZ1RhZyhlKSkmJighcyhlKXx8aGFzQ29uc3RydWN0b3JPZihlLE9iamVjdCkpfWZ1bmN0aW9uIGlzT2JqZWN0KHQpe3JldHVybiB0JiZcIm9iamVjdFwiPT09KHZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpKX1mdW5jdGlvbiBUeXBlc29uKG8pe3ZhciBzPVtdLGE9W10sYz17fSxmPXRoaXMudHlwZXM9e30scD10aGlzLnN0cmluZ2lmeT1mdW5jdGlvbihlLHQsbixyKXtyPU9iamVjdC5hc3NpZ24oe30sbyxyLHtzdHJpbmdpZmljYXRpb246ITB9KTt2YXIgcz15KGUsbnVsbCxyKTtyZXR1cm4gaShzKT9KU09OLnN0cmluZ2lmeShzWzBdLHQsbik6cy50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLHQsbil9KX07dGhpcy5zdHJpbmdpZnlTeW5jPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBwKGUsdCxuLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0scix7c3luYzohMH0pKX0sdGhpcy5zdHJpbmdpZnlBc3luYz1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gcChlLHQsbixPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHIse3N5bmM6ITF9KSl9O3ZhciBsPXRoaXMucGFyc2U9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuPU9iamVjdC5hc3NpZ24oe30sbyxuLHtwYXJzZTohMH0pLHYoSlNPTi5wYXJzZShlLHQpLG4pfTt0aGlzLnBhcnNlU3luYz1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwoZSx0LE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sbix7c3luYzohMH0pKX0sdGhpcy5wYXJzZUFzeW5jPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbChlLHQsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxuLHtzeW5jOiExfSkpfSx0aGlzLnNwZWNpYWxUeXBlTmFtZXM9ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307cmV0dXJuIG4ucmV0dXJuVHlwZU5hbWVzPSEwLHRoaXMuZW5jYXBzdWxhdGUoZSx0LG4pfSx0aGlzLnJvb3RUeXBlTmFtZT1mdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gbi5pdGVyYXRlTm9uZT0hMCx0aGlzLmVuY2Fwc3VsYXRlKGUsdCxuKX07dmFyIHk9dGhpcy5lbmNhcHN1bGF0ZT1mdW5jdGlvbihmLHAsbCl7dmFyIHk9KGw9T2JqZWN0LmFzc2lnbih7c3luYzohMH0sbyxsKSkuc3luYyx2PXt9LGQ9W10saD1bXSxnPVtdLGI9IShsJiZcImN5Y2xpY1wiaW4gbCl8fGwuY3ljbGljLG09bC5lbmNhcHN1bGF0ZU9ic2VydmVyLFQ9X2VuY2Fwc3VsYXRlKFwiXCIsZixiLHB8fHt9LGcpO2Z1bmN0aW9uIGZpbmlzaChlKXt2YXIgdD1PYmplY3QudmFsdWVzKHYpO2lmKGwuaXRlcmF0ZU5vbmUpcmV0dXJuIHQubGVuZ3RoP3RbMF06VHlwZXNvbi5nZXRKU09OVHlwZShlKTtpZih0Lmxlbmd0aCl7aWYobC5yZXR1cm5UeXBlTmFtZXMpcmV0dXJuIFtdLmNvbmNhdChuKG5ldyBTZXQodCkpKTtlJiZpc1BsYWluT2JqZWN0KGUpJiYhZS5oYXNPd25Qcm9wZXJ0eShcIiR0eXBlc1wiKT9lLiR0eXBlcz12OmU9eyQ6ZSwkdHlwZXM6eyQ6dn19O31lbHNlIGlzT2JqZWN0KGUpJiZlLmhhc093blByb3BlcnR5KFwiJHR5cGVzXCIpJiYoZT17JDplLCR0eXBlczohMH0pO3JldHVybiAhbC5yZXR1cm5UeXBlTmFtZXMmJmV9cmV0dXJuIGcubGVuZ3RoP3kmJmwudGhyb3dPbkJhZFN5bmNUeXBlP2Z1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgYXN5bmMgcmVzdWx0IG9idGFpbmVkXCIpfSgpOlByb21pc2UucmVzb2x2ZShmdW5jdGlvbiBjaGVja1Byb21pc2VzKGUsbil7cmV0dXJuIFByb21pc2UuYWxsKG4ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnB9KSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gUHJvbWlzZS5hbGwoci5tYXAoZnVuY3Rpb24ocil7dmFyIGk9W10sbz1uLnNwbGljZSgwLDEpWzBdLHM9dChvLDcpLGE9c1swXSxjPXNbMl0sdT1zWzNdLGY9c1s0XSxwPXNbNV0sbD1zWzZdLHk9X2VuY2Fwc3VsYXRlKGEscixjLHUsaSwhMCxsKSx2PWhhc0NvbnN0cnVjdG9yT2YoeSxUeXBlc29uUHJvbWlzZSk7cmV0dXJuIGEmJnY/eS5wLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIGZbcF09dCxjaGVja1Byb21pc2VzKGUsaSl9KTooYT9mW3BdPXk6ZT12P3kucDp5LGNoZWNrUHJvbWlzZXMoZSxpKSl9KSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KX0oVCxnKSkudGhlbihmaW5pc2gpOiF5JiZsLnRocm93T25CYWRTeW5jVHlwZT9mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBc3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBzeW5jIHJlc3VsdCBvYnRhaW5lZFwiKX0oKTpsLnN0cmluZ2lmaWNhdGlvbiYmeT9bZmluaXNoKFQpXTp5P2ZpbmlzaChUKTpQcm9taXNlLnJlc29sdmUoZmluaXNoKFQpKTtmdW5jdGlvbiBfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGUsdCxuKXtPYmplY3QuYXNzaWduKGUsdCk7dmFyIHI9dS5tYXAoZnVuY3Rpb24odCl7dmFyIG49ZVt0XTtyZXR1cm4gZGVsZXRlIGVbdF0sbn0pO24oKSx1LmZvckVhY2goZnVuY3Rpb24odCxuKXtlW3RdPXJbbl07fSk7fWZ1bmN0aW9uIF9lbmNhcHN1bGF0ZSh0LG4sbyxhLGMsdSxmKXt2YXIgcD12b2lkIDAseT17fSxnPXZvaWQgMD09PW4/XCJ1bmRlZmluZWRcIjplKG4pLGI9bT9mdW5jdGlvbihlKXt2YXIgcj1mfHxhLnR5cGV8fFR5cGVzb24uZ2V0SlNPTlR5cGUobik7bShPYmplY3QuYXNzaWduKGV8fHkse2tleXBhdGg6dCx2YWx1ZTpuLGN5Y2xpYzpvLHN0YXRlT2JqOmEscHJvbWlzZXNEYXRhOmMscmVzb2x2aW5nVHlwZXNvblByb21pc2U6dSxhd2FpdGluZ1R5cGVzb25Qcm9taXNlOmhhc0NvbnN0cnVjdG9yT2YobixUeXBlc29uUHJvbWlzZSl9LHZvaWQgMCE9PXI/e3R5cGU6cn06e30pKTt9Om51bGw7aWYoZyBpbntzdHJpbmc6MSxib29sZWFuOjEsbnVtYmVyOjEsdW5kZWZpbmVkOjF9KXJldHVybiB2b2lkIDA9PT1ufHxcIm51bWJlclwiPT09ZyYmKGlzTmFOKG4pfHxuPT09LTEvMHx8bj09PTEvMCk/KHA9cmVwbGFjZSh0LG4sYSxjLCExLHUsYikpIT09biYmKHk9e3JlcGxhY2VkOnB9KTpwPW4sYiYmYigpLHA7aWYobnVsbD09PW4pcmV0dXJuIGImJmIoKSxuO2lmKG8mJiFhLml0ZXJhdGVJbiYmIWEuaXRlcmF0ZVVuc2V0TnVtZXJpYyl7dmFyIFQ9ZC5pbmRleE9mKG4pO2lmKCEoVDwwKSlyZXR1cm4gdlt0XT1cIiNcIixiJiZiKHtjeWNsaWNLZXlwYXRoOmhbVF19KSxcIiNcIitoW1RdOyEwPT09byYmKGQucHVzaChuKSxoLnB1c2godCkpO312YXIgTz1pc1BsYWluT2JqZWN0KG4pLHc9aShuKSxTPShPfHx3KSYmKCFzLmxlbmd0aHx8YS5yZXBsYWNlZCl8fGEuaXRlcmF0ZUluP246cmVwbGFjZSh0LG4sYSxjLE98fHcsbnVsbCxiKSxQPXZvaWQgMDtpZihTIT09bj8ocD1TLHk9e3JlcGxhY2VkOlN9KTp3fHxcImFycmF5XCI9PT1hLml0ZXJhdGVJbj8oUD1uZXcgQXJyYXkobi5sZW5ndGgpLHk9e2Nsb25lOlB9KTpPfHxcIm9iamVjdFwiPT09YS5pdGVyYXRlSW4/eT17Y2xvbmU6UD17fX06XCJcIj09PXQmJmhhc0NvbnN0cnVjdG9yT2YobixUeXBlc29uUHJvbWlzZSk/KGMucHVzaChbdCxuLG8sYSx2b2lkIDAsdm9pZCAwLGEudHlwZV0pLHA9bik6cD1uLGImJmIoKSxsLml0ZXJhdGVOb25lKXJldHVybiBQfHxwO2lmKCFQKXJldHVybiBwO2lmKGEuaXRlcmF0ZUluKXt2YXIgaj1mdW5jdGlvbiBfbG9vcChlKXt2YXIgcj17b3duS2V5czpuLmhhc093blByb3BlcnR5KGUpfTtfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGEscixmdW5jdGlvbigpe3ZhciByPXQrKHQ/XCIuXCI6XCJcIikrZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKSxpPV9lbmNhcHN1bGF0ZShyLG5bZV0sISFvLGEsYyx1KTtoYXNDb25zdHJ1Y3Rvck9mKGksVHlwZXNvblByb21pc2UpP2MucHVzaChbcixpLCEhbyxhLFAsZSxhLnR5cGVdKTp2b2lkIDAhPT1pJiYoUFtlXT1pKTt9KTt9O2Zvcih2YXIgQSBpbiBuKWooQSk7YiYmYih7ZW5kSXRlcmF0ZUluOiEwLGVuZDohMH0pO31lbHNlIHIobikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj10Kyh0P1wiLlwiOlwiXCIpK2VzY2FwZUtleVBhdGhDb21wb25lbnQoZSk7X2FkYXB0QnVpbHRpblN0YXRlT2JqZWN0UHJvcGVydGllcyhhLHtvd25LZXlzOiEwfSxmdW5jdGlvbigpe3ZhciB0PV9lbmNhcHN1bGF0ZShyLG5bZV0sISFvLGEsYyx1KTtoYXNDb25zdHJ1Y3Rvck9mKHQsVHlwZXNvblByb21pc2UpP2MucHVzaChbcix0LCEhbyxhLFAsZSxhLnR5cGVdKTp2b2lkIDAhPT10JiYoUFtlXT10KTt9KTt9KSxiJiZiKHtlbmRJdGVyYXRlT3duOiEwLGVuZDohMH0pO2lmKGEuaXRlcmF0ZVVuc2V0TnVtZXJpYyl7Zm9yKHZhciBDPW4ubGVuZ3RoLE49ZnVuY3Rpb24gX2xvb3AyKGUpe2lmKCEoZSBpbiBuKSl7dmFyIHI9dCsodD9cIi5cIjpcIlwiKStlO19hZGFwdEJ1aWx0aW5TdGF0ZU9iamVjdFByb3BlcnRpZXMoYSx7b3duS2V5czohMX0sZnVuY3Rpb24oKXt2YXIgdD1fZW5jYXBzdWxhdGUocix2b2lkIDAsISFvLGEsYyx1KTtoYXNDb25zdHJ1Y3Rvck9mKHQsVHlwZXNvblByb21pc2UpP2MucHVzaChbcix0LCEhbyxhLFAsZSxhLnR5cGVdKTp2b2lkIDAhPT10JiYoUFtlXT10KTt9KTt9fSxCPTA7QjxDO0IrKylOKEIpO2ImJmIoe2VuZEl0ZXJhdGVVbnNldE51bWVyaWM6ITAsZW5kOiEwfSk7fXJldHVybiBQfWZ1bmN0aW9uIHJlcGxhY2UoZSx0LG4scixpLG8sdSl7Zm9yKHZhciBmPWk/czphLHA9Zi5sZW5ndGg7cC0tOyl7dmFyIGw9ZltwXTtpZihsLnRlc3QodCxuKSl7dmFyIGQ9bC50eXBlO2lmKGNbZF0pe3ZhciBoPXZbZV07dltlXT1oP1tkXS5jb25jYXQoaCk6ZDt9cmV0dXJuIE9iamVjdC5hc3NpZ24obix7dHlwZTpkLHJlcGxhY2VkOiEwfSksIXkmJmwucmVwbGFjZUFzeW5jfHxsLnJlcGxhY2U/KHUmJnUoe3JlcGxhY2luZzohMH0pLF9lbmNhcHN1bGF0ZShlLGxbeXx8IWwucmVwbGFjZUFzeW5jP1wicmVwbGFjZVwiOlwicmVwbGFjZUFzeW5jXCJdKHQsbiksYiYmXCJyZWFkb25seVwiLG4scixvLGQpKToodSYmdSh7dHlwZURldGVjdGVkOiEwfSksX2VuY2Fwc3VsYXRlKGUsdCxiJiZcInJlYWRvbmx5XCIsbixyLG8sZCkpfX1yZXR1cm4gdH19O3RoaXMuZW5jYXBzdWxhdGVTeW5jPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geShlLHQsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxuLHtzeW5jOiEwfSkpfSx0aGlzLmVuY2Fwc3VsYXRlQXN5bmM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB5KGUsdCxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LG4se3N5bmM6ITF9KSl9O3ZhciB2PXRoaXMucmV2aXZlPWZ1bmN0aW9uKGUsbil7dmFyIHM9KG49T2JqZWN0LmFzc2lnbih7c3luYzohMH0sbyxuKSkuc3luYyxhPWUmJmUuJHR5cGVzLHU9ITA7aWYoIWEpcmV0dXJuIGU7aWYoITA9PT1hKXJldHVybiBlLiQ7YS4kJiZpc1BsYWluT2JqZWN0KGEuJCkmJihlPWUuJCxhPWEuJCx1PSExKTt2YXIgZj1bXSxwPXt9LGw9ZnVuY3Rpb24gX3Jldml2ZShlLG4sbyxzLGwseSl7aWYodSYmXCIkdHlwZXNcIj09PWUpcmV0dXJuO3ZhciB2PWFbZV07aWYoaShuKXx8aXNQbGFpbk9iamVjdChuKSl7dmFyIGQ9aShuKT9uZXcgQXJyYXkobi5sZW5ndGgpOnt9O2ZvcihyKG4pLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9X3Jldml2ZShlKyhlP1wiLlwiOlwiXCIpK2VzY2FwZUtleVBhdGhDb21wb25lbnQodCksblt0XSxvfHxkLHMsZCx0KTtoYXNDb25zdHJ1Y3Rvck9mKHIsVW5kZWZpbmVkKT9kW3RdPXZvaWQgMDp2b2lkIDAhPT1yJiYoZFt0XT1yKTt9KSxuPWQ7Zi5sZW5ndGg7KXt2YXIgaD10KGZbMF0sNCksZz1oWzBdLGI9aFsxXSxtPWhbMl0sVD1oWzNdLE89Z2V0QnlLZXlQYXRoKGcsYik7aWYoaGFzQ29uc3RydWN0b3JPZihPLFVuZGVmaW5lZCkpbVtUXT12b2lkIDA7ZWxzZXtpZih2b2lkIDA9PT1PKWJyZWFrO21bVF09Tzt9Zi5zcGxpY2UoMCwxKTt9fWlmKCF2KXJldHVybiBuO2lmKFwiI1wiPT09dil7dmFyIHc9Z2V0QnlLZXlQYXRoKG8sbi5zdWJzdHIoMSkpO3JldHVybiB2b2lkIDA9PT13JiZmLnB1c2goW28sbi5zdWJzdHIoMSksbCx5XSksd312YXIgUz1zLnN5bmM7cmV0dXJuIFtdLmNvbmNhdCh2KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgbj1jW3RdO2lmKCFuKXRocm93IG5ldyBFcnJvcihcIlVucmVnaXN0ZXJlZCB0eXBlOiBcIit0KTtyZXR1cm4gbltTJiZuLnJldml2ZT9cInJldml2ZVwiOiFTJiZuLnJldml2ZUFzeW5jP1wicmV2aXZlQXN5bmNcIjpcInJldml2ZVwiXShlLHApfSxuKX0oXCJcIixlLG51bGwsbik7cmV0dXJuIGlzVGhlbmFibGUobD1oYXNDb25zdHJ1Y3Rvck9mKGwsVW5kZWZpbmVkKT92b2lkIDA6bCk/cyYmbi50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBhc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6bDohcyYmbi50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6cz9sOlByb21pc2UucmVzb2x2ZShsKX07dGhpcy5yZXZpdmVTeW5jPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHYoZSxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHQse3N5bmM6ITB9KSl9LHRoaXMucmV2aXZlQXN5bmM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdihlLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sdCx7c3luYzohMX0pKX0sdGhpcy5yZWdpc3Rlcj1mdW5jdGlvbihlLHQpe3JldHVybiB0PXR8fHt9LFtdLmNvbmNhdChlKS5mb3JFYWNoKGZ1bmN0aW9uIFIoZSl7aWYoaShlKSlyZXR1cm4gZS5tYXAoUik7ZSYmcihlKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2lmKFwiI1wiPT09bil0aHJvdyBuZXcgVHlwZUVycm9yKFwiIyBjYW5ub3QgYmUgdXNlZCBhcyBhIHR5cGUgbmFtZSBhcyBpdCBpcyByZXNlcnZlZCBmb3IgY3ljbGljIG9iamVjdHNcIik7aWYoVHlwZXNvbi5KU09OX1RZUEVTLmluY2x1ZGVzKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJQbGFpbiBKU09OIG9iamVjdCB0eXBlcyBhcmUgcmVzZXJ2ZWQgYXMgdHlwZSBuYW1lc1wiKTt2YXIgcj1lW25dLG89ci50ZXN0UGxhaW5PYmplY3RzP3M6YSx1PW8uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT1ufSk7aWYodS5sZW5ndGgmJihvLnNwbGljZShvLmluZGV4T2YodVswXSksMSksZGVsZXRlIGNbbl0sZGVsZXRlIGZbbl0pLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpe3ZhciBwPXI7cj17dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBlJiZlLmNvbnN0cnVjdG9yPT09cH0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBhc3NpZ24oe30sZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIGFzc2lnbihPYmplY3QuY3JlYXRlKHAucHJvdG90eXBlKSxlKX19O31lbHNlIGkocikmJihyPXt0ZXN0OnJbMF0scmVwbGFjZTpyWzFdLHJldml2ZTpyWzJdfSk7dmFyIGw9e3R5cGU6bix0ZXN0OnIudGVzdC5iaW5kKHIpfTtyLnJlcGxhY2UmJihsLnJlcGxhY2U9ci5yZXBsYWNlLmJpbmQocikpLHIucmVwbGFjZUFzeW5jJiYobC5yZXBsYWNlQXN5bmM9ci5yZXBsYWNlQXN5bmMuYmluZChyKSk7dmFyIHk9XCJudW1iZXJcIj09dHlwZW9mIHQuZmFsbGJhY2s/dC5mYWxsYmFjazp0LmZhbGxiYWNrPzA6MS8wO2lmKHIudGVzdFBsYWluT2JqZWN0cz9zLnNwbGljZSh5LDAsbCk6YS5zcGxpY2UoeSwwLGwpLHIucmV2aXZlfHxyLnJldml2ZUFzeW5jKXt2YXIgdj17fTtyLnJldml2ZSYmKHYucmV2aXZlPXIucmV2aXZlLmJpbmQocikpLHIucmV2aXZlQXN5bmMmJih2LnJldml2ZUFzeW5jPXIucmV2aXZlQXN5bmMuYmluZChyKSksY1tuXT12O31mW25dPXI7fX0pO30pLHRoaXN9O31mdW5jdGlvbiBhc3NpZ24oZSx0KXtyZXR1cm4gcih0KS5tYXAoZnVuY3Rpb24obil7ZVtuXT10W25dO30pLGV9ZnVuY3Rpb24gZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKXtyZXR1cm4gZS5yZXBsYWNlKC9+L2csXCJ+MFwiKS5yZXBsYWNlKC9cXC4vZyxcIn4xXCIpfWZ1bmN0aW9uIHVuZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKXtyZXR1cm4gZS5yZXBsYWNlKC9+MS9nLFwiLlwiKS5yZXBsYWNlKC9+MC9nLFwiflwiKX1mdW5jdGlvbiBnZXRCeUtleVBhdGgoZSx0KXtpZihcIlwiPT09dClyZXR1cm4gZTt2YXIgbj10LmluZGV4T2YoXCIuXCIpO2lmKG4+LTEpe3ZhciByPWVbdW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50KHQuc3Vic3RyKDAsbikpXTtyZXR1cm4gdm9pZCAwPT09cj92b2lkIDA6Z2V0QnlLZXlQYXRoKHIsdC5zdWJzdHIobisxKSl9cmV0dXJuIGVbdW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50KHQpXX1mdW5jdGlvbiBVbmRlZmluZWQoKXt9ZnVuY3Rpb24gVHlwZXNvblByb21pc2UoZSl7dGhpcy5wPW5ldyBQcm9taXNlKGUpO31UeXBlc29uUHJvbWlzZS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbihyLGkpe24ucC50aGVuKGZ1bmN0aW9uKHQpe3IoZT9lKHQpOnQpO30sZnVuY3Rpb24oZSl7bi5wLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybiB0P3QoZSk6UHJvbWlzZS5yZWplY3QoZSl9KS50aGVuKHIsaSk7fSk7fSl9LFR5cGVzb25Qcm9taXNlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LFR5cGVzb25Qcm9taXNlLnJlc29sdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbih0KXt0KGUpO30pfSxUeXBlc29uUHJvbWlzZS5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbih0LG4pe24oZSk7fSl9LFtcImFsbFwiLFwicmFjZVwiXS5tYXAoZnVuY3Rpb24oZSl7VHlwZXNvblByb21pc2VbZV09ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBUeXBlc29uUHJvbWlzZShmdW5jdGlvbihuLHIpe1Byb21pc2VbZV0odC5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUucH0pKS50aGVuKG4scik7fSl9O30pLFR5cGVzb24uVW5kZWZpbmVkPVVuZGVmaW5lZCxUeXBlc29uLlByb21pc2U9VHlwZXNvblByb21pc2UsVHlwZXNvbi5pc1RoZW5hYmxlPWlzVGhlbmFibGUsVHlwZXNvbi50b1N0cmluZ1RhZz10b1N0cmluZ1RhZyxUeXBlc29uLmhhc0NvbnN0cnVjdG9yT2Y9aGFzQ29uc3RydWN0b3JPZixUeXBlc29uLmlzT2JqZWN0PWlzT2JqZWN0LFR5cGVzb24uaXNQbGFpbk9iamVjdD1pc1BsYWluT2JqZWN0LFR5cGVzb24uaXNVc2VyT2JqZWN0PWZ1bmN0aW9uIGlzVXNlck9iamVjdChlKXtpZighZXx8XCJPYmplY3RcIiE9PXRvU3RyaW5nVGFnKGUpKXJldHVybiAhMTt2YXIgdD1zKGUpO3JldHVybiAhdHx8aGFzQ29uc3RydWN0b3JPZihlLE9iamVjdCl8fGlzVXNlck9iamVjdCh0KX0sVHlwZXNvbi5lc2NhcGVLZXlQYXRoQ29tcG9uZW50PWVzY2FwZUtleVBhdGhDb21wb25lbnQsVHlwZXNvbi51bmVzY2FwZUtleVBhdGhDb21wb25lbnQ9dW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50LFR5cGVzb24uZ2V0QnlLZXlQYXRoPWdldEJ5S2V5UGF0aCxUeXBlc29uLmdldEpTT05UeXBlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dD9cIm51bGxcIjppKHQpP1wiYXJyYXlcIjp2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KX0sVHlwZXNvbi5KU09OX1RZUEVTPVtcIm51bGxcIixcImJvb2xlYW5cIixcIm51bWJlclwiLFwic3RyaW5nXCIsXCJhcnJheVwiLFwib2JqZWN0XCJdO2Zvcih2YXIgZj17dXNlck9iamVjdDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUsdCl7cmV0dXJuIFR5cGVzb24uaXNVc2VyT2JqZWN0KGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIGV9fX0scD1bW3tzcGFyc2VBcnJheXM6e3Rlc3RQbGFpbk9iamVjdHM6ITAsdGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSx0KXtyZXR1cm4gdC5pdGVyYXRlVW5zZXROdW1lcmljPSEwLGV9fX0se3NwYXJzZVVuZGVmaW5lZDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUsdCl7cmV0dXJuIHZvaWQgMD09PWUmJiExPT09dC5vd25LZXlzfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIG51bGx9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7fX19XSx7dW5kZWY6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlLHQpe3JldHVybiB2b2lkIDA9PT1lJiYodC5vd25LZXlzfHwhKFwib3duS2V5c1wiaW4gdCkpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIG51bGx9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIG5ldyBUeXBlc29uLlVuZGVmaW5lZH19fV0sbD17U3RyaW5nT2JqZWN0Ont0ZXN0OmZ1bmN0aW9uIHRlc3QodCl7cmV0dXJuIFwiU3RyaW5nXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKHQpJiZcIm9iamVjdFwiPT09KHZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBTdHJpbmcoZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIG5ldyBTdHJpbmcoZSl9fSxCb29sZWFuT2JqZWN0Ont0ZXN0OmZ1bmN0aW9uIHRlc3QodCl7cmV0dXJuIFwiQm9vbGVhblwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyh0KSYmXCJvYmplY3RcIj09PSh2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gQm9vbGVhbihlKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IEJvb2xlYW4oZSl9fSxOdW1iZXJPYmplY3Q6e3Rlc3Q6ZnVuY3Rpb24gdGVzdCh0KXtyZXR1cm4gXCJOdW1iZXJcIj09PVR5cGVzb24udG9TdHJpbmdUYWcodCkmJlwib2JqZWN0XCI9PT0odm9pZCAwPT09dD9cInVuZGVmaW5lZFwiOmUodCkpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIE51bWJlcihlKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IE51bWJlcihlKX19fSx5PVt7bmFuOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwibnVtYmVyXCI9PXR5cGVvZiBlJiZpc05hTihlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBcIk5hTlwifSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBOYU59fX0se2luZmluaXR5Ont0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIGU9PT0xLzB9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gXCJJbmZpbml0eVwifSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiAxLzB9fX0se25lZ2F0aXZlSW5maW5pdHk6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gZT09PS0xLzB9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gXCItSW5maW5pdHlcIn0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gLTEvMH19fV0sdj17ZGF0ZTp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIkRhdGVcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXt2YXIgdD1lLmdldFRpbWUoKTtyZXR1cm4gaXNOYU4odCk/XCJOYU5cIjp0fSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBcIk5hTlwiPT09ZT9uZXcgRGF0ZShOYU4pOm5ldyBEYXRlKGUpfX19LGQ9e3JlZ2V4cDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIlJlZ0V4cFwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiB7c291cmNlOmUuc291cmNlLGZsYWdzOihlLmdsb2JhbD9cImdcIjpcIlwiKSsoZS5pZ25vcmVDYXNlP1wiaVwiOlwiXCIpKyhlLm11bHRpbGluZT9cIm1cIjpcIlwiKSsoZS5zdGlja3k/XCJ5XCI6XCJcIikrKGUudW5pY29kZT9cInVcIjpcIlwiKX19LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7dmFyIHQ9ZS5zb3VyY2Usbj1lLmZsYWdzO3JldHVybiBuZXcgUmVnRXhwKHQsbil9fX0saD17bWFwOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwiTWFwXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5lbnRyaWVzKCkpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgTWFwKGUpfX19LGc9e3NldDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIlNldFwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBBcnJheS5mcm9tKGUudmFsdWVzKCkpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgU2V0KGUpfX19LGI9XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvXCIsbT1uZXcgVWludDhBcnJheSgyNTYpLFQ9MDtUPGIubGVuZ3RoO1QrKyltW2IuY2hhckNvZGVBdChUKV09VDt2YXIgTz1mdW5jdGlvbiBlbmNvZGUoZSx0LG4pe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLHQsbiksaT1yLmxlbmd0aCxvPVwiXCIscz0wO3M8aTtzKz0zKW8rPWJbcltzXT4+Ml0sbys9YlsoMyZyW3NdKTw8NHxyW3MrMV0+PjRdLG8rPWJbKDE1JnJbcysxXSk8PDJ8cltzKzJdPj42XSxvKz1iWzYzJnJbcysyXV07cmV0dXJuIGklMz09Mj9vPW8uc3Vic3RyaW5nKDAsby5sZW5ndGgtMSkrXCI9XCI6aSUzPT0xJiYobz1vLnN1YnN0cmluZygwLG8ubGVuZ3RoLTIpK1wiPT1cIiksb30sdz1mdW5jdGlvbiBkZWNvZGUoZSl7dmFyIHQ9ZS5sZW5ndGgsbj0uNzUqZS5sZW5ndGgscj0wLGk9dm9pZCAwLG89dm9pZCAwLHM9dm9pZCAwLGE9dm9pZCAwO1wiPVwiPT09ZVtlLmxlbmd0aC0xXSYmKG4tLSxcIj1cIj09PWVbZS5sZW5ndGgtMl0mJm4tLSk7Zm9yKHZhciBjPW5ldyBBcnJheUJ1ZmZlcihuKSx1PW5ldyBVaW50OEFycmF5KGMpLGY9MDtmPHQ7Zis9NClpPW1bZS5jaGFyQ29kZUF0KGYpXSxvPW1bZS5jaGFyQ29kZUF0KGYrMSldLHM9bVtlLmNoYXJDb2RlQXQoZisyKV0sYT1tW2UuY2hhckNvZGVBdChmKzMpXSx1W3IrK109aTw8MnxvPj40LHVbcisrXT0oMTUmbyk8PDR8cz4+Mix1W3IrK109KDMmcyk8PDZ8NjMmYTtyZXR1cm4gY30sUz17YXJyYXlidWZmZXI6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJBcnJheUJ1ZmZlclwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUsdCl7dC5idWZmZXJzfHwodC5idWZmZXJzPVtdKTt2YXIgbj10LmJ1ZmZlcnMuaW5kZXhPZihlKTtyZXR1cm4gbj4tMT97aW5kZXg6bn06KHQuYnVmZmVycy5wdXNoKGUpLE8oZSkpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKHQsbil7aWYobi5idWZmZXJzfHwobi5idWZmZXJzPVtdKSxcIm9iamVjdFwiPT09KHZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpKSlyZXR1cm4gbi5idWZmZXJzW3QuaW5kZXhdO3ZhciByPXcodCk7cmV0dXJuIG4uYnVmZmVycy5wdXNoKHIpLHJ9fX0sUD1cInVuZGVmaW5lZFwiPT10eXBlb2Ygc2VsZj9jb21tb25qc0dsb2JhbDpzZWxmLGo9e307W1wiSW50OEFycmF5XCIsXCJVaW50OEFycmF5XCIsXCJVaW50OENsYW1wZWRBcnJheVwiLFwiSW50MTZBcnJheVwiLFwiVWludDE2QXJyYXlcIixcIkludDMyQXJyYXlcIixcIlVpbnQzMkFycmF5XCIsXCJGbG9hdDMyQXJyYXlcIixcIkZsb2F0NjRBcnJheVwiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PWUsbj1QW3RdO24mJihqW2UudG9Mb3dlckNhc2UoKV09e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gVHlwZXNvbi50b1N0cmluZ1RhZyhlKT09PXR9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlLHQpe3ZhciBuPWUuYnVmZmVyLHI9ZS5ieXRlT2Zmc2V0LGk9ZS5sZW5ndGg7dC5idWZmZXJzfHwodC5idWZmZXJzPVtdKTt2YXIgbz10LmJ1ZmZlcnMuaW5kZXhPZihuKTtyZXR1cm4gbz4tMT97aW5kZXg6byxieXRlT2Zmc2V0OnIsbGVuZ3RoOml9Oih0LmJ1ZmZlcnMucHVzaChuKSx7ZW5jb2RlZDpPKG4pLGJ5dGVPZmZzZXQ6cixsZW5ndGg6aX0pfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUsdCl7dC5idWZmZXJzfHwodC5idWZmZXJzPVtdKTt2YXIgcj1lLmJ5dGVPZmZzZXQsaT1lLmxlbmd0aCxvPWUuZW5jb2RlZCxzPWUuaW5kZXgsYT12b2lkIDA7cmV0dXJuIFwiaW5kZXhcImluIGU/YT10LmJ1ZmZlcnNbc106KGE9dyhvKSx0LmJ1ZmZlcnMucHVzaChhKSksbmV3IG4oYSxyLGkpfX0pO30pO3ZhciBBPXtkYXRhdmlldzp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIkRhdGFWaWV3XCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSx0KXt2YXIgbj1lLmJ1ZmZlcixyPWUuYnl0ZU9mZnNldCxpPWUuYnl0ZUxlbmd0aDt0LmJ1ZmZlcnN8fCh0LmJ1ZmZlcnM9W10pO3ZhciBvPXQuYnVmZmVycy5pbmRleE9mKG4pO3JldHVybiBvPi0xP3tpbmRleDpvLGJ5dGVPZmZzZXQ6cixieXRlTGVuZ3RoOml9Oih0LmJ1ZmZlcnMucHVzaChuKSx7ZW5jb2RlZDpPKG4pLGJ5dGVPZmZzZXQ6cixieXRlTGVuZ3RoOml9KX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlLHQpe3QuYnVmZmVyc3x8KHQuYnVmZmVycz1bXSk7dmFyIG49ZS5ieXRlT2Zmc2V0LHI9ZS5ieXRlTGVuZ3RoLGk9ZS5lbmNvZGVkLG89ZS5pbmRleCxzPXZvaWQgMDtyZXR1cm4gXCJpbmRleFwiaW4gZT9zPXQuYnVmZmVyc1tvXToocz13KGkpLHQuYnVmZmVycy5wdXNoKHMpKSxuZXcgRGF0YVZpZXcocyxuLHIpfX19LEM9e0ludGxDb2xsYXRvcjp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBUeXBlc29uLmhhc0NvbnN0cnVjdG9yT2YoZSxJbnRsLkNvbGxhdG9yKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBlLnJlc29sdmVkT3B0aW9ucygpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgSW50bC5Db2xsYXRvcihlLmxvY2FsZSxlKX19LEludGxEYXRlVGltZUZvcm1hdDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBUeXBlc29uLmhhc0NvbnN0cnVjdG9yT2YoZSxJbnRsLkRhdGVUaW1lRm9ybWF0KX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBlLnJlc29sdmVkT3B0aW9ucygpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChlLmxvY2FsZSxlKX19LEludGxOdW1iZXJGb3JtYXQ6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gVHlwZXNvbi5oYXNDb25zdHJ1Y3Rvck9mKGUsSW50bC5OdW1iZXJGb3JtYXQpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIGUucmVzb2x2ZWRPcHRpb25zKCl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChlLmxvY2FsZSxlKX19fTtmdW5jdGlvbiBzdHJpbmcyYXJyYXlidWZmZXIoZSl7Zm9yKHZhciB0PW5ldyBVaW50MTZBcnJheShlLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7bisrKXRbbl09ZS5jaGFyQ29kZUF0KG4pO3JldHVybiB0LmJ1ZmZlcn12YXIgTj17ZmlsZTp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIkZpbGVcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXt2YXIgdD1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYodC5vcGVuKFwiR0VUXCIsVVJMLmNyZWF0ZU9iamVjdFVSTChlKSwhMSksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFRleHRFbmNvZGVyJiZ0Lm92ZXJyaWRlTWltZVR5cGUoXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi0xNmxlXCIpLDIwMCE9PXQuc3RhdHVzJiYwIT09dC5zdGF0dXMpdGhyb3cgbmV3IEVycm9yKFwiQmFkIEJsb2IgYWNjZXNzOiBcIit0LnN0YXR1cyk7cmV0dXJuIHQuc2VuZCgpLHt0eXBlOmUudHlwZSxzdHJpbmdDb250ZW50czp0LnJlc3BvbnNlVGV4dCxuYW1lOmUubmFtZSxsYXN0TW9kaWZpZWQ6ZS5sYXN0TW9kaWZpZWR9fSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3ZhciB0PWUubmFtZSxuPWUudHlwZSxyPWUuc3RyaW5nQ29udGVudHMsaT1lLmxhc3RNb2RpZmllZCxvPXN0cmluZzJhcnJheWJ1ZmZlcihyKTtyZXR1cm4gbmV3IEZpbGUoW29dLHQse3R5cGU6bixsYXN0TW9kaWZpZWQ6aX0pfSxyZXBsYWNlQXN5bmM6ZnVuY3Rpb24gcmVwbGFjZUFzeW5jKGUpe3JldHVybiBuZXcgVHlwZXNvbi5Qcm9taXNlKGZ1bmN0aW9uKHQsbil7aWYoZS5pc0Nsb3NlZCluKG5ldyBFcnJvcihcIlRoZSBGaWxlIGlzIGNsb3NlZFwiKSk7ZWxzZXt2YXIgcj1uZXcgRmlsZVJlYWRlcjtyLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsZnVuY3Rpb24oKXt0KHt0eXBlOmUudHlwZSxzdHJpbmdDb250ZW50czpyLnJlc3VsdCxuYW1lOmUubmFtZSxsYXN0TW9kaWZpZWQ6ZS5sYXN0TW9kaWZpZWR9KTt9KSxyLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLGZ1bmN0aW9uKCl7bihyLmVycm9yKTt9KSxyLnJlYWRBc1RleHQoZSxcIlVURi0xNlwiKTt9fSl9fX07cmV0dXJuIFtmLHAsbCx5LHYsZCx7aW1hZ2VkYXRhOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwiSW1hZ2VEYXRhXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIHthcnJheTpBcnJheS5mcm9tKGUuZGF0YSksd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9fSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheShlLmFycmF5KSxlLndpZHRoLGUuaGVpZ2h0KX19fSx7aW1hZ2ViaXRtYXA6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJJbWFnZUJpdG1hcFwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKXx8ZSYmZS5kYXRhc2V0JiZcIkltYWdlQml0bWFwXCI9PT1lLmRhdGFzZXQudG9TdHJpbmdUYWd9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO3JldHVybiB0LmdldENvbnRleHQoXCIyZFwiKS5kcmF3SW1hZ2UoZSwwLDApLHQudG9EYXRhVVJMKCl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKSxuPXQuZ2V0Q29udGV4dChcIjJkXCIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltZ1wiKTtyZXR1cm4gci5vbmxvYWQ9ZnVuY3Rpb24oKXtuLmRyYXdJbWFnZShyLDAsMCk7fSxyLnNyYz1lLHR9LHJldml2ZUFzeW5jOmZ1bmN0aW9uIHJldml2ZUFzeW5jKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIiksbj10LmdldENvbnRleHQoXCIyZFwiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7cmV0dXJuIHIub25sb2FkPWZ1bmN0aW9uKCl7bi5kcmF3SW1hZ2UociwwLDApO30sci5zcmM9ZSxjcmVhdGVJbWFnZUJpdG1hcCh0KX19fSxOLHtmaWxlOk4uZmlsZSxmaWxlbGlzdDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIkZpbGVMaXN0XCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoO24rKyl0W25dPWUuaXRlbShuKTtyZXR1cm4gdH0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtmdW5jdGlvbiBGaWxlTGlzdCgpe3RoaXMuX2ZpbGVzPWFyZ3VtZW50c1swXSx0aGlzLmxlbmd0aD10aGlzLl9maWxlcy5sZW5ndGg7fXJldHVybiBGaWxlTGlzdC5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fZmlsZXNbZV19LEZpbGVMaXN0LnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddPVwiRmlsZUxpc3RcIixuZXcgRmlsZUxpc3QoZSl9fX0se2Jsb2I6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJCbG9iXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7dmFyIHQ9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKHQub3BlbihcIkdFVFwiLFVSTC5jcmVhdGVPYmplY3RVUkwoZSksITEpLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RW5jb2RlciYmdC5vdmVycmlkZU1pbWVUeXBlKFwidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtMTZsZVwiKSwyMDAhPT10LnN0YXR1cyYmMCE9PXQuc3RhdHVzKXRocm93IG5ldyBFcnJvcihcIkJhZCBCbG9iIGFjY2VzczogXCIrdC5zdGF0dXMpO3JldHVybiB0LnNlbmQoKSx7dHlwZTplLnR5cGUsc3RyaW5nQ29udGVudHM6dC5yZXNwb25zZVRleHR9fSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3ZhciB0PWUudHlwZSxuPWUuc3RyaW5nQ29udGVudHM7cmV0dXJuIG5ldyBCbG9iKFtzdHJpbmcyYXJyYXlidWZmZXIobildLHt0eXBlOnR9KX0scmVwbGFjZUFzeW5jOmZ1bmN0aW9uIHJlcGxhY2VBc3luYyhlKXtyZXR1cm4gbmV3IFR5cGVzb24uUHJvbWlzZShmdW5jdGlvbih0LG4pe2lmKGUuaXNDbG9zZWQpbihuZXcgRXJyb3IoXCJUaGUgQmxvYiBpcyBjbG9zZWRcIikpO2Vsc2V7dmFyIHI9bmV3IEZpbGVSZWFkZXI7ci5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLGZ1bmN0aW9uKCl7dCh7dHlwZTplLnR5cGUsc3RyaW5nQ29udGVudHM6ci5yZXN1bHR9KTt9KSxyLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLGZ1bmN0aW9uKCl7bihyLmVycm9yKTt9KSxyLnJlYWRBc1RleHQoZSxcIlVURi0xNlwiKTt9fSl9fX1dLmNvbmNhdChcImZ1bmN0aW9uXCI9PXR5cGVvZiBNYXA/aDpbXSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTZXQ/ZzpbXSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBBcnJheUJ1ZmZlcj9TOltdLFwiZnVuY3Rpb25cIj09dHlwZW9mIFVpbnQ4QXJyYXk/ajpbXSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBEYXRhVmlldz9BOltdLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBJbnRsP0M6W10pfSk7XG5cbn0pO1xuXG4vKlxuICogYmFzZTY0LWFycmF5YnVmZmVyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmlrbGFzdmgvYmFzZTY0LWFycmF5YnVmZmVyXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3IEJyZXR0IFphbWlyLCAyMDEyIE5pa2xhcyB2b24gSGVydHplblxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICovXG52YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7IC8vIFVzZSBhIGxvb2t1cCB0YWJsZSB0byBmaW5kIHRoZSBpbmRleC5cblxudmFyIGxvb2t1cCA9IG5ldyBVaW50OEFycmF5KDI1Nik7XG5cbmZvciAodmFyIGkgPSAwOyBpIDwgY2hhcnMubGVuZ3RoOyBpKyspIHtcbiAgbG9va3VwW2NoYXJzLmNoYXJDb2RlQXQoaSldID0gaTtcbn1cblxudmFyIGVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShhcnJheWJ1ZmZlciwgYnl0ZU9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmIChsZW5ndGggPT09IG51bGwgfHwgbGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSBhcnJheWJ1ZmZlci5ieXRlTGVuZ3RoOyAvLyBOZWVkZWQgZm9yIFNhZmFyaVxuICB9XG5cbiAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIsIGJ5dGVPZmZzZXQgfHwgMCwgLy8gRGVmYXVsdCBuZWVkZWQgZm9yIFNhZmFyaVxuICBsZW5ndGgpO1xuICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoO1xuICB2YXIgYmFzZTY0ID0gJyc7XG5cbiAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGxlbjsgX2kgKz0gMykge1xuICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tfaV0gPj4gMl07XG4gICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tfaV0gJiAzKSA8PCA0IHwgYnl0ZXNbX2kgKyAxXSA+PiA0XTtcbiAgICBiYXNlNjQgKz0gY2hhcnNbKGJ5dGVzW19pICsgMV0gJiAxNSkgPDwgMiB8IGJ5dGVzW19pICsgMl0gPj4gNl07XG4gICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW19pICsgMl0gJiA2M107XG4gIH1cblxuICBpZiAobGVuICUgMyA9PT0gMikge1xuICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nO1xuICB9IGVsc2UgaWYgKGxlbiAlIDMgPT09IDEpIHtcbiAgICBiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKDAsIGJhc2U2NC5sZW5ndGggLSAyKSArICc9PSc7XG4gIH1cblxuICByZXR1cm4gYmFzZTY0O1xufTtcbnZhciBkZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoYmFzZTY0KSB7XG4gIHZhciBsZW4gPSBiYXNlNjQubGVuZ3RoO1xuICB2YXIgYnVmZmVyTGVuZ3RoID0gYmFzZTY0Lmxlbmd0aCAqIDAuNzU7XG4gIHZhciBwID0gMDtcbiAgdmFyIGVuY29kZWQxLCBlbmNvZGVkMiwgZW5jb2RlZDMsIGVuY29kZWQ0O1xuXG4gIGlmIChiYXNlNjRbYmFzZTY0Lmxlbmd0aCAtIDFdID09PSAnPScpIHtcbiAgICBidWZmZXJMZW5ndGgtLTtcblxuICAgIGlmIChiYXNlNjRbYmFzZTY0Lmxlbmd0aCAtIDJdID09PSAnPScpIHtcbiAgICAgIGJ1ZmZlckxlbmd0aC0tO1xuICAgIH1cbiAgfVxuXG4gIHZhciBhcnJheWJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihidWZmZXJMZW5ndGgpLFxuICAgICAgYnl0ZXMgPSBuZXcgVWludDhBcnJheShhcnJheWJ1ZmZlcik7XG5cbiAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgbGVuOyBfaTIgKz0gNCkge1xuICAgIGVuY29kZWQxID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KF9pMildO1xuICAgIGVuY29kZWQyID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KF9pMiArIDEpXTtcbiAgICBlbmNvZGVkMyA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChfaTIgKyAyKV07XG4gICAgZW5jb2RlZDQgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoX2kyICsgMyldO1xuICAgIGJ5dGVzW3ArK10gPSBlbmNvZGVkMSA8PCAyIHwgZW5jb2RlZDIgPj4gNDtcbiAgICBieXRlc1twKytdID0gKGVuY29kZWQyICYgMTUpIDw8IDQgfCBlbmNvZGVkMyA+PiAyO1xuICAgIGJ5dGVzW3ArK10gPSAoZW5jb2RlZDMgJiAzKSA8PCA2IHwgZW5jb2RlZDQgJiA2MztcbiAgfVxuXG4gIHJldHVybiBhcnJheWJ1ZmZlcjtcbn07XG5cbi8qIGVzbGludC1lbnYgYnJvd3Nlciwgbm9kZSAqL1xudmFyIF9nbG9iYWwgPSB0eXBlb2Ygc2VsZiA9PT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiBzZWxmO1xudmFyIGV4cG9ydE9iaiA9IHt9O1xuW1xuICAgICdJbnQ4QXJyYXknLFxuICAgICdVaW50OEFycmF5JyxcbiAgICAnVWludDhDbGFtcGVkQXJyYXknLFxuICAgICdJbnQxNkFycmF5JyxcbiAgICAnVWludDE2QXJyYXknLFxuICAgICdJbnQzMkFycmF5JyxcbiAgICAnVWludDMyQXJyYXknLFxuICAgICdGbG9hdDMyQXJyYXknLFxuICAgICdGbG9hdDY0QXJyYXknXG5dLmZvckVhY2goZnVuY3Rpb24gKHR5cGVOYW1lKSB7XG4gICAgdmFyIGFyclR5cGUgPSB0eXBlTmFtZTtcbiAgICB2YXIgVHlwZWRBcnJheSA9IF9nbG9iYWxbYXJyVHlwZV07XG4gICAgaWYgKFR5cGVkQXJyYXkpIHtcbiAgICAgICAgZXhwb3J0T2JqW3R5cGVOYW1lLnRvTG93ZXJDYXNlKCkgKyBcIjJcIl0gPSB7XG4gICAgICAgICAgICB0ZXN0OiBmdW5jdGlvbiAoeCkgeyByZXR1cm4gdHlwZXNvbi50b1N0cmluZ1RhZyh4KSA9PT0gYXJyVHlwZTsgfSxcbiAgICAgICAgICAgIHJlcGxhY2U6IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgIHZhciBidWZmZXIgPSBfYS5idWZmZXIsIGJ5dGVPZmZzZXQgPSBfYS5ieXRlT2Zmc2V0LCBsZW5ndGggPSBfYS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmZmVyOiBidWZmZXIsXG4gICAgICAgICAgICAgICAgICAgIGJ5dGVPZmZzZXQ6IGJ5dGVPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aDogbGVuZ3RoXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXZpdmU6IGZ1bmN0aW9uIChiNjRPYmopIHtcbiAgICAgICAgICAgICAgICB2YXIgYnVmZmVyID0gYjY0T2JqLmJ1ZmZlciwgYnl0ZU9mZnNldCA9IGI2NE9iai5ieXRlT2Zmc2V0LCBsZW5ndGggPSBiNjRPYmoubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVHlwZWRBcnJheShidWZmZXIsIGJ5dGVPZmZzZXQsIGxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufSk7XG5cbnZhciBhcnJheUJ1ZmZlciA9IHtcbiAgICBhcnJheWJ1ZmZlcjoge1xuICAgICAgICB0ZXN0OiBmdW5jdGlvbiAoeCkgeyByZXR1cm4gdHlwZXNvbi50b1N0cmluZ1RhZyh4KSA9PT0gJ0FycmF5QnVmZmVyJzsgfSxcbiAgICAgICAgcmVwbGFjZTogZnVuY3Rpb24gKGIpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmNvZGUoYiwgMCwgYi5ieXRlTGVuZ3RoKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmV2aXZlOiBmdW5jdGlvbiAoYjY0KSB7XG4gICAgICAgICAgICB2YXIgYnVmZmVyID0gZGVjb2RlKGI2NCk7XG4gICAgICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgICB9XG4gICAgfVxufTtcbi8vIFNlZSBhbHNvIHR5cGVkLWFycmF5cyFcblxudmFyIFRTT04gPSBuZXcgdHlwZXNvbigpLnJlZ2lzdGVyKHN0cnVjdHVyZWRDbG9uaW5nKTtcbnZhciByZWFkQmxvYnNTeW5jaHJvbm91c2x5ID0gJ0ZpbGVSZWFkZXJTeW5jJyBpbiBzZWxmOyAvLyB0cnVlIGluIHdvcmtlcnMgb25seS5cbnZhciBibG9ic1RvQXdhaXQgPSBbXTtcbnZhciBibG9ic1RvQXdhaXRQb3MgPSAwO1xuLy8gTmVlZCB0byBwYXRjaCBlbmNhcHN1bGF0ZUFzeW5jIGFzIGl0IGRvZXMgbm90IHdvcmsgYXMgb2YgdHlwZXNvbiA1LjguMlxuLy8gQWxzbywgY3VycmVudCB2ZXJzaW9uIG9mIHR5cGVzcG4tcmVnaXN0cnktMS4wLjAtYWxwaGEuMjEgZG9lcyBub3Rcbi8vIGVuY2Fwc3VsYXRlL3Jldml2ZSBCbG9icyBjb3JyZWN0bHkgKGZhaWxzIG9uZSBvZiB0aGUgdW5pdCB0ZXN0cyBpblxuLy8gdGhpcyBsaWJyYXJ5ICh0ZXN0ICdleHBvcnQtZm9ybWF0JykpXG5UU09OLnJlZ2lzdGVyKFtcbiAgICBhcnJheUJ1ZmZlcixcbiAgICBleHBvcnRPYmosIHtcbiAgICAgICAgYmxvYjI6IHtcbiAgICAgICAgICAgIHRlc3Q6IGZ1bmN0aW9uICh4KSB7IHJldHVybiB0eXBlc29uLnRvU3RyaW5nVGFnKHgpID09PSAnQmxvYic7IH0sXG4gICAgICAgICAgICByZXBsYWNlOiBmdW5jdGlvbiAoYikge1xuICAgICAgICAgICAgICAgIGlmIChiLmlzQ2xvc2VkKSB7IC8vIE9uIE1ETiwgYnV0IG5vdCBpbiBodHRwczovL3czYy5naXRodWIuaW8vRmlsZUFQSS8jZGZuLUJsb2JcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgQmxvYiBpcyBjbG9zZWQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJlYWRCbG9ic1N5bmNocm9ub3VzbHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSByZWFkQmxvYlN5bmMoYiwgJ2JpbmFyeScpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgYmFzZTY0ID0gZW5jb2RlKGRhdGEsIDAsIGRhdGEuYnl0ZUxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBiLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBiYXNlNjRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJsb2JzVG9Bd2FpdC5wdXNoKGIpOyAvLyBUaGlzIHdpbGwgYWxzbyBtYWtlIFRTT04ubXVzdEZpbmFsaXplKCkgcmV0dXJuIHRydWUuXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBiLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IHN0YXJ0OiBibG9ic1RvQXdhaXRQb3MsIGVuZDogYmxvYnNUb0F3YWl0UG9zICsgYi5zaXplIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJiLnNpemU6IFwiICsgYi5zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgYmxvYnNUb0F3YWl0UG9zICs9IGIuc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmluYWxpemU6IGZ1bmN0aW9uIChiLCBiYSkge1xuICAgICAgICAgICAgICAgIGIuZGF0YSA9IGVuY29kZShiYSwgMCwgYmEuYnl0ZUxlbmd0aCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmV2aXZlOiBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IF9hLnR5cGUsIGRhdGEgPSBfYS5kYXRhO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQmxvYihbZGVjb2RlKGRhdGEpXSwgeyB0eXBlOiB0eXBlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXSk7XG5UU09OLm11c3RGaW5hbGl6ZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGJsb2JzVG9Bd2FpdC5sZW5ndGggPiAwOyB9O1xuVFNPTi5maW5hbGl6ZSA9IGZ1bmN0aW9uIChpdGVtcykgeyByZXR1cm4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgYWxsQ2h1bmtzLCBfaSwgaXRlbXNfMSwgaXRlbSwgdHlwZXMsIGFycmF5VHlwZSwga2V5UGF0aCwgdHlwZU5hbWUsIHR5cGVTcGVjLCBiO1xuICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgY2FzZSAwOiByZXR1cm4gWzQgLyp5aWVsZCovLCByZWFkQmxvYkFzeW5jKG5ldyBCbG9iKGJsb2JzVG9Bd2FpdCksICdiaW5hcnknKV07XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgYWxsQ2h1bmtzID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtcykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKF9pID0gMCwgaXRlbXNfMSA9IGl0ZW1zOyBfaSA8IGl0ZW1zXzEubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtID0gaXRlbXNfMVtfaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBNYW51YWxseSBnbyB0aHJvdWdoIGFsbCBcImJsb2JcIiB0eXBlcyBpbiB0aGUgcmVzdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgbG9va3VwIHRoZSBkYXRhIHNsaWNlIHRoZXkgcG9pbnQgYXQuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS4kdHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlcyA9IGl0ZW0uJHR5cGVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5VHlwZSA9IHR5cGVzLiQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFycmF5VHlwZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXMgPSB0eXBlcy4kO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoa2V5UGF0aCBpbiB0eXBlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlTmFtZSA9IHR5cGVzW2tleVBhdGhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlU3BlYyA9IFRTT04udHlwZXNbdHlwZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZVNwZWMgJiYgdHlwZVNwZWMuZmluYWxpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIgPSBEZXhpZS5nZXRCeUtleVBhdGgoaXRlbSwgYXJyYXlUeXBlID8gXCIkLlwiICsga2V5UGF0aCA6IGtleVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZVNwZWMuZmluYWxpemUoYiwgYWxsQ2h1bmtzLnNsaWNlKGIuc3RhcnQsIGIuZW5kKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gRnJlZSB1cCBtZW1vcnlcbiAgICAgICAgICAgICAgICBibG9ic1RvQXdhaXQgPSBbXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgIH1cbiAgICB9KTtcbn0pOyB9O1xuXG52YXIgREVGQVVMVF9ST1dTX1BFUl9DSFVOSyA9IDIwMDA7XG5mdW5jdGlvbiBleHBvcnREQihkYiwgb3B0aW9ucykge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZnVuY3Rpb24gZXhwb3J0QWxsKCkge1xuICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciB0YWJsZXNSb3dDb3VudHMsIGVtcHR5RXhwb3J0SnNvbiwgcG9zRW5kRGF0YUFycmF5LCBmaXJzdEpzb25TbGljZSwgZmlsdGVyLCBfbG9vcF8xLCBfaSwgdGFibGVzXzEsIHRhYmxlTmFtZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIFs0IC8qeWllbGQqLywgUHJvbWlzZS5hbGwoZGIudGFibGVzLm1hcChmdW5jdGlvbiAodGFibGUpIHsgcmV0dXJuIHRhYmxlLmNvdW50KCk7IH0pKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVzUm93Q291bnRzID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlc1Jvd0NvdW50cy5mb3JFYWNoKGZ1bmN0aW9uIChyb3dDb3VudCwgaSkgeyByZXR1cm4gdGFibGVzW2ldLnJvd0NvdW50ID0gcm93Q291bnQ7IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLnRvdGFsUm93cyA9IHRhYmxlc1Jvd0NvdW50cy5yZWR1Y2UoZnVuY3Rpb24gKHAsIGMpIHsgcmV0dXJuIHAgKyBjOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbXB0eUV4cG9ydEpzb24gPSBKU09OLnN0cmluZ2lmeShlbXB0eUV4cG9ydCwgdW5kZWZpbmVkLCBwcmV0dHlKc29uID8gMiA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zRW5kRGF0YUFycmF5ID0gZW1wdHlFeHBvcnRKc29uLmxhc3RJbmRleE9mKCddJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RKc29uU2xpY2UgPSBlbXB0eUV4cG9ydEpzb24uc3Vic3RyaW5nKDAsIHBvc0VuZERhdGFBcnJheSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2goZmlyc3RKc29uU2xpY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA9IG9wdGlvbnMuZmlsdGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9sb29wXzEgPSBmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0YWJsZSwgcHJpbUtleSwgaW5ib3VuZCwgTElNSVQsIGVtcHR5VGFibGVFeHBvcnQsIGVtcHR5VGFibGVFeHBvcnRKc29uLCBwb3NFbmRSb3dzQXJyYXksIGxhc3RLZXksIGxhc3ROdW1Sb3dzLCBtYXlIYXZlTW9yZVJvd3MsIF9sb29wXzIsIHN0YXRlXzE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlID0gZGIudGFibGUodGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbUtleSA9IHRhYmxlLnNjaGVtYS5wcmltS2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmJvdW5kID0gISFwcmltS2V5LmtleVBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJTUlUID0gb3B0aW9ucy5udW1Sb3dzUGVyQ2h1bmsgfHwgREVGQVVMVF9ST1dTX1BFUl9DSFVOSztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlUYWJsZUV4cG9ydCA9IGluYm91bmQgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmJvdW5kOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93czogW11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlTmFtZTogdGFibGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYm91bmQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93czogW11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlUYWJsZUV4cG9ydEpzb24gPSBKU09OLnN0cmluZ2lmeShlbXB0eVRhYmxlRXhwb3J0LCB1bmRlZmluZWQsIHByZXR0eUpzb24gPyAyIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXR0eUpzb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY3JlYXNlIGluZGVudGF0aW9uIGFjY29yZGluZyB0byB0aGlzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAuLi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgZGF0YTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIC4uLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEyMzQ1NjwtLS0tIGhlcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBdIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbXB0eVRhYmxlRXhwb3J0SnNvbiA9IGVtcHR5VGFibGVFeHBvcnRKc29uLnNwbGl0KCdcXG4nKS5qb2luKCdcXG4gICAgJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zRW5kUm93c0FycmF5ID0gZW1wdHlUYWJsZUV4cG9ydEpzb24ubGFzdEluZGV4T2YoJ10nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2goZW1wdHlUYWJsZUV4cG9ydEpzb24uc3Vic3RyaW5nKDAsIHBvc0VuZFJvd3NBcnJheSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0S2V5ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE51bVJvd3MgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXlIYXZlTW9yZVJvd3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbG9vcF8yID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNodW5rZWRDb2xsZWN0aW9uLCB2YWx1ZXMsIGZpbHRlcmVkVmFsdWVzLCB0c29uVmFsdWVzLCBqc29uLCBrZXlzLCBrZXl2YWxzLCB0c29uVHVwbGVzLCBqc29uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBLZWVwIG9uZ29pbmcgdHJhbnNhY3Rpb24gcHJpdmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rZWRDb2xsZWN0aW9uID0gbGFzdEtleSA9PSBudWxsID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS5saW1pdChMSU1JVCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlLndoZXJlKCc6aWQnKS5hYm92ZShsYXN0S2V5KS5saW1pdChMSU1JVCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBjaHVua2VkQ29sbGVjdGlvbi50b0FycmF5KCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgXCJicmVha1wiXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0S2V5ICE9IG51bGwgJiYgbGFzdE51bVJvd3MgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90IGluaXRpYWwgY2h1bmsuIE11c3QgYWRkIGEgY29tbWE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2goXCIsXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV0dHlKc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKFwiXFxuICAgICAgXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heUhhdmVNb3JlUm93cyA9IHZhbHVlcy5sZW5ndGggPT09IExJTUlUO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbmJvdW5kKSByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkVmFsdWVzID0gZmlsdGVyID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gZmlsdGVyKHRhYmxlTmFtZSwgdmFsdWUpOyB9KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHNvblZhbHVlcyA9IGZpbHRlcmVkVmFsdWVzLm1hcChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIFRTT04uZW5jYXBzdWxhdGUodmFsdWUpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghVFNPTi5tdXN0RmluYWxpemUoKSkgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBEZXhpZS53YWl0Rm9yKFRTT04uZmluYWxpemUodHNvblZhbHVlcykpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5zdHJpbmdpZnkodHNvblZhbHVlcywgdW5kZWZpbmVkLCBwcmV0dHlKc29uID8gMiA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldHR5SnNvbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uID0ganNvbi5zcGxpdCgnXFxuJykuam9pbignXFxuICAgICAgJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCeSBnZW5lcmF0aW5nIGEgYmxvYiBoZXJlLCB3ZSBnaXZlIHdlYiBwbGF0Zm9ybSB0aGUgb3Bwb3J0dW5pdHkgdG8gc3RvcmUgdGhlIGNvbnRlbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvbiBkaXNrIGFuZCByZWxlYXNlIFJBTS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKG5ldyBCbG9iKFtqc29uLnN1YnN0cmluZygxLCBqc29uLmxlbmd0aCAtIDEpXSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE51bVJvd3MgPSBmaWx0ZXJlZFZhbHVlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0S2V5ID0gdmFsdWVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmdldEJ5S2V5UGF0aCh2YWx1ZXNbdmFsdWVzLmxlbmd0aCAtIDFdLCBwcmltS2V5LmtleVBhdGgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgOF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDogcmV0dXJuIFs0IC8qeWllbGQqLywgY2h1bmtlZENvbGxlY3Rpb24ucHJpbWFyeUtleXMoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXMgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl2YWxzID0ga2V5cy5tYXAoZnVuY3Rpb24gKGtleSwgaSkgeyByZXR1cm4gW2tleSwgdmFsdWVzW2ldXTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbHMgPSBrZXl2YWxzLmZpbHRlcihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleSA9IF9hWzBdLCB2YWx1ZSA9IF9hWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyKHRhYmxlTmFtZSwgdmFsdWUsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0c29uVHVwbGVzID0ga2V5dmFscy5tYXAoZnVuY3Rpb24gKHR1cGxlKSB7IHJldHVybiBUU09OLmVuY2Fwc3VsYXRlKHR1cGxlKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVRTT04ubXVzdEZpbmFsaXplKCkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDddO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgRGV4aWUud2FpdEZvcihUU09OLmZpbmFsaXplKHRzb25UdXBsZXMpKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gNztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IEpTT04uc3RyaW5naWZ5KHRzb25UdXBsZXMsIHVuZGVmaW5lZCwgcHJldHR5SnNvbiA/IDIgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXR0eUpzb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IGpzb24uc3BsaXQoJ1xcbicpLmpvaW4oJ1xcbiAgICAgICcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQnkgZ2VuZXJhdGluZyBhIGJsb2IgaGVyZSwgd2UgZ2l2ZSB3ZWIgcGxhdGZvcm0gdGhlIG9wcG9ydHVuaXR5IHRvIHN0b3JlIHRoZSBjb250ZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gZGlzayBhbmQgcmVsZWFzZSBSQU0uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChuZXcgQmxvYihbanNvbi5zdWJzdHJpbmcoMSwganNvbi5sZW5ndGggLSAxKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROdW1Sb3dzID0ga2V5dmFscy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0S2V5ID0ga2V5cy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzW2tleXMubGVuZ3RoIC0gMV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLmNvbXBsZXRlZFJvd3MgKz0gdmFsdWVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYXlIYXZlTW9yZVJvd3MpIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzUgLyp5aWVsZCoqLywgX2xvb3BfMigpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlXzEgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZV8xID09PSBcImJyZWFrXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAzXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChlbXB0eVRhYmxlRXhwb3J0SnNvbi5zdWJzdHIocG9zRW5kUm93c0FycmF5KSk7IC8vIFwiXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5jb21wbGV0ZWRUYWJsZXMgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzLmNvbXBsZXRlZFRhYmxlcyA8IHByb2dyZXNzLnRvdGFsVGFibGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChcIixcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pID0gMCwgdGFibGVzXzEgPSB0YWJsZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKF9pIDwgdGFibGVzXzEubGVuZ3RoKSkgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lID0gdGFibGVzXzFbX2ldLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs1IC8qeWllbGQqKi8sIF9sb29wXzEodGFibGVOYW1lKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gNDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaSsrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKGVtcHR5RXhwb3J0SnNvbi5zdWJzdHIocG9zRW5kRGF0YUFycmF5KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MuZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV4aWUuaWdub3JlVHJhbnNhY3Rpb24oZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvZ3Jlc3NDYWxsYmFjayhwcm9ncmVzcyk7IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzbGljZXMsIHRhYmxlcywgcHJldHR5SnNvbiwgZW1wdHlFeHBvcnQsIHByb2dyZXNzQ2FsbGJhY2ssIHByb2dyZXNzO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgICAgICAgICAgICAgc2xpY2VzID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlcyA9IGRiLnRhYmxlcy5tYXAoZnVuY3Rpb24gKHRhYmxlKSB7IHJldHVybiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGFibGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtYTogZ2V0U2NoZW1hU3RyaW5nKHRhYmxlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd0NvdW50OiAwXG4gICAgICAgICAgICAgICAgICAgIH0pOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcHJldHR5SnNvbiA9IG9wdGlvbnMucHJldHR5SnNvbjtcbiAgICAgICAgICAgICAgICAgICAgZW1wdHlFeHBvcnQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXROYW1lOiBcImRleGllXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRWZXJzaW9uOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlTmFtZTogZGIubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZVZlcnNpb246IGRiLnZlcm5vLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlczogdGFibGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQ2FsbGJhY2sgPSBvcHRpb25zLnByb2dyZXNzQ2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWRSb3dzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVkVGFibGVzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxSb3dzOiBOYU4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFRhYmxlczogZGIudGFibGVzLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBfYS50cnlzLnB1c2goWzEsICwgNiwgN10pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMubm9UcmFuc2FjdGlvbikgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGV4cG9ydEFsbCgpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07XG4gICAgICAgICAgICAgICAgY2FzZSAzOiByZXR1cm4gWzQgLyp5aWVsZCovLCBkYi50cmFuc2FjdGlvbigncicsIGRiLnRhYmxlcywgZXhwb3J0QWxsKV07XG4gICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gNTtcbiAgICAgICAgICAgICAgICBjYXNlIDU6IHJldHVybiBbMyAvKmJyZWFrKi8sIDddO1xuICAgICAgICAgICAgICAgIGNhc2UgNjpcbiAgICAgICAgICAgICAgICAgICAgVFNPTi5maW5hbGl6ZSgpOyAvLyBGcmVlIHVwIG1lbSBpZiBlcnJvciBoYXMgb2NjdXJyZWRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs3IC8qZW5kZmluYWxseSovXTtcbiAgICAgICAgICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzc0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBLZWVwIG9uZ29pbmcgdHJhbnNhY3Rpb24gcHJpdmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgRGV4aWUuaWdub3JlVHJhbnNhY3Rpb24oZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvZ3Jlc3NDYWxsYmFjayhwcm9ncmVzcyk7IH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBuZXcgQmxvYihzbGljZXMsIHsgdHlwZTogXCJ0ZXh0L2pzb25cIiB9KV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG52YXIgVkVSU0lPTiA9IDE7XG5cbnZhciBmYWtlU3RyZWFtID0ge1N0cmVhbTogZnVuY3Rpb24oKXt9fTtcblxudmFyIGNsYXJpbmV0XzEgPSBjcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XG4oZnVuY3Rpb24gKGNsYXJpbmV0KSB7XG5cbiAgLy8gbm9uIG5vZGUtanMgbmVlZHMgdG8gc2V0IGNsYXJpbmV0IGRlYnVnIG9uIHJvb3RcbiAgdmFyIGVudiA9KHR5cGVvZiBwcm9jZXNzID09PSAnb2JqZWN0JyAmJiBwcm9jZXNzLmVudilcbiAgICA/IHByb2Nlc3MuZW52XG4gICAgOiBzZWxmO1xuXG4gIGNsYXJpbmV0LnBhcnNlciAgICAgICAgICAgID0gZnVuY3Rpb24gKG9wdCkgeyByZXR1cm4gbmV3IENQYXJzZXIob3B0KTt9O1xuICBjbGFyaW5ldC5DUGFyc2VyICAgICAgICAgICA9IENQYXJzZXI7XG4gIGNsYXJpbmV0LkNTdHJlYW0gICAgICAgICAgID0gQ1N0cmVhbTtcbiAgY2xhcmluZXQuY3JlYXRlU3RyZWFtICAgICAgPSBjcmVhdGVTdHJlYW07XG4gIGNsYXJpbmV0Lk1BWF9CVUZGRVJfTEVOR1RIID0gMTAgKiAxMDI0ICogMTAyNDtcbiAgY2xhcmluZXQuREVCVUcgICAgICAgICAgICAgPSAoZW52LkNERUJVRz09PSdkZWJ1ZycpO1xuICBjbGFyaW5ldC5JTkZPICAgICAgICAgICAgICA9IChlbnYuQ0RFQlVHPT09J2RlYnVnJyB8fCBlbnYuQ0RFQlVHPT09J2luZm8nKTtcbiAgY2xhcmluZXQuRVZFTlRTICAgICAgICAgICAgPVxuICAgIFsgXCJ2YWx1ZVwiXG4gICAgLCBcInN0cmluZ1wiXG4gICAgLCBcImtleVwiXG4gICAgLCBcIm9wZW5vYmplY3RcIlxuICAgICwgXCJjbG9zZW9iamVjdFwiXG4gICAgLCBcIm9wZW5hcnJheVwiXG4gICAgLCBcImNsb3NlYXJyYXlcIlxuICAgICwgXCJlcnJvclwiXG4gICAgLCBcImVuZFwiXG4gICAgLCBcInJlYWR5XCJcbiAgICBdO1xuXG4gIHZhciBidWZmZXJzICAgICA9IHtcbiAgICAgICAgdGV4dE5vZGU6IHVuZGVmaW5lZCxcbiAgICAgICAgbnVtYmVyTm9kZTogXCJcIlxuICAgIH1cbiAgICAsIHN0cmVhbVdyYXBzID0gY2xhcmluZXQuRVZFTlRTLmZpbHRlcihmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICByZXR1cm4gZXYgIT09IFwiZXJyb3JcIiAmJiBldiAhPT0gXCJlbmRcIjtcbiAgICAgICAgfSlcbiAgICAsIFMgICAgICAgICAgID0gMFxuICAgICwgU3RyZWFtXG4gICAgO1xuXG4gIGNsYXJpbmV0LlNUQVRFID1cbiAgICB7IEJFR0lOICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrK1xuICAgICwgVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIGdlbmVyYWwgc3R1ZmZcbiAgICAsIE9QRU5fT0JKRUNUICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyB7XG4gICAgLCBDTE9TRV9PQkpFQ1QgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gfVxuICAgICwgT1BFTl9BUlJBWSAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIFtcbiAgICAsIENMT1NFX0FSUkFZICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBdXG4gICAgLCBURVhUX0VTQ0FQRSAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gXFwgc3R1ZmZcbiAgICAsIFNUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBcIlwiXG4gICAgLCBCQUNLU0xBU0ggICAgICAgICAgICAgICAgICAgICAgICAgOiBTKytcbiAgICAsIEVORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBObyBtb3JlIHN0YWNrXG4gICAgLCBPUEVOX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gLCBcImFcIlxuICAgICwgQ0xPU0VfS0VZICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIDpcbiAgICAsIFRSVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyByXG4gICAgLCBUUlVFMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gdVxuICAgICwgVFJVRTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIGVcbiAgICAsIEZBTFNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBhXG4gICAgLCBGQUxTRTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gbFxuICAgICwgRkFMU0UzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIHNcbiAgICAsIEZBTFNFNCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBlXG4gICAgLCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gdVxuICAgICwgTlVMTDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIGxcbiAgICAsIE5VTEwzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBsXG4gICAgLCBOVU1CRVJfREVDSU1BTF9QT0lOVCAgICAgICAgICAgICAgOiBTKysgLy8gLlxuICAgICwgTlVNQkVSX0RJR0lUICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIFswLTldXG4gICAgfTtcblxuICBmb3IgKHZhciBzXyBpbiBjbGFyaW5ldC5TVEFURSkgY2xhcmluZXQuU1RBVEVbY2xhcmluZXQuU1RBVEVbc19dXSA9IHNfO1xuXG4gIC8vIHN3aXRjaGFyb29cbiAgUyA9IGNsYXJpbmV0LlNUQVRFO1xuXG4gIGNvbnN0IENoYXIgPSB7XG4gICAgdGFiICAgICAgICAgICAgICAgICA6IDB4MDksICAgICAvLyBcXHRcbiAgICBsaW5lRmVlZCAgICAgICAgICAgIDogMHgwQSwgICAgIC8vIFxcblxuICAgIGNhcnJpYWdlUmV0dXJuICAgICAgOiAweDBELCAgICAgLy8gXFxyXG4gICAgc3BhY2UgICAgICAgICAgICAgICA6IDB4MjAsICAgICAvLyBcIiBcIlxuXG4gICAgZG91YmxlUXVvdGUgICAgICAgICA6IDB4MjIsICAgICAvLyBcIlxuICAgIHBsdXMgICAgICAgICAgICAgICAgOiAweDJCLCAgICAgLy8gK1xuICAgIGNvbW1hICAgICAgICAgICAgICAgOiAweDJDLCAgICAgLy8gLFxuICAgIG1pbnVzICAgICAgICAgICAgICAgOiAweDJELCAgICAgLy8gLVxuICAgIHBlcmlvZCAgICAgICAgICAgICAgOiAweDJFLCAgICAgLy8gLlxuXG4gICAgXzAgICAgICAgICAgICAgICAgICA6IDB4MzAsICAgICAvLyAwXG4gICAgXzkgICAgICAgICAgICAgICAgICA6IDB4MzksICAgICAvLyA5XG5cbiAgICBjb2xvbiAgICAgICAgICAgICAgIDogMHgzQSwgICAgIC8vIDpcblxuICAgIEUgICAgICAgICAgICAgICAgICAgOiAweDQ1LCAgICAgLy8gRVxuXG4gICAgb3BlbkJyYWNrZXQgICAgICAgICA6IDB4NUIsICAgICAvLyBbXG4gICAgYmFja3NsYXNoICAgICAgICAgICA6IDB4NUMsICAgICAvLyBcXFxuICAgIGNsb3NlQnJhY2tldCAgICAgICAgOiAweDVELCAgICAgLy8gXVxuXG4gICAgYSAgICAgICAgICAgICAgICAgICA6IDB4NjEsICAgICAvLyBhXG4gICAgYiAgICAgICAgICAgICAgICAgICA6IDB4NjIsICAgICAvLyBiXG4gICAgZSAgICAgICAgICAgICAgICAgICA6IDB4NjUsICAgICAvLyBlIFxuICAgIGYgICAgICAgICAgICAgICAgICAgOiAweDY2LCAgICAgLy8gZlxuICAgIGwgICAgICAgICAgICAgICAgICAgOiAweDZDLCAgICAgLy8gbFxuICAgIG4gICAgICAgICAgICAgICAgICAgOiAweDZFLCAgICAgLy8gblxuICAgIHIgICAgICAgICAgICAgICAgICAgOiAweDcyLCAgICAgLy8gclxuICAgIHMgICAgICAgICAgICAgICAgICAgOiAweDczLCAgICAgLy8gc1xuICAgIHQgICAgICAgICAgICAgICAgICAgOiAweDc0LCAgICAgLy8gdFxuICAgIHUgICAgICAgICAgICAgICAgICAgOiAweDc1LCAgICAgLy8gdVxuXG4gICAgb3BlbkJyYWNlICAgICAgICAgICA6IDB4N0IsICAgICAvLyB7XG4gICAgY2xvc2VCcmFjZSAgICAgICAgICA6IDB4N0QsICAgICAvLyB9XG4gIH07XG5cbiAgaWYgKCFPYmplY3QuY3JlYXRlKSB7XG4gICAgT2JqZWN0LmNyZWF0ZSA9IGZ1bmN0aW9uIChvKSB7XG4gICAgICBmdW5jdGlvbiBmICgpIHsgdGhpc1tcIl9fcHJvdG9fX1wiXSA9IG87IH1cbiAgICAgIGYucHJvdG90eXBlID0gbztcbiAgICAgIHJldHVybiBuZXcgZjtcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFPYmplY3QuZ2V0UHJvdG90eXBlT2YpIHtcbiAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPSBmdW5jdGlvbiAobykge1xuICAgICAgcmV0dXJuIG9bXCJfX3Byb3RvX19cIl07XG4gICAgfTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LmtleXMpIHtcbiAgICBPYmplY3Qua2V5cyA9IGZ1bmN0aW9uIChvKSB7XG4gICAgICB2YXIgYSA9IFtdO1xuICAgICAgZm9yICh2YXIgaSBpbiBvKSBpZiAoby5oYXNPd25Qcm9wZXJ0eShpKSkgYS5wdXNoKGkpO1xuICAgICAgcmV0dXJuIGE7XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrQnVmZmVyTGVuZ3RoIChwYXJzZXIpIHtcbiAgICB2YXIgbWF4QWxsb3dlZCA9IE1hdGgubWF4KGNsYXJpbmV0Lk1BWF9CVUZGRVJfTEVOR1RILCAxMClcbiAgICAgICwgbWF4QWN0dWFsID0gMFxuICAgICAgO1xuICAgIGZvciAodmFyIGJ1ZmZlciBpbiBidWZmZXJzKSB7XG4gICAgICB2YXIgbGVuID0gcGFyc2VyW2J1ZmZlcl0gPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZXJbYnVmZmVyXS5sZW5ndGg7XG4gICAgICBpZiAobGVuID4gbWF4QWxsb3dlZCkge1xuICAgICAgICBzd2l0Y2ggKGJ1ZmZlcikge1xuICAgICAgICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICAgICAgICBjbG9zZVRleHQocGFyc2VyKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBlcnJvcihwYXJzZXIsIFwiTWF4IGJ1ZmZlciBsZW5ndGggZXhjZWVkZWQ6IFwiKyBidWZmZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtYXhBY3R1YWwgPSBNYXRoLm1heChtYXhBY3R1YWwsIGxlbik7XG4gICAgfVxuICAgIHBhcnNlci5idWZmZXJDaGVja1Bvc2l0aW9uID0gKGNsYXJpbmV0Lk1BWF9CVUZGRVJfTEVOR1RIIC0gbWF4QWN0dWFsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgcGFyc2VyLnBvc2l0aW9uO1xuICB9XG5cbiAgZnVuY3Rpb24gY2xlYXJCdWZmZXJzIChwYXJzZXIpIHtcbiAgICBmb3IgKHZhciBidWZmZXIgaW4gYnVmZmVycykge1xuICAgICAgcGFyc2VyW2J1ZmZlcl0gPSBidWZmZXJzW2J1ZmZlcl07XG4gICAgfVxuICB9XG5cbiAgdmFyIHN0cmluZ1Rva2VuUGF0dGVybiA9IC9bXFxcXFwiXFxuXS9nO1xuXG4gIGZ1bmN0aW9uIENQYXJzZXIgKG9wdCkge1xuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBDUGFyc2VyKSkgcmV0dXJuIG5ldyBDUGFyc2VyIChvcHQpO1xuXG4gICAgdmFyIHBhcnNlciA9IHRoaXM7XG4gICAgY2xlYXJCdWZmZXJzKHBhcnNlcik7XG4gICAgcGFyc2VyLmJ1ZmZlckNoZWNrUG9zaXRpb24gPSBjbGFyaW5ldC5NQVhfQlVGRkVSX0xFTkdUSDtcbiAgICBwYXJzZXIucSAgICAgICAgPSBwYXJzZXIuYyA9IHBhcnNlci5wID0gXCJcIjtcbiAgICBwYXJzZXIub3B0ICAgICAgPSBvcHQgfHwge307XG4gICAgcGFyc2VyLmNsb3NlZCAgID0gcGFyc2VyLmNsb3NlZFJvb3QgPSBwYXJzZXIuc2F3Um9vdCA9IGZhbHNlO1xuICAgIHBhcnNlci50YWcgICAgICA9IHBhcnNlci5lcnJvciA9IG51bGw7XG4gICAgcGFyc2VyLnN0YXRlICAgID0gUy5CRUdJTjtcbiAgICBwYXJzZXIuc3RhY2sgICAgPSBuZXcgQXJyYXkoKTtcbiAgICAvLyBtb3N0bHkganVzdCBmb3IgZXJyb3IgcmVwb3J0aW5nXG4gICAgcGFyc2VyLnBvc2l0aW9uID0gcGFyc2VyLmNvbHVtbiA9IDA7XG4gICAgcGFyc2VyLmxpbmUgICAgID0gMTtcbiAgICBwYXJzZXIuc2xhc2hlZCAgPSBmYWxzZTtcbiAgICBwYXJzZXIudW5pY29kZUkgPSAwO1xuICAgIHBhcnNlci51bmljb2RlUyA9IG51bGw7XG4gICAgcGFyc2VyLmRlcHRoICAgID0gMDtcbiAgICBlbWl0KHBhcnNlciwgXCJvbnJlYWR5XCIpO1xuICB9XG5cbiAgQ1BhcnNlci5wcm90b3R5cGUgPVxuICAgIHsgZW5kICAgIDogZnVuY3Rpb24gKCkgeyBlbmQodGhpcyk7IH1cbiAgICAsIHdyaXRlICA6IHdyaXRlXG4gICAgLCByZXN1bWUgOiBmdW5jdGlvbiAoKSB7IHRoaXMuZXJyb3IgPSBudWxsOyByZXR1cm4gdGhpczsgfVxuICAgICwgY2xvc2UgIDogZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy53cml0ZShudWxsKTsgfVxuICAgIH07XG5cbiAgdHJ5ICAgICAgICB7IFN0cmVhbSA9IGZha2VTdHJlYW0uU3RyZWFtOyB9XG4gIGNhdGNoIChleCkgeyBTdHJlYW0gPSBmdW5jdGlvbiAoKSB7fTsgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVN0cmVhbSAob3B0KSB7IHJldHVybiBuZXcgQ1N0cmVhbShvcHQpOyB9XG5cbiAgZnVuY3Rpb24gQ1N0cmVhbSAob3B0KSB7XG4gICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIENTdHJlYW0pKSByZXR1cm4gbmV3IENTdHJlYW0ob3B0KTtcblxuICAgIHRoaXMuX3BhcnNlciA9IG5ldyBDUGFyc2VyKG9wdCk7XG4gICAgdGhpcy53cml0YWJsZSA9IHRydWU7XG4gICAgdGhpcy5yZWFkYWJsZSA9IHRydWU7XG5cbiAgICAvL3ZhciBCdWZmZXIgPSB0aGlzLkJ1ZmZlciB8fCBmdW5jdGlvbiBCdWZmZXIgKCkge307IC8vIGlmIHdlIGRvbid0IGhhdmUgQnVmZmVycywgZmFrZSBpdCBzbyB3ZSBjYW4gZG8gYHZhciBpbnN0YW5jZW9mIEJ1ZmZlcmAgYW5kIG5vdCB0aHJvdyBhbiBlcnJvclxuICAgIHRoaXMuYnl0ZXNfcmVtYWluaW5nID0gMDsgLy8gbnVtYmVyIG9mIGJ5dGVzIHJlbWFpbmluZyBpbiBtdWx0aSBieXRlIHV0ZjggY2hhciB0byByZWFkIGFmdGVyIHNwbGl0IGJvdW5kYXJ5XG4gICAgdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSA9IDA7IC8vIGJ5dGVzIGluIG11bHRpIGJ5dGUgdXRmOCBjaGFyIHRvIHJlYWRcbiAgICB0aGlzLnRlbXBfYnVmZnMgPSB7IFwiMlwiOiBuZXcgQnVmZmVyKDIpLCBcIjNcIjogbmV3IEJ1ZmZlcigzKSwgXCI0XCI6IG5ldyBCdWZmZXIoNCkgfTsgLy8gZm9yIHJlYnVpbGRpbmcgY2hhcnMgc3BsaXQgYmVmb3JlIGJvdW5kYXJ5IGlzIHJlYWNoZWRcbiAgICB0aGlzLnN0cmluZyA9ICcnO1xuXG4gICAgdmFyIG1lID0gdGhpcztcbiAgICBTdHJlYW0uYXBwbHkobWUpO1xuXG4gICAgdGhpcy5fcGFyc2VyLm9uZW5kID0gZnVuY3Rpb24gKCkgeyBtZS5lbWl0KFwiZW5kXCIpOyB9O1xuICAgIHRoaXMuX3BhcnNlci5vbmVycm9yID0gZnVuY3Rpb24gKGVyKSB7XG4gICAgICBtZS5lbWl0KFwiZXJyb3JcIiwgZXIpO1xuICAgICAgbWUuX3BhcnNlci5lcnJvciA9IG51bGw7XG4gICAgfTtcblxuICAgIHN0cmVhbVdyYXBzLmZvckVhY2goZnVuY3Rpb24gKGV2KSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWUsIFwib25cIiArIGV2LFxuICAgICAgICB7IGdldCAgICAgICAgICA6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG1lLl9wYXJzZXJbXCJvblwiICsgZXZdOyB9XG4gICAgICAgICwgc2V0ICAgICAgICAgIDogZnVuY3Rpb24gKGgpIHtcbiAgICAgICAgICAgIGlmICghaCkge1xuICAgICAgICAgICAgICBtZS5yZW1vdmVBbGxMaXN0ZW5lcnMoZXYpO1xuICAgICAgICAgICAgICBtZS5fcGFyc2VyW1wib25cIitldl0gPSBoO1xuICAgICAgICAgICAgICByZXR1cm4gaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1lLm9uKGV2LCBoKTtcbiAgICAgICAgICB9XG4gICAgICAgICwgZW51bWVyYWJsZSAgIDogdHJ1ZVxuICAgICAgICAsIGNvbmZpZ3VyYWJsZSA6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgQ1N0cmVhbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFN0cmVhbS5wcm90b3R5cGUsXG4gICAgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogQ1N0cmVhbSB9IH0pO1xuXG4gIENTdHJlYW0ucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBkYXRhID0gbmV3IEJ1ZmZlcihkYXRhKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBuID0gZGF0YVtpXTtcblxuICAgICAgLy8gY2hlY2sgZm9yIGNhcnJ5IG92ZXIgb2YgYSBtdWx0aSBieXRlIGNoYXIgc3BsaXQgYmV0d2VlbiBkYXRhIGNodW5rc1xuICAgICAgLy8gJiBmaWxsIHRlbXAgYnVmZmVyIGl0IHdpdGggc3RhcnQgb2YgdGhpcyBkYXRhIGNodW5rIHVwIHRvIHRoZSBib3VuZGFyeSBsaW1pdCBzZXQgaW4gdGhlIGxhc3QgaXRlcmF0aW9uXG4gICAgICBpZiAodGhpcy5ieXRlc19yZW1haW5pbmcgPiAwKSB7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5ieXRlc19yZW1haW5pbmc7IGorKykge1xuICAgICAgICAgIHRoaXMudGVtcF9idWZmc1t0aGlzLmJ5dGVzX2luX3NlcXVlbmNlXVt0aGlzLmJ5dGVzX2luX3NlcXVlbmNlIC0gdGhpcy5ieXRlc19yZW1haW5pbmcgKyBqXSA9IGRhdGFbal07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdHJpbmcgPSB0aGlzLnRlbXBfYnVmZnNbdGhpcy5ieXRlc19pbl9zZXF1ZW5jZV0udG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSA9IHRoaXMuYnl0ZXNfcmVtYWluaW5nID0gMDtcblxuICAgICAgICAvLyBtb3ZlIGl0ZXJhdG9yIGZvcndhcmQgYnkgbnVtYmVyIG9mIGJ5dGUgcmVhZCBkdXJpbmcgc2VxdWVuY2luZ1xuICAgICAgICBpID0gaSArIGogLSAxO1xuXG4gICAgICAgIC8vIHBhc3MgZGF0YSB0byBwYXJzZXIgYW5kIG1vdmUgZm9yd2FyZCB0byBwYXJzZSByZXN0IG9mIGRhdGFcbiAgICAgICAgdGhpcy5fcGFyc2VyLndyaXRlKHRoaXMuc3RyaW5nKTtcbiAgICAgICAgdGhpcy5lbWl0KFwiZGF0YVwiLCB0aGlzLnN0cmluZyk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiBubyByZW1haW5kZXIgYnl0ZXMgY2FycmllZCBvdmVyLCBwYXJzZSBtdWx0aSBieXRlICg+PTEyOCkgY2hhcnMgb25lIGF0IGEgdGltZVxuICAgICAgaWYgKHRoaXMuYnl0ZXNfcmVtYWluaW5nID09PSAwICYmIG4gPj0gMTI4KSB7XG4gICAgICAgIGlmICgobiA+PSAxOTQpICYmIChuIDw9IDIyMykpIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgPSAyO1xuICAgICAgICBpZiAoKG4gPj0gMjI0KSAmJiAobiA8PSAyMzkpKSB0aGlzLmJ5dGVzX2luX3NlcXVlbmNlID0gMztcbiAgICAgICAgaWYgKChuID49IDI0MCkgJiYgKG4gPD0gMjQ0KSkgdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSA9IDQ7XG4gICAgICAgIGlmICgodGhpcy5ieXRlc19pbl9zZXF1ZW5jZSArIGkpID4gZGF0YS5sZW5ndGgpIHsgLy8gaWYgYnl0ZXMgbmVlZGVkIHRvIGNvbXBsZXRlIGNoYXIgZmFsbCBvdXRzaWRlIGRhdGEgbGVuZ3RoLCB3ZSBoYXZlIGEgYm91bmRhcnkgc3BsaXRcblxuICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDw9IChkYXRhLmxlbmd0aCAtIDEgLSBpKTsgaysrKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBfYnVmZnNbdGhpcy5ieXRlc19pbl9zZXF1ZW5jZV1ba10gPSBkYXRhW2kgKyBrXTsgLy8gZmlsbCB0ZW1wIGRhdGEgb2YgY29ycmVjdCBzaXplIHdpdGggYnl0ZXMgYXZhaWxhYmxlIGluIHRoaXMgY2h1bmtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5ieXRlc19yZW1haW5pbmcgPSAoaSArIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UpIC0gZGF0YS5sZW5ndGg7XG5cbiAgICAgICAgICAvLyBpbW1lZGlhdGVseSByZXR1cm4gYXMgd2UgbmVlZCBhbm90aGVyIGNodW5rIHRvIHNlcXVlbmNlIHRoZSBjaGFyYWN0ZXJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN0cmluZyA9IGRhdGEuc2xpY2UoaSwgKGkgKyB0aGlzLmJ5dGVzX2luX3NlcXVlbmNlKSkudG9TdHJpbmcoKTtcbiAgICAgICAgICBpID0gaSArIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgLSAxO1xuXG4gICAgICAgICAgdGhpcy5fcGFyc2VyLndyaXRlKHRoaXMuc3RyaW5nKTtcbiAgICAgICAgICB0aGlzLmVtaXQoXCJkYXRhXCIsIHRoaXMuc3RyaW5nKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBpcyB0aGVyZSBhIHJhbmdlIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgaW1tZWRpYXRlbHkgcGFyc2FibGU/XG4gICAgICBmb3IgKHZhciBwID0gaTsgcCA8IGRhdGEubGVuZ3RoOyBwKyspIHtcbiAgICAgICAgaWYgKGRhdGFbcF0gPj0gMTI4KSBicmVhaztcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RyaW5nID0gZGF0YS5zbGljZShpLCBwKS50b1N0cmluZygpO1xuICAgICAgdGhpcy5fcGFyc2VyLndyaXRlKHRoaXMuc3RyaW5nKTtcbiAgICAgIHRoaXMuZW1pdChcImRhdGFcIiwgdGhpcy5zdHJpbmcpO1xuICAgICAgaSA9IHAgLSAxO1xuXG4gICAgICAvLyBoYW5kbGUgYW55IHJlbWFpbmluZyBjaGFyYWN0ZXJzIHVzaW5nIG11bHRpYnl0ZSBsb2dpY1xuICAgICAgY29udGludWU7XG4gICAgfVxuICB9O1xuXG4gIENTdHJlYW0ucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaykge1xuICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIHRoaXMuX3BhcnNlci53cml0ZShjaHVuay50b1N0cmluZygpKTtcbiAgICB0aGlzLl9wYXJzZXIuZW5kKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgQ1N0cmVhbS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGhhbmRsZXIpIHtcbiAgICB2YXIgbWUgPSB0aGlzO1xuICAgIGlmICghbWUuX3BhcnNlcltcIm9uXCIrZXZdICYmIHN0cmVhbVdyYXBzLmluZGV4T2YoZXYpICE9PSAtMSkge1xuICAgICAgbWUuX3BhcnNlcltcIm9uXCIrZXZdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBbYXJndW1lbnRzWzBdXVxuICAgICAgICAgICAgICAgICA6IEFycmF5LmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgICAgIGFyZ3Muc3BsaWNlKDAsIDAsIGV2KTtcbiAgICAgICAgbWUuZW1pdC5hcHBseShtZSwgYXJncyk7XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKG1lLCBldiwgaGFuZGxlcik7XG4gIH07XG5cbiAgQ1N0cmVhbS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uICgpIHtcbiAgICBjbGVhckJ1ZmZlcnModGhpcy5fcGFyc2VyKTtcbiAgICB0aGlzLmVtaXQoXCJjbG9zZVwiKTtcbiAgfTtcblxuICBmdW5jdGlvbiBlbWl0KHBhcnNlciwgZXZlbnQsIGRhdGEpIHtcbiAgICBpZihjbGFyaW5ldC5JTkZPKSBjb25zb2xlLmxvZygnLS0gZW1pdCcsIGV2ZW50LCBkYXRhKTtcbiAgICBpZiAocGFyc2VyW2V2ZW50XSkgcGFyc2VyW2V2ZW50XShkYXRhKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVtaXROb2RlKHBhcnNlciwgZXZlbnQsIGRhdGEpIHtcbiAgICBjbG9zZVZhbHVlKHBhcnNlcik7XG4gICAgZW1pdChwYXJzZXIsIGV2ZW50LCBkYXRhKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlVmFsdWUocGFyc2VyLCBldmVudCkge1xuICAgIHBhcnNlci50ZXh0Tm9kZSA9IHRleHRvcHRzKHBhcnNlci5vcHQsIHBhcnNlci50ZXh0Tm9kZSk7XG4gICAgaWYgKHBhcnNlci50ZXh0Tm9kZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBlbWl0KHBhcnNlciwgKGV2ZW50ID8gZXZlbnQgOiBcIm9udmFsdWVcIiksIHBhcnNlci50ZXh0Tm9kZSk7XG4gICAgfVxuICAgIHBhcnNlci50ZXh0Tm9kZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlTnVtYmVyKHBhcnNlcikge1xuICAgIGlmIChwYXJzZXIubnVtYmVyTm9kZSlcbiAgICAgIGVtaXQocGFyc2VyLCBcIm9udmFsdWVcIiwgcGFyc2VGbG9hdChwYXJzZXIubnVtYmVyTm9kZSkpO1xuICAgIHBhcnNlci5udW1iZXJOb2RlID0gXCJcIjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRleHRvcHRzIChvcHQsIHRleHQpIHtcbiAgICBpZiAodGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG4gICAgaWYgKG9wdC50cmltKSB0ZXh0ID0gdGV4dC50cmltKCk7XG4gICAgaWYgKG9wdC5ub3JtYWxpemUpIHRleHQgPSB0ZXh0LnJlcGxhY2UoL1xccysvZywgXCIgXCIpO1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gZXJyb3IgKHBhcnNlciwgZXIpIHtcbiAgICBjbG9zZVZhbHVlKHBhcnNlcik7XG4gICAgZXIgKz0gXCJcXG5MaW5lOiBcIitwYXJzZXIubGluZStcbiAgICAgICAgICBcIlxcbkNvbHVtbjogXCIrcGFyc2VyLmNvbHVtbitcbiAgICAgICAgICBcIlxcbkNoYXI6IFwiK3BhcnNlci5jO1xuICAgIGVyID0gbmV3IEVycm9yKGVyKTtcbiAgICBwYXJzZXIuZXJyb3IgPSBlcjtcbiAgICBlbWl0KHBhcnNlciwgXCJvbmVycm9yXCIsIGVyKTtcbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZnVuY3Rpb24gZW5kKHBhcnNlcikge1xuICAgIGlmIChwYXJzZXIuc3RhdGUgIT09IFMuVkFMVUUgfHwgcGFyc2VyLmRlcHRoICE9PSAwKVxuICAgICAgZXJyb3IocGFyc2VyLCBcIlVuZXhwZWN0ZWQgZW5kXCIpO1xuXG4gICAgY2xvc2VWYWx1ZShwYXJzZXIpO1xuICAgIHBhcnNlci5jICAgICAgPSBcIlwiO1xuICAgIHBhcnNlci5jbG9zZWQgPSB0cnVlO1xuICAgIGVtaXQocGFyc2VyLCBcIm9uZW5kXCIpO1xuICAgIENQYXJzZXIuY2FsbChwYXJzZXIsIHBhcnNlci5vcHQpO1xuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBmdW5jdGlvbiBpc1doaXRlc3BhY2UoYykge1xuICAgIHJldHVybiBjID09PSBDaGFyLmNhcnJpYWdlUmV0dXJuIHx8IGMgPT09IENoYXIubGluZUZlZWQgfHwgYyA9PT0gQ2hhci5zcGFjZSB8fCBjID09PSBDaGFyLnRhYjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyaXRlIChjaHVuaykge1xuICAgIHZhciBwYXJzZXIgPSB0aGlzO1xuICAgIGlmICh0aGlzLmVycm9yKSB0aHJvdyB0aGlzLmVycm9yO1xuICAgIGlmIChwYXJzZXIuY2xvc2VkKSByZXR1cm4gZXJyb3IocGFyc2VyLFxuICAgICAgXCJDYW5ub3Qgd3JpdGUgYWZ0ZXIgY2xvc2UuIEFzc2lnbiBhbiBvbnJlYWR5IGhhbmRsZXIuXCIpO1xuICAgIGlmIChjaHVuayA9PT0gbnVsbCkgcmV0dXJuIGVuZChwYXJzZXIpO1xuICAgIHZhciBpID0gMCwgYyA9IGNodW5rLmNoYXJDb2RlQXQoMCksIHAgPSBwYXJzZXIucDtcbiAgICBpZiAoY2xhcmluZXQuREVCVUcpIGNvbnNvbGUubG9nKCd3cml0ZSAtPiBbJyArIGNodW5rICsgJ10nKTtcbiAgICB3aGlsZSAoYykge1xuICAgICAgcCA9IGM7XG4gICAgICBwYXJzZXIuYyA9IGMgPSBjaHVuay5jaGFyQ29kZUF0KGkrKyk7XG4gICAgICAvLyBpZiBjaHVuayBkb2VzbnQgaGF2ZSBuZXh0LCBsaWtlIHN0cmVhbWluZyBjaGFyIGJ5IGNoYXJcbiAgICAgIC8vIHRoaXMgd2F5IHdlIG5lZWQgdG8gY2hlY2sgaWYgcHJldmlvdXMgaXMgcmVhbGx5IHByZXZpb3VzXG4gICAgICAvLyBpZiBub3Qgd2UgbmVlZCB0byByZXNldCB0byB3aGF0IHRoZSBwYXJzZXIgc2F5cyBpcyB0aGUgcHJldmlvdXNcbiAgICAgIC8vIGZyb20gYnVmZmVyXG4gICAgICBpZihwICE9PSBjICkgcGFyc2VyLnAgPSBwO1xuICAgICAgZWxzZSBwID0gcGFyc2VyLnA7XG5cbiAgICAgIGlmKCFjKSBicmVhaztcblxuICAgICAgaWYgKGNsYXJpbmV0LkRFQlVHKSBjb25zb2xlLmxvZyhpLGMsY2xhcmluZXQuU1RBVEVbcGFyc2VyLnN0YXRlXSk7XG4gICAgICBwYXJzZXIucG9zaXRpb24gKys7XG4gICAgICBpZiAoYyA9PT0gQ2hhci5saW5lRmVlZCkge1xuICAgICAgICBwYXJzZXIubGluZSArKztcbiAgICAgICAgcGFyc2VyLmNvbHVtbiA9IDA7XG4gICAgICB9IGVsc2UgcGFyc2VyLmNvbHVtbiArKztcbiAgICAgIHN3aXRjaCAocGFyc2VyLnN0YXRlKSB7XG5cbiAgICAgICAgY2FzZSBTLkJFR0lOOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLm9wZW5CcmFjZSkgcGFyc2VyLnN0YXRlID0gUy5PUEVOX09CSkVDVDtcbiAgICAgICAgICBlbHNlIGlmIChjID09PSBDaGFyLm9wZW5CcmFja2V0KSBwYXJzZXIuc3RhdGUgPSBTLk9QRU5fQVJSQVk7XG4gICAgICAgICAgZWxzZSBpZiAoIWlzV2hpdGVzcGFjZShjKSlcbiAgICAgICAgICAgIGVycm9yKHBhcnNlciwgXCJOb24td2hpdGVzcGFjZSBiZWZvcmUge1suXCIpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuT1BFTl9LRVk6XG4gICAgICAgIGNhc2UgUy5PUEVOX09CSkVDVDpcbiAgICAgICAgICBpZiAoaXNXaGl0ZXNwYWNlKGMpKSBjb250aW51ZTtcbiAgICAgICAgICBpZihwYXJzZXIuc3RhdGUgPT09IFMuT1BFTl9LRVkpIHBhcnNlci5zdGFjay5wdXNoKFMuQ0xPU0VfS0VZKTtcbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmKGMgPT09IENoYXIuY2xvc2VCcmFjZSkge1xuICAgICAgICAgICAgICBlbWl0KHBhcnNlciwgJ29ub3Blbm9iamVjdCcpO1xuICAgICAgICAgICAgICB0aGlzLmRlcHRoKys7XG4gICAgICAgICAgICAgIGVtaXQocGFyc2VyLCAnb25jbG9zZW9iamVjdCcpO1xuICAgICAgICAgICAgICB0aGlzLmRlcHRoLS07XG4gICAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH0gZWxzZSAgcGFyc2VyLnN0YWNrLnB1c2goUy5DTE9TRV9PQkpFQ1QpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZihjID09PSBDaGFyLmRvdWJsZVF1b3RlKSBwYXJzZXIuc3RhdGUgPSBTLlNUUklORztcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgXCJNYWxmb3JtZWQgb2JqZWN0IGtleSBzaG91bGQgc3RhcnQgd2l0aCBcXFwiXCIpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuQ0xPU0VfS0VZOlxuICAgICAgICBjYXNlIFMuQ0xPU0VfT0JKRUNUOlxuICAgICAgICAgIGlmIChpc1doaXRlc3BhY2UoYykpIGNvbnRpbnVlO1xuICAgICAgICAgIHZhciBldmVudCA9IChwYXJzZXIuc3RhdGUgPT09IFMuQ0xPU0VfS0VZKSA/ICdrZXknIDogJ29iamVjdCc7XG4gICAgICAgICAgaWYoYyA9PT0gQ2hhci5jb2xvbikge1xuICAgICAgICAgICAgaWYocGFyc2VyLnN0YXRlID09PSBTLkNMT1NFX09CSkVDVCkge1xuICAgICAgICAgICAgICBwYXJzZXIuc3RhY2sucHVzaChTLkNMT1NFX09CSkVDVCk7XG4gICAgICAgICAgICAgIGNsb3NlVmFsdWUocGFyc2VyLCAnb25vcGVub2JqZWN0Jyk7XG4gICAgICAgICAgICAgICB0aGlzLmRlcHRoKys7XG4gICAgICAgICAgICB9IGVsc2UgY2xvc2VWYWx1ZShwYXJzZXIsICdvbmtleScpO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlICA9IFMuVkFMVUU7XG4gICAgICAgICAgfSBlbHNlIGlmIChjID09PSBDaGFyLmNsb3NlQnJhY2UpIHtcbiAgICAgICAgICAgIGVtaXROb2RlKHBhcnNlciwgJ29uY2xvc2VvYmplY3QnKTtcbiAgICAgICAgICAgIHRoaXMuZGVwdGgtLTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgIH0gZWxzZSBpZihjID09PSBDaGFyLmNvbW1hKSB7XG4gICAgICAgICAgICBpZihwYXJzZXIuc3RhdGUgPT09IFMuQ0xPU0VfT0JKRUNUKVxuICAgICAgICAgICAgICBwYXJzZXIuc3RhY2sucHVzaChTLkNMT1NFX09CSkVDVCk7XG4gICAgICAgICAgICBjbG9zZVZhbHVlKHBhcnNlcik7XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgID0gUy5PUEVOX0tFWTtcbiAgICAgICAgICB9IGVsc2UgZXJyb3IocGFyc2VyLCAnQmFkIG9iamVjdCcpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuT1BFTl9BUlJBWTogLy8gYWZ0ZXIgYW4gYXJyYXkgdGhlcmUgYWx3YXlzIGEgdmFsdWVcbiAgICAgICAgY2FzZSBTLlZBTFVFOlxuICAgICAgICAgIGlmIChpc1doaXRlc3BhY2UoYykpIGNvbnRpbnVlO1xuICAgICAgICAgIGlmKHBhcnNlci5zdGF0ZT09PVMuT1BFTl9BUlJBWSkge1xuICAgICAgICAgICAgZW1pdChwYXJzZXIsICdvbm9wZW5hcnJheScpO1xuICAgICAgICAgICAgdGhpcy5kZXB0aCsrO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gUy5WQUxVRTtcbiAgICAgICAgICAgIGlmKGMgPT09IENoYXIuY2xvc2VCcmFja2V0KSB7XG4gICAgICAgICAgICAgIGVtaXQocGFyc2VyLCAnb25jbG9zZWFycmF5Jyk7XG4gICAgICAgICAgICAgIHRoaXMuZGVwdGgtLTtcbiAgICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gcGFyc2VyLnN0YWNrLnBvcCgpIHx8IFMuVkFMVUU7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFyc2VyLnN0YWNrLnB1c2goUy5DTE9TRV9BUlJBWSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICAgICAgaWYoYyA9PT0gQ2hhci5kb3VibGVRdW90ZSkgcGFyc2VyLnN0YXRlID0gUy5TVFJJTkc7XG4gICAgICAgICAgZWxzZSBpZihjID09PSBDaGFyLm9wZW5CcmFjZSkgcGFyc2VyLnN0YXRlID0gUy5PUEVOX09CSkVDVDtcbiAgICAgICAgICBlbHNlIGlmKGMgPT09IENoYXIub3BlbkJyYWNrZXQpIHBhcnNlci5zdGF0ZSA9IFMuT1BFTl9BUlJBWTtcbiAgICAgICAgICBlbHNlIGlmKGMgPT09IENoYXIudCkgcGFyc2VyLnN0YXRlID0gUy5UUlVFO1xuICAgICAgICAgIGVsc2UgaWYoYyA9PT0gQ2hhci5mKSBwYXJzZXIuc3RhdGUgPSBTLkZBTFNFO1xuICAgICAgICAgIGVsc2UgaWYoYyA9PT0gQ2hhci5uKSBwYXJzZXIuc3RhdGUgPSBTLk5VTEw7XG4gICAgICAgICAgZWxzZSBpZihjID09PSBDaGFyLm1pbnVzKSB7IC8vIGtlZXAgYW5kIGNvbnRpbnVlXG4gICAgICAgICAgICBwYXJzZXIubnVtYmVyTm9kZSArPSBcIi1cIjtcbiAgICAgICAgICB9IGVsc2UgaWYoQ2hhci5fMCA8PSBjICYmIGMgPD0gQ2hhci5fOSkge1xuICAgICAgICAgICAgcGFyc2VyLm51bWJlck5vZGUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjKTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IFMuTlVNQkVSX0RJR0lUO1xuICAgICAgICAgIH0gZWxzZSAgICAgICAgICAgICAgIGVycm9yKHBhcnNlciwgXCJCYWQgdmFsdWVcIik7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5DTE9TRV9BUlJBWTpcbiAgICAgICAgICBpZihjID09PSBDaGFyLmNvbW1hKSB7XG4gICAgICAgICAgICBwYXJzZXIuc3RhY2sucHVzaChTLkNMT1NFX0FSUkFZKTtcbiAgICAgICAgICAgIGNsb3NlVmFsdWUocGFyc2VyLCAnb252YWx1ZScpO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlICA9IFMuVkFMVUU7XG4gICAgICAgICAgfSBlbHNlIGlmIChjID09PSBDaGFyLmNsb3NlQnJhY2tldCkge1xuICAgICAgICAgICAgZW1pdE5vZGUocGFyc2VyLCAnb25jbG9zZWFycmF5Jyk7XG4gICAgICAgICAgICB0aGlzLmRlcHRoLS07XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGlzV2hpdGVzcGFjZShjKSlcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdCYWQgYXJyYXknKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLlNUUklORzpcbiAgICAgICAgICBpZiAocGFyc2VyLnRleHROb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnNlci50ZXh0Tm9kZSA9IFwiXCI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gdGhhbmtzIHRoZWpoLCB0aGlzIGlzIGFuIGFib3V0IDUwJSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudC5cbiAgICAgICAgICB2YXIgc3RhcnRpICAgICAgICAgICAgICA9IGktMVxuICAgICAgICAgICAgLCBzbGFzaGVkID0gcGFyc2VyLnNsYXNoZWRcbiAgICAgICAgICAgICwgdW5pY29kZUkgPSBwYXJzZXIudW5pY29kZUlcbiAgICAgICAgICAgIDtcbiAgICAgICAgICBTVFJJTkdfQklHTE9PUDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGlmIChjbGFyaW5ldC5ERUJVRylcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coaSxjLGNsYXJpbmV0LlNUQVRFW3BhcnNlci5zdGF0ZV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAsc2xhc2hlZCk7XG4gICAgICAgICAgICAvLyB6ZXJvIG1lYW5zIFwibm8gdW5pY29kZSBhY3RpdmVcIi4gMS00IG1lYW4gXCJwYXJzZSBzb21lIG1vcmVcIi4gZW5kIGFmdGVyIDQuXG4gICAgICAgICAgICB3aGlsZSAodW5pY29kZUkgPiAwKSB7XG4gICAgICAgICAgICAgIHBhcnNlci51bmljb2RlUyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICAgICAgICBjID0gY2h1bmsuY2hhckNvZGVBdChpKyspO1xuICAgICAgICAgICAgICBwYXJzZXIucG9zaXRpb24rKztcbiAgICAgICAgICAgICAgaWYgKHVuaWNvZGVJID09PSA0KSB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETyB0aGlzIG1pZ2h0IGJlIHNsb3c/IHdlbGwsIHByb2JhYmx5IG5vdCB1c2VkIHRvbyBvZnRlbiBhbnl3YXlcbiAgICAgICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChwYXJzZXIudW5pY29kZVMsIDE2KSk7XG4gICAgICAgICAgICAgICAgdW5pY29kZUkgPSAwO1xuICAgICAgICAgICAgICAgIHN0YXJ0aSA9IGktMTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1bmljb2RlSSsrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIHdlIGNhbiBqdXN0IGJyZWFrIGhlcmU6IG5vIHN0dWZmIHdlIHNraXBwZWQgdGhhdCBzdGlsbCBoYXMgdG8gYmUgc2xpY2VkIG91dCBvciBzb1xuICAgICAgICAgICAgICBpZiAoIWMpIGJyZWFrIFNUUklOR19CSUdMT09QO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPT09IENoYXIuZG91YmxlUXVvdGUgJiYgIXNsYXNoZWQpIHtcbiAgICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gcGFyc2VyLnN0YWNrLnBvcCgpIHx8IFMuVkFMVUU7XG4gICAgICAgICAgICAgIHBhcnNlci50ZXh0Tm9kZSArPSBjaHVuay5zdWJzdHJpbmcoc3RhcnRpLCBpLTEpO1xuICAgICAgICAgICAgICBwYXJzZXIucG9zaXRpb24gKz0gaSAtIDEgLSBzdGFydGk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPT09IENoYXIuYmFja3NsYXNoICYmICFzbGFzaGVkKSB7XG4gICAgICAgICAgICAgIHNsYXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgKz0gY2h1bmsuc3Vic3RyaW5nKHN0YXJ0aSwgaS0xKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uICs9IGkgLSAxIC0gc3RhcnRpO1xuICAgICAgICAgICAgICBjID0gY2h1bmsuY2hhckNvZGVBdChpKyspO1xuICAgICAgICAgICAgICBwYXJzZXIucG9zaXRpb24rKztcbiAgICAgICAgICAgICAgaWYgKCFjKSBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzbGFzaGVkKSB7XG4gICAgICAgICAgICAgIHNsYXNoZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5uKSB7IHBhcnNlci50ZXh0Tm9kZSArPSAnXFxuJzsgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChjID09PSBDaGFyLnIpIHsgcGFyc2VyLnRleHROb2RlICs9ICdcXHInOyB9XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT09IENoYXIudCkgeyBwYXJzZXIudGV4dE5vZGUgKz0gJ1xcdCc7IH1cbiAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PT0gQ2hhci5mKSB7IHBhcnNlci50ZXh0Tm9kZSArPSAnXFxmJzsgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChjID09PSBDaGFyLmIpIHsgcGFyc2VyLnRleHROb2RlICs9ICdcXGInOyB9XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT09IENoYXIudSkge1xuICAgICAgICAgICAgICAgIC8vIFxcdXh4eHguIG1laCFcbiAgICAgICAgICAgICAgICB1bmljb2RlSSA9IDE7XG4gICAgICAgICAgICAgICAgcGFyc2VyLnVuaWNvZGVTID0gJyc7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyc2VyLnRleHROb2RlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYyA9IGNodW5rLmNoYXJDb2RlQXQoaSsrKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uKys7XG4gICAgICAgICAgICAgIHN0YXJ0aSA9IGktMTtcbiAgICAgICAgICAgICAgaWYgKCFjKSBicmVhaztcbiAgICAgICAgICAgICAgZWxzZSBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3RyaW5nVG9rZW5QYXR0ZXJuLmxhc3RJbmRleCA9IGk7XG4gICAgICAgICAgICB2YXIgcmVSZXN1bHQgPSBzdHJpbmdUb2tlblBhdHRlcm4uZXhlYyhjaHVuayk7XG4gICAgICAgICAgICBpZiAocmVSZXN1bHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgaSA9IGNodW5rLmxlbmd0aCsxO1xuICAgICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgKz0gY2h1bmsuc3Vic3RyaW5nKHN0YXJ0aSwgaS0xKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uICs9IGkgLSAxIC0gc3RhcnRpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgPSByZVJlc3VsdC5pbmRleCsxO1xuICAgICAgICAgICAgYyA9IGNodW5rLmNoYXJDb2RlQXQocmVSZXN1bHQuaW5kZXgpO1xuICAgICAgICAgICAgaWYgKCFjKSB7XG4gICAgICAgICAgICAgIHBhcnNlci50ZXh0Tm9kZSArPSBjaHVuay5zdWJzdHJpbmcoc3RhcnRpLCBpLTEpO1xuICAgICAgICAgICAgICBwYXJzZXIucG9zaXRpb24gKz0gaSAtIDEgLSBzdGFydGk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXJzZXIuc2xhc2hlZCA9IHNsYXNoZWQ7XG4gICAgICAgICAgcGFyc2VyLnVuaWNvZGVJID0gdW5pY29kZUk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5UUlVFOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLnIpIHBhcnNlci5zdGF0ZSA9IFMuVFJVRTI7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIHRydWUgc3RhcnRlZCB3aXRoIHQnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLlRSVUUyOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLnUpIHBhcnNlci5zdGF0ZSA9IFMuVFJVRTM7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIHRydWUgc3RhcnRlZCB3aXRoIHRyJysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5UUlVFMzpcbiAgICAgICAgICBpZihjID09PSBDaGFyLmUpIHtcbiAgICAgICAgICAgIGVtaXQocGFyc2VyLCBcIm9udmFsdWVcIiwgdHJ1ZSk7XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICB9IGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0cnUnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLkZBTFNFOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLmEpIHBhcnNlci5zdGF0ZSA9IFMuRkFMU0UyO1xuICAgICAgICAgIGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZicrIGMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuRkFMU0UyOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLmwpIHBhcnNlci5zdGF0ZSA9IFMuRkFMU0UzO1xuICAgICAgICAgIGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZmEnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLkZBTFNFMzpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5zKSBwYXJzZXIuc3RhdGUgPSBTLkZBTFNFNDtcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGZhbCcrIGMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuRkFMU0U0OlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLmUpIHtcbiAgICAgICAgICAgIGVtaXQocGFyc2VyLCBcIm9udmFsdWVcIiwgZmFsc2UpO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gcGFyc2VyLnN0YWNrLnBvcCgpIHx8IFMuVkFMVUU7XG4gICAgICAgICAgfSBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGZhbHMnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk5VTEw6XG4gICAgICAgICAgaWYgKGMgPT09IENoYXIudSkgcGFyc2VyLnN0YXRlID0gUy5OVUxMMjtcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgbnVsbCBzdGFydGVkIHdpdGggbicrIGMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuTlVMTDI6XG4gICAgICAgICAgaWYgKGMgPT09IENoYXIubCkgcGFyc2VyLnN0YXRlID0gUy5OVUxMMztcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgbnVsbCBzdGFydGVkIHdpdGggbnUnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk5VTEwzOlxuICAgICAgICAgIGlmKGMgPT09IENoYXIubCkge1xuICAgICAgICAgICAgZW1pdChwYXJzZXIsIFwib252YWx1ZVwiLCBudWxsKTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgIH0gZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIG51bGwgc3RhcnRlZCB3aXRoIG51bCcrIGMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuTlVNQkVSX0RFQ0lNQUxfUE9JTlQ6XG4gICAgICAgICAgaWYoYyA9PT0gQ2hhci5wZXJpb2QpIHtcbiAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlICs9IFwiLlwiO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlICAgICAgID0gUy5OVU1CRVJfRElHSVQ7XG4gICAgICAgICAgfSBlbHNlIGVycm9yKHBhcnNlciwgJ0xlYWRpbmcgemVybyBub3QgZm9sbG93ZWQgYnkgLicpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuTlVNQkVSX0RJR0lUOlxuICAgICAgICAgIGlmKENoYXIuXzAgPD0gYyAmJiBjIDw9IENoYXIuXzkpIHBhcnNlci5udW1iZXJOb2RlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk7XG4gICAgICAgICAgZWxzZSBpZiAoYyA9PT0gQ2hhci5wZXJpb2QpIHtcbiAgICAgICAgICAgIGlmKHBhcnNlci5udW1iZXJOb2RlLmluZGV4T2YoJy4nKSE9PS0xKVxuICAgICAgICAgICAgICBlcnJvcihwYXJzZXIsICdJbnZhbGlkIG51bWJlciBoYXMgdHdvIGRvdHMnKTtcbiAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlICs9IFwiLlwiO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gQ2hhci5lIHx8IGMgPT09IENoYXIuRSkge1xuICAgICAgICAgICAgaWYocGFyc2VyLm51bWJlck5vZGUuaW5kZXhPZignZScpIT09LTEgfHxcbiAgICAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlLmluZGV4T2YoJ0UnKSE9PS0xIClcbiAgICAgICAgICAgICAgIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgbnVtYmVyIGhhcyB0d28gZXhwb25lbnRpYWwnKTtcbiAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlICs9IFwiZVwiO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gQ2hhci5wbHVzIHx8IGMgPT09IENoYXIubWludXMpIHtcbiAgICAgICAgICAgIGlmKCEocCA9PT0gQ2hhci5lIHx8IHAgPT09IENoYXIuRSkpXG4gICAgICAgICAgICAgIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgc3ltYm9sIGluIG51bWJlcicpO1xuICAgICAgICAgICAgcGFyc2VyLm51bWJlck5vZGUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xvc2VOdW1iZXIocGFyc2VyKTtcbiAgICAgICAgICAgIGktLTsgLy8gZ28gYmFjayBvbmVcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgIH1cbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBlcnJvcihwYXJzZXIsIFwiVW5rbm93biBzdGF0ZTogXCIgKyBwYXJzZXIuc3RhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocGFyc2VyLnBvc2l0aW9uID49IHBhcnNlci5idWZmZXJDaGVja1Bvc2l0aW9uKVxuICAgICAgY2hlY2tCdWZmZXJMZW5ndGgocGFyc2VyKTtcbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbn0pKGV4cG9ydHMpO1xufSk7XG5cbmZ1bmN0aW9uIEpzb25TdHJlYW0oYmxvYikge1xuICAgIHZhciBwb3MgPSAwO1xuICAgIHZhciBwYXJzZXIgPSBKc29uUGFyc2VyKHRydWUpO1xuICAgIHZhciBydiA9IHtcbiAgICAgICAgcHVsbEFzeW5jOiBmdW5jdGlvbiAobnVtQnl0ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgc2xpemUsIGpzb25QYXJ0LCByZXN1bHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpemUgPSBibG9iLnNsaWNlKHBvcywgcG9zICsgbnVtQnl0ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyArPSBudW1CeXRlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCByZWFkQmxvYkFzeW5jKHNsaXplLCAndGV4dCcpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uUGFydCA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZXIud3JpdGUoanNvblBhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ2LnJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgcmVzdWx0XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHB1bGxTeW5jOiBmdW5jdGlvbiAobnVtQnl0ZXMpIHtcbiAgICAgICAgICAgIHZhciBzbGl6ZSA9IGJsb2Iuc2xpY2UocG9zLCBwb3MgKyBudW1CeXRlcyk7XG4gICAgICAgICAgICBwb3MgKz0gbnVtQnl0ZXM7XG4gICAgICAgICAgICB2YXIganNvblBhcnQgPSByZWFkQmxvYlN5bmMoc2xpemUsICd0ZXh0Jyk7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gcGFyc2VyLndyaXRlKGpzb25QYXJ0KTtcbiAgICAgICAgICAgIHJ2LnJlc3VsdCA9IHJlc3VsdCB8fCB7fTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sXG4gICAgICAgIGRvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJzZXIuZG9uZSgpO1xuICAgICAgICB9LFxuICAgICAgICBlb2Y6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBwb3MgPj0gYmxvYi5zaXplO1xuICAgICAgICB9LFxuICAgICAgICByZXN1bHQ6IHt9XG4gICAgfTtcbiAgICByZXR1cm4gcnY7XG59XG5mdW5jdGlvbiBKc29uUGFyc2VyKGFsbG93UGFydGlhbCkge1xuICAgIHZhciBwYXJzZXIgPSBjbGFyaW5ldF8xLnBhcnNlcigpO1xuICAgIHZhciBsZXZlbCA9IDA7XG4gICAgdmFyIHJlc3VsdDtcbiAgICB2YXIgc3RhY2sgPSBbXTtcbiAgICB2YXIgb2JqO1xuICAgIHZhciBrZXk7XG4gICAgdmFyIGRvbmUgPSBmYWxzZTtcbiAgICB2YXIgYXJyYXkgPSBmYWxzZTtcbiAgICBwYXJzZXIub25vcGVub2JqZWN0ID0gZnVuY3Rpb24gKG5ld0tleSkge1xuICAgICAgICB2YXIgbmV3T2JqID0ge307XG4gICAgICAgIG5ld09iai5pbmNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgaWYgKCFyZXN1bHQpXG4gICAgICAgICAgICByZXN1bHQgPSBuZXdPYmo7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIHN0YWNrLnB1c2goW2tleSwgb2JqLCBhcnJheV0pO1xuICAgICAgICAgICAgaWYgKGFsbG93UGFydGlhbCkge1xuICAgICAgICAgICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgICAgICAgICAgICBvYmoucHVzaChuZXdPYmopO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0gPSBuZXdPYmo7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9iaiA9IG5ld09iajtcbiAgICAgICAga2V5ID0gbmV3S2V5O1xuICAgICAgICBhcnJheSA9IGZhbHNlO1xuICAgICAgICArK2xldmVsO1xuICAgIH07XG4gICAgcGFyc2VyLm9ua2V5ID0gZnVuY3Rpb24gKG5ld0tleSkgeyByZXR1cm4ga2V5ID0gbmV3S2V5OyB9O1xuICAgIHBhcnNlci5vbnZhbHVlID0gZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBhcnJheSA/IG9iai5wdXNoKHZhbHVlKSA6IG9ialtrZXldID0gdmFsdWU7IH07XG4gICAgcGFyc2VyLm9uY2xvc2VvYmplY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgZGVsZXRlIG9iai5pbmNvbXBsZXRlO1xuICAgICAgICBrZXkgPSBudWxsO1xuICAgICAgICBpZiAoLS1sZXZlbCA9PT0gMCkge1xuICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgY29tcGxldGVkT2JqID0gb2JqO1xuICAgICAgICAgICAgX2EgPSBzdGFjay5wb3AoKSwga2V5ID0gX2FbMF0sIG9iaiA9IF9hWzFdLCBhcnJheSA9IF9hWzJdO1xuICAgICAgICAgICAgaWYgKCFhbGxvd1BhcnRpYWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2goY29tcGxldGVkT2JqKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gY29tcGxldGVkT2JqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgcGFyc2VyLm9ub3BlbmFycmF5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbmV3T2JqID0gW107XG4gICAgICAgIG5ld09iai5pbmNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgaWYgKCFyZXN1bHQpXG4gICAgICAgICAgICByZXN1bHQgPSBuZXdPYmo7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIHN0YWNrLnB1c2goW2tleSwgb2JqLCBhcnJheV0pO1xuICAgICAgICAgICAgaWYgKGFsbG93UGFydGlhbCkge1xuICAgICAgICAgICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgICAgICAgICAgICBvYmoucHVzaChuZXdPYmopO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0gPSBuZXdPYmo7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9iaiA9IG5ld09iajtcbiAgICAgICAgYXJyYXkgPSB0cnVlO1xuICAgICAgICBrZXkgPSBudWxsO1xuICAgICAgICArK2xldmVsO1xuICAgIH07XG4gICAgcGFyc2VyLm9uY2xvc2VhcnJheSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBkZWxldGUgb2JqLmluY29tcGxldGU7XG4gICAgICAgIGtleSA9IG51bGw7XG4gICAgICAgIGlmICgtLWxldmVsID09PSAwKSB7XG4gICAgICAgICAgICBkb25lID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjb21wbGV0ZWRPYmogPSBvYmo7XG4gICAgICAgICAgICBfYSA9IHN0YWNrLnBvcCgpLCBrZXkgPSBfYVswXSwgb2JqID0gX2FbMV0sIGFycmF5ID0gX2FbMl07XG4gICAgICAgICAgICBpZiAoIWFsbG93UGFydGlhbCkge1xuICAgICAgICAgICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgICAgICAgICAgICBvYmoucHVzaChjb21wbGV0ZWRPYmopO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0gPSBjb21wbGV0ZWRPYmo7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICB3cml0ZTogZnVuY3Rpb24gKGpzb25QYXJ0KSB7XG4gICAgICAgICAgICBwYXJzZXIud3JpdGUoanNvblBhcnQpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAgZG9uZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGRvbmU7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG52YXIgREVGQVVMVF9LSUxPQllURVNfUEVSX0NIVU5LID0gMTAyNDtcbmZ1bmN0aW9uIGltcG9ydERCKGV4cG9ydGVkRGF0YSwgb3B0aW9ucykge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIENIVU5LX1NJWkUsIHN0cmVhbSwgZGJFeHBvcnQsIGRiO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gQWxsIGJvb2xlYW5zIGRlZmF1bHRzIHRvIGZhbHNlLlxuICAgICAgICAgICAgICAgICAgICBDSFVOS19TSVpFID0gb3B0aW9ucy5jaHVua1NpemVCeXRlcyB8fCAoREVGQVVMVF9LSUxPQllURVNfUEVSX0NIVU5LICogMTAyNCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGxvYWRVbnRpbFdlR290RW5vdWdoRGF0YShleHBvcnRlZERhdGEsIENIVU5LX1NJWkUpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIHN0cmVhbSA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgZGJFeHBvcnQgPSBzdHJlYW0ucmVzdWx0LmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIGRiID0gbmV3IERleGllKGRiRXhwb3J0LmRhdGFiYXNlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGRiLnZlcnNpb24oZGJFeHBvcnQuZGF0YWJhc2VWZXJzaW9uKS5zdG9yZXMoZXh0cmFjdERiU2NoZW1hKGRiRXhwb3J0KSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGltcG9ydEludG8oZGIsIHN0cmVhbSwgb3B0aW9ucyldO1xuICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgZGJdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHBlYWtJbXBvcnRGaWxlKGV4cG9ydGVkRGF0YSkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHN0cmVhbTtcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgc3RyZWFtID0gSnNvblN0cmVhbShleHBvcnRlZERhdGEpO1xuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBpZiAoISFzdHJlYW0uZW9mKCkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBzdHJlYW0ucHVsbEFzeW5jKDUgKiAxMDI0KV07XG4gICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7IC8vIDUgayBpcyBub3JtYWxseSBlbm91Z2ggZm9yIHRoZSBoZWFkZXJzLiBJZiBub3QsIGl0IHdpbGwganVzdCBkbyBhbm90aGVyIGdvLlxuICAgICAgICAgICAgICAgICAgICBpZiAoc3RyZWFtLnJlc3VsdC5kYXRhICYmIHN0cmVhbS5yZXN1bHQuZGF0YS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gVFMgd29uJ3QgYWxsb3cgdXMgdG8gZGVsZXRlIGEgcmVxdWlyZWQgcHJvcGVydHkgLSBidXQgd2UgYXJlIGdvaW5nIHRvIGNhc3QgaXQuXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgc3RyZWFtLnJlc3VsdC5kYXRhLmRhdGE7IC8vIERvbid0IHJldHVybiBoYWxmLWJha2VkIGRhdGEgYXJyYXkuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAzXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAxXTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6IHJldHVybiBbMiAvKnJldHVybiovLCBzdHJlYW0ucmVzdWx0XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBpbXBvcnRJbnRvKGRiLCBleHBvcnRlZERhdGEsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZ1bmN0aW9uIGltcG9ydEFsbCgpIHtcbiAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2xvb3BfMSwgX2ksIF9hLCB0YWJsZUV4cG9ydCwgc3RhdGVfMTtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9iKSB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2IubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbG9vcF8xID0gZnVuY3Rpb24gKHRhYmxlRXhwb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0YWJsZU5hbWUsIHRhYmxlLCB0YWJsZVNjaGVtYVN0ciwgc291cmNlUm93cywgcm93cywgaSwgb2JqLCBmaWx0ZXIsIGZpbHRlcmVkUm93cywgX2EsIGtleXMsIHZhbHVlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChfYi5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZUV4cG9ydC5yb3dzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIFwiYnJlYWtcIl07IC8vIE5lZWQgdG8gcHVsbCBtb3JlIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRhYmxlRXhwb3J0LnJvd3MuaW5jb21wbGV0ZSAmJiB0YWJsZUV4cG9ydC5yb3dzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBcImNvbnRpbnVlXCJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvZ3Jlc3NDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU5hbWUgPSB0YWJsZUV4cG9ydC50YWJsZU5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlID0gZGIudGFibGUodGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY2hlbWFTdHIgPSBkYkV4cG9ydC50YWJsZXMuZmlsdGVyKGZ1bmN0aW9uICh0KSB7IHJldHVybiB0Lm5hbWUgPT09IHRhYmxlTmFtZTsgfSlbMF0uc2NoZW1hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuYWNjZXB0TWlzc2luZ1RhYmxlcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBvcnRlZCB0YWJsZSBcIiArIHRhYmxlRXhwb3J0LnRhYmxlTmFtZSArIFwiIGlzIG1pc3NpbmcgaW4gaW5zdGFsbGVkIGRhdGFiYXNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBcImNvbnRpbnVlXCJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5hY2NlcHRDaGFuZ2VkUHJpbWFyeUtleSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY2hlbWFTdHIuc3BsaXQoJywnKVswXSAhPSB0YWJsZS5zY2hlbWEucHJpbUtleS5zcmMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlByaW1hcnkga2V5IGRpZmZlcnMgZm9yIHRhYmxlIFwiICsgdGFibGVFeHBvcnQudGFibGVOYW1lICsgXCIuIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VSb3dzID0gdGFibGVFeHBvcnQucm93cztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlUm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqID0gc291cmNlUm93c1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqLmluY29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLnB1c2goVFNPTi5yZXZpdmUob2JqKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgPSBvcHRpb25zLmZpbHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRSb3dzID0gZmlsdGVyID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlRXhwb3J0LmluYm91bmQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3MuZmlsdGVyKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gZmlsdGVyKHRhYmxlTmFtZSwgdmFsdWUpOyB9KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cy5maWx0ZXIoZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBfYVswXSwgdmFsdWUgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcih0YWJsZU5hbWUsIHZhbHVlLCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hID0gdGFibGVFeHBvcnQuaW5ib3VuZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdW5kZWZpbmVkLCBmaWx0ZXJlZFJvd3NdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJlZFJvd3MubWFwKGZ1bmN0aW9uIChyb3cpIHsgcmV0dXJuIHJvd1swXTsgfSksIHJvd3MubWFwKGZ1bmN0aW9uIChyb3cpIHsgcmV0dXJuIHJvd1sxXTsgfSldLCBrZXlzID0gX2FbMF0sIHZhbHVlcyA9IF9hWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuY2xlYXJUYWJsZXNCZWZvcmVJbXBvcnQpIHJldHVybiBbMyAvKmJyZWFrKi8sIDJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCB0YWJsZS5jbGVhcigpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLm92ZXJ3cml0ZVZhbHVlcykgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIHRhYmxlLmJ1bGtQdXQodmFsdWVzLCBrZXlzKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDZdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDogcmV0dXJuIFs0IC8qeWllbGQqLywgdGFibGUuYnVsa0FkZCh2YWx1ZXMsIGtleXMpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSA2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MuY29tcGxldGVkUm93cyArPSByb3dzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyb3dzLmluY29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLmNvbXBsZXRlZFRhYmxlcyArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVJvd3Muc3BsaWNlKDAsIHJvd3MubGVuZ3RoKTsgLy8gRnJlZSB1cCBSQU0sIGtlZXAgZXhpc3RpbmcgYXJyYXkgaW5zdGFuY2UuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaSA9IDAsIF9hID0gZGJFeHBvcnQuZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoX2kgPCBfYS5sZW5ndGgpKSByZXR1cm4gWzMgLypicmVhayovLCA0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZUV4cG9ydCA9IF9hW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzUgLyp5aWVsZCoqLywgX2xvb3BfMSh0YWJsZUV4cG9ydCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlXzEgPSBfYi5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlXzEgPT09IFwiYnJlYWtcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgMV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXZvaWQgdW5uZXNjZXNzYXJ5IGxvb3BzIGluIFwiZm9yIChjb25zdCB0YWJsZUV4cG9ydCBvZiBkYkV4cG9ydC5kYXRhKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChkYkV4cG9ydC5kYXRhLmxlbmd0aCA+IDAgJiYgZGJFeHBvcnQuZGF0YVswXS5yb3dzICYmICFkYkV4cG9ydC5kYXRhWzBdLnJvd3MuaW5jb21wbGV0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSd2ZSBhbHJlYWR5IGltcG9ydGVkIGFsbCByb3dzIGZyb20gdGhlIGZpcnN0IHRhYmxlLiBEZWxldGUgaXRzIG9jY3VycmVuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGJFeHBvcnQuZGF0YS5zcGxpY2UoMCwgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKCFqc29uU3RyZWFtLmRvbmUoKSAmJiAhanNvblN0cmVhbS5lb2YoKSkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVhZEJsb2JzU3luY2hyb25vdXNseSkgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgY2FuIHB1bGwgZnJvbSBibG9iIHN5bmNocm9uaWNhbGx5LCB3ZSBkb24ndCBoYXZlIHRvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8ga2VlcCB0cmFuc2FjdGlvbiBhbGl2ZSB1c2luZyBEZXhpZS53YWl0Rm9yKCkuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB3aWxsIG9ubHkgYmUgcG9zc2libGUgaW4gd29ya2Vycy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uU3RyZWFtLnB1bGxTeW5jKENIVU5LX1NJWkUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDddO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OiByZXR1cm4gWzQgLyp5aWVsZCovLCBEZXhpZS53YWl0Rm9yKGpzb25TdHJlYW0ucHVsbEFzeW5jKENIVU5LX1NJWkUpKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLmxhYmVsID0gNztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNzogcmV0dXJuIFszIC8qYnJlYWsqLywgOV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDg6IHJldHVybiBbMyAvKmJyZWFrKi8sIDEwXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgOTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAwXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5sYWJlbCA9IDEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDogcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgQ0hVTktfU0laRSwganNvblN0cmVhbSwgZGJFeHBvcnRGaWxlLCByZWFkQmxvYnNTeW5jaHJvbm91c2x5LCBkYkV4cG9ydCwgcHJvZ3Jlc3NDYWxsYmFjaywgcHJvZ3Jlc3M7XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBBbGwgYm9vbGVhbnMgZGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICAgICAgICAgICAgICAgIENIVU5LX1NJWkUgPSBvcHRpb25zLmNodW5rU2l6ZUJ5dGVzIHx8IChERUZBVUxUX0tJTE9CWVRFU19QRVJfQ0hVTksgKiAxMDI0KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgbG9hZFVudGlsV2VHb3RFbm91Z2hEYXRhKGV4cG9ydGVkRGF0YSwgQ0hVTktfU0laRSldO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAganNvblN0cmVhbSA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgZGJFeHBvcnRGaWxlID0ganNvblN0cmVhbS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRCbG9ic1N5bmNocm9ub3VzbHkgPSAnRmlsZVJlYWRlclN5bmMnIGluIHNlbGY7XG4gICAgICAgICAgICAgICAgICAgIGRiRXhwb3J0ID0gZGJFeHBvcnRGaWxlLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5hY2NlcHROYW1lRGlmZiAmJiBkYi5uYW1lICE9PSBkYkV4cG9ydC5kYXRhYmFzZU5hbWUpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOYW1lIGRpZmZlcnMuIEN1cnJlbnQgZGF0YWJhc2UgbmFtZSBpcyBcIiArIGRiLm5hbWUgKyBcIiBidXQgZXhwb3J0IGlzIFwiICsgZGJFeHBvcnQuZGF0YWJhc2VOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmFjY2VwdFZlcnNpb25EaWZmICYmIGRiLnZlcm5vICE9PSBkYkV4cG9ydC5kYXRhYmFzZVZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBvc3NpYmxlIGZlYXR1cmU6IENhbGwgdXBncmFkZXJzIGluIHNvbWUgaXNvbGF0ZWQgd2F5IGlmIHRoaXMgaGFwcGVucy4uLiA/XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEYXRhYmFzZSB2ZXJzaW9uIGRpZmZlcnMuIEN1cnJlbnQgZGF0YWJhc2UgaXMgaW4gdmVyc2lvbiBcIiArIGRiLnZlcm5vICsgXCIgYnV0IGV4cG9ydCBpcyBcIiArIGRiRXhwb3J0LmRhdGFiYXNlVmVyc2lvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NDYWxsYmFjayA9IG9wdGlvbnMucHJvZ3Jlc3NDYWxsYmFjaztcbiAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZFJvd3M6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWRUYWJsZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFJvd3M6IGRiRXhwb3J0LnRhYmxlcy5yZWR1Y2UoZnVuY3Rpb24gKHAsIGMpIHsgcmV0dXJuIHAgKyBjLnJvd0NvdW50OyB9LCAwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsVGFibGVzOiBkYkV4cG9ydC50YWJsZXMubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzc0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBLZWVwIG9uZ29pbmcgdHJhbnNhY3Rpb24gcHJpdmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgRGV4aWUuaWdub3JlVHJhbnNhY3Rpb24oZnVuY3Rpb24gKCkgeyByZXR1cm4gcHJvZ3Jlc3NDYWxsYmFjayhwcm9ncmVzcyk7IH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5ub1RyYW5zYWN0aW9uKSByZXR1cm4gWzMgLypicmVhayovLCAzXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgaW1wb3J0QWxsKCldO1xuICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA1XTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6IHJldHVybiBbNCAvKnlpZWxkKi8sIGRiLnRyYW5zYWN0aW9uKCdydycsIGRiLnRhYmxlcywgaW1wb3J0QWxsKV07XG4gICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gNTtcbiAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLmRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvZ3Jlc3NDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gbG9hZFVudGlsV2VHb3RFbm91Z2hEYXRhKGV4cG9ydGVkRGF0YSwgQ0hVTktfU0laRSkge1xuICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHN0cmVhbSwgZGJFeHBvcnRGaWxlO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBzdHJlYW0gPSAoJ3NsaWNlJyBpbiBleHBvcnRlZERhdGEgP1xuICAgICAgICAgICAgICAgICAgICAgICAgSnNvblN0cmVhbShleHBvcnRlZERhdGEpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydGVkRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIGlmICghIXN0cmVhbS5lb2YoKSkgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIHN0cmVhbS5wdWxsQXN5bmMoQ0hVTktfU0laRSldO1xuICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RyZWFtLnJlc3VsdC5kYXRhICYmIHN0cmVhbS5yZXN1bHQuZGF0YS5kYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDFdO1xuICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgZGJFeHBvcnRGaWxlID0gc3RyZWFtLnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkYkV4cG9ydEZpbGUgfHwgZGJFeHBvcnRGaWxlLmZvcm1hdE5hbWUgIT0gXCJkZXhpZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2l2ZW4gZmlsZSBpcyBub3QgYSBkZXhpZSBleHBvcnRcIik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYkV4cG9ydEZpbGUuZm9ybWF0VmVyc2lvbiA+IFZFUlNJT04pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZvcm1hdCB2ZXJzaW9uIFwiICsgZGJFeHBvcnRGaWxlLmZvcm1hdFZlcnNpb24gKyBcIiBub3Qgc3VwcG9ydGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGJFeHBvcnRGaWxlLmRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGRhdGEgaW4gZXhwb3J0IGZpbGVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkYkV4cG9ydEZpbGUuZGF0YS5kYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZGF0YWJhc2VOYW1lIGluIGV4cG9ydCBmaWxlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGJFeHBvcnRGaWxlLmRhdGEuZGF0YWJhc2VWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGRhdGFiYXNlVmVyc2lvbiBpbiBleHBvcnQgZmlsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWRiRXhwb3J0RmlsZS5kYXRhLnRhYmxlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyB0YWJsZXMgaW4gZXhwb3J0IGZpbGVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHN0cmVhbV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG4vL1xuLy8gRXh0ZW5kIERleGllIGludGVyZmFjZSAocnVudGltZSB3aXNlKVxuLy9cbkRleGllLnByb3RvdHlwZS5leHBvcnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgIHJldHVybiBleHBvcnREQih0aGlzLCBvcHRpb25zKTtcbn07XG5EZXhpZS5wcm90b3R5cGUuaW1wb3J0ID0gZnVuY3Rpb24gKGJsb2IsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gaW1wb3J0SW50byh0aGlzLCBibG9iLCBvcHRpb25zKTtcbn07XG5EZXhpZS5pbXBvcnQgPSBmdW5jdGlvbiAoYmxvYiwgb3B0aW9ucykgeyByZXR1cm4gaW1wb3J0REIoYmxvYiwgb3B0aW9ucyk7IH07XG52YXIgZGV4aWVFeHBvcnRJbXBvcnQgPSAoZnVuY3Rpb24gKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgYWRkb24gZXh0ZW5kcyBEZXhpZS5wcm90b3R5cGUgZ2xvYmFsbHkgYW5kIGRvZXMgbm90IGhhdmUgYmUgaW5jbHVkZWQgaW4gRGV4aWUgY29uc3RydWN0b3IncyBhZGRvbnMgb3B0aW9ucy5cIik7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgZGV4aWVFeHBvcnRJbXBvcnQ7XG5leHBvcnQgeyBleHBvcnREQiwgaW1wb3J0REIsIGltcG9ydEludG8sIHBlYWtJbXBvcnRGaWxlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZXhpZS1leHBvcnQtaW1wb3J0Lm1qcy5tYXBcbiIsImV4cG9ydCB0eXBlIENvbWJhdGFudCA9IHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGpvYj86IHN0cmluZztcclxuICBzcGF3bjogbnVtYmVyO1xyXG4gIGRlc3Bhd246IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvZ1JlcG9zaXRvcnkge1xyXG4gIENvbWJhdGFudHM6IHsgW2lkOiBzdHJpbmddOiBDb21iYXRhbnQgfSA9IHt9O1xyXG4gIGZpcnN0VGltZXN0YW1wID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcblxyXG4gIHVwZGF0ZVRpbWVzdGFtcCh0aW1lc3RhbXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5maXJzdFRpbWVzdGFtcCA9IE1hdGgubWluKHRoaXMuZmlyc3RUaW1lc3RhbXAsIHRpbWVzdGFtcCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb21iYXRhbnQoaWQ6IHN0cmluZywgYzogQ29tYmF0YW50KTogdm9pZCB7XHJcbiAgICBpZCA9IGlkLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBpZiAoaWQgJiYgaWQubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBjb21iYXRhbnQgPSB0aGlzLkNvbWJhdGFudHNbaWRdO1xyXG4gICAgICBpZiAoY29tYmF0YW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb21iYXRhbnQgPSB7XHJcbiAgICAgICAgICBuYW1lOiBjLm5hbWUsXHJcbiAgICAgICAgICBqb2I6IGMuam9iLFxyXG4gICAgICAgICAgc3Bhd246IGMuc3Bhd24sXHJcbiAgICAgICAgICBkZXNwYXduOiBjLmRlc3Bhd24sXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLkNvbWJhdGFudHNbaWRdID0gY29tYmF0YW50O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbWJhdGFudC5uYW1lID0gYy5uYW1lID8/IGNvbWJhdGFudC5uYW1lO1xyXG4gICAgICAgIGNvbWJhdGFudC5qb2IgPSBjLmpvYiA/PyBjb21iYXRhbnQuam9iO1xyXG4gICAgICAgIGNvbWJhdGFudC5zcGF3biA9IE1hdGgubWluKGNvbWJhdGFudC5zcGF3biwgYy5zcGF3bik7XHJcbiAgICAgICAgY29tYmF0YW50LmRlc3Bhd24gPSBNYXRoLm1heChjb21iYXRhbnQuZGVzcGF3biwgYy5kZXNwYXduKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBFdmVudEJ1cyBieSBkZWZpbml0aW9uIHJlcXVpcmVzIGdlbmVyaWMgcGFyYW1ldGVycy5cclxuLy8gTWFwIG91ciBzdGFuZC1pbiBnZW5lcmljcyB0byBhY3R1YWwgZ2VuZXJpY3MgaGVyZS5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcclxudHlwZSBTY29wZSA9IG9iamVjdDtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxudHlwZSBQYXJhbSA9IGFueTtcclxuXHJcbnR5cGUgQ2FsbGJhY2tGdW5jdGlvbiA9ICguLi5hcmdzOiBQYXJhbSkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcclxudHlwZSBFdmVudE1hcEVudHJ5ID0ge1xyXG4gIGV2ZW50OiBzdHJpbmc7XHJcbiAgc2NvcGU6IFNjb3BlO1xyXG4gIGNhbGxiYWNrOiBDYWxsYmFja0Z1bmN0aW9uO1xyXG59O1xyXG50eXBlIEV2ZW50TWFwID0geyBbZXZlbnQ6IHN0cmluZ106IEV2ZW50TWFwRW50cnlbXSB9O1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHRoYXQgY2xhc3NlcyBjYW4gZXh0ZW5kIHRvIGluaGVyaXQgZXZlbnQgYnVzIGNhcGFiaWxpdGllcy5cclxuICogVGhpcyBhbGxvd3Mgb3RoZXIgY2xhc3NlcyB0byBsaXN0ZW4gZm9yIGV2ZW50cyB3aXRoIHRoZSBgb25gIGZ1bmN0aW9uLlxyXG4gKiBUaGUgaW5oZXJpdGluZyBjbGFzcyBjYW4gZmlyZSB0aG9zZSBldmVudHMgd2l0aCB0aGUgYGRpc3BhdGNoYCBmdW5jdGlvbi5cclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV2ZW50QnVzIHtcclxuICBwcml2YXRlIGxpc3RlbmVyczogRXZlbnRNYXAgPSB7fTtcclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gYW4gZXZlbnRcclxuICAgKlxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnQocykgdG8gc3Vic2NyaWJlIHRvLCBzcGFjZSBzZXBhcmF0ZWRcclxuICAgKiBAcGFyYW0gY2FsbGJhY2sgVGhlIGNhbGxiYWNrIHRvIGludm9rZVxyXG4gICAqIEBwYXJhbSBzY29wZSBPcHRpb25hbC4gVGhlIHNjb3BlIHRvIGFwcGx5IHRoZSBmdW5jdGlvbiBhZ2FpbnN0XHJcbiAgICogQHJldHVybnMgVGhlIGNhbGxiYWNrcyByZWdpc3RlcmVkIHRvIHRoZSBldmVudChzKVxyXG4gICAqL1xyXG4gIG9uKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrPzogQ2FsbGJhY2tGdW5jdGlvbiwgc2NvcGU/OiBTY29wZSk6IEV2ZW50TWFwRW50cnlbXSB7XHJcbiAgICBjb25zdCBldmVudHMgPSBldmVudC5zcGxpdCgnICcpO1xyXG4gICAgY29uc3QgcmV0OiBFdmVudE1hcEVudHJ5W10gPSBbXTtcclxuICAgIHNjb3BlID0gc2NvcGUgPz8gKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8ge30gOiB3aW5kb3cpO1xyXG4gICAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcclxuICAgICAgY29uc3QgZXZlbnRzOiBFdmVudE1hcEVudHJ5W10gPSB0aGlzLmxpc3RlbmVyc1tldmVudF0gPz89IFtdO1xyXG4gICAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZClcclxuICAgICAgICBldmVudHMucHVzaCh7IGV2ZW50OiBldmVudCwgc2NvcGU6IHNjb3BlLCBjYWxsYmFjazogY2FsbGJhY2sgfSk7XHJcbiAgICAgIHJldC5wdXNoKC4uLih0aGlzLmxpc3RlbmVyc1tldmVudF0gPz8gW10pKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXRjaCBhbiBldmVudCB0byBhbnkgc3Vic2NyaWJlcnNcclxuICAgKlxyXG4gICAqIEBwYXJhbSBldmVudCBUaGUgZXZlbnQgdG8gZGlzcGF0Y2hcclxuICAgKiBAcGFyYW0gZXZlbnRBcmd1bWVudHMgVGhlIGV2ZW50IGFyZ3VtZW50cyB0byBwYXNzIHRvIGxpc3RlbmVyc1xyXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IGNhbiBiZSBhd2FpdCdkIG9yIGlnbm9yZWRcclxuICAgKi9cclxuICBhc3luYyBkaXNwYXRjaChldmVudDogc3RyaW5nLCAuLi5ldmVudEFyZ3VtZW50czogUGFyYW0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmxpc3RlbmVyc1tldmVudF0gPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGZvciAoY29uc3QgbCBvZiB0aGlzLmxpc3RlbmVyc1tldmVudF0gPz8gW10pIHtcclxuICAgICAgY29uc3QgcmVzID0gbC5jYWxsYmFjay5hcHBseShsLnNjb3BlLCBldmVudEFyZ3VtZW50cyk7XHJcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShyZXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuR2FtZUxvZy5maWVsZHM7XHJcblxyXG4vLyBDaGF0IGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDAwIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBzcGVha2VyOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLnR5cGUgPSBwYXJ0c1tmaWVsZHMuY29kZV0gPz8gJyc7XHJcbiAgICB0aGlzLnNwZWFrZXIgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLm1lc3NhZ2UgPSBwYXJ0cy5zbGljZSg0LCAtMSkuam9pbignfCcpO1xyXG5cclxuICAgIC8vIFRoZSBleGFjdCByZWFzb24gZm9yIHRoaXMgY2hlY2sgaXNuJ3QgY2xlYXIgYW55bW9yZSBidXQgbWF5IGJlIHJlbGF0ZWQgdG9cclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yYXZhaG4vRkZYSVZfQUNUX1BsdWdpbi9pc3N1ZXMvMjUwXHJcbiAgICBpZiAodGhpcy5tZXNzYWdlLnNwbGl0KCdcXHUwMDFmXFx1MDAxZicpLmxlbmd0aCA+IDEpXHJcbiAgICAgIHRoaXMuaW52YWxpZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5jb252ZXJ0ZWRMaW5lID0gdGhpcy5wcmVmaXgoKSArIHRoaXMudHlwZSArICc6JyArXHJcbiAgICAgIHRoaXMuc3BlYWtlciArICc6JyArIHRoaXMubWVzc2FnZS50cmltKCk7XHJcbiAgICB0aGlzLmNvbnZlcnRlZExpbmUgPSBMaW5lRXZlbnQwMC5yZXBsYWNlQ2hhdFN5bWJvbHModGhpcy5jb252ZXJ0ZWRMaW5lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXBsYWNlQ2hhdFN5bWJvbHMobGluZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGZvciAoY29uc3QgcmVwIG9mIExpbmVFdmVudDAwLmNoYXRTeW1ib2xSZXBsYWNlbWVudHMpXHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocmVwLlNlYXJjaCwgcmVwLlJlcGxhY2UpO1xyXG5cclxuICAgIHJldHVybiBsaW5lO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNoYXRTeW1ib2xSZXBsYWNlbWVudHMgPSBbXHJcbiAgICB7XHJcbiAgICAgIFNlYXJjaDogL1xcdUUwNkYvZyxcclxuICAgICAgUmVwbGFjZTogJ+KHkicsXHJcbiAgICAgIFR5cGU6ICdTeW1ib2wnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgU2VhcmNoOiAvIFxcdUUwQkJcXHVFMDVDL2csXHJcbiAgICAgIFJlcGxhY2U6ICcgJyxcclxuICAgICAgVHlwZTogJ1Bvc2l0aXZlIEVmZmVjdCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBTZWFyY2g6IC8gXFx1RTBCQlxcdUUwNUIvZyxcclxuICAgICAgUmVwbGFjZTogJyAnLFxyXG4gICAgICBUeXBlOiAnTmVnYXRpdmUgRWZmZWN0JyxcclxuICAgIH0sXHJcbiAgXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDAwIGV4dGVuZHMgTGluZUV2ZW50MHgwMCB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uIGZyb20gJy4uLy4uL0VtdWxhdG9yQ29tbW9uJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuQ2hhbmdlWm9uZS5maWVsZHM7XHJcblxyXG4vLyBab25lIGNoYW5nZSBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgwMSBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHpvbmVJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB6b25lTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB6b25lTmFtZVByb3BlckNhc2U6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbmV0d29ya0xpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBuZXR3b3JrTGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuem9uZUlkID0gcGFydHNbZmllbGRzLmlkXSA/PyAnJztcclxuICAgIHRoaXMuem9uZU5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnpvbmVOYW1lUHJvcGVyQ2FzZSA9IEVtdWxhdG9yQ29tbW9uLnByb3BlckNhc2UodGhpcy56b25lTmFtZSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MDEgZXh0ZW5kcyBMaW5lRXZlbnQweDAxIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5DaGFuZ2VkUGxheWVyLmZpZWxkcztcclxuXHJcbi8vIFBsYXllciBjaGFuZ2UgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MDIgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MDIgZXh0ZW5kcyBMaW5lRXZlbnQweDAyIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdXRpbCc7XHJcbmltcG9ydCB7IEpvYiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2pvYic7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudEpvYkxldmVsLCBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5BZGRlZENvbWJhdGFudC5maWVsZHM7XHJcblxyXG4vLyBBZGRlZCBjb21iYXRhbnQgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MDMgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2UsIExpbmVFdmVudEpvYkxldmVsIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JJZEhleDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2I6IEpvYjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbGV2ZWxTdHJpbmc6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbGV2ZWw6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgb3duZXJJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB3b3JsZElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHdvcmxkTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBucGNOYW1lSWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbnBjQmFzZUlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc0pvYkxldmVsID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMuam9iSWRIZXggPSBwYXJ0c1tmaWVsZHMuam9iXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMuam9iSWQgPSBwYXJzZUludCh0aGlzLmpvYklkSGV4LCAxNik7XHJcbiAgICB0aGlzLmpvYiA9IFV0aWwuam9iRW51bVRvSm9iKHRoaXMuam9iSWQpO1xyXG4gICAgdGhpcy5sZXZlbFN0cmluZyA9IHBhcnRzW2ZpZWxkcy5sZXZlbF0gPz8gJyc7XHJcbiAgICB0aGlzLmxldmVsID0gcGFyc2VJbnQodGhpcy5sZXZlbFN0cmluZywgMTYpO1xyXG4gICAgdGhpcy5vd25lcklkID0gcGFydHNbZmllbGRzLm93bmVySWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy53b3JsZElkID0gcGFydHNbZmllbGRzLndvcmxkSWRdID8/ICcnO1xyXG4gICAgdGhpcy53b3JsZE5hbWUgPSBwYXJ0c1tmaWVsZHMud29ybGRdID8/ICcnO1xyXG4gICAgdGhpcy5ucGNOYW1lSWQgPSBwYXJ0c1tmaWVsZHMubnBjTmFtZUlkXSA/PyAnJztcclxuICAgIHRoaXMubnBjQmFzZUlkID0gcGFydHNbZmllbGRzLm5wY0Jhc2VJZF0gPz8gJyc7XHJcbiAgICB0aGlzLmhwID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuY3VycmVudEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heEhwID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaHBdID8/ICcnKTtcclxuICAgIHRoaXMubXAgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5jdXJyZW50TXBdID8/ICcnKTtcclxuICAgIHRoaXMubWF4TXAgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5tcF0gPz8gJycpO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMuaWQsIHtcclxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBqb2I6IHRoaXMuam9iSWRIZXgsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQwMyBleHRlbmRzIExpbmVFdmVudDB4MDMge31cclxuIiwiaW1wb3J0IHsgTGluZUV2ZW50MHgwMyB9IGZyb20gJy4vTGluZUV2ZW50MHgwMyc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG4vLyBSZW1vdmVkIGNvbWJhdGFudCBldmVudFxyXG4vLyBFeHRlbmQgdGhlIGFkZCBjb21iYXRhbnQgZXZlbnQgdG8gcmVkdWNlIGR1cGxpY2F0ZSBjb2RlIHNpbmNlIHRoZXkncmVcclxuLy8gdGhlIHNhbWUgZnJvbSBhIGRhdGEgcGVyc3BlY3RpdmVcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MDQgZXh0ZW5kcyBMaW5lRXZlbnQweDAzIHtcclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDA0IGV4dGVuZHMgTGluZUV2ZW50MHgwNCB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuUGxheWVyU3RhdHMuZmllbGRzO1xyXG5cclxuLy8gUGxheWVyIHN0YXRzIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDBDIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgY2xhc3M6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgc3RyZW5ndGg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGV4dGVyaXR5OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHZpdGFsaXR5OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGludGVsbGlnZW5jZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBtaW5kOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHBpZXR5OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGF0dGFja1Bvd2VyOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdEhpdDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBjcml0aWNhbEhpdDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBhdHRhY2tNYWdpY1BvdGVuY3k6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgaGVhbE1hZ2ljUG90ZW5jeTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkZXRlcm1pbmF0aW9uOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNraWxsU3BlZWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgc3BlbGxTcGVlZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZW5hY2l0eTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBsb2NhbENvbnRlbnRJZDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuY2xhc3MgPSBwYXJ0c1tmaWVsZHMuam9iXSA/PyAnJztcclxuICAgIHRoaXMuc3RyZW5ndGggPSBwYXJ0c1tmaWVsZHMuc3RyZW5ndGhdID8/ICcnO1xyXG4gICAgdGhpcy5kZXh0ZXJpdHkgPSBwYXJ0c1tmaWVsZHMuZGV4dGVyaXR5XSA/PyAnJztcclxuICAgIHRoaXMudml0YWxpdHkgPSBwYXJ0c1tmaWVsZHMudml0YWxpdHldID8/ICcnO1xyXG4gICAgdGhpcy5pbnRlbGxpZ2VuY2UgPSBwYXJ0c1tmaWVsZHMuaW50ZWxsaWdlbmNlXSA/PyAnJztcclxuICAgIHRoaXMubWluZCA9IHBhcnRzW2ZpZWxkcy5taW5kXSA/PyAnJztcclxuICAgIHRoaXMucGlldHkgPSBwYXJ0c1tmaWVsZHMucGlldHldID8/ICcnO1xyXG4gICAgdGhpcy5hdHRhY2tQb3dlciA9IHBhcnRzW2ZpZWxkcy5hdHRhY2tQb3dlcl0gPz8gJyc7XHJcbiAgICB0aGlzLmRpcmVjdEhpdCA9IHBhcnRzW2ZpZWxkcy5kaXJlY3RIaXRdID8/ICcnO1xyXG4gICAgdGhpcy5jcml0aWNhbEhpdCA9IHBhcnRzW2ZpZWxkcy5jcml0aWNhbEhpdF0gPz8gJyc7XHJcbiAgICB0aGlzLmF0dGFja01hZ2ljUG90ZW5jeSA9IHBhcnRzW2ZpZWxkcy5hdHRhY2tNYWdpY1BvdGVuY3ldID8/ICcnO1xyXG4gICAgdGhpcy5oZWFsTWFnaWNQb3RlbmN5ID0gcGFydHNbZmllbGRzLmhlYWxNYWdpY1BvdGVuY3ldID8/ICcnO1xyXG4gICAgdGhpcy5kZXRlcm1pbmF0aW9uID0gcGFydHNbZmllbGRzLmRldGVybWluYXRpb25dID8/ICcnO1xyXG4gICAgdGhpcy5za2lsbFNwZWVkID0gcGFydHNbZmllbGRzLnNraWxsU3BlZWRdID8/ICcnO1xyXG4gICAgdGhpcy5zcGVsbFNwZWVkID0gcGFydHNbZmllbGRzLnNwZWxsU3BlZWRdID8/ICcnO1xyXG4gICAgdGhpcy50ZW5hY2l0eSA9IHBhcnRzW2ZpZWxkcy50ZW5hY2l0eV0gPz8gJyc7XHJcbiAgICB0aGlzLmxvY2FsQ29udGVudElkID0gcGFydHNbZmllbGRzLmxvY2FsQ29udGVudElkXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQxMiBleHRlbmRzIExpbmVFdmVudDB4MEMge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudEFiaWxpdHksIExpbmVFdmVudFNvdXJjZSwgTGluZUV2ZW50VGFyZ2V0IH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuU3RhcnRzVXNpbmcuZmllbGRzO1xyXG5cclxuLy8gU2hvcnRlbiBhIGZldyB0eXBlcyBzbyBkcHJpbnQgZG9lc24ndCBjb21wbGFpbiB3aGVuIHRoZSBsaW5lIGdldHMgdG9vIGxvbmcuXHJcbnR5cGUgTEVTb3VyY2UgPSBMaW5lRXZlbnRTb3VyY2U7XHJcbnR5cGUgTEVUYXJnZXQgPSBMaW5lRXZlbnRUYXJnZXQ7XHJcbnR5cGUgTEVBYmlsaXR5ID0gTGluZUV2ZW50QWJpbGl0eTtcclxuXHJcbi8vIEFiaWxpdHkgdXNlIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDE0IGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTEVTb3VyY2UsIExFVGFyZ2V0LCBMRUFiaWxpdHkge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGFiaWxpdHlJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBhYmlsaXR5SWRIZXg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgYWJpbGl0eU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB4OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgejogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNUYXJnZXQgPSB0cnVlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc0FiaWxpdHkgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuc291cmNlSWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLnNvdXJjZV0gPz8gJyc7XHJcbiAgICB0aGlzLmFiaWxpdHlJZEhleCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLmFiaWxpdHlJZCA9IHBhcnNlSW50KHRoaXMuYWJpbGl0eUlkSGV4KTtcclxuICAgIHRoaXMuYWJpbGl0eU5hbWUgPSBwYXJ0c1tmaWVsZHMuYWJpbGl0eV0gPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldElkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0TmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXRdID8/ICcnO1xyXG4gICAgdGhpcy5kdXJhdGlvbiA9IHBhcnRzW2ZpZWxkcy5jYXN0VGltZV0gPz8gJyc7XHJcbiAgICB0aGlzLnggPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy54XSA/PyAnJyk7XHJcbiAgICB0aGlzLnkgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy55XSA/PyAnJyk7XHJcbiAgICB0aGlzLnogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy56XSA/PyAnJyk7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5oZWFkaW5nXSA/PyAnJyk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5pZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy50YXJnZXRJZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy50YXJnZXROYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjAgZXh0ZW5kcyBMaW5lRXZlbnQweDE0IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRBYmlsaXR5LCBMaW5lRXZlbnRTb3VyY2UsIExpbmVFdmVudFRhcmdldCB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkFiaWxpdHkuZmllbGRzO1xyXG5cclxuLy8gU2hvcnRlbiBhIGZldyB0eXBlcyBzbyBkcHJpbnQgZG9lc24ndCBjb21wbGFpbiB3aGVuIHRoZSBsaW5lIGdldHMgdG9vIGxvbmcuXHJcbnR5cGUgTEVTb3VyY2UgPSBMaW5lRXZlbnRTb3VyY2U7XHJcbnR5cGUgTEVUYXJnZXQgPSBMaW5lRXZlbnRUYXJnZXQ7XHJcbnR5cGUgTEVBYmlsaXR5ID0gTGluZUV2ZW50QWJpbGl0eTtcclxuXHJcbi8vIEFiaWxpdHkgaGl0IHNpbmdsZSB0YXJnZXQgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MTUgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMRVNvdXJjZSwgTEVUYXJnZXQsIExFQWJpbGl0eSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhbWFnZTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGFiaWxpdHlJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBhYmlsaXR5TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGZsYWdzOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldFg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0WTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRaOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldEhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4SHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4TXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB5OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHo6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGluZzogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzVGFyZ2V0ID0gdHJ1ZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNBYmlsaXR5ID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLnNvdXJjZUlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VdID8/ICcnO1xyXG5cclxuICAgIHRoaXMuZmxhZ3MgPSBwYXJ0c1tmaWVsZHMuZmxhZ3NdID8/ICcnO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkT2Zmc2V0ID0gdGhpcy5mbGFncyA9PT0gJzNGJyA/IDIgOiAwO1xyXG5cclxuICAgIHRoaXMuZGFtYWdlID0gTGluZUV2ZW50LmNhbGN1bGF0ZURhbWFnZShwYXJ0c1tmaWVsZHMuZGFtYWdlICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMuYWJpbGl0eUlkID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJyk7XHJcbiAgICB0aGlzLmFiaWxpdHlOYW1lID0gcGFydHNbZmllbGRzLmFiaWxpdHldID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXRJZCA9IHBhcnRzW2ZpZWxkcy50YXJnZXRJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldE5hbWUgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0XSA/PyAnJztcclxuXHJcbiAgICB0aGlzLnRhcmdldEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnRhcmdldEN1cnJlbnRIcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnRhcmdldE1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnRhcmdldE1heEhwICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMudGFyZ2V0TXAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMudGFyZ2V0Q3VycmVudE1wICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMudGFyZ2V0TWF4TXAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMudGFyZ2V0TWF4TXAgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy50YXJnZXRYID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMudGFyZ2V0WCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnRhcmdldFkgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy50YXJnZXRZICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMudGFyZ2V0WiA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnRhcmdldFogKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy50YXJnZXRIZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMudGFyZ2V0SGVhZGluZyArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcblxyXG4gICAgdGhpcy5ocCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jdXJyZW50SHAgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhIcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhIcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmN1cnJlbnRNcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heE1wICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMueCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnggKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueSArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy56ICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMuaGVhZGluZyA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLmhlYWRpbmcgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5pZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy50YXJnZXRJZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy50YXJnZXROYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjEgZXh0ZW5kcyBMaW5lRXZlbnQweDE1IHt9XHJcbiIsImltcG9ydCB7IExpbmVFdmVudDB4MTUgfSBmcm9tICcuL0xpbmVFdmVudDB4MTUnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuLy8gQWJpbGl0eSBoaXQgbXVsdGlwbGUvbm8gdGFyZ2V0IGV2ZW50XHJcbi8vIER1cGxpY2F0ZSBvZiAweDE1IGFzIGZhciBhcyBkYXRhXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDE2IGV4dGVuZHMgTGluZUV2ZW50MHgxNSB7XHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyMiBleHRlbmRzIExpbmVFdmVudDB4MTYge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudEFiaWxpdHksIExpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLk5ldHdvcmtDYW5jZWxBYmlsaXR5LmZpZWxkcztcclxuXHJcbi8vIENhbmNlbCBhYmlsaXR5IGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDE3IGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTGluZUV2ZW50U291cmNlLCBMaW5lRXZlbnRBYmlsaXR5IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBhYmlsaXR5SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgYWJpbGl0eU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcmVhc29uOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNBYmlsaXR5ID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLnNvdXJjZUlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMuYWJpbGl0eUlkID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJyk7XHJcbiAgICB0aGlzLmFiaWxpdHlOYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy5yZWFzb24gPSBwYXJ0c1tmaWVsZHMucmVhc29uXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyMyBleHRlbmRzIExpbmVFdmVudDB4MTcge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLk5ldHdvcmtEb1QuZmllbGRzO1xyXG5cclxuLy8gRG9UL0hvVCBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxOCBleHRlbmRzIExpbmVFdmVudCBpbXBsZW1lbnRzIExpbmVFdmVudFNvdXJjZSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgd2hpY2g6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZWZmZWN0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGFtYWdlOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG5cclxuICAgIHRoaXMud2hpY2ggPSBwYXJ0c1tmaWVsZHMud2hpY2hdID8/ICcnO1xyXG4gICAgdGhpcy5lZmZlY3RJZCA9IHBhcnRzW2ZpZWxkcy5lZmZlY3RJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICBjb25zdCBkYW1hZ2VTdHJpbmcgPSBwYXJ0c1tmaWVsZHMuZGFtYWdlXSA/PyAnJztcclxuICAgIHRoaXMuZGFtYWdlID0gcGFyc2VJbnQoZGFtYWdlU3RyaW5nLCAxNik7XHJcblxyXG4gICAgdGhpcy5ocCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jdXJyZW50SHBdID8/ICcnKTtcclxuICAgIHRoaXMubWF4SHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMubWF4SHBdID8/ICcnKTtcclxuICAgIHRoaXMubXAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLnggPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy54XSA/PyAnJyk7XHJcbiAgICB0aGlzLnkgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy55XSA/PyAnJyk7XHJcbiAgICB0aGlzLnogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy56XSA/PyAnJyk7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5oZWFkaW5nXSA/PyAnJyk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5pZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjQgZXh0ZW5kcyBMaW5lRXZlbnQweDE4IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5XYXNEZWZlYXRlZC5maWVsZHM7XHJcblxyXG4vLyBDb21iYXRhbnQgZGVmZWF0ZWQgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MTkgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZUlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLnRhcmdldElkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0TmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXRdID8/ICcnO1xyXG4gICAgdGhpcy5zb3VyY2VJZCA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLnNvdXJjZU5hbWUgPSBwYXJ0c1tmaWVsZHMuc291cmNlXSA/PyAnJztcclxuXHJcbiAgICByZXBvLnVwZGF0ZUNvbWJhdGFudCh0aGlzLnNvdXJjZUlkLCB7XHJcbiAgICAgIGpvYjogdW5kZWZpbmVkLFxyXG4gICAgICBuYW1lOiB0aGlzLnNvdXJjZU5hbWUsXHJcbiAgICAgIHNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgZGVzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXBvLnVwZGF0ZUNvbWJhdGFudCh0aGlzLnRhcmdldElkLCB7XHJcbiAgICAgIGpvYjogdW5kZWZpbmVkLFxyXG4gICAgICBuYW1lOiB0aGlzLnRhcmdldE5hbWUsXHJcbiAgICAgIHNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgZGVzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyNSBleHRlbmRzIExpbmVFdmVudDB4MTkge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkdhaW5zRWZmZWN0LmZpZWxkcztcclxuXHJcbi8vIEdhaW4gc3RhdHVzIGVmZmVjdCBldmVudFxyXG4vLyBEZWxpYmVyYXRlbHkgZG9uJ3QgZmxhZyB0aGlzIGFzIExpbmVFdmVudFNvdXJjZSBvciBMaW5lRXZlbnRUYXJnZXRcclxuLy8gYmVjYXVzZSAweDFBIGxpbmUgdmFsdWVzIGFyZW4ndCBhY2N1cmF0ZVxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxQSBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGVmZmVjdElkOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGVmZmVjdDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvbkZsb2F0OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGR1cmF0aW9uU3RyaW5nOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TWF4SHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlTWF4SHA6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmVmZmVjdElkID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmVmZmVjdElkXT8udG9VcHBlckNhc2UoKSA/PyAnJyk7XHJcbiAgICB0aGlzLmVmZmVjdCA9IHBhcnRzW2ZpZWxkcy5lZmZlY3RdID8/ICcnO1xyXG4gICAgdGhpcy5kdXJhdGlvblN0cmluZyA9IHBhcnRzW2ZpZWxkcy5kdXJhdGlvbl0gPz8gJyc7XHJcbiAgICB0aGlzLmR1cmF0aW9uRmxvYXQgPSBwYXJzZUZsb2F0KHRoaXMuZHVyYXRpb25TdHJpbmcpO1xyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMuc291cmNlXSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0SWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXROYW1lID0gcGFydHNbZmllbGRzLnRhcmdldF0gPz8gJyc7XHJcbiAgICB0aGlzLnN0YWNrcyA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jb3VudF0gPz8gJzAnKTtcclxuICAgIHRoaXMudGFyZ2V0TWF4SHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMudGFyZ2V0TWF4SHBdID8/ICcnKTtcclxuICAgIHRoaXMuc291cmNlTWF4SHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuc291cmNlTWF4SHBdID8/ICcnKTtcclxuXHJcbiAgICByZXBvLnVwZGF0ZUNvbWJhdGFudCh0aGlzLmlkLCB7XHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXBvLnVwZGF0ZUNvbWJhdGFudCh0aGlzLnRhcmdldElkLCB7XHJcbiAgICAgIG5hbWU6IHRoaXMudGFyZ2V0TmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyNiBleHRlbmRzIExpbmVFdmVudDB4MUEge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkhlYWRNYXJrZXIuZmllbGRzO1xyXG5cclxuLy8gSGVhZCBtYXJrZXIgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MUIgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRtYXJrZXJJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy50YXJnZXRJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0XSA/PyAnJztcclxuICAgIHRoaXMuaGVhZG1hcmtlcklkID0gcGFydHNbZmllbGRzLmlkXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyNyBleHRlbmRzIExpbmVFdmVudDB4MUIge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLk5ldHdvcmtSYWlkTWFya2VyLmZpZWxkcztcclxuXHJcbi8vIEZsb29yIHdheW1hcmtlciBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxQyBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB3YXltYXJrOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgeDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB5OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHo6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLm9wZXJhdGlvbiA9IHBhcnRzW2ZpZWxkcy5vcGVyYXRpb25dID8/ICcnO1xyXG4gICAgdGhpcy53YXltYXJrID0gcGFydHNbZmllbGRzLndheW1hcmtdID8/ICcnO1xyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnggPSBwYXJ0c1tmaWVsZHMueF0gPz8gJyc7XHJcbiAgICB0aGlzLnkgPSBwYXJ0c1tmaWVsZHMueV0gPz8gJyc7XHJcbiAgICB0aGlzLnogPSBwYXJ0c1tmaWVsZHMuel0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjggZXh0ZW5kcyBMaW5lRXZlbnQweDFDIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrVGFyZ2V0TWFya2VyLmZpZWxkcztcclxuXHJcbi8vIFdheW1hcmtlclxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxRCBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB3YXltYXJrOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMub3BlcmF0aW9uID0gcGFydHNbZmllbGRzLm9wZXJhdGlvbl0gPz8gJyc7XHJcbiAgICB0aGlzLndheW1hcmsgPSBwYXJ0c1tmaWVsZHMud2F5bWFya10gPz8gJyc7XHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0SWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXROYW1lID0gcGFydHNbZmllbGRzLnRhcmdldE5hbWVdID8/ICcnO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDI5IGV4dGVuZHMgTGluZUV2ZW50MHgxRCB7fVxyXG4iLCJpbXBvcnQgeyBMaW5lRXZlbnQweDFBIH0gZnJvbSAnLi9MaW5lRXZlbnQweDFBJztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbi8vIExvc2Ugc3RhdHVzIGVmZmVjdCBldmVudFxyXG4vLyBFeHRlbmQgdGhlIGdhaW4gc3RhdHVzIGV2ZW50IHRvIHJlZHVjZSBkdXBsaWNhdGUgY29kZSBzaW5jZSB0aGV5J3JlXHJcbi8vIHRoZSBzYW1lIGZyb20gYSBkYXRhIHBlcnNwZWN0aXZlXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDFFIGV4dGVuZHMgTGluZUV2ZW50MHgxQSB7XHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQzMCBleHRlbmRzIExpbmVFdmVudDB4MUUge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiBmcm9tICcuLi8uLi9FbXVsYXRvckNvbW1vbic7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IHNwbGl0RnVuYyA9IChzOiBzdHJpbmcpID0+IFtcclxuICBzLnN1YnN0cig2LCAyKSxcclxuICBzLnN1YnN0cig0LCAyKSxcclxuICBzLnN1YnN0cigyLCAyKSxcclxuICBzLnN1YnN0cigwLCAyKSxcclxuXTtcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLk5ldHdvcmtHYXVnZS5maWVsZHM7XHJcblxyXG4vLyBKb2IgZ2F1Z2UgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MUYgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JHYXVnZUJ5dGVzOiBzdHJpbmdbXTtcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUJ5dGVzMTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQnl0ZXMyOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFCeXRlczM6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUJ5dGVzNDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5kYXRhQnl0ZXMxID0gRW11bGF0b3JDb21tb24uemVyb1BhZChwYXJ0c1tmaWVsZHMuZGF0YTBdID8/ICcnKTtcclxuICAgIHRoaXMuZGF0YUJ5dGVzMiA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQocGFydHNbZmllbGRzLmRhdGExXSA/PyAnJyk7XHJcbiAgICB0aGlzLmRhdGFCeXRlczMgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKHBhcnRzW2ZpZWxkcy5kYXRhMl0gPz8gJycpO1xyXG4gICAgdGhpcy5kYXRhQnl0ZXM0ID0gRW11bGF0b3JDb21tb24uemVyb1BhZChwYXJ0c1tmaWVsZHMuZGF0YTNdID8/ICcnKTtcclxuXHJcbiAgICB0aGlzLmpvYkdhdWdlQnl0ZXMgPSBbXHJcbiAgICAgIC4uLnNwbGl0RnVuYyh0aGlzLmRhdGFCeXRlczEpLFxyXG4gICAgICAuLi5zcGxpdEZ1bmModGhpcy5kYXRhQnl0ZXMyKSxcclxuICAgICAgLi4uc3BsaXRGdW5jKHRoaXMuZGF0YUJ5dGVzMyksXHJcbiAgICAgIC4uLnNwbGl0RnVuYyh0aGlzLmRhdGFCeXRlczQpLFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLm5hbWUgPSByZXBvLkNvbWJhdGFudHNbdGhpcy5pZF0/Lm5hbWUgfHwgJyc7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5pZCwge1xyXG4gICAgICBuYW1lOiByZXBvLkNvbWJhdGFudHNbdGhpcy5pZF0/Lm5hbWUsXHJcbiAgICAgIHNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgZGVzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGpvYjogdGhpcy5qb2JHYXVnZUJ5dGVzWzBdPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzEgZXh0ZW5kcyBMaW5lRXZlbnQweDFGIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OYW1lVG9nZ2xlLmZpZWxkcztcclxuXHJcbi8vIE5hbWVwbGF0ZSB0b2dnbGVcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjIgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0YWJsZTogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXRJZCA9IHBhcnRzW2ZpZWxkcy50YXJnZXRJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldE5hbWUgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0TmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldGFibGUgPSAhIXBhcnNlSW50KHBhcnRzW2ZpZWxkcy50b2dnbGVdID8/ICcnLCAxNik7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzQgZXh0ZW5kcyBMaW5lRXZlbnQweDIyIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5UZXRoZXIuZmllbGRzO1xyXG5cclxuLy8gVGV0aGVyIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDIzIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRldGhlcklkOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMuc291cmNlXSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0SWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXROYW1lID0gcGFydHNbZmllbGRzLnRhcmdldF0gPz8gJyc7XHJcbiAgICB0aGlzLnRldGhlcklkID0gcGFydHNbZmllbGRzLmlkXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQzNSBleHRlbmRzIExpbmVFdmVudDB4MjMge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkxpbWl0QnJlYWsuZmllbGRzO1xyXG5cclxuLy8gTGltaXQgZ2F1Z2UgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjQgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZUhleDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZURlYzogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBiYXJzOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy52YWx1ZUhleCA9IHBhcnRzW2ZpZWxkcy52YWx1ZUhleF0gPz8gJyc7XHJcbiAgICB0aGlzLnZhbHVlRGVjID0gcGFyc2VJbnQodGhpcy52YWx1ZUhleCwgMTYpO1xyXG4gICAgdGhpcy5iYXJzID0gcGFydHNbZmllbGRzLmJhcnNdID8/ICcnO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDM2IGV4dGVuZHMgTGluZUV2ZW50MHgyNCB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgTGluZUV2ZW50U291cmNlIH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuTmV0d29ya0VmZmVjdFJlc3VsdC5maWVsZHM7XHJcblxyXG4vLyBBY3Rpb24gc3luYyBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgyNSBleHRlbmRzIExpbmVFdmVudCBpbXBsZW1lbnRzIExpbmVFdmVudFNvdXJjZSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VxdWVuY2VJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBocDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB4OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgejogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMuc2VxdWVuY2VJZCA9IHBhcnRzW2ZpZWxkcy5zZXF1ZW5jZUlkXSA/PyAnJztcclxuICAgIHRoaXMuaHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmN1cnJlbnRNcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhNcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhNcF0gPz8gJycpO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDM3IGV4dGVuZHMgTGluZUV2ZW50MHgyNSB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IFV0aWwgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3V0aWwnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9qb2InO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24gZnJvbSAnLi4vLi4vRW11bGF0b3JDb21tb24nO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRKb2JMZXZlbCwgTGluZUV2ZW50U291cmNlIH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuU3RhdHVzRWZmZWN0LmZpZWxkcztcclxuXHJcbi8vIE5ldHdvcmsgc3RhdHVzIGVmZmVjdCBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgyNiBleHRlbmRzIExpbmVFdmVudCBpbXBsZW1lbnRzIExpbmVFdmVudFNvdXJjZSwgTGluZUV2ZW50Sm9iTGV2ZWwge1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JJZEhleDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2I6IEpvYjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbGV2ZWw6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBqb2JMZXZlbERhdGE6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgaHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4SHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4TXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB5OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHo6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGluZzogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzSm9iTGV2ZWwgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLnRhcmdldF0gPz8gJyc7XHJcblxyXG4gICAgdGhpcy5qb2JMZXZlbERhdGEgPSBwYXJ0c1tmaWVsZHMuam9iTGV2ZWxEYXRhXSA/PyAnJztcclxuXHJcbiAgICB0aGlzLmhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLnggPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy54XSA/PyAnJyk7XHJcbiAgICB0aGlzLnkgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy55XSA/PyAnJyk7XHJcbiAgICB0aGlzLnogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy56XSA/PyAnJyk7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5oZWFkaW5nXSA/PyAnJyk7XHJcblxyXG4gICAgY29uc3QgcGFkZGVkID0gRW11bGF0b3JDb21tb24uemVyb1BhZCh0aGlzLmpvYkxldmVsRGF0YSwgOCk7XHJcblxyXG4gICAgdGhpcy5qb2JJZEhleCA9IHBhZGRlZC5zdWJzdHIoNiwgMikudG9VcHBlckNhc2UoKTtcclxuICAgIHRoaXMuam9iSWQgPSBwYXJzZUludCh0aGlzLmpvYklkSGV4LCAxNik7XHJcbiAgICB0aGlzLmpvYiA9IFV0aWwuam9iRW51bVRvSm9iKHRoaXMuam9iSWQpO1xyXG5cclxuICAgIHRoaXMubGV2ZWwgPSBwYXJzZUludChwYWRkZWQuc3Vic3RyKDQsIDIpLCAxNik7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzggZXh0ZW5kcyBMaW5lRXZlbnQweDI2IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrVXBkYXRlSFAuZmllbGRzO1xyXG5cclxuLy8gTmV0d29yayB1cGRhdGUgaHAgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjcgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy5ocCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jdXJyZW50SHBdID8/ICcnKTtcclxuICAgIHRoaXMubWF4SHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMubWF4SHBdID8/ICcnKTtcclxuICAgIHRoaXMubXAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLnggPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy54XSA/PyAnJyk7XHJcbiAgICB0aGlzLnkgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy55XSA/PyAnJyk7XHJcbiAgICB0aGlzLnogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy56XSA/PyAnJyk7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5oZWFkaW5nXSA/PyAnJyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzkgZXh0ZW5kcyBMaW5lRXZlbnQweDI3IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5NYXAuZmllbGRzO1xyXG5cclxuLy8gQ2hhbmdlTWFwIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDI4IGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcmVnaW9uTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBwbGFjZU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcGxhY2VOYW1lU3ViOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0gPz8gJyc7XHJcbiAgICB0aGlzLnJlZ2lvbk5hbWUgPSBwYXJ0c1tmaWVsZHMucmVnaW9uTmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnBsYWNlTmFtZSA9IHBhcnRzW2ZpZWxkcy5wbGFjZU5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy5wbGFjZU5hbWVTdWIgPSBwYXJ0c1tmaWVsZHMucGxhY2VOYW1lU3ViXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQ0MCBleHRlbmRzIExpbmVFdmVudDB4Mjgge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLlN5c3RlbUxvZ01lc3NhZ2UuZmllbGRzO1xyXG5cclxuLy8gU3lzdGVtTG9nTWVzc2FnZSBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgyOSBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtMDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBwYXJhbTE6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW0yOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pbnN0YW5jZSA9IHBhcnRzW2ZpZWxkcy5pbnN0YW5jZV0gPz8gJyc7XHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXSA/PyAnJztcclxuICAgIHRoaXMucGFyYW0wID0gcGFydHNbZmllbGRzLnBhcmFtMF0gPz8gJyc7XHJcbiAgICB0aGlzLnBhcmFtMSA9IHBhcnRzW2ZpZWxkcy5wYXJhbTFdID8/ICcnO1xyXG4gICAgdGhpcy5wYXJhbTIgPSBwYXJ0c1tmaWVsZHMucGFyYW0yXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQ0MSBleHRlbmRzIExpbmVFdmVudDB4Mjkge31cclxuIiwiaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDAwIH0gZnJvbSAnLi9MaW5lRXZlbnQweDAwJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MDEgfSBmcm9tICcuL0xpbmVFdmVudDB4MDEnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQwMiB9IGZyb20gJy4vTGluZUV2ZW50MHgwMic7XHJcbmltcG9ydCB7IExpbmVFdmVudDAzIH0gZnJvbSAnLi9MaW5lRXZlbnQweDAzJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MDQgfSBmcm9tICcuL0xpbmVFdmVudDB4MDQnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQxMiB9IGZyb20gJy4vTGluZUV2ZW50MHgwQyc7XHJcbmltcG9ydCB7IExpbmVFdmVudDIwIH0gZnJvbSAnLi9MaW5lRXZlbnQweDE0JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjEgfSBmcm9tICcuL0xpbmVFdmVudDB4MTUnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyMiB9IGZyb20gJy4vTGluZUV2ZW50MHgxNic7XHJcbmltcG9ydCB7IExpbmVFdmVudDIzIH0gZnJvbSAnLi9MaW5lRXZlbnQweDE3JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjQgfSBmcm9tICcuL0xpbmVFdmVudDB4MTgnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyNSB9IGZyb20gJy4vTGluZUV2ZW50MHgxOSc7XHJcbmltcG9ydCB7IExpbmVFdmVudDI2IH0gZnJvbSAnLi9MaW5lRXZlbnQweDFBJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjcgfSBmcm9tICcuL0xpbmVFdmVudDB4MUInO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyOCB9IGZyb20gJy4vTGluZUV2ZW50MHgxQyc7XHJcbmltcG9ydCB7IExpbmVFdmVudDI5IH0gZnJvbSAnLi9MaW5lRXZlbnQweDFEJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzAgfSBmcm9tICcuL0xpbmVFdmVudDB4MUUnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQzMSB9IGZyb20gJy4vTGluZUV2ZW50MHgxRic7XHJcbmltcG9ydCB7IExpbmVFdmVudDM0IH0gZnJvbSAnLi9MaW5lRXZlbnQweDIyJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzUgfSBmcm9tICcuL0xpbmVFdmVudDB4MjMnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQzNiB9IGZyb20gJy4vTGluZUV2ZW50MHgyNCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDM3IH0gZnJvbSAnLi9MaW5lRXZlbnQweDI1JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzggfSBmcm9tICcuL0xpbmVFdmVudDB4MjYnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQzOSB9IGZyb20gJy4vTGluZUV2ZW50MHgyNyc7XHJcbmltcG9ydCB7IExpbmVFdmVudDQwIH0gZnJvbSAnLi9MaW5lRXZlbnQweDI4JztcclxuaW1wb3J0IHsgTGluZUV2ZW50NDEgfSBmcm9tICcuL0xpbmVFdmVudDB4MjknO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFyc2VMaW5lIHtcclxuICBzdGF0aWMgcGFyc2UocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nKTogTGluZUV2ZW50IHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCByZXQ7XHJcblxyXG4gICAgY29uc3QgcGFydHMgPSBsaW5lLnNwbGl0KCd8Jyk7XHJcbiAgICBjb25zdCBldmVudCA9IHBhcnRzWzBdO1xyXG5cclxuICAgIC8vIERvbid0IHBhcnNlIHJhdyBuZXR3b3JrIHBhY2tldCBsaW5lc1xyXG4gICAgaWYgKCFldmVudCB8fCBldmVudCA9PT0gJzI1MicpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBUaGlzIGlzIHVnbHksIGJ1dCBXZWJwYWNrIHByZWZlcnMgYmVpbmcgZXhwbGljaXRcclxuICAgIHN3aXRjaCAoJ0xpbmVFdmVudCcgKyBldmVudCkge1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQwMCc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDAwKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MDEnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQwMShyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDAyJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MDIocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQwMyc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDAzKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MDQnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQwNChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDEyJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MTIocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyMCc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDIwKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjEnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyMShyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDIyJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjIocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyMyc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDIzKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjQnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyNChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDI1JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjUocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyNic6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDI2KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjcnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyNyhyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDI4JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjgocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyOSc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDI5KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MzAnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQzMChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDMxJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzEocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQzNCc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDM0KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MzUnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQzNShyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDM2JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzYocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQzNyc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDM3KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MzgnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQzOChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDM5JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzkocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQ0MCc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDQwKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50NDEnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQ0MShyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWxzbyBkb24ndCBwYXJzZSBsaW5lcyB3aXRoIGEgbm9uLXNhbmUgZGF0ZS4gVGhpcyBpcyAyMDAwLTAxLTAxIDAwOjAwOjAwXHJcbiAgICBpZiAocmV0ICYmIHJldC50aW1lc3RhbXAgPCA5NDY2ODQ4MDApXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBGaW5hbGx5LCBpZiB0aGUgb2JqZWN0IG1hcmtzIGl0c2VsZiBhcyBpbnZhbGlkLCBza2lwIGl0XHJcbiAgICBpZiAocmV0ICYmIHJldC5pbnZhbGlkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IEV2ZW50QnVzIGZyb20gJy4uL0V2ZW50QnVzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTG9nUmVwb3NpdG9yeSc7XHJcbmltcG9ydCBQYXJzZUxpbmUgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvUGFyc2VMaW5lJztcclxuXHJcbmNvbnN0IGlzTGluZUV2ZW50ID0gKGxpbmU/OiBMaW5lRXZlbnQpOiBsaW5lIGlzIExpbmVFdmVudCA9PiB7XHJcbiAgcmV0dXJuICEhbGluZTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ldHdvcmtMb2dDb252ZXJ0ZXIgZXh0ZW5kcyBFdmVudEJ1cyB7XHJcbiAgY29udmVydEZpbGUoZGF0YTogc3RyaW5nKTogTGluZUV2ZW50W10ge1xyXG4gICAgY29uc3QgcmVwbyA9IG5ldyBMb2dSZXBvc2l0b3J5KCk7XHJcbiAgICByZXR1cm4gdGhpcy5jb252ZXJ0TGluZXMoXHJcbiAgICAgIC8vIFNwbGl0IGRhdGEgaW50byBhbiBhcnJheSBvZiBzZXBhcmF0ZSBsaW5lcywgcmVtb3ZpbmcgYW55IGJsYW5rIGxpbmVzLlxyXG4gICAgICBkYXRhLnNwbGl0KE5ldHdvcmtMb2dDb252ZXJ0ZXIubGluZVNwbGl0UmVnZXgpLmZpbHRlcigobCkgPT4gbCAhPT0gJycpLFxyXG4gICAgICByZXBvLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRMaW5lcyhsaW5lczogc3RyaW5nW10sIHJlcG86IExvZ1JlcG9zaXRvcnkpOiBMaW5lRXZlbnRbXSB7XHJcbiAgICBjb25zdCBsaW5lRXZlbnRzID0gbGluZXMubWFwKChsKSA9PiBQYXJzZUxpbmUucGFyc2UocmVwbywgbCkpLmZpbHRlcihpc0xpbmVFdmVudCk7XHJcbiAgICAvLyBDYWxsIGBjb252ZXJ0YCB0byBjb252ZXJ0IHRoZSBuZXR3b3JrIGxpbmUgdG8gbm9uLW5ldHdvcmsgZm9ybWF0IGFuZCB1cGRhdGUgaW5kZXhpbmcgdmFsdWVzXHJcbiAgICByZXR1cm4gbGluZUV2ZW50cy5tYXAoKGwsIGkpID0+IHtcclxuICAgICAgbC5pbmRleCA9IGk7XHJcbiAgICAgIHJldHVybiBsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGluZVNwbGl0UmVnZXggPSAvXFxyP1xcbi9nbTtcclxufVxyXG4iLCJpbXBvcnQgeyBpc0xhbmcsIExhbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFBldE5hbWVzQnlMYW5nIGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9wZXRfbmFtZXMnO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHsgTWF0Y2hFbmRJbmZvLCBNYXRjaFN0YXJ0SW5mbyB9IGZyb20gJy4uL0VtdWxhdG9yQ29tbW9uJztcclxuXHJcbmltcG9ydCBDb21iYXRhbnRUcmFja2VyIGZyb20gJy4vQ29tYmF0YW50VHJhY2tlcic7XHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgaXNMaW5lRXZlbnRTb3VyY2UsIGlzTGluZUV2ZW50VGFyZ2V0IH0gZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTG9nUmVwb3NpdG9yeSc7XHJcbmltcG9ydCBOZXR3b3JrTG9nQ29udmVydGVyIGZyb20gJy4vTmV0d29ya0xvZ0NvbnZlcnRlcic7XHJcblxyXG5jb25zdCBpc1BldE5hbWUgPSAobmFtZTogc3RyaW5nLCBsYW5ndWFnZT86IExhbmcpID0+IHtcclxuICBpZiAobGFuZ3VhZ2UpXHJcbiAgICByZXR1cm4gUGV0TmFtZXNCeUxhbmdbbGFuZ3VhZ2VdLmluY2x1ZGVzKG5hbWUpO1xyXG5cclxuICBmb3IgKGNvbnN0IGxhbmcgaW4gUGV0TmFtZXNCeUxhbmcpIHtcclxuICAgIGlmICghaXNMYW5nKGxhbmcpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBpZiAoUGV0TmFtZXNCeUxhbmdbbGFuZ10uaW5jbHVkZXMobmFtZSkpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3QgaXNWYWxpZFRpbWVzdGFtcCA9ICh0aW1lc3RhbXA6IG51bWJlcikgPT4ge1xyXG4gIHJldHVybiB0aW1lc3RhbXAgPiAwICYmIHRpbWVzdGFtcCA8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW5jb3VudGVyIHtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBlbmNvdW50ZXJWZXJzaW9uID0gMjtcclxuICBwdWJsaWMgaWQ/OiBudW1iZXI7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGluaXRpYWxPZmZzZXQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICBlbmRTdGF0dXMgPSAnVW5rbm93bic7XHJcbiAgc3RhcnRTdGF0dXMgPSAnVW5rbm93bic7XHJcbiAgcHJpdmF0ZSBlbmdhZ2VBdCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG4gIHByaXZhdGUgZmlyc3RQbGF5ZXJBYmlsaXR5ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcbiAgcHJpdmF0ZSBmaXJzdEVuZW15QWJpbGl0eSA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG4gIGZpcnN0TGluZUluZGV4ID0gMDtcclxuICBjb21iYXRhbnRUcmFja2VyPzogQ29tYmF0YW50VHJhY2tlcjtcclxuICBzdGFydFRpbWVzdGFtcCA9IDA7XHJcbiAgZW5kVGltZXN0YW1wID0gMDtcclxuICBkdXJhdGlvbiA9IDA7XHJcbiAgdHpPZmZzZXRNaWxsaXMgPSAwO1xyXG4gIHBsYXliYWNrT2Zmc2V0ID0gMDtcclxuICBsYW5ndWFnZTogTGFuZyA9ICdlbic7XHJcbiAgaW5pdGlhbFRpbWVzdGFtcCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBlbmNvdW50ZXJEYXk6IHN0cmluZyxcclxuICAgIHB1YmxpYyBlbmNvdW50ZXJab25lSWQ6IHN0cmluZyxcclxuICAgIHB1YmxpYyBlbmNvdW50ZXJab25lTmFtZTogc3RyaW5nLFxyXG4gICAgcHVibGljIGxvZ0xpbmVzOiBMaW5lRXZlbnRbXSxcclxuICApIHtcclxuICAgIHRoaXMudmVyc2lvbiA9IEVuY291bnRlci5lbmNvdW50ZXJWZXJzaW9uO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0YXJ0U3RhdHVzZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgICB0aGlzLmxvZ0xpbmVzLmZvckVhY2goKGxpbmUsIGkpID0+IHtcclxuICAgICAgaWYgKCFsaW5lKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIHRoaXMudHpPZmZzZXRNaWxsaXMgPSBsaW5lLnR6T2Zmc2V0TWlsbGlzO1xyXG5cclxuICAgICAgbGV0IHJlczogTWF0Y2hTdGFydEluZm8gfCBNYXRjaEVuZEluZm8gfCB1bmRlZmluZWQgPSBFbXVsYXRvckNvbW1vbi5tYXRjaFN0YXJ0KFxyXG4gICAgICAgIGxpbmUubmV0d29ya0xpbmUsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLmZpcnN0TGluZUluZGV4ID0gaTtcclxuICAgICAgICBpZiAocmVzLlN0YXJ0VHlwZSlcclxuICAgICAgICAgIHN0YXJ0U3RhdHVzZXMuYWRkKHJlcy5TdGFydFR5cGUpO1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0SW4gPSBwYXJzZUludChyZXMuU3RhcnRJbik7XHJcbiAgICAgICAgaWYgKHN0YXJ0SW4gPj0gMClcclxuICAgICAgICAgIHRoaXMuZW5nYWdlQXQgPSBNYXRoLm1pbihsaW5lLnRpbWVzdGFtcCArIHN0YXJ0SW4sIHRoaXMuZW5nYWdlQXQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLm1hdGNoRW5kKGxpbmUubmV0d29ya0xpbmUpO1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIGlmIChyZXMuRW5kVHlwZSlcclxuICAgICAgICAgICAgdGhpcy5lbmRTdGF0dXMgPSByZXMuRW5kVHlwZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzTGluZUV2ZW50U291cmNlKGxpbmUpICYmIGlzTGluZUV2ZW50VGFyZ2V0KGxpbmUpKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGxpbmUuaWQuc3RhcnRzV2l0aCgnMScpIHx8XHJcbiAgICAgICAgICAgIChsaW5lLmlkLnN0YXJ0c1dpdGgoJzQnKSAmJiBpc1BldE5hbWUobGluZS5uYW1lLCB0aGlzLmxhbmd1YWdlKSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAvLyBQbGF5ZXIgb3IgcGV0IGFiaWxpdHlcclxuICAgICAgICAgICAgaWYgKGxpbmUudGFyZ2V0SWQuc3RhcnRzV2l0aCgnNCcpICYmICFpc1BldE5hbWUobGluZS50YXJnZXROYW1lLCB0aGlzLmxhbmd1YWdlKSkge1xyXG4gICAgICAgICAgICAgIC8vIFRhcmdldHRpbmcgbm9uIHBsYXllciBvciBwZXRcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0UGxheWVyQWJpbGl0eSA9IE1hdGgubWluKHRoaXMuZmlyc3RQbGF5ZXJBYmlsaXR5LCBsaW5lLnRpbWVzdGFtcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAobGluZS5pZC5zdGFydHNXaXRoKCc0JykgJiYgIWlzUGV0TmFtZShsaW5lLm5hbWUsIHRoaXMubGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgICAgIC8vIE5vbi1wbGF5ZXIgYWJpbGl0eVxyXG4gICAgICAgICAgICBpZiAobGluZS50YXJnZXRJZC5zdGFydHNXaXRoKCcxJykgfHwgaXNQZXROYW1lKGxpbmUudGFyZ2V0TmFtZSwgdGhpcy5sYW5ndWFnZSkpIHtcclxuICAgICAgICAgICAgICAvLyBUYXJnZXR0aW5nIHBsYXllciBvciBwZXRcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0RW5lbXlBYmlsaXR5ID0gTWF0aC5taW4odGhpcy5maXJzdEVuZW15QWJpbGl0eSwgbGluZS50aW1lc3RhbXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1hdGNoZWRMYW5nID0gcmVzPy5sYW5ndWFnZTtcclxuICAgICAgaWYgKGlzTGFuZyhtYXRjaGVkTGFuZykpXHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IG1hdGNoZWRMYW5nO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb21iYXRhbnRUcmFja2VyID0gbmV3IENvbWJhdGFudFRyYWNrZXIodGhpcy5sb2dMaW5lcywgdGhpcy5sYW5ndWFnZSk7XHJcbiAgICB0aGlzLnN0YXJ0VGltZXN0YW1wID0gdGhpcy5jb21iYXRhbnRUcmFja2VyLmZpcnN0VGltZXN0YW1wO1xyXG4gICAgdGhpcy5lbmRUaW1lc3RhbXAgPSB0aGlzLmNvbWJhdGFudFRyYWNrZXIubGFzdFRpbWVzdGFtcDtcclxuICAgIHRoaXMuZHVyYXRpb24gPSB0aGlzLmVuZFRpbWVzdGFtcCAtIHRoaXMuc3RhcnRUaW1lc3RhbXA7XHJcblxyXG4gICAgaWYgKHRoaXMuaW5pdGlhbE9mZnNldCA9PT0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpIHtcclxuICAgICAgaWYgKHRoaXMuZW5nYWdlQXQgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUilcclxuICAgICAgICB0aGlzLmluaXRpYWxPZmZzZXQgPSB0aGlzLmVuZ2FnZUF0IC0gdGhpcy5zdGFydFRpbWVzdGFtcDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5maXJzdFBsYXllckFiaWxpdHkgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUilcclxuICAgICAgICB0aGlzLmluaXRpYWxPZmZzZXQgPSB0aGlzLmZpcnN0UGxheWVyQWJpbGl0eSAtIHRoaXMuc3RhcnRUaW1lc3RhbXA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuZmlyc3RFbmVteUFiaWxpdHkgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUilcclxuICAgICAgICB0aGlzLmluaXRpYWxPZmZzZXQgPSB0aGlzLmZpcnN0RW5lbXlBYmlsaXR5IC0gdGhpcy5zdGFydFRpbWVzdGFtcDtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuaW5pdGlhbE9mZnNldCA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0aWFsVGltZXN0YW1wID0gdGhpcy5zdGFydFRpbWVzdGFtcCArIHRoaXMuaW5pdGlhbE9mZnNldDtcclxuXHJcbiAgICBjb25zdCBmaXJzdExpbmUgPSB0aGlzLmxvZ0xpbmVzW3RoaXMuZmlyc3RMaW5lSW5kZXhdO1xyXG5cclxuICAgIGlmIChmaXJzdExpbmUgJiYgZmlyc3RMaW5lLm9mZnNldClcclxuICAgICAgdGhpcy5wbGF5YmFja09mZnNldCA9IGZpcnN0TGluZS5vZmZzZXQ7XHJcblxyXG4gICAgdGhpcy5zdGFydFN0YXR1cyA9IFsuLi5zdGFydFN0YXR1c2VzXS5zb3J0KCkuam9pbignLCAnKTtcclxuICB9XHJcblxyXG4gIHNob3VsZFBlcnNpc3RGaWdodCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpc1ZhbGlkVGltZXN0YW1wKHRoaXMuZmlyc3RQbGF5ZXJBYmlsaXR5KSAmJiBpc1ZhbGlkVGltZXN0YW1wKHRoaXMuZmlyc3RFbmVteUFiaWxpdHkpO1xyXG4gIH1cclxuXHJcbiAgdXBncmFkZSh2ZXJzaW9uOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGlmIChFbmNvdW50ZXIuZW5jb3VudGVyVmVyc2lvbiA8PSB2ZXJzaW9uKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgcmVwbyA9IG5ldyBMb2dSZXBvc2l0b3J5KCk7XHJcbiAgICBjb25zdCBjb252ZXJ0ZXIgPSBuZXcgTmV0d29ya0xvZ0NvbnZlcnRlcigpO1xyXG4gICAgdGhpcy5sb2dMaW5lcyA9IGNvbnZlcnRlci5jb252ZXJ0TGluZXMoXHJcbiAgICAgIHRoaXMubG9nTGluZXMubWFwKChsKSA9PiBsLm5ldHdvcmtMaW5lKSxcclxuICAgICAgcmVwbyxcclxuICAgICk7XHJcbiAgICB0aGlzLnZlcnNpb24gPSBFbmNvdW50ZXIuZW5jb3VudGVyVmVyc2lvbjtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5cclxuaW1wb3J0IEVuY291bnRlciBmcm9tICcuL0VuY291bnRlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJzaXN0b3JFbmNvdW50ZXIge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHN0YXJ0OiBudW1iZXI7XHJcbiAgb2Zmc2V0OiBudW1iZXI7XHJcbiAgdHpPZmZzZXRNaWxsaXM6IG51bWJlcjtcclxuICBzdGFydFN0YXR1czogc3RyaW5nO1xyXG4gIGVuZFN0YXR1czogc3RyaW5nO1xyXG4gIHpvbmVJZDogc3RyaW5nO1xyXG4gIHpvbmVOYW1lOiBzdHJpbmc7XHJcbiAgZHVyYXRpb246IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoZW5jb3VudGVyOiBFbmNvdW50ZXIpIHtcclxuICAgIGlmICghZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIHRoaXMuaWQgPSBlbmNvdW50ZXIuaWQgPz8gMDtcclxuICAgIHRoaXMubmFtZSA9IGVuY291bnRlci5jb21iYXRhbnRUcmFja2VyLmdldE1haW5Db21iYXRhbnROYW1lKCk7XHJcbiAgICB0aGlzLnN0YXJ0ID0gZW5jb3VudGVyLnN0YXJ0VGltZXN0YW1wO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBlbmNvdW50ZXIuaW5pdGlhbE9mZnNldDtcclxuICAgIHRoaXMudHpPZmZzZXRNaWxsaXMgPSBlbmNvdW50ZXIudHpPZmZzZXRNaWxsaXM7XHJcbiAgICB0aGlzLnN0YXJ0U3RhdHVzID0gZW5jb3VudGVyLnN0YXJ0U3RhdHVzO1xyXG4gICAgdGhpcy5lbmRTdGF0dXMgPSBlbmNvdW50ZXIuZW5kU3RhdHVzO1xyXG4gICAgdGhpcy56b25lSWQgPSBlbmNvdW50ZXIuZW5jb3VudGVyWm9uZUlkO1xyXG4gICAgdGhpcy56b25lTmFtZSA9IGVuY291bnRlci5lbmNvdW50ZXJab25lTmFtZTtcclxuICAgIHRoaXMuZHVyYXRpb24gPSBlbmNvdW50ZXIuZW5kVGltZXN0YW1wIC0gZW5jb3VudGVyLnN0YXJ0VGltZXN0YW1wO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgRGV4aWUgZnJvbSAnZGV4aWUnO1xyXG5pbXBvcnQgJ2RleGllLWV4cG9ydC1pbXBvcnQnO1xyXG5cclxuaW1wb3J0IEVuY291bnRlciBmcm9tICcuL0VuY291bnRlcic7XHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuaW1wb3J0IFBlcnNpc3RvckVuY291bnRlciBmcm9tICcuL1BlcnNpc3RvckVuY291bnRlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQZXJzaXN0b3IgZXh0ZW5kcyBEZXhpZSB7XHJcbiAgcHJpdmF0ZSBlbmNvdW50ZXJzOiBEZXhpZS5UYWJsZTxFbmNvdW50ZXIsIG51bWJlcj47XHJcbiAgcHVibGljIGVuY291bnRlclN1bW1hcmllczogRGV4aWUuVGFibGU8UGVyc2lzdG9yRW5jb3VudGVyLCBudW1iZXI+O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdSYWlkRW11bGF0b3JFbmNvdW50ZXJzJyk7XHJcblxyXG4gICAgdGhpcy52ZXJzaW9uKDEpLnN0b3Jlcyh7XHJcbiAgICAgIEVuY291bnRlclN1bW1hcmllczogJysraWQsc3RhcnQsem9uZU5hbWUsW3pvbmVOYW1lK3N0YXJ0XScsXHJcbiAgICAgIEVuY291bnRlcnM6ICcrK2lkJyxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZW5jb3VudGVycyA9IHRoaXMudGFibGUoJ0VuY291bnRlcnMnKTtcclxuICAgIHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzID0gdGhpcy50YWJsZSgnRW5jb3VudGVyU3VtbWFyaWVzJyk7XHJcblxyXG4gICAgdGhpcy5lbmNvdW50ZXJTdW1tYXJpZXMubWFwVG9DbGFzcyhQZXJzaXN0b3JFbmNvdW50ZXIpO1xyXG5cclxuICAgIHRoaXMudXNlKHtcclxuICAgICAgc3RhY2s6ICdkYmNvcmUnLFxyXG4gICAgICBjcmVhdGU6IChkb3duKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLmRvd24sXHJcbiAgICAgICAgICB0YWJsZTogKG5hbWUpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGFibGUgPSBkb3duLnRhYmxlKG5hbWUpO1xyXG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gJ0VuY291bnRlcnMnKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLnRhYmxlLFxyXG4gICAgICAgICAgICAgICAgZ2V0OiBhc3luYyAocmVxKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG9iajogRW5jb3VudGVyID0gYXdhaXQgdGFibGUuZ2V0KHJlcSkgYXMgRW5jb3VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgRW5jb3VudGVyLnByb3RvdHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICBvYmoubG9nTGluZXMuZm9yRWFjaCgobCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihsLCBMaW5lRXZlbnQucHJvdG90eXBlKTtcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDaGVjayBmb3IgZW5jb3VudGVyIHVwZ3JhZGUsIHJlLXNhdmUgZW5jb3VudGVyIGlmIGl0J3MgdXBncmFkZWQuXHJcbiAgICAgICAgICAgICAgICAgIGlmIChvYmoudXBncmFkZShvYmoudmVyc2lvbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnBlcnNpc3RFbmNvdW50ZXIob2JqKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIG9iai5pbml0aWFsaXplKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0YWJsZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvYWRFbmNvdW50ZXIoaWQ6IG51bWJlcik6IFByb21pc2U8RW5jb3VudGVyIHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8RW5jb3VudGVyIHwgdW5kZWZpbmVkPigocmVzKSA9PiB7XHJcbiAgICAgIHZvaWQgdGhpcy50cmFuc2FjdGlvbigncmVhZHdyaXRlJywgW3RoaXMuZW5jb3VudGVycywgdGhpcy5lbmNvdW50ZXJTdW1tYXJpZXNdLCBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgcmVzKGF3YWl0IHRoaXMuZW5jb3VudGVycy5nZXQoaWQpKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwZXJzaXN0RW5jb3VudGVyKGJhc2VFbmNvdW50ZXI6IEVuY291bnRlcik6IFByb21pc2U8dW5rbm93bj4ge1xyXG4gICAgY29uc3Qgc3VtbWFyeSA9IG5ldyBQZXJzaXN0b3JFbmNvdW50ZXIoYmFzZUVuY291bnRlcik7XHJcbiAgICBpZiAoYmFzZUVuY291bnRlci5pZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzLnB1dChzdW1tYXJ5LCBiYXNlRW5jb3VudGVyLmlkKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZW5jb3VudGVycy5wdXQoYmFzZUVuY291bnRlciwgYmFzZUVuY291bnRlci5pZCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpZCA9IGF3YWl0IHRoaXMuZW5jb3VudGVycy5hZGQoYmFzZUVuY291bnRlcik7XHJcbiAgICBiYXNlRW5jb3VudGVyLmlkID0gaWQ7XHJcbiAgICBzdW1tYXJ5LmlkID0gaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5lbmNvdW50ZXJTdW1tYXJpZXMuYWRkKHN1bW1hcnksIGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVFbmNvdW50ZXIoaWQ6IG51bWJlcik6IFByb21pc2U8dW5rbm93bj4ge1xyXG4gICAgYXdhaXQgdGhpcy5lbmNvdW50ZXJTdW1tYXJpZXMuZGVsZXRlKGlkKTtcclxuICAgIHJldHVybiB0aGlzLmVuY291bnRlcnMuZGVsZXRlKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjbGVhckRCKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5lbmNvdW50ZXJzLmNsZWFyKCk7XHJcbiAgICBhd2FpdCB0aGlzLmVuY291bnRlclN1bW1hcmllcy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGV4cG9ydERCKCk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZXhwb3J0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW1wb3J0REIoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0KGZpbGUpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFBhcnR5LCBQbGF5ZXJDaGFuZ2VkUmV0IH0gZnJvbSAnLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IHsgYWRkT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnLi9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5cclxuLy8gV2lsbCByZWRpcmVjdCBjYWxscyBmcm9tIGBvblBsYXllckNoYW5nZWRFdmVudGAgdG8gfGZ1bmN8IG92ZXJyaWRpbmcgd2l0aFxyXG4vLyB8cGxheWVyTmFtZXwgYW5kIHRoZWlyIGpvYi4gIEpvYiBpcyBpbXBvcnRhbnQgZm9yIHJhaWRib3NzLlxyXG4vLyBJdCBtaWdodCBiZSBuaWNlIHRvIGRvIEhQLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgbWF0aCBzZWN0aW9uIG9mXHJcbi8vIFJpZG9yYW5hIExpZ2h0aG91c2Ugd29uJ3Qgd29yay5cclxuLy9cclxuLy8gT3RoZXIgcGFydHMgb2YgdGhlIHBsYXllciAoc3VjaCB0aGF0IHdvdWxkIGhlbHAgdGhlIGpvYnMgb3ZlcmxheSBydW4pXHJcbi8vIGFyZSBkZWxpYmVyYXRlbHkgbm90IGluY2x1ZGVkIGhlcmUsIGJlY2F1c2UgaXQncyBpbXBvc3NpYmxlIHRvIHJ1blxyXG4vLyBqb2JzIHJlbW90ZWx5IGR1ZSB0byBnYXVnZSBkYXRhIGJlaW5nIGxvY2FsIGFuZCBtYW55IGJpdHMgb2YgaW5mb3JtYXRpb25cclxuLy8gbG9hZGVkIGZyb20gbWVtb3J5LlxyXG5cclxuZXhwb3J0IHR5cGUgUGxheWVyQ2hhbmdlZERldGFpbCA9IHsgZGV0YWlsOiBQbGF5ZXJDaGFuZ2VkUmV0IH07XHJcbnR5cGUgUGxheWVyQ2hhbmdlZEZ1bmMgPSAoZTogUGxheWVyQ2hhbmdlZERldGFpbCkgPT4gdm9pZDtcclxuXHJcbi8vIEBUT0RPOiBTd2FwIHRoZSBvcmRlciBvZiB0aGVzZSBhcmd1bWVudHMsIG1ha2UgcGxheWVyTmFtZSBvcHRpb25hbCBpbnN0ZWFkXHJcbmV4cG9ydCBjb25zdCBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciA9IChcclxuICBmdW5jOiBQbGF5ZXJDaGFuZ2VkRnVuYyxcclxuICBwbGF5ZXJOYW1lPzogc3RyaW5nLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAoIWZ1bmMpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBsYXN0UGxheWVyQ2hhbmdlZEV2ZW50OiBQbGF5ZXJDaGFuZ2VkRGV0YWlsIHwgbnVsbCA9IG51bGw7XHJcbiAgbGV0IGxhc3RQbGF5ZXJKb2I6IEpvYiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdCBvblBsYXllckNoYW5nZWQ6IFBsYXllckNoYW5nZWRGdW5jID0gKGU6IFBsYXllckNoYW5nZWREZXRhaWwpID0+IHtcclxuICAgIGlmIChwbGF5ZXJOYW1lKSB7XHJcbiAgICAgIGUuZGV0YWlsLm5hbWUgPSBwbGF5ZXJOYW1lO1xyXG4gICAgICBpZiAobGFzdFBsYXllckpvYikge1xyXG4gICAgICAgIC8vIFVzZSB0aGUgbm9uLW92ZXJyaWRkZW4gam9iIGlmIHdlIGRvbid0IGtub3cgYW4gb3ZlcnJpZGRlbiBvbmUuXHJcbiAgICAgICAgZS5kZXRhaWwuam9iID0gbGFzdFBsYXllckpvYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFzdFBsYXllckNoYW5nZWRFdmVudCA9IGU7XHJcblxyXG4gICAgZnVuYyhlKTtcclxuICB9O1xyXG5cclxuICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uUGxheWVyQ2hhbmdlZEV2ZW50Jywgb25QbGF5ZXJDaGFuZ2VkKTtcclxuICBpZiAoIXBsYXllck5hbWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgIGNvbnN0IHBsYXllciA9IGUucGFydHkuZmluZCgocCkgPT4gcC5uYW1lID09PSBwbGF5ZXJOYW1lKTtcclxuICAgIGlmICghcGxheWVyKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbmV3Sm9iID0gVXRpbC5qb2JFbnVtVG9Kb2IocGxheWVyLmpvYik7XHJcbiAgICBpZiAobmV3Sm9iID09PSBsYXN0UGxheWVySm9iKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGFzdFBsYXllckpvYiA9IG5ld0pvYjtcclxuICAgIC8vIFRoaXMgZXZlbnQgbWF5IGNvbWUgYmVmb3JlIHRoZSBmaXJzdCBvblBsYXllckNoYW5nZWRFdmVudC5cclxuICAgIGlmIChsYXN0UGxheWVyQ2hhbmdlZEV2ZW50KVxyXG4gICAgICBvblBsYXllckNoYW5nZWQobGFzdFBsYXllckNoYW5nZWRFdmVudCk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyBDb21tb24gVUkgZm9yIHNlbGVjdGluZyBhIHBsYXllci5cclxuLy8gT25seSB1c2VkIGZvciByYWlkYm9zcywgYnV0IGNvdWxkIG9zdGVuc2libHkgYmUgcmV1c2VkIGZvciBvb3BzeSxcclxuLy8gaWYgdGhlcmUncyBldmVyIHBsYXllciBzcGVjaWZpYyBzdHVmZi5cclxuLy8gVE9ETzogaXQgd291bGQgYmUgbmljZSB0byBzaG93IHRoZSBcImNvbm5lY3RlZCAvIG5vdCBjb25uZWN0ZWRcIiBiaXQgaW4gdGhlIFVJLlxyXG5leHBvcnQgY29uc3QgYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkgPSAobGFuZzogTGFuZyk6IHZvaWQgPT4ge1xyXG4gIGNvbnN0IGluc3RydWN0aW9uVGV4dEJ5TGFuZyA9IHtcclxuICAgIGVuOiAnU2VsZWN0IGEgUGxheWVyXFxuKHRoZSBsaXN0IHdpbGwgdXBkYXRlIHdoZW4gaW4gYW4gaW5zdGFuY2UpJyxcclxuICAgIGRlOiAnV8OkaGxlIGVpbmVuIFNwaWVsZXJcXG4oRGllc2UgTGlzdGUgYWt0dWFsaXNpZXJ0IHNpY2gsIHNvYmFsZCBlaW5lIEluc3RhbmNlIGJldHJldHRlbiB3aXJkKScsXHJcbiAgICBmcjogJ1PDqWxlY3Rpb25uZXIgdW4gam91ZXVyXFxuIChsYSBsaXN0ZSBzZSBtZXR0cmEgw6Agam91ciBkYW5zIHVuZSBpbnN0YW5jZSknLFxyXG4gICAgamE6ICfjg5fjg6zjg7zjg6Tjg7zlkI3jgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYRcXG4o44Kk44Oz44K544K/44Oz44K544Gr5YWl44KL44Go44Oq44K544OI44GM5pu05paw44GZ44KLKScsXHJcbiAgICBjbjogJ+ivt+mAieaLqeeOqeWutuWQjeensFxcbijmraTliJfooajlsIbkvJrlnKjov5vlhaXlia/mnKzlkI7mm7TmlrApJyxcclxuICAgIGtvOiAn7ZSM66CI7J207Ja066W8IOyEoO2Dne2VmOyEuOyalFxcbijsnbjsiqTthLTsiqTsl5Ag7J6I7Jy866m0IOumrOyKpO2KuOqwgCDsl4XrjbDsnbTtirjrkKnri4jri6QuKScsXHJcbiAgfTtcclxuICBjb25zdCBmb3JjZVRUU0J5TGFuZyA9IHtcclxuICAgIGVuOiAnRm9yY2UgRW5hYmxlIFRleHQgVG8gU3BlZWNoJyxcclxuICAgIGRlOiAnRXJ6d2luZ2UgVGV4dCBpbiBTcHJhY2hlIChUVFMpJyxcclxuICAgIGZyOiAnRm9yY2VyIGxcXCdhY3RpdmF0aW9uIGRlIGxhIHN5bnRow6hzZSB2b2NhbGUgKFRUUyknLFxyXG4gICAgamE6ICdUVFPjgpLlvLfliLbnmoTjgavmnInlirnljJbjgZnjgosnLFxyXG4gICAgY246ICflvLrliLblkK/nlKhUVFMnLFxyXG4gICAga286ICdUVFMg6riw64ql7J2EIO2ZnOyEse2ZlO2VmOq4sCcsXHJcbiAgfTtcclxuICBjb25zdCBidXR0b25UZXh0QnlMYW5nID0ge1xyXG4gICAgZW46ICdTdGFydCBPdmVybGF5JyxcclxuICAgIGRlOiAnU3RhcnQgT3ZlcmxheScsXHJcbiAgICBmcjogJ0TDqW1hcnJlciBsXFwnT3ZlcmxheScsXHJcbiAgICBqYTogJ+OCquODvOODkOODvOODrOOCpOOCkui1t+WLlScsXHJcbiAgICBjbjogJ+WQr+eUqOaCrOa1rueqlycsXHJcbiAgICBrbzogJ+yYpOuyhOugiOydtCDsi5zsnpEnLFxyXG4gIH07XHJcbiAgY29uc3QgZGVmYXVsdFRleHRCeUxhbmcgPSB7XHJcbiAgICBlbjogJyhubyBvdmVycmlkZSknLFxyXG4gICAgZGU6ICcoa2VpbiDDvGJlcnNjaHJlaWJlbiknLFxyXG4gICAgZnI6ICcocGFzIGRlIGTDqXJvZ2F0aW9uKScsXHJcbiAgICBqYTogJyjml6LlrprlgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco7ZSM66CI7J207Ja0IOyngOyglSDslYjtlagpJyxcclxuICB9O1xyXG5cclxuICAvLyBUT0RPOiBwcm9iYWJseSBzaG91bGQgc2F2ZSBmb3JjZVRUUyBhcyB3ZWxsLCBtYXliZSBzYXZlIHNvbWUge30gb3B0aW9ucz9cclxuICBjb25zdCBrU3RvcmFnZUtleSA9ICdjYWN0Ym90LWxhc3Qtc2VsZWN0ZWQtcGxheWVyJztcclxuICBjb25zdCBzYXZlUGxheWVyTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShrU3RvcmFnZUtleSwgbmFtZSk7XHJcbiAgfTtcclxuICBjb25zdCBsb2FkUGxheWVyTmFtZSA9ICgpID0+IHtcclxuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oa1N0b3JhZ2VLZXkpO1xyXG4gIH07XHJcblxyXG4gIC8vIEFkZCBjb21tb24gVUkgdG8gc2VsZWN0IGEgcGxheWVyLlxyXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGNvbnRhaW5lci5pZCA9ICdwbGF5ZXItc2VsZWN0JztcclxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcblxyXG4gIGNvbnN0IGluc3RydWN0aW9uRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGluc3RydWN0aW9uRWxlbS5pZCA9ICdwbGF5ZXItc2VsZWN0LWluc3RydWN0aW9ucyc7XHJcbiAgaW5zdHJ1Y3Rpb25FbGVtLmlubmVySFRNTCA9IGluc3RydWN0aW9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBpbnN0cnVjdGlvblRleHRCeUxhbmdbJ2VuJ107XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGluc3RydWN0aW9uRWxlbSk7XHJcblxyXG4gIGNvbnN0IGxpc3RFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgbGlzdEVsZW0uaWQgPSAncGxheWVyLXNlbGVjdC1saXN0JztcclxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdEVsZW0pO1xyXG5cclxuICBjb25zdCB0dHNFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICB0dHNFbGVtLnR5cGUgPSAnY2hlY2tib3gnO1xyXG4gIHR0c0VsZW0uaWQgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0VsZW0ubmFtZSA9ICdwbGF5ZXItc2VsZWN0LXR0cyc7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKHR0c0VsZW0pO1xyXG5cclxuICBjb25zdCB0dHNMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcbiAgdHRzTGFiZWwuaWQgPSAncGxheWVyLXNlbGVjdC10dHMtbGFiZWwnO1xyXG4gIHR0c0xhYmVsLmh0bWxGb3IgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIHR0c0xhYmVsLmlubmVySFRNTCA9IGZvcmNlVFRTQnlMYW5nW2xhbmddIHx8IGZvcmNlVFRTQnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0dHNMYWJlbCk7XHJcblxyXG4gIGNvbnN0IGJ1dHRvbkVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICBidXR0b25FbGVtLmlkID0gJ3BsYXllci1zZWxlY3QtYnV0dG9uJztcclxuICBidXR0b25FbGVtLm5hbWUgPSAncGxheWVyLXNlbGVjdC1idXR0b24nO1xyXG4gIGJ1dHRvbkVsZW0uaW5uZXJIVE1MID0gYnV0dG9uVGV4dEJ5TGFuZ1tsYW5nXSB8fCBidXR0b25UZXh0QnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChidXR0b25FbGVtKTtcclxuICBidXR0b25FbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgY29uc3QgZm9yY2VUVFMgPSB0dHNFbGVtLmNoZWNrZWQ7XHJcbiAgICBsZXQgcGxheWVyTmFtZSA9ICcnO1xyXG4gICAgbGV0IHJhZGlvSW5kZXggPSAwO1xyXG4gICAgZm9yICg7Oykge1xyXG4gICAgICByYWRpb0luZGV4Kys7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGxheWVyLXJhZGlvLSR7cmFkaW9JbmRleH1gKTtcclxuICAgICAgaWYgKCFlbGVtIHx8ICEoZWxlbSBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAoIWVsZW0uY2hlY2tlZClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgcGxheWVyTmFtZSA9IGVsZW0udmFsdWU7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwbGF5ZXJOYW1lKVxyXG4gICAgICBzYXZlUGxheWVyTmFtZShwbGF5ZXJOYW1lKTtcclxuXHJcbiAgICAvLyBQcmVzZXJ2ZSBleGlzdGluZyBwYXJhbWV0ZXJzLlxyXG4gICAgY29uc3QgY3VycmVudFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XHJcbiAgICBjb25zdCBwYXJhbU1hcDogeyBbdmFsdWU6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9ID0ge307XHJcbiAgICAvLyBZZXMsIHRoaXMgaXMgKHYsIGspIGFuZCBub3QgKGssIHYpLlxyXG4gICAgY3VycmVudFBhcmFtcy5mb3JFYWNoKCh2LCBrKSA9PiBwYXJhbU1hcFtrXSA9IGRlY29kZVVSSUNvbXBvbmVudCh2KSk7XHJcblxyXG4gICAgcGFyYW1NYXAucGxheWVyID0gcGxheWVyTmFtZTtcclxuICAgIC8vIFVzZSAxLzAgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHF1ZXJ5IHBhcmFtZXRlcnMgcmF0aGVyIHRoYW4gc3RyaW5nIHRydWUvZmFsc2UuXHJcbiAgICBwYXJhbU1hcC5mb3JjZVRUUyA9IGZvcmNlVFRTID8gMSA6IDA7XHJcblxyXG4gICAgLy8gVE9ETzogb3ZlcmxheV9wbHVnaW5fYXBpLmpzIGRvZXNuJ3Qgc3VwcG9ydCB1cmkgZW5jb2RlZCBPVkVSTEFZX1dTIHBhcmFtZXRlcnMuXHJcbiAgICAvLyBTbyB0aGlzIGNhbid0IHVzZSBVUkxTZWFyY2hQYXJhbXMudG9TdHJpbmcgeWV0LiAgTWFudWFsbHkgYnVpbGQgc3RyaW5nLlxyXG4gICAgbGV0IHNlYXJjaCA9ICc/JztcclxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtTWFwKSlcclxuICAgICAgc2VhcmNoICs9IGAke2t9PSR7dn0mYDtcclxuXHJcbiAgICAvLyBSZWxvYWQgdGhlIHBhZ2Ugd2l0aCBtb3JlIG9wdGlvbnMuXHJcbiAgICB3aW5kb3cubG9jYXRpb24uc2VhcmNoID0gc2VhcmNoO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBsYXN0U2VsZWN0ZWRQbGF5ZXIgPSBsb2FkUGxheWVyTmFtZSgpO1xyXG5cclxuICBjb25zdCBidWlsZExpc3QgPSAocGFydHk6IFBhcnR5W10pID0+IHtcclxuICAgIHdoaWxlIChsaXN0RWxlbS5maXJzdENoaWxkKSB7XHJcbiAgICAgIGlmIChsaXN0RWxlbS5sYXN0Q2hpbGQpXHJcbiAgICAgICAgbGlzdEVsZW0ucmVtb3ZlQ2hpbGQobGlzdEVsZW0ubGFzdENoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmFkaW9Db3VudCA9IDA7XHJcblxyXG4gICAgY29uc3QgYWRkUmFkaW8gPSAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHRyYUNsYXNzOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmFkaW9Db3VudCsrO1xyXG5cclxuICAgICAgY29uc3QgaW5wdXROYW1lID0gYHBsYXllci1yYWRpby0ke3JhZGlvQ291bnR9YDtcclxuXHJcbiAgICAgIGNvbnN0IGlucHV0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGlucHV0RWxlbS50eXBlID0gJ3JhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIGlucHV0RWxlbS5pZCA9IGlucHV0TmFtZTtcclxuICAgICAgaW5wdXRFbGVtLm5hbWUgPSAncGxheWVyLXJhZGlvJztcclxuICAgICAgaW5wdXRFbGVtLmNsYXNzTGlzdC5hZGQoJ3BsYXllci1yYWRpbycsIGV4dHJhQ2xhc3MpO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChpbnB1dEVsZW0pO1xyXG5cclxuICAgICAgY29uc3QgbGFiZWxFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcclxuICAgICAgbGFiZWxFbGVtLmh0bWxGb3IgPSBpbnB1dE5hbWU7XHJcbiAgICAgIGxhYmVsRWxlbS5pbm5lckhUTUwgPSBuYW1lO1xyXG4gICAgICBsaXN0RWxlbS5hcHBlbmRDaGlsZChsYWJlbEVsZW0pO1xyXG5cclxuICAgICAgcmV0dXJuIGlucHV0RWxlbTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgZGVmYXVsdFRleHQgPSBkZWZhdWx0VGV4dEJ5TGFuZ1tsYW5nXSB8fCBkZWZhdWx0VGV4dEJ5TGFuZ1snZW4nXTtcclxuICAgIGNvbnN0IGRlZmF1bHRFbGVtID0gYWRkUmFkaW8oZGVmYXVsdFRleHQsICcnLCAncGxheWVyLXJhZGlvLWRlZmF1bHQnKTtcclxuICAgIGRlZmF1bHRFbGVtLmNoZWNrZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmIChsYXN0U2VsZWN0ZWRQbGF5ZXIpIHtcclxuICAgICAgY29uc3QgbGFzdCA9IGFkZFJhZGlvKGxhc3RTZWxlY3RlZFBsYXllciwgbGFzdFNlbGVjdGVkUGxheWVyLCAncGxheWVyLXJhZGlvLWxhc3QnKTtcclxuICAgICAgbGFzdC5jaGVja2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJ0eVBsYXllcnMgPSBwYXJ0eS5maWx0ZXIoKHApID0+IHAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBwYXJ0eU5hbWVzID0gcGFydHlQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcGFydHlOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1wYXJ0eScpO1xyXG5cclxuICAgIGNvbnN0IGFsbGlhbmNlUGxheWVycyA9IHBhcnR5LmZpbHRlcigocCkgPT4gIXAuaW5QYXJ0eSAmJiBwLm5hbWUgIT09IGxhc3RTZWxlY3RlZFBsYXllcik7XHJcbiAgICBjb25zdCBhbGxpYW5jZU5hbWVzID0gYWxsaWFuY2VQbGF5ZXJzLm1hcCgocCkgPT4gcC5uYW1lKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgYWxsaWFuY2VOYW1lcylcclxuICAgICAgYWRkUmFkaW8obmFtZSwgbmFtZSwgJ3BsYXllci1yYWRpby1hbGxpYW5jZScpO1xyXG4gIH07XHJcbiAgYWRkT3ZlcmxheUxpc3RlbmVyKCdQYXJ0eUNoYW5nZWQnLCAoZSkgPT4ge1xyXG4gICAgYnVpbGRMaXN0KGUucGFydHkpO1xyXG4gIH0pO1xyXG4gIGJ1aWxkTGlzdChbXSk7XHJcbn07XHJcbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dG9wbGF5SGVscGVyIHtcclxuICBzdGF0aWMgQ2hlY2tJZkFscmVhZHlSdW5uaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVGhpcyBjaGVjayB3aWxsIG9ubHkgZXZlciBzdWNjZWVkIG9uIHJ1bm5pbmcgQ2hyb21pdW0gcGFzc2luZ1xyXG4gICAgLy8gIC0tYXV0b3BsYXktcG9saWN5PW5vLXVzZXItZ2VzdHVyZS1yZXF1aXJlZFxyXG4gICAgLy8gYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50IG9yIGNvbmZpZ3VyaW5nIENFRiB0aGUgY29ycmVjdCB3YXkuXHJcbiAgICAvLyBPbmNlIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExMDYzODBcclxuICAgIC8vIGlzIGZpeGVkIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gZmFsc2Ugb24gZXZlcnkgKHVwLXRvLWRhdGUpIGJyb3dzZXJcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICByZXR1cm4gY29udGV4dC5zdGF0ZSA9PT0gJ3J1bm5pbmcnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIFByb21wdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgIGJ1dHRvbi5pbm5lclRleHQgPSAnQ2xpY2sgdG8gZW5hYmxlIGF1ZGlvJztcclxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhdXRvcGxheS1oZWxwZXItYnV0dG9uJyk7XHJcbiAgICBidXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICB2b2lkIGNvbnRleHQucmVzdW1lKCk7XHJcbiAgICB9O1xyXG4gICAgY29udGV4dC5vbnN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgIGJ1dHRvbi5yZW1vdmUoKTtcclxuICAgIH07XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGJ1dHRvbik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ2hlY2tBbmRQcm9tcHQoKTogdm9pZCB7XHJcbiAgICBpZiAoIUF1dG9wbGF5SGVscGVyLkNoZWNrSWZBbHJlYWR5UnVubmluZygpKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5Qcm9tcHQoKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5cclxuY2xhc3MgVFRTSXRlbSB7XHJcbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGl0ZW06IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTtcclxuXHJcbiAgY29uc3RydWN0b3IodGV4dDogc3RyaW5nLCBsYW5nPzogc3RyaW5nLCB2b2ljZT86IFNwZWVjaFN5bnRoZXNpc1ZvaWNlKSB7XHJcbiAgICB0aGlzLnRleHQgPSB0ZXh0O1xyXG4gICAgdGhpcy5pdGVtID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSh0ZXh0KTtcclxuICAgIGlmIChsYW5nKVxyXG4gICAgICB0aGlzLml0ZW0ubGFuZyA9IGxhbmc7XHJcbiAgICBpZiAodm9pY2UpXHJcbiAgICAgIHRoaXMuaXRlbS52b2ljZSA9IHZvaWNlO1xyXG4gIH1cclxuXHJcbiAgcGxheSgpIHtcclxuICAgIHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuc3BlYWsodGhpcy5pdGVtKTtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgVFRTSXRlbURpY3Rpb25hcnkgPSB7XHJcbiAgW2tleTogc3RyaW5nXTogVFRTSXRlbTtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyb3dzZXJUVFNFbmdpbmUge1xyXG4gIHJlYWRvbmx5IHR0c0l0ZW1zOiBUVFNJdGVtRGljdGlvbmFyeSA9IHt9O1xyXG4gIHByaXZhdGUgc3BlZWNoTGFuZz86IHN0cmluZztcclxuICBwcml2YXRlIHNwZWVjaFZvaWNlPzogU3BlZWNoU3ludGhlc2lzVm9pY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGxhbmc6IExhbmcpIHtcclxuICAgIGNvbnN0IGNhY3Rib3RMYW5nVG9TcGVlY2hMYW5nID0ge1xyXG4gICAgICBlbjogJ2VuLVVTJyxcclxuICAgICAgZGU6ICdkZS1ERScsXHJcbiAgICAgIGZyOiAnZnItRlInLFxyXG4gICAgICBqYTogJ2phLUpQJyxcclxuICAgICAgLy8gVE9ETzogbWF5YmUgbmVlZCB0byBwcm92aWRlIGFuIG9wdGlvbiBvZiB6aC1DTiwgemgtSEssIHpoLVRXP1xyXG4gICAgICBjbjogJ3poLUNOJyxcclxuICAgICAga286ICdrby1LUicsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGZpZ3VyZSBvdXQgd2hhdCBUVFMgZW5naW5lIHR5cGUgd2UgbmVlZFxyXG4gICAgaWYgKHdpbmRvdy5zcGVlY2hTeW50aGVzaXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBzcGVlY2hMYW5nID0gY2FjdGJvdExhbmdUb1NwZWVjaExhbmdbbGFuZ107XHJcbiAgICAgICAgY29uc3Qgdm9pY2UgPSB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLmdldFZvaWNlcygpLmZpbmQoKHZvaWNlKSA9PiB2b2ljZS5sYW5nID09PSBzcGVlY2hMYW5nKTtcclxuICAgICAgICBpZiAodm9pY2UpIHtcclxuICAgICAgICAgIHRoaXMuc3BlZWNoTGFuZyA9IHNwZWVjaExhbmc7XHJcbiAgICAgICAgICB0aGlzLnNwZWVjaFZvaWNlID0gdm9pY2U7XHJcbiAgICAgICAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLm9udm9pY2VzY2hhbmdlZCA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jyb3dzZXJUVFMgZXJyb3I6IGNvdWxkIG5vdCBmaW5kIHZvaWNlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignQnJvd3NlclRUUyBlcnJvcjogbm8gYnJvd3NlciBzdXBwb3J0IGZvciB3aW5kb3cuc3BlZWNoU3ludGhlc2lzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwbGF5KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNwZWVjaFZvaWNlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IHR0c0l0ZW0gPSB0aGlzLnR0c0l0ZW1zW3RleHRdO1xyXG4gICAgICBpZiAoIXR0c0l0ZW0pIHtcclxuICAgICAgICB0dHNJdGVtID0gbmV3IFRUU0l0ZW0odGV4dCwgdGhpcy5zcGVlY2hMYW5nLCB0aGlzLnNwZWVjaFZvaWNlKTtcclxuICAgICAgICB0aGlzLnR0c0l0ZW1zW3RleHRdID0gdHRzSXRlbTtcclxuICAgICAgfVxyXG4gICAgICB0dHNJdGVtLnBsYXkoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXhjZXB0aW9uIHBlcmZvcm1pbmcgVFRTJywgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyLCBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFBhcnR5VHJhY2tlciBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcGFydHknO1xyXG5pbXBvcnQgeyBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lciwgUGxheWVyQ2hhbmdlZERldGFpbCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCBVdGlsIGZyb20gJy4uLy4uL3Jlc291cmNlcy91dGlsJztcclxuaW1wb3J0IFpvbmVJZCBmcm9tICcuLi8uLi9yZXNvdXJjZXMvem9uZV9pZCc7XHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBFdmVudFJlc3BvbnNlcywgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IEpvYiwgUm9sZSB9IGZyb20gJy4uLy4uL3R5cGVzL2pvYic7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi8uLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7XHJcbiAgTG9vc2VUcmlnZ2VyLCBPdXRwdXRTdHJpbmdzLCBUaW1lbGluZUZpZWxkLCBUaW1lbGluZUZ1bmMsIExvb3NlVHJpZ2dlclNldCxcclxuICBSZXNwb25zZUZpZWxkLCBUcmlnZ2VyQXV0b0NvbmZpZywgVHJpZ2dlckZpZWxkLCBUcmlnZ2VyT3V0cHV0LFxyXG4gIE91dHB1dCwgUmFpZGJvc3NGaWxlRGF0YSwgUmVzcG9uc2VPdXRwdXQsIFBhcnRpYWxUcmlnZ2VyT3V0cHV0LCBEYXRhSW5pdGlhbGl6ZUZ1bmMsXHJcbiAgR2VuZXJhbE5ldFJlZ2V4VHJpZ2dlciwgUmVnZXhUcmlnZ2VyLFxyXG59IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IEF1dG9wbGF5SGVscGVyIGZyb20gJy4vYXV0b3BsYXlfaGVscGVyJztcclxuaW1wb3J0IEJyb3dzZXJUVFNFbmdpbmUgZnJvbSAnLi9icm93c2VyX3R0c19lbmdpbmUnO1xyXG5pbXBvcnQgeyBQZXJUcmlnZ2VyQXV0b0NvbmZpZywgUGVyVHJpZ2dlck9wdGlvbiwgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuL3RpbWVsaW5lJztcclxuaW1wb3J0IHsgVGltZWxpbmVSZXBsYWNlbWVudCB9IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlciA9XHJcbiAgKHRyaWdnZXI6IExvb3NlVHJpZ2dlcik6IHRyaWdnZXIgaXMgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0+IHtcclxuICAgIHJldHVybiAnaXNUaW1lbGluZVRyaWdnZXInIGluIHRyaWdnZXI7XHJcbiAgfTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc05ldFJlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxHZW5lcmFsTmV0UmVnZXhUcmlnZ2VyPFJhaWRib3NzRGF0YSwgJ05vbmUnPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ25ldFJlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1JlZ2V4VHJpZ2dlciA9ICh0cmlnZ2VyPzogTG9vc2VUcmlnZ2VyKTpcclxuICAgIHRyaWdnZXIgaXMgUGFydGlhbDxSZWdleFRyaWdnZXI8UmFpZGJvc3NEYXRhPj4gPT4ge1xyXG4gIGlmICh0cmlnZ2VyICYmICFpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICByZXR1cm4gJ3JlZ2V4JyBpbiB0cmlnZ2VyO1xyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2Nlc3NlZFRyaWdnZXIgPSBMb29zZVRyaWdnZXIgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgbG9jYWxSZWdleD86IFJlZ0V4cDtcclxuICBsb2NhbE5ldFJlZ2V4PzogUmVnRXhwO1xyXG4gIG91dHB1dD86IE91dHB1dDtcclxufTtcclxuXHJcbnR5cGUgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyID0gUHJvY2Vzc2VkVHJpZ2dlciAmIHtcclxuICBpc1RpbWVsaW5lVHJpZ2dlcj86IHRydWU7XHJcbn07XHJcblxyXG50eXBlIFByb2Nlc3NlZFRyaWdnZXJTZXQgPSBMb29zZVRyaWdnZXJTZXQgJiB7XHJcbiAgZmlsZW5hbWU/OiBzdHJpbmc7XHJcbiAgdGltZWxpbmVUcmlnZ2Vycz86IFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlcltdO1xyXG4gIHRyaWdnZXJzPzogUHJvY2Vzc2VkVHJpZ2dlcltdO1xyXG59O1xyXG5cclxuLy8gVGhlcmUgc2hvdWxkIGJlIChhdCBtb3N0KSBzaXggbGluZXMgb2YgaW5zdHJ1Y3Rpb25zLlxyXG5jb25zdCByYWlkYm9zc0luc3RydWN0aW9uczogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nW10gfSA9IHtcclxuICBlbjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyBhcyBmb2xsb3dzOicsXHJcbiAgICAnVGhpcyBpcyBkZWJ1ZyB0ZXh0IGZvciByZXNpemluZy4nLFxyXG4gICAgJ0l0IGdvZXMgYXdheSB3aGVuIHlvdSBsb2NrIHRoZSBvdmVybGF5JyxcclxuICAgICdhbG9uZyB3aXRoIHRoZSBibHVlIGJhY2tncm91bmQuJyxcclxuICAgICdUaW1lbGluZXMgYW5kIHRyaWdnZXJzIHdpbGwgc2hvdyB1cCBpbiBzdXBwb3J0ZWQgem9uZXMuJyxcclxuICAgICdUZXN0IHJhaWRib3NzIHdpdGggYSAvY291bnRkb3duIGluIFN1bW1lcmZvcmQgRmFybXMuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnQW53ZWlzdW5nZW4gd2llIGZvbGd0OicsXHJcbiAgICAnRGllcyBpc3QgZWluIERlYnVnLVRleHQgenVyIEdyw7bDn2Vuw6RuZGVydW5nLicsXHJcbiAgICAnRXIgdmVyc2Nod2luZGV0LCB3ZW5uIGR1IGRhcyBPdmVybGF5IHNwZXJyc3QsJyxcclxuICAgICd6dXNhbW1lbiBtaXQgZGVtIGJsYXVlbiBIaW50ZXJncnVuZC4nLFxyXG4gICAgJ1RpbWVsaW5lIHVuZCBUcmlnZ2VyIHdlcmRlbiBpbiBkZW4gdW50ZXJzdMO8dHp0ZW4gWm9uZW4gYW5nZXplaWd0LicsXHJcbiAgICAnVGVzdGVuIFNpZSBSYWlkYm9zcyBtaXQgZWluZW0gL2NvdW50ZG93biBpbiBTb21tZXJmdXJ0LUjDtmZlLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0luc3RydWN0aW9ucyA6JyxcclxuICAgICdDZWNpIGVzdCB1biB0ZXh0ZSBkZSB0ZXN0IHBvdXIgcmVkaW1lbnNpb25uZXIuJyxcclxuICAgICdJbCBkaXNwYXJhaXRyYSBcXChhaW5zaSBxdWUgbGUgZm9uZCBibGV1XFwpIHF1YW5kJyxcclxuICAgICdsXFwnb3ZlcmxheSBzZXJhIGJsb3F1w6kuJyxcclxuICAgICdMZXMgdGltZWxpbmVzIGV0IHRyaWdnZXJzIHNlcm9udCBhZmZpY2jDqXMgZGFucyBsZXMgem9uZXMgc3VwcG9ydMOpZXMuJyxcclxuICAgICdUZXN0ZXogcmFpZGJvc3MgYXZlYyB1biAvY291bnRkb3duIGF1eCBWZXJnZXJzIGRcXCdFc3RpdmFsJyxcclxuICBdLFxyXG4gIGphOiBbXHJcbiAgICAn5pON5L2c5omL6aCG77yaJyxcclxuICAgICfjg4fjg5Djg4PjgrDnlKjjga7jg4bjgq3jgrnjg4jjgafjgZnjgIInLFxyXG4gICAgJ+mdkuiJsuOBruOCquODvOODkOODvOODrOOCpOOCkicsXHJcbiAgICAn44Ot44OD44Kv44GZ44KM44Gw5raI44GI44KL44CCJyxcclxuICAgICfjgrXjg53jg7zjg4jjgZnjgovjgr7jg7zjg7Pjgavjgr/jgqTjg6Djg6njgqTjg7Pjgajjg4jjg6rjgqzjg7zjg4bjgq3jgrnjg4jjgYzooajnpLrjgafjgY3jgovjgIInLFxyXG4gICAgJ+OCteODnuODvOODleOCqeODvOODieW6hOOBqy9jb3VudGRvd27jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgIFyYWlkYm9zc+OCkuODhuOCueODiOOBp+OBjeOCi+OAgicsXHJcbiAgXSxcclxuICBjbjogW1xyXG4gICAgJ+ivt+aMieS7peS4i+atpemqpOaTjeS9nO+8micsXHJcbiAgICAn6L+Z5piv5L6b55So5oi36LCD5pW05oKs5rWu56qX5aSn5bCP55qE6LCD6K+V55So5paH5pysJyxcclxuICAgICflvZPkvaDplIHlrprmraTok53oibLog4zmma/nmoTmgqzmta7nqpcnLFxyXG4gICAgJ+ivpeaWh+acrOWNs+S8mua2iOWkseOAgicsXHJcbiAgICAn5Zyo5pSv5oyB55qE5Yy65Z+f5Lit5Lya6Ieq5Yqo5Yqg6L295pe26Ze06L205ZKM6Kem5Y+R5Zmo44CCJyxcclxuICAgICflj6/lnKjnm5vlpI/lhpzluoTkvb/nlKgvY291bnRkb3du5ZG95Luk5rWL6K+V6K+lcmFpZGJvc3PmqKHlnZfjgIInLFxyXG4gIF0sXHJcbiAga286IFtcclxuICAgICc87KGw7J6RIOyEpOuqhT4nLFxyXG4gICAgJ+2BrOq4sCDsobDsoJXsnYQg7JyE7ZWcIOuUlOuyhOq3uCDssL3snoXri4jri6QnLFxyXG4gICAgJ+2MjOuegCDrsLDqsr3qs7wg7J20IO2FjeyKpO2KuOuKlCcsXHJcbiAgICAn7Jik67KE66CI7J2066W8IOychOy5mOyeoOq4iO2VmOuptCDsgqzrnbzsp5Hri4jri6QnLFxyXG4gICAgJ+yngOybkOuQmOuKlCDqtazsl63sl5DshJwg7YOA7J6E65287J246rO8IO2KuOumrOqxsOqwgCDtkZzsi5zrkKnri4jri6QnLFxyXG4gICAgJ+yXrOumhOyXrOyauCDrho3snqXsl5DshJwg7LSI7J296riw66W8IOyLpO2Wie2VmOyXrCDthYzsiqTtirgg7ZW067O8IOyImCDsnojsirXri4jri6QnLFxyXG4gIF0sXHJcbn07XHJcblxyXG4vLyBCZWNhdXNlIGFwcGFyZW50bHkgcGVvcGxlIGRvbid0IHVuZGVyc3RhbmQgdXBwZXJjYXNlIGdyZWVrIGxldHRlcnMsXHJcbi8vIGFkZCBhIHNwZWNpYWwgY2FzZSB0byBub3QgdXBwZXJjYXNlIHRoZW0uXHJcbmNvbnN0IHRyaWdnZXJVcHBlckNhc2UgPSAoc3RyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIHJldHVybiBzdHIucmVwbGFjZSgvW17Osc6yzrPOtF0vZywgKHgpID0+IHgudG9VcHBlckNhc2UoKSk7XHJcbn07XHJcblxyXG4vLyBEaXNhYmxlIG5vLWV4cGxpY2l0LWFueSBkdWUgdG8gY2F0Y2ggY2xhdXNlcyByZXF1aXJpbmcgYW55XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbmNvbnN0IG9uVHJpZ2dlckV4Y2VwdGlvbiA9ICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLCBlOiBhbnkpID0+IHtcclxuICAvLyBXaGVuIGEgZmlnaHQgZW5kcyBhbmQgdGhlcmUgYXJlIG9wZW4gcHJvbWlzZXMsIGZyb20gZGVsYXlTZWNvbmRzIG9yIHByb21pc2UgaXRzZWxmLFxyXG4gIC8vIGFsbCBwcm9taXNlcyB3aWxsIGJlIHJlamVjdGVkLiAgSW4gdGhpcyBjYXNlIHRoZXJlIGlzIG5vIGVycm9yOyBzaW1wbHkgcmV0dXJuIHdpdGhvdXQgbG9nZ2luZy5cclxuICBpZiAoIWUpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGxldCBzdHIgPSAnRXJyb3IgaW4gdHJpZ2dlcjogJyArICh0cmlnZ2VyLmlkID8gdHJpZ2dlci5pZCA6ICdbdW5rbm93biB0cmlnZ2VyIGlkXScpO1xyXG5cclxuICBpZiAodHJpZ2dlci5maWxlbmFtZSlcclxuICAgIHN0ciArPSAnICgnICsgdHJpZ2dlci5maWxlbmFtZSArICcpJztcclxuICBjb25zb2xlLmVycm9yKHN0cik7XHJcblxyXG4gIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgIGNvbnN0IGxpbmVzID0gZS5zdGFjaz8uc3BsaXQoJ1xcbicpID8/IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSlcclxuICAgICAgY29uc29sZS5lcnJvcihsaW5lc1tpXSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3Qgc291bmRzID0gWydBbGFybScsICdBbGVydCcsICdJbmZvJywgJ0xvbmcnLCAnUHVsbCddIGFzIGNvbnN0O1xyXG5jb25zdCBzb3VuZFN0cnM6IHJlYWRvbmx5IHN0cmluZ1tdID0gc291bmRzO1xyXG5cclxudHlwZSBTb3VuZCA9IHR5cGVvZiBzb3VuZHNbbnVtYmVyXTtcclxudHlwZSBTb3VuZFR5cGUgPSBgJHtTb3VuZH1Tb3VuZGA7XHJcbnR5cGUgU291bmRUeXBlVm9sdW1lID0gYCR7U291bmRUeXBlfVZvbHVtZWA7XHJcblxyXG5jb25zdCB0ZXh0cyA9IFsnaW5mbycsICdhbGVydCcsICdhbGFybSddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgVGV4dCA9IHR5cGVvZiB0ZXh0c1tudW1iZXJdO1xyXG50eXBlIFRleHRVcHBlciA9IGAke0NhcGl0YWxpemU8VGV4dD59YDtcclxuZXhwb3J0IHR5cGUgVGV4dFRleHQgPSBgJHtUZXh0fVRleHRgO1xyXG50eXBlIFRleHRVcHBlclRleHQgPSBgJHtUZXh0VXBwZXJ9VGV4dGA7XHJcblxyXG50eXBlIFRleHRNYXAgPSB7XHJcbiAgW3RleHQgaW4gVGV4dF06IHtcclxuICAgIHRleHQ6IFRleHRUZXh0O1xyXG4gICAgdXBwZXJUZXh0OiBUZXh0VXBwZXJUZXh0O1xyXG4gICAgdXBwZXJTb3VuZDogU291bmRUeXBlO1xyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogU291bmRUeXBlVm9sdW1lO1xyXG4gICAgcnVtYmxlRHVyYXRpb246IGAke1RleHRVcHBlcn1SdW1ibGVEdXJhdGlvbmA7XHJcbiAgICBydW1ibGVXZWFrOiBgJHtUZXh0VXBwZXJ9UnVtYmxlV2Vha2A7XHJcbiAgICBydW1ibGVTdHJvbmc6IGAke1RleHRVcHBlcn1SdW1ibGVTdHJvbmdgO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHRleHRNYXA6IFRleHRNYXAgPSB7XHJcbiAgaW5mbzoge1xyXG4gICAgdGV4dDogJ2luZm9UZXh0JyxcclxuICAgIHVwcGVyVGV4dDogJ0luZm9UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdJbmZvU291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICBydW1ibGVEdXJhdGlvbjogJ0luZm9SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnSW5mb1J1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnSW5mb1J1bWJsZVN0cm9uZycsXHJcbiAgfSxcclxuICBhbGVydDoge1xyXG4gICAgdGV4dDogJ2FsZXJ0VGV4dCcsXHJcbiAgICB1cHBlclRleHQ6ICdBbGVydFRleHQnLFxyXG4gICAgdXBwZXJTb3VuZDogJ0FsZXJ0U291bmQnLFxyXG4gICAgdXBwZXJTb3VuZFZvbHVtZTogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgcnVtYmxlRHVyYXRpb246ICdBbGVydFJ1bWJsZUR1cmF0aW9uJyxcclxuICAgIHJ1bWJsZVdlYWs6ICdBbGVydFJ1bWJsZVdlYWsnLFxyXG4gICAgcnVtYmxlU3Ryb25nOiAnQWxlcnRSdW1ibGVTdHJvbmcnLFxyXG4gIH0sXHJcbiAgYWxhcm06IHtcclxuICAgIHRleHQ6ICdhbGFybVRleHQnLFxyXG4gICAgdXBwZXJUZXh0OiAnQWxhcm1UZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdBbGFybVNvdW5kJyxcclxuICAgIHVwcGVyU291bmRWb2x1bWU6ICdBbGFybVNvdW5kVm9sdW1lJyxcclxuICAgIHJ1bWJsZUR1cmF0aW9uOiAnQWxhcm1SdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnQWxhcm1SdW1ibGVXZWFrJyxcclxuICAgIHJ1bWJsZVN0cm9uZzogJ0FsYXJtUnVtYmxlU3Ryb25nJyxcclxuICB9LFxyXG59O1xyXG5cclxuLy8gSGVscGVyIGZvciBoYW5kbGluZyB0cmlnZ2VyIG92ZXJyaWRlcy5cclxuLy9cclxuLy8gYXNMaXN0IHdpbGwgcmV0dXJuIGEgbGlzdCBvZiB0cmlnZ2VycyBpbiB0aGUgc2FtZSBvcmRlciBhcyBhcHBlbmQgd2FzIGNhbGxlZCwgZXhjZXB0OlxyXG4vLyBJZiBhIGxhdGVyIHRyaWdnZXIgaGFzIHRoZSBzYW1lIGlkIGFzIGEgcHJldmlvdXMgdHJpZ2dlciwgaXQgd2lsbCByZXBsYWNlIHRoZSBwcmV2aW91cyB0cmlnZ2VyXHJcbi8vIGFuZCBhcHBlYXIgaW4gdGhlIHNhbWUgb3JkZXIgdGhhdCB0aGUgcHJldmlvdXMgdHJpZ2dlciBhcHBlYXJlZC5cclxuLy8gZS5nLiBhLCBiMSwgYywgYjIgKHdoZXJlIGIxIGFuZCBiMiBzaGFyZSB0aGUgc2FtZSBpZCkgeWllbGRzIFthLCBiMiwgY10gYXMgdGhlIGZpbmFsIGxpc3QuXHJcbi8vXHJcbi8vIEphdmFTY3JpcHQgZGljdGlvbmFyaWVzIGFyZSAqYWxtb3N0KiBvcmRlcmVkIGF1dG9tYXRpY2FsbHkgYXMgd2Ugd291bGQgd2FudCxcclxuLy8gYnV0IHdhbnQgdG8gaGFuZGxlIG1pc3NpbmcgaWRzIGFuZCBpbnRlZ2VyIGlkcyAoeW91IHNob3VsZG4ndCwgYnV0IGp1c3QgaW4gY2FzZSkuXHJcbmNsYXNzIE9yZGVyZWRUcmlnZ2VyTGlzdCB7XHJcbiAgdHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIGlkVG9JbmRleDogeyBbaWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG4gIHB1c2godHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcikge1xyXG4gICAgY29uc3QgaWR4ID0gdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkID8gdGhpcy5pZFRvSW5kZXhbdHJpZ2dlci5pZF0gOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoaWR4ICE9PSB1bmRlZmluZWQgJiYgdHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IG9sZFRyaWdnZXIgPSB0aGlzLnRyaWdnZXJzW2lkeF07XHJcblxyXG4gICAgICBpZiAob2xkVHJpZ2dlciA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIC8vIFRPRE86IGJlIHZlcmJvc2Ugbm93IHdoaWxlIHRoaXMgaXMgZnJlc2gsIGJ1dCBoaWRlIHRoaXMgb3V0cHV0IGJlaGluZCBkZWJ1ZyBmbGFncyBsYXRlci5cclxuICAgICAgY29uc3QgdHJpZ2dlckZpbGUgPVxyXG4gICAgICAgICh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyKSA9PiB0cmlnZ2VyLmZpbGVuYW1lID8gYCcke3RyaWdnZXIuZmlsZW5hbWV9J2AgOiAndXNlciBvdmVycmlkZSc7XHJcbiAgICAgIGNvbnN0IG9sZEZpbGUgPSB0cmlnZ2VyRmlsZShvbGRUcmlnZ2VyKTtcclxuICAgICAgY29uc3QgbmV3RmlsZSA9IHRyaWdnZXJGaWxlKHRyaWdnZXIpO1xyXG4gICAgICBjb25zb2xlLmxvZyhgT3ZlcnJpZGluZyAnJHt0cmlnZ2VyLmlkfScgZnJvbSAke29sZEZpbGV9IHdpdGggJHtuZXdGaWxlfS5gKTtcclxuXHJcbiAgICAgIHRoaXMudHJpZ2dlcnNbaWR4XSA9IHRyaWdnZXI7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBOb3JtYWwgY2FzZSBvZiBhIG5ldyB0cmlnZ2VyLCB3aXRoIG5vIG92ZXJyaWRpbmcuXHJcbiAgICBpZiAodHJpZ2dlci5pZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLmlkVG9JbmRleFt0cmlnZ2VyLmlkXSA9IHRoaXMudHJpZ2dlcnMubGVuZ3RoO1xyXG4gICAgdGhpcy50cmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gIH1cclxuXHJcbiAgYXNMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlcnM7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBpc09iamVjdCA9ICh4OiB1bmtub3duKTogeCBpcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9PiB4IGluc3RhbmNlb2YgT2JqZWN0O1xyXG5cclxuLy8gVXNlciB0cmlnZ2VyIG1heSBwYXNzIGFueXRoaW5nIGFzIHBhcmFtZXRlcnNcclxudHlwZSBUcmlnZ2VyUGFyYW1zID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcblxyXG5jbGFzcyBUcmlnZ2VyT3V0cHV0UHJveHkge1xyXG4gIHB1YmxpYyBvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzO1xyXG4gIHB1YmxpYyBvdmVycmlkZVN0cmluZ3M6IE91dHB1dFN0cmluZ3MgPSB7fTtcclxuICBwdWJsaWMgcmVzcG9uc2VPdXRwdXRTdHJpbmdzOiB7IFtvdXRwdXROYW1lOiBzdHJpbmddOiB1bmtub3duIH0gPSB7fTtcclxuICBwdWJsaWMgdW5rbm93blZhbHVlID0gJz8/Pyc7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIHB1YmxpYyBkaXNwbGF5TGFuZzogTGFuZyxcclxuICAgIHB1YmxpYyBwZXJUcmlnZ2VyQXV0b0NvbmZpZz86IFBlclRyaWdnZXJBdXRvQ29uZmlnKSB7XHJcbiAgICB0aGlzLm91dHB1dFN0cmluZ3MgPSB0cmlnZ2VyLm91dHB1dFN0cmluZ3MgPz8ge307XHJcblxyXG4gICAgaWYgKHRyaWdnZXIuaWQgJiYgcGVyVHJpZ2dlckF1dG9Db25maWcpIHtcclxuICAgICAgY29uc3QgY29uZmlnID0gcGVyVHJpZ2dlckF1dG9Db25maWdbdHJpZ2dlci5pZF07XHJcbiAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLk91dHB1dFN0cmluZ3MpXHJcbiAgICAgICAgdGhpcy5vdmVycmlkZVN0cmluZ3MgPSBjb25maWcuT3V0cHV0U3RyaW5ncztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcclxuICAgICAgLy8gUmVzcG9uc2Ugb3V0cHV0IHN0cmluZyBzdWJ0bGV0eTpcclxuICAgICAgLy8gVGFrZSB0aGlzIGV4YW1wbGUgcmVzcG9uc2U6XHJcbiAgICAgIC8vXHJcbiAgICAgIC8vICAgIHJlc3BvbnNlOiAoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA9PiB7XHJcbiAgICAgIC8vICAgICAgcmV0dXJuIHtcclxuICAgICAgLy8gICAgICAgIGFsYXJtVGV4dDogb3V0cHV0LnNvbWVBbGFybSgpLFxyXG4gICAgICAvLyAgICAgICAgb3V0cHV0U3RyaW5nczogeyBzb21lQWxhcm06ICdzdHJpbmcnIH0sIC8vIDwtIGltcG9zc2libGVcclxuICAgICAgLy8gICAgICB9O1xyXG4gICAgICAvLyAgICB9LFxyXG4gICAgICAvL1xyXG4gICAgICAvLyBCZWNhdXNlIHRoZSBvYmplY3QgYmVpbmcgcmV0dXJuZWQgaXMgZXZhbHVhdGVkIGFsbCBhdCBvbmNlLCB0aGUgb2JqZWN0XHJcbiAgICAgIC8vIGNhbm5vdCBzaW11bHRhbmVvdXNseSBkZWZpbmUgb3V0cHV0U3RyaW5ncyBhbmQgdXNlIHRob3NlIG91dHB1dFN0cmluZ3MuXHJcbiAgICAgIC8vIFNvLCBpbnN0ZWFkLCByZXNwb25zZXMgbmVlZCB0byBzZXQgYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3NgLlxyXG4gICAgICAvLyBIT1dFVkVSLCB0aGlzIGFsc28gaGFzIGl0cyBvd24gaXNzdWVzISAgVGhpcyB2YWx1ZSBpcyBzZXQgZm9yIHRoZSB0cmlnZ2VyXHJcbiAgICAgIC8vICh3aGljaCBtYXkgaGF2ZSBtdWx0aXBsZSBhY3RpdmUgaW4gZmxpZ2h0IGluc3RhbmNlcykuICBUaGlzICpzaG91bGQqIGJlXHJcbiAgICAgIC8vIG9rIGJlY2F1c2Ugd2UgZ3VhcmFudGVlIHRoYXQgcmVzcG9uc2UvYWxhcm1UZXh0L2FsZXJ0VGV4dC9pbmZvVGV4dC90dHNcclxuICAgICAgLy8gYXJlIGV2YWx1YXRlZCBzZXF1ZW50aWFsbHkgZm9yIGEgc2luZ2xlIHRyaWdnZXIgYmVmb3JlIGFueSBvdGhlciB0cmlnZ2VyXHJcbiAgICAgIC8vIGluc3RhbmNlIGV2YWx1YXRlcyB0aGF0IHNldCBvZiB0cmlnZ2Vycy4gIEZpbmFsbHksIGZvciBlYXNlIG9mIGF1dG9tYXRpbmdcclxuICAgICAgLy8gdGhlIGNvbmZpZyB1aSwgdGhlIHJlc3BvbnNlIHNob3VsZCByZXR1cm4gdGhlIGV4YWN0IHNhbWUgc2V0IG9mXHJcbiAgICAgIC8vIG91dHB1dFN0cmluZ3MgZXZlcnkgdGltZS4gIFRoYW5rIHlvdSBmb3IgY29taW5nIHRvIG15IFRFRCB0YWxrLlxyXG4gICAgICBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAocHJvcGVydHkgPT09ICdyZXNwb25zZU91dHB1dFN0cmluZ3MnKSB7XHJcbiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRhcmdldFtwcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHJlc3BvbnNlT3V0cHV0U3RyaW5ncyBvbiB0cmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQmUga2luZCB0byB1c2VyIHRyaWdnZXJzIHRoYXQgZG8gd2VpcmQgdGhpbmdzLCBhbmQganVzdCBjb25zb2xlIGVycm9yIHRoaXNcclxuICAgICAgICAvLyBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGV4Y2VwdGlvbi5cclxuICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhbGlkIHByb3BlcnR5ICcke1N0cmluZyhwcm9wZXJ0eSl9JyBvbiBvdXRwdXQuYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KHRhcmdldCwgbmFtZSkge1xyXG4gICAgICAgIC8vIFRPRE86IGFkZCBhIHRlc3QgdGhhdCB2ZXJpZmllcyBub2JvZHkgZG9lcyB0aGlzLlxyXG4gICAgICAgIGlmIChuYW1lID09PSAndG9KU09OJyB8fCB0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycpXHJcbiAgICAgICAgICByZXR1cm4gJ3t9JztcclxuXHJcbiAgICAgICAgLy8gQmVjYXVzZSBvdXRwdXQuZnVuYygpIG11c3QgZXhpc3QgYXQgdGhlIHRpbWUgb2YgdHJpZ2dlciBldmFsLFxyXG4gICAgICAgIC8vIGFsd2F5cyBwcm92aWRlIGEgZnVuY3Rpb24gZXZlbiBiZWZvcmUgd2Uga25vdyB3aGljaCBrZXlzIGFyZSB2YWxpZC5cclxuICAgICAgICByZXR1cm4gKHBhcmFtczogVHJpZ2dlclBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB0YXJnZXQudHJpZ2dlci5pZCA/PyAnVW5rbm93biBUcmlnZ2VyJztcclxuXHJcbiAgICAgICAgICAvLyBQcmlvcml0eTogcGVyLXRyaWdnZXIgY29uZmlnIGZyb20gdWkgPiByZXNwb25zZSA+IGJ1aWx0LWluIHRyaWdnZXJcclxuICAgICAgICAgIC8vIElkZWFsbHksIHJlc3BvbnNlIHByb3ZpZGVzIGV2ZXJ5dGhpbmcgYW5kIHRyaWdnZXIgcHJvdmlkZXMgbm90aGluZyxcclxuICAgICAgICAgIC8vIG9yIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgYW5kIHRyaWdnZXIgcHJvdmlkZXMgZXZlcnl0aGluZy4gIEhhdmluZ1xyXG4gICAgICAgICAgLy8gdGhpcyB3ZWxsLWRlZmluZWQgc21vb3RocyBvdXQgdGhlIGNvbGxpc2lvbiBlZGdlIGNhc2VzLlxyXG4gICAgICAgICAgbGV0IHN0ciA9IHRhcmdldC5nZXRSZXBsYWNlbWVudCh0YXJnZXQub3ZlcnJpZGVTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZVN0cmluZyA9IHRhcmdldC5yZXNwb25zZU91dHB1dFN0cmluZ3NbbmFtZV07XHJcbiAgICAgICAgICAgIGlmIChpc09iamVjdChyZXNwb25zZVN0cmluZykpXHJcbiAgICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHJlc3BvbnNlU3RyaW5nLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgc3RyID0gdGFyZ2V0LmdldFJlcGxhY2VtZW50KHRhcmdldC5vdXRwdXRTdHJpbmdzW25hbWVdLCBwYXJhbXMsIG5hbWUsIGlkKTtcclxuICAgICAgICAgIGlmIChzdHIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7dGFyZ2V0LnRyaWdnZXIuaWQgPz8gJyd9IGhhcyBtaXNzaW5nIG91dHB1dFN0cmluZyAke25hbWV9LmApO1xyXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnVua25vd25WYWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHI7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVwbGFjZW1lbnQoXHJcbiAgICAvLyBDYW4ndCB1c2Ugb3B0aW9uYWwgbW9kaWZpZXIgZm9yIHRoaXMgYXJnIHNpbmNlIHRoZSBvdGhlcnMgYXJlbid0IG9wdGlvbmFsXHJcbiAgICB0ZW1wbGF0ZTogeyBbbGFuZzogc3RyaW5nXTogdW5rbm93biB9IHwgc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zOiBUcmlnZ2VyUGFyYW1zLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRlbXBsYXRlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IHZhbHVlOiB1bmtub3duO1xyXG4gICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIC8vIHVzZXIgY29uZmlnXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHZhbHVlID0gdGVtcGxhdGVbdGhpcy5kaXNwbGF5TGFuZ10gPz8gdGVtcGxhdGVbJ2VuJ107XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgaW52YWxpZCBvdXRwdXRTdHJpbmcgJHtuYW1lfS5gLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcJHtcXHMqKFtefVxcc10rKVxccyp9L2csIChfZnVsbE1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXMgJiYga2V5IGluIHBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHN0ciA9IHBhcmFtc1trZXldO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHN0cikge1xyXG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgIHJldHVybiBzdHIudG9TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfSBoYXMgbm9uLXN0cmluZyBwYXJhbSB2YWx1ZSAke2tleX0uYCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudW5rbm93blZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH0gY2FuJ3QgcmVwbGFjZSAke2tleX0gaW4gJHtKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSl9LmApO1xyXG4gICAgICByZXR1cm4gdGhpcy51bmtub3duVmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYWtlT3V0cHV0KFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIGRpc3BsYXlMYW5nOiBMYW5nLFxyXG4gICAgcGVyVHJpZ2dlckF1dG9Db25maWc/OiBQZXJUcmlnZ2VyQXV0b0NvbmZpZyk6IE91dHB1dCB7XHJcbiAgICAvLyBgT3V0cHV0YCBpcyB0aGUgY29tbW9uIHR5cGUgdXNlZCBmb3IgdGhlIHRyaWdnZXIgZGF0YSBpbnRlcmZhY2UgdG8gc3VwcG9ydCBhcmJpdHJhcnlcclxuICAgIC8vIHN0cmluZyBrZXlzIGFuZCBhbHdheXMgcmV0dXJucyBhIHN0cmluZy4gSG93ZXZlciwgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgZ29vZCBzdXBwb3J0XHJcbiAgICAvLyBmb3IgdGhlIFByb3h5IHJlcHJlc2VudGluZyB0aGlzIHN0cnVjdHVyZSBzbyB3ZSBuZWVkIHRvIGNhc3QgUHJveHkgPT4gdW5rbm93biA9PiBPdXRwdXRcclxuICAgIHJldHVybiBuZXcgVHJpZ2dlck91dHB1dFByb3h5KHRyaWdnZXIsIGRpc3BsYXlMYW5nLFxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZykgYXMgdW5rbm93biBhcyBPdXRwdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSYWlkYm9zc1RyaWdnZXJGaWVsZCA9XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+PiB8XHJcbiAgVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPj47XHJcbmV4cG9ydCB0eXBlIFJhaWRib3NzVHJpZ2dlck91dHB1dCA9IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPiB8XHJcbiAgUGFydGlhbFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuXHJcbmNvbnN0IGRlZmF1bHRPdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh7fSwgJ2VuJyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJIZWxwZXIge1xyXG4gIHZhbHVlT3JGdW5jdGlvbjogKGY6IFJhaWRib3NzVHJpZ2dlckZpZWxkKSA9PiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQ7XHJcbiAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcjtcclxuICBub3c6IG51bWJlcjtcclxuICB0cmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbjtcclxuICB0cmlnZ2VyQXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWc7XHJcbiAgLy8gVGhpcyBzZXR0aW5nIG9ubHkgc3VwcHJlc3NlcyBvdXRwdXQsIHRyaWdnZXIgc3RpbGwgcnVucyBmb3IgZGF0YS9sb2dpYyBwdXJwb3Nlc1xyXG4gIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBib29sZWFuO1xyXG4gIG1hdGNoZXM6IE1hdGNoZXM7XHJcbiAgcmVzcG9uc2U/OiBSZXNwb25zZU91dHB1dDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+O1xyXG4gIC8vIERlZmF1bHQgb3B0aW9uc1xyXG4gIHNvdW5kVXJsPzogc3RyaW5nO1xyXG4gIHNvdW5kVm9sPzogbnVtYmVyO1xyXG4gIHRyaWdnZXJTb3VuZFZvbD86IG51bWJlcjtcclxuICBkZWZhdWx0VFRTVGV4dD86IHN0cmluZztcclxuICB0ZXh0QWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBzb3VuZEFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc3Bva2VuQWxlcnRzRW5hYmxlZDogYm9vbGVhbjtcclxuICBncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgZHVyYXRpb24/OiB7XHJcbiAgICBmcm9tQ29uZmlnPzogbnVtYmVyO1xyXG4gICAgZnJvbVRyaWdnZXI/OiBudW1iZXI7XHJcbiAgICBhbGFybVRleHQ6IG51bWJlcjtcclxuICAgIGFsZXJ0VGV4dDogbnVtYmVyO1xyXG4gICAgaW5mb1RleHQ6IG51bWJlcjtcclxuICB9O1xyXG4gIHR0c1RleHQ/OiBzdHJpbmc7XHJcbiAgcnVtYmxlRHVyYXRpb25Ncz86IG51bWJlcjtcclxuICBydW1ibGVXZWFrPzogbnVtYmVyO1xyXG4gIHJ1bWJsZVN0cm9uZz86IG51bWJlcjtcclxuICBvdXRwdXQ6IE91dHB1dDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBvcHVwVGV4dCB7XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJzOiBQcm9jZXNzZWRUcmlnZ2VyW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgbmV0VHJpZ2dlcnM6IFByb2Nlc3NlZFRyaWdnZXJbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB0aW1lcnM6IHsgW3RyaWdnZXJJZDogbnVtYmVyXTogYm9vbGVhbiB9ID0ge307XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJTdXBwcmVzczogeyBbdHJpZ2dlcklkOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCBjdXJyZW50VHJpZ2dlcklEID0gMDtcclxuICBwcm90ZWN0ZWQgaW5Db21iYXQgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgcmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG4gIC8vIFRoZXNlIGFyZSBkZWxpYmVyYXRlbHkgYHwgbnVsbGAgZm9yIHJhaWRlbXVsYXRvciBleHRlbmRhYmlsaXR5IHJlYXNvbnNcclxuICBwcm90ZWN0ZWQgaW5mb1RleHQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBwcm90ZWN0ZWQgYWxlcnRUZXh0OiBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgcHJvdGVjdGVkIGFsYXJtVGV4dDogSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gIHByb3RlY3RlZCBwYXJzZXJMYW5nOiBMYW5nO1xyXG4gIHByb3RlY3RlZCBkaXNwbGF5TGFuZzogTGFuZztcclxuICBwcm90ZWN0ZWQgdHRzRW5naW5lPzogQnJvd3NlclRUU0VuZ2luZTtcclxuICBwcm90ZWN0ZWQgdHRzU2F5OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIHByb3RlY3RlZCBwYXJ0eVRyYWNrZXIgPSBuZXcgUGFydHlUcmFja2VyKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGtNYXhSb3dzT2ZUZXh0ID0gMjtcclxuICBwcm90ZWN0ZWQgZGF0YTogUmFpZGJvc3NEYXRhO1xyXG4gIHByb3RlY3RlZCBtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCBqb2I6IEpvYiA9ICdOT05FJztcclxuICBwcm90ZWN0ZWQgcm9sZTogUm9sZSA9ICdub25lJztcclxuICBwcm90ZWN0ZWQgdHJpZ2dlclNldHM6IFByb2Nlc3NlZFRyaWdnZXJTZXRbXSA9IFtdO1xyXG4gIHByb3RlY3RlZCB6b25lTmFtZSA9ICcnO1xyXG4gIHByb3RlY3RlZCB6b25lSWQgPSAtMTtcclxuICBwcm90ZWN0ZWQgZGF0YUluaXRpYWxpemVyczoge1xyXG4gICAgZmlsZTogc3RyaW5nO1xyXG4gICAgZnVuYzogRGF0YUluaXRpYWxpemVGdW5jPFJhaWRib3NzRGF0YT47XHJcbiAgfVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB0aW1lbGluZUxvYWRlcjogVGltZWxpbmVMb2FkZXIsXHJcbiAgICBwcm90ZWN0ZWQgcmFpZGJvc3NEYXRhRmlsZXM6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyID0gdGltZWxpbmVMb2FkZXI7XHJcbiAgICB0aGlzLlByb2Nlc3NEYXRhRmlsZXMocmFpZGJvc3NEYXRhRmlsZXMpO1xyXG5cclxuICAgIHRoaXMuaW5mb1RleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtdGV4dC1pbmZvJyk7XHJcbiAgICB0aGlzLmFsZXJ0VGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsZXJ0Jyk7XHJcbiAgICB0aGlzLmFsYXJtVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC10ZXh0LWFsYXJtJyk7XHJcblxyXG4gICAgdGhpcy5wYXJzZXJMYW5nID0gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcbiAgICB0aGlzLmRpc3BsYXlMYW5nID0gdGhpcy5vcHRpb25zLkFsZXJ0c0xhbmd1YWdlID8/IHRoaXMub3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPz8gdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlID8/ICdlbic7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5Jc1JlbW90ZVJhaWRib3NzKSB7XHJcbiAgICAgIHRoaXMudHRzRW5naW5lID0gbmV3IEJyb3dzZXJUVFNFbmdpbmUodGhpcy5kaXNwbGF5TGFuZyk7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLnR0c0VuZ2luZT8ucGxheSh0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpKTtcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHRzU2F5ID0gKHRleHQpID0+IHtcclxuICAgICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7XHJcbiAgICAgICAgICBjYWxsOiAnY2FjdGJvdFNheScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLm9wdGlvbnMuVHJhbnNmb3JtVHRzKHRleHQpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZ2V0RGF0YU9iamVjdCgpO1xyXG5cclxuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHVzZXIgaW50ZXJhY3Rpb24gdG8gcGxheSBhdWRpb1xyXG4gICAgLy8gb25seSBpZiBhdWRpbyBpcyBlbmFibGVkIGluIG9wdGlvbnNcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuQXVkaW9BbGxvd2VkKVxyXG4gICAgICBBdXRvcGxheUhlbHBlci5DaGVja0FuZFByb21wdCgpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuICAgIHRoaXMuQWRkRGVidWdJbnN0cnVjdGlvbnMoKTtcclxuICAgIHRoaXMuSG9va092ZXJsYXlzKCk7XHJcbiAgfVxyXG5cclxuICBBZGREZWJ1Z0luc3RydWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHJhaWRib3NzSW5zdHJ1Y3Rpb25zW3RoaXMuZGlzcGxheUxhbmddLmZvckVhY2goKGxpbmUsIGkpID0+IHtcclxuICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpbnN0cnVjdGlvbnMtJHtpfWApO1xyXG4gICAgICBpZiAoIWVsZW0pXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBlbGVtLmlubmVySFRNTCA9IGxpbmU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEhvb2tPdmVybGF5cygpOiB2b2lkIHtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5wYXJ0eVRyYWNrZXIub25QYXJ0eUNoYW5nZWQoZSk7XHJcbiAgICB9KTtcclxuICAgIGFkZFBsYXllckNoYW5nZWRPdmVycmlkZUxpc3RlbmVyKChlOiBQbGF5ZXJDaGFuZ2VkRGV0YWlsKSA9PiB7XHJcbiAgICAgIHRoaXMuT25QbGF5ZXJDaGFuZ2UoZSk7XHJcbiAgICB9LCB0aGlzLm9wdGlvbnMuUGxheWVyTmFtZU92ZXJyaWRlKTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignQ2hhbmdlWm9uZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuT25DaGFuZ2Vab25lKGUpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uSW5Db21iYXRDaGFuZ2VkRXZlbnQnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLk9uSW5Db21iYXRDaGFuZ2UoZS5kZXRhaWwuaW5HYW1lQ29tYmF0KTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvbkxvZ0V2ZW50JywgKGUpID0+IHtcclxuICAgICAgdGhpcy5PbkxvZyhlKTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdMb2dMaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5Pbk5ldExvZyhlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgT25QbGF5ZXJDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuam9iICE9PSBlLmRldGFpbC5qb2IgfHwgdGhpcy5tZSAhPT0gZS5kZXRhaWwubmFtZSlcclxuICAgICAgdGhpcy5PbkpvYkNoYW5nZShlKTtcclxuICAgIHRoaXMuZGF0YS5jdXJyZW50SFAgPSBlLmRldGFpbC5jdXJyZW50SFA7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzRGF0YUZpbGVzKGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyaWdnZXJTZXRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwganNvbl0gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy5qcycpICYmICFmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBpZiAodHlwZW9mIGpzb24gIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGFuIGFycmF5Jyk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFqc29uLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIGEgdHJpZ2dlcnMnKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIGpzb24udHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8ICEoanNvbi50cmlnZ2Vycy5sZW5ndGggPj0gMCkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnVW5leHBlY3RlZCBKU09OIGZyb20gJyArIGZpbGVuYW1lICsgJywgZXhwZWN0ZWQgdHJpZ2dlcnMgdG8gYmUgYW4gYXJyYXknKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwcm9jZXNzZWRTZXQgPSB7XHJcbiAgICAgICAgZmlsZW5hbWU6IGZpbGVuYW1lLFxyXG4gICAgICAgIC4uLmpzb24sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMudHJpZ2dlclNldHMucHVzaChwcm9jZXNzZWRTZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZXIgdHJpZ2dlcnMgbXVzdCBjb21lIGxhc3Qgc28gdGhhdCB0aGV5IG92ZXJyaWRlIGJ1aWx0LWluIGZpbGVzLlxyXG4gICAgdGhpcy50cmlnZ2VyU2V0cy5wdXNoKC4uLnRoaXMub3B0aW9ucy5UcmlnZ2Vycyk7XHJcbiAgfVxyXG5cclxuICBPbkNoYW5nZVpvbmUoZTogRXZlbnRSZXNwb25zZXNbJ0NoYW5nZVpvbmUnXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuem9uZU5hbWUgIT09IGUuem9uZU5hbWUpIHtcclxuICAgICAgdGhpcy56b25lTmFtZSA9IGUuem9uZU5hbWU7XHJcbiAgICAgIHRoaXMuem9uZUlkID0gZS56b25lSUQ7XHJcbiAgICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBSZWxvYWRUaW1lbGluZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudHJpZ2dlclNldHMgfHwgIXRoaXMubWUgfHwgIXRoaXMuem9uZU5hbWUgfHwgIXRoaXMudGltZWxpbmVMb2FkZXIuSXNSZWFkeSgpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gRHJvcCB0aGUgdHJpZ2dlcnMgYW5kIHRpbWVsaW5lcyBmcm9tIHRoZSBwcmV2aW91cyB6b25lLCBzbyB3ZSBjYW4gYWRkIG5ldyBvbmVzLlxyXG4gICAgdGhpcy50cmlnZ2VycyA9IFtdO1xyXG4gICAgdGhpcy5uZXRUcmlnZ2VycyA9IFtdO1xyXG4gICAgbGV0IHRpbWVsaW5lRmlsZXMgPSBbXTtcclxuICAgIGxldCB0aW1lbGluZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBjb25zdCByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSA9IFtdO1xyXG4gICAgY29uc3QgdGltZWxpbmVTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmVzZXRXaGVuT3V0T2ZDb21iYXQgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IG9yZGVyZWRUcmlnZ2VycyA9IG5ldyBPcmRlcmVkVHJpZ2dlckxpc3QoKTtcclxuXHJcbiAgICAvLyBTb21lIHVzZXIgdGltZWxpbmVzIG1heSByZWx5IG9uIGhhdmluZyB2YWxpZCBpbml0IGRhdGFcclxuICAgIC8vIERvbid0IHVzZSBgdGhpcy5SZXNldCgpYCBzaW5jZSB0aGF0IGNsZWFycyBvdGhlciB0aGluZ3MgYXMgd2VsbFxyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5nZXREYXRhT2JqZWN0KCk7XHJcblxyXG4gICAgLy8gUmVjdXJzaXZlbHkvaXRlcmF0aXZlbHkgcHJvY2VzcyB0aW1lbGluZSBlbnRyaWVzIGZvciB0cmlnZ2Vycy5cclxuICAgIC8vIEZ1bmN0aW9ucyBnZXQgY2FsbGVkIHdpdGggZGF0YSwgYXJyYXlzIGdldCBpdGVyYXRlZCwgc3RyaW5ncyBnZXQgYXBwZW5kZWQuXHJcbiAgICBjb25zdCBhZGRUaW1lbGluZSA9IChmdW5jdGlvbih0aGlzOiBQb3B1cFRleHQsIG9iajogVGltZWxpbmVGaWVsZCB8IFRpbWVsaW5lRnVuYyB8IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgYWRkVGltZWxpbmUob2JqKHRoaXMuZGF0YSkpO1xyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRpbWVsaW5lcy5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pLmJpbmQodGhpcyk7XHJcblxyXG4gICAgLy8gY29uc3RydWN0IHNvbWV0aGluZyBsaWtlIHJlZ2V4RGUgb3IgcmVnZXhGci5cclxuICAgIGNvbnN0IGxhbmdTdWZmaXggPSB0aGlzLnBhcnNlckxhbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLnBhcnNlckxhbmcuc2xpY2UoMSk7XHJcbiAgICBjb25zdCByZWdleFBhcnNlckxhbmcgPSAncmVnZXgnICsgbGFuZ1N1ZmZpeDtcclxuICAgIGNvbnN0IG5ldFJlZ2V4UGFyc2VyTGFuZyA9ICduZXRSZWdleCcgKyBsYW5nU3VmZml4O1xyXG5cclxuICAgIGZvciAoY29uc3Qgc2V0IG9mIHRoaXMudHJpZ2dlclNldHMpIHtcclxuICAgICAgLy8gem9uZVJlZ2V4IGNhbiBiZSB1bmRlZmluZWQsIGEgcmVnZXgsIG9yIHRyYW5zbGF0YWJsZSBvYmplY3Qgb2YgcmVnZXguXHJcbiAgICAgIGNvbnN0IGhhdmVab25lUmVnZXggPSAnem9uZVJlZ2V4JyBpbiBzZXQ7XHJcbiAgICAgIGNvbnN0IGhhdmVab25lSWQgPSAnem9uZUlkJyBpbiBzZXQ7XHJcbiAgICAgIGlmICghaGF2ZVpvbmVSZWdleCAmJiAhaGF2ZVpvbmVJZCB8fCBoYXZlWm9uZVJlZ2V4ICYmIGhhdmVab25lSWQpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyIHNldCBtdXN0IGluY2x1ZGUgZXhhY3RseSBvbmUgb2Ygem9uZVJlZ2V4IG9yIHpvbmVJZCBwcm9wZXJ0eWApO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChoYXZlWm9uZUlkICYmIHNldC56b25lSWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gc2V0LmZpbGVuYW1lID8gYCcke3NldC5maWxlbmFtZX0nYCA6ICcodXNlciBmaWxlKSc7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciBzZXQgaGFzIHpvbmVJZCwgYnV0IHdpdGggbm90aGluZyBzcGVjaWZpZWQgaW4gJHtmaWxlbmFtZX0uICBgICtcclxuICAgICAgICAgICAgICAgICAgICAgIGBEaWQgeW91IG1pc3NwZWxsIHRoZSBab25lSWQuWm9uZU5hbWU/YCk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQuem9uZUlkKSB7XHJcbiAgICAgICAgaWYgKHNldC56b25lSWQgIT09IFpvbmVJZC5NYXRjaEFsbCAmJiBzZXQuem9uZUlkICE9PSB0aGlzLnpvbmVJZCAmJiAhKHR5cGVvZiBzZXQuem9uZUlkID09PSAnb2JqZWN0JyAmJiBzZXQuem9uZUlkLmluY2x1ZGVzKHRoaXMuem9uZUlkKSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmIChzZXQuem9uZVJlZ2V4KSB7XHJcbiAgICAgICAgbGV0IHpvbmVSZWdleCA9IHNldC56b25lUmVnZXg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB6b25lUmVnZXggIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCd6b25lUmVnZXggbXVzdCBiZSB0cmFuc2xhdGFibGUgb2JqZWN0IG9yIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZXJMYW5nUmVnZXggPSB6b25lUmVnZXhbdGhpcy5wYXJzZXJMYW5nXTtcclxuICAgICAgICAgIGlmIChwYXJzZXJMYW5nUmVnZXgpIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gcGFyc2VyTGFuZ1JlZ2V4O1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh6b25lUmVnZXhbJ2VuJ10pIHtcclxuICAgICAgICAgICAgem9uZVJlZ2V4ID0gem9uZVJlZ2V4WydlbiddO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biB6b25lUmVnZXggcGFyc2VyIGxhbmd1YWdlOiAnICsgSlNPTi5zdHJpbmdpZnkoc2V0LnpvbmVSZWdleCkpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoISh6b25lUmVnZXggaW5zdGFuY2VvZiBSZWdFeHApKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3pvbmVSZWdleCBtdXN0IGJlIHJlZ2V4cDogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnpvbmVOYW1lLnNlYXJjaChSZWdleGVzLnBhcnNlKHpvbmVSZWdleCkpIDwgMClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLkRlYnVnKSB7XHJcbiAgICAgICAgaWYgKHNldC5maWxlbmFtZSlcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nICcgKyBzZXQuZmlsZW5hbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nIHVzZXIgdHJpZ2dlcnMgZm9yIHpvbmUnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3Qgc2V0RmlsZW5hbWUgPSBzZXQuZmlsZW5hbWUgPz8gJ1Vua25vd24nO1xyXG5cclxuICAgICAgaWYgKHNldC5pbml0RGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YUluaXRpYWxpemVycy5wdXNoKHtcclxuICAgICAgICAgIGZpbGU6IHNldEZpbGVuYW1lLFxyXG4gICAgICAgICAgZnVuYzogc2V0LmluaXREYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGp1c3QgdHJpZ2dlcnMgZm9yIHRoZSBwYXJzZXIgbGFuZ3VhZ2UuXHJcbiAgICAgIGlmIChzZXQudHJpZ2dlcnMgJiYgdGhpcy5vcHRpb25zLkFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2Ygc2V0LnRyaWdnZXJzKSB7XHJcbiAgICAgICAgICAvLyBBZGQgYW4gYWRkaXRpb25hbCByZXNvbHZlZCByZWdleCBoZXJlIHRvIHNhdmVcclxuICAgICAgICAgIC8vIHRpbWUgbGF0ZXIuICBUaGlzIHdpbGwgY2xvYmJlciBlYWNoIHRpbWUgd2VcclxuICAgICAgICAgIC8vIGxvYWQgdGhpcywgYnV0IHRoYXQncyBvay5cclxuICAgICAgICAgIHRyaWdnZXIuZmlsZW5hbWUgPSBzZXRGaWxlbmFtZTtcclxuICAgICAgICAgIGNvbnN0IGlkID0gdHJpZ2dlci5pZDtcclxuXHJcbiAgICAgICAgICBpZiAoIWlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpICYmICFpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBoYXMgbm8gcmVnZXggcHJvcGVydHkgc3BlY2lmaWVkYCk7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuUHJvY2Vzc1RyaWdnZXIodHJpZ2dlcik7XHJcblxyXG4gICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgY29uc3QgdHJpZ2dlck9iamVjdDogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB0cmlnZ2VyO1xyXG5cclxuICAgICAgICAgIC8vIHBhcnNlci1sYW5ndWFnZS1iYXNlZCByZWdleCB0YWtlcyBwcmVjZWRlbmNlLlxyXG4gICAgICAgICAgaWYgKGlzUmVnZXhUcmlnZ2VyKHRyaWdnZXIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gdHJpZ2dlck9iamVjdFtyZWdleFBhcnNlckxhbmddID8/IHRyaWdnZXIucmVnZXg7XHJcbiAgICAgICAgICAgIGlmIChyZWdleCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICAgIHRyaWdnZXIubG9jYWxSZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXgpO1xyXG4gICAgICAgICAgICAgIG9yZGVyZWRUcmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChpc05ldFJlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXRSZWdleCA9IHRyaWdnZXJPYmplY3RbbmV0UmVnZXhQYXJzZXJMYW5nXSA/PyB0cmlnZ2VyLm5ldFJlZ2V4O1xyXG4gICAgICAgICAgICBpZiAobmV0UmVnZXggaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgICB0cmlnZ2VyLmxvY2FsTmV0UmVnZXggPSBSZWdleGVzLnBhcnNlKG5ldFJlZ2V4KTtcclxuICAgICAgICAgICAgICBvcmRlcmVkVHJpZ2dlcnMucHVzaCh0cmlnZ2VyKTtcclxuICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoIWZvdW5kKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RyaWdnZXIgJyArIHRyaWdnZXIuaWQgKyAnOiBtaXNzaW5nIHJlZ2V4IGFuZCBuZXRSZWdleCcpO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQub3ZlcnJpZGVUaW1lbGluZUZpbGUpIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHNldC5maWxlbmFtZSA/IGAnJHtzZXQuZmlsZW5hbWV9J2AgOiAnKHVzZXIgZmlsZSknO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBPdmVycmlkaW5nIHRpbWVsaW5lIGZyb20gJHtmaWxlbmFtZX0uYCk7XHJcblxyXG4gICAgICAgIC8vIElmIHRoZSB0aW1lbGluZSBmaWxlIG92ZXJyaWRlIGlzIHNldCwgYWxsIHByZXZpb3VzbHkgbG9hZGVkIHRpbWVsaW5lIGluZm8gaXMgZHJvcHBlZC5cclxuICAgICAgICAvLyBTdHlsZXMsIHRyaWdnZXJzLCBhbmQgdHJhbnNsYXRpb25zIGFyZSBrZXB0LCBhcyB0aGV5IG1heSBzdGlsbCBhcHBseSB0byB0aGUgbmV3IG9uZS5cclxuICAgICAgICB0aW1lbGluZUZpbGVzID0gW107XHJcbiAgICAgICAgdGltZWxpbmVzID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFuZCBzZXQgdGhlIHRpbWVsaW5lIGZpbGVzL3RpbWVsaW5lcyBmcm9tIGVhY2ggc2V0IHRoYXQgbWF0Y2hlcy5cclxuICAgICAgaWYgKHNldC50aW1lbGluZUZpbGUpIHtcclxuICAgICAgICBpZiAoc2V0LmZpbGVuYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkaXIgPSBzZXQuZmlsZW5hbWUuc3Vic3RyaW5nKDAsIHNldC5maWxlbmFtZS5sYXN0SW5kZXhPZignLycpKTtcclxuICAgICAgICAgIHRpbWVsaW5lRmlsZXMucHVzaChkaXIgKyAnLycgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gTm90ZTogRm9yIHVzZXIgZmlsZXMsIHRoaXMgc2hvdWxkIGdldCBoYW5kbGVkIGJ5IHJhaWRib3NzX2NvbmZpZy5qcyxcclxuICAgICAgICAgIC8vIHdoZXJlIGB0aW1lbGluZUZpbGVgIHNob3VsZCBnZXQgY29udmVydGVkIHRvIGB0aW1lbGluZWAuXHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5cXCd0IHNwZWNpZnkgdGltZWxpbmVGaWxlIGluIG5vbi1tYW5pZmVzdCBmaWxlOicgKyBzZXQudGltZWxpbmVGaWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzZXQudGltZWxpbmUpXHJcbiAgICAgICAgYWRkVGltZWxpbmUoc2V0LnRpbWVsaW5lKTtcclxuICAgICAgaWYgKHNldC50aW1lbGluZVJlcGxhY2UpXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2goLi4uc2V0LnRpbWVsaW5lUmVwbGFjZSk7XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBzZXQudGltZWxpbmVUcmlnZ2Vycykge1xyXG4gICAgICAgICAgdGhpcy5Qcm9jZXNzVHJpZ2dlcih0cmlnZ2VyKTtcclxuICAgICAgICAgIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXIgPSB0cnVlO1xyXG4gICAgICAgICAgb3JkZXJlZFRyaWdnZXJzLnB1c2godHJpZ2dlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVTdHlsZXMpXHJcbiAgICAgICAgdGltZWxpbmVTdHlsZXMucHVzaCguLi5zZXQudGltZWxpbmVTdHlsZXMpO1xyXG4gICAgICBpZiAoc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0ICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdCAmJj0gc2V0LnJlc2V0V2hlbk91dE9mQ29tYmF0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3JlIGFsbCB0aGUgY29sbGVjdGVkIHRyaWdnZXJzIGluIG9yZGVyLCBhbmQgZmlsdGVyIG91dCBkaXNhYmxlZCB0cmlnZ2Vycy5cclxuICAgIGNvbnN0IGZpbHRlckVuYWJsZWQgPSAodHJpZ2dlcjogTG9vc2VUcmlnZ2VyKSA9PiAhKCdkaXNhYmxlZCcgaW4gdHJpZ2dlciAmJiB0cmlnZ2VyLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IGFsbFRyaWdnZXJzID0gb3JkZXJlZFRyaWdnZXJzLmFzTGlzdCgpLmZpbHRlcihmaWx0ZXJFbmFibGVkKTtcclxuXHJcbiAgICB0aGlzLnRyaWdnZXJzID0gYWxsVHJpZ2dlcnMuZmlsdGVyKGlzUmVnZXhUcmlnZ2VyKTtcclxuICAgIHRoaXMubmV0VHJpZ2dlcnMgPSBhbGxUcmlnZ2Vycy5maWx0ZXIoaXNOZXRSZWdleFRyaWdnZXIpO1xyXG4gICAgY29uc3QgdGltZWxpbmVUcmlnZ2VycyA9IGFsbFRyaWdnZXJzLmZpbHRlcihpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIpO1xyXG5cclxuICAgIHRoaXMuUmVzZXQoKTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lTG9hZGVyLlNldFRpbWVsaW5lcyhcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRpbWVsaW5lVHJpZ2dlcnMsXHJcbiAgICAgIHRpbWVsaW5lU3R5bGVzLFxyXG4gICAgICB0aGlzLnpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBQcm9jZXNzVHJpZ2dlcih0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyIHwgUHJvY2Vzc2VkVGltZWxpbmVUcmlnZ2VyKTogdm9pZCB7XHJcbiAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGFyZSB1c2VkIGludGVybmFsbHkgYnkgUmVsb2FkVGltZWxpbmVzIG9ubHkgYW5kIHNob3VsZFxyXG4gICAgLy8gbm90IGV4aXN0IG9uIHVzZXIgdHJpZ2dlcnMuICBIb3dldmVyLCB0aGUgdHJpZ2dlciBvYmplY3RzIHRoZW1zZWx2ZXMgYXJlXHJcbiAgICAvLyByZXVzZWQgd2hlbiByZWxvYWRpbmcgcGFnZXMsIGFuZCBzbyBpdCBpcyBpbXBvc3NpYmxlIHRvIHZlcmlmeSB0aGF0XHJcbiAgICAvLyB0aGVzZSBwcm9wZXJ0aWVzIGRvbid0IGV4aXN0LiAgVGhlcmVmb3JlLCBqdXN0IGRlbGV0ZSB0aGVtIHNpbGVudGx5LlxyXG4gICAgaWYgKGlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlcih0cmlnZ2VyKSlcclxuICAgICAgZGVsZXRlIHRyaWdnZXIuaXNUaW1lbGluZVRyaWdnZXI7XHJcblxyXG4gICAgZGVsZXRlIHRyaWdnZXIubG9jYWxSZWdleDtcclxuICAgIGRlbGV0ZSB0cmlnZ2VyLmxvY2FsTmV0UmVnZXg7XHJcblxyXG4gICAgdHJpZ2dlci5vdXRwdXQgPSBUcmlnZ2VyT3V0cHV0UHJveHkubWFrZU91dHB1dCh0cmlnZ2VyLCB0aGlzLm9wdGlvbnMuRGlzcGxheUxhbmd1YWdlLFxyXG4gICAgICB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWcpO1xyXG4gIH1cclxuXHJcbiAgT25Kb2JDaGFuZ2UoZTogUGxheWVyQ2hhbmdlZERldGFpbCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZSA9IGUuZGV0YWlsLm5hbWU7XHJcbiAgICB0aGlzLmpvYiA9IGUuZGV0YWlsLmpvYjtcclxuICAgIHRoaXMucm9sZSA9IFV0aWwuam9iVG9Sb2xlKHRoaXMuam9iKTtcclxuICAgIHRoaXMuUmVsb2FkVGltZWxpbmVzKCk7XHJcbiAgfVxyXG5cclxuICBPbkluQ29tYmF0Q2hhbmdlKGluQ29tYmF0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdCA9PT0gaW5Db21iYXQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5yZXNldFdoZW5PdXRPZkNvbWJhdClcclxuICAgICAgdGhpcy5TZXRJbkNvbWJhdChpbkNvbWJhdCk7XHJcbiAgfVxyXG5cclxuICBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5Db21iYXQgPT09IGluQ29tYmF0KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gU3RvcCB0aW1lcnMgd2hlbiBzdG9wcGluZyBjb21iYXQgdG8gc3RvcCBhbnkgYWN0aXZlIHRpbWVycyB0aGF0XHJcbiAgICAvLyBhcmUgZGVsYXllZC4gIEhvd2V2ZXIsIGFsc28gcmVzZXQgd2hlbiBzdGFydGluZyBjb21iYXQuXHJcbiAgICAvLyBUaGlzIHByZXZlbnRzIGxhdGUgYXR0YWNrcyBmcm9tIGFmZmVjdGluZyB8ZGF0YXwgd2hpY2hcclxuICAgIC8vIHRocm93cyBvZmYgdGhlIG5leHQgcnVuLCBwb3RlbnRpYWxseS5cclxuICAgIHRoaXMuaW5Db21iYXQgPSBpbkNvbWJhdDtcclxuICAgIGlmICghdGhpcy5pbkNvbWJhdCkge1xyXG4gICAgICB0aGlzLlN0b3BUaW1lcnMoKTtcclxuICAgICAgdGhpcy50aW1lbGluZUxvYWRlci5TdG9wQ29tYmF0KCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pbkNvbWJhdClcclxuICAgICAgdGhpcy5SZXNldCgpO1xyXG4gIH1cclxuXHJcbiAgU2hvcnROYW1pZnkobmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBUT0RPOiBtYWtlIHRoaXMgdW5pcXVlIGFtb25nIHRoZSBwYXJ0eSBpbiBjYXNlIG9mIGZpcnN0IG5hbWUgY29sbGlzaW9ucy5cclxuICAgIC8vIFRPRE86IHByb2JhYmx5IHRoaXMgc2hvdWxkIGJlIGEgZ2VuZXJhbCBjYWN0Ym90IHV0aWxpdHkuXHJcbiAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgbmFtZSAhPT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FsbGVkIFNob3J0TmFtaWZ5IHdpdGggbm9uLXN0cmluZycpO1xyXG4gICAgICByZXR1cm4gJz8/Pyc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmljayA9IHRoaXMub3B0aW9ucy5QbGF5ZXJOaWNrc1tuYW1lXTtcclxuXHJcbiAgICBpZiAobmljaylcclxuICAgICAgcmV0dXJuIG5pY2s7XHJcblxyXG4gICAgY29uc3QgaWR4ID0gbmFtZS5pbmRleE9mKCcgJyk7XHJcbiAgICByZXR1cm4gaWR4IDwgMCA/IG5hbWUgOiBuYW1lLnN1YnN0cigwLCBpZHgpO1xyXG4gIH1cclxuXHJcbiAgUmVzZXQoKTogdm9pZCB7XHJcbiAgICBVdGlsLmNsZWFyV2F0Y2hDb21iYXRhbnRzKCk7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmdldERhdGFPYmplY3QoKTtcclxuICAgIHRoaXMuU3RvcFRpbWVycygpO1xyXG4gICAgdGhpcy50cmlnZ2VyU3VwcHJlc3MgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGluaXRPYmogb2YgdGhpcy5kYXRhSW5pdGlhbGl6ZXJzKSB7XHJcbiAgICAgIGNvbnN0IGluaXQgPSBpbml0T2JqLmZ1bmM7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBpbml0KCk7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7XHJcbiAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgLi4udGhpcy5kYXRhLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEVycm9yIGluIGZpbGU6ICR7aW5pdE9iai5maWxlfTogdGhlc2UgdHJpZ2dlcnMgbWF5IG5vdCB3b3JrO1xyXG4gICAgICAgIGluaXREYXRhIGZ1bmN0aW9uIHJldHVybmVkIGludmFsaWQgb2JqZWN0OiAke2luaXQudG9TdHJpbmcoKX1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU3RvcFRpbWVycygpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZXJzID0ge307XHJcbiAgfVxyXG5cclxuICBPbkxvZyhlOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gVGhpcyBjb3VsZCBjb25jZWl2YWJseSBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBsaW5lJ3MgY29udGVudHMgYXMgd2VsbCwgYnV0XHJcbiAgICAvLyBub3Qgc3VyZSBpZiB0aGF0J3Mgd29ydGggdGhlIGVmZm9ydFxyXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSArbmV3IERhdGUoKTtcclxuICAgIGZvciAoY29uc3QgbG9nIG9mIGUuZGV0YWlsLmxvZ3MpIHtcclxuICAgICAgaWYgKGxvZy5pbmNsdWRlcygnMDA6MDAzODpjYWN0Ym90IHdpcGUnKSlcclxuICAgICAgICB0aGlzLlNldEluQ29tYmF0KGZhbHNlKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxSZWdleD8uZXhlYyhsb2cpO1xyXG4gICAgICAgIGlmIChyKVxyXG4gICAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgY3VycmVudFRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBPbk5ldExvZyhlOiBFdmVudFJlc3BvbnNlc1snTG9nTGluZSddKTogdm9pZCB7XHJcbiAgICBjb25zdCBsb2cgPSBlLnJhd0xpbmU7XHJcbiAgICAvLyBUaGlzIGNvdWxkIGNvbmNlaXZhYmx5IGJlIGRldGVybWluZWQgYmFzZWQgb24gYG5ldyBEYXRlKGUubGluZVsxXSlgIGFzIHdlbGwsIGJ1dFxyXG4gICAgLy8gbm90IHN1cmUgaWYgdGhhdCdzIHdvcnRoIHRoZSBlZmZvcnRcclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gK25ldyBEYXRlKCk7XHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy5uZXRUcmlnZ2Vycykge1xyXG4gICAgICBjb25zdCByID0gdHJpZ2dlci5sb2NhbE5ldFJlZ2V4Py5leGVjKGxvZyk7XHJcbiAgICAgIGlmIChyKVxyXG4gICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlcihcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5PblRyaWdnZXJJbnRlcm5hbCh0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIE9uVHJpZ2dlckludGVybmFsKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsXHJcbiAgICBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fb25UcmlnZ2VySW50ZXJuYWxDaGVja1N1cHByZXNzZWQodHJpZ2dlciwgY3VycmVudFRpbWUpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgbGV0IGdyb3VwczogTWF0Y2hlcyA9IHt9O1xyXG4gICAgLy8gSWYgdXNpbmcgbmFtZWQgZ3JvdXBzLCB0cmVhdCBtYXRjaGVzLmdyb3VwcyBhcyBtYXRjaGVzXHJcbiAgICAvLyBzbyB0cmlnZ2VycyBjYW4gZG8gdGhpbmdzIGxpa2UgbWF0Y2hlcy50YXJnZXQuXHJcbiAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmdyb3Vwcykge1xyXG4gICAgICBncm91cHMgPSBtYXRjaGVzLmdyb3VwcztcclxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcykge1xyXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbWF0Y2hpbmcgZ3JvdXBzLCByZXByb2R1Y2UgdGhlIG9sZCBqcyBsb2dpYyB3aGVyZVxyXG4gICAgICAvLyBncm91cHMgZW5kZWQgdXAgYXMgdGhlIG9yaWdpbmFsIFJlZ0V4cEV4ZWNBcnJheSBvYmplY3RcclxuICAgICAgbWF0Y2hlcy5mb3JFYWNoKCh2YWx1ZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgZ3JvdXBzW2lkeF0gPSB2YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0IHVwIGEgaGVscGVyIG9iamVjdCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRocm93XHJcbiAgICAvLyBhIHRvbiBvZiBpbmZvIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gc3ViZnVuY3Rpb25zXHJcbiAgICBjb25zdCB0cmlnZ2VySGVscGVyID0gdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIodHJpZ2dlciwgZ3JvdXBzLCBjdXJyZW50VGltZSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbih0cmlnZ2VySGVscGVyKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJlUnVuKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIC8vIEV2YWx1YXRlIGZvciBkZWxheSBoZXJlLCBidXQgcnVuIGRlbGF5IGxhdGVyXHJcbiAgICBjb25zdCBkZWxheVByb21pc2UgPSB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyKTtcclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsRHVyYXRpb25TZWNvbmRzKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlclBvc3REZWxheSA9ICgpID0+IHtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgY29uc3QgdHJpZ2dlclBvc3RQcm9taXNlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsQWxlcnRUZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFJ1bWJsZSBpc24ndCBhIHRyaWdnZXIgZnVuY3Rpb24sIHNvIG9ubHkgbmVlZHMgdG8gYmUgb3JkZXJlZFxyXG4gICAgICAgIC8vIGFmdGVyIGFsYXJtL2FsZXJ0L2luZm8uXHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxSdW1ibGUodHJpZ2dlckhlbHBlcik7XHJcblxyXG4gICAgICAgIC8vIFByaW9yaXR5IGF1ZGlvIG9yZGVyOlxyXG4gICAgICAgIC8vICogdXNlciBkaXNhYmxlZCAocGxheSBub3RoaW5nKVxyXG4gICAgICAgIC8vICogaWYgdHRzIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciBUVFMgdHJpZ2dlcnMgdHRzIG92ZXJyaWRlXHJcbiAgICAgICAgLy8gICAqIHR0cyBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxhcm0gdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgYWxlcnQgdHRzXHJcbiAgICAgICAgLy8gICAqIGRlZmF1bHQgaW5mbyB0dHNcclxuICAgICAgICAvLyAqIGlmIHNvdW5kIG9wdGlvbnMgYXJlIGVuYWJsZWQgZ2xvYmFsbHkgb3IgZm9yIHRoaXMgdHJpZ2dlcjpcclxuICAgICAgICAvLyAgICogdXNlciB0cmlnZ2VyIHNvdW5kIG92ZXJyaWRlc1xyXG4gICAgICAgIC8vICAgKiBzb3VuZCBlbnRyaWVzIGluIHRoZSB0cmlnZ2VyXHJcbiAgICAgICAgLy8gICAqIGFsYXJtIG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGFsZXJ0IG5vaXNlXHJcbiAgICAgICAgLy8gICAqIGluZm8gbm9pc2VcclxuICAgICAgICAvLyAqIGVsc2UsIG5vdGhpbmdcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIEluIGdlbmVyYWwsIHR0cyBjb21lcyBiZWZvcmUgc291bmRzIGFuZCB1c2VyIG92ZXJyaWRlcyBjb21lXHJcbiAgICAgICAgLy8gYmVmb3JlIGRlZmF1bHRzLiAgSWYgYSB1c2VyIHRyaWdnZXIgb3IgdHRzIGVudHJ5IGlzIHNwZWNpZmllZCBhc1xyXG4gICAgICAgIC8vIGJlaW5nIHZhbGlkIGJ1dCBlbXB0eSwgdGhpcyB3aWxsIHRha2UgcHJpb3JpdHkgb3ZlciB0aGUgZGVmYXVsdFxyXG4gICAgICAgIC8vIHR0cyB0ZXh0cyBmcm9tIGFsYXJtL2FsZXJ0L2luZm8gYW5kIHdpbGwgcHJldmVudCB0dHMgZnJvbSBwbGF5aW5nXHJcbiAgICAgICAgLy8gYW5kIGFsbG93aW5nIHNvdW5kcyB0byBiZSBwbGF5ZWQgaW5zdGVhZC5cclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFRUUyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFBsYXlBdWRpbyh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIHByb21pc2UuXHJcbiAgICAgIGlmIChwcm9taXNlKVxyXG4gICAgICAgIHByb21pc2UudGhlbih0cmlnZ2VyUG9zdFByb21pc2UsIChlKSA9PiBvblRyaWdnZXJFeGNlcHRpb24odHJpZ2dlciwgZSkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdHJpZ2dlclBvc3RQcm9taXNlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFRoZSB0cmlnZ2VyIGJvZHkgbXVzdCBydW4gc3luY2hyb25vdXNseSB3aGVuIHRoZXJlIGlzIG5vIGRlbGF5LlxyXG4gICAgaWYgKGRlbGF5UHJvbWlzZSlcclxuICAgICAgZGVsYXlQcm9taXNlLnRoZW4odHJpZ2dlclBvc3REZWxheSwgKGUpID0+IG9uVHJpZ2dlckV4Y2VwdGlvbih0cmlnZ2VyLCBlKSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRyaWdnZXJQb3N0RGVsYXkoKTtcclxuICB9XHJcblxyXG4gIC8vIEJ1aWxkIGEgZGVmYXVsdCB0cmlnZ2VySGVscGVyIG9iamVjdCBmb3IgdGhpcyB0cmlnZ2VyXHJcbiAgX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBub3c6IG51bWJlcik6IFRyaWdnZXJIZWxwZXIge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgbGV0IG9wdGlvbnM6IFBlclRyaWdnZXJPcHRpb24gPSB7fTtcclxuICAgIGxldCBjb25maWc6IFRyaWdnZXJBdXRvQ29uZmlnID0ge307XHJcbiAgICBsZXQgc3VwcHJlc3NlZCA9IGZhbHNlO1xyXG4gICAgaWYgKGlkKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlck9wdGlvbnNbaWRdID8/IG9wdGlvbnM7XHJcbiAgICAgIGNvbmZpZyA9IHRoaXMub3B0aW9ucy5QZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPz8gY29uZmlnO1xyXG4gICAgICBzdXBwcmVzc2VkID0gdGhpcy5vcHRpb25zLkRpc2FibGVkVHJpZ2dlcnNbaWRdID8/IHN1cHByZXNzZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciA9IHtcclxuICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgbm93OiBub3csXHJcbiAgICAgIHRyaWdnZXJPcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICB0cmlnZ2VyQXV0b0NvbmZpZzogY29uZmlnLFxyXG4gICAgICAvLyBUaGlzIHNldHRpbmcgb25seSBzdXBwcmVzc2VzIG91dHB1dCwgdHJpZ2dlciBzdGlsbCBydW5zIGZvciBkYXRhL2xvZ2ljIHB1cnBvc2VzXHJcbiAgICAgIHVzZXJTdXBwcmVzc2VkT3V0cHV0OiBzdXBwcmVzc2VkLFxyXG4gICAgICBtYXRjaGVzOiBtYXRjaGVzLFxyXG4gICAgICAvLyBEZWZhdWx0IG9wdGlvbnNcclxuICAgICAgdGV4dEFsZXJ0c0VuYWJsZWQ6IHRoaXMub3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCxcclxuICAgICAgc291bmRBbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkLFxyXG4gICAgICBzcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCxcclxuICAgICAgZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkLFxyXG4gICAgICB2YWx1ZU9yRnVuY3Rpb246IChmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCk6IFJhaWRib3NzVHJpZ2dlck91dHB1dCA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGY7XHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICAgICAgICAvLyBBbGwgdHJpZ2dlcnMgcmV0dXJuIGVpdGhlciBhIHN0cmluZyBkaXJlY3RseSwgb3IgYW4gb2JqZWN0XHJcbiAgICAgICAgLy8gd2hvc2Uga2V5cyBhcmUgZGlmZmVyZW50IHBhcnNlciBsYW5ndWFnZSBiYXNlZCBuYW1lcy4gIEZvciBzaW1wbGljaXR5LFxyXG4gICAgICAgIC8vIHRoaXMgaXMgdmFsaWQgdG8gZG8gZm9yIGFueSB0cmlnZ2VyIGVudHJ5IHRoYXQgY2FuIGhhbmRsZSBhIGZ1bmN0aW9uLlxyXG4gICAgICAgIC8vIEluIGNhc2UgYW55Ym9keSB3YW50cyB0byBlbmNhcHN1bGF0ZSBhbnkgZmFuY3kgZ3JhbW1hciwgdGhlIHZhbHVlc1xyXG4gICAgICAgIC8vIGluIHRoaXMgb2JqZWN0IGNhbiBhbHNvIGJlIGZ1bmN0aW9ucy5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCAhPT0gJ29iamVjdCcgfHwgcmVzdWx0ID09PSBudWxsKVxyXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICByZXR1cm4gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMuZGlzcGxheUxhbmddID8/IHJlc3VsdFsnZW4nXSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGdldCBvdXRwdXQoKTogT3V0cHV0IHtcclxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLm91dHB1dClcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXIub3V0cHV0O1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhgTWlzc2luZyB0cmlnZ2VyLm91dHB1dCBmb3IgdHJpZ2dlciAke3RyaWdnZXIuaWQgPz8gJ1Vua25vd24nfWApO1xyXG4gICAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0O1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEhlbHBlckRlZmF1bHRzKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIHJldHVybiB0cmlnZ2VySGVscGVyO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsQ2hlY2tTdXBwcmVzc2VkKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIHdoZW46IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaWQgPSB0cmlnZ2VyLmlkO1xyXG4gICAgaWYgKGlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3Qgc3VwcHJlc3MgPSB0aGlzLnRyaWdnZXJTdXBwcmVzc1tpZF07XHJcbiAgICAgIGlmIChzdXBwcmVzcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHN1cHByZXNzID4gd2hlbilcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBkZWxldGUgdGhpcy50cmlnZ2VyU3VwcHJlc3NbaWRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxDb25kaXRpb24odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY29uZGl0aW9uID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Db25kaXRpb24gPz8gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmNvbmRpdGlvbjtcclxuICAgIGlmIChjb25kaXRpb24pIHtcclxuICAgICAgaWYgKGNvbmRpdGlvbiA9PT0gdHJ1ZSlcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgaWYgKCFjb25kaXRpb24odGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vIFNldCBkZWZhdWx0cyBmb3IgdHJpZ2dlckhlbHBlciBvYmplY3QgKGFueXRoaW5nIHRoYXQgd29uJ3QgY2hhbmdlIGJhc2VkIG9uXHJcbiAgLy8gb3RoZXIgdHJpZ2dlciBmdW5jdGlvbnMgcnVubmluZylcclxuICBfb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZykge1xyXG4gICAgICBjb25zdCB0ZXh0QWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuVGV4dEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyQXV0b0NvbmZpZy5Tb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmIChzb3VuZEFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kQWxlcnRzRW5hYmxlZCA9IHNvdW5kQWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuU3Bva2VuQWxlcnRzRW5hYmxlZDtcclxuICAgICAgaWYgKHNwb2tlbkFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBzcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHRleHRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UZXh0QWxlcnQ7XHJcbiAgICAgIGlmICh0ZXh0QWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSB0ZXh0QWxlcnRzRW5hYmxlZDtcclxuICAgICAgY29uc3Qgc291bmRBbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Tb3VuZEFsZXJ0O1xyXG4gICAgICBpZiAoc291bmRBbGVydHNFbmFibGVkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBzb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNwZWVjaEFsZXJ0O1xyXG4gICAgICBpZiAoc3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCA9IHNwb2tlbkFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuR3JvdXBTcGVlY2hBbGVydDtcclxuICAgICAgaWYgKGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnVzZXJTdXBwcmVzc2VkT3V0cHV0KSB7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudGV4dEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5BdWRpb0FsbG93ZWQpIHtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQcmVSdW4odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyPy5wcmVSdW4/LihcclxuICAgICAgdGhpcy5kYXRhLFxyXG4gICAgICB0cmlnZ2VySGVscGVyLm1hdGNoZXMsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBkZWxheSA9ICdkZWxheVNlY29uZHMnIGluIHRyaWdnZXJIZWxwZXIudHJpZ2dlciA/IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kZWxheVNlY29uZHMpIDogMDtcclxuICAgIGlmICghZGVsYXkgfHwgZGVsYXkgPD0gMCB8fCB0eXBlb2YgZGVsYXkgIT09ICdudW1iZXInKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdHJpZ2dlcklEID0gdGhpcy5jdXJyZW50VHJpZ2dlcklEKys7XHJcbiAgICB0aGlzLnRpbWVyc1t0cmlnZ2VySURdID0gdHJ1ZTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcclxuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVyc1t0cmlnZ2VySURdKVxyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgZWxzZSBpZiAocmVqKVxyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMudGltZXJzW3RyaWdnZXJJRF07XHJcbiAgICAgIH0sIGRlbGF5ICogMTAwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbER1cmF0aW9uU2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBsZXQgdmFsdWVEdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kdXJhdGlvblNlY29uZHMpO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZUR1cmF0aW9uICE9PSAnbnVtYmVyJylcclxuICAgICAgdmFsdWVEdXJhdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24gPSB7XHJcbiAgICAgIGZyb21Db25maWc6IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuRHVyYXRpb24sXHJcbiAgICAgIGZyb21UcmlnZ2VyOiB2YWx1ZUR1cmF0aW9uLFxyXG4gICAgICBhbGFybVRleHQ6IHRoaXMub3B0aW9ucy5EaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcyxcclxuICAgICAgYWxlcnRUZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMsXHJcbiAgICAgIGluZm9UZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kcyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxTdXBwcmVzc1NlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VwcHJlc3MgPSAnc3VwcHJlc3NTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuc3VwcHJlc3NTZWNvbmRzKSA6IDA7XHJcbiAgICBpZiAodHlwZW9mIHN1cHByZXNzICE9PSAnbnVtYmVyJylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5pZCAmJiBzdXBwcmVzcyA+IDApXHJcbiAgICAgIHRoaXMudHJpZ2dlclN1cHByZXNzW3RyaWdnZXJIZWxwZXIudHJpZ2dlci5pZF0gPSB0cmlnZ2VySGVscGVyLm5vdyArIChzdXBwcmVzcyAqIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgcHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcclxuICAgIGlmICgncHJvbWlzZScgaW4gdHJpZ2dlckhlbHBlci50cmlnZ2VyKSB7XHJcbiAgICAgIGNvbnN0IGlkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyLmlkID8/ICdVbmtub3duJztcclxuICAgICAgaWYgKHR5cGVvZiB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHByb21pc2UgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXIucHJvbWlzZShcclxuICAgICAgICAgIHRoaXMuZGF0YSxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVhbGx5IGdldCBhIFByb21pc2UgYmFjayBmcm9tIHRoZSBmdW5jdGlvblxyXG4gICAgICAgIGlmIChQcm9taXNlLnJlc29sdmUocHJvbWlzZSkgIT09IHByb21pc2UpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH06IHByb21pc2UgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYSBwcm9taXNlYCk7XHJcbiAgICAgICAgICBwcm9taXNlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBwcm9taXNlIGRlZmluZWQgYnV0IG5vdCBhIGZ1bmN0aW9uYCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcm9taXNlO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsU291bmQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyLnNvdW5kKTtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJylcclxuICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZFVybCA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFNvdW5kVm9sdW1lKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZFZvbHVtZSk7XHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ251bWJlcicpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID0gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUmVzcG9uc2UodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB7fTtcclxuICAgIGNvbnN0IHRyaWdnZXIgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXI7XHJcbiAgICBpZiAodHJpZ2dlci5yZXNwb25zZSkge1xyXG4gICAgICAvLyBDYW4ndCB1c2UgVmFsdWVPckZ1bmN0aW9uIGhlcmUgYXMgciByZXR1cm5zIGEgbm9uLWxvY2FsaXphYmxlIG9iamVjdC5cclxuICAgICAgcmVzcG9uc2UgPSB0cmlnZ2VyLnJlc3BvbnNlO1xyXG4gICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UodGhpcy5kYXRhLCB0cmlnZ2VySGVscGVyLm1hdGNoZXMsIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuXHJcbiAgICAgIC8vIFR1cm4gZmFsc3kgdmFsdWVzIGludG8gYSBkZWZhdWx0IG5vLW9wIHJlc3BvbnNlLlxyXG4gICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgIHJlc3BvbnNlID0ge307XHJcbiAgICB9XHJcbiAgICB0cmlnZ2VySGVscGVyLnJlc3BvbnNlID0gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxBbGFybVRleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignYWxhcm0nLCB0cmlnZ2VySGVscGVyKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbEFsZXJ0VGV4dCh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLl9hZGRUZXh0Rm9yKCdhbGVydCcsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignaW5mbycsIHRyaWdnZXJIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUnVtYmxlKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLlJ1bWJsZUVuYWJsZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBnZXRHYW1lcGFkcyByZXR1cm5zIGEgXCJHYW1lUGFkTGlzdFwiIHdoaWNoIGlzbid0IGl0ZXJhYmxlLlxyXG4gICAgWy4uLm5hdmlnYXRvci5nZXRHYW1lcGFkcygpXS5mb3JFYWNoKChncCkgPT4ge1xyXG4gICAgICAvLyBUaGlzIGxpc3QgYWxzbyBjb250YWlucyBudWxscyBzbyB0aGF0IHRoZSBnYW1lcGFkIGluZGV4IGlzIHByZXNlcnZlZC5cclxuICAgICAgaWYgKCFncClcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAvLyBgdmlicmF0aW9uQWN0dWF0b3JgIGlzIHN1cHBvcnRlZCBpbiBDRUYgYnV0IGlzIG5vdCBpbiB0aGUgc3BlYyB5ZXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IGdhbWVwYWQ6IGFueSA9IGdwO1xyXG5cclxuICAgICAgLy8gRnV0dXJlIGNhbGxzIHRvIGBwbGF5RWZmZWN0YCB3aWxsIGN1dCBvZmYgdGhlIHByZXZpb3VzIGVmZmVjdC5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcclxuICAgICAgdm9pZCBnYW1lcGFkPy52aWJyYXRpb25BY3R1YXRvcj8ucGxheUVmZmVjdChnYW1lcGFkLnZpYnJhdGlvbkFjdHVhdG9yLnR5cGUsIHtcclxuICAgICAgICBzdGFydERlbGF5OiAwLFxyXG4gICAgICAgIGR1cmF0aW9uOiB0cmlnZ2VySGVscGVyLnJ1bWJsZUR1cmF0aW9uTXMsXHJcbiAgICAgICAgd2Vha01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVXZWFrLFxyXG4gICAgICAgIHN0cm9uZ01hZ25pdHVkZTogdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxUVFModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKCF0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCB8fCB0eXBlb2YgdHJpZ2dlckhlbHBlci50dHNUZXh0ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gdW5kZWZpbmVkO1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5UVFNUZXh0KTtcclxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXIudHRzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyBBbGxvdyBudWxsL2ZhbHNlL05hTi8wLycnIGluIHRoaXMgYnJhbmNoLlxyXG4gICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci50dHMpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIucmVzcG9uc2UpIHtcclxuICAgICAgICBjb25zdCByZXNwOiBSZXNwb25zZUZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gPSB0cmlnZ2VySGVscGVyLnJlc3BvbnNlO1xyXG4gICAgICAgIGlmIChyZXNwLnR0cylcclxuICAgICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHJlc3AudHRzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWxsb3cgZmFsc2V5IHZhbHVlcyB0byBkaXNhYmxlIHR0cyBlbnRpcmVseVxyXG4gICAgICAvLyBVbmRlZmluZWQgd2lsbCBmYWxsIGJhY2sgdG8gZGVmYXVsdFRUU1RleHRcclxuICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdClcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHJlc3VsdD8udG9TdHJpbmcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLmRlZmF1bHRUVFNUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZCAmJlxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiZcclxuICAgICAgICBzb3VuZFN0cnMuaW5jbHVkZXModHJpZ2dlckhlbHBlci5zb3VuZFVybCkpIHtcclxuICAgICAgY29uc3QgbmFtZWRTb3VuZCA9IHRyaWdnZXJIZWxwZXIuc291bmRVcmwgKyAnU291bmQnO1xyXG4gICAgICBjb25zdCBuYW1lZFNvdW5kVm9sdW1lID0gdHJpZ2dlckhlbHBlci5zb3VuZFVybCArICdTb3VuZFZvbHVtZSc7XHJcbiAgICAgIGNvbnN0IHNvdW5kID0gdGhpcy5vcHRpb25zW25hbWVkU291bmRdO1xyXG4gICAgICBpZiAodHlwZW9mIHNvdW5kID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSBzb3VuZDtcclxuICAgICAgICBjb25zdCBzb3VuZFZvbCA9IHRoaXMub3B0aW9uc1tuYW1lZFNvdW5kVm9sdW1lXTtcclxuICAgICAgICBpZiAodHlwZW9mIHNvdW5kVm9sID09PSAnbnVtYmVyJylcclxuICAgICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSBzb3VuZFZvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlNvdW5kT3ZlcnJpZGUgPz8gdHJpZ2dlckhlbHBlci5zb3VuZFVybDtcclxuICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLlZvbHVtZU92ZXJyaWRlID8/XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlclNvdW5kVm9sID8/IHRyaWdnZXJIZWxwZXIuc291bmRWb2w7XHJcblxyXG4gICAgLy8gVGV4dCB0byBzcGVlY2ggb3ZlcnJpZGVzIGFsbCBvdGhlciBzb3VuZHMuICBUaGlzIGlzIHNvXHJcbiAgICAvLyB0aGF0IGEgdXNlciB3aG8gcHJlZmVycyB0dHMgY2FuIHN0aWxsIGdldCB0aGUgYmVuZWZpdFxyXG4gICAgLy8gb2YgaW5mb1RleHQgdHJpZ2dlcnMgd2l0aG91dCB0dHMgZW50cmllcyBieSB0dXJuaW5nXHJcbiAgICAvLyBvbiAoc3BlZWNoPXRydWUsIHRleHQ9dHJ1ZSwgc291bmQ9dHJ1ZSkgYnV0IHRoaXMgd2lsbFxyXG4gICAgLy8gbm90IGNhdXNlIHR0cyB0byBwbGF5IG92ZXIgdG9wIG9mIHNvdW5kcyBvciBub2lzZXMuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50dHNUZXh0ICYmIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCkge1xyXG4gICAgICAvLyBIZXVyaXN0aWNzIGZvciBhdXRvIHR0cy5cclxuICAgICAgLy8gKiBJbiBjYXNlIHRoaXMgaXMgYW4gaW50ZWdlci5cclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnRvU3RyaW5nKCk7XHJcbiAgICAgIC8vICogUmVtb3ZlIGEgYnVuY2ggb2YgY2hhcnMuXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9bIyFdL2csICcnKTtcclxuICAgICAgLy8gKiBzbGFzaGVzIGJldHdlZW4gbWVjaGFuaWNzXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKCcvJywgJyAnKTtcclxuICAgICAgLy8gKiB0aWxkZXMgYXQgdGhlIGVuZCBmb3IgZW1waGFzaXNcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL34rJC8sICcnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgaGVscGluZyB2aXN1YWxseSBzaW1wbGUgdG8gdW5kZXJzdGFuZCBlLmcuIOKGliBGcm9udCBsZWZ0IC8gQmFjayByaWdodCDihphcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1vihpYt4oaZXS9nLCAnJyk7XHJcbiAgICAgIC8vICogS29yZWFuIFRUUyByZWFkcyB3cm9uZyB3aXRoICcx67KI7Ke4J1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgnMeuyiOynuCcsICfssqvrsojsp7gnKTtcclxuICAgICAgLy8gKiBhcnJvd3MgYXQgdGhlIGZyb250IG9yIHRoZSBlbmQgYXJlIGRpcmVjdGlvbnMsIGUuZy4gXCJlYXN0ID0+XCJcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1stPV0+XFxzKiQvZywgJycpO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXlxccyo8Wy09XS9nLCAnJyk7XHJcbiAgICAgIC8vICogYXJyb3dzIGluIHRoZSBtaWRkbGUgYXJlIGEgc2VxdWVuY2UsIGUuZy4gXCJpbiA9PiBvdXQgPT4gc3ByZWFkXCJcclxuICAgICAgY29uc3QgYXJyb3dSZXBsYWNlbWVudCA9IHtcclxuICAgICAgICBlbjogJyB0aGVuICcsXHJcbiAgICAgICAgZGU6ICcgZGFubiAnLFxyXG4gICAgICAgIGZyOiAnIHB1aXMgJyxcclxuICAgICAgICBqYTogJ+OChCcsXHJcbiAgICAgICAgY246ICfnhLblkI4nLFxyXG4gICAgICAgIGtvOiAnIOq3uOumrOqzoCAnLFxyXG4gICAgICB9O1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvXFxzKig8Wy09XXxbPS1dPilcXHMqL2csXHJcbiAgICAgICAgYXJyb3dSZXBsYWNlbWVudFt0aGlzLmRpc3BsYXlMYW5nXSk7XHJcbiAgICAgIHRoaXMudHRzU2F5KHRyaWdnZXJIZWxwZXIudHRzVGV4dCk7XHJcbiAgICB9IGVsc2UgaWYgKHRyaWdnZXJIZWxwZXIuc291bmRVcmwgJiYgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgdGhpcy5fcGxheUF1ZGlvRmlsZSh0cmlnZ2VySGVscGVyLCB0cmlnZ2VySGVscGVyLnNvdW5kVXJsLCB0cmlnZ2VySGVscGVyLnNvdW5kVm9sKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0cmlnZ2VySGVscGVyLnRyaWdnZXI/LnJ1bj8uKFxyXG4gICAgICB0aGlzLmRhdGEsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIubWF0Y2hlcyxcclxuICAgICAgdHJpZ2dlckhlbHBlci5vdXRwdXQpO1xyXG4gIH1cclxuXHJcbiAgX2NyZWF0ZVRleHRGb3IoXHJcbiAgICB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGV4dFR5cGU6IFRleHQsXHJcbiAgICBsb3dlclRleHRLZXk6IFRleHRUZXh0LFxyXG4gICAgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gaW5mby10ZXh0XHJcbiAgICBjb25zdCB0ZXh0RWxlbWVudENsYXNzID0gdGV4dFR5cGUgKyAnLXRleHQnO1xyXG4gICAgaWYgKHRleHRUeXBlICE9PSAnaW5mbycpXHJcbiAgICAgIHRleHQgPSB0cmlnZ2VyVXBwZXJDYXNlKHRleHQpO1xyXG5cclxuICAgIGNvbnN0IGhvbGRlciA9IHRoaXNbbG93ZXJUZXh0S2V5XT8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaG9sZGVyJylbMF07XHJcbiAgICBjb25zdCBkaXYgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dEVsZW1lbnRDbGFzcyk7XHJcblxyXG4gICAgaWYgKCFob2xkZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBob2xkZXIuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgIGlmIChob2xkZXIuY2hpbGRyZW4ubGVuZ3RoID4gdGhpcy5rTWF4Um93c09mVGV4dClcclxuICAgICAgaG9sZGVyLmZpcnN0Q2hpbGQ/LnJlbW92ZSgpO1xyXG5cclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGhvbGRlci5jb250YWlucyhkaXYpKVxyXG4gICAgICAgIGhvbGRlci5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfSwgZHVyYXRpb24gKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIF9hZGRUZXh0Rm9yKHRleHRUeXBlOiBUZXh0LCB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICAvLyBpbmZvVGV4dFxyXG4gICAgY29uc3QgbG93ZXJUZXh0S2V5ID0gdGV4dE1hcFt0ZXh0VHlwZV0udGV4dDtcclxuICAgIC8vIEluZm9UZXh0XHJcbiAgICBjb25zdCB1cHBlclRleHRLZXkgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclRleHQ7XHJcbiAgICAvLyBJbmZvU291bmRcclxuICAgIGNvbnN0IHVwcGVyU291bmQgPSB0ZXh0TWFwW3RleHRUeXBlXS51cHBlclNvdW5kO1xyXG4gICAgLy8gSW5mb1NvdW5kVm9sdW1lXHJcbiAgICBjb25zdCB1cHBlclNvdW5kVm9sdW1lID0gdGV4dE1hcFt0ZXh0VHlwZV0udXBwZXJTb3VuZFZvbHVtZTtcclxuXHJcbiAgICBsZXQgdGV4dE9iajogUmFpZGJvc3NUcmlnZ2VyT3V0cHV0ID1cclxuICAgICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9uc1t1cHBlclRleHRLZXldO1xyXG4gICAgaWYgKCF0ZXh0T2JqICYmIHRyaWdnZXJIZWxwZXIudHJpZ2dlcltsb3dlclRleHRLZXldKVxyXG4gICAgICB0ZXh0T2JqID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyW2xvd2VyVGV4dEtleV07XHJcbiAgICBpZiAoIXRleHRPYmogJiYgdHJpZ2dlckhlbHBlci5yZXNwb25zZSlcclxuICAgICAgdGV4dE9iaiA9IHRyaWdnZXJIZWxwZXIucmVzcG9uc2VbbG93ZXJUZXh0S2V5XTtcclxuICAgIGlmICghdGV4dE9iailcclxuICAgICAgcmV0dXJuO1xyXG4gICAgbGV0IHRleHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0ZXh0T2JqKTtcclxuICAgIGlmICghdGV4dClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJylcclxuICAgICAgdGV4dCA9IHRleHQudG9TdHJpbmcoKTtcclxuICAgIGlmICh0eXBlb2YgdGV4dCAhPT0gJ3N0cmluZycpXHJcbiAgICAgIHRleHQgPSBTdHJpbmcodGV4dCk7XHJcbiAgICAvLyBJZ25vcmUgZW1wdHkgc3RyaW5ncyBzbyB0aGF0IGNvbmZpZyB1aSBcImJsYW5rIHNwYWNlc1wiIGFyZSBpZ25vcmVkLlxyXG4gICAgdGV4dCA9IHRleHQudHJpbSgpO1xyXG4gICAgaWYgKHRleHQgPT09ICcnKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdHJpZ2dlckhlbHBlci5kZWZhdWx0VFRTVGV4dCA9IHRyaWdnZXJIZWxwZXIuZGVmYXVsdFRUU1RleHQgPz8gdGV4dDtcclxuICAgIGlmICh0ZXh0ICYmIHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyAmJiB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkKSB7XHJcbiAgICAgIC8vIHBlci10cmlnZ2VyIG9wdGlvbiA+IHRyaWdnZXIgZmllbGQgPiBvcHRpb24gZHVyYXRpb24gYnkgdGV4dCB0eXBlXHJcbiAgICAgIGxldCBkdXJhdGlvbiA9IHRyaWdnZXJIZWxwZXIuZHVyYXRpb24/LmZyb21Db25maWcgPz8gdHJpZ2dlckhlbHBlci5kdXJhdGlvbj8uZnJvbVRyaWdnZXI7XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkICYmIHRyaWdnZXJIZWxwZXIuZHVyYXRpb24pXHJcbiAgICAgICAgZHVyYXRpb24gPSB0cmlnZ2VySGVscGVyLmR1cmF0aW9uW2xvd2VyVGV4dEtleV07XHJcbiAgICAgIGlmIChkdXJhdGlvbiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIGR1cmF0aW9uID0gMDtcclxuXHJcbiAgICAgIHRoaXMuX2NyZWF0ZVRleHRGb3IodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dFR5cGUsIGxvd2VyVGV4dEtleSwgZHVyYXRpb24pO1xyXG4gICAgICBpZiAoIXRyaWdnZXJIZWxwZXIuc291bmRVcmwpIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsID0gdGhpcy5vcHRpb25zW3VwcGVyU291bmRdO1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRWb2wgPSB0aGlzLm9wdGlvbnNbdXBwZXJTb3VuZFZvbHVtZV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIucnVtYmxlRHVyYXRpb25NcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVEdXJhdGlvbk1zID0gdGhpcy5vcHRpb25zW3RleHRNYXBbdGV4dFR5cGVdLnJ1bWJsZUR1cmF0aW9uXTtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnJ1bWJsZVdlYWsgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlV2Vha107XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVTdHJvbmcgPSB0aGlzLm9wdGlvbnNbdGV4dE1hcFt0ZXh0VHlwZV0ucnVtYmxlU3Ryb25nXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX21ha2VUZXh0RWxlbWVudChfdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciwgdGV4dDogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRleHQnKTtcclxuICAgIGRpdi5pbm5lclRleHQgPSB0ZXh0O1xyXG4gICAgcmV0dXJuIGRpdjtcclxuICB9XHJcblxyXG4gIF9wbGF5QXVkaW9GaWxlKF90cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyLCB1cmw6IHN0cmluZywgdm9sdW1lPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdWRpbyA9IG5ldyBBdWRpbyh1cmwpO1xyXG4gICAgYXVkaW8udm9sdW1lID0gdm9sdW1lID8/IDE7XHJcbiAgICB2b2lkIGF1ZGlvLnBsYXkoKTtcclxuICB9XHJcblxyXG4gIGdldERhdGFPYmplY3QoKTogUmFpZGJvc3NEYXRhIHtcclxuICAgIGxldCBwcmVzZXJ2ZUhQID0gMDtcclxuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmN1cnJlbnRIUClcclxuICAgICAgcHJlc2VydmVIUCA9IHRoaXMuZGF0YS5jdXJyZW50SFA7XHJcblxyXG4gICAgLy8gVE9ETzogbWFrZSBhIGJyZWFraW5nIGNoYW5nZSBhdCBzb21lIHBvaW50IGFuZFxyXG4gICAgLy8gbWFrZSBhbGwgdGhpcyBzdHlsZSBjb25zaXN0ZW50LCBzb3JyeS5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1lOiB0aGlzLm1lLFxyXG4gICAgICBqb2I6IHRoaXMuam9iLFxyXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXHJcbiAgICAgIHBhcnR5OiB0aGlzLnBhcnR5VHJhY2tlcixcclxuICAgICAgbGFuZzogdGhpcy5wYXJzZXJMYW5nLFxyXG4gICAgICBwYXJzZXJMYW5nOiB0aGlzLnBhcnNlckxhbmcsXHJcbiAgICAgIGRpc3BsYXlMYW5nOiB0aGlzLmRpc3BsYXlMYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IHByZXNlcnZlSFAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcclxuICAgICAgU2hvcnROYW1lOiB0aGlzLlNob3J0TmFtaWZ5LmJpbmQodGhpcyksXHJcbiAgICAgIFN0b3BDb21iYXQ6ICgpID0+IHRoaXMuU2V0SW5Db21iYXQoZmFsc2UpLFxyXG4gICAgICBQYXJzZUxvY2FsZUZsb2F0OiBwYXJzZUZsb2F0LFxyXG4gICAgICBDYW5TdHVuOiAoKSA9PiBVdGlsLmNhblN0dW4odGhpcy5qb2IpLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBVdGlsLmNhblNpbGVuY2UodGhpcy5qb2IpLFxyXG4gICAgICBDYW5TbGVlcDogKCkgPT4gVXRpbC5jYW5TbGVlcCh0aGlzLmpvYiksXHJcbiAgICAgIENhbkNsZWFuc2U6ICgpID0+IFV0aWwuY2FuQ2xlYW5zZSh0aGlzLmpvYiksXHJcbiAgICAgIENhbkZlaW50OiAoKSA9PiBVdGlsLmNhbkZlaW50KHRoaXMuam9iKSxcclxuICAgICAgQ2FuQWRkbGU6ICgpID0+IFV0aWwuY2FuQWRkbGUodGhpcy5qb2IpLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFRleHRHZW5lcmF0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXBUZXh0OiBQb3B1cFRleHQpIHtcclxuICB9XHJcblxyXG4gIEluZm8odGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGVydCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsZXJ0VGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBBbGFybSh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih7XHJcbiAgICAgIGFsYXJtVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBpbmZvVGV4dDogdGV4dCxcclxuICAgICAgdHRzOiB0ZXh0LFxyXG4gICAgfSxcclxuICAgIG51bGwsXHJcbiAgICBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBUcmlnZ2VyKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0Lk9uVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4vbm90X3JlYWNoZWQnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGltZXJCYXIgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XHJcbiAgcm9vdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGZvcmVncm91bmRFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBiYWNrZ3JvdW5kRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgbGVmdFRleHRFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBjZW50ZXJUZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgcmlnaHRUZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBfZHVyYXRpb246IG51bWJlcjtcclxuICBwcml2YXRlIF9zdGFydDogbnVtYmVyO1xyXG4gIHByaXZhdGUgX3dpZHRoOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaGVpZ2h0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfYmc6IHN0cmluZztcclxuICBwcml2YXRlIF9mZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3Rvd2FyZFJpZ2h0OiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2ZpbGw6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfbGVmdFRleHQ6IHN0cmluZztcclxuICBwcml2YXRlIF9jZW50ZXJUZXh0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmlnaHRUZXh0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaGlkZUFmdGVyOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfbG9vcDogYm9vbGVhbjtcclxuICBwcml2YXRlIF9jb25uZWN0ZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfaGlkZVRpbWVyOiBudW1iZXIgfCBudWxsO1xyXG5cclxuICBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAnZHVyYXRpb24nLFxyXG4gICAgICAndmFsdWUnLFxyXG4gICAgICAnZWxhcHNlZCcsXHJcbiAgICAgICdoaWRlYWZ0ZXInLFxyXG4gICAgICAnbGVmdHRleHQnLFxyXG4gICAgICAnY2VudGVydGV4dCcsXHJcbiAgICAgICdyaWdodHRleHQnLFxyXG4gICAgICAnd2lkdGgnLFxyXG4gICAgICAnaGVpZ2h0JyxcclxuICAgICAgJ2JnJyxcclxuICAgICAgJ2ZnJyxcclxuICAgICAgJ3N0eWxlZmlsbCcsXHJcbiAgICAgICd0b3dhcmQnLFxyXG4gICAgICAnbG9vcCcsXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLyoqIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBUaW1lckJhciB3aXRoIGF0dHJpYnV0ZXMgKi9cclxuICBzdGF0aWMgY3JlYXRlKG8/OiB7XHJcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcclxuICAgIHZhbHVlPzogbnVtYmVyO1xyXG4gICAgZWxhcHNlZD86IG51bWJlcjtcclxuICAgIGhpZGVhZnRlcj86IG51bWJlcjtcclxuICAgIGxlZnR0ZXh0Pzogc3RyaW5nO1xyXG4gICAgY2VudGVydGV4dD86IHN0cmluZztcclxuICAgIHJpZ2h0dGV4dD86IHN0cmluZztcclxuICAgIHdpZHRoPzogc3RyaW5nO1xyXG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xyXG4gICAgYmc/OiBzdHJpbmc7XHJcbiAgICBmZz86IHN0cmluZztcclxuICAgIHN0eWxlZmlsbD86ICdlbXB0eScgfCAnZmlsbCc7XHJcbiAgICB0b3dhcmQ/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gICAgbG9vcD86IGJvb2xlYW47XHJcbiAgfSk6IFRpbWVyQmFyIHtcclxuICAgIGlmICghd2luZG93LmN1c3RvbUVsZW1lbnRzLmdldCgndGltZXItYmFyJykpXHJcbiAgICAgIHdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ3RpbWVyLWJhcicsIFRpbWVyQmFyKTtcclxuXHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGltZXItYmFyJyk7XHJcbiAgICBpZiAoIW8pXHJcbiAgICAgIHJldHVybiBlbGVtZW50O1xyXG5cclxuICAgIGlmICh0eXBlb2Ygby5kdXJhdGlvbiA9PT0gJ251bWJlcicpXHJcbiAgICAgIGVsZW1lbnQuZHVyYXRpb24gPSBvLmR1cmF0aW9uO1xyXG4gICAgaWYgKHR5cGVvZiBvLnZhbHVlID09PSAnbnVtYmVyJylcclxuICAgICAgZWxlbWVudC52YWx1ZSA9IG8udmFsdWU7XHJcbiAgICBpZiAodHlwZW9mIG8uZWxhcHNlZCA9PT0gJ251bWJlcicpXHJcbiAgICAgIGVsZW1lbnQuZWxhcHNlZCA9IG8uZWxhcHNlZDtcclxuICAgIGlmICh0eXBlb2Ygby5oaWRlYWZ0ZXIgPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmhpZGVhZnRlciA9IG8uaGlkZWFmdGVyO1xyXG4gICAgaWYgKHR5cGVvZiBvLmxlZnR0ZXh0ID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5sZWZ0dGV4dCA9IG8ubGVmdHRleHQ7XHJcbiAgICBpZiAodHlwZW9mIG8uY2VudGVydGV4dCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuY2VudGVydGV4dCA9IG8uY2VudGVydGV4dDtcclxuICAgIGlmICh0eXBlb2Ygby5yaWdodHRleHQgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LnJpZ2h0dGV4dCA9IG8ucmlnaHR0ZXh0O1xyXG4gICAgaWYgKHR5cGVvZiBvLndpZHRoID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC53aWR0aCA9IG8ud2lkdGg7XHJcbiAgICBpZiAodHlwZW9mIG8uaGVpZ2h0ID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5oZWlnaHQgPSBvLmhlaWdodDtcclxuICAgIGlmICh0eXBlb2Ygby5iZyA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuYmcgPSBvLmJnO1xyXG4gICAgaWYgKHR5cGVvZiBvLmZnID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5mZyA9IG8uZmc7XHJcbiAgICBpZiAodHlwZW9mIG8uc3R5bGVmaWxsID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5zdHlsZWZpbGwgPSBvLnN0eWxlZmlsbDtcclxuICAgIGlmICh0eXBlb2Ygby50b3dhcmQgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LnRvd2FyZCA9IG8udG93YXJkO1xyXG4gICAgaWYgKHR5cGVvZiBvLmxvb3AgPT09ICdib29sZWFuJylcclxuICAgICAgZWxlbWVudC5sb29wID0gby5sb29wO1xyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBCYWNrZ3JvdW5kIGNvbG9yLlxyXG4gIHNldCBiZyhjOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAoYyA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2JnJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdiZycsIGMpO1xyXG4gIH1cclxuICBnZXQgYmcoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2JnJyk7XHJcbiAgfVxyXG5cclxuICAvLyBGb3JlZ3JvdW5kIGNvbG9yLlxyXG4gIHNldCBmZyhjOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAoYyA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2ZnJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdmZycsIGMpO1xyXG4gIH1cclxuICBnZXQgZmcoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2ZnJyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgd2lkdGggb2YgdGhlIGJhci5cclxuICBzZXQgd2lkdGgodzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHcgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCd3aWR0aCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCB3KTtcclxuICB9XHJcbiAgZ2V0IHdpZHRoKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCd3aWR0aCcpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGhlaWdodCBvZiB0aGUgYmFyLlxyXG4gIHNldCBoZWlnaHQodzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHcgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdoZWlnaHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIHcpO1xyXG4gIH1cclxuICBnZXQgaGVpZ2h0KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSB0b3RhbCBsZW5ndGggb2YgdGltZSB0byBjb3VudCBkb3duLlxyXG4gIHNldCBkdXJhdGlvbihzOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICBpZiAocyA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2R1cmF0aW9uJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkdXJhdGlvbicsIHMudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIGdldCBkdXJhdGlvbigpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGNvbnN0IHMgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZHVyYXRpb24nKTtcclxuICAgIGlmIChzID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBwYXJzZUZsb2F0KHMpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGxlbmd0aCByZW1haW5pbmcgaW4gdGhlIGNvdW50IGRvd24uXHJcbiAgc2V0IHZhbHVlKHM6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgcy50b1N0cmluZygpKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aGlzLl9zdGFydClcclxuICAgICAgcmV0dXJuIHRoaXMuX2R1cmF0aW9uO1xyXG4gICAgY29uc3QgZWxhcHNlZE1zID0gRGF0ZS5ub3coKSAtIHRoaXMuX3N0YXJ0O1xyXG4gICAgcmV0dXJuIE1hdGgubWF4KDAsIHRoaXMuX2R1cmF0aW9uIC0gKGVsYXBzZWRNcyAvIDEwMDApKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBlbGFwc2VkIHRpbWUuXHJcbiAgc2V0IGVsYXBzZWQoczogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZWxhcHNlZCcsIHMudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIGdldCBlbGFwc2VkKCk6IG51bWJlciB7XHJcbiAgICBpZiAoIXRoaXMuX3N0YXJ0KVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIHJldHVybiAoRGF0ZS5ub3coKSAtIHRoaXMuX3N0YXJ0KSAvIDEwMDA7XHJcbiAgfVxyXG5cclxuICAvLyBJZiBcInJpZ2h0XCIgdGhlbiBhbmltYXRlcyBsZWZ0LXRvLXJpZ2h0ICh0aGUgZGVmYXVsdCkuIElmIFwibGVmdFwiXHJcbiAgLy8gdGhlbiBhbmltYXRlcyByaWdodC10by1sZWZ0LlxyXG4gIHNldCB0b3dhcmQodDogJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGwpIHtcclxuICAgIGlmICh0ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndG93YXJkJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0b3dhcmQnLCB0KTtcclxuICB9XHJcbiAgZ2V0IHRvd2FyZCgpOiAnbGVmdCcgfCAncmlnaHQnIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3Rvd2FyZCcpIGFzICdsZWZ0JyB8ICdyaWdodCc7XHJcbiAgfVxyXG5cclxuICAvLyBJZiBcImZpbGxcIiB0aGVuIHRoZSBwcm9ncmVzcyBnb2VzIGVtcHR5LXRvLWZ1bGwsIGlmIFwiZW1wdHlcIiB0aGVuIHRoZVxyXG4gIC8vIHByb2dyZXNzIGJhciBzdGFydHMgZnVsbCBhbmQgZ29lcyB0byBlbXB0eS5cclxuICBzZXQgc3R5bGVmaWxsKHM6ICdlbXB0eScgfCAnZmlsbCcgfCBudWxsKSB7XHJcbiAgICBpZiAocyA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3N0eWxlZmlsbCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnc3R5bGVmaWxsJywgcyk7XHJcbiAgfVxyXG4gIGdldCBzdHlsZWZpbGwoKTogJ2VtcHR5JyB8ICdmaWxsJyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdzdHlsZWZpbGwnKSBhcyAnZW1wdHknIHwgJ2ZpbGwnO1xyXG4gIH1cclxuXHJcbiAgLy8gV2hlbiB0aGUgYmFyIHJlYWNoZXMgMCwgaXQgaXMgaGlkZGVuIGFmdGVyIHRoaXMgbWFueSBzZWNvbmRzLiBJZiBudWxsXHJcbiAgLy8gdGhlbiBpdCBpcyBub3QgaGlkZGVuLlxyXG4gIHNldCBoaWRlYWZ0ZXIoaDogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgaWYgKGggPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdoaWRlYWZ0ZXInKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2hpZGVhZnRlcicsIGgudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIGdldCBoaWRlYWZ0ZXIoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBjb25zdCBoID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2hpZGVhZnRlcicpO1xyXG4gICAgaWYgKGggPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHBhcnNlSW50KGgpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hvb3NlcyB3aGF0IHNob3VsZCBiZSBzaG93biBpbiB0aGUgdGV4dCBmaWVsZCBpbiBlYWNoIGFyZWEgb2ZcclxuICAvLyB0aGUgYmFyLiBDYW4gYmUgb25lIG9mOlxyXG4gIC8vIGVtcHR5IC0gbm90aGluZyBpcyBzaG93bi5cclxuICAvLyBcInJlbWFpblwiIC0gc2hvd3MgdGhlIHJlbWFpbmluZyB0aW1lLlxyXG4gIC8vIFwiZHVyYXRpb25cIiAtIHNob3dzIHRoZSByZW1haW5pbmcgYW5kIHRvdGFsIGR1cmF0aW9uIHRpbWVcclxuICAvLyAgICAgICAgICAgICAgb2YgdGhlIGJhci5cclxuICAvLyBcInBlcmNlbnRcIiAtIHNob3dzIHRoZSBwZXJjZW50YWdlIG9mIHJlbWFpbmluZyB0aW1lIHRvXHJcbiAgLy8gICAgICAgICAgICAgdGhlIGR1cmF0aW9uLlxyXG4gIC8vIFwiZWxhcHNlZFwiICAgLSBzaG93cyB0aGUgZWxhcHNlZCB0aW1lXHJcbiAgLy8gYW55dGhpbmcgZWxzZSAtIHRoZSBnaXZlbiB0ZXh0IGlzIHNob3duIGxpdGVyYWxseS5cclxuICBzZXQgbGVmdHRleHQocDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHAgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdsZWZ0dGV4dCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbGVmdHRleHQnLCBwKTtcclxuICB9XHJcbiAgZ2V0IGxlZnR0ZXh0KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdsZWZ0dGV4dCcpO1xyXG4gIH1cclxuICBzZXQgcmlnaHR0ZXh0KHA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChwID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgncmlnaHR0ZXh0Jyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdyaWdodHRleHQnLCBwKTtcclxuICB9XHJcbiAgZ2V0IHJpZ2h0dGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgncmlnaHR0ZXh0Jyk7XHJcbiAgfVxyXG4gIHNldCBjZW50ZXJ0ZXh0KHA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChwID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnY2VudGVydGV4dCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnY2VudGVydGV4dCcsIHApO1xyXG4gIH1cclxuICBnZXQgY2VudGVydGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnY2VudGVydGV4dCcpO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgdGhpcyBhdHRyaWJ1dGUgaXMgcHJlc2VudCwgdGhlIHRpbWVyIHdpbGwgbG9vcCBmb3JldmVyLlxyXG4gIHNldCBsb29wKGw6IGJvb2xlYW4pIHtcclxuICAgIGlmIChsKVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnbG9vcCcsICcnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2xvb3AnKTtcclxuICB9XHJcbiAgZ2V0IGxvb3AoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNBdHRyaWJ1dGUoJ2xvb3AnKTtcclxuICB9XHJcblxyXG4gIC8vIFRoaXMgd291bGQgYmUgdXNlZCB3aXRoIHdpbmRvdy5jdXN0b21FbGVtZW50cy5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBjb25zdCByb290ID0gdGhpcy5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7XHJcbiAgICB0aGlzLmluaXQocm9vdCk7XHJcblxyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgLy8gRGVmYXVsdCB2YWx1ZXMuXHJcbiAgICB0aGlzLl9zdGFydCA9IDA7XHJcbiAgICB0aGlzLl9kdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLl93aWR0aCA9ICcxMDAlJztcclxuICAgIHRoaXMuX2hlaWdodCA9ICcxMDAlJztcclxuICAgIHRoaXMuX2JnID0gJ2JsYWNrJztcclxuICAgIHRoaXMuX2ZnID0gJ3llbGxvdyc7XHJcbiAgICB0aGlzLl90b3dhcmRSaWdodCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZmlsbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fbGVmdFRleHQgPSAnJztcclxuICAgIHRoaXMuX2NlbnRlclRleHQgPSAnJztcclxuICAgIHRoaXMuX3JpZ2h0VGV4dCA9ICcnO1xyXG4gICAgdGhpcy5faGlkZUFmdGVyID0gLTE7XHJcbiAgICB0aGlzLl9sb29wID0gZmFsc2U7XHJcbiAgICB0aGlzLl9oaWRlVGltZXIgPSAwO1xyXG5cclxuICAgIHRoaXMucm9vdEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyb290JykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnZmcnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMuYmFja2dyb3VuZEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdiZycpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdsZWZ0dGV4dCcpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ2NlbnRlcnRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3JpZ2h0dGV4dCcpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgaW5pdChyb290OiBTaGFkb3dSb290KTogdm9pZCB7XHJcbiAgICByb290LmlubmVySFRNTCA9IGBcclxuICAgICAgPHN0eWxlPlxyXG4gICAgICAgIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWJnIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItZmcge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IC0xcHggMCAzcHggYmxhY2ssIDAgMXB4IDNweCBibGFjaywgMXB4IDAgM3B4IGJsYWNrLCAwIC0xcHggM3B4IGJsYWNrO1xyXG4gICAgICAgICAgd2lsbC1jaGFuZ2U6IGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMS4yZXgpO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItbGVmdHRleHQge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweCAwLjRlbSAwcHggMC40ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lcmJhci1jZW50ZXJ0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIHBhZGRpbmc6IDBweCAwLjRlbSAwcHggMC40ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lcmJhci1yaWdodHRleHQge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRpbWVyYmFyLXJvb3Qge1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRpbWVyYmFyLWJnIHtcclxuICAgICAgICAgIGhlaWdodDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEyMDA4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQUE2RTAzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgI0FBNkUwMztcclxuICAgICAgICAgIG9wYWNpdHk6IDEuMDtcclxuICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5za2luLWxpcHBlKSAudGltZXJiYXItZmcge1xyXG4gICAgICAgICAgaGVpZ2h0OiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIG1hcmdpbjogMXB4O1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgIG9wYWNpdHk6IDEuMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50ZXh0IHtcclxuICAgICAgICAgIHRleHQtc2hhZG93OlxyXG4gICAgICAgICAgICAwIDAgM3B4ICNBQTZFMDMsXHJcbiAgICAgICAgICAgIDAgMXB4IDNweCAjQUE2RTAzLFxyXG4gICAgICAgICAgICAwIC0xcHggM3B4ICNBQTZFMDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5za2luLWxpcHBlKSAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguanVzdC1hLW51bWJlcikgLnRpbWVyYmFyLXJvb3Qge1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5qdXN0LWEtbnVtYmVyKSAudGltZXJiYXItYmcge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguanVzdC1hLW51bWJlcikgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIEtvcmVhbiBiZXR0ZXIgdmlzaWJpbGl0eSBDU1MgKi9cclxuICAgICAgICA6bGFuZyhrbykgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAxLjVleCk7XHJcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuM2V4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgOmxhbmcoa28pIC50aW1lcmJhci1yaWdodHRleHQge1xyXG4gICAgICAgICAgdG9wOiAwLjNleDtcclxuICAgICAgICB9XHJcbiAgICAgIDwvc3R5bGU+XHJcbiAgICAgIDxkaXYgaWQ9XCJyb290XCIgY2xhc3M9XCJ0aW1lcmJhci1yb290XCI+XHJcbiAgICAgICAgPGRpdiBpZD1cImJnXCIgY2xhc3M9XCJ0aW1lcmJhci1iZ1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgaWQ9XCJmZ1wiIGNsYXNzPVwidGltZXJiYXItZmdcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250YWluZXJcIj48ZGl2IGlkPVwibGVmdHRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItbGVmdHRleHRcIj48L2Rpdj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jb250YWluZXJcIj48ZGl2IGlkPVwiY2VudGVydGV4dFwiIGNsYXNzPVwidGV4dCB0aW1lcmJhci1jZW50ZXJ0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cInJpZ2h0dGV4dFwiIGNsYXNzPVwidGV4dCB0aW1lcmJhci1yaWdodHRleHRcIj48L2Rpdj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICBgO1xyXG4gIH1cclxuXHJcbiAgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25uZWN0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIHRoaXMudXBkYXRlVGV4dCgpO1xyXG4gICAgaWYgKCF0aGlzLl9zdGFydClcclxuICAgICAgdGhpcy5zZXR2YWx1ZSh0aGlzLl9kdXJhdGlvbik7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuYWR2YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25uZWN0ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lOiBzdHJpbmcsIF9vbGRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyLCBuZXdWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAobmFtZSA9PT0gJ2R1cmF0aW9uJykge1xyXG4gICAgICB0aGlzLl9kdXJhdGlvbiA9IE1hdGgubWF4KHBhcnNlRmxvYXQobmV3VmFsdWUpLCAwKTtcclxuICAgICAgdGhpcy5zZXR2YWx1ZSh0aGlzLl9kdXJhdGlvbik7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd2YWx1ZScpIHtcclxuICAgICAgdGhpcy5zZXR2YWx1ZShNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCkpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnZWxhcHNlZCcpIHtcclxuICAgICAgdGhpcy5zZXR2YWx1ZSh0aGlzLl9kdXJhdGlvbiAtIE1hdGgubWF4KHBhcnNlRmxvYXQobmV3VmFsdWUpLCAwKSk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd3aWR0aCcpIHtcclxuICAgICAgdGhpcy5fd2lkdGggPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2hlaWdodCcpIHtcclxuICAgICAgdGhpcy5faGVpZ2h0ID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdiZycpIHtcclxuICAgICAgdGhpcy5fYmcgPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2ZnJykge1xyXG4gICAgICB0aGlzLl9mZyA9IG5ld1ZhbHVlO1xyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnc3R5bGVmaWxsJykge1xyXG4gICAgICB0aGlzLl9maWxsID0gbmV3VmFsdWUgPT09ICdmaWxsJztcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3Rvd2FyZCcpIHtcclxuICAgICAgdGhpcy5fdG93YXJkUmlnaHQgPSBuZXdWYWx1ZSA9PT0gJ3JpZ2h0JztcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2xlZnR0ZXh0Jykge1xyXG4gICAgICBjb25zdCB1cGRhdGUgPSBuZXdWYWx1ZSAhPT0gdGhpcy5fbGVmdFRleHQgJiYgdGhpcy5fY29ubmVjdGVkO1xyXG4gICAgICB0aGlzLl9sZWZ0VGV4dCA9IG5ld1ZhbHVlO1xyXG4gICAgICBpZiAodXBkYXRlKVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnY2VudGVydGV4dCcpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0gbmV3VmFsdWUgIT09IHRoaXMuX2NlbnRlclRleHQgJiYgdGhpcy5fY29ubmVjdGVkO1xyXG4gICAgICB0aGlzLl9jZW50ZXJUZXh0ID0gbmV3VmFsdWU7XHJcbiAgICAgIGlmICh1cGRhdGUpXHJcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdyaWdodHRleHQnKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IG5ld1ZhbHVlICE9PSB0aGlzLl9yaWdodFRleHQgJiYgdGhpcy5fY29ubmVjdGVkO1xyXG4gICAgICB0aGlzLl9yaWdodFRleHQgPSBuZXdWYWx1ZTtcclxuICAgICAgaWYgKHVwZGF0ZSlcclxuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2hpZGVhZnRlcicpIHtcclxuICAgICAgdGhpcy5faGlkZUFmdGVyID0gTWF0aC5tYXgodGhpcy5oaWRlYWZ0ZXIgPz8gMCwgMCk7XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlID09PSAwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2hpZGVBZnRlciA+PSAwKVxyXG4gICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2xvb3AnKSB7XHJcbiAgICAgIHRoaXMuX2xvb3AgPSBuZXdWYWx1ZSAhPT0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICB0aGlzLmRyYXcoKTtcclxuICB9XHJcblxyXG4gIGxheW91dCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5iYWNrZ3JvdW5kRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLl9iZztcclxuICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fZmc7XHJcbiAgICB0aGlzLnJvb3RFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5fd2lkdGg7XHJcbiAgICB0aGlzLnJvb3RFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuX2hlaWdodDtcclxuXHJcbiAgICAvLyBUbyBzdGFydCBmdWxsIGFuZCBhbmltYXRlIHRvIGVtcHR5LCB3ZSBhbmltYXRlIGJhY2t3YXJkcyBhbmQgZmxpcFxyXG4gICAgLy8gdGhlIGRpcmVjdGlvbi5cclxuICAgIGlmICh0aGlzLl90b3dhcmRSaWdodCAhPT0gdGhpcy5fZmlsbCkge1xyXG4gICAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLmxlZnQgPSAnJztcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwcHgnO1xyXG4gICAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLnRyYW5zZm9ybU9yaWdpbiA9ICdyaWdodCBjZW50ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS5sZWZ0ID0gJzBweCc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUucmlnaHQgPSAnJztcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAnbGVmdCBjZW50ZXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGV4dCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZhcnlpbmdUZXh0cyA9IFsnZWxhcHNlZCcsICdkdXJhdGlvbicsICdwZXJjZW50JywgJ3JlbWFpbiddO1xyXG4gICAgLy8gVGhlc2UgdmFsdWVzIGFyZSBmaWxsZWQgaW4gZHVyaW5nIGRyYXcoKSB3aGVuIHRoZSB2YWx1ZXMgY2hhbmdlLlxyXG4gICAgaWYgKCF2YXJ5aW5nVGV4dHMuaW5jbHVkZXModGhpcy5fbGVmdFRleHQpKSB7XHJcbiAgICAgIC8vIE90aGVyd2lzZSB0aGUgdmFsdWUgaXMgZml4ZWQgc28gaXQgY2FuIGJlIHNldCBoZXJlLlxyXG4gICAgICB0aGlzLmxlZnRUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9sZWZ0VGV4dDtcclxuICAgIH1cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX2NlbnRlclRleHQpKVxyXG4gICAgICB0aGlzLmNlbnRlclRleHRFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuX2NlbnRlclRleHQ7XHJcblxyXG4gICAgaWYgKCF2YXJ5aW5nVGV4dHMuaW5jbHVkZXModGhpcy5fcmlnaHRUZXh0KSlcclxuICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuX3JpZ2h0VGV4dDtcclxuICB9XHJcblxyXG4gIGRyYXcoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbGFwc2VkU2VjID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gICAgY29uc3QgcmVtYWluU2VjID0gTWF0aC5tYXgoMCwgdGhpcy5fZHVyYXRpb24gLSBlbGFwc2VkU2VjKTtcclxuICAgIGxldCBwZXJjZW50ID0gdGhpcy5fZHVyYXRpb24gPD0gMCA/IDAgOiByZW1haW5TZWMgLyB0aGlzLl9kdXJhdGlvbjtcclxuICAgIC8vIEtlZXAgaXQgYmV0d2VlbiAwIGFuZCAxLlxyXG4gICAgcGVyY2VudCA9IE1hdGgubWluKDEsIE1hdGgubWF4KDAsIHBlcmNlbnQpKTtcclxuICAgIGNvbnN0IGRpc3BsYXlSZW1haW4gPSByZW1haW5TZWMgPyByZW1haW5TZWMudG9GaXhlZCgxKSA6ICcnO1xyXG4gICAgY29uc3QgZGlzcGxheUVsYXBzZWQgPSBlbGFwc2VkU2VjLnRvRml4ZWQoMSk7XHJcbiAgICBpZiAodGhpcy5fZmlsbClcclxuICAgICAgcGVyY2VudCA9IDEuMCAtIHBlcmNlbnQ7XHJcbiAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGBzY2FsZVgoJHtwZXJjZW50LnRvRml4ZWQoMyl9KWA7XHJcbiAgICBpZiAodGhpcy5fbGVmdFRleHQgIT09ICcnKSB7XHJcbiAgICAgIGlmICh0aGlzLl9sZWZ0VGV4dCA9PT0gJ3JlbWFpbicpXHJcbiAgICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheVJlbWFpbjtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdkdXJhdGlvbicpXHJcbiAgICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7ZGlzcGxheVJlbWFpbn0gLyAke3RoaXMuX2R1cmF0aW9ufWA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2xlZnRUZXh0ID09PSAncGVyY2VudCcpXHJcbiAgICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7KHBlcmNlbnQgKiAxMDApLnRvRml4ZWQoMSl9ICVgO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9sZWZ0VGV4dCA9PT0gJ2VsYXBzZWQnKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlFbGFwc2VkO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NlbnRlclRleHQgIT09ICcnKSB7XHJcbiAgICAgIGlmICh0aGlzLl9jZW50ZXJUZXh0ID09PSAncmVtYWluJylcclxuICAgICAgICB0aGlzLmNlbnRlclRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlSZW1haW47XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2NlbnRlclRleHQgPT09ICdkdXJhdGlvbicpXHJcbiAgICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lclRleHQgPSBgJHtkaXNwbGF5UmVtYWlufSAvICR7dGhpcy5fZHVyYXRpb259YDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ3BlcmNlbnQnKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7KHBlcmNlbnQgKiAxMDApLnRvRml4ZWQoMSl9ICVgO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9jZW50ZXJUZXh0ID09PSAnZWxhcHNlZCcpXHJcbiAgICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5RWxhcHNlZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9yaWdodFRleHQgIT09ICcnKSB7XHJcbiAgICAgIGlmICh0aGlzLl9yaWdodFRleHQgPT09ICdyZW1haW4nKVxyXG4gICAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5UmVtYWluO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9yaWdodFRleHQgPT09ICdkdXJhdGlvbicpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAke2Rpc3BsYXlSZW1haW59IC8gJHt0aGlzLl9kdXJhdGlvbn1gO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9yaWdodFRleHQgPT09ICdwZXJjZW50JylcclxuICAgICAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7KHBlcmNlbnQgKiAxMDApLnRvRml4ZWQoMSl9ICVgO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9yaWdodFRleHQgPT09ICdlbGFwc2VkJylcclxuICAgICAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheUVsYXBzZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBBcHBseSBhbGwgc3R5bGVzIGZyb20gYW4gb2JqZWN0IHdoZXJlIGtleXMgYXJlIENTUyBwcm9wZXJ0aWVzXHJcbiAgYXBwbHlTdHlsZXMoc3R5bGVzOiB7IFtzOiBzdHJpbmddOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgY29uc3QgcyA9IE9iamVjdC5rZXlzKHN0eWxlcykubWFwKChrKSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHtrfToke3N0eWxlcz8uW2tdID8/ICcnfTtgO1xyXG4gICAgfSkuam9pbignJyk7XHJcblxyXG4gICAgY29uc3QgbGVmdCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ2xlZnR0ZXh0Jyk7XHJcbiAgICBjb25zdCBjZW50ZXIgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdjZW50ZXJ0ZXh0Jyk7XHJcbiAgICBjb25zdCByaWdodCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3JpZ2h0dGV4dCcpO1xyXG4gICAgaWYgKCFsZWZ0IHx8ICFjZW50ZXIgfHwgIXJpZ2h0KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBsZWZ0LnN0eWxlLmNzc1RleHQgKz0gcztcclxuICAgIGNlbnRlci5zdHlsZS5jc3NUZXh0ICs9IHM7XHJcbiAgICByaWdodC5zdHlsZS5jc3NUZXh0ICs9IHM7XHJcbiAgfVxyXG5cclxuICBzZXR2YWx1ZShyZW1haW5TZWM6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZWxhcHNlZFNlYyA9IE1hdGgubWF4KDAsIHRoaXMuX2R1cmF0aW9uIC0gcmVtYWluU2VjKTtcclxuICAgIHRoaXMuX3N0YXJ0ID0gRGF0ZS5ub3coKSAtIChlbGFwc2VkU2VjICogMTAwMCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNob3coKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZXIgPz8gMCk7XHJcbiAgICB0aGlzLl9oaWRlVGltZXIgPSBudWxsO1xyXG5cclxuICAgIHRoaXMuYWR2YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgYWR2YW5jZSgpOiB2b2lkIHtcclxuICAgIC8vIElmIHRoZSBlbGVtZW50IGhhcyBiZWVuIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBET00sIHN0b3AgcmVxdWVzdGluZyBhbmltYXRpb24gZnJhbWVzXHJcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGVsYXBzZWRTZWMgPSAoRGF0ZS5ub3coKSAtIHRoaXMuX3N0YXJ0KSAvIDEwMDA7XHJcbiAgICBpZiAoZWxhcHNlZFNlYyA+PSB0aGlzLl9kdXJhdGlvbikge1xyXG4gICAgICAvLyBUaW1lciBjb21wbGV0ZWRcclxuICAgICAgaWYgKHRoaXMuX2xvb3AgJiYgdGhpcy5fZHVyYXRpb24gPiAwKSB7XHJcbiAgICAgICAgLy8gU2V0cyB0aGUgcmVtYWluaW5nIHRpbWUgdG8gaW5jbHVkZSBhbnkgZXh0cmEgZWxhcHNlZCBzZWNvbmRzIHBhc3QgdGhlIGR1cmF0aW9uXHJcbiAgICAgICAgdGhpcy5zZXR2YWx1ZSh0aGlzLl9kdXJhdGlvbiArICh0aGlzLl9kdXJhdGlvbiAtIGVsYXBzZWRTZWMpICUgdGhpcy5fZHVyYXRpb24pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU2V0cyB0aGUgYXR0cmlidXRlIHRvIDAgc28gdXNlcnMgY2FuIHNlZSB0aGUgY291bnRlciBpcyBkb25lLCBhbmRcclxuICAgICAgLy8gaWYgdGhleSBzZXQgdGhlIHNhbWUgZHVyYXRpb24gYWdhaW4gaXQgd2lsbCBjb3VudC5cclxuICAgICAgdGhpcy5fZHVyYXRpb24gPSAwO1xyXG4gICAgICBpZiAodGhpcy5faGlkZUFmdGVyID4gMClcclxuICAgICAgICB0aGlzLl9oaWRlVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCh0aGlzLmhpZGUuYmluZCh0aGlzKSwgdGhpcy5faGlkZUFmdGVyICogMTAwMCk7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2hpZGVBZnRlciA9PT0gMClcclxuICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFRpbWVyIG5vdCBjb21wbGV0ZWQsIHJlcXVlc3QgYW5vdGhlciBhbmltYXRpb24gZnJhbWVcclxuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmFkdmFuY2UuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcmF3KCk7XHJcbiAgfVxyXG5cclxuICBzaG93KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICB9XHJcblxyXG4gIGhpZGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICB0aGlzLnJvb3RFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgfVxyXG59XHJcblxyXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0aW1lci1iYXInLCBUaW1lckJhcik7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XHJcbiAgICAndGltZXItYmFyJzogVGltZXJCYXI7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcsIGxhbmdUb0xvY2FsZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgTmV0UmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbmV0cmVnZXhlcyc7XHJcbmltcG9ydCBUaW1lckJhciBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdGltZXJiYXInO1xyXG5pbXBvcnQgeyBMb2NhbGVSZWdleCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy90cmFuc2xhdGlvbnMnO1xyXG5pbXBvcnQgeyBMb2dFdmVudCB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgQ2FjdGJvdEJhc2VSZWdFeHAgfSBmcm9tICcuLi8uLi90eXBlcy9uZXRfdHJpZ2dlcic7XHJcbmltcG9ydCB7IExvb3NlVGltZWxpbmVUcmlnZ2VyLCBSYWlkYm9zc0ZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgeyBQb3B1cFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIEV2ZW50LFxyXG4gIFN5bmMsXHJcbiAgVGV4dCxcclxuICBUaW1lbGluZVBhcnNlcixcclxuICBUaW1lbGluZVJlcGxhY2VtZW50LFxyXG4gIFRpbWVsaW5lU3R5bGUsXHJcbn0gZnJvbSAnLi90aW1lbGluZV9wYXJzZXInO1xyXG5cclxuY29uc3Qga0JpZyA9IDEwMDAwMDAwMDA7IC8vIFNvbWV0aGluZyBiaWdnZXIgdGhhbiBhbnkgZmlnaHQgbGVuZ3RoIGluIHNlY29uZHMuXHJcblxyXG5jb25zdCB0aW1lbGluZUluc3RydWN0aW9ucyA9IHtcclxuICBlbjogW1xyXG4gICAgJ1RoZXNlIGxpbmVzIGFyZScsXHJcbiAgICAnZGVidWcgdGltZWxpbmUgZW50cmllcy4nLFxyXG4gICAgJ0lmIHlvdSBsb2NrIHRoZSBvdmVybGF5LCcsXHJcbiAgICAndGhleSB3aWxsIGRpc2FwcGVhciEnLFxyXG4gICAgJ1JlYWwgdGltZWxpbmVzIGF1dG9tYXRpY2FsbHknLFxyXG4gICAgJ2FwcGVhciB3aGVuIHN1cHBvcnRlZC4nLFxyXG4gIF0sXHJcbiAgZGU6IFtcclxuICAgICdEaWVzZSBaZWlsZW4gc2luZCcsXHJcbiAgICAnVGltZWxpbmUgRGVidWctRWludHLDpGdlLicsXHJcbiAgICAnV2VubiBkdSBkYXMgT3ZlcmxheSBzcGVycnN0LCcsXHJcbiAgICAnd2VyZGVuIHNpZSB2ZXJzY2h3aW5kZW4hJyxcclxuICAgICdFY2h0ZSBUaW1lbGluZXMgZXJzY2hlaW5lbiBhdXRvbWF0aXNjaCwnLFxyXG4gICAgJ3dlbm4gc2llIHVudGVyc3TDvHR6dCB3ZXJkZW4uJyxcclxuICBdLFxyXG4gIGZyOiBbXHJcbiAgICAnQ2VzIGxpZ25lcyBzb250JyxcclxuICAgICdkZXMgdGltZWxpbmVzIGRlIHRlc3QuJyxcclxuICAgICdTaSB2b3VzIGJsb3F1ZXogbFxcJ292ZXJsYXksJyxcclxuICAgICdlbGxlcyBkaXNwYXJhw650cm9udCAhJyxcclxuICAgICdMZXMgdnJhaWVzIFRpbWVsaW5lcycsXHJcbiAgICAnYXBwYXJhw650cm9udCBhdXRvbWF0aXF1ZW1lbnQuJyxcclxuICBdLFxyXG4gIGphOiBbXHJcbiAgICAn44GT44Gh44KJ44Gv44OH44OQ44OD44Kw55So44GuJyxcclxuICAgICfjgr/jgqTjg6Djg6njgqTjg7PjgafjgZnjgIInLFxyXG4gICAgJ+OCquODvOODkOODvOODrOOCpOOCkuODreODg+OCr+OBmeOCjOOBsOOAgScsXHJcbiAgICAn44OH44OQ44OD44Kw55So44OG44Kt44K544OI44KC5raI44GI44KLJyxcclxuICAgICfjgrXjg53jg7zjg4jjgZnjgovjgr7jg7zjg7Pjgavjga/jgr/jgqTjg6AnLFxyXG4gICAgJ+ODqeOCpOODs+OCkuWLleeahOOBq+ODreODvOODieOBmeOCi+OAgicsXHJcbiAgXSxcclxuICBjbjogW1xyXG4gICAgJ+aYvuekuuWcqOatpOWkhOeahOaYrycsXHJcbiAgICAn6LCD6K+V55So5pe26Ze06L2044CCJyxcclxuICAgICflsIbmraTmgqzmta7nqpfplIHlrponLFxyXG4gICAgJ+WImeS8mueri+WIu+a2iOWksScsXHJcbiAgICAn55yf5a6e55qE5pe26Ze06L205Lya5qC55o2uJyxcclxuICAgICflvZPliY3ljLrln5/liqjmgIHliqDovb3lubbmmL7npLonLFxyXG4gIF0sXHJcbiAga286IFtcclxuICAgICfsnbQg66eJ64yA67CU64qUIOuUlOuyhOq3uOyaqScsXHJcbiAgICAn7YOA7J6E65287J24IOyeheuLiOuLpC4nLFxyXG4gICAgJ+yYpOuyhOugiOydtOulvCDsnITsuZjsnqDquIjtlZjrqbQsJyxcclxuICAgICfsnbQg66eJ64yA67CU64+EIOyCrOudvOynkeuLiOuLpC4nLFxyXG4gICAgJ+yngOybkOuQmOuKlCDqtazsl63sl5DshJwg7YOA7J6E65287J247J20JyxcclxuICAgICfsnpDrj5nsnLzroZwg7ZGc7Iuc65Cp64uI64ukLicsXHJcbiAgXSxcclxufTtcclxuXHJcbmNvbnN0IGFjdGl2ZVRleHQgPSB7XHJcbiAgZW46ICdBY3RpdmU6JyxcclxuICBkZTogJ0FrdGl2OicsXHJcbiAgZnI6ICdBY3RpdmUgOicsXHJcbiAgamE6ICco6YCy6KGMKTonLFxyXG4gIGNuOiAnKOi/m+ihjOS4rSk6JyxcclxuICBrbzogJ+yLnOyghOykkTonLFxyXG59O1xyXG5cclxuLy8gVE9ETzogRHVwbGljYXRlZCBpbiAnam9icydcclxuY29uc3QgY29tcHV0ZUJhY2tncm91bmRDb2xvckZyb20gPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNsYXNzTGlzdDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBjb25zdCBjbGFzc2VzID0gY2xhc3NMaXN0LnNwbGl0KCcuJyk7XHJcbiAgZm9yIChjb25zdCBjbHMgb2YgY2xhc3NlcylcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKGNscyk7XHJcbiAgZWxlbWVudC5hcHBlbmRDaGlsZChkaXYpO1xyXG4gIGNvbnN0IGNvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2KS5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgZWxlbWVudC5yZW1vdmVDaGlsZChkaXYpO1xyXG4gIHJldHVybiBjb2xvcjtcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZSB7XHJcbiAgcHJpdmF0ZSBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnM7XHJcbiAgcHJpdmF0ZSByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXTtcclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVUZXh0OiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlU3luY3M6IFN5bmNbXTtcclxuICBwcml2YXRlIGFjdGl2ZUV2ZW50czogRXZlbnRbXTtcclxuXHJcbiAgcHVibGljIGlnbm9yZXM6IHsgW2lnbm9yZUlkOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgcHVibGljIGV2ZW50czogRXZlbnRbXTtcclxuICBwdWJsaWMgdGV4dHM6IFRleHRbXTtcclxuICBwdWJsaWMgc3luY1N0YXJ0czogU3luY1tdO1xyXG4gIHB1YmxpYyBzeW5jRW5kczogU3luY1tdO1xyXG5cclxuICBwdWJsaWMgdGltZWJhc2UgPSAwO1xyXG5cclxuICBwcml2YXRlIG5leHRFdmVudCA9IDA7XHJcbiAgcHJpdmF0ZSBuZXh0VGV4dCA9IDA7XHJcbiAgcHJpdmF0ZSBuZXh0U3luY1N0YXJ0ID0gMDtcclxuICBwcml2YXRlIG5leHRTeW5jRW5kID0gMDtcclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVUaW1lciA9IDA7XHJcblxyXG4gIHB1YmxpYyB1aT86IFRpbWVsaW5lVUk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10sXHJcbiAgICB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSxcclxuICAgIHN0eWxlczogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSB6b25lSWQ6IG51bWJlcixcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLnJlcGxhY2VtZW50cyA9IHJlcGxhY2VtZW50cztcclxuXHJcbiAgICBjb25zdCBsYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICB0aGlzLmFjdGl2ZVRleHQgPSBsYW5nIGluIGFjdGl2ZVRleHQgPyBhY3RpdmVUZXh0W2xhbmddIDogYWN0aXZlVGV4dFsnZW4nXTtcclxuXHJcbiAgICAvLyBOb3Qgc29ydGVkLlxyXG4gICAgdGhpcy5hY3RpdmVTeW5jcyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuYWN0aXZlRXZlbnRzID0gW107XHJcbiAgICAvLyBBIHNldCBvZiBuYW1lcyB3aGljaCB3aWxsIG5vdCBiZSBub3RpZmllZCBhYm91dC5cclxuICAgIHRoaXMuaWdub3JlcyA9IHt9O1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgZXZlbnQgb2NjdXJyZW5jZSB0aW1lLlxyXG4gICAgdGhpcy50ZXh0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuc3RhcnQgdGltZS5cclxuICAgIHRoaXMuc3luY1N0YXJ0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuZW5kIHRpbWUuXHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcblxyXG4gICAgdGhpcy5Mb2FkRmlsZSh0ZXh0LCB0cmlnZ2Vycywgc3R5bGVzKTtcclxuICAgIHRoaXMuU3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBMb2FkRmlsZSh0ZXh0OiBzdHJpbmcsIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLCBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IFRpbWVsaW5lUGFyc2VyKFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0aGlzLnJlcGxhY2VtZW50cyxcclxuICAgICAgdHJpZ2dlcnMsXHJcbiAgICAgIHN0eWxlcyxcclxuICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICB0aGlzLnpvbmVJZCxcclxuICAgICk7XHJcbiAgICB0aGlzLmlnbm9yZXMgPSBwYXJzZWQuaWdub3JlcztcclxuICAgIHRoaXMuZXZlbnRzID0gcGFyc2VkLmV2ZW50cztcclxuICAgIHRoaXMudGV4dHMgPSBwYXJzZWQudGV4dHM7XHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBwYXJzZWQuc3luY1N0YXJ0cztcclxuICAgIHRoaXMuc3luY0VuZHMgPSBwYXJzZWQuc3luY0VuZHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RvcCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWJhc2UgPSAwO1xyXG5cclxuICAgIHRoaXMubmV4dEV2ZW50ID0gMDtcclxuICAgIHRoaXMubmV4dFRleHQgPSAwO1xyXG4gICAgdGhpcy5uZXh0U3luY1N0YXJ0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNFbmQgPSAwO1xyXG5cclxuICAgIGNvbnN0IGZpZ2h0Tm93ID0gMDtcclxuICAgIHRoaXMuX0FkdmFuY2VUaW1lVG8oZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQ29sbGVjdEFjdGl2ZVN5bmNzKGZpZ2h0Tm93KTtcclxuXHJcbiAgICB0aGlzLl9DbGVhclRpbWVycygpO1xyXG4gICAgdGhpcy5fQ2FuY2VsVXBkYXRlKCk7XHJcblxyXG4gICAgdGhpcy51aT8uT25TeW5jVGltZShmaWdodE5vdywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIFN5bmNUbyhmaWdodE5vdzogbnVtYmVyLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBUaGlzIHJlY29yZHMgdGhlIGFjdHVhbCB0aW1lIHdoaWNoIGFsaWducyB3aXRoIFwiMFwiIGluIHRoZSB0aW1lbGluZS5cclxuICAgIGNvbnN0IG5ld1RpbWViYXNlID0gbmV3IERhdGUoY3VycmVudFRpbWUgLSBmaWdodE5vdyAqIDEwMDApLnZhbHVlT2YoKTtcclxuICAgIC8vIFNraXAgc3luY3MgdGhhdCBhcmUgdG9vIGNsb3NlLiAgTWFueSBzeW5jcyBoYXBwZW4gb24gYWJpbGl0aWVzIHRoYXRcclxuICAgIC8vIGhpdCA4IHRvIDI0IHBlb3BsZSwgYW5kIHNvIHRoaXMgaXMgYSBsb3Qgb2YgY2h1cm4uXHJcbiAgICBpZiAoTWF0aC5hYnMobmV3VGltZWJhc2UgLSB0aGlzLnRpbWViYXNlKSA8PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLnRpbWViYXNlID0gbmV3VGltZWJhc2U7XHJcblxyXG4gICAgdGhpcy5uZXh0RXZlbnQgPSAwO1xyXG4gICAgdGhpcy5uZXh0VGV4dCA9IDA7XHJcbiAgICB0aGlzLm5leHRTeW5jU3RhcnQgPSAwO1xyXG4gICAgdGhpcy5uZXh0U3luY0VuZCA9IDA7XHJcblxyXG4gICAgLy8gVGhpcyB3aWxsIHNraXAgdGV4dCBldmVudHMgd2l0aG91dCBydW5uaW5nIHRoZW0uXHJcbiAgICB0aGlzLl9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NvbGxlY3RBY3RpdmVTeW5jcyhmaWdodE5vdyk7XHJcblxyXG4gICAgLy8gQ2xlYXIgYWxsIHRpbWVycyBleGNlcHQgYW55IHN5bnRoZXRpYyBkdXJhdGlvbiBldmVudHMuXHJcbiAgICAvLyBUaGlzIGlzIGJlY2F1c2UgaWYgdGhlIHN5bmMgZ29lcyBldmVuIGEgaGFpciBpbnRvIHRoZSBmdXR1cmUsIHRoZW5cclxuICAgIC8vIHRoZSBkdXJhdGlvbiBlbmRpbmcgZXZlbnQgd2lsbCBnZXQgZHJvcHBlZCBoZXJlLlxyXG5cclxuICAgIC8vIEZJWE1FOiB3ZSBjb3VsZCBiZSBzbWFydGVyIGhlcmUgYW5kIGtub3cgYWhlYWQgb2YgdGltZSB3aGVyZSBhbGwgdGhlIGR1cmF0aW9uXHJcbiAgICAvLyBldmVudHMgYXJlLCBzbyB0aGF0IHdlIGNvdWxkIHNraXAgYWhlYWQgaW50byB0aGUgZnV0dXJlIHdoZXJlIGEgZHVyYXRpb25cclxuICAgIC8vIGV2ZW50IGhhcyBzdGFydGVkIGJ1dCBub3QgZXhwaXJlZCBhbmQgaGF2ZSB0aGF0IHdvcmsgcHJvcGVybHkuXHJcbiAgICB0aGlzLl9BZGREdXJhdGlvblRpbWVycyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9DbGVhckV4Y2VwdFJ1bm5pbmdEdXJhdGlvblRpbWVycyhmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy5fQWRkVXBjb21pbmdUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQ2FuY2VsVXBkYXRlKCk7XHJcbiAgICB0aGlzLl9TY2hlZHVsZVVwZGF0ZShmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy51aT8uT25TeW5jVGltZShmaWdodE5vdywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTeW5jcyA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IHRoaXMubmV4dFN5bmNFbmQ7IGkgPCB0aGlzLnN5bmNFbmRzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IHN5bmNFbmQgPSB0aGlzLnN5bmNFbmRzW2ldO1xyXG4gICAgICBpZiAoc3luY0VuZCAmJiBzeW5jRW5kLnN0YXJ0IDw9IGZpZ2h0Tm93KVxyXG4gICAgICAgIHRoaXMuYWN0aXZlU3luY3MucHVzaChzeW5jRW5kKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPbkxvZ0xpbmUobGluZTogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IHN5bmMgb2YgdGhpcy5hY3RpdmVTeW5jcykge1xyXG4gICAgICBpZiAobGluZS5zZWFyY2goc3luYy5yZWdleCkgPj0gMCkge1xyXG4gICAgICAgIGlmICgnanVtcCcgaW4gc3luYykge1xyXG4gICAgICAgICAgaWYgKCFzeW5jLmp1bXApXHJcbiAgICAgICAgICAgIHRoaXMuU3RvcCgpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLlN5bmNUbyhzeW5jLmp1bXAsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5TeW5jVG8oc3luYy50aW1lLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBldmVudCA9IHRoaXMuZXZlbnRzW3RoaXMubmV4dEV2ZW50XTtcclxuICAgIHdoaWxlICh0aGlzLm5leHRFdmVudCA8IHRoaXMuZXZlbnRzLmxlbmd0aCAmJiBldmVudCAmJiBldmVudC50aW1lIDw9IGZpZ2h0Tm93KVxyXG4gICAgICBldmVudCA9IHRoaXMuZXZlbnRzWysrdGhpcy5uZXh0RXZlbnRdO1xyXG4gICAgbGV0IHRleHQgPSB0aGlzLnRleHRzW3RoaXMubmV4dFRleHRdO1xyXG4gICAgd2hpbGUgKHRoaXMubmV4dFRleHQgPCB0aGlzLnRleHRzLmxlbmd0aCAmJiB0ZXh0ICYmIHRleHQudGltZSA8PSBmaWdodE5vdylcclxuICAgICAgdGV4dCA9IHRoaXMudGV4dHNbKyt0aGlzLm5leHRUZXh0XTtcclxuICAgIGxldCBzeW5jU3RhcnQgPSB0aGlzLnN5bmNTdGFydHNbdGhpcy5uZXh0U3luY1N0YXJ0XTtcclxuICAgIHdoaWxlICh0aGlzLm5leHRTeW5jU3RhcnQgPCB0aGlzLnN5bmNTdGFydHMubGVuZ3RoICYmIHN5bmNTdGFydCAmJiBzeW5jU3RhcnQuc3RhcnQgPD0gZmlnaHROb3cpXHJcbiAgICAgIHN5bmNTdGFydCA9IHRoaXMuc3luY1N0YXJ0c1srK3RoaXMubmV4dFN5bmNTdGFydF07XHJcbiAgICBsZXQgc3luY0VuZCA9IHRoaXMuc3luY0VuZHNbdGhpcy5uZXh0U3luY0VuZF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0U3luY0VuZCA8IHRoaXMuc3luY0VuZHMubGVuZ3RoICYmIHN5bmNFbmQgJiYgc3luY0VuZC5lbmQgPD0gZmlnaHROb3cpXHJcbiAgICAgIHN5bmNFbmQgPSB0aGlzLnN5bmNFbmRzWysrdGhpcy5uZXh0U3luY0VuZF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9DbGVhclRpbWVycygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgYWN0aXZlRXZlbnQgb2YgdGhpcy5hY3RpdmVFdmVudHMpXHJcbiAgICAgIHRoaXMudWk/Lk9uUmVtb3ZlVGltZXIoYWN0aXZlRXZlbnQsIGZhbHNlKTtcclxuICAgIHRoaXMuYWN0aXZlRXZlbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9DbGVhckV4Y2VwdFJ1bm5pbmdEdXJhdGlvblRpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBkdXJhdGlvbkV2ZW50cyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmFjdGl2ZUV2ZW50cykge1xyXG4gICAgICBpZiAoZXZlbnQuaXNEdXIgJiYgZXZlbnQudGltZSA+IGZpZ2h0Tm93KSB7XHJcbiAgICAgICAgZHVyYXRpb25FdmVudHMucHVzaChldmVudCk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51aT8uT25SZW1vdmVUaW1lcihldmVudCwgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWN0aXZlRXZlbnRzID0gZHVyYXRpb25FdmVudHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9SZW1vdmVFeHBpcmVkVGltZXJzKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBhY3RpdmVFdmVudCA9IHRoaXMuYWN0aXZlRXZlbnRzWzBdO1xyXG4gICAgd2hpbGUgKHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aCAmJiBhY3RpdmVFdmVudCAmJiBhY3RpdmVFdmVudC50aW1lIDw9IGZpZ2h0Tm93KSB7XHJcbiAgICAgIHRoaXMudWk/Lk9uUmVtb3ZlVGltZXIoYWN0aXZlRXZlbnQsIHRydWUpO1xyXG4gICAgICB0aGlzLmFjdGl2ZUV2ZW50cy5zcGxpY2UoMCwgMSk7XHJcbiAgICAgIGFjdGl2ZUV2ZW50ID0gdGhpcy5hY3RpdmVFdmVudHNbMF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9BZGREdXJhdGlvblRpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBldmVudHMgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5hY3RpdmVFdmVudHMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgY29uc3QgZSA9IHRoaXMuYWN0aXZlRXZlbnRzW2ldO1xyXG4gICAgICBpZiAoZSAmJiBlLnRpbWUgPD0gZmlnaHROb3cgJiYgZS5kdXJhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uRXZlbnQ6IEV2ZW50ID0ge1xyXG4gICAgICAgICAgaWQ6IGUuaWQsXHJcbiAgICAgICAgICB0aW1lOiBlLnRpbWUgKyBlLmR1cmF0aW9uLFxyXG4gICAgICAgICAgc29ydEtleTogZS5zb3J0S2V5LFxyXG4gICAgICAgICAgbmFtZTogZS5uYW1lLFxyXG4gICAgICAgICAgdGV4dDogYCR7dGhpcy5hY3RpdmVUZXh0fSAke2UudGV4dH1gLFxyXG4gICAgICAgICAgaXNEdXI6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBldmVudHMucHVzaChkdXJhdGlvbkV2ZW50KTtcclxuICAgICAgICB0aGlzLmFjdGl2ZUV2ZW50cy5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgdGhpcy51aT8uT25BZGRUaW1lcihmaWdodE5vdywgZHVyYXRpb25FdmVudCwgdHJ1ZSk7XHJcbiAgICAgICAgLS1pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnRzLmxlbmd0aClcclxuICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5hY3RpdmVFdmVudHMsIGV2ZW50cyk7XHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIHJldHVybiBhLnRpbWUgLSBiLnRpbWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0FkZFVwY29taW5nVGltZXJzKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlIChcclxuICAgICAgdGhpcy5uZXh0RXZlbnQgPCB0aGlzLmV2ZW50cy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5hY3RpdmVFdmVudHMubGVuZ3RoIDwgdGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZSA9IHRoaXMuZXZlbnRzW3RoaXMubmV4dEV2ZW50XTtcclxuICAgICAgaWYgKCFlKVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAoZS50aW1lIC0gZmlnaHROb3cgPiB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcylcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKGZpZ2h0Tm93IDwgZS50aW1lICYmICEoZS5uYW1lIGluIHRoaXMuaWdub3JlcykpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZUV2ZW50cy5wdXNoKGUpO1xyXG4gICAgICAgIHRoaXMudWk/Lk9uQWRkVGltZXIoZmlnaHROb3csIGUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICArK3RoaXMubmV4dEV2ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWRkUGFzc2VkVGV4dHMoZmlnaHROb3c6IG51bWJlciwgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgd2hpbGUgKHRoaXMubmV4dFRleHQgPCB0aGlzLnRleHRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCB0ID0gdGhpcy50ZXh0c1t0aGlzLm5leHRUZXh0XTtcclxuICAgICAgaWYgKCF0KVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAodC50aW1lID4gZmlnaHROb3cpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGlmICh0LnR5cGUgPT09ICdpbmZvJylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dJbmZvVGV4dCh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAnYWxlcnQnKVxyXG4gICAgICAgIHRoaXMudWk/Lk9uU2hvd0FsZXJ0VGV4dCh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAnYWxhcm0nKVxyXG4gICAgICAgIHRoaXMudWk/Lk9uU2hvd0FsYXJtVGV4dCh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAndHRzJylcclxuICAgICAgICB0aGlzLnVpPy5PblNwZWFrVFRTKHQudGV4dCwgY3VycmVudFRpbWUpO1xyXG4gICAgICBlbHNlIGlmICh0LnR5cGUgPT09ICd0cmlnZ2VyJylcclxuICAgICAgICB0aGlzLnVpPy5PblRyaWdnZXIodC50cmlnZ2VyLCB0Lm1hdGNoZXMsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgKyt0aGlzLm5leHRUZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2FuY2VsVXBkYXRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXBkYXRlVGltZXIpIHtcclxuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVyKTtcclxuICAgICAgdGhpcy51cGRhdGVUaW1lciA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX1NjaGVkdWxlVXBkYXRlKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMudGltZWJhc2UsICdfU2NoZWR1bGVVcGRhdGUgY2FsbGVkIHdoaWxlIHN0b3BwZWQnKTtcclxuXHJcbiAgICBsZXQgbmV4dEV2ZW50U3RhcnRpbmcgPSBrQmlnO1xyXG4gICAgbGV0IG5leHRUZXh0T2NjdXJzID0ga0JpZztcclxuICAgIGxldCBuZXh0RXZlbnRFbmRpbmcgPSBrQmlnO1xyXG4gICAgbGV0IG5leHRTeW5jU3RhcnRpbmcgPSBrQmlnO1xyXG4gICAgbGV0IG5leHRTeW5jRW5kaW5nID0ga0JpZztcclxuXHJcbiAgICBpZiAodGhpcy5uZXh0RXZlbnQgPCB0aGlzLmV2ZW50cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgbmV4dEV2ZW50ID0gdGhpcy5ldmVudHNbdGhpcy5uZXh0RXZlbnRdO1xyXG4gICAgICBpZiAobmV4dEV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbmV4dEV2ZW50RW5kc0F0ID0gbmV4dEV2ZW50LnRpbWU7XHJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoXHJcbiAgICAgICAgICBuZXh0RXZlbnRTdGFydGluZyA+IGZpZ2h0Tm93LFxyXG4gICAgICAgICAgJ25leHRFdmVudCB3YXNuXFwndCB1cGRhdGVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyBUaGVyZSBtaWdodCBiZSBtb3JlIGV2ZW50cyB0aGFuIHdlIGNhbiBzaG93LCBzbyB0aGUgbmV4dCBldmVudCBtaWdodCBiZSBpblxyXG4gICAgICAgIC8vIHRoZSBwYXN0LiBJZiB0aGF0IGhhcHBlbnMsIHRoZW4gaWdub3JlIGl0LCBhcyB3ZSBjYW4ndCB1c2UgdGhhdCBmb3Igb3VyIHRpbWVyLlxyXG4gICAgICAgIGNvbnN0IHNob3dOZXh0RXZlbnRBdCA9IG5leHRFdmVudEVuZHNBdCAtIHRoaXMub3B0aW9ucy5TaG93VGltZXJCYXJzQXRTZWNvbmRzO1xyXG4gICAgICAgIGlmIChzaG93TmV4dEV2ZW50QXQgPiBmaWdodE5vdylcclxuICAgICAgICAgIG5leHRFdmVudFN0YXJ0aW5nID0gc2hvd05leHRFdmVudEF0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXh0VGV4dCA8IHRoaXMudGV4dHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5leHRUZXh0ID0gdGhpcy50ZXh0c1t0aGlzLm5leHRUZXh0XTtcclxuICAgICAgaWYgKG5leHRUZXh0KSB7XHJcbiAgICAgICAgbmV4dFRleHRPY2N1cnMgPSBuZXh0VGV4dC50aW1lO1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dFRleHRPY2N1cnMgPiBmaWdodE5vdyxcclxuICAgICAgICAgICduZXh0VGV4dCB3YXNuXFwndCB1cGRhdGVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgYWN0aXZlRXZlbnQgPSB0aGlzLmFjdGl2ZUV2ZW50c1swXTtcclxuICAgICAgaWYgKGFjdGl2ZUV2ZW50KSB7XHJcbiAgICAgICAgbmV4dEV2ZW50RW5kaW5nID0gYWN0aXZlRXZlbnQudGltZTtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRFdmVudEVuZGluZyA+IGZpZ2h0Tm93LFxyXG4gICAgICAgICAgJ0V4cGlyZWQgYWN0aXZlRXZlbnRzIHdlcmVuXFwndCBwcnVuZWQgYmVmb3JlIGNhbGxpbmcgX1NjaGVkdWxlVXBkYXRlJyxcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXh0U3luY1N0YXJ0IDwgdGhpcy5zeW5jU3RhcnRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBzeW5jU3RhcnRzID0gdGhpcy5zeW5jU3RhcnRzW3RoaXMubmV4dFN5bmNTdGFydF07XHJcbiAgICAgIGlmIChzeW5jU3RhcnRzKSB7XHJcbiAgICAgICAgbmV4dFN5bmNTdGFydGluZyA9IHN5bmNTdGFydHMuc3RhcnQ7XHJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoXHJcbiAgICAgICAgICBuZXh0U3luY1N0YXJ0aW5nID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFN5bmNTdGFydCB3YXNuXFwndCB1cGRhdGVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFN5bmNFbmQgPCB0aGlzLnN5bmNFbmRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBzeW5jRW5kcyA9IHRoaXMuc3luY0VuZHNbdGhpcy5uZXh0U3luY0VuZF07XHJcbiAgICAgIGlmIChzeW5jRW5kcykge1xyXG4gICAgICAgIG5leHRTeW5jRW5kaW5nID0gc3luY0VuZHMuZW5kO1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dFN5bmNFbmRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICduZXh0U3luY0VuZCB3YXNuXFwndCB1cGRhdGVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5leHRUaW1lID0gTWF0aC5taW4oXHJcbiAgICAgIG5leHRFdmVudFN0YXJ0aW5nLFxyXG4gICAgICBuZXh0RXZlbnRFbmRpbmcsXHJcbiAgICAgIG5leHRUZXh0T2NjdXJzLFxyXG4gICAgICBuZXh0U3luY1N0YXJ0aW5nLFxyXG4gICAgICBuZXh0U3luY0VuZGluZyxcclxuICAgICk7XHJcbiAgICBpZiAobmV4dFRpbWUgIT09IGtCaWcpIHtcclxuICAgICAgY29uc29sZS5hc3NlcnQobmV4dFRpbWUgPiBmaWdodE5vdywgJ25leHRUaW1lIGlzIGluIHRoZSBwYXN0Jyk7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9PblVwZGF0ZVRpbWVyKERhdGUubm93KCkpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKG5leHRUaW1lIC0gZmlnaHROb3cpICogMTAwMCxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBfT25VcGRhdGVUaW1lcihjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnRpbWViYXNlLCAnX09uVGltZXJVcGRhdGUgY2FsbGVkIHdoaWxlIHN0b3BwZWQnKTtcclxuXHJcbiAgICAvLyBUaGlzIGlzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBpbnRvIHRoZSBmaWdodCAoc3VidHJhY3RpbmcgRGF0ZXMgZ2l2ZXMgbWlsbGlzZWNvbmRzKS5cclxuICAgIGNvbnN0IGZpZ2h0Tm93ID0gKGN1cnJlbnRUaW1lIC0gdGhpcy50aW1lYmFzZSkgLyAxMDAwO1xyXG4gICAgLy8gU2VuZCB0ZXh0IGV2ZW50cyBub3cgb3IgdGhleSdkIGJlIHNraXBwZWQgYnkgX0FkdmFuY2VUaW1lVG8oKS5cclxuICAgIHRoaXMuX0FkZFBhc3NlZFRleHRzKGZpZ2h0Tm93LCBjdXJyZW50VGltZSk7XHJcbiAgICB0aGlzLl9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NvbGxlY3RBY3RpdmVTeW5jcyhmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy5fQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fUmVtb3ZlRXhwaXJlZFRpbWVycyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9BZGRVcGNvbWluZ1RpbWVycyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9TY2hlZHVsZVVwZGF0ZShmaWdodE5vdyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVVSSB7XHJcbiAgcHJpdmF0ZSBpbml0OiBib29sZWFuO1xyXG4gIHByaXZhdGUgbGFuZzogTGFuZztcclxuXHJcbiAgcHJpdmF0ZSByb290OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgYmFyQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgYmFyRXhwaXJlc1Nvb25Db2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSB0aW1lcmxpc3Q6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlQmFyczogeyBbYWN0aXZlYmFyOiBzdHJpbmddOiBUaW1lckJhciB9ID0ge307XHJcbiAgcHJpdmF0ZSBleHBpcmVUaW1lcnM6IHsgW2V4cGlyZVRpbWVyOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICBwcml2YXRlIGRlYnVnRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGRlYnVnRmlnaHRUaW1lcjogVGltZXJCYXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJvdGVjdGVkIHRpbWVsaW5lOiBUaW1lbGluZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHBvcHVwVGV4dD86IFBvcHVwVGV4dEdlbmVyYXRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMuaW5pdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5sYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICB0aGlzLkFkZERlYnVnSW5zdHJ1Y3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmluaXQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMuaW5pdCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5yb290ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lLWNvbnRhaW5lcicpO1xyXG4gICAgaWYgKCF0aGlzLnJvb3QpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2FuXFwndCBmaW5kIHRpbWVsaW5lLWNvbnRhaW5lcicpO1xyXG5cclxuICAgIC8vIFRPRE86IGxlZnQgZm9yIG5vdyBhcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHVzZXIgY3NzLiAgUmVtb3ZlIHRoaXMgbGF0ZXI/P1xyXG4gICAgdGhpcy5yb290LmNsYXNzTGlzdC5hZGQoYGxhbmctJHt0aGlzLmxhbmd9YCk7XHJcbiAgICB0aGlzLnJvb3QubGFuZyA9IGxhbmdUb0xvY2FsZSh0aGlzLmxhbmcpO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5Ta2luKVxyXG4gICAgICB0aGlzLnJvb3QuY2xhc3NMaXN0LmFkZChgc2tpbi0ke3RoaXMub3B0aW9ucy5Ta2lufWApO1xyXG5cclxuICAgIHRoaXMuYmFyQ29sb3IgPSBjb21wdXRlQmFja2dyb3VuZENvbG9yRnJvbSh0aGlzLnJvb3QsICd0aW1lbGluZS1iYXItY29sb3InKTtcclxuICAgIHRoaXMuYmFyRXhwaXJlc1Nvb25Db2xvciA9IGNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tKHRoaXMucm9vdCwgJ3RpbWVsaW5lLWJhci1jb2xvci5zb29uJyk7XHJcblxyXG4gICAgdGhpcy50aW1lcmxpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZWxpbmUnKTtcclxuICAgIGlmICh0aGlzLnRpbWVybGlzdCkge1xyXG4gICAgICB0aGlzLnRpbWVybGlzdC5zdHlsZS5ncmlkVGVtcGxhdGVSb3dzID1cclxuICAgICAgICBgcmVwZWF0KCR7dGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzfSwgbWluLWNvbnRlbnQpYDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUJhcnMgPSB7fTtcclxuICAgIHRoaXMuZXhwaXJlVGltZXJzID0ge307XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgQWRkRGVidWdJbnN0cnVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsYW5nID0gdGhpcy5sYW5nIGluIHRpbWVsaW5lSW5zdHJ1Y3Rpb25zID8gdGhpcy5sYW5nIDogJ2VuJztcclxuICAgIGNvbnN0IGluc3RydWN0aW9ucyA9IHRpbWVsaW5lSW5zdHJ1Y3Rpb25zW2xhbmddO1xyXG5cclxuICAgIC8vIEhlbHBlciBmb3IgcG9zaXRpb25pbmcvcmVzaXppbmcgd2hlbiBsb2NrZWQuXHJcbiAgICBjb25zdCBoZWxwZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZWxpbmUtcmVzaXplLWhlbHBlcicpO1xyXG4gICAgaWYgKCFoZWxwZXIpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IHJvd3MgPSBNYXRoLm1heCg2LCB0aGlzLm9wdGlvbnMuTWF4TnVtYmVyT2ZUaW1lckJhcnMpO1xyXG4gICAgaGVscGVyLnN0eWxlLmdyaWRUZW1wbGF0ZVJvd3MgPSBgcmVwZWF0KCR7cm93c30sIDFmcilgO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzOyArK2kpIHtcclxuICAgICAgY29uc3QgaGVscGVyQmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGlmICghaGVscGVyQmFyKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBoZWxwZXJCYXIuY2xhc3NMaXN0LmFkZCgndGV4dCcpO1xyXG4gICAgICBoZWxwZXJCYXIuY2xhc3NMaXN0LmFkZCgncmVzaXplLWhlbHBlci1iYXInKTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLWJhci1jb2xvcicpO1xyXG4gICAgICBpZiAoaSA8IDEpXHJcbiAgICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3Nvb24nKTtcclxuICAgICAgaWYgKGkgPCBpbnN0cnVjdGlvbnMubGVuZ3RoKVxyXG4gICAgICAgIGhlbHBlckJhci5pbm5lclRleHQgPSBpbnN0cnVjdGlvbnNbaV0gPz8gJyc7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBoZWxwZXJCYXIuaW5uZXJUZXh0ID0gYCR7aSArIDF9YDtcclxuICAgICAgaGVscGVyLmFwcGVuZENoaWxkKGhlbHBlckJhcik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIHNpbXBsaWNpdHkgaW4gY29kZSwgYWx3YXlzIG1ha2UgZGVidWdFbGVtZW50IHZhbGlkLFxyXG4gICAgLy8gaG93ZXZlciBpdCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcmFpZCBlbXVsYXRvci5cclxuICAgIHRoaXMuZGVidWdFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lLWRlYnVnJyk7XHJcbiAgICBpZiAoIXRoaXMuZGVidWdFbGVtZW50KVxyXG4gICAgICB0aGlzLmRlYnVnRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFBvcHVwVGV4dEludGVyZmFjZShwb3B1cFRleHQ6IFBvcHVwVGV4dEdlbmVyYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy5wb3B1cFRleHQgPSBwb3B1cFRleHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0VGltZWxpbmUodGltZWxpbmU6IFRpbWVsaW5lIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5Jbml0KCk7XHJcbiAgICBpZiAodGhpcy50aW1lbGluZSkge1xyXG4gICAgICBkZWxldGUgdGhpcy50aW1lbGluZS51aTtcclxuICAgICAgd2hpbGUgKHRoaXMudGltZXJsaXN0ICYmIHRoaXMudGltZXJsaXN0Lmxhc3RDaGlsZClcclxuICAgICAgICB0aGlzLnRpbWVybGlzdC5yZW1vdmVDaGlsZCh0aGlzLnRpbWVybGlzdC5sYXN0Q2hpbGQpO1xyXG4gICAgICBpZiAodGhpcy5kZWJ1Z0VsZW1lbnQpXHJcbiAgICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQuaW5uZXJIVE1MID0gJyc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyID0gbnVsbDtcclxuICAgICAgdGhpcy5hY3RpdmVCYXJzID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aW1lbGluZSA9IHRpbWVsaW5lO1xyXG4gICAgaWYgKHRoaXMudGltZWxpbmUpXHJcbiAgICAgIHRoaXMudGltZWxpbmUudWkgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uQWRkVGltZXIoZmlnaHROb3c6IG51bWJlciwgZTogRXZlbnQsIGNoYW5uZWxpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29uc3QgYmFyID0gVGltZXJCYXIuY3JlYXRlKCk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndGltZXItYmFyJyk7XHJcbiAgICBkaXYuYXBwZW5kQ2hpbGQoYmFyKTtcclxuICAgIGJhci5kdXJhdGlvbiA9IGNoYW5uZWxpbmcgPyBlLnRpbWUgLSBmaWdodE5vdyA6IHRoaXMub3B0aW9ucy5TaG93VGltZXJCYXJzQXRTZWNvbmRzO1xyXG4gICAgYmFyLnZhbHVlID0gZS50aW1lIC0gZmlnaHROb3c7XHJcbiAgICBiYXIucmlnaHR0ZXh0ID0gJ3JlbWFpbic7XHJcbiAgICBiYXIubGVmdHRleHQgPSBlLnRleHQ7XHJcbiAgICBiYXIudG93YXJkID0gJ3JpZ2h0JztcclxuICAgIGJhci5zdHlsZWZpbGwgPSAhY2hhbm5lbGluZyA/ICdmaWxsJyA6ICdlbXB0eSc7XHJcblxyXG4gICAgaWYgKGUuc3R5bGUpXHJcbiAgICAgIGJhci5hcHBseVN0eWxlcyhlLnN0eWxlKTtcclxuXHJcbiAgICBpZiAoIWNoYW5uZWxpbmcgJiYgZS50aW1lIC0gZmlnaHROb3cgPiB0aGlzLm9wdGlvbnMuQmFyRXhwaXJlc1Nvb25TZWNvbmRzKSB7XHJcbiAgICAgIGJhci5mZyA9IHRoaXMuYmFyQ29sb3I7XHJcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KFxyXG4gICAgICAgIHRoaXMuT25UaW1lckV4cGlyZXNTb29uLmJpbmQodGhpcywgZS5pZCksXHJcbiAgICAgICAgKGUudGltZSAtIGZpZ2h0Tm93IC0gdGhpcy5vcHRpb25zLkJhckV4cGlyZXNTb29uU2Vjb25kcykgKiAxMDAwLFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYmFyLmZnID0gdGhpcy5iYXJFeHBpcmVzU29vbkNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZGluZyBhIHRpbWVyIHdpdGggdGhlIHNhbWUgaWQgaW1tZWRpYXRlbHkgcmVtb3ZlcyB0aGUgcHJldmlvdXMuXHJcbiAgICBjb25zdCBhY3RpdmVCYXIgPSB0aGlzLmFjdGl2ZUJhcnNbZS5pZF07XHJcbiAgICBpZiAoYWN0aXZlQmFyKSB7XHJcbiAgICAgIGNvbnN0IGRpdiA9IGFjdGl2ZUJhci5wYXJlbnROb2RlO1xyXG4gICAgICBkaXY/LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKGRpdik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGUuc29ydEtleSlcclxuICAgICAgZGl2LnN0eWxlLm9yZGVyID0gZS5zb3J0S2V5LnRvU3RyaW5nKCk7XHJcbiAgICBkaXYuaWQgPSBlLmlkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLnRpbWVybGlzdD8uYXBwZW5kQ2hpbGQoZGl2KTtcclxuICAgIHRoaXMuYWN0aXZlQmFyc1tlLmlkXSA9IGJhcjtcclxuICAgIGlmIChlLmlkIGluIHRoaXMuZXhwaXJlVGltZXJzKSB7XHJcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5leHBpcmVUaW1lcnNbZS5pZF0pO1xyXG4gICAgICBkZWxldGUgdGhpcy5leHBpcmVUaW1lcnNbZS5pZF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25UaW1lckV4cGlyZXNTb29uKGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGJhciA9IHRoaXMuYWN0aXZlQmFyc1tpZF07XHJcbiAgICBpZiAoYmFyKVxyXG4gICAgICBiYXIuZmcgPSB0aGlzLmJhckV4cGlyZXNTb29uQ29sb3I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25SZW1vdmVUaW1lcihlOiBFdmVudCwgZXhwaXJlZDogYm9vbGVhbiwgZm9yY2UgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKCFmb3JjZSAmJiBleHBpcmVkICYmIHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMpIHtcclxuICAgICAgdGhpcy5leHBpcmVUaW1lcnNbZS5pZF0gPSB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgICB0aGlzLk9uUmVtb3ZlVGltZXIuYmluZCh0aGlzLCBlLCBmYWxzZSksXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLktlZXBFeHBpcmVkVGltZXJCYXJzRm9yU2Vjb25kcyAqIDEwMDAsXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSBpZiAoZS5pZCBpbiB0aGlzLmV4cGlyZVRpbWVycykge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdKTtcclxuICAgICAgZGVsZXRlIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJhciA9IHRoaXMuYWN0aXZlQmFyc1tlLmlkXTtcclxuICAgIGlmICghYmFyKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZGl2ID0gYmFyLnBhcmVudE5vZGU7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5pZC50b1N0cmluZygpKTtcclxuICAgIGlmICghZWxlbWVudClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHJlbW92ZUJhciA9ICgpID0+IHtcclxuICAgICAgZGl2Py5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgICBkZWxldGUgdGhpcy5hY3RpdmVCYXJzW2UuaWRdO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWZvcmNlKVxyXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2FuaW1hdGUtdGltZXItYmFyLXJlbW92ZWQnKTtcclxuICAgIGlmICh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5hbmltYXRpb25OYW1lICE9PSAnbm9uZScpIHtcclxuICAgICAgLy8gV2FpdCBmb3IgYW5pbWF0aW9uIHRvIGZpbmlzaFxyXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHJlbW92ZUJhcik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZW1vdmVCYXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPblNob3dJbmZvVGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuSW5mbyh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TaG93QWxlcnRUZXh0KHRleHQ6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wdXBUZXh0KVxyXG4gICAgICB0aGlzLnBvcHVwVGV4dC5BbGVydCh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TaG93QWxhcm1UZXh0KHRleHQ6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wdXBUZXh0KVxyXG4gICAgICB0aGlzLnBvcHVwVGV4dC5BbGFybSh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TcGVha1RUUyh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuVFRTKHRleHQsIGN1cnJlbnRUaW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPblRyaWdnZXIoXHJcbiAgICB0cmlnZ2VyOiBMb29zZVRpbWVsaW5lVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsXHJcbiAgICBjdXJyZW50VGltZTogbnVtYmVyLFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucG9wdXBUZXh0KVxyXG4gICAgICB0aGlzLnBvcHVwVGV4dC5UcmlnZ2VyKHRyaWdnZXIsIG1hdGNoZXMsIGN1cnJlbnRUaW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPblN5bmNUaW1lKGZpZ2h0Tm93OiBudW1iZXIsIHJ1bm5pbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLkRlYnVnIHx8ICF0aGlzLmRlYnVnRWxlbWVudClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghcnVubmluZykge1xyXG4gICAgICBpZiAodGhpcy5kZWJ1Z0ZpZ2h0VGltZXIpXHJcbiAgICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5kZWJ1Z0ZpZ2h0VGltZXIpO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZGVidWdGaWdodFRpbWVyKSB7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyID0gVGltZXJCYXIuY3JlYXRlKCk7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLndpZHRoID0gJzEwMHB4JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuaGVpZ2h0ID0gJzE3cHgnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5kdXJhdGlvbiA9IGtCaWc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmxlZnR0ZXh0ID0gJ2VsYXBzZWQnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci50b3dhcmQgPSAncmlnaHQnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5zdHlsZWZpbGwgPSAnZmlsbCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmJnID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuZmcgPSAndHJhbnNwYXJlbnQnO1xyXG4gICAgICB0aGlzLmRlYnVnRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmRlYnVnRmlnaHRUaW1lcik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yY2UgdGhpcyB0byBiZSByZXNldC5cclxuICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmVsYXBzZWQgPSAwO1xyXG4gICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuZWxhcHNlZCA9IGZpZ2h0Tm93O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lQ29udHJvbGxlciB7XHJcbiAgcHJvdGVjdGVkIHRpbWVsaW5lczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cclxuICBwcml2YXRlIHN1cHByZXNzTmV4dEVuZ2FnZTogYm9vbGVhbjtcclxuICBwcml2YXRlIHdpcGVSZWdleDogQ2FjdGJvdEJhc2VSZWdFeHA8J0FjdG9yQ29udHJvbCc+O1xyXG4gIHByb3RlY3RlZCBhY3RpdmVUaW1lbGluZTogVGltZWxpbmUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgcHJvdGVjdGVkIHVpOiBUaW1lbGluZVVJLFxyXG4gICAgcmFpZGJvc3NEYXRhRmlsZXM6IFJhaWRib3NzRmlsZURhdGEsXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgdGhpcy51aSA9IHVpO1xyXG5cclxuICAgIHRoaXMudGltZWxpbmVzID0ge307XHJcbiAgICBmb3IgKGNvbnN0IFtmaWxlbmFtZSwgZmlsZV0gb2YgT2JqZWN0LmVudHJpZXMocmFpZGJvc3NEYXRhRmlsZXMpKSB7XHJcbiAgICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy50eHQnKSB8fCB0eXBlb2YgZmlsZSAhPT0gJ3N0cmluZycpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIHRoaXMudGltZWxpbmVzW2ZpbGVuYW1lXSA9IGZpbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXNlZCB0byBzdXBwcmVzcyBhbnkgRW5nYWdlISBpZiB0aGVyZSdzIGEgd2lwZSBiZXR3ZWVuIC9jb3VudGRvd24gYW5kIEVuZ2FnZSEuXHJcbiAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IGZhbHNlO1xyXG4gICAgdGhpcy53aXBlUmVnZXggPSBOZXRSZWdleGVzLm5ldHdvcms2ZCh7IGNvbW1hbmQ6ICc0MDAwMDAxMCcgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0UG9wdXBUZXh0SW50ZXJmYWNlKHBvcHVwVGV4dDogUG9wdXBUZXh0R2VuZXJhdG9yKTogdm9pZCB7XHJcbiAgICB0aGlzLnVpLlNldFBvcHVwVGV4dEludGVyZmFjZShwb3B1cFRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldEluQ29tYmF0KGluQ29tYmF0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvLyBXaXBlIGxpbmVzIGNvbWUgYmVmb3JlIGNvbWJhdCBpcyBmYWxzZSwgYnV0IGJlY2F1c2UgT25Mb2dFdmVudCBkb2Vzbid0IHByb2Nlc3NcclxuICAgIC8vIGxpbmVzIHdoZW4gb3V0IG9mIGNvbWJhdCwgc3VwcHJlc3MgYW55IGVuZ2FnZXMgdGhhdCBjb21lIGJlZm9yZSB0aGUgbmV4dCBjb3VudGRvd25cclxuICAgIC8vIGp1c3QgYXMgYSBzYWZldHksIGVzcGVjaWFsbHkgZm9yIG9sZCBBUlIgY29udGVudCB3aGVyZSB3aXBlIGxpbmVzIGRvbid0IGhhcHBlbi5cclxuICAgIGlmICghaW5Db21iYXQpXHJcbiAgICAgIHRoaXMuc3VwcHJlc3NOZXh0RW5nYWdlID0gdHJ1ZTtcclxuICAgIGlmICghaW5Db21iYXQgJiYgdGhpcy5hY3RpdmVUaW1lbGluZSlcclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5TdG9wKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25Mb2dFdmVudChlOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZVRpbWVsaW5lKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpO1xyXG5cclxuICAgIGZvciAoY29uc3QgbG9nIG9mIGUuZGV0YWlsLmxvZ3MpIHtcclxuICAgICAgaWYgKExvY2FsZVJlZ2V4LmNvdW50ZG93blN0YXJ0W3RoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZV0udGVzdChsb2cpKSB7XHJcbiAgICAgICAgLy8gQXMgeW91IGNhbid0IHN0YXJ0IGEgY291bnRkb3duIHdoaWxlIGluIGNvbWJhdCwgdGhlIG5leHQgZW5nYWdlIGlzIHJlYWwuXHJcbiAgICAgICAgdGhpcy5zdXBwcmVzc05leHRFbmdhZ2UgPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmIChMb2NhbGVSZWdleC5jb3VudGRvd25FbmdhZ2VbdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlXS50ZXN0KGxvZykpIHtcclxuICAgICAgICAvLyBJZiB3ZSBzZWUgYW4gZW5nYWdlIGFmdGVyIGEgd2lwZSwgYnV0IGJlZm9yZSBjb21iYXQgaGFzIHN0YXJ0ZWQgb3RoZXJ3aXNlXHJcbiAgICAgICAgLy8gKGUuZy4gY291bnRkb3duID4gd2lwZSA+IGZhY2UgcHVsbCA+IGVuZ2FnZSksIGRvbid0IHByb2Nlc3MgdGhpcyBlbmdhZ2UgbGluZVxyXG4gICAgICAgIGlmICh0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMud2lwZVJlZ2V4LnRlc3QobG9nKSkge1xyXG4gICAgICAgIC8vIElmIHdlIHNlZSBhIHdpcGUsIGlnbm9yZSB0aGUgbmV4dCBlbmdhZ2UuICBJZiB3ZSBzZWUgYSBjb3VudGRvd24gYmVmb3JlIHRoYXQgd2lwZSxcclxuICAgICAgICAvLyB3ZSB3aWxsIGNsZWFyIHRoaXMuICBUaGVyZWZvcmUsIHRoaXMgd2lsbCBvbmx5IGFwcGx5IHRvIGFjdGl2ZSBjb3VudGRvd25zLlxyXG4gICAgICAgIHRoaXMuc3VwcHJlc3NOZXh0RW5nYWdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lLk9uTG9nTGluZShsb2csIGN1cnJlbnRUaW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRBY3RpdmVUaW1lbGluZShcclxuICAgIHRpbWVsaW5lRmlsZXM6IHN0cmluZ1tdLFxyXG4gICAgdGltZWxpbmVzOiBzdHJpbmdbXSxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSxcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUaW1lbGluZSA9IG51bGw7XHJcblxyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBHZXQgdGhlIHRleHQgZnJvbSBlYWNoIGZpbGUgaW4gfHRpbWVsaW5lRmlsZXN8LlxyXG4gICAgZm9yIChjb25zdCB0aW1lbGluZUZpbGUgb2YgdGltZWxpbmVGaWxlcykge1xyXG4gICAgICBjb25zdCBuYW1lID0gdGhpcy50aW1lbGluZXNbdGltZWxpbmVGaWxlXTtcclxuICAgICAgaWYgKG5hbWUpXHJcbiAgICAgICAgdGV4dCA9IGAke3RleHR9XFxuJHtuYW1lfWA7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBjb25zb2xlLmxvZyhgVGltZWxpbmUgZmlsZSBub3QgZm91bmQ6ICR7dGltZWxpbmVGaWxlfWApO1xyXG4gICAgfVxyXG4gICAgLy8gQXBwZW5kIHRleHQgZnJvbSBlYWNoIGJsb2NrIGluIHx0aW1lbGluZXN8LlxyXG4gICAgZm9yIChjb25zdCB0aW1lbGluZSBvZiB0aW1lbGluZXMpXHJcbiAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7dGltZWxpbmV9YDtcclxuXHJcbiAgICBpZiAodGV4dCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lID0gbmV3IFRpbWVsaW5lKFxyXG4gICAgICAgIHRleHQsXHJcbiAgICAgICAgcmVwbGFjZW1lbnRzLFxyXG4gICAgICAgIHRyaWdnZXJzLFxyXG4gICAgICAgIHN0eWxlcyxcclxuICAgICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgICAgem9uZUlkLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy51aS5TZXRUaW1lbGluZSh0aGlzLmFjdGl2ZVRpbWVsaW5lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc1JlYWR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGltZWxpbmVzICE9PSBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lTG9hZGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpbWVsaW5lQ29udHJvbGxlcjogVGltZWxpbmVDb250cm9sbGVyKSB7XHJcbiAgICB0aGlzLnRpbWVsaW5lQ29udHJvbGxlciA9IHRpbWVsaW5lQ29udHJvbGxlcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRUaW1lbGluZXMoXHJcbiAgICB0aW1lbGluZUZpbGVzOiBzdHJpbmdbXSxcclxuICAgIHRpbWVsaW5lczogc3RyaW5nW10sXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICB6b25lSWQ6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWxpbmVDb250cm9sbGVyLlNldEFjdGl2ZVRpbWVsaW5lKFxyXG4gICAgICB0aW1lbGluZUZpbGVzLFxyXG4gICAgICB0aW1lbGluZXMsXHJcbiAgICAgIHJlcGxhY2VtZW50cyxcclxuICAgICAgdHJpZ2dlcnMsXHJcbiAgICAgIHN0eWxlcyxcclxuICAgICAgem9uZUlkLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc1JlYWR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGltZWxpbmVDb250cm9sbGVyLklzUmVhZHkoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTdG9wQ29tYmF0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aW1lbGluZUNvbnRyb2xsZXIuU2V0SW5Db21iYXQoZmFsc2UpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmUgfSBmcm9tICcuLi8uLi90aW1lbGluZSc7XHJcbmltcG9ydCB7IFRpbWVsaW5lUmVwbGFjZW1lbnQsIFRpbWVsaW5lU3R5bGUgfSBmcm9tICcuLi8uLi90aW1lbGluZV9wYXJzZXInO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yIGZyb20gJy4uL2RhdGEvUmFpZEVtdWxhdG9yJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhaWRFbXVsYXRvclRpbWVsaW5lIGV4dGVuZHMgVGltZWxpbmUge1xyXG4gIGVtdWxhdGVkU3RhdHVzID0gJ3BhdXNlJztcclxuICBlbXVsYXRvcj86IFJhaWRFbXVsYXRvcjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSxcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICkge1xyXG4gICAgc3VwZXIodGV4dCwgcmVwbGFjZW1lbnRzLCB0cmlnZ2Vycywgc3R5bGVzLCBvcHRpb25zLCB6b25lSWQpO1xyXG4gIH1cclxuXHJcbiAgYmluZFRvKGVtdWxhdG9yOiBSYWlkRW11bGF0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMuZW11bGF0b3IgPSBlbXVsYXRvcjtcclxuICAgIGVtdWxhdG9yLm9uKCdwbGF5JywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtdWxhdGVkU3RhdHVzID0gJ3BsYXknO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncGF1c2UnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZW11bGF0ZWRTdGF0dXMgPSAncGF1c2UnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlbXVsYXRlZFN5bmMoY3VycmVudExvZ1RpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKCFjdXJyZW50TG9nVGltZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIC8vIFRoaXMgaXMgYSBiaXQgY29tcGxpY2F0ZWQgZHVlIHRvIGp1bXBzIGluIHRpbWVsaW5lcy4gSWYgd2UndmUgYWxyZWFkeSBnb3QgYSB0aW1lYmFzZSxcclxuICAgIC8vIGZpZ2h0Tm93IG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWQgYmFzZWQgb2ZmIG9mIHRoYXQgaW5zdGVhZCBvZiBpbml0aWFsT2Zmc2V0XHJcbiAgICAvLyB0aW1lYmFzZSA9IDAgd2hlbiBub3Qgc2V0XHJcbiAgICBjb25zdCBiYXNlVGltZXN0YW1wID0gdGhpcy50aW1lYmFzZSB8fFxyXG4gICAgICB0aGlzLmVtdWxhdG9yPy5jdXJyZW50RW5jb3VudGVyPy5lbmNvdW50ZXI/LmluaXRpYWxUaW1lc3RhbXAgfHxcclxuICAgICAgY3VycmVudExvZ1RpbWU7XHJcbiAgICBjb25zdCBmaWdodE5vdyA9IChjdXJyZW50TG9nVGltZSAtIGJhc2VUaW1lc3RhbXApIC8gMTAwMDtcclxuXHJcbiAgICB0aGlzLlN5bmNUbyhmaWdodE5vdywgY3VycmVudExvZ1RpbWUpO1xyXG4gICAgdGhpcy5fT25VcGRhdGVUaW1lcihjdXJyZW50TG9nVGltZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfU2NoZWR1bGVVcGRhdGUoX2ZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIE92ZXJyaWRlXHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3VpL3JhaWRib3NzL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVVJIH0gZnJvbSAnLi4vLi4vdGltZWxpbmUnO1xyXG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4uLy4uL3RpbWVsaW5lX3BhcnNlcic7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5cclxuaW1wb3J0IFJhaWRFbXVsYXRvclRpbWVsaW5lIGZyb20gJy4vUmFpZEVtdWxhdG9yVGltZWxpbmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbXVsYXRvclRpbWVyQmFyIHtcclxuICAkcHJvZ3Jlc3M6IEhUTUxFbGVtZW50O1xyXG4gICRiYXI6IEhUTUxEaXZFbGVtZW50O1xyXG4gICRsZWZ0TGFiZWw6IEhUTUxFbGVtZW50O1xyXG4gICRyaWdodExhYmVsOiBIVE1MRWxlbWVudDtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIHN0eWxlOiAnZmlsbCcgfCAnZW1wdHknO1xyXG4gIGR1cmF0aW9uOiBudW1iZXI7XHJcbiAgZXZlbnQ6IEV2ZW50O1xyXG4gIGZvcmNlUmVtb3ZlQXQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFpZEVtdWxhdG9yVGltZWxpbmVVSSBleHRlbmRzIFRpbWVsaW5lVUkge1xyXG4gIGVtdWxhdGVkVGltZXJCYXJzOiBFbXVsYXRvclRpbWVyQmFyW10gPSBbXTtcclxuICBlbXVsYXRlZFN0YXR1cyA9ICdwYXVzZSc7XHJcbiAgJGJhckNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgJHByb2dyZXNzVGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudGltZXItYmFyLWNvbnRhaW5lcicpO1xyXG4gICAgaWYgKCEoY29udGFpbmVyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLiRiYXJDb250YWluZXIgPSBjb250YWluZXI7XHJcbiAgICBjb25zdCBwVGVtcGxhdGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0ZW1wbGF0ZS5wcm9ncmVzcycpO1xyXG4gICAgaWYgKCEocFRlbXBsYXRlIGluc3RhbmNlb2YgSFRNTFRlbXBsYXRlRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGlmICghKHBUZW1wbGF0ZS5jb250ZW50LmZpcnN0RWxlbWVudENoaWxkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLiRwcm9ncmVzc1RlbXBsYXRlID0gcFRlbXBsYXRlLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XHJcbiAgfVxyXG5cclxuICBiaW5kVG8oZW11bGF0b3I6IFJhaWRFbXVsYXRvcik6IHZvaWQge1xyXG4gICAgZW11bGF0b3Iub24oJ3RpY2snLCAoY3VycmVudExvZ1RpbWU6IG51bWJlciwgbGFzdExvZ0xpbmVUaW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgZm9yIChjb25zdCBiYXIgb2YgdGhpcy5lbXVsYXRlZFRpbWVyQmFycylcclxuICAgICAgICB0aGlzLnVwZGF0ZUJhcihiYXIsIGN1cnJlbnRMb2dUaW1lKTtcclxuXHJcbiAgICAgIGNvbnN0IHRvUmVtb3ZlID0gdGhpcy5lbXVsYXRlZFRpbWVyQmFyc1xyXG4gICAgICAgIC5maWx0ZXIoKGJhcikgPT4gYmFyLmZvcmNlUmVtb3ZlQXQgPD0gY3VycmVudExvZ1RpbWUpO1xyXG4gICAgICBmb3IgKGNvbnN0IGJhciBvZiB0b1JlbW92ZSlcclxuICAgICAgICBiYXIuJHByb2dyZXNzLnJlbW92ZSgpO1xyXG5cclxuICAgICAgdGhpcy5lbXVsYXRlZFRpbWVyQmFycyA9IHRoaXMuZW11bGF0ZWRUaW1lckJhcnMuZmlsdGVyKChiYXI6IEVtdWxhdG9yVGltZXJCYXIpID0+IHtcclxuICAgICAgICByZXR1cm4gYmFyLmZvcmNlUmVtb3ZlQXQgPiBjdXJyZW50TG9nVGltZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudGltZWxpbmUgJiYgdGhpcy50aW1lbGluZS50aW1lYmFzZSAmJiB0aGlzLnRpbWVsaW5lLl9PblVwZGF0ZVRpbWVyKGxhc3RMb2dMaW5lVGltZSk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwbGF5JywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtdWxhdGVkU3RhdHVzID0gJ3BsYXknO1xyXG4gICAgICBpZiAodGhpcy50aW1lbGluZSBpbnN0YW5jZW9mIFJhaWRFbXVsYXRvclRpbWVsaW5lICYmIGVtdWxhdG9yLmN1cnJlbnRMb2dUaW1lICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhpcy50aW1lbGluZS5lbXVsYXRlZFN5bmMoZW11bGF0b3IuY3VycmVudExvZ1RpbWUpO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncGF1c2UnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZW11bGF0ZWRTdGF0dXMgPSAncGF1c2UnO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncHJlU2VlaycsIChfdGltZSkgPT4ge1xyXG4gICAgICB0aGlzLnRpbWVsaW5lICYmIHRoaXMudGltZWxpbmUuU3RvcCgpO1xyXG4gICAgICBmb3IgKGNvbnN0IGJhciBvZiB0aGlzLmVtdWxhdGVkVGltZXJCYXJzKVxyXG4gICAgICAgIGJhci4kcHJvZ3Jlc3MucmVtb3ZlKCk7XHJcblxyXG4gICAgICB0aGlzLmVtdWxhdGVkVGltZXJCYXJzID0gW107XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwb3N0U2VlaycsIChjdXJyZW50TG9nVGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRpbWVsaW5lIGluc3RhbmNlb2YgUmFpZEVtdWxhdG9yVGltZWxpbmUpXHJcbiAgICAgICAgdGhpcy50aW1lbGluZS5lbXVsYXRlZFN5bmMoY3VycmVudExvZ1RpbWUpO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBiYXIgb2YgdGhpcy5lbXVsYXRlZFRpbWVyQmFycylcclxuICAgICAgICB0aGlzLnVwZGF0ZUJhcihiYXIsIGN1cnJlbnRMb2dUaW1lKTtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ2N1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgdGhpcy5zdG9wLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgc3RvcCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWxpbmUgJiYgdGhpcy50aW1lbGluZS5TdG9wKCk7XHJcbiAgICBmb3IgKGNvbnN0IGJhciBvZiB0aGlzLmVtdWxhdGVkVGltZXJCYXJzKVxyXG4gICAgICBiYXIuJHByb2dyZXNzLnJlbW92ZSgpO1xyXG5cclxuICAgIHRoaXMuZW11bGF0ZWRUaW1lckJhcnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUJhcihiYXI6IEVtdWxhdG9yVGltZXJCYXIsIGN1cnJlbnRMb2dUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGJhckVsYXBzZWQgPSBjdXJyZW50TG9nVGltZSAtIGJhci5zdGFydDtcclxuICAgIGxldCBiYXJQcm9nID0gTWF0aC5taW4oKGJhckVsYXBzZWQgLyBiYXIuZHVyYXRpb24pICogMTAwLCAxMDApO1xyXG4gICAgaWYgKGJhci5zdHlsZSA9PT0gJ2VtcHR5JylcclxuICAgICAgYmFyUHJvZyA9IDEwMCAtIGJhclByb2c7XHJcblxyXG4gICAgbGV0IHJpZ2h0VGV4dCA9ICgoYmFyLmR1cmF0aW9uIC0gYmFyRWxhcHNlZCkgLyAxMDAwKS50b0ZpeGVkKDEpO1xyXG4gICAgaWYgKGJhclByb2cgPj0gMTAwKVxyXG4gICAgICByaWdodFRleHQgPSAnJztcclxuXHJcbiAgICBiYXIuJGxlZnRMYWJlbC50ZXh0Q29udGVudCA9IGJhci5ldmVudC50ZXh0O1xyXG4gICAgYmFyLiRyaWdodExhYmVsLnRleHRDb250ZW50ID0gcmlnaHRUZXh0O1xyXG4gICAgYmFyLiRiYXIuc3R5bGUud2lkdGggPSBgJHtiYXJQcm9nfSVgO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFRoaXMgc3BhY2UgaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBBZGREZWJ1Z0luc3RydWN0aW9ucygpOiB2b2lkIHtcclxuICAgIC8vIFRoaXMgc3BhY2UgaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rXHJcbiAgfVxyXG5cclxuICAvLyBPdmVycmlkZVxyXG4gIG92ZXJyaWRlIE9uQWRkVGltZXIoZmlnaHROb3c6IG51bWJlciwgZTogRXZlbnQsIGNoYW5uZWxpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50aW1lbGluZSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IGVuZCA9IHRoaXMudGltZWxpbmUudGltZWJhc2UgKyAoZS50aW1lICogMTAwMCk7XHJcbiAgICBjb25zdCBzdGFydCA9IGVuZCAtICh0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcyAqIDEwMDApO1xyXG4gICAgY29uc3QgJHByb2dyZXNzID0gdGhpcy4kcHJvZ3Jlc3NUZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICBpZiAoISgkcHJvZ3Jlc3MgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCAkcHJvZ0JhciA9ICRwcm9ncmVzcy5xdWVyeVNlbGVjdG9yKCcucHJvZ3Jlc3MtYmFyJyk7XHJcbiAgICBjb25zdCAkcHJvZ0xlZnQgPSAkcHJvZ3Jlc3MucXVlcnlTZWxlY3RvcignLnRpbWVyLWJhci1sZWZ0LWxhYmVsJyk7XHJcbiAgICBjb25zdCAkcHJvZ1JpZ2h0ID0gJHByb2dyZXNzLnF1ZXJ5U2VsZWN0b3IoJy50aW1lci1iYXItcmlnaHQtbGFiZWwnKTtcclxuXHJcbiAgICBpZiAoIShcclxuICAgICAgJHByb2dCYXIgaW5zdGFuY2VvZiBIVE1MRGl2RWxlbWVudCAmJlxyXG4gICAgICAkcHJvZ0xlZnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxyXG4gICAgICAkcHJvZ1JpZ2h0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgYmFyOiBFbXVsYXRvclRpbWVyQmFyID0ge1xyXG4gICAgICAkcHJvZ3Jlc3M6ICRwcm9ncmVzcyxcclxuICAgICAgJGJhcjogJHByb2dCYXIsXHJcbiAgICAgICRsZWZ0TGFiZWw6ICRwcm9nTGVmdCxcclxuICAgICAgJHJpZ2h0TGFiZWw6ICRwcm9nUmlnaHQsXHJcbiAgICAgIHN0YXJ0OiBzdGFydCxcclxuICAgICAgc3R5bGU6ICFjaGFubmVsaW5nID8gJ2ZpbGwnIDogJ2VtcHR5JyxcclxuICAgICAgZHVyYXRpb246IChjaGFubmVsaW5nID8gZS50aW1lIC0gZmlnaHROb3cgOiB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcykgKiAxMDAwLFxyXG4gICAgICBldmVudDogZSxcclxuICAgICAgZm9yY2VSZW1vdmVBdDogMCxcclxuICAgIH07XHJcblxyXG4gICAgYmFyLmZvcmNlUmVtb3ZlQXQgPSBiYXIuc3RhcnQgKyBiYXIuZHVyYXRpb247XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMpXHJcbiAgICAgIGJhci5mb3JjZVJlbW92ZUF0ICs9IHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMgKiAxMDAwO1xyXG5cclxuICAgIHRoaXMuZW11bGF0ZWRUaW1lckJhcnMucHVzaChiYXIpO1xyXG4gICAgdGhpcy4kYmFyQ29udGFpbmVyLmFwcGVuZChiYXIuJHByb2dyZXNzKTtcclxuICAgIHRoaXMudXBkYXRlQmFyKGJhciwgYmFyLnN0YXJ0KTtcclxuICB9XHJcblxyXG4gIC8vIE92ZXJyaWRlXHJcbiAgb3ZlcnJpZGUgT25SZW1vdmVUaW1lcihlOiBFdmVudCwgZXhwaXJlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgYmFycyA9IHRoaXMuZW11bGF0ZWRUaW1lckJhcnMuZmlsdGVyKChiYXIpID0+IGJhci5ldmVudC5pZCA9PT0gZS5pZCk7XHJcblxyXG4gICAgYmFycy5mb3JFYWNoKChiYXIpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnRpbWVsaW5lKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIGJhci5mb3JjZVJlbW92ZUF0ID0gdGhpcy50aW1lbGluZS50aW1lYmFzZTtcclxuXHJcbiAgICAgIGlmIChleHBpcmVkICYmIHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMpXHJcbiAgICAgICAgYmFyLmZvcmNlUmVtb3ZlQXQgKz0gdGhpcy5vcHRpb25zLktlZXBFeHBpcmVkVGltZXJCYXJzRm9yU2Vjb25kcyAqIDEwMDA7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi4vLi4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmltcG9ydCBSYWlkRW11bGF0b3JUaW1lbGluZVVJLCB7IEVtdWxhdG9yVGltZXJCYXIgfSBmcm9tICcuL1JhaWRFbXVsYXRvclRpbWVsaW5lVUknO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFpZEVtdWxhdG9yQW5hbHlzaXNUaW1lbGluZVVJIGV4dGVuZHMgUmFpZEVtdWxhdG9yVGltZWxpbmVVSSB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUmFpZGJvc3NPcHRpb25zKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuICAgIC8vIFVzZSBvcnBoYW5lZCBjaGlsZCBkaXYgdG8gcHJldmVudCBET00gdXBkYXRlc1xyXG4gICAgdGhpcy4kYmFyQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB1cGRhdGVCYXIoX2JhcjogRW11bGF0b3JUaW1lckJhciwgX2N1cnJlbnRMb2dUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIFN0dWJiZWQgb3V0IGZvciBwZXJmb3JtYW5jZVxyXG4gIH1cclxuICBvdmVycmlkZSBPbkFkZFRpbWVyKF9maWdodE5vdzogbnVtYmVyLCBfZTogRXZlbnQsIF9jaGFubmVsaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvLyBTdHViYmVkIG91dCBmb3IgcGVyZm9ybWFuY2VcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIE9uUmVtb3ZlVGltZXIoX2U6IEV2ZW50LCBfZXhwaXJlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gU3R1YmJlZCBvdXQgZm9yIHBlcmZvcm1hbmNlXHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IExvZ0V2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBUaW1lbGluZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi90aW1lbGluZSc7XHJcbmltcG9ydCB7IFRpbWVsaW5lUmVwbGFjZW1lbnQsIFRpbWVsaW5lU3R5bGUgfSBmcm9tICcuLi8uLi90aW1lbGluZV9wYXJzZXInO1xyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4uL2RhdGEvbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5cclxuaW1wb3J0IFJhaWRFbXVsYXRvclRpbWVsaW5lIGZyb20gJy4vUmFpZEVtdWxhdG9yVGltZWxpbmUnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyIGV4dGVuZHMgVGltZWxpbmVDb250cm9sbGVyIHtcclxuICBwdWJsaWMgZW11bGF0b3I/OiBSYWlkRW11bGF0b3I7XHJcbiAgcHVibGljIG92ZXJyaWRlIGFjdGl2ZVRpbWVsaW5lOiBSYWlkRW11bGF0b3JUaW1lbGluZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBiaW5kVG8oZW11bGF0b3I6IFJhaWRFbXVsYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy5lbXVsYXRvciA9IGVtdWxhdG9yO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVGltZWxpbmUpXHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuYmluZFRvKGVtdWxhdG9yKTtcclxuICB9XHJcblxyXG4gIC8vIE92ZXJyaWRlXHJcbiAgcHVibGljIG92ZXJyaWRlIFNldEFjdGl2ZVRpbWVsaW5lKHRpbWVsaW5lRmlsZXM6IHN0cmluZ1tdLCB0aW1lbGluZXM6IHN0cmluZ1tdLFxyXG4gICAgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10sIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sIHpvbmVJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lID0gbnVsbDtcclxuXHJcbiAgICBsZXQgdGV4dCA9ICcnO1xyXG5cclxuICAgIC8vIEdldCB0aGUgdGV4dCBmcm9tIGVhY2ggZmlsZSBpbiB8dGltZWxpbmVGaWxlc3wuXHJcbiAgICBmb3IgKGNvbnN0IHRpbWVsaW5lRmlsZSBvZiB0aW1lbGluZUZpbGVzKSB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLnRpbWVsaW5lc1t0aW1lbGluZUZpbGVdO1xyXG4gICAgICBpZiAobmFtZSlcclxuICAgICAgICB0ZXh0ID0gYCR7dGV4dH1cXG4ke25hbWV9YDtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGBUaW1lbGluZSBmaWxlIG5vdCBmb3VuZDogJHt0aW1lbGluZUZpbGV9YCk7XHJcbiAgICB9XHJcbiAgICAvLyBBcHBlbmQgdGV4dCBmcm9tIGVhY2ggYmxvY2sgaW4gfHRpbWVsaW5lc3wuXHJcbiAgICBmb3IgKGNvbnN0IHRpbWVsaW5lIG9mIHRpbWVsaW5lcylcclxuICAgICAgdGV4dCA9IGAke3RleHR9XFxuJHt0aW1lbGluZX1gO1xyXG5cclxuICAgIGlmICh0ZXh0KSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUgPVxyXG4gICAgICAgIG5ldyBSYWlkRW11bGF0b3JUaW1lbGluZSh0ZXh0LCByZXBsYWNlbWVudHMsIHRyaWdnZXJzLCBzdHlsZXMsIHRoaXMub3B0aW9ucywgem9uZUlkKTtcclxuICAgICAgaWYgKHRoaXMuZW11bGF0b3IpXHJcbiAgICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5iaW5kVG8odGhpcy5lbXVsYXRvcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVpLlNldFRpbWVsaW5lKHRoaXMuYWN0aXZlVGltZWxpbmUpO1xyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcnJpZGVcclxuICBwdWJsaWMgb3ZlcnJpZGUgT25Mb2dFdmVudChfZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkVtdWxhdG9yTG9nRXZlbnQobG9nczogTGluZUV2ZW50W10pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUaW1lbGluZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGZvciAoY29uc3QgbGluZSBvZiBsb2dzKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuT25Mb2dMaW5lKGxpbmUuY29udmVydGVkTGluZSwgbGluZS50aW1lc3RhbXApO1xyXG4gICAgICAvLyBPbmx5IGNhbGwgX09uVXBkYXRlVGltZXIgaWYgd2UgaGF2ZSBhIHRpbWViYXNlIGZyb20gdGhlIHByZXZpb3VzIGNhbGwgdG8gT25Mb2dMaW5lXHJcbiAgICAgIC8vIFRoaXMgYXZvaWRzIHNwYW1taW5nIHRoZSBjb25zb2xlIHdpdGggYSB0b24gb2YgbWVzc2FnZXNcclxuICAgICAgaWYgKHRoaXMuYWN0aXZlVGltZWxpbmUudGltZWJhc2UpXHJcbiAgICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5fT25VcGRhdGVUaW1lcihsaW5lLnRpbWVzdGFtcCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCBQYXJ0eVRyYWNrZXIgZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3BhcnR5JztcclxuaW1wb3J0IHsgUmFpZGJvc3NEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IFJhaWRib3NzRmlsZURhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHsgUG9wdXBUZXh0IH0gZnJvbSAnLi4vLi4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCB7IFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4uLy4uL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUxvYWRlciB9IGZyb20gJy4uLy4uL3RpbWVsaW5lJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0dWJiZWRQb3B1cFRleHQgZXh0ZW5kcyBQb3B1cFRleHQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgdGltZWxpbmVMb2FkZXI6IFRpbWVsaW5lTG9hZGVyLFxyXG4gICAgcmFpZGJvc3NGaWxlRGF0YTogUmFpZGJvc3NGaWxlRGF0YSkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgdGltZWxpbmVMb2FkZXIsIHJhaWRib3NzRmlsZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgSG9va092ZXJsYXlzKCk6IHZvaWQge1xyXG4gICAgLy8gU3R1YmJlZCwgd2UgZG9uJ3Qgd2FudCBvdmVybGF5IGhvb2tzXHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IFJhaWRib3NzRGF0YSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFydHlUcmFja2VyKCk6IFBhcnR5VHJhY2tlciB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJ0eVRyYWNrZXI7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50UmVzcG9uc2VzLCBMb2dFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHsgTG9vc2VUcmlnZ2VyLCBSYWlkYm9zc0ZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7IFRyaWdnZXJIZWxwZXIsIFRleHQsIFRleHRUZXh0LCBQcm9jZXNzZWRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCB7IFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4uLy4uL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUxvYWRlciB9IGZyb20gJy4uLy4uL3RpbWVsaW5lJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uLCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vRW11bGF0b3JDb21tb24nO1xyXG5pbXBvcnQgU3R1YmJlZFBvcHVwVGV4dCBmcm9tICcuLi9vdmVycmlkZXMvU3R1YmJlZFBvcHVwVGV4dCc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcblxyXG50eXBlIFJlc29sdmVyRnVuYyA9ICgpID0+IHZvaWQ7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVyU3RhdHVzIHtcclxuICByZXNwb25zZVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVzcG9uc2VMYWJlbD86IHN0cmluZztcclxuICBpbml0aWFsRGF0YTogRGF0YVR5cGU7XHJcbiAgZmluYWxEYXRhPzogRGF0YVR5cGU7XHJcbiAgY29uZGl0aW9uPzogYm9vbGVhbjtcclxuICByZXNwb25zZT86IHVuZGVmaW5lZDtcclxuICByZXN1bHQ/OiBzdHJpbmc7XHJcbiAgZGVsYXk/OiBudW1iZXI7XHJcbiAgc3VwcHJlc3NlZDogYm9vbGVhbjtcclxuICBleGVjdXRlZDogYm9vbGVhbjtcclxuICBwcm9taXNlPzogUHJvbWlzZTx2b2lkPjtcclxufVxyXG5cclxudHlwZSBFbXVsYXRvclRyaWdnZXJIZWxwZXIgPSBUcmlnZ2VySGVscGVyICYge1xyXG4gIHJlc29sdmVyPzogUmVzb2x2ZXI7XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgUmVzb2x2ZXIge1xyXG4gIHByaXZhdGUgcHJvbWlzZT86IFByb21pc2U8dm9pZD47XHJcbiAgcHJpdmF0ZSBydW4/OiBSZXNvbHZlckZ1bmM7XHJcbiAgcHJpdmF0ZSBkZWxheVVudGlsPzogbnVtYmVyO1xyXG4gIHByaXZhdGUgZmluYWw/OiBSZXNvbHZlckZ1bmM7XHJcbiAgcHJpdmF0ZSBkZWxheVByb21pc2U/OiBQcm9taXNlPHZvaWQ+O1xyXG4gIHByaXZhdGUgZGVsYXlSZXNvbHZlcj86IFJlc29sdmVyRnVuYztcclxuICBwdWJsaWMgdHJpZ2dlckhlbHBlcj86IEVtdWxhdG9yVHJpZ2dlckhlbHBlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHN0YXR1czogUmVzb2x2ZXJTdGF0dXMpIHt9XHJcblxyXG4gIGFzeW5jIGlzUmVzb2x2ZWQobG9nOiBMaW5lRXZlbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLmRlbGF5VW50aWwpIHtcclxuICAgICAgaWYgKHRoaXMuZGVsYXlVbnRpbCA8IGxvZy50aW1lc3RhbXApIHtcclxuICAgICAgICBkZWxldGUgdGhpcy5kZWxheVVudGlsO1xyXG4gICAgICAgIGlmICh0aGlzLmRlbGF5UmVzb2x2ZXIpXHJcbiAgICAgICAgICB0aGlzLmRlbGF5UmVzb2x2ZXIoKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmRlbGF5UHJvbWlzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb21pc2UpXHJcbiAgICAgIGF3YWl0IHRoaXMucHJvbWlzZTtcclxuICAgIGlmICh0aGlzLnJ1bilcclxuICAgICAgdGhpcy5ydW4oKTtcclxuICAgIGlmICh0aGlzLmZpbmFsKVxyXG4gICAgICB0aGlzLmZpbmFsKCk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgc2V0RGVsYXkoZGVsYXlVbnRpbDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRlbGF5VW50aWwgPSBkZWxheVVudGlsO1xyXG4gICAgcmV0dXJuIHRoaXMuZGVsYXlQcm9taXNlID0gbmV3IFByb21pc2UoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmRlbGF5UmVzb2x2ZXIgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2V0UHJvbWlzZShwcm9taXNlOiBQcm9taXNlPHZvaWQ+KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb21pc2UgPSBwcm9taXNlO1xyXG4gIH1cclxuICBzZXRSdW4ocnVuOiBSZXNvbHZlckZ1bmMpOiB2b2lkIHtcclxuICAgIHRoaXMucnVuID0gcnVuO1xyXG4gIH1cclxuICBzZXRGaW5hbChmaW5hbDogUmVzb2x2ZXJGdW5jKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbmFsID0gZmluYWw7XHJcbiAgfVxyXG4gIHNldEhlbHBlcih0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudHJpZ2dlckhlbHBlciA9IHRyaWdnZXJIZWxwZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb3B1cFRleHRBbmFseXNpcyBleHRlbmRzIFN0dWJiZWRQb3B1cFRleHQge1xyXG4gIHRyaWdnZXJSZXNvbHZlcnM6IFJlc29sdmVyW10gPSBbXTtcclxuICBjdXJyZW50UmVzb2x2ZXI/OiBSZXNvbHZlcjtcclxuICBwdWJsaWMgY2FsbGJhY2s/OiAobG9nOiBMaW5lRXZlbnQsXHJcbiAgICB0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIgfCB1bmRlZmluZWQsXHJcbiAgICBjdXJyZW50VHJpZ2dlclN0YXR1czogUmVzb2x2ZXJTdGF0dXMsXHJcbiAgICBmaW5hbERhdGE6IERhdGFUeXBlKSA9PiB2b2lkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHRpbWVsaW5lTG9hZGVyOiBUaW1lbGluZUxvYWRlcixcclxuICAgIHJhaWRib3NzRmlsZURhdGE6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIHRpbWVsaW5lTG9hZGVyLCByYWlkYm9zc0ZpbGVEYXRhKTtcclxuICAgIHRoaXMudHRzU2F5ID0gKF90ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIE92ZXJyaWRlIGBPblRyaWdnZXJgIHNvIHdlIGNhbiB1c2Ugb3VyIG93biBleGNlcHRpb24gaGFuZGxlclxyXG4gIG92ZXJyaWRlIE9uVHJpZ2dlcihcclxuICAgIHRyaWdnZXI6IExvb3NlVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwsXHJcbiAgICBjdXJyZW50VGltZTogbnVtYmVyLFxyXG4gICk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5PblRyaWdnZXJJbnRlcm5hbCh0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRyaWdnZXIsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgT25Mb2coX2U6IExvZ0V2ZW50KTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBvbkVtdWxhdG9yTG9nKGxvZ3M6IExpbmVFdmVudFtdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBmb3IgKGNvbnN0IGxvZ09iaiBvZiBsb2dzKSB7XHJcbiAgICAgIGlmIChsb2dPYmouY29udmVydGVkTGluZS5pbmNsdWRlcygnMDA6MDAzODpjYWN0Ym90IHdpcGUnKSlcclxuICAgICAgICB0aGlzLlNldEluQ29tYmF0KGZhbHNlKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxSZWdleD8uZXhlYyhsb2dPYmouY29udmVydGVkTGluZSk7XHJcbiAgICAgICAgaWYgKCFyKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc29sdmVyID0gdGhpcy5jdXJyZW50UmVzb2x2ZXIgPSBuZXcgUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgaW5pdGlhbERhdGE6IEVtdWxhdG9yQ29tbW9uLmNsb25lRGF0YSh0aGlzLmRhdGEpLFxyXG4gICAgICAgICAgc3VwcHJlc3NlZDogZmFsc2UsXHJcbiAgICAgICAgICBleGVjdXRlZDogZmFsc2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVzb2x2ZXJzLnB1c2gocmVzb2x2ZXIpO1xyXG5cclxuICAgICAgICB0aGlzLk9uVHJpZ2dlcih0cmlnZ2VyLCByLCBsb2dPYmoudGltZXN0YW1wKTtcclxuXHJcbiAgICAgICAgcmVzb2x2ZXIuc2V0RmluYWwoKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZXIuc3RhdHVzLmZpbmFsRGF0YSA9IEVtdWxhdG9yQ29tbW9uLmNsb25lRGF0YSh0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgZGVsZXRlIHJlc29sdmVyLnRyaWdnZXJIZWxwZXI/LnJlc29sdmVyO1xyXG4gICAgICAgICAgaWYgKHRoaXMuY2FsbGJhY2spXHJcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2sobG9nT2JqLCByZXNvbHZlci50cmlnZ2VySGVscGVyLCByZXNvbHZlci5zdGF0dXMsIHRoaXMuZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuY2hlY2tSZXNvbHZlZChsb2dPYmopO1xyXG5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRoaXMubmV0VHJpZ2dlcnMpIHtcclxuICAgICAgICBjb25zdCByID0gdHJpZ2dlci5sb2NhbE5ldFJlZ2V4Py5leGVjKGxvZ09iai5uZXR3b3JrTGluZSk7XHJcbiAgICAgICAgaWYgKHIpIHtcclxuICAgICAgICAgIGNvbnN0IHJlc29sdmVyID0gdGhpcy5jdXJyZW50UmVzb2x2ZXIgPSBuZXcgUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICBpbml0aWFsRGF0YTogRW11bGF0b3JDb21tb24uY2xvbmVEYXRhKHRoaXMuZGF0YSksXHJcbiAgICAgICAgICAgIHN1cHByZXNzZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBleGVjdXRlZDogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMudHJpZ2dlclJlc29sdmVycy5wdXNoKHJlc29sdmVyKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBtYXRjaGVzID0gci5ncm91cHMgPz8ge307XHJcblxyXG4gICAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIodHJpZ2dlciwgbWF0Y2hlcywgbG9nT2JqLnRpbWVzdGFtcCk7XHJcbiAgICAgICAgICB0aGlzLk9uVHJpZ2dlcih0cmlnZ2VyLCByLCBsb2dPYmoudGltZXN0YW1wKTtcclxuXHJcbiAgICAgICAgICByZXNvbHZlci5zZXRGaW5hbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmVyLnN0YXR1cy5maW5hbERhdGEgPSBFbXVsYXRvckNvbW1vbi5jbG9uZURhdGEodGhpcy5kYXRhKTtcclxuICAgICAgICAgICAgZGVsZXRlIHJlc29sdmVyLnRyaWdnZXJIZWxwZXI/LnJlc29sdmVyO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jYWxsYmFjaylcclxuICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrKGxvZ09iaiwgcmVzb2x2ZXIudHJpZ2dlckhlbHBlciwgcmVzb2x2ZXIuc3RhdHVzLCB0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLmNoZWNrUmVzb2x2ZWQobG9nT2JqKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIE9uTmV0TG9nKF9lOiBFdmVudFJlc3BvbnNlc1snTG9nTGluZSddKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjaGVja1Jlc29sdmVkKGxvZ09iajogTGluZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgdGhpcy50cmlnZ2VyUmVzb2x2ZXJzLm1hcChhc3luYyAocmVzb2x2ZXIpID0+IGF3YWl0IHJlc29sdmVyLmlzUmVzb2x2ZWQobG9nT2JqKSkpXHJcbiAgICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVzb2x2ZXJzID0gdGhpcy50cmlnZ2VyUmVzb2x2ZXJzLmZpbHRlcigoXywgaW5kZXgpID0+ICFyZXN1bHRzW2luZGV4XSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsQ29uZGl0aW9uKHRyaWdnZXJIZWxwZXI6IEVtdWxhdG9yVHJpZ2dlckhlbHBlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmV0ID0gc3VwZXIuX29uVHJpZ2dlckludGVybmFsQ29uZGl0aW9uKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLmNvbmRpdGlvbiA9IHJldDtcclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfb25UcmlnZ2VySW50ZXJuYWxEZWxheVNlY29uZHMoXHJcbiAgICB0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIsXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBDYW4ndCBpbmhlcml0IHRoZSBkZWZhdWx0IGxvZ2ljIGZvciBkZWxheSBzaW5jZSB3ZSBkb24ndFxyXG4gICAgLy8gd2FudCB0byBkZWxheSBmb3IgbWFzcyBwcm9jZXNzaW5nIG9mIHRoZSB0aW1lbGluZVxyXG4gICAgY29uc3QgZGVsYXkgPSAnZGVsYXlTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuZGVsYXlTZWNvbmRzKSA6IDA7XHJcbiAgICBpZiAodHlwZW9mIGRlbGF5ID09PSAnbnVtYmVyJykge1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcilcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5kZWxheSA9IGRlbGF5O1xyXG4gICAgICBpZiAoIWRlbGF5IHx8IGRlbGF5IDw9IDApXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICByZXR1cm4gdHJpZ2dlckhlbHBlci5yZXNvbHZlcj8uc2V0RGVsYXkodHJpZ2dlckhlbHBlci5ub3cgKyAoZGVsYXkgKiAxMDAwKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfb25UcmlnZ2VySW50ZXJuYWxQcm9taXNlKFxyXG4gICAgdHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyLFxyXG4gICk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgcmV0ID0gc3VwZXIuX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSh0cmlnZ2VySGVscGVyKTtcclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnJlc29sdmVyKVxyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5wcm9taXNlID0gcmV0O1xyXG4gICAgaWYgKCFyZXQpXHJcbiAgICAgIHJldHVybiByZXQ7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcilcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zZXRQcm9taXNlKHJldCk7XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsVFRTKHRyaWdnZXJIZWxwZXI6IEVtdWxhdG9yVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgc3VwZXIuX29uVHJpZ2dlckludGVybmFsVFRTKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHRzVGV4dCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIgJiZcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VUeXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VUeXBlID0gJ3R0cyc7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3BvbnNlTGFiZWwgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfb25UcmlnZ2VySW50ZXJuYWxSdW4odHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyPy5zZXRSdW4oKCkgPT4ge1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcilcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5leGVjdXRlZCA9IHRydWU7XHJcbiAgICAgIHN1cGVyLl9vblRyaWdnZXJJbnRlcm5hbFJ1bih0cmlnZ2VySGVscGVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX21ha2VUZXh0RWxlbWVudCh0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIsXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICBfY2xhc3NOYW1lOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcilcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzdWx0ID8/PSB0ZXh0O1xyXG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX2NyZWF0ZVRleHRGb3IodHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGV4dFR5cGU6IFRleHQsXHJcbiAgICBfbG93ZXJUZXh0S2V5OiBUZXh0VGV4dCxcclxuICAgIF9kdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBOby1vcCBmb3IgZnVuY3Rpb25hbGl0eSwgYnV0IHN0b3JlIG9mZiB0aGlzIGluZm8gZm9yIGZlZWRiYWNrXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcikge1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZVR5cGUgPSB0ZXh0VHlwZTtcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VMYWJlbCA9IHRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfcGxheUF1ZGlvRmlsZSh0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIsXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIF92b2x1bWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gTm8tb3AgZm9yIGZ1bmN0aW9uYWxpdHksIGJ1dCBzdG9yZSBvZmYgdGhpcyBpbmZvIGZvciBmZWVkYmFja1xyXG5cclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnJlc29sdmVyKSB7XHJcbiAgICAgIC8vIElmIHdlIGFscmVhZHkgaGF2ZSB0ZXh0IGFuZCB0aGlzIGlzIGEgZGVmYXVsdCBhbGVydCBzb3VuZCwgZG9uJ3Qgb3ZlcnJpZGUgdGhhdCBpbmZvXHJcbiAgICAgIGlmICh0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZVR5cGUpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBbJ2luZm8nLCAnYWxlcnQnLCAnYWxhcm0nXS5pbmNsdWRlcyh0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZVR5cGUpICYmXHJcbiAgICAgICAgICBbdGhpcy5vcHRpb25zLkluZm9Tb3VuZCwgdGhpcy5vcHRpb25zLkFsZXJ0U291bmQsIHRoaXMub3B0aW9ucy5BbGFybVNvdW5kXS5pbmNsdWRlcyh1cmwpKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3BvbnNlVHlwZSA9ICdhdWRpb2ZpbGUnO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZUxhYmVsID0gdXJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKFxyXG4gICAgdHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcixcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBub3c6IG51bWJlcik6IEVtdWxhdG9yVHJpZ2dlckhlbHBlciB7XHJcbiAgICBjb25zdCByZXQ6IEVtdWxhdG9yVHJpZ2dlckhlbHBlciA9IHtcclxuICAgICAgLi4uc3VwZXIuX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKHRyaWdnZXIsIG1hdGNoZXMsIG5vdyksXHJcbiAgICB9O1xyXG4gICAgcmV0LnJlc29sdmVyID0gdGhpcy5jdXJyZW50UmVzb2x2ZXI7XHJcbiAgICByZXQucmVzb2x2ZXI/LnNldEhlbHBlcihyZXQpO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFV0aWwgZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3V0aWwnO1xyXG5pbXBvcnQgeyBMb29zZVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHJhaWRib3NzRmlsZURhdGEgZnJvbSAnLi4vLi4vZGF0YS9yYWlkYm9zc19tYW5pZmVzdC50eHQnO1xyXG5pbXBvcnQgeyBQb3B1cFRleHRHZW5lcmF0b3IsIFRyaWdnZXJIZWxwZXIgfSBmcm9tICcuLi8uLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTG9hZGVyIH0gZnJvbSAnLi4vLi4vdGltZWxpbmUnO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHsgRGF0YVR5cGUgfSBmcm9tICcuLi9FbXVsYXRvckNvbW1vbic7XHJcbmltcG9ydCBFdmVudEJ1cyBmcm9tICcuLi9FdmVudEJ1cyc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JBbmFseXNpc1RpbWVsaW5lVUkgZnJvbSAnLi4vb3ZlcnJpZGVzL1JhaWRFbXVsYXRvckFuYWx5c2lzVGltZWxpbmVVSSc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JQb3B1cFRleHQgZnJvbSAnLi4vb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclBvcHVwVGV4dCc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXIgZnJvbSAnLi4vb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclRpbWVsaW5lQ29udHJvbGxlcic7XHJcblxyXG5pbXBvcnQgQ29tYmF0YW50IGZyb20gJy4vQ29tYmF0YW50JztcclxuaW1wb3J0IEVuY291bnRlciBmcm9tICcuL0VuY291bnRlcic7XHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuaW1wb3J0IFBvcHVwVGV4dEFuYWx5c2lzLCB7IFJlc29sdmVyLCBSZXNvbHZlclN0YXR1cyB9IGZyb20gJy4vUG9wdXBUZXh0QW5hbHlzaXMnO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yIGZyb20gJy4vUmFpZEVtdWxhdG9yJztcclxuXHJcbmV4cG9ydCB0eXBlIFBlcnNwZWN0aXZlVHJpZ2dlciA9IHtcclxuICB0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyO1xyXG4gIHN0YXR1czogUmVzb2x2ZXJTdGF0dXM7XHJcbiAgbG9nTGluZTogTGluZUV2ZW50O1xyXG4gIHJlc29sdmVkT2Zmc2V0OiBudW1iZXI7XHJcbn07XHJcbnR5cGUgUGVyc3BlY3RpdmUgPSB7XHJcbiAgaW5pdGlhbERhdGE6IERhdGFUeXBlO1xyXG4gIHRyaWdnZXJzOiBQZXJzcGVjdGl2ZVRyaWdnZXJbXTtcclxuICBmaW5hbERhdGE/OiBEYXRhVHlwZTtcclxufTtcclxudHlwZSBQZXJzcGVjdGl2ZXMgPSB7IFtpZDogc3RyaW5nXTogUGVyc3BlY3RpdmUgfTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFuYWx5emVkRW5jb3VudGVyIGV4dGVuZHMgRXZlbnRCdXMge1xyXG4gIHBlcnNwZWN0aXZlczogUGVyc3BlY3RpdmVzID0ge307XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgcHVibGljIGVuY291bnRlcjogRW5jb3VudGVyLFxyXG4gICAgcHVibGljIGVtdWxhdG9yOiBSYWlkRW11bGF0b3IsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UGVyc3BlY3RpdmUoaWQ6IHN0cmluZywgcG9wdXBUZXh0OiBQb3B1cFRleHRBbmFseXNpcyB8IFJhaWRFbXVsYXRvclBvcHVwVGV4dCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZW5jb3VudGVyICYmIHRoaXMuZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRQYXJ0eU1lbWJlciA9IHRoaXMuZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIuY29tYmF0YW50c1tpZF07XHJcbiAgICAgIGlmICghc2VsZWN0ZWRQYXJ0eU1lbWJlcilcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBwb3B1cFRleHQ/LmdldFBhcnR5VHJhY2tlcigpLm9uUGFydHlDaGFuZ2VkKHtcclxuICAgICAgICBwYXJ0eTogdGhpcy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlci5wYXJ0eU1lbWJlcnMubWFwKChpZCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcGFydHlNZW1iZXIgPSB0aGlzLmVuY291bnRlcj8uY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tpZF07XHJcbiAgICAgICAgICBpZiAoIXBhcnR5TWVtYmVyKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogaWQsXHJcbiAgICAgICAgICAgIHdvcmxkSWQ6IDAsXHJcbiAgICAgICAgICAgIG5hbWU6IHBhcnR5TWVtYmVyLm5hbWUsXHJcbiAgICAgICAgICAgIGpvYjogVXRpbC5qb2JUb0pvYkVudW0ocGFydHlNZW1iZXIuam9iID8/ICdOT05FJyksXHJcbiAgICAgICAgICAgIGluUGFydHk6IHRydWUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy51cGRhdGVTdGF0ZShzZWxlY3RlZFBhcnR5TWVtYmVyLCB0aGlzLmVuY291bnRlci5zdGFydFRpbWVzdGFtcCwgcG9wdXBUZXh0KTtcclxuICAgICAgcG9wdXBUZXh0Py5PbkNoYW5nZVpvbmUoe1xyXG4gICAgICAgIHR5cGU6ICdDaGFuZ2Vab25lJyxcclxuICAgICAgICB6b25lTmFtZTogdGhpcy5lbmNvdW50ZXIuZW5jb3VudGVyWm9uZU5hbWUsXHJcbiAgICAgICAgem9uZUlEOiBwYXJzZUludCh0aGlzLmVuY291bnRlci5lbmNvdW50ZXJab25lSWQsIDE2KSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdGF0ZShcclxuICAgIGNvbWJhdGFudDogQ29tYmF0YW50LFxyXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXHJcbiAgICBwb3B1cFRleHQ6IFBvcHVwVGV4dEFuYWx5c2lzIHwgUmFpZEVtdWxhdG9yUG9wdXBUZXh0LFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3Qgam9iID0gY29tYmF0YW50LmpvYjtcclxuICAgIGlmICgham9iKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBjb25zdCBzdGF0ZSA9IGNvbWJhdGFudC5nZXRTdGF0ZSh0aW1lc3RhbXApO1xyXG4gICAgcG9wdXBUZXh0Py5PblBsYXllckNoYW5nZSh7XHJcbiAgICAgIGRldGFpbDoge1xyXG4gICAgICAgIGlkOiBwYXJzZUludChjb21iYXRhbnQuaWQpLFxyXG4gICAgICAgIG5hbWU6IGNvbWJhdGFudC5uYW1lLFxyXG4gICAgICAgIGpvYjogam9iLFxyXG4gICAgICAgIGxldmVsOiBjb21iYXRhbnQubGV2ZWwgPz8gMCxcclxuICAgICAgICBjdXJyZW50SFA6IHN0YXRlLmhwLFxyXG4gICAgICAgIG1heEhQOiBzdGF0ZS5tYXhIcCxcclxuICAgICAgICBjdXJyZW50TVA6IHN0YXRlLm1wLFxyXG4gICAgICAgIG1heE1QOiBzdGF0ZS5tYXhNcCxcclxuICAgICAgICBjdXJyZW50Q1A6IDAsXHJcbiAgICAgICAgbWF4Q1A6IDAsXHJcbiAgICAgICAgY3VycmVudEdQOiAwLFxyXG4gICAgICAgIG1heEdQOiAwLFxyXG4gICAgICAgIGN1cnJlbnRTaGllbGQ6IDAsXHJcbiAgICAgICAgam9iRGV0YWlsOiBudWxsLFxyXG4gICAgICAgIHBvczoge1xyXG4gICAgICAgICAgeDogc3RhdGUucG9zWCxcclxuICAgICAgICAgIHk6IHN0YXRlLnBvc1ksXHJcbiAgICAgICAgICB6OiBzdGF0ZS5wb3NaLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcm90YXRpb246IHN0YXRlLmhlYWRpbmcsXHJcbiAgICAgICAgYmFpdDogMCxcclxuICAgICAgICBkZWJ1Z0pvYjogJycsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFuYWx5emUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBAVE9ETzogTWFrZSB0aGlzIHJ1biBpbiBwYXJhbGxlbCBzb21ldGltZSBpbiB0aGUgZnV0dXJlLCBzaW5jZSBpdCBjb3VsZCBiZSByZWFsbHkgc2xvdz9cclxuICAgIGlmICh0aGlzLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyKSB7XHJcbiAgICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlci5wYXJ0eU1lbWJlcnMpXHJcbiAgICAgICAgYXdhaXQgdGhpcy5hbmFseXplRm9yKGlkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaCgnYW5hbHl6ZWQnKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFuYWx5emVGb3IoaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBsZXQgY3VycmVudExvZ0luZGV4ID0gMDtcclxuICAgIGNvbnN0IHBhcnR5TWVtYmVyID0gdGhpcy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlci5jb21iYXRhbnRzW2lkXTtcclxuXHJcbiAgICBpZiAoIXBhcnR5TWVtYmVyKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKCFwYXJ0eU1lbWJlci5qb2IpIHtcclxuICAgICAgdGhpcy5wZXJzcGVjdGl2ZXNbaWRdID0ge1xyXG4gICAgICAgIGluaXRpYWxEYXRhOiB7fSxcclxuICAgICAgICB0cmlnZ2VyczogW10sXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0aW1lbGluZVVJID0gbmV3IFJhaWRFbXVsYXRvckFuYWx5c2lzVGltZWxpbmVVSSh0aGlzLm9wdGlvbnMpO1xyXG4gICAgY29uc3QgdGltZWxpbmVDb250cm9sbGVyID0gbmV3IFJhaWRFbXVsYXRvclRpbWVsaW5lQ29udHJvbGxlcihcclxuICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICB0aW1lbGluZVVJLFxyXG4gICAgICByYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgKTtcclxuICAgIHRpbWVsaW5lQ29udHJvbGxlci5iaW5kVG8odGhpcy5lbXVsYXRvcik7XHJcblxyXG4gICAgY29uc3QgcG9wdXBUZXh0ID0gbmV3IFBvcHVwVGV4dEFuYWx5c2lzKFxyXG4gICAgICB0aGlzLm9wdGlvbnMsXHJcbiAgICAgIG5ldyBUaW1lbGluZUxvYWRlcih0aW1lbGluZUNvbnRyb2xsZXIpLFxyXG4gICAgICByYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBnZW5lcmF0b3IgPSBuZXcgUG9wdXBUZXh0R2VuZXJhdG9yKHBvcHVwVGV4dCk7XHJcbiAgICB0aW1lbGluZVVJLlNldFBvcHVwVGV4dEludGVyZmFjZShnZW5lcmF0b3IpO1xyXG5cclxuICAgIHRpbWVsaW5lQ29udHJvbGxlci5TZXRQb3B1cFRleHRJbnRlcmZhY2UoZ2VuZXJhdG9yKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdFBlcnNwZWN0aXZlKGlkLCBwb3B1cFRleHQpO1xyXG5cclxuICAgIGlmICh0aW1lbGluZUNvbnRyb2xsZXIuYWN0aXZlVGltZWxpbmU/LnVpKSB7XHJcbiAgICAgIHRpbWVsaW5lQ29udHJvbGxlci5hY3RpdmVUaW1lbGluZS51aS5PblRyaWdnZXIgPSAodHJpZ2dlcjogTG9vc2VUcmlnZ2VyLCBtYXRjaGVzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExpbmUgPSB0aGlzLmVuY291bnRlci5sb2dMaW5lc1tjdXJyZW50TG9nSW5kZXhdO1xyXG4gICAgICAgIGlmICghY3VycmVudExpbmUpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc29sdmVyID0gcG9wdXBUZXh0LmN1cnJlbnRSZXNvbHZlciA9IG5ldyBSZXNvbHZlcih7XHJcbiAgICAgICAgICBpbml0aWFsRGF0YTogRW11bGF0b3JDb21tb24uY2xvbmVEYXRhKHBvcHVwVGV4dC5nZXREYXRhKCkpLFxyXG4gICAgICAgICAgc3VwcHJlc3NlZDogZmFsc2UsXHJcbiAgICAgICAgICBleGVjdXRlZDogZmFsc2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmVzb2x2ZXIudHJpZ2dlckhlbHBlciA9IHBvcHVwVGV4dC5fb25UcmlnZ2VySW50ZXJuYWxHZXRIZWxwZXIoXHJcbiAgICAgICAgICB0cmlnZ2VyLFxyXG4gICAgICAgICAgbWF0Y2hlcz8uZ3JvdXBzID8/IHt9LFxyXG4gICAgICAgICAgY3VycmVudExpbmU/LnRpbWVzdGFtcCxcclxuICAgICAgICApO1xyXG4gICAgICAgIHBvcHVwVGV4dC50cmlnZ2VyUmVzb2x2ZXJzLnB1c2gocmVzb2x2ZXIpO1xyXG5cclxuICAgICAgICBpZiAoIWN1cnJlbnRMaW5lKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgICAgICBwb3B1cFRleHQuT25UcmlnZ2VyKHRyaWdnZXIsIG1hdGNoZXMsIGN1cnJlbnRMaW5lLnRpbWVzdGFtcCk7XHJcblxyXG4gICAgICAgIHJlc29sdmVyLnNldEZpbmFsKCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmVyLnN0YXR1cy5maW5hbERhdGEgPSBFbXVsYXRvckNvbW1vbi5jbG9uZURhdGEocG9wdXBUZXh0LmdldERhdGEoKSk7XHJcbiAgICAgICAgICBkZWxldGUgcmVzb2x2ZXIudHJpZ2dlckhlbHBlcj8ucmVzb2x2ZXI7XHJcbiAgICAgICAgICBpZiAocG9wdXBUZXh0LmNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIHBvcHVwVGV4dC5jYWxsYmFjayhcclxuICAgICAgICAgICAgICBjdXJyZW50TGluZSxcclxuICAgICAgICAgICAgICByZXNvbHZlci50cmlnZ2VySGVscGVyLFxyXG4gICAgICAgICAgICAgIHJlc29sdmVyLnN0YXR1cyxcclxuICAgICAgICAgICAgICBwb3B1cFRleHQuZ2V0RGF0YSgpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHBvcHVwVGV4dC5jYWxsYmFjayA9IChsb2csIHRyaWdnZXJIZWxwZXIsIGN1cnJlbnRUcmlnZ2VyU3RhdHVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBlcnNwZWN0aXZlID0gdGhpcy5wZXJzcGVjdGl2ZXNbaWRdO1xyXG4gICAgICBpZiAoIXBlcnNwZWN0aXZlIHx8ICF0cmlnZ2VySGVscGVyKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgIGNvbnN0IGRlbGF5ID0gY3VycmVudFRyaWdnZXJTdGF0dXMuZGVsYXkgPz8gMDtcclxuXHJcbiAgICAgIHBlcnNwZWN0aXZlLnRyaWdnZXJzLnB1c2goe1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXI6IHRyaWdnZXJIZWxwZXIsXHJcbiAgICAgICAgc3RhdHVzOiBjdXJyZW50VHJpZ2dlclN0YXR1cyxcclxuICAgICAgICBsb2dMaW5lOiBsb2csXHJcbiAgICAgICAgcmVzb2x2ZWRPZmZzZXQ6IChsb2cudGltZXN0YW1wIC0gdGhpcy5lbmNvdW50ZXIuc3RhcnRUaW1lc3RhbXApICtcclxuICAgICAgICAgIChkZWxheSAqIDEwMDApLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICBwb3B1cFRleHQudHJpZ2dlclJlc29sdmVycyA9IFtdO1xyXG5cclxuICAgIHRoaXMucGVyc3BlY3RpdmVzW2lkXSA9IHtcclxuICAgICAgaW5pdGlhbERhdGE6IEVtdWxhdG9yQ29tbW9uLmNsb25lRGF0YShwb3B1cFRleHQuZ2V0RGF0YSgpLCBbXSksXHJcbiAgICAgIHRyaWdnZXJzOiBbXSxcclxuICAgICAgZmluYWxEYXRhOiBwb3B1cFRleHQuZ2V0RGF0YSgpLFxyXG4gICAgfTtcclxuXHJcbiAgICBmb3IgKDsgY3VycmVudExvZ0luZGV4IDwgdGhpcy5lbmNvdW50ZXIubG9nTGluZXMubGVuZ3RoOyArK2N1cnJlbnRMb2dJbmRleCkge1xyXG4gICAgICBjb25zdCBsb2cgPSB0aGlzLmVuY291bnRlci5sb2dMaW5lc1tjdXJyZW50TG9nSW5kZXhdO1xyXG4gICAgICBpZiAoIWxvZylcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ2FuYWx5emVMaW5lJywgbG9nKTtcclxuXHJcbiAgICAgIGNvbnN0IGNvbWJhdGFudCA9IHRoaXMuZW5jb3VudGVyPy5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW2lkXTtcclxuXHJcbiAgICAgIGlmIChjb21iYXRhbnQgJiYgY29tYmF0YW50Lmhhc1N0YXRlKGxvZy50aW1lc3RhbXApKVxyXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoY29tYmF0YW50LCBsb2cudGltZXN0YW1wLCBwb3B1cFRleHQpO1xyXG5cclxuICAgICAgYXdhaXQgcG9wdXBUZXh0Lm9uRW11bGF0b3JMb2coW2xvZ10pO1xyXG4gICAgICB0aW1lbGluZUNvbnRyb2xsZXIub25FbXVsYXRvckxvZ0V2ZW50KFtsb2ddKTtcclxuICAgIH1cclxuICAgIHRpbWVsaW5lVUkuc3RvcCgpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IEV2ZW50QnVzIGZyb20gJy4uL0V2ZW50QnVzJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvclBvcHVwVGV4dCBmcm9tICcuLi9vdmVycmlkZXMvUmFpZEVtdWxhdG9yUG9wdXBUZXh0JztcclxuXHJcbmltcG9ydCBBbmFseXplZEVuY291bnRlciBmcm9tICcuL0FuYWx5emVkRW5jb3VudGVyJztcclxuaW1wb3J0IEVuY291bnRlciBmcm9tICcuL0VuY291bnRlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWlkRW11bGF0b3IgZXh0ZW5kcyBFdmVudEJ1cyB7XHJcbiAgc3RhdGljIHJlYWRvbmx5IHBsYXliYWNrU3BlZWQgPSAxMDtcclxuXHJcbiAgZW5jb3VudGVyczogRW5jb3VudGVyW10gPSBbXTtcclxuICBjdXJyZW50RW5jb3VudGVyPzogQW5hbHl6ZWRFbmNvdW50ZXI7XHJcbiAgcGxheWluZ0ludGVydmFsPzogbnVtYmVyO1xyXG4gIGN1cnJlbnRMb2dMaW5lSW5kZXg/OiBudW1iZXI7XHJcbiAgY3VycmVudExvZ1RpbWU/OiBudW1iZXI7XHJcbiAgbGFzdExvZ0xpbmVUaW1lPzogbnVtYmVyO1xyXG4gIGxhc3RUaWNrVGltZT86IG51bWJlcjtcclxuICBwb3B1cFRleHQ/OiBSYWlkRW11bGF0b3JQb3B1cFRleHQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgdGhpcy5lbmNvdW50ZXJzID0gW107XHJcbiAgfVxyXG5cclxuICBhZGRFbmNvdW50ZXIoZW5jb3VudGVyOiBFbmNvdW50ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZW5jb3VudGVycy5wdXNoKGVuY291bnRlcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnQoZW5jOiBFbmNvdW50ZXIpOiB2b2lkIHtcclxuICAgIC8vIElmIGxhbmd1YWdlIHdhcyBhdXRvZGV0ZWN0ZWQgZnJvbSB0aGUgZW5jb3VudGVyLCBzZXQgdGhlIGN1cnJlbnQgUGFyc2VyTGFuZ3VhZ2VcclxuICAgIC8vIGFwcHJvcHJpYXRlbHlcclxuICAgIGlmIChlbmMubGFuZ3VhZ2UpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA9IGVuYy5sYW5ndWFnZTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRFbmNvdW50ZXIgPSBuZXcgQW5hbHl6ZWRFbmNvdW50ZXIodGhpcy5vcHRpb25zLCBlbmMsIHRoaXMpO1xyXG4gICAgdm9pZCB0aGlzLmRpc3BhdGNoKCdwcmVDdXJyZW50RW5jb3VudGVyQ2hhbmdlZCcsIHRoaXMuY3VycmVudEVuY291bnRlcik7XHJcbiAgICB2b2lkIHRoaXMuY3VycmVudEVuY291bnRlci5hbmFseXplKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgnY3VycmVudEVuY291bnRlckNoYW5nZWQnLCB0aGlzLmN1cnJlbnRFbmNvdW50ZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXJyZW50QnlJRChpZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBlbmMgPSB0aGlzLmVuY291bnRlcnMuZmluZCgodikgPT4gdi5pZCA9PT0gaWQpO1xyXG4gICAgaWYgKCFlbmMpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICB0aGlzLnNldEN1cnJlbnQoZW5jKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UGVyc3BlY3RpdmUoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRFbmNvdW50ZXIgfHwgIXRoaXMucG9wdXBUZXh0KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuc2VsZWN0UGVyc3BlY3RpdmUoaWQsIHRoaXMucG9wdXBUZXh0KTtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2dUaW1lICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHZvaWQgdGhpcy5zZWVrVG8odGhpcy5jdXJyZW50TG9nVGltZSk7XHJcbiAgfVxyXG5cclxuICBwbGF5KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRFbmNvdW50ZXIpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBmaXJzdEluZGV4ID0gdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5maXJzdExpbmVJbmRleDtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRMb2dUaW1lID0gdGhpcy5jdXJyZW50TG9nVGltZSA/P1xyXG4gICAgICB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzW2ZpcnN0SW5kZXhdPy50aW1lc3RhbXA7XHJcbiAgICB0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXggPSB0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXggfHwgZmlyc3RJbmRleCAtIDE7XHJcbiAgICB0aGlzLmxhc3RUaWNrVGltZSA9IERhdGUubm93KCk7XHJcbiAgICAvLyBOZWVkIHRvIHVzZSBhIGxvY2FsIGZ1bmN0aW9uIG1ha2UgZXNsaW50IGhhcHB5LCBvciBpZ25vcmUgdGhlIGVzbGludCBydWxlIGhlcmU/XHJcbiAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMudGljaygpO1xyXG4gICAgfTtcclxuICAgIHRoaXMucGxheWluZ0ludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGhhbmRsZXIsIFJhaWRFbXVsYXRvci5wbGF5YmFja1NwZWVkKTtcclxuICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgncGxheScpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwYXVzZSgpOiBib29sZWFuIHtcclxuICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMucGxheWluZ0ludGVydmFsKTtcclxuICAgIHRoaXMubGFzdFRpY2tUaW1lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5wbGF5aW5nSW50ZXJ2YWwgPSB1bmRlZmluZWQ7XHJcbiAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ3BhdXNlJyk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNlZWsodGltZU9mZnNldDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY3VycmVudEVuY291bnRlciB8fCAhdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlcilcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IHNlZWtUaW1lc3RhbXAgPSB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLnN0YXJ0VGltZXN0YW1wICsgdGltZU9mZnNldDtcclxuICAgIGF3YWl0IHRoaXMuc2Vla1RvKHNlZWtUaW1lc3RhbXApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2Vla1RvKHNlZWtUaW1lc3RhbXA6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRFbmNvdW50ZXIgfHwgIXRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdwcmVTZWVrJywgc2Vla1RpbWVzdGFtcCk7XHJcbiAgICB0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXggPSAtMTtcclxuICAgIGxldCBsb2dzID0gW107XHJcbiAgICBjb25zdCBwbGF5aW5nID0gdGhpcy5wbGF5aW5nSW50ZXJ2YWwgIT09IHVuZGVmaW5lZDtcclxuICAgIGlmIChwbGF5aW5nKVxyXG4gICAgICB0aGlzLnBhdXNlKCk7XHJcbiAgICBmb3IgKFxyXG4gICAgICBsZXQgaSA9IHRoaXMuY3VycmVudExvZ0xpbmVJbmRleCArIDE7XHJcbiAgICAgIGkgPCB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzLmxlbmd0aDtcclxuICAgICAgKytpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgbGluZSA9IHRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIubG9nTGluZXNbaV07XHJcbiAgICAgIGlmICghbGluZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBpZiAobGluZS50aW1lc3RhbXAgPD0gc2Vla1RpbWVzdGFtcCkge1xyXG4gICAgICAgIGxvZ3MucHVzaChsaW5lKTtcclxuICAgICAgICAvLyBCdW5jaCBlbWl0dGVkIGxpbmVzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXHJcbiAgICAgICAgaWYgKGxvZ3MubGVuZ3RoID4gMTAwKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdlbWl0TG9ncycsIHsgbG9nczogbG9ncyB9KTtcclxuICAgICAgICAgIGxvZ3MgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TG9nVGltZSA9IHRoaXMubGFzdExvZ0xpbmVUaW1lID0gbGluZS50aW1lc3RhbXA7XHJcbiAgICAgICAgKyt0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXg7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgnbWlkU2VlaycsIGxpbmUpO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEVtaXQgYW55IHJlbWFpbmluZyBsaW5lcyBpZiBuZWVkZWRcclxuICAgIGlmIChsb2dzLmxlbmd0aCkge1xyXG4gICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdlbWl0TG9ncycsIHsgbG9nczogbG9ncyB9KTtcclxuICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgnbWlkU2VlaycsIGxvZ3MucG9wKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ3Bvc3RTZWVrJywgc2Vla1RpbWVzdGFtcCk7XHJcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCd0aWNrJywgdGhpcy5jdXJyZW50TG9nVGltZSwgdGhpcy5sYXN0TG9nTGluZVRpbWUpO1xyXG4gICAgaWYgKHBsYXlpbmcpXHJcbiAgICAgIHRoaXMucGxheSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdGljaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50TG9nTGluZUluZGV4ID09PSB1bmRlZmluZWQgfHwgIXRoaXMuY3VycmVudEVuY291bnRlciB8fFxyXG4gICAgICB0aGlzLmxhc3RUaWNrVGltZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuY3VycmVudExvZ1RpbWUgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICAhdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlclxyXG4gICAgKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50TG9nTGluZUluZGV4ICsgMSA+PSB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnBhdXNlKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnBsYXlpbmdJbnRlcnZhbCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBsb2dzID0gW107XHJcbiAgICBjb25zdCB0aW1lRGlmZiA9IERhdGUubm93KCkgLSB0aGlzLmxhc3RUaWNrVGltZTtcclxuICAgIGNvbnN0IGxhc3RUaW1lc3RhbXAgPSB0aGlzLmN1cnJlbnRMb2dUaW1lICsgdGltZURpZmY7XHJcbiAgICBmb3IgKFxyXG4gICAgICBsZXQgaSA9IHRoaXMuY3VycmVudExvZ0xpbmVJbmRleCArIDE7XHJcbiAgICAgIGkgPCB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzLmxlbmd0aDtcclxuICAgICAgKytpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgbGluZSA9IHRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIubG9nTGluZXNbaV07XHJcbiAgICAgIGlmICghbGluZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGlmIChsaW5lLnRpbWVzdGFtcCA8PSBsYXN0VGltZXN0YW1wKSB7XHJcbiAgICAgICAgbG9ncy5wdXNoKHRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIubG9nTGluZXNbaV0pO1xyXG4gICAgICAgIHRoaXMubGFzdExvZ0xpbmVUaW1lID0gbGluZS50aW1lc3RhbXA7XHJcbiAgICAgICAgKyt0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXg7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRMb2dUaW1lICs9IHRpbWVEaWZmO1xyXG4gICAgdGhpcy5sYXN0VGlja1RpbWUgKz0gdGltZURpZmY7XHJcbiAgICBpZiAobG9ncy5sZW5ndGgpXHJcbiAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ2VtaXRMb2dzJywgeyBsb2dzOiBsb2dzIH0pO1xyXG5cclxuICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ3RpY2snLCB0aGlzLmN1cnJlbnRMb2dUaW1lLCB0aGlzLmxhc3RMb2dMaW5lVGltZSk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3B1cFRleHQocG9wdXBUZXh0OiBSYWlkRW11bGF0b3JQb3B1cFRleHQpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0ID0gcG9wdXBUZXh0O1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaSc7XHJcbmltcG9ydCB7XHJcbiAgT3ZlcmxheUhhbmRsZXJSZXF1ZXN0cyxcclxuICBPdmVybGF5SGFuZGxlclJlc3BvbnNlcyxcclxuICBQbHVnaW5Db21iYXRhbnRTdGF0ZSxcclxufSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCBBbmFseXplZEVuY291bnRlciBmcm9tICcuLi9kYXRhL0FuYWx5emVkRW5jb3VudGVyJztcclxuaW1wb3J0IExpbmVFdmVudCwgeyBpc0xpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4uL2RhdGEvbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDB4MDMgfSBmcm9tICcuLi9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQweDAzJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuLi9kYXRhL1JhaWRFbXVsYXRvcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vayB7XHJcbiAgY3VycmVudExvZ1RpbWUgPSAwO1xyXG4gIGNvbm5lY3RlZCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW11bGF0b3I6IFJhaWRFbXVsYXRvcikge1xyXG4gICAgc2V0T3ZlcmxheUhhbmRsZXJPdmVycmlkZSgnZ2V0Q29tYmF0YW50cycsIHRoaXMuX2dldENvbWJhdGFudHNPdmVycmlkZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICBlbXVsYXRvci5vbigndGljaycsIChjdXJyZW50TG9nVGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudExvZ1RpbWUgPSBjdXJyZW50TG9nVGltZTtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3ByZVNlZWsnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudExvZ1RpbWUgPSAwO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncHJlQ3VycmVudEVuY291bnRlckNoYW5nZWQnLCAoZW5jb3VudGVyOiBBbmFseXplZEVuY291bnRlcikgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2dUaW1lID0gMDtcclxuICAgICAgZW5jb3VudGVyLm9uKCdhbmFseXplTGluZScsIChsb2c6IExpbmVFdmVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY3VycmVudExvZ1RpbWUgPSBsb2cudGltZXN0YW1wO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2dldENvbWJhdGFudHNPdmVycmlkZShcclxuICAgIG1zZzogT3ZlcmxheUhhbmRsZXJSZXF1ZXN0c1snZ2V0Q29tYmF0YW50cyddLFxyXG4gICk6IE92ZXJsYXlIYW5kbGVyUmVzcG9uc2VzWydnZXRDb21iYXRhbnRzJ10ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHsgY29tYmF0YW50czogUGx1Z2luQ29tYmF0YW50U3RhdGVbXSB9PigocmVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN1ckVuYyA9IHRoaXMuZW11bGF0b3IuY3VycmVudEVuY291bnRlcjtcclxuICAgICAgY29uc3QgdHJhY2tlciA9IGN1ckVuYz8uZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXI7XHJcbiAgICAgIGlmICghY3VyRW5jIHx8ICF0cmFja2VyKSB7XHJcbiAgICAgICAgcmVzKHsgY29tYmF0YW50czogW10gfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IHRoaXMuY3VycmVudExvZ1RpbWU7XHJcblxyXG4gICAgICBjb25zdCBjb21iYXRhbnRzOiBQbHVnaW5Db21iYXRhbnRTdGF0ZVtdID0gW107XHJcbiAgICAgIGNvbnN0IGlkcyA9IG1zZy5pZHMgPz8gW107XHJcbiAgICAgIGNvbnN0IG5hbWVzID0gbXNnLm5hbWVzID8/IFtdO1xyXG4gICAgICBjb25zdCBoYXNJZHMgPSBpZHMubGVuZ3RoID4gMDtcclxuICAgICAgY29uc3QgaGFzTmFtZXMgPSBuYW1lcy5sZW5ndGggPiAwO1xyXG5cclxuICAgICAgZm9yIChjb25zdCBbaWQsIGNvbWJhdGFudF0gb2YgT2JqZWN0LmVudHJpZXModHJhY2tlci5jb21iYXRhbnRzKSkge1xyXG4gICAgICAgIC8vIElmIHRoaXMgY29tYmF0YW50IGRpZG4ndCBleGlzdCBhdCB0aGlzIHBvaW50LCBza2lwIHRoZW1cclxuICAgICAgICBjb25zdCBmaXJzdFN0YXRlU3RhbXAgPSBjb21iYXRhbnQuc2lnbmlmaWNhbnRTdGF0ZXNbMF07XHJcbiAgICAgICAgY29uc3QgbGFzdFN0YXRlU3RhbXAgPSBjb21iYXRhbnQuc2lnbmlmaWNhbnRTdGF0ZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgICAgIGlmICghZmlyc3RTdGF0ZVN0YW1wIHx8ICFsYXN0U3RhdGVTdGFtcClcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIGlmIChmaXJzdFN0YXRlU3RhbXAgPiB0aW1lc3RhbXAgfHwgbGFzdFN0YXRlU3RhbXAgPCB0aW1lc3RhbXApXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgY29uc3QgaWROdW0gPSBwYXJzZUludChpZCwgMTYpO1xyXG4gICAgICAgIC8vIG5leHRTaWduaWZpY2FudFN0YXRlIGlzIGEgYml0IGluZWZmaWNpZW50IGJ1dCBnaXZlbiB0aGF0IHRoaXMgaXNuJ3QgcnVuIGV2ZXJ5IHRpY2tcclxuICAgICAgICAvLyB3ZSBjYW4gYWZmb3JkIHRvIGJlIGEgYml0IGluZWZmaWNpZW50IGZvciByZWFkYWJpbGl0eSdzIHNha2VcclxuICAgICAgICBjb25zdCBjb21iYXRhbnRTdGF0ZSA9IHtcclxuICAgICAgICAgIElEOiBpZE51bSxcclxuICAgICAgICAgIE5hbWU6IGNvbWJhdGFudC5uYW1lLFxyXG4gICAgICAgICAgTGV2ZWw6IGNvbWJhdGFudC5sZXZlbCxcclxuICAgICAgICAgIEpvYjogY29tYmF0YW50LmpvYklkLFxyXG4gICAgICAgICAgLi4uY29tYmF0YW50Lm5leHRTaWduaWZpY2FudFN0YXRlKHRpbWVzdGFtcCkudG9QbHVnaW5TdGF0ZSgpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKCFoYXNJZHMgJiYgIWhhc05hbWVzKVxyXG4gICAgICAgICAgY29tYmF0YW50cy5wdXNoKGNvbWJhdGFudFN0YXRlKTtcclxuICAgICAgICBlbHNlIGlmIChoYXNJZHMgJiYgaWRzLmluY2x1ZGVzKGlkTnVtKSlcclxuICAgICAgICAgIGNvbWJhdGFudHMucHVzaChjb21iYXRhbnRTdGF0ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAoaGFzTmFtZXMgJiYgbmFtZXMuaW5jbHVkZXMoY29tYmF0YW50Lm5hbWUpKVxyXG4gICAgICAgICAgY29tYmF0YW50cy5wdXNoKGNvbWJhdGFudFN0YXRlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBAVE9ETzogTW92ZSB0aGlzIHRvIHRyYWNrIHByb3Blcmx5IG9uIHRoZSBDb21iYXRhbnQgb2JqZWN0XHJcbiAgICAgIGNvbWJhdGFudHMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGxpbmVzID0gY3VyRW5jLmVuY291bnRlci5sb2dMaW5lc1xyXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gbC5kZWNFdmVudCA9PT0gMyAmJiBpc0xpbmVFdmVudFNvdXJjZShsKSAmJiBwYXJzZUludChsLmlkLCAxNikgPT09IGMuSUQpO1xyXG4gICAgICAgIGNvbnN0IGJhc2VMaW5lID0gbGluZXNbMF07XHJcbiAgICAgICAgaWYgKGJhc2VMaW5lKSB7XHJcbiAgICAgICAgICBjb25zdCBsaW5lID0gYmFzZUxpbmUgYXMgTGluZUV2ZW50MHgwMztcclxuICAgICAgICAgIGMuT3duZXJJRCA9IHBhcnNlSW50KGxpbmUub3duZXJJZCk7XHJcbiAgICAgICAgICBjLkJOcGNOYW1lSUQgPSBwYXJzZUludChsaW5lLm5wY05hbWVJZCk7XHJcbiAgICAgICAgICBjLkJOcGNJRCA9IHBhcnNlSW50KGxpbmUubnBjQmFzZUlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXMoe1xyXG4gICAgICAgIGNvbWJhdGFudHM6IGNvbWJhdGFudHMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IEV2ZW50UmVzcG9uc2VzLCBMb2dFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgUmFpZGJvc3NGaWxlRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBUZXh0LCBUZXh0VGV4dCwgVHJpZ2dlckhlbHBlciB9IGZyb20gJy4uLy4uL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuLi8uLi90aW1lbGluZSc7XHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi4vZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50JztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuLi9kYXRhL1JhaWRFbXVsYXRvcic7XHJcbmltcG9ydCBTdHViYmVkUG9wdXBUZXh0IGZyb20gJy4uL292ZXJyaWRlcy9TdHViYmVkUG9wdXBUZXh0JztcclxuXHJcbnR5cGUgRGlzcGxheWVkVGV4dCA9IHtcclxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBleHBpcmVzOiBudW1iZXI7XHJcbn07XHJcblxyXG50eXBlIFNjaGVkdWxlZEZ1bmMgPSAoKSA9PiB2b2lkO1xyXG5cclxudHlwZSBTY2hlZHVsZWRUcmlnZ2VyID0ge1xyXG4gIGV4cGlyZXM6IG51bWJlcjtcclxuICBwcm9taXNlOiBQcm9taXNlPHVua25vd24+O1xyXG4gIHJlc29sdmVyOiBTY2hlZHVsZWRGdW5jO1xyXG4gIHJlamVjdGVyOiBTY2hlZHVsZWRGdW5jO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhaWRFbXVsYXRvclBvcHVwVGV4dCBleHRlbmRzIFN0dWJiZWRQb3B1cFRleHQge1xyXG4gICRwb3B1cFRleHRDb250YWluZXJXcmFwcGVyOiBIVE1MRWxlbWVudDtcclxuICBlbXVsYXRlZE9mZnNldDogbnVtYmVyO1xyXG4gIGVtdWxhdG9yPzogUmFpZEVtdWxhdG9yO1xyXG4gIGRpc3BsYXllZFRleHQ6IERpc3BsYXllZFRleHRbXTtcclxuICBzY2hlZHVsZWRUcmlnZ2VyczogU2NoZWR1bGVkVHJpZ2dlcltdO1xyXG4gIHNlZWtpbmc6IGJvb2xlYW47XHJcbiAgJHRleHRFbGVtZW50VGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIGF1ZGlvRGVidWdUZXh0RHVyYXRpb246IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgdGltZWxpbmVMb2FkZXI6IFRpbWVsaW5lTG9hZGVyLFxyXG4gICAgcmFpZGJvc3NGaWxlRGF0YTogUmFpZGJvc3NGaWxlRGF0YSkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgdGltZWxpbmVMb2FkZXIsIHJhaWRib3NzRmlsZURhdGEpO1xyXG4gICAgY29uc3QgcG9wdXBFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBvcHVwLXRleHQtY29udGFpbmVyLW91dGVyJyk7XHJcbiAgICBpZiAoIShwb3B1cEVsZW0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICB0aGlzLiRwb3B1cFRleHRDb250YWluZXJXcmFwcGVyID0gcG9wdXBFbGVtO1xyXG4gICAgdGhpcy5lbXVsYXRlZE9mZnNldCA9IDA7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRUZXh0ID0gW107XHJcbiAgICB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzID0gW107XHJcblxyXG4gICAgdGhpcy5zZWVraW5nID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgdGVtcGxhdGVFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGVtcGxhdGUudGV4dEVsZW1lbnQnKTtcclxuICAgIGlmICghKHRlbXBsYXRlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlO1xyXG5cclxuICAgIGNvbnN0IHRleHRFbGVtZW50ID0gdGVtcGxhdGVFbGVtZW50LmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XHJcblxyXG4gICAgaWYgKCEodGV4dEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICB0aGlzLiR0ZXh0RWxlbWVudFRlbXBsYXRlID0gdGV4dEVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5hdWRpb0RlYnVnVGV4dER1cmF0aW9uID0gMjAwMDtcclxuXHJcbiAgICBjb25zdCBwYXJlbnRUdHNTYXkgPSB0aGlzLnR0c1NheTtcclxuXHJcbiAgICB0aGlzLnR0c1NheSA9ICh0dHNUZXh0OiBzdHJpbmcpOiB2b2lkID0+IHtcclxuICAgICAgaWYgKHRoaXMuc2Vla2luZylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCBkaXYgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodW5kZWZpbmVkLCB0dHNUZXh0LCAndHRzLXRleHQnKTtcclxuICAgICAgdGhpcy5hZGREaXNwbGF5VGV4dChkaXYsIHRoaXMuZW11bGF0ZWRPZmZzZXQgKyB0aGlzLmF1ZGlvRGVidWdUZXh0RHVyYXRpb24pO1xyXG4gICAgICBwYXJlbnRUdHNTYXkodHRzVGV4dCk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZG9VcGRhdGUoY3VycmVudExvZ1RpbWU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5lbXVsYXRlZE9mZnNldCA9IGN1cnJlbnRMb2dUaW1lO1xyXG4gICAgZm9yIChjb25zdCB0IG9mIHRoaXMuc2NoZWR1bGVkVHJpZ2dlcnMpIHtcclxuICAgICAgY29uc3QgcmVtYWluaW5nID0gdC5leHBpcmVzIC0gY3VycmVudExvZ1RpbWU7XHJcbiAgICAgIGlmIChyZW1haW5pbmcgPD0gMCkge1xyXG4gICAgICAgIHQucmVzb2x2ZXIoKTtcclxuICAgICAgICBhd2FpdCB0LnByb21pc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2NoZWR1bGVkVHJpZ2dlcnMgPSB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzLmZpbHRlcigodCkgPT4ge1xyXG4gICAgICByZXR1cm4gdC5leHBpcmVzIC0gY3VycmVudExvZ1RpbWUgPiAwO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRpc3BsYXllZFRleHQgPSB0aGlzLmRpc3BsYXllZFRleHQuZmlsdGVyKCh0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJlbWFpbmluZyA9IHQuZXhwaXJlcyAtIGN1cnJlbnRMb2dUaW1lO1xyXG4gICAgICBpZiAocmVtYWluaW5nID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW0gPSB0LmVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvcHVwLXRleHQtcmVtYWluaW5nJyk7XHJcbiAgICAgICAgaWYgKCFlbGVtKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGVsZW0udGV4dENvbnRlbnQgPSBgKCR7KHJlbWFpbmluZyAvIDEwMDApLnRvRml4ZWQoMSl9KWA7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdC5lbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIE9uTG9nKF9lOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIH1cclxuXHJcbiAgb25FbXVsYXRvckxvZyhsb2dzOiBMaW5lRXZlbnRbXSk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBsIG9mIGxvZ3MpIHtcclxuICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBsLnRpbWVzdGFtcDtcclxuICAgICAgaWYgKGwuY29udmVydGVkTGluZS5pbmNsdWRlcygnMDA6MDAzODpjYWN0Ym90IHdpcGUnKSlcclxuICAgICAgICB0aGlzLlNldEluQ29tYmF0KGZhbHNlKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxSZWdleD8uZXhlYyhsLmNvbnZlcnRlZExpbmUpO1xyXG4gICAgICAgIGlmIChyKVxyXG4gICAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgY3VycmVudFRpbWUpO1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLm5ldFRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxOZXRSZWdleD8uZXhlYyhsLm5ldHdvcmtMaW5lKTtcclxuICAgICAgICBpZiAocilcclxuICAgICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgT25OZXRMb2coX2U6IEV2ZW50UmVzcG9uc2VzWydMb2dMaW5lJ10pOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICB9XHJcblxyXG4gIGJpbmRUbyhlbXVsYXRvcjogUmFpZEVtdWxhdG9yKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtdWxhdG9yID0gZW11bGF0b3I7XHJcbiAgICBlbXVsYXRvci5vbignZW1pdExvZ3MnLCAoZXZlbnQ6IHsgbG9nczogTGluZUV2ZW50W10gfSkgPT4ge1xyXG4gICAgICB0aGlzLm9uRW11bGF0b3JMb2coZXZlbnQubG9ncyk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCd0aWNrJywgYXN5bmMgKGN1cnJlbnRMb2dUaW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5kb1VwZGF0ZShjdXJyZW50TG9nVGltZSk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdtaWRTZWVrJywgYXN5bmMgKGxpbmU6IExpbmVFdmVudCkgPT4ge1xyXG4gICAgICBhd2FpdCB0aGlzLmRvVXBkYXRlKGxpbmUudGltZXN0YW1wKTtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3ByZVNlZWsnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2Vla2luZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2VtdWxhdG9yUmVzZXQoKTtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3Bvc3RTZWVrJywgKCkgPT4ge1xyXG4gICAgICAvLyBUaGlzIGlzIGEgaGFja3kgZml4IGZvciBhdWRpbyBzdGlsbCBwbGF5aW5nIGR1cmluZyBzZWVrXHJcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlZWtpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgNSk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdjdXJyZW50RW5jb3VudGVyQ2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgY29uc3QgY3VycmVudEVuYyA9IGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXI7XHJcbiAgICAgIGlmICghY3VycmVudEVuYylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCBlbmMgPSBjdXJyZW50RW5jLmVuY291bnRlcjtcclxuICAgICAgaWYgKCFlbmMgfHwgIWVuYy5lbmNvdW50ZXJab25lTmFtZSB8fCBlbmMuZW5jb3VudGVyWm9uZUlkID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5fZW11bGF0b3JSZXNldCgpO1xyXG4gICAgICB0aGlzLk9uQ2hhbmdlWm9uZSh7XHJcbiAgICAgICAgdHlwZTogJ0NoYW5nZVpvbmUnLFxyXG4gICAgICAgIHpvbmVOYW1lOiBlbmMuZW5jb3VudGVyWm9uZU5hbWUsXHJcbiAgICAgICAgem9uZUlEOiBwYXJzZUludChlbmMuZW5jb3VudGVyWm9uZUlkLCAxNiksXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfZW11bGF0b3JSZXNldCgpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzKVxyXG4gICAgICBpLnJlamVjdGVyKCk7XHJcblxyXG4gICAgdGhpcy5zY2hlZHVsZWRUcmlnZ2VycyA9IFtdO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRUZXh0ID0gdGhpcy5kaXNwbGF5ZWRUZXh0LmZpbHRlcigodCkgPT4ge1xyXG4gICAgICB0LmVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50cmlnZ2VyU3VwcHJlc3MgPSB7fTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9jcmVhdGVUZXh0Rm9yKFxyXG4gICAgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcixcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRleHRUeXBlOiBUZXh0LFxyXG4gICAgX2xvd2VyVGV4dEtleTogVGV4dFRleHQsXHJcbiAgICBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCB0ZXh0RWxlbWVudENsYXNzID0gdGV4dFR5cGUgKyAnLXRleHQnO1xyXG4gICAgY29uc3QgZSA9IHRoaXMuX21ha2VUZXh0RWxlbWVudCh0cmlnZ2VySGVscGVyLCB0ZXh0LCB0ZXh0RWxlbWVudENsYXNzKTtcclxuICAgIHRoaXMuYWRkRGlzcGxheVRleHQoZSwgdGhpcy5lbXVsYXRlZE9mZnNldCArIChkdXJhdGlvbiAqIDEwMDApKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBkZWxheSA9ICdkZWxheVNlY29uZHMnIGluIHRyaWdnZXJIZWxwZXIudHJpZ2dlciA/IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5kZWxheVNlY29uZHMpIDogMDtcclxuXHJcbiAgICBpZiAoIWRlbGF5IHx8IGRlbGF5IDw9IDAgfHwgdHlwZW9mIGRlbGF5ICE9PSAnbnVtYmVyJylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCByZXQ6IFByb21pc2U8dm9pZD47XHJcblxyXG4gICAgLy8gRGlzYWJsZSBwcmVmZXItY29uc3QgZHVlIHRvIG5lZWRpbmcgYHJldGAgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQgaW4gcHJvbWlzZVxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxyXG4gICAgcmV0ID0gbmV3IFByb21pc2U8dm9pZD4oKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHRoaXMuc2NoZWR1bGVkVHJpZ2dlcnMucHVzaCh7XHJcbiAgICAgICAgZXhwaXJlczogdGhpcy5lbXVsYXRlZE9mZnNldCArIChkZWxheSAqIDEwMDApLFxyXG4gICAgICAgIHByb21pc2U6IHJldCxcclxuICAgICAgICByZXNvbHZlcjogcmVzLFxyXG4gICAgICAgIHJlamVjdGVyOiByZWosXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX3BsYXlBdWRpb0ZpbGUodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciwgdXJsOiBzdHJpbmcsIHZvbHVtZT86IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKCFbdGhpcy5vcHRpb25zLkluZm9Tb3VuZCwgdGhpcy5vcHRpb25zLkFsZXJ0U291bmQsIHRoaXMub3B0aW9ucy5BbGFybVNvdW5kXVxyXG4gICAgICAuaW5jbHVkZXModXJsKSkge1xyXG4gICAgICBjb25zdCBkaXYgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlciwgdXJsLCAnYXVkaW8tZmlsZScpO1xyXG4gICAgICB0aGlzLmFkZERpc3BsYXlUZXh0KGRpdiwgdGhpcy5lbXVsYXRlZE9mZnNldCArIHRoaXMuYXVkaW9EZWJ1Z1RleHREdXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWVraW5nKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgc3VwZXIuX3BsYXlBdWRpb0ZpbGUodHJpZ2dlckhlbHBlciwgdXJsLCB2b2x1bWUpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX21ha2VUZXh0RWxlbWVudChfdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciB8IHVuZGVmaW5lZCxcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIGNsYXNzTmFtZTogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgJHJldCA9IHRoaXMuJHRleHRFbGVtZW50VGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgaWYgKCEoJHJldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgJHJldC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSAkcmV0LnF1ZXJ5U2VsZWN0b3IoJy5wb3B1cC10ZXh0Jyk7XHJcbiAgICBpZiAoIShjb250YWluZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGNvbnRhaW5lci50ZXh0Q29udGVudCA9IHRleHQ7XHJcbiAgICByZXR1cm4gJHJldDtcclxuICB9XHJcblxyXG4gIGFkZERpc3BsYXlUZXh0KCRlOiBIVE1MRWxlbWVudCwgZW5kVGltZXN0YW1wOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlbWFpbmluZyA9IChlbmRUaW1lc3RhbXAgLSB0aGlzLmVtdWxhdGVkT2Zmc2V0KSAvIDEwMDA7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSAkZS5xdWVyeVNlbGVjdG9yKCcucG9wdXAtdGV4dC1yZW1haW5pbmcnKTtcclxuICAgIGlmICghKGNvbnRhaW5lciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgY29udGFpbmVyLnRleHRDb250ZW50ID0gYCgke3JlbWFpbmluZy50b0ZpeGVkKDEpfSlgO1xyXG4gICAgdGhpcy4kcG9wdXBUZXh0Q29udGFpbmVyV3JhcHBlci5hcHBlbmQoJGUpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRUZXh0LnB1c2goe1xyXG4gICAgICBlbGVtZW50OiAkZSxcclxuICAgICAgZXhwaXJlczogZW5kVGltZXN0YW1wLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgTG9jYWxlT2JqZWN0LCBMb2NhbGVUZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlID0gPFQ+KGxhbmc6IExhbmcsIG9iajogTG9jYWxlT2JqZWN0PFQ+KTogVCA9PiB7XHJcbiAgcmV0dXJuIG9ialtsYW5nXSA/PyBvYmpbJ2VuJ107XHJcbn07XHJcblxyXG50eXBlIFRyYW5zbGF0aW9uID0geyBbc2VsZWN0b3I6IHN0cmluZ106IExvY2FsZVRleHQgfTtcclxuXHJcbmNvbnN0IGVtdWxhdG9yQnV0dG9uczogVHJhbnNsYXRpb24gPSB7XHJcbiAgJy55ZXNCdXR0b24nOiB7XHJcbiAgICBlbjogJ1llcycsXHJcbiAgICBkZTogJ0phJyxcclxuICAgIGZyOiAnT3VpJyxcclxuICAgIGphOiAn44Gv44GEJyxcclxuICAgIGNuOiAn5pivJyxcclxuICB9LFxyXG4gICcubm9CdXR0b24nOiB7XHJcbiAgICBlbjogJ05vJyxcclxuICAgIGRlOiAnTmVpbicsXHJcbiAgICBmcjogJ05vbicsXHJcbiAgICBqYTogJ+OBhOOBhOOBiCcsXHJcbiAgICBjbjogJ+WQpicsXHJcbiAgfSxcclxuICAnLmNsb3NlQnV0dG9uJzoge1xyXG4gICAgZW46ICdDbG9zZScsXHJcbiAgICBkZTogJ1NjaGxpZcOfZW4nLFxyXG4gICAgZnI6ICdGZXJtZXInLFxyXG4gICAgamE6ICfplonjgZjjgosnLFxyXG4gICAgY246ICflhbPpl60nLFxyXG4gIH0sXHJcbiAgJy5kb25lQnV0dG9uJzoge1xyXG4gICAgZW46ICdEb25lPHNwYW4gY2xhc3M9XCJkb25lQnRuVGltZW91dFwiPjwvc3Bhbj4nLFxyXG4gICAgZGU6ICdGZXJ0aWc8c3BhbiBjbGFzcz1cImRvbmVCdG5UaW1lb3V0XCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ1Rlcm1pbsOpPHNwYW4gY2xhc3M9XCJkb25lQnRuVGltZW91dFwiPjwvc3Bhbj4nLFxyXG4gICAgamE6ICflrozkuoY8c3BhbiBjbGFzcz1cImRvbmVCdG5UaW1lb3V0XCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+WujOaIkDxzcGFuIGNsYXNzPVwiZG9uZUJ0blRpbWVvdXRcIj48L3NwYW4+JyxcclxuICB9LFxyXG4gICcubG9hZE5ldHdvcmtMb2dCdXR0b24nOiB7XHJcbiAgICBlbjogJ0xvYWQgTmV0d29yayBMb2cnLFxyXG4gICAgZGU6ICdMYWRlIE5ldHdvcmsgTG9nJyxcclxuICAgIGZyOiAnQ2hhcmdlciBsZSBOZXR3b3JrIExvZycsXHJcbiAgICBqYTogJ+ODjeODg+ODiOODr+ODvOOCr+ODreOCsOOCkuiqreOBv+i+vOOCgCcsXHJcbiAgICBjbjogJ+WKoOi9vee9kee7nOaXpeW/lycsXHJcbiAgfSxcclxuICAnLmV4cG9ydERCQnV0dG9uJzoge1xyXG4gICAgZW46ICdFeHBvcnQgREInLFxyXG4gICAgZGU6ICdEQiBleHBvcnRpZXJlbicsXHJcbiAgICBmcjogJ0V4cG9ydGVyIERCJyxcclxuICAgIGphOiAnRELjgpLjgqjjgq/jgrnjg53jg7zjg4gnLFxyXG4gICAgY246ICflr7zlh7rmlbDmja7lupMnLFxyXG4gIH0sXHJcbiAgJy5pbXBvcnREQkJ1dHRvbic6IHtcclxuICAgIGVuOiAnSW1wb3J0IERCJyxcclxuICAgIGRlOiAnREIgaW1wb3J0aWVyZW4nLFxyXG4gICAgZnI6ICdJbXBvcnRlciBEQicsXHJcbiAgICBqYTogJ0RC44KS44Kk44Oz44Od44O844OIJyxcclxuICAgIGNuOiAn5a+85YWl5pWw5o2u5bqTJyxcclxuICB9LFxyXG4gICcuY2xlYXJEQkJ1dHRvbic6IHtcclxuICAgIGVuOiAnQ2xlYXIgREInLFxyXG4gICAgZGU6ICdEQiBsZWVyZW4nLFxyXG4gICAgZnI6ICdOZXR0b3llciBEQicsXHJcbiAgICBqYTogJ0RC44KS44Kv44Oq44KiJyxcclxuICAgIGNuOiAn5riF6Zmk5pWw5o2u5bqTJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JUaXRsZTogVHJhbnNsYXRpb24gPSB7XHJcbiAgJy50aXRsZSc6IHtcclxuICAgIGVuOiAnQ2FjdGJvdCBSYWlkIEVtdWxhdG9yJyxcclxuICAgIGRlOiAnQ2FjdGJvdCBSYWlkIEVtdWxhdG9yJyxcclxuICAgIGZyOiAnQ2FjdGJvdCBSYWlkIEVtdWxhdG9yJyxcclxuICAgIGphOiAnQ2FjdGJvdOODu+ODrOOCpOODieODu+OCqOODn+ODpeODrOODvOOCv+ODvCcsXHJcbiAgICBjbjogJ0NhY3Rib3QgUmFpZCDmqKHmi5/lmagnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBlbXVsYXRvckltcG9ydE1vZGFsOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnLmltcG9ydFByb2dyZXNzTW9kYWwgLm1vZGFsLXRpdGxlJzoge1xyXG4gICAgZW46ICdMb2cgRmlsZSBJbXBvcnQgUHJvZ3Jlc3MnLFxyXG4gICAgZGU6ICdGb3J0c2Nocml0dCBkZXMgTG9nZGF0ZWkgSW1wb3J0cycsXHJcbiAgICBmcjogJ1Byb2dyZXNzaW9uIGRlIGxcXCdpbXBvcnRhdGlvbiBkdSBmaWNoaWVyIGpvdXJuYWwnLFxyXG4gICAgamE6ICfjg63jgrDjg5XjgqHjgqTjg6vjga7jgqTjg7Pjg53jg7zjg4jpgLLmjZcnLFxyXG4gICAgY246ICfml6Xlv5fmlofku7blr7zlhaXov5vluqYnLFxyXG4gIH0sXHJcbiAgJy5pbXBvcnRQcm9ncmVzc01vZGFsIC5tb2RhbC1ib2R5LWNvbnRlbnRzJzoge1xyXG4gICAgZW46IGA8aDM+TGF0ZXN0IGVuY291bnRlcjo8L2gzPlxyXG4gICAgWm9uZTogPHNwYW4gY2xhc3M9XCJ6b25lXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRW5jb3VudGVyOiA8c3BhbiBjbGFzcz1cImVuY291bnRlclwiPjwvc3Bhbj48YnIgLz5cclxuICAgIFN0YXJ0OiA8c3BhbiBjbGFzcz1cInN0YXJ0XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRW5kOiA8c3BhbiBjbGFzcz1cImVuZFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIER1cmF0aW9uOiA8c3BhbiBjbGFzcz1cImR1ck1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwiZHVyU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICBQdWxsIER1cmF0aW9uOiA8c3BhbiBjbGFzcz1cInB1bGxNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cInB1bGxTZWNzXCI+PC9zcGFuPnM8YnIgLz5cclxuICAgIFN0YXJ0ZWQgQnk6IDxzcGFuIGNsYXNzPVwic3RhcnRlZEJ5XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRW5kIFN0YXR1czogPHNwYW4gY2xhc3M9XCJlbmRTdGF0dXNcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBMaW5lIENvdW50OiA8c3BhbiBjbGFzcz1cImxpbmVDb3VudFwiPjwvc3Bhbj48YnIgLz5gLFxyXG4gICAgZGU6IGA8aDM+TGV0enRlciBLYW1wZjo8L2gzPlxyXG4gICAgWm9uZTogPHNwYW4gY2xhc3M9XCJ6b25lXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgS2FtcGY6IDxzcGFuIGNsYXNzPVwiZW5jb3VudGVyXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgU3RhcnQ6IDxzcGFuIGNsYXNzPVwic3RhcnRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBFbmRlOiA8c3BhbiBjbGFzcz1cImVuZFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIERhdWVyOiA8c3BhbiBjbGFzcz1cImR1ck1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwiZHVyU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICBEYXVlciBkZXMgVmVyc3VjaHM6IDxzcGFuIGNsYXNzPVwicHVsbE1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwicHVsbFNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAgR2VzdGFydGV0IHZvbjogPHNwYW4gY2xhc3M9XCJzdGFydGVkQnlcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBFbmRzdGF0dXM6IDxzcGFuIGNsYXNzPVwiZW5kU3RhdHVzXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgWmVpbGVuYW56YWhsOiA8c3BhbiBjbGFzcz1cImxpbmVDb3VudFwiPjwvc3Bhbj48YnIgLz5gLFxyXG4gICAgZnI6IGA8aDM+RGVybmllciBDb21iYXQgOjwvaDM+XHJcbiAgICBab25lIDogPHNwYW4gY2xhc3M9XCJ6b25lXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgQ29tYmF0YW50IDogPHNwYW4gY2xhc3M9XCJlbmNvdW50ZXJcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBEw6lidXQgOiA8c3BhbiBjbGFzcz1cInN0YXJ0XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRmluIDogPHNwYW4gY2xhc3M9XCJlbmRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBEdXLDqWUgOiA8c3BhbiBjbGFzcz1cImR1ck1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwiZHVyU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICBEdXLDqWUgZHUgcHVsbCA6IDxzcGFuIGNsYXNzPVwicHVsbE1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwicHVsbFNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAgRMOpbWFycsOpIHBhciA6IDxzcGFuIGNsYXNzPVwic3RhcnRlZEJ5XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgU3RhdHVzIGRlIGZpbiA6IDxzcGFuIGNsYXNzPVwiZW5kU3RhdHVzXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgTm9tYnJlIGRlIGxpZ25lcyA6IDxzcGFuIGNsYXNzPVwibGluZUNvdW50XCI+PC9zcGFuPjxiciAvPmAsXHJcbiAgICBqYTogYDxoMz7mnIDmlrDjgqjjg7Pjgqvjgqbjg7Pjg4g6PC9oMz5cclxuICAgIOOCvuODvOODszogPHNwYW4gY2xhc3M9XCJ6b25lXCI+PC9zcGFuPjxiciAvPlxyXG4gICAg44Ko44Oz44Kr44Km44Oz44OIOiA8c3BhbiBjbGFzcz1cImVuY291bnRlclwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOmWi+WnizogPHNwYW4gY2xhc3M9XCJzdGFydFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOe1guS6hjogPHNwYW4gY2xhc3M9XCJlbmRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDplpPpmpQ6IDxzcGFuIGNsYXNzPVwiZHVyTWluc1wiPjwvc3Bhbj5tPHNwYW4gY2xhc3M9XCJkdXJTZWNzXCI+PC9zcGFuPnM8YnIgLz5cclxuICAgIOODl+ODq+OBrumWk+malDogPHNwYW4gY2xhc3M9XCJwdWxsTWluc1wiPjwvc3Bhbj5tPHNwYW4gY2xhc3M9XCJwdWxsU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICDplovlp4vogIU6IDxzcGFuIGNsYXNzPVwic3RhcnRlZEJ5XCI+PC9zcGFuPjxiciAvPlxyXG4gICAg57WC5LqG44K544OG44O844K/44K5OiA8c3BhbiBjbGFzcz1cImVuZFN0YXR1c1wiPjwvc3Bhbj48YnIgLz5cclxuICAgIOihjOaVsDogPHNwYW4gY2xhc3M9XCJsaW5lQ291bnRcIj48L3NwYW4+PGJyIC8+YCxcclxuICAgIGNuOiBgPGgzPuacgOaWsOeahOaImOaWlzogPC9oMz5cclxuICAgIOWMuuWfnzogPHNwYW4gY2xhc3M9XCJ6b25lXCI+PC9zcGFuPjxiciAvPlxyXG4gICAg5oiY5paXOiA8c3BhbiBjbGFzcz1cImVuY291bnRlclwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOW8gOWnizogPHNwYW4gY2xhc3M9XCJzdGFydFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOe7k+adnzogPHNwYW4gY2xhc3M9XCJlbmRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDmjIHnu63ml7bpl7Q6IDxzcGFuIGNsYXNzPVwiZHVyTWluc1wiPjwvc3Bhbj5tPHNwYW4gY2xhc3M9XCJkdXJTZWNzXCI+PC9zcGFuPnM8YnIgLz5cclxuICAgIOWwneivleaXtumXtDogPHNwYW4gY2xhc3M9XCJwdWxsTWluc1wiPjwvc3Bhbj5tPHNwYW4gY2xhc3M9XCJwdWxsU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICDlvIDlp4vkuo46IDxzcGFuIGNsYXNzPVwic3RhcnRlZEJ5XCI+PC9zcGFuPjxiciAvPlxyXG4gICAg57uT5p2f54q25oCBOiA8c3BhbiBjbGFzcz1cImVuZFN0YXR1c1wiPjwvc3Bhbj48YnIgLz5cclxuICAgIOihjOaVsDogPHNwYW4gY2xhc3M9XCJsaW5lQ291bnRcIj48L3NwYW4+PGJyIC8+YCxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JEZWxldGVNb2RhbDogVHJhbnNsYXRpb24gPSB7XHJcbiAgJy5kZWxldGVEQk1vZGFsIC5tb2RhbC10aXRsZSc6IHtcclxuICAgIGVuOiAnRGVsZXRlIEVuY291bnRlciBEYXRhYmFzZScsXHJcbiAgICBkZTogJ0zDtnNjaGUgS2FtcGZkYXRlbmJhbmsnLFxyXG4gICAgZnI6ICdFZmZhY2VyIGxhIGJhc2UgZGUgZG9ubsOpZXMgZHUgY29tYmF0JyxcclxuICAgIGphOiAn44Ko44Oz44Kr44Km44Oz44OIRELjgpLliYrpmaQnLFxyXG4gICAgY246ICfliKDpmaTmiJjmlpfmlbDmja7lupMnLFxyXG4gIH0sXHJcbiAgJy5kZWxldGVEQk1vZGFsIC5tb2RhbC1ib2R5Jzoge1xyXG4gICAgZW46ICc8cD5Zb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSB0aGUgZW5jb3VudGVyIGRhdGFiYXNlLiBBcmUgeW91IHN1cmU/PC9wPicsXHJcbiAgICBkZTogJzxwPkR1IGJpc3Qga3VyeiBkYXZvciBkaWUgS2FtcGZkYXRlbmJhbmsgenUgbMO2c2NoZW4uIEJpc3QgZHUgc2ljaGVyPzwvcD4nLFxyXG4gICAgZnI6ICc8cD5Wb3VzIMOqdGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgbGEgYmFzZSBkZSBkb25uw6llcyBkdSBjb21iYXQuIMOKdGVzLXZvdXMgc8O7ciA/PC9wPicsXHJcbiAgICBqYTogJzxwPuOCqOODs+OCq+OCpuODs+ODiERC44KS5YmK6Zmk44GX44G+44GZ44CC44KI44KN44GX44GE44Gn44GZ44GL77yfPC9wPicsXHJcbiAgICBjbjogJzxwPuWNs+WwhuWIoOmZpOaImOaWl+aVsOaNruW6k+OAguehruWumuWIoOmZpOWQl++8nzwvcD4nLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBlbXVsYXRvckludHJvTW9kYWw6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcuaW50cm9Nb2RhbCAubW9kYWwtdGl0bGUnOiB7XHJcbiAgICBlbjogJ0ludHJvZHVjdGlvbicsXHJcbiAgICBkZTogJ0VpbmbDvGhydW5nJyxcclxuICAgIGZyOiAnSW50cm9kdWN0aW9uJyxcclxuICAgIGphOiAn44Gv44GY44KB44GrJyxcclxuICAgIGNuOiAn566A5LuLJyxcclxuICB9LFxyXG4gICcuaW50cm9Nb2RhbCAubW9kYWwtYm9keSc6IHtcclxuICAgIGVuOiBgPHA+V2VsY29tZSB0byB0aGUgUmFpZCBFbXVsYXRvci48L3A+XHJcbiAgICA8cD5UaGlzIHRvb2wgcmVwbGF5cyBlbmNvdW50ZXJzIGFuZCBzaG93cyB3aGF0IHRyaWdnZXJzIHdlcmUgZmlyZWQgd2hlbiwgYW5kIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgZW5jb3VudGVyIGZyb20gYW55IHBsYXllcidzIHBlcnNwZWN0aXZlLjwvcD5cclxuICAgIDxwPlRoaXMgdG9vbCBvcHRpb25hbGx5IGFjY2VwdHMgYW4gPHN0cm9uZz5PVkVSTEFZX1dTPC9zdHJvbmc+IHBhcmFtZXRlciB0byBjb25uZWN0IHRvIGFuIEFDVCB3ZWIgc29ja2V0IHdpdGggYm90aCBuZ2xkJ3MgT3ZlcmxheVBsdWdpbiBhbmQgdGhlIENhY3Rib3QgcGx1Z2luIGxvYWRlZC48L3A+XHJcbiAgICA8cD5JZiBjb25uZWN0ZWQgdG8gYSB3ZWIgc29ja2V0LCB0aGlzIHRvb2wgd2lsbCBsb2FkIGFuZCByZXNwZWN0IHVzZXIgY29uZmlndXJhdGlvbiBmaWxlcyBmb3IgY2FjdGJvdC9yYWlkYm9zcy48L3A+XHJcbiAgICA8cD5ObyBvdmVybGF5cyBuZWVkIHRvIGJlIGNyZWF0ZWQuPC9wPlxyXG4gICAgPHA+Q3VycmVudCBXZWJTb2NrZXQgc3RhdHVzOiA8c3BhbiBjbGFzcz1cImQtbm9uZSB3ZWJzb2NrZXRDb25uZWN0ZWQgdGV4dC1zdWNjZXNzXCI+Q29ubmVjdGVkPC9zcGFuPjxzcGFuIGNsYXNzPVwid2Vic29ja2V0RGlzY29ubmVjdGVkIHRleHQtd2FybmluZ1wiPkRpc2Nvbm5lY3RlZDwvc3Bhbj4uPC9wPlxyXG4gICAgPHA+VG8gZ2V0IHN0YXJ0ZWQsIHlvdSBuZWVkIHRvIGltcG9ydCBhbiBlbmNvdW50ZXIgdmlhIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6PC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+RHJhZyBhbmQgZHJvcCBhIG5ldHdvcmsgbG9nIGZpbGUgZnJvbSA8Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT4gb24gdG8gdGhlIHBhZ2U8L2xpPlxyXG4gICAgICAgIDxsaT5DbGljayB0aGUgPGNvZGU+TG9hZCBOZXR3b3JrIExvZzwvY29kZT4gYnV0dG9uIGluIHRoZSBib3R0b20gZHJhd2VyIGFuZCBzZWxlY3QgYSBuZXR3b3JrIGxvZyBmaWxlIGZyb20gPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5cclxuICAgIDxwPlRoZW4sIHNlbGVjdCBhbiBlbmNvdW50ZXIgdmlhIHRoZSBib3R0b20gZHJhd2VyLjwvcD5cclxuICAgIDxwPk9uY2UgeW91IGhhdmUgbG9hZGVkIGFuIGVuY291bnRlciwgeW91IGNhbjo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT5DaGFuZ2UgdGhlIGN1cnJlbnQgcGVyc3BlY3RpdmUgYnkgc2VsZWN0aW5nIGEgcGFydHkgbWVtYmVyIG9uIHRoZSByaWdodDwvbGk+XHJcbiAgICAgICAgPGxpPlNlZWsgdG8gYW55IHBvaW50IGluIHRoZSBlbmNvdW50ZXIgYnkgY2xpY2tpbmcgdGhlIGJhciBhdCB0aGUgdG9wPC9saT5cclxuICAgICAgICA8bGk+SG92ZXIgb3ZlciB0cmlnZ2VyIGluZGljYXRvcnMgaW4gdGhlIHRvcCBiYXIgdG8gc2VlIHRoZWlyIG5hbWVzPC9saT5cclxuICAgICAgICA8bGk+U2VlIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRyaWdnZXJzIGZpcmVkIGJ5IGNsaWNraW5nIHRoZWlyIGJ1dHRvbjwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+YCxcclxuICAgIGRlOiBgPHA+V2lsbGtvbW1lbiB6dW0gUmFpZCBFbXVsYXRvci48L3A+XHJcbiAgICA8cD5EaWVzZXMgVG9vbCBnaWJ0IEvDpG1wZmUgd2llZGVyIHVuZCB6ZWlndCwgd2VsY2hlIFRyaWdnZXIgd2FubiBhdXNnZWbDvGhydCB3dXJkZW4sIHVuZCBlcm3DtmdsaWNodCBlcywgZGllIEvDpG1wZmUgYXVzIGRlciBQZXJzcGVrdGl2ZSBlaW5lcyBiZWxpZWJpZ2VuIFNwaWVsZXJzIHp1IGJldHJhY2h0ZW4uPC9wPlxyXG4gICAgPHA+RGllc2VzIFRvb2wgYWt6ZXB0aWVydCBvcHRpb25hbCBlaW5lbiA8c3Ryb25nPk9WRVJMQVlfV1M8L3N0cm9uZz4tUGFyYW1ldGVyLCB1bSBzaWNoIG1pdCBlaW5lbSBBQ1QtV2Vic29ja2V0IHp1IHZlcmJpbmRlbiwgaW4gZGVtIHNvd29obCBkYXMgT3ZlcmxheVBsdWdpbiB2b24gbmdsZCBhbHMgYXVjaCBkYXMgQ2FjdGJvdC1QbHVnaW4gZ2VsYWRlbiBzaW5kLjwvcD5cclxuICAgIDxwPldlbm4gZWluZSBWZXJiaW5kdW5nIHp1IGVpbmVtIFdlYnNvY2tldCBiZXN0ZWh0LCBsw6RkdCBkaWVzZXMgVG9vbCBkaWUgS29uZmlndXJhdGlvbnNkYXRlaWVuIGbDvHIgY2FjdGJvdC9yYWlkYm9zcyB1bmQgYmVudXR6dCBkaWVzZS48L3A+XHJcbiAgICA8cD5FcyBtw7xzc2VuIGtlaW5lIE92ZXJsYXlzIGVyc3RlbGx0IHdlcmRlbi48L3A+XHJcbiAgICA8cD5Ba3R1ZWxsZXIgV2ViU29ja2V0LVN0YXR1czogPHNwYW4gY2xhc3M9XCJkLW5vbmUgd2Vic29ja2V0Q29ubmVjdGVkIHRleHQtc3VjY2Vzc1wiPlZlcmJ1bmRlbjwvc3Bhbj48c3BhbiBjbGFzcz1cIndlYnNvY2tldERpc2Nvbm5lY3RlZCB0ZXh0LXdhcm5pbmdcIj5UcmVubnQgZGllIFZlcmJpbmR1bmc8L3NwYW4+LjwvcD5cclxuICAgIDxwPlVtIGxvc3p1bGVnZW4sIG11c3MgZWluIEthbXBmIMO8YmVyIGVpbmUgZGVyIGZvbGdlbmRlbiBPcHRpb25lbiBpbXBvcnRpZXJ0IHdlcmRlbjo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT5aaWVoZSBlaW5lIE5ldHdvcmstTG9nZGF0ZWkgYXVzIDxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPiBhdWYgZGllIFNlaXRlPC9saT5cclxuICAgICAgICA8bGk+S2xpY2tlIGF1ZiBkaWUgU2NoYWx0ZmzDpGNoZSA8Y29kZT5MYWRlIE5ldHdvcmsgTG9nPC9jb2RlPiBpbiBkZW0gdW50ZXJlbiBCZXJlaWNoIHVuZCB3w6RobGUgZWluIE5ldHdvcmsgTG9nIGF1cyA8Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT48L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPlxyXG4gICAgPHA+RGFubiB3w6RobGUgw7xiZXIgZGVuIHVudGVyZW4gQmVyZWljaCBlaW5lbiBLYW1wZiBhdXMuPC9wPlxyXG4gICAgPHA+U29iYWxkIGVpbiBLYW1wZiBnZWxhZGVuIHd1cmRlLCBrw7ZubmVuIGZvbGdlbmRlIEFrdGlvbmVuIGF1c2dlZsO8aHJ0IHdlcmRlbjo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT5XZWNoc2VsbiBkZXIgYWt0dWVsbGUgUGVyc3Bla3RpdmUsIGluZGVtIGVpbiBHcnVwcGVubWl0Z2xpZWQgYXVmIGRlciByZWNodGVuIFNlaXRlIGF1c2dld8OkaGx0IHdpcmQ8L2xpPlxyXG4gICAgICAgIDxsaT5NaXQgZWluZW0gS2xpY2sgYXVmIGRpZSBMZWlzdGUgYW0gb2JlcmVuIFJhbmQsIHVtIHp1IGVpbmVtIGJlbGllYmlnZW4gUHVua3QgaW4gZGVtIEthbXBmIHp1IHNwcmluZ2VuPC9saT5cclxuICAgICAgICA8bGk+RmFocmUgbWl0IGRlbSBNYXVzemVpZ2VyIMO8YmVyIFRyaWdnZXItSW5kaWthdG9yZW4gaW4gZGVyIG9iZXJlbiBMZWlzdGUsIHVtIGRlcmVuIE5hbWVuIHp1IHNlaGVuPC9saT5cclxuICAgICAgICA8bGk+RGV0YWlsbGllcnRlIEluZm9ybWF0aW9uZW4gw7xiZXIgYWt0aXZpZXJ0ZW4gVHJpZ2dlciBhbnplaWdlbiBsYXNzZW4sIGluZGVtIGF1ZiBkaWUgZW50c3ByZWNoZW5kZSBTY2hhbHRmbMOkY2hlIGdla2xpY2t0IHdpcmQ8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPmAsXHJcbiAgICBmcjogYDxwPkJpZW52ZW51ZSBkYW5zIGwnw6ltdWxhdGV1ciBkZSByYWlkLjwvcD5cclxuICAgIDxwPkNldCBvdXRpbCByZWpvdWUgbGVzIHJlbmNvbnRyZXMgZXQgbW9udHJlIHF1ZWxzIHRyaWdnZXJzIG9udCDDqXTDqSBkw6ljbGVuY2jDqXMgw6AgcXVlbCBtb21lbnQsIGV0IHZvdXMgcGVybWV0IGRlIHZvaXIgbGEgcmVuY29udHJlIGR1IHBvaW50IGRlIHZ1ZSBkZSBuJ2ltcG9ydGUgcXVlbCBqb3VldXIuPC9wPlxyXG4gICAgPHA+Q2V0IG91dGlsIGFjY2VwdGUgw6l2ZW50dWVsbGVtZW50IGxlIHBhcmFtw6h0cmUgPHN0cm9uZz5PVkVSTEFZX1dTPC9zdHJvbmc+IHBvdXIgc2UgY29ubmVjdGVyIMOgIHVuIFdlYiBzb2NrZXQgQUNUIGF2ZWMgw6AgbGEgZm9pcyBPdmVybGF5UGx1Z2luIGRlIG5nbGQgZXQgbGUgcGx1Z2luIENhY3Rib3QgY2hhcmfDqXMuPC9wPlxyXG4gICAgPHA+UydpbCBlc3QgY29ubmVjdMOpIMOgIHVuIFdlYiBzb2NrZXQsIGNldCBvdXRpbCBjaGFyZ2VyYSBldCByZXNwZWN0ZXJhIGxlcyBmaWNoaWVycyBkZSBjb25maWd1cmF0aW9uIHV0aWxpc2F0ZXVyIHBvdXIgY2FjdGJvdC9yYWlkYm9zcy48L3A+XHJcbiAgICA8cD5BdWN1biBvdmVybGF5IG4nYSBiZXNvaW4gZCfDqnRyZSBjcsOpw6llLjwvcD5cclxuICAgIDxwPsOJdGF0IGFjdHVlbCBkZSBXZWJTb2NrZXQgOiA8c3BhbiBjbGFzcz1cImQtbm9uZSB3ZWJzb2NrZXRDb25uZWN0ZWQgdGV4dC1zdWNjZXNzXCI+Q29ubmVjdMOpPC9zcGFuPjxzcGFuIGNsYXNzPVwid2Vic29ja2V0RGlzY29ubmVjdGVkIHRleHQtd2FybmluZ1wiPkTDqWNvbm5lY3TDqTwvc3Bhbj4uPC9wPlxyXG4gICAgPHA+UG91ciBjb21tZW5jZXIsIHZvdXMgZGV2ZXogaW1wb3J0ZXIgdW5lIHJlbmNvbnRyZSB2aWEgbCd1bmUgZGVzIG9wdGlvbnMgc3VpdmFudGVzIDo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT5GYWl0ZXMgZ2xpc3NlciBldCBkw6lwb3NleiB1biBmaWNoaWVyIGxvZyBkZXB1aXMgPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+IHN1ciBsYSBwYWdlPC9saT5cclxuICAgICAgICA8bGk+Q2xpcXVleiBzdXIgbGUgYm91dG9uIDxjb2RlPkNoYXJnZXIgTmV0d29yayBMb2c8L2NvZGU+IGRhbnMgbGUgdGlyb2lyIGR1IGJhcyBldCBzw6lsZWN0aW9ubmV6IHVuIGZpY2hpZXIgbG9nIGRhbnMgPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5cclxuICAgIDxwPkVuc3VpdGUsIHPDqWxlY3Rpb25uZXogdW5lIHJlbmNvbnRyZSB2aWEgbGUgdGlyb2lyIGR1IGJhcy48L3A+XHJcbiAgICA8cD5VbmUgZm9pcyBxdWUgdm91cyBhdmV6IGNoYXJnw6kgdW5lIHJlbmNvbnRyZSwgdm91cyBwb3V2ZXogOjwvcD5cclxuICAgIDxwPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpPk1vZGlmaWV6IGxhIHBlcnNwZWN0aXZlIGFjdHVlbGxlIGVuIHPDqWxlY3Rpb25uYW50IHVuIG1lbWJyZSBkdSBncm91cGUgc3VyIGxhIGRyb2l0ZTwvbGk+XHJcbiAgICAgICAgPGxpPlJlY2hlcmNoZXogbidpbXBvcnRlIHF1ZWwgcG9pbnQgZGUgbGEgcmVuY29udHJlIGVuIGNsaXF1YW50IHN1ciBsYSBiYXJyZSBlbiBoYXV0PC9saT5cclxuICAgICAgICA8bGk+UGFzc2V6IGxhIHNvdXJpcyBzdXIgbGVzIGluZGljYXRldXJzIGRlcyB0cmlnZ2VycyBkYW5zIGxhIGJhcnJlIHN1cMOpcmlldXJlIHBvdXIgdm9pciBsZXVycyBub21zPC9saT5cclxuICAgICAgICA8bGk+Vm9pciBkZXMgaW5mb3JtYXRpb25zIGTDqXRhaWxsw6llcyBzdXIgbGVzIHRyaWdnZXJzIGTDqWNsZW5jaMOpcyBlbiBjbGlxdWFudCBzdXIgbGV1ciBib3V0b248L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPmAsXHJcbiAgICBqYTogYDxwPuODrOOCpOODieODu+OCqOODn+ODpeODrOODvOOCv+ODvOOBuOOCiOOBhuOBk+OBneOAgjwvcD5cclxuICAgIDxwPuOBk+OBruODhOODvOODq+OBr+ODkOODiOODq+OCkuWGjeeUn+OBl+OAgeODiOODquOCrOODvOOBjOS9leaZguOBq+eZuuWLleOBleOCjOOBn+OBi+OCkuihqOekuuOBl+OAgeS7u+aEj+ODl+ODrOOCpOODpOODvOOBruimlueCueOBi+OCieODkOODiOODq+OCkuWGjeeUn+OBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcD5cclxuICAgIDxwPuOBk+OBruODhOODvOODq+OBryA8c3Ryb25nPk9WRVJMQVlfV1M8L3N0cm9uZz4g44Go44GE44GG44Kq44OX44K344On44Oz44KS5Y+X44GR5YWl44KM44KL44GT44Go44GM44Gn44GN44G+44GZ44CC44GT44KM44Gr44KI44KK44CBbmdsZOanmOOBrk92ZXJsYXlQbHVnaW7jgahjYWN0Ym9044Gu44OX44Op44Kw44Kk44Oz44KS5pCt6LyJ44GX44GfQUNU44GuV2ViU29ja2V044Gr5o6l57aa44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCPC9wPlxyXG4gICAgPHA+V2ViU29ja2V044Gr5o6l57aa44GV44KM44Gm44GE44KL5aC05ZCI44CB44GT44Gu44OE44O844Or44GvY2FjdGJvdC9yYWlkYm9zc+OBruioreWumuODleOCoeOCpOODq+OCkuiqreOBv+i+vOOBv+OAgeOBneOCjOOCieOCkuS9v+eUqOOBl+OBvuOBmeOAgjwvcD5cclxuICAgIDxwPuOCquODvOODkOODvOODrOOCpOOBr+S9nOaIkOOBmeOCi+W/heimgeOBr+OBguOCiuOBvuOBm+OCk+OAgjwvcD5cclxuICAgIDxwPuePvuWcqOOBrldlYlNvY2tldOOBrueKtuaFizogPHNwYW4gY2xhc3M9XCJkLW5vbmUgd2Vic29ja2V0Q29ubmVjdGVkIHRleHQtc3VjY2Vzc1wiPuaOpee2mua4iDwvc3Bhbj48c3BhbiBjbGFzcz1cIndlYnNvY2tldERpc2Nvbm5lY3RlZCB0ZXh0LXdhcm5pbmdcIj7liIfmlq3kuK08L3NwYW4+44CCPC9wPlxyXG4gICAgPHA+44G+44Ga44CB5Lul5LiL44Gu44GE44Ga44KM44GL44Gu5pa55rOV44Gn44OQ44OI44Or44KS44Kk44Oz44Od44O844OI44GX44Gm44GP44Gg44GV44GEOjwvcD5cclxuICAgIDxwPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpPjxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPuOBi+OCieODjeODg+ODiOODr+ODvOOCr+ODreOCsOOCkuODieODqeODg+OCsO+8huODieODreODg+ODl+OBl+OBpuOAgeODmuODvOOCuOOBq+ODieODreODg+ODl+OBl+OBpuOBj+OBoOOBleOBhDwvbGk+XHJcbiAgICAgICAgPGxpPuS4i+OBrjxjb2RlPuODjeODg+ODiOODr+ODvOOCr+ODreOCsOOCkuiqreOBv+i+vOOCgDwvY29kZT7jg5zjgr/jg7PjgpLjgq/jg6rjg4Pjgq/jgZfjgabjgIE8Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT7jgavjgYLjgovjg43jg4Pjg4jjg6/jg7zjgq/jg63jgrDjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQ8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPlxyXG4gICAgPHA+5qyh44Gr44CB44OQ44OI44Or44KS6YG45oqe44GX44Gm44GP44Gg44GV44GE44CCPC9wPlxyXG4gICAgPHA+44OQ44OI44Or44KS6YG45oqe44GX44Gf44KJ44CB5Lul5LiL44Gu44KI44GG44Gr6KGM5YuV44Gn44GN44G+44GZOjwvcD5cclxuICAgIDxwPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpPuODkOODiOODq+WGheOBruimlueCueOCkuWkieabtOOBmeOCi+OBq+OBr+OAgeWPs+WBtOOBruODkeODvOODhuOCo+ODvOODoeODs+ODkOODvOWQjeOCkumBuOaKnuOBl+OBvuOBmTwvbGk+XHJcbiAgICAgICAgPGxpPuS4iumDqOODkOODvOOBruODiOODquOCrOODvOOCpOODs+OCuOOCseODvOOCv+ODvOOCkuOCr+ODquODg+OCr+OBmeOCi+OBqOODiOODquOCrOODvOWQjeOCkueiuuiqjeOBp+OBjeOBvuOBmTwvbGk+XHJcbiAgICAgICAgPGxpPuODiOODquOCrOODvOOCkuODnuOCpuOCueOCquODvOODkOODvOOBl+OBpuOAgeODiOODquOCrOODvOWQjeOCkueiuuiqjeOBp+OBjeOBvuOBmTwvbGk+XHJcbiAgICAgICAgPGxpPuODiOODquOCrOODvOOBjOacieWKueOBq+OBquOBo+OBpuOBhOOCi+WgtOWQiOOAgeODiOODquOCrOODvOOBruips+e0sOaDheWgseOCkuihqOekuuOBmeOCi+OBq+OBr+ODiOODquOCrOODvOOCkuOCr+ODquODg+OCr+OBl+OBvuOBmTwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+YCxcclxuICAgIGNuOiBgPHA+5qyi6L+O5p2l5YiwUmFpZOaooeaLn+WZqOOAgjwvcD5cclxuICAgIDxwPuatpOW3peWFt+WPr+S7peWbnuaUvuaImOaWl++8jOaYvuekuuWQhOS4quinpuWPkeWZqOeahOinpuWPkeaXtuacuu+8jOS9oOi/mOWPr+S7peS7juS7u+aEj+Wwj+mYn+aIkOWRmOeahOinkuW6puafpeeci+aImOaWl+OAgjwvcD5cclxuICAgIDxwPuS9oOWPr+S7peWQkeatpOW3peWFt+S8oOmAgTxzdHJvbmc+T1ZFUkxBWV9XUzwvc3Ryb25nPuWPguaVsO+8jOS7pei/nuaOpeWIsOWQjOaXtuWKoOi9veS6hm5nbGTnmoRPdmVybGF5UGx1Z2lu5ZKMQ2FjdGJvdOaPkuS7tueahEFDVCBXZWJzb2NrZXTmjqXlj6PjgII8L3A+XHJcbiAgICA8cD7oi6Xov57mjqXmiJDlip/vvIzmraTlt6XlhbflsIbliqDovb3lubbpgbXlvqpjYWN0Ym90L3JhaWRib3Nz55qE55So5oi36YWN572u5paH5Lu244CCPC9wPlxyXG4gICAgPHA+5L2g5LiN6ZyA6KaB5Yib5bu65oKs5rWu56qX44CCPC9wPlxyXG4gICAgPHA+5b2T5YmNV2ViU29ja2V06L+e5o6l54q25oCBOiA8c3BhbiBjbGFzcz1cImQtbm9uZSB3ZWJzb2NrZXRDb25uZWN0ZWQgdGV4dC1zdWNjZXNzXCI+5bey6L+e5o6lPC9zcGFuPjxzcGFuIGNsYXNzPVwid2Vic29ja2V0RGlzY29ubmVjdGVkIHRleHQtd2FybmluZ1wiPuW3suaWreW8gDwvc3Bhbj4uPC9wPlxyXG4gICAgPHA+6aaW5YWI77yM5L2g6ZyA6KaB6YCa6L+H5Lul5LiL5pa55rOV5LmL5LiA5a+85YWl5LiA5Zy65oiY5paXOiA8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT7ku448Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT7kuK3pgInlj5bkuIDkuKrnvZHnu5zml6Xlv5fmlofku7bmi5bmlL7liLDpobXpnaLkuIrjgII8L2xpPlxyXG4gICAgICAgIDxsaT7ngrnlh7vkuIvmlrnnmoQ8Y29kZT7liqDovb3nvZHnu5zml6Xlv5c8L2NvZGU+5oyJ6ZKu77yM5LuOPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+5Lit6YCJ5Y+W5LiA5Liq572R57uc5pel5b+X5paH5Lu244CCPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5cclxuICAgIDxwPueEtuWQju+8jOWcqOeql+WPo+W6lemDqOmAieaLqeS4gOWcuuaImOaWl+OAgjwvcD5cclxuICAgIDxwPuS4gOaXpuS9oOWKoOi9veS6huS4gOWcuuaImOaWl++8jOS9oOWPr+S7pTogPC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+6YCa6L+H5Zyo5Y+z6L656YCJ5oup5LiA5ZCN6Zif5ZGY5p2l5pS55Y+Y5b2T5YmN6KeG6KeSPC9saT5cclxuICAgICAgICA8bGk+6YCa6L+H54K55Ye76aG26YOo55qE5p2h54q25Zu+5p2l5a+75om+5oiY5paX5Lit55qE5Lu75L2V5LiA5Liq5pe26Ze054K5PC9saT5cclxuICAgICAgICA8bGk+5oKs5YGc5Zyo6aG25qCP55qE6Kem5Y+R5Zmo5oyH56S65Zmo5LiK77yM5Y+v5Lul55yL5Yiw5a6D5Lus55qE5ZCN56ewPC9saT5cclxuICAgICAgICA8bGk+54K55Ye76Kem5Y+R5Zmo55qE5oyJ6ZKu77yM5Y+v5Lul55yL5Yiw5YWz5LqO5a6D5Lus55qE6K+m57uG5L+h5oGvPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5gLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBlbXVsYXRvckRpc2Nvbm5lY3RlZE1vZGFsOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnLmRpc2Nvbm5lY3RlZE1vZGFsIC5tb2RhbC10aXRsZSc6IHtcclxuICAgIGVuOiAnQ3VycmVudGx5IERpc2Nvbm5lY3RlZCcsXHJcbiAgICBkZTogJ01vbWVudGFuIG5pY2h0IHZlYnVuZGVuJyxcclxuICAgIGZyOiAnQWN0dWVsbGVtZW50IGTDqWNvbm5lY3TDqScsXHJcbiAgICBqYTogJ+WIh+aWreOBleOCjOOBpuOBhOOBvuOBmScsXHJcbiAgICBjbjogJ+W3suaWreW8gOi/nuaOpScsXHJcbiAgfSxcclxuICAnLmRpc2Nvbm5lY3RlZE1vZGFsIC5tb2RhbC1ib2R5Jzoge1xyXG4gICAgZW46IGA8cD5SYWlkIEVtdWxhdG9yIGlzIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQgZnJvbSBBQ1QuPC9wPlxyXG4gICAgPHA+UmFpZCBFbXVsYXRvciB3aWxsIHVzZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgcmFpZGJvc3MuIFRoZXNlIGFyZTo8L3A+XHJcbiAgICA8dWw+XHJcbiAgICAgIDxsaT5EaXNwbGF5IGxhbmd1YWdlOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nRGlzcGxheVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+RGVmYXVsdCBhbGVydCBvdXRwdXQ6IFRleHQgYW5kIFNvdW5kPC9saT5cclxuICAgICAgPGxpPkFsZXJ0cyBsYW5ndWFnZTogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0FsZXJ0c1wiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+VGltZWxpbmUgbGFuZ3VhZ2U6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdUaW1lbGluZVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgPC91bD5gLFxyXG4gICAgZGU6IGA8cD5SYWlkIEVtdWxhdG9yIGlzdCBtb21lbnRhbiBuaWNodCBtaXQgQUNUIHZlcmJ1bmRlbi48L3A+XHJcbiAgICA8cD5SYWlkIEVtdWxhdG9yIHdpcmQgZGllIFN0YW5kYXJkZWluc3RlbGx1bmdlbiBmw7xyIFJhaWRib3NzIGJlbnV0emVuLiBEaWVzZSBzbmQ6PC9wPlxyXG4gICAgPHVsPlxyXG4gICAgICA8bGk+QW56ZWlnZXNwcmFjaGU6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdEaXNwbGF5XCI+PC9zcGFuPjwvbGk+XHJcbiAgICAgIDxsaT5TdGFuZGFyZCBBbGFybSBBdXNnYWJlOiBUZXh0IHVuZCBUb248L2xpPlxyXG4gICAgICA8bGk+QWxhcm1zcHJhY2hlOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nQWxlcnRzXCI+PC9zcGFuPjwvbGk+XHJcbiAgICAgIDxsaT5UaW1lbGluZSBTcHJhY2hlOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nVGltZWxpbmVcIj48L3NwYW4+PC9saT5cclxuICAgIDwvdWw+YCxcclxuICAgIGZyOiBgPHA+UmFpZCBFbXVsYXRvciBlc3QgYWN0dWVsbGVtZW50IGTDqWNvbm5lY3TDqSBkJ0FDVC48L3A+XHJcbiAgICA8cD5SYWlkIEVtdWxhdG9yIHV0aWxpc2UgbGVzIHBhcmFtw6h0cmVzIHBhciBkw6lmYXV0IHBvdXIgcmFpZGJvc3MgOjwvcD5cclxuICAgIDx1bD5cclxuICAgICAgPGxpPkxhbmd1ZSBkJ2FmZmljaGFnZSA6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdEaXNwbGF5XCI+PC9zcGFuPjwvbGk+XHJcbiAgICAgIDxsaT5BbGVydGUgcGFyIGTDqWZhdXQgOiBUZXh0ZSBldCBTb248L2xpPlxyXG4gICAgICA8bGk+TGFuZ3VlIGRlcyBhbGVydGVzIDogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0FsZXJ0c1wiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+TGFuZ3VlIGRlcyB0aW1lbGluZXMgOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nVGltZWxpbmVcIj48L3NwYW4+PC9saT5cclxuICAgIDwvdWw+YCxcclxuICAgIGphOiBgPHA+54++5Zyo44CB44Os44Kk44OJ44O744Ko44Of44Ol44Os44O844K/44O844GvQUNU44Go44Gu5o6l57aa44GM5YiH5pat44GV44KM44Gm44GE44G+44GZ44CCPC9wPlxyXG4gICAgPHA+44Os44Kk44OJ44O744Ko44Of44Ol44Os44O844K/44O844GvcmFpZGJvc3Pjg6Ljgrjjg6Xjg7zjg6vjga7ml6LlrprlgKTjgpLkvb/nlKjjgZfjgb7jgZnjgILjgZPjgozjgonjga/mrKHjga7jgajjgYrjgorjgafjgZk6PC9wPlxyXG4gICAgPHVsPlxyXG4gICAgICA8bGk+6KGo56S66KiA6KqeOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nRGlzcGxheVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+6K2m5ZGK5oOF5aCx5Ye65Yqb5pei5a6a5YCkOiDjg4bjgq3jgrnjg4jjgajpn7M8L2xpPlxyXG4gICAgICA8bGk+6K2m5ZGK5oOF5aCx6KiA6KqeOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nQWxlcnRzXCI+PC9zcGFuPjwvbGk+XHJcbiAgICAgIDxsaT7jgr/jgqTjg6Djg6njgqTjg7PoqIDoqp46IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdUaW1lbGluZVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgPC91bD5gLFxyXG4gICAgY246IGA8cD5SYWlk5qih5ouf5Zmo55uu5YmN5LiOQUNU5pat5byA5LqG6L+e5o6l44CCPC9wPlxyXG4gICAgPHA+UmFpZOaooeaLn+WZqOWwhuS9v+eUqHJhaWRib3Nz55qE6buY6K6k6K6+572u44CC6L+Z5Lqb6K6+572u5pivOjwvcD5cclxuICAgIDx1bD5cclxuICAgICAgPGxpPuaYvuekuuivreiogDogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0Rpc3BsYXlcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPum7mOiupOitpuaKpeaPkOekuuS/oeaBr+i+k+WHuuaWueW8jzog5paH5a2X5pi+56S65LiO5o+Q56S66Z+zPC9saT5cclxuICAgICAgPGxpPuitpuaKpeaPkOekuuaWh+Wtl+eahOivreiogDogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0FsZXJ0c1wiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+5pe26Ze06L205paH5pys55qE6K+t6KiAOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nVGltZWxpbmVcIj48L3NwYW4+PC9saT5cclxuICAgIDwvdWw+YCxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JMYWJlbHM6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcgbGFiZWxbZm9yPWhpZGVTa2lwcGVkXSc6IHtcclxuICAgIGVuOiAnSGlkZSBTa2lwcGVkJyxcclxuICAgIGRlOiAnVmVyc3RlY2tlIMOcYmVyc3BydW5nZW5lIEVpbnRyw6RnZScsXHJcbiAgICBmcjogJ01hc3F1ZXIgbGVzIGVudHLDqWVzIHNhdXTDqWVzJyxcclxuICAgIGphOiAn44K544Kt44OD44OX44GX44Gf6aCF55uu44KS6Zqg44GZJyxcclxuICAgIGNuOiAn6ZqQ6JeP5bey6Lez6L+H6aG555uuJyxcclxuICB9LFxyXG4gICcgbGFiZWxbZm9yPWhpZGVDb2xsZWN0b3JdJzoge1xyXG4gICAgZW46ICdIaWRlIENvbGxlY3RvcnMnLFxyXG4gICAgZGU6ICdWZXJzdGVja2UgXCJTYW1tZWxcIiBFaW50csOkZ2UnLFxyXG4gICAgZnI6ICdNYXNxdWVyIGxlcyBlbnRyw6llcyBjb2xsZWN0w6llcycsXHJcbiAgICBqYTogJ+eEoeWHuuWKm+ODiOODquOCrOODvOOCkumaoOOBmScsXHJcbiAgICBjbjogJ+makOiXj+aUtumbhuWZqCcsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IGVtdWxhdG9yVG9vbHRpcHM6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcudHJpZ2dlckhpZGVTa2lwcGVkJzoge1xyXG4gICAgZW46ICdIaWRlIHRyaWdnZXJzIHRoYXQgd2VyZSBub3QgZXhlY3V0ZWQnLFxyXG4gICAgZGU6ICdWZXJzdGVja2UgVHJpZ2dlciwgZGllIG5pY2h0IGF1c2dlZsO8aHJ0IHd1cmRlbicsXHJcbiAgICBmcjogJ01hc3F1ZXIgbGVzIHRyaWdnZXJzIG5vbi1leGVjdXTDqXMnLFxyXG4gICAgamE6ICflrp/ooYzjgZXjgozjgarjgYvjgaPjgZ/jg4jjg6rjgqzjg7zjgpLpmqDjgZknLFxyXG4gICAgY246ICfpmpDol4/mnKrmiafooYznmoTop6blj5HlmagnLFxyXG4gIH0sXHJcbiAgJy50cmlnZ2VySGlkZUNvbGxlY3Rvcic6IHtcclxuICAgIGVuOiAnSGlkZSB0cmlnZ2VycyB0aGF0IGhhZCBubyBvdXRwdXQnLFxyXG4gICAgZGU6ICdWZXJzdGVja2UgVHJpZ2dlciwgZGllIGtlaW5lIEF1c2dhYmUgaGF0dGVuJyxcclxuICAgIGZyOiAnTWFzcXVlciBsZXMgdHJpZ2dlcnMgc2FucyBzb3J0aWUnLFxyXG4gICAgamE6ICflh7rlipvjgYzjgarjgYTjg4jjg6rjgqzjg7zjgpLpmqDjgZknLFxyXG4gICAgY246ICfpmpDol4/msqHmnInovpPlh7rnmoTop6blj5HlmagnLFxyXG4gIH0sXHJcbiAgJy5jb25uZWN0ZWRJbmRpY2F0b3InOiB7XHJcbiAgICBlbjogJ0Nvbm5lY3RlZCB0byB3ZWJzb2NrZXQnLFxyXG4gICAgZGU6ICdNaXQgV2Vic29ja2V0IHZlcmJ1bmRlbicsXHJcbiAgICBmcjogJ0Nvbm5lY3TDqSBhdSBXZWJzb2NrZXQnLFxyXG4gICAgamE6ICdXZWJTb2NrZXTjgavmjqXntprmuIjjgb8nLFxyXG4gICAgY246ICfov57mjqXliLB3ZWJzb2NrZXQnLFxyXG4gIH0sXHJcbiAgJy5kaXNjb25uZWN0ZWRJbmRpY2F0b3InOiB7XHJcbiAgICBlbjogJ0Rpc2Nvbm5lY3RlZCBmcm9tIHdlYnNvY2tldCcsXHJcbiAgICBkZTogJ0tlaW5lIFZlcmJpbmR1bmcgenVtIFdlYnNvY2tldCcsXHJcbiAgICBmcjogJ0TDqWNvbm5lY3TDqSBkdSBXZWJzb2NrZXQnLFxyXG4gICAgamE6ICdXZWJTb2NrZXTjgavmjqXntprjgZfjgabjgYTjgb7jgZvjgpMnLFxyXG4gICAgY246ICfkuI53ZWJzb2NrZXTmlq3lvIDov57mjqUnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBlbXVsYXRvckVuY291bnRlckluZm86IFRyYW5zbGF0aW9uID0ge1xyXG4gICcuZW5jb3VudGVyTG9hZCc6IHtcclxuICAgIGVuOiAnTG9hZCBFbmNvdW50ZXInLFxyXG4gICAgZGU6ICdMYWRlIEthbXBmJyxcclxuICAgIGZyOiAnQ2hhcmdlciBjb21iYXQnLFxyXG4gICAgamE6ICfjgqjjg7Pjgqvjgqbjg7Pjg4jjgpLoqq3jgb/ovrzjgoAnLFxyXG4gICAgY246ICfliqDovb3miJjmlpcnLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJQYXJzZSc6IHtcclxuICAgIGVuOiAnUmVwYXJzZSBFbmNvdW50ZXInLFxyXG4gICAgZGU6ICdLYW1wZiBlcm5ldXQgYW5hbHlzaWVyZW4nLFxyXG4gICAgZnI6ICdSZXBhcnNlciBsZSBjb21iYXQnLFxyXG4gICAgamE6ICfjgqjjg7Pjgqvjgqbjg7Pjg4jjgpLlho3op6PmnpAnLFxyXG4gICAgY246ICfph43mlrDop6PmnpDmiJjmlpcnLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJQcnVuZSc6IHtcclxuICAgIGVuOiAnUHJ1bmUgRW5jb3VudGVyJyxcclxuICAgIGRlOiAnS2FtcGYgbGVlcmVuJyxcclxuICAgIGZyOiAnQ29tYmF0IHZpZGUnLFxyXG4gICAgamE6ICfjgqjjg7Pjgqvjgqbjg7Pjg4jjgpLjgqvjg4Pjg4gnLFxyXG4gICAgY246ICfoo4HliarmiJjmlpcnLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJEZWxldGUnOiB7XHJcbiAgICBlbjogJ0RlbGV0ZSBFbmNvdW50ZXInLFxyXG4gICAgZGU6ICdLYW1wZiBsw7ZzY2hlbicsXHJcbiAgICBmcjogJ0VmZmFjZXIgY29tYmF0JyxcclxuICAgIGphOiAn44Ko44Oz44Kr44Km44Oz44OI44KS5YmK6ZmkJyxcclxuICAgIGNuOiAn5Yig6Zmk5oiY5paXJyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyWm9uZSc6IHtcclxuICAgIGVuOiAnWm9uZTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZGU6ICdab25lOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ1pvbmUgOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBqYTogJ+OCvuODvOODszogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICfljLrln586IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyU3RhcnQnOiB7XHJcbiAgICBlbjogJ1N0YXJ0OiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBkZTogJ1N0YXJ0OiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ0TDqWJ1dCA6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGphOiAn6ZaL5aeLOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+W8gOWnizogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJEdXJhdGlvbic6IHtcclxuICAgIGVuOiAnRHVyYXRpb246IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnRGF1ZXI6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGZyOiAnRHVyw6llIDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgamE6ICfmjIHntprmmYLplpM6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGNuOiAn5oyB57ut5pe26Ze0OiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgfSxcclxuICAnLmVuY291bnRlck9mZnNldCc6IHtcclxuICAgIGVuOiAnUHVsbCBBdDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZGU6ICdTdGFydCB1bTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICdQdWxsIMOgIDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgamE6ICfmiKbpl5jplovlp4s6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGNuOiAn5byA5aeL5LqOOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgfSxcclxuICAnLmVuY291bnRlck5hbWUnOiB7XHJcbiAgICBlbjogJ05hbWU6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnTmFtZTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICdOb20gOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBqYTogJ+WQjeWJjTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICflkI3np7A6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyU3RhcnRTdGF0dXMnOiB7XHJcbiAgICBlbjogJ1N0YXJ0IFN0YXR1czogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZGU6ICdTdGFydCBTdGF0dXM6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGZyOiAnw4l0YXQgZHUgZMOpbWFycmFnZSA6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGphOiAn6ZaL5aeL54q25oWLOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+W8gOWni+eKtuaAgTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJFbmRTdGF0dXMnOiB7XHJcbiAgICBlbjogJ0VuZCBTdGF0dXM6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnRW5kc3RhdHVzOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ8OJdGF0IGRlIGZpbiA6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGphOiAn57WC5LqG54q25oWLOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+e7k+adn+eKtuaAgTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBUaGVzZSBlbGVtZW50cyBnZXQgdGhlaXIgaW5uZXJIVE1MIHNldCB0byB0aGUgdHJhbnNsYXRlZCB2YWx1ZVxyXG5leHBvcnQgY29uc3QgZW11bGF0b3JUcmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uID0ge1xyXG4gIC4uLmVtdWxhdG9yQnV0dG9ucyxcclxuICAuLi5lbXVsYXRvclRpdGxlLFxyXG4gIC4uLmVtdWxhdG9ySW1wb3J0TW9kYWwsXHJcbiAgLi4uZW11bGF0b3JEZWxldGVNb2RhbCxcclxuICAuLi5lbXVsYXRvckludHJvTW9kYWwsXHJcbiAgLi4uZW11bGF0b3JEaXNjb25uZWN0ZWRNb2RhbCxcclxuICAuLi5lbXVsYXRvckxhYmVscyxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFRoZXNlIGVsZW1lbnRzIGdldCB0aGVpciB0aXRsZSBzZXQgdG8gdGhlIHRyYW5zbGF0ZWQgdmFsdWVcclxuZXhwb3J0IGNvbnN0IGVtdWxhdG9yVG9vbHRpcFRyYW5zbGF0aW9uczogVHJhbnNsYXRpb24gPSB7XHJcbiAgLi4uZW11bGF0b3JUb29sdGlwcyxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFRlbXBsYXRlIGVsZW1lbnRzIG5lZWQgc3BlY2lhbCBoYW5kbGluZywgYW55IHRlbXBsYXRlcyB0aGF0IGhhdmUgdHJhbnNsYXRhYmxlIGVsZW1lbnRzXHJcbi8vIHNob3VsZCBiZSBsaXN0ZWQgaGVyZVxyXG5leHBvcnQgY29uc3QgZW11bGF0b3JUZW1wbGF0ZVRyYW5zbGF0aW9uczogeyBbc2VsZWN0b3I6IHN0cmluZ106IFRyYW5zbGF0aW9uIH0gPSB7XHJcbiAgJ3RlbXBsYXRlLmVuY291bnRlckluZm8nOiBlbXVsYXRvckVuY291bnRlckluZm8sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZW11bGF0b3JTdGFydFN0YXR1c2VzID0ge1xyXG4gIHVua25vd246IHtcclxuICAgIGVuOiAnVW5rbm93bicsXHJcbiAgICBkZTogJ1VuYmVrYW5udCcsXHJcbiAgICBmcjogJ0luY29ubnUnLFxyXG4gICAgamE6ICfkuI3mmI4nLFxyXG4gICAgY246ICfmnKrnn6UnLFxyXG4gIH0sXHJcbiAgY291bnRkb3duOiB7XHJcbiAgICBlbjogJ0NvdW50ZG93bicsXHJcbiAgICBkZTogJ0NvdW50ZG93bicsXHJcbiAgICBmcjogJ0NvbXB0ZSDDoCByZWJvdXJzJyxcclxuICAgIGphOiAn44Kr44Km44Oz44OI44OA44Km44OzJyxcclxuICAgIGNuOiAn5YCS6K6h5pe2JyxcclxuICB9LFxyXG4gIHNlYWw6IHtcclxuICAgIGVuOiAnU2VhbCcsXHJcbiAgICBkZTogJ1ZlcnNpZWdlbG4nLFxyXG4gICAgZnI6ICdGZXJtZXR1cmUnLFxyXG4gICAgamE6ICflsIHpjpYnLFxyXG4gICAgY246ICflsIHplIEnLFxyXG4gIH0sXHJcbiAgZW5nYWdlOiB7XHJcbiAgICBlbjogJ0VuZ2FnZScsXHJcbiAgICBkZTogJ1N0YXJ0JyxcclxuICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWUnLFxyXG4gICAgamE6ICfmiKbpl5jplovlp4snLFxyXG4gICAgY246ICfmiJjmlpfkuK0nLFxyXG4gIH0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZW11bGF0b3JFbmRTdGF0dXNlcyA9IHtcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJ1Vua25vd24nLFxyXG4gICAgZGU6ICdVbmJla2FubnQnLFxyXG4gICAgZnI6ICdJbmNvbm51JyxcclxuICAgIGphOiAn5LiN5piOJyxcclxuICAgIGNuOiAn5pyq55+lJyxcclxuICB9LFxyXG4gIHdpbjoge1xyXG4gICAgZW46ICdXaW4nLFxyXG4gICAgZGU6ICdHZXdvbm5lbicsXHJcbiAgICBmcjogJ0dhZ27DqScsXHJcbiAgICBqYTogJ+WLneWIqScsXHJcbiAgICBjbjogJ+iDnOWIqScsXHJcbiAgfSxcclxuICB3aXBlOiB7XHJcbiAgICBlbjogJ1dpcGUnLFxyXG4gICAgZGU6ICdXaXBlJyxcclxuICAgIGZyOiAnV2lwZScsXHJcbiAgICBqYTogJ+ODr+OCpOODlycsXHJcbiAgICBjbjogJ+WboueBrScsXHJcbiAgfSxcclxuICBjYWN0Ym90V2lwZToge1xyXG4gICAgZW46ICdDYWN0Ym90IFdpcGUnLFxyXG4gICAgZGU6ICdDYWN0Ym90IFdpcGUnLFxyXG4gICAgZnI6ICdDYWN0Ym90IFdpcGUnLFxyXG4gICAgamE6ICdDYWN0Ym9044Gr44KI44KL44Ov44Kk44OXJyxcclxuICAgIGNuOiAnQ2FjdGJvdOWboueBrScsXHJcbiAgfSxcclxuICB1bnNlYWw6IHtcclxuICAgIGVuOiAnVW5zZWFsJyxcclxuICAgIGRlOiAnRW50c2llZ2VsbicsXHJcbiAgICBmcjogJ091dmVydHVyZScsXHJcbiAgICBqYTogJ+ino+mZpCcsXHJcbiAgICBjbjogJ+ino+WwgScsXHJcbiAgfSxcclxufTtcclxuXHJcbi8vIEBUT0RPOiBDaGFuZ2UgZW5jb3VudGVyIHRvIHN0b3JlIGtleXMgZm9yIHN0YXR1c2VzIGluc3RlYWQgb2YgZW5nbGlzaCB2YWx1ZXMgYXMgYVxyXG4vLyBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLlxyXG5leHBvcnQgY29uc3QgbG9va3VwU3RhcnRTdGF0dXNlcyA9IChsYW5nOiBMYW5nLCBzdGF0dXNlc1N0cjogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBjb25zdCBlbmdTdGF0dXNlcyA9IHN0YXR1c2VzU3RyLnNwbGl0KCcsICcpO1xyXG4gIGNvbnN0IHRyYW5zU3RhdHVzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgZm9yIChjb25zdCBzdGF0dXMgb2YgZW5nU3RhdHVzZXMpIHtcclxuICAgIGZvciAoY29uc3QgbWFwIG9mIE9iamVjdC52YWx1ZXMoZW11bGF0b3JTdGFydFN0YXR1c2VzKSkge1xyXG4gICAgICBpZiAobWFwLmVuID09PSBzdGF0dXMpIHtcclxuICAgICAgICB0cmFuc1N0YXR1c2VzLnB1c2godHJhbnNsYXRlKGxhbmcsIG1hcCkpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiB0cmFuc1N0YXR1c2VzLmpvaW4oJywgJyk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbG9va3VwRW5kU3RhdHVzID0gKGxhbmc6IExhbmcsIHN0YXR1czogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBmb3IgKGNvbnN0IG1hcCBvZiBPYmplY3QudmFsdWVzKGVtdWxhdG9yRW5kU3RhdHVzZXMpKSB7XHJcbiAgICBpZiAobWFwLmVuID09PSBzdGF0dXMpXHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUobGFuZywgbWFwKTtcclxuICB9XHJcbiAgcmV0dXJuIHN0YXR1cztcclxufTtcclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuXHJcbmNvbnN0IGhpZGVFdmVudHMgPSBbXHJcbiAgJ21vdXNlbGVhdmUnLFxyXG4gICdibHVyJyxcclxuXSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IHZhbGlkRGlyZWN0aW9ucyA9IFtcclxuICAndG9wJyxcclxuICAncmlnaHQnLFxyXG4gICdib3R0b20nLFxyXG4gICdsZWZ0JyxcclxuXSBhcyBjb25zdDtcclxudHlwZSBWYWxpZERpcmVjdGlvbiA9IHR5cGVvZiB2YWxpZERpcmVjdGlvbnNbbnVtYmVyXTtcclxuXHJcbmNvbnN0IHNob3dFdmVudHMgPSBbXHJcbiAgJ21vdXNlZW50ZXInLFxyXG4gICdmb2N1cycsXHJcbl0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFRlbXBsYXRlc1R5cGUgPSB7IFtQcm9wZXJ0eSBpbiBWYWxpZERpcmVjdGlvbl06IEhUTUxUZW1wbGF0ZUVsZW1lbnQgfTtcclxuXHJcbmNvbnN0IHRvUHggPSAocHg6IG51bWJlcik6IHN0cmluZyA9PiBgJHtweH1weGA7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUb29sdGlwIHtcclxuICBwdWJsaWMgb2Zmc2V0ID0ge1xyXG4gICAgeDogMCxcclxuICAgIHk6IDAsXHJcbiAgfTtcclxuICBwcml2YXRlIHRvb2x0aXA6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgaW5uZXI6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgYXJyb3c6IEhUTUxFbGVtZW50O1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyB0ZW1wbGF0ZXM6IFRlbXBsYXRlc1R5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0YXJnZXQ6IEhUTUxFbGVtZW50LFxyXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb246IFZhbGlkRGlyZWN0aW9uLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgYXV0b1Nob3cgPSB0cnVlLFxyXG4gICAgYXV0b0hpZGUgPSB0cnVlLFxyXG4gICkge1xyXG4gICAgVG9vbHRpcC5pbml0aWFsaXplVGVtcGxhdGVzKCk7XHJcblxyXG4gICAgaWYgKCEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XHJcbiAgICAgIGNvbnN0IG1zZyA9ICdJbnZhbGlkIGVsZW1lbnQgcGFzc2VkIHRvIFRvb2x0aXAnO1xyXG4gICAgICBjb25zb2xlLmVycm9yKG1zZyk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9vbHRpcCA9IFRvb2x0aXAuY2xvbmVUZW1wbGF0ZShkaXJlY3Rpb24pO1xyXG4gICAgY29uc3QgaW5uZXJFbGVtID0gdGhpcy50b29sdGlwLnF1ZXJ5U2VsZWN0b3IoJy50b29sdGlwLWlubmVyJyk7XHJcbiAgICBpZiAoIShpbm5lckVsZW0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICB0aGlzLmlubmVyID0gaW5uZXJFbGVtO1xyXG4gICAgY29uc3QgYXJyb3dFbGVtID0gdGhpcy50b29sdGlwLnF1ZXJ5U2VsZWN0b3IoJy5hcnJvdycpO1xyXG4gICAgaWYgKCEoYXJyb3dFbGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgdGhpcy5hcnJvdyA9IGFycm93RWxlbTtcclxuICAgIHRoaXMuc2V0VGV4dCh0ZXh0KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMudG9vbHRpcCk7XHJcbiAgICBpZiAoYXV0b1Nob3cpIHtcclxuICAgICAgc2hvd0V2ZW50cy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy50YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihlLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3coKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYXV0b0hpZGUpIHtcclxuICAgICAgaGlkZUV2ZW50cy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy50YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihlLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUZXh0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbm5lci50ZXh0Q29udGVudCA9IHRleHQ7XHJcbiAgfVxyXG5cclxuICBzaG93KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0UmVjdCA9IHRoaXMudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgdGFyZ2V0TWlkZGxlID0ge1xyXG4gICAgICB4OiB0YXJnZXRSZWN0LnggKyAodGFyZ2V0UmVjdC53aWR0aCAvIDIpLFxyXG4gICAgICB5OiB0YXJnZXRSZWN0LnkgKyAodGFyZ2V0UmVjdC5oZWlnaHQgLyAyKSxcclxuICAgIH07XHJcbiAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRoaXMudG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIC8vIE1pZGRsZSBvZiB0b29sdGlwIC0gaGFsZiBvZiBhcnJvdyBoZWlnaHRcclxuICAgIGNvbnN0IGxyQXJyb3dIZWlnaHQgPSAodG9vbHRpcFJlY3QuaGVpZ2h0IC8gMikgLVxyXG4gICAgICAodGhpcy5hcnJvdy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgLyAyKTtcclxuICAgIHN3aXRjaCAodGhpcy5kaXJlY3Rpb24pIHtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLnRvb2x0aXAuc3R5bGUubGVmdCA9IHRvUHgoKHRhcmdldE1pZGRsZS54IC0gKHRvb2x0aXBSZWN0LndpZHRoIC8gMikpICsgdGhpcy5vZmZzZXQueCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLmJvdHRvbSA9IHRvUHgoKHRhcmdldFJlY3QueSAtIHRvb2x0aXBSZWN0LmhlaWdodCkgKyB0aGlzLm9mZnNldC55KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHRoaXMudG9vbHRpcC5zdHlsZS5sZWZ0ID0gdG9QeCh0YXJnZXRSZWN0LnJpZ2h0ICsgdGhpcy5vZmZzZXQueCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLnRvcCA9IHRvUHgoKHRhcmdldE1pZGRsZS55IC0gKHRvb2x0aXBSZWN0LmhlaWdodCAvIDIpKSArIHRoaXMub2Zmc2V0LnkpO1xyXG4gICAgICAgIHRoaXMuYXJyb3cuc3R5bGUudG9wID0gdG9QeChsckFycm93SGVpZ2h0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICB0aGlzLnRvb2x0aXAuc3R5bGUubGVmdCA9IHRvUHgoKHRhcmdldE1pZGRsZS54IC0gKHRvb2x0aXBSZWN0LndpZHRoIC8gMikpICsgdGhpcy5vZmZzZXQueCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLnRvcCA9IHRvUHgodGFyZ2V0UmVjdC5ib3R0b20gKyB0aGlzLm9mZnNldC55KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLmxlZnQgPSB0b1B4KCh0YXJnZXRSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCkgKyB0aGlzLm9mZnNldC54KTtcclxuICAgICAgICB0aGlzLnRvb2x0aXAuc3R5bGUudG9wID0gdG9QeCgodGFyZ2V0TWlkZGxlLnkgLSAodG9vbHRpcFJlY3QuaGVpZ2h0IC8gMikpICsgdGhpcy5vZmZzZXQueSk7XHJcbiAgICAgICAgdGhpcy5hcnJvdy5zdHlsZS50b3AgPSB0b1B4KGxyQXJyb3dIZWlnaHQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b29sdGlwLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICAgIHRoaXMudG9vbHRpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2hvdycsICcnKTtcclxuICB9XHJcblxyXG4gIGhpZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgdGhpcy50b29sdGlwLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1zaG93Jyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvb2x0aXAucmVtb3ZlKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaW5pdGlhbGl6ZVRlbXBsYXRlcygpOiB2b2lkIHtcclxuICAgIGlmIChUb29sdGlwLnRlbXBsYXRlcylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIFRvb2x0aXAudGVtcGxhdGVzID0ge1xyXG4gICAgICB0b3A6IFRvb2x0aXAuZ2V0VGVtcGxhdGUoJ3RvcCcpLFxyXG4gICAgICByaWdodDogVG9vbHRpcC5nZXRUZW1wbGF0ZSgncmlnaHQnKSxcclxuICAgICAgYm90dG9tOiBUb29sdGlwLmdldFRlbXBsYXRlKCdib3R0b20nKSxcclxuICAgICAgbGVmdDogVG9vbHRpcC5nZXRUZW1wbGF0ZSgnbGVmdCcpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRUZW1wbGF0ZShkaXI6IHN0cmluZyk6IEhUTUxUZW1wbGF0ZUVsZW1lbnQge1xyXG4gICAgY29uc3QgZWxlbU5hbWUgPSBgJHtkaXJ9VG9vbHRpcFRlbXBsYXRlYDtcclxuICAgIGNvbnN0IHJldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1OYW1lKTtcclxuICAgIGlmIChyZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClcclxuICAgICAgcmV0dXJuIHJldCBhcyBIVE1MVGVtcGxhdGVFbGVtZW50O1xyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNsb25lVGVtcGxhdGUoZGlyZWN0aW9uOiBWYWxpZERpcmVjdGlvbik6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IHRlbXBsYXRlID0gVG9vbHRpcC50ZW1wbGF0ZXNbZGlyZWN0aW9uXTtcclxuICAgIGNvbnN0IG5vZGUgPSB0ZW1wbGF0ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoJy50b29sdGlwJyk/LmNsb25lTm9kZSh0cnVlKTtcclxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvdXRpbCc7XHJcbmltcG9ydCBBbmFseXplZEVuY291bnRlciwgeyBQZXJzcGVjdGl2ZVRyaWdnZXIgfSBmcm9tICcuLi9kYXRhL0FuYWx5emVkRW5jb3VudGVyJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuLi9kYXRhL1JhaWRFbXVsYXRvcic7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiwgeyBjbG9uZVNhZmUsIGdldFRlbXBsYXRlQ2hpbGQsIHF1ZXJ5U2VsZWN0b3JTYWZlIH0gZnJvbSAnLi4vRW11bGF0b3JDb21tb24nO1xyXG5pbXBvcnQgRXZlbnRCdXMgZnJvbSAnLi4vRXZlbnRCdXMnO1xyXG5cclxuaW1wb3J0IFRvb2x0aXAgZnJvbSAnLi9Ub29sdGlwJztcclxuXHJcbmNvbnN0IGpvYk9yZGVyID0gW1xyXG4gICdQTEQnLFxyXG4gICdXQVInLFxyXG4gICdEUksnLFxyXG4gICdHTkInLFxyXG4gICdXSE0nLFxyXG4gICdTQ0gnLFxyXG4gICdBU1QnLFxyXG4gICdTR0UnLFxyXG4gICdNTksnLFxyXG4gICdEUkcnLFxyXG4gICdOSU4nLFxyXG4gICdTQU0nLFxyXG4gICdSUFInLFxyXG4gICdCUkQnLFxyXG4gICdNQ0gnLFxyXG4gICdETkMnLFxyXG4gICdCTE0nLFxyXG4gICdTTU4nLFxyXG4gICdSRE0nLFxyXG4gICdCTFUnLFxyXG5dIGFzIGNvbnN0O1xyXG5cclxudHlwZSBKb2JPcmRlclR5cGUgPSB0eXBlb2Ygam9iT3JkZXJbbnVtYmVyXTtcclxuXHJcbmNvbnN0IGlzSm9iT3JkZXIgPSAoam9iPzogc3RyaW5nKTogam9iIGlzIEpvYk9yZGVyVHlwZSA9PiB7XHJcbiAgcmV0dXJuIGpvYk9yZGVyLmluY2x1ZGVzKGpvYiBhcyBKb2JPcmRlclR5cGUpO1xyXG59O1xyXG5cclxudHlwZSBQYXJ0eUluZm8gPSB7XHJcbiAgJHJvb3RFbGVtOiBIVE1MRWxlbWVudDtcclxuICAkaWNvbkVsZW06IEhUTUxFbGVtZW50O1xyXG4gICRocEVsZW06IEhUTUxFbGVtZW50O1xyXG4gICRocExhYmVsRWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgJGhwUHJvZ0VsZW06IEhUTUxFbGVtZW50O1xyXG4gICRtcEVsZW06IEhUTUxFbGVtZW50O1xyXG4gICRtcExhYmVsRWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgJG1wUHJvZ0VsZW06IEhUTUxFbGVtZW50O1xyXG4gICRuYW1lRWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgaWQ6IHN0cmluZztcclxuICAkdHJpZ2dlckVsZW06IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxudHlwZSBQYXJ0eUluZm9NYXAgPSB7XHJcbiAgW2lkOiBzdHJpbmddOiBQYXJ0eUluZm87XHJcbn07XHJcblxyXG50eXBlIENvbGxhcHNlUGFyYW1zID0ge1xyXG4gIHRpbWU6IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGNsYXNzZXM6IHN0cmluZ1tdO1xyXG4gICRvYmo6IEhUTUxFbGVtZW50O1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICBvbmNsaWNrPzogQ2FsbGFibGVGdW5jdGlvbjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVtdWxhdGVkUGFydHlJbmZvIGV4dGVuZHMgRXZlbnRCdXMge1xyXG4gIHByaXZhdGUgJHBhcnR5SW5mbzogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSAkdHJpZ2dlckluZm86IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgJHRyaWdnZXJIaWRlU2tpcHBlZENoZWNrYm94OiBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIHByaXZhdGUgJHRyaWdnZXJIaWRlQ29sbGVjdENoZWNrYm94OiBIVE1MSW5wdXRFbGVtZW50O1xyXG4gIHByaXZhdGUgJHRyaWdnZXJCYXI6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgbGF0ZXN0RGlzcGxheWVkU3RhdGU6IG51bWJlcjtcclxuICBwcml2YXRlIGN1cnJlbnRQZXJzcGVjdGl2ZT86IHN0cmluZztcclxuICBwcml2YXRlIHVwZGF0ZVRyaWdnZXJTdGF0ZTogKCkgPT4gdm9pZDtcclxuICBwcml2YXRlICR0cmlnZ2VySXRlbVRlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlICRwbGF5ZXJJbmZvUm93VGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgJHBsYXllclRyaWdnZXJJbmZvVGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgJGpzb25WaWV3ZXJUZW1wbGF0ZTogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSAkd3JhcENvbGxhcHNlVGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgdG9vbHRpcHM6IFRvb2x0aXBbXSA9IFtdO1xyXG4gIHByaXZhdGUgdHJpZ2dlckJhcnM6IEhUTUxFbGVtZW50W10gPSBbXTtcclxuICBwcml2YXRlIGRpc3BsYXllZFBhcnR5OiBQYXJ0eUluZm9NYXAgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbXVsYXRvcjogUmFpZEVtdWxhdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy4kcGFydHlJbmZvID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcucGFydHlJbmZvQ29sdW1uIC5wYXJ0eScpO1xyXG4gICAgdGhpcy4kdHJpZ2dlckluZm8gPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy50cmlnZ2VySW5mb0NvbHVtbicpO1xyXG4gICAgY29uc3Qgc2tpcHBlZCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLnRyaWdnZXJIaWRlU2tpcHBlZCcpO1xyXG4gICAgaWYgKCEoc2tpcHBlZCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLiR0cmlnZ2VySGlkZVNraXBwZWRDaGVja2JveCA9IHNraXBwZWQ7XHJcbiAgICBjb25zdCBjb2xsZWN0b3IgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy50cmlnZ2VySGlkZUNvbGxlY3RvcicpO1xyXG4gICAgaWYgKCEoY29sbGVjdG9yIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIHRoaXMuJHRyaWdnZXJIaWRlQ29sbGVjdENoZWNrYm94ID0gY29sbGVjdG9yO1xyXG4gICAgdGhpcy4kdHJpZ2dlckJhciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLnBsYXllclRyaWdnZXJzJyk7XHJcbiAgICB0aGlzLmxhdGVzdERpc3BsYXllZFN0YXRlID0gMDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgODsgKytpKVxyXG4gICAgICB0aGlzLnRyaWdnZXJCYXJzW2ldID0gcXVlcnlTZWxlY3RvclNhZmUodGhpcy4kdHJpZ2dlckJhciwgJy5wbGF5ZXInICsgaS50b1N0cmluZygpKTtcclxuXHJcbiAgICBlbXVsYXRvci5vbigndGljaycsIChfY3VycmVudExvZ1RpbWUsIGxhc3RMb2dMaW5lVGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChsYXN0TG9nTGluZVRpbWUpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhcnR5SW5mbyhlbXVsYXRvciwgbGFzdExvZ0xpbmVUaW1lKTtcclxuICAgICAgICB0aGlzLmxhdGVzdERpc3BsYXllZFN0YXRlID0gTWF0aC5tYXgodGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSwgbGFzdExvZ0xpbmVUaW1lKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbignY3VycmVudEVuY291bnRlckNoYW5nZWQnLCAoZW5jb3VudGVyOiBBbmFseXplZEVuY291bnRlcikgPT4ge1xyXG4gICAgICB0aGlzLnJlc2V0UGFydHlJbmZvKGVuY291bnRlcik7XHJcbiAgICB9KTtcclxuXHJcbiAgICBlbXVsYXRvci5vbigncHJlU2VlaycsICgpID0+IHtcclxuICAgICAgdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSA9IDA7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwb3N0U2VlaycsICh0aW1lOiBudW1iZXIpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVQYXJ0eUluZm8oZW11bGF0b3IsIHRpbWUpO1xyXG4gICAgICB0aGlzLmxhdGVzdERpc3BsYXllZFN0YXRlID0gTWF0aC5tYXgodGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSwgdGltZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudXBkYXRlVHJpZ2dlclN0YXRlID0gKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy4kdHJpZ2dlckhpZGVTa2lwcGVkQ2hlY2tib3guY2hlY2tlZClcclxuICAgICAgICB0aGlzLmhpZGVOb25FeGVjdXRlZFRyaWdnZXJzKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnNob3dOb25FeGVjdXRlZFRyaWdnZXJzKCk7XHJcbiAgICAgIGlmICh0aGlzLiR0cmlnZ2VySGlkZUNvbGxlY3RDaGVja2JveC5jaGVja2VkKVxyXG4gICAgICAgIHRoaXMuaGlkZUNvbGxlY3RvclRyaWdnZXJzKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnNob3dDb2xsZWN0b3JUcmlnZ2VycygpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuJHRyaWdnZXJIaWRlU2tpcHBlZENoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMudXBkYXRlVHJpZ2dlclN0YXRlKTtcclxuICAgIHRoaXMuJHRyaWdnZXJIaWRlQ29sbGVjdENoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMudXBkYXRlVHJpZ2dlclN0YXRlKTtcclxuXHJcbiAgICB0aGlzLiR0cmlnZ2VySXRlbVRlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLnRyaWdnZXJJdGVtJyk7XHJcbiAgICB0aGlzLiRwbGF5ZXJJbmZvUm93VGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKGRvY3VtZW50LCAndGVtcGxhdGUucGxheWVySW5mb1JvdycpO1xyXG4gICAgdGhpcy4kcGxheWVyVHJpZ2dlckluZm9UZW1wbGF0ZSA9IGdldFRlbXBsYXRlQ2hpbGQoZG9jdW1lbnQsICd0ZW1wbGF0ZS5wbGF5ZXJUcmlnZ2VySW5mbycpO1xyXG4gICAgdGhpcy4kanNvblZpZXdlclRlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLmpzb25WaWV3ZXInKTtcclxuICAgIHRoaXMuJHdyYXBDb2xsYXBzZVRlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLndyYXBDb2xsYXBzZScpO1xyXG4gIH1cclxuXHJcbiAgaGlkZU5vbkV4ZWN1dGVkVHJpZ2dlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLiR0cmlnZ2VySW5mby5xdWVyeVNlbGVjdG9yQWxsKCcudHJpZ2dlci1ub3QtZXhlY3V0ZWQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgIG4uY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dOb25FeGVjdXRlZFRyaWdnZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kdHJpZ2dlckluZm8ucXVlcnlTZWxlY3RvckFsbCgnLnRyaWdnZXItbm90LWV4ZWN1dGVkJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICBuLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBoaWRlQ29sbGVjdG9yVHJpZ2dlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLiR0cmlnZ2VySW5mby5xdWVyeVNlbGVjdG9yQWxsKCcudHJpZ2dlci1uby1vdXRwdXQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgIG4uY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dDb2xsZWN0b3JUcmlnZ2VycygpOiB2b2lkIHtcclxuICAgIHRoaXMuJHRyaWdnZXJJbmZvLnF1ZXJ5U2VsZWN0b3JBbGwoJy50cmlnZ2VyLW5vLW91dHB1dCcpLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbi5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFydHlJbmZvKGVtdWxhdG9yOiBSYWlkRW11bGF0b3IsIHRpbWVzdGFtcDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbmMgPSBlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyO1xyXG4gICAgaWYgKCFlbmMpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGZvciAoY29uc3QgaWQgaW4gdGhpcy5kaXNwbGF5ZWRQYXJ0eSlcclxuICAgICAgdGhpcy51cGRhdGVDb21iYXRhbnRJbmZvKGVuYywgaWQsIHRpbWVzdGFtcCk7XHJcbiAgfVxyXG5cclxuICByZXNldFBhcnR5SW5mbyhlbmNvdW50ZXI6IEFuYWx5emVkRW5jb3VudGVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBlbmMgPSBlbmNvdW50ZXIuZW5jb3VudGVyO1xyXG4gICAgY29uc3QgdHJhY2tlciA9IGVuYy5jb21iYXRhbnRUcmFja2VyO1xyXG4gICAgaWYgKCFlbmMgfHwgIXRyYWNrZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIHRoaXMudG9vbHRpcHMubWFwKCh0dDogVG9vbHRpcCkgPT4ge1xyXG4gICAgICB0dC5kZWxldGUoKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudG9vbHRpcHMgPSBbXTtcclxuICAgIHRoaXMuY3VycmVudFBlcnNwZWN0aXZlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRQYXJ0eSA9IHt9O1xyXG4gICAgdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSA9IDA7XHJcbiAgICB0aGlzLiRwYXJ0eUluZm8uaW5uZXJIVE1MID0gJyc7XHJcbiAgICB0aGlzLiR0cmlnZ2VyQmFyLnF1ZXJ5U2VsZWN0b3JBbGwoJy50cmlnZ2VySXRlbScpLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbi5yZW1vdmUoKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgbWVtYmVyc1RvRGlzcGxheSA9IHRyYWNrZXIucGFydHlNZW1iZXJzLnNvcnQoKGwsIHIpID0+IHtcclxuICAgICAgY29uc3QgYSA9IGVuYy5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW2xdO1xyXG4gICAgICBjb25zdCBiID0gZW5jLmNvbWJhdGFudFRyYWNrZXI/LmNvbWJhdGFudHNbcl07XHJcbiAgICAgIGlmICghYSB8fCAhYilcclxuICAgICAgICByZXR1cm4gMDtcclxuXHJcbiAgICAgIGlmICghaXNKb2JPcmRlcihhLmpvYikgfHwgIWlzSm9iT3JkZXIoYi5qb2IpKVxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICByZXR1cm4gRW11bGF0ZWRQYXJ0eUluZm8uam9iT3JkZXIuaW5kZXhPZihhLmpvYikgLSBFbXVsYXRlZFBhcnR5SW5mby5qb2JPcmRlci5pbmRleE9mKGIuam9iKTtcclxuICAgIH0pLnNsaWNlKDAsIDgpO1xyXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnBsYXllclRyaWdnZXJJbmZvJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICBuLnJlbW92ZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgZm9yIChjb25zdCBbaSwgaWRdIG9mIG1lbWJlcnNUb0Rpc3BsYXkuZW50cmllcygpKSB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHRoaXMuZ2V0UGFydHlJbmZvT2JqZWN0Rm9yKGVuY291bnRlciwgaWQpO1xyXG4gICAgICBjb25zdCBiYXIgPSB0aGlzLnRyaWdnZXJCYXJzW2ldO1xyXG4gICAgICBjb25zdCBjb21iYXRhbnQgPSB0cmFja2VyLmNvbWJhdGFudHNbaWRdO1xyXG4gICAgICBjb25zdCBwZXJzcGVjdGl2ZSA9IGVuY291bnRlci5wZXJzcGVjdGl2ZXNbaWRdO1xyXG4gICAgICBpZiAoIWJhciB8fCAhY29tYmF0YW50IHx8ICFwZXJzcGVjdGl2ZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkUGFydHlbaWRdID0gb2JqO1xyXG4gICAgICB0aGlzLiRwYXJ0eUluZm8uYXBwZW5kKG9iai4kcm9vdEVsZW0pO1xyXG4gICAgICB0aGlzLiR0cmlnZ2VySW5mby5hcHBlbmQob2JqLiR0cmlnZ2VyRWxlbSk7XHJcbiAgICAgIGJhci5jbGFzc0xpc3QucmVtb3ZlKCd0YW5rJyk7XHJcbiAgICAgIGJhci5jbGFzc0xpc3QucmVtb3ZlKCdoZWFsZXInKTtcclxuICAgICAgYmFyLmNsYXNzTGlzdC5yZW1vdmUoJ2RwcycpO1xyXG4gICAgICBpZiAoY29tYmF0YW50LmpvYikge1xyXG4gICAgICAgIGJhci5jbGFzc0xpc3QuYWRkKFxyXG4gICAgICAgICAgVXRpbC5qb2JUb1JvbGUoY29tYmF0YW50LmpvYiksXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHBlcnNwZWN0aXZlLnRyaWdnZXJzKSB7XHJcbiAgICAgICAgaWYgKCF0cmlnZ2VyLnN0YXR1cy5leGVjdXRlZCB8fCB0cmlnZ2VyLnJlc29sdmVkT2Zmc2V0ID4gZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbilcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICBjb25zdCAkZSA9IGNsb25lU2FmZSh0aGlzLiR0cmlnZ2VySXRlbVRlbXBsYXRlKTtcclxuICAgICAgICAkZS5zdHlsZS5sZWZ0ID0gKCh0cmlnZ2VyLnJlc29sdmVkT2Zmc2V0IC8gZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbikgKiAxMDApLnRvU3RyaW5nKCkgK1xyXG4gICAgICAgICAgJyUnO1xyXG4gICAgICAgIGNvbnN0IHRyaWdnZXJJZCA9IHRyaWdnZXIudHJpZ2dlckhlbHBlci50cmlnZ2VyLmlkID8/ICdVbmtub3duIFRyaWdnZXInO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcHMucHVzaChuZXcgVG9vbHRpcCgkZSwgJ2JvdHRvbScsIHRyaWdnZXJJZCkpO1xyXG4gICAgICAgIGJhci5hcHBlbmQoJGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyU3RhdGUoKTtcclxuXHJcbiAgICBjb25zdCB0b0Rpc3BsYXkgPSBtZW1iZXJzVG9EaXNwbGF5WzBdO1xyXG4gICAgaWYgKCF0b0Rpc3BsYXkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdFBlcnNwZWN0aXZlKHRvRGlzcGxheSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQZXJzcGVjdGl2ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoaWQgPT09IHRoaXMuY3VycmVudFBlcnNwZWN0aXZlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLmVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXI/LmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW2lkXT8uam9iKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMuZGlzcGxheWVkUGFydHlbaWRdO1xyXG5cclxuICAgIGlmICghZGlzcGxheSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFBlcnNwZWN0aXZlID0gaWQ7XHJcbiAgICB0aGlzLiR0cmlnZ2VySW5mby5xdWVyeVNlbGVjdG9yQWxsKCcucGxheWVyVHJpZ2dlckluZm8nKS5mb3JFYWNoKChyKSA9PlxyXG4gICAgICByLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpXHJcbiAgICApO1xyXG4gICAgZGlzcGxheS4kdHJpZ2dlckVsZW0uY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICB0aGlzLiRwYXJ0eUluZm8ucXVlcnlTZWxlY3RvckFsbCgnLnBsYXllckluZm9Sb3cnKS5mb3JFYWNoKChyKSA9PiB7XHJcbiAgICAgIHIuY2xhc3NMaXN0LnJlbW92ZSgnYm9yZGVyJyk7XHJcbiAgICAgIHIuY2xhc3NMaXN0LnJlbW92ZSgnYm9yZGVyLXN1Y2Nlc3MnKTtcclxuICAgIH0pO1xyXG4gICAgZGlzcGxheS4kcm9vdEVsZW0uY2xhc3NMaXN0LmFkZCgnYm9yZGVyJyk7XHJcbiAgICBkaXNwbGF5LiRyb290RWxlbS5jbGFzc0xpc3QuYWRkKCdib3JkZXItc3VjY2VzcycpO1xyXG4gICAgdm9pZCB0aGlzLmRpc3BhdGNoKCdzZWxlY3RQZXJzcGVjdGl2ZScsIGlkKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbWJhdGFudEluZm8oZW5jb3VudGVyOiBBbmFseXplZEVuY291bnRlciwgaWQ6IHN0cmluZywgc3RhdGVJRDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXN0YXRlSUQgfHwgc3RhdGVJRCA8PSB0aGlzLmxhdGVzdERpc3BsYXllZFN0YXRlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgY29tYmF0YW50ID0gZW5jb3VudGVyLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW2lkXTtcclxuICAgIGlmICghY29tYmF0YW50KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgU3RhdGUgPSBjb21iYXRhbnQuZ2V0U3RhdGUoc3RhdGVJRCk7XHJcbiAgICBpZiAoU3RhdGUgPT09IHVuZGVmaW5lZClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLmRpc3BsYXllZFBhcnR5W2lkXTtcclxuXHJcbiAgICBpZiAoIWRpc3BsYXkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBocFByb2cgPSAoU3RhdGUuaHAgLyBTdGF0ZS5tYXhIcCkgKiAxMDA7XHJcbiAgICBsZXQgaHBMYWJlbCA9IGAke1N0YXRlLmhwfS8ke1N0YXRlLm1heEhwfWA7XHJcbiAgICBocExhYmVsID0gRW11bGF0b3JDb21tb24uc3BhY2VQYWRMZWZ0KGhwTGFiZWwsIChTdGF0ZS5tYXhIcC50b1N0cmluZygpLmxlbmd0aCAqIDIpICsgMSk7XHJcbiAgICBkaXNwbGF5LiRocFByb2dFbGVtLnN0eWxlLndpZHRoID0gYCR7aHBQcm9nfSVgO1xyXG4gICAgZGlzcGxheS4kaHBMYWJlbEVsZW0udGV4dENvbnRlbnQgPSBocExhYmVsO1xyXG5cclxuICAgIGNvbnN0IG1wUHJvZyA9IChTdGF0ZS5tcCAvIFN0YXRlLm1heE1wKSAqIDEwMDtcclxuICAgIGxldCBtcExhYmVsID0gYCR7U3RhdGUubXB9LyR7U3RhdGUubWF4TXB9YDtcclxuICAgIG1wTGFiZWwgPSBFbXVsYXRvckNvbW1vbi5zcGFjZVBhZExlZnQobXBMYWJlbCwgKFN0YXRlLm1heE1wLnRvU3RyaW5nKCkubGVuZ3RoICogMikgKyAxKTtcclxuICAgIGRpc3BsYXkuJG1wUHJvZ0VsZW0uc3R5bGUud2lkdGggPSBgJHttcFByb2d9JWA7XHJcbiAgICBkaXNwbGF5LiRtcExhYmVsRWxlbS50ZXh0Q29udGVudCA9IG1wTGFiZWw7XHJcbiAgfVxyXG5cclxuICBnZXRQYXJ0eUluZm9PYmplY3RGb3IoZW5jb3VudGVyOiBBbmFseXplZEVuY291bnRlciwgaWQ6IHN0cmluZyk6IFBhcnR5SW5mbyB7XHJcbiAgICBjb25zdCAkZSA9IGNsb25lU2FmZSh0aGlzLiRwbGF5ZXJJbmZvUm93VGVtcGxhdGUpO1xyXG4gICAgY29uc3QgJGhwID0gcXVlcnlTZWxlY3RvclNhZmUoJGUsICcuaHAnKTtcclxuICAgIGNvbnN0ICRtcCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRlLCAnLm1wJyk7XHJcbiAgICBjb25zdCAkbmFtZSA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRlLCAnLnBsYXllck5hbWUnKTtcclxuICAgIGNvbnN0IHJldCA9IHtcclxuICAgICAgJHJvb3RFbGVtOiAkZSxcclxuICAgICAgJGljb25FbGVtOiBxdWVyeVNlbGVjdG9yU2FmZSgkZSwgJy5qb2JpY29uJyksXHJcbiAgICAgICRocEVsZW06ICRocCxcclxuICAgICAgJGhwTGFiZWxFbGVtOiBxdWVyeVNlbGVjdG9yU2FmZSgkaHAsICcubGFiZWwnKSxcclxuICAgICAgJGhwUHJvZ0VsZW06IHF1ZXJ5U2VsZWN0b3JTYWZlKCRocCwgJy5wcm9ncmVzcy1iYXInKSxcclxuICAgICAgJG1wRWxlbTogJG1wLFxyXG4gICAgICAkbXBMYWJlbEVsZW06IHF1ZXJ5U2VsZWN0b3JTYWZlKCRtcCwgJy5sYWJlbCcpLFxyXG4gICAgICAkbXBQcm9nRWxlbTogcXVlcnlTZWxlY3RvclNhZmUoJG1wLCAnLnByb2dyZXNzLWJhcicpLFxyXG4gICAgICAkbmFtZUVsZW06ICRuYW1lLFxyXG4gICAgICBpZDogaWQsXHJcbiAgICAgICR0cmlnZ2VyRWxlbTogdGhpcy5nZXRUcmlnZ2VySW5mb09iamVjdEZvcihlbmNvdW50ZXIsIGlkKSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmF0YW50ID0gZW5jb3VudGVyLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW2lkXTtcclxuICAgIGlmICghY29tYmF0YW50KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICByZXQuJHJvb3RFbGVtLmNsYXNzTGlzdC5hZGQoKGNvbWJhdGFudC5qb2IgfHwgJycpLnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgdGhpcy50b29sdGlwcy5wdXNoKG5ldyBUb29sdGlwKHJldC4kcm9vdEVsZW0sICdsZWZ0JywgY29tYmF0YW50Lm5hbWUpKTtcclxuICAgICRuYW1lLmlubmVySFRNTCA9IGNvbWJhdGFudC5uYW1lO1xyXG4gICAgcmV0LiRyb290RWxlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RQZXJzcGVjdGl2ZShpZCk7XHJcbiAgICB9KTtcclxuICAgIHJldC4kdHJpZ2dlckVsZW0uc2V0QXR0cmlidXRlKCdkYXRhLWlkJywgaWQpO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIGdldFRyaWdnZXJJbmZvT2JqZWN0Rm9yKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIsIGlkOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCAkcmV0ID0gY2xvbmVTYWZlKHRoaXMuJHBsYXllclRyaWdnZXJJbmZvVGVtcGxhdGUpO1xyXG4gICAgY29uc3QgJGNvbnRhaW5lciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcuZC1mbGV4LmZsZXgtY29sdW1uJyk7XHJcblxyXG4gICAgY29uc3QgcGVyID0gZW5jb3VudGVyLnBlcnNwZWN0aXZlc1tpZF07XHJcblxyXG4gICAgaWYgKCFwZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCAkaW5pdERhdGFWaWV3ZXIgPSBjbG9uZVNhZmUodGhpcy4kanNvblZpZXdlclRlbXBsYXRlKTtcclxuICAgICRpbml0RGF0YVZpZXdlci50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KHBlci5pbml0aWFsRGF0YSwgbnVsbCwgMik7XHJcblxyXG4gICAgJGNvbnRhaW5lci5hcHBlbmQodGhpcy5fd3JhcENvbGxhcHNlKHtcclxuICAgICAgdGltZTogJzAwOjAwJyxcclxuICAgICAgbmFtZTogJ0luaXRpYWwgRGF0YScsXHJcbiAgICAgIGNsYXNzZXM6IFsnZGF0YSddLFxyXG4gICAgICAkb2JqOiAkaW5pdERhdGFWaWV3ZXIsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3QgJHRyaWdnZXJDb250YWluZXIgPSBxdWVyeVNlbGVjdG9yU2FmZSgkY29udGFpbmVyLCAnLmQtZmxleC5mbGV4LWNvbHVtbicpO1xyXG5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBwZXIudHJpZ2dlcnMuc29ydCgobCwgcikgPT4gbC5yZXNvbHZlZE9mZnNldCAtIHIucmVzb2x2ZWRPZmZzZXQpKSB7XHJcbiAgICAgIGNvbnN0ICR0cmlnZ2VyRGF0YVZpZXdlciA9IGNsb25lU2FmZSh0aGlzLiRqc29uVmlld2VyVGVtcGxhdGUpO1xyXG4gICAgICAkdHJpZ2dlckRhdGFWaWV3ZXIudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeSh0cmlnZ2VyLCBudWxsLCAyKTtcclxuICAgICAgY29uc3QgdHJpZ2dlclRleHQgPSB0cmlnZ2VyLnN0YXR1cy5yZXNwb25zZUxhYmVsO1xyXG4gICAgICBjb25zdCB0eXBlID0gdHJpZ2dlci5zdGF0dXMucmVzcG9uc2VUeXBlO1xyXG4gICAgICBjb25zdCAkdHJpZ2dlciA9IHRoaXMuX3dyYXBDb2xsYXBzZSh7XHJcbiAgICAgICAgdGltZTogdGhpcy5nZXRUcmlnZ2VyUmVzb2x2ZWRMYWJlbFRpbWUodHJpZ2dlciksXHJcbiAgICAgICAgbmFtZTogdHJpZ2dlci50cmlnZ2VySGVscGVyLnRyaWdnZXIuaWQsXHJcbiAgICAgICAgaWNvbjogdGhpcy5nZXRUcmlnZ2VyTGFiZWxJY29uKHRyaWdnZXIpLFxyXG4gICAgICAgIHRleHQ6IHRyaWdnZXJUZXh0LFxyXG4gICAgICAgIGNsYXNzZXM6IHR5cGUgPyBbdHlwZV0gOiBbXSxcclxuICAgICAgICAkb2JqOiAkdHJpZ2dlckRhdGFWaWV3ZXIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodHJpZ2dlci5zdGF0dXMuZXhlY3V0ZWQpXHJcbiAgICAgICAgJHRyaWdnZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leGVjdXRlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgJHRyaWdnZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1ub3QtZXhlY3V0ZWQnKTtcclxuXHJcbiAgICAgIGlmICh0cmlnZ2VyVGV4dCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICR0cmlnZ2VyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbm8tb3V0cHV0Jyk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICAkdHJpZ2dlci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW91dHB1dCcpO1xyXG5cclxuICAgICAgJHRyaWdnZXJDb250YWluZXIuYXBwZW5kKCR0cmlnZ2VyKTtcclxuICAgIH1cclxuXHJcbiAgICAkY29udGFpbmVyLmFwcGVuZCgkdHJpZ2dlckNvbnRhaW5lcik7XHJcblxyXG4gICAgY29uc3QgJGZpbmFsRGF0YVZpZXdlciA9IGNsb25lU2FmZSh0aGlzLiRqc29uVmlld2VyVGVtcGxhdGUpO1xyXG5cclxuICAgICRmaW5hbERhdGFWaWV3ZXIudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShwZXIuZmluYWxEYXRhLCBudWxsLCAyKTtcclxuXHJcbiAgICAkY29udGFpbmVyLmFwcGVuZCh0aGlzLl93cmFwQ29sbGFwc2Uoe1xyXG4gICAgICB0aW1lOiBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcoXHJcbiAgICAgICAgZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbiAtIGVuY291bnRlci5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgKSxcclxuICAgICAgbmFtZTogJ0ZpbmFsIERhdGEnLFxyXG4gICAgICBjbGFzc2VzOiBbJ2RhdGEnXSxcclxuICAgICAgJG9iajogJGZpbmFsRGF0YVZpZXdlcixcclxuICAgIH0pKTtcclxuXHJcbiAgICByZXR1cm4gJHJldDtcclxuICB9XHJcblxyXG4gIGdldFRyaWdnZXJMYWJlbEljb24odHJpZ2dlcjogUGVyc3BlY3RpdmVUcmlnZ2VyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0cmlnZ2VyLnN0YXR1cy5yZXNwb25zZVR5cGU7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgIHJldHVybiAnaW5mbyc7XHJcbiAgICAgIGNhc2UgJ2FsZXJ0JzpcclxuICAgICAgICByZXR1cm4gJ2JlbGwnO1xyXG4gICAgICBjYXNlICdhbGFybSc6XHJcbiAgICAgICAgcmV0dXJuICdleGNsYW1hdGlvbic7XHJcbiAgICAgIGNhc2UgJ3R0cyc6XHJcbiAgICAgICAgcmV0dXJuICdidWxsaG9ybic7XHJcbiAgICAgIGNhc2UgJ2F1ZGlvZmlsZSc6XHJcbiAgICAgICAgcmV0dXJuICd2b2x1bWUtdXAnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUcmlnZ2VyRmlyZWRMYWJlbFRpbWUodHJpZ2dlcjogUGVyc3BlY3RpdmVUcmlnZ2VyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcoXHJcbiAgICAgIHRyaWdnZXIubG9nTGluZS5vZmZzZXQgLSAodGhpcy5lbXVsYXRvci5jdXJyZW50RW5jb3VudGVyPy5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCA/PyAwKSxcclxuICAgICAgZmFsc2UsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHJpZ2dlclJlc29sdmVkTGFiZWxUaW1lKHRyaWdnZXI6IFBlcnNwZWN0aXZlVHJpZ2dlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKFxyXG4gICAgICB0cmlnZ2VyLnJlc29sdmVkT2Zmc2V0IC0gKHRoaXMuZW11bGF0b3IuY3VycmVudEVuY291bnRlcj8uZW5jb3VudGVyLmluaXRpYWxPZmZzZXQgPz8gMCksXHJcbiAgICAgIGZhbHNlLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIF93cmFwQ29sbGFwc2UocGFyYW1zOiBDb2xsYXBzZVBhcmFtcyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0ICRyZXQgPSBjbG9uZVNhZmUodGhpcy4kd3JhcENvbGxhcHNlVGVtcGxhdGUpO1xyXG4gICAgY29uc3QgJGJ1dHRvbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcuYnRuJyk7XHJcbiAgICBjb25zdCAkdGltZSA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcudHJpZ2dlci1sYWJlbC10aW1lJyk7XHJcbiAgICBjb25zdCAkbmFtZSA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcudHJpZ2dlci1sYWJlbC1uYW1lJyk7XHJcbiAgICBjb25zdCAkaWNvbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcudHJpZ2dlci1sYWJlbC1pY29uJyk7XHJcbiAgICBjb25zdCAkdGV4dCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcudHJpZ2dlci1sYWJlbC10ZXh0Jyk7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5uYW1lID09PSB1bmRlZmluZWQpXHJcbiAgICAgICRuYW1lLnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKCRuYW1lKTtcclxuICAgIGVsc2VcclxuICAgICAgJG5hbWUudGV4dENvbnRlbnQgPSBwYXJhbXMubmFtZTtcclxuXHJcbiAgICBpZiAocGFyYW1zLnRpbWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgJHRpbWUucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoJHRpbWUpO1xyXG4gICAgZWxzZVxyXG4gICAgICAkdGltZS50ZXh0Q29udGVudCA9IHBhcmFtcy50aW1lO1xyXG5cclxuICAgIGlmIChwYXJhbXMudGV4dCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAkdGV4dC5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCgkdGV4dCk7XHJcbiAgICBlbHNlXHJcbiAgICAgICR0ZXh0LnRleHRDb250ZW50ID0gcGFyYW1zLnRleHQ7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5pY29uID09PSB1bmRlZmluZWQpXHJcbiAgICAgICRpY29uLnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKCRpY29uKTtcclxuICAgIGVsc2VcclxuICAgICAgJGljb24uaW5uZXJIVE1MID0gYDxpIGNsYXNzPVwiZmEgZmEtJHtwYXJhbXMuaWNvbn1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+YDtcclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbXMuY2xhc3NlcykpXHJcbiAgICAgIHBhcmFtcy5jbGFzc2VzLmZvckVhY2goKGMpID0+ICRidXR0b24uY2xhc3NMaXN0LmFkZCgndHJpZ2dlcnR5cGUtJyArIGMpKTtcclxuXHJcbiAgICBjb25zdCAkd3JhcHBlciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRyZXQsICcud3JhcC1jb2xsYXBzZS13cmFwcGVyJyk7XHJcbiAgICAkYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICBpZiAoJHdyYXBwZXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdkLW5vbmUnKSlcclxuICAgICAgICAkd3JhcHBlci5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgICR3cmFwcGVyLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgICB0eXBlb2YgKHBhcmFtcy5vbmNsaWNrKSA9PT0gJ2Z1bmN0aW9uJyAmJiBwYXJhbXMub25jbGljaygpO1xyXG4gICAgfSk7XHJcbiAgICAkd3JhcHBlci5hcHBlbmQocGFyYW1zLiRvYmopO1xyXG4gICAgcmV0dXJuICRyZXQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgam9iT3JkZXIgPSBqb2JPcmRlcjtcclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUGVyc2lzdG9yIGZyb20gJy4uL2RhdGEvUGVyc2lzdG9yJztcclxuaW1wb3J0IFBlcnNpc3RvckVuY291bnRlciBmcm9tICcuLi9kYXRhL1BlcnNpc3RvckVuY291bnRlcic7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiwge1xyXG4gIGdldFRlbXBsYXRlQ2hpbGQsXHJcbiAgcXVlcnlTZWxlY3RvckFsbFNhZmUsXHJcbiAgcXVlcnlTZWxlY3RvclNhZmUsXHJcbn0gZnJvbSAnLi4vRW11bGF0b3JDb21tb24nO1xyXG5pbXBvcnQgRXZlbnRCdXMgZnJvbSAnLi4vRXZlbnRCdXMnO1xyXG5cclxudHlwZSBEYXRlTWFwID0ge1xyXG4gIHN0YXJ0OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGR1cmF0aW9uOiBzdHJpbmc7XHJcbiAgZW5jb3VudGVyOiBQZXJzaXN0b3JFbmNvdW50ZXI7XHJcbn07XHJcblxyXG50eXBlIFpvbmVNYXAgPSB7XHJcbiAgW2RhdGU6IHN0cmluZ106IERhdGVNYXBbXTtcclxufTtcclxuXHJcbnR5cGUgRW5jb3VudGVyTWFwID0ge1xyXG4gIFt6b25lOiBzdHJpbmddOiBab25lTWFwO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW5jb3VudGVyVGFiIGV4dGVuZHMgRXZlbnRCdXMge1xyXG4gICR6b25lQ29sdW1uOiBIVE1MRWxlbWVudDtcclxuICAkZGF0ZUNvbHVtbjogSFRNTEVsZW1lbnQ7XHJcbiAgJGVuY291bnRlckNvbHVtbjogSFRNTEVsZW1lbnQ7XHJcbiAgJGluZm9Db2x1bW46IEhUTUxFbGVtZW50O1xyXG4gICRlbmNvdW50ZXJUYWJSb3dUZW1wbGF0ZTogSFRNTEVsZW1lbnQ7XHJcbiAgJGVuY291bnRlclRhYkVuY291bnRlclJvd1RlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICAkZW5jb3VudGVySW5mb1RlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBlbmNvdW50ZXJzOiBFbmNvdW50ZXJNYXAgPSB7fTtcclxuICBjdXJyZW50Wm9uZT86IHN0cmluZztcclxuICBjdXJyZW50RGF0ZT86IHN0cmluZztcclxuICBjdXJyZW50RW5jb3VudGVyPzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVyc2lzdG9yOiBQZXJzaXN0b3IpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgdGhpcy4kem9uZUNvbHVtbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnI2VuY291bnRlcnNUYWIgLnpvbmVMaXN0Jyk7XHJcbiAgICB0aGlzLiRkYXRlQ29sdW1uID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcjZW5jb3VudGVyc1RhYiAuZGF0ZUxpc3QnKTtcclxuICAgIHRoaXMuJGVuY291bnRlckNvbHVtbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnI2VuY291bnRlcnNUYWIgLmVuY291bnRlckxpc3QnKTtcclxuICAgIHRoaXMuJGluZm9Db2x1bW4gPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJyNlbmNvdW50ZXJzVGFiIC5lbmNvdW50ZXJJbmZvJyk7XHJcblxyXG4gICAgdGhpcy4kZW5jb3VudGVyVGFiUm93VGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKGRvY3VtZW50LCAndGVtcGxhdGUuZW5jb3VudGVyVGFiUm93Jyk7XHJcbiAgICB0aGlzLiRlbmNvdW50ZXJUYWJFbmNvdW50ZXJSb3dUZW1wbGF0ZSA9IGdldFRlbXBsYXRlQ2hpbGQoXHJcbiAgICAgIGRvY3VtZW50LFxyXG4gICAgICAndGVtcGxhdGUuZW5jb3VudGVyVGFiRW5jb3VudGVyUm93JyxcclxuICAgICk7XHJcbiAgICB0aGlzLiRlbmNvdW50ZXJJbmZvVGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKGRvY3VtZW50LCAndGVtcGxhdGUuZW5jb3VudGVySW5mbycpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW5jb3VudGVycyA9IHt9O1xyXG4gICAgdm9pZCB0aGlzLnBlcnNpc3Rvci5lbmNvdW50ZXJTdW1tYXJpZXMudG9BcnJheSgpLnRoZW4oKGVuY291bnRlcnM6IFBlcnNpc3RvckVuY291bnRlcltdKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3QgZW5jIG9mIGVuY291bnRlcnMpIHtcclxuICAgICAgICBjb25zdCB6b25lID0gZW5jLnpvbmVOYW1lO1xyXG4gICAgICAgIC8vID8/IG9wZXJhdG9yIGhlcmUgdG8gYWNjb3VudCBmb3Igb2xkIGVuY291bnRlcnMgdGhhdCBkb24ndCBoYXZlIHRoZSBwcm9wZXJ0eVxyXG4gICAgICAgIGNvbnN0IGVuY0RhdGUgPSBFbXVsYXRvckNvbW1vbi50aW1lVG9EYXRlU3RyaW5nKGVuYy5zdGFydCwgZW5jLnR6T2Zmc2V0TWlsbGlzID8/IDApO1xyXG4gICAgICAgIGNvbnN0IGVuY1RpbWUgPSBFbXVsYXRvckNvbW1vbi50aW1lVG9UaW1lU3RyaW5nKGVuYy5zdGFydCwgZW5jLnR6T2Zmc2V0TWlsbGlzID8/IDApO1xyXG4gICAgICAgIGNvbnN0IGVuY0R1cmF0aW9uID0gRW11bGF0b3JDb21tb24ubXNUb0R1cmF0aW9uKGVuYy5kdXJhdGlvbik7XHJcbiAgICAgICAgY29uc3Qgem9uZU9iaiA9IHRoaXMuZW5jb3VudGVyc1t6b25lXSA9IHRoaXMuZW5jb3VudGVyc1t6b25lXSB8fCB7fTtcclxuICAgICAgICBjb25zdCBkYXRlT2JqID0gem9uZU9ialtlbmNEYXRlXSA9IHpvbmVPYmpbZW5jRGF0ZV0gfHwgW107XHJcbiAgICAgICAgZGF0ZU9iai5wdXNoKHtcclxuICAgICAgICAgIHN0YXJ0OiBlbmNUaW1lLFxyXG4gICAgICAgICAgbmFtZTogZW5jLm5hbWUsXHJcbiAgICAgICAgICBkdXJhdGlvbjogZW5jRHVyYXRpb24sXHJcbiAgICAgICAgICBlbmNvdW50ZXI6IGVuYyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yZWZyZXNoVUkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFVJKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWZyZXNoWm9uZXMoKTtcclxuICAgIHRoaXMucmVmcmVzaERhdGVzKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hFbmNvdW50ZXJzKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hJbmZvKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoWm9uZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLiR6b25lQ29sdW1uLmlubmVySFRNTCA9ICcnO1xyXG5cclxuICAgIGxldCBjbGVhciA9IHRydWU7XHJcblxyXG4gICAgY29uc3Qgem9uZXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHRoaXMuZW5jb3VudGVycykpO1xyXG5cclxuICAgIGZvciAoY29uc3Qgem9uZSBvZiBbLi4uem9uZXNdLnNvcnQoKSkge1xyXG4gICAgICBjb25zdCAkcm93ID0gdGhpcy4kZW5jb3VudGVyVGFiUm93VGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICBpZiAoISgkcm93IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgJHJvdy5pbm5lclRleHQgPSB6b25lO1xyXG4gICAgICBpZiAoem9uZSA9PT0gdGhpcy5jdXJyZW50Wm9uZSkge1xyXG4gICAgICAgIGNsZWFyID0gZmFsc2U7XHJcbiAgICAgICAgJHJvdy5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICB9XHJcbiAgICAgICRyb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXYpID0+IHtcclxuICAgICAgICBjb25zdCB0ID0gZXYuY3VycmVudFRhcmdldDtcclxuICAgICAgICBpZiAoISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHQucGFyZW50RWxlbWVudDtcclxuICAgICAgICBpZiAoIXBhcmVudClcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZShwYXJlbnQsICcuc2VsZWN0b3JSb3cuc2VsZWN0ZWQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgICAgICBuLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFpvbmUgPSB0LnRleHRDb250ZW50ID8/IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnJlZnJlc2hVSSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy4kem9uZUNvbHVtbi5hcHBlbmQoJHJvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNsZWFyKVxyXG4gICAgICB0aGlzLmN1cnJlbnRab25lID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaERhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kZGF0ZUNvbHVtbi5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICBsZXQgY2xlYXIgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRab25lICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3Qgem9uZU1hcCA9IHRoaXMuZW5jb3VudGVyc1t0aGlzLmN1cnJlbnRab25lXTtcclxuICAgICAgaWYgKCF6b25lTWFwKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY29uc3QgZGF0ZXMgPSBuZXcgU2V0PHN0cmluZz4oT2JqZWN0LmtleXMoem9uZU1hcCkpO1xyXG4gICAgICBmb3IgKGNvbnN0IGRhdGUgb2YgWy4uLmRhdGVzXS5zb3J0KCkpIHtcclxuICAgICAgICBjb25zdCAkcm93ID0gdGhpcy4kZW5jb3VudGVyVGFiUm93VGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICAgIGlmICghKCRyb3cgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgJHJvdy5pbm5lclRleHQgPSBkYXRlO1xyXG4gICAgICAgIGlmIChkYXRlID09PSB0aGlzLmN1cnJlbnREYXRlKSB7XHJcbiAgICAgICAgICBjbGVhciA9IGZhbHNlO1xyXG4gICAgICAgICAgJHJvdy5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkcm93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB0ID0gZXYuY3VycmVudFRhcmdldDtcclxuICAgICAgICAgIGlmICghKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHQucGFyZW50RWxlbWVudDtcclxuICAgICAgICAgIGlmICghcGFyZW50KVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZShwYXJlbnQsICcuc2VsZWN0b3JSb3cuc2VsZWN0ZWQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgICAgICAgIG4uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IHQudGV4dENvbnRlbnQgPz8gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVUkoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLiRkYXRlQ29sdW1uLmFwcGVuZCgkcm93KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjbGVhcilcclxuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hFbmNvdW50ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kZW5jb3VudGVyQ29sdW1uLmlubmVySFRNTCA9ICcnO1xyXG5cclxuICAgIGxldCBjbGVhciA9IHRydWU7XHJcblxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRab25lIHx8ICF0aGlzLmN1cnJlbnREYXRlKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgem9uZU1hcCA9IHRoaXMuZW5jb3VudGVyc1t0aGlzLmN1cnJlbnRab25lXTtcclxuICAgIGlmICghem9uZU1hcClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGVNYXAgPSB6b25lTWFwW3RoaXMuY3VycmVudERhdGVdO1xyXG4gICAgaWYgKCFkYXRlTWFwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgc29ydGVkRW5jb3VudGVycyA9IGRhdGVNYXAuc29ydCgobCwgcikgPT4ge1xyXG4gICAgICByZXR1cm4gbC5zdGFydC5sb2NhbGVDb21wYXJlKHIuc3RhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBmb3IgKGNvbnN0IFtpLCBlbmNdIG9mIHNvcnRlZEVuY291bnRlcnMuZW50cmllcygpKSB7XHJcbiAgICAgIGNvbnN0ICRyb3cgPSB0aGlzLiRlbmNvdW50ZXJUYWJFbmNvdW50ZXJSb3dUZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgIGlmICghKCRyb3cgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAkcm93LnNldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcsIGkudG9TdHJpbmcoKSk7XHJcbiAgICAgIGlmIChpID09PSB0aGlzLmN1cnJlbnRFbmNvdW50ZXIpIHtcclxuICAgICAgICBjbGVhciA9IGZhbHNlO1xyXG4gICAgICAgICRyb3cuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBxdWVyeVNlbGVjdG9yU2FmZSgkcm93LCAnLmVuY291bnRlclN0YXJ0JykuaW5uZXJUZXh0ID0gJ1snICsgZW5jLnN0YXJ0ICsgJ10nO1xyXG4gICAgICBxdWVyeVNlbGVjdG9yU2FmZSgkcm93LCAnLmVuY291bnRlck5hbWUnKS5pbm5lclRleHQgPSBlbmMubmFtZTtcclxuICAgICAgcXVlcnlTZWxlY3RvclNhZmUoJHJvdywgJy5lbmNvdW50ZXJEdXJhdGlvbicpLmlubmVyVGV4dCA9ICcoJyArIGVuYy5kdXJhdGlvbiArICcpJztcclxuICAgICAgJHJvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHQgPSBldi5jdXJyZW50VGFyZ2V0O1xyXG4gICAgICAgIGlmICghKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgIGlmICghcGFyZW50KVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3JBbGxTYWZlKHBhcmVudCwgJy5zZWxlY3RvclJvdy5zZWxlY3RlZCcpLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgICAgIG4uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0LmdldEF0dHJpYnV0ZSgnZGF0YS1pbmRleCcpO1xyXG4gICAgICAgIGlmIChpbmRleClcclxuICAgICAgICAgIHRoaXMuY3VycmVudEVuY291bnRlciA9IHBhcnNlSW50KGluZGV4KTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hVSSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy4kZW5jb3VudGVyQ29sdW1uLmFwcGVuZCgkcm93KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2xlYXIpXHJcbiAgICAgIHRoaXMuY3VycmVudEVuY291bnRlciA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kaW5mb0NvbHVtbi5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICBjb25zdCB6b25lTWFwID0gdGhpcy5jdXJyZW50Wm9uZSA/IHRoaXMuZW5jb3VudGVyc1t0aGlzLmN1cnJlbnRab25lXSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAoIXpvbmVNYXApXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBkYXRlTWFwID0gdGhpcy5jdXJyZW50RGF0ZSA/IHpvbmVNYXBbdGhpcy5jdXJyZW50RGF0ZV0gOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKCFkYXRlTWFwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZW5jTWFwID0gdGhpcy5jdXJyZW50RW5jb3VudGVyICE9PSB1bmRlZmluZWQgPyBkYXRlTWFwW3RoaXMuY3VycmVudEVuY291bnRlcl0gOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKCFlbmNNYXApXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBlbmMgPSBlbmNNYXAuZW5jb3VudGVyO1xyXG5cclxuICAgIGxldCBwdWxsQXQgPSAnTi9BJztcclxuICAgIGlmICghaXNOYU4oZW5jLm9mZnNldCkpXHJcbiAgICAgIHB1bGxBdCA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhlbmMub2Zmc2V0LCBmYWxzZSk7XHJcblxyXG4gICAgY29uc3QgJGluZm8gPSB0aGlzLiRlbmNvdW50ZXJJbmZvVGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgaWYgKCEoJGluZm8gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJMb2FkJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgnbG9hZCcsIGVuYy5pZCk7XHJcbiAgICB9KTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlclBhcnNlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgncGFyc2UnLCBlbmMuaWQpO1xyXG4gICAgfSk7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJQcnVuZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ3BydW5lJywgZW5jLmlkKTtcclxuICAgIH0pO1xyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyRGVsZXRlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgnZGVsZXRlJywgZW5jLmlkKTtcclxuICAgIH0pO1xyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyWm9uZSAubGFiZWwnKS50ZXh0Q29udGVudCA9IGVuYy56b25lTmFtZTtcclxuICAgIC8vID8/IG9wZXJhdG9yIGhlcmUgdG8gYWNjb3VudCBmb3Igb2xkIGVuY291bnRlcnMgdGhhdCBkb24ndCBoYXZlIHRoZSBwcm9wZXJ0eVxyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyU3RhcnQgLmxhYmVsJykudGV4dENvbnRlbnQgPSBFbXVsYXRvckNvbW1vblxyXG4gICAgICAuZGF0ZVRpbWVUb1N0cmluZyhlbmMuc3RhcnQsIGVuYy50ek9mZnNldE1pbGxpcyA/PyAwKTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlckR1cmF0aW9uIC5sYWJlbCcpLnRleHRDb250ZW50ID0gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKFxyXG4gICAgICBlbmMuZHVyYXRpb24sXHJcbiAgICAgIGZhbHNlLFxyXG4gICAgKTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlck9mZnNldCAubGFiZWwnKS50ZXh0Q29udGVudCA9IHB1bGxBdDtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlck5hbWUgLmxhYmVsJykudGV4dENvbnRlbnQgPSBlbmMubmFtZTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlclN0YXJ0U3RhdHVzIC5sYWJlbCcpLnRleHRDb250ZW50ID0gZW5jLnN0YXJ0U3RhdHVzO1xyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyRW5kU3RhdHVzIC5sYWJlbCcpLnRleHRDb250ZW50ID0gZW5jLmVuZFN0YXR1cztcclxuXHJcbiAgICB0aGlzLiRpbmZvQ29sdW1uLmFwcGVuZCgkaW5mbyk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBBbmFseXplZEVuY291bnRlciBmcm9tICcuLi9kYXRhL0FuYWx5emVkRW5jb3VudGVyJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuLi9kYXRhL1JhaWRFbXVsYXRvcic7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiwgeyBxdWVyeVNlbGVjdG9yU2FmZSB9IGZyb20gJy4uL0VtdWxhdG9yQ29tbW9uJztcclxuXHJcbmltcG9ydCBUb29sdGlwIGZyb20gJy4vVG9vbHRpcCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9ncmVzc0JhciB7XHJcbiAgJHByb2dyZXNzQmFyVG9vbHRpcDogVG9vbHRpcDtcclxuICAkcHJvZ3Jlc3NCYXJDdXJyZW50OiBIVE1MRWxlbWVudDtcclxuICAkcHJvZ3Jlc3NCYXJEdXJhdGlvbjogSFRNTEVsZW1lbnQ7XHJcbiAgJHByb2dyZXNzOiBIVE1MRWxlbWVudDtcclxuICAkcHJvZ3Jlc3NCYXI6IEhUTUxFbGVtZW50O1xyXG4gICRlbmdhZ2VJbmRpY2F0b3I6IEhUTUxFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbXVsYXRvcjogUmFpZEVtdWxhdG9yKSB7XHJcbiAgICBjb25zdCBwcm9nQmFyQ29udGFpbmVyID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcuZW5jb3VudGVyUHJvZ3Jlc3NCYXInKTtcclxuICAgIHRoaXMuJHByb2dyZXNzQmFyVG9vbHRpcCA9IG5ldyBUb29sdGlwKHByb2dCYXJDb250YWluZXIsICdib3R0b20nLCAnJywgZmFsc2UpO1xyXG5cclxuICAgIHRoaXMuJHByb2dyZXNzQmFyQ3VycmVudCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmN1cnJlbnQtdGltZXN0YW1wJyk7XHJcbiAgICB0aGlzLiRwcm9ncmVzc0JhckR1cmF0aW9uID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcuZHVyYXRpb24tdGltZXN0YW1wJyk7XHJcbiAgICB0aGlzLiRwcm9ncmVzcyA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmVuY291bnRlclByb2dyZXNzQmFyJyk7XHJcbiAgICB0aGlzLiRwcm9ncmVzc0JhciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmVuY291bnRlclByb2dyZXNzQmFyIC5wcm9ncmVzcy1iYXInKTtcclxuICAgIHRoaXMuJGVuZ2FnZUluZGljYXRvciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLnByb2dyZXNzQmFyUm93IC5lbmdhZ2VJbmRpY2F0b3InKTtcclxuICAgIG5ldyBUb29sdGlwKHRoaXMuJGVuZ2FnZUluZGljYXRvciwgJ2JvdHRvbScsICdGaWdodCBCZWdpbnMnKTtcclxuICAgIHRoaXMuJHByb2dyZXNzLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChlKSA9PiB7XHJcbiAgICAgIGlmIChlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyKSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS5jdXJyZW50VGFyZ2V0O1xyXG4gICAgICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBjb25zdCBwZXJjZW50ID0gZS5vZmZzZXRYIC8gdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmR1cmF0aW9uICogcGVyY2VudCkgLVxyXG4gICAgICAgICAgZW11bGF0b3IuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldDtcclxuICAgICAgICB0aGlzLiRwcm9ncmVzc0JhclRvb2x0aXAub2Zmc2V0LnggPSBlLm9mZnNldFggLSAodGFyZ2V0Lm9mZnNldFdpZHRoIC8gMik7XHJcbiAgICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJUb29sdGlwLnNldFRleHQoRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKHRpbWUpKTtcclxuICAgICAgICB0aGlzLiRwcm9ncmVzc0JhclRvb2x0aXAuc2hvdygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuJHByb2dyZXNzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgaWYgKGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXIpIHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlLmN1cnJlbnRUYXJnZXQ7XHJcbiAgICAgICAgaWYgKCEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGNvbnN0IHBlcmNlbnQgPSBlLm9mZnNldFggLyB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoZW11bGF0b3IuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24gKiBwZXJjZW50KTtcclxuICAgICAgICB2b2lkIGVtdWxhdG9yLnNlZWsodGltZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ2N1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIpID0+IHtcclxuICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJDdXJyZW50LnRleHRDb250ZW50ID0gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKDAsIGZhbHNlKTtcclxuICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJEdXJhdGlvbi50ZXh0Q29udGVudCA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhcclxuICAgICAgICBlbmNvdW50ZXIuZW5jb3VudGVyLmR1cmF0aW9uIC0gZW5jb3VudGVyLmVuY291bnRlci5pbml0aWFsT2Zmc2V0LFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLiRwcm9ncmVzc0Jhci5zdHlsZS53aWR0aCA9ICcwJSc7XHJcbiAgICAgIHRoaXMuJHByb2dyZXNzQmFyLnNldEF0dHJpYnV0ZSgnYXJpYVZhbHVlTWF4JywgZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbi50b1N0cmluZygpKTtcclxuICAgICAgaWYgKGlzTmFOKGVuY291bnRlci5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCkpIHtcclxuICAgICAgICB0aGlzLiRlbmdhZ2VJbmRpY2F0b3IuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgaW5pdGlhbFBlcmNlbnQgPSAoZW5jb3VudGVyLmVuY291bnRlci5pbml0aWFsT2Zmc2V0IC8gZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbikgKlxyXG4gICAgICAgICAgMTAwO1xyXG4gICAgICAgIHRoaXMuJGVuZ2FnZUluZGljYXRvci5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgICB0aGlzLiRlbmdhZ2VJbmRpY2F0b3Iuc3R5bGUubGVmdCA9IGAke2luaXRpYWxQZXJjZW50fSVgO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCd0aWNrJywgKGN1cnJlbnRMb2dUaW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN1ckVuYyA9IGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXI7XHJcbiAgICAgIGlmICghY3VyRW5jKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgY29uc3QgY3VycmVudE9mZnNldCA9IGN1cnJlbnRMb2dUaW1lIC0gY3VyRW5jLmVuY291bnRlci5zdGFydFRpbWVzdGFtcDtcclxuICAgICAgY29uc3QgcHJvZ1BlcmNlbnQgPSAoY3VycmVudE9mZnNldCAvIGN1ckVuYy5lbmNvdW50ZXIuZHVyYXRpb24pICogMTAwO1xyXG4gICAgICBjb25zdCBwcm9nVmFsdWUgPSBjdXJyZW50TG9nVGltZSAtIGN1ckVuYy5lbmNvdW50ZXIuaW5pdGlhbFRpbWVzdGFtcDtcclxuICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJDdXJyZW50LnRleHRDb250ZW50ID0gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKHByb2dWYWx1ZSwgZmFsc2UpO1xyXG4gICAgICB0aGlzLiRwcm9ncmVzc0Jhci5zdHlsZS53aWR0aCA9IGAke3Byb2dQZXJjZW50fSVgO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCAkcGxheSA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLnByb2dyZXNzQmFyUm93IGJ1dHRvbi5wbGF5Jyk7XHJcbiAgICBjb25zdCAkcGF1c2UgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5wcm9ncmVzc0JhclJvdyBidXR0b24ucGF1c2UnKTtcclxuICAgICRwbGF5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICBpZiAoZW11bGF0b3IucGxheSgpKSB7XHJcbiAgICAgICAgJHBsYXkuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICAgICAgJHBhdXNlLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgICRwYXVzZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgaWYgKGVtdWxhdG9yLnBhdXNlKCkpIHtcclxuICAgICAgICAkcGF1c2UuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICAgICAgJHBsYXkuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgJy4vcmFpZGJvc3NfY29uZmlnJztcclxuXHJcbmltcG9ydCB7IGlzTGFuZywgTGFuZywgbGFuZ01hcCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBjYWxsT3ZlcmxheUhhbmRsZXIgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFVzZXJDb25maWcgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3VzZXJfY29uZmlnJztcclxuaW1wb3J0IHsgQ29udmVydGVyV29ya2VyTWVzc2FnZSB9IGZyb20gJy4uLy4uL3R5cGVzL3dvcmtlcic7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IEFuYWx5emVkRW5jb3VudGVyIGZyb20gJy4vZW11bGF0b3IvZGF0YS9BbmFseXplZEVuY291bnRlcic7XHJcbmltcG9ydCBDb21iYXRhbnRUcmFja2VyIGZyb20gJy4vZW11bGF0b3IvZGF0YS9Db21iYXRhbnRUcmFja2VyJztcclxuaW1wb3J0IEVuY291bnRlciBmcm9tICcuL2VtdWxhdG9yL2RhdGEvRW5jb3VudGVyJztcclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL2VtdWxhdG9yL2RhdGEvbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBQZXJzaXN0b3IgZnJvbSAnLi9lbXVsYXRvci9kYXRhL1BlcnNpc3Rvcic7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi9lbXVsYXRvci9kYXRhL1JhaWRFbXVsYXRvcic7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiwge1xyXG4gIGdldFRlbXBsYXRlQ2hpbGQsXHJcbiAgcXVlcnlTZWxlY3RvckFsbFNhZmUsXHJcbiAgcXVlcnlTZWxlY3RvclNhZmUsXHJcbn0gZnJvbSAnLi9lbXVsYXRvci9FbXVsYXRvckNvbW1vbic7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vayBmcm9tICcuL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vayc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JQb3B1cFRleHQgZnJvbSAnLi9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yUG9wdXBUZXh0JztcclxuaW1wb3J0IFJhaWRFbXVsYXRvclRpbWVsaW5lQ29udHJvbGxlciBmcm9tICcuL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXInO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yVGltZWxpbmVVSSBmcm9tICcuL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JUaW1lbGluZVVJJztcclxuaW1wb3J0IHtcclxuICBlbXVsYXRvclRlbXBsYXRlVHJhbnNsYXRpb25zLFxyXG4gIGVtdWxhdG9yVG9vbHRpcFRyYW5zbGF0aW9ucyxcclxuICBlbXVsYXRvclRyYW5zbGF0aW9ucyxcclxuICBsb29rdXBFbmRTdGF0dXMsXHJcbiAgbG9va3VwU3RhcnRTdGF0dXNlcyxcclxuICB0cmFuc2xhdGUsXHJcbn0gZnJvbSAnLi9lbXVsYXRvci90cmFuc2xhdGlvbnMnO1xyXG5pbXBvcnQgRW11bGF0ZWRQYXJ0eUluZm8gZnJvbSAnLi9lbXVsYXRvci91aS9FbXVsYXRlZFBhcnR5SW5mbyc7XHJcbmltcG9ydCBFbmNvdW50ZXJUYWIgZnJvbSAnLi9lbXVsYXRvci91aS9FbmNvdW50ZXJUYWInO1xyXG5pbXBvcnQgUHJvZ3Jlc3NCYXIgZnJvbSAnLi9lbXVsYXRvci91aS9Qcm9ncmVzc0Jhcic7XHJcbmltcG9ydCBUb29sdGlwIGZyb20gJy4vZW11bGF0b3IvdWkvVG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcHVwVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCBkZWZhdWx0T3B0aW9ucyBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUxvYWRlciB9IGZyb20gJy4vdGltZWxpbmUnO1xyXG5pbXBvcnQgJy4uLy4uL3Jlc291cmNlcy9kZWZhdWx0cy5jc3MnO1xyXG5pbXBvcnQgJy4vcmFpZGVtdWxhdG9yLmNzcyc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICByYWlkRW11bGF0b3I6IHtcclxuICAgICAgZW11bGF0b3I6IFJhaWRFbXVsYXRvcjtcclxuICAgICAgcHJvZ3Jlc3NCYXI6IFByb2dyZXNzQmFyO1xyXG4gICAgICB0aW1lbGluZUNvbnRyb2xsZXI6IFJhaWRFbXVsYXRvclRpbWVsaW5lQ29udHJvbGxlcjtcclxuICAgICAgcG9wdXBUZXh0OiBSYWlkRW11bGF0b3JQb3B1cFRleHQ7XHJcbiAgICAgIHBlcnNpc3RvcjogUGVyc2lzdG9yO1xyXG4gICAgICBlbmNvdW50ZXJUYWI6IEVuY291bnRlclRhYjtcclxuICAgICAgZW11bGF0ZWRQYXJ0eUluZm86IEVtdWxhdGVkUGFydHlJbmZvO1xyXG4gICAgICBlbXVsYXRlZFdlYlNvY2tldDogUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2s7XHJcbiAgICAgIHRpbWVsaW5lVUk6IFJhaWRFbXVsYXRvclRpbWVsaW5lVUk7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG5jb25zdCBzaG93TW9kYWwgPSAoc2VsZWN0b3I6IHN0cmluZyk6IEhUTUxFbGVtZW50ID0+IHtcclxuICBjb25zdCBtb2RhbCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCBzZWxlY3Rvcik7XHJcbiAgY29uc3QgYm9keSA9IGRvY3VtZW50LmJvZHk7XHJcbiAgY29uc3QgYmFja2Ryb3AgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5tb2RhbC1iYWNrZHJvcCcpO1xyXG4gIGJvZHkuY2xhc3NMaXN0LmFkZCgnbW9kYWwtb3BlbicpO1xyXG4gIGJhY2tkcm9wLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICBiYWNrZHJvcC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRlJyk7XHJcbiAgbW9kYWwuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xyXG4gIG1vZGFsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gIHJldHVybiBtb2RhbDtcclxufTtcclxuXHJcbmNvbnN0IGhpZGVNb2RhbCA9IChzZWxlY3RvciA9ICcubW9kYWwuc2hvdycpOiBIVE1MRWxlbWVudCA9PiB7XHJcbiAgY29uc3QgbW9kYWwgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgc2VsZWN0b3IpO1xyXG4gIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5O1xyXG4gIGNvbnN0IGJhY2tkcm9wID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcubW9kYWwtYmFja2Ryb3AnKTtcclxuICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vZGFsLW9wZW4nKTtcclxuICBiYWNrZHJvcC5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgYmFja2Ryb3AuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xyXG4gIG1vZGFsLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICBtb2RhbC5zdHlsZS5kaXNwbGF5ID0gJyc7XHJcbiAgcmV0dXJuIG1vZGFsO1xyXG59O1xyXG5cclxuY29uc3QgYXBwbHlUcmFuc2xhdGlvbiA9IChsYW5nOiBMYW5nKSA9PiB7XHJcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZW11bGF0b3JUcmFuc2xhdGlvbnMpKSB7XHJcbiAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZShkb2N1bWVudCwgJy50cmFuc2xhdGUnICsga2V5KS5mb3JFYWNoKFxyXG4gICAgICAoZWxlbSkgPT4ge1xyXG4gICAgICAgIGVsZW0uaW5uZXJIVE1MID0gdHJhbnNsYXRlKGxhbmcsIHZhbHVlKTtcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgfVxyXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVtdWxhdG9yVG9vbHRpcFRyYW5zbGF0aW9ucykpIHtcclxuICAgIHF1ZXJ5U2VsZWN0b3JBbGxTYWZlKGRvY3VtZW50LCAnLnRyYW5zbGF0ZScgKyBrZXkpLmZvckVhY2goXHJcbiAgICAgIChlbGVtKSA9PiB7XHJcbiAgICAgICAgZWxlbS50aXRsZSA9IHRyYW5zbGF0ZShsYW5nLCB2YWx1ZSk7XHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gIH1cclxuICBmb3IgKGNvbnN0IFtzZWwsIHRyYW5zXSBvZiBPYmplY3QuZW50cmllcyhlbXVsYXRvclRlbXBsYXRlVHJhbnNsYXRpb25zKSkge1xyXG4gICAgY29uc3QgdGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKGRvY3VtZW50LCBzZWwpO1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModHJhbnMpKSB7XHJcbiAgICAgIHF1ZXJ5U2VsZWN0b3JBbGxTYWZlKHRlbXBsYXRlLCAnLnRyYW5zbGF0ZScgKyBrZXkpLmZvckVhY2goXHJcbiAgICAgICAgKGVsZW0pID0+IHtcclxuICAgICAgICAgIGVsZW0uaW5uZXJIVE1MID0gdHJhbnNsYXRlKGxhbmcsIHZhbHVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufTtcclxuXHJcbi8vIERlZmF1bHQgbGFuZ3VhZ2UgdG8gZW4gdW50aWwgd2Uga25vdyB3aGF0IGxhbmd1YWdlIHRvIHVzZVxyXG5hcHBseVRyYW5zbGF0aW9uKCdlbicpO1xyXG5cclxuY29uc3QgcmFpZEVtdWxhdG9yT25Mb2FkID0gYXN5bmMgKCkgPT4ge1xyXG4gIGNvbnN0IHBlcnNpc3RvciA9IG5ldyBQZXJzaXN0b3IoKTtcclxuICBsZXQgd2Vic29ja2V0Q29ubmVjdGVkID0gZmFsc2U7XHJcbiAgbGV0IG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zIH07XHJcblxyXG4gIC8vIFdhaXQgZm9yIHRoZSBEQiB0byBiZSByZWFkeSBiZWZvcmUgZG9pbmcgYW55dGhpbmcgdGhhdCBtaWdodCBpbnZva2UgdGhlIERCXHJcbiAgYXdhaXQgcGVyc2lzdG9yLm9wZW4oKTtcclxuXHJcbiAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ09WRVJMQVlfV1MnKSA+IDApIHtcclxuICAgIC8vIEdpdmUgdGhlIHdlYnNvY2tldCA1MDBtcyB0byBjb25uZWN0LCB0aGVuIGFib3J0LlxyXG4gICAgd2Vic29ja2V0Q29ubmVjdGVkID0gYXdhaXQgUHJvbWlzZS5yYWNlPFByb21pc2U8Ym9vbGVhbj4+KFtcclxuICAgICAgbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlcykgPT4ge1xyXG4gICAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHsgY2FsbDogJ2NhY3Rib3RSZXF1ZXN0U3RhdGUnIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgcmVzKHRydWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KSxcclxuICAgICAgbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlcykgPT4ge1xyXG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHJlcyhmYWxzZSk7XHJcbiAgICAgICAgfSwgNTAwKTtcclxuICAgICAgfSksXHJcbiAgICBdKTtcclxuICAgIGlmICh3ZWJzb2NrZXRDb25uZWN0ZWQpIHtcclxuICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlcykgPT4ge1xyXG4gICAgICAgIFVzZXJDb25maWcuZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKCdyYWlkYm9zcycsIGRlZmF1bHRPcHRpb25zLCAoKSA9PiB7XHJcbiAgICAgICAgICAvLyBVcGRhdGUgb3B0aW9ucyBmcm9tIGFueXRoaW5nIGNoYW5nZWQgdmlhIGdldFVzZXJDb25maWdMb2NhdGlvbi5cclxuICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zIH07XHJcbiAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy53ZWJzb2NrZXRDb25uZWN0ZWQnKS5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLndlYnNvY2tldERpc2Nvbm5lY3RlZCcpLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgcmVzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKCF3ZWJzb2NrZXRDb25uZWN0ZWQpIHtcclxuICAgIC8vIEZpbmQgdGhlIG1vc3QgYXBwcm9wcmlhdGUgbGFuZyBjb2RlIHRvIHVzZSBiYXNlZCBvbiBicm93c2VyIGxhbmd1YWdlIHByaW9yaXR5XHJcbiAgICBjb25zdCBicm93c2VyTGFuZyA9IFsuLi5uYXZpZ2F0b3IubGFuZ3VhZ2VzLCAnZW4nXVxyXG4gICAgICAubWFwKChsKSA9PiBsLnN1YnN0cigwLCAyKSlcclxuICAgICAgLy8gUmVtYXAgYHpoYCB0byBgY25gIHRvIG1hdGNoIGNhY3Rib3QgbGFuZ3VhZ2VzXHJcbiAgICAgIC5tYXAoKGwpID0+IGwgPT09ICd6aCcgPyAnY24nIDogbClcclxuICAgICAgLmZpbHRlcigobCkgPT4gWydlbicsICdkZScsICdmcicsICdqYScsICdjbicsICdrbyddLmluY2x1ZGVzKGwpKVswXTtcclxuICAgIG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgPSBpc0xhbmcoYnJvd3NlckxhbmcpID8gYnJvd3NlckxhbmcgOiAnZW4nO1xyXG4gICAgb3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgPSBpc0xhbmcoYnJvd3NlckxhbmcpID8gYnJvd3NlckxhbmcgOiAnZW4nO1xyXG4gICAgLy8gRGVmYXVsdCBvcHRpb25zXHJcbiAgICBvcHRpb25zLklzUmVtb3RlUmFpZGJvc3MgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICAgIG9wdGlvbnMuR3JvdXBTcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLyBJZiBEaXNwbGF5TGFuZ3VhZ2UgaXNuJ3QgRW5nbGlzaCwgc3dpdGNoIHRvIGNvcnJlY3QgbGFuZyBmb3IgZW11bGF0b3IgZGlzcGxheVxyXG4gIGlmIChvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSAhPT0gJ2VuJylcclxuICAgIGFwcGx5VHJhbnNsYXRpb24ob3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UpO1xyXG5cclxuICBjb25zdCBlbXVsYXRvciA9IG5ldyBSYWlkRW11bGF0b3Iob3B0aW9ucyk7XHJcbiAgY29uc3QgcHJvZ3Jlc3NCYXIgPSBuZXcgUHJvZ3Jlc3NCYXIoZW11bGF0b3IpO1xyXG4gIGNvbnN0IGVuY291bnRlclRhYiA9IG5ldyBFbmNvdW50ZXJUYWIocGVyc2lzdG9yKTtcclxuICBjb25zdCBlbXVsYXRlZFBhcnR5SW5mbyA9IG5ldyBFbXVsYXRlZFBhcnR5SW5mbyhlbXVsYXRvcik7XHJcbiAgY29uc3QgZW11bGF0ZWRXZWJTb2NrZXQgPSBuZXcgUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2soZW11bGF0b3IpO1xyXG4gIGVtdWxhdGVkV2ViU29ja2V0LmNvbm5lY3RlZCA9IHdlYnNvY2tldENvbm5lY3RlZDtcclxuICBjb25zdCBsb2dDb252ZXJ0ZXJXb3JrZXIgPSBuZXcgV29ya2VyKFxyXG4gICAgbmV3IFVSTCgnLi9lbXVsYXRvci9kYXRhL05ldHdvcmtMb2dDb252ZXJ0ZXIud29ya2VyLnRzJywgaW1wb3J0Lm1ldGEudXJsKSxcclxuICApO1xyXG5cclxuICAvLyBJbml0aWFsaXplIHRoZSBSYWlkYm9zcyBjb21wb25lbnRzLCBiaW5kIHRoZW0gdG8gdGhlIGVtdWxhdG9yIGZvciBldmVudCBsaXN0ZW5lcnNcclxuICBjb25zdCB0aW1lbGluZVVJID0gbmV3IFJhaWRFbXVsYXRvclRpbWVsaW5lVUkob3B0aW9ucyk7XHJcbiAgdGltZWxpbmVVSS5iaW5kVG8oZW11bGF0b3IpO1xyXG4gIGNvbnN0IHRpbWVsaW5lQ29udHJvbGxlciA9IG5ldyBSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXIoXHJcbiAgICBvcHRpb25zLFxyXG4gICAgdGltZWxpbmVVSSxcclxuICAgIHJhaWRib3NzRmlsZURhdGEsXHJcbiAgKTtcclxuICB0aW1lbGluZUNvbnRyb2xsZXIuYmluZFRvKGVtdWxhdG9yKTtcclxuICBjb25zdCBwb3B1cFRleHQgPSBuZXcgUmFpZEVtdWxhdG9yUG9wdXBUZXh0KFxyXG4gICAgb3B0aW9ucyxcclxuICAgIG5ldyBUaW1lbGluZUxvYWRlcih0aW1lbGluZUNvbnRyb2xsZXIpLFxyXG4gICAgcmFpZGJvc3NGaWxlRGF0YSxcclxuICApO1xyXG4gIHBvcHVwVGV4dC5iaW5kVG8oZW11bGF0b3IpO1xyXG5cclxuICB0aW1lbGluZUNvbnRyb2xsZXIuU2V0UG9wdXBUZXh0SW50ZXJmYWNlKG5ldyBQb3B1cFRleHRHZW5lcmF0b3IocG9wdXBUZXh0KSk7XHJcblxyXG4gIGVtdWxhdG9yLnNldFBvcHVwVGV4dChwb3B1cFRleHQpO1xyXG5cclxuICAvLyBMaXN0ZW4gZm9yIHRoZSB1c2VyIHRvIGNsaWNrIGEgcGxheWVyIGluIHRoZSBwYXJ0eSBsaXN0IG9uIHRoZSByaWdodFxyXG4gIC8vIGFuZCBwZXJzaXN0IHRoYXQgb3ZlciB0byB0aGUgZW11bGF0b3JcclxuICBlbXVsYXRlZFBhcnR5SW5mby5vbignc2VsZWN0UGVyc3BlY3RpdmUnLCAoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgZW11bGF0b3Iuc2VsZWN0UGVyc3BlY3RpdmUoaWQpO1xyXG4gIH0pO1xyXG5cclxuICBlbXVsYXRvci5vbignY3VycmVudEVuY291bnRlckNoYW5nZWQnLCAoZW5jOiBBbmFseXplZEVuY291bnRlcikgPT4ge1xyXG4gICAgLy8gU3RvcmUgb3VyIGN1cnJlbnQgbG9hZGVkIGVuY291bnRlciB0byBhdXRvLWxvYWQgbmV4dCB0aW1lXHJcbiAgICBpZiAoZW5jLmVuY291bnRlci5pZClcclxuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjdXJyZW50RW5jb3VudGVyJywgZW5jLmVuY291bnRlci5pZC50b1N0cmluZygpKTtcclxuICAgIC8vIE9uY2Ugd2UndmUgbG9hZGVkIHRoZSBlbmNvdW50ZXIsIHNlZWsgdG8gdGhlIHN0YXJ0IG9mIHRoZSBlbmNvdW50ZXJcclxuICAgIGlmICghaXNOYU4oZW5jLmVuY291bnRlci5pbml0aWFsT2Zmc2V0KSlcclxuICAgICAgdm9pZCBlbXVsYXRvci5zZWVrKGVuYy5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIExpc3RlbiBmb3IgdGhlIHVzZXIgdG8gYXR0ZW1wdCB0byBsb2FkIGFuIGVuY291bnRlciBmcm9tIHRoZSBlbmNvdW50ZXJzIHBhbmVcclxuICBlbmNvdW50ZXJUYWIub24oJ2xvYWQnLCAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgLy8gQXR0ZW1wdCB0byBzZXQgdGhlIGN1cnJlbnQgZW11bGF0ZWQgZW5jb3VudGVyXHJcbiAgICBpZiAoIWVtdWxhdG9yLnNldEN1cnJlbnRCeUlEKGlkKSkge1xyXG4gICAgICAvLyBJZiB0aGF0IGVuY291bnRlciBpc24ndCBsb2FkZWQsIGxvYWQgaXRcclxuICAgICAgdm9pZCBwZXJzaXN0b3IubG9hZEVuY291bnRlcihpZCkudGhlbigoZW5jPzogRW5jb3VudGVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGVuYykge1xyXG4gICAgICAgICAgZW11bGF0b3IuYWRkRW5jb3VudGVyKGVuYyk7XHJcbiAgICAgICAgICBlbXVsYXRvci5zZXRDdXJyZW50QnlJRChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gTGlzdGVuIGZvciB0aGUgdXNlciB0byBzZWxlY3QgcmUtcGFyc2Ugb24gdGhlIGVuY291bnRlcnMgdGFiLCB0aGVuIHJlZnJlc2ggaXQgaW4gdGhlIERCXHJcbiAgZW5jb3VudGVyVGFiLm9uKCdwYXJzZScsIChpZDogbnVtYmVyKSA9PiB7XHJcbiAgICB2b2lkIHBlcnNpc3Rvci5sb2FkRW5jb3VudGVyKGlkKS50aGVuKGFzeW5jIChlbmM/OiBFbmNvdW50ZXIpID0+IHtcclxuICAgICAgaWYgKGVuYykge1xyXG4gICAgICAgIGVuYy5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgYXdhaXQgcGVyc2lzdG9yLnBlcnNpc3RFbmNvdW50ZXIoZW5jKTtcclxuICAgICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgLy8gTGlzdGVuIGZvciB0aGUgdXNlciB0byBzZWxlY3QgcHJ1bmUgb24gdGhlIGVuY291bnRlcnMgdGFiXHJcbiAgZW5jb3VudGVyVGFiLm9uKCdwcnVuZScsIChpZDogbnVtYmVyKSA9PiB7XHJcbiAgICB2b2lkIHBlcnNpc3Rvci5sb2FkRW5jb3VudGVyKGlkKS50aGVuKGFzeW5jIChlbmM/OiBFbmNvdW50ZXIpID0+IHtcclxuICAgICAgaWYgKGVuYykge1xyXG4gICAgICAgIC8vIFRyaW0gbG9nIGxpbmVzXHJcbiAgICAgICAgZW5jLmxvZ0xpbmVzID0gZW5jLmxvZ0xpbmVzLnNsaWNlKGVuYy5maXJzdExpbmVJbmRleCAtIDEpO1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgcHJlY2FsY3VsYXRlZCBvZmZzZXRzXHJcbiAgICAgICAgY29uc3QgZmlyc3RUaW1lc3RhbXAgPSBlbmMubG9nTGluZXNbMF0/LnRpbWVzdGFtcCA/PyAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBlbmMubG9nTGluZXMpXHJcbiAgICAgICAgICBsaW5lLm9mZnNldCA9IGxpbmUudGltZXN0YW1wIC0gZmlyc3RUaW1lc3RhbXA7XHJcblxyXG4gICAgICAgIGVuYy5maXJzdExpbmVJbmRleCA9IDA7XHJcblxyXG4gICAgICAgIGVuYy5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgYXdhaXQgcGVyc2lzdG9yLnBlcnNpc3RFbmNvdW50ZXIoZW5jKTtcclxuICAgICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgLy8gTGlzdGVuIGZvciB0aGUgdXNlciB0byBzZWxlY3QgZGVsZXRlIG9uIHRoZSBlbmNvdW50ZXJzIHRhYiwgdGhlbiBkbyBpdC5cclxuICBlbmNvdW50ZXJUYWIub24oJ2RlbGV0ZScsIChpZDogbnVtYmVyKSA9PiB7XHJcbiAgICB2b2lkIHBlcnNpc3Rvci5kZWxldGVFbmNvdW50ZXIoaWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIExpc3RlbiBmb3IgdGhlIGVtdWxhdG9yIHRvIGV2ZW50IGxvZyBsaW5lcywgdGhlbiBkaXNwYXRjaCB0aGVtIHRvIHRoZSB0aW1lbGluZSBjb250cm9sbGVyXHJcbiAgLy8gQFRPRE86IFByb2JhYmx5IGEgYmV0dGVyIHBsYWNlIHRvIGxpc3RlbiBmb3IgdGhpcz9cclxuICBlbXVsYXRvci5vbignZW1pdExvZ3MnLCAoZTogeyBsb2dzOiBMaW5lRXZlbnRbXSB9KSA9PiB7XHJcbiAgICB0aW1lbGluZUNvbnRyb2xsZXIub25FbXVsYXRvckxvZ0V2ZW50KGUubG9ncyk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIExvYWQgdGhlIGVuY291bnRlciBtZXRhZGF0YSBmcm9tIHRoZSBEQlxyXG4gIGVuY291bnRlclRhYi5yZWZyZXNoKCk7XHJcblxyXG4gIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IGVuY291bnRlcnMgc3RvcmVkLCBzaG93IHRoZSBpbnRybyBtb2RhbFxyXG4gIHZvaWQgcGVyc2lzdG9yLmVuY291bnRlclN1bW1hcmllcy50b0FycmF5KCkudGhlbigoZW5jb3VudGVycykgPT4ge1xyXG4gICAgaWYgKGVuY291bnRlcnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHNob3dNb2RhbCgnLmludHJvTW9kYWwnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBsYXN0RW5jb3VudGVyOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50RW5jb3VudGVyJyk7XHJcbiAgICAgIGlmIChsYXN0RW5jb3VudGVyKSB7XHJcbiAgICAgICAgbGFzdEVuY291bnRlciA9IHBhcnNlSW50KGxhc3RFbmNvdW50ZXIpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZWRFbmNvdW50ZXJzID0gZW5jb3VudGVycy5maWx0ZXIoKGUpID0+IGUuaWQgPT09IGxhc3RFbmNvdW50ZXIpO1xyXG4gICAgICAgIGlmIChtYXRjaGVkRW5jb3VudGVycy5sZW5ndGgpXHJcbiAgICAgICAgICB2b2lkIGVuY291bnRlclRhYi5kaXNwYXRjaCgnbG9hZCcsIGxhc3RFbmNvdW50ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghd2Vic29ja2V0Q29ubmVjdGVkKSB7XHJcbiAgICAgICAgY29uc3QgZGlzcExhbmcgPSBsYW5nTWFwW29wdGlvbnMuUGFyc2VyTGFuZ3VhZ2VdW29wdGlvbnMuUGFyc2VyTGFuZ3VhZ2VdO1xyXG4gICAgICAgIGNvbnN0IGRpc2NNb2RhbCA9IHNob3dNb2RhbCgnLmRpc2Nvbm5lY3RlZE1vZGFsJyk7XHJcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcuY29ubmVjdGlvbkluZGljYXRvcicpO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGluZGljYXRvciwgJy5jb25uZWN0ZWRJbmRpY2F0b3InKS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTtcclxuICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShpbmRpY2F0b3IsICcuZGlzY29ubmVjdGVkSW5kaWNhdG9yJykuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZGlzY01vZGFsLCAnLmRpc2NMYW5nRGlzcGxheScpLmlubmVyVGV4dCA9IGRpc3BMYW5nO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGRpc2NNb2RhbCwgJy5kaXNjTGFuZ0FsZXJ0cycpLmlubmVyVGV4dCA9IGRpc3BMYW5nO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGRpc2NNb2RhbCwgJy5kaXNjTGFuZ1RpbWVsaW5lJykuaW5uZXJUZXh0ID0gZGlzcExhbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgY29uc3QgY2hlY2tGaWxlID0gKGZpbGU6IEZpbGUpID0+IHtcclxuICAgIGlmIChmaWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9qc29uJykge1xyXG4gICAgICAvLyBJbXBvcnQgYSBEQiBmaWxlIGJ5IHBhc3NpbmcgaXQgdG8gUGVyc2lzdG9yXHJcbiAgICAgIHZvaWQgcGVyc2lzdG9yLmltcG9ydERCKGZpbGUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIGVuY291bnRlclRhYi5yZWZyZXNoKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gQXNzdW1lIGl0J3MgYSBsb2cgZmlsZVxyXG4gICAgICBjb25zdCBpbXBvcnRNb2RhbCA9IHNob3dNb2RhbCgnLmltcG9ydFByb2dyZXNzTW9kYWwnKTtcclxuICAgICAgY29uc3QgYmFyID0gcXVlcnlTZWxlY3RvclNhZmUoaW1wb3J0TW9kYWwsICcucHJvZ3Jlc3MtYmFyJyk7XHJcbiAgICAgIGJhci5zdHlsZS53aWR0aCA9ICcwcHgnO1xyXG4gICAgICBjb25zdCBsYWJlbCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGltcG9ydE1vZGFsLCAnLmxhYmVsJyk7XHJcbiAgICAgIGxhYmVsLmlubmVyVGV4dCA9ICcnO1xyXG4gICAgICBjb25zdCBlbmNMYWJlbCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGltcG9ydE1vZGFsLCAnLm1vZGFsLWJvZHktY29udGVudHMnKTtcclxuICAgICAgZW5jTGFiZWwuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcblxyXG4gICAgICBjb25zdCBkb25lQnV0dG9uID0gcXVlcnlTZWxlY3RvclNhZmUoaW1wb3J0TW9kYWwsICcuYnRuJyk7XHJcbiAgICAgIGlmICghKGRvbmVCdXR0b24gaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBkb25lQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGNvbnN0IGRvbmVCdXR0b25UaW1lb3V0ID0gcXVlcnlTZWxlY3RvclNhZmUoZG9uZUJ1dHRvbiwgJy5kb25lQnRuVGltZW91dCcpO1xyXG5cclxuICAgICAgbGV0IHByb21pc2U6IFByb21pc2U8dW5rbm93bj4gfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICBsb2dDb252ZXJ0ZXJXb3JrZXIub25tZXNzYWdlID0gKG1zZzogTWVzc2FnZUV2ZW50PENvbnZlcnRlcldvcmtlck1lc3NhZ2U+KSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChtc2cuZGF0YS50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlICdwcm9ncmVzcyc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb25zdCBwZXJjZW50ID0gKChtc2cuZGF0YS5ieXRlcyAvIG1zZy5kYXRhLnRvdGFsQnl0ZXMpICogMTAwKS50b0ZpeGVkKDIpO1xyXG4gICAgICAgICAgICAgIGJhci5zdHlsZS53aWR0aCA9IHBlcmNlbnQgKyAnJSc7XHJcbiAgICAgICAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID1cclxuICAgICAgICAgICAgICAgIGAke21zZy5kYXRhLmJ5dGVzfS8ke21zZy5kYXRhLnRvdGFsQnl0ZXN9IGJ5dGVzLCAke21zZy5kYXRhLmxpbmVzfSBsaW5lcyAoJHtwZXJjZW50fSUpYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2VuY291bnRlcic6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBlbmNMYWJlbC5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgICBjb25zdCBlbmMgPSBtc2cuZGF0YS5lbmNvdW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgIC8vIE9iamVjdHMgc2VudCB2aWEgbWVzc2FnZSBhcmUgcmF3IG9iamVjdHMsIG5vdCB0eXBlZC4gQXBwbHkgcHJvdG90eXBlIGNoYWluXHJcbiAgICAgICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGVuYy5jb21iYXRhbnRUcmFja2VyLCBDb21iYXRhbnRUcmFja2VyLnByb3RvdHlwZSk7XHJcblxyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLnpvbmUnKS5pbm5lclRleHQgPSBlbmMuZW5jb3VudGVyWm9uZU5hbWU7XHJcbiAgICAgICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZW5jTGFiZWwsICcuZW5jb3VudGVyJykuaW5uZXJUZXh0ID0gbXNnLmRhdGEubmFtZTtcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5zdGFydCcpLmlubmVyVGV4dCA9IG5ldyBEYXRlKGVuYy5zdGFydFRpbWVzdGFtcClcclxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLmVuZCcpLmlubmVyVGV4dCA9IG5ldyBEYXRlKGVuYy5lbmRUaW1lc3RhbXApLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKFxyXG4gICAgICAgICAgICAgICAgZW5jLmVuZFRpbWVzdGFtcCAtIGVuYy5zdGFydFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5zcGxpdCgnOicpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uTWlucyA9IGR1cmF0aW9uWzBdID8/ICcwJztcclxuICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvblNlY3MgPSBkdXJhdGlvblsxXSA/PyAnMDAnO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHB1bGxEdXJhdGlvbiA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhcclxuICAgICAgICAgICAgICAgIGVuYy5lbmRUaW1lc3RhbXAgLSBlbmMuaW5pdGlhbFRpbWVzdGFtcCxcclxuICAgICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5zcGxpdCgnOicpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHB1bGxEdXJhdGlvbk1pbnMgPSBwdWxsRHVyYXRpb25bMF0gPz8gJzAnO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHB1bGxEdXJhdGlvblNlY3MgPSBwdWxsRHVyYXRpb25bMV0gPz8gJzAwJztcclxuXHJcbiAgICAgICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZW5jTGFiZWwsICcuZHVyTWlucycpLmlubmVyVGV4dCA9IGR1cmF0aW9uTWlucztcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5kdXJTZWNzJykuaW5uZXJUZXh0ID0gZHVyYXRpb25TZWNzO1xyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLnB1bGxNaW5zJykuaW5uZXJUZXh0ID0gcHVsbER1cmF0aW9uTWlucztcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5wdWxsU2VjcycpLmlubmVyVGV4dCA9IHB1bGxEdXJhdGlvblNlY3M7XHJcblxyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLnN0YXJ0ZWRCeScpLmlubmVyVGV4dCA9IGxvb2t1cFN0YXJ0U3RhdHVzZXMoXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSxcclxuICAgICAgICAgICAgICAgIGVuYy5zdGFydFN0YXR1cyxcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLmVuZFN0YXR1cycpLmlubmVyVGV4dCA9IGxvb2t1cEVuZFN0YXR1cyhcclxuICAgICAgICAgICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlLFxyXG4gICAgICAgICAgICAgICAgZW5jLmVuZFN0YXR1cyxcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLmxpbmVDb3VudCcpLmlubmVyVGV4dCA9IGVuYy5sb2dMaW5lcy5sZW5ndGgudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICBpZiAocHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgICAgdm9pZCBwcm9taXNlLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBwcm9taXNlID0gcGVyc2lzdG9yLnBlcnNpc3RFbmNvdW50ZXIoZW5jKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwcm9taXNlID0gcGVyc2lzdG9yLnBlcnNpc3RFbmNvdW50ZXIoZW5jKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdkb25lJzpcclxuICAgICAgICAgICAgdm9pZCBQcm9taXNlLmFsbChbcHJvbWlzZV0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGVuY291bnRlclRhYi5yZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgZG9uZUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIGxldCBzZWNvbmRzID0gNTtcclxuICAgICAgICAgICAgICBkb25lQnV0dG9uVGltZW91dC5pbm5lclRleHQgPSBgICgke3NlY29uZHN9KWA7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLS1zZWNvbmRzO1xyXG4gICAgICAgICAgICAgICAgZG9uZUJ1dHRvblRpbWVvdXQuaW5uZXJUZXh0ID0gYCAoJHtzZWNvbmRzfSlgO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNlY29uZHMgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICAgICAgICBoaWRlTW9kYWwoJy5pbXBvcnRQcm9ncmVzc01vZGFsJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHZvaWQgZmlsZS5hcnJheUJ1ZmZlcigpLnRoZW4oKGIpID0+IHtcclxuICAgICAgICBsb2dDb252ZXJ0ZXJXb3JrZXIucG9zdE1lc3NhZ2UoYiwgW2JdKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaWdub3JlRXZlbnQgPSAoZTogRXZlbnQpID0+IHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfTtcclxuXHJcbiAgLy8gSGFuZGxlIGRyYWcrZHJvcCBvZiBmaWxlcy4gSGF2ZSB0byBpZ25vcmUgZHJhZ2VudGVyL2RyYWdvdmVyIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuXHJcbiAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCBpZ25vcmVFdmVudCk7XHJcbiAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGlnbm9yZUV2ZW50KTtcclxuXHJcbiAgY29uc3QgZHJvcEhhbmRsZXIgPSAoZTogRHJhZ0V2ZW50KSA9PiB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgZHQgPSBlLmRhdGFUcmFuc2ZlcjtcclxuICAgIGlmIChkdCkge1xyXG4gICAgICBjb25zdCBmaWxlcyA9IGR0LmZpbGVzO1xyXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXHJcbiAgICAgICAgY2hlY2tGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGRyb3BIYW5kbGVyKTtcclxuXHJcbiAgY29uc3QgJGV4cG9ydEJ1dHRvbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmV4cG9ydERCQnV0dG9uJyk7XHJcblxyXG4gIG5ldyBUb29sdGlwKCRleHBvcnRCdXR0b24sICdib3R0b20nLCAnRXhwb3J0IHRoZSBEQiAoc2xvdykuJyk7XHJcblxyXG4gIC8vIEF1dG8gaW5pdGlhbGl6ZSBhbGwgY29sbGFwc2UgZWxlbWVudHMgb24gdGhlIHBhZ2VcclxuICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXScpLmZvckVhY2goKG4pID0+IHtcclxuICAgIGNvbnN0IHRhcmdldFNlbCA9IG4uZ2V0QXR0cmlidXRlKCdkYXRhLXRhcmdldCcpO1xyXG4gICAgaWYgKCF0YXJnZXRTZWwpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGNvbnN0IHRhcmdldCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCB0YXJnZXRTZWwpO1xyXG4gICAgbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgaWYgKG4uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICdmYWxzZScpIHtcclxuICAgICAgICBuLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XHJcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xyXG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBIYW5kbGUgREIgZXhwb3J0XHJcbiAgJGV4cG9ydEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgIHZvaWQgcGVyc2lzdG9yLmV4cG9ydERCKCkudGhlbigoYmxvYikgPT4ge1xyXG4gICAgICAvLyBPZmZlciBkb3dubG9hZCB0byB1c2VyXHJcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgIGEuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgIGEuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGBSYWlkRW11bGF0b3JfREJFeHBvcnRfJHtEYXRlLm5vdygpfS5qc29uYCk7XHJcbiAgICAgIGEuY2xpY2soKTtcclxuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChhLmhyZWYpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0ICRmaWxlSW5wdXQgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5sb2FkRmlsZUlucHV0Jyk7XHJcblxyXG4gIC8vIEhhbmRsZSB0aGUgYExvYWQgTmV0d29yayBMb2dgIGJ1dHRvbiB3aGVuIHVzZXIgc2VsZWN0cyBmaWxlc1xyXG4gICRmaWxlSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGU6IEV2ZW50KSA9PiB7XHJcbiAgICBpZiAoZS50YXJnZXQpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQ7XHJcbiAgICAgIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50ICYmIHRhcmdldC5maWxlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiB0YXJnZXQuZmlsZXMpXHJcbiAgICAgICAgICBjaGVja0ZpbGUoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gUHJvbXB0IHVzZXIgdG8gc2VsZWN0IGZpbGVzIGlmIHRoZXkgY2xpY2sgdGhlIGBMb2FkIE5ldHdvcmsgTG9nYCBidXR0b24uXHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmxvYWROZXR3b3JrTG9nQnV0dG9uJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgJGZpbGVJbnB1dC5jbGljaygpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIEhhbmRsZSBhbGwgbW9kYWwgY2xvc2UgYnV0dG9uc1xyXG4gIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbCBidXR0b24uY2xvc2UsIFtkYXRhLWRpc21pc3M9XCJtb2RhbFwiXScpLmZvckVhY2goKG4pID0+IHtcclxuICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgTW91c2VFdmVudCkpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBpZiAoIShlLmN1cnJlbnRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICAvLyBGaW5kIHRoZSBwYXJlbnQgbW9kYWwgZnJvbSB0aGUgY2xvc2UgYnV0dG9uIGFuZCBjbG9zZSBpdFxyXG4gICAgICBsZXQgdGFyZ2V0ID0gZS5jdXJyZW50VGFyZ2V0O1xyXG4gICAgICB3aGlsZSAoIXRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ21vZGFsJykgJiYgdGFyZ2V0ICE9PSBkb2N1bWVudC5ib2R5KVxyXG4gICAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnRFbGVtZW50ID8/IHRhcmdldDtcclxuXHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRvY3VtZW50LmJvZHkpXHJcbiAgICAgICAgaGlkZU1vZGFsKCcuJyArIFsuLi50YXJnZXQuY2xhc3NMaXN0XS5qb2luKCcuJykpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIEhhbmRsZSBjbG9zaW5nIGFsbCBtb2RhbHMgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgdGhlIG1vZGFsXHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1vZGFsJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgIC8vIE9ubHkgY2xvc2UgdGhlIG1vZGFsIGlmIHRoZSB1c2VyIGFjdHVhbGx5IGNsaWNrZWQgb3V0c2lkZSBpdCwgbm90IGNoaWxkIGNsaWNrc1xyXG4gICAgICBpZiAoZS50YXJnZXQgPT09IG4pXHJcbiAgICAgICAgaGlkZU1vZGFsKCk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgLy8gQXNrIHRoZSB1c2VyIGlmIHRoZXkncmUgcmVhbGx5IHN1cmUgdGhleSB3YW50IHRvIGNsZWFyIHRoZSBEQlxyXG4gIHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmNsZWFyREJCdXR0b24nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgIHNob3dNb2RhbCgnLmRlbGV0ZURCTW9kYWwnKTtcclxuICB9KTtcclxuXHJcbiAgLy8gSGFuZGxlIHVzZXIgc2F5aW5nIHRoZXkncmUgcmVhbGx5IHN1cmUgdGhleSB3YW50IHRvIGNsZWFyIHRoZSBEQiBieSB3aXBpbmcgaXQgdGhlblxyXG4gIC8vIHJlZnJlc2hpbmcgdGhlIGVuY291bnRlciB0YWJcclxuICBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5kZWxldGVEQk1vZGFsIC5idG4tcHJpbWFyeScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgdm9pZCBwZXJzaXN0b3IuY2xlYXJEQigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgICBoaWRlTW9kYWwoJy5kZWxldGVEQk1vZGFsJyk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgLy8gTWFrZSB0aGUgZW11bGF0b3Igc3RhdGUgYXZhaWxhYmxlIGZvciBkZWJ1Z2dpbmdcclxuICB3aW5kb3cucmFpZEVtdWxhdG9yID0ge1xyXG4gICAgZW11bGF0b3I6IGVtdWxhdG9yLFxyXG4gICAgcHJvZ3Jlc3NCYXI6IHByb2dyZXNzQmFyLFxyXG4gICAgdGltZWxpbmVDb250cm9sbGVyOiB0aW1lbGluZUNvbnRyb2xsZXIsXHJcbiAgICBwb3B1cFRleHQ6IHBvcHVwVGV4dCxcclxuICAgIHBlcnNpc3RvcjogcGVyc2lzdG9yLFxyXG4gICAgZW5jb3VudGVyVGFiOiBlbmNvdW50ZXJUYWIsXHJcbiAgICBlbXVsYXRlZFBhcnR5SW5mbzogZW11bGF0ZWRQYXJ0eUluZm8sXHJcbiAgICBlbXVsYXRlZFdlYlNvY2tldDogZW11bGF0ZWRXZWJTb2NrZXQsXHJcbiAgICB0aW1lbGluZVVJOiB0aW1lbGluZVVJLFxyXG4gIH07XHJcbn07XHJcblxyXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xyXG4gIHZvaWQgcmFpZEVtdWxhdG9yT25Mb2FkKCk7XHJcbn0pO1xyXG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbiIsInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy51ID0gKGNodW5rSWQpID0+IHtcblx0Ly8gcmV0dXJuIHVybCBmb3IgZmlsZW5hbWVzIGJhc2VkIG9uIHRlbXBsYXRlXG5cdHJldHVybiBcIlwiICsgY2h1bmtJZCArIFwiLmJ1bmRsZS5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmNcblx0aWYgKCFzY3JpcHRVcmwpIHtcblx0XHR2YXIgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpO1xuXHRcdGlmKHNjcmlwdHMubGVuZ3RoKSBzY3JpcHRVcmwgPSBzY3JpcHRzW3NjcmlwdHMubGVuZ3RoIC0gMV0uc3JjXG5cdH1cbn1cbi8vIFdoZW4gc3VwcG9ydGluZyBicm93c2VycyB3aGVyZSBhbiBhdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIHlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0LnB1YmxpY1BhdGggbWFudWFsbHkgdmlhIGNvbmZpZ3VyYXRpb25cbi8vIG9yIHBhc3MgYW4gZW1wdHkgc3RyaW5nIChcIlwiKSBhbmQgc2V0IHRoZSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyB2YXJpYWJsZSBmcm9tIHlvdXIgY29kZSB0byB1c2UgeW91ciBvd24gbG9naWMuXG5pZiAoIXNjcmlwdFVybCkgdGhyb3cgbmV3IEVycm9yKFwiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXJcIik7XG5zY3JpcHRVcmwgPSBzY3JpcHRVcmwucmVwbGFjZSgvIy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcPy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcL1teXFwvXSskLywgXCIvXCIpO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gc2NyaXB0VXJsICsgXCIuLi8uLi9cIjsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmIgPSBkb2N1bWVudC5iYXNlVVJJIHx8IHNlbGYubG9jYXRpb24uaHJlZjtcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBhbmQgbG9hZGluZyBjaHVua3Ncbi8vIHVuZGVmaW5lZCA9IGNodW5rIG5vdCBsb2FkZWQsIG51bGwgPSBjaHVuayBwcmVsb2FkZWQvcHJlZmV0Y2hlZFxuLy8gW3Jlc29sdmUsIHJlamVjdCwgUHJvbWlzZV0gPSBjaHVuayBsb2FkaW5nLCAwID0gY2h1bmsgbG9hZGVkXG52YXIgaW5zdGFsbGVkQ2h1bmtzID0ge1xuXHQyNDc6IDBcbn07XG5cbi8vIG5vIGNodW5rIG9uIGRlbWFuZCBsb2FkaW5nXG5cbi8vIG5vIHByZWZldGNoaW5nXG5cbi8vIG5vIHByZWxvYWRlZFxuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0XG5cbl9fd2VicGFja19yZXF1aXJlX18uTy5qID0gKGNodW5rSWQpID0+IChpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPT09IDApO1xuXG4vLyBpbnN0YWxsIGEgSlNPTlAgY2FsbGJhY2sgZm9yIGNodW5rIGxvYWRpbmdcbnZhciB3ZWJwYWNrSnNvbnBDYWxsYmFjayA9IChwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiwgZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHQvLyBhZGQgXCJtb3JlTW9kdWxlc1wiIHRvIHRoZSBtb2R1bGVzIG9iamVjdCxcblx0Ly8gdGhlbiBmbGFnIGFsbCBcImNodW5rSWRzXCIgYXMgbG9hZGVkIGFuZCBmaXJlIGNhbGxiYWNrXG5cdHZhciBtb2R1bGVJZCwgY2h1bmtJZCwgaSA9IDA7XG5cdGlmKGNodW5rSWRzLnNvbWUoKGlkKSA9PiAoaW5zdGFsbGVkQ2h1bmtzW2lkXSAhPT0gMCkpKSB7XG5cdFx0Zm9yKG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8obW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuXHRcdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihydW50aW1lKSB2YXIgcmVzdWx0ID0gcnVudGltZShfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblx0fVxuXHRpZihwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbikgcGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG5cdGZvcig7aSA8IGNodW5rSWRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0Y2h1bmtJZCA9IGNodW5rSWRzW2ldO1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhpbnN0YWxsZWRDaHVua3MsIGNodW5rSWQpICYmIGluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuXHRcdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdWzBdKCk7XG5cdFx0fVxuXHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkc1tpXV0gPSAwO1xuXHR9XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fLk8ocmVzdWx0KTtcbn1cblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtjYWN0Ym90XCJdID0gc2VsZltcIndlYnBhY2tDaHVua2NhY3Rib3RcIl0gfHwgW107XG5jaHVua0xvYWRpbmdHbG9iYWwuZm9yRWFjaCh3ZWJwYWNrSnNvbnBDYWxsYmFjay5iaW5kKG51bGwsIDApKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gd2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLCBjaHVua0xvYWRpbmdHbG9iYWwucHVzaC5iaW5kKGNodW5rTG9hZGluZ0dsb2JhbCkpOyIsIiIsIi8vIHN0YXJ0dXBcbi8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLy8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyh1bmRlZmluZWQsIFs4OTBdLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXyg1MzQyKSkpXG5fX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKF9fd2VicGFja19leHBvcnRzX18pO1xuIiwiIl0sIm5hbWVzIjpbInRhcmdldElzWW91IiwiZGF0YSIsIm1hdGNoZXMiLCJtZSIsInRhcmdldCIsInRhcmdldElzTm90WW91IiwiY2FyZXNBYm91dEFPRSIsInJvbGUiLCJDYW5BZGRsZSIsImpvYiIsImNhcmVzQWJvdXRNYWdpY2FsIiwiY2FyZXNBYm91dFBoeXNpY2FsIiwiQ2FuRmVpbnQiLCJsYW5ndWFnZXMiLCJsYW5nTWFwIiwiZW4iLCJkZSIsImZyIiwiamEiLCJjbiIsImtvIiwiaXNMYW5nIiwibGFuZyIsImxhbmdTdHJzIiwiaW5jbHVkZXMiLCJsYW5nVG9Mb2NhbGUiLCJsb2dEZWZpbml0aW9ucyIsIkdhbWVMb2ciLCJ0eXBlIiwibmFtZSIsIm1lc3NhZ2VUeXBlIiwiZmllbGRzIiwidGltZXN0YW1wIiwiY29kZSIsImxpbmUiLCJzdWJGaWVsZHMiLCJjYW5Bbm9ueW1pemUiLCJDaGFuZ2Vab25lIiwiaWQiLCJsYXN0SW5jbHVkZSIsIkNoYW5nZWRQbGF5ZXIiLCJwbGF5ZXJJZHMiLCJBZGRlZENvbWJhdGFudCIsImxldmVsIiwib3duZXJJZCIsIndvcmxkSWQiLCJ3b3JsZCIsIm5wY05hbWVJZCIsIm5wY0Jhc2VJZCIsImN1cnJlbnRIcCIsImhwIiwiY3VycmVudE1wIiwibXAiLCJ4IiwieSIsInoiLCJoZWFkaW5nIiwiUmVtb3ZlZENvbWJhdGFudCIsIm93bmVyIiwiUGFydHlMaXN0IiwicGFydHlDb3VudCIsImlkMCIsImlkMSIsImlkMiIsImlkMyIsImlkNCIsImlkNSIsImlkNiIsImlkNyIsImlkOCIsImlkOSIsImlkMTAiLCJpZDExIiwiaWQxMiIsImlkMTMiLCJpZDE0IiwiaWQxNSIsImlkMTYiLCJpZDE3IiwiaWQxOCIsImlkMTkiLCJpZDIwIiwiaWQyMSIsImlkMjIiLCJpZDIzIiwib3B0aW9uYWxGaWVsZHMiLCJQbGF5ZXJTdGF0cyIsInN0cmVuZ3RoIiwiZGV4dGVyaXR5Iiwidml0YWxpdHkiLCJpbnRlbGxpZ2VuY2UiLCJtaW5kIiwicGlldHkiLCJhdHRhY2tQb3dlciIsImRpcmVjdEhpdCIsImNyaXRpY2FsSGl0IiwiYXR0YWNrTWFnaWNQb3RlbmN5IiwiaGVhbE1hZ2ljUG90ZW5jeSIsImRldGVybWluYXRpb24iLCJza2lsbFNwZWVkIiwic3BlbGxTcGVlZCIsInRlbmFjaXR5IiwibG9jYWxDb250ZW50SWQiLCJTdGFydHNVc2luZyIsInNvdXJjZUlkIiwic291cmNlIiwiYWJpbGl0eSIsInRhcmdldElkIiwiY2FzdFRpbWUiLCJBYmlsaXR5IiwiZmxhZ3MiLCJkYW1hZ2UiLCJ0YXJnZXRDdXJyZW50SHAiLCJ0YXJnZXRNYXhIcCIsInRhcmdldEN1cnJlbnRNcCIsInRhcmdldE1heE1wIiwidGFyZ2V0WCIsInRhcmdldFkiLCJ0YXJnZXRaIiwidGFyZ2V0SGVhZGluZyIsIm1heEhwIiwibWF4TXAiLCJzZXF1ZW5jZSIsImZpcnN0VW5rbm93bkZpZWxkIiwiTmV0d29ya0FPRUFiaWxpdHkiLCJOZXR3b3JrQ2FuY2VsQWJpbGl0eSIsInJlYXNvbiIsIk5ldHdvcmtEb1QiLCJ3aGljaCIsImVmZmVjdElkIiwiV2FzRGVmZWF0ZWQiLCJHYWluc0VmZmVjdCIsImVmZmVjdCIsImR1cmF0aW9uIiwiY291bnQiLCJzb3VyY2VNYXhIcCIsIkhlYWRNYXJrZXIiLCJOZXR3b3JrUmFpZE1hcmtlciIsIm9wZXJhdGlvbiIsIndheW1hcmsiLCJOZXR3b3JrVGFyZ2V0TWFya2VyIiwidGFyZ2V0TmFtZSIsIkxvc2VzRWZmZWN0IiwiTmV0d29ya0dhdWdlIiwiZGF0YTAiLCJkYXRhMSIsImRhdGEyIiwiZGF0YTMiLCJOZXR3b3JrV29ybGQiLCJpc1Vua25vd24iLCJBY3RvckNvbnRyb2wiLCJpbnN0YW5jZSIsImNvbW1hbmQiLCJOYW1lVG9nZ2xlIiwidG9nZ2xlIiwiVGV0aGVyIiwiTGltaXRCcmVhayIsInZhbHVlSGV4IiwiYmFycyIsIk5ldHdvcmtFZmZlY3RSZXN1bHQiLCJzZXF1ZW5jZUlkIiwiU3RhdHVzRWZmZWN0Iiwiam9iTGV2ZWxEYXRhIiwiTmV0d29ya1VwZGF0ZUhQIiwiTWFwIiwicmVnaW9uTmFtZSIsInBsYWNlTmFtZSIsInBsYWNlTmFtZVN1YiIsIlN5c3RlbUxvZ01lc3NhZ2UiLCJwYXJhbTAiLCJwYXJhbTEiLCJwYXJhbTIiLCJQYXJzZXJJbmZvIiwiZ2xvYmFsSW5jbHVkZSIsIlByb2Nlc3NJbmZvIiwiRGVidWciLCJQYWNrZXREdW1wIiwiVmVyc2lvbiIsIkVycm9yIiwiTm9uZSIsImFzc2VydExvZ0RlZmluaXRpb25zIiwiY29uc29sZSIsImFzc2VydCIsIlJlZ2V4ZXMiLCJzZXBhcmF0b3IiLCJtYXRjaERlZmF1bHQiLCJtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIiwibWFnaWNTdHJpbmdSZWdleCIsImtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uIiwiZGVmYXVsdFBhcmFtcyIsImluY2x1ZGUiLCJPYmplY3QiLCJrZXlzIiwicGFyYW1zIiwicHJvcCIsImluZGV4IiwiZW50cmllcyIsInBhcmFtIiwiZmllbGQiLCJ2YWx1ZSIsInBhcnNlSGVscGVyIiwiZnVuY05hbWUiLCJ2YWxpZEZpZWxkcyIsInB1c2giLCJ2YWxpZGF0ZVBhcmFtcyIsImNhcHR1cmUiLCJ0cnVlSWZVbmRlZmluZWQiLCJmaWVsZEtleXMiLCJzb3J0IiwiYSIsImIiLCJwYXJzZUludCIsIm1heEtleVN0ciIsImxlbmd0aCIsImtleSIsImZpZWxkTmFtZSIsIm1heEtleSIsInRyYW5zUGFyYW1zIiwiZmlsdGVyIiwiayIsIm5lZWRzVHJhbnNsYXRpb25zIiwiTmV0UmVnZXhlcyIsImZsYWdUcmFuc2xhdGlvbnNOZWVkZWQiLCJzdHIiLCJsYXN0S2V5Iiwia2V5U3RyIiwibWlzc2luZ0ZpZWxkcyIsIkpTT04iLCJzdHJpbmdpZnkiLCJmaWVsZFZhbHVlIiwidG9TdHJpbmciLCJtYXliZUNhcHR1cmUiLCJwYXJzZSIsInNldEZsYWdUcmFuc2xhdGlvbnNOZWVkZWQiLCJkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24iLCJyZWdleCIsImV4ZWMiLCJzdGFydHNVc2luZyIsImFiaWxpdHlGdWxsIiwiaGVhZE1hcmtlciIsImFkZGVkQ29tYmF0YW50IiwiYWRkZWRDb21iYXRhbnRGdWxsIiwicmVtb3ZpbmdDb21iYXRhbnQiLCJnYWluc0VmZmVjdCIsInN0YXR1c0VmZmVjdEV4cGxpY2l0IiwibG9zZXNFZmZlY3QiLCJ0ZXRoZXIiLCJ3YXNEZWZlYXRlZCIsImVjaG8iLCJnYW1lTG9nIiwiZGlhbG9nIiwibWVzc2FnZSIsImdhbWVOYW1lTG9nIiwic3RhdENoYW5nZSIsImNoYW5nZVpvbmUiLCJuZXR3b3JrNmQiLCJuYW1lVG9nZ2xlIiwibWFwIiwic3lzdGVtTG9nTWVzc2FnZSIsIlVucmVhY2hhYmxlQ29kZSIsImNvbnN0cnVjdG9yIiwibnVtYmVyVG9PdXRwdXRTdHJpbmciLCJuIiwiYW9lIiwiYmlnQW9lIiwidGFua0J1c3RlciIsIm1pbmlCdXN0ZXIiLCJ0YW5rQnVzdGVyT25QbGF5ZXIiLCJ0YW5rQnVzdGVyT25Zb3UiLCJ0YW5rQnVzdGVycyIsInRhbmtDbGVhdmUiLCJhdm9pZFRhbmtDbGVhdmUiLCJ0YW5rQ2xlYXZlT25Zb3UiLCJzaGFyZWRUYW5rYnVzdGVyIiwic2hhcmVkVGFua2J1c3Rlck9uWW91Iiwic2hhcmVkVGFua2J1c3Rlck9uUGxheWVyIiwidGFua1N3YXAiLCJzcHJlYWQiLCJzdGFja01hcmtlciIsImdldFRvZ2V0aGVyIiwic3RhY2tPbllvdSIsInN0YWNrT25QbGF5ZXIiLCJzdGFja01pZGRsZSIsImRvcml0b1N0YWNrIiwic3ByZWFkVGhlblN0YWNrIiwic3RhY2tUaGVuU3ByZWFkIiwiZHJhd0luIiwia25vY2tiYWNrIiwia25vY2tiYWNrT25Zb3UiLCJrbm9ja2JhY2tPblBsYXllciIsImxvb2tUb3dhcmRzQm9zcyIsImxvb2tBd2F5IiwibG9va0F3YXlGcm9tUGxheWVyIiwibG9va0F3YXlGcm9tVGFyZ2V0IiwiZ2V0QmVoaW5kIiwiZ29Gcm9udE9yU2lkZXMiLCJnb0Zyb250IiwiZ2V0VW5kZXIiLCJpbiIsIm91dCIsIm91dE9mTWVsZWUiLCJpblRoZW5PdXQiLCJvdXRUaGVuSW4iLCJiYWNrVGhlbkZyb250IiwiZnJvbnRUaGVuQmFjayIsImdvSW50b01pZGRsZSIsInJpZ2h0IiwibGVmdCIsImdldExlZnRBbmRXZXN0IiwiZ2V0UmlnaHRBbmRFYXN0IiwiZ29Gcm9udEJhY2siLCJzaWRlcyIsIm1pZGRsZSIsImtpbGxBZGRzIiwia2lsbEV4dHJhQWRkIiwiYXdheUZyb21Gcm9udCIsInNsZWVwVGFyZ2V0Iiwic3R1blRhcmdldCIsImludGVycnVwdFRhcmdldCIsInByZXlPbllvdSIsInByZXlPblBsYXllciIsImF3YXlGcm9tR3JvdXAiLCJhd2F5RnJvbVBsYXllciIsIm1ldGVvck9uWW91Iiwic3RvcE1vdmluZyIsInN0b3BFdmVyeXRoaW5nIiwibW92ZUF3YXkiLCJtb3ZlQXJvdW5kIiwiYnJlYWtDaGFpbnMiLCJtb3ZlQ2hhaW5zVG9nZXRoZXIiLCJlYXJ0aHNoYWtlck9uWW91Iiwid2FrZVVwIiwiY2xvc2VUZXRoZXJzV2l0aFBsYXllciIsImZhclRldGhlcnNXaXRoUGxheWVyIiwidW5rbm93biIsIm5vcnRoIiwic291dGgiLCJlYXN0Iiwid2VzdCIsIm5vcnRod2VzdCIsIm5vcnRoZWFzdCIsInNvdXRod2VzdCIsInNvdXRoZWFzdCIsImRpck4iLCJkaXJTIiwiZGlyRSIsImRpclciLCJkaXJOVyIsImRpck5FIiwiZGlyU1ciLCJkaXJTRSIsIm51bTAiLCJudW0xIiwibnVtMiIsIm51bTMiLCJudW00IiwibnVtNSIsIm51bTYiLCJudW03IiwibnVtOCIsIm51bTkiLCJpbml0ZWQiLCJ3c1VybCIsIndzIiwicXVldWUiLCJyc2VxQ291bnRlciIsInJlc3BvbnNlUHJvbWlzZXMiLCJzdWJzY3JpYmVycyIsInNlbmRNZXNzYWdlIiwibXNnIiwiY2IiLCJzZW5kIiwid2luZG93IiwiT3ZlcmxheVBsdWdpbkFwaSIsImNhbGxIYW5kbGVyIiwicHJvY2Vzc0V2ZW50IiwiaW5pdCIsInN1YnMiLCJmb3JFYWNoIiwic3ViIiwiZSIsImVycm9yIiwiZGlzcGF0Y2hPdmVybGF5RXZlbnQiLCJhZGRPdmVybGF5TGlzdGVuZXIiLCJldmVudCIsImNhbGwiLCJldmVudHMiLCJyZW1vdmVPdmVybGF5TGlzdGVuZXIiLCJsaXN0IiwicG9zIiwiaW5kZXhPZiIsInVuZGVmaW5lZCIsInNwbGljZSIsImNhbGxPdmVybGF5SGFuZGxlckludGVybmFsIiwiX21zZyIsInJzZXEiLCJwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJwYXJzZWQiLCJjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcCIsImNhbGxPdmVybGF5SGFuZGxlciIsImNhbGxGdW5jIiwic2V0T3ZlcmxheUhhbmRsZXJPdmVycmlkZSIsIm92ZXJyaWRlIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJnZXQiLCJjb25uZWN0V3MiLCJXZWJTb2NrZXQiLCJhZGRFdmVudExpc3RlbmVyIiwibG9nIiwicSIsIkFycmF5IiwiaXNBcnJheSIsInByb21pc2VGdW5jcyIsInNldFRpbWVvdXQiLCJ3YWl0Rm9yQXBpIiwicmVhZHkiLCJfX092ZXJsYXlDYWxsYmFjayIsIml0ZW0iLCJtYXRjaFdpdGhDb2xvbnNEZWZhdWx0IiwiZmllbGRzV2l0aFBvdGVudGlhbENvbG9ucyIsImRlZktleSIsImFiaWxpdHlNZXNzYWdlVHlwZSIsImFiaWxpdHlIZXhDb2RlIiwicHJlZml4IiwiaGV4Q29kZSIsInNsaWNlIiwidG9VcHBlckNhc2UiLCJmaWVsZERlZmF1bHQiLCJkZWZhdWx0VmFsdWUiLCJhbnlPZiIsIm5hbWVkQ2FwdHVyZSIsIm9wdGlvbmFsIiwiYXJncyIsImFueU9mQXJyYXkiLCJhcnJheSIsImVsZW0iLCJSZWdFeHAiLCJqb2luIiwicmVnZXhwU3RyaW5nIiwia0NhY3Rib3RDYXRlZ29yaWVzIiwiVGltZXN0YW1wIiwiTmV0VGltZXN0YW1wIiwiTmV0RmllbGQiLCJMb2dUeXBlIiwiQWJpbGl0eUNvZGUiLCJPYmplY3RJZCIsIk5hbWUiLCJGbG9hdCIsIm1vZGlmaWVycyIsImdsb2JhbCIsIm11bHRpbGluZSIsInJlcGxhY2UiLCJtYXRjaCIsImdyb3VwIiwicGFyc2VHbG9iYWwiLCJmIiwiT3V0cHV0cyIsInNldmVyaXR5TGlzdCIsImJ1aWx0SW5SZXNwb25zZVN0ciIsInRyaWdnZXJGdW5jdGlvbnMiLCJ0cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyIsInRyaWdnZXJPdXRwdXRGdW5jdGlvbnMiLCJzZXZlcml0eU1hcCIsImdldFRleHQiLCJzZXYiLCJkZWZhdWx0SW5mb1RleHQiLCJkZWZhdWx0QWxlcnRUZXh0IiwiZGVmYXVsdEFsYXJtVGV4dCIsImdldFRhcmdldCIsImdldFNvdXJjZSIsImNvbWJpbmVGdW5jcyIsInRleHQxIiwiZnVuYzEiLCJ0ZXh0MiIsImZ1bmMyIiwib2JqIiwib3V0cHV0IiwiaXNQbGF5ZXJJZCIsInN0YXRpY1Jlc3BvbnNlIiwidGV4dCIsIl9kYXRhIiwiX21hdGNoZXMiLCJyZXNwb25zZU91dHB1dFN0cmluZ3MiLCJSZXNwb25zZXMiLCJ0YXJnZXRTZXYiLCJvdGhlclNldiIsIm91dHB1dFN0cmluZ3MiLCJub1RhcmdldCIsImJ1c3Rlck9uWW91IiwiYnVzdGVyT25UYXJnZXQiLCJ0YXJnZXRGdW5jIiwib3RoZXJGdW5jIiwicGxheWVyIiwiU2hvcnROYW1lIiwiY29tYmluZWQiLCJ0YW5rQnVzdGVyU3dhcCIsImJ1c3RlclNldiIsInN3YXBTZXYiLCJ0YW5rU3dhcEZ1bmMiLCJidXN0ZXJGdW5jIiwiY2xlYXZlT25Zb3UiLCJjbGVhdmVOb1RhcmdldCIsImF2b2lkQ2xlYXZlIiwic2hhcmVkVGFua0J1c3RlciIsInNoYXJlZFRhbmtidXN0ZXJPblRhcmdldCIsInN0YWNrTWFya2VyT24iLCJzdGFja09uVGFyZ2V0Iiwia25vY2tiYWNrT24iLCJrbm9ja2JhY2tPblRhcmdldCIsImxvb2tUb3dhcmRzIiwibG9va0F3YXlGcm9tIiwibG9va0F3YXlGcm9tU291cmNlIiwiZ2V0SW4iLCJnZXRPdXQiLCJnZXRJblRoZW5PdXQiLCJnZXRPdXRUaGVuSW4iLCJnZXRCYWNrVGhlbkZyb250IiwiZ2V0RnJvbnRUaGVuQmFjayIsImdvTWlkZGxlIiwiZ29SaWdodCIsImdvTGVmdCIsImdvV2VzdCIsImdvRWFzdCIsImdvU2lkZXMiLCJzbGVlcCIsInN0dW5PckludGVycnVwdElmUG9zc2libGUiLCJzdHVuIiwiaW50ZXJydXB0IiwiQ2FuU2lsZW5jZSIsIkNhblN0dW4iLCJwcmV5T24iLCJwcmV5T25UYXJnZXQiLCJhd2F5RnJvbSIsImF3YXlGcm9tVGFyZ2V0IiwiZWFydGhzaGFrZXIiLCJyZXNwb25zZU1hcFR5cGVBc3NlcnRpb24iLCJfQ29uZGl0aW9ucyIsIkNvbmRpdGlvbnMiLCJfQ29udGVudFR5cGUiLCJDb250ZW50VHlwZSIsIl9OZXRSZWdleGVzIiwiX1JlZ2V4ZXMiLCJfUmVzcG9uc2VzIiwiX091dHB1dHMiLCJfVXRpbCIsIlV0aWwiLCJfWm9uZUlkIiwiWm9uZUlkIiwiX1pvbmVJbmZvIiwiWm9uZUluZm8iLCJVc2VyQ29uZmlnIiwiZ2V0RGVmYXVsdEJhc2VPcHRpb25zIiwiUGFyc2VyTGFuZ3VhZ2UiLCJTaG9ydExvY2FsZSIsIkRpc3BsYXlMYW5ndWFnZSIsIlRleHRBbGVydHNFbmFibGVkIiwiU291bmRBbGVydHNFbmFibGVkIiwiU3Bva2VuQWxlcnRzRW5hYmxlZCIsIkdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCIsImV2YWxVc2VyRmlsZSIsImNvbnRlbnQiLCJvcHRpb25zIiwiT3B0aW9ucyIsImV2YWwiLCJyZWdpc3Rlck9wdGlvbnMiLCJvdmVybGF5TmFtZSIsIm9wdGlvblRlbXBsYXRlIiwidXNlckZpbGVDYWxsYmFjayIsIm9wdGlvblRlbXBsYXRlcyIsInVzZXJGaWxlQ2FsbGJhY2tzIiwic29ydFVzZXJGaWxlcyIsInNwbGl0S2V5TWFwIiwic3BsaXQiLCJrZXlBIiwia2V5QiIsImxpc3RBIiwibGlzdEIiLCJtYXhMZW4iLCJNYXRoIiwibWF4IiwiaWR4IiwiZW50cnlBIiwiZW50cnlCIiwiaXNMYXN0QSIsImlzTGFzdEIiLCJmaWxlQSIsImZpbGVCIiwiZmlsZW5hbWVPbmx5RGlmZiIsImxvY2FsZUNvbXBhcmUiLCJkaWZmIiwiZmlsdGVyVXNlckZpbGVzIiwicGF0aHMiLCJvcmlnT3ZlcmxheU5hbWUiLCJvcmlnRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uIiwidG9Mb3dlckNhc2UiLCJvcmlnUGF0aCIsInBhdGgiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJnZXRVc2VyQ29uZmlnTG9jYXRpb24iLCJjYWxsYmFjayIsImN1cnJlbnRseVJlbG9hZGluZyIsInJlbG9hZE9uY2UiLCJyZWxvYWQiLCJsb2FkVXNlckZpbGVzIiwicmVhZE9wdGlvbnMiLCJvdmVybGF5IiwibG9hZFVzZXIiLCJiYXNlUGF0aCIsImRldGFpbCIsInVzZXJMb2NhdGlvbiIsImxvY2FsRmlsZXMiLCJsb2NhbFVzZXJGaWxlcyIsImxhbmd1YWdlIiwicGFyc2VyTGFuZ3VhZ2UiLCJMYW5ndWFnZSIsInN5c3RlbUxvY2FsZSIsIlN5c3RlbUxvY2FsZSIsInNob3J0TG9jYWxlIiwic3Vic3RyaW5nIiwiZGlzcGxheUxhbmciLCJkaXNwbGF5TGFuZ3VhZ2UiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsYXNzTGlzdCIsImFkZCIsImFkZFVubG9ja1RleHQiLCJzYXZlZENvbmZpZyIsInByb2Nlc3NPcHRpb25zIiwicHJpbnRVc2VyRmlsZSIsIndhcm5PblZhcmlhYmxlUmVzZXRNYXAiLCJyYWlkYm9zcyIsInZhcmlhYmxlVHJhY2tlciIsInNvcnRlZEZpbGVzIiwianNGaWxlcyIsImNzc0ZpbGVzIiwianNGaWxlIiwiU2tpbiIsImhhbmRsZVNraW4iLCJjc3NGaWxlIiwidXNlckNzc1RleHQiLCJjcmVhdGVFbGVtZW50IiwiY29udGVudHMiLCJpbm5lclRleHQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJhcHBlbmRDaGlsZCIsImhyZWYiLCJ0aGVuIiwicmVhZHlTdGF0ZSIsInNraW5OYW1lIiwic2xhc2hJZHgiLCJsYXN0SW5kZXhPZiIsInN1YnN0ciIsInNraW5IcmVmIiwiYXBwZW5kQ1NTTGluayIsImFwcGVuZEpTTGluayIsInNyYyIsInVzZXJKUyIsInNldEF0dHJpYnV0ZSIsInVzZXJDU1MiLCJ0ZW1wbGF0ZSIsInRlbXBsYXRlT3B0aW9ucyIsIm9wdCIsImRlZmF1bHQiLCJuZXdWYWx1ZSIsInNldHRlckZ1bmMiLCJmbG9vciIsInBhcnNlRmxvYXQiLCJwcm9jZXNzRXh0cmFPcHRpb25zIiwidW5sb2NrVGV4dCIsInRleHRFbGVtIiwiZ2V0RWxlbWVudEJ5SWQiLCJzdHlsZSIsImRpc3BsYXkiLCJib2R5IiwiYXBwZW5kIiwiaW5uZXJIVE1MIiwiZG9jQ2xhc3NMaXN0IiwiaXNMb2NrZWQiLCJyZW1vdmUiLCJuYW1lVG9Kb2JFbnVtIiwiTk9ORSIsIkdMQSIsIlBHTCIsIk1SRCIsIkxOQyIsIkFSQyIsIkNOSiIsIlRITSIsIkNSUCIsIkJTTSIsIkFSTSIsIkdTTSIsIkxUVyIsIldWUiIsIkFMQyIsIkNVTCIsIk1JTiIsIkJUTiIsIkZTSCIsIlBMRCIsIk1OSyIsIldBUiIsIkRSRyIsIkJSRCIsIldITSIsIkJMTSIsIkFDTiIsIlNNTiIsIlNDSCIsIlJPRyIsIk5JTiIsIk1DSCIsIkRSSyIsIkFTVCIsIlNBTSIsIlJETSIsIkJMVSIsIkdOQiIsIkROQyIsIlJQUiIsIlNHRSIsImFsbEpvYnMiLCJhbGxSb2xlcyIsInRhbmtKb2JzIiwiaGVhbGVySm9icyIsIm1lbGVlRHBzSm9icyIsInJhbmdlZERwc0pvYnMiLCJjYXN0ZXJEcHNKb2JzIiwiZHBzSm9icyIsImNyYWZ0aW5nSm9icyIsImdhdGhlcmluZ0pvYnMiLCJzdHVuSm9icyIsInNpbGVuY2VKb2JzIiwic2xlZXBKb2JzIiwiZmVpbnRKb2JzIiwiYWRkbGVKb2JzIiwiY2xlYW5zZUpvYnMiLCJqb2JUb1JvbGVNYXAiLCJhZGRUb01hcCIsImpvYnMiLCJzZXQiLCJ3YXRjaENvbWJhdGFudE1hcCIsInNob3VsZENhbmNlbFdhdGNoIiwiZW50cnkiLCJjYW5jZWwiLCJtYXhEdXJhdGlvbiIsIkRhdGUiLCJub3ciLCJzdGFydCIsIndhdGNoQ29tYmF0YW50IiwiZnVuYyIsInJlcyIsInJlaiIsImRlbGF5IiwiaWRzIiwibmFtZXMiLCJwcm9wcyIsImNoZWNrRnVuYyIsInJlc3BvbnNlIiwiam9iRW51bVRvSm9iIiwiZmluZCIsImpvYlRvSm9iRW51bSIsImpvYlRvUm9sZSIsImdldEFsbFJvbGVzIiwiaXNUYW5rSm9iIiwiaXNIZWFsZXJKb2IiLCJpc01lbGVlRHBzSm9iIiwiaXNSYW5nZWREcHNKb2IiLCJpc0Nhc3RlckRwc0pvYiIsImlzRHBzSm9iIiwiaXNDcmFmdGluZ0pvYiIsImlzR2F0aGVyaW5nSm9iIiwiaXNDb21iYXRKb2IiLCJjYW5TdHVuIiwiY2FuU2lsZW5jZSIsImNhblNsZWVwIiwiY2FuQ2xlYW5zZSIsImNhbkZlaW50IiwiY2FuQWRkbGUiLCJjbGVhcldhdGNoQ29tYmF0YW50cyIsIndhdGNoIiwicG9wIiwiZW1wdHlSb2xlVG9QYXJ0eU5hbWVzIiwidGFuayIsImhlYWxlciIsImRwcyIsImNyYWZ0ZXIiLCJnYXRoZXJlciIsIm5vbmUiLCJQYXJ0eVRyYWNrZXIiLCJvblBhcnR5Q2hhbmdlZCIsInBhcnR5IiwicmVzZXQiLCJkZXRhaWxzIiwiYWxsaWFuY2VJZHNfIiwiYWxsaWFuY2VOYW1lc18iLCJqb2JOYW1lIiwiaWRUb05hbWVfIiwibmFtZVRvUm9sZV8iLCJpblBhcnR5IiwicGFydHlJZHNfIiwicGFydHlOYW1lc18iLCJyb2xlVG9QYXJ0eU5hbWVzXyIsInBhcnR5TmFtZXMiLCJwYXJ0eUlkcyIsImFsbGlhbmNlTmFtZXMiLCJ0YW5rTmFtZXMiLCJoZWFsZXJOYW1lcyIsImRwc05hbWVzIiwiaXNSb2xlIiwiaXNUYW5rIiwiaXNIZWFsZXIiLCJpc0RQUyIsImluQWxsaWFuY2UiLCJvdGhlclRhbmsiLCJvdGhlckhlYWxlciIsInBhcnR5SW5kZXgiLCJuYW1lRnJvbUlkIiwiZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyIsIlBsYXllck5pY2tzIiwiSW5mb1NvdW5kIiwiQWxlcnRTb3VuZCIsIkFsYXJtU291bmQiLCJMb25nU291bmQiLCJQdWxsU291bmQiLCJBdWRpb0FsbG93ZWQiLCJEaXNhYmxlZFRyaWdnZXJzIiwiUGVyVHJpZ2dlckF1dG9Db25maWciLCJQZXJUcmlnZ2VyT3B0aW9ucyIsIlBlclpvbmVUaW1lbGluZUNvbmZpZyIsIlRyaWdnZXJzIiwiSXNSZW1vdGVSYWlkYm9zcyIsIlRyYW5zZm9ybVR0cyIsInQiLCJkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zIiwiRGVmYXVsdEFsZXJ0T3V0cHV0IiwiQWxlcnRzTGFuZ3VhZ2UiLCJUaW1lbGluZUxhbmd1YWdlIiwiVGltZWxpbmVFbmFibGVkIiwiQWxlcnRzRW5hYmxlZCIsIlNob3dUaW1lckJhcnNBdFNlY29uZHMiLCJLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMiLCJCYXJFeHBpcmVzU29vblNlY29uZHMiLCJNYXhOdW1iZXJPZlRpbWVyQmFycyIsIkRpc3BsYXlBbGFybVRleHRGb3JTZWNvbmRzIiwiRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHMiLCJEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzIiwiQWxhcm1Tb3VuZFZvbHVtZSIsIkFsZXJ0U291bmRWb2x1bWUiLCJJbmZvU291bmRWb2x1bWUiLCJMb25nU291bmRWb2x1bWUiLCJQdWxsU291bmRWb2x1bWUiLCJSdW1ibGVFbmFibGVkIiwiSW5mb1J1bWJsZUR1cmF0aW9uIiwiSW5mb1J1bWJsZVdlYWsiLCJJbmZvUnVtYmxlU3Ryb25nIiwiQWxlcnRSdW1ibGVEdXJhdGlvbiIsIkFsZXJ0UnVtYmxlV2VhayIsIkFsZXJ0UnVtYmxlU3Ryb25nIiwiQWxhcm1SdW1ibGVEdXJhdGlvbiIsIkFsYXJtUnVtYmxlV2VhayIsIkFsYXJtUnVtYmxlU3Ryb25nIiwiY2FjdGJvdFdvcm1ob2xlU3RyYXQiLCJjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQiLCJzeW5jS2V5cyIsInNlYWwiLCJ1bnNlYWwiLCJlbmdhZ2UiLCJ0ZXh0S2V5cyIsIkUiLCJOIiwiUyIsIlciLCJORSIsIk5XIiwiU0UiLCJTVyIsIlRhbmsiLCJIZWFsZXIiLCJEUFMiLCJOdW1iZXIiLCJjb21tb25SZXBsYWNlbWVudCIsInJlcGxhY2VTeW5jIiwicmVwbGFjZVRleHQiLCJwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzIiwiYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlIiwiZGVmYXVsdE9wdGlvbnMiLCJUaW1lbGluZVBhcnNlciIsInJlcGxhY2VtZW50cyIsInRyaWdnZXJzIiwic3R5bGVzIiwiem9uZUlkIiwicGVyVHJpZ2dlckF1dG9Db25maWciLCJpZ25vcmVzIiwidGV4dHMiLCJzeW5jU3RhcnRzIiwic3luY0VuZHMiLCJlcnJvcnMiLCJ0aW1lbGluZUNvbmZpZyIsIklnbm9yZSIsInVuaXF1ZWlkIiwicmVnZXhlcyIsImNvbW1lbnQiLCJjb21tZW50TGluZSIsImR1cmF0aW9uQ29tbWFuZCIsImlnbm9yZSIsImp1bXBDb21tYW5kIiwicG9wdXBUZXh0Iiwic291bmRBbGVydCIsInNwZWFrZXIiLCJzeW5jQ29tbWFuZCIsInR0cyIsIndpbmRvd0NvbW1hbmQiLCJ0cmlnZ2VyIiwibGluZXMiLCJsaW5lTnVtYmVyIiwidHJpbSIsInRlc3QiLCJvcmlnaW5hbExpbmUiLCJiZWZvcmVTZWNvbmRzIiwidHRzSXRlbXMiLCJzZWNvbmRzQmVmb3JlIiwicG9wdXBUZXh0SXRlbXMiLCJwYXJzZWRMaW5lIiwidGltZSIsInNlY29uZHMiLCJHZXRSZXBsYWNlZFRleHQiLCJhY3RpdmVUaW1lIiwiY29tbWFuZE1hdGNoIiwic3luYyIsIm9yaWdSZWdleFN0ciIsIkdldFJlcGxhY2VkU3luYyIsImVuZCIsImFyZ01hdGNoIiwianVtcCIsImZvdW5kIiwibWF0Y2hlZFRleHRFdmVudCIsIm0iLCJhdXRvQ29uZmlnIiwic29ydEtleSIsIkdldFJlcGxhY2VkSGVscGVyIiwicmVwbGFjZUtleSIsInJlcGxhY2VMYW5nIiwiaXNHbG9iYWwiLCJyIiwibG9jYWxlIiwicmVwcyIsInJlcGxhY2VtZW50IiwicmVwbCIsInJlbmFtZSIsIlJlbmFtZSIsIkdldE1pc3NpbmdUcmFuc2xhdGlvbnNUb0lnbm9yZSIsInJhaWRib3NzRmlsZURhdGEiLCJyYWlkYm9zc09wdGlvbnMiLCJrT3B0aW9uS2V5cyIsImtUcmlnZ2VyT3B0aW9ucyIsImxhYmVsIiwidGV4dEFuZFNvdW5kIiwidHRzQW5kVGV4dCIsInR0c09ubHkiLCJ0ZXh0T25seSIsImRpc2FibGVkIiwidHJpZ2dlclNvdW5kT3B0aW9ucyIsImtEZXRhaWxLZXlzIiwiY2xzIiwiZGVidWdPbmx5IiwiZ2VuZXJhdGVkTWFudWFsbHkiLCJrVGltZWxpbmVUYWJsZUhlYWRlcnMiLCJzaG91bGREaXNwbGF5VGV4dCIsIm92ZXJyaWRlVGV4dCIsImRldGFpbEtleXMiLCJrTWlzY1RyYW5zbGF0aW9ucyIsInZhbHVlRGVmYXVsdCIsInZhbHVlSXNGdW5jdGlvbiIsIndhcm5pbmciLCJtaXNzaW5nSWQiLCJvdmVycmlkZGVuQnlGaWxlIiwidmlld1RyaWdnZXJTb3VyY2UiLCJlZGl0VGltZWxpbmUiLCJ2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQiLCJ2YWxFbnRyeSIsInZhbCIsImlzTmFOIiwiY2FuQmVDb25maWd1cmVkIiwidHJpZyIsImlzTWlzc2luZ0lkIiwiYWRkVHJpZ2dlckRldGFpbCIsImNvbnRhaW5lciIsImxhYmVsVGV4dCIsImRldGFpbFRleHQiLCJkZXRhaWxDbHMiLCJzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlIiwiRG9Ob3RoaW5nRnVuY1Byb3h5Iiwib3V0cHV0U3RyaW5nc0NhbGxiYWNrIiwiUHJveHkiLCJfdGFyZ2V0IiwicHJvcGVydHkiLCJfbmFtZSIsIm1ha2VMaW5rIiwibGFuZ09yRW4iLCJSYWlkYm9zc0NvbmZpZ3VyYXRvciIsImNhY3Rib3RDb25maWd1cmF0b3IiLCJiYXNlIiwiYWxlcnRzTGFuZyIsImdldE9wdGlvbiIsInRpbWVsaW5lTGFuZyIsImJ1aWxkVUkiLCJyYWlkYm9zc0ZpbGVzIiwidXNlck9wdGlvbnMiLCJmaWxlTWFwIiwicHJvY2Vzc1JhaWRib3NzRmlsZXMiLCJleHBhbnNpb25EaXZzIiwiaW5mbyIsImV4cGFuc2lvbiIsInNlY3Rpb24iLCJleHBhbnNpb25EaXYiLCJleHBhbnNpb25Db250YWluZXIiLCJleHBhbnNpb25IZWFkZXIiLCJvbmNsaWNrIiwidHJpZ2dlckNvbnRhaW5lciIsImhlYWRlckRpdiIsInBhcnRzIiwidGl0bGUiLCJwYXJ0IiwicGFydERpdiIsInRyaWdnZXJTZXQiLCJ0aW1lbGluZSIsImJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lciIsInRyaWdnZXJPcHRpb25zIiwidHJpZ0lkIiwiaGFzT3V0cHV0RnVuYyIsImRldmVsb3Blck9wdGlvbnMiLCJ0cmlnZ2VyRGl2IiwidHJpZ2dlckRldGFpbHMiLCJidWlsZFRyaWdnZXJPcHRpb25zIiwidHJhbnNsYXRlIiwiYmFzZVRleHQiLCJkZXRhaWxTdHJpbmdLZXkiLCJkZXRhaWxLZXkiLCJ0cmlnT3V0cHV0IiwiY29uZmlnT3V0cHV0IiwidHJpZ0Z1bmMiLCJpc1RpbWVsaW5lVHJpZ2dlciIsIm9wdGlvbktleSIsImRpdiIsImlucHV0Iiwic3RlcCIsInBsYWNlaG9sZGVyIiwiZ2V0U3RyaW5nT3B0aW9uIiwic2V0RnVuYyIsInNldE9wdGlvbiIsIm9uY2hhbmdlIiwib25pbnB1dCIsImR1cmF0aW9uU2Vjb25kcyIsIm91dHB1dFN0cmluZyIsInAwIiwicDEiLCJwMiIsImJhc2VVcmwiLCJ1cmxGaWxlcGF0aCIsImVzY2FwZWRUcmlnZ2VySWQiLCJ1cmlDb21wb25lbnQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ1cmxTdHJpbmciLCJwYXJlbnQiLCJoYXNFdmVyQmVlbkV4cGFuZGVkIiwidGltZWxpbmVGcm9tU2V0IiwiYnVpbGRUaW1lbGluZVVJIiwiYWRkVGltZWxpbmUiLCJvYmpWYWwiLCJibGFua0RhdGEiLCJ0aW1lbGluZVJlcGxhY2UiLCJ1bmlxRXZlbnRzIiwiaGVhZGVyIiwidmFsdWVzIiwiY2hlY2tJbnB1dCIsImVuYWJsZUlkIiwiY2hlY2tlZCIsImdldEJvb2xlYW5PcHRpb24iLCJ0aW1lbGluZVRleHQiLCJ0ZXh0SW5wdXQiLCJ0ZXh0SWQiLCJ2YWx1ZU9yRnVuY3Rpb24iLCJyZXN1bHQiLCJwcm9jZXNzVHJpZ2dlciIsImZha2VPdXRwdXRQcm94eSIsImFzc2lnbiIsImJhc2VGYWtlRGF0YSIsImN1cnJlbnRIUCIsImNvbmZpZ09wdGlvbnMiLCJTdG9wQ29tYmF0IiwiUGFyc2VMb2NhbGVGbG9hdCIsIkNhblNsZWVwIiwiQ2FuQ2xlYW5zZSIsInBhcnNlckxhbmciLCJwYXJ0aWFsRmFrZURhdGFFbnRyaWVzIiwiZmFrZURhdGFFbnRyaWVzIiwiZmlyc3REYXRhIiwia0Zha2VNYXRjaGVzIiwibnBjSWQiLCJvdXRwdXRLZXlzIiwiZXZhbFRyaWdnZXIiLCJyZXN1bHRTdHIiLCJsYW5nU3BlY2lmaWNSZWdleGVzIiwiZ2V0UmVnZXgiLCJiYXNlRmllbGQiLCJzaG9ydExhbmd1YWdlIiwiY2hhckF0IiwiY29uY2F0U3RyIiwibGFuZ1NwZWNpZmljUmVnZXgiLCJiYXNlUmVnZXgiLCJ0aW1lbGluZVJlZ2V4IiwidHJpZ2dlclJlZ2V4IiwidHJpZ2dlck5ldFJlZ2V4IiwiZmlsZXMiLCJ0cmlnZ2VyRmlsZXMiLCJ0aW1lbGluZUZpbGVzIiwiZmlsZW5hbWUiLCJ0cmlnZ2VyU2V0T3JTdHJpbmciLCJwcm9jZXNzRmlsZXMiLCJ0cmlnZ2VySWR4IiwicHJldmlvdXNUcmlnZ2VyV2l0aElkIiwicmF3VHJpZ2dlcnMiLCJ0aW1lbGluZVRyaWdnZXJzIiwiaXNVc2VyVHJpZ2dlclNldCIsImZsYXR0ZW5UaW1lbGluZSIsInRyaWdnZXJBcnIiLCJiYXNlVHJpZyIsInByZXZpb3VzIiwibGFiZWxEaXYiLCJ1cGRhdGVMYWJlbCIsInNlbGVjdFZhbHVlIiwic2VsZWN0ZWQiLCJ0aW1lbGluZUZpbGUiLCJsYXN0SW5kZXgiLCJkaXIiLCJ1c2VyRmlsZUhhbmRsZXIiLCJiYXNlT3B0aW9ucyIsImJhc2VUcmlnZ2VyU2V0IiwicHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnIiwib3B0aW9uTmFtZSIsIm91dHB1dE9ianMiLCJwcm9jZXNzUGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwicGVyWm9uZVRpbWVsaW5lQ29uZmlnIiwiem9uZUtleSIsInpvbmVFbnRyeSIsImVuYWJsZUVudHJ5IiwicmVwbGFjZUVudHJ5IiwiYnVpbGRFeHRyYVVJIiwiYnVpbGRlciIsImh0bWwiLCJkZWJ1ZyIsIkNvbWJhdGFudCIsInNldE5hbWUiLCJzZXJ2ZXIiLCJoYXNTdGF0ZSIsInN0YXRlcyIsInB1c2hTdGF0ZSIsInN0YXRlIiwibGF0ZXN0VGltZXN0YW1wIiwic2lnbmlmaWNhbnRTdGF0ZXMiLCJuZXh0U2lnbmlmaWNhbnRTdGF0ZSIsImxhc3RTaWduaWZpY2FudFN0YXRlSW5kZXgiLCJnZXRTdGF0ZUJ5SW5kZXgiLCJpIiwic3RhdGVJbmRleCIsInB1c2hQYXJ0aWFsU3RhdGUiLCJzdGF0ZVRpbWVzdGFtcCIsInMiLCJwYXJ0aWFsQ2xvbmUiLCJsYXN0U2lnbmlmaWNhbnRTdGF0ZVRpbWVzdGFtcCIsIm9sZFN0YXRlSlNPTiIsIm5ld1N0YXRlSlNPTiIsImdldFN0YXRlIiwic3RhdGVCeVRpbWVzdGFtcCIsImluaXRpYWxUaW1lc3RhbXAiLCJwcmV2VGltZXN0YW1wIiwiQ29tYmF0YW50Sm9iU2VhcmNoIiwiZ2V0Sm9iIiwiYWJpbGl0eUlkIiwiYWJpbGl0aWVzIiwiQ29tYmF0YW50U3RhdGUiLCJwb3NYIiwicG9zWSIsInBvc1oiLCJ0YXJnZXRhYmxlIiwidG9QbHVnaW5TdGF0ZSIsIlBvc1giLCJQb3NZIiwiUG9zWiIsIkhlYWRpbmciLCJDdXJyZW50SFAiLCJNYXhIUCIsIkN1cnJlbnRNUCIsIk1heE1QIiwibG9jYWxlTGluZXMiLCJjb3VudGRvd25TdGFydCIsImNvdW50ZG93bkVuZ2FnZSIsImNvdW50ZG93bkNhbmNlbCIsImFyZWFTZWFsIiwiYXJlYVVuc2VhbCIsImNyYWZ0aW5nU3RhcnQiLCJ0cmlhbENyYWZ0aW5nU3RhcnQiLCJjcmFmdGluZ0ZpbmlzaCIsInRyaWFsQ3JhZnRpbmdGaW5pc2giLCJjcmFmdGluZ0ZhaWwiLCJ0cmlhbENyYWZ0aW5nRmFpbCIsImNyYWZ0aW5nQ2FuY2VsIiwidHJpYWxDcmFmdGluZ0NhbmNlbCIsIlJlZ2V4U2V0IiwibG9jYWxlUmVnZXgiLCJidWlsZExvY2FsZVJlZ2V4ZXMiLCJsb2NhbGVOZXRSZWdleCIsIm5ldFJlZ2V4ZXMiLCJsb2NhbGVzIiwiZnJvbUVudHJpZXMiLCJidWlsZExvY2FsZVJlZ2V4IiwicmVnZXhFbiIsInJlZ2V4U2V0IiwiTG9jYWxlUmVnZXgiLCJMb2NhbGVOZXRSZWdleCIsInF1ZXJ5U2VsZWN0b3JTYWZlIiwibm9kZSIsInNlbCIsInJldCIsInF1ZXJ5U2VsZWN0b3IiLCJIVE1MRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3JBbGxTYWZlIiwicXVlcnlTZWxlY3RvckFsbCIsImdldFRlbXBsYXRlQ2hpbGQiLCJIVE1MVGVtcGxhdGVFbGVtZW50IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJjbG9uZVNhZmUiLCJjbG9uZWQiLCJjbG9uZU5vZGUiLCJ0ek9mZnNldE1hcCIsImdldFRpbWV6b25lT2Zmc2V0TWlsbGlzIiwidGltZVN0cmluZyIsInRpbWV6b25lT2Zmc2V0U3RyaW5nIiwibWFwcGVkVmFsdWUiLCJkZWZhdWx0T2Zmc2V0IiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJvcGVyYXRvciIsInRpbWV6b25lT2Zmc2V0UGFydHMiLCJob3Vyc1N0cmluZyIsIm1pbnV0ZXNTdHJpbmciLCJob3VycyIsIm1pbnV0ZXMiLCJ0ek9mZnNldCIsIkVtdWxhdG9yQ29tbW9uIiwiY2xvbmVEYXRhIiwiZXhjbHVkZSIsIl9jbG9uZURhdGEiLCJ0aW1lVG9TdHJpbmciLCJpbmNsdWRlTWlsbGlzIiwibmVnYXRpdmUiLCJhYnMiLCJtaWxsaXNOdW0iLCJzZWNzTnVtIiwibWlsbGlzIiwic2VjcyIsIm1pbnMiLCJ0aW1lVG9EYXRlU3RyaW5nIiwidHpPZmZzZXRNaWxsaXMiLCJkYXRlT2JqZWN0VG9EYXRlU3RyaW5nIiwiZGF0ZSIsImNvbnZEYXRlIiwiZ2V0VGltZSIsInllYXIiLCJnZXRVVENGdWxsWWVhciIsIm1vbnRoIiwiemVyb1BhZCIsImdldFVUQ01vbnRoIiwiZGF5IiwiZ2V0VVRDRGF0ZSIsInRpbWVUb1RpbWVTdHJpbmciLCJkYXRlT2JqZWN0VG9UaW1lU3RyaW5nIiwiaG91ciIsImdldFVUQ0hvdXJzIiwibWludXRlIiwiZ2V0VVRDTWludXRlcyIsInNlY29uZCIsImdldFVUQ1NlY29uZHMiLCJnZXRVVENNaWxsaXNlY29uZHMiLCJtc1RvRHVyYXRpb24iLCJtcyIsInRtcCIsImRhdGVUaW1lVG9TdHJpbmciLCJkYXRlU3RyaW5nIiwibGVuIiwicGFkU3RhcnQiLCJwcm9wZXJDYXNlIiwidHh0Iiwic3BhY2VQYWRMZWZ0IiwiZG9lc0xpbmVNYXRjaCIsImxhbmdTdHIiLCJncm91cHMiLCJtYXRjaFN0YXJ0IiwiY291bnRkb3duUmVnZXhlcyIsIlN0YXJ0SW4iLCJTdGFydFR5cGUiLCJzZWFsUmVnZXhlcyIsImVuZ2FnZVJlZ2V4ZXMiLCJtYXRjaEVuZCIsIndpblJlZ2V4IiwiRW5kVHlwZSIsIndpcGVSZWdleCIsImNhY3Rib3RXaXBlUmVnZXgiLCJ1bnNlYWxSZWdleGVzIiwidW5rbm93bkxvZ01lc3NhZ2VQcmVmaXgiLCJsb2dNZXNzYWdlUHJlZml4IiwibG9nRGVmc0dlbmVyaWMiLCJkZWYiLCJMaW5lRXZlbnQiLCJyZXBvIiwibmV0d29ya0xpbmUiLCJ0aW1lc3RhbXBTdHJpbmciLCJkZWNFdmVudFN0ciIsImRlY0V2ZW50IiwiaGV4RXZlbnQiLCJjaGVja3N1bSIsInVwZGF0ZVRpbWVzdGFtcCIsImNvbnZlcnRlZExpbmUiLCJsb2dNZXNzYWdlTmFtZSIsImlzRGFtYWdlSGFsbG93ZWQiLCJpc0RhbWFnZUJpZyIsImNhbGN1bGF0ZURhbWFnZSIsInJldmVyc2UiLCJpc0xpbmVFdmVudFNvdXJjZSIsImlzTGluZUV2ZW50VGFyZ2V0IiwiaXNMaW5lRXZlbnRKb2JMZXZlbCIsImlzTGluZUV2ZW50QWJpbGl0eSIsIlBldE5hbWVzQnlMYW5nIiwiQ29tYmF0YW50VHJhY2tlciIsImxvZ0xpbmVzIiwiZmlyc3RUaW1lc3RhbXAiLCJNQVhfU0FGRV9JTlRFR0VSIiwibGFzdFRpbWVzdGFtcCIsImluaXRpYWxpemUiLCJpbml0aWFsU3RhdGVzIiwibWluIiwiYWRkQ29tYmF0YW50RnJvbUxpbmUiLCJhZGRDb21iYXRhbnRGcm9tVGFyZ2V0TGluZSIsImNvbWJhdGFudHMiLCJldmVudFRyYWNrZXIiLCJleHRyYWN0U3RhdGVGcm9tTGluZSIsImV4dHJhY3RTdGF0ZUZyb21UYXJnZXRMaW5lIiwicGV0TmFtZXMiLCJvdGhlcnMiLCJJRCIsInBhcnR5TWVtYmVycyIsInBldHMiLCJlbmVtaWVzIiwibWFpbkNvbWJhdGFudElEIiwibCIsImNvbWJhdGFudCIsImluaXRDb21iYXRhbnQiLCJpbml0U3RhdGUiLCJleHRyYWN0ZWRTdGF0ZSIsInRhcmdldEhwIiwidGFyZ2V0TXAiLCJnZXRNYWluQ29tYmF0YW50TmFtZSIsIkxvZ1JlcG9zaXRvcnkiLCJ1cGRhdGVDb21iYXRhbnQiLCJjIiwiQ29tYmF0YW50cyIsInNwYXduIiwiZGVzcGF3biIsIkV2ZW50QnVzIiwib24iLCJzY29wZSIsImxpc3RlbmVycyIsImRpc3BhdGNoIiwiZXZlbnRBcmd1bWVudHMiLCJhcHBseSIsIkxpbmVFdmVudDB4MDAiLCJpbnZhbGlkIiwiTGluZUV2ZW50MDAiLCJyZXBsYWNlQ2hhdFN5bWJvbHMiLCJyZXAiLCJjaGF0U3ltYm9sUmVwbGFjZW1lbnRzIiwiU2VhcmNoIiwiUmVwbGFjZSIsIlR5cGUiLCJMaW5lRXZlbnQweDAxIiwiem9uZU5hbWUiLCJ6b25lTmFtZVByb3BlckNhc2UiLCJMaW5lRXZlbnQwMSIsIkxpbmVFdmVudDB4MDIiLCJMaW5lRXZlbnQwMiIsIkxpbmVFdmVudDB4MDMiLCJqb2JJZEhleCIsImpvYklkIiwibGV2ZWxTdHJpbmciLCJ3b3JsZE5hbWUiLCJMaW5lRXZlbnQwMyIsIkxpbmVFdmVudDB4MDQiLCJMaW5lRXZlbnQwNCIsIkxpbmVFdmVudDB4MEMiLCJjbGFzcyIsIkxpbmVFdmVudDEyIiwiTGluZUV2ZW50MHgxNCIsImFiaWxpdHlJZEhleCIsImFiaWxpdHlOYW1lIiwiTGluZUV2ZW50MjAiLCJMaW5lRXZlbnQweDE1IiwiZmllbGRPZmZzZXQiLCJMaW5lRXZlbnQyMSIsIkxpbmVFdmVudDB4MTYiLCJMaW5lRXZlbnQyMiIsIkxpbmVFdmVudDB4MTciLCJMaW5lRXZlbnQyMyIsIkxpbmVFdmVudDB4MTgiLCJkYW1hZ2VTdHJpbmciLCJMaW5lRXZlbnQyNCIsIkxpbmVFdmVudDB4MTkiLCJzb3VyY2VOYW1lIiwiTGluZUV2ZW50MjUiLCJMaW5lRXZlbnQweDFBIiwiZHVyYXRpb25TdHJpbmciLCJkdXJhdGlvbkZsb2F0Iiwic3RhY2tzIiwiTGluZUV2ZW50MjYiLCJMaW5lRXZlbnQweDFCIiwiaGVhZG1hcmtlcklkIiwiTGluZUV2ZW50MjciLCJMaW5lRXZlbnQweDFDIiwiTGluZUV2ZW50MjgiLCJMaW5lRXZlbnQweDFEIiwiTGluZUV2ZW50MjkiLCJMaW5lRXZlbnQweDFFIiwiTGluZUV2ZW50MzAiLCJzcGxpdEZ1bmMiLCJMaW5lRXZlbnQweDFGIiwiZGF0YUJ5dGVzMSIsImRhdGFCeXRlczIiLCJkYXRhQnl0ZXMzIiwiZGF0YUJ5dGVzNCIsImpvYkdhdWdlQnl0ZXMiLCJMaW5lRXZlbnQzMSIsIkxpbmVFdmVudDB4MjIiLCJMaW5lRXZlbnQzNCIsIkxpbmVFdmVudDB4MjMiLCJ0ZXRoZXJJZCIsIkxpbmVFdmVudDM1IiwiTGluZUV2ZW50MHgyNCIsInZhbHVlRGVjIiwiTGluZUV2ZW50MzYiLCJMaW5lRXZlbnQweDI1IiwiTGluZUV2ZW50MzciLCJMaW5lRXZlbnQweDI2IiwicGFkZGVkIiwiTGluZUV2ZW50MzgiLCJMaW5lRXZlbnQweDI3IiwiTGluZUV2ZW50MzkiLCJMaW5lRXZlbnQweDI4IiwiTGluZUV2ZW50NDAiLCJMaW5lRXZlbnQweDI5IiwiTGluZUV2ZW50NDEiLCJQYXJzZUxpbmUiLCJpc0xpbmVFdmVudCIsIk5ldHdvcmtMb2dDb252ZXJ0ZXIiLCJjb252ZXJ0RmlsZSIsImNvbnZlcnRMaW5lcyIsImxpbmVTcGxpdFJlZ2V4IiwibGluZUV2ZW50cyIsImlzUGV0TmFtZSIsImlzVmFsaWRUaW1lc3RhbXAiLCJFbmNvdW50ZXIiLCJlbmNvdW50ZXJEYXkiLCJlbmNvdW50ZXJab25lSWQiLCJlbmNvdW50ZXJab25lTmFtZSIsInZlcnNpb24iLCJlbmNvdW50ZXJWZXJzaW9uIiwic3RhcnRTdGF0dXNlcyIsIlNldCIsImZpcnN0TGluZUluZGV4Iiwic3RhcnRJbiIsImVuZ2FnZUF0IiwiZW5kU3RhdHVzIiwiZmlyc3RQbGF5ZXJBYmlsaXR5IiwiZmlyc3RFbmVteUFiaWxpdHkiLCJtYXRjaGVkTGFuZyIsImNvbWJhdGFudFRyYWNrZXIiLCJzdGFydFRpbWVzdGFtcCIsImVuZFRpbWVzdGFtcCIsImluaXRpYWxPZmZzZXQiLCJmaXJzdExpbmUiLCJvZmZzZXQiLCJwbGF5YmFja09mZnNldCIsInN0YXJ0U3RhdHVzIiwic2hvdWxkUGVyc2lzdEZpZ2h0IiwidXBncmFkZSIsImNvbnZlcnRlciIsIlBlcnNpc3RvckVuY291bnRlciIsImVuY291bnRlciIsIkRleGllIiwiUGVyc2lzdG9yIiwic3RvcmVzIiwiRW5jb3VudGVyU3VtbWFyaWVzIiwiRW5jb3VudGVycyIsImVuY291bnRlcnMiLCJ0YWJsZSIsImVuY291bnRlclN1bW1hcmllcyIsIm1hcFRvQ2xhc3MiLCJ1c2UiLCJzdGFjayIsImNyZWF0ZSIsImRvd24iLCJyZXEiLCJzZXRQcm90b3R5cGVPZiIsInByb3RvdHlwZSIsInBlcnNpc3RFbmNvdW50ZXIiLCJsb2FkRW5jb3VudGVyIiwidHJhbnNhY3Rpb24iLCJiYXNlRW5jb3VudGVyIiwic3VtbWFyeSIsInB1dCIsImRlbGV0ZUVuY291bnRlciIsImRlbGV0ZSIsImNsZWFyREIiLCJjbGVhciIsImV4cG9ydERCIiwiZXhwb3J0IiwiaW1wb3J0REIiLCJmaWxlIiwiaW1wb3J0IiwiYWRkUGxheWVyQ2hhbmdlZE92ZXJyaWRlTGlzdGVuZXIiLCJwbGF5ZXJOYW1lIiwibGFzdFBsYXllckNoYW5nZWRFdmVudCIsImxhc3RQbGF5ZXJKb2IiLCJvblBsYXllckNoYW5nZWQiLCJuZXdKb2IiLCJhZGRSZW1vdGVQbGF5ZXJTZWxlY3RVSSIsImluc3RydWN0aW9uVGV4dEJ5TGFuZyIsImZvcmNlVFRTQnlMYW5nIiwiYnV0dG9uVGV4dEJ5TGFuZyIsImRlZmF1bHRUZXh0QnlMYW5nIiwia1N0b3JhZ2VLZXkiLCJzYXZlUGxheWVyTmFtZSIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJsb2FkUGxheWVyTmFtZSIsImdldEl0ZW0iLCJpbnN0cnVjdGlvbkVsZW0iLCJsaXN0RWxlbSIsInR0c0VsZW0iLCJ0dHNMYWJlbCIsImh0bWxGb3IiLCJidXR0b25FbGVtIiwiZm9yY2VUVFMiLCJyYWRpb0luZGV4IiwiSFRNTElucHV0RWxlbWVudCIsImN1cnJlbnRQYXJhbXMiLCJwYXJhbU1hcCIsInYiLCJkZWNvZGVVUklDb21wb25lbnQiLCJsYXN0U2VsZWN0ZWRQbGF5ZXIiLCJidWlsZExpc3QiLCJmaXJzdENoaWxkIiwibGFzdENoaWxkIiwicmVtb3ZlQ2hpbGQiLCJyYWRpb0NvdW50IiwiYWRkUmFkaW8iLCJleHRyYUNsYXNzIiwiaW5wdXROYW1lIiwiaW5wdXRFbGVtIiwibGFiZWxFbGVtIiwiZGVmYXVsdFRleHQiLCJkZWZhdWx0RWxlbSIsImxhc3QiLCJwYXJ0eVBsYXllcnMiLCJhbGxpYW5jZVBsYXllcnMiLCJBdXRvcGxheUhlbHBlciIsIkNoZWNrSWZBbHJlYWR5UnVubmluZyIsImNvbnRleHQiLCJBdWRpb0NvbnRleHQiLCJQcm9tcHQiLCJidXR0b24iLCJyZXN1bWUiLCJvbnN0YXRlY2hhbmdlIiwiQ2hlY2tBbmRQcm9tcHQiLCJUVFNJdGVtIiwidm9pY2UiLCJTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJwbGF5Iiwic3BlZWNoU3ludGhlc2lzIiwic3BlYWsiLCJCcm93c2VyVFRTRW5naW5lIiwiY2FjdGJvdExhbmdUb1NwZWVjaExhbmciLCJvbnZvaWNlc2NoYW5nZWQiLCJzcGVlY2hMYW5nIiwiZ2V0Vm9pY2VzIiwic3BlZWNoVm9pY2UiLCJ0dHNJdGVtIiwiaXNSYWlkYm9zc0xvb3NlVGltZWxpbmVUcmlnZ2VyIiwiaXNOZXRSZWdleFRyaWdnZXIiLCJpc1JlZ2V4VHJpZ2dlciIsInJhaWRib3NzSW5zdHJ1Y3Rpb25zIiwidHJpZ2dlclVwcGVyQ2FzZSIsIm9uVHJpZ2dlckV4Y2VwdGlvbiIsInNvdW5kcyIsInNvdW5kU3RycyIsInRleHRNYXAiLCJ1cHBlclRleHQiLCJ1cHBlclNvdW5kIiwidXBwZXJTb3VuZFZvbHVtZSIsInJ1bWJsZUR1cmF0aW9uIiwicnVtYmxlV2VhayIsInJ1bWJsZVN0cm9uZyIsImFsZXJ0IiwiYWxhcm0iLCJPcmRlcmVkVHJpZ2dlckxpc3QiLCJpZFRvSW5kZXgiLCJvbGRUcmlnZ2VyIiwidHJpZ2dlckZpbGUiLCJvbGRGaWxlIiwibmV3RmlsZSIsImFzTGlzdCIsImlzT2JqZWN0IiwiVHJpZ2dlck91dHB1dFByb3h5IiwiY29uZmlnIiwiT3V0cHV0U3RyaW5ncyIsIm92ZXJyaWRlU3RyaW5ncyIsIlN0cmluZyIsImdldFJlcGxhY2VtZW50IiwicmVzcG9uc2VTdHJpbmciLCJ1bmtub3duVmFsdWUiLCJfZnVsbE1hdGNoIiwibWFrZU91dHB1dCIsImRlZmF1bHRPdXRwdXQiLCJQb3B1cFRleHQiLCJ0aW1lbGluZUxvYWRlciIsInJhaWRib3NzRGF0YUZpbGVzIiwiUHJvY2Vzc0RhdGFGaWxlcyIsImluZm9UZXh0IiwiYWxlcnRUZXh0IiwiYWxhcm1UZXh0IiwidHRzRW5naW5lIiwidHRzU2F5IiwiZ2V0RGF0YU9iamVjdCIsIlJlc2V0IiwiQWRkRGVidWdJbnN0cnVjdGlvbnMiLCJIb29rT3ZlcmxheXMiLCJwYXJ0eVRyYWNrZXIiLCJPblBsYXllckNoYW5nZSIsIlBsYXllck5hbWVPdmVycmlkZSIsIk9uQ2hhbmdlWm9uZSIsIk9uSW5Db21iYXRDaGFuZ2UiLCJpbkdhbWVDb21iYXQiLCJPbkxvZyIsIk9uTmV0TG9nIiwiT25Kb2JDaGFuZ2UiLCJ0cmlnZ2VyU2V0cyIsImpzb24iLCJwcm9jZXNzZWRTZXQiLCJ6b25lSUQiLCJSZWxvYWRUaW1lbGluZXMiLCJJc1JlYWR5IiwibmV0VHJpZ2dlcnMiLCJ0aW1lbGluZXMiLCJ0aW1lbGluZVN0eWxlcyIsInJlc2V0V2hlbk91dE9mQ29tYmF0Iiwib3JkZXJlZFRyaWdnZXJzIiwiYmluZCIsImxhbmdTdWZmaXgiLCJyZWdleFBhcnNlckxhbmciLCJuZXRSZWdleFBhcnNlckxhbmciLCJoYXZlWm9uZVJlZ2V4IiwiaGF2ZVpvbmVJZCIsIk1hdGNoQWxsIiwiem9uZVJlZ2V4IiwicGFyc2VyTGFuZ1JlZ2V4Iiwic2V0RmlsZW5hbWUiLCJpbml0RGF0YSIsImRhdGFJbml0aWFsaXplcnMiLCJQcm9jZXNzVHJpZ2dlciIsInRyaWdnZXJPYmplY3QiLCJsb2NhbFJlZ2V4IiwibmV0UmVnZXgiLCJsb2NhbE5ldFJlZ2V4Iiwib3ZlcnJpZGVUaW1lbGluZUZpbGUiLCJmaWx0ZXJFbmFibGVkIiwiYWxsVHJpZ2dlcnMiLCJTZXRUaW1lbGluZXMiLCJpbkNvbWJhdCIsIlNldEluQ29tYmF0IiwiU3RvcFRpbWVycyIsIlNob3J0TmFtaWZ5IiwibmljayIsInRyaWdnZXJTdXBwcmVzcyIsImluaXRPYmoiLCJ0aW1lcnMiLCJjdXJyZW50VGltZSIsImxvZ3MiLCJPblRyaWdnZXIiLCJyYXdMaW5lIiwiT25UcmlnZ2VySW50ZXJuYWwiLCJfb25UcmlnZ2VySW50ZXJuYWxDaGVja1N1cHByZXNzZWQiLCJ0cmlnZ2VySGVscGVyIiwiX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyIiwiX29uVHJpZ2dlckludGVybmFsQ29uZGl0aW9uIiwiX29uVHJpZ2dlckludGVybmFsUHJlUnVuIiwiZGVsYXlQcm9taXNlIiwiX29uVHJpZ2dlckludGVybmFsRGVsYXlTZWNvbmRzIiwiX29uVHJpZ2dlckludGVybmFsRHVyYXRpb25TZWNvbmRzIiwiX29uVHJpZ2dlckludGVybmFsU3VwcHJlc3NTZWNvbmRzIiwidHJpZ2dlclBvc3REZWxheSIsInByb21pc2UiLCJfb25UcmlnZ2VySW50ZXJuYWxQcm9taXNlIiwidHJpZ2dlclBvc3RQcm9taXNlIiwiX29uVHJpZ2dlckludGVybmFsU291bmQiLCJfb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSIsIl9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlIiwiX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0IiwiX29uVHJpZ2dlckludGVybmFsQWxlcnRUZXh0IiwiX29uVHJpZ2dlckludGVybmFsSW5mb1RleHQiLCJfb25UcmlnZ2VySW50ZXJuYWxSdW1ibGUiLCJfb25UcmlnZ2VySW50ZXJuYWxUVFMiLCJfb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8iLCJfb25UcmlnZ2VySW50ZXJuYWxSdW4iLCJzdXBwcmVzc2VkIiwidHJpZ2dlckF1dG9Db25maWciLCJ1c2VyU3VwcHJlc3NlZE91dHB1dCIsInRleHRBbGVydHNFbmFibGVkIiwic291bmRBbGVydHNFbmFibGVkIiwic3Bva2VuQWxlcnRzRW5hYmxlZCIsImdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCIsIl9vblRyaWdnZXJJbnRlcm5hbEhlbHBlckRlZmF1bHRzIiwid2hlbiIsInN1cHByZXNzIiwiY29uZGl0aW9uIiwiQ29uZGl0aW9uIiwiVGV4dEFsZXJ0IiwiU291bmRBbGVydCIsIlNwZWVjaEFsZXJ0IiwiR3JvdXBTcGVlY2hBbGVydCIsInByZVJ1biIsImRlbGF5U2Vjb25kcyIsInRyaWdnZXJJRCIsImN1cnJlbnRUcmlnZ2VySUQiLCJ2YWx1ZUR1cmF0aW9uIiwiZnJvbUNvbmZpZyIsIkR1cmF0aW9uIiwiZnJvbVRyaWdnZXIiLCJzdXBwcmVzc1NlY29uZHMiLCJzb3VuZCIsInNvdW5kVXJsIiwic291bmRWb2x1bWUiLCJ0cmlnZ2VyU291bmRWb2wiLCJfYWRkVGV4dEZvciIsIm5hdmlnYXRvciIsImdldEdhbWVwYWRzIiwiZ3AiLCJnYW1lcGFkIiwidmlicmF0aW9uQWN0dWF0b3IiLCJwbGF5RWZmZWN0Iiwic3RhcnREZWxheSIsInJ1bWJsZUR1cmF0aW9uTXMiLCJ3ZWFrTWFnbml0dWRlIiwic3Ryb25nTWFnbml0dWRlIiwidHRzVGV4dCIsIlRUU1RleHQiLCJyZXNwIiwiZGVmYXVsdFRUU1RleHQiLCJuYW1lZFNvdW5kIiwibmFtZWRTb3VuZFZvbHVtZSIsInNvdW5kVm9sIiwiU291bmRPdmVycmlkZSIsIlZvbHVtZU92ZXJyaWRlIiwiYXJyb3dSZXBsYWNlbWVudCIsIl9wbGF5QXVkaW9GaWxlIiwicnVuIiwiX2NyZWF0ZVRleHRGb3IiLCJ0ZXh0VHlwZSIsImxvd2VyVGV4dEtleSIsInRleHRFbGVtZW50Q2xhc3MiLCJob2xkZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwiX21ha2VUZXh0RWxlbWVudCIsImNoaWxkcmVuIiwia01heFJvd3NPZlRleHQiLCJjb250YWlucyIsInVwcGVyVGV4dEtleSIsInRleHRPYmoiLCJfdHJpZ2dlckhlbHBlciIsImNsYXNzTmFtZSIsInVybCIsInZvbHVtZSIsImF1ZGlvIiwiQXVkaW8iLCJwcmVzZXJ2ZUhQIiwiUG9wdXBUZXh0R2VuZXJhdG9yIiwiSW5mbyIsIkFsZXJ0IiwiQWxhcm0iLCJUVFMiLCJUcmlnZ2VyIiwiVGltZXJCYXIiLCJvYnNlcnZlZEF0dHJpYnV0ZXMiLCJvIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiLCJlbGVtZW50IiwiZWxhcHNlZCIsImhpZGVhZnRlciIsImxlZnR0ZXh0IiwiY2VudGVydGV4dCIsInJpZ2h0dGV4dCIsIndpZHRoIiwiaGVpZ2h0IiwiYmciLCJmZyIsInN0eWxlZmlsbCIsInRvd2FyZCIsImxvb3AiLCJyZW1vdmVBdHRyaWJ1dGUiLCJnZXRBdHRyaWJ1dGUiLCJ3IiwiX3N0YXJ0IiwiX2R1cmF0aW9uIiwiZWxhcHNlZE1zIiwiaCIsImhhc0F0dHJpYnV0ZSIsInJvb3QiLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiX2Nvbm5lY3RlZCIsIl93aWR0aCIsIl9oZWlnaHQiLCJfYmciLCJfZmciLCJfdG93YXJkUmlnaHQiLCJfZmlsbCIsIl9sZWZ0VGV4dCIsIl9jZW50ZXJUZXh0IiwiX3JpZ2h0VGV4dCIsIl9oaWRlQWZ0ZXIiLCJfbG9vcCIsIl9oaWRlVGltZXIiLCJyb290RWxlbWVudCIsInNoYWRvd1Jvb3QiLCJmb3JlZ3JvdW5kRWxlbWVudCIsImJhY2tncm91bmRFbGVtZW50IiwibGVmdFRleHRFbGVtZW50IiwiY2VudGVyVGV4dEVsZW1lbnQiLCJyaWdodFRleHRFbGVtZW50IiwiY29ubmVjdGVkQ2FsbGJhY2siLCJsYXlvdXQiLCJ1cGRhdGVUZXh0Iiwic2V0dmFsdWUiLCJhZHZhbmNlIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siLCJfb2xkVmFsdWUiLCJ1cGRhdGUiLCJoaWRlIiwic2hvdyIsImRyYXciLCJiYWNrZ3JvdW5kQ29sb3IiLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ2YXJ5aW5nVGV4dHMiLCJlbGFwc2VkU2VjIiwicmVtYWluU2VjIiwicGVyY2VudCIsImRpc3BsYXlSZW1haW4iLCJ0b0ZpeGVkIiwiZGlzcGxheUVsYXBzZWQiLCJ0cmFuc2Zvcm0iLCJhcHBseVN0eWxlcyIsImNlbnRlciIsImNzc1RleHQiLCJjbGVhclRpbWVvdXQiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJrQmlnIiwidGltZWxpbmVJbnN0cnVjdGlvbnMiLCJhY3RpdmVUZXh0IiwiY29tcHV0ZUJhY2tncm91bmRDb2xvckZyb20iLCJjbGFzc2VzIiwiY29sb3IiLCJnZXRDb21wdXRlZFN0eWxlIiwiVGltZWxpbmUiLCJhY3RpdmVTeW5jcyIsImFjdGl2ZUV2ZW50cyIsIkxvYWRGaWxlIiwiU3RvcCIsInRpbWViYXNlIiwibmV4dEV2ZW50IiwibmV4dFRleHQiLCJuZXh0U3luY1N0YXJ0IiwibmV4dFN5bmNFbmQiLCJmaWdodE5vdyIsIl9BZHZhbmNlVGltZVRvIiwiX0NvbGxlY3RBY3RpdmVTeW5jcyIsIl9DbGVhclRpbWVycyIsIl9DYW5jZWxVcGRhdGUiLCJ1aSIsIk9uU3luY1RpbWUiLCJTeW5jVG8iLCJuZXdUaW1lYmFzZSIsInZhbHVlT2YiLCJfQWRkRHVyYXRpb25UaW1lcnMiLCJfQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMiLCJfQWRkVXBjb21pbmdUaW1lcnMiLCJfU2NoZWR1bGVVcGRhdGUiLCJzeW5jRW5kIiwiT25Mb2dMaW5lIiwic3luY1N0YXJ0IiwiYWN0aXZlRXZlbnQiLCJPblJlbW92ZVRpbWVyIiwiZHVyYXRpb25FdmVudHMiLCJpc0R1ciIsIl9SZW1vdmVFeHBpcmVkVGltZXJzIiwiZHVyYXRpb25FdmVudCIsIk9uQWRkVGltZXIiLCJfQWRkUGFzc2VkVGV4dHMiLCJPblNob3dJbmZvVGV4dCIsIk9uU2hvd0FsZXJ0VGV4dCIsIk9uU2hvd0FsYXJtVGV4dCIsIk9uU3BlYWtUVFMiLCJ1cGRhdGVUaW1lciIsIm5leHRFdmVudFN0YXJ0aW5nIiwibmV4dFRleHRPY2N1cnMiLCJuZXh0RXZlbnRFbmRpbmciLCJuZXh0U3luY1N0YXJ0aW5nIiwibmV4dFN5bmNFbmRpbmciLCJuZXh0RXZlbnRFbmRzQXQiLCJzaG93TmV4dEV2ZW50QXQiLCJuZXh0VGltZSIsIl9PblVwZGF0ZVRpbWVyIiwiVGltZWxpbmVVSSIsIkluaXQiLCJiYXJDb2xvciIsImJhckV4cGlyZXNTb29uQ29sb3IiLCJ0aW1lcmxpc3QiLCJncmlkVGVtcGxhdGVSb3dzIiwiYWN0aXZlQmFycyIsImV4cGlyZVRpbWVycyIsImluc3RydWN0aW9ucyIsImhlbHBlciIsInJvd3MiLCJoZWxwZXJCYXIiLCJkZWJ1Z0VsZW1lbnQiLCJTZXRQb3B1cFRleHRJbnRlcmZhY2UiLCJTZXRUaW1lbGluZSIsImRlYnVnRmlnaHRUaW1lciIsImNoYW5uZWxpbmciLCJiYXIiLCJPblRpbWVyRXhwaXJlc1Nvb24iLCJhY3RpdmVCYXIiLCJwYXJlbnROb2RlIiwib3JkZXIiLCJleHBpcmVkIiwiZm9yY2UiLCJyZW1vdmVCYXIiLCJhbmltYXRpb25OYW1lIiwicnVubmluZyIsIlRpbWVsaW5lQ29udHJvbGxlciIsInN1cHByZXNzTmV4dEVuZ2FnZSIsImFjdGl2ZVRpbWVsaW5lIiwiT25Mb2dFdmVudCIsIlNldEFjdGl2ZVRpbWVsaW5lIiwiVGltZWxpbmVMb2FkZXIiLCJ0aW1lbGluZUNvbnRyb2xsZXIiLCJSYWlkRW11bGF0b3JUaW1lbGluZSIsImJpbmRUbyIsImVtdWxhdG9yIiwiZW11bGF0ZWRTdGF0dXMiLCJlbXVsYXRlZFN5bmMiLCJjdXJyZW50TG9nVGltZSIsImJhc2VUaW1lc3RhbXAiLCJjdXJyZW50RW5jb3VudGVyIiwiX2ZpZ2h0Tm93IiwiUmFpZEVtdWxhdG9yVGltZWxpbmVVSSIsIiRiYXJDb250YWluZXIiLCJwVGVtcGxhdGUiLCIkcHJvZ3Jlc3NUZW1wbGF0ZSIsImxhc3RMb2dMaW5lVGltZSIsImVtdWxhdGVkVGltZXJCYXJzIiwidXBkYXRlQmFyIiwidG9SZW1vdmUiLCJmb3JjZVJlbW92ZUF0IiwiJHByb2dyZXNzIiwiX3RpbWUiLCJzdG9wIiwiYmFyRWxhcHNlZCIsImJhclByb2ciLCJyaWdodFRleHQiLCIkbGVmdExhYmVsIiwidGV4dENvbnRlbnQiLCIkcmlnaHRMYWJlbCIsIiRiYXIiLCIkcHJvZ0JhciIsIiRwcm9nTGVmdCIsIiRwcm9nUmlnaHQiLCJIVE1MRGl2RWxlbWVudCIsIlJhaWRFbXVsYXRvckFuYWx5c2lzVGltZWxpbmVVSSIsIl9iYXIiLCJfY3VycmVudExvZ1RpbWUiLCJfZSIsIl9jaGFubmVsaW5nIiwiX2V4cGlyZWQiLCJSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXIiLCJvbkVtdWxhdG9yTG9nRXZlbnQiLCJTdHViYmVkUG9wdXBUZXh0IiwiZ2V0RGF0YSIsImdldFBhcnR5VHJhY2tlciIsIlJlc29sdmVyIiwic3RhdHVzIiwiaXNSZXNvbHZlZCIsImRlbGF5VW50aWwiLCJkZWxheVJlc29sdmVyIiwiZmluYWwiLCJzZXREZWxheSIsInNldFByb21pc2UiLCJzZXRSdW4iLCJzZXRGaW5hbCIsInNldEhlbHBlciIsIlBvcHVwVGV4dEFuYWx5c2lzIiwiX3RleHQiLCJvbkVtdWxhdG9yTG9nIiwibG9nT2JqIiwicmVzb2x2ZXIiLCJjdXJyZW50UmVzb2x2ZXIiLCJpbml0aWFsRGF0YSIsImV4ZWN1dGVkIiwidHJpZ2dlclJlc29sdmVycyIsImZpbmFsRGF0YSIsImNoZWNrUmVzb2x2ZWQiLCJhbGwiLCJyZXN1bHRzIiwiXyIsInJlc3BvbnNlVHlwZSIsInJlc3BvbnNlTGFiZWwiLCJfY2xhc3NOYW1lIiwiX2xvd2VyVGV4dEtleSIsIl92b2x1bWUiLCJBbmFseXplZEVuY291bnRlciIsInNlbGVjdFBlcnNwZWN0aXZlIiwic2VsZWN0ZWRQYXJ0eU1lbWJlciIsInBhcnR5TWVtYmVyIiwidXBkYXRlU3RhdGUiLCJtYXhIUCIsImN1cnJlbnRNUCIsIm1heE1QIiwiY3VycmVudENQIiwibWF4Q1AiLCJjdXJyZW50R1AiLCJtYXhHUCIsImN1cnJlbnRTaGllbGQiLCJqb2JEZXRhaWwiLCJyb3RhdGlvbiIsImJhaXQiLCJkZWJ1Z0pvYiIsImFuYWx5emUiLCJhbmFseXplRm9yIiwiY3VycmVudExvZ0luZGV4IiwicGVyc3BlY3RpdmVzIiwidGltZWxpbmVVSSIsImdlbmVyYXRvciIsImN1cnJlbnRMaW5lIiwiY3VycmVudFRyaWdnZXJTdGF0dXMiLCJwZXJzcGVjdGl2ZSIsImxvZ0xpbmUiLCJyZXNvbHZlZE9mZnNldCIsIlJhaWRFbXVsYXRvciIsImFkZEVuY291bnRlciIsInNldEN1cnJlbnQiLCJlbmMiLCJzZXRDdXJyZW50QnlJRCIsInNlZWtUbyIsImZpcnN0SW5kZXgiLCJjdXJyZW50TG9nTGluZUluZGV4IiwibGFzdFRpY2tUaW1lIiwiaGFuZGxlciIsInRpY2siLCJwbGF5aW5nSW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsInBsYXliYWNrU3BlZWQiLCJwYXVzZSIsImNsZWFySW50ZXJ2YWwiLCJzZWVrIiwidGltZU9mZnNldCIsInNlZWtUaW1lc3RhbXAiLCJwbGF5aW5nIiwidGltZURpZmYiLCJzZXRQb3B1cFRleHQiLCJSYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vayIsIl9nZXRDb21iYXRhbnRzT3ZlcnJpZGUiLCJjdXJFbmMiLCJ0cmFja2VyIiwiaGFzSWRzIiwiaGFzTmFtZXMiLCJmaXJzdFN0YXRlU3RhbXAiLCJsYXN0U3RhdGVTdGFtcCIsImlkTnVtIiwiY29tYmF0YW50U3RhdGUiLCJMZXZlbCIsIkpvYiIsImJhc2VMaW5lIiwiT3duZXJJRCIsIkJOcGNOYW1lSUQiLCJCTnBjSUQiLCJSYWlkRW11bGF0b3JQb3B1cFRleHQiLCJwb3B1cEVsZW0iLCIkcG9wdXBUZXh0Q29udGFpbmVyV3JhcHBlciIsImVtdWxhdGVkT2Zmc2V0IiwiZGlzcGxheWVkVGV4dCIsInNjaGVkdWxlZFRyaWdnZXJzIiwic2Vla2luZyIsInRlbXBsYXRlRWxlbWVudCIsInRleHRFbGVtZW50IiwiJHRleHRFbGVtZW50VGVtcGxhdGUiLCJhdWRpb0RlYnVnVGV4dER1cmF0aW9uIiwicGFyZW50VHRzU2F5IiwiYWRkRGlzcGxheVRleHQiLCJkb1VwZGF0ZSIsInJlbWFpbmluZyIsImV4cGlyZXMiLCJfZW11bGF0b3JSZXNldCIsImN1cnJlbnRFbmMiLCJyZWplY3RlciIsIiRyZXQiLCIkZSIsImVtdWxhdG9yQnV0dG9ucyIsImVtdWxhdG9yVGl0bGUiLCJlbXVsYXRvckltcG9ydE1vZGFsIiwiZW11bGF0b3JEZWxldGVNb2RhbCIsImVtdWxhdG9ySW50cm9Nb2RhbCIsImVtdWxhdG9yRGlzY29ubmVjdGVkTW9kYWwiLCJlbXVsYXRvckxhYmVscyIsImVtdWxhdG9yVG9vbHRpcHMiLCJlbXVsYXRvckVuY291bnRlckluZm8iLCJlbXVsYXRvclRyYW5zbGF0aW9ucyIsImVtdWxhdG9yVG9vbHRpcFRyYW5zbGF0aW9ucyIsImVtdWxhdG9yVGVtcGxhdGVUcmFuc2xhdGlvbnMiLCJlbXVsYXRvclN0YXJ0U3RhdHVzZXMiLCJjb3VudGRvd24iLCJlbXVsYXRvckVuZFN0YXR1c2VzIiwid2luIiwid2lwZSIsImNhY3Rib3RXaXBlIiwibG9va3VwU3RhcnRTdGF0dXNlcyIsInN0YXR1c2VzU3RyIiwiZW5nU3RhdHVzZXMiLCJ0cmFuc1N0YXR1c2VzIiwibG9va3VwRW5kU3RhdHVzIiwiaGlkZUV2ZW50cyIsInZhbGlkRGlyZWN0aW9ucyIsInNob3dFdmVudHMiLCJ0b1B4IiwicHgiLCJUb29sdGlwIiwiZGlyZWN0aW9uIiwiYXV0b1Nob3ciLCJhdXRvSGlkZSIsImluaXRpYWxpemVUZW1wbGF0ZXMiLCJ0b29sdGlwIiwiY2xvbmVUZW1wbGF0ZSIsImlubmVyRWxlbSIsImlubmVyIiwiYXJyb3dFbGVtIiwiYXJyb3ciLCJzZXRUZXh0IiwidGFyZ2V0UmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRhcmdldE1pZGRsZSIsInRvb2x0aXBSZWN0IiwibHJBcnJvd0hlaWdodCIsImJvdHRvbSIsInRvcCIsInRlbXBsYXRlcyIsImdldFRlbXBsYXRlIiwiZWxlbU5hbWUiLCJqb2JPcmRlciIsImlzSm9iT3JkZXIiLCJFbXVsYXRlZFBhcnR5SW5mbyIsIiRwYXJ0eUluZm8iLCIkdHJpZ2dlckluZm8iLCJza2lwcGVkIiwiJHRyaWdnZXJIaWRlU2tpcHBlZENoZWNrYm94IiwiY29sbGVjdG9yIiwiJHRyaWdnZXJIaWRlQ29sbGVjdENoZWNrYm94IiwiJHRyaWdnZXJCYXIiLCJsYXRlc3REaXNwbGF5ZWRTdGF0ZSIsInRyaWdnZXJCYXJzIiwidXBkYXRlUGFydHlJbmZvIiwicmVzZXRQYXJ0eUluZm8iLCJ1cGRhdGVUcmlnZ2VyU3RhdGUiLCJoaWRlTm9uRXhlY3V0ZWRUcmlnZ2VycyIsInNob3dOb25FeGVjdXRlZFRyaWdnZXJzIiwiaGlkZUNvbGxlY3RvclRyaWdnZXJzIiwic2hvd0NvbGxlY3RvclRyaWdnZXJzIiwiJHRyaWdnZXJJdGVtVGVtcGxhdGUiLCIkcGxheWVySW5mb1Jvd1RlbXBsYXRlIiwiJHBsYXllclRyaWdnZXJJbmZvVGVtcGxhdGUiLCIkanNvblZpZXdlclRlbXBsYXRlIiwiJHdyYXBDb2xsYXBzZVRlbXBsYXRlIiwiZGlzcGxheWVkUGFydHkiLCJ1cGRhdGVDb21iYXRhbnRJbmZvIiwidG9vbHRpcHMiLCJ0dCIsImN1cnJlbnRQZXJzcGVjdGl2ZSIsIm1lbWJlcnNUb0Rpc3BsYXkiLCJnZXRQYXJ0eUluZm9PYmplY3RGb3IiLCIkcm9vdEVsZW0iLCIkdHJpZ2dlckVsZW0iLCJ0cmlnZ2VySWQiLCJ0b0Rpc3BsYXkiLCJzdGF0ZUlEIiwiU3RhdGUiLCJocFByb2ciLCJocExhYmVsIiwiJGhwUHJvZ0VsZW0iLCIkaHBMYWJlbEVsZW0iLCJtcFByb2ciLCJtcExhYmVsIiwiJG1wUHJvZ0VsZW0iLCIkbXBMYWJlbEVsZW0iLCIkaHAiLCIkbXAiLCIkbmFtZSIsIiRpY29uRWxlbSIsIiRocEVsZW0iLCIkbXBFbGVtIiwiJG5hbWVFbGVtIiwiZ2V0VHJpZ2dlckluZm9PYmplY3RGb3IiLCIkY29udGFpbmVyIiwicGVyIiwiJGluaXREYXRhVmlld2VyIiwiX3dyYXBDb2xsYXBzZSIsIiRvYmoiLCIkdHJpZ2dlckNvbnRhaW5lciIsIiR0cmlnZ2VyRGF0YVZpZXdlciIsInRyaWdnZXJUZXh0IiwiJHRyaWdnZXIiLCJnZXRUcmlnZ2VyUmVzb2x2ZWRMYWJlbFRpbWUiLCJpY29uIiwiZ2V0VHJpZ2dlckxhYmVsSWNvbiIsIiRmaW5hbERhdGFWaWV3ZXIiLCJnZXRUcmlnZ2VyRmlyZWRMYWJlbFRpbWUiLCIkYnV0dG9uIiwiJHRpbWUiLCIkaWNvbiIsIiR0ZXh0IiwiJHdyYXBwZXIiLCJFbmNvdW50ZXJUYWIiLCJwZXJzaXN0b3IiLCIkem9uZUNvbHVtbiIsIiRkYXRlQ29sdW1uIiwiJGVuY291bnRlckNvbHVtbiIsIiRpbmZvQ29sdW1uIiwiJGVuY291bnRlclRhYlJvd1RlbXBsYXRlIiwiJGVuY291bnRlclRhYkVuY291bnRlclJvd1RlbXBsYXRlIiwiJGVuY291bnRlckluZm9UZW1wbGF0ZSIsInJlZnJlc2giLCJ0b0FycmF5Iiwiem9uZSIsImVuY0RhdGUiLCJlbmNUaW1lIiwiZW5jRHVyYXRpb24iLCJ6b25lT2JqIiwiZGF0ZU9iaiIsInJlZnJlc2hVSSIsInJlZnJlc2hab25lcyIsInJlZnJlc2hEYXRlcyIsInJlZnJlc2hFbmNvdW50ZXJzIiwicmVmcmVzaEluZm8iLCJ6b25lcyIsIiRyb3ciLCJjdXJyZW50Wm9uZSIsImV2IiwiY3VycmVudFRhcmdldCIsInBhcmVudEVsZW1lbnQiLCJ6b25lTWFwIiwiZGF0ZXMiLCJjdXJyZW50RGF0ZSIsImRhdGVNYXAiLCJzb3J0ZWRFbmNvdW50ZXJzIiwiZW5jTWFwIiwicHVsbEF0IiwiJGluZm8iLCJQcm9ncmVzc0JhciIsInByb2dCYXJDb250YWluZXIiLCIkcHJvZ3Jlc3NCYXJUb29sdGlwIiwiJHByb2dyZXNzQmFyQ3VycmVudCIsIiRwcm9ncmVzc0JhckR1cmF0aW9uIiwiJHByb2dyZXNzQmFyIiwiJGVuZ2FnZUluZGljYXRvciIsIm9mZnNldFgiLCJvZmZzZXRXaWR0aCIsImluaXRpYWxQZXJjZW50IiwiY3VycmVudE9mZnNldCIsInByb2dQZXJjZW50IiwicHJvZ1ZhbHVlIiwiJHBsYXkiLCIkcGF1c2UiLCJzaG93TW9kYWwiLCJzZWxlY3RvciIsIm1vZGFsIiwiYmFja2Ryb3AiLCJoaWRlTW9kYWwiLCJhcHBseVRyYW5zbGF0aW9uIiwidHJhbnMiLCJyYWlkRW11bGF0b3JPbkxvYWQiLCJ3ZWJzb2NrZXRDb25uZWN0ZWQiLCJvcGVuIiwicmFjZSIsImJyb3dzZXJMYW5nIiwicHJvZ3Jlc3NCYXIiLCJlbmNvdW50ZXJUYWIiLCJlbXVsYXRlZFBhcnR5SW5mbyIsImVtdWxhdGVkV2ViU29ja2V0IiwiY29ubmVjdGVkIiwibG9nQ29udmVydGVyV29ya2VyIiwiV29ya2VyIiwiVVJMIiwibWV0YSIsImxhc3RFbmNvdW50ZXIiLCJtYXRjaGVkRW5jb3VudGVycyIsImRpc3BMYW5nIiwiZGlzY01vZGFsIiwiaW5kaWNhdG9yIiwiY2hlY2tGaWxlIiwiaW1wb3J0TW9kYWwiLCJlbmNMYWJlbCIsImRvbmVCdXR0b24iLCJIVE1MQnV0dG9uRWxlbWVudCIsImRvbmVCdXR0b25UaW1lb3V0Iiwib25tZXNzYWdlIiwiYnl0ZXMiLCJ0b3RhbEJ5dGVzIiwiZHVyYXRpb25NaW5zIiwiZHVyYXRpb25TZWNzIiwicHVsbER1cmF0aW9uIiwicHVsbER1cmF0aW9uTWlucyIsInB1bGxEdXJhdGlvblNlY3MiLCJpbnRlcnZhbCIsImFycmF5QnVmZmVyIiwicG9zdE1lc3NhZ2UiLCJpZ25vcmVFdmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiZHJvcEhhbmRsZXIiLCJkdCIsImRhdGFUcmFuc2ZlciIsIiRleHBvcnRCdXR0b24iLCJ0YXJnZXRTZWwiLCJibG9iIiwiY3JlYXRlT2JqZWN0VVJMIiwiY2xpY2siLCJyZXZva2VPYmplY3RVUkwiLCIkZmlsZUlucHV0IiwiTW91c2VFdmVudCIsInJhaWRFbXVsYXRvciJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFFO0FBQ0psVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsT0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsS0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFsQk87QUFrbUJiOFQsRUFBQUEsSUFBSSxFQUFFO0FBQ0puVSxJQUFBQSxFQUFFLEVBQUUsTUFEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsUUFGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsT0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxtQk87QUEwbUJiK1QsRUFBQUEsU0FBUyxFQUFFO0FBQ1RwVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsWUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsWUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFtQkU7QUFrbkJiZ1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1RyVSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsVUFISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxuQkU7QUEwbkJiaVUsRUFBQUEsU0FBUyxFQUFFO0FBQ1R0VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsV0FGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsV0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQTFuQkU7QUFrb0Jia1UsRUFBQUEsU0FBUyxFQUFFO0FBQ1R2VSxJQUFBQSxFQUFFLEVBQUUsV0FESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsVUFGSztBQUdUQyxJQUFBQSxFQUFFLEVBQUUsU0FISztBQUlUQyxJQUFBQSxFQUFFLEVBQUUsSUFKSztBQUtUQyxJQUFBQSxFQUFFLEVBQUUsUUFMSztBQU1UQyxJQUFBQSxFQUFFLEVBQUU7QUFOSyxHQWxvQkU7QUEwb0JibVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0p4VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFvQk87QUFrcEJib1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0p6VSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxwQk87QUEwcEJicVUsRUFBQUEsSUFBSSxFQUFFO0FBQ0oxVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQTFwQk87QUFrcUJic1UsRUFBQUEsSUFBSSxFQUFFO0FBQ0ozVSxJQUFBQSxFQUFFLEVBQUUsR0FEQTtBQUVKQyxJQUFBQSxFQUFFLEVBQUUsR0FGQTtBQUdKQyxJQUFBQSxFQUFFLEVBQUUsR0FIQTtBQUlKQyxJQUFBQSxFQUFFLEVBQUUsR0FKQTtBQUtKQyxJQUFBQSxFQUFFLEVBQUUsTUFMQTtBQU1KQyxJQUFBQSxFQUFFLEVBQUU7QUFOQSxHQWxxQk87QUEwcUJidVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w1VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFxQk07QUFrckJid1UsRUFBQUEsS0FBSyxFQUFFO0FBQ0w3VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxyQk07QUEwckJieVUsRUFBQUEsS0FBSyxFQUFFO0FBQ0w5VSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQTFyQk07QUFrc0JiMFUsRUFBQUEsS0FBSyxFQUFFO0FBQ0wvVSxJQUFBQSxFQUFFLEVBQUUsSUFEQztBQUVMQyxJQUFBQSxFQUFFLEVBQUUsSUFGQztBQUdMQyxJQUFBQSxFQUFFLEVBQUUsSUFIQztBQUlMQyxJQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxJQUFBQSxFQUFFLEVBQUUsUUFMQztBQU1MQyxJQUFBQSxFQUFFLEVBQUU7QUFOQyxHQWxzQk07QUEwc0JiO0FBQ0EyVSxFQUFBQSxJQUFJLEVBQUUxRixvQkFBb0IsQ0FBQyxDQUFELENBM3NCYjtBQTRzQmIyRixFQUFBQSxJQUFJLEVBQUUzRixvQkFBb0IsQ0FBQyxDQUFELENBNXNCYjtBQTZzQmI0RixFQUFBQSxJQUFJLEVBQUU1RixvQkFBb0IsQ0FBQyxDQUFELENBN3NCYjtBQThzQmI2RixFQUFBQSxJQUFJLEVBQUU3RixvQkFBb0IsQ0FBQyxDQUFELENBOXNCYjtBQStzQmI4RixFQUFBQSxJQUFJLEVBQUU5RixvQkFBb0IsQ0FBQyxDQUFELENBL3NCYjtBQWd0QmIrRixFQUFBQSxJQUFJLEVBQUUvRixvQkFBb0IsQ0FBQyxDQUFELENBaHRCYjtBQWl0QmJnRyxFQUFBQSxJQUFJLEVBQUVoRyxvQkFBb0IsQ0FBQyxDQUFELENBanRCYjtBQWt0QmJpRyxFQUFBQSxJQUFJLEVBQUVqRyxvQkFBb0IsQ0FBQyxDQUFELENBbHRCYjtBQW10QmJrRyxFQUFBQSxJQUFJLEVBQUVsRyxvQkFBb0IsQ0FBQyxDQUFELENBbnRCYjtBQW90QmJtRyxFQUFBQSxJQUFJLEVBQUVuRyxvQkFBb0IsQ0FBQyxDQUFEO0FBcHRCYixDQUFmOzs7Ozs7Ozs7Ozs7O0FDdEJBO0FBd0RBLElBQUlvRyxNQUFNLEdBQUcsS0FBYjtBQUVBLElBQUlDLEtBQW9CLEdBQUcsSUFBM0I7QUFDQSxJQUFJQyxFQUFvQixHQUFHLElBQTNCO0FBQ0EsSUFBSUMsS0FHTSxHQUFHLEVBSGI7QUFJQSxJQUFJQyxXQUFXLEdBQUcsQ0FBbEI7QUFLQSxNQUFNQyxnQkFBcUQsR0FBRyxFQUE5RDtBQUVBLE1BQU1DLFdBQTBDLEdBQUcsRUFBbkQ7O0FBRUEsTUFBTUMsV0FBVyxHQUFHLENBQ2xCQyxHQURrQixFQUVsQkMsRUFGa0IsS0FHVDtBQUNULE1BQUlQLEVBQUosRUFBUTtBQUNOLFFBQUlDLEtBQUosRUFDRUEsS0FBSyxDQUFDakssSUFBTixDQUFXc0ssR0FBWCxFQURGLEtBR0VOLEVBQUUsQ0FBQ1EsSUFBSCxDQUFRaEosSUFBSSxDQUFDQyxTQUFMLENBQWU2SSxHQUFmLENBQVI7QUFDSCxHQUxELE1BS087QUFDTCxRQUFJTCxLQUFKLEVBQ0VBLEtBQUssQ0FBQ2pLLElBQU4sQ0FBVyxDQUFDc0ssR0FBRCxFQUFNQyxFQUFOLENBQVgsRUFERixLQUdFRSxNQUFNLENBQUNDLGdCQUFQLENBQXdCQyxXQUF4QixDQUFvQ25KLElBQUksQ0FBQ0MsU0FBTCxDQUFlNkksR0FBZixDQUFwQyxFQUF5REMsRUFBekQ7QUFDSDtBQUNGLENBZkQ7O0FBaUJBLE1BQU1LLFlBQVksR0FBeUJOLEdBQXRCLElBQWdFO0FBQ25GTyxFQUFBQSxJQUFJO0FBRUosUUFBTUMsSUFBSSxHQUFHVixXQUFXLENBQUNFLEdBQUcsQ0FBQ3JWLElBQUwsQ0FBeEI7QUFDQTZWLEVBQUFBLElBQUksU0FBSixJQUFBQSxJQUFJLFdBQUosWUFBQUEsSUFBSSxDQUFFQyxPQUFOLENBQWVDLEdBQUQsSUFBUztBQUNyQixRQUFJO0FBQ0ZBLE1BQUFBLEdBQUcsQ0FBQ1YsR0FBRCxDQUFIO0FBQ0QsS0FGRCxDQUVFLE9BQU9XLENBQVAsRUFBVTtBQUNWdk0sTUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFjRCxDQUFkO0FBQ0Q7QUFDRixHQU5EO0FBT0QsQ0FYRDs7QUFhTyxNQUFNRSxvQkFBb0IsR0FBR1AsWUFBN0I7QUFFQSxNQUFNUSxrQkFBdUMsR0FBRyxDQUFDQyxLQUFELEVBQVFkLEVBQVIsS0FBcUI7QUFBQTs7QUFDMUVNLEVBQUFBLElBQUk7O0FBRUosTUFBSSxDQUFDVCxXQUFXLENBQUNpQixLQUFELENBQWhCLEVBQXlCO0FBQ3ZCakIsSUFBQUEsV0FBVyxDQUFDaUIsS0FBRCxDQUFYLEdBQXFCLEVBQXJCOztBQUVBLFFBQUksQ0FBQ3BCLEtBQUwsRUFBWTtBQUNWSSxNQUFBQSxXQUFXLENBQUM7QUFDVmlCLFFBQUFBLElBQUksRUFBRSxXQURJO0FBRVZDLFFBQUFBLE1BQU0sRUFBRSxDQUFDRixLQUFEO0FBRkUsT0FBRCxDQUFYO0FBSUQ7QUFDRjs7QUFFRCx3QkFBQWpCLFdBQVcsQ0FBQ2lCLEtBQUQsQ0FBWCwwRUFBb0JyTCxJQUFwQixDQUF5QnVLLEVBQXpCO0FBQ0QsQ0FmTTtBQWlCQSxNQUFNaUIscUJBQTZDLEdBQUcsQ0FBQ0gsS0FBRCxFQUFRZCxFQUFSLEtBQXFCO0FBQ2hGTSxFQUFBQSxJQUFJOztBQUVKLE1BQUlULFdBQVcsQ0FBQ2lCLEtBQUQsQ0FBZixFQUF3QjtBQUN0QixVQUFNSSxJQUFJLEdBQUdyQixXQUFXLENBQUNpQixLQUFELENBQXhCO0FBQ0EsVUFBTUssR0FBRyxHQUFHRCxJQUFILGFBQUdBLElBQUgsdUJBQUdBLElBQUksQ0FBRUUsT0FBTixDQUFjcEIsRUFBZCxDQUFaO0FBRUEsUUFBSW1CLEdBQUcsS0FBS0UsU0FBUixJQUFxQkYsR0FBRyxHQUFHLENBQUMsQ0FBaEMsRUFDRUQsSUFBSSxTQUFKLElBQUFBLElBQUksV0FBSixZQUFBQSxJQUFJLENBQUVJLE1BQU4sQ0FBYUgsR0FBYixFQUFrQixDQUFsQjtBQUNIO0FBQ0YsQ0FWTTs7QUFZUCxNQUFNSSwwQkFBMkMsR0FBRyxDQUNsREMsSUFEa0QsQ0FFbEQ7QUFGa0QsS0FHakM7QUFDakJsQixFQUFBQSxJQUFJO0FBRUosUUFBTVAsR0FBRyxHQUFHLEVBQ1YsR0FBR3lCLElBRE87QUFFVkMsSUFBQUEsSUFBSSxFQUFFO0FBRkksR0FBWjtBQUlBLE1BQUlDLENBQUo7O0FBRUEsTUFBSWpDLEVBQUosRUFBUTtBQUNOTSxJQUFBQSxHQUFHLENBQUMwQixJQUFKLEdBQVc5QixXQUFXLEVBQXRCO0FBQ0ErQixJQUFBQSxDQUFDLEdBQUcsSUFBSUMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtBQUNuQ2pDLE1BQUFBLGdCQUFnQixDQUFDRyxHQUFHLENBQUMwQixJQUFMLENBQWhCLEdBQTZCO0FBQUVHLFFBQUFBLE9BQU8sRUFBRUEsT0FBWDtBQUFvQkMsUUFBQUEsTUFBTSxFQUFFQTtBQUE1QixPQUE3QjtBQUNELEtBRkcsQ0FBSjtBQUlBL0IsSUFBQUEsV0FBVyxDQUFDQyxHQUFELENBQVg7QUFDRCxHQVBELE1BT087QUFDTDJCLElBQUFBLENBQUMsR0FBRyxJQUFJQyxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQ25DL0IsTUFBQUEsV0FBVyxDQUFDQyxHQUFELEVBQU9oWCxJQUFELElBQVU7QUFDekIsWUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVDZZLFVBQUFBLE9BQU8sQ0FBQzdZLElBQUQsQ0FBUDtBQUNBO0FBQ0Q7O0FBQ0QsY0FBTStZLE1BQU0sR0FBRzdLLElBQUksQ0FBQ0ssS0FBTCxDQUFXdk8sSUFBWCxDQUFmO0FBQ0EsWUFBSStZLE1BQU0sQ0FBQyxRQUFELENBQVYsRUFDRUQsTUFBTSxDQUFDQyxNQUFELENBQU4sQ0FERixLQUdFRixPQUFPLENBQUNFLE1BQUQsQ0FBUDtBQUNILE9BVlUsQ0FBWDtBQVdELEtBWkcsQ0FBSjtBQWFEOztBQUVELFNBQU9KLENBQVA7QUFDRCxDQXBDRDs7QUF1Q0EsTUFBTUssNkJBQTBDLEdBQUcsRUFBbkQ7QUFFTyxNQUFNQyxrQkFBbUMsR0FBRyxDQUNqRFIsSUFEaUQsQ0FFakQ7QUFGaUQsS0FHaEM7QUFBQTs7QUFDakJsQixFQUFBQSxJQUFJLEdBRGEsQ0FHakI7QUFDQTs7QUFDQSxRQUFNNVYsSUFBSSxHQUFHOFcsSUFBSSxDQUFDVCxJQUFsQjtBQUNBLFFBQU1rQixRQUFRLDRCQUFHRiw2QkFBNkIsQ0FBQ3JYLElBQUQsQ0FBaEMseUVBQTBDNlcsMEJBQXhELENBTmlCLENBUWpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFPVSxRQUFRLENBQUNULElBQUQsQ0FBZjtBQUNELENBbEJNO0FBb0JBLE1BQU1VLHlCQUF5QixHQUFHLENBQ3ZDeFgsSUFEdUMsRUFFdkN5WCxRQUZ1QyxLQUc5QjtBQUNULE1BQUksQ0FBQ0EsUUFBTCxFQUFlO0FBQ2IsV0FBT0osNkJBQTZCLENBQUNyWCxJQUFELENBQXBDO0FBQ0E7QUFDRDs7QUFDRHFYLEVBQUFBLDZCQUE2QixDQUFDclgsSUFBRCxDQUE3QixHQUFzQ3lYLFFBQXRDO0FBQ0QsQ0FUTTtBQVdBLE1BQU03QixJQUFJLEdBQUcsTUFBWTtBQUM5QixNQUFJZixNQUFKLEVBQ0U7O0FBRUYsTUFBSSxPQUFPVyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDVixJQUFBQSxLQUFLLEdBQUcsSUFBSTRDLGVBQUosQ0FBb0JsQyxNQUFNLENBQUNtQyxRQUFQLENBQWdCQyxNQUFwQyxFQUE0Q0MsR0FBNUMsQ0FBZ0QsWUFBaEQsQ0FBUjs7QUFDQSxRQUFJL0MsS0FBSyxLQUFLLElBQWQsRUFBb0I7QUFDbEIsWUFBTWdELFNBQVMsR0FBRyxVQUFTaEQsS0FBVCxFQUF3QjtBQUN4Q0MsUUFBQUEsRUFBRSxHQUFHLElBQUlnRCxTQUFKLENBQWNqRCxLQUFkLENBQUw7QUFFQUMsUUFBQUEsRUFBRSxDQUFDaUQsZ0JBQUgsQ0FBb0IsT0FBcEIsRUFBOEJoQyxDQUFELElBQU87QUFDbEN2TSxVQUFBQSxPQUFPLENBQUN3TSxLQUFSLENBQWNELENBQWQ7QUFDRCxTQUZEO0FBSUFqQixRQUFBQSxFQUFFLENBQUNpRCxnQkFBSCxDQUFvQixNQUFwQixFQUE0QixNQUFNO0FBQUE7O0FBQ2hDdk8sVUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLFlBQVo7QUFFQSxnQkFBTUMsQ0FBQyxhQUFHbEQsS0FBSCwyQ0FBWSxFQUFuQjtBQUNBQSxVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUVBSSxVQUFBQSxXQUFXLENBQUM7QUFDVmlCLFlBQUFBLElBQUksRUFBRSxXQURJO0FBRVZDLFlBQUFBLE1BQU0sRUFBRW5NLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZK0ssV0FBWjtBQUZFLFdBQUQsQ0FBWDs7QUFLQSxlQUFLLE1BQU1FLEdBQVgsSUFBa0I2QyxDQUFsQixFQUFxQjtBQUNuQixnQkFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU4sQ0FBYy9DLEdBQWQsQ0FBTCxFQUNFRCxXQUFXLENBQUNDLEdBQUQsQ0FBWDtBQUNIO0FBQ0YsU0FmRDtBQWlCQU4sUUFBQUEsRUFBRSxDQUFDaUQsZ0JBQUgsQ0FBb0IsU0FBcEIsRUFBZ0NsQixJQUFELElBQVU7QUFDdkMsY0FBSTtBQUNGLGdCQUFJLE9BQU9BLElBQUksQ0FBQ3pZLElBQVosS0FBcUIsUUFBekIsRUFBbUM7QUFDakNvTCxjQUFBQSxPQUFPLENBQUN3TSxLQUFSLENBQWMsaUNBQWQsRUFBaURhLElBQWpEO0FBQ0E7QUFDRDs7QUFDRCxrQkFBTXpCLEdBQUcsR0FBRzlJLElBQUksQ0FBQ0ssS0FBTCxDQUFXa0ssSUFBSSxDQUFDelksSUFBaEIsQ0FBWjtBQUVBLGtCQUFNZ2EsWUFBWSxHQUFHLENBQUFoRCxHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILFlBQUFBLEdBQUcsQ0FBRTBCLElBQUwsTUFBY0osU0FBZCxHQUEwQnpCLGdCQUFnQixDQUFDRyxHQUFHLENBQUMwQixJQUFMLENBQTFDLEdBQXVESixTQUE1RTs7QUFDQSxnQkFBSXRCLEdBQUcsQ0FBQzBCLElBQUosS0FBYUosU0FBYixJQUEwQjBCLFlBQTlCLEVBQTRDO0FBQzFDLGtCQUFJaEQsR0FBRyxDQUFDLFFBQUQsQ0FBUCxFQUNFZ0QsWUFBWSxDQUFDbEIsTUFBYixDQUFvQjlCLEdBQXBCLEVBREYsS0FHRWdELFlBQVksQ0FBQ25CLE9BQWIsQ0FBcUI3QixHQUFyQjtBQUNGLHFCQUFPSCxnQkFBZ0IsQ0FBQ0csR0FBRyxDQUFDMEIsSUFBTCxDQUF2QjtBQUNELGFBTkQsTUFNTztBQUNMcEIsY0FBQUEsWUFBWSxDQUFDTixHQUFELENBQVo7QUFDRDtBQUNGLFdBakJELENBaUJFLE9BQU9XLENBQVAsRUFBVTtBQUNWdk0sWUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFjLDRCQUFkLEVBQTRDYSxJQUE1QztBQUNBO0FBQ0Q7QUFDRixTQXRCRDtBQXdCQS9CLFFBQUFBLEVBQUUsQ0FBQ2lELGdCQUFILENBQW9CLE9BQXBCLEVBQTZCLE1BQU07QUFDakNoRCxVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUVBdkwsVUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLHdCQUFaLEVBSGlDLENBSWpDOztBQUNBekMsVUFBQUEsTUFBTSxDQUFDOEMsVUFBUCxDQUFrQixNQUFNO0FBQ3RCUixZQUFBQSxTQUFTLENBQUNoRCxLQUFELENBQVQ7QUFDRCxXQUZELEVBRUcsR0FGSDtBQUdELFNBUkQ7QUFTRCxPQXpERDs7QUEyREFnRCxNQUFBQSxTQUFTLENBQUNoRCxLQUFELENBQVQ7QUFDRCxLQTdERCxNQTZETztBQUNMLFlBQU15RCxVQUFVLEdBQUcsWUFBVztBQUFBOztBQUM1QixZQUFJLENBQUMvQyxNQUFNLENBQUNDLGdCQUFSLElBQTRCLENBQUNELE1BQU0sQ0FBQ0MsZ0JBQVAsQ0FBd0IrQyxLQUF6RCxFQUFnRTtBQUM5RGhELFVBQUFBLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0JDLFVBQWxCLEVBQThCLEdBQTlCO0FBQ0E7QUFDRDs7QUFFRCxjQUFNTCxDQUFDLGNBQUdsRCxLQUFILDZDQUFZLEVBQW5CO0FBQ0FBLFFBQUFBLEtBQUssR0FBRyxJQUFSO0FBRUFRLFFBQUFBLE1BQU0sQ0FBQ2lELGlCQUFQLEdBQTJCOUMsWUFBM0I7QUFFQVAsUUFBQUEsV0FBVyxDQUFDO0FBQ1ZpQixVQUFBQSxJQUFJLEVBQUUsV0FESTtBQUVWQyxVQUFBQSxNQUFNLEVBQUVuTSxNQUFNLENBQUNDLElBQVAsQ0FBWStLLFdBQVo7QUFGRSxTQUFELENBQVg7O0FBS0EsYUFBSyxNQUFNdUQsSUFBWCxJQUFtQlIsQ0FBbkIsRUFBc0I7QUFDcEIsY0FBSUMsS0FBSyxDQUFDQyxPQUFOLENBQWNNLElBQWQsQ0FBSixFQUNFdEQsV0FBVyxDQUFDc0QsSUFBSSxDQUFDLENBQUQsQ0FBTCxFQUFVQSxJQUFJLENBQUMsQ0FBRCxDQUFkLENBQVg7QUFDSDtBQUNGLE9BcEJEOztBQXNCQUgsTUFBQUEsVUFBVTtBQUNYLEtBdkZnQyxDQXlGakM7QUFDQTtBQUNBOzs7QUFDQS9DLElBQUFBLE1BQU0sQ0FBQ1csa0JBQVAsR0FBNEJBLGtCQUE1QjtBQUNBWCxJQUFBQSxNQUFNLENBQUNlLHFCQUFQLEdBQStCQSxxQkFBL0I7QUFDQWYsSUFBQUEsTUFBTSxDQUFDOEIsa0JBQVAsR0FBNEJBLGtCQUE1QjtBQUNBOUIsSUFBQUEsTUFBTSxDQUFDVSxvQkFBUCxHQUE4QkEsb0JBQTlCO0FBQ0Q7O0FBRURyQixFQUFBQSxNQUFNLEdBQUcsSUFBVDtBQUNELENBdkdNOzs7Ozs7Ozs7OztBQzNNUDtBQUVBLE1BQU1qTCxTQUFTLEdBQUcsR0FBbEI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsT0FBckI7QUFDQSxNQUFNOE8sc0JBQXNCLEdBQUcsZUFBL0I7QUFDQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUFDLFFBQUQsRUFBVyxTQUFYLENBQWxDOztBQUVBLE1BQU0zTyxhQUFhLEdBQUcsQ0FFcEJqSyxJQUZvQixFQUVYa0ssT0FGVyxLQUUyQztBQUFBOztBQUMvRCxjQUFBQSxPQUFPLFVBQVAscUNBQUFBLE9BQU8sR0FBS0MsTUFBTSxDQUFDQyxJQUFQLENBQVl0Syw2REFBYyxDQUFDRSxJQUFELENBQWQsQ0FBcUJHLE1BQWpDLENBQVo7QUFDQSxRQUFNa0ssTUFBOEQsR0FBRyxFQUF2RTs7QUFFQSxPQUFLLE1BQU0sQ0FBQ0MsSUFBRCxFQUFPQyxLQUFQLENBQVgsSUFBNEJKLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlMUssNkRBQWMsQ0FBQ0UsSUFBRCxDQUFkLENBQXFCRyxNQUFwQyxDQUE1QixFQUF5RTtBQUN2RSxRQUFJLENBQUMrSixPQUFPLENBQUN0SyxRQUFSLENBQWlCMEssSUFBakIsQ0FBTCxFQUNFO0FBQ0YsVUFBTUcsS0FBd0MsR0FBRztBQUMvQ0MsTUFBQUEsS0FBSyxFQUFFSjtBQUR3QyxLQUFqRDtBQUdBLFFBQUlBLElBQUksS0FBSyxNQUFiLEVBQ0VHLEtBQUssQ0FBQ0UsS0FBTixHQUFjN0ssNkRBQWMsQ0FBQ0UsSUFBRCxDQUFkLENBQXFCQSxJQUFuQztBQUVGcUssSUFBQUEsTUFBTSxDQUFDRSxLQUFELENBQU4sR0FBZ0JFLEtBQWhCO0FBQ0Q7O0FBRUQsU0FBT0osTUFBUDtBQUNELENBbkJEOztBQXFCQSxNQUFNTyxXQUFXLEdBQUcsQ0FDbEJQLE1BRGtCLEVBRWxCd08sTUFGa0IsRUFHbEIxWSxNQUhrQixLQUlPO0FBQUE7O0FBQ3pCa0ssRUFBQUEsTUFBTSxjQUFHQSxNQUFILDZDQUFhLEVBQW5CO0FBQ0EsUUFBTVMsV0FBcUIsR0FBRyxFQUE5Qjs7QUFFQSxPQUFLLE1BQU1QLEtBQVgsSUFBb0JwSyxNQUFwQixFQUE0QjtBQUMxQixVQUFNdUssS0FBSyxHQUFHdkssTUFBTSxDQUFDb0ssS0FBRCxDQUFwQjtBQUNBLFFBQUlHLEtBQUosRUFDRUksV0FBVyxDQUFDQyxJQUFaLENBQWlCTCxLQUFLLENBQUNBLEtBQXZCO0FBQ0g7O0FBRURmLEVBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FBdUJYLE1BQXZCLEVBQStCd08sTUFBL0IsRUFBdUMsQ0FBQyxTQUFELEVBQVksR0FBRy9OLFdBQWYsQ0FBdkMsRUFWeUIsQ0FZekI7O0FBQ0EsUUFBTUcsT0FBTyxHQUFHdEIsT0FBTyxDQUFDdUIsZUFBUixDQUF3QmIsTUFBTSxDQUFDWSxPQUEvQixDQUFoQjtBQUNBLFFBQU1FLFNBQVMsR0FBR2hCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZakssTUFBWixFQUFvQmlMLElBQXBCLENBQXlCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVQyxRQUFRLENBQUNGLENBQUQsQ0FBUixHQUFjRSxRQUFRLENBQUNELENBQUQsQ0FBekQsQ0FBbEI7QUFDQSxNQUFJRSxTQUFKOztBQUNBLE1BQUlQLE9BQUosRUFBYTtBQUFBOztBQUNYTyxJQUFBQSxTQUFTLGlCQUFHTCxTQUFTLENBQUNBLFNBQVMsQ0FBQ00sTUFBVixHQUFtQixDQUFwQixDQUFaLG1EQUFzQyxHQUEvQztBQUNELEdBRkQsTUFFTztBQUNMRCxJQUFBQSxTQUFTLEdBQUcsR0FBWjs7QUFDQSxTQUFLLE1BQU1FLEdBQVgsSUFBa0J2TCxNQUFsQixFQUEwQjtBQUFBOztBQUN4QixZQUFNd0ssS0FBSyxrQkFBR3hLLE1BQU0sQ0FBQ3VMLEdBQUQsQ0FBVCxxREFBa0IsRUFBN0I7QUFDQSxVQUFJLE9BQU9mLEtBQVAsS0FBaUIsUUFBckIsRUFDRTtBQUNGLFlBQU1nQixTQUFTLG1CQUFHeEwsTUFBTSxDQUFDdUwsR0FBRCxDQUFULGlEQUFHLGFBQWFoQixLQUEvQjtBQUNBLFVBQUlpQixTQUFTLElBQUlBLFNBQVMsSUFBSXRCLE1BQTlCLEVBQ0VtQixTQUFTLEdBQUdFLEdBQVo7QUFDSDtBQUNGOztBQUNELFFBQU1FLE1BQU0sR0FBR0wsUUFBUSxDQUFDQyxTQUFELENBQXZCLENBN0J5QixDQStCekI7O0FBQ0EsUUFBTXNOLGtCQUFrQixHQUNyQixNQUFLaFoscUdBQW1DLElBQUdBLHlIQUE2QyxHQUQzRjtBQUVBLFFBQU1pWixjQUFjLEdBQUcsV0FBdkIsQ0FsQ3lCLENBb0N6Qjs7QUFDQSxRQUFNQyxNQUFNLEdBQUdILE1BQU0sS0FBSyxTQUFYLEdBQXVCL1ksNkRBQWMsQ0FBQytZLE1BQUQsQ0FBZCxDQUF1QjNZLFdBQTlDLEdBQTRENFksa0JBQTNFO0FBQ0EsUUFBTUcsT0FBTyxHQUFHSixNQUFNLEtBQUssU0FBWCxHQUNYLEtBQUl0TixRQUFRLENBQUN6TCw2REFBYyxDQUFDK1ksTUFBRCxDQUFkLENBQXVCN1ksSUFBeEIsQ0FBUixDQUFzQzBNLFFBQXRDLENBQStDLEVBQS9DLENBQW1ELEVBQXhELENBQTBEd00sS0FBMUQsQ0FBZ0UsQ0FBQyxDQUFqRSxFQUFvRUMsV0FBcEUsRUFEWSxHQUVaSixjQUZKO0FBSUEsTUFBSTVNLEdBQUcsR0FBRyxFQUFWO0FBQ0EsTUFBSWxCLE9BQUosRUFDRWtCLEdBQUcsSUFBSyxnQ0FBK0I2TSxNQUFPLFlBQVdDLE9BQVEsR0FBakUsQ0FERixLQUdFOU0sR0FBRyxJQUFLLGtCQUFpQjZNLE1BQU8sSUFBR0MsT0FBUSxFQUEzQztBQUVGLE1BQUk3TSxPQUFPLEdBQUcsQ0FBZDs7QUFDQSxPQUFLLE1BQU1DLE1BQVgsSUFBcUJsTSxNQUFyQixFQUE2QjtBQUFBOztBQUMzQixVQUFNd0wsU0FBUyxxQkFBR3hMLE1BQU0sQ0FBQ2tNLE1BQUQsQ0FBVCxtREFBRyxlQUFnQjNCLEtBQWxDLENBRDJCLENBRzNCOztBQUNBLFFBQUlpQixTQUFTLEtBQUssV0FBZCxJQUE2QkEsU0FBUyxLQUFLLE1BQS9DLEVBQ0U7QUFFRixVQUFNRCxHQUFHLEdBQUdILFFBQVEsQ0FBQ2MsTUFBRCxDQUFwQixDQVAyQixDQVEzQjs7QUFDQSxVQUFNQyxhQUFhLEdBQUdaLEdBQUcsR0FBR1UsT0FBTixHQUFnQixDQUF0QztBQUNBLFFBQUlFLGFBQWEsS0FBSyxDQUF0QixFQUNFSCxHQUFHLElBQUssR0FBRXZDLFNBQVUsR0FBRUMsWUFBYSxFQUFuQyxDQURGLEtBRUssSUFBSXlDLGFBQWEsR0FBRyxDQUFwQixFQUNISCxHQUFHLElBQUssTUFBS3ZDLFNBQVUsR0FBRUMsWUFBYSxLQUFJeUMsYUFBYyxHQUF4RDtBQUNGRixJQUFBQSxPQUFPLEdBQUdWLEdBQVY7QUFFQVMsSUFBQUEsR0FBRyxJQUFJdkMsU0FBUDtBQUVBLFVBQU1lLEtBQUssR0FBR3hLLE1BQU0sQ0FBQ2tNLE1BQUQsQ0FBcEI7QUFDQSxRQUFJLE9BQU8xQixLQUFQLEtBQWlCLFFBQXJCLEVBQ0UsTUFBTSxJQUFJckIsS0FBSixDQUFXLEdBQUV1UCxNQUFPLG9CQUFtQnRNLElBQUksQ0FBQ0MsU0FBTCxDQUFlN0IsS0FBZixDQUFzQixFQUE3RCxDQUFOO0FBRUYsVUFBTXlPLFlBQVksR0FBR3pOLFNBQVMsSUFBSWlOLHlCQUF5QixDQUFDaFosUUFBMUIsQ0FBbUMrTCxTQUFuQyxDQUFiLEdBQ2pCZ04sc0JBRGlCLEdBRWpCOU8sWUFGSjtBQUdBLFVBQU00QyxVQUFVLCtDQUFHdE0sTUFBTSxDQUFDa00sTUFBRCxDQUFULDZFQUFHLGdCQUFnQjFCLEtBQW5CLDBEQUFHLHNCQUF1QitCLFFBQXZCLEVBQUgseUVBQXdDME0sWUFBeEQ7O0FBRUEsUUFBSXpOLFNBQUosRUFBZTtBQUNiUSxNQUFBQSxHQUFHLElBQUl4QyxPQUFPLENBQUNnRCxZQUFSLEVBQ0w7QUFDQTtBQUNBMUIsTUFBQUEsT0FISyxFQUlMVSxTQUpLLEVBS0p0QixNQUFELENBQW9Dc0IsU0FBcEMsQ0FMSyxFQU1MYyxVQU5LLENBQVA7QUFRRCxLQVRELE1BU087QUFDTE4sTUFBQUEsR0FBRyxJQUFJTSxVQUFQO0FBQ0QsS0F0QzBCLENBd0MzQjs7O0FBQ0EsUUFBSWYsR0FBRyxJQUFJRSxNQUFYLEVBQ0U7QUFDSDs7QUFFRE8sRUFBQUEsR0FBRyxJQUFJLFNBQVA7QUFFQSxTQUFPeEMsT0FBTyxDQUFDaUQsS0FBUixDQUFjVCxHQUFkLENBQVA7QUFDRCxDQXJHRDs7QUF1R2UsTUFBTXhDLE9BQU4sQ0FBYztBQUMzQjtBQUNGO0FBQ0E7QUFDb0IsU0FBWHNELFdBQVcsQ0FBQzVDLE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7QUFDZ0IsU0FBUG5GLE9BQU8sQ0FBQ3VGLE1BQUQsRUFBOEQ7QUFDMUUsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsU0FBVCxFQUFvQkosYUFBYSxDQUFDLFNBQUQsQ0FBakMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ29CLFNBQVhpRCxXQUFXLENBQUM3QyxNQUFELEVBQThEO0FBQzlFLFdBQU8sS0FBS3ZGLE9BQUwsQ0FBYXVGLE1BQWIsQ0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDbUIsU0FBVjhDLFVBQVUsQ0FBQzlDLE1BQUQsRUFBb0U7QUFDbkYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsWUFBVCxFQUF1QkosYUFBYSxDQUFDLFlBQUQsQ0FBcEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ3VCLFNBQWRtRCxjQUFjLENBQUMvQyxNQUFELEVBQTRFO0FBQy9GLFdBQU9PLFdBQVcsQ0FDaEJQLE1BRGdCLEVBRWhCLGdCQUZnQixFQUdoQkosYUFBYSxDQUFDLGdCQUFELEVBQW1CLENBQzlCLE1BRDhCLEVBRTlCLFdBRjhCLEVBRzlCLElBSDhCLEVBSTlCLE1BSjhCLENBQW5CLENBSEcsQ0FBbEI7QUFVRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQzJCLFNBQWxCb0Qsa0JBQWtCLENBQ3ZCaEQsTUFEdUIsRUFFYztBQUNyQyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxnQkFBVCxFQUEyQkosYUFBYSxDQUFDLGdCQUFELENBQXhDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUMwQixTQUFqQnFELGlCQUFpQixDQUN0QmpELE1BRHNCLEVBRWlCO0FBQ3ZDLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGtCQUFULEVBQTZCSixhQUFhLENBQUMsa0JBQUQsQ0FBMUMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ29CLFNBQVhzRCxXQUFXLENBQUNsRCxNQUFELEVBQXNFO0FBQ3RGLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGFBQVQsRUFBd0JKLGFBQWEsQ0FBQyxhQUFELENBQXJDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7O0FBQzZCLFNBQXBCdUQsb0JBQW9CLENBQ3pCbkQsTUFEeUIsRUFFVTtBQUNuQyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxjQUFULEVBQXlCSixhQUFhLENBQUMsY0FBRCxDQUF0QyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDb0IsU0FBWHdELFdBQVcsQ0FBQ3BELE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2UsU0FBTnlELE1BQU0sQ0FBQ3JELE1BQUQsRUFBNEQ7QUFDdkUsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsUUFBVCxFQUFtQkosYUFBYSxDQUFDLFFBQUQsQ0FBaEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7QUFDb0IsU0FBWDBELFdBQVcsQ0FBQ3RELE1BQUQsRUFBc0U7QUFDdEYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsYUFBVCxFQUF3QkosYUFBYSxDQUFDLGFBQUQsQ0FBckMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2EsU0FBSjJELElBQUksQ0FBQ3ZELE1BQUQsRUFBOEQ7QUFDdkUsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFdBQXRCLEVBQ0VBLE1BQU0sR0FBRyxFQUFUO0FBQ0ZWLElBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FDRVgsTUFERixFQUVFLE1BRkYsRUFHRSxDQUFDLE1BQUQsRUFBUyxXQUFULEVBQXNCLE1BQXRCLEVBQThCLE1BQTlCLEVBQXNDLE1BQXRDLEVBQThDLFNBQTlDLENBSEY7QUFLQUEsSUFBQUEsTUFBTSxDQUFDaEssSUFBUCxHQUFjLE1BQWQ7QUFDQSxXQUFPc0osT0FBTyxDQUFDa0UsT0FBUixDQUFnQnhELE1BQWhCLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2UsU0FBTnlELE1BQU0sQ0FBQ3pELE1BQUQsRUFBOEQ7QUFDekUsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFdBQXRCLEVBQ0VBLE1BQU0sR0FBRyxFQUFUO0FBQ0ZWLElBQUFBLE9BQU8sQ0FBQ3FCLGNBQVIsQ0FDRVgsTUFERixFQUVFLFFBRkYsRUFHRSxDQUFDLE1BQUQsRUFBUyxXQUFULEVBQXNCLE1BQXRCLEVBQThCLE1BQTlCLEVBQXNDLE1BQXRDLEVBQThDLFNBQTlDLENBSEY7QUFLQUEsSUFBQUEsTUFBTSxDQUFDaEssSUFBUCxHQUFjLE1BQWQ7QUFDQSxXQUFPc0osT0FBTyxDQUFDa0UsT0FBUixDQUFnQnhELE1BQWhCLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2dCLFNBQVAwRCxPQUFPLENBQUMxRCxNQUFELEVBQThEO0FBQzFFLFFBQUksT0FBT0EsTUFBUCxLQUFrQixXQUF0QixFQUNFQSxNQUFNLEdBQUcsRUFBVDtBQUNGVixJQUFBQSxPQUFPLENBQUNxQixjQUFSLENBQ0VYLE1BREYsRUFFRSxTQUZGLEVBR0UsQ0FBQyxNQUFELEVBQVMsV0FBVCxFQUFzQixNQUF0QixFQUE4QixNQUE5QixFQUFzQyxNQUF0QyxFQUE4QyxTQUE5QyxDQUhGO0FBS0FBLElBQUFBLE1BQU0sQ0FBQ2hLLElBQVAsR0FBYyxNQUFkO0FBQ0EsV0FBT3NKLE9BQU8sQ0FBQ2tFLE9BQVIsQ0FBZ0J4RCxNQUFoQixDQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7O0FBQ2dCLFNBQVB3RCxPQUFPLENBQUN4RCxNQUFELEVBQThEO0FBQzFFLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLFNBQVQsRUFBb0JKLGFBQWEsQ0FBQyxTQUFELENBQWpDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNvQixTQUFYK0QsV0FBVyxDQUFDM0QsTUFBRCxFQUE4RDtBQUM5RTtBQUNBLFdBQU9WLE9BQU8sQ0FBQ2tFLE9BQVIsQ0FBZ0J4RCxNQUFoQixDQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNtQixTQUFWNEQsVUFBVSxDQUFDNUQsTUFBRCxFQUFzRTtBQUNyRixXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxhQUFULEVBQXdCSixhQUFhLENBQUMsYUFBRCxDQUFyQyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDbUIsU0FBVmlFLFVBQVUsQ0FBQzdELE1BQUQsRUFBb0U7QUFDbkYsV0FBT08sV0FBVyxDQUFDUCxNQUFELEVBQVMsWUFBVCxFQUF1QkosYUFBYSxDQUFDLFlBQUQsQ0FBcEMsQ0FBbEI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ2tCLFNBQVRrRSxTQUFTLENBQUM5RCxNQUFELEVBQXdFO0FBQ3RGLFdBQU9PLFdBQVcsQ0FBQ1AsTUFBRCxFQUFTLGNBQVQsRUFBeUJKLGFBQWEsQ0FBQyxjQUFELENBQXRDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNtQixTQUFWbUUsVUFBVSxDQUFDL0QsTUFBRCxFQUFvRTtBQUNuRixXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxZQUFULEVBQXVCSixhQUFhLENBQUMsWUFBRCxDQUFwQyxDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDWSxTQUFIb0UsR0FBRyxDQUFDaEUsTUFBRCxFQUFzRDtBQUM5RCxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxLQUFULEVBQWdCSixhQUFhLENBQUMsS0FBRCxDQUE3QixDQUFsQjtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDeUIsU0FBaEJxRSxnQkFBZ0IsQ0FDckJqRSxNQURxQixFQUVrQjtBQUN2QyxXQUFPTyxXQUFXLENBQUNQLE1BQUQsRUFBUyxrQkFBVCxFQUE2QkosYUFBYSxDQUFDLGtCQUFELENBQTFDLENBQWxCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNxQixTQUFaMEMsWUFBWSxDQUNqQjFCLE9BRGlCLEVBRWpCaEwsSUFGaUIsRUFHakIwSyxLQUhpQixFQUlqQjBPLFlBSmlCLEVBS1Q7QUFDUixRQUFJMU8sS0FBSyxLQUFLZ00sU0FBZCxFQUNFaE0sS0FBSyxHQUFHME8sWUFBSCxhQUFHQSxZQUFILGNBQUdBLFlBQUgsR0FBbUJ4UCxZQUF4QjtBQUNGYyxJQUFBQSxLQUFLLEdBQUdoQixPQUFPLENBQUMyUCxLQUFSLENBQWMzTyxLQUFkLENBQVI7QUFDQSxXQUFPTSxPQUFPLEdBQUd0QixPQUFPLENBQUM0UCxZQUFSLENBQXFCdFosSUFBckIsRUFBMkIwSyxLQUEzQixDQUFILEdBQXVDQSxLQUFyRDtBQUNEOztBQUVjLFNBQVI2TyxRQUFRLENBQUNyTixHQUFELEVBQXNCO0FBQ25DLFdBQVEsTUFBS0EsR0FBSSxJQUFqQjtBQUNELEdBcE8wQixDQXNPM0I7OztBQUNtQixTQUFab04sWUFBWSxDQUFDdFosSUFBRCxFQUFlMEssS0FBZixFQUFzQztBQUN2RCxRQUFJMUssSUFBSSxDQUFDTCxRQUFMLENBQWMsR0FBZCxDQUFKLEVBQ0U2SixPQUFPLENBQUN3TSxLQUFSLENBQWMsTUFBTWhXLElBQU4sR0FBYSxpQkFBM0I7QUFDRixRQUFJQSxJQUFJLENBQUNMLFFBQUwsQ0FBYyxHQUFkLENBQUosRUFDRTZKLE9BQU8sQ0FBQ3dNLEtBQVIsQ0FBYyxNQUFNaFcsSUFBTixHQUFhLGlCQUEzQjtBQUVGLFdBQU8sUUFBUUEsSUFBUixHQUFlLEdBQWYsR0FBcUIwSyxLQUFyQixHQUE2QixHQUFwQztBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNjLFNBQUwyTyxLQUFLLENBQUMsR0FBR0csSUFBSixFQUFrRDtBQUM1RCxVQUFNQyxVQUFVLEdBQUlDLEtBQUQsSUFBd0M7QUFDekQsYUFBUSxNQUFLQSxLQUFLLENBQUN0TCxHQUFOLENBQVd1TCxJQUFELElBQVVBLElBQUksWUFBWUMsTUFBaEIsR0FBeUJELElBQUksQ0FBQy9VLE1BQTlCLEdBQXVDK1UsSUFBM0QsRUFBaUVFLElBQWpFLENBQXNFLEdBQXRFLENBQTJFLEdBQXhGO0FBQ0QsS0FGRDs7QUFHQSxRQUFJSCxLQUEwQixHQUFHLEVBQWpDOztBQUNBLFFBQUlGLElBQUksQ0FBQ2hPLE1BQUwsS0FBZ0IsQ0FBcEIsRUFBdUI7QUFDckIsVUFBSTBNLEtBQUssQ0FBQ0MsT0FBTixDQUFjcUIsSUFBSSxDQUFDLENBQUQsQ0FBbEIsQ0FBSixFQUNFRSxLQUFLLEdBQUdGLElBQUksQ0FBQyxDQUFELENBQVosQ0FERixLQUVLLElBQUlBLElBQUksQ0FBQyxDQUFELENBQVIsRUFDSEUsS0FBSyxHQUFHLENBQUNGLElBQUksQ0FBQyxDQUFELENBQUwsQ0FBUixDQURHLEtBR0hFLEtBQUssR0FBRyxFQUFSO0FBQ0gsS0FQRCxNQU9PO0FBQ0w7QUFDQUEsTUFBQUEsS0FBSyxHQUFHRixJQUFSO0FBQ0Q7O0FBQ0QsV0FBT0MsVUFBVSxDQUFDQyxLQUFELENBQWpCO0FBQ0Q7O0FBRVcsU0FBTC9NLEtBQUssQ0FBQ21OLFlBQUQsRUFBb0U7QUFDOUUsVUFBTUMsa0JBQWtCLEdBQUc7QUFDekJDLE1BQUFBLFNBQVMsRUFBRSxRQURjO0FBRXpCQyxNQUFBQSxZQUFZLEVBQUUsT0FGVztBQUd6QkMsTUFBQUEsUUFBUSxFQUFFLGNBSGU7QUFJekJDLE1BQUFBLE9BQU8sRUFBRSxnQkFKZ0I7QUFLekJDLE1BQUFBLFdBQVcsRUFBRSxrQkFMWTtBQU16QkMsTUFBQUEsUUFBUSxFQUFFLGFBTmU7QUFPekI7QUFDQTtBQUNBQyxNQUFBQSxJQUFJLEVBQUUsK0JBVG1CO0FBVXpCO0FBQ0FDLE1BQUFBLEtBQUssRUFBRTtBQVhrQixLQUEzQixDQUQ4RSxDQWU5RTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxRQUFJQyxTQUFTLEdBQUcsR0FBaEI7O0FBQ0EsUUFBSVYsWUFBWSxZQUFZRixNQUE1QixFQUFvQztBQUNsQ1ksTUFBQUEsU0FBUyxJQUFJLENBQUNWLFlBQVksQ0FBQ1csTUFBYixHQUFzQixHQUF0QixHQUE0QixFQUE3QixLQUNWWCxZQUFZLENBQUNZLFNBQWIsR0FBeUIsR0FBekIsR0FBK0IsRUFEckIsQ0FBYjtBQUVBWixNQUFBQSxZQUFZLEdBQUdBLFlBQVksQ0FBQ2xWLE1BQTVCO0FBQ0Q7O0FBQ0RrVixJQUFBQSxZQUFZLEdBQUdBLFlBQVksQ0FBQ2EsT0FBYixDQUFxQixlQUFyQixFQUFzQyxDQUFDQyxLQUFELEVBQVFDLEtBQVIsS0FBa0I7QUFDckUsYUFBT2Qsa0JBQWtCLENBQUNjLEtBQUQsQ0FBbEIsSUFBZ0VELEtBQXZFO0FBQ0QsS0FGYyxDQUFmO0FBR0EsV0FBTyxJQUFJaEIsTUFBSixDQUFXRSxZQUFYLEVBQXlCVSxTQUF6QixDQUFQO0FBQ0QsR0F2UzBCLENBeVMzQjs7O0FBQ2tCLFNBQVhNLFdBQVcsQ0FBQ2hCLFlBQUQsRUFBd0M7QUFDeEQsVUFBTWhOLEtBQUssR0FBR3BELE9BQU8sQ0FBQ2lELEtBQVIsQ0FBY21OLFlBQWQsQ0FBZDtBQUNBLFFBQUlVLFNBQVMsR0FBRyxJQUFoQjtBQUNBLFFBQUlWLFlBQVksWUFBWUYsTUFBNUIsRUFDRVksU0FBUyxJQUFLVixZQUFZLENBQUNZLFNBQWIsR0FBeUIsR0FBekIsR0FBK0IsRUFBN0M7QUFDRixXQUFPLElBQUlkLE1BQUosQ0FBVzlNLEtBQUssQ0FBQ2xJLE1BQWpCLEVBQXlCNFYsU0FBekIsQ0FBUDtBQUNEOztBQUVxQixTQUFmdlAsZUFBZSxDQUFDUCxLQUFELEVBQTJCO0FBQy9DLFFBQUksT0FBUUEsS0FBUixLQUFtQixXQUF2QixFQUNFLE9BQU8sSUFBUDtBQUNGLFdBQU8sQ0FBQyxDQUFDQSxLQUFUO0FBQ0Q7O0FBRW9CLFNBQWRLLGNBQWMsQ0FDbkJnUSxDQURtQixFQUVuQm5RLFFBRm1CLEVBR25CUixNQUhtQixFQUliO0FBQ04sUUFBSTJRLENBQUMsS0FBSyxJQUFWLEVBQ0U7QUFDRixRQUFJLE9BQU9BLENBQVAsS0FBYSxRQUFqQixFQUNFO0FBQ0YsVUFBTTVRLElBQUksR0FBR0QsTUFBTSxDQUFDQyxJQUFQLENBQVk0USxDQUFaLENBQWI7O0FBQ0EsU0FBSyxJQUFJalAsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzNCLElBQUksQ0FBQ3FCLE1BQXpCLEVBQWlDLEVBQUVNLENBQW5DLEVBQXNDO0FBQ3BDLFlBQU1MLEdBQUcsR0FBR3RCLElBQUksQ0FBQzJCLENBQUQsQ0FBaEI7O0FBQ0EsVUFBSUwsR0FBRyxJQUFJLENBQUNyQixNQUFNLENBQUN6SyxRQUFQLENBQWdCOEwsR0FBaEIsQ0FBWixFQUFrQztBQUNoQyxjQUFNLElBQUlwQyxLQUFKLENBQ0gsR0FBRXVCLFFBQVMsd0JBQXVCYSxHQUFJLE1BQXZDLEdBQ0csaUJBQWdCYSxJQUFJLENBQUNDLFNBQUwsQ0FBZW5DLE1BQWYsQ0FBdUIsRUFGdEMsQ0FBTjtBQUlEO0FBQ0Y7QUFDRjs7QUEzVTBCOzs7Ozs7Ozs7Ozs7O0FDdEk3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBT08sTUFBTTZRLFlBQVksR0FBRyxpREFBQyxNQUFELEVBQVMsT0FBVCxFQUFrQixPQUFsQixDQUFyQjtBQUlBLE1BQU1DLGtCQUFrQixHQUFHLDBCQUEzQixFQUVQOztBQUNPLE1BQU1DLGdCQUF3QyxHQUFHLGlEQUN0RCxXQURzRCxFQUV0RCxXQUZzRCxFQUd0RCxXQUhzRCxFQUl0RCxjQUpzRCxFQUt0RCxVQUxzRCxFQU10RCxpQkFOc0QsRUFPdEQsSUFQc0QsRUFRdEQsTUFSc0QsRUFTdEQsVUFUc0QsRUFVdEQsUUFWc0QsRUFXdEQsU0FYc0QsRUFZdEQsVUFac0QsRUFhdEQsS0Fic0QsRUFjdEQsT0Fkc0QsRUFldEQsYUFmc0QsRUFnQnRELGlCQWhCc0QsRUFpQnRELEtBakJzRCxFQWtCdEQsZUFsQnNELENBQWpELElBcUJQOztBQUNPLE1BQU1DLDBCQUFrRCxHQUFHLENBQ2hFLFdBRGdFLEVBRWhFLFdBRmdFLEVBR2hFLFVBSGdFLEVBSWhFLFVBSmdFLEVBS2hFLEtBTGdFLENBQTNELEVBUVA7O0FBQ08sTUFBTUMsc0JBQThDLEdBQUcsQ0FDNUQsR0FBR0QsMEJBRHlELEVBRTVELE9BRjRELENBQXZEO0FBS0EsTUFBTUUsV0FBMkMsR0FBRztBQUN6RCxVQUFRLFVBRGlEO0FBRXpELFdBQVMsV0FGZ0Q7QUFHekQsV0FBUztBQUhnRCxDQUFwRDs7QUFNUCxNQUFNQyxPQUFPLEdBQUlDLEdBQUQsSUFBNEI7QUFDMUMsTUFBSSxFQUFFQSxHQUFHLElBQUlGLFdBQVQsQ0FBSixFQUNFLE1BQU0sSUFBSWpTLEtBQUosQ0FBVyxxQkFBb0JtUyxHQUFJLEdBQW5DLENBQU47QUFDRixTQUFPRixXQUFXLENBQUNFLEdBQUQsQ0FBbEI7QUFDRCxDQUpEOztBQU1BLE1BQU1DLGVBQWUsR0FBSUQsR0FBRCxJQUE2QjtBQUNuRCxNQUFJLENBQUNBLEdBQUwsRUFDRSxPQUFPLFVBQVA7QUFDRixTQUFPRCxPQUFPLENBQUNDLEdBQUQsQ0FBZDtBQUNELENBSkQ7O0FBTUEsTUFBTUUsZ0JBQWdCLEdBQUlGLEdBQUQsSUFBNkI7QUFDcEQsTUFBSSxDQUFDQSxHQUFMLEVBQ0UsT0FBTyxXQUFQO0FBQ0YsU0FBT0QsT0FBTyxDQUFDQyxHQUFELENBQWQ7QUFDRCxDQUpEOztBQU1BLE1BQU1HLGdCQUFnQixHQUFJSCxHQUFELElBQTZCO0FBQ3BELE1BQUksQ0FBQ0EsR0FBTCxFQUNFLE9BQU8sV0FBUDtBQUNGLFNBQU9ELE9BQU8sQ0FBQ0MsR0FBRCxDQUFkO0FBQ0QsQ0FKRDs7QUFNQSxNQUFNSSxTQUFTLEdBQUl2ZCxPQUFELElBQThCO0FBQzlDO0FBQ0E7QUFDQSxNQUFJLENBQUNBLE9BQUQsSUFBWUEsT0FBTyxDQUFDRSxNQUFSLEtBQW1CRixPQUFPLENBQUN1RyxNQUEzQyxFQUNFO0FBQ0YsU0FBT3ZHLE9BQU8sQ0FBQ0UsTUFBZjtBQUNELENBTkQ7O0FBUUEsTUFBTXNkLFNBQVMsR0FBSXhkLE9BQUQsSUFBOEI7QUFDOUMsU0FBT0EsT0FBUCxhQUFPQSxPQUFQLHVCQUFPQSxPQUFPLENBQUV1RyxNQUFoQjtBQUNELENBRkQsRUFJQTs7O0FBQ0EsTUFBTWtYLFlBQVksR0FBRyxVQUNuQkMsS0FEbUIsRUFFbkJDLEtBRm1CLEVBR25CQyxLQUhtQixFQUluQkMsS0FKbUIsRUFLbkI7QUFDQSxRQUFNQyxHQUEyQixHQUFHLEVBQXBDOztBQUVBLE1BQUlKLEtBQUssS0FBS0UsS0FBZCxFQUFxQjtBQUNuQkUsSUFBQUEsR0FBRyxDQUFDSixLQUFELENBQUgsR0FBYUMsS0FBYjtBQUNBRyxJQUFBQSxHQUFHLENBQUNGLEtBQUQsQ0FBSCxHQUFhQyxLQUFiO0FBQ0QsR0FIRCxNQUdPO0FBQ0xDLElBQUFBLEdBQUcsQ0FBQ0osS0FBRCxDQUFILEdBQWEsQ0FBQzNkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQ3JFLGFBQU9KLEtBQUssQ0FBQzVkLElBQUQsRUFBT0MsT0FBUCxFQUFnQitkLE1BQWhCLENBQUwsSUFBZ0NGLEtBQUssQ0FBQzlkLElBQUQsRUFBT0MsT0FBUCxFQUFnQitkLE1BQWhCLENBQTVDO0FBQ0QsS0FGRDtBQUdEOztBQUNELFNBQU9ELEdBQVA7QUFDRCxDQWpCRDs7QUFtQkEsTUFBTUUsVUFBVSxHQUFJNWIsRUFBRCxJQUFpQjtBQUNsQyxTQUFPQSxFQUFFLElBQUlBLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxHQUF2QjtBQUNELENBRkQsRUFJQTs7O0FBQ0EsTUFBTTZiLGNBQWMsR0FBRyxDQUFDN1IsS0FBRCxFQUFpQjhSLElBQWpCLEtBQTBEO0FBQy9FLFNBQU8sQ0FBQ0MsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQXVEO0FBQzVEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0JILE1BQUFBLElBQUksRUFBRUE7QUFEdUIsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQzlSLEtBQUQsR0FBUyxDQUFDK1IsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDO0FBQUE7O0FBQUEsK0JBQXVEQSxNQUFNLENBQUNHLElBQTlELGlEQUF1RCxrQkFBQUgsTUFBTSxDQUE3RDtBQUFBO0FBREosS0FBUDtBQUdELEdBUkQ7QUFTRCxDQVZEOztBQWtCTyxNQUFNTyxTQUFTLEdBQUc7QUFDdkIvTixFQUFBQSxVQUFVLEVBQUUsQ0FBQ2dPLFNBQUQsRUFBdUJDLFFBQXZCLEtBQStDO0FBQ3pELFVBQU1DLGFBQWEsR0FBRztBQUNwQkMsTUFBQUEsUUFBUSxFQUFFL0IsK0VBRFU7QUFFcEJnQyxNQUFBQSxXQUFXLEVBQUVoQyx5RkFGTztBQUdwQmlDLE1BQUFBLGNBQWMsRUFBRWpDLCtGQUEwQmxNO0FBSHRCLEtBQXRCOztBQU1BLFVBQU1vTyxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCOztBQUNBLFVBQUksQ0FBQ0UsTUFBTCxFQUFhO0FBQUE7O0FBQ1gsWUFBSUgsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRTtBQUNGLG1DQUFPMGQsTUFBTSxDQUFDVyxRQUFkLHFEQUFPLHNCQUFBWCxNQUFNLENBQWI7QUFDRDs7QUFFRCxVQUFJN2QsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsOEJBQU84ZCxNQUFNLENBQUNZLFdBQWQsd0RBQU8seUJBQUFaLE1BQU0sQ0FBYjtBQUNILEtBVkQ7O0FBWUEsVUFBTWUsU0FBUyxHQUFHLENBQUMvZSxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMxRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4Qjs7QUFDQSxVQUFJLENBQUNFLE1BQUwsRUFBYTtBQUFBOztBQUNYLFlBQUlILElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JOLElBQUksQ0FBQ00sSUFBTCxLQUFjLFFBQTFDLEVBQ0U7QUFDRixvQ0FBTzBkLE1BQU0sQ0FBQ1csUUFBZCxzREFBTyx1QkFBQVgsTUFBTSxDQUFiO0FBQ0Q7O0FBQ0QsVUFBSTdkLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBRUYsc0NBQU84ZCxNQUFNLENBQUNhLGNBQWQsMERBQU8sMkJBQUFiLE1BQU0sRUFBa0I7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFsQixDQUFiO0FBQ0QsS0FYRDs7QUFhQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkosZ0JBQWdCLENBQUNrQixTQUFELENBRFcsRUFFM0JNLFVBRjJCLEVBRzNCekIsZUFBZSxDQUFDb0IsUUFBRCxDQUhZLEVBSTNCTSxTQUoyQixDQUE3QjtBQU1BLFdBQU8sQ0FBQ1gsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQStFO0FBQ3BGO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQTVDc0I7QUE2Q3ZCQyxFQUFBQSxjQUFjLEVBQUUsQ0FBQ0MsU0FBRCxFQUF1QkMsT0FBdkIsS0FBOEM7QUFDNUQsVUFBTVgsYUFBYSxHQUFHO0FBQ3BCdk4sTUFBQUEsUUFBUSxFQUFFeUwsMkVBRFU7QUFFcEJnQyxNQUFBQSxXQUFXLEVBQUVoQyx5RkFGTztBQUdwQmlDLE1BQUFBLGNBQWMsRUFBRWpDLCtGQUEwQmxNO0FBSHRCLEtBQXRCLENBRDRELENBTzVEOztBQUNBLFVBQU00TyxZQUFZLEdBQUcsQ0FBQ3RmLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzdFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUQsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3QkgsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQTVDLEVBQ0UsMkJBQU84ZCxNQUFNLENBQUM3TSxRQUFkLHFEQUFPLHNCQUFBNk0sTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFLQSxVQUFNdUIsVUFBVSxHQUFHLENBQUN2ZixJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMzRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUVBLFVBQUlELElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JILE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUE1QyxFQUNFO0FBRUYsVUFBSUMsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsK0JBQU84ZCxNQUFNLENBQUNZLFdBQWQseURBQU8sMEJBQUFaLE1BQU0sQ0FBYjtBQUNGLHVDQUFPQSxNQUFNLENBQUNhLGNBQWQsMkRBQU8sNEJBQUFiLE1BQU0sRUFBa0I7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFsQixDQUFiO0FBQ0QsS0FURDs7QUFXQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkgsZ0JBQWdCLENBQUM4QixPQUFELENBRFcsRUFFM0JDLFlBRjJCLEVBRzNCaEMsZ0JBQWdCLENBQUM4QixTQUFELENBSFcsRUFJM0JHLFVBSjJCLENBQTdCO0FBTUEsV0FBTyxDQUFDbkIsS0FBRCxFQUFjQyxRQUFkLEVBQWlDTCxNQUFqQyxLQUFvRDtBQUN6RDtBQUNBQSxNQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCSSxhQUEvQjtBQUNBLGFBQU9RLFFBQVA7QUFDRCxLQUpEO0FBS0QsR0FoRnNCO0FBaUZ2QnJPLEVBQUFBLFVBQVUsRUFBR3VNLEdBQUQsSUFDVixDQUFDZ0IsS0FBRCxFQUFjQyxRQUFkLEVBQWlDTCxNQUFqQyxLQUFvRDtBQUNsRDtBQUNBQSxJQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCO0FBQzdCa0IsTUFBQUEsV0FBVyxFQUFFNUMseUZBRGdCO0FBRTdCNkMsTUFBQUEsY0FBYyxFQUFFN0MsK0VBRmE7QUFHN0I4QyxNQUFBQSxXQUFXLEVBQUU5Qyx5RkFBdUI5TDtBQUhQLEtBQS9CO0FBS0EsV0FBTztBQUNMLE9BQUN1TSxlQUFlLENBQUNELEdBQUQsQ0FBaEIsR0FBd0IsQ0FBQ3BkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQ2hGLGNBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsWUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsOEJBQU84ZCxNQUFNLENBQUN3QixXQUFkLHdEQUFPLHlCQUFBeEIsTUFBTSxDQUFiOztBQUNGLFlBQUloZSxJQUFJLENBQUNNLElBQUwsS0FBYyxNQUFkLElBQXdCTixJQUFJLENBQUNRLEdBQUwsS0FBYSxLQUF6QyxFQUFnRDtBQUFBOztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUFPd2QsTUFBTSxDQUFDeUIsY0FBZCwwREFBTywyQkFBQXpCLE1BQU0sQ0FBYjtBQUNEOztBQUNELHNDQUFPQSxNQUFNLENBQUMwQixXQUFkLHdEQUFPLHlCQUFBMUIsTUFBTSxDQUFiO0FBQ0Q7QUFiSSxLQUFQO0FBZUQsR0F4R29CO0FBeUd2QjJCLEVBQUFBLGdCQUFnQixFQUFFLENBQUNuQixTQUFELEVBQXVCQyxRQUF2QixLQUErQztBQUMvRCxVQUFNQyxhQUFhLEdBQUc7QUFDcEJ6TixNQUFBQSxxQkFBcUIsRUFBRTJMLHFHQURIO0FBRXBCZ0QsTUFBQUEsd0JBQXdCLEVBQUVoRCwyR0FGTjtBQUdwQjVMLE1BQUFBLGdCQUFnQixFQUFFNEwsMkZBSEU7QUFJcEI4QyxNQUFBQSxXQUFXLEVBQUU5Qyx5RkFBdUI5TDtBQUpoQixLQUF0Qjs7QUFNQSxVQUFNZ08sVUFBVSxHQUFHLENBQUM5ZSxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUMzRSxZQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4Qjs7QUFDQSxVQUFJLENBQUNFLE1BQUwsRUFBYTtBQUFBOztBQUNYLFlBQUlILElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQWQsSUFBd0JOLElBQUksQ0FBQ00sSUFBTCxLQUFjLFFBQTFDLEVBQ0U7QUFDRix3Q0FBTzBkLE1BQU0sQ0FBQ2hOLGdCQUFkLDBEQUFPLDJCQUFBZ04sTUFBTSxDQUFiO0FBQ0Q7O0FBRUQsVUFBSTdkLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFLGlDQUFPOGQsTUFBTSxDQUFDL00scUJBQWQsMkRBQU8sNEJBQUErTSxNQUFNLENBQWI7QUFDRixVQUFJaGUsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRSxpQ0FBTzBkLE1BQU0sQ0FBQzRCLHdCQUFkLDJEQUFPLDRCQUFBNUIsTUFBTSxFQUE0QjtBQUFFZ0IsUUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLE9BQTVCLENBQWI7QUFDSCxLQVpEOztBQWNBLFVBQU00ZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCOztBQUNBLFVBQUksQ0FBQ0UsTUFBTCxFQUFhO0FBQUE7O0FBQ1gsWUFBSUgsSUFBSSxDQUFDTSxJQUFMLEtBQWMsTUFBZCxJQUF3Qk4sSUFBSSxDQUFDTSxJQUFMLEtBQWMsUUFBMUMsRUFDRTtBQUNGLHVDQUFPMGQsTUFBTSxDQUFDMEIsV0FBZCx5REFBTywwQkFBQTFCLE1BQU0sQ0FBYjtBQUNEOztBQUNELFVBQUk3ZCxNQUFNLEtBQUtILElBQUksQ0FBQ0UsRUFBaEIsSUFBc0JGLElBQUksQ0FBQ00sSUFBTCxLQUFjLE1BQXBDLElBQThDTixJQUFJLENBQUNNLElBQUwsS0FBYyxRQUFoRSxFQUNFO0FBRUYscUNBQU8wZCxNQUFNLENBQUMwQixXQUFkLHlEQUFPLDBCQUFBMUIsTUFBTSxDQUFiO0FBQ0QsS0FYRDs7QUFhQSxVQUFNa0IsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkosZ0JBQWdCLENBQUNrQixTQUFELENBRFcsRUFFM0JNLFVBRjJCLEVBRzNCekIsZUFBZSxDQUFDb0IsUUFBRCxDQUhZLEVBSTNCTSxTQUoyQixDQUE3QjtBQU1BLFdBQU8sQ0FBQ1gsS0FBRCxFQUFpQkMsUUFBakIsRUFBb0NMLE1BQXBDLEtBQStFO0FBQ3BGO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQXRKc0I7QUF1SnZCek8sRUFBQUEsVUFBVSxFQUFHMk0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtFQUF2QixDQXZKdkI7QUF3SnZCdE0sRUFBQUEsR0FBRyxFQUFHOE0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLGlFQUF2QixDQXhKaEI7QUF5SnZCck0sRUFBQUEsTUFBTSxFQUFHNk0sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLHVFQUF2QixDQXpKbkI7QUEwSnZCeEwsRUFBQUEsTUFBTSxFQUFHZ00sR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLHVFQUF2QixDQTFKbkI7QUEySnZCO0FBQ0F2TCxFQUFBQSxXQUFXLEVBQUcrTCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixpRkFBeEIsQ0E1SnhCO0FBNkp2QjtBQUNBdEwsRUFBQUEsV0FBVyxFQUFHOEwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBOUp4QjtBQStKdkJpRCxFQUFBQSxhQUFhLEVBQUd6QyxHQUFELElBQ2IsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3Qi9NLE1BQUFBLFVBQVUsRUFBRXFMLCtFQURpQjtBQUU3QmtELE1BQUFBLGFBQWEsRUFBRWxELHFGQUFxQnBMO0FBRlAsS0FBL0I7QUFJQSxXQUFPO0FBQ0wsT0FBQzhMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFLDZCQUFPOGQsTUFBTSxDQUFDek0sVUFBZCx1REFBTyx3QkFBQXlNLE1BQU0sQ0FBYjtBQUNGLHdDQUFPQSxNQUFNLENBQUM4QixhQUFkLDBEQUFPLDJCQUFBOUIsTUFBTSxFQUFpQjtBQUFFZ0IsVUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLFNBQWpCLENBQWI7QUFDRDtBQU5JLEtBQVA7QUFRRCxHQTlLb0I7QUErS3ZCc1IsRUFBQUEsV0FBVyxFQUFHMkwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLGlGQUF2QixDQS9LeEI7QUFnTHZCbEwsRUFBQUEsV0FBVyxFQUFHMEwsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBaEx4QjtBQWlMdkJqTCxFQUFBQSxlQUFlLEVBQUd5TCxHQUFELElBQW9CO0FBQ25DLFdBQU9jLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHlGQUF4QixDQUFyQjtBQUNELEdBbkxzQjtBQW9MdkJoTCxFQUFBQSxlQUFlLEVBQUd3TCxHQUFELElBQW9CO0FBQ25DLFdBQU9jLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHlGQUF4QixDQUFyQjtBQUNELEdBdExzQjtBQXVMdkI5SyxFQUFBQSxTQUFTLEVBQUdzTCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUiw2RUFBeEIsQ0F2THRCO0FBd0x2Qm1ELEVBQUFBLFdBQVcsRUFBRSxDQUFDdkIsU0FBRCxFQUF1QkMsUUFBdkIsS0FBK0M7QUFDMUQsVUFBTUMsYUFBYSxHQUFHO0FBQ3BCM00sTUFBQUEsY0FBYyxFQUFFNkssdUZBREk7QUFFcEJvRCxNQUFBQSxpQkFBaUIsRUFBRXBELDZGQUF5QjVLO0FBRnhCLEtBQXRCOztBQUtBLFVBQU04TSxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsZ0NBQU84ZCxNQUFNLENBQUNqTSxjQUFkLDBEQUFPLDJCQUFBaU0sTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFNQSxVQUFNZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsZ0NBQU84ZCxNQUFNLENBQUNnQyxpQkFBZCwwREFBTywyQkFBQWhDLE1BQU0sRUFBcUI7QUFBRWdCLFFBQUFBLE1BQU0sRUFBRWhmLElBQUksQ0FBQ2lmLFNBQUwsQ0FBZTllLE1BQWY7QUFBVixPQUFyQixDQUFiO0FBQ0gsS0FKRDs7QUFLQSxVQUFNK2UsUUFBUSxHQUFHeEIsWUFBWSxDQUMzQkwsZUFBZSxDQUFDbUIsU0FBRCxDQURZLEVBRTNCTSxVQUYyQixFQUczQnpCLGVBQWUsQ0FBQ29CLFFBQUQsQ0FIWSxFQUkzQk0sU0FKMkIsQ0FBN0I7QUFNQSxXQUFPLENBQUNYLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDekQ7QUFDQUEsTUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQkksYUFBL0I7QUFDQSxhQUFPUSxRQUFQO0FBQ0QsS0FKRDtBQUtELEdBcE5zQjtBQXFOdkJyTixFQUFBQSxNQUFNLEVBQUd1TCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsdUVBQXZCLENBck5uQjtBQXNOdkJxRCxFQUFBQSxXQUFXLEVBQUc3QyxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIseUZBQXZCLENBdE54QjtBQXVOdkIxSyxFQUFBQSxRQUFRLEVBQUdrTCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBdk5yQjtBQXdOdkJ4SyxFQUFBQSxrQkFBa0IsRUFBR2dMLEdBQUQsSUFDbEIsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjRCLE1BQUFBLFlBQVksRUFBRXRELCtGQUEwQnhLO0FBRFgsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ2tMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBQ0YsY0FBTTBCLElBQUksR0FBR3FjLFVBQVUsQ0FBQ2hlLE9BQUQsYUFBQ0EsT0FBRCx1QkFBQ0EsT0FBTyxDQUFFeUcsUUFBVixDQUFWLEdBQWdDMUcsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZixDQUFoQyxHQUF5REEsTUFBdEU7QUFDQSx1Q0FBTzZkLE1BQU0sQ0FBQ2tDLFlBQWQseURBQU8sMEJBQUFsQyxNQUFNLEVBQWdCO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUVBO0FBQVIsU0FBaEIsQ0FBYjtBQUNEO0FBUEksS0FBUDtBQVNELEdBdk9vQjtBQXdPdkJ1ZSxFQUFBQSxrQkFBa0IsRUFBRy9DLEdBQUQsSUFDbEIsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjRCLE1BQUFBLFlBQVksRUFBRXRELCtGQUEwQnhLO0FBRFgsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ2tMLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNeFgsTUFBTSxHQUFHaVgsU0FBUyxDQUFDeGQsT0FBRCxDQUF4QjtBQUNBLFlBQUl1RyxNQUFNLEtBQUt4RyxJQUFJLENBQUNFLEVBQXBCLEVBQ0U7QUFDRixjQUFNMEIsSUFBSSxHQUFHcWMsVUFBVSxDQUFDaGUsT0FBRCxhQUFDQSxPQUFELHVCQUFDQSxPQUFPLENBQUVzRyxRQUFWLENBQVYsR0FBZ0N2RyxJQUFJLENBQUNpZixTQUFMLENBQWV6WSxNQUFmLENBQWhDLEdBQXlEQSxNQUF0RTtBQUNBLHdDQUFPd1gsTUFBTSxDQUFDa0MsWUFBZCwwREFBTywyQkFBQWxDLE1BQU0sRUFBZ0I7QUFBRXBjLFVBQUFBLElBQUksRUFBRUE7QUFBUixTQUFoQixDQUFiO0FBQ0Q7QUFQSSxLQUFQO0FBU0QsR0F2UG9CO0FBd1B2QnlRLEVBQUFBLFNBQVMsRUFBRytLLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLDZFQUF4QixDQXhQdEI7QUF5UHZCdEssRUFBQUEsY0FBYyxFQUFHOEssR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIsdUZBQXhCLENBelAzQjtBQTBQdkI7QUFDQXBLLEVBQUFBLFFBQVEsRUFBRzRLLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUiwyRUFBdkIsQ0EzUHJCO0FBNFB2QjtBQUNBd0QsRUFBQUEsS0FBSyxFQUFHaEQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIscUVBQXhCLENBN1BsQjtBQThQdkI7QUFDQXlELEVBQUFBLE1BQU0sRUFBR2pELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLGlFQUF4QixDQS9QbkI7QUFnUXZCakssRUFBQUEsVUFBVSxFQUFHeUssR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtFQUF2QixDQWhRdkI7QUFpUXZCMEQsRUFBQUEsWUFBWSxFQUFHbEQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLDZFQUF2QixDQWpRekI7QUFrUXZCMkQsRUFBQUEsWUFBWSxFQUFHbkQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLDZFQUF2QixDQWxRekI7QUFtUXZCNEQsRUFBQUEsZ0JBQWdCLEVBQUdwRCxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIscUZBQXZCLENBblE3QjtBQW9RdkI2RCxFQUFBQSxnQkFBZ0IsRUFBR3JELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixxRkFBdkIsQ0FwUTdCO0FBcVF2QjhELEVBQUFBLFFBQVEsRUFBR3RELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLG1GQUF4QixDQXJRckI7QUFzUXZCK0QsRUFBQUEsT0FBTyxFQUFHdkQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIscUVBQXhCLENBdFFwQjtBQXVRdkJnRSxFQUFBQSxNQUFNLEVBQUd4RCxHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixtRUFBeEIsQ0F2UW5CO0FBd1F2QmlFLEVBQUFBLE1BQU0sRUFBR3pELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHVGQUF4QixDQXhRbkI7QUF5UXZCa0UsRUFBQUEsTUFBTSxFQUFHMUQsR0FBRCxJQUFvQmMsY0FBYyxDQUFDWixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixFQUF3QlIseUZBQXhCLENBelFuQjtBQTBRdkJ2SixFQUFBQSxXQUFXLEVBQUcrSixHQUFELElBQW9CYyxjQUFjLENBQUNaLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEVBQXdCUixpRkFBeEIsQ0ExUXhCO0FBMlF2Qm1FLEVBQUFBLE9BQU8sRUFBRzNELEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHFFQUF4QixDQTNRcEI7QUE0UXZCO0FBQ0FwSixFQUFBQSxRQUFRLEVBQUc0SixHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBN1FyQjtBQThRdkI7QUFDQW5KLEVBQUFBLFlBQVksRUFBRzJKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixtRkFBdkIsQ0EvUXpCO0FBZ1J2QmxKLEVBQUFBLGFBQWEsRUFBRzBKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1osZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsRUFBd0JSLHFGQUF4QixDQWhSMUI7QUFpUnZCb0UsRUFBQUEsS0FBSyxFQUFHNUQsR0FBRCxJQUNMLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0IwQyxNQUFBQSxLQUFLLEVBQUVwRSxpRkFBbUJqSjtBQURHLEtBQS9CO0FBR0EsV0FBTztBQUNMLE9BQUMySixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixHQUF5QixDQUFDZ0IsS0FBRCxFQUFjbmUsT0FBZCxFQUF3QytkLE1BQXhDLEtBQTJEO0FBQUE7O0FBQ2xGLGNBQU14WCxNQUFNLEdBQUdpWCxTQUFTLENBQUN4ZCxPQUFELENBQXhCO0FBQ0EsZ0NBQU8rZCxNQUFNLENBQUNnRCxLQUFkLGtEQUFPLG1CQUFBaEQsTUFBTSxFQUFTO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUU0RTtBQUFSLFNBQVQsQ0FBYjtBQUNEO0FBSkksS0FBUDtBQU1ELEdBN1JvQjtBQThSdkJ5YSxFQUFBQSx5QkFBeUIsRUFBRzdELEdBQUQsSUFBb0I7QUFDN0MsV0FBTyxDQUFDZ0IsS0FBRCxFQUFjQyxRQUFkLEVBQXlDTCxNQUF6QyxLQUE0RDtBQUNqRTtBQUNBQSxNQUFBQSxNQUFNLENBQUNNLHFCQUFQLEdBQStCO0FBQzdCNEMsUUFBQUEsSUFBSSxFQUFFdEUsK0VBRHVCO0FBRTdCdUUsUUFBQUEsU0FBUyxFQUFFdkUseUZBQXVCL0k7QUFGTCxPQUEvQjtBQUtBLGFBQU87QUFDTCxTQUFDeUosZ0JBQWdCLENBQUNGLEdBQUQsQ0FBakIsR0FBeUIsQ0FBQ3BkLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQ2pGLGdCQUFNeFgsTUFBTSxHQUFHaVgsU0FBUyxDQUFDeGQsT0FBRCxDQUF4QjtBQUNBLGNBQUlELElBQUksQ0FBQ29oQixVQUFMLEVBQUosRUFDRSw0QkFBT3BELE1BQU0sQ0FBQ21ELFNBQWQsc0RBQU8sdUJBQUFuRCxNQUFNLEVBQWE7QUFBRXBjLFlBQUFBLElBQUksRUFBRTRFO0FBQVIsV0FBYixDQUFiLENBREYsS0FFSyxJQUFJeEcsSUFBSSxDQUFDcWhCLE9BQUwsRUFBSixFQUNILHVCQUFPckQsTUFBTSxDQUFDa0QsSUFBZCxpREFBTyxrQkFBQWxELE1BQU0sRUFBUTtBQUFFcGMsWUFBQUEsSUFBSSxFQUFFNEU7QUFBUixXQUFSLENBQWI7QUFDSDtBQVBJLE9BQVA7QUFTRCxLQWhCRDtBQWlCRCxHQWhUc0I7QUFpVHZCMGEsRUFBQUEsSUFBSSxFQUFHOUQsR0FBRCxJQUNKLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0I0QyxNQUFBQSxJQUFJLEVBQUV0RSwrRUFBa0JoSjtBQURLLEtBQS9CO0FBR0EsV0FBTztBQUNMLE9BQUMwSixnQkFBZ0IsQ0FBQ0YsR0FBRCxDQUFqQixHQUF5QixDQUFDZ0IsS0FBRCxFQUFjbmUsT0FBZCxFQUF3QytkLE1BQXhDLEtBQTJEO0FBQUE7O0FBQ2xGLGNBQU14WCxNQUFNLEdBQUdpWCxTQUFTLENBQUN4ZCxPQUFELENBQXhCO0FBQ0EsZ0NBQU8rZCxNQUFNLENBQUNrRCxJQUFkLGtEQUFPLG1CQUFBbEQsTUFBTSxFQUFRO0FBQUVwYyxVQUFBQSxJQUFJLEVBQUU0RTtBQUFSLFNBQVIsQ0FBYjtBQUNEO0FBSkksS0FBUDtBQU1ELEdBN1RvQjtBQThUdkIyYSxFQUFBQSxTQUFTLEVBQUcvRCxHQUFELElBQ1QsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3QjZDLE1BQUFBLFNBQVMsRUFBRXZFLHlGQUF1Qi9JO0FBREwsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQ3lKLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNnQixLQUFELEVBQWNuZSxPQUFkLEVBQXdDK2QsTUFBeEMsS0FBMkQ7QUFBQTs7QUFDbEYsY0FBTXhYLE1BQU0sR0FBR2lYLFNBQVMsQ0FBQ3hkLE9BQUQsQ0FBeEI7QUFDQSxxQ0FBTytkLE1BQU0sQ0FBQ21ELFNBQWQsdURBQU8sd0JBQUFuRCxNQUFNLEVBQWE7QUFBRXBjLFVBQUFBLElBQUksRUFBRTRFO0FBQVIsU0FBYixDQUFiO0FBQ0Q7QUFKSSxLQUFQO0FBTUQsR0ExVW9CO0FBMlV2QjhhLEVBQUFBLE1BQU0sRUFBRSxDQUFDOUMsU0FBRCxFQUF1QkMsUUFBdkIsS0FBK0M7QUFDckQsVUFBTUMsYUFBYSxHQUFHO0FBQ3BCNUssTUFBQUEsU0FBUyxFQUFFOEksNkVBRFM7QUFFcEIyRSxNQUFBQSxZQUFZLEVBQUUzRSxtRkFBb0I3STtBQUZkLEtBQXRCOztBQUtBLFVBQU0rSyxVQUFVLEdBQUcsQ0FBQzllLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzNFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUQsSUFBSSxDQUFDRSxFQUFMLEtBQVlDLE1BQWhCLEVBQ0UsNEJBQU82ZCxNQUFNLENBQUNsSyxTQUFkLHNEQUFPLHVCQUFBa0ssTUFBTSxDQUFiO0FBQ0gsS0FKRDs7QUFNQSxVQUFNZSxTQUFTLEdBQUcsQ0FBQy9lLElBQUQsRUFBYUMsT0FBYixFQUF1QytkLE1BQXZDLEtBQTBEO0FBQUE7O0FBQzFFLFlBQU03ZCxNQUFNLEdBQUdxZCxTQUFTLENBQUN2ZCxPQUFELENBQXhCO0FBQ0EsVUFBSUUsTUFBTSxLQUFLSCxJQUFJLENBQUNFLEVBQXBCLEVBQ0UsK0JBQU84ZCxNQUFNLENBQUN1RCxZQUFkLHlEQUFPLDBCQUFBdkQsTUFBTSxFQUFnQjtBQUFFZ0IsUUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLE9BQWhCLENBQWI7QUFDSCxLQUpEOztBQU1BLFVBQU0rZSxRQUFRLEdBQUd4QixZQUFZLENBQzNCSixnQkFBZ0IsQ0FBQ2tCLFNBQUQsQ0FEVyxFQUUzQk0sVUFGMkIsRUFHM0J6QixlQUFlLENBQUNvQixRQUFELENBSFksRUFJM0JNLFNBSjJCLENBQTdCO0FBTUEsV0FBTyxDQUFDWCxLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ3pEO0FBQ0FBLE1BQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0JJLGFBQS9CO0FBQ0EsYUFBT1EsUUFBUDtBQUNELEtBSkQ7QUFLRCxHQXhXc0I7QUF5V3ZCc0MsRUFBQUEsUUFBUSxFQUFHcEUsR0FBRCxJQUNSLENBQUNnQixLQUFELEVBQWNDLFFBQWQsRUFBaUNMLE1BQWpDLEtBQW9EO0FBQ2xEO0FBQ0FBLElBQUFBLE1BQU0sQ0FBQ00scUJBQVAsR0FBK0I7QUFDN0J0SyxNQUFBQSxhQUFhLEVBQUU0SSxxRkFEYztBQUU3QjZFLE1BQUFBLGNBQWMsRUFBRTdFLHVGQUFzQjNJO0FBRlQsS0FBL0I7QUFJQSxXQUFPO0FBQ0wsT0FBQ3FKLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlELElBQUksQ0FBQ0UsRUFBTCxLQUFZQyxNQUFoQixFQUNFLGdDQUFPNmQsTUFBTSxDQUFDaEssYUFBZCwwREFBTywyQkFBQWdLLE1BQU0sQ0FBYjtBQUNGLHdDQUFPQSxNQUFNLENBQUN5RCxjQUFkLDBEQUFPLDJCQUFBekQsTUFBTSxFQUFrQjtBQUFFZ0IsVUFBQUEsTUFBTSxFQUFFaGYsSUFBSSxDQUFDaWYsU0FBTCxDQUFlOWUsTUFBZjtBQUFWLFNBQWxCLENBQWI7QUFDRDtBQU5JLEtBQVA7QUFRRCxHQXhYb0I7QUF5WHZCK1QsRUFBQUEsV0FBVyxFQUFHa0osR0FBRCxJQUFvQmMsY0FBYyxDQUFDWCxnQkFBZ0IsQ0FBQ0gsR0FBRCxDQUFqQixFQUF3QlIsaUZBQXhCLENBelh4QjtBQTBYdkJ6SSxFQUFBQSxVQUFVLEVBQUdpSixHQUFELElBQW9CYyxjQUFjLENBQUNYLGdCQUFnQixDQUFDSCxHQUFELENBQWpCLEVBQXdCUiwrRUFBeEIsQ0ExWHZCO0FBMlh2QnhJLEVBQUFBLGNBQWMsRUFBR2dKLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1gsZ0JBQWdCLENBQUNILEdBQUQsQ0FBakIsRUFBd0JSLHVGQUF4QixDQTNYM0I7QUE0WHZCO0FBQ0F2SSxFQUFBQSxRQUFRLEVBQUcrSSxHQUFELElBQW9CYyxjQUFjLENBQUNiLGVBQWUsQ0FBQ0QsR0FBRCxDQUFoQixFQUF1QlIsMkVBQXZCLENBN1hyQjtBQThYdkI7QUFDQXRJLEVBQUFBLFVBQVUsRUFBRzhJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUiwrRUFBdkIsQ0EvWHZCO0FBZ1l2QnJJLEVBQUFBLFdBQVcsRUFBRzZJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ2IsZUFBZSxDQUFDRCxHQUFELENBQWhCLEVBQXVCUixpRkFBdkIsQ0FoWXhCO0FBaVl2QnBJLEVBQUFBLGtCQUFrQixFQUFHNEksR0FBRCxJQUNsQmMsY0FBYyxDQUFDYixlQUFlLENBQUNELEdBQUQsQ0FBaEIsRUFBdUJSLCtGQUF2QixDQWxZTztBQW1ZdkI4RSxFQUFBQSxXQUFXLEVBQUd0RSxHQUFELElBQ1gsQ0FBQ2dCLEtBQUQsRUFBY0MsUUFBZCxFQUFpQ0wsTUFBakMsS0FBb0Q7QUFDbEQ7QUFDQUEsSUFBQUEsTUFBTSxDQUFDTSxxQkFBUCxHQUErQjtBQUM3Qm9ELE1BQUFBLFdBQVcsRUFBRTlFLDJGQUF3Qm5JO0FBRFIsS0FBL0I7QUFHQSxXQUFPO0FBQ0wsT0FBQzZJLGdCQUFnQixDQUFDRixHQUFELENBQWpCLEdBQXlCLENBQUNwZCxJQUFELEVBQWFDLE9BQWIsRUFBdUMrZCxNQUF2QyxLQUEwRDtBQUFBOztBQUNqRixjQUFNN2QsTUFBTSxHQUFHcWQsU0FBUyxDQUFDdmQsT0FBRCxDQUF4QjtBQUNBLFlBQUlFLE1BQU0sS0FBS0gsSUFBSSxDQUFDRSxFQUFwQixFQUNFO0FBQ0Ysc0NBQU84ZCxNQUFNLENBQUMwRCxXQUFkLHdEQUFPLHlCQUFBMUQsTUFBTSxDQUFiO0FBQ0Q7QUFOSSxLQUFQO0FBUUQsR0FqWm9CO0FBa1p2QnRKLEVBQUFBLE1BQU0sRUFBRzBJLEdBQUQsSUFBb0JjLGNBQWMsQ0FBQ1gsZ0JBQWdCLENBQUNILEdBQUQsQ0FBakIsRUFBd0JSLHVFQUF4QjtBQWxabkIsQ0FBbEIsRUFxWlA7QUFDQTtBQUNBOztBQUNBLE1BQU0rRSx3QkFBc0MsR0FBR3BELFNBQS9DLEVBQ0E7O0FBQ0FuVCxPQUFPLENBQUNDLE1BQVIsQ0FBZXNXLHdCQUFmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNsa0JBOztBQUNBO0FBRUE7QUFJQTtDQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0EsTUFBTUUsVUFBVSxHQUFHRCw0REFBbkI7QUFDQTtBQUNBLE1BQU1HLFdBQVcsR0FBR0QsOERBQXBCO0FBQ0E7QUFDQSxNQUFNbFUsVUFBVSxHQUFHb1UsNERBQW5CO0FBQ0E7QUFDQSxNQUFNMVcsT0FBTyxHQUFHMlcseURBQWhCO0FBQ0E7QUFDQSxNQUFNMUQsU0FBUyxHQUFHMkQsMkRBQWxCO0FBQ0E7QUFDQSxNQUFNdEYsT0FBTyxHQUFHdUYseURBQWhCO0FBQ0E7QUFDQSxNQUFNRSxJQUFJLEdBQUdELHNEQUFiO0FBQ0E7QUFDQSxNQUFNRyxNQUFNLEdBQUdELDBEQUFmO0FBQ0E7QUFDQSxNQUFNRyxRQUFRLEdBQUdELDREQUFqQixFQUVBO0FBQ0E7O0FBQ0FwWCxPQUFPLENBQUNDLE1BQVIsQ0FDRXdXLFVBQVUsSUFBSUUsV0FBZCxJQUE2Qm5VLFVBQTdCLElBQTJDdEMsT0FBM0MsSUFDRWlULFNBREYsSUFDZTNCLE9BRGYsSUFDMEJ5RixJQUQxQixJQUNrQ0UsTUFEbEMsSUFDNENFLFFBRjlDLEdBS0E7O0FBMkJBLE1BQU1DLFVBQU4sQ0FBaUI7QUFBQTtBQUFBLDZDQUNzRCxFQUR0RDs7QUFBQSwrQ0FFeUQsRUFGekQ7O0FBQUEseUNBR21CLEVBSG5CO0FBQUE7O0FBS2ZDLEVBQUFBLHFCQUFxQixHQUFnQjtBQUNuQyxXQUFPO0FBQ0xDLE1BQUFBLGNBQWMsRUFBRSxJQURYO0FBRUxDLE1BQUFBLFdBQVcsRUFBRSxJQUZSO0FBR0xDLE1BQUFBLGVBQWUsRUFBRSxJQUhaO0FBSUxDLE1BQUFBLGlCQUFpQixFQUFFLElBSmQ7QUFLTEMsTUFBQUEsa0JBQWtCLEVBQUUsSUFMZjtBQU1MQyxNQUFBQSxtQkFBbUIsRUFBRSxLQU5oQjtBQU9MQyxNQUFBQSx3QkFBd0IsRUFBRTtBQVByQixLQUFQO0FBU0Q7O0FBRURDLEVBQUFBLFlBQVksQ0FBQ0MsT0FBRCxFQUFrQkMsT0FBbEIsRUFBOEM7QUFDeEQsVUFBTUMsT0FBTyxHQUFHRCxPQUFoQjtBQUNBalksSUFBQUEsT0FBTyxDQUFDQyxNQUFSLENBQWVpWSxPQUFmLEVBRndELENBRS9CO0FBRXpCO0FBQ0E7QUFDQTtBQUNBOztBQUNBOztBQUNBQyxJQUFBQSxJQUFJLENBQUNILE9BQUQsQ0FBSjtBQUNBO0FBQ0Q7O0FBRURJLEVBQUFBLGVBQWUsQ0FDYkMsV0FEYSxFQUViQyxjQUZhLEVBR2JDLGdCQUhhLEVBSWI7QUFDQSxTQUFLQyxlQUFMLENBQXFCSCxXQUFyQixJQUFvQ0MsY0FBcEM7QUFDQSxRQUFJQyxnQkFBSixFQUNFLEtBQUtFLGlCQUFMLENBQXVCSixXQUF2QixJQUFzQ0UsZ0JBQXRDO0FBQ0g7O0FBRURHLEVBQUFBLGFBQWEsQ0FBQy9YLElBQUQsRUFBaUI7QUFDNUI7QUFDQSxVQUFNZ1ksV0FBc0MsR0FBRyxFQUEvQzs7QUFDQSxTQUFLLE1BQU0xVyxHQUFYLElBQWtCdEIsSUFBbEIsRUFDRWdZLFdBQVcsQ0FBQzFXLEdBQUQsQ0FBWCxHQUFtQkEsR0FBRyxDQUFDeU4sV0FBSixHQUFrQmtKLEtBQWxCLENBQXdCLE9BQXhCLENBQW5CLENBSjBCLENBTTVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxXQUFPalksSUFBSSxDQUFDZ0IsSUFBTCxDQUFVLENBQUNrWCxJQUFELEVBQU9DLElBQVAsS0FBZ0I7QUFDL0IsWUFBTUMsS0FBSyxHQUFHSixXQUFXLENBQUNFLElBQUQsQ0FBekI7QUFDQSxZQUFNRyxLQUFLLEdBQUdMLFdBQVcsQ0FBQ0csSUFBRCxDQUF6QjtBQUNBLFVBQUlDLEtBQUssS0FBSzdMLFNBQVYsSUFBdUI4TCxLQUFLLEtBQUs5TCxTQUFyQyxFQUNFLE1BQU0sSUFBSXBJLGtFQUFKLEVBQU47QUFFRixZQUFNbVUsTUFBTSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU0osS0FBSyxDQUFDL1csTUFBZixFQUF1QmdYLEtBQUssQ0FBQ2hYLE1BQTdCLENBQWY7O0FBQ0EsV0FBSyxJQUFJb1gsR0FBRyxHQUFHLENBQWYsRUFBa0JBLEdBQUcsR0FBR0gsTUFBeEIsRUFBZ0MsRUFBRUcsR0FBbEMsRUFBdUM7QUFDckMsY0FBTUMsTUFBTSxHQUFHTixLQUFLLENBQUNLLEdBQUQsQ0FBcEI7QUFDQSxjQUFNRSxNQUFNLEdBQUdOLEtBQUssQ0FBQ0ksR0FBRCxDQUFwQixDQUZxQyxDQUdyQzs7QUFDQSxZQUFJQyxNQUFNLEtBQUtuTSxTQUFYLElBQXdCb00sTUFBTSxLQUFLcE0sU0FBdkMsRUFDRSxNQUFNLElBQUlwSSxrRUFBSixFQUFOLENBTG1DLENBT3JDOztBQUNBLGNBQU15VSxPQUFPLEdBQUdSLEtBQUssQ0FBQy9XLE1BQU4sR0FBZSxDQUFmLEtBQXFCb1gsR0FBckM7QUFDQSxjQUFNSSxPQUFPLEdBQUdSLEtBQUssQ0FBQ2hYLE1BQU4sR0FBZSxDQUFmLEtBQXFCb1gsR0FBckM7O0FBRUEsWUFBSUcsT0FBTyxJQUFJQyxPQUFmLEVBQXdCO0FBQ3RCO0FBRUE7QUFDQSxnQkFBTUMsS0FBSyxHQUFHSixNQUFNLENBQUNsSSxPQUFQLENBQWUsV0FBZixFQUE0QixFQUE1QixDQUFkO0FBQ0EsZ0JBQU11SSxLQUFLLEdBQUdKLE1BQU0sQ0FBQ25JLE9BQVAsQ0FBZSxXQUFmLEVBQTRCLEVBQTVCLENBQWQ7QUFDQSxnQkFBTXdJLGdCQUFnQixHQUFHRixLQUFLLENBQUNHLGFBQU4sQ0FBb0JGLEtBQXBCLENBQXpCO0FBQ0EsY0FBSUMsZ0JBQUosRUFDRSxPQUFPQSxnQkFBUCxDQVJvQixDQVV0QjtBQUNBOztBQUNBLGlCQUFPTixNQUFNLENBQUNPLGFBQVAsQ0FBcUJOLE1BQXJCLENBQVA7QUFDRCxTQWJELE1BYU8sSUFBSSxDQUFDQyxPQUFELElBQVksQ0FBQ0MsT0FBakIsRUFBMEI7QUFDL0I7QUFDQSxnQkFBTUssSUFBSSxHQUFHUixNQUFNLENBQUNPLGFBQVAsQ0FBcUJOLE1BQXJCLENBQWI7QUFDQSxjQUFJTyxJQUFKLEVBQ0UsT0FBT0EsSUFBUDtBQUNILFNBN0JvQyxDQStCckM7QUFDQTtBQUNBO0FBQ0E7OztBQUVBLFlBQUlkLEtBQUssQ0FBQy9XLE1BQU4sR0FBZSxDQUFmLElBQW9Cb1gsR0FBeEIsRUFBNkI7QUFDM0I7QUFDQSxpQkFBTyxDQUFQO0FBQ0Q7O0FBQ0QsWUFBSUosS0FBSyxDQUFDaFgsTUFBTixHQUFlLENBQWYsSUFBb0JvWCxHQUF4QixFQUE2QjtBQUMzQjtBQUNBLGlCQUFPLENBQUMsQ0FBUjtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxDQUFQO0FBQ0QsS0FyRE0sQ0FBUDtBQXNERCxHQTlHYyxDQWdIZjtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0FVLEVBQUFBLGVBQWUsQ0FBQ0MsS0FBRCxFQUFrQkMsZUFBbEIsRUFBMkNDLGFBQTNDLEVBQWtFO0FBQy9FLFVBQU1DLFNBQVMsR0FBR0QsYUFBYSxDQUFDRSxXQUFkLEVBQWxCO0FBQ0EsVUFBTTlCLFdBQVcsR0FBRzJCLGVBQWUsQ0FBQ0csV0FBaEIsRUFBcEI7QUFDQSxXQUFPSixLQUFLLENBQUMxWCxNQUFOLENBQWMrWCxRQUFELElBQWM7QUFDaEMsWUFBTUMsSUFBSSxHQUFHRCxRQUFRLENBQUNELFdBQVQsRUFBYjtBQUNBLFVBQUksQ0FBQ0UsSUFBSSxDQUFDQyxRQUFMLENBQWNKLFNBQWQsQ0FBTCxFQUNFLE9BQU8sS0FBUDtBQUNGLFVBQUlHLElBQUksS0FBTSxHQUFFaEMsV0FBWSxHQUFFNkIsU0FBVSxFQUF4QyxFQUNFLE9BQU8sSUFBUDtBQUNGLFVBQUlHLElBQUksQ0FBQ0UsVUFBTCxDQUFpQixHQUFFbEMsV0FBWSxHQUEvQixLQUFzQ2dDLElBQUksQ0FBQ0UsVUFBTCxDQUFpQixHQUFFbEMsV0FBWSxJQUEvQixDQUExQyxFQUNFLE9BQU8sSUFBUDtBQUNGLGFBQU8sS0FBUDtBQUNELEtBVE0sQ0FBUDtBQVVEOztBQUVEbUMsRUFBQUEscUJBQXFCLENBQUNuQyxXQUFELEVBQXNCSixPQUF0QixFQUE0Q3dDLFFBQTVDLEVBQWtFO0FBQ3JGLFFBQUlDLGtCQUFrQixHQUFHLEtBQXpCOztBQUNBLFVBQU1DLFVBQVUsR0FBRyxNQUFNO0FBQ3ZCLFVBQUlELGtCQUFKLEVBQ0U7QUFDRkEsTUFBQUEsa0JBQWtCLEdBQUcsSUFBckI7QUFDQTNPLE1BQUFBLE1BQU0sQ0FBQ21DLFFBQVAsQ0FBZ0IwTSxNQUFoQjtBQUNELEtBTEQ7O0FBT0FsTyxJQUFBQSxpRkFBa0IsQ0FBQyxtQkFBRCxFQUFzQixNQUFNO0FBQzVDaU8sTUFBQUEsVUFBVTtBQUNYLEtBRmlCLENBQWxCO0FBR0FqTyxJQUFBQSxpRkFBa0IsQ0FBQyxlQUFELEVBQWtCLE1BQU07QUFDeENpTyxNQUFBQSxVQUFVO0FBQ1gsS0FGaUIsQ0FBbEI7QUFJQSxTQUFLRSxhQUFMLENBQW1CeEMsV0FBbkIsRUFBZ0NKLE9BQWhDLEVBQXlDd0MsUUFBekM7QUFDRDs7QUFFREksRUFBQUEsYUFBYSxDQUFDeEMsV0FBRCxFQUFzQkosT0FBdEIsRUFBNEN3QyxRQUE1QyxFQUFrRTtBQUM3RSxVQUFNSyxXQUFXLEdBQUdqTixpRkFBa0IsQ0FBQztBQUNyQ2pCLE1BQUFBLElBQUksRUFBRSxpQkFEK0I7QUFFckNtTyxNQUFBQSxPQUFPLEVBQUU7QUFGNEIsS0FBRCxDQUF0Qzs7QUFLQSxVQUFNQyxRQUFRLEdBQUcsTUFBT3pPLENBQVAsSUFBNkM7QUFBQTs7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsWUFBTTBPLFFBQVEsR0FBRzFPLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU0MsWUFBVCxDQUFzQmhLLE9BQXRCLENBQThCLFNBQTlCLEVBQXlDLEVBQXpDLElBQStDLElBQWhFO0FBQ0EsWUFBTWlLLFVBQVUsR0FBRzdPLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU0csY0FBNUIsQ0FMNEQsQ0FPNUQ7QUFDQTtBQUVBOztBQUNBLFVBQUk5TyxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQWIsRUFBdUI7QUFDckJyRCxRQUFBQSxPQUFPLENBQUNULGNBQVIsR0FBeUJqTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQWxDO0FBQ0FyRCxRQUFBQSxPQUFPLENBQUNSLFdBQVIsR0FBc0JsTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQS9CO0FBQ0FyRCxRQUFBQSxPQUFPLENBQUNQLGVBQVIsR0FBMEJuTCxDQUFDLENBQUMyTyxNQUFGLENBQVNJLFFBQW5DO0FBQ0QsT0FmMkQsQ0FnQjVEOzs7QUFDQSxVQUFJL08sQ0FBQyxDQUFDMk8sTUFBRixDQUFTSyxjQUFiLEVBQTZCO0FBQzNCdEQsUUFBQUEsT0FBTyxDQUFDVCxjQUFSLEdBQXlCakwsQ0FBQyxDQUFDMk8sTUFBRixDQUFTSyxjQUFsQyxDQUQyQixDQUUzQjs7QUFDQXRELFFBQUFBLE9BQU8sQ0FBQ3VELFFBQVIsR0FBbUJqUCxDQUFDLENBQUMyTyxNQUFGLENBQVNLLGNBQTVCO0FBQ0QsT0FyQjJELENBc0I1RDs7O0FBQ0EsVUFBSWhQLENBQUMsQ0FBQzJPLE1BQUYsQ0FBU08sWUFBYixFQUEyQjtBQUN6QnhELFFBQUFBLE9BQU8sQ0FBQ3lELFlBQVIsR0FBdUJuUCxDQUFDLENBQUMyTyxNQUFGLENBQVNPLFlBQWhDO0FBQ0EsWUFBSUUsV0FBVyxHQUFHcFAsQ0FBQyxDQUFDMk8sTUFBRixDQUFTTyxZQUFULENBQXNCRyxTQUF0QixDQUFnQyxDQUFoQyxFQUFtQyxDQUFuQyxDQUFsQjtBQUNBLFlBQUlELFdBQVcsS0FBSyxJQUFwQixFQUNFQSxXQUFXLEdBQUcsSUFBZDtBQUNGLFlBQUkzbEIsNERBQU0sQ0FBQzJsQixXQUFELENBQVYsRUFDRTFELE9BQU8sQ0FBQ1IsV0FBUixHQUFzQmtFLFdBQXRCLENBREYsS0FHRTFELE9BQU8sQ0FBQ1IsV0FBUixHQUFzQlEsT0FBTyxDQUFDVCxjQUE5QjtBQUNILE9BaEMyRCxDQWlDNUQ7OztBQUNBLFlBQU1xRSxXQUFXLEdBQUd0UCxDQUFDLENBQUMyTyxNQUFGLENBQVNZLGVBQTdCO0FBQ0EsVUFBSTlsQiw0REFBTSxDQUFDNmxCLFdBQUQsQ0FBVixFQUNFNUQsT0FBTyxDQUFDUCxlQUFSLEdBQTBCbUUsV0FBMUIsQ0FERixLQUdFNUQsT0FBTyxDQUFDUCxlQUFSLEdBQTBCTyxPQUFPLENBQUNULGNBQVIsSUFBMEIsSUFBcEQsQ0F0QzBELENBd0M1RDs7QUFDQXVFLE1BQUFBLFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsU0FBekIsQ0FBbUNDLEdBQW5DLENBQXdDLFFBQU9qRSxPQUFPLENBQUNQLGVBQWdCLEVBQXZFO0FBQ0FxRSxNQUFBQSxRQUFRLENBQUNDLGVBQVQsQ0FBeUIvbEIsSUFBekIsR0FBZ0NHLGtFQUFZLENBQUM2aEIsT0FBTyxDQUFDUCxlQUFULENBQTVDO0FBQ0EsV0FBS3lFLGFBQUwsQ0FBbUJsRSxPQUFPLENBQUNQLGVBQTNCLEVBM0M0RCxDQTZDNUQ7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsV0FBSzBFLFdBQUwsa0RBQW9CLE1BQU10QixXQUExQix1REFBbUIsbUJBQXFCbG1CLElBQXhDLHlFQUFnRCxFQUFoRDtBQUNBLFdBQUt5bkIsY0FBTCxDQUNFcEUsT0FERiwyQkFFRSxLQUFLbUUsV0FBTCxDQUFpQi9ELFdBQWpCLENBRkYseUVBRW1DLEVBRm5DLEVBR0UsS0FBS0csZUFBTCxDQUFxQkgsV0FBckIsQ0FIRixFQWxENEQsQ0F3RDVEO0FBQ0E7O0FBQ0EsWUFBTWlFLGFBQWEsR0FBR3JFLE9BQU8sQ0FBQ3ZZLEtBQVIsR0FBaUIxSCxDQUFELElBQWVnSSxPQUFPLENBQUN3TyxHQUFSLENBQVl4VyxDQUFaLENBQS9CLEdBQWdELE1BQU07QUFBQztBQUFXLE9BQXhGLENBMUQ0RCxDQTRENUQ7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsWUFBTXVrQixzQkFBMkQsR0FBRztBQUNsRUMsUUFBQUEsUUFBUSxFQUFFLENBQ1IsVUFEUTtBQUR3RCxPQUFwRTtBQUtBRCxNQUFBQSxzQkFBc0IsQ0FBQ2xFLFdBQUQsQ0FBdEIsR0FBc0NrRSxzQkFBc0IsQ0FBQ2xFLFdBQUQsQ0FBdEIsSUFBdUMsRUFBN0UsQ0FyRTRELENBdUU1RDtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxZQUFNb0UsZUFBNkMsR0FBRyxFQUF0RDs7QUFFQSxVQUFJckIsVUFBSixFQUFnQjtBQUNkO0FBQ0EsY0FBTXNCLFdBQVcsR0FBRyxLQUFLaEUsYUFBTCxDQUFtQmhZLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZeWEsVUFBWixDQUFuQixDQUFwQjtBQUNBLGNBQU11QixPQUFPLEdBQUcsS0FBSzdDLGVBQUwsQ0FBcUI0QyxXQUFyQixFQUFrQ3JFLFdBQWxDLEVBQStDLEtBQS9DLENBQWhCO0FBQ0EsY0FBTXVFLFFBQVEsR0FBRyxLQUFLOUMsZUFBTCxDQUFxQjRDLFdBQXJCLEVBQWtDckUsV0FBbEMsRUFBK0MsTUFBL0MsQ0FBakI7O0FBRUEsYUFBSyxNQUFNd0UsTUFBWCxJQUFxQkYsT0FBckIsRUFBOEI7QUFDNUIsY0FBSTtBQUFBOztBQUNGTCxZQUFBQSxhQUFhLENBQUUsb0JBQW1CckIsUUFBUyxHQUFFNEIsTUFBTyxFQUF2QyxDQUFiO0FBQ0EsaUJBQUs5RSxZQUFMLHVCQUFrQnFELFVBQVUsQ0FBQ3lCLE1BQUQsQ0FBNUIsbUVBQXdDLEVBQXhDLEVBQTRDNUUsT0FBNUM7O0FBRUEsaUJBQUssTUFBTWhYLEtBQVgsNkJBQW9Cc2Isc0JBQXNCLENBQUNsRSxXQUFELENBQTFDLHlFQUEyRCxFQUEzRCxFQUErRDtBQUFBOztBQUM3RCxrQkFBSW9FLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixJQUEwQndiLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixLQUEyQmdYLE9BQU8sQ0FBQ2hYLEtBQUQsQ0FBaEUsRUFBeUU7QUFDdkU7QUFDQTtBQUNBakIsZ0JBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FDRyxnQkFBZXlNLFFBQVMsR0FBRTRCLE1BQU8sdUJBQXNCNWIsS0FBTSx1QkFEaEU7QUFHRDs7QUFDRHdiLGNBQUFBLGVBQWUsQ0FBQ3hiLEtBQUQsQ0FBZixHQUF5QmdYLE9BQU8sQ0FBQ2hYLEtBQUQsQ0FBaEM7QUFDRDs7QUFFRCxvRUFBS3dYLGlCQUFMLEVBQXVCSixXQUF2Qiw4R0FBc0N3RSxNQUF0QyxFQUE4Q3pCLFVBQTlDLEVBQTBEbkQsT0FBMUQsRUFBbUVnRCxRQUFuRTtBQUNELFdBaEJELENBZ0JFLE9BQU8xTyxDQUFQLEVBQVU7QUFDVjtBQUNBdk0sWUFBQUEsT0FBTyxDQUFDd08sR0FBUixDQUFZLDRCQUFaO0FBQ0F4TyxZQUFBQSxPQUFPLENBQUN3TyxHQUFSLENBQVlqQyxDQUFaO0FBQ0Q7QUFDRixTQTVCYSxDQThCZDtBQUNBO0FBQ0E7OztBQUNBLFlBQUkwTCxPQUFPLENBQUM2RSxJQUFaLEVBQ0UsS0FBS0MsVUFBTCxDQUFnQjlFLE9BQU8sQ0FBQzZFLElBQXhCOztBQUVGLGFBQUssTUFBTUUsT0FBWCxJQUFzQkosUUFBdEIsRUFBZ0M7QUFDOUJOLFVBQUFBLGFBQWEsQ0FBRSxvQkFBbUJyQixRQUFTLEdBQUUrQixPQUFRLEVBQXhDLENBQWI7QUFDQSxnQkFBTUMsV0FBVyxHQUFHbEIsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFwQjtBQUNBLGdCQUFNQyxRQUFRLEdBQUcvQixVQUFVLENBQUM0QixPQUFELENBQTNCO0FBQ0EsY0FBSUcsUUFBSixFQUNFRixXQUFXLENBQUNHLFNBQVosR0FBd0JELFFBQXhCO0FBQ0YsZ0JBQU1FLElBQUksR0FBR3RCLFFBQVEsQ0FBQ3VCLG9CQUFULENBQThCLE1BQTlCLEVBQXNDLENBQXRDLENBQWI7QUFDQSxjQUFJRCxJQUFKLEVBQ0VBLElBQUksQ0FBQ0UsV0FBTCxDQUFpQk4sV0FBakI7QUFDSDtBQUNGLE9BL0gyRCxDQWlJNUQ7OztBQUNBLFVBQUl4QyxRQUFKLEVBQ0VBLFFBQVE7QUFFVixXQUFLNU0saUZBQWtCLENBQUM7QUFBRWpCLFFBQUFBLElBQUksRUFBRTtBQUFSLE9BQUQsQ0FBdkI7QUFDRCxLQXRJRDs7QUF3SUEsU0FBS2lCLGlGQUFrQixDQUFDO0FBQ3RCakIsTUFBQUEsSUFBSSxFQUFFLGlCQURnQjtBQUV0QnhSLE1BQUFBLE1BQU0sRUFBRThTLFFBQVEsQ0FBQ3NQLElBRks7QUFHdEJuRixNQUFBQSxXQUFXLEVBQUVBO0FBSFMsS0FBRCxDQUFsQixDQUlGb0YsSUFKRSxDQUlJbFIsQ0FBRCxJQUF1QztBQUM3QztBQUNBLFVBQUl3UCxRQUFRLENBQUMyQixVQUFULEtBQXdCLFNBQTVCLEVBQXVDO0FBQ3JDLGFBQUsxQyxRQUFRLENBQUN6TyxDQUFELENBQWI7QUFDQTtBQUNEOztBQUNEd1AsTUFBQUEsUUFBUSxDQUFDeE4sZ0JBQVQsQ0FBMEIsa0JBQTFCLEVBQThDLE1BQU07QUFDbEQsYUFBS3lNLFFBQVEsQ0FBQ3pPLENBQUQsQ0FBYjtBQUNELE9BRkQ7QUFHRCxLQWJJLENBQUw7QUFjRDs7QUFFRHdRLEVBQUFBLFVBQVUsQ0FBQ1ksUUFBRCxFQUFtQjtBQUMzQixRQUFJLENBQUNBLFFBQUQsSUFBYUEsUUFBUSxLQUFLLFNBQTlCLEVBQ0U7QUFFRixRQUFJMUMsUUFBUSxHQUFHYyxRQUFRLENBQUM3TixRQUFULENBQWtCakwsUUFBbEIsRUFBZjtBQUNBLFVBQU0yYSxRQUFRLEdBQUczQyxRQUFRLENBQUM0QyxXQUFULENBQXFCLEdBQXJCLENBQWpCO0FBQ0EsUUFBSUQsUUFBUSxLQUFLLENBQUMsQ0FBbEIsRUFDRTNDLFFBQVEsR0FBR0EsUUFBUSxDQUFDNkMsTUFBVCxDQUFnQixDQUFoQixFQUFtQkYsUUFBbkIsQ0FBWDtBQUNGLFFBQUkzQyxRQUFRLENBQUN4TCxLQUFULENBQWUsQ0FBQyxDQUFoQixNQUF1QixHQUEzQixFQUNFd0wsUUFBUSxJQUFJLEdBQVo7QUFDRixVQUFNOEMsUUFBUSxHQUFHOUMsUUFBUSxHQUFHLFFBQVgsR0FBc0IwQyxRQUF0QixHQUFpQyxHQUFqQyxHQUF1Q0EsUUFBdkMsR0FBa0QsTUFBbkU7QUFDQSxTQUFLSyxhQUFMLENBQW1CRCxRQUFuQjtBQUNEOztBQUNERSxFQUFBQSxZQUFZLENBQUNDLEdBQUQsRUFBYztBQUN4QixVQUFNQyxNQUFNLEdBQUdwQyxRQUFRLENBQUNtQixhQUFULENBQXVCLFFBQXZCLENBQWY7QUFDQWlCLElBQUFBLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQixNQUFwQixFQUE0QixpQkFBNUI7QUFDQUQsSUFBQUEsTUFBTSxDQUFDQyxZQUFQLENBQW9CLEtBQXBCLEVBQTJCRixHQUEzQjtBQUNBQyxJQUFBQSxNQUFNLENBQUNDLFlBQVAsQ0FBb0IsT0FBcEIsRUFBNkIsT0FBN0I7QUFDQSxVQUFNZixJQUFJLEdBQUd0QixRQUFRLENBQUN1QixvQkFBVCxDQUE4QixNQUE5QixFQUFzQyxDQUF0QyxDQUFiO0FBQ0EsUUFBSUQsSUFBSixFQUNFQSxJQUFJLENBQUNFLFdBQUwsQ0FBaUJZLE1BQWpCO0FBQ0g7O0FBQ0RILEVBQUFBLGFBQWEsQ0FBQ1IsSUFBRCxFQUFlO0FBQzFCLFVBQU1hLE9BQU8sR0FBR3RDLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBaEI7QUFDQW1CLElBQUFBLE9BQU8sQ0FBQ0QsWUFBUixDQUFxQixLQUFyQixFQUE0QixZQUE1QjtBQUNBQyxJQUFBQSxPQUFPLENBQUNELFlBQVIsQ0FBcUIsTUFBckIsRUFBNkIsVUFBN0I7QUFDQUMsSUFBQUEsT0FBTyxDQUFDRCxZQUFSLENBQXFCLE1BQXJCLEVBQTZCWixJQUE3QjtBQUNBLFVBQU1ILElBQUksR0FBR3RCLFFBQVEsQ0FBQ3VCLG9CQUFULENBQThCLE1BQTlCLEVBQXNDLENBQXRDLENBQWI7QUFDQSxRQUFJRCxJQUFKLEVBQ0VBLElBQUksQ0FBQ0UsV0FBTCxDQUFpQmMsT0FBakI7QUFDSDs7QUFDRGhDLEVBQUFBLGNBQWMsQ0FBQ3BFLE9BQUQsRUFBdUJtRSxXQUF2QixFQUFzRGtDLFFBQXRELEVBQWtGO0FBQzlGO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQSxRQUFJLENBQUNBLFFBQUwsRUFDRTtBQUVGLFVBQU1DLGVBQWUsR0FBR0QsUUFBUSxDQUFDckcsT0FBVCxJQUFvQixFQUE1Qzs7QUFDQSxTQUFLLE1BQU11RyxHQUFYLElBQWtCRCxlQUFsQixFQUFtQztBQUNqQztBQUVBLFVBQUlyZCxLQUF1QixHQUFHc2QsR0FBRyxDQUFDQyxPQUFsQzs7QUFDQSxVQUFJLE9BQU9yQyxXQUFQLEtBQXVCLFFBQXZCLElBQW1DLENBQUMxTixLQUFLLENBQUNDLE9BQU4sQ0FBY3lOLFdBQWQsQ0FBeEMsRUFBb0U7QUFDbEUsWUFBSW9DLEdBQUcsQ0FBQ3ZuQixFQUFKLElBQVVtbEIsV0FBZCxFQUEyQjtBQUN6QixnQkFBTXNDLFFBQVEsR0FBR3RDLFdBQVcsQ0FBQ29DLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQTVCO0FBQ0EsY0FBSXluQixRQUFRLEtBQUt4UixTQUFqQixFQUNFaE0sS0FBSyxHQUFHd2QsUUFBUjtBQUNIO0FBQ0YsT0FWZ0MsQ0FZakM7QUFDQTtBQUNBOzs7QUFDQSxVQUFJRixHQUFHLENBQUNHLFVBQVIsRUFBb0I7QUFDbEJILFFBQUFBLEdBQUcsQ0FBQ0csVUFBSixDQUFlMUcsT0FBZixFQUF3Qi9XLEtBQXhCO0FBQ0QsT0FGRCxNQUVPLElBQUlzZCxHQUFHLENBQUNqb0IsSUFBSixLQUFhLFNBQWpCLEVBQTRCO0FBQ2pDLFlBQUksT0FBTzJLLEtBQVAsS0FBaUIsUUFBckIsRUFDRStXLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpaUIsSUFBSSxDQUFDMEYsS0FBTCxDQUFXMWQsS0FBWCxDQUFsQixDQURGLEtBRUssSUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQ0grVyxPQUFPLENBQUN1RyxHQUFHLENBQUN2bkIsRUFBTCxDQUFQLEdBQWtCNkssUUFBUSxDQUFDWixLQUFELENBQTFCO0FBQ0gsT0FMTSxNQUtBLElBQUlzZCxHQUFHLENBQUNqb0IsSUFBSixLQUFhLE9BQWpCLEVBQTBCO0FBQy9CLFlBQUksT0FBTzJLLEtBQVAsS0FBaUIsUUFBckIsRUFDRStXLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpSyxLQUFsQixDQURGLEtBRUssSUFBSSxPQUFPQSxLQUFQLEtBQWlCLFFBQXJCLEVBQ0grVyxPQUFPLENBQUN1RyxHQUFHLENBQUN2bkIsRUFBTCxDQUFQLEdBQWtCNG5CLFVBQVUsQ0FBQzNkLEtBQUQsQ0FBNUI7QUFDSCxPQUxNLE1BS0E7QUFDTCtXLFFBQUFBLE9BQU8sQ0FBQ3VHLEdBQUcsQ0FBQ3ZuQixFQUFMLENBQVAsR0FBa0JpSyxLQUFsQjtBQUNEO0FBQ0YsS0F6QzZGLENBMkM5RjtBQUNBOzs7QUFDQSxRQUFJb2QsUUFBUSxDQUFDUSxtQkFBYixFQUNFUixRQUFRLENBQUNRLG1CQUFULENBQTZCN0csT0FBN0IsRUFBc0NtRSxXQUF0QztBQUNIOztBQUNERCxFQUFBQSxhQUFhLENBQUNsbUIsSUFBRCxFQUFhO0FBQ3hCLFVBQU04b0IsVUFBVSxHQUFHO0FBQ2pCcnBCLE1BQUFBLEVBQUUsRUFBRSx5Q0FEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLG1EQUZhO0FBR2pCQyxNQUFBQSxFQUFFLEVBQUUsb0RBSGE7QUFJakJDLE1BQUFBLEVBQUUsRUFBRSxtQ0FKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFLDRCQUxhO0FBTWpCQyxNQUFBQSxFQUFFLEVBQUU7QUFOYSxLQUFuQjtBQVNBLFVBQU1rQixFQUFFLEdBQUcsdUJBQVg7QUFDQSxRQUFJK25CLFFBQVEsR0FBR2pELFFBQVEsQ0FBQ2tELGNBQVQsQ0FBd0Job0IsRUFBeEIsQ0FBZjs7QUFDQSxRQUFJLENBQUMrbkIsUUFBTCxFQUFlO0FBQ2JBLE1BQUFBLFFBQVEsR0FBR2pELFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWDtBQUNBOEIsTUFBQUEsUUFBUSxDQUFDL25CLEVBQVQsR0FBY0EsRUFBZDtBQUNBK25CLE1BQUFBLFFBQVEsQ0FBQy9DLFNBQVQsQ0FBbUJDLEdBQW5CLENBQXVCLE1BQXZCLEVBSGEsQ0FJYjs7QUFDQThDLE1BQUFBLFFBQVEsQ0FBQ0UsS0FBVCxDQUFlQyxPQUFmLEdBQXlCLE1BQXpCO0FBQ0FwRCxNQUFBQSxRQUFRLENBQUNxRCxJQUFULENBQWNDLE1BQWQsQ0FBcUJMLFFBQXJCO0FBQ0Q7O0FBQ0RBLElBQUFBLFFBQVEsQ0FBQ00sU0FBVCxHQUFxQlAsVUFBVSxDQUFDOW9CLElBQUQsQ0FBVixJQUFvQjhvQixVQUFVLENBQUMsSUFBRCxDQUFuRDtBQUNEOztBQXhaYzs7QUEyWmpCLGlFQUFlLElBQUl6SCxVQUFKLEVBQWY7O0FBRUEsSUFBSSxPQUFPeUUsUUFBUCxLQUFvQixXQUF4QixFQUFxQztBQUNuQztBQUNBQSxFQUFBQSxRQUFRLENBQUN4TixnQkFBVCxDQUEwQixzQkFBMUIsRUFBbURoQyxDQUFELElBQU87QUFDdkQsVUFBTWdULFlBQVksR0FBR3hELFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsU0FBOUM7QUFDQSxRQUFJMVAsQ0FBQyxDQUFDMk8sTUFBRixDQUFTc0UsUUFBYixFQUNFRCxZQUFZLENBQUNFLE1BQWIsQ0FBb0IsY0FBcEIsRUFBb0MsVUFBcEMsRUFERixLQUdFRixZQUFZLENBQUNyRCxHQUFiLENBQWlCLGNBQWpCLEVBQWlDLFVBQWpDO0FBQ0gsR0FORDtBQU9EOzs7Ozs7Ozs7OztDQ3ZlRDs7QUFDQSxNQUFNd0QsYUFBa0MsR0FBRztBQUN6Q0MsRUFBQUEsSUFBSSxFQUFFLENBRG1DO0FBRXpDQyxFQUFBQSxHQUFHLEVBQUUsQ0FGb0M7QUFHekNDLEVBQUFBLEdBQUcsRUFBRSxDQUhvQztBQUl6Q0MsRUFBQUEsR0FBRyxFQUFFLENBSm9DO0FBS3pDQyxFQUFBQSxHQUFHLEVBQUUsQ0FMb0M7QUFNekNDLEVBQUFBLEdBQUcsRUFBRSxDQU5vQztBQU96Q0MsRUFBQUEsR0FBRyxFQUFFLENBUG9DO0FBUXpDQyxFQUFBQSxHQUFHLEVBQUUsQ0FSb0M7QUFTekNDLEVBQUFBLEdBQUcsRUFBRSxDQVRvQztBQVV6Q0MsRUFBQUEsR0FBRyxFQUFFLENBVm9DO0FBV3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFYb0M7QUFZekNDLEVBQUFBLEdBQUcsRUFBRSxFQVpvQztBQWF6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBYm9DO0FBY3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFkb0M7QUFlekNDLEVBQUFBLEdBQUcsRUFBRSxFQWZvQztBQWdCekNDLEVBQUFBLEdBQUcsRUFBRSxFQWhCb0M7QUFpQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUFqQm9DO0FBa0J6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBbEJvQztBQW1CekNDLEVBQUFBLEdBQUcsRUFBRSxFQW5Cb0M7QUFvQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUFwQm9DO0FBcUJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBckJvQztBQXNCekNDLEVBQUFBLEdBQUcsRUFBRSxFQXRCb0M7QUF1QnpDQyxFQUFBQSxHQUFHLEVBQUUsRUF2Qm9DO0FBd0J6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBeEJvQztBQXlCekNDLEVBQUFBLEdBQUcsRUFBRSxFQXpCb0M7QUEwQnpDQyxFQUFBQSxHQUFHLEVBQUUsRUExQm9DO0FBMkJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBM0JvQztBQTRCekNDLEVBQUFBLEdBQUcsRUFBRSxFQTVCb0M7QUE2QnpDQyxFQUFBQSxHQUFHLEVBQUUsRUE3Qm9DO0FBOEJ6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBOUJvQztBQStCekNDLEVBQUFBLEdBQUcsRUFBRSxFQS9Cb0M7QUFnQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFoQ29DO0FBaUN6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBakNvQztBQWtDekNDLEVBQUFBLEdBQUcsRUFBRSxFQWxDb0M7QUFtQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUFuQ29DO0FBb0N6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBcENvQztBQXFDekNDLEVBQUFBLEdBQUcsRUFBRSxFQXJDb0M7QUFzQ3pDQyxFQUFBQSxHQUFHLEVBQUUsRUF0Q29DO0FBdUN6Q0MsRUFBQUEsR0FBRyxFQUFFLEVBdkNvQztBQXdDekNDLEVBQUFBLEdBQUcsRUFBRSxFQXhDb0M7QUF5Q3pDQyxFQUFBQSxHQUFHLEVBQUU7QUF6Q29DLENBQTNDO0FBNENBLE1BQU1DLE9BQU8sR0FBRzFoQixNQUFNLENBQUNDLElBQVAsQ0FBWStlLGFBQVosQ0FBaEI7QUFDQSxNQUFNMkMsUUFBUSxHQUFHLENBQUMsTUFBRCxFQUFTLFFBQVQsRUFBbUIsS0FBbkIsRUFBMEIsU0FBMUIsRUFBcUMsVUFBckMsRUFBaUQsTUFBakQsQ0FBakI7QUFFQSxNQUFNQyxRQUFlLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsRUFBNkIsS0FBN0IsRUFBb0MsS0FBcEMsQ0FBeEI7QUFDQSxNQUFNQyxVQUFpQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLEVBQXNCLEtBQXRCLEVBQTZCLEtBQTdCLENBQTFCO0FBQ0EsTUFBTUMsWUFBbUIsR0FBRyxDQUFDLEtBQUQsRUFBUSxLQUFSLEVBQWUsS0FBZixFQUFzQixLQUF0QixFQUE2QixLQUE3QixFQUFvQyxLQUFwQyxFQUEyQyxLQUEzQyxFQUFrRCxLQUFsRCxDQUE1QjtBQUNBLE1BQU1DLGFBQW9CLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsQ0FBN0I7QUFDQSxNQUFNQyxhQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLEVBQXNCLEtBQXRCLEVBQTZCLEtBQTdCLEVBQW9DLEtBQXBDLENBQTdCO0FBQ0EsTUFBTUMsT0FBYyxHQUFHLENBQUMsR0FBR0gsWUFBSixFQUFrQixHQUFHQyxhQUFyQixFQUFvQyxHQUFHQyxhQUF2QyxDQUF2QjtBQUNBLE1BQU1FLFlBQW1CLEdBQUcsQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLEtBQWYsRUFBc0IsS0FBdEIsRUFBNkIsS0FBN0IsRUFBb0MsS0FBcEMsRUFBMkMsS0FBM0MsRUFBa0QsS0FBbEQsQ0FBNUI7QUFDQSxNQUFNQyxhQUFvQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxLQUFmLENBQTdCO0FBRUEsTUFBTUMsUUFBZSxHQUFHLENBQUMsS0FBRCxFQUFRLEdBQUdSLFFBQVgsRUFBcUIsR0FBR0UsWUFBeEIsQ0FBeEI7QUFDQSxNQUFNTyxXQUFrQixHQUFHLENBQUMsS0FBRCxFQUFRLEdBQUdULFFBQVgsRUFBcUIsR0FBR0csYUFBeEIsQ0FBM0I7QUFDQSxNQUFNTyxTQUFnQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxHQUFHVCxVQUFsQixDQUF6QjtBQUNBLE1BQU1VLFNBQWdCLEdBQUcsQ0FBQyxHQUFHVCxZQUFKLENBQXpCO0FBQ0EsTUFBTVUsU0FBZ0IsR0FBRyxDQUFDLEdBQUdSLGFBQUosQ0FBekI7QUFDQSxNQUFNUyxXQUFrQixHQUFHLENBQUMsS0FBRCxFQUFRLEtBQVIsRUFBZSxHQUFHWixVQUFsQixDQUEzQjs7QUFFQSxNQUFNYSxZQUE0QixHQUFHLENBQUMsTUFBTTtBQUMxQyxRQUFNQyxRQUFRLEdBQUcsQ0FBQ3plLEdBQUQsRUFBc0IwZSxJQUF0QixFQUFtQ3B1QixJQUFuQyxLQUFrRDtBQUNqRW91QixJQUFBQSxJQUFJLENBQUNqWCxPQUFMLENBQWNqWCxHQUFELElBQVN3UCxHQUFHLENBQUMyZSxHQUFKLENBQVFudUIsR0FBUixFQUFhRixJQUFiLENBQXRCO0FBQ0QsR0FGRDs7QUFJQSxRQUFNMFAsR0FBbUIsR0FBRyxJQUFJN0YsR0FBSixDQUFRLENBQUMsQ0FBQyxNQUFELEVBQVMsTUFBVCxDQUFELENBQVIsQ0FBNUI7QUFDQXNrQixFQUFBQSxRQUFRLENBQUN6ZSxHQUFELEVBQU0wZCxRQUFOLEVBQWdCLE1BQWhCLENBQVI7QUFDQWUsRUFBQUEsUUFBUSxDQUFDemUsR0FBRCxFQUFNMmQsVUFBTixFQUFrQixRQUFsQixDQUFSO0FBQ0FjLEVBQUFBLFFBQVEsQ0FBQ3plLEdBQUQsRUFBTStkLE9BQU4sRUFBZSxLQUFmLENBQVI7QUFDQVUsRUFBQUEsUUFBUSxDQUFDemUsR0FBRCxFQUFNZ2UsWUFBTixFQUFvQixTQUFwQixDQUFSO0FBQ0FTLEVBQUFBLFFBQVEsQ0FBQ3plLEdBQUQsRUFBTWllLGFBQU4sRUFBcUIsVUFBckIsQ0FBUjtBQUVBLFNBQU9qZSxHQUFQO0FBQ0QsQ0Fib0MsR0FBckM7O0FBaUNBLE1BQU00ZSxpQkFBMkMsR0FBRyxFQUFwRDs7QUFFQSxNQUFNQyxpQkFBaUIsR0FBRyxDQUN4QjdpQixNQUR3QixFQUV4QjhpQixLQUZ3QixLQUdaO0FBQ1osTUFBSUEsS0FBSyxDQUFDQyxNQUFWLEVBQ0UsT0FBTyxJQUFQO0FBQ0YsTUFBSS9pQixNQUFNLENBQUNnakIsV0FBUCxLQUF1QjFXLFNBQXZCLElBQW9DMlcsSUFBSSxDQUFDQyxHQUFMLEtBQWFKLEtBQUssQ0FBQ0ssS0FBbkIsR0FBMkJuakIsTUFBTSxDQUFDZ2pCLFdBQTFFLEVBQ0UsT0FBTyxJQUFQO0FBQ0YsU0FBTyxLQUFQO0FBQ0QsQ0FURDs7QUFXQSxNQUFNSSxjQUFrQyxHQUFHLENBQUNwakIsTUFBRCxFQUFTcWpCLElBQVQsS0FBa0I7QUFDM0QsU0FBTyxJQUFJelcsT0FBSixDQUFrQixDQUFDMFcsR0FBRCxFQUFNQyxHQUFOLEtBQWM7QUFBQTs7QUFDckMsVUFBTUMsS0FBSyxvQkFBR3hqQixNQUFNLENBQUN3akIsS0FBVix5REFBbUIsSUFBOUI7QUFFQSxVQUFNeFgsSUFBNkMsR0FBRztBQUNwREEsTUFBQUEsSUFBSSxFQUFFO0FBRDhDLEtBQXREO0FBSUEsUUFBSWhNLE1BQU0sQ0FBQ3lqQixHQUFYLEVBQ0V6WCxJQUFJLENBQUN5WCxHQUFMLEdBQVd6akIsTUFBTSxDQUFDeWpCLEdBQWxCO0FBRUYsUUFBSXpqQixNQUFNLENBQUMwakIsS0FBWCxFQUNFMVgsSUFBSSxDQUFDMFgsS0FBTCxHQUFhMWpCLE1BQU0sQ0FBQzBqQixLQUFwQjtBQUVGLFFBQUkxakIsTUFBTSxDQUFDMmpCLEtBQVgsRUFDRTNYLElBQUksQ0FBQzJYLEtBQUwsR0FBYTNqQixNQUFNLENBQUMyakIsS0FBcEI7QUFFRixVQUFNYixLQUE2QixHQUFHO0FBQ3BDQyxNQUFBQSxNQUFNLEVBQUUsS0FENEI7QUFFcENJLE1BQUFBLEtBQUssRUFBRUYsSUFBSSxDQUFDQyxHQUFMO0FBRjZCLEtBQXRDO0FBS0FOLElBQUFBLGlCQUFpQixDQUFDbGlCLElBQWxCLENBQXVCb2lCLEtBQXZCOztBQUVBLFVBQU1jLFNBQVMsR0FBRyxNQUFNO0FBQ3RCLFVBQUlmLGlCQUFpQixDQUFDN2lCLE1BQUQsRUFBUzhpQixLQUFULENBQXJCLEVBQXNDO0FBQ3BDUyxRQUFBQSxHQUFHO0FBQ0g7QUFDRDs7QUFDRCxXQUFLdFcsaUZBQWtCLENBQUNqQixJQUFELENBQWxCLENBQXlCNlEsSUFBekIsQ0FBK0JnSCxRQUFELElBQWM7QUFDL0MsWUFBSWYsS0FBSyxDQUFDQyxNQUFWLEVBQWtCO0FBQ2hCUSxVQUFBQSxHQUFHO0FBQ0g7QUFDRDs7QUFDRCxZQUFJRixJQUFJLENBQUNRLFFBQUQsQ0FBUixFQUNFUCxHQUFHLEdBREwsS0FHRW5ZLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0IyVixTQUFsQixFQUE2QkosS0FBN0I7QUFDSCxPQVRJLENBQUw7QUFVRCxLQWZEOztBQWlCQXJZLElBQUFBLE1BQU0sQ0FBQzhDLFVBQVAsQ0FBa0IyVixTQUFsQixFQUE2QkosS0FBN0I7QUFDRCxHQXpDTSxDQUFQO0FBMENELENBM0NEOztBQTZDQSxNQUFNbk4sSUFBSSxHQUFHO0FBQ1h5TixFQUFBQSxZQUFZLEVBQUd6dEIsRUFBRCxJQUFnQjtBQUM1QixVQUFNN0IsR0FBRyxHQUFHZ3RCLE9BQU8sQ0FBQ3VDLElBQVIsQ0FBY3Z2QixHQUFELElBQWNzcUIsYUFBYSxDQUFDdHFCLEdBQUQsQ0FBYixLQUF1QjZCLEVBQWxELENBQVo7QUFDQSxXQUFPN0IsR0FBUCxhQUFPQSxHQUFQLGNBQU9BLEdBQVAsR0FBYyxNQUFkO0FBQ0QsR0FKVTtBQUtYd3ZCLEVBQUFBLFlBQVksRUFBR3h2QixHQUFELElBQWNzcUIsYUFBYSxDQUFDdHFCLEdBQUQsQ0FMOUI7QUFNWHl2QixFQUFBQSxTQUFTLEVBQUd6dkIsR0FBRCxJQUFjO0FBQ3ZCLFVBQU1GLElBQUksR0FBR2t1QixZQUFZLENBQUNoVixHQUFiLENBQWlCaFosR0FBakIsQ0FBYjtBQUNBLFdBQU9GLElBQVAsYUFBT0EsSUFBUCxjQUFPQSxJQUFQLEdBQWUsTUFBZjtBQUNELEdBVFU7QUFVWDR2QixFQUFBQSxXQUFXLEVBQUUsTUFBdUJ6QyxRQVZ6QjtBQVdYMEMsRUFBQUEsU0FBUyxFQUFHM3ZCLEdBQUQsSUFBY2t0QixRQUFRLENBQUNuc0IsUUFBVCxDQUFrQmYsR0FBbEIsQ0FYZDtBQVlYNHZCLEVBQUFBLFdBQVcsRUFBRzV2QixHQUFELElBQWNtdEIsVUFBVSxDQUFDcHNCLFFBQVgsQ0FBb0JmLEdBQXBCLENBWmhCO0FBYVg2dkIsRUFBQUEsYUFBYSxFQUFHN3ZCLEdBQUQsSUFBY290QixZQUFZLENBQUNyc0IsUUFBYixDQUFzQmYsR0FBdEIsQ0FibEI7QUFjWDh2QixFQUFBQSxjQUFjLEVBQUc5dkIsR0FBRCxJQUFjcXRCLGFBQWEsQ0FBQ3RzQixRQUFkLENBQXVCZixHQUF2QixDQWRuQjtBQWVYK3ZCLEVBQUFBLGNBQWMsRUFBRy92QixHQUFELElBQWNzdEIsYUFBYSxDQUFDdnNCLFFBQWQsQ0FBdUJmLEdBQXZCLENBZm5CO0FBZ0JYZ3dCLEVBQUFBLFFBQVEsRUFBR2h3QixHQUFELElBQWN1dEIsT0FBTyxDQUFDeHNCLFFBQVIsQ0FBaUJmLEdBQWpCLENBaEJiO0FBaUJYaXdCLEVBQUFBLGFBQWEsRUFBR2p3QixHQUFELElBQWN3dEIsWUFBWSxDQUFDenNCLFFBQWIsQ0FBc0JmLEdBQXRCLENBakJsQjtBQWtCWGt3QixFQUFBQSxjQUFjLEVBQUdsd0IsR0FBRCxJQUFjeXRCLGFBQWEsQ0FBQzFzQixRQUFkLENBQXVCZixHQUF2QixDQWxCbkI7QUFtQlhtd0IsRUFBQUEsV0FBVyxFQUFHbndCLEdBQUQsSUFBYztBQUN6QixXQUFPLENBQUN3dEIsWUFBWSxDQUFDenNCLFFBQWIsQ0FBc0JmLEdBQXRCLENBQUQsSUFBK0IsQ0FBQ3l0QixhQUFhLENBQUMxc0IsUUFBZCxDQUF1QmYsR0FBdkIsQ0FBdkM7QUFDRCxHQXJCVTtBQXNCWG93QixFQUFBQSxPQUFPLEVBQUdwd0IsR0FBRCxJQUFjMHRCLFFBQVEsQ0FBQzNzQixRQUFULENBQWtCZixHQUFsQixDQXRCWjtBQXVCWHF3QixFQUFBQSxVQUFVLEVBQUdyd0IsR0FBRCxJQUFjMnRCLFdBQVcsQ0FBQzVzQixRQUFaLENBQXFCZixHQUFyQixDQXZCZjtBQXdCWHN3QixFQUFBQSxRQUFRLEVBQUd0d0IsR0FBRCxJQUFjNHRCLFNBQVMsQ0FBQzdzQixRQUFWLENBQW1CZixHQUFuQixDQXhCYjtBQXlCWHV3QixFQUFBQSxVQUFVLEVBQUd2d0IsR0FBRCxJQUFjK3RCLFdBQVcsQ0FBQ2h0QixRQUFaLENBQXFCZixHQUFyQixDQXpCZjtBQTBCWHd3QixFQUFBQSxRQUFRLEVBQUd4d0IsR0FBRCxJQUFjNnRCLFNBQVMsQ0FBQzlzQixRQUFWLENBQW1CZixHQUFuQixDQTFCYjtBQTJCWHl3QixFQUFBQSxRQUFRLEVBQUd6d0IsR0FBRCxJQUFjOHRCLFNBQVMsQ0FBQy9zQixRQUFWLENBQW1CZixHQUFuQixDQTNCYjtBQTRCWDR1QixFQUFBQSxjQUFjLEVBQUVBLGNBNUJMO0FBNkJYOEIsRUFBQUEsb0JBQW9CLEVBQUUsTUFBTTtBQUMxQixXQUFPdEMsaUJBQWlCLENBQUN4aEIsTUFBbEIsR0FBMkIsQ0FBbEMsRUFBcUM7QUFDbkMsWUFBTStqQixLQUFLLEdBQUd2QyxpQkFBaUIsQ0FBQ3dDLEdBQWxCLEVBQWQ7QUFDQSxVQUFJRCxLQUFKLEVBQ0VBLEtBQUssQ0FBQ3BDLE1BQU4sR0FBZSxJQUFmO0FBQ0g7QUFDRjtBQW5DVSxDQUFiO0FBc0NBLGlFQUFlMU0sSUFBZjs7Ozs7Ozs7OztBQ3RNQTtBQUNBO0FBRUEsTUFBTXJpQixJQUFJLEdBQUc7QUFDWCxvQkFBa0IsR0FEUDtBQUVYLHNCQUFvQixJQUZUO0FBR1gsbUJBQWlCLElBSE47QUFJWCw0QkFBMEIsR0FKZjtBQUtYLDBCQUF3QixHQUxiO0FBTVgsdUJBQXFCLEdBTlY7QUFPWCxxQkFBbUIsR0FQUjtBQVFYLDBCQUF3QixHQVJiO0FBU1gscUNBQW1DLEdBVHhCO0FBVVgsaUJBQWUsR0FWSjtBQVdYLHFCQUFtQixHQVhSO0FBWVgsY0FBWSxHQVpEO0FBYVgsZ0NBQThCLEdBYm5CO0FBY1gsc0NBQW9DLEdBZHpCO0FBZVgsNkJBQTJCLEdBZmhCO0FBZ0JYLG1DQUFpQyxHQWhCdEI7QUFpQlgsb0NBQWtDLEdBakJ2QjtBQWtCWCwwQ0FBd0MsR0FsQjdCO0FBbUJYLG1DQUFpQyxHQW5CdEI7QUFvQlgseUNBQXVDLEdBcEI1QjtBQXFCWCxnQ0FBOEIsR0FyQm5CO0FBc0JYLHNDQUFvQyxHQXRCekI7QUF1QlgsaUNBQStCLEdBdkJwQjtBQXdCWCx1Q0FBcUMsR0F4QjFCO0FBeUJYLDhCQUE0QixHQXpCakI7QUEwQlgsb0NBQWtDLEdBMUJ2QjtBQTJCWCxrQ0FBZ0MsR0EzQnJCO0FBNEJYLHdDQUFzQyxHQTVCM0I7QUE2QlgsaUNBQStCLEdBN0JwQjtBQThCWCx1Q0FBcUMsR0E5QjFCO0FBK0JYLDhCQUE0QixHQS9CakI7QUFnQ1gsb0NBQWtDLEdBaEN2QjtBQWlDWCxtQ0FBaUMsR0FqQ3RCO0FBa0NYLHlDQUF1QyxHQWxDNUI7QUFtQ1gsa0NBQWdDLEdBbkNyQjtBQW9DWCx3Q0FBc0MsR0FwQzNCO0FBcUNYLCtCQUE2QixHQXJDbEI7QUFzQ1gsNEJBQTBCLEdBdENmO0FBdUNYLG1CQUFpQixHQXZDTjtBQXdDWCx5QkFBdUIsR0F4Q1o7QUF5Q1gsbUJBQWlCLEdBekNOO0FBMENYLHlCQUF1QixHQTFDWjtBQTJDWCxtQkFBaUIsR0EzQ047QUE0Q1gseUJBQXVCLEdBNUNaO0FBNkNYLG1CQUFpQixHQTdDTjtBQThDWCx5QkFBdUIsR0E5Q1o7QUErQ1gsYUFBVyxHQS9DQTtBQWdEWCxpQkFBZSxHQWhESjtBQWlEWCxxQkFBbUIsR0FqRFI7QUFrRFgsZUFBYSxHQWxERjtBQW1EWCxxQkFBbUIsR0FuRFI7QUFvRFgsa0JBQWdCLEdBcERMO0FBcURYLG9CQUFrQixHQXJEUDtBQXNEWCxzQkFBb0IsSUF0RFQ7QUF1RFgsOEJBQTRCLElBdkRqQjtBQXdEWCxvQ0FBa0MsSUF4RHZCO0FBeURYLCtCQUE2QixJQXpEbEI7QUEwRFgscUNBQW1DLElBMUR4QjtBQTJEWCwrQkFBNkIsSUEzRGxCO0FBNERYLHFDQUFtQyxJQTVEeEI7QUE2RFgsOEJBQTRCLElBN0RqQjtBQThEWCxvQ0FBa0MsSUE5RHZCO0FBK0RYLG9DQUFrQyxHQS9EdkI7QUFnRVgsZ0JBQWMsR0FoRUg7QUFpRVgsOEJBQTRCLEdBakVqQjtBQWtFWCxhQUFXLEdBbEVBO0FBbUVYLGtCQUFnQixHQW5FTDtBQW9FWCxtQkFBaUIsR0FwRU47QUFxRVgsK0JBQTZCLEdBckVsQjtBQXNFWCxtQ0FBaUMsR0F0RXRCO0FBdUVYLHdCQUFzQixHQXZFWDtBQXdFWCwwQkFBd0IsR0F4RWI7QUF5RVgsb0JBQWtCLEdBekVQO0FBMEVYLHVCQUFxQixHQTFFVjtBQTJFWCwyQkFBeUIsR0EzRWQ7QUE0RVgsa0JBQWdCLEdBNUVMO0FBNkVYLG1CQUFpQixHQTdFTjtBQThFWCxxQkFBbUIsR0E5RVI7QUErRVgsb0JBQWtCLEdBL0VQO0FBZ0ZYLDRCQUEwQixHQWhGZjtBQWlGWCwyQkFBeUIsR0FqRmQ7QUFrRlgsdUJBQXFCLEdBbEZWO0FBbUZYLG1CQUFpQixHQW5GTjtBQW9GWCxxQkFBbUIsR0FwRlI7QUFxRlgsNEJBQTBCLEdBckZmO0FBc0ZYLDRCQUEwQixHQXRGZjtBQXVGWCw4QkFBNEIsR0F2RmpCO0FBd0ZYLHlCQUF1QixHQXhGWjtBQXlGWCxpQkFBZSxHQXpGSjtBQTBGWCx3QkFBc0IsR0ExRlg7QUEyRlgsOEJBQTRCLEdBM0ZqQjtBQTRGWCw4QkFBNEIsR0E1RmpCO0FBNkZYLGlCQUFlLEdBN0ZKO0FBOEZYLHdCQUFzQixHQTlGWDtBQStGWCwrQkFBNkIsR0EvRmxCO0FBZ0dYLHdCQUFzQixHQWhHWDtBQWlHWCwrQkFBNkIsR0FqR2xCO0FBa0dYLHdCQUFzQixHQWxHWDtBQW1HWCwrQkFBNkIsR0FuR2xCO0FBb0dYLHFCQUFtQixHQXBHUjtBQXFHWCx5QkFBdUIsR0FyR1o7QUFzR1gsK0JBQTZCLEdBdEdsQjtBQXVHWCxnQkFBYyxHQXZHSDtBQXdHWCx1QkFBcUIsR0F4R1Y7QUF5R1gsbUJBQWlCLEdBekdOO0FBMEdYLDRCQUEwQixHQTFHZjtBQTJHWCxtQkFBaUIsR0EzR047QUE0R1gseUJBQXVCLEdBNUdaO0FBNkdYLG1CQUFpQixHQTdHTjtBQThHWCx5QkFBdUIsR0E5R1o7QUErR1gsbUJBQWlCLEdBL0dOO0FBZ0hYLHlCQUF1QixHQWhIWjtBQWlIWCxtQkFBaUIsR0FqSE47QUFrSFgseUJBQXVCLEdBbEhaO0FBbUhYLHFCQUFtQixHQW5IUjtBQW9IWCwyQkFBeUIsR0FwSGQ7QUFxSFgsY0FBWSxHQXJIRDtBQXNIWCxnQkFBYyxHQXRISDtBQXVIWCxpQkFBZSxHQXZISjtBQXdIWCxlQUFhLEdBeEhGO0FBeUhYLHFCQUFtQixHQXpIUjtBQTBIWCxnQkFBYyxHQTFISDtBQTJIWCxxQkFBbUIsR0EzSFI7QUE0SFgscUJBQW1CLEdBNUhSO0FBNkhYLHNCQUFvQixHQTdIVDtBQThIWCw0QkFBMEIsR0E5SGY7QUErSFgseUJBQXVCLEdBL0haO0FBZ0lYLCtCQUE2QixHQWhJbEI7QUFpSVgsMkJBQXlCLEdBaklkO0FBa0lYLGlDQUErQixHQWxJcEI7QUFtSVgsd0JBQXNCLEdBbklYO0FBb0lYLDhCQUE0QixHQXBJakI7QUFxSVgsOEJBQTRCLEdBcklqQjtBQXNJWCxvQ0FBa0MsR0F0SXZCO0FBdUlYLDBCQUF3QixHQXZJYjtBQXdJWCxnQ0FBOEIsR0F4SW5CO0FBeUlYLHdCQUFzQixHQXpJWDtBQTBJWCw4QkFBNEIsR0ExSWpCO0FBMklYLHVCQUFxQixHQTNJVjtBQTRJWCw2QkFBMkIsR0E1SWhCO0FBNklYLDJCQUF5QixHQTdJZDtBQThJWCxpQ0FBK0IsR0E5SXBCO0FBK0lYLHFCQUFtQixHQS9JUjtBQWdKWCwyQkFBeUIsR0FoSmQ7QUFpSlgsMEJBQXdCLEdBakpiO0FBa0pYLGdDQUE4QixHQWxKbkI7QUFtSlgsMEJBQXdCLEdBbkpiO0FBb0pYLGdDQUE4QixHQXBKbkI7QUFxSlgsV0FBUyxHQXJKRTtBQXNKWCxlQUFhLEdBdEpGO0FBdUpYLHNCQUFvQixHQXZKVDtBQXdKWCx1QkFBcUIsR0F4SlY7QUF5SlgsZUFBYSxJQXpKRjtBQTBKWCwyQkFBeUIsR0ExSmQ7QUEySlgsYUFBVyxHQTNKQTtBQTRKWCwwQkFBd0IsSUE1SmI7QUE2SlgsMkJBQXlCLEdBN0pkO0FBOEpYLG1DQUFpQyxHQTlKdEI7QUErSlgsMENBQXdDLEdBL0o3QjtBQWdLWCxtQkFBaUIsR0FoS047QUFpS1gsbUJBQWlCLEdBaktOO0FBa0tYLGtCQUFnQixHQWxLTDtBQW1LWCxrQ0FBZ0MsR0FuS3JCO0FBb0tYLGdCQUFjLEdBcEtIO0FBcUtYLCtDQUE2QyxHQXJLbEM7QUFzS1gsZUFBYSxHQXRLRjtBQXVLWCxjQUFZLEdBdktEO0FBd0tYLGtCQUFnQixHQXhLTDtBQXlLWCxpQkFBZSxHQXpLSjtBQTBLWCxxQkFBbUIsR0ExS1I7QUEyS1gsZ0JBQWMsR0EzS0g7QUE0S1gsd0JBQXNCLEdBNUtYO0FBNktYLDZCQUEyQixHQTdLaEI7QUE4S1gsNEJBQTBCLEdBOUtmO0FBK0tYLDZCQUEyQixHQS9LaEI7QUFnTFgsNkJBQTJCLEdBaExoQjtBQWlMWCw2QkFBMkIsR0FqTGhCO0FBa0xYLDZCQUEyQixHQWxMaEI7QUFtTFgsNkJBQTJCLEdBbkxoQjtBQW9MWCw2QkFBMkIsR0FwTGhCO0FBcUxYLDZCQUEyQixHQXJMaEI7QUFzTFgsOEJBQTRCLEdBdExqQjtBQXVMWCxlQUFhLEdBdkxGO0FBd0xYLHNCQUFvQixHQXhMVDtBQXlMWCxjQUFZLEdBekxEO0FBMExYLHdCQUFzQixHQTFMWDtBQTJMWCxpQkFBZSxHQTNMSjtBQTRMWCxzQkFBb0IsR0E1TFQ7QUE2TFgscUJBQW1CLEdBN0xSO0FBOExYLHlCQUF1QixHQTlMWjtBQStMWCxnQkFBYyxHQS9MSDtBQWdNWCxZQUFVLEdBaE1DO0FBaU1YLG1CQUFpQixJQWpNTjtBQWtNWCxpQkFBZSxHQWxNSjtBQW1NWCxnQ0FBOEIsR0FuTW5CO0FBb01YLDBCQUF3QixHQXBNYjtBQXFNWCxzQkFBb0IsR0FyTVQ7QUFzTVgsY0FBWSxHQXRNRDtBQXVNWCx1QkFBcUIsR0F2TVY7QUF3TVgsWUFBVSxHQXhNQztBQXlNWCxrQkFBZ0IsR0F6TUw7QUEwTVgsa0JBQWdCLEdBMU1MO0FBMk1YLGlCQUFlLEdBM01KO0FBNE1YLGdCQUFjLElBNU1IO0FBNk1YLGNBQVksR0E3TUQ7QUE4TVgsa0NBQWdDLEdBOU1yQjtBQStNWCw4QkFBNEIsSUEvTWpCO0FBZ05YLDRCQUEwQixHQWhOZjtBQWlOWCw0QkFBMEIsR0FqTmY7QUFrTlgsc0JBQW9CLEdBbE5UO0FBbU5YLDBCQUF3QixHQW5OYjtBQW9OWCwyQkFBeUIsR0FwTmQ7QUFxTlgsd0JBQXNCLEdBck5YO0FBc05YLG9CQUFrQixHQXROUDtBQXVOWCxtQkFBaUIsR0F2Tk47QUF3Tlgsa0JBQWdCLEdBeE5MO0FBeU5YLG9CQUFrQixHQXpOUDtBQTBOWCxjQUFZLElBMU5EO0FBMk5YLG1CQUFpQixHQTNOTjtBQTROWCxtQkFBaUIsR0E1Tk47QUE2TlgsMEJBQXdCLEdBN05iO0FBOE5YLHlCQUF1QixHQTlOWjtBQStOWCxvQkFBa0IsR0EvTlA7QUFnT1gsVUFBUSxHQWhPRztBQWlPWCxjQUFZLEdBak9EO0FBa09YLHFCQUFtQixHQWxPUjtBQW1PWCxZQUFVLEdBbk9DO0FBb09YLFlBQVUsR0FwT0M7QUFxT1gsZUFBYSxHQXJPRjtBQXNPWCxpQkFBZSxHQXRPSjtBQXVPWCxpQkFBZSxHQXZPSjtBQXdPWCxzQkFBb0IsR0F4T1Q7QUF5T1gscUJBQW1CLEdBek9SO0FBME9YLGtCQUFnQixHQTFPTDtBQTJPWCxpQkFBZSxHQTNPSjtBQTRPWCxrQkFBZ0IsR0E1T0w7QUE2T1gsd0JBQXNCLEdBN09YO0FBOE9YLDhCQUE0QixHQTlPakI7QUErT1gsbUJBQWlCLEdBL09OO0FBZ1BYLHFCQUFtQixHQWhQUjtBQWlQWCxtQkFBaUIsR0FqUE47QUFrUFgsY0FBWSxHQWxQRDtBQW1QWCxrQkFBZ0IsR0FuUEw7QUFvUFgsc0JBQW9CLEdBcFBUO0FBcVBYLHlCQUF1QixHQXJQWjtBQXNQWCxlQUFhLEdBdFBGO0FBdVBYLHFCQUFtQixHQXZQUjtBQXdQWCxxQkFBbUIsR0F4UFI7QUF5UFgsa0JBQWdCLEdBelBMO0FBMFBYLGdCQUFjLElBMVBIO0FBMlBYLDZCQUEyQixHQTNQaEI7QUE0UFgsaUNBQStCLEdBNVBwQjtBQTZQWCxjQUFZLEdBN1BEO0FBOFBYLGtCQUFnQixHQTlQTDtBQStQWCxtQkFBaUIsR0EvUE47QUFnUVgsbUJBQWlCLEdBaFFOO0FBaVFYLDRCQUEwQixHQWpRZjtBQWtRWCxtQkFBaUIsR0FsUU47QUFtUVgseUJBQXVCLEdBblFaO0FBb1FYLG1CQUFpQixHQXBRTjtBQXFRWCx5QkFBdUIsR0FyUVo7QUFzUVgsbUJBQWlCLEdBdFFOO0FBdVFYLHlCQUF1QixHQXZRWjtBQXdRWCxtQkFBaUIsR0F4UU47QUF5UVgseUJBQXVCLEdBelFaO0FBMFFYLGNBQVksR0ExUUQ7QUEyUVgsZUFBYSxHQTNRRjtBQTRRWCxZQUFVLEdBNVFDO0FBNlFYLGdCQUFjLEdBN1FIO0FBOFFYLGNBQVksR0E5UUQ7QUErUVgsbUJBQWlCLEdBL1FOO0FBZ1JYLGlCQUFlLEdBaFJKO0FBaVJYLHNCQUFvQixHQWpSVDtBQWtSWCxtQkFBaUIsR0FsUk47QUFtUlgsb0JBQWtCLEdBblJQO0FBb1JYLHFCQUFtQixHQXBSUjtBQXFSWCxrQkFBZ0IsR0FyUkw7QUFzUlgsaUJBQWUsR0F0Uko7QUF1UlgsY0FBWSxHQXZSRDtBQXdSWCxhQUFXLEdBeFJBO0FBeVJYLHdDQUFzQyxHQXpSM0I7QUEwUlgsbUJBQWlCLEdBMVJOO0FBMlJYLG1DQUFpQyxHQTNSdEI7QUE0UlgsZ0NBQThCLEdBNVJuQjtBQTZSWCxrQ0FBZ0MsR0E3UnJCO0FBOFJYLGtCQUFnQixHQTlSTDtBQStSWCxrQkFBZ0IsR0EvUkw7QUFnU1gsa0JBQWdCLEdBaFNMO0FBaVNYLG1CQUFpQixHQWpTTjtBQWtTWCxzQkFBb0IsR0FsU1Q7QUFtU1gsa0NBQWdDLEdBblNyQjtBQW9TWCxrQ0FBZ0MsR0FwU3JCO0FBcVNYLGtDQUFnQyxHQXJTckI7QUFzU1gsa0NBQWdDLEdBdFNyQjtBQXVTWCxrQ0FBZ0MsR0F2U3JCO0FBd1NYLDhCQUE0QixHQXhTakI7QUF5U1gscUJBQW1CLEdBelNSO0FBMFNYLDRCQUEwQixHQTFTZjtBQTJTWCx5QkFBdUIsR0EzU1o7QUE0U1gsc0JBQW9CLEdBNVNUO0FBNlNYLDRCQUEwQixHQTdTZjtBQThTWCxhQUFXLEdBOVNBO0FBK1NYLHVCQUFxQixHQS9TVjtBQWdUWCxpQ0FBK0IsR0FoVHBCO0FBaVRYLGtCQUFnQixHQWpUTDtBQWtUWCxzQkFBb0IsR0FsVFQ7QUFtVFgsa0JBQWdCLEdBblRMO0FBb1RYLHlCQUF1QixHQXBUWjtBQXFUWCxzQkFBb0IsR0FyVFQ7QUFzVFgsNkJBQTJCLEdBdFRoQjtBQXVUWCxvQ0FBa0MsR0F2VHZCO0FBd1RYLG1CQUFpQixHQXhUTjtBQXlUWCxzQkFBb0IsR0F6VFQ7QUEwVFgsNkJBQTJCLEdBMVRoQjtBQTJUWCxtQkFBaUIsR0EzVE47QUE0VFgsaUJBQWUsR0E1VEo7QUE2VFgsZUFBYSxHQTdURjtBQThUWCxtQkFBaUIsR0E5VE47QUErVFgsbUJBQWlCLEdBL1ROO0FBZ1VYLDZCQUEyQixHQWhVaEI7QUFpVVgsaUNBQStCLEdBalVwQjtBQWtVWCw4QkFBNEIsR0FsVWpCO0FBbVVYLGdDQUE4QixHQW5VbkI7QUFvVVgscUJBQW1CLEdBcFVSO0FBcVVYLG9CQUFrQixHQXJVUDtBQXNVWCwyQkFBeUIsR0F0VWQ7QUF1VVgsNkJBQTJCLEdBdlVoQjtBQXdVWCw0QkFBMEIsR0F4VWY7QUF5VVgsNEJBQTBCLEdBelVmO0FBMFVYLGtCQUFnQixHQTFVTDtBQTJVWCxrQkFBZ0IsR0EzVUw7QUE0VVgsZ0NBQThCLEdBNVVuQjtBQTZVWCx1QkFBcUIsSUE3VVY7QUE4VVgsdUJBQXFCLEdBOVVWO0FBK1VYLHFDQUFtQyxHQS9VeEI7QUFnVlgsd0NBQXNDLEdBaFYzQjtBQWlWWCxtQ0FBaUMsR0FqVnRCO0FBa1ZYLG9CQUFrQixHQWxWUDtBQW1WWCx3QkFBc0IsR0FuVlg7QUFvVlgsc0JBQW9CLEdBcFZUO0FBcVZYLDZCQUEyQixHQXJWaEI7QUFzVlgsZ0NBQThCLEdBdFZuQjtBQXVWWCxnQ0FBOEIsR0F2Vm5CO0FBd1ZYLGdDQUE4QixHQXhWbkI7QUF5VlgsZ0NBQThCLEdBelZuQjtBQTBWWCxpQkFBZSxHQTFWSjtBQTJWWCwwQkFBd0IsR0EzVmI7QUE0Vlgsa0NBQWdDLEdBNVZyQjtBQTZWWCxtQ0FBaUMsR0E3VnRCO0FBOFZYLGlDQUErQixHQTlWcEI7QUErVlgsaUNBQStCLEdBL1ZwQjtBQWdXWCx5QkFBdUIsR0FoV1o7QUFpV1gsNkJBQTJCLEdBaldoQjtBQWtXWCxnQkFBYyxHQWxXSDtBQW1XWCxvQkFBa0IsR0FuV1A7QUFvV1gsb0JBQWtCLElBcFdQO0FBcVdYLG9CQUFrQixHQXJXUDtBQXNXWCwwQkFBd0IsR0F0V2I7QUF1V1gsOEJBQTRCLEdBdldqQjtBQXdXWCxrQkFBZ0IsR0F4V0w7QUF5V1gseUJBQXVCLEdBeldaO0FBMFdYLDBCQUF3QixHQTFXYjtBQTJXWCxzQkFBb0IsR0EzV1Q7QUE0V1gsc0JBQW9CLElBNVdUO0FBNldYLHFCQUFtQixHQTdXUjtBQThXWCwwQkFBd0IsR0E5V2I7QUErV1gsdUJBQXFCLEdBL1dWO0FBZ1hYLDZCQUEyQixHQWhYaEI7QUFpWFgsbUJBQWlCLEdBalhOO0FBa1hYLDBCQUF3QixHQWxYYjtBQW1YWCx1QkFBcUIsR0FuWFY7QUFvWFgsc0JBQW9CLEdBcFhUO0FBcVhYLGlCQUFlLEdBclhKO0FBc1hYLHdCQUFzQixHQXRYWDtBQXVYWCx3QkFBc0IsR0F2WFg7QUF3WFgsbUJBQWlCLElBeFhOO0FBeVhYLCtCQUE2QixHQXpYbEI7QUEwWFgsNkJBQTJCLEdBMVhoQjtBQTJYWCwwQkFBd0IsR0EzWGI7QUE0WFgsY0FBWSxHQTVYRDtBQTZYWCx3QkFBc0IsR0E3WFg7QUE4WFgsMkJBQXlCLEdBOVhkO0FBK1hYLDBCQUF3QixHQS9YYjtBQWdZWCw4QkFBNEIsR0FoWWpCO0FBaVlYLG1DQUFpQyxHQWpZdEI7QUFrWVgscUNBQW1DLEdBbFl4QjtBQW1ZWCxvQ0FBa0MsR0FuWXZCO0FBb1lYLHNDQUFvQyxHQXBZekI7QUFxWVgscUNBQW1DLEdBcll4QjtBQXNZWCxzQ0FBb0MsR0F0WXpCO0FBdVlYLG1DQUFpQyxHQXZZdEI7QUF3WVgsb0NBQWtDLEdBeFl2QjtBQXlZWCxzQkFBb0IsR0F6WVQ7QUEwWVgsY0FBWSxHQTFZRDtBQTJZWCxxQkFBbUIsR0EzWVI7QUE0WVgsa0JBQWdCLEdBNVlMO0FBNllYLG9CQUFrQixHQTdZUDtBQThZWCx5QkFBdUIsR0E5WVo7QUErWVgsaUNBQStCLEdBL1lwQjtBQWdaWCxxQ0FBbUMsR0FoWnhCO0FBaVpYLHFDQUFtQyxHQWpaeEI7QUFrWlgsbUNBQWlDLEdBbFp0QjtBQW1aWCxxQ0FBbUMsR0FuWnhCO0FBb1pYLHFDQUFtQyxHQXBaeEI7QUFxWlgscUNBQW1DLEdBclp4QjtBQXNaWCxxQ0FBbUMsR0F0WnhCO0FBdVpYLHFDQUFtQyxHQXZaeEI7QUF3WlgscUNBQW1DLEdBeFp4QjtBQXlaWCxxQ0FBbUMsR0F6WnhCO0FBMFpYLHFDQUFtQyxHQTFaeEI7QUEyWlgsa0NBQWdDLEdBM1pyQjtBQTRaWCxtQ0FBaUMsR0E1WnRCO0FBNlpYLG1DQUFpQyxHQTdadEI7QUE4WlgsbUNBQWlDLEdBOVp0QjtBQStaWCxtQ0FBaUMsR0EvWnRCO0FBZ2FYLG1DQUFpQyxHQWhhdEI7QUFpYVgsbUNBQWlDLEdBamF0QjtBQWthWCxtQ0FBaUMsR0FsYXRCO0FBbWFYLG9DQUFrQyxHQW5hdkI7QUFvYVgsY0FBWSxHQXBhRDtBQXFhWCxzQkFBb0IsR0FyYVQ7QUFzYVgsZ0JBQWMsR0F0YUg7QUF1YVgsc0JBQW9CLEdBdmFUO0FBd2FYLDZCQUEyQixHQXhhaEI7QUF5YVgsbUJBQWlCLEdBemFOO0FBMGFYLHNCQUFvQixHQTFhVDtBQTJhWCxvQkFBa0IsR0EzYVA7QUE0YVgseUJBQXVCLEdBNWFaO0FBNmFYLGlCQUFlLEdBN2FKO0FBOGFYLDJCQUF5QixHQTlhZDtBQSthWCw4QkFBNEIsR0EvYWpCO0FBZ2JYLHVCQUFxQixHQWhiVjtBQWliWCxnQkFBYyxHQWpiSDtBQWtiWCxvQkFBa0IsR0FsYlA7QUFtYlgsd0JBQXNCLEdBbmJYO0FBb2JYLCtCQUE2QixHQXBibEI7QUFxYlgsdUNBQXFDLEdBcmIxQjtBQXNiWCx1Q0FBcUMsR0F0YjFCO0FBdWJYLHVDQUFxQyxHQXZiMUI7QUF3YlgsdUNBQXFDLEdBeGIxQjtBQXliWCxpQ0FBK0IsR0F6YnBCO0FBMGJYLGlDQUErQixHQTFicEI7QUEyYlgsaUNBQStCLEdBM2JwQjtBQTRiWCxpQ0FBK0IsR0E1YnBCO0FBNmJYLCtCQUE2QixHQTdibEI7QUE4Ylgsc0NBQW9DLEdBOWJ6QjtBQStiWCwyQkFBeUIsR0EvYmQ7QUFnY1gscUJBQW1CLEdBaGNSO0FBaWNYLHFCQUFtQixHQWpjUjtBQWtjWCx5QkFBdUIsR0FsY1o7QUFtY1gsbUJBQWlCLEdBbmNOO0FBb2NYLHVCQUFxQixHQXBjVjtBQXFjWCw0QkFBMEIsR0FyY2Y7QUFzY1gseUJBQXVCLEdBdGNaO0FBdWNYLDJCQUF5QixHQXZjZDtBQXdjWCwrQkFBNkIsR0F4Y2xCO0FBeWNYLHdCQUFzQixHQXpjWDtBQTBjWCx5QkFBdUIsR0ExY1o7QUEyY1gsNkJBQTJCLEdBM2NoQjtBQTRjWCxnQkFBYyxHQTVjSDtBQTZjWCx3QkFBc0IsR0E3Y1g7QUE4Y1gsOEJBQTRCLEdBOWNqQjtBQStjWCwrQkFBNkIsR0EvY2xCO0FBZ2RYLHFCQUFtQixHQWhkUjtBQWlkWCxtQkFBaUIsR0FqZE47QUFrZFgsOEJBQTRCLEdBbGRqQjtBQW1kWCxpQkFBZSxHQW5kSjtBQW9kWCxzQ0FBb0MsR0FwZHpCO0FBcWRYLDRCQUEwQixHQXJkZjtBQXNkWCxjQUFZLEdBdGREO0FBdWRYLGdCQUFjLEdBdmRIO0FBd2RYLHdCQUFzQixHQXhkWDtBQXlkWCw0QkFBMEIsR0F6ZGY7QUEwZFgsK0JBQTZCLEdBMWRsQjtBQTJkWCwyQkFBeUIsR0EzZGQ7QUE0ZFgsMEJBQXdCLEdBNWRiO0FBNmRYLHVCQUFxQixHQTdkVjtBQThkWCx5QkFBdUIsR0E5ZFo7QUErZFgsc0JBQW9CLEdBL2RUO0FBZ2VYLHdCQUFzQixHQWhlWDtBQWllWCx1QkFBcUIsR0FqZVY7QUFrZVgsOEJBQTRCLEdBbGVqQjtBQW1lWCx3QkFBc0IsR0FuZVg7QUFvZVgscUJBQW1CLEdBcGVSO0FBcWVYLHVCQUFxQixHQXJlVjtBQXNlWCxvQkFBa0IsR0F0ZVA7QUF1ZVgsa0JBQWdCLElBdmVMO0FBd2VYLG1DQUFpQyxHQXhldEI7QUF5ZVgsK0JBQTZCLEdBemVsQjtBQTBlWCxzQkFBb0IsR0ExZVQ7QUEyZVgsc0JBQW9CLEdBM2VUO0FBNGVYLGlCQUFlLEdBNWVKO0FBNmVYLG1CQUFpQixHQTdlTjtBQThlWCxtQkFBaUIsR0E5ZU47QUErZVgsZ0JBQWMsR0EvZUg7QUFnZlgsZUFBYSxHQWhmRjtBQWlmWCxnQ0FBOEIsR0FqZm5CO0FBa2ZYLFlBQVUsR0FsZkM7QUFtZlgscUJBQW1CLEdBbmZSO0FBb2ZYLHFCQUFtQixHQXBmUjtBQXFmWCxzQkFBb0IsR0FyZlQ7QUFzZlgsdUJBQXFCLEdBdGZWO0FBdWZYLG1CQUFpQixHQXZmTjtBQXdmWCxxQkFBbUIsSUF4ZlI7QUF5ZlgsZUFBYSxHQXpmRjtBQTBmWCxZQUFVLEdBMWZDO0FBMmZYLFlBQVU7QUEzZkMsQ0FBYjtBQThmQSxpRUFBZUEsSUFBZjs7Ozs7Ozs7OztBQ2pnQkE7QUFDQTtBQWdCQSxNQUFNQSxJQUFrQixHQUFHO0FBQ3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTTtBQUpBLEtBSEo7QUFTSixlQUFXLENBVFA7QUFVSixlQUFXLENBVlA7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQURtQjtBQWV6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSwyQkFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTTtBQUpBLEtBSEo7QUFTSixlQUFXLENBQUMsR0FUUjtBQVVKLGVBQVcsQ0FBQyxHQVZSO0FBV0osa0JBQWMsR0FYVjtBQVlKLG1CQUFlO0FBWlgsR0FmbUI7QUE2QnpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLG9DQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sOENBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQTdCbUI7QUEyQ3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQTNDbUI7QUF5RHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sK0NBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXpEbUI7QUF1RXpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXZFbUI7QUFxRnpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0saURBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQXJGbUI7QUFtR3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLDRCQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQW5HbUI7QUFpSHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLHFDQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNO0FBSkEsS0FISjtBQVNKLGVBQVcsQ0FBQyxHQVRSO0FBVUosZUFBVyxDQUFDLEdBVlI7QUFXSixrQkFBYyxHQVhWO0FBWUosbUJBQWU7QUFaWCxHQWpIbUI7QUErSHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBL0htQjtBQThJekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0E5SW1CO0FBNkp6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQTdKbUI7QUE0S3pCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBQUMsR0FWUjtBQVdKLGVBQVcsQ0FBQyxHQVhSO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0E1S21CO0FBMkx6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQTNMbUI7QUEwTXpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBMU1tQjtBQXlOekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0F6Tm1CO0FBd096QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsR0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBeE9tQjtBQXVQekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0F2UG1CO0FBc1F6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNO0FBTEEsS0FISjtBQVVKLGVBQVcsQ0FWUDtBQVdKLGVBQVcsQ0FYUDtBQVlKLGtCQUFjLEdBWlY7QUFhSixtQkFBZTtBQWJYLEdBdFFtQjtBQXFSekIsUUFBTTtBQUNKLG1CQUFlLENBRFg7QUFFSixpQkFBYSxDQUZUO0FBR0osWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxDQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0FyUm1CO0FBb1N6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxHQVpWO0FBYUosbUJBQWU7QUFiWCxHQXBTbUI7QUFtVHpCLFFBQU07QUFDSixtQkFBZSxDQURYO0FBRUosaUJBQWEsQ0FGVDtBQUdKLFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhKO0FBVUosZUFBVyxFQVZQO0FBV0osZUFBVyxDQVhQO0FBWUosa0JBQWMsR0FaVjtBQWFKLG1CQUFlO0FBYlgsR0FuVG1CO0FBa1V6QixRQUFNO0FBQ0osbUJBQWUsQ0FEWDtBQUVKLGlCQUFhLENBRlQ7QUFHSixZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTTtBQUxBLEtBSEo7QUFVSixlQUFXLENBVlA7QUFXSixlQUFXLENBWFA7QUFZSixrQkFBYyxFQVpWO0FBYUosbUJBQWU7QUFiWCxHQWxVbUI7QUFpVnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWpWb0I7QUFnV3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWhXb0I7QUErV3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0EvV29CO0FBOFh6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBOVhvQjtBQTZZekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E3WW9CO0FBNFp6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTVab0I7QUEyYXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0EzYW9CO0FBMGJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExYm9CO0FBeWN6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxNQUhBO0FBSU4sWUFBTSxRQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXpjb0I7QUF3ZHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F4ZG9CO0FBdWV6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdmVvQjtBQXNmekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGNBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdGZvQjtBQXFnQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyZ0JvQjtBQW9oQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FwaEJvQjtBQW1pQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBbmlCb0I7QUFtakJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQW5qQm9CO0FBbWtCekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW5rQm9CO0FBa2xCekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWxsQm9CO0FBaW1CekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWptQm9CO0FBZ25CekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sZ0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBaG5Cb0I7QUErbkJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9uQm9CO0FBK29CekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evb0JvQjtBQStwQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBL3BCb0I7QUE4cUJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFNBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGNBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBOXFCb0I7QUE2ckJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFVBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBN3JCb0I7QUE0c0J6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBNXNCb0I7QUEydEJ6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBM3RCb0I7QUEwdUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1Qm9CO0FBMHZCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZCb0I7QUEwd0J6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF3Qm9CO0FBMHhCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXhCb0I7QUEweUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF5Qm9CO0FBMHpCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExekJvQjtBQTAwQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTBCb0I7QUEwMUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTExQm9CO0FBMDJCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTEyQm9CO0FBMDNCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTEzQm9CO0FBMDRCekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNEJvQjtBQTA1QnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTVCb0I7QUEwNkJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNkJvQjtBQTA3QnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTdCb0I7QUEwOEJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMThCb0I7QUEwOUJ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3Q0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExOUJvQjtBQTArQnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExK0JvQjtBQXkvQnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLHNCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXovQm9CO0FBeWdDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemdDb0I7QUF5aEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpoQ29CO0FBeWlDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXppQ29CO0FBeWpDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6akNvQjtBQXlrQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtDb0I7QUF5bEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpsQ29CO0FBeW1DekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bUNvQjtBQXluQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bkNvQjtBQXlvQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem9Db0I7QUF5cEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpwQ29CO0FBeXFDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenFDb0I7QUF5ckN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLFNBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJDb0I7QUF5c0N6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzQ29CO0FBeXRDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFDRSw0RkFMSTtBQU1OLFlBQU0sbUJBTkE7QUFPTixZQUFNO0FBUEEsS0FITDtBQVlILGVBQVcsQ0FaUjtBQWFILGVBQVcsQ0FiUjtBQWNILGtCQUFjLEdBZFg7QUFlSCxtQkFBZTtBQWZaLEdBenRDb0I7QUEwdUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1Q29CO0FBMHZDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZDb0I7QUEwd0N6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Exd0NvQjtBQTB4Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXhDb0I7QUEweUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF5Q29CO0FBMHpDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXpDb0I7QUEwMEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTBDb0I7QUEwMUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTExQ29CO0FBMDJDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExMkNvQjtBQTAzQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTNDb0I7QUEwNEN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sc0NBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTE0Q29CO0FBMDVDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0ExNUNvQjtBQTA2Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMTZDb0I7QUEwN0N6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FBQyxFQVZUO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0ExN0NvQjtBQXk4Q3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw0Q0FIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejhDb0I7QUF5OUN6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo5Q29CO0FBeStDekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6K0NvQjtBQXkvQ3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBei9Db0I7QUF5Z0R6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpnRG9CO0FBeWhEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6aERvQjtBQXlpRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sbUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemlEb0I7QUF5akR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxvQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6akRvQjtBQXlrRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxTQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtEb0I7QUF5bER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemxEb0I7QUF5bUR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bURvQjtBQXluRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx3Q0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpuRG9CO0FBeW9EekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem9Eb0I7QUF5cER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6cERvQjtBQXlxRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sZ0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpxRG9CO0FBeXJEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJEb0I7QUF5c0R6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzRG9CO0FBeXREekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHFDQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6dERvQjtBQXl1RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenVEb0I7QUF5dkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp2RG9CO0FBeXdEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLCtDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6d0RvQjtBQXl4RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sbUJBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp4RG9CO0FBeXlEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenlEb0I7QUF5ekR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sNkJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSx5QkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6ekRvQjtBQXkwRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXowRG9CO0FBeTFEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejFEb0I7QUF5MkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6MkRvQjtBQXkzRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejNEb0I7QUF5NER6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6NERvQjtBQXk1RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBejVEb0I7QUF5NkR6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo2RG9CO0FBeTdEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFlBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo3RG9CO0FBeThEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6OERvQjtBQXk5RHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXo5RG9CO0FBeStEekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6K0RvQjtBQXkvRHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBei9Eb0I7QUF5Z0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpnRW9CO0FBeWhFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6aEVvQjtBQXlpRXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemlFb0I7QUF5akV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBempFb0I7QUF5a0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemtFb0I7QUF5bEV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBemxFb0I7QUF5bUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDhDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBem1Fb0I7QUF5bkV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6bkVvQjtBQXlvRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6b0VvQjtBQXlwRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sK0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpwRW9CO0FBeXFFekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLDhCQUhBO0FBSU4sWUFBTSxpREFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenFFb0I7QUF5ckV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0scUJBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBenJFb0I7QUF5c0V6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXpzRW9CO0FBeXRFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxrQ0FGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp0RW9CO0FBd3VFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXh1RW9CO0FBdXZFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXZ2RW9CO0FBc3dFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXR3RW9CO0FBcXhFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXJ4RW9CO0FBb3lFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxFQVpYO0FBYUgsbUJBQWU7QUFiWixHQXB5RW9CO0FBbXpFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQW56RW9CO0FBbTBFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FuMEVvQjtBQW0xRXpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBbjFFb0I7QUFtMkV6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLFlBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW4yRW9CO0FBazNFekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FsM0VvQjtBQWk0RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGFBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBajRFb0I7QUFpNUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxhQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqNUVvQjtBQWk2RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGVBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWo2RW9CO0FBaTdFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqN0VvQjtBQWk4RXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBajhFb0I7QUFpOUV6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWo5RW9CO0FBaStFekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqK0VvQjtBQWkvRXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxTQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWovRW9CO0FBaWdGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqZ0ZvQjtBQWloRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWpoRm9CO0FBaWlGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sNERBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWppRm9CO0FBaWpGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqakZvQjtBQWlrRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWprRm9CO0FBaWxGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBamxGb0I7QUFpbUZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqbUZvQjtBQWluRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWpuRm9CO0FBaW9GekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fqb0ZvQjtBQWlwRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBanBGb0I7QUFpcUZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMENBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqcUZvQjtBQWlyRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqckZvQjtBQWlzRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fqc0ZvQjtBQWl0RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxxQ0FGQTtBQUdOLFlBQU0sNENBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqdEZvQjtBQWl1RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sK0NBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FqdUZvQjtBQWl2RnpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FqdkZvQjtBQWd3RnpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxtREFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Fod0ZvQjtBQWd4RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoeEZvQjtBQWd5RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHlGb0I7QUFnekZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoekZvQjtBQWcwRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEVBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgwRm9CO0FBZzFGekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0scUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDFGb0I7QUFnMkZ6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxxQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoMkZvQjtBQWczRnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLFVBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDNGb0I7QUFnNEZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg0Rm9CO0FBZzVGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sK0JBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSw2Q0FKQTtBQUtOLFlBQU0sdUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsR0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDVGb0I7QUFnNkZ6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0saUNBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoNkZvQjtBQWc3RnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg3Rm9CO0FBZzhGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg4Rm9CO0FBZzlGekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDlGb0I7QUFnK0Z6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgrRm9CO0FBZy9GekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLG9DQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0scUVBSkE7QUFLTixZQUFNLDBCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgvRm9CO0FBZ2dHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLHdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhnR29CO0FBZ2hHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHVDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sd0NBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhoR29CO0FBZ2lHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhpR29CO0FBZ2pHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSx5Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoakdvQjtBQWdrR3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0sNENBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Foa0dvQjtBQWdsR3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGxHb0I7QUFnbUd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLHFDQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhtR29CO0FBZ25HekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMkNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FobkdvQjtBQWdvR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sOEJBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaG9Hb0I7QUFncEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxnREFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLGtEQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FocEdvQjtBQWdxR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHlDQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhxR29CO0FBZ3JHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sOENBRkE7QUFHTixZQUFNLDRDQUhBO0FBSU4sWUFBTSxtQ0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FockdvQjtBQWdzR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHNHb0I7QUFndEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh0R29CO0FBZ3VHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHVHb0I7QUFndkd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FodkdvQjtBQWd3R3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHdHb0I7QUFneEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHhHb0I7QUFneUd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh5R29CO0FBZ3pHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh6R29CO0FBZzBHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLCtCQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sc0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDBHb0I7QUFnMUd6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgxR29CO0FBZzJHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLDJCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDJHb0I7QUFnM0d6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0seUJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSx5QkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoM0dvQjtBQWc0R3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGFBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDRHb0I7QUFnNUd6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg1R29CO0FBZzZHekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxFQVhUO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoNkdvQjtBQWc3R3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSxzQ0FIQTtBQUlOLFlBQU0sc0NBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDdHb0I7QUFnOEd6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWg4R29CO0FBZzlHekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoOUdvQjtBQWcrR3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLGlDQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaCtHb0I7QUFnL0d6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgvR29CO0FBZ2dIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoZ0hvQjtBQWdoSHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhoSG9CO0FBZ2lIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhpSG9CO0FBZ2pIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoakhvQjtBQWdrSHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGtIb0I7QUFnbEh6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLDBDQUpBO0FBS04sWUFBTSxzQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FobEhvQjtBQWdtSHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0scUJBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhtSG9CO0FBZ25IekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLHFDQUhBO0FBSU4sWUFBTSxrQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaG5Ib0I7QUFnb0h6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQUFDLEVBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhvSG9CO0FBZ3BIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLHNDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHBIb0I7QUFncUh6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxpQ0FGQTtBQUdOLFlBQU0scUNBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FocUhvQjtBQWdySHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSwwQ0FGQTtBQUdOLFlBQU0sOENBSEE7QUFJTixZQUFNLDRDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FockhvQjtBQWdzSHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGlCQURBO0FBRU4sWUFBTSx5Q0FGQTtBQUdOLFlBQU0sZ0RBSEE7QUFJTixZQUFNLDhDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQUFDLEVBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWhzSG9CO0FBZ3RIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLHlDQUZBO0FBR04sWUFBTSwrQ0FIQTtBQUlOLFlBQU0sMkNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh0SG9CO0FBZ3VIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDBDQUZBO0FBR04sWUFBTSw4Q0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh1SG9CO0FBZ3ZIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLDRDQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLHVCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh2SG9CO0FBZ3dIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDhDQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sd0NBSkE7QUFLTixZQUFNLHFCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh3SG9CO0FBZ3hIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0saUJBREE7QUFFTixZQUFNLDhDQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sNENBSkE7QUFLTixZQUFNLHVCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWh4SG9CO0FBZ3lIekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoeUhvQjtBQWd6SHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaHpIb0I7QUFnMEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxlQURBO0FBRU4sWUFBTSxtQ0FGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQWgwSG9CO0FBZzFIekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0FoMUhvQjtBQWcySHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGVBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSx1Q0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDJIb0I7QUFnM0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sb0NBRkE7QUFHTixZQUFNLHdDQUhBO0FBSU4sWUFBTSx3Q0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDNIb0I7QUFnNEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDRIb0I7QUFnNUh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDVIb0I7QUFnNkh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDZIb0I7QUFnN0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDdIb0I7QUFnOEh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDhIb0I7QUFnOUh6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaDlIb0I7QUFnK0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaCtIb0I7QUFnL0h6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaC9Ib0I7QUFnZ0l6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGdJb0I7QUFnaEl6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxpQkFEQTtBQUVOLFlBQU0scUNBRkE7QUFHTixZQUFNLHlDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBaGhJb0I7QUFnaUl6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWhpSW9CO0FBK2lJekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQS9pSW9CO0FBOGpJekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxJQURBO0FBRU4sWUFBTSxRQUZBO0FBR04sWUFBTSxRQUhBO0FBSU4sWUFBTSxRQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTlqSW9CO0FBNmtJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLHdCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTdrSW9CO0FBNmxJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sUUFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLEVBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTdsSW9CO0FBNm1JekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxFQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E3bUlvQjtBQTZuSXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSxvQ0FGQTtBQUdOLFlBQU0sNkNBSEE7QUFJTixZQUFNLDJDQUpBO0FBS04sWUFBTSwrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E3bklvQjtBQTZvSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E3b0lvQjtBQTRwSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E1cElvQjtBQTJxSXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTNxSW9CO0FBMHJJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTFySW9CO0FBMHNJekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sa0RBSkE7QUFLTixZQUFNLDBCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTFzSW9CO0FBMHRJekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF0SW9CO0FBMHVJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLDZCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTF1SW9CO0FBMHZJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBMXZJb0I7QUEwd0l6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFFBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLFFBSkE7QUFLTixZQUFNLEtBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FWUjtBQVdILGVBQVcsQ0FYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBMXdJb0I7QUF5eEl6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0saUNBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6eElvQjtBQXl5SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F6eUlvQjtBQXl6SXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sZUFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp6SW9CO0FBdzBJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4MElvQjtBQXcxSXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDFJb0I7QUF3Mkl6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxtQkFEQTtBQUVOLFlBQU0sc0NBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSx3Q0FKQTtBQUtOLFlBQU0sK0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDJJb0I7QUF3M0l6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sbUNBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4M0lvQjtBQXc0SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLGFBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg0SW9CO0FBdzVJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0JBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxnQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsRUFYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4NUlvQjtBQXc2SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4NklvQjtBQXc3SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSx3QkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg3SW9CO0FBdzhJekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxvQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4OElvQjtBQXc5SXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxxQkFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDlJb0I7QUF3K0l6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgrSW9CO0FBdy9JekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4L0lvQjtBQXdnSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4Z0pvQjtBQXdoSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLFFBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhoSm9CO0FBd2lKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhpSm9CO0FBd2pKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4akpvQjtBQXdrSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4a0pvQjtBQXdsSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bEpvQjtBQXdtSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bUpvQjtBQXduSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bkpvQjtBQXdvSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4b0pvQjtBQXdwSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4cEpvQjtBQXdxSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4cUpvQjtBQXdySnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4ckpvQjtBQXdzSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4c0pvQjtBQXd0SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGtDQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHRKb0I7QUF3dUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxLQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh1Sm9CO0FBd3ZKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSw4REFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4dkpvQjtBQXd3SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSx1QkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEVBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHdKb0I7QUF3eEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSwrQkFGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh4Sm9CO0FBd3lKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sd0VBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSx5RUFKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4eUpvQjtBQXd6SnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeHpKb0I7QUF3MEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sdUJBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgwSm9CO0FBdzFKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGNBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgxSm9CO0FBdzJKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsRUFiWDtBQWNILG1CQUFlO0FBZFosR0F4MkpvQjtBQXczSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sd0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDNKb0I7QUF3NEp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDRKb0I7QUF3NUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSwyQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLG1CQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg1Sm9CO0FBdzZKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDZKb0I7QUF3N0p6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0scUJBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg3Sm9CO0FBdzhKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeDhKb0I7QUF3OUp6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXg5Sm9CO0FBdytKekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLDZCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4K0pvQjtBQXcvSnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLFlBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLHlCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXgvSm9CO0FBd2dLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLDJDQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4Z0tvQjtBQXdoS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGhLb0I7QUF3aUt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxlQUZBO0FBR04sWUFBTSxtQ0FIQTtBQUlOLFlBQU0sZUFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGlLb0I7QUF3akt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxzQ0FGQTtBQUdOLFlBQU0seUNBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhqS29CO0FBd2tLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeGtLb0I7QUF3bEt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhsS29CO0FBd21LekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBeG1Lb0I7QUF3bkt6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxnQ0FGQTtBQUdOLFlBQU0sOEJBSEE7QUFJTixZQUFNLCtCQUpBO0FBS04sWUFBTSwyQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4bktvQjtBQXdvS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLHNCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhvS29CO0FBd3BLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhwS29CO0FBd3FLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhxS29CO0FBd3JLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhyS29CO0FBd3NLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXhzS29CO0FBd3RLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh0S29CO0FBd3VLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh1S29CO0FBd3ZLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh2S29CO0FBd3dLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh3S29CO0FBd3hLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXh4S29CO0FBd3lLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4eUtvQjtBQXd6S3pCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxFQVZSO0FBV0gsZUFBVyxFQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F4ektvQjtBQXUwS3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYwS29CO0FBdTFLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sNEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSw4QkFKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjFLb0I7QUF1Mkt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjJLb0I7QUF1M0t6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLG9CQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2M0tvQjtBQXU0S3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0saUVBSkE7QUFLTixZQUFNLG9CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY0S29CO0FBdTVLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sbUJBREE7QUFFTixZQUFNLDRDQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMENBSkE7QUFLTixZQUFNLCtCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY1S29CO0FBdTZLekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sc0JBRkE7QUFHTixZQUFNLHdCQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxHQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2NktvQjtBQXU3S3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjdLb0I7QUF1OEt6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY4S29CO0FBdTlLekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjlLb0I7QUF1K0t6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2K0tvQjtBQXUvS3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYvS29CO0FBdWdMekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdmdMb0I7QUF1aEx6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2aExvQjtBQXVpTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLHlCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sc0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxFQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2aUxvQjtBQXVqTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZqTG9CO0FBdWtMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdmtMb0I7QUF1bEx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMkNBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2bExvQjtBQXVtTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0sb0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZtTG9CO0FBdW5MekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGdDQUhBO0FBSU4sWUFBTSxvQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdm5Mb0I7QUF1b0x6QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLG9DQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2b0xvQjtBQXVwTHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDhCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0scUNBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZwTG9CO0FBdXFMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sdUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdnFMb0I7QUF1ckx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZyTG9CO0FBdXNMekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sd0NBRkE7QUFHTixZQUFNLHFCQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2c0xvQjtBQXV0THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSw0QkFKQTtBQUtOLFlBQU0sZUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2dExvQjtBQXV1THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxlQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2dUxvQjtBQXV2THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0seUJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdnZMb0I7QUF1d0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2d0xvQjtBQXV4THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGNBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2eExvQjtBQXV5THpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLEtBREE7QUFFTixZQUFNLGdDQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXZ5TG9CO0FBdXpMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sTUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2ekxvQjtBQXUwTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjBMb0I7QUF1MUx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0saUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXYxTG9CO0FBdTJMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0saUJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2MkxvQjtBQXUzTHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxpQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjNMb0I7QUF1NEx6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY0TG9CO0FBdTVMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sa0JBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLG1CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2NUxvQjtBQXU2THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGtCQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxtQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjZMb0I7QUF1N0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxrQkFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwyQkFKQTtBQUtOLFlBQU0sbUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXY3TG9CO0FBdThMekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2OExvQjtBQXU5THpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBdjlMb0I7QUF1K0x6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxRQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F2K0xvQjtBQXUvTHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F2L0xvQjtBQXNnTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sVUFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0F0Z01vQjtBQXFoTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sWUFGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyaE1vQjtBQW9pTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FwaU1vQjtBQW1qTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQW5qTW9CO0FBa2tNekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxTQUZBO0FBR04sWUFBTSxhQUhBO0FBSU4sWUFBTSxZQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBRkw7QUFVSCxlQUFXLENBVlI7QUFXSCxlQUFXLENBWFI7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWxrTW9CO0FBaWxNekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxnQkFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FqbE1vQjtBQWdtTXpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sU0FGQTtBQUdOLFlBQU0sU0FIQTtBQUlOLFlBQU0sU0FKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUZMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FobU1vQjtBQSttTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLFdBRkE7QUFHTixZQUFNLFdBSEE7QUFJTixZQUFNLFdBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsR0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL21Nb0I7QUErbk16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTSxZQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL25Nb0I7QUErb016QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLDhCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL29Nb0I7QUErcE16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sc0JBSEE7QUFJTixZQUFNLHVCQUpBO0FBS04sWUFBTSxPQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE1vQjtBQStxTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxnQ0FIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLFFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9xTW9CO0FBK3JNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3JNb0I7QUErc016QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxHQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evc01vQjtBQSt0TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3RNb0I7QUErdU16QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxzQkFEQTtBQUVOLFlBQU0seURBRkE7QUFHTixZQUFNLG9EQUhBO0FBSU4sWUFBTSxnRUFKQTtBQUtOLFlBQU0seUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3VNb0I7QUErdk16QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx3QkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3ZNb0I7QUErd016QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSw0QkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS93TW9CO0FBK3hNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3hNb0I7QUEreU16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxZQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sWUFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveU1vQjtBQSt6TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLFNBRkE7QUFHTixZQUFNLFNBSEE7QUFJTixZQUFNLFVBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3pNb0I7QUErME16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxhQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sY0FIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8wTW9CO0FBKzFNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sWUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFNb0I7QUErMk16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSx1QkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvMk1vQjtBQSszTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLHdCQUZBO0FBR04sWUFBTSw2QkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLFVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8zTW9CO0FBKzRNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sU0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzRNb0I7QUErNU16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sdUNBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxXQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNU1vQjtBQSs2TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS82TW9CO0FBKzdNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzdNb0I7QUErOE16QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMEJBSEE7QUFJTixZQUFNLDJCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvOE1vQjtBQSs5TXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS85TW9CO0FBKytNekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHdDQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sMkNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvK01vQjtBQSsvTXpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSx1Q0FGQTtBQUdOLFlBQU0sZ0NBSEE7QUFJTixZQUFNLHVDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLy9Nb0I7QUErZ056QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLG1DQUhBO0FBSU4sWUFBTSxxQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9nTm9CO0FBK2hOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvaE5vQjtBQStpTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9pTm9CO0FBK2pOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0seUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSx1Q0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evak5vQjtBQStrTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Eva05vQjtBQStsTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE9BREE7QUFFTixZQUFNLHNCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLE9BTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9sTm9CO0FBK21OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sY0FGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLGtCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9tTm9CO0FBK25OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSx5QkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evbk5vQjtBQStvTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL29Ob0I7QUErcE56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSx5QkFGQTtBQUdOLFlBQU0sNEJBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTSxrQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE5vQjtBQStxTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0scUNBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3FOb0I7QUErck56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxnQkFGQTtBQUdOLFlBQU0sa0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9yTm9CO0FBK3NOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHdDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sVUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3NOb0I7QUErdE56QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxTQURBO0FBRU4sWUFBTSxtQkFGQTtBQUdOLFlBQU0sa0NBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvdE5vQjtBQSt1TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLCtCQUZBO0FBR04sWUFBTSwrQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS91Tm9CO0FBK3ZOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sV0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evdk5vQjtBQSt3TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxtQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxFQVhUO0FBWUgsZUFBVyxFQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evd05vQjtBQSt4TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveE5vQjtBQSt5TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGFBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLG9CQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLEdBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3lOb0I7QUErek56QixPQUFLO0FBQ0gsbUJBQWUsRUFEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxrQkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sY0FKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evek5vQjtBQSswTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSw0QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8wTm9CO0FBKzFOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sMEJBRkE7QUFHTixZQUFNLHNCQUhBO0FBSU4sWUFBTSw4QkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFOb0I7QUErMk56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw4QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLG1DQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvMk5vQjtBQSszTnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNkJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8zTm9CO0FBKzROekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSxxQ0FIQTtBQUlOLFlBQU0sNkNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNE5vQjtBQSs1TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSxtQ0FGQTtBQUdOLFlBQU0sK0JBSEE7QUFJTixZQUFNLHdDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzVOb0I7QUErNk56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sdUNBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSw2Q0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS82Tm9CO0FBKzdOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHNDQUZBO0FBR04sWUFBTSxvQ0FIQTtBQUlOLFlBQU0sdUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvN05vQjtBQSs4TnpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sMEJBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzhOb0I7QUErOU56QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxxQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLGlDQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS85Tm9CO0FBKytOekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxlQUFXLEdBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8rTm9CO0FBKy9OekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLG1CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvL05vQjtBQStnT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSx1QkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvZ09vQjtBQStoT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLG1CQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvaE9vQjtBQStpT3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLGdCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sb0JBSkE7QUFLTixZQUFNLFNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9pT29CO0FBK2pPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU0saUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9qT29CO0FBK2tPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxpQ0FKQTtBQUtOLFlBQU0sa0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9rT29CO0FBK2xPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0sOEJBRkE7QUFHTixZQUFNLHVDQUhBO0FBSU4sWUFBTSxnQ0FKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9sT29CO0FBK21PekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sd0JBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSxzQkFKQTtBQUtOLFlBQU0sYUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxFQVhSO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9tT29CO0FBK25PekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sMkJBRkE7QUFHTixZQUFNLFlBSEE7QUFJTixZQUFNLFlBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL25Pb0I7QUErb096QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0NBSEE7QUFJTixZQUFNLHNDQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS9vT29CO0FBK3BPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSxxQkFKQTtBQUtOLFlBQU0sUUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvcE9vQjtBQStxT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLGlCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsRUFaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3FPb0I7QUErck96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTSxlQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evck9vQjtBQStzT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evc09vQjtBQSt0T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxrQkFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNLGVBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvdE9vQjtBQSt1T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFFBREE7QUFFTixZQUFNLDJCQUZBO0FBR04sWUFBTSwyQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNLGlCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3VPb0I7QUErdk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxZQURBO0FBRU4sWUFBTSxrQ0FGQTtBQUdOLFlBQU0sWUFIQTtBQUlOLFlBQU0saUNBSkE7QUFLTixZQUFNLFlBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0Evdk9vQjtBQSt3T3pCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFlBREE7QUFFTixZQUFNLG1DQUZBO0FBR04sWUFBTSw4QkFIQTtBQUlOLFlBQU0sbUNBSkE7QUFLTixZQUFNLHdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS93T29CO0FBK3hPekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sYUFEQTtBQUVOLFlBQU0sNkJBRkE7QUFHTixZQUFNLGtDQUhBO0FBSU4sWUFBTSx5Q0FKQTtBQUtOLFlBQU0seUJBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBL3hPb0I7QUEreU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSwwQkFGQTtBQUdOLFlBQU0sd0JBSEE7QUFJTixZQUFNLDRCQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EveU9vQjtBQSt6T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGNBREE7QUFFTixZQUFNLDRCQUZBO0FBR04sWUFBTSx5QkFIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS96T29CO0FBKzBPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sY0FEQTtBQUVOLFlBQU0sZ0NBRkE7QUFHTixZQUFNLCtCQUhBO0FBSU4sWUFBTSxtQ0FKQTtBQUtOLFlBQU0sY0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzBPb0I7QUErMU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxjQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sMkJBSEE7QUFJTixZQUFNLGdDQUpBO0FBS04sWUFBTSxjQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzFPb0I7QUErMk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sbUNBRkE7QUFHTixZQUFNLGlDQUhBO0FBSU4sWUFBTSxzQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS8yT29CO0FBKzNPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sZ0JBREE7QUFFTixZQUFNLHFDQUZBO0FBR04sWUFBTSxrQ0FIQTtBQUlOLFlBQU0seUNBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvM09vQjtBQSs0T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLGdCQURBO0FBRU4sWUFBTSx5Q0FGQTtBQUdOLFlBQU0sd0NBSEE7QUFJTixZQUFNLDZDQUpBO0FBS04sWUFBTSxnQkFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzRPb0I7QUErNU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxnQkFEQTtBQUVOLFlBQU0sc0NBRkE7QUFHTixZQUFNLG9DQUhBO0FBSU4sWUFBTSwwQ0FKQTtBQUtOLFlBQU0sZ0JBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsRUFaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBLzVPb0I7QUErNk96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSw2QkFGQTtBQUdOLFlBQU0sZ0JBSEE7QUFJTixZQUFNLHNCQUpBO0FBS04sWUFBTSxhQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0EvNk9vQjtBQSs3T3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHVCQUZBO0FBR04sWUFBTSwwQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGNBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsZUFBVyxDQUFDLEdBWlQ7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQS83T29CO0FBKzhPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLGtCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQUFDLEVBVlQ7QUFXSCxlQUFXLENBQUMsRUFYVDtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBLzhPb0I7QUE4OU96QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxPQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sb0JBSEE7QUFJTixZQUFNLHFCQUpBO0FBS04sWUFBTSxVQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQTk5T29CO0FBOCtPekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLHlCQUhBO0FBSU4sWUFBTSwwQkFKQTtBQUtOLFlBQU0sWUFMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E5K09vQjtBQTgvT3pCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLE1BREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSxpQkFIQTtBQUlOLFlBQU0sZ0NBSkE7QUFLTixZQUFNLGdCQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBQUMsR0FaVDtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBOS9Pb0I7QUE4Z1B6QixPQUFLO0FBQ0gsaUJBQWEsQ0FEVjtBQUVILFlBQVE7QUFDTixZQUFNLElBREE7QUFFTixZQUFNLGFBRkE7QUFHTixZQUFNLGFBSEE7QUFJTixZQUFNLGdCQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTlnUG9CO0FBNGhQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxVQUZBO0FBR04sWUFBTSxVQUhBO0FBSU4sWUFBTSxVQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTVoUG9CO0FBMGlQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxXQUZBO0FBR04sWUFBTSxXQUhBO0FBSU4sWUFBTSxXQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQTFpUG9CO0FBd2pQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxLQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0saUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXhqUG9CO0FBc2tQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxjQUZBO0FBR04sWUFBTSxjQUhBO0FBSU4sWUFBTSxjQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXRrUG9CO0FBb2xQekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxPQUZBO0FBR04sWUFBTSxPQUhBO0FBSU4sWUFBTSxPQUpBO0FBS04sWUFBTTtBQUxBLEtBRkw7QUFTSCxlQUFXLENBVFI7QUFVSCxlQUFXLENBVlI7QUFXSCxrQkFBYyxHQVhYO0FBWUgsbUJBQWU7QUFaWixHQXBsUG9CO0FBa21QekIsT0FBSztBQUNILGlCQUFhLENBRFY7QUFFSCxZQUFRO0FBQ04sWUFBTSxNQURBO0FBRU4sWUFBTSxlQUZBO0FBR04sWUFBTSxlQUhBO0FBSU4sWUFBTSxtQkFKQTtBQUtOLFlBQU07QUFMQSxLQUZMO0FBU0gsZUFBVyxDQVRSO0FBVUgsZUFBVyxDQVZSO0FBV0gsa0JBQWMsR0FYWDtBQVlILG1CQUFlO0FBWlosR0FsbVBvQjtBQWduUHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sS0FEQTtBQUVOLFlBQU0sYUFGQTtBQUdOLFlBQU0sYUFIQTtBQUlOLFlBQU0sYUFKQTtBQUtOLFlBQU07QUFMQSxLQUZMO0FBU0gsZUFBVyxDQVRSO0FBVUgsZUFBVyxDQVZSO0FBV0gsa0JBQWMsR0FYWDtBQVlILG1CQUFlO0FBWlosR0FoblBvQjtBQThuUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLDZCQUZBO0FBR04sWUFBTSxpQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNLFdBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsR0FYUjtBQVlILGVBQVcsQ0FBQyxHQVpUO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0E5blBvQjtBQThvUHpCLE9BQUs7QUFDSCxpQkFBYSxDQURWO0FBRUgsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0saUNBRkE7QUFHTixZQUFNLDBCQUhBO0FBSU4sWUFBTSwrQkFKQTtBQUtOLFlBQU0sb0JBTEE7QUFNTixZQUFNO0FBTkEsS0FGTDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTlvUG9CO0FBNnBQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sb0JBRkE7QUFHTixZQUFNLG9CQUhBO0FBSU4sWUFBTSxrQkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTdwUG9CO0FBNHFQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sVUFEQTtBQUVOLFlBQU0sV0FGQTtBQUdOLFlBQU0sV0FIQTtBQUlOLFlBQU0sV0FKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0E1cVBvQjtBQTJyUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFNBREE7QUFFTixZQUFNLDBCQUZBO0FBR04sWUFBTSw4Q0FIQTtBQUlOLFlBQU0sK0JBSkE7QUFLTixZQUFNLGFBTEE7QUFNTixZQUFNO0FBTkEsS0FITDtBQVdILGVBQVcsQ0FYUjtBQVlILGVBQVcsQ0FaUjtBQWFILGtCQUFjLEdBYlg7QUFjSCxtQkFBZTtBQWRaLEdBM3JQb0I7QUEyc1B6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxVQURBO0FBRU4sWUFBTSxpQkFGQTtBQUdOLFlBQU0sZUFIQTtBQUlOLFlBQU0sdUJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxFQVhSO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0Ezc1BvQjtBQTB0UHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLG9CQUZBO0FBR04sWUFBTSxvQkFIQTtBQUlOLFlBQU0sZUFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxFQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQTF0UG9CO0FBeXVQekIsT0FBSztBQUNILG1CQUFlLEVBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sUUFEQTtBQUVOLFlBQU0sa0JBRkE7QUFHTixZQUFNLFFBSEE7QUFJTixZQUFNLDBCQUpBO0FBS04sWUFBTSxTQUxBO0FBTU4sWUFBTTtBQU5BLEtBSEw7QUFXSCxlQUFXLENBWFI7QUFZSCxlQUFXLENBWlI7QUFhSCxrQkFBYyxHQWJYO0FBY0gsbUJBQWU7QUFkWixHQXp1UG9CO0FBeXZQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0sVUFGQTtBQUdOLFlBQU0sVUFIQTtBQUlOLFlBQU0sa0JBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxFQVZUO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXp2UG9CO0FBd3dQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sT0FEQTtBQUVOLFlBQU0sdUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSxpQkFKQTtBQUtOLFlBQU0sT0FMQTtBQU1OLFlBQU07QUFOQSxLQUhMO0FBV0gsZUFBVyxDQVhSO0FBWUgsZUFBVyxDQVpSO0FBYUgsa0JBQWMsR0FiWDtBQWNILG1CQUFlO0FBZFosR0F4d1BvQjtBQXd4UHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFdBREE7QUFFTixZQUFNLGVBRkE7QUFHTixZQUFNLGdCQUhBO0FBSU4sWUFBTSx1QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQVZSO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXh4UG9CO0FBdXlQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sV0FEQTtBQUVOLFlBQU0sbUJBRkE7QUFHTixZQUFNLHVCQUhBO0FBSU4sWUFBTSw2QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxHQVZSO0FBV0gsZUFBVyxDQUFDLEVBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQXZ5UG9CO0FBc3pQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sU0FEQTtBQUVOLFlBQU0scUJBRkE7QUFHTixZQUFNLGlCQUhBO0FBSU4sWUFBTSx3QkFKQTtBQUtOLFlBQU07QUFMQSxLQUhMO0FBVUgsZUFBVyxDQUFDLEdBVlQ7QUFXSCxlQUFXLENBQUMsR0FYVDtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBdHpQb0I7QUFxMFB6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxXQURBO0FBRU4sWUFBTSxvQkFGQTtBQUdOLFlBQU0seUNBSEE7QUFJTixZQUFNLGtDQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FyMFBvQjtBQW8xUHpCLE9BQUs7QUFDSCxtQkFBZSxFQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLGtCQUZBO0FBR04sWUFBTSxzQkFIQTtBQUlOLFlBQU0sNEJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsRUFWUjtBQVdILGVBQVcsRUFYUjtBQVlILGtCQUFjLEdBWlg7QUFhSCxtQkFBZTtBQWJaLEdBcDFQb0I7QUFtMlB6QixPQUFLO0FBQ0gsbUJBQWUsQ0FEWjtBQUVILGlCQUFhLENBRlY7QUFHSCxZQUFRO0FBQ04sWUFBTSxRQURBO0FBRU4sWUFBTSxzQkFGQTtBQUdOLFlBQU0sbUJBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlosR0FuMlBvQjtBQWszUHpCLE9BQUs7QUFDSCxtQkFBZSxDQURaO0FBRUgsaUJBQWEsQ0FGVjtBQUdILFlBQVE7QUFDTixZQUFNLFVBREE7QUFFTixZQUFNLHFCQUZBO0FBR04sWUFBTSwwQ0FIQTtBQUlOLFlBQU0sMkJBSkE7QUFLTixZQUFNO0FBTEEsS0FITDtBQVVILGVBQVcsQ0FBQyxHQVZUO0FBV0gsZUFBVyxDQUFDLEdBWFQ7QUFZSCxrQkFBYyxHQVpYO0FBYUgsbUJBQWU7QUFiWixHQWwzUG9CO0FBaTRQekIsT0FBSztBQUNILG1CQUFlLENBRFo7QUFFSCxpQkFBYSxDQUZWO0FBR0gsWUFBUTtBQUNOLFlBQU0sTUFEQTtBQUVOLFlBQU0seUJBRkE7QUFHTixZQUFNLGVBSEE7QUFJTixZQUFNLGlCQUpBO0FBS04sWUFBTTtBQUxBLEtBSEw7QUFVSCxlQUFXLENBQUMsR0FWVDtBQVdILGVBQVcsQ0FBQyxHQVhUO0FBWUgsa0JBQWMsR0FaWDtBQWFILG1CQUFlO0FBYlo7QUFqNFBvQixDQUEzQjtBQWs1UEEsaUVBQWVBLElBQWY7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaDZQQTs7QUFFQSxNQUFNcXhCLHFCQUFxQixHQUFHLE1BQU07QUFDbEMsU0FBTztBQUNMQyxJQUFBQSxJQUFJLEVBQUUsRUFERDtBQUVMQyxJQUFBQSxNQUFNLEVBQUUsRUFGSDtBQUdMQyxJQUFBQSxHQUFHLEVBQUUsRUFIQTtBQUlMQyxJQUFBQSxPQUFPLEVBQUUsRUFKSjtBQUtMQyxJQUFBQSxRQUFRLEVBQUUsRUFMTDtBQU1MQyxJQUFBQSxJQUFJLEVBQUU7QUFORCxHQUFQO0FBUUQsQ0FURDs7QUFXZSxNQUFNQyxZQUFOLENBQW1CO0FBQUE7QUFBQSxxQ0FDYixFQURhOztBQUFBLHlDQUVSLEVBRlE7O0FBQUEsdUNBR1YsRUFIVTs7QUFBQSw0Q0FJTCxFQUpLOztBQUFBLDBDQUtQLEVBTE87O0FBQUEseUNBTVEsRUFOUjs7QUFBQSx1Q0FPTSxFQVBOOztBQUFBLCtDQVFZUCxxQkFBcUIsRUFSakM7QUFBQTs7QUFVaEM7QUFDQVEsRUFBQUEsY0FBYyxDQUFDbGEsQ0FBRCxFQUE4QjtBQUMxQyxRQUFJLENBQUNBLENBQUQsSUFBTSxDQUFDQSxDQUFDLENBQUNtYSxLQUFiLEVBQ0U7QUFFRixTQUFLQyxLQUFMO0FBQ0EsU0FBS0MsT0FBTCxHQUFlcmEsQ0FBQyxDQUFDbWEsS0FBakI7O0FBRUEsU0FBSyxNQUFNblosQ0FBWCxJQUFnQmhCLENBQUMsQ0FBQ21hLEtBQWxCLEVBQXlCO0FBQ3ZCLFdBQUtHLFlBQUwsQ0FBa0J2bEIsSUFBbEIsQ0FBdUJpTSxDQUFDLENBQUN0VyxFQUF6QjtBQUNBLFdBQUs2dkIsY0FBTCxDQUFvQnhsQixJQUFwQixDQUF5QmlNLENBQUMsQ0FBQy9XLElBQTNCO0FBQ0EsWUFBTXV3QixPQUFPLEdBQUc5UCw2Q0FBQSxDQUFrQjFKLENBQUMsQ0FBQ25ZLEdBQXBCLENBQWhCO0FBQ0EsWUFBTUYsSUFBSSxHQUFHK2hCLHVDQUFBLENBQWU4UCxPQUFmLENBQWI7QUFDQSxXQUFLQyxTQUFMLENBQWV6WixDQUFDLENBQUN0VyxFQUFqQixJQUF1QnNXLENBQUMsQ0FBQy9XLElBQXpCO0FBQ0EsV0FBS3l3QixXQUFMLENBQWlCMVosQ0FBQyxDQUFDL1csSUFBbkIsSUFBMkJ0QixJQUEzQjs7QUFDQSxVQUFJcVksQ0FBQyxDQUFDMlosT0FBTixFQUFlO0FBQ2IsYUFBS0MsU0FBTCxDQUFlN2xCLElBQWYsQ0FBb0JpTSxDQUFDLENBQUN0VyxFQUF0QjtBQUNBLGFBQUttd0IsV0FBTCxDQUFpQjlsQixJQUFqQixDQUFzQmlNLENBQUMsQ0FBQy9XLElBQXhCO0FBQ0EsYUFBSzZ3QixpQkFBTCxDQUF1Qm55QixJQUF2QixFQUE2Qm9NLElBQTdCLENBQWtDaU0sQ0FBQyxDQUFDL1csSUFBcEM7QUFDRDtBQUNGO0FBQ0Y7O0FBRURtd0IsRUFBQUEsS0FBSyxHQUFTO0FBQ1o7QUFDQSxTQUFLQyxPQUFMLEdBQWUsRUFBZjtBQUNBLFNBQUtRLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLRCxTQUFMLEdBQWlCLEVBQWpCO0FBQ0EsU0FBS0wsY0FBTCxHQUFzQixFQUF0QjtBQUNBLFNBQUtELFlBQUwsR0FBb0IsRUFBcEI7QUFDQSxTQUFLSSxXQUFMLEdBQW1CLEVBQW5CO0FBQ0EsU0FBS0QsU0FBTCxHQUFpQixFQUFqQixDQVJZLENBVVo7O0FBQ0EsU0FBS0ssaUJBQUwsR0FBeUJwQixxQkFBcUIsRUFBOUM7QUFDRCxHQTdDK0IsQ0ErQ2hDOzs7QUFDYyxNQUFWcUIsVUFBVSxHQUFhO0FBQ3pCLFdBQU8sS0FBS0YsV0FBWjtBQUNEOztBQUVXLE1BQVJHLFFBQVEsR0FBYTtBQUN2QixXQUFPLEtBQUtKLFNBQVo7QUFDRCxHQXREK0IsQ0F3RGhDOzs7QUFDaUIsTUFBYkssYUFBYSxHQUFhO0FBQzVCLFdBQU8sS0FBS1YsY0FBWjtBQUNELEdBM0QrQixDQTZEaEM7OztBQUNhLE1BQVRXLFNBQVMsR0FBYTtBQUN4QixXQUFPLEtBQUtKLGlCQUFMLENBQXVCLE1BQXZCLENBQVA7QUFDRCxHQWhFK0IsQ0FrRWhDOzs7QUFDZSxNQUFYSyxXQUFXLEdBQWE7QUFDMUIsV0FBTyxLQUFLTCxpQkFBTCxDQUF1QixRQUF2QixDQUFQO0FBQ0QsR0FyRStCLENBdUVoQzs7O0FBQ1ksTUFBUk0sUUFBUSxHQUFhO0FBQ3ZCLFdBQU8sS0FBS04saUJBQUwsQ0FBdUIsS0FBdkIsQ0FBUDtBQUNELEdBMUUrQixDQTRFaEM7OztBQUNBTyxFQUFBQSxNQUFNLENBQUNweEIsSUFBRCxFQUFldEIsSUFBZixFQUFzQztBQUMxQyxXQUFPLEtBQUsreEIsV0FBTCxDQUFpQnp3QixJQUFqQixNQUEyQnRCLElBQWxDO0FBQ0QsR0EvRStCLENBaUZoQzs7O0FBQ0EyeUIsRUFBQUEsTUFBTSxDQUFDcnhCLElBQUQsRUFBd0I7QUFDNUIsV0FBTyxLQUFLb3hCLE1BQUwsQ0FBWXB4QixJQUFaLEVBQWtCLE1BQWxCLENBQVA7QUFDRCxHQXBGK0IsQ0FzRmhDOzs7QUFDQXN4QixFQUFBQSxRQUFRLENBQUN0eEIsSUFBRCxFQUF3QjtBQUM5QixXQUFPLEtBQUtveEIsTUFBTCxDQUFZcHhCLElBQVosRUFBa0IsUUFBbEIsQ0FBUDtBQUNELEdBekYrQixDQTJGaEM7OztBQUNBdXhCLEVBQUFBLEtBQUssQ0FBQ3Z4QixJQUFELEVBQXdCO0FBQzNCLFdBQU8sS0FBS294QixNQUFMLENBQVlweEIsSUFBWixFQUFrQixLQUFsQixDQUFQO0FBQ0QsR0E5RitCLENBZ0doQzs7O0FBQ0Ewd0IsRUFBQUEsT0FBTyxDQUFDMXdCLElBQUQsRUFBd0I7QUFDN0IsV0FBTyxLQUFLOHdCLFVBQUwsQ0FBZ0JueEIsUUFBaEIsQ0FBeUJLLElBQXpCLENBQVA7QUFDRCxHQW5HK0IsQ0FxR2hDOzs7QUFDQXd4QixFQUFBQSxVQUFVLENBQUN4eEIsSUFBRCxFQUF3QjtBQUNoQyxXQUFPLEtBQUtneEIsYUFBTCxDQUFtQnJ4QixRQUFuQixDQUE0QkssSUFBNUIsQ0FBUDtBQUNELEdBeEcrQixDQTBHaEM7QUFDQTtBQUNBOzs7QUFDQXl4QixFQUFBQSxTQUFTLENBQUN6eEIsSUFBRCxFQUFtQztBQUMxQyxVQUFNOHRCLEtBQUssR0FBRyxLQUFLbUQsU0FBbkI7QUFDQSxRQUFJbkQsS0FBSyxDQUFDdGlCLE1BQU4sS0FBaUIsQ0FBckIsRUFDRTtBQUNGLFFBQUlzaUIsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhOXRCLElBQWpCLEVBQ0UsT0FBTzh0QixLQUFLLENBQUMsQ0FBRCxDQUFaO0FBQ0YsUUFBSUEsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhOXRCLElBQWpCLEVBQ0UsT0FBTzh0QixLQUFLLENBQUMsQ0FBRCxDQUFaO0FBQ0gsR0FySCtCLENBdUhoQzs7O0FBQ0E0RCxFQUFBQSxXQUFXLENBQUMxeEIsSUFBRCxFQUFtQztBQUM1QyxVQUFNOHRCLEtBQUssR0FBRyxLQUFLK0MsaUJBQUwsQ0FBdUIsUUFBdkIsQ0FBZDtBQUNBLFFBQUkvQyxLQUFLLENBQUN0aUIsTUFBTixLQUFpQixDQUFyQixFQUNFO0FBQ0YsUUFBSXNpQixLQUFLLENBQUMsQ0FBRCxDQUFMLEtBQWE5dEIsSUFBakIsRUFDRSxPQUFPOHRCLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDRixRQUFJQSxLQUFLLENBQUMsQ0FBRCxDQUFMLEtBQWE5dEIsSUFBakIsRUFDRSxPQUFPOHRCLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDSCxHQWhJK0IsQ0FrSWhDOzs7QUFDQXlDLEVBQUFBLE9BQU8sQ0FBQ3Z3QixJQUFELEVBQWdDO0FBQUE7O0FBQ3JDLFVBQU0yeEIsVUFBVSxHQUFHLEtBQUtiLFVBQUwsQ0FBZ0JyYSxPQUFoQixDQUF3QnpXLElBQXhCLENBQW5CO0FBQ0EsUUFBSTJ4QixVQUFVLElBQUksQ0FBbEIsRUFDRSxPQUFPbFIsNkNBQUEsMEJBQWtCLEtBQUsyUCxPQUFMLENBQWF1QixVQUFiLENBQWxCLDBEQUFrQixzQkFBMEIveUIsR0FBNUMsQ0FBUDtBQUNIOztBQUVEZ3pCLEVBQUFBLFVBQVUsQ0FBQ254QixFQUFELEVBQWlDO0FBQ3pDLFdBQU8sS0FBSyt2QixTQUFMLENBQWUvdkIsRUFBZixDQUFQO0FBQ0Q7O0FBM0krQjs7Ozs7Ozs7OztBQ2ZsQztBQXlEQTtBQUNBLE1BQU1veEIsK0JBQXlELEdBQUc7QUFDaEVDLEVBQUFBLFdBQVcsRUFBRSxFQURtRDtBQUdoRUMsRUFBQUEsU0FBUyxFQUFFLHNEQUhxRDtBQUloRUMsRUFBQUEsVUFBVSxFQUFFLDJDQUpvRDtBQUtoRUMsRUFBQUEsVUFBVSxFQUFFLDJDQUxvRDtBQU1oRUMsRUFBQUEsU0FBUyxFQUFFLDBDQU5xRDtBQU9oRUMsRUFBQUEsU0FBUyxFQUFFLDZDQVBxRDtBQVNoRUMsRUFBQUEsWUFBWSxFQUFFLElBVGtEO0FBV2hFQyxFQUFBQSxnQkFBZ0IsRUFBRSxFQVg4QztBQWFoRUMsRUFBQUEsb0JBQW9CLEVBQUUsRUFiMEM7QUFjaEVDLEVBQUFBLGlCQUFpQixFQUFFLEVBZDZDO0FBZWhFQyxFQUFBQSxxQkFBcUIsRUFBRSxFQWZ5QztBQWlCaEVDLEVBQUFBLFFBQVEsRUFBRSxFQWpCc0Q7QUFtQmhFQyxFQUFBQSxnQkFBZ0IsRUFBRSxLQW5COEM7QUFxQmhFQyxFQUFBQSxZQUFZLEVBQUdDLENBQUQsSUFBT0E7QUFyQjJDLENBQWxFLEVBd0JBO0FBQ0E7O0FBQ0EsTUFBTUMsNEJBQTRCLEdBQUc7QUFDbkMzcEIsRUFBQUEsS0FBSyxFQUFFLEtBRDRCO0FBRW5DNHBCLEVBQUFBLGtCQUFrQixFQUFFLGNBRmU7QUFHbkNDLEVBQUFBLGNBQWMsRUFBRXJjLFNBSG1CO0FBSW5Dc2MsRUFBQUEsZ0JBQWdCLEVBQUV0YyxTQUppQjtBQUtuQ3VjLEVBQUFBLGVBQWUsRUFBRSxJQUxrQjtBQU1uQ0MsRUFBQUEsYUFBYSxFQUFFLElBTm9CO0FBT25DQyxFQUFBQSxzQkFBc0IsRUFBRSxFQVBXO0FBUW5DQyxFQUFBQSw4QkFBOEIsRUFBRSxHQVJHO0FBU25DQyxFQUFBQSxxQkFBcUIsRUFBRSxDQVRZO0FBVW5DQyxFQUFBQSxvQkFBb0IsRUFBRSxDQVZhO0FBV25DQyxFQUFBQSwwQkFBMEIsRUFBRSxDQVhPO0FBWW5DQyxFQUFBQSwwQkFBMEIsRUFBRSxDQVpPO0FBYW5DQyxFQUFBQSx5QkFBeUIsRUFBRSxDQWJRO0FBY25DQyxFQUFBQSxnQkFBZ0IsRUFBRSxDQWRpQjtBQWVuQ0MsRUFBQUEsZ0JBQWdCLEVBQUUsQ0FmaUI7QUFnQm5DQyxFQUFBQSxlQUFlLEVBQUUsQ0FoQmtCO0FBaUJuQ0MsRUFBQUEsZUFBZSxFQUFFLENBakJrQjtBQWtCbkNDLEVBQUFBLGVBQWUsRUFBRSxDQWxCa0I7QUFtQm5DQyxFQUFBQSxhQUFhLEVBQUUsS0FuQm9CO0FBb0JuQ0MsRUFBQUEsa0JBQWtCLEVBQUUsR0FwQmU7QUFxQm5DQyxFQUFBQSxjQUFjLEVBQUUsR0FyQm1CO0FBc0JuQ0MsRUFBQUEsZ0JBQWdCLEVBQUUsQ0F0QmlCO0FBdUJuQ0MsRUFBQUEsbUJBQW1CLEVBQUUsR0F2QmM7QUF3Qm5DQyxFQUFBQSxlQUFlLEVBQUUsQ0F4QmtCO0FBeUJuQ0MsRUFBQUEsaUJBQWlCLEVBQUUsR0F6QmdCO0FBMEJuQ0MsRUFBQUEsbUJBQW1CLEVBQUUsR0ExQmM7QUEyQm5DQyxFQUFBQSxlQUFlLEVBQUUsSUEzQmtCO0FBNEJuQ0MsRUFBQUEsaUJBQWlCLEVBQUUsSUE1QmdCO0FBNkJuQ0MsRUFBQUEsb0JBQW9CLEVBQUUsS0E3QmE7QUE4Qm5DQyxFQUFBQSw4QkFBOEIsRUFBRTtBQTlCRyxDQUFyQztBQXFDQTtBQUNBLE1BQU1oVCxPQUF3QixHQUFHLEVBQy9CLEdBQUdaLHNFQUFBLEVBRDRCO0FBRS9CLEtBQUcrUSwrQkFGNEI7QUFHL0IsS0FBR2dCO0FBSDRCLENBQWpDO0FBTUEsdURBQWVuUixPQUFmOztBQ2pJQTtBQUlBO0FBQ08sTUFBTWlULFFBQVEsR0FBRztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBQyxFQUFBQSxJQUFJLEVBQUUsMkZBTGdCO0FBTXRCQyxFQUFBQSxNQUFNLEVBQUUscUJBTmM7QUFPdEJDLEVBQUFBLE1BQU0sRUFBRTtBQVBjLENBQWpCO0FBVVAsTUFBTUMsUUFBUSxHQUFHO0FBQ2Y7QUFDQTtBQUNBQyxFQUFBQSxDQUFDLEVBQUUsMkJBSFk7QUFJZkMsRUFBQUEsQ0FBQyxFQUFFLDJCQUpZO0FBS2ZDLEVBQUFBLENBQUMsRUFBRSwyQkFMWTtBQU1mQyxFQUFBQSxDQUFDLEVBQUUsMkJBTlk7QUFPZkMsRUFBQUEsRUFBRSxFQUFFLDRCQVBXO0FBUWZDLEVBQUFBLEVBQUUsRUFBRSw0QkFSVztBQVNmQyxFQUFBQSxFQUFFLEVBQUUsNEJBVFc7QUFVZkMsRUFBQUEsRUFBRSxFQUFFLDRCQVZXO0FBV2Y7QUFDQTtBQUNBQyxFQUFBQSxJQUFJLEVBQUUsZ0NBYlM7QUFjZkMsRUFBQUEsTUFBTSxFQUFFLGtDQWRPO0FBZWZDLEVBQUFBLEdBQUcsRUFBRSw2QkFmVTtBQWdCZjtBQUNBQyxFQUFBQSxNQUFNLEVBQUU7QUFqQk8sQ0FBakI7QUFvQ08sTUFBTUMsaUJBQW9DLEdBQUc7QUFDbERDLEVBQUFBLFdBQVcsRUFBRTtBQUNYLEtBQUNsQixRQUFRLENBQUNDLElBQVYsR0FBaUI7QUFDZjExQixNQUFBQSxFQUFFLEVBQUUsdUJBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUNBLDBGQUhhO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxpREFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUUsV0FMVztBQU1mQyxNQUFBQSxFQUFFLEVBQUUsVUFOVztBQU9mQyxNQUFBQSxFQUFFLEVBQUU7QUFQVyxLQUROO0FBVVgsS0FBQ28xQixRQUFRLENBQUNFLE1BQVYsR0FBbUI7QUFDakIzMUIsTUFBQUEsRUFBRSxFQUFFLHFCQURhO0FBRWpCQyxNQUFBQSxFQUFFLEVBQUUsK0JBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxZQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsVUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFLFFBTGE7QUFNakJDLE1BQUFBLEVBQUUsRUFBRTtBQU5hLEtBVlI7QUFrQlgsS0FBQ28xQixRQUFRLENBQUNHLE1BQVYsR0FBbUI7QUFDakI1MUIsTUFBQUEsRUFBRSxFQUFFLFNBRGE7QUFFakJDLE1BQUFBLEVBQUUsRUFBRSxRQUZhO0FBR2pCQyxNQUFBQSxFQUFFLEVBQUUsY0FIYTtBQUlqQkMsTUFBQUEsRUFBRSxFQUFFLE9BSmE7QUFLakJDLE1BQUFBLEVBQUUsRUFBRSxPQUxhO0FBTWpCQyxNQUFBQSxFQUFFLEVBQUU7QUFOYTtBQWxCUixHQURxQztBQTRCbER1MkIsRUFBQUEsV0FBVyxFQUFFO0FBQ1gsc0JBQWtCO0FBQ2hCMzJCLE1BQUFBLEVBQUUsRUFBRSxxQkFEWTtBQUVoQkMsTUFBQUEsRUFBRSxFQUFFLHdCQUZZO0FBR2hCQyxNQUFBQSxFQUFFLEVBQUUsVUFIWTtBQUloQkMsTUFBQUEsRUFBRSxFQUFFLFVBSlk7QUFLaEJDLE1BQUFBLEVBQUUsRUFBRTtBQUxZLEtBRFA7QUFRWCwyQkFBdUI7QUFDckJKLE1BQUFBLEVBQUUsRUFBRSxzQkFEaUI7QUFFckJDLE1BQUFBLEVBQUUsRUFBRSxvQkFGaUI7QUFHckJDLE1BQUFBLEVBQUUsRUFBRSxlQUhpQjtBQUlyQkMsTUFBQUEsRUFBRSxFQUFFLFdBSmlCO0FBS3JCQyxNQUFBQSxFQUFFLEVBQUU7QUFMaUIsS0FSWjtBQWVYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxXQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxVQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBZkg7QUFzQlgsb0JBQWdCO0FBQ2RKLE1BQUFBLEVBQUUsRUFBRSxTQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxVQUZVO0FBR2RDLE1BQUFBLEVBQUUsRUFBRSxRQUhVO0FBSWRDLE1BQUFBLEVBQUUsRUFBRSxNQUpVO0FBS2RDLE1BQUFBLEVBQUUsRUFBRTtBQUxVLEtBdEJMO0FBNkJYLHlCQUFxQjtBQUNuQkosTUFBQUEsRUFBRSxFQUFFLHNCQURlO0FBRW5CQyxNQUFBQSxFQUFFLEVBQUUsMkJBRmU7QUFHbkJDLE1BQUFBLEVBQUUsRUFBRSxVQUhlO0FBSW5CQyxNQUFBQSxFQUFFLEVBQUUsVUFKZTtBQUtuQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGUsS0E3QlY7QUFvQ1gsa0JBQWM7QUFDWkosTUFBQUEsRUFBRSxFQUFFLFVBRFE7QUFFWkMsTUFBQUEsRUFBRSxFQUFFLFVBRlE7QUFHWkMsTUFBQUEsRUFBRSxFQUFFLFVBSFE7QUFJWkMsTUFBQUEsRUFBRSxFQUFFLFFBSlE7QUFLWkMsTUFBQUEsRUFBRSxFQUFFO0FBTFEsS0FwQ0g7QUEyQ1gsb0JBQWdCO0FBQ2RKLE1BQUFBLEVBQUUsRUFBRSxjQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxjQUZVO0FBR2RDLE1BQUFBLEVBQUUsRUFBRSxVQUhVO0FBSWRDLE1BQUFBLEVBQUUsRUFBRSxRQUpVO0FBS2RDLE1BQUFBLEVBQUUsRUFBRTtBQUxVLEtBM0NMO0FBa0RYLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxXQURNO0FBRVZDLE1BQUFBLEVBQUUsRUFBRSxTQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxPQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxPQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBbEREO0FBeURYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxTQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxPQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxLQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxLQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBekRIO0FBZ0VYLGNBQVU7QUFDUkosTUFBQUEsRUFBRSxFQUFFLGNBREk7QUFFUkMsTUFBQUEsRUFBRSxFQUFFLFFBRkk7QUFHUkMsTUFBQUEsRUFBRSxFQUFFLE1BSEk7QUFJUkMsTUFBQUEsRUFBRSxFQUFFLElBSkk7QUFLUkMsTUFBQUEsRUFBRSxFQUFFO0FBTEksS0FoRUM7QUF1RVgsa0JBQWM7QUFDWkosTUFBQUEsRUFBRSxFQUFFLGlCQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxVQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBdkVIO0FBOEVYLGNBQVU7QUFDUkosTUFBQUEsRUFBRSxFQUFFLFVBREk7QUFFUkMsTUFBQUEsRUFBRSxFQUFFLGVBRkk7QUFHUkMsTUFBQUEsRUFBRSxFQUFFLE9BSEk7QUFJUkMsTUFBQUEsRUFBRSxFQUFFLE9BSkk7QUFLUkMsTUFBQUEsRUFBRSxFQUFFO0FBTEksS0E5RUM7QUFxRlgsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLFFBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLGFBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLEtBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLEtBSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0FyRkQ7QUE0RlgsbUJBQWU7QUFDYkosTUFBQUEsRUFBRSxFQUFFLFNBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLGFBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLEtBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLEtBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0E1Rko7QUFtR1gsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLFlBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLFVBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLFVBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLE9BSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0FuR0Q7QUEwR1gscUJBQWlCO0FBQ2ZKLE1BQUFBLEVBQUUsRUFBRSxjQURXO0FBRWZDLE1BQUFBLEVBQUUsRUFBRSxhQUZXO0FBR2ZDLE1BQUFBLEVBQUUsRUFBRSxZQUhXO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxRQUpXO0FBS2ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxXLEtBMUdOO0FBaUhYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxXQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBakhIO0FBd0hYLG9CQUFnQjtBQUNkSixNQUFBQSxFQUFFLEVBQUUsU0FEVTtBQUVkQyxNQUFBQSxFQUFFLEVBQUUsVUFGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsTUFIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsTUFKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQXhITDtBQStIWCxpQkFBYTtBQUNYSixNQUFBQSxFQUFFLEVBQUUsWUFETztBQUVYQyxNQUFBQSxFQUFFLEVBQUUsVUFGTztBQUdYQyxNQUFBQSxFQUFFLEVBQUUsT0FITztBQUlYQyxNQUFBQSxFQUFFLEVBQUUsT0FKTztBQUtYQyxNQUFBQSxFQUFFLEVBQUU7QUFMTyxLQS9IRjtBQXNJWCxtQkFBZTtBQUNiSixNQUFBQSxFQUFFLEVBQUUsVUFEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsUUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsS0FIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsS0FKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXRJSjtBQTZJWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLGVBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGNBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0E3SU47QUFvSlgscUJBQWlCO0FBQ2ZKLE1BQUFBLEVBQUUsRUFBRSxnQkFEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsZ0JBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0FwSk47QUEySlgsZUFBVztBQUNUSixNQUFBQSxFQUFFLEVBQUUsVUFESztBQUVUQyxNQUFBQSxFQUFFLEVBQUUsZUFGSztBQUdUQyxNQUFBQSxFQUFFLEVBQUUsT0FISztBQUlUQyxNQUFBQSxFQUFFLEVBQUUsT0FKSztBQUtUQyxNQUFBQSxFQUFFLEVBQUU7QUFMSyxLQTNKQTtBQWtLWCxpQkFBYTtBQUNYSixNQUFBQSxFQUFFLEVBQUUsUUFETztBQUVYQyxNQUFBQSxFQUFFLEVBQUUsYUFGTztBQUdYQyxNQUFBQSxFQUFFLEVBQUUsS0FITztBQUlYQyxNQUFBQSxFQUFFLEVBQUUsS0FKTztBQUtYQyxNQUFBQSxFQUFFLEVBQUU7QUFMTyxLQWxLRjtBQXlLWCxtQkFBZTtBQUNiSixNQUFBQSxFQUFFLEVBQUUsU0FEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsYUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsS0FIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsS0FKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXpLSjtBQWdMWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLFdBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGtCQUZXO0FBR2ZDLE1BQUFBLEVBQUUsRUFBRSxLQUhXO0FBSWZDLE1BQUFBLEVBQUUsRUFBRSxNQUpXO0FBS2ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxXLEtBaExOO0FBdUxYLGtCQUFjO0FBQ1pKLE1BQUFBLEVBQUUsRUFBRSxjQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxjQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxRQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxRQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBdkxIO0FBOExYLGlCQUFhO0FBQ1hKLE1BQUFBLEVBQUUsRUFBRSxXQURPO0FBRVhDLE1BQUFBLEVBQUUsRUFBRSxTQUZPO0FBR1hDLE1BQUFBLEVBQUUsRUFBRSxPQUhPO0FBSVhDLE1BQUFBLEVBQUUsRUFBRSxPQUpPO0FBS1hDLE1BQUFBLEVBQUUsRUFBRTtBQUxPLEtBOUxGO0FBcU1YLG1CQUFlO0FBQ2JKLE1BQUFBLEVBQUUsRUFBRSxTQURTO0FBRWJDLE1BQUFBLEVBQUUsRUFBRSxPQUZTO0FBR2JDLE1BQUFBLEVBQUUsRUFBRSxLQUhTO0FBSWJDLE1BQUFBLEVBQUUsRUFBRSxLQUpTO0FBS2JDLE1BQUFBLEVBQUUsRUFBRTtBQUxTLEtBck1KO0FBNE1YLHFCQUFpQjtBQUNmSixNQUFBQSxFQUFFLEVBQUUsY0FEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsYUFGVztBQUdmQyxNQUFBQSxFQUFFLEVBQUUsUUFIVztBQUlmQyxNQUFBQSxFQUFFLEVBQUUsUUFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUU7QUFMVyxLQTVNTjtBQW1OWCxxQkFBaUI7QUFDZkosTUFBQUEsRUFBRSxFQUFFLGVBRFc7QUFFZkMsTUFBQUEsRUFBRSxFQUFFLGVBRlc7QUFHZkMsTUFBQUEsRUFBRSxFQUFFLFFBSFc7QUFJZkMsTUFBQUEsRUFBRSxFQUFFLFFBSlc7QUFLZkMsTUFBQUEsRUFBRSxFQUFFO0FBTFcsS0FuTk47QUEwTlgsaUJBQWE7QUFDWEosTUFBQUEsRUFBRSxFQUFFLFlBRE87QUFFWEMsTUFBQUEsRUFBRSxFQUFFLGNBRk87QUFHWEMsTUFBQUEsRUFBRSxFQUFFLFFBSE87QUFJWEMsTUFBQUEsRUFBRSxFQUFFLFFBSk87QUFLWEMsTUFBQUEsRUFBRSxFQUFFO0FBTE8sS0ExTkY7QUFpT1gsZ0JBQVk7QUFDVkosTUFBQUEsRUFBRSxFQUFFLGVBRE07QUFFVkMsTUFBQUEsRUFBRSxFQUFFLG9CQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxTQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxRQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBak9EO0FBd09YLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxxQkFETTtBQUVWQyxNQUFBQSxFQUFFLEVBQUUscUJBRk07QUFHVkMsTUFBQUEsRUFBRSxFQUFFLFNBSE07QUFJVkMsTUFBQUEsRUFBRSxFQUFFLFNBSk07QUFLVkMsTUFBQUEsRUFBRSxFQUFFO0FBTE0sS0F4T0Q7QUErT1gsaUNBQTZCO0FBQzNCSixNQUFBQSxFQUFFLEVBQUUsbUJBRHVCO0FBRTNCQyxNQUFBQSxFQUFFLEVBQUUsZ0JBRnVCO0FBRzNCQyxNQUFBQSxFQUFFLEVBQUUsZUFIdUI7QUFJM0JDLE1BQUFBLEVBQUUsRUFBRSxXQUp1QjtBQUszQkMsTUFBQUEsRUFBRSxFQUFFO0FBTHVCLEtBL09sQjtBQXNQWCxvQkFBZ0I7QUFDZEosTUFBQUEsRUFBRSxFQUFFLG1CQURVO0FBRWRDLE1BQUFBLEVBQUUsRUFBRSxtQkFGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsV0FIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsUUFKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQXRQTDtBQTZQWCx3QkFBb0I7QUFDbEJKLE1BQUFBLEVBQUUsRUFBRSxzQkFEYztBQUVsQkMsTUFBQUEsRUFBRSxFQUFFLGtCQUZjO0FBR2xCQyxNQUFBQSxFQUFFLEVBQUUsYUFIYztBQUlsQkMsTUFBQUEsRUFBRSxFQUFFLFVBSmM7QUFLbEJDLE1BQUFBLEVBQUUsRUFBRTtBQUxjLEtBN1BUO0FBb1FYLGdCQUFZO0FBQ1ZKLE1BQUFBLEVBQUUsRUFBRSxZQURNO0FBRVZDLE1BQUFBLEVBQUUsRUFBRSxXQUZNO0FBR1ZDLE1BQUFBLEVBQUUsRUFBRSxPQUhNO0FBSVZDLE1BQUFBLEVBQUUsRUFBRSxPQUpNO0FBS1ZDLE1BQUFBLEVBQUUsRUFBRTtBQUxNLEtBcFFEO0FBMlFYLEtBQUN3MUIsUUFBUSxDQUFDQyxDQUFWLEdBQWM7QUFDWjcxQixNQUFBQSxFQUFFLEVBQUUsR0FEUTtBQUVaQyxNQUFBQSxFQUFFLEVBQUUsR0FGUTtBQUdaQyxNQUFBQSxFQUFFLEVBQUUsR0FIUTtBQUlaQyxNQUFBQSxFQUFFLEVBQUUsR0FKUTtBQUtaQyxNQUFBQSxFQUFFLEVBQUU7QUFMUSxLQTNRSDtBQWtSWCxLQUFDdzFCLFFBQVEsQ0FBQ0UsQ0FBVixHQUFjO0FBQ1o5MUIsTUFBQUEsRUFBRSxFQUFFLEdBRFE7QUFFWkMsTUFBQUEsRUFBRSxFQUFFLEdBRlE7QUFHWkMsTUFBQUEsRUFBRSxFQUFFLEdBSFE7QUFJWkMsTUFBQUEsRUFBRSxFQUFFLEdBSlE7QUFLWkMsTUFBQUEsRUFBRSxFQUFFO0FBTFEsS0FsUkg7QUF5UlgsS0FBQ3cxQixRQUFRLENBQUNHLENBQVYsR0FBYztBQUNaLzFCLE1BQUFBLEVBQUUsRUFBRSxHQURRO0FBRVpDLE1BQUFBLEVBQUUsRUFBRSxHQUZRO0FBR1pDLE1BQUFBLEVBQUUsRUFBRSxHQUhRO0FBSVpDLE1BQUFBLEVBQUUsRUFBRSxHQUpRO0FBS1pDLE1BQUFBLEVBQUUsRUFBRTtBQUxRLEtBelJIO0FBZ1NYLEtBQUN3MUIsUUFBUSxDQUFDSSxDQUFWLEdBQWM7QUFDWmgyQixNQUFBQSxFQUFFLEVBQUUsR0FEUTtBQUVaQyxNQUFBQSxFQUFFLEVBQUUsR0FGUTtBQUdaQyxNQUFBQSxFQUFFLEVBQUUsR0FIUTtBQUlaQyxNQUFBQSxFQUFFLEVBQUUsR0FKUTtBQUtaQyxNQUFBQSxFQUFFLEVBQUU7QUFMUSxLQWhTSDtBQXVTWCxLQUFDdzFCLFFBQVEsQ0FBQ0ssRUFBVixHQUFlO0FBQ2JqMkIsTUFBQUEsRUFBRSxFQUFFLElBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLElBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLElBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0F2U0o7QUE4U1gsS0FBQ3cxQixRQUFRLENBQUNNLEVBQVYsR0FBZTtBQUNibDJCLE1BQUFBLEVBQUUsRUFBRSxJQURTO0FBRWJDLE1BQUFBLEVBQUUsRUFBRSxJQUZTO0FBR2JDLE1BQUFBLEVBQUUsRUFBRSxJQUhTO0FBSWJDLE1BQUFBLEVBQUUsRUFBRSxJQUpTO0FBS2JDLE1BQUFBLEVBQUUsRUFBRTtBQUxTLEtBOVNKO0FBcVRYLEtBQUN3MUIsUUFBUSxDQUFDTyxFQUFWLEdBQWU7QUFDYm4yQixNQUFBQSxFQUFFLEVBQUUsSUFEUztBQUViQyxNQUFBQSxFQUFFLEVBQUUsSUFGUztBQUdiQyxNQUFBQSxFQUFFLEVBQUUsSUFIUztBQUliQyxNQUFBQSxFQUFFLEVBQUUsSUFKUztBQUtiQyxNQUFBQSxFQUFFLEVBQUU7QUFMUyxLQXJUSjtBQTRUWCxLQUFDdzFCLFFBQVEsQ0FBQ1EsRUFBVixHQUFlO0FBQ2JwMkIsTUFBQUEsRUFBRSxFQUFFLElBRFM7QUFFYkMsTUFBQUEsRUFBRSxFQUFFLElBRlM7QUFHYkMsTUFBQUEsRUFBRSxFQUFFLElBSFM7QUFJYkMsTUFBQUEsRUFBRSxFQUFFLElBSlM7QUFLYkMsTUFBQUEsRUFBRSxFQUFFO0FBTFMsS0E1VEo7QUFtVVgsS0FBQ3cxQixRQUFRLENBQUNTLElBQVYsR0FBaUI7QUFDZnIyQixNQUFBQSxFQUFFLEVBQUUsTUFEVztBQUVmQyxNQUFBQSxFQUFFLEVBQUUsTUFGVztBQUdmQyxNQUFBQSxFQUFFLEVBQUUsS0FIVztBQUlmQyxNQUFBQSxFQUFFLEVBQUUsSUFKVztBQUtmQyxNQUFBQSxFQUFFLEVBQUU7QUFMVyxLQW5VTjtBQTBVWCxLQUFDdzFCLFFBQVEsQ0FBQ1UsTUFBVixHQUFtQjtBQUNqQnQyQixNQUFBQSxFQUFFLEVBQUUsUUFEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLFFBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxNQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsSUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGEsS0ExVVI7QUFpVlgsS0FBQ3cxQixRQUFRLENBQUNXLEdBQVYsR0FBZ0I7QUFDZHYyQixNQUFBQSxFQUFFLEVBQUUsS0FEVTtBQUVkQyxNQUFBQSxFQUFFLEVBQUUsS0FGVTtBQUdkQyxNQUFBQSxFQUFFLEVBQUUsS0FIVTtBQUlkQyxNQUFBQSxFQUFFLEVBQUUsS0FKVTtBQUtkQyxNQUFBQSxFQUFFLEVBQUU7QUFMVSxLQWpWTDtBQXdWWCxLQUFDdzFCLFFBQVEsQ0FBQ1ksTUFBVixHQUFtQjtBQUNqQngyQixNQUFBQSxFQUFFLEVBQUUsUUFEYTtBQUVqQkMsTUFBQUEsRUFBRSxFQUFFLFFBRmE7QUFHakJDLE1BQUFBLEVBQUUsRUFBRSxRQUhhO0FBSWpCQyxNQUFBQSxFQUFFLEVBQUUsUUFKYTtBQUtqQkMsTUFBQUEsRUFBRSxFQUFFO0FBTGE7QUF4VlI7QUE1QnFDLENBQTdDLEVBOFhQO0FBQ0E7QUFDQTtBQUNBOztBQUNPLE1BQU13MkIsNEJBQTRCLEdBQUcsQ0FDMUM7QUFDQXBCLFFBQVEsQ0FBQ0MsSUFGaUMsRUFHMUM7QUFDQUcsUUFBUSxDQUFDQyxDQUppQyxFQUsxQ0QsUUFBUSxDQUFDRSxDQUxpQyxFQU0xQ0YsUUFBUSxDQUFDRyxDQU5pQyxFQU8xQ0gsUUFBUSxDQUFDSSxDQVBpQyxFQVExQ0osUUFBUSxDQUFDSyxFQVJpQyxFQVMxQ0wsUUFBUSxDQUFDTSxFQVRpQyxFQVUxQ04sUUFBUSxDQUFDTyxFQVZpQyxFQVcxQ1AsUUFBUSxDQUFDUSxFQVhpQyxFQVkxQztBQUNBUixRQUFRLENBQUNTLElBYmlDLEVBYzFDVCxRQUFRLENBQUNVLE1BZGlDLEVBZTFDVixRQUFRLENBQUNXLEdBZmlDLENBQXJDLEVBa0JQO0FBQ0E7QUFDQTtBQUNBOztBQUNPLE1BQU1NLDJCQUE2RCxHQUFHO0FBQzNFLHdCQUFzQixNQURxRDtBQUUzRSxnQkFBYyxXQUY2RDtBQUczRSx3Q0FBc0M7QUFIcUMsQ0FBdEU7O0FDMWNQO0FBQ0E7QUFHQTtBQUNBO0FBOERBO0FBQ0E7QUFDTyxNQUFNRSxjQUFOLENBQXFCO0FBYTFCM25CLEVBQUFBLFdBQVcsQ0FDVGdPLElBRFMsRUFFVDRaLFlBRlMsRUFHVEMsUUFIUyxFQUlUQyxNQUpTLEVBS1Q1VSxPQUxTLEVBTVQ2VSxNQU5TLEVBT1Q7QUFBQTs7QUFDQSxTQUFLN1UsT0FBTCxHQUFlQSxPQUFmLGFBQWVBLE9BQWYsY0FBZUEsT0FBZixHQUEwQndVLGdCQUExQjtBQUNBLFNBQUtNLG9CQUFMLEdBQTRCLEtBQUs5VSxPQUFMLENBQWEsc0JBQWIsS0FBd0MsRUFBcEU7QUFDQSxTQUFLMFUsWUFBTCxHQUFvQkEsWUFBcEIsQ0FIQSxDQUtBOztBQUNBLFNBQUtLLE9BQUwsR0FBZSxFQUFmLENBTkEsQ0FPQTs7QUFDQSxTQUFLbmdCLE1BQUwsR0FBYyxFQUFkLENBUkEsQ0FTQTs7QUFDQSxTQUFLb2dCLEtBQUwsR0FBYSxFQUFiLENBVkEsQ0FXQTs7QUFDQSxTQUFLQyxVQUFMLEdBQWtCLEVBQWxCLENBWkEsQ0FhQTs7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEVBQWhCLENBZEEsQ0FlQTs7QUFDQSxTQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUVBLFNBQUtDLGNBQUwsR0FBc0IsT0FBT1AsTUFBUCxLQUFrQixRQUFsQiw0QkFDbEIsS0FBSzdVLE9BQUwsQ0FBYStRLHFCQUFiLENBQW1DOEQsTUFBbkMsQ0FEa0IseUVBQzRCLEVBRDVCLEdBRWxCLEVBRko7O0FBR0EsU0FBSyxNQUFNL1osSUFBWCw2QkFBbUIsS0FBS3NhLGNBQUwsQ0FBb0JDLE1BQXZDLHlFQUFpRCxFQUFqRDtBQUFBOztBQUNFLFdBQUtOLE9BQUwsQ0FBYWphLElBQWIsSUFBcUIsSUFBckI7QUFERjs7QUFHQSxTQUFLNVAsS0FBTCxDQUFXNFAsSUFBWCxFQUFpQjZaLFFBQWpCLEVBQTJCQyxNQUEzQixhQUEyQkEsTUFBM0IsY0FBMkJBLE1BQTNCLEdBQXFDLEVBQXJDO0FBQ0Q7O0FBRU8xcEIsRUFBQUEsS0FBSyxDQUFDNFAsSUFBRCxFQUFlNlosUUFBZixFQUFpREMsTUFBakQsRUFBZ0Y7QUFDM0YsU0FBS2hnQixNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtxZ0IsVUFBTCxHQUFrQixFQUFsQjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsRUFBaEI7QUFFQSxRQUFJSSxRQUFRLEdBQUcsQ0FBZjtBQUNBLFVBQU1OLEtBQXFDLEdBQUcsRUFBOUM7QUFDQSxVQUFNTyxPQUFPLEdBQUc7QUFDZEMsTUFBQUEsT0FBTyxFQUFFLE9BREs7QUFFZEMsTUFBQUEsV0FBVyxFQUFFLE1BRkM7QUFHZEMsTUFBQUEsZUFBZSxFQUFFLDBFQUhIO0FBSWRDLE1BQUFBLE1BQU0sRUFBRSw4QkFKTTtBQUtkQyxNQUFBQSxXQUFXLEVBQUUsd0VBTEM7QUFNZGgzQixNQUFBQSxJQUFJLEVBQUUsbUVBTlE7QUFPZGkzQixNQUFBQSxTQUFTLEVBQ1AsaUlBUlk7QUFTZEMsTUFBQUEsVUFBVSxFQUFFLDJDQVRFO0FBVWRDLE1BQUFBLE9BQU8sRUFDTCx5RkFYWTtBQVlkQyxNQUFBQSxXQUFXLEVBQUUsOERBWkM7QUFhZEMsTUFBQUEsR0FBRyxFQUNELHVJQWRZO0FBZWRDLE1BQUFBLGFBQWEsRUFDWDtBQWhCWSxLQUFoQixDQVAyRixDQTBCM0Y7O0FBQ0EsU0FBSyxNQUFNQyxPQUFYLElBQXNCeEIsUUFBdEIsYUFBc0JBLFFBQXRCLGNBQXNCQSxRQUF0QixHQUFrQyxFQUFsQyxFQUFzQztBQUNwQyxVQUFJd0IsT0FBTyxDQUFDOXFCLEtBQVosRUFDRThxQixPQUFPLENBQUM5cUIsS0FBUixHQUFnQnBELDRDQUFBLENBQWNrdUIsT0FBTyxDQUFDOXFCLEtBQXRCLENBQWhCO0FBQ0g7O0FBRUQsVUFBTStxQixLQUFLLEdBQUd0YixJQUFJLENBQUM2RixLQUFMLENBQVcsSUFBWCxDQUFkO0FBQ0EsUUFBSTBWLFVBQVUsR0FBRyxDQUFqQjs7QUFDQSxTQUFLLElBQUl6M0IsSUFBVCxJQUFpQnczQixLQUFqQixFQUF3QjtBQUN0QixRQUFFQyxVQUFGO0FBQ0F6M0IsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUMwM0IsSUFBTCxFQUFQLENBRnNCLENBR3RCOztBQUNBLFVBQUksQ0FBQzEzQixJQUFELElBQVMyMkIsT0FBTyxDQUFDQyxPQUFSLENBQWdCZSxJQUFoQixDQUFxQjMzQixJQUFyQixDQUFiLEVBQ0U7QUFDRixZQUFNNDNCLFlBQVksR0FBRzUzQixJQUFyQjtBQUVBLFVBQUl1YSxLQUFLLEdBQUdvYyxPQUFPLENBQUNJLE1BQVIsQ0FBZXJxQixJQUFmLENBQW9CMU0sSUFBcEIsQ0FBWjs7QUFDQSxVQUFJdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFsQixFQUE4QjtBQUM1QixjQUFNd2MsTUFBTSxHQUFHeGMsS0FBSyxDQUFDLFFBQUQsQ0FBcEI7QUFDQSxZQUFJd2MsTUFBTSxDQUFDMzJCLEVBQVgsRUFDRSxLQUFLKzFCLE9BQUwsQ0FBYVksTUFBTSxDQUFDMzJCLEVBQXBCLElBQTBCLElBQTFCO0FBQ0Y7QUFDRDs7QUFFRG1hLE1BQUFBLEtBQUssR0FBR29jLE9BQU8sQ0FBQ1UsR0FBUixDQUFZM3FCLElBQVosQ0FBaUIxTSxJQUFqQixDQUFSOztBQUNBLFVBQUl1YSxLQUFLLElBQUlBLEtBQUssQ0FBQyxRQUFELENBQWxCLEVBQThCO0FBQzVCLGNBQU04YyxHQUFHLEdBQUc5YyxLQUFLLENBQUMsUUFBRCxDQUFqQjtBQUNBLFlBQUksQ0FBQzhjLEdBQUcsQ0FBQ2ozQixFQUFMLElBQVcsQ0FBQ2kzQixHQUFHLENBQUNRLGFBQWhCLElBQWlDLENBQUNSLEdBQUcsQ0FBQy92QixPQUExQyxFQUNFLE1BQU0sSUFBSTJHLGtDQUFKLEVBQU4sQ0FIMEIsQ0FJNUI7O0FBQ0EsWUFBSW9wQixHQUFHLENBQUMvdkIsT0FBSixLQUFnQixPQUFwQixFQUNFO0FBQ0YsY0FBTXd3QixRQUFRLEdBQUcxQixLQUFLLENBQUNpQixHQUFHLENBQUNqM0IsRUFBTCxDQUFMLElBQWlCLEVBQWxDO0FBQ0FnMkIsUUFBQUEsS0FBSyxDQUFDaUIsR0FBRyxDQUFDajNCLEVBQUwsQ0FBTCxHQUFnQjAzQixRQUFoQjtBQUNBQSxRQUFBQSxRQUFRLENBQUNydEIsSUFBVCxDQUFjO0FBQ1ovSyxVQUFBQSxJQUFJLEVBQUUsS0FETTtBQUVacTRCLFVBQUFBLGFBQWEsRUFBRS9QLFVBQVUsQ0FBQ3FQLEdBQUcsQ0FBQ1EsYUFBTCxDQUZiO0FBR1ozYixVQUFBQSxJQUFJLEVBQUVtYixHQUFHLENBQUNuYixJQUFKLEdBQVdtYixHQUFHLENBQUNuYixJQUFmLEdBQXNCbWIsR0FBRyxDQUFDajNCO0FBSHBCLFNBQWQ7QUFLQTtBQUNEOztBQUNEbWEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDTyxVQUFSLENBQW1CeHFCLElBQW5CLENBQXdCMU0sSUFBeEIsQ0FBUjtBQUNBLFVBQUl1YSxLQUFKLEVBQ0U7QUFDRkEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDUSxPQUFSLENBQWdCenFCLElBQWhCLENBQXFCMU0sSUFBckIsQ0FBUjtBQUNBLFVBQUl1YSxLQUFKLEVBQ0U7QUFFRkEsTUFBQUEsS0FBSyxHQUFHb2MsT0FBTyxDQUFDTSxTQUFSLENBQWtCdnFCLElBQWxCLENBQXVCMU0sSUFBdkIsQ0FBUjs7QUFDQSxVQUFJdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFsQixFQUE4QjtBQUM1QixjQUFNMGMsU0FBUyxHQUFHMWMsS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQSxZQUFJLENBQUMwYyxTQUFTLENBQUN2M0IsSUFBWCxJQUFtQixDQUFDdTNCLFNBQVMsQ0FBQzcyQixFQUE5QixJQUFvQyxDQUFDNjJCLFNBQVMsQ0FBQ1ksYUFBbkQsRUFDRSxNQUFNLElBQUk1cEIsa0NBQUosRUFBTjtBQUNGLGNBQU0rcEIsY0FBYyxHQUFHNUIsS0FBSyxDQUFDYSxTQUFTLENBQUM3MkIsRUFBWCxDQUFMLElBQXVCLEVBQTlDO0FBQ0FnMkIsUUFBQUEsS0FBSyxDQUFDYSxTQUFTLENBQUM3MkIsRUFBWCxDQUFMLEdBQXNCNDNCLGNBQXRCO0FBQ0EsY0FBTXQ0QixJQUFJLEdBQUd1M0IsU0FBUyxDQUFDdjNCLElBQXZCO0FBQ0EsWUFBSUEsSUFBSSxLQUFLLE1BQVQsSUFBbUJBLElBQUksS0FBSyxPQUE1QixJQUF1Q0EsSUFBSSxLQUFLLE9BQXBELEVBQ0U7QUFDRnM0QixRQUFBQSxjQUFjLENBQUN2dEIsSUFBZixDQUFvQjtBQUNsQi9LLFVBQUFBLElBQUksRUFBRUEsSUFEWTtBQUVsQnE0QixVQUFBQSxhQUFhLEVBQUUvUCxVQUFVLENBQUNpUCxTQUFTLENBQUNZLGFBQVgsQ0FGUDtBQUdsQjNiLFVBQUFBLElBQUksRUFBRSthLFNBQVMsQ0FBQy9hLElBQVYsR0FBaUIrYSxTQUFTLENBQUMvYSxJQUEzQixHQUFrQythLFNBQVMsQ0FBQzcyQjtBQUhoQyxTQUFwQjtBQUtBO0FBQ0Q7O0FBQ0RtYSxNQUFBQSxLQUFLLEdBQUdvYyxPQUFPLENBQUMzMkIsSUFBUixDQUFhME0sSUFBYixDQUFrQjFNLElBQWxCLENBQVI7O0FBQ0EsVUFBSSxFQUFFdWEsS0FBSyxJQUFJQSxLQUFLLENBQUMsUUFBRCxDQUFoQixDQUFKLEVBQWlDO0FBQy9CLGFBQUtnYyxNQUFMLENBQVk5ckIsSUFBWixDQUFpQjtBQUNmZ3RCLFVBQUFBLFVBQVUsRUFBRUEsVUFERztBQUVmejNCLFVBQUFBLElBQUksRUFBRTQzQixZQUZTO0FBR2ZqaUIsVUFBQUEsS0FBSyxFQUFFO0FBSFEsU0FBakI7QUFLQXhNLFFBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FBWSx1QkFBdUJpZ0IsWUFBbkM7QUFDQTtBQUNEOztBQUNELFlBQU1LLFVBQVUsR0FBRzFkLEtBQUssQ0FBQyxRQUFELENBQXhCLENBbkVzQixDQW9FdEI7O0FBQ0EsVUFBSSxDQUFDMGQsVUFBVSxDQUFDL2IsSUFBWixJQUFvQixDQUFDK2IsVUFBVSxDQUFDQyxJQUFoQyxJQUF3Q0QsVUFBVSxDQUFDdDRCLElBQVgsS0FBb0IwVyxTQUFoRSxFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRmpPLE1BQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhMmQsVUFBVSxDQUFDL2IsSUFBeEIsRUFBOEIsRUFBOUIsRUFBa0N3YixJQUFsQyxFQUFQLENBdkVzQixDQXdFdEI7O0FBQ0ExM0IsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUNzYSxPQUFMLENBQWFxYyxPQUFPLENBQUNFLFdBQXJCLEVBQWtDLEVBQWxDLEVBQXNDYSxJQUF0QyxFQUFQO0FBRUEsWUFBTVMsT0FBTyxHQUFHblEsVUFBVSxDQUFDaVEsVUFBVSxDQUFDQyxJQUFaLENBQTFCO0FBQ0EsWUFBTXhpQixDQUFRLEdBQUc7QUFDZnRWLFFBQUFBLEVBQUUsRUFBRXMyQixRQUFRLEVBREc7QUFFZndCLFFBQUFBLElBQUksRUFBRUMsT0FGUztBQUdmO0FBQ0F4NEIsUUFBQUEsSUFBSSxFQUFFczRCLFVBQVUsQ0FBQ3Q0QixJQUpGO0FBS2Y7QUFDQXVjLFFBQUFBLElBQUksRUFBRSxLQUFLa2MsZUFBTCxDQUFxQkgsVUFBVSxDQUFDdDRCLElBQWhDLENBTlM7QUFPZjA0QixRQUFBQSxVQUFVLEVBQUUsQ0FQRztBQVFmWixRQUFBQSxVQUFVLEVBQUVBO0FBUkcsT0FBakI7O0FBVUEsVUFBSXozQixJQUFKLEVBQVU7QUFDUixZQUFJczRCLFlBQVksR0FBRzNCLE9BQU8sQ0FBQ0csZUFBUixDQUF3QnBxQixJQUF4QixDQUE2QjFNLElBQTdCLENBQW5COztBQUNBLFlBQUlzNEIsWUFBWSxJQUFJQSxZQUFZLENBQUMsUUFBRCxDQUFoQyxFQUE0QztBQUMxQyxnQkFBTXhCLGVBQWUsR0FBR3dCLFlBQVksQ0FBQyxRQUFELENBQXBDO0FBQ0EsY0FBSSxDQUFDeEIsZUFBZSxDQUFDNWEsSUFBakIsSUFBeUIsQ0FBQzRhLGVBQWUsQ0FBQ3FCLE9BQTlDLEVBQ0UsTUFBTSxJQUFJbHFCLGtDQUFKLEVBQU47QUFDRmpPLFVBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhd2MsZUFBZSxDQUFDNWEsSUFBN0IsRUFBbUMsRUFBbkMsRUFBdUN3YixJQUF2QyxFQUFQO0FBQ0FoaUIsVUFBQUEsQ0FBQyxDQUFDdlAsUUFBRixHQUFhNmhCLFVBQVUsQ0FBQzhPLGVBQWUsQ0FBQ3FCLE9BQWpCLENBQXZCO0FBQ0Q7O0FBRURHLFFBQUFBLFlBQVksR0FBRzNCLE9BQU8sQ0FBQ1MsV0FBUixDQUFvQjFxQixJQUFwQixDQUF5QjFNLElBQXpCLENBQWY7O0FBQ0EsWUFBSXM0QixZQUFZLElBQUlBLFlBQVksQ0FBQyxRQUFELENBQWhDLEVBQTRDO0FBQzFDLGdCQUFNbEIsV0FBVyxHQUFHa0IsWUFBWSxDQUFDLFFBQUQsQ0FBaEM7QUFDQSxjQUFJLENBQUNsQixXQUFXLENBQUNsYixJQUFiLElBQXFCLENBQUNrYixXQUFXLENBQUMzcUIsS0FBdEMsRUFDRSxNQUFNLElBQUl3QixrQ0FBSixFQUFOO0FBQ0ZqTyxVQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQ3NhLE9BQUwsQ0FBYThjLFdBQVcsQ0FBQ2xiLElBQXpCLEVBQStCLEVBQS9CLEVBQW1Dd2IsSUFBbkMsRUFBUDtBQUNBLGdCQUFNYSxJQUFVLEdBQUc7QUFDakJuNEIsWUFBQUEsRUFBRSxFQUFFczJCLFFBRGE7QUFFakI4QixZQUFBQSxZQUFZLEVBQUVwQixXQUFXLENBQUMzcUIsS0FGVDtBQUdqQkEsWUFBQUEsS0FBSyxFQUFFcEQsNENBQUEsQ0FBYyxLQUFLb3ZCLGVBQUwsQ0FBcUJyQixXQUFXLENBQUMzcUIsS0FBakMsQ0FBZCxDQUhVO0FBSWpCeWdCLFlBQUFBLEtBQUssRUFBRWlMLE9BQU8sR0FBRyxHQUpBO0FBS2pCTyxZQUFBQSxHQUFHLEVBQUVQLE9BQU8sR0FBRyxHQUxFO0FBTWpCRCxZQUFBQSxJQUFJLEVBQUVDLE9BTlc7QUFPakJWLFlBQUFBLFVBQVUsRUFBRUE7QUFQSyxXQUFuQjs7QUFTQSxjQUFJTCxXQUFXLENBQUNqZSxJQUFoQixFQUFzQjtBQUNwQixnQkFBSXdmLFFBQVEsR0FBR2hDLE9BQU8sQ0FBQ1csYUFBUixDQUFzQjVxQixJQUF0QixDQUEyQjBxQixXQUFXLENBQUNqZSxJQUF2QyxDQUFmOztBQUNBLGdCQUFJd2YsUUFBUSxJQUFJQSxRQUFRLENBQUMsUUFBRCxDQUF4QixFQUFvQztBQUNsQyxvQkFBTXJCLGFBQWEsR0FBR3FCLFFBQVEsQ0FBQyxRQUFELENBQTlCO0FBQ0Esa0JBQUksQ0FBQ3JCLGFBQWEsQ0FBQ3BiLElBQWYsSUFBdUIsQ0FBQ29iLGFBQWEsQ0FBQ29CLEdBQTFDLEVBQ0UsTUFBTSxJQUFJenFCLGtDQUFKLEVBQU47QUFDRmpPLGNBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhZ2QsYUFBYSxDQUFDcGIsSUFBM0IsRUFBaUMsRUFBakMsRUFBcUN3YixJQUFyQyxFQUFQOztBQUNBLGtCQUFJSixhQUFhLENBQUNwSyxLQUFsQixFQUF5QjtBQUN2QnFMLGdCQUFBQSxJQUFJLENBQUNyTCxLQUFMLEdBQWFpTCxPQUFPLEdBQUduUSxVQUFVLENBQUNzUCxhQUFhLENBQUNwSyxLQUFmLENBQWpDO0FBQ0FxTCxnQkFBQUEsSUFBSSxDQUFDRyxHQUFMLEdBQVdQLE9BQU8sR0FBR25RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBL0I7QUFDRCxlQUhELE1BR087QUFDTEgsZ0JBQUFBLElBQUksQ0FBQ3JMLEtBQUwsR0FBYWlMLE9BQU8sR0FBSW5RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBVixHQUFnQyxDQUF4RDtBQUNBSCxnQkFBQUEsSUFBSSxDQUFDRyxHQUFMLEdBQVdQLE9BQU8sR0FBSW5RLFVBQVUsQ0FBQ3NQLGFBQWEsQ0FBQ29CLEdBQWYsQ0FBVixHQUFnQyxDQUF0RDtBQUNEO0FBQ0Y7O0FBQ0RDLFlBQUFBLFFBQVEsR0FBR2hDLE9BQU8sQ0FBQ0ssV0FBUixDQUFvQnRxQixJQUFwQixDQUF5QjBxQixXQUFXLENBQUNqZSxJQUFyQyxDQUFYOztBQUNBLGdCQUFJd2YsUUFBUSxJQUFJQSxRQUFRLENBQUMsUUFBRCxDQUF4QixFQUFvQztBQUNsQyxvQkFBTTNCLFdBQVcsR0FBRzJCLFFBQVEsQ0FBQyxRQUFELENBQTVCO0FBQ0Esa0JBQUksQ0FBQzNCLFdBQVcsQ0FBQzlhLElBQWIsSUFBcUIsQ0FBQzhhLFdBQVcsQ0FBQ21CLE9BQXRDLEVBQ0UsTUFBTSxJQUFJbHFCLGtDQUFKLEVBQU47QUFDRmpPLGNBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDc2EsT0FBTCxDQUFhMGMsV0FBVyxDQUFDOWEsSUFBekIsRUFBK0IsRUFBL0IsRUFBbUN3YixJQUFuQyxFQUFQO0FBQ0FhLGNBQUFBLElBQUksQ0FBQ0ssSUFBTCxHQUFZNVEsVUFBVSxDQUFDZ1AsV0FBVyxDQUFDbUIsT0FBYixDQUF0QjtBQUNEO0FBQ0Y7O0FBQ0QsZUFBSzlCLFVBQUwsQ0FBZ0I1ckIsSUFBaEIsQ0FBcUI4dEIsSUFBckI7QUFDQSxlQUFLakMsUUFBTCxDQUFjN3JCLElBQWQsQ0FBbUI4dEIsSUFBbkI7QUFDRDtBQUNGLE9BMUlxQixDQTJJdEI7OztBQUNBLFVBQUl2NEIsSUFBSSxJQUFJLENBQUMyMkIsT0FBTyxDQUFDQyxPQUFSLENBQWdCbHFCLElBQWhCLENBQXFCMU0sSUFBckIsQ0FBYixFQUF5QztBQUN2Q21KLFFBQUFBLE9BQU8sQ0FBQ3dPLEdBQVIsQ0FBYSxvQkFBbUIzWCxJQUFLLGtCQUFpQjQzQixZQUFhLEVBQW5FO0FBQ0EsYUFBS3JCLE1BQUwsQ0FBWTlyQixJQUFaLENBQWlCO0FBQ2ZndEIsVUFBQUEsVUFBVSxFQUFFQSxVQURHO0FBRWZ6M0IsVUFBQUEsSUFBSSxFQUFFNDNCLFlBRlM7QUFHZmppQixVQUFBQSxLQUFLLEVBQUU7QUFIUSxTQUFqQjtBQUtELE9BUEQsTUFPTztBQUNMLGFBQUtLLE1BQUwsQ0FBWXZMLElBQVosQ0FBaUJpTCxDQUFqQjtBQUNEO0FBQ0YsS0F4TDBGLENBMEwzRjs7O0FBQ0EsU0FBSyxNQUFNNmhCLE9BQVgsSUFBc0J4QixRQUF0QixhQUFzQkEsUUFBdEIsY0FBc0JBLFFBQXRCLEdBQWtDLEVBQWxDLEVBQXNDO0FBQ3BDLFVBQUk4QyxLQUFLLEdBQUcsS0FBWjs7QUFDQSxXQUFLLE1BQU0vaUIsS0FBWCxJQUFvQixLQUFLRSxNQUF6QixFQUFpQztBQUMvQixZQUFJdWhCLE9BQU8sQ0FBQzlxQixLQUFSLElBQWlCOHFCLE9BQU8sQ0FBQzlxQixLQUFSLENBQWNrckIsSUFBZCxDQUFtQjdoQixLQUFLLENBQUNuVyxJQUF6QixDQUFyQixFQUFxRDtBQUNuRGs1QixVQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxVQUFJLENBQUNBLEtBQUwsRUFBWTtBQUFBOztBQUNWLGNBQU0zYyxJQUFJLEdBQUksaUNBQUQsMkNBQWlDcWIsT0FBTyxDQUFDOXFCLEtBQXpDLG1EQUFpQyxlQUFlbEksTUFBaEQseUVBQ1gsRUFBRyxPQURRLGVBQ0ZnekIsT0FBTyxDQUFDbjNCLEVBRE4scURBQ1ksRUFBRyxFQUQ1QjtBQUVBLGFBQUttMkIsTUFBTCxDQUFZOXJCLElBQVosQ0FBaUI7QUFBRWtMLFVBQUFBLEtBQUssRUFBRXVHO0FBQVQsU0FBakI7QUFDQS9TLFFBQUFBLE9BQU8sQ0FBQ3dNLEtBQVIsQ0FBZSxjQUFhdUcsSUFBSyxFQUFqQztBQUNEO0FBQ0Y7O0FBRUQsU0FBSyxNQUFNeEcsQ0FBWCxJQUFnQixLQUFLTSxNQUFyQixFQUE2QjtBQUMzQixXQUFLLE1BQU04aUIsZ0JBQVgscUJBQStCMUMsS0FBSyxDQUFDMWdCLENBQUMsQ0FBQy9WLElBQUgsQ0FBcEMseURBQWdELEVBQWhELEVBQW9EO0FBQUE7O0FBQ2xELGNBQU1ELElBQUksR0FBR281QixnQkFBZ0IsQ0FBQ3A1QixJQUE5QjtBQUNBLFlBQUlBLElBQUksS0FBSyxNQUFULElBQW1CQSxJQUFJLEtBQUssT0FBNUIsSUFBdUNBLElBQUksS0FBSyxPQUFwRCxFQUNFO0FBQ0YsYUFBSzAyQixLQUFMLENBQVczckIsSUFBWCxDQUFnQjtBQUNkL0ssVUFBQUEsSUFBSSxFQUFFQSxJQURRO0FBRWR3NEIsVUFBQUEsSUFBSSxFQUFFeGlCLENBQUMsQ0FBQ3dpQixJQUFGLElBQVVZLGdCQUFnQixDQUFDZixhQUFqQixJQUFrQyxDQUE1QyxDQUZRO0FBR2Q3YixVQUFBQSxJQUFJLDJCQUFFNGMsZ0JBQWdCLENBQUM1YyxJQUFuQix5RUFBMkI7QUFIakIsU0FBaEI7QUFLRCxPQVYwQixDQVkzQjtBQUNBOzs7QUFDQSxXQUFLLE1BQU1xYixPQUFYLElBQXNCeEIsUUFBdEIsYUFBc0JBLFFBQXRCLGNBQXNCQSxRQUF0QixHQUFrQyxFQUFsQyxFQUFzQztBQUFBOztBQUNwQyxjQUFNZ0QsQ0FBQyxzQkFBR3hCLE9BQU8sQ0FBQzlxQixLQUFYLG9EQUFHLGdCQUFlQyxJQUFmLENBQW9CZ0osQ0FBQyxDQUFDL1YsSUFBdEIsQ0FBVjtBQUNBLFlBQUksQ0FBQ281QixDQUFMLEVBQ0UsU0FIa0MsQ0FLcEM7O0FBQ0EsY0FBTUMsVUFBVSxHQUFHekIsT0FBTyxDQUFDbjNCLEVBQVIsSUFBYyxLQUFLODFCLG9CQUFMLENBQTBCcUIsT0FBTyxDQUFDbjNCLEVBQWxDLENBQWQsSUFBdUQsRUFBMUU7QUFDQSxjQUFNeTNCLGFBQWEsNEJBQUdtQixVQUFVLENBQUMsZUFBRCxDQUFiLHlFQUFrQ3pCLE9BQU8sQ0FBQ00sYUFBN0Q7QUFFQSxhQUFLekIsS0FBTCxDQUFXM3JCLElBQVgsQ0FBZ0I7QUFDZC9LLFVBQUFBLElBQUksRUFBRSxTQURRO0FBRWR3NEIsVUFBQUEsSUFBSSxFQUFFeGlCLENBQUMsQ0FBQ3dpQixJQUFGLElBQVVMLGFBQWEsSUFBSSxDQUEzQixDQUZRO0FBR2ROLFVBQUFBLE9BQU8sRUFBRUEsT0FISztBQUlkdjVCLFVBQUFBLE9BQU8sRUFBRSs2QjtBQUpLLFNBQWhCO0FBTUQ7O0FBRUQsV0FBSyxNQUFNMVEsS0FBWCxJQUFvQjJOLE1BQXBCLGFBQW9CQSxNQUFwQixjQUFvQkEsTUFBcEIsR0FBOEIsRUFBOUIsRUFBa0M7QUFDaEMsWUFBSSxDQUFDM04sS0FBSyxDQUFDNWIsS0FBTixDQUFZa3JCLElBQVosQ0FBaUJqaUIsQ0FBQyxDQUFDL1YsSUFBbkIsQ0FBTCxFQUNFO0FBQ0YrVixRQUFBQSxDQUFDLENBQUMyUyxLQUFGLEdBQVVBLEtBQUssQ0FBQ0EsS0FBaEI7QUFDRDtBQUNGLEtBL08wRixDQWlQM0Y7QUFDQTs7O0FBQ0EsU0FBS3JTLE1BQUwsQ0FBWWxMLElBQVosQ0FBaUIsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEtBQVU7QUFDekIsVUFBSUQsQ0FBQyxDQUFDbXRCLElBQUYsS0FBV2x0QixDQUFDLENBQUNrdEIsSUFBakIsRUFDRSxPQUFPbnRCLENBQUMsQ0FBQzNLLEVBQUYsR0FBTzRLLENBQUMsQ0FBQzVLLEVBQWhCO0FBQ0YsYUFBTzJLLENBQUMsQ0FBQ210QixJQUFGLEdBQVNsdEIsQ0FBQyxDQUFDa3RCLElBQWxCO0FBQ0QsS0FKRDtBQUtBLFNBQUtsaUIsTUFBTCxDQUFZUixPQUFaLENBQW9CLENBQUNNLEtBQUQsRUFBUXlNLEdBQVIsS0FBZ0J6TSxLQUFLLENBQUNtakIsT0FBTixHQUFnQjFXLEdBQXBEO0FBRUEsU0FBSzZULEtBQUwsQ0FBV3RyQixJQUFYLENBQWdCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVO0FBQ3hCLGFBQU9ELENBQUMsQ0FBQ210QixJQUFGLEdBQVNsdEIsQ0FBQyxDQUFDa3RCLElBQWxCO0FBQ0QsS0FGRDtBQUdBLFNBQUs3QixVQUFMLENBQWdCdnJCLElBQWhCLENBQXFCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVO0FBQzdCLGFBQU9ELENBQUMsQ0FBQ21pQixLQUFGLEdBQVVsaUIsQ0FBQyxDQUFDa2lCLEtBQW5CO0FBQ0QsS0FGRDtBQUdBLFNBQUtvSixRQUFMLENBQWN4ckIsSUFBZCxDQUFtQixDQUFDQyxDQUFELEVBQUlDLENBQUosS0FBVTtBQUMzQixhQUFPRCxDQUFDLENBQUMydEIsR0FBRixHQUFRMXRCLENBQUMsQ0FBQzB0QixHQUFqQjtBQUNELEtBRkQ7QUFHRDs7QUFFT1EsRUFBQUEsaUJBQWlCLENBQ3ZCaGQsSUFEdUIsRUFFdkJpZCxVQUZ1QixFQUd2QkMsV0FIdUIsRUFJdkJDLFFBSnVCLEVBS2Y7QUFDUixRQUFJLENBQUMsS0FBS3ZELFlBQVYsRUFDRSxPQUFPNVosSUFBUDs7QUFFRixTQUFLLE1BQU1vZCxDQUFYLElBQWdCLEtBQUt4RCxZQUFyQixFQUFtQztBQUNqQyxVQUFJd0QsQ0FBQyxDQUFDQyxNQUFGLElBQVlELENBQUMsQ0FBQ0MsTUFBRixLQUFhSCxXQUE3QixFQUNFO0FBQ0YsWUFBTUksSUFBSSxHQUFHRixDQUFDLENBQUNILFVBQUQsQ0FBZDtBQUNBLFVBQUksQ0FBQ0ssSUFBTCxFQUNFOztBQUNGLFdBQUssTUFBTSxDQUFDcHVCLEdBQUQsRUFBTWYsS0FBTixDQUFYLElBQTJCUixNQUFNLENBQUNLLE9BQVAsQ0FBZXN2QixJQUFmLENBQTNCLEVBQ0V0ZCxJQUFJLEdBQUdBLElBQUksQ0FBQzVCLE9BQUwsQ0FBYWpSLDRDQUFBLENBQWMrQixHQUFkLENBQWIsRUFBaUNmLEtBQWpDLENBQVA7QUFDSCxLQVpPLENBYVI7OztBQUNBLFVBQU1vdkIsV0FBVyxHQUFHbEUsaUJBQWlCLENBQUM0RCxVQUFELENBQXJDOztBQUNBLFNBQUssTUFBTSxDQUFDL3RCLEdBQUQsRUFBTWYsS0FBTixDQUFYLElBQTJCUixNQUFNLENBQUNLLE9BQVAsQ0FBZXV2QixXQUFmLGFBQWVBLFdBQWYsY0FBZUEsV0FBZixHQUE4QixFQUE5QixDQUEzQixFQUE4RDtBQUM1RCxZQUFNQyxJQUFJLEdBQUdydkIsS0FBSyxDQUFDK3VCLFdBQUQsQ0FBbEI7QUFDQSxVQUFJLENBQUNNLElBQUwsRUFDRTtBQUNGLFlBQU1qdEIsS0FBSyxHQUFHNHNCLFFBQVEsR0FBR2h3Qix3REFBQSxDQUFvQitCLEdBQXBCLENBQUgsR0FBOEIvQiw0Q0FBQSxDQUFjK0IsR0FBZCxDQUFwRDtBQUNBOFEsTUFBQUEsSUFBSSxHQUFHQSxJQUFJLENBQUM1QixPQUFMLENBQWE3TixLQUFiLEVBQW9CaXRCLElBQXBCLENBQVA7QUFDRCxLQXJCTyxDQXVCUjs7O0FBQ0EsUUFBSU4sV0FBVyxLQUFLLElBQWhCLElBQXdCRCxVQUFVLEtBQUssYUFBM0MsRUFBMEQ7QUFDeEQsV0FBSyxNQUFNLENBQUMvdEIsR0FBRCxFQUFNc3VCLElBQU4sQ0FBWCxJQUEwQjd2QixNQUFNLENBQUNLLE9BQVAsQ0FBZXlyQiwyQkFBZixDQUExQixFQUF1RTtBQUNyRSxjQUFNbHBCLEtBQUssR0FBRzRzQixRQUFRLEdBQUdod0Isd0RBQUEsQ0FBb0IrQixHQUFwQixDQUFILEdBQThCL0IsNENBQUEsQ0FBYytCLEdBQWQsQ0FBcEQ7QUFDQThRLFFBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDNUIsT0FBTCxDQUFhN04sS0FBYixFQUFvQml0QixJQUFwQixDQUFQO0FBQ0Q7QUFDRjs7QUFFRCxXQUFPeGQsSUFBUDtBQUNEOztBQUVPa2MsRUFBQUEsZUFBZSxDQUFDbGMsSUFBRCxFQUF1QjtBQUFBOztBQUM1QztBQUNBO0FBQ0EsVUFBTXlkLE1BQU0sMkJBQUcsS0FBS25ELGNBQVIsbUZBQUcscUJBQXFCb0QsTUFBeEIsMkRBQUcsdUJBQThCMWQsSUFBOUIsQ0FBZjtBQUNBLFFBQUl5ZCxNQUFNLEtBQUt0akIsU0FBZixFQUNFLE9BQU9zakIsTUFBUDtBQUVGLFFBQUksQ0FBQyxLQUFLN0QsWUFBVixFQUNFLE9BQU81WixJQUFQO0FBRUYsVUFBTWtkLFdBQVcsR0FBRyxLQUFLaFksT0FBTCxDQUFhdVIsZ0JBQWIsSUFBaUMsS0FBS3ZSLE9BQUwsQ0FBYVQsY0FBOUMsSUFBZ0UsSUFBcEY7QUFDQSxVQUFNMFksUUFBUSxHQUFHLEtBQWpCO0FBQ0EsV0FBTyxLQUFLSCxpQkFBTCxDQUF1QmhkLElBQXZCLEVBQTZCLGFBQTdCLEVBQTRDa2QsV0FBNUMsRUFBeURDLFFBQXpELENBQVA7QUFDRDs7QUFFT1osRUFBQUEsZUFBZSxDQUFDRixJQUFELEVBQXVCO0FBQzVDLFFBQUksQ0FBQyxLQUFLekMsWUFBVixFQUNFLE9BQU95QyxJQUFQO0FBRUYsVUFBTWEsV0FBVyxHQUFHLEtBQUtoWSxPQUFMLENBQWFULGNBQWIsSUFBK0IsSUFBbkQ7QUFDQSxVQUFNMFksUUFBUSxHQUFHLElBQWpCO0FBQ0EsV0FBTyxLQUFLSCxpQkFBTCxDQUF1QlgsSUFBdkIsRUFBNkIsYUFBN0IsRUFBNENhLFdBQTVDLEVBQXlEQyxRQUF6RCxDQUFQO0FBQ0Q7O0FBRU1RLEVBQUFBLDhCQUE4QixHQUFhO0FBQ2hELFdBQU8sQ0FDTCxXQURLLEVBRUwsVUFGSyxFQUdMLE9BSEssRUFJTCxRQUpLLEVBS0wsdURBTEssRUFNTCxpQ0FOSyxFQU9MLHVCQVBLLEVBUUwsVUFSSyxFQVNMOXJCLEdBVEssQ0FTQTVNLENBQUQsSUFBT2tJLDRDQUFBLENBQWNsSSxDQUFkLENBVE4sQ0FBUDtBQVVEOztBQTlYeUI7O0FDdEU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF5QkE7QUFFQTtBQUNBO0FBRUEsTUFBTTY0QixXQUFXLEdBQUc7QUFDbEJqZSxFQUFBQSxNQUFNLEVBQUUsUUFEVTtBQUVsQjVWLEVBQUFBLFFBQVEsRUFBRSxVQUZRO0FBR2xCMHhCLEVBQUFBLGFBQWEsRUFBRSxlQUhHO0FBSWxCcGIsRUFBQUEsYUFBYSxFQUFFO0FBSkcsQ0FBcEI7QUFZQTtBQUNBLE1BQU13ZCxlQUFlLEdBQUc7QUFDdEJyUyxFQUFBQSxPQUFPLEVBQUU7QUFDUHNTLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxZQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxhQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxXQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxRQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxRQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DO0FBREEsR0FEYTtBQVd0Qmk3QixFQUFBQSxZQUFZLEVBQUU7QUFDWkQsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLHFCQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxtQkFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsbUJBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLGNBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLGVBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkM7QUFESyxHQVhRO0FBcUJ0Qms3QixFQUFBQSxVQUFVLEVBQUU7QUFDVkYsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLG1CQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxtQkFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsbUJBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLGVBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLGVBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkM7QUFERyxHQXJCVTtBQStCdEJtN0IsRUFBQUEsT0FBTyxFQUFFO0FBQ1BILElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxhQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxZQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxrQkFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsVUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsV0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQztBQURBLEdBL0JhO0FBeUN0Qm83QixFQUFBQSxRQUFRLEVBQUU7QUFDUkosSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLGNBREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLGFBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLG9CQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxXQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxZQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DO0FBREMsR0F6Q1k7QUFtRHRCcTdCLEVBQUFBLFFBQVEsRUFBRTtBQUNSTCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsWUFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsZUFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsYUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsTUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsTUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQztBQURDO0FBbkRZLENBQXhCO0FBK0RBLE1BQU1zN0IsbUJBQTBELEdBQUdQLGVBQW5FO0FBU0EsTUFBTVEsV0FBVyxHQUFHO0FBQ2xCLGtCQUFnQjtBQUNkUCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsT0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsT0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsT0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsTUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsT0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURPO0FBU2R3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFM7QUFVZEMsSUFBQUEsU0FBUyxFQUFFO0FBVkcsR0FERTtBQWFsQixxQkFBbUI7QUFDakJULElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxVQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxVQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxVQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxTQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxXQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBRFU7QUFTakJ3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFk7QUFVakJDLElBQUFBLFNBQVMsRUFBRTtBQVZNLEdBYkQ7QUF5QmxCLG1CQUFpQjtBQUNmVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsVUFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsVUFGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsVUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsUUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsS0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURRO0FBU2Z3N0IsSUFBQUEsR0FBRyxFQUFFLFlBVFU7QUFVZkMsSUFBQUEsU0FBUyxFQUFFO0FBVkksR0F6QkM7QUFxQ2xCLG1CQUFpQjtBQUNmVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsY0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsbUJBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLGlCQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxVQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxRQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBRFE7QUFTZnc3QixJQUFBQSxHQUFHLEVBQUUscUJBVFU7QUFVZkUsSUFBQUEsaUJBQWlCLEVBQUU7QUFWSixHQXJDQztBQWlEbEIsZUFBYTtBQUNYVixJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsV0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsV0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsV0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsSUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURJO0FBU1h3N0IsSUFBQUEsR0FBRyxFQUFFLGdCQVRNO0FBVVhDLElBQUFBLFNBQVMsRUFBRTtBQVZBLEdBakRLO0FBNkRsQixjQUFZO0FBQ1ZULElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxnQkFEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsa0JBRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLGtCQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxVQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxVQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREc7QUFTVnc3QixJQUFBQSxHQUFHLEVBQUUsZUFUSztBQVVWRSxJQUFBQSxpQkFBaUIsRUFBRTtBQVZULEdBN0RNO0FBeUVsQixZQUFVO0FBQ1JWLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxRQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxRQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxRQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxNQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxLQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREM7QUFTUnc3QixJQUFBQSxHQUFHLEVBQUUsYUFURztBQVVSQyxJQUFBQSxTQUFTLEVBQUU7QUFWSCxHQXpFUTtBQXFGbEIsZUFBYTtBQUNYVCxJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsT0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsT0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsUUFIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsSUFKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsTUFMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURJO0FBU1h3N0IsSUFBQUEsR0FBRyxFQUFFO0FBVE0sR0FyRks7QUFnR2xCLGVBQWE7QUFDWFIsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLE9BREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLE9BRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLFFBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLE1BTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkMsS0FESTtBQVNYdzdCLElBQUFBLEdBQUcsRUFBRTtBQVRNLEdBaEdLO0FBMkdsQixjQUFZO0FBQ1ZSLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxNQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxNQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxNQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxJQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxNQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREc7QUFTVnc3QixJQUFBQSxHQUFHLEVBQUU7QUFUSyxHQTNHTTtBQXNIbEIsU0FBTztBQUNMUixJQUFBQSxLQUFLLEVBQUU7QUFDTHI3QixNQUFBQSxFQUFFLEVBQUUsS0FEQztBQUVMQyxNQUFBQSxFQUFFLEVBQUUsS0FGQztBQUdMQyxNQUFBQSxFQUFFLEVBQUUsS0FIQztBQUlMQyxNQUFBQSxFQUFFLEVBQUUsS0FKQztBQUtMQyxNQUFBQSxFQUFFLEVBQUUsS0FMQztBQU1MQyxNQUFBQSxFQUFFLEVBQUU7QUFOQyxLQURGO0FBU0x3N0IsSUFBQUEsR0FBRyxFQUFFO0FBVEEsR0F0SFc7QUFpSWxCLFdBQVM7QUFDUFIsSUFBQUEsS0FBSyxFQUFFO0FBQ0xyN0IsTUFBQUEsRUFBRSxFQUFFLE9BREM7QUFFTEMsTUFBQUEsRUFBRSxFQUFFLE9BRkM7QUFHTEMsTUFBQUEsRUFBRSxFQUFFLEtBSEM7QUFJTEMsTUFBQUEsRUFBRSxFQUFFLElBSkM7QUFLTEMsTUFBQUEsRUFBRSxFQUFFLEtBTEM7QUFNTEMsTUFBQUEsRUFBRSxFQUFFO0FBTkMsS0FEQTtBQVNQdzdCLElBQUFBLEdBQUcsRUFBRTtBQVRFLEdBaklTO0FBNElsQixTQUFPO0FBQ0xSLElBQUFBLEtBQUssRUFBRTtBQUNMcjdCLE1BQUFBLEVBQUUsRUFBRSxLQURDO0FBRUxDLE1BQUFBLEVBQUUsRUFBRSxLQUZDO0FBR0xDLE1BQUFBLEVBQUUsRUFBRSxLQUhDO0FBSUxDLE1BQUFBLEVBQUUsRUFBRSxJQUpDO0FBS0xDLE1BQUFBLEVBQUUsRUFBRSxJQUxDO0FBTUxDLE1BQUFBLEVBQUUsRUFBRTtBQU5DLEtBREY7QUFTTHc3QixJQUFBQSxHQUFHLEVBQUUsVUFUQTtBQVVMQyxJQUFBQSxTQUFTLEVBQUU7QUFWTjtBQTVJVyxDQUFwQixFQTBKQTs7QUFDQSxNQUFNRSxxQkFBcUIsR0FBRztBQUM1QkMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakJqOEIsSUFBQUEsRUFBRSxFQUFFLE1BRGE7QUFFakJDLElBQUFBLEVBQUUsRUFBRSxVQUZhO0FBR2pCQyxJQUFBQSxFQUFFLEVBQUUsVUFIYTtBQUlqQkUsSUFBQUEsRUFBRSxFQUFFO0FBSmEsR0FEUztBQU81QmlkLEVBQUFBLElBQUksRUFBRTtBQUNKcmQsSUFBQUEsRUFBRSxFQUFFLGVBREE7QUFFSkMsSUFBQUEsRUFBRSxFQUFFLGVBRkE7QUFHSkMsSUFBQUEsRUFBRSxFQUFFLHNCQUhBO0FBSUpFLElBQUFBLEVBQUUsRUFBRTtBQUpBLEdBUHNCO0FBYTVCODdCLEVBQUFBLFlBQVksRUFBRTtBQUNabDhCLElBQUFBLEVBQUUsRUFBRSxRQURRO0FBRVpDLElBQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLElBQUFBLEVBQUUsRUFBRSxVQUhRO0FBSVpFLElBQUFBLEVBQUUsRUFBRTtBQUpRO0FBYmMsQ0FBOUI7QUFxQkEsTUFBTSs3QixVQUFzRCxHQUFHUCxXQUEvRDtBQUVBLE1BQU1RLGlCQUFpQixHQUFHO0FBQ3hCO0FBQ0FDLEVBQUFBLFlBQVksRUFBRTtBQUNacjhCLElBQUFBLEVBQUUsRUFBRSxXQURRO0FBRVpDLElBQUFBLEVBQUUsRUFBRSxZQUZRO0FBR1pDLElBQUFBLEVBQUUsRUFBRSxVQUhRO0FBSVpDLElBQUFBLEVBQUUsRUFBRSxPQUpRO0FBS1pDLElBQUFBLEVBQUUsRUFBRSxPQUxRO0FBTVpDLElBQUFBLEVBQUUsRUFBRTtBQU5RLEdBRlU7QUFVeEI7QUFDQWk4QixFQUFBQSxlQUFlLEVBQUU7QUFDZnQ4QixJQUFBQSxFQUFFLEVBQUUsWUFEVztBQUVmQyxJQUFBQSxFQUFFLEVBQUUsWUFGVztBQUdmQyxJQUFBQSxFQUFFLEVBQUUsWUFIVztBQUlmQyxJQUFBQSxFQUFFLEVBQUUsTUFKVztBQUtmQyxJQUFBQSxFQUFFLEVBQUUsTUFMVztBQU1mQyxJQUFBQSxFQUFFLEVBQUU7QUFOVyxHQVhPO0FBbUJ4QjtBQUNBazhCLEVBQUFBLE9BQU8sRUFBRTtBQUNQdjhCLElBQUFBLEVBQUUsRUFBRSxZQURHO0FBRVBDLElBQUFBLEVBQUUsRUFBRSxZQUZHO0FBR1BDLElBQUFBLEVBQUUsRUFBRSxjQUhHO0FBSVBDLElBQUFBLEVBQUUsRUFBRSxPQUpHO0FBS1BDLElBQUFBLEVBQUUsRUFBRSxPQUxHO0FBTVBDLElBQUFBLEVBQUUsRUFBRTtBQU5HLEdBcEJlO0FBNEJ4QjtBQUNBbThCLEVBQUFBLFNBQVMsRUFBRTtBQUNUeDhCLElBQUFBLEVBQUUsRUFBRSxrQkFESztBQUVUQyxJQUFBQSxFQUFFLEVBQUUsbUJBRks7QUFHVEMsSUFBQUEsRUFBRSxFQUFFLG1CQUhLO0FBSVRDLElBQUFBLEVBQUUsRUFBRSxVQUpLO0FBS1RDLElBQUFBLEVBQUUsRUFBRSxRQUxLO0FBTVRDLElBQUFBLEVBQUUsRUFBRTtBQU5LLEdBN0JhO0FBcUN4QjtBQUNBbzhCLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCejhCLElBQUFBLEVBQUUsRUFBRSx5QkFEWTtBQUVoQkMsSUFBQUEsRUFBRSxFQUFFLCtCQUZZO0FBR2hCQyxJQUFBQSxFQUFFLEVBQUUseUJBSFk7QUFJaEJDLElBQUFBLEVBQUUsRUFBRSxrQkFKWTtBQUtoQkMsSUFBQUEsRUFBRSxFQUFFLGdCQUxZO0FBTWhCQyxJQUFBQSxFQUFFLEVBQUU7QUFOWSxHQXRDTTtBQThDeEI7QUFDQXE4QixFQUFBQSxpQkFBaUIsRUFBRTtBQUNqQjE4QixJQUFBQSxFQUFFLEVBQUUscUJBRGE7QUFFakJDLElBQUFBLEVBQUUsRUFBRSxzQkFGYTtBQUdqQkMsSUFBQUEsRUFBRSxFQUFFLCtCQUhhO0FBSWpCQyxJQUFBQSxFQUFFLEVBQUUsYUFKYTtBQUtqQkMsSUFBQUEsRUFBRSxFQUFFLFNBTGE7QUFNakJDLElBQUFBLEVBQUUsRUFBRTtBQU5hLEdBL0NLO0FBdUR4QjtBQUNBczhCLEVBQUFBLFlBQVksRUFBRTtBQUNaMzhCLElBQUFBLEVBQUUsRUFBRSxlQURRO0FBRVpDLElBQUFBLEVBQUUsRUFBRSxxQkFGUTtBQUdaQyxJQUFBQSxFQUFFLEVBQUUsb0JBSFE7QUFJWkUsSUFBQUEsRUFBRSxFQUFFO0FBSlE7QUF4RFUsQ0FBMUI7O0FBZ0VBLE1BQU13OEIsd0JBQXdCLEdBQUlDLFFBQUQsSUFBaUM7QUFDaEUsTUFBSSxPQUFPQSxRQUFQLEtBQW9CLFFBQXBCLElBQWdDLE9BQU9BLFFBQVAsS0FBb0IsUUFBeEQsRUFDRSxPQUFPcmxCLFNBQVA7QUFDRixRQUFNc2xCLEdBQUcsR0FBRzNULFVBQVUsQ0FBQzBULFFBQVEsQ0FBQ3R2QixRQUFULEVBQUQsQ0FBdEI7QUFDQSxNQUFJLENBQUN3dkIsS0FBSyxDQUFDRCxHQUFELENBQU4sSUFBZUEsR0FBRyxJQUFJLENBQTFCLEVBQ0UsT0FBT0EsR0FBUDtBQUNGLFNBQU90bEIsU0FBUDtBQUNELENBUEQ7O0FBU0EsTUFBTXdsQixlQUFlLEdBQUlDLElBQUQsSUFBOEIsQ0FBQ0EsSUFBSSxDQUFDQyxXQUFOLElBQXFCLENBQUNELElBQUksQ0FBQ1IsZ0JBQWpGOztBQUVBLE1BQU1VLGdCQUFnQixHQUFHLENBQ3ZCQyxTQUR1QixFQUV2QkMsU0FGdUIsRUFHdkJDLFVBSHVCLEVBSXZCQyxTQUp1QixLQUtkO0FBQ1QsUUFBTWxDLEtBQUssR0FBR2hWLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBZDtBQUNBNlQsRUFBQUEsS0FBSyxDQUFDM1QsU0FBTixHQUFrQjJWLFNBQWxCO0FBQ0FoQyxFQUFBQSxLQUFLLENBQUM5VSxTQUFOLENBQWdCQyxHQUFoQixDQUFvQixlQUFwQjtBQUNBNFcsRUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQndULEtBQXRCO0FBRUEsUUFBTTdWLE1BQU0sR0FBR2EsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFmO0FBQ0FoQyxFQUFBQSxNQUFNLENBQUNlLFNBQVAsQ0FBaUJDLEdBQWpCLENBQXFCLGdCQUFyQjtBQUNBaEIsRUFBQUEsTUFBTSxDQUFDa0MsU0FBUCxHQUFtQjRWLFVBQW5CO0FBQ0FGLEVBQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0JyQyxNQUF0QjtBQUVBLE1BQUkrWCxTQUFKLEVBQ0UvWCxNQUFNLENBQUNlLFNBQVAsQ0FBaUJDLEdBQWpCLENBQXFCLEdBQUcrVyxTQUF4QjtBQUNILENBbEJELEVBb0JBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUMseUJBQXlCLEdBQUcsQ0FDaENqYixPQURnQyxFQUVoQy9XLEtBRmdDLEtBRzdCO0FBQ0gsTUFBSUEsS0FBSyxLQUFLLFNBQWQsRUFBeUIsQ0FDdkI7QUFDRCxHQUZELE1BRU8sSUFBSUEsS0FBSyxLQUFLLGNBQWQsRUFBOEI7QUFDbkMrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFlBQWQsRUFBNEI7QUFDakMrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixJQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFNBQWQsRUFBeUI7QUFDOUIrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLEtBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsSUFBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixJQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFVBQWQsRUFBMEI7QUFDL0IrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLElBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsS0FBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQSxJQUFJM1csS0FBSyxLQUFLLFVBQWQsRUFBMEI7QUFDL0IrVyxJQUFBQSxPQUFPLENBQUNOLGlCQUFSLEdBQTRCLEtBQTVCO0FBQ0FNLElBQUFBLE9BQU8sQ0FBQ0wsa0JBQVIsR0FBNkIsS0FBN0I7QUFDQUssSUFBQUEsT0FBTyxDQUFDSixtQkFBUixHQUE4QixLQUE5QjtBQUNELEdBSk0sTUFJQTtBQUNMN1gsSUFBQUEsT0FBTyxDQUFDd00sS0FBUixDQUFlLHdCQUF1QnRMLEtBQUssQ0FBQytCLFFBQU4sRUFBaUIsRUFBdkQ7QUFDRDtBQUNGLENBN0JELEVBK0JBO0FBQ0E7OztBQUNBLE1BQU1rd0Isa0JBQU4sQ0FBeUI7QUFDdkJwdUIsRUFBQUEsV0FBVyxDQUFDcXVCLHFCQUFELEVBQWdFO0FBQ3pFLFdBQU8sSUFBSUMsS0FBSixDQUFVLElBQVYsRUFBZ0I7QUFDckI5UCxNQUFBQSxHQUFHLENBQUMrUCxPQUFELEVBQVVDLFFBQVYsRUFBb0JyeUIsS0FBcEIsRUFBb0M7QUFDckMsWUFBSXF5QixRQUFRLEtBQUssdUJBQWpCLEVBQTBDO0FBQ3hDO0FBQ0FILFVBQUFBLHFCQUFxQixDQUFDbHlCLEtBQUQsQ0FBckI7QUFDQSxpQkFBTyxJQUFQO0FBQ0QsU0FMb0MsQ0FPckM7OztBQUNBLGVBQU8sS0FBUDtBQUNELE9BVm9COztBQVlyQmtOLE1BQUFBLEdBQUcsQ0FBQ2tsQixPQUFELEVBQVVFLEtBQVYsRUFBaUI7QUFDbEIsZUFBTyxNQUFNO0FBQUM7QUFBVyxTQUF6QjtBQUNEOztBQWRvQixLQUFoQixDQUFQO0FBZ0JEOztBQWxCc0I7O0FBcUJ6QixNQUFNQyxRQUFRLEdBQUlqVyxJQUFELElBQWtCO0FBQ2pDLFNBQVEsWUFBV0EsSUFBSyxxQkFBb0JBLElBQUssTUFBakQ7QUFDRCxDQUZEOztBQUlBLE1BQU1rVyxRQUFRLEdBQUl6OUIsSUFBRCxJQUE2QjtBQUM1QyxTQUFPLE9BQU9BLElBQVAsS0FBZ0IsUUFBaEIsSUFBNEJELDRCQUFNLENBQUNDLElBQUQsQ0FBbEMsR0FBMkNBLElBQTNDLEdBQWtELElBQXpEO0FBQ0QsQ0FGRDs7QUFJQSxNQUFNMDlCLG9CQUFOLENBQTJCO0FBS3pCNXVCLEVBQUFBLFdBQVcsQ0FBQzZ1QixtQkFBRCxFQUEyQztBQUNwRCxTQUFLQyxJQUFMLEdBQVlELG1CQUFaLENBRG9ELENBR3BEO0FBQ0E7QUFDQTs7QUFDQSxTQUFLRSxVQUFMLEdBQWtCSixRQUFRLENBQUMsS0FBS0csSUFBTCxDQUFVRSxTQUFWLENBQW9CLFVBQXBCLEVBQWdDLGdCQUFoQyxFQUFrRCxLQUFLRixJQUFMLENBQVU1OUIsSUFBNUQsQ0FBRCxDQUExQjtBQUNBLFNBQUsrOUIsWUFBTCxHQUFvQk4sUUFBUSxDQUMxQixLQUFLRyxJQUFMLENBQVVFLFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0Msa0JBQWhDLEVBQW9ELEtBQUtGLElBQUwsQ0FBVTU5QixJQUE5RCxDQUQwQixDQUE1QjtBQUdEOztBQUVEZytCLEVBQUFBLE9BQU8sQ0FBQ25CLFNBQUQsRUFBeUJvQixhQUF6QixFQUEwREMsV0FBMUQsRUFBd0Y7QUFDN0YsVUFBTUMsT0FBTyxHQUFHLEtBQUtDLG9CQUFMLENBQTBCSCxhQUExQixFQUF5Q0MsV0FBekMsQ0FBaEI7QUFFQSxVQUFNRyxhQUFtRCxHQUFHLEVBQTVEOztBQUVBLFNBQUssTUFBTSxDQUFDcnlCLEdBQUQsRUFBTXN5QixJQUFOLENBQVgsSUFBMEI3ekIsTUFBTSxDQUFDSyxPQUFQLENBQWVxekIsT0FBZixDQUExQixFQUFtRDtBQUNqRDtBQUNBO0FBQ0EsWUFBTUksU0FBUyxHQUFHRCxJQUFJLENBQUNFLE9BQXZCO0FBRUEsVUFBSSxDQUFDRixJQUFJLENBQUMzSCxRQUFOLElBQWtCbHNCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZNHpCLElBQUksQ0FBQzNILFFBQWpCLEVBQTJCNXFCLE1BQTNCLEtBQXNDLENBQTVELEVBQ0U7QUFFRixVQUFJMHlCLFlBQVksR0FBR0osYUFBYSxDQUFDRSxTQUFELENBQWhDOztBQUNBLFVBQUksQ0FBQ0UsWUFBTCxFQUFtQjtBQUNqQixjQUFNQyxrQkFBa0IsR0FBRzVZLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBM0I7QUFDQXlYLFFBQUFBLGtCQUFrQixDQUFDMVksU0FBbkIsQ0FBNkJDLEdBQTdCLENBQWlDLDZCQUFqQyxFQUFnRSxXQUFoRTtBQUNBNFcsUUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQm9YLGtCQUF0QjtBQUVBLGNBQU1DLGVBQWUsR0FBRzdZLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBeEI7QUFDQTBYLFFBQUFBLGVBQWUsQ0FBQzNZLFNBQWhCLENBQTBCQyxHQUExQixDQUE4QiwwQkFBOUI7O0FBQ0EwWSxRQUFBQSxlQUFlLENBQUNDLE9BQWhCLEdBQTBCLE1BQU07QUFDOUJGLFVBQUFBLGtCQUFrQixDQUFDMVksU0FBbkIsQ0FBNkI1ZCxNQUE3QixDQUFvQyxXQUFwQztBQUNELFNBRkQ7O0FBR0F1MkIsUUFBQUEsZUFBZSxDQUFDeFgsU0FBaEIsR0FBNEJvWCxTQUE1QjtBQUNBRyxRQUFBQSxrQkFBa0IsQ0FBQ3BYLFdBQW5CLENBQStCcVgsZUFBL0I7QUFFQUYsUUFBQUEsWUFBWSxHQUFHSixhQUFhLENBQUNFLFNBQUQsQ0FBYixHQUEyQkcsa0JBQTFDO0FBQ0Q7O0FBRUQsWUFBTUcsZ0JBQWdCLEdBQUcvWSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQXpCO0FBQ0E0WCxNQUFBQSxnQkFBZ0IsQ0FBQzdZLFNBQWpCLENBQTJCQyxHQUEzQixDQUErQix3QkFBL0IsRUFBeUQsV0FBekQ7QUFDQXdZLE1BQUFBLFlBQVksQ0FBQ25YLFdBQWIsQ0FBeUJ1WCxnQkFBekI7QUFFQSxZQUFNQyxTQUFTLEdBQUdoWixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWxCO0FBQ0E2WCxNQUFBQSxTQUFTLENBQUM5WSxTQUFWLENBQW9CQyxHQUFwQixDQUF3QixxQkFBeEI7O0FBQ0E2WSxNQUFBQSxTQUFTLENBQUNGLE9BQVYsR0FBb0IsTUFBTTtBQUN4QkMsUUFBQUEsZ0JBQWdCLENBQUM3WSxTQUFqQixDQUEyQjVkLE1BQTNCLENBQWtDLFdBQWxDO0FBQ0QsT0FGRDs7QUFJQSxZQUFNMjJCLEtBQUssR0FBRyxDQUFDVCxJQUFJLENBQUNVLEtBQU4sRUFBYVYsSUFBSSxDQUFDaCtCLElBQWxCLEVBQXdCZytCLElBQUksQ0FBQ2hsQixNQUE3QixDQUFkOztBQUNBLFdBQUssTUFBTTJsQixJQUFYLElBQW1CRixLQUFuQixFQUEwQjtBQUN4QixZQUFJLENBQUNFLElBQUwsRUFDRTtBQUNGLGNBQU1DLE9BQU8sR0FBR3BaLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBaEI7QUFDQWlZLFFBQUFBLE9BQU8sQ0FBQ2xaLFNBQVIsQ0FBa0JDLEdBQWxCLENBQXNCLDBCQUF0QixFQUp3QixDQUt4Qjs7QUFDQWlaLFFBQUFBLE9BQU8sQ0FBQzdWLFNBQVIsR0FBb0I0VixJQUFwQjtBQUNBSCxRQUFBQSxTQUFTLENBQUN4WCxXQUFWLENBQXNCNFgsT0FBdEI7QUFDRDs7QUFFREwsTUFBQUEsZ0JBQWdCLENBQUN2WCxXQUFqQixDQUE2QndYLFNBQTdCLEVBOUNpRCxDQWdEakQ7QUFDQTtBQUNBOztBQUNBLFVBQUlSLElBQUksQ0FBQ2EsVUFBTCxDQUFnQkMsUUFBaEIsSUFBNEIsT0FBT2QsSUFBSSxDQUFDekgsTUFBWixLQUF1QixRQUF2RCxFQUNFLEtBQUt3SSx3QkFBTCxDQUE4QmYsSUFBSSxDQUFDekgsTUFBbkMsRUFBMkN5SCxJQUFJLENBQUNhLFVBQWhELEVBQTRETixnQkFBNUQsRUFBOEVYLFdBQTlFO0FBRUYsWUFBTW9CLGNBQWMsR0FBR3haLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBdkI7QUFDQXFZLE1BQUFBLGNBQWMsQ0FBQ3RaLFNBQWYsQ0FBeUJDLEdBQXpCLENBQTZCLHNCQUE3QjtBQUNBNFksTUFBQUEsZ0JBQWdCLENBQUN2WCxXQUFqQixDQUE2QmdZLGNBQTdCOztBQUVBLFdBQUssTUFBTSxDQUFDQyxNQUFELEVBQVM3QyxJQUFULENBQVgsSUFBNkJqeUIsTUFBTSxDQUFDSyxPQUFQLG1CQUFld3pCLElBQUksQ0FBQzNILFFBQXBCLDJEQUFnQyxFQUFoQyxDQUE3QixFQUFrRTtBQUFBOztBQUNoRTtBQUNBLFlBQUk2SSxhQUFhLEdBQUcsS0FBcEI7O0FBQ0EsYUFBSyxNQUFNeFIsSUFBWCxJQUFtQnBTLHdDQUFuQixFQUEyQztBQUN6QyxjQUFJb1MsSUFBSSxJQUFJME8sSUFBWixFQUFrQjtBQUNoQjhDLFlBQUFBLGFBQWEsR0FBRyxJQUFoQjtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxZQUFJLENBQUNBLGFBQUQsSUFBa0IsQ0FBQyxLQUFLNUIsSUFBTCxDQUFVNkIsZ0JBQWpDLEVBQ0UsU0FWOEQsQ0FZaEU7O0FBQ0EsY0FBTUMsVUFBVSxHQUFHNVosUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFuQjtBQUNBeVksUUFBQUEsVUFBVSxDQUFDclcsU0FBWCxHQUF1QnFULElBQUksQ0FBQ0MsV0FBTCxHQUFtQixPQUFuQixHQUE2QjRDLE1BQXBEO0FBRUFHLFFBQUFBLFVBQVUsQ0FBQzFaLFNBQVgsQ0FBcUJDLEdBQXJCLENBQXlCLFNBQXpCO0FBQ0FxWixRQUFBQSxjQUFjLENBQUNoWSxXQUFmLENBQTJCb1ksVUFBM0IsRUFqQmdFLENBbUJoRTs7QUFDQSxjQUFNQyxjQUFjLEdBQUc3WixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQXZCO0FBQ0EwWSxRQUFBQSxjQUFjLENBQUMzWixTQUFmLENBQXlCQyxHQUF6QixDQUE2QixpQkFBN0I7QUFDQXFaLFFBQUFBLGNBQWMsQ0FBQ2hZLFdBQWYsQ0FBMkJxWSxjQUEzQjtBQUVBLFlBQUlsRCxlQUFlLENBQUNDLElBQUQsQ0FBbkIsRUFDRWlELGNBQWMsQ0FBQ3JZLFdBQWYsQ0FBMkIsS0FBS3NZLG1CQUFMLENBQXlCbEQsSUFBekIsRUFBK0JnRCxVQUEvQixDQUEzQjs7QUFFRixZQUFJaEQsSUFBSSxDQUFDQyxXQUFULEVBQXNCO0FBQ3BCQyxVQUFBQSxnQkFBZ0IsQ0FDZCtDLGNBRGMsRUFFZCxLQUFLL0IsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDRyxPQUF0QyxDQUZjLEVBR2QsS0FBSzRCLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0ksU0FBdEMsQ0FIYyxDQUFoQjtBQUtEOztBQUNELFlBQUlTLElBQUksQ0FBQ1IsZ0JBQVQsRUFBMkI7QUFDekIsZ0JBQU00RCxRQUFRLEdBQUcsS0FBS2xDLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0ssZ0JBQXRDLENBQWpCO0FBQ0EsZ0JBQU1hLFVBQVUsR0FBRytDLFFBQVEsQ0FBQzVrQixPQUFULENBQWlCLFNBQWpCLEVBQTRCd2hCLElBQUksQ0FBQ1IsZ0JBQWpDLENBQW5CO0FBQ0FVLFVBQUFBLGdCQUFnQixDQUNkK0MsY0FEYyxFQUVkLEtBQUsvQixJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNHLE9BQXRDLENBRmMsRUFHZGUsVUFIYyxDQUFoQjtBQUtELFNBMUMrRCxDQTRDaEU7OztBQUNBLGFBQUssTUFBTSxDQUFDZ0QsZUFBRCxFQUFrQnhYLEdBQWxCLENBQVgsSUFBcUM5ZCxNQUFNLENBQUNLLE9BQVAsQ0FBZTh3QixVQUFmLENBQXJDLEVBQWlFO0FBQUE7O0FBQy9EO0FBQ0EsZ0JBQU1vRSxTQUFTLEdBQUdELGVBQWxCO0FBRUEsY0FBSXhYLEdBQUcsQ0FBQ2lULGlCQUFSLEVBQ0U7QUFDRixjQUFJLENBQUMsS0FBS29DLElBQUwsQ0FBVTZCLGdCQUFYLElBQStCbFgsR0FBRyxDQUFDZ1QsU0FBdkMsRUFDRTtBQUNGLGdCQUFNMEUsVUFBVSx5QkFBR3ZELElBQUksQ0FBQ3dELFlBQVIsdURBQUcsbUJBQW9CRixTQUFwQixDQUFuQjtBQUNBLGdCQUFNRyxRQUFRLEdBQUd6RCxJQUFJLENBQUNzRCxTQUFELENBQXJCO0FBQ0EsY0FBSSxDQUFDRyxRQUFMLEVBQ0U7QUFFRixnQkFBTW5ELFNBQVMsR0FBRyxDQUFDelUsR0FBRyxDQUFDK1MsR0FBTCxDQUFsQjtBQUNBLGNBQUl5QixVQUFKOztBQUNBLGNBQUlrRCxVQUFKLEVBQWdCO0FBQ2RsRCxZQUFBQSxVQUFVLEdBQUdrRCxVQUFiO0FBQ0QsV0FGRCxNQUVPLElBQUksT0FBT0UsUUFBUCxLQUFvQixVQUF4QixFQUFvQztBQUN6Q3BELFlBQUFBLFVBQVUsR0FBRyxLQUFLYSxJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNFLGVBQXRDLENBQWI7QUFDQWlCLFlBQUFBLFNBQVMsQ0FBQzN4QixJQUFWLENBQWUsZUFBZjtBQUNELFdBSE0sTUFHQTtBQUNMMHhCLFlBQUFBLFVBQVUsR0FBR29ELFFBQVEsQ0FBQ256QixRQUFULEVBQWI7QUFDRDs7QUFFRDR2QixVQUFBQSxnQkFBZ0IsQ0FDZCtDLGNBRGMsRUFFZCxLQUFLL0IsSUFBTCxDQUFVaUMsU0FBVixDQUFvQnRYLEdBQUcsQ0FBQ3VTLEtBQXhCLENBRmMsRUFHZGlDLFVBSGMsRUFJZEMsU0FKYyxDQUFoQjtBQU1EOztBQUVELFlBQUksQ0FBQ1AsZUFBZSxDQUFDQyxJQUFELENBQXBCLEVBQ0UsU0E5RThELENBZ0ZoRTs7QUFDQSxZQUFJQSxJQUFJLENBQUMwRCxpQkFBVCxFQUE0QjtBQUMxQixnQkFBTUosU0FBUyxHQUFHLGVBQWxCO0FBQ0EsZ0JBQU1LLFNBQVMsR0FBR3pGLFdBQVcsQ0FBQ25DLGFBQTlCO0FBRUEsZ0JBQU1xQyxLQUFLLEdBQUdoVixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWQ7QUFDQTZULFVBQUFBLEtBQUssQ0FBQzNULFNBQU4sR0FBa0IsS0FBS3lXLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0J4RSxXQUFXLENBQUMyRSxTQUFELENBQVgsQ0FBdUJsRixLQUEzQyxDQUFsQjtBQUNBQSxVQUFBQSxLQUFLLENBQUM5VSxTQUFOLENBQWdCQyxHQUFoQixDQUFvQixlQUFwQjtBQUNBMFosVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQndULEtBQTNCO0FBRUEsZ0JBQU13RixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsd0JBQTVDO0FBRUEsZ0JBQU1zYSxLQUFLLEdBQUd6YSxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQWQ7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ2haLFdBQUosQ0FBZ0JpWixLQUFoQjtBQUNBQSxVQUFBQSxLQUFLLENBQUNqZ0MsSUFBTixHQUFhLE1BQWI7QUFDQWlnQyxVQUFBQSxLQUFLLENBQUNDLElBQU4sR0FBYSxLQUFiLENBZjBCLENBaUIxQjs7QUFDQSxjQUFJN21CLFlBQVksR0FBRyxLQUFLaWtCLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JoRSxpQkFBaUIsQ0FBQ0MsWUFBdEMsQ0FBbkI7QUFDQSxjQUFJWSxJQUFJLENBQUNqRSxhQUFMLEtBQXVCeGhCLFNBQTNCLEVBQ0UwQyxZQUFZLEdBQUcsR0FBZixDQURGLEtBRUssSUFBSSxPQUFPK2lCLElBQUksQ0FBQ2pFLGFBQVosS0FBOEIsUUFBbEMsRUFDSDllLFlBQVksR0FBRytpQixJQUFJLENBQUNqRSxhQUFMLENBQW1CenJCLFFBQW5CLEVBQWY7QUFFRnV6QixVQUFBQSxLQUFLLENBQUNFLFdBQU4sR0FBb0I5bUIsWUFBcEI7QUFDQTRtQixVQUFBQSxLQUFLLENBQUN0MUIsS0FBTixHQUFjLEtBQUsyeUIsSUFBTCxDQUFVOEMsZUFBVixDQUEwQixVQUExQixFQUFzQyxDQUFDLFVBQUQsRUFBYW5CLE1BQWIsRUFBcUJjLFNBQXJCLENBQXRDLEVBQXVFLEVBQXZFLENBQWQ7O0FBQ0EsZ0JBQU1NLE9BQU8sR0FBRyxNQUFNO0FBQ3BCLGtCQUFNcEUsR0FBRyxHQUFHRix3QkFBd0IsQ0FBQ2tFLEtBQUssQ0FBQ3QxQixLQUFQLENBQXhCLElBQXlDLEVBQXJEO0FBQ0EsaUJBQUsyeUIsSUFBTCxDQUFVZ0QsU0FBVixDQUFvQixVQUFwQixFQUFnQyxDQUFDLFVBQUQsRUFBYXJCLE1BQWIsRUFBcUJjLFNBQXJCLENBQWhDLEVBQWlFOUQsR0FBakU7QUFDRCxXQUhEOztBQUlBZ0UsVUFBQUEsS0FBSyxDQUFDTSxRQUFOLEdBQWlCRixPQUFqQjtBQUNBSixVQUFBQSxLQUFLLENBQUNPLE9BQU4sR0FBZ0JILE9BQWhCO0FBRUFoQixVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRCxTQW5IK0QsQ0FxSGhFOzs7QUFDQSxZQUFJZCxhQUFKLEVBQW1CO0FBQ2pCLGdCQUFNUSxTQUFTLEdBQUcsVUFBbEI7QUFDQSxnQkFBTUssU0FBUyxHQUFHekYsV0FBVyxDQUFDN3pCLFFBQTlCO0FBRUEsZ0JBQU0rekIsS0FBSyxHQUFHaFYsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFkO0FBQ0E2VCxVQUFBQSxLQUFLLENBQUMzVCxTQUFOLEdBQWtCLEtBQUt5VyxJQUFMLENBQVVpQyxTQUFWLENBQW9CeEUsV0FBVyxDQUFDMkUsU0FBRCxDQUFYLENBQXVCbEYsS0FBM0MsQ0FBbEI7QUFDQUEsVUFBQUEsS0FBSyxDQUFDOVUsU0FBTixDQUFnQkMsR0FBaEIsQ0FBb0IsZUFBcEI7QUFDQTBaLFVBQUFBLGNBQWMsQ0FBQ3JZLFdBQWYsQ0FBMkJ3VCxLQUEzQjtBQUVBLGdCQUFNd0YsR0FBRyxHQUFHeGEsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFaO0FBQ0FxWixVQUFBQSxHQUFHLENBQUN0YSxTQUFKLENBQWNDLEdBQWQsQ0FBa0Isd0JBQWxCLEVBQTRDLGtCQUE1QztBQUVBLGdCQUFNc2EsS0FBSyxHQUFHemEsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFkO0FBQ0FxWixVQUFBQSxHQUFHLENBQUNoWixXQUFKLENBQWdCaVosS0FBaEI7QUFDQUEsVUFBQUEsS0FBSyxDQUFDamdDLElBQU4sR0FBYSxNQUFiO0FBQ0FpZ0MsVUFBQUEsS0FBSyxDQUFDQyxJQUFOLEdBQWEsS0FBYjtBQUNBLGNBQUksT0FBTzlELElBQUksQ0FBQ3FFLGVBQVosS0FBZ0MsUUFBcEMsRUFDRVIsS0FBSyxDQUFDRSxXQUFOLEdBQXFCLEdBQUUvRCxJQUFJLENBQUNxRSxlQUFnQixFQUE1QyxDQURGLEtBR0VSLEtBQUssQ0FBQ0UsV0FBTixHQUFvQixLQUFLN0MsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDQyxZQUF0QyxDQUFwQjtBQUNGeUUsVUFBQUEsS0FBSyxDQUFDdDFCLEtBQU4sR0FBYyxLQUFLMnlCLElBQUwsQ0FBVThDLGVBQVYsQ0FBMEIsVUFBMUIsRUFBc0MsQ0FBQyxVQUFELEVBQWFuQixNQUFiLEVBQXFCYyxTQUFyQixDQUF0QyxFQUF1RSxFQUF2RSxDQUFkOztBQUNBLGdCQUFNTSxPQUFPLEdBQUcsTUFBTTtBQUNwQixrQkFBTXBFLEdBQUcsR0FBR0Ysd0JBQXdCLENBQUNrRSxLQUFLLENBQUN0MUIsS0FBUCxDQUF4QixJQUF5QyxFQUFyRDtBQUNBLGlCQUFLMnlCLElBQUwsQ0FBVWdELFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0MsQ0FBQyxVQUFELEVBQWFyQixNQUFiLEVBQXFCYyxTQUFyQixDQUFoQyxFQUFpRTlELEdBQWpFO0FBQ0QsV0FIRDs7QUFJQWdFLFVBQUFBLEtBQUssQ0FBQ00sUUFBTixHQUFpQkYsT0FBakI7QUFDQUosVUFBQUEsS0FBSyxDQUFDTyxPQUFOLEdBQWdCSCxPQUFoQjtBQUVBaEIsVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQmdaLEdBQTNCO0FBQ0QsU0FuSitELENBcUpoRTs7O0FBQ0EsY0FBTWpqQixhQUFhLEdBQUdxZixJQUFJLENBQUNyZixhQUFMLElBQXNCLEVBQTVDOztBQUVBLGFBQUssTUFBTSxDQUFDclIsR0FBRCxFQUFNZzFCLFlBQU4sQ0FBWCxJQUFrQ3YyQixNQUFNLENBQUNLLE9BQVAsQ0FBZXVTLGFBQWYsQ0FBbEMsRUFBaUU7QUFDL0QsZ0JBQU1nakIsU0FBUyxHQUFHekYsV0FBVyxDQUFDdmQsYUFBOUI7QUFDQSxnQkFBTWdMLFFBQVEsR0FBRyxPQUFPMlksWUFBUCxLQUF3QixRQUF4QixHQUNiQSxZQURhLEdBRWIsS0FBS3BELElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JtQixZQUFwQixDQUZKO0FBSUEsZ0JBQU1sRyxLQUFLLEdBQUdoVixRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQWQ7QUFDQTZULFVBQUFBLEtBQUssQ0FBQzNULFNBQU4sR0FBa0JuYixHQUFsQjtBQUNBOHVCLFVBQUFBLEtBQUssQ0FBQzlVLFNBQU4sQ0FBZ0JDLEdBQWhCLENBQW9CLDRCQUFwQjtBQUNBMFosVUFBQUEsY0FBYyxDQUFDclksV0FBZixDQUEyQndULEtBQTNCO0FBRUEsZ0JBQU13RixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsc0JBQTVDO0FBRUEsZ0JBQU1zYSxLQUFLLEdBQUd6YSxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQWQ7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ2haLFdBQUosQ0FBZ0JpWixLQUFoQjtBQUNBQSxVQUFBQSxLQUFLLENBQUNqZ0MsSUFBTixHQUFhLE1BQWI7QUFDQWlnQyxVQUFBQSxLQUFLLENBQUNFLFdBQU4sR0FBb0JwWSxRQUFwQjtBQUNBa1ksVUFBQUEsS0FBSyxDQUFDdDFCLEtBQU4sR0FBYyxLQUFLMnlCLElBQUwsQ0FBVThDLGVBQVYsQ0FDWixVQURZLEVBRVosQ0FBQyxVQUFELEVBQWFuQixNQUFiLEVBQXFCYyxTQUFyQixFQUFnQ3IwQixHQUFoQyxDQUZZLEVBR1osRUFIWSxDQUFkOztBQUtBLGdCQUFNMjBCLE9BQU8sR0FBRyxNQUNkLEtBQUsvQyxJQUFMLENBQVVnRCxTQUFWLENBQW9CLFVBQXBCLEVBQWdDLENBQUMsVUFBRCxFQUFhckIsTUFBYixFQUFxQmMsU0FBckIsRUFBZ0NyMEIsR0FBaEMsQ0FBaEMsRUFBc0V1MEIsS0FBSyxDQUFDdDFCLEtBQTVFLENBREY7O0FBRUFzMUIsVUFBQUEsS0FBSyxDQUFDTSxRQUFOLEdBQWlCRixPQUFqQjtBQUNBSixVQUFBQSxLQUFLLENBQUNPLE9BQU4sR0FBZ0JILE9BQWhCO0FBRUFoQixVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRDs7QUFFRCxjQUFNeEYsS0FBSyxHQUFHaFYsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixLQUF2QixDQUFkO0FBQ0EwWSxRQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCd1QsS0FBM0I7QUFFQSxjQUFNMVcsSUFBSSxHQUFHcFksR0FBRyxDQUFDMlcsS0FBSixDQUFVLEdBQVYsQ0FBYjtBQUNBLGNBQU0sQ0FBQ3NlLEVBQUQsRUFBS0MsRUFBTCxFQUFTQyxFQUFULElBQWUvYyxJQUFyQjs7QUFDQSxZQUFJNmMsRUFBRSxLQUFLaHFCLFNBQVAsSUFBb0JpcUIsRUFBRSxLQUFLanFCLFNBQTNCLElBQXdDa3FCLEVBQUUsS0FBS2xxQixTQUFuRCxFQUE4RDtBQUM1RCxnQkFBTXFwQixHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLFVBQUFBLEdBQUcsQ0FBQ3RhLFNBQUosQ0FBY0MsR0FBZCxDQUFrQix3QkFBbEIsRUFBNEMsZ0JBQTVDO0FBQ0EsZ0JBQU1tYixPQUFPLEdBQUcsb0RBQWhCO0FBQ0EsY0FBSUMsV0FBSjs7QUFDQSxjQUFJamQsSUFBSSxDQUFDclksTUFBTCxLQUFnQixDQUFwQixFQUF1QjtBQUNyQjtBQUNBczFCLFlBQUFBLFdBQVcsR0FBSSxHQUFFSixFQUFHLElBQUdDLEVBQUcsSUFBRyxDQUFDLEdBQUc5YyxJQUFKLEVBQVU1SyxLQUFWLENBQWdCLENBQWhCLEVBQW1CWSxJQUFuQixDQUF3QixHQUF4QixDQUE2QixFQUExRDtBQUNELFdBSEQsTUFHTztBQUNMO0FBQ0FpbkIsWUFBQUEsV0FBVyxHQUFJLEdBQUVKLEVBQUcsSUFBR0MsRUFBRyxJQUFHQyxFQUFHLElBQUcsQ0FBQyxHQUFHL2MsSUFBSixFQUFVNUssS0FBVixDQUFnQixDQUFoQixFQUFtQlksSUFBbkIsQ0FBd0IsR0FBeEIsQ0FBNkIsRUFBaEU7QUFDRDs7QUFDRCxnQkFBTWtuQixnQkFBZ0IsR0FBRy9CLE1BQU0sQ0FBQ3JrQixPQUFQLENBQWUsSUFBZixFQUFxQixNQUFyQixDQUF6QjtBQUNBLGdCQUFNcW1CLFlBQVksR0FBR0Msa0JBQWtCLENBQUUsUUFBT0YsZ0JBQWlCLEdBQTFCLENBQWxCLENBQWdEcG1CLE9BQWhELENBQXdELElBQXhELEVBQThELEtBQTlELENBQXJCO0FBQ0EsZ0JBQU11bUIsU0FBUyxHQUFJLEdBQUVMLE9BQVEsSUFBR0MsV0FBWSxlQUFjRSxZQUFhLEVBQXZFO0FBQ0FqQixVQUFBQSxHQUFHLENBQUNqWCxTQUFKLEdBQWlCLFlBQVdvWSxTQUFVLHNCQUNwQyxLQUFLN0QsSUFBTCxDQUFVaUMsU0FBVixDQUFvQmhFLGlCQUFpQixDQUFDTSxpQkFBdEMsQ0FDRCxPQUZEO0FBSUF3RCxVQUFBQSxjQUFjLENBQUNyWSxXQUFmLENBQTJCZ1osR0FBM0I7QUFDRDtBQUNGO0FBQ0Y7QUFDRixHQW5Td0IsQ0FxU3pCOzs7QUFDQWpCLEVBQUFBLHdCQUF3QixDQUN0QnhJLE1BRHNCLEVBRXRCdkosR0FGc0IsRUFHdEJvVSxNQUhzQixFQUl0QjFmLE9BSnNCLEVBS2hCO0FBQ04sVUFBTTZhLFNBQVMsR0FBRy9XLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTRWLElBQUFBLFNBQVMsQ0FBQzdXLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHlCQUF4QixFQUFtRCxXQUFuRDtBQUNBeWIsSUFBQUEsTUFBTSxDQUFDcGEsV0FBUCxDQUFtQnVWLFNBQW5CO0FBRUEsUUFBSThFLG1CQUFtQixHQUFHLEtBQTFCO0FBRUEsVUFBTTdDLFNBQVMsR0FBR2haLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTZYLElBQUFBLFNBQVMsQ0FBQzlZLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHNCQUF4Qjs7QUFDQTZZLElBQUFBLFNBQVMsQ0FBQ0YsT0FBVixHQUFvQixNQUFNO0FBQ3hCL0IsTUFBQUEsU0FBUyxDQUFDN1csU0FBVixDQUFvQjVkLE1BQXBCLENBQTJCLFdBQTNCLEVBRHdCLENBRXhCOztBQUNBLFVBQUksQ0FBQ3U1QixtQkFBTCxFQUEwQjtBQUN4QixjQUFNdkMsUUFBUSxHQUFHLEtBQUt3QyxlQUFMLENBQXFCdFUsR0FBckIsRUFBMEJ0TCxPQUExQixDQUFqQjtBQUNBLGFBQUs2ZixlQUFMLENBQXFCaEwsTUFBckIsRUFBNkJ1SSxRQUE3QixFQUF1Q3ZDLFNBQXZDO0FBQ0Q7O0FBQ0Q4RSxNQUFBQSxtQkFBbUIsR0FBRyxJQUF0QjtBQUNELEtBUkQ7O0FBU0E3QyxJQUFBQSxTQUFTLENBQUMzWCxTQUFWLEdBQXNCLEtBQUt5VyxJQUFMLENBQVVpQyxTQUFWLENBQW9CaEUsaUJBQWlCLENBQUNPLFlBQXRDLENBQXRCO0FBQ0FTLElBQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0J3WCxTQUF0QjtBQUNELEdBL1R3QixDQWlVekI7OztBQUNBOEMsRUFBQUEsZUFBZSxDQUFDdFUsR0FBRCxFQUE2QnRMLE9BQTdCLEVBQXVFO0FBQUE7O0FBQ3BGLFFBQUlsRixJQUFJLEdBQUcsRUFBWCxDQURvRixDQUdwRjs7QUFDQSxVQUFNZ2xCLFdBQVcsR0FBSXBsQixHQUFELElBQXlCO0FBQzNDLFVBQUlBLEdBQUcsS0FBS3pGLFNBQVosRUFDRTs7QUFDRixVQUFJd0IsS0FBSyxDQUFDQyxPQUFOLENBQWNnRSxHQUFkLENBQUosRUFBd0I7QUFDdEIsYUFBSyxNQUFNcWxCLE1BQVgsSUFBcUJybEIsR0FBckIsRUFDRW9sQixXQUFXLENBQUNDLE1BQUQsQ0FBWDtBQUNILE9BSEQsTUFHTyxJQUFJLE9BQU9ybEIsR0FBUCxLQUFlLFVBQW5CLEVBQStCO0FBQ3BDO0FBQ0E7QUFDQSxjQUFNc2xCLFNBQXVCLEdBQUcsRUFBaEM7O0FBQ0EsWUFBSTtBQUNGRixVQUFBQSxXQUFXLENBQUNwbEIsR0FBRyxDQUFDc2xCLFNBQUQsQ0FBSixDQUFYO0FBQ0QsU0FGRCxDQUVFLE9BQU8xckIsQ0FBUCxFQUFVLENBQ1Y7QUFDQTtBQUNBO0FBQ0Q7QUFDRixPQVhNLE1BV0EsSUFBSW9HLEdBQUosRUFBUztBQUNkSSxRQUFBQSxJQUFJLEdBQUksR0FBRUEsSUFBSyxLQUFJSixHQUFJLEVBQXZCO0FBQ0Q7QUFDRixLQXBCRDs7QUFxQkFvbEIsSUFBQUEsV0FBVyxDQUFDeFUsR0FBRyxDQUFDOFIsUUFBTCxDQUFYLENBekJvRixDQTBCcEY7QUFDQTs7QUFDQSxXQUFPLElBQUkzSSxjQUFKLENBQW1CM1osSUFBbkIsMEJBQXlCd1EsR0FBRyxDQUFDMlUsZUFBN0IsdUVBQWdELEVBQWhELEVBQW9ELEVBQXBELEVBQXdELEVBQXhELEVBQTREamdCLE9BQTVELENBQVA7QUFDRCxHQS9Wd0IsQ0FpV3pCOzs7QUFDQTZmLEVBQUFBLGVBQWUsQ0FBQ2hMLE1BQUQsRUFBaUJ1SSxRQUFqQixFQUEyQ3NDLE1BQTNDLEVBQXNFO0FBQ25GLFVBQU1RLFVBQXFDLEdBQUcsRUFBOUM7O0FBRUEsU0FBSyxNQUFNeHJCLEtBQVgsSUFBb0Iwb0IsUUFBUSxDQUFDeG9CLE1BQTdCLEVBQXFDO0FBQ25DLFVBQUlGLEtBQUssQ0FBQ25XLElBQU4sSUFBYzJoQyxVQUFsQixFQUNFO0FBQ0YsVUFBSXhyQixLQUFLLENBQUNuVyxJQUFOLElBQWM2K0IsUUFBUSxDQUFDckksT0FBM0IsRUFDRSxTQUppQyxDQUtuQztBQUNBOztBQUNBbUwsTUFBQUEsVUFBVSxDQUFDeHJCLEtBQUssQ0FBQ25XLElBQVAsQ0FBVixHQUF5Qm1XLEtBQUssQ0FBQ29HLElBQS9CO0FBQ0Q7O0FBRUQsVUFBTStmLFNBQVMsR0FBRy9XLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBbEI7QUFDQTRWLElBQUFBLFNBQVMsQ0FBQzdXLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLHlCQUF4QjtBQUNBeWIsSUFBQUEsTUFBTSxDQUFDcGEsV0FBUCxDQUFtQnVWLFNBQW5COztBQUVBLFNBQUssTUFBTXNGLE1BQVgsSUFBcUIxM0IsTUFBTSxDQUFDMjNCLE1BQVAsQ0FBYzNHLHFCQUFkLENBQXJCLEVBQTJEO0FBQ3pELFlBQU02RSxHQUFHLEdBQUd4YSxRQUFRLENBQUNtQixhQUFULENBQXVCLEtBQXZCLENBQVo7QUFDQXFaLE1BQUFBLEdBQUcsQ0FBQ25aLFNBQUosR0FBZ0IsS0FBS3lXLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0JzQyxNQUFwQixDQUFoQjtBQUNBdEYsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQmdaLEdBQXRCO0FBQ0Q7O0FBRUQsVUFBTTUxQixJQUFJLEdBQUdELE1BQU0sQ0FBQ0MsSUFBUCxDQUFZdzNCLFVBQVosRUFBd0J4MkIsSUFBeEIsRUFBYjs7QUFDQSxTQUFLLE1BQU1NLEdBQVgsSUFBa0J0QixJQUFsQixFQUF3QjtBQUN0QixZQUFNZ00sS0FBSyxHQUFHd3JCLFVBQVUsQ0FBQ2wyQixHQUFELENBQXhCO0FBQ0EsVUFBSSxDQUFDMEssS0FBTCxFQUNFO0FBRUYsWUFBTTJyQixVQUFVLEdBQUd2YyxRQUFRLENBQUNtQixhQUFULENBQXVCLE9BQXZCLENBQW5CO0FBQ0FvYixNQUFBQSxVQUFVLENBQUNyYyxTQUFYLENBQXFCQyxHQUFyQixDQUF5QixzQkFBekI7QUFDQW9jLE1BQUFBLFVBQVUsQ0FBQy9oQyxJQUFYLEdBQWtCLFVBQWxCO0FBQ0F1OEIsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQithLFVBQXRCLEVBUnNCLENBVXRCO0FBQ0E7O0FBQ0EsWUFBTUMsUUFBUSxHQUFHLENBQUMsVUFBRCxFQUFhekwsTUFBTSxDQUFDN3BCLFFBQVAsRUFBYixFQUFnQyxRQUFoQyxFQUEwQ2hCLEdBQTFDLENBQWpCO0FBQ0EsWUFBTTJOLFlBQVksR0FBRyxJQUFyQjtBQUNBMG9CLE1BQUFBLFVBQVUsQ0FBQ0UsT0FBWCxHQUFxQixLQUFLM0UsSUFBTCxDQUFVNEUsZ0JBQVYsQ0FBMkIsVUFBM0IsRUFBdUNGLFFBQXZDLEVBQWlEM29CLFlBQWpELENBQXJCOztBQUNBMG9CLE1BQUFBLFVBQVUsQ0FBQ3hCLFFBQVgsR0FBc0IsTUFBTSxLQUFLakQsSUFBTCxDQUFVZ0QsU0FBVixDQUFvQixVQUFwQixFQUFnQzBCLFFBQWhDLEVBQTBDRCxVQUFVLENBQUNFLE9BQXJELENBQTVCOztBQUVBLFlBQU1FLFlBQVksR0FBRzNjLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBckI7QUFDQXdiLE1BQUFBLFlBQVksQ0FBQ3pjLFNBQWIsQ0FBdUJDLEdBQXZCLENBQTJCLG9CQUEzQjtBQUNBd2MsTUFBQUEsWUFBWSxDQUFDcFosU0FBYixHQUF5QjNTLEtBQXpCO0FBQ0FtbUIsTUFBQUEsU0FBUyxDQUFDdlYsV0FBVixDQUFzQm1iLFlBQXRCO0FBRUEsWUFBTUMsU0FBUyxHQUFHNWMsUUFBUSxDQUFDbUIsYUFBVCxDQUF1QixPQUF2QixDQUFsQjtBQUNBeWIsTUFBQUEsU0FBUyxDQUFDMWMsU0FBVixDQUFvQkMsR0FBcEIsQ0FBd0Isb0JBQXhCO0FBQ0F5YyxNQUFBQSxTQUFTLENBQUNqQyxXQUFWLEdBQXdCL3BCLEtBQXhCLENBeEJzQixDQTBCdEI7QUFDQTs7QUFDQSxZQUFNaXNCLE1BQU0sR0FBRyxDQUFDLFVBQUQsRUFBYTlMLE1BQU0sQ0FBQzdwQixRQUFQLEVBQWIsRUFBZ0MsZUFBaEMsRUFBaURoQixHQUFqRCxDQUFmO0FBQ0EwMkIsTUFBQUEsU0FBUyxDQUFDejNCLEtBQVYsR0FBa0IsS0FBSzJ5QixJQUFMLENBQVU4QyxlQUFWLENBQTBCLFVBQTFCLEVBQXNDaUMsTUFBdEMsRUFBOEMsRUFBOUMsQ0FBbEI7O0FBQ0EsWUFBTWhDLE9BQU8sR0FBRyxNQUFNLEtBQUsvQyxJQUFMLENBQVVnRCxTQUFWLENBQW9CLFVBQXBCLEVBQWdDK0IsTUFBaEMsRUFBd0NELFNBQVMsQ0FBQ3ozQixLQUFsRCxDQUF0Qjs7QUFDQXkzQixNQUFBQSxTQUFTLENBQUM3QixRQUFWLEdBQXFCRixPQUFyQjtBQUNBK0IsTUFBQUEsU0FBUyxDQUFDNUIsT0FBVixHQUFvQkgsT0FBcEI7QUFFQTlELE1BQUFBLFNBQVMsQ0FBQ3ZWLFdBQVYsQ0FBc0JvYixTQUF0QjtBQUNEO0FBQ0YsR0E5WndCLENBZ2F6Qjs7O0FBQ0FFLEVBQUFBLGVBQWUsQ0FDYnRuQixDQURhLEVBRWIzYyxJQUZhLEVBR2JDLE9BSGEsRUFJYitkLE1BSmEsRUFLVTtBQUN2QixVQUFNa21CLE1BQU0sR0FBSSxPQUFPdm5CLENBQVAsS0FBYSxVQUFkLEdBQTRCQSxDQUFDLENBQUMzYyxJQUFELEVBQU9DLE9BQVAsRUFBZ0IrZCxNQUFoQixDQUE3QixHQUF1RHJCLENBQXRFO0FBQ0EsUUFBSXVuQixNQUFNLEtBQUtwNEIsTUFBTSxDQUFDbzRCLE1BQUQsQ0FBckIsRUFDRSxPQUFPQSxNQUFQO0FBQ0YsUUFBSSxPQUFPQSxNQUFQLEtBQWtCLFFBQWxCLElBQThCQSxNQUFNLEtBQUssSUFBN0MsRUFDRSxPQUFPQSxNQUFQO0FBQ0YsUUFBSUEsTUFBTSxDQUFDLEtBQUtoRixVQUFOLENBQVYsRUFDRSxPQUFPLEtBQUsrRSxlQUFMLENBQXFCQyxNQUFNLENBQUMsS0FBS2hGLFVBQU4sQ0FBM0IsRUFBOENsL0IsSUFBOUMsRUFBb0RDLE9BQXBELEVBQTZEK2QsTUFBN0QsQ0FBUDtBQUNGLFFBQUlrbUIsTUFBTSxDQUFDLEtBQUs5RSxZQUFOLENBQVYsRUFDRSxPQUFPLEtBQUs2RSxlQUFMLENBQXFCQyxNQUFNLENBQUMsS0FBSzlFLFlBQU4sQ0FBM0IsRUFBZ0RwL0IsSUFBaEQsRUFBc0RDLE9BQXRELEVBQStEK2QsTUFBL0QsQ0FBUCxDQVRxQixDQVV2QjtBQUNBOztBQUNBLFdBQU8sS0FBS2ltQixlQUFMLENBQXFCQyxNQUFNLENBQUMsSUFBRCxDQUEzQixFQUFtQ2xrQyxJQUFuQyxFQUF5Q0MsT0FBekMsRUFBa0QrZCxNQUFsRCxDQUFQO0FBQ0Q7O0FBRURtbUIsRUFBQUEsY0FBYyxDQUFDcEcsSUFBRCxFQUErQztBQUMzRDtBQUNBO0FBQ0E7QUFDQSxVQUFNcUcsZUFBZSxHQUFHLElBQUk3RixrQkFBSixDQUF3QjdmLGFBQUQsSUFBa0M7QUFDL0VxZixNQUFBQSxJQUFJLENBQUNyZixhQUFMLEdBQXFCcWYsSUFBSSxDQUFDcmYsYUFBTCxJQUFzQixFQUEzQztBQUNBNVMsTUFBQUEsTUFBTSxDQUFDdTRCLE1BQVAsQ0FBY3RHLElBQUksQ0FBQ3JmLGFBQW5CLEVBQWtDQSxhQUFsQztBQUNELEtBSHVCLENBQXhCO0FBS0EsVUFBTTRsQixZQUEwQixHQUFHO0FBQ2pDcGtDLE1BQUFBLEVBQUUsRUFBRSxFQUQ2QjtBQUVqQ00sTUFBQUEsR0FBRyxFQUFFLE1BRjRCO0FBR2pDRixNQUFBQSxJQUFJLEVBQUUsTUFIMkI7QUFJakN3eEIsTUFBQUEsS0FBSyxFQUFFLElBQUlGLFlBQUosRUFKMEI7QUFLakN2d0IsTUFBQUEsSUFBSSxFQUFFLEtBQUs0OUIsSUFBTCxDQUFVNTlCLElBTGlCO0FBTWpDa2pDLE1BQUFBLFNBQVMsRUFBRSxJQU5zQjtBQU9qQ2xoQixNQUFBQSxPQUFPLEVBQUUsS0FBSzRiLElBQUwsQ0FBVXVGLGFBUGM7QUFRakN2bEIsTUFBQUEsU0FBUyxFQUFHN2IsQ0FBRCxJQUFnQkEsQ0FBaEIsYUFBZ0JBLENBQWhCLGNBQWdCQSxDQUFoQixHQUFxQixLQVJDO0FBU2pDcWhDLE1BQUFBLFVBQVUsRUFBRSxNQUFNO0FBQUM7QUFBVyxPQVRHO0FBVWpDQyxNQUFBQSxnQkFBZ0IsRUFBRXphLFVBVmU7QUFXakM1SSxNQUFBQSxPQUFPLEVBQUUsTUFBTSxLQVhrQjtBQVlqQ0QsTUFBQUEsVUFBVSxFQUFFLE1BQU0sS0FaZTtBQWFqQ3VqQixNQUFBQSxRQUFRLEVBQUUsTUFBTSxLQWJpQjtBQWNqQ0MsTUFBQUEsVUFBVSxFQUFFLE1BQU0sS0FkZTtBQWVqQ2prQyxNQUFBQSxRQUFRLEVBQUUsTUFBTSxLQWZpQjtBQWdCakNKLE1BQUFBLFFBQVEsRUFBRSxNQUFNLEtBaEJpQjtBQWlCakNza0MsTUFBQUEsVUFBVSxFQUFFLEtBQUs1RixJQUFMLENBQVU1OUIsSUFqQlc7QUFrQmpDNGxCLE1BQUFBLFdBQVcsRUFBRSxLQUFLZ1ksSUFBTCxDQUFVNTlCO0FBbEJVLEtBQW5DO0FBc0JBLFVBQU15akMsc0JBQThDLEdBQUcsQ0FDckQ7QUFDRTVrQyxNQUFBQSxFQUFFLEVBQUUsY0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQURxRCxFQU1yRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsZUFETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQU5xRCxFQVdyRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsV0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQVhxRCxFQWdCckQ7QUFDRUosTUFBQUEsRUFBRSxFQUFFLFlBRE47QUFFRU0sTUFBQUEsR0FBRyxFQUFFLEtBRlA7QUFHRUYsTUFBQUEsSUFBSSxFQUFFO0FBSFIsS0FoQnFELEVBcUJyRDtBQUNFSixNQUFBQSxFQUFFLEVBQUUsV0FETjtBQUVFTSxNQUFBQSxHQUFHLEVBQUUsS0FGUDtBQUdFRixNQUFBQSxJQUFJLEVBQUU7QUFIUixLQXJCcUQsQ0FBdkQ7QUEyQkEsVUFBTXlrQyxlQUErQixHQUFHRCxzQkFBc0IsQ0FBQzkwQixHQUF2QixDQUE0QjVNLENBQUQsSUFBTztBQUN4RSxhQUFPMEksTUFBTSxDQUFDdTRCLE1BQVAsQ0FBYyxFQUFkLEVBQWtCamhDLENBQWxCLEVBQXFCa2hDLFlBQXJCLENBQVA7QUFDRCxLQUZ1QyxDQUF4QztBQUdBLFVBQU1VLFNBQVMsR0FBR0QsZUFBZSxDQUFDLENBQUQsQ0FBakM7QUFDQSxRQUFJLENBQUNDLFNBQUwsRUFDRSxNQUFNLElBQUk5MEIsa0NBQUosRUFBTjtBQUVGLFVBQU0rMEIsWUFBWSxHQUFHO0FBQ25CO0FBQ0E7QUFDQSxTQUFHRCxTQUFTLENBQUM5a0MsRUFITTtBQUtuQnFHLE1BQUFBLFFBQVEsRUFBRSxVQUxTO0FBTW5CQyxNQUFBQSxNQUFNLEVBQUUsT0FOVztBQU9uQm5FLE1BQUFBLEVBQUUsRUFBRSxNQVBlO0FBUW5Cb0UsTUFBQUEsT0FBTyxFQUFFLFNBUlU7QUFTbkJDLE1BQUFBLFFBQVEsRUFBRSxTQVRTO0FBVW5CdkcsTUFBQUEsTUFBTSxFQUFFNmtDLFNBQVMsQ0FBQzlrQyxFQVZDO0FBV25CMkcsTUFBQUEsS0FBSyxFQUFFLEVBWFk7QUFZbkJ6RCxNQUFBQSxDQUFDLEVBQUUsS0FaZ0I7QUFhbkJDLE1BQUFBLENBQUMsRUFBRSxLQWJnQjtBQWNuQkMsTUFBQUEsQ0FBQyxFQUFFLEdBZGdCO0FBZW5CQyxNQUFBQSxPQUFPLEVBQUUsR0FmVTtBQWdCbkIyaEMsTUFBQUEsS0FBSyxFQUFFLEVBaEJZO0FBaUJuQi84QixNQUFBQSxNQUFNLEVBQUUsUUFqQlc7QUFrQm5CQyxNQUFBQSxRQUFRLEVBQUUsSUFsQlM7QUFtQm5CcEcsTUFBQUEsSUFBSSxFQUFFLElBbkJhO0FBb0JuQkMsTUFBQUEsSUFBSSxFQUFFLEVBcEJhO0FBcUJuQkwsTUFBQUEsSUFBSSxFQUFFO0FBckJhLEtBQXJCO0FBd0JBLFVBQU1vYyxNQUErQyxHQUFHLEVBQXhEO0FBRUEsVUFBTW1uQixVQUFVLEdBQUcsQ0FBQyxXQUFELEVBQWMsV0FBZCxFQUEyQixVQUEzQixFQUF1QyxLQUF2QyxFQUE4QyxPQUE5QyxDQUFuQjs7QUFHQTtBQUNBO0FBQ0EsVUFBTUMsV0FBVyxHQUFHLENBQUNySCxJQUFELEVBQXFCMXdCLEdBQXJCLEVBQXFDck4sSUFBckMsS0FBNEQ7QUFDOUUsVUFBSTtBQUNGLGNBQU1ra0MsTUFBTSxHQUFHLEtBQUtELGVBQUwsQ0FBcUJsRyxJQUFJLENBQUMxd0IsR0FBRCxDQUF6QixFQUFnQ3JOLElBQWhDLEVBQXNDaWxDLFlBQXRDLEVBQW9EYixlQUFwRCxDQUFmO0FBQ0EsWUFBSSxDQUFDRixNQUFMLEVBQ0UsT0FBTyxLQUFQLENBSEEsQ0FLRjs7QUFDQSxjQUFNbUIsU0FBUyxHQUFHbkIsTUFBTSxDQUFDNzFCLFFBQVAsRUFBbEI7QUFDQSxZQUFJZzNCLFNBQVMsQ0FBQzlqQyxRQUFWLENBQW1CLFdBQW5CLEtBQW1DOGpDLFNBQVMsQ0FBQzlqQyxRQUFWLENBQW1CLEtBQW5CLENBQXZDLEVBQ0UsT0FBTyxLQUFQO0FBRUZ5YyxRQUFBQSxNQUFNLENBQUMzUSxHQUFELENBQU4sR0FBY2c0QixTQUFkO0FBQ0EsZUFBTyxJQUFQO0FBQ0QsT0FaRCxDQVlFLE9BQU8xdEIsQ0FBUCxFQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7QUFDRixLQW5CRCxDQWhHMkQsQ0FxSDNEOzs7QUFDQSxRQUFJb21CLElBQUksQ0FBQ2xPLFFBQVQsRUFBbUI7QUFDakIsWUFBTTBMLENBQUMsR0FBR3dDLElBQUksQ0FBQ2xPLFFBQWY7O0FBQ0EsV0FBSyxNQUFNN3ZCLElBQVgsSUFBbUIra0MsZUFBbkIsRUFBb0M7QUFDbEMsWUFBSTtBQUNGO0FBQ0E7QUFDQSxjQUFJbFYsUUFBMEMsR0FBRzBMLENBQWpEOztBQUNBLGlCQUFPLE9BQU8xTCxRQUFQLEtBQW9CLFVBQTNCLEVBQXVDO0FBQ3JDO0FBQ0FBLFlBQUFBLFFBQVEsR0FBR0EsUUFBUSxDQUFDN3ZCLElBQUQsRUFBT2lsQyxZQUFQLEVBQXFCYixlQUFyQixDQUFuQjtBQUNEOztBQUNELGNBQUksQ0FBQ3ZVLFFBQUwsRUFDRTs7QUFFRixjQUFJLENBQUNrTyxJQUFJLENBQUNyZixhQUFWLEVBQXlCO0FBQ3ZCLGlCQUFLLE1BQU1yUixHQUFYLElBQWtCODNCLFVBQWxCLEVBQ0VDLFdBQVcsQ0FBQ3ZWLFFBQUQsRUFBV3hpQixHQUFYLEVBQWdCck4sSUFBaEIsQ0FBWDtBQUNIOztBQUNEO0FBQ0QsU0FoQkQsQ0FnQkUsT0FBTzJYLENBQVAsRUFBVTtBQUNWO0FBQ0Q7QUFDRjtBQUNGLEtBN0kwRCxDQStJM0Q7QUFDQTs7O0FBQ0EsUUFBSSxDQUFDb21CLElBQUksQ0FBQ3JmLGFBQVYsRUFBeUI7QUFDdkIsV0FBSyxNQUFNclIsR0FBWCxJQUFrQjgzQixVQUFsQixFQUE4QjtBQUM1QixZQUFJLEVBQUU5M0IsR0FBRyxJQUFJMHdCLElBQVQsQ0FBSixFQUNFOztBQUNGLGFBQUssTUFBTS85QixJQUFYLElBQW1CK2tDLGVBQW5CLEVBQW9DO0FBQ2xDLGNBQUlLLFdBQVcsQ0FBQ3JILElBQUQsRUFBTzF3QixHQUFQLEVBQVlyTixJQUFaLENBQWYsRUFDRTtBQUNIO0FBQ0Y7QUFDRjs7QUFFRCs5QixJQUFBQSxJQUFJLENBQUN3RCxZQUFMLEdBQW9CdmpCLE1BQXBCO0FBRUEsVUFBTTNjLElBQUksR0FBRyxLQUFLNDlCLElBQUwsQ0FBVTU5QixJQUF2QjtBQUVBLFVBQU1pa0MsbUJBQW1CLEdBQUcsQ0FDMUIsWUFEMEIsRUFFMUIsWUFGMEIsRUFHMUIsWUFIMEIsRUFJMUIsWUFKMEIsRUFLMUIsWUFMMEIsRUFNMUIsU0FOMEIsRUFPMUIsU0FQMEIsRUFRMUIsU0FSMEIsRUFTMUIsU0FUMEIsRUFVMUIsU0FWMEIsQ0FBNUI7O0FBWUEsVUFBTUMsUUFBUSxHQUFJQyxTQUFELElBQXFDO0FBQUE7O0FBQ3BELFlBQU1DLGFBQWEsR0FBR3BrQyxJQUFJLENBQUNxa0MsTUFBTCxDQUFZLENBQVosRUFBZTVxQixXQUFmLEtBQStCelosSUFBSSxDQUFDd1osS0FBTCxDQUFXLENBQVgsQ0FBckQ7QUFDQSxZQUFNOHFCLFNBQVMsR0FBR0wsbUJBQW1CLENBQUN2VixJQUFwQixDQUEwQjNzQixDQUFELElBQU9BLENBQUMsS0FBTSxHQUFFb2lDLFNBQVUsR0FBRUMsYUFBYyxFQUFuRSxDQUFsQjtBQUNBLFVBQUksQ0FBQ0UsU0FBTCxFQUNFO0FBQ0YsWUFBTUMsaUJBQWlCLHNCQUFHN0gsSUFBSSxDQUFDNEgsU0FBRCxDQUFQLDZEQUFzQjVILElBQUksQ0FBQ3lILFNBQUQsQ0FBakQ7QUFDQSxVQUFJLENBQUNJLGlCQUFMLEVBQ0U7QUFDRixZQUFNQyxTQUFTLEdBQUd2NkIsNENBQUEsQ0FBY3M2QixpQkFBZCxDQUFsQjtBQUNBLFVBQUksQ0FBQ0MsU0FBTCxFQUNFO0FBQ0YsYUFBT3Y2Qiw0Q0FBQSxDQUFjdTZCLFNBQWQsQ0FBUDtBQUNELEtBWkQ7O0FBY0EsUUFBSTlILElBQUksQ0FBQzBELGlCQUFULEVBQTRCO0FBQzFCMUQsTUFBQUEsSUFBSSxDQUFDK0gsYUFBTCxHQUFxQlAsUUFBUSxDQUFDLE9BQUQsQ0FBN0I7QUFDRCxLQUZELE1BRU87QUFDTHhILE1BQUFBLElBQUksQ0FBQ2dJLFlBQUwsR0FBb0JSLFFBQVEsQ0FBQyxPQUFELENBQTVCO0FBQ0F4SCxNQUFBQSxJQUFJLENBQUNpSSxlQUFMLEdBQXVCVCxRQUFRLENBQUMsVUFBRCxDQUEvQjtBQUNEOztBQUVELFdBQU94SCxJQUFQO0FBQ0Q7O0FBRUQwQixFQUFBQSxvQkFBb0IsQ0FDbEJ3RyxLQURrQixFQUVsQjFHLFdBRmtCLEVBRzZCO0FBQy9DO0FBQ0E7QUFDQSxVQUFNMkcsWUFBMkQsR0FBRyxFQUFwRTtBQUNBLFVBQU1DLGFBQTZDLEdBQUcsRUFBdEQ7O0FBQ0EsU0FBSyxNQUFNLENBQUNDLFFBQUQsRUFBV0Msa0JBQVgsQ0FBWCxJQUE2Q3Y2QixNQUFNLENBQUNLLE9BQVAsQ0FBZTg1QixLQUFmLENBQTdDLEVBQW9FO0FBQ2xFLFVBQUksT0FBT0ksa0JBQVAsS0FBOEIsUUFBbEMsRUFDRUYsYUFBYSxDQUFDQyxRQUFELENBQWIsR0FBMEJDLGtCQUExQixDQURGLEtBR0VILFlBQVksQ0FBQ0UsUUFBRCxDQUFaLEdBQXlCQyxrQkFBekI7QUFDSDs7QUFFRCxVQUFNcjJCLEdBQUcsR0FBRyxLQUFLaXZCLElBQUwsQ0FBVXFILFlBQVYsQ0FBOENKLFlBQTlDLEVBQTREM0csV0FBVyxDQUFDbEwsUUFBeEUsQ0FBWjtBQUNBLFFBQUlrUyxVQUFVLEdBQUcsQ0FBakIsQ0FiK0MsQ0FlL0M7QUFDQTs7QUFDQSxVQUFNQyxxQkFBMkQsR0FBRyxFQUFwRTs7QUFFQSxTQUFLLE1BQU1uc0IsSUFBWCxJQUFtQnZPLE1BQU0sQ0FBQzIzQixNQUFQLENBQWN6ekIsR0FBZCxDQUFuQixFQUF1QztBQUNyQztBQUNBO0FBQ0EsWUFBTXkyQixXQUFrRSxHQUFHO0FBQ3pFak4sUUFBQUEsT0FBTyxFQUFFLEVBRGdFO0FBRXpFaUgsUUFBQUEsUUFBUSxFQUFFO0FBRitELE9BQTNFO0FBSUEsWUFBTUQsVUFBVSxHQUFHbm1CLElBQUksQ0FBQ21tQixVQUF4QjtBQUNBLFVBQUlBLFVBQVUsQ0FBQ3hJLFFBQWYsRUFDRXlPLFdBQVcsQ0FBQ2pOLE9BQVosQ0FBb0I5c0IsSUFBcEIsQ0FBeUIsR0FBRzh6QixVQUFVLENBQUN4SSxRQUF2QztBQUNGLFVBQUl3SSxVQUFVLENBQUNrRyxnQkFBZixFQUNFRCxXQUFXLENBQUNoRyxRQUFaLENBQXFCL3pCLElBQXJCLENBQTBCLEdBQUc4ekIsVUFBVSxDQUFDa0csZ0JBQXhDO0FBRUYsVUFBSSxDQUFDbEcsVUFBVSxDQUFDbUcsZ0JBQVosSUFBZ0NuRyxVQUFVLENBQUM0RixRQUEvQyxFQUNFUSxlQUFlLENBQUNwRyxVQUFELEVBQWFBLFVBQVUsQ0FBQzRGLFFBQXhCLEVBQWtDRCxhQUFsQyxDQUFmO0FBRUY5ckIsTUFBQUEsSUFBSSxDQUFDMmQsUUFBTCxHQUFnQixFQUFoQjs7QUFDQSxXQUFLLE1BQU0sQ0FBQzNxQixHQUFELEVBQU13NUIsVUFBTixDQUFYLElBQWdDLzZCLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlczZCLFdBQWYsQ0FBaEMsRUFBNkQ7QUFDM0QsYUFBSyxNQUFNSyxRQUFYLElBQXVCRCxVQUF2QixFQUFtQztBQUNqQyxnQkFBTTlJLElBQXdCLEdBQUcrSSxRQUFqQztBQUNBUCxVQUFBQSxVQUFVOztBQUNWLGNBQUksQ0FBQ3hJLElBQUksQ0FBQzE3QixFQUFWLEVBQWM7QUFDWjtBQUNBO0FBQ0EwN0IsWUFBQUEsSUFBSSxDQUFDMTdCLEVBQUwsR0FBVyxnQkFBZWtrQyxVQUFXLEVBQXJDO0FBQ0F4SSxZQUFBQSxJQUFJLENBQUNDLFdBQUwsR0FBbUIsSUFBbkI7QUFDRCxXQVJnQyxDQVVqQzs7O0FBQ0EsZ0JBQU0rSSxRQUFRLEdBQUdQLHFCQUFxQixDQUFDekksSUFBSSxDQUFDMTdCLEVBQU4sQ0FBdEM7QUFDQSxjQUFJMGtDLFFBQUosRUFDRUEsUUFBUSxDQUFDeEosZ0JBQVQsR0FBNEJpRCxVQUFVLENBQUM0RixRQUF2QztBQUNGSSxVQUFBQSxxQkFBcUIsQ0FBQ3pJLElBQUksQ0FBQzE3QixFQUFOLENBQXJCLEdBQWlDMDdCLElBQWpDO0FBRUFBLFVBQUFBLElBQUksQ0FBQzBELGlCQUFMLEdBQXlCcDBCLEdBQUcsS0FBSyxVQUFqQyxDQWhCaUMsQ0FpQmpDO0FBQ0E7O0FBQ0FnTixVQUFBQSxJQUFJLENBQUMyZCxRQUFMLENBQWMrRixJQUFJLENBQUMxN0IsRUFBbkIsSUFBeUIsS0FBSzhoQyxjQUFMLENBQW9CcEcsSUFBcEIsQ0FBekI7QUFDRDtBQUNGO0FBQ0Y7O0FBQ0QsV0FBTy90QixHQUFQO0FBQ0Q7O0FBRURpeEIsRUFBQUEsbUJBQW1CLENBQUNsRCxJQUFELEVBQXFCaUosUUFBckIsRUFBNEM7QUFDN0Q7QUFDQSxVQUFNcEcsTUFBTSxHQUFHN0MsSUFBSSxDQUFDMTdCLEVBQXBCO0FBQ0EsUUFBSSxDQUFDdStCLE1BQUwsRUFDRSxNQUFNLElBQUkxd0Isa0NBQUosRUFBTjtBQUVGLFVBQU13eEIsU0FBUyxHQUFHekYsV0FBVyxDQUFDamUsTUFBOUI7QUFDQSxVQUFNMmpCLEdBQUcsR0FBR3hhLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBWjtBQUNBcVosSUFBQUEsR0FBRyxDQUFDdGEsU0FBSixDQUFjQyxHQUFkLENBQWtCLGlCQUFsQjs7QUFFQSxVQUFNMmYsV0FBVyxHQUFJckYsS0FBRCxJQUFrRDtBQUNwRSxVQUFJQSxLQUFLLENBQUN0MUIsS0FBTixLQUFnQixRQUFoQixJQUE0QnMxQixLQUFLLENBQUN0MUIsS0FBTixLQUFnQixVQUFoRCxFQUNFMDZCLFFBQVEsQ0FBQzNmLFNBQVQsQ0FBbUJDLEdBQW5CLENBQXVCLFVBQXZCLEVBREYsS0FHRTBmLFFBQVEsQ0FBQzNmLFNBQVQsQ0FBbUJ3RCxNQUFuQixDQUEwQixVQUExQjtBQUNILEtBTEQ7O0FBT0EsVUFBTStXLEtBQUssR0FBR3phLFFBQVEsQ0FBQ21CLGFBQVQsQ0FBdUIsUUFBdkIsQ0FBZDtBQUNBcVosSUFBQUEsR0FBRyxDQUFDaFosV0FBSixDQUFnQmlaLEtBQWhCO0FBRUEsVUFBTXNGLFdBQVcsR0FBRyxLQUFLakksSUFBTCxDQUFVRSxTQUFWLENBQ2xCLFVBRGtCLEVBRWxCLENBQUMsVUFBRCxFQUFheUIsTUFBYixFQUFxQmMsU0FBckIsQ0FGa0IsRUFHbEIsU0FIa0IsQ0FBcEI7O0FBTUEsU0FBSyxNQUFNLENBQUNyMEIsR0FBRCxFQUFNdWMsR0FBTixDQUFYLElBQXlCOWQsTUFBTSxDQUFDSyxPQUFQLENBQWVzd0IsbUJBQWYsQ0FBekIsRUFBOEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0EsVUFBSSxDQUFDLEtBQUt3QyxJQUFMLENBQVU2QixnQkFBWCxJQUErQmxYLEdBQUcsQ0FBQ2dULFNBQW5DLElBQWdEdnZCLEdBQUcsS0FBSzY1QixXQUE1RCxFQUNFO0FBQ0YsWUFBTTNyQixJQUFJLEdBQUc0TCxRQUFRLENBQUNtQixhQUFULENBQXVCLFFBQXZCLENBQWI7QUFDQS9NLE1BQUFBLElBQUksQ0FBQ21QLFNBQUwsR0FBaUIsS0FBS3VVLElBQUwsQ0FBVWlDLFNBQVYsQ0FBb0J0WCxHQUFHLENBQUN1UyxLQUF4QixDQUFqQjtBQUNBNWdCLE1BQUFBLElBQUksQ0FBQ2pQLEtBQUwsR0FBYWUsR0FBYjtBQUNBa08sTUFBQUEsSUFBSSxDQUFDNHJCLFFBQUwsR0FBZ0I5NUIsR0FBRyxLQUFLNjVCLFdBQXhCO0FBQ0F0RixNQUFBQSxLQUFLLENBQUNqWixXQUFOLENBQWtCcE4sSUFBbEI7QUFFQTByQixNQUFBQSxXQUFXLENBQUNyRixLQUFELENBQVg7O0FBRUFBLE1BQUFBLEtBQUssQ0FBQ00sUUFBTixHQUFpQixNQUFNO0FBQ3JCK0UsUUFBQUEsV0FBVyxDQUFDckYsS0FBRCxDQUFYO0FBQ0EsWUFBSXQxQixLQUFLLEdBQUdzMUIsS0FBSyxDQUFDdDFCLEtBQWxCO0FBQ0EsWUFBSUEsS0FBSyxDQUFDL0ssUUFBTixDQUFlLFNBQWYsQ0FBSixFQUNFK0ssS0FBSyxHQUFHLFNBQVI7QUFDRixhQUFLMnlCLElBQUwsQ0FBVWdELFNBQVYsQ0FBb0IsVUFBcEIsRUFBZ0MsQ0FBQyxVQUFELEVBQWFyQixNQUFiLEVBQXFCYyxTQUFyQixDQUFoQyxFQUFpRUUsS0FBSyxDQUFDdDFCLEtBQXZFO0FBQ0QsT0FORDtBQU9EOztBQUVELFdBQU9xMUIsR0FBUDtBQUNEOztBQTd1QndCOztBQWd2QjNCLE1BQU1pRixlQUFlLEdBQUcsQ0FDdEJqWSxHQURzQixFQUV0QnlYLFFBRnNCLEVBR3RCSCxLQUhzQixLQUluQjtBQUNIO0FBQ0EsTUFBSSxDQUFDdFgsR0FBRyxDQUFDeVksWUFBVCxFQUNFO0FBQ0YsUUFBTUMsU0FBUyxHQUFHL2lCLElBQUksQ0FBQ0MsR0FBTCxDQUFTNmhCLFFBQVEsQ0FBQ25kLFdBQVQsQ0FBcUIsR0FBckIsQ0FBVCxFQUFvQ21kLFFBQVEsQ0FBQ25kLFdBQVQsQ0FBcUIsSUFBckIsQ0FBcEMsQ0FBbEIsQ0FKRyxDQUtIO0FBQ0E7O0FBQ0EsUUFBTXFlLEdBQUcsR0FBR2xCLFFBQVEsQ0FBQ3BmLFNBQVQsQ0FBbUIsQ0FBbkIsRUFBc0JxZ0IsU0FBUyxHQUFHLENBQWxDLENBQVo7QUFFQSxRQUFNRCxZQUFZLEdBQUksR0FBRUUsR0FBSSxHQUFFM1ksR0FBRyxDQUFDeVksWUFBYSxFQUEvQztBQUNBLFNBQU96WSxHQUFHLENBQUN5WSxZQUFYOztBQUVBLE1BQUksRUFBRUEsWUFBWSxJQUFJbkIsS0FBbEIsQ0FBSixFQUE4QjtBQUM1Qjc2QixJQUFBQSxPQUFPLENBQUN3TyxHQUFSLENBQWEsV0FBVXdzQixRQUFTLDJDQUEwQ2dCLFlBQWEsSUFBdkY7QUFDQTtBQUNELEdBZkUsQ0FpQkg7OztBQUNBelksRUFBQUEsR0FBRyxDQUFDOFIsUUFBSixHQUFlLENBQUM5UixHQUFHLENBQUM4UixRQUFMLEVBQWV3RixLQUFLLENBQUNtQixZQUFELENBQXBCLENBQWY7QUFDRCxDQXZCRCxFQXlCQTs7O0FBQ0EsTUFBTUcsZUFBaUMsR0FBRyxDQUN4QzNsQyxJQUR3QyxFQUV4Q3FrQyxLQUZ3QyxFQUd4Q3VCLFdBSHdDLEVBSXhDbmhCLFFBSndDLEtBS3JDO0FBQ0g7QUFDQTtBQUNBLFFBQU1oRCxPQUFPLEdBQUdta0IsV0FBaEI7QUFFQSxNQUFJLENBQUNua0IsT0FBTyxDQUFDZ1IsUUFBYixFQUNFOztBQUVGLE9BQUssTUFBTW9ULGNBQVgsSUFBNkJwa0IsT0FBTyxDQUFDZ1IsUUFBckMsRUFBK0M7QUFDN0MsVUFBTTFGLEdBQTBCLEdBQUc4WSxjQUFuQyxDQUQ2QyxDQUc3QztBQUNBOztBQUNBLFFBQUk5WSxHQUFHLENBQUNnWSxnQkFBUixFQUNFLFNBTjJDLENBUTdDO0FBQ0E7O0FBQ0FoWSxJQUFBQSxHQUFHLENBQUN5WCxRQUFKLEdBQWdCLEdBQUUvZixRQUFTLEdBQUV6a0IsSUFBSyxFQUFsQztBQUNBK3NCLElBQUFBLEdBQUcsQ0FBQ2dZLGdCQUFKLEdBQXVCLElBQXZCO0FBRUFDLElBQUFBLGVBQWUsQ0FBQ2pZLEdBQUQsRUFBTS9zQixJQUFOLEVBQVlxa0MsS0FBWixDQUFmO0FBQ0Q7QUFDRixDQTVCRDs7QUE4QkEsTUFBTXlCLDJCQUEyQixHQUFHLENBQUNya0IsT0FBRCxFQUEyQm1FLFdBQTNCLEtBQTZEO0FBQUE7O0FBQy9GO0FBQ0EsUUFBTW1nQixVQUFVLEdBQUcsc0JBQW5CO0FBRUEsUUFBTXhQLG9CQUFvQiwwQkFBRzlVLE9BQU8sQ0FBQ3NrQixVQUFELENBQVYscUVBQUd0a0IsT0FBTyxDQUFDc2tCLFVBQUQsQ0FBVixHQUEyQixFQUFyRDtBQUNBLE1BQUksT0FBT25nQixXQUFQLEtBQXVCLFFBQXZCLElBQW1DMU4sS0FBSyxDQUFDQyxPQUFOLENBQWN5TixXQUFkLENBQXZDLEVBQ0U7QUFDRixRQUFNd1EsUUFBUSxHQUFHeFEsV0FBVyxDQUFDLFVBQUQsQ0FBNUI7QUFDQSxNQUFJLENBQUN3USxRQUFELElBQWEsT0FBT0EsUUFBUCxLQUFvQixRQUFqQyxJQUE2Q2xlLEtBQUssQ0FBQ0MsT0FBTixDQUFjaWUsUUFBZCxDQUFqRCxFQUNFO0FBRUYsUUFBTTRQLFVBQWdELEdBQUcsRUFBekQ7QUFDQSxRQUFNNzdCLElBQUksR0FBR0QsTUFBTSxDQUFDQyxJQUFQLENBQVltd0IsZUFBWixDQUFiOztBQUNBLE9BQUssTUFBTTd1QixHQUFYLElBQWtCdEIsSUFBbEIsRUFBd0I7QUFDdEIsVUFBTWdTLEdBQUcsR0FBRzZwQixVQUFVLENBQUN2NkIsR0FBRCxDQUFWLEdBQWtCLEVBQTlCO0FBQ0FpeEIsSUFBQUEseUJBQXlCLENBQUN2Z0IsR0FBRCxFQUFNMVEsR0FBTixDQUF6QjtBQUNEOztBQUVELE9BQUssTUFBTSxDQUFDaEwsRUFBRCxFQUFLeXNCLEtBQUwsQ0FBWCxJQUEwQmhqQixNQUFNLENBQUNLLE9BQVAsQ0FBZTZyQixRQUFmLENBQTFCLEVBQW9EO0FBQUE7O0FBQ2xELFFBQUksT0FBT2xKLEtBQVAsS0FBaUIsUUFBakIsSUFBNkJoVixLQUFLLENBQUNDLE9BQU4sQ0FBYytVLEtBQWQsQ0FBakMsRUFDRTtBQUVGLFVBQU1tTSxVQUE2QixHQUFHLEVBQXRDO0FBRUEsVUFBTWpkLE1BQU0sNEJBQUc4USxLQUFLLENBQUNtTixXQUFXLENBQUNqZSxNQUFiLENBQVIsMERBQUcsc0JBQTJCM1AsUUFBM0IsRUFBZjtBQUNBLFFBQUkyUCxNQUFKLEVBQ0VsUyxNQUFNLENBQUN1NEIsTUFBUCxDQUFjcEosVUFBZCxFQUEwQjJNLFVBQVUsQ0FBQzVwQixNQUFELENBQXBDO0FBRUYsVUFBTTVWLFFBQVEsR0FBR3MxQix3QkFBd0IsQ0FBQzVPLEtBQUssQ0FBQ21OLFdBQVcsQ0FBQzd6QixRQUFiLENBQU4sQ0FBekM7QUFDQSxRQUFJQSxRQUFKLEVBQ0U2eUIsVUFBVSxDQUFDZ0IsV0FBVyxDQUFDN3pCLFFBQWIsQ0FBVixHQUFtQ0EsUUFBbkM7QUFFRixVQUFNMHhCLGFBQWEsR0FBRzRELHdCQUF3QixDQUFDNU8sS0FBSyxDQUFDbU4sV0FBVyxDQUFDbkMsYUFBYixDQUFOLENBQTlDO0FBQ0EsUUFBSUEsYUFBSixFQUNFbUIsVUFBVSxDQUFDZ0IsV0FBVyxDQUFDbkMsYUFBYixDQUFWLEdBQXdDQSxhQUF4QztBQUVGLFVBQU1wYixhQUFhLEdBQUdvUSxLQUFLLENBQUNtTixXQUFXLENBQUN2ZCxhQUFiLENBQTNCLENBbEJrRCxDQW1CbEQ7QUFDQTs7QUFDQSxRQUNFLENBQUVvUSxLQUFELElBQWtFO0FBQ2pFLFVBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QmhWLEtBQUssQ0FBQ0MsT0FBTixDQUFjK1UsS0FBZCxDQUFqQyxFQUNFLE9BQU8sS0FBUDs7QUFDRixXQUFLLE1BQU14aUIsS0FBWCxJQUFvQlIsTUFBTSxDQUFDMjNCLE1BQVAsQ0FBYzNVLEtBQWQsQ0FBcEIsRUFBMEM7QUFDeEMsWUFBSSxPQUFPeGlCLEtBQVAsS0FBaUIsUUFBckIsRUFDRSxPQUFPLEtBQVA7QUFDSDs7QUFDRCxhQUFPLElBQVA7QUFDRCxLQVJELEVBUUdvUyxhQVJILENBREYsRUFXRXVjLFVBQVUsQ0FBQ2dCLFdBQVcsQ0FBQ3ZkLGFBQWIsQ0FBVixHQUF3Q0EsYUFBeEM7QUFFRixRQUFJVixNQUFNLElBQUk1VixRQUFWLElBQXNCc1csYUFBMUIsRUFDRXlaLG9CQUFvQixDQUFDOTFCLEVBQUQsQ0FBcEIsR0FBMkI0NEIsVUFBM0I7QUFDSDtBQUNGLENBdkREOztBQXlEQSxNQUFNNE0sNEJBQTRCLEdBQUcsQ0FBQ3hrQixPQUFELEVBQTJCbUUsV0FBM0IsS0FBNkQ7QUFBQTs7QUFDaEcsUUFBTW1nQixVQUFVLEdBQUcsdUJBQW5CLENBRGdHLENBRWhHO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQU1HLHFCQUFxQiwyQkFBR3prQixPQUFPLENBQUNza0IsVUFBRCxDQUFWLHVFQUFHdGtCLE9BQU8sQ0FBQ3NrQixVQUFELENBQVYsR0FBMkIsRUFBdEQ7QUFDQSxNQUFJLE9BQU9uZ0IsV0FBUCxLQUF1QixRQUF2QixJQUFtQzFOLEtBQUssQ0FBQ0MsT0FBTixDQUFjeU4sV0FBZCxDQUF2QyxFQUNFO0FBQ0YsUUFBTWlaLFFBQVEsR0FBR2paLFdBQVcsQ0FBQyxVQUFELENBQTVCO0FBQ0EsTUFBSSxDQUFDaVosUUFBRCxJQUFhLE9BQU9BLFFBQVAsS0FBb0IsUUFBakMsSUFBNkMzbUIsS0FBSyxDQUFDQyxPQUFOLENBQWMwbUIsUUFBZCxDQUFqRCxFQUNFOztBQUVGLE9BQUssTUFBTSxDQUFDc0gsT0FBRCxFQUFVQyxTQUFWLENBQVgsSUFBbUNsOEIsTUFBTSxDQUFDSyxPQUFQLENBQWVzMEIsUUFBZixDQUFuQyxFQUE2RDtBQUFBOztBQUMzRCxVQUFNdkksTUFBTSxHQUFHaHJCLFFBQVEsQ0FBQzY2QixPQUFELENBQXZCO0FBQ0EsUUFBSSxDQUFDN1AsTUFBTCxFQUNFO0FBQ0YsVUFBTU8sY0FBYyw0QkFBR3FQLHFCQUFxQixDQUFDNVAsTUFBRCxDQUF4Qix5RUFBRzRQLHFCQUFxQixDQUFDNVAsTUFBRCxDQUF4QixHQUFxQyxFQUF6RDtBQUVBLFFBQUksQ0FBQzhQLFNBQUQsSUFBYyxPQUFPQSxTQUFQLEtBQXFCLFFBQW5DLElBQStDbHVCLEtBQUssQ0FBQ0MsT0FBTixDQUFjaXVCLFNBQWQsQ0FBbkQsRUFDRTtBQUVGLFVBQU1DLFdBQVcsR0FBR0QsU0FBUyxDQUFDLFFBQUQsQ0FBN0I7QUFDQSxVQUFNRSxZQUFZLEdBQUdGLFNBQVMsQ0FBQyxlQUFELENBQTlCOztBQUVBLFFBQUlDLFdBQVcsSUFBSSxPQUFPQSxXQUFQLEtBQXVCLFFBQXRDLElBQWtELENBQUNudUIsS0FBSyxDQUFDQyxPQUFOLENBQWNrdUIsV0FBZCxDQUF2RCxFQUFtRjtBQUNqRixXQUFLLE1BQU0sQ0FBQzU2QixHQUFELEVBQU1mLEtBQU4sQ0FBWCxJQUEyQlIsTUFBTSxDQUFDSyxPQUFQLENBQWU4N0IsV0FBZixDQUEzQixFQUF3RDtBQUFBOztBQUN0RCxZQUFJLE9BQU8zN0IsS0FBUCxLQUFpQixTQUFqQixJQUE4QixDQUFDQSxLQUFuQyxFQUNFLDBCQUFDbXNCLGNBQWMsQ0FBQ0MsTUFBaEIseUVBQUNELGNBQWMsQ0FBQ0MsTUFBaEIsR0FBMkIsRUFBM0IsRUFBK0Joc0IsSUFBL0IsQ0FBb0NXLEdBQXBDO0FBQ0g7QUFDRjs7QUFFRCxRQUFJNjZCLFlBQVksSUFBSSxPQUFPQSxZQUFQLEtBQXdCLFFBQXhDLElBQW9ELENBQUNwdUIsS0FBSyxDQUFDQyxPQUFOLENBQWNtdUIsWUFBZCxDQUF6RCxFQUFzRjtBQUNwRixXQUFLLE1BQU0sQ0FBQzc2QixHQUFELEVBQU1mLEtBQU4sQ0FBWCxJQUEyQlIsTUFBTSxDQUFDSyxPQUFQLENBQWUrN0IsWUFBZixDQUEzQixFQUF5RDtBQUFBOztBQUN2RCxZQUFJLE9BQU81N0IsS0FBUCxLQUFpQixRQUFyQixFQUNFLDBCQUFDbXNCLGNBQWMsQ0FBQ29ELE1BQWhCLHlFQUFDcEQsY0FBYyxDQUFDb0QsTUFBaEIsR0FBMkIsRUFBM0IsRUFBK0J4dUIsR0FBL0IsSUFBc0NmLEtBQXRDO0FBQ0g7QUFDRjtBQUNGO0FBQ0YsQ0F4Q0Q7O0FBMENBLE1BQU1xZCxlQUFnQyxHQUFHO0FBQ3ZDd2UsRUFBQUEsWUFBWSxFQUFFLENBQUNsSixJQUFELEVBQU9mLFNBQVAsS0FBcUI7QUFDakMsVUFBTWtLLE9BQU8sR0FBRyxJQUFJckosb0JBQUosQ0FBeUJFLElBQXpCLENBQWhCO0FBQ0EsVUFBTU0sV0FBVyxHQUFHLEVBQUUsR0FBR3ZELGdCQUFlQTtBQUFwQixLQUFwQjtBQUNBdFosSUFBQUEsc0RBQUEsQ0FBeUIsVUFBekIsRUFBcUM2YyxXQUFyQyxFQUFrRCxNQUFNO0FBQ3RENkksTUFBQUEsT0FBTyxDQUFDL0ksT0FBUixDQUFnQm5CLFNBQWhCLEVBQTJCbkMsZ0NBQTNCLEVBQTZDd0QsV0FBN0M7QUFDRCxLQUZEO0FBR0QsR0FQc0M7QUFRdkNyVixFQUFBQSxtQkFBbUIsRUFBRSxDQUFDc2QsV0FBRCxFQUFjaGdCLFdBQWQsS0FBOEI7QUFDakQ7QUFDQTtBQUNBLFVBQU1uRSxPQUFPLEdBQUdta0IsV0FBaEI7QUFFQUUsSUFBQUEsMkJBQTJCLENBQUNya0IsT0FBRCxFQUFVbUUsV0FBVixDQUEzQjtBQUNBcWdCLElBQUFBLDRCQUE0QixDQUFDeGtCLE9BQUQsRUFBVW1FLFdBQVYsQ0FBNUI7QUFDRCxHQWZzQztBQWdCdkNuRSxFQUFBQSxPQUFPLEVBQUUsQ0FDUDtBQUNFaGhCLElBQUFBLEVBQUUsRUFBRSxVQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDJDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxxQ0FIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUscUJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGlCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE1BVlI7QUFXRTBtQyxJQUFBQSxJQUFJLEVBQUU7QUFDSjtBQUNBdm5DLE1BQUFBLEVBQUUsRUFBRSs5QixRQUFRLENBQUMseUVBQUQsQ0FGUjtBQUdKOTlCLE1BQUFBLEVBQUUsRUFBRTg5QixRQUFRLENBQUMseUVBQUQsQ0FIUjtBQUlKNzlCLE1BQUFBLEVBQUUsRUFBRTY5QixRQUFRLENBQUMseUVBQUQsQ0FKUjtBQUtKNTlCLE1BQUFBLEVBQUUsRUFBRTQ5QixRQUFRLENBQUMseUVBQUQsQ0FMUjtBQU1KMzlCLE1BQUFBLEVBQUUsRUFBRTI5QixRQUFRLENBQUMseUVBQUQsQ0FOUjtBQU9KMTlCLE1BQUFBLEVBQUUsRUFBRTA5QixRQUFRLENBQUMseUVBQUQ7QUFQUixLQVhSO0FBb0JFaFYsSUFBQUEsT0FBTyxFQUFFZ1YsUUFBUSxDQUFDLHlFQUFEO0FBcEJuQixHQURPLEVBdUJQO0FBQ0V4OEIsSUFBQUEsRUFBRSxFQUFFLE9BRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsc0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxlQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxRQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFVBVlI7QUFXRWk3QixJQUFBQSxTQUFTLEVBQUUsSUFYYjtBQVlFL1MsSUFBQUEsT0FBTyxFQUFFO0FBWlgsR0F2Qk8sRUFxQ1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsb0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxzQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsd0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLG1CQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxjQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRiwrQkFBdUIsY0FEckI7QUFFRiw2QkFBcUIsWUFGbkI7QUFHRix1QkFBZSxTQUhiO0FBSUYsd0JBQWdCLFVBSmQ7QUFLRixzQkFBYztBQUxaLE9BREc7QUFRUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YsNkJBQXFCLGNBRG5CO0FBRUYsNkJBQXFCLFlBRm5CO0FBR0Ysc0JBQWMsU0FIWjtBQUlGLHVCQUFlLFVBSmI7QUFLRix5QkFBaUI7QUFMZixPQVJHO0FBZVBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDZCQUFxQixjQURuQjtBQUVGLDZCQUFxQixZQUZuQjtBQUdGLDRCQUFvQixTQUhsQjtBQUlGLDhCQUFzQixVQUpwQjtBQUtGLHVCQUFlO0FBTGIsT0FmRztBQXNCUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysd0JBQWdCLGNBRGQ7QUFFRix5QkFBaUIsWUFGZjtBQUdGLG9CQUFZLFNBSFY7QUFJRixxQkFBYSxVQUpYO0FBS0YsZ0JBQVE7QUFMTixPQXRCRztBQTZCUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YseUJBQWlCLGNBRGY7QUFFRix5QkFBaUIsWUFGZjtBQUdGLHFCQUFhLFNBSFg7QUFJRixzQkFBYyxVQUpaO0FBS0YsZ0JBQVE7QUFMTixPQTdCRztBQW9DUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysd0JBQWdCLGNBRGQ7QUFFRix5QkFBaUIsWUFGZjtBQUdGLG1CQUFXLFNBSFQ7QUFJRixtQkFBVyxVQUpUO0FBS0Ysa0JBQVU7QUFMUjtBQXBDRyxLQVhYO0FBdURFMG9CLElBQUFBLE9BQU8sRUFBRSxjQXZEWDtBQXdERUUsSUFBQUEsVUFBVSxFQUFFdVU7QUF4RGQsR0FyQ08sRUErRlA7QUFDRWo4QixJQUFBQSxFQUFFLEVBQUUsZ0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxpQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsZUFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsb0JBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLFNBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLFdBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsUUFWUjtBQVdFMGhCLElBQUFBLE9BQU8sRUFBRTtBQUNQdmlCLE1BQUFBLEVBQUUsRUFBRTtBQUNGLGdDQUF3QixTQUR0QjtBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix1QkFBZSxJQUpiO0FBS0YsdUJBQWUsSUFMYjtBQU1GLHlCQUFpQixJQU5mO0FBT0YsdUJBQWU7QUFQYixPQURHO0FBVVBFLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDJDQUFtQyxTQURqQztBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix5QkFBaUIsSUFKZjtBQUtGLHlCQUFpQixJQUxmO0FBTUYseUJBQWlCLElBTmY7QUFPRix1QkFBZTtBQVBiLE9BVkc7QUFtQlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLG1CQUFXLFNBRFQ7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLHFCQUFhLElBSlg7QUFLRixzQkFBYyxJQUxaO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFYsT0FuQkc7QUE0QlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLGtCQUFVLFNBRFI7QUFFRixtQkFBVyxJQUZUO0FBR0YsbUJBQVcsSUFIVDtBQUlGLG1CQUFXLElBSlQ7QUFLRixtQkFBVyxJQUxUO0FBTUYsbUJBQVcsSUFOVDtBQU9GLG1CQUFXO0FBUFQsT0E1Qkc7QUFxQ1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLHNCQUFjLFNBRFo7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLG9CQUFZLElBSlY7QUFLRixxQkFBYSxJQUxYO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFY7QUFyQ0csS0FYWDtBQTBERTBvQixJQUFBQSxPQUFPLEVBQUUsU0ExRFg7QUEyREV5ZSxJQUFBQSxLQUFLLEVBQUUsSUEzRFQ7QUE0REV2ZSxJQUFBQSxVQUFVLEVBQUUsQ0FBQzFHLE9BQUQsRUFBVS9XLEtBQVYsS0FBb0I7QUFDOUIsVUFBSUEsS0FBSyxLQUFLLFNBQWQsRUFDRTtBQUNGK1csTUFBQUEsT0FBTyxDQUFDLGdCQUFELENBQVAsR0FBNEIvVyxLQUE1QjtBQUNEO0FBaEVILEdBL0ZPLEVBaUtQO0FBQ0VqSyxJQUFBQSxFQUFFLEVBQUUsa0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsa0JBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxVQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRixxQ0FBNkIsU0FEM0I7QUFFRix3QkFBZ0IsSUFGZDtBQUdGLHdCQUFnQixJQUhkO0FBSUYsdUJBQWUsSUFKYjtBQUtGLHVCQUFlLElBTGI7QUFNRix5QkFBaUIsSUFOZjtBQU9GLHVCQUFlO0FBUGIsT0FERztBQVVQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRix3Q0FBZ0MsU0FEOUI7QUFFRix5QkFBaUIsSUFGZjtBQUdGLDJCQUFtQixJQUhqQjtBQUlGLHdCQUFnQixJQUpkO0FBS0YsNEJBQW9CLElBTGxCO0FBTUYsMEJBQWtCLElBTmhCO0FBT0YsMkJBQW1CO0FBUGpCLE9BVkc7QUFtQlBDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDhDQUFzQyxTQURwQztBQUVGLHdCQUFnQixJQUZkO0FBR0Ysd0JBQWdCLElBSGQ7QUFJRix5QkFBaUIsSUFKZjtBQUtGLHlCQUFpQixJQUxmO0FBTUYseUJBQWlCLElBTmY7QUFPRix1QkFBZTtBQVBiLE9BbkJHO0FBNEJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRiw2QkFBcUIsU0FEbkI7QUFFRixtQkFBVyxJQUZUO0FBR0Ysb0JBQVksSUFIVjtBQUlGLHFCQUFhLElBSlg7QUFLRixzQkFBYyxJQUxaO0FBTUYsb0JBQVksSUFOVjtBQU9GLG9CQUFZO0FBUFYsT0E1Qkc7QUFxQ1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLDhCQUFzQixTQURwQjtBQUVGLG1CQUFXLElBRlQ7QUFHRixtQkFBVyxJQUhUO0FBSUYsbUJBQVcsSUFKVDtBQUtGLG1CQUFXLElBTFQ7QUFNRixtQkFBVyxJQU5UO0FBT0YsbUJBQVc7QUFQVCxPQXJDRztBQThDUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0YsOEJBQXNCLFNBRHBCO0FBRUYsbUJBQVcsSUFGVDtBQUdGLG9CQUFZLElBSFY7QUFJRixvQkFBWSxJQUpWO0FBS0YscUJBQWEsSUFMWDtBQU1GLG9CQUFZLElBTlY7QUFPRixvQkFBWTtBQVBWO0FBOUNHLEtBWFg7QUFtRUUwb0IsSUFBQUEsT0FBTyxFQUFFLFNBbkVYO0FBb0VFeWUsSUFBQUEsS0FBSyxFQUFFLElBcEVUO0FBcUVFdmUsSUFBQUEsVUFBVSxFQUFFLENBQUMxRyxPQUFELEVBQVUvVyxLQUFWLEtBQW9CO0FBQzlCLFVBQUlBLEtBQUssS0FBSyxTQUFkLEVBQ0U7QUFDRitXLE1BQUFBLE9BQU8sQ0FBQyxrQkFBRCxDQUFQLEdBQThCL1csS0FBOUI7QUFDRDtBQXpFSCxHQWpLTyxFQTRPUDtBQUNFakssSUFBQUEsRUFBRSxFQUFFLE1BRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxlQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxlQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxlQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxjQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxZQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFFBVlI7QUFXRTBoQixJQUFBQSxPQUFPLEVBQUU7QUFDUHZpQixNQUFBQSxFQUFFLEVBQUU7QUFDRixtQkFBVyxTQURUO0FBRUYsaUJBQVM7QUFGUCxPQURHO0FBS1BDLE1BQUFBLEVBQUUsRUFBRTtBQUNGLG1CQUFXLFNBRFQ7QUFFRixpQkFBUztBQUZQLE9BTEc7QUFTUEMsTUFBQUEsRUFBRSxFQUFFO0FBQ0Ysa0JBQVUsU0FEUjtBQUVGLGlCQUFTO0FBRlAsT0FURztBQWFQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixnQkFBUSxTQUROO0FBRUYsaUJBQVM7QUFGUCxPQWJHO0FBaUJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixjQUFNLFNBREo7QUFFRixpQkFBUztBQUZQLE9BakJHO0FBcUJQQyxNQUFBQSxFQUFFLEVBQUU7QUFDRixjQUFNLFNBREo7QUFFRixpQkFBUztBQUZQO0FBckJHLEtBWFg7QUFxQ0Uwb0IsSUFBQUEsT0FBTyxFQUFFO0FBckNYLEdBNU9PLEVBbVJQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGlCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsa0JBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLG9CQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxrQkFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsY0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsT0FMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxVQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0FuUk8sRUFnU1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsZUFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLGdCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxrQkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsa0JBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLFlBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLFVBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsVUFWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBaFNPLEVBNlNQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLHdCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsaUNBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxzREFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsZ0JBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGFBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBN1NPLEVBMFRQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGdDQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsa0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDZDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSw2Q0FIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsMEJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTFUTyxFQXVVUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSx1QkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLGtEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxtRUFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsaUVBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLDBCQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxxQkFMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxTQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0F2VU8sRUFvVlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsc0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSwwQkFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsMEJBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLCtCQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxXQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxTQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLFNBVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXBWTyxFQWlXUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSw0QkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHVDQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx1Q0FGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsa0RBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLG1CQUpBO0FBS0pDLE1BQUFBLEVBQUUsRUFBRSxrQkFMQTtBQU1KQyxNQUFBQSxFQUFFLEVBQUU7QUFOQSxLQUZSO0FBVUVRLElBQUFBLElBQUksRUFBRSxPQVZSO0FBV0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBWFgsR0FqV08sRUE4V1A7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsNEJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSx1Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsdUNBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLGtEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxtQkFKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsa0JBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBOVdPLEVBMlhQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLDJCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsc0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSx1REFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsbUJBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTNYTyxFQXdZUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxrQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLDBCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx3QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMkJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXhZTyxFQXFaUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxrQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLDBCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx3QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMkJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQXJaTyxFQWthUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxpQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHlCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx1QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUseUJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGtCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQWxhTyxFQSthUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxpQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHlCQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSw2QkFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMEJBSEE7QUFJSkMsTUFBQUEsRUFBRSxFQUFFLGVBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGVBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsT0FWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBL2FPLEVBNGJQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGlCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUseUJBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHVCQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSw2QkFIQTtBQUlKQyxNQUFBQSxFQUFFLEVBQUUsa0JBSkE7QUFLSkMsTUFBQUEsRUFBRSxFQUFFLGdCQUxBO0FBTUpDLE1BQUFBLEVBQUUsRUFBRTtBQU5BLEtBRlI7QUFVRVEsSUFBQUEsSUFBSSxFQUFFLE9BVlI7QUFXRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFYWCxHQTViTyxFQXljUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxlQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0NBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLDBDQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSw2REFIQTtBQUlKRSxNQUFBQSxFQUFFLEVBQUU7QUFKQSxLQUZSO0FBUUVTLElBQUFBLElBQUksRUFBRSxVQVJSO0FBU0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBVFgsR0F6Y08sRUFvZFA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsb0JBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxxREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsd0RBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHlFQUhBO0FBSUpFLE1BQUFBLEVBQUUsRUFBRTtBQUpBLEtBRlI7QUFRRVMsSUFBQUEsSUFBSSxFQUFFLE9BUlI7QUFTRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFUWCxHQXBkTyxFQStkUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxnQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLGtEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSxzREFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsMEVBSEE7QUFJSkUsTUFBQUEsRUFBRSxFQUFFO0FBSkEsS0FGUjtBQVFFUyxJQUFBQSxJQUFJLEVBQUUsT0FSUjtBQVNFa29CLElBQUFBLE9BQU8sRUFBRTtBQVRYLEdBL2RPLEVBMGVQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLGtCQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUsb0RBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHFEQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSx5RUFIQTtBQUlKRSxNQUFBQSxFQUFFLEVBQUU7QUFKQSxLQUZSO0FBUUVTLElBQUFBLElBQUksRUFBRSxPQVJSO0FBU0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBVFgsR0ExZU8sRUFxZlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUscUJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxzREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUseURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLG9FQUhBO0FBSUpFLE1BQUFBLEVBQUUsRUFBRTtBQUpBLEtBRlI7QUFRRVMsSUFBQUEsSUFBSSxFQUFFLE9BUlI7QUFTRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFUWCxHQXJmTyxFQWdnQlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsaUJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsdURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHFFQUhBO0FBSUpFLE1BQUFBLEVBQUUsRUFBRTtBQUpBLEtBRlI7QUFRRVMsSUFBQUEsSUFBSSxFQUFFLE9BUlI7QUFTRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFUWCxHQWhnQk8sRUEyZ0JQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLG1CQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUscURBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNEQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxvRUFIQTtBQUlKRSxNQUFBQSxFQUFFLEVBQUU7QUFKQSxLQUZSO0FBUUVTLElBQUFBLElBQUksRUFBRSxPQVJSO0FBU0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBVFgsR0EzZ0JPLEVBc2hCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxxQkFETjtBQUVFVCxJQUFBQSxJQUFJLEVBQUU7QUFDSmQsTUFBQUEsRUFBRSxFQUFFLHNEQURBO0FBRUpDLE1BQUFBLEVBQUUsRUFBRSx5REFGQTtBQUdKQyxNQUFBQSxFQUFFLEVBQUUsb0VBSEE7QUFJSkUsTUFBQUEsRUFBRSxFQUFFO0FBSkEsS0FGUjtBQVFFUyxJQUFBQSxJQUFJLEVBQUUsT0FSUjtBQVNFa29CLElBQUFBLE9BQU8sRUFBRTtBQVRYLEdBdGhCTyxFQWlpQlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsaUJBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSxtREFEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsdURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHFFQUhBO0FBSUpFLE1BQUFBLEVBQUUsRUFBRTtBQUpBLEtBRlI7QUFRRVMsSUFBQUEsSUFBSSxFQUFFLE9BUlI7QUFTRWtvQixJQUFBQSxPQUFPLEVBQUU7QUFUWCxHQWppQk8sRUE0aUJQO0FBQ0V4bkIsSUFBQUEsRUFBRSxFQUFFLG1CQUROO0FBRUVULElBQUFBLElBQUksRUFBRTtBQUNKZCxNQUFBQSxFQUFFLEVBQUUscURBREE7QUFFSkMsTUFBQUEsRUFBRSxFQUFFLHNEQUZBO0FBR0pDLE1BQUFBLEVBQUUsRUFBRSxvRUFIQTtBQUlKRSxNQUFBQSxFQUFFLEVBQUU7QUFKQSxLQUZSO0FBUUVTLElBQUFBLElBQUksRUFBRSxPQVJSO0FBU0Vrb0IsSUFBQUEsT0FBTyxFQUFFO0FBVFgsR0E1aUJPLEVBdWpCUDtBQUNFeG5CLElBQUFBLEVBQUUsRUFBRSxzQkFETjtBQUVFO0FBQ0E7QUFDQVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSw4Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUscURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHFEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSxtQ0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsdUJBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FKUjtBQVlFUSxJQUFBQSxJQUFJLEVBQUUsVUFaUjtBQWFFa29CLElBQUFBLE9BQU8sRUFBRTtBQWJYLEdBdmpCTyxFQXNrQlA7QUFDRXhuQixJQUFBQSxFQUFFLEVBQUUsZ0NBRE47QUFFRVQsSUFBQUEsSUFBSSxFQUFFO0FBQ0pkLE1BQUFBLEVBQUUsRUFBRSw0Q0FEQTtBQUVKQyxNQUFBQSxFQUFFLEVBQUUsbURBRkE7QUFHSkMsTUFBQUEsRUFBRSxFQUFFLHNEQUhBO0FBSUpDLE1BQUFBLEVBQUUsRUFBRSw2Q0FKQTtBQUtKQyxNQUFBQSxFQUFFLEVBQUUsdUJBTEE7QUFNSkMsTUFBQUEsRUFBRSxFQUFFO0FBTkEsS0FGUjtBQVVFUSxJQUFBQSxJQUFJLEVBQUUsVUFWUjtBQVdFa29CLElBQUFBLE9BQU8sRUFBRTtBQVhYLEdBdGtCTztBQWhCOEIsQ0FBekM7QUFzbUJBbkgsMERBQUEsQ0FBMkIsVUFBM0IsRUFBdUNpSCxlQUF2QyxFQUF3RDRkLGVBQXhEOzs7O0FDMzdEQTtBQUNBO0FBUUEsTUFBTXZuQyxJQUFhLEdBQUc7QUFDcEIsUUFBTSxDQUNKLE1BREksRUFFSixNQUZJLEVBR0osUUFISSxFQUlKLE1BSkksRUFLSixPQUxJLEVBTUosT0FOSSxFQU9KLE9BUEksRUFRSixRQVJJLEVBU0osUUFUSSxFQVVKLFNBVkksRUFXSixRQVhJLEVBWUosS0FaSSxFQWFKLE9BYkksRUFjSixPQWRJLEVBZUosUUFmSSxFQWdCSixJQWhCSSxDQURjO0FBbUJwQixRQUFNLENBQ0osbUJBREksRUFFSixpQkFGSSxFQUdKLFdBSEksRUFJSixXQUpJLEVBS0osWUFMSSxFQU1KLEtBTkksRUFPSixRQVBJLEVBUUosOEJBUkksRUFTSixnQ0FUSSxFQVVKLGNBVkksRUFXSixhQVhJLEVBWUosUUFaSSxFQWFKLHFCQWJJLEVBY0osaUJBZEksRUFlSixnQkFmSSxFQWdCSixpQkFoQkksQ0FuQmM7QUFxQ3BCLFFBQU0sQ0FDSixtQkFESSxFQUVKLGlCQUZJLEVBR0osV0FISSxFQUlKLFdBSkksRUFLSixZQUxJLEVBTUosS0FOSSxFQU9KLFFBUEksRUFRSixpQkFSSSxFQVNKLG1CQVRJLEVBVUosY0FWSSxFQVdKLGNBWEksRUFZSixRQVpJLEVBYUoscUJBYkksRUFjSixRQWRJLEVBZUosaUJBZkksRUFnQkosU0FoQkksQ0FyQ2M7QUF1RHBCLFFBQU0sQ0FDSixvQkFESSxFQUVKLGtCQUZJLEVBR0osV0FISSxFQUlKLFdBSkksRUFLSixZQUxJLEVBTUosS0FOSSxFQU9KLFFBUEksRUFRSixvQkFSSSxFQVNKLG1CQVRJLEVBVUosY0FWSSxFQVdKLGFBWEksRUFZSixVQVpJLEVBYUosc0JBYkksRUFjSixRQWRJLEVBZUosZ0JBZkksRUFnQkosT0FoQkksQ0F2RGM7QUF5RXBCLFFBQU0sQ0FDSixjQURJLEVBRUosYUFGSSxFQUdKLFVBSEksRUFJSixTQUpJLEVBS0osU0FMSSxFQU1KLFdBTkksRUFPSixXQVBJLEVBUUosYUFSSSxFQVNKLGVBVEksRUFVSixVQVZJLEVBV0osV0FYSSxFQVlKLE9BWkksRUFhSixnQkFiSSxFQWNKLE9BZEksRUFlSixhQWZJLEVBZ0JKLElBaEJJLENBekVjO0FBMkZwQixRQUFNLENBQ0osVUFESSxFQUVKLFNBRkksRUFHSixTQUhJLEVBSUosUUFKSSxFQUtKLFFBTEksRUFNSixRQU5JLEVBT0osUUFQSSxFQVFKLFFBUkksRUFTSixTQVRJLEVBVUosUUFWSSxFQVdKLE9BWEksRUFZSixLQVpJLEVBYUosU0FiSSxFQWNKLFFBZEksRUFlSixRQWZJLEVBZ0JKLElBaEJJO0FBM0ZjLENBQXRCO0FBK0dBLGdEQUFlQSxJQUFmOzs7O0FDeEhBO0FBS2UsTUFBTXVvQyxTQUFOLENBQWdCO0FBVzdCcDRCLEVBQUFBLFdBQVcsQ0FBQzlOLEVBQUQsRUFBYVQsSUFBYixFQUEyQjtBQUFBLDJDQVQvQixFQVMrQjs7QUFBQSw2Q0FSN0IsRUFRNkI7O0FBQUEsNkNBUFksRUFPWjs7QUFBQSx3REFOUixFQU1ROztBQUFBLHNEQUxwQixDQUFDLENBS21COztBQUNwQyxTQUFLUyxFQUFMLEdBQVVBLEVBQVY7QUFDQSxTQUFLbW1DLE9BQUwsQ0FBYTVtQyxJQUFiO0FBQ0Q7O0FBRUQ0bUMsRUFBQUEsT0FBTyxDQUFDNW1DLElBQUQsRUFBcUI7QUFBQTs7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFJQSxJQUFJLEtBQUssRUFBYixFQUNFO0FBRUYsVUFBTXcrQixLQUFLLEdBQUd4K0IsSUFBSSxDQUFDb2lCLEtBQUwsQ0FBVyxHQUFYLENBQWQ7QUFDQSxTQUFLcGlCLElBQUwsY0FBWXcrQixLQUFLLENBQUMsQ0FBRCxDQUFqQiw2Q0FBd0IsRUFBeEI7QUFDQSxRQUFJQSxLQUFLLENBQUNoekIsTUFBTixHQUFlLENBQW5CLEVBQ0UsS0FBS3E3QixNQUFMLG1DQUFjckksS0FBSyxDQUFDLENBQUQsQ0FBbkIsNkNBQWMsU0FBVTdqQixPQUFWLENBQWtCLEtBQWxCLEVBQXlCLEVBQXpCLENBQWQsK0RBQThDLEVBQTlDO0FBQ0g7O0FBRURtc0IsRUFBQUEsUUFBUSxDQUFDM21DLFNBQUQsRUFBNkI7QUFDbkMsV0FBTyxLQUFLNG1DLE1BQUwsQ0FBWTVtQyxTQUFaLE1BQTJCdVcsU0FBbEM7QUFDRDs7QUFFRHN3QixFQUFBQSxTQUFTLENBQUM3bUMsU0FBRCxFQUFvQjhtQyxLQUFwQixFQUFpRDtBQUN4RCxTQUFLRixNQUFMLENBQVk1bUMsU0FBWixJQUF5QjhtQyxLQUF6QjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIvbUMsU0FBdkI7QUFDQSxRQUFJLENBQUMsS0FBS2duQyxpQkFBTCxDQUF1QnhuQyxRQUF2QixDQUFnQ1EsU0FBaEMsQ0FBTCxFQUNFLEtBQUtnbkMsaUJBQUwsQ0FBdUJyOEIsSUFBdkIsQ0FBNEIzSyxTQUE1QjtBQUNIOztBQUVEaW5DLEVBQUFBLG9CQUFvQixDQUFDam5DLFNBQUQsRUFBb0M7QUFBQTs7QUFDdEQ7QUFDQSxVQUFNbUssS0FBSyxHQUFHLEtBQUs2OEIsaUJBQUwsQ0FBdUIxd0IsT0FBdkIsQ0FBK0J0VyxTQUEvQixDQUFkO0FBQ0EsVUFBTWtuQyx5QkFBeUIsR0FBRyxLQUFLRixpQkFBTCxDQUF1QjM3QixNQUF2QixHQUFnQyxDQUFsRSxDQUhzRCxDQUl0RDs7QUFDQSxRQUFJbEIsS0FBSyxJQUFJLENBQVQsSUFBY0EsS0FBSyxHQUFHKzhCLHlCQUExQixFQUNFLE9BQU8sS0FBS0MsZUFBTCxDQUFxQmg5QixLQUFLLEdBQUcsQ0FBN0IsQ0FBUCxDQURGLENBRUE7QUFDQTtBQUhBLFNBSUssSUFDSEEsS0FBSyxLQUFLKzhCLHlCQUFWLElBQ0FsbkMsU0FBUyw2QkFBSSxLQUFLZ25DLGlCQUFMLENBQXVCRSx5QkFBdkIsQ0FBSix5RUFBeUQsQ0FBekQsQ0FGTixFQUlILE9BQU8sS0FBS0MsZUFBTCxDQUFxQkQseUJBQXJCLENBQVA7O0FBRUYsU0FBSyxJQUFJRSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEtBQUtKLGlCQUFMLENBQXVCMzdCLE1BQTNDLEVBQW1ELEVBQUUrN0IsQ0FBckQsRUFBd0Q7QUFDdEQsWUFBTUMsVUFBVSxHQUFHLEtBQUtMLGlCQUFMLENBQXVCSSxDQUF2QixDQUFuQjtBQUNBLFVBQUlDLFVBQVUsSUFBSUEsVUFBVSxHQUFHcm5DLFNBQS9CLEVBQ0UsT0FBTyxLQUFLbW5DLGVBQUwsQ0FBcUJDLENBQXJCLENBQVA7QUFDSDs7QUFFRCxXQUFPLEtBQUtELGVBQUwsQ0FBcUIsS0FBS0gsaUJBQUwsQ0FBdUIzN0IsTUFBdkIsR0FBZ0MsQ0FBckQsQ0FBUDtBQUNEOztBQUVEaThCLEVBQUFBLGdCQUFnQixDQUFDdG5DLFNBQUQsRUFBb0I0dEIsS0FBcEIsRUFBMEQ7QUFDeEUsUUFBSSxLQUFLZ1osTUFBTCxDQUFZNW1DLFNBQVosTUFBMkJ1VyxTQUEvQixFQUEwQztBQUFBOztBQUN4QztBQUNBLFlBQU1neEIsY0FBYyw2QkFBRyxLQUFLUCxpQkFBTCxDQUNwQnQ3QixNQURvQixDQUNaODdCLENBQUQsSUFBT0EsQ0FBQyxHQUFHeG5DLFNBREUsRUFFcEJnTCxJQUZvQixDQUVmLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVQSxDQUFDLEdBQUdELENBRkMsRUFFRSxDQUZGLENBQUgsMkVBRVcsS0FBSys3QixpQkFBTCxDQUF1QixDQUF2QixDQUYvQjtBQUdBLFVBQUlPLGNBQWMsS0FBS2h4QixTQUF2QixFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixZQUFNMjRCLEtBQUssR0FBRyxLQUFLRixNQUFMLENBQVlXLGNBQVosQ0FBZDtBQUNBLFVBQUksQ0FBQ1QsS0FBTCxFQUNFLE1BQU0sSUFBSTM0QixrQ0FBSixFQUFOO0FBQ0YsV0FBS3k0QixNQUFMLENBQVk1bUMsU0FBWixJQUF5QjhtQyxLQUFLLENBQUNXLFlBQU4sQ0FBbUI3WixLQUFuQixDQUF6QjtBQUNELEtBWEQsTUFXTztBQUNMLFlBQU1rWixLQUFLLEdBQUcsS0FBS0YsTUFBTCxDQUFZNW1DLFNBQVosQ0FBZDtBQUNBLFVBQUksQ0FBQzhtQyxLQUFMLEVBQ0UsTUFBTSxJQUFJMzRCLGtDQUFKLEVBQU47QUFDRixXQUFLeTRCLE1BQUwsQ0FBWTVtQyxTQUFaLElBQXlCOG1DLEtBQUssQ0FBQ1csWUFBTixDQUFtQjdaLEtBQW5CLENBQXpCO0FBQ0Q7O0FBQ0QsU0FBS21aLGVBQUwsR0FBdUJ4a0IsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBS3VrQixlQUFkLEVBQStCL21DLFNBQS9CLENBQXZCO0FBRUEsVUFBTTBuQyw2QkFBNkIsR0FBRyxLQUFLVixpQkFBTCxDQUF1QixLQUFLQSxpQkFBTCxDQUF1QjM3QixNQUF2QixHQUFnQyxDQUF2RCxDQUF0QztBQUNBLFFBQUksQ0FBQ3E4Qiw2QkFBTCxFQUNFLE1BQU0sSUFBSXY1QixrQ0FBSixFQUFOO0FBQ0YsVUFBTXc1QixZQUFZLEdBQUd4N0IsSUFBSSxDQUFDQyxTQUFMLENBQWUsS0FBS3c2QixNQUFMLENBQVljLDZCQUFaLENBQWYsQ0FBckI7QUFDQSxVQUFNRSxZQUFZLEdBQUd6N0IsSUFBSSxDQUFDQyxTQUFMLENBQWUsS0FBS3c2QixNQUFMLENBQVk1bUMsU0FBWixDQUFmLENBQXJCO0FBRUEsUUFBSTBuQyw2QkFBNkIsS0FBSzFuQyxTQUFsQyxJQUErQzRuQyxZQUFZLEtBQUtELFlBQXBFLEVBQ0UsS0FBS1gsaUJBQUwsQ0FBdUJyOEIsSUFBdkIsQ0FBNEIzSyxTQUE1QjtBQUNIOztBQUVENm5DLEVBQUFBLFFBQVEsQ0FBQzduQyxTQUFELEVBQW9DO0FBQzFDLFVBQU04bkMsZ0JBQWdCLEdBQUcsS0FBS2xCLE1BQUwsQ0FBWTVtQyxTQUFaLENBQXpCO0FBQ0EsUUFBSThuQyxnQkFBSixFQUNFLE9BQU9BLGdCQUFQO0FBRUYsVUFBTUMsZ0JBQWdCLEdBQUcsS0FBS2YsaUJBQUwsQ0FBdUIsQ0FBdkIsQ0FBekI7QUFDQSxRQUFJZSxnQkFBZ0IsS0FBS3h4QixTQUF6QixFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixRQUFJbk8sU0FBUyxHQUFHK25DLGdCQUFoQixFQUNFLE9BQU8sS0FBS1osZUFBTCxDQUFxQixDQUFyQixDQUFQO0FBRUYsUUFBSUMsQ0FBQyxHQUFHLENBQVI7O0FBQ0EsV0FBT0EsQ0FBQyxHQUFHLEtBQUtKLGlCQUFMLENBQXVCMzdCLE1BQWxDLEVBQTBDLEVBQUUrN0IsQ0FBNUMsRUFBK0M7QUFDN0MsWUFBTVksYUFBYSxHQUFHLEtBQUtoQixpQkFBTCxDQUF1QkksQ0FBdkIsQ0FBdEI7QUFDQSxVQUFJWSxhQUFhLEtBQUt6eEIsU0FBdEIsRUFDRSxNQUFNLElBQUlwSSxrQ0FBSixFQUFOO0FBQ0YsVUFBSTY1QixhQUFhLEdBQUdob0MsU0FBcEIsRUFDRSxPQUFPLEtBQUttbkMsZUFBTCxDQUFxQkMsQ0FBQyxHQUFHLENBQXpCLENBQVA7QUFDSDs7QUFFRCxXQUFPLEtBQUtELGVBQUwsQ0FBcUJDLENBQUMsR0FBRyxDQUF6QixDQUFQO0FBQ0QsR0F2SDRCLENBeUg3Qjs7O0FBQ1FELEVBQUFBLGVBQWUsQ0FBQ2g5QixLQUFELEVBQWdDO0FBQ3JELFVBQU1rOUIsVUFBVSxHQUFHLEtBQUtMLGlCQUFMLENBQXVCNzhCLEtBQXZCLENBQW5CO0FBQ0EsUUFBSWs5QixVQUFVLEtBQUs5d0IsU0FBbkIsRUFDRSxNQUFNLElBQUlwSSxrQ0FBSixFQUFOO0FBQ0YsVUFBTTI0QixLQUFLLEdBQUcsS0FBS0YsTUFBTCxDQUFZUyxVQUFaLENBQWQ7QUFDQSxRQUFJUCxLQUFLLEtBQUt2d0IsU0FBZCxFQUNFLE1BQU0sSUFBSXBJLGtDQUFKLEVBQU47QUFDRixXQUFPMjRCLEtBQVA7QUFDRDs7QUFsSTRCOzs7O0FDSGhCLE1BQU1tQixrQkFBTixDQUF5QjtBQUN6QixTQUFOQyxNQUFNLENBQUNDLFNBQUQsRUFBcUM7QUFDaEQsU0FBSyxNQUFNLENBQUM3OEIsR0FBRCxFQUFNZixLQUFOLENBQVgsSUFBMkJSLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlNjlCLGtCQUFrQixDQUFDRyxTQUFsQyxDQUEzQixFQUF5RTtBQUN2RSxVQUFJNzlCLEtBQUosYUFBSUEsS0FBSixlQUFJQSxLQUFLLENBQUUvSyxRQUFQLENBQWdCMm9DLFNBQWhCLENBQUosRUFDRSxPQUFPNzhCLEdBQVA7QUFDSDtBQUNGOztBQU5xQzs7a0NBQW5CMjhCLHlDQVFpQjs7a0NBUmpCQSxpQ0FVc0M7QUFDdkQ5ZCxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsRUFoREcsRUFpREgsRUFqREcsRUFrREgsRUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsSUExREcsRUEyREgsS0EzREcsRUE0REgsS0E1REcsRUE2REgsS0E3REcsRUE4REgsS0E5REcsRUErREgsS0EvREcsRUFnRUgsS0FoRUcsRUFpRUgsS0FqRUcsRUFrRUgsS0FsRUcsRUFtRUgsSUFuRUcsRUFvRUgsSUFwRUcsRUFxRUgsSUFyRUcsRUFzRUgsSUF0RUcsRUF1RUgsSUF2RUcsRUF3RUgsSUF4RUcsRUF5RUgsSUF6RUcsRUEwRUgsSUExRUcsRUEyRUgsSUEzRUcsRUE0RUgsSUE1RUcsRUE2RUgsSUE3RUcsRUE4RUgsSUE5RUcsQ0FEa0Q7QUFpRnZERSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxJQVZHLEVBV0gsSUFYRyxFQVlILElBWkcsRUFhSCxJQWJHLEVBY0gsSUFkRyxFQWVILElBZkcsRUFnQkgsSUFoQkcsRUFpQkgsRUFqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsRUExQkcsRUEyQkgsRUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csQ0FqRmtEO0FBMEh2RFcsRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsS0FQRyxFQVFILEtBUkcsRUFTSCxLQVRHLEVBVUgsS0FWRyxFQVdILElBWEcsRUFZSCxJQVpHLEVBYUgsSUFiRyxFQWNILElBZEcsRUFlSCxJQWZHLEVBZ0JILElBaEJHLEVBaUJILElBakJHLEVBa0JILElBbEJHLEVBbUJILElBbkJHLEVBb0JILElBcEJHLEVBcUJILElBckJHLEVBc0JILElBdEJHLEVBdUJILElBdkJHLEVBd0JILElBeEJHLEVBeUJILElBekJHLEVBMEJILElBMUJHLEVBMkJILElBM0JHLEVBNEJILElBNUJHLEVBNkJILElBN0JHLEVBOEJILElBOUJHLEVBK0JILElBL0JHLEVBZ0NILElBaENHLEVBaUNILElBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILEtBcENHLEVBcUNILEtBckNHLEVBc0NILEtBdENHLEVBdUNILEtBdkNHLEVBd0NILEtBeENHLEVBeUNILElBekNHLEVBMENILElBMUNHLEVBMkNILElBM0NHLEVBNENILElBNUNHLEVBNkNILElBN0NHLEVBOENILElBOUNHLEVBK0NILElBL0NHLEVBZ0RILElBaERHLEVBaURILElBakRHLEVBa0RILElBbERHLEVBbURILElBbkRHLEVBb0RILElBcERHLENBMUhrRDtBQWdMdkRLLEVBQUFBLEdBQUcsRUFBRSxDQUNILEtBREcsRUFFSCxLQUZHLEVBR0gsS0FIRyxFQUlILEtBSkcsRUFLSCxLQUxHLEVBTUgsS0FORyxFQU9ILEtBUEcsRUFRSCxLQVJHLEVBU0gsS0FURyxFQVVILEtBVkcsRUFXSCxLQVhHLEVBWUgsS0FaRyxFQWFILEtBYkcsRUFjSCxLQWRHLEVBZUgsS0FmRyxFQWdCSCxLQWhCRyxFQWlCSCxLQWpCRyxFQWtCSCxLQWxCRyxFQW1CSCxLQW5CRyxFQW9CSCxLQXBCRyxFQXFCSCxLQXJCRyxFQXNCSCxLQXRCRyxFQXVCSCxLQXZCRyxFQXdCSCxLQXhCRyxFQXlCSCxLQXpCRyxFQTBCSCxLQTFCRyxFQTJCSCxLQTNCRyxFQTRCSCxLQTVCRyxFQTZCSCxLQTdCRyxFQThCSCxLQTlCRyxFQStCSCxLQS9CRyxFQWdDSCxLQWhDRyxFQWlDSCxLQWpDRyxFQWtDSCxLQWxDRyxFQW1DSCxLQW5DRyxFQW9DSCxLQXBDRyxFQXFDSCxLQXJDRyxFQXNDSCxLQXRDRyxFQXVDSCxLQXZDRyxFQXdDSCxLQXhDRyxFQXlDSCxLQXpDRyxFQTBDSCxLQTFDRyxFQTJDSCxLQTNDRyxFQTRDSCxLQTVDRyxFQTZDSCxLQTdDRyxFQThDSCxLQTlDRyxFQStDSCxLQS9DRyxFQWdESCxLQWhERyxFQWlESCxLQWpERyxDQWhMa0Q7QUFtT3ZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEdBVEcsRUFVSCxHQVZHLEVBV0gsR0FYRyxFQVlILEdBWkcsRUFhSCxHQWJHLEVBY0gsS0FkRyxFQWVILElBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsR0FwREcsRUFxREgsR0FyREcsQ0FuT2tEO0FBMFJ2REksRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsS0FQRyxFQVFILEtBUkcsRUFTSCxLQVRHLEVBVUgsS0FWRyxFQVdILEtBWEcsRUFZSCxLQVpHLEVBYUgsS0FiRyxFQWNILEtBZEcsRUFlSCxHQWZHLEVBZ0JILEdBaEJHLEVBaUJILEtBakJHLEVBa0JILEtBbEJHLEVBbUJILEtBbkJHLEVBb0JILEtBcEJHLEVBcUJILEtBckJHLEVBc0JILEtBdEJHLEVBdUJILEtBdkJHLEVBd0JILEtBeEJHLEVBeUJILEtBekJHLEVBMEJILEtBMUJHLEVBMkJILEtBM0JHLEVBNEJILEtBNUJHLEVBNkJILEdBN0JHLEVBOEJILEdBOUJHLEVBK0JILEdBL0JHLEVBZ0NILEdBaENHLEVBaUNILEdBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILElBcENHLEVBcUNILElBckNHLEVBc0NILElBdENHLEVBdUNILElBdkNHLEVBd0NILEtBeENHLEVBeUNILEtBekNHLEVBMENILEtBMUNHLEVBMkNILEtBM0NHLEVBNENILEtBNUNHLEVBNkNILEtBN0NHLEVBOENILElBOUNHLEVBK0NILElBL0NHLEVBZ0RILElBaERHLEVBaURILElBakRHLEVBa0RILElBbERHLEVBbURILElBbkRHLEVBb0RILEdBcERHLEVBcURILEdBckRHLEVBc0RILEdBdERHLEVBdURILElBdkRHLEVBd0RILElBeERHLEVBeURILElBekRHLEVBMERILElBMURHLENBMVJrRDtBQXNWdkRLLEVBQUFBLEdBQUcsRUFBRSxDQUNILEtBREcsRUFFSCxLQUZHLEVBR0gsS0FIRyxFQUlILEtBSkcsRUFLSCxLQUxHLEVBTUgsS0FORyxFQU9ILEtBUEcsRUFRSCxLQVJHLEVBU0gsS0FURyxFQVVILEtBVkcsRUFXSCxLQVhHLEVBWUgsS0FaRyxFQWFILEtBYkcsRUFjSCxLQWRHLEVBZUgsS0FmRyxFQWdCSCxLQWhCRyxFQWlCSCxLQWpCRyxFQWtCSCxLQWxCRyxFQW1CSCxLQW5CRyxFQW9CSCxLQXBCRyxFQXFCSCxJQXJCRyxFQXNCSCxJQXRCRyxFQXVCSCxJQXZCRyxFQXdCSCxJQXhCRyxFQXlCSCxJQXpCRyxFQTBCSCxJQTFCRyxFQTJCSCxJQTNCRyxFQTRCSCxJQTVCRyxFQTZCSCxJQTdCRyxFQThCSCxJQTlCRyxFQStCSCxJQS9CRyxFQWdDSCxJQWhDRyxFQWlDSCxJQWpDRyxFQWtDSCxJQWxDRyxFQW1DSCxJQW5DRyxFQW9DSCxJQXBDRyxFQXFDSCxJQXJDRyxFQXNDSCxJQXRDRyxFQXVDSCxJQXZDRyxFQXdDSCxJQXhDRyxFQXlDSCxJQXpDRyxFQTBDSCxJQTFDRyxFQTJDSCxJQTNDRyxFQTRDSCxJQTVDRyxFQTZDSCxJQTdDRyxFQThDSCxJQTlDRyxFQStDSCxJQS9DRyxFQWdESCxJQWhERyxFQWlESCxJQWpERyxFQWtESCxJQWxERyxFQW1ESCxLQW5ERyxFQW9ESCxLQXBERyxFQXFESCxLQXJERyxFQXNESCxLQXRERyxFQXVESCxLQXZERyxFQXdESCxLQXhERyxFQXlESCxLQXpERyxFQTBESCxLQTFERyxFQTJESCxLQTNERyxFQTRESCxLQTVERyxFQTZESCxJQTdERyxFQThESCxJQTlERyxFQStESCxJQS9ERyxFQWdFSCxJQWhFRyxFQWlFSCxJQWpFRyxFQWtFSCxJQWxFRyxFQW1FSCxJQW5FRyxFQW9FSCxJQXBFRyxFQXFFSCxJQXJFRyxFQXNFSCxJQXRFRyxFQXVFSCxJQXZFRyxFQXdFSCxJQXhFRyxFQXlFSCxJQXpFRyxDQXRWa0Q7QUFpYXZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsRUF4Q0csRUF5Q0gsRUF6Q0csRUEwQ0gsRUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsRUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsQ0FqYWtEO0FBMGR2REUsRUFBQUEsR0FBRyxFQUFFLENBQ0gsS0FERyxFQUVILEtBRkcsRUFHSCxLQUhHLEVBSUgsS0FKRyxFQUtILEtBTEcsRUFNSCxLQU5HLEVBT0gsSUFQRyxFQVFILElBUkcsRUFTSCxJQVRHLEVBVUgsSUFWRyxFQVdILElBWEcsRUFZSCxJQVpHLEVBYUgsSUFiRyxFQWNILEtBZEcsRUFlSCxLQWZHLEVBZ0JILEtBaEJHLEVBaUJILEtBakJHLEVBa0JILEtBbEJHLEVBbUJILElBbkJHLEVBb0JILElBcEJHLEVBcUJILElBckJHLEVBc0JILElBdEJHLEVBdUJILEVBdkJHLEVBd0JILElBeEJHLEVBeUJILElBekJHLEVBMEJILElBMUJHLEVBMkJILElBM0JHLEVBNEJILElBNUJHLEVBNkJILElBN0JHLEVBOEJILElBOUJHLEVBK0JILElBL0JHLEVBZ0NILElBaENHLEVBaUNILElBakNHLEVBa0NILElBbENHLEVBbUNILElBbkNHLEVBb0NILElBcENHLEVBcUNILElBckNHLEVBc0NILEVBdENHLEVBdUNILEVBdkNHLEVBd0NILEVBeENHLEVBeUNILEVBekNHLEVBMENILElBMUNHLEVBMkNILEVBM0NHLEVBNENILEVBNUNHLENBMWRrRDtBQXdnQnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsSUExREcsQ0F4Z0JrRDtBQW9rQnZESSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsSUFqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsQ0Fwa0JrRDtBQTZuQnZEWCxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsR0FGRyxFQUdILEdBSEcsRUFJSCxHQUpHLEVBS0gsR0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsR0EvQ0csQ0E3bkJrRDtBQThxQnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsQ0E5cUJrRDtBQXN1QnZETyxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsS0FqREcsRUFrREgsS0FsREcsRUFtREgsS0FuREcsRUFvREgsS0FwREcsRUFxREgsS0FyREcsRUFzREgsS0F0REcsRUF1REgsS0F2REcsRUF3REgsS0F4REcsRUF5REgsS0F6REcsRUEwREgsS0ExREcsRUEyREgsS0EzREcsRUE0REgsS0E1REcsRUE2REgsS0E3REcsRUE4REgsS0E5REcsRUErREgsS0EvREcsRUFnRUgsS0FoRUcsRUFpRUgsS0FqRUcsQ0F0dUJrRDtBQXl5QnZEYixFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsR0FGRyxFQUdILEdBSEcsRUFJSCxHQUpHLEVBS0gsR0FMRyxFQU1ILEdBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsSUFqQkcsRUFrQkgsSUFsQkcsRUFtQkgsSUFuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsR0FoREcsRUFpREgsR0FqREcsRUFrREgsR0FsREcsRUFtREgsR0FuREcsQ0F6eUJrRDtBQTgxQnZERSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsR0EvQkcsRUFnQ0gsR0FoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsRUEwREgsR0ExREcsRUEyREgsR0EzREcsRUE0REgsR0E1REcsRUE2REgsR0E3REcsRUE4REgsR0E5REcsRUErREgsR0EvREcsRUFnRUgsR0FoRUcsRUFpRUgsR0FqRUcsRUFrRUgsR0FsRUcsRUFtRUgsR0FuRUcsRUFvRUgsSUFwRUcsRUFxRUgsSUFyRUcsRUFzRUgsSUF0RUcsRUF1RUgsSUF2RUcsRUF3RUgsSUF4RUcsRUF5RUgsSUF6RUcsRUEwRUgsSUExRUcsRUEyRUgsSUEzRUcsRUE0RUgsSUE1RUcsRUE2RUgsSUE3RUcsQ0E5MUJrRDtBQTY2QnZEUSxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsSUFwQkcsRUFxQkgsSUFyQkcsRUFzQkgsSUF0QkcsRUF1QkgsSUF2QkcsRUF3QkgsSUF4QkcsRUF5QkgsSUF6QkcsRUEwQkgsSUExQkcsRUEyQkgsSUEzQkcsRUE0QkgsSUE1QkcsRUE2QkgsSUE3QkcsRUE4QkgsSUE5QkcsRUErQkgsSUEvQkcsRUFnQ0gsSUFoQ0csRUFpQ0gsSUFqQ0csRUFrQ0gsSUFsQ0csRUFtQ0gsSUFuQ0csRUFvQ0gsSUFwQ0csRUFxQ0gsSUFyQ0csRUFzQ0gsSUF0Q0csRUF1Q0gsSUF2Q0csRUF3Q0gsSUF4Q0csRUF5Q0gsSUF6Q0csRUEwQ0gsSUExQ0csRUEyQ0gsSUEzQ0csRUE0Q0gsSUE1Q0csRUE2Q0gsSUE3Q0csRUE4Q0gsSUE5Q0csRUErQ0gsSUEvQ0csRUFnREgsSUFoREcsRUFpREgsSUFqREcsRUFrREgsSUFsREcsRUFtREgsSUFuREcsRUFvREgsSUFwREcsRUFxREgsSUFyREcsRUFzREgsSUF0REcsRUF1REgsSUF2REcsRUF3REgsSUF4REcsRUF5REgsSUF6REcsQ0E3NkJrRDtBQXcrQnZEQyxFQUFBQSxHQUFHLEVBQUUsQ0FDSCxLQURHLEVBRUgsS0FGRyxFQUdILEtBSEcsRUFJSCxLQUpHLEVBS0gsS0FMRyxFQU1ILEtBTkcsRUFPSCxLQVBHLEVBUUgsS0FSRyxFQVNILEtBVEcsRUFVSCxLQVZHLEVBV0gsS0FYRyxFQVlILEtBWkcsRUFhSCxLQWJHLEVBY0gsS0FkRyxFQWVILEtBZkcsRUFnQkgsS0FoQkcsRUFpQkgsS0FqQkcsRUFrQkgsS0FsQkcsRUFtQkgsS0FuQkcsRUFvQkgsS0FwQkcsRUFxQkgsS0FyQkcsRUFzQkgsS0F0QkcsRUF1QkgsS0F2QkcsRUF3QkgsS0F4QkcsRUF5QkgsS0F6QkcsRUEwQkgsS0ExQkcsRUEyQkgsS0EzQkcsRUE0QkgsS0E1QkcsRUE2QkgsS0E3QkcsRUE4QkgsS0E5QkcsRUErQkgsS0EvQkcsRUFnQ0gsS0FoQ0csRUFpQ0gsS0FqQ0csRUFrQ0gsS0FsQ0csRUFtQ0gsS0FuQ0csRUFvQ0gsS0FwQ0csRUFxQ0gsS0FyQ0csRUFzQ0gsS0F0Q0csRUF1Q0gsS0F2Q0csRUF3Q0gsS0F4Q0csRUF5Q0gsS0F6Q0csRUEwQ0gsS0ExQ0csRUEyQ0gsS0EzQ0csRUE0Q0gsS0E1Q0csRUE2Q0gsS0E3Q0csRUE4Q0gsS0E5Q0csRUErQ0gsS0EvQ0csRUFnREgsS0FoREcsRUFpREgsS0FqREcsRUFrREgsS0FsREcsRUFtREgsS0FuREcsRUFvREgsS0FwREcsRUFxREgsS0FyREcsRUFzREgsS0F0REcsRUF1REgsS0F2REcsRUF3REgsS0F4REc7QUF4K0JrRDs7QUNWNUMsTUFBTWlkLGNBQU4sQ0FBcUI7QUFXbENqNkIsRUFBQUEsV0FBVyxDQUNUazZCLElBRFMsRUFFVEMsSUFGUyxFQUdUQyxJQUhTLEVBSVRobkMsT0FKUyxFQUtUaW5DLFVBTFMsRUFNVHZuQyxFQU5TLEVBT1RzRSxLQVBTLEVBUVRwRSxFQVJTLEVBU1RxRSxLQVRTLEVBVVQ7QUFDQSxTQUFLNmlDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtDLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtobkMsT0FBTCxHQUFlQSxPQUFmO0FBQ0EsU0FBS2luQyxVQUFMLEdBQWtCQSxVQUFsQjtBQUNBLFNBQUt2bkMsRUFBTCxHQUFVQSxFQUFWO0FBQ0EsU0FBS3NFLEtBQUwsR0FBYUEsS0FBYjtBQUNBLFNBQUtwRSxFQUFMLEdBQVVBLEVBQVY7QUFDQSxTQUFLcUUsS0FBTCxHQUFhQSxLQUFiO0FBQ0Q7O0FBRURnaUMsRUFBQUEsWUFBWSxDQUFDN1osS0FBRCxFQUFpRDtBQUFBOztBQUMzRCxXQUFPLElBQUl5YSxjQUFKLGdCQUNMemEsS0FBSyxDQUFDMGEsSUFERCxxREFDUyxLQUFLQSxJQURkLGlCQUVMMWEsS0FBSyxDQUFDMmEsSUFGRCxxREFFUyxLQUFLQSxJQUZkLGlCQUdMM2EsS0FBSyxDQUFDNGEsSUFIRCxxREFHUyxLQUFLQSxJQUhkLG9CQUlMNWEsS0FBSyxDQUFDcHNCLE9BSkQsMkRBSVksS0FBS0EsT0FKakIsdUJBS0xvc0IsS0FBSyxDQUFDNmEsVUFMRCxpRUFLZSxLQUFLQSxVQUxwQixlQU1MN2EsS0FBSyxDQUFDMXNCLEVBTkQsaURBTU8sS0FBS0EsRUFOWixrQkFPTDBzQixLQUFLLENBQUNwb0IsS0FQRCx1REFPVSxLQUFLQSxLQVBmLGVBUUxvb0IsS0FBSyxDQUFDeHNCLEVBUkQsaURBUU8sS0FBS0EsRUFSWixrQkFTTHdzQixLQUFLLENBQUNub0IsS0FURCx1REFTVSxLQUFLQSxLQVRmLENBQVA7QUFXRDs7QUFFRGlqQyxFQUFBQSxhQUFhLEdBQXlCO0FBQ3BDLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBRE47QUFFTE0sTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBRk47QUFHTE0sTUFBQUEsSUFBSSxFQUFFLEtBQUtMLElBSE47QUFJTE0sTUFBQUEsT0FBTyxFQUFFLEtBQUt0bkMsT0FKVDtBQUtMdW5DLE1BQUFBLFNBQVMsRUFBRSxLQUFLN25DLEVBTFg7QUFNTDhuQyxNQUFBQSxLQUFLLEVBQUUsS0FBS3hqQyxLQU5QO0FBT0x5akMsTUFBQUEsU0FBUyxFQUFFLEtBQUs3bkMsRUFQWDtBQVFMOG5DLE1BQUFBLEtBQUssRUFBRSxLQUFLempDO0FBUlAsS0FBUDtBQVVEOztBQTFEaUM7Ozs7OztBQ0NwQztDQUdBOztBQUNBLE1BQU0wakMsV0FBVyxHQUFHO0FBQ2xCQyxFQUFBQSxjQUFjLEVBQUU7QUFDZHJxQyxJQUFBQSxFQUFFLEVBQUUsd0VBRFU7QUFFZEMsSUFBQUEsRUFBRSxFQUFFLHlFQUZVO0FBR2RDLElBQUFBLEVBQUUsRUFBRSw2RUFIVTtBQUlkQyxJQUFBQSxFQUFFLEVBQUUsOENBSlU7QUFLZEMsSUFBQUEsRUFBRSxFQUFFLGdEQUxVO0FBTWRDLElBQUFBLEVBQUUsRUFBRTtBQU5VLEdBREU7QUFTbEJpcUMsRUFBQUEsZUFBZSxFQUFFO0FBQ2Z0cUMsSUFBQUEsRUFBRSxFQUFFLFNBRFc7QUFFZkMsSUFBQUEsRUFBRSxFQUFFLFFBRlc7QUFHZkMsSUFBQUEsRUFBRSxFQUFFLG1CQUhXO0FBSWZDLElBQUFBLEVBQUUsRUFBRSxPQUpXO0FBS2ZDLElBQUFBLEVBQUUsRUFBRSxPQUxXO0FBTWZDLElBQUFBLEVBQUUsRUFBRTtBQU5XLEdBVEM7QUFpQmxCa3FDLEVBQUFBLGVBQWUsRUFBRTtBQUNmdnFDLElBQUFBLEVBQUUsRUFBRSw0Q0FEVztBQUVmQyxJQUFBQSxFQUFFLEVBQUUsb0RBRlc7QUFHZkMsSUFBQUEsRUFBRSxFQUFFLHNFQUhXO0FBSWZDLElBQUFBLEVBQUUsRUFBRSw4Q0FKVztBQUtmQyxJQUFBQSxFQUFFLEVBQUUsaUNBTFc7QUFNZkMsSUFBQUEsRUFBRSxFQUFFO0FBTlcsR0FqQkM7QUF5QmxCbXFDLEVBQUFBLFFBQVEsRUFBRTtBQUNSeHFDLElBQUFBLEVBQUUsRUFBRSxpRUFESTtBQUVSQyxJQUFBQSxFQUFFLEVBQUUsbUVBRkk7QUFHUkMsSUFBQUEsRUFBRSxFQUFFLGlFQUhJO0FBSVJDLElBQUFBLEVBQUUsRUFBRSx5Q0FKSTtBQUtSQyxJQUFBQSxFQUFFLEVBQUUsd0NBTEk7QUFNUkMsSUFBQUEsRUFBRSxFQUFFO0FBTkksR0F6QlE7QUFpQ2xCb3FDLEVBQUFBLFVBQVUsRUFBRTtBQUNWenFDLElBQUFBLEVBQUUsRUFBRSxtQ0FETTtBQUVWQyxJQUFBQSxFQUFFLEVBQUUsa0NBRk07QUFHVkMsSUFBQUEsRUFBRSxFQUFFLDZCQUhNO0FBSVZDLElBQUFBLEVBQUUsRUFBRSx3QkFKTTtBQUtWQyxJQUFBQSxFQUFFLEVBQUUsb0JBTE07QUFNVkMsSUFBQUEsRUFBRSxFQUFFO0FBTk0sR0FqQ007QUF5Q2xCO0FBQ0E7QUFDQXFxQyxFQUFBQSxhQUFhLEVBQUU7QUFDYjFxQyxJQUFBQSxFQUFFLEVBQUUscUVBRFM7QUFFYkMsSUFBQUEsRUFBRSxFQUNBLHlHQUhXO0FBSWJDLElBQUFBLEVBQUUsRUFBRSwwRUFKUztBQUtiQyxJQUFBQSxFQUFFLEVBQUUscUVBTFM7QUFNYkMsSUFBQUEsRUFBRSxFQUFFLGtFQU5TO0FBT2JDLElBQUFBLEVBQUUsRUFBRTtBQVBTLEdBM0NHO0FBb0RsQnNxQyxFQUFBQSxrQkFBa0IsRUFBRTtBQUNsQjNxQyxJQUFBQSxFQUFFLEVBQUUscURBRGM7QUFFbEJDLElBQUFBLEVBQUUsRUFBRSxrRUFGYztBQUdsQkMsSUFBQUEsRUFBRSxFQUFFLHVFQUhjO0FBSWxCQyxJQUFBQSxFQUFFLEVBQUUscURBSmM7QUFLbEJDLElBQUFBLEVBQUUsRUFBRSxnREFMYztBQU1sQkMsSUFBQUEsRUFBRSxFQUFFO0FBTmMsR0FwREY7QUE0RGxCdXFDLEVBQUFBLGNBQWMsRUFBRTtBQUNkNXFDLElBQUFBLEVBQUUsRUFBRSxzRUFEVTtBQUVkQyxJQUFBQSxFQUFFLEVBQ0EsOEZBSFk7QUFJZEMsSUFBQUEsRUFBRSxFQUFFLHVFQUpVO0FBS2RDLElBQUFBLEVBQUUsRUFBRSw0RUFMVTtBQU1kQyxJQUFBQSxFQUFFLEVBQUUsMkVBTlU7QUFPZEMsSUFBQUEsRUFBRSxFQUFFO0FBUFUsR0E1REU7QUFxRWxCd3FDLEVBQUFBLG1CQUFtQixFQUFFO0FBQ25CN3FDLElBQUFBLEVBQUUsRUFBRSwrREFEZTtBQUVuQkMsSUFBQUEsRUFBRSxFQUFFLDJEQUZlO0FBR25CQyxJQUFBQSxFQUFFLEVBQUUsdUZBSGU7QUFJbkJDLElBQUFBLEVBQUUsRUFBRSxxREFKZTtBQUtuQkMsSUFBQUEsRUFBRSxFQUFFLGlEQUxlO0FBTW5CQyxJQUFBQSxFQUFFLEVBQUU7QUFOZSxHQXJFSDtBQTZFbEJ5cUMsRUFBQUEsWUFBWSxFQUFFO0FBQ1o5cUMsSUFBQUEsRUFBRSxFQUFFLHVCQURRO0FBRVpDLElBQUFBLEVBQUUsRUFBRSxvQ0FGUTtBQUdaQyxJQUFBQSxFQUFFLEVBQUUsMEJBSFE7QUFJWkMsSUFBQUEsRUFBRSxFQUFFLGdDQUpRO0FBS1pDLElBQUFBLEVBQUUsRUFBRSw2QkFMUTtBQU1aQyxJQUFBQSxFQUFFLEVBQUU7QUFOUSxHQTdFSTtBQXFGbEIwcUMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakIvcUMsSUFBQUEsRUFBRSxFQUFFLDBEQURhO0FBRWpCQyxJQUFBQSxFQUFFLEVBQUUsbUVBRmE7QUFHakJDLElBQUFBLEVBQUUsRUFDQSw2RkFKZTtBQUtqQkMsSUFBQUEsRUFBRSxFQUFFLHNEQUxhO0FBTWpCQyxJQUFBQSxFQUFFLEVBQUUsa0RBTmE7QUFPakJDLElBQUFBLEVBQUUsRUFBRTtBQVBhLEdBckZEO0FBOEZsQjJxQyxFQUFBQSxjQUFjLEVBQUU7QUFDZGhyQyxJQUFBQSxFQUFFLEVBQUUsNkJBRFU7QUFFZEMsSUFBQUEsRUFBRSxFQUFFLHFDQUZVO0FBR2RDLElBQUFBLEVBQUUsRUFBRSw0QkFIVTtBQUlkQyxJQUFBQSxFQUFFLEVBQUUsK0JBSlU7QUFLZEMsSUFBQUEsRUFBRSxFQUFFLDhCQUxVO0FBTWRDLElBQUFBLEVBQUUsRUFBRTtBQU5VLEdBOUZFO0FBc0dsQjRxQyxFQUFBQSxtQkFBbUIsRUFBRTtBQUNuQmpyQyxJQUFBQSxFQUFFLEVBQUUsa0NBRGU7QUFFbkJDLElBQUFBLEVBQUUsRUFBRSw2QkFGZTtBQUduQkMsSUFBQUEsRUFBRSxFQUFFLDhDQUhlO0FBSW5CQyxJQUFBQSxFQUFFLEVBQUUsaUNBSmU7QUFLbkJDLElBQUFBLEVBQUUsRUFBRSw0QkFMZTtBQU1uQkMsSUFBQUEsRUFBRSxFQUFFO0FBTmU7QUF0R0gsQ0FBcEI7O0FBb0hBLE1BQU02cUMsUUFBTixDQUFlO0FBSUUsTUFBWEMsV0FBVyxHQUFxQjtBQUNsQyxRQUFJLEtBQUtyVCxPQUFULEVBQ0UsT0FBTyxLQUFLQSxPQUFaO0FBQ0YsU0FBS0EsT0FBTCxHQUFlLEtBQUtzVCxrQkFBTCxDQUNiaEIsV0FEYSxFQUVaM0IsQ0FBRCxJQUFlaitCLGdEQUFBLENBQWdCO0FBQUVySixNQUFBQSxJQUFJLEVBQUVzbkMsQ0FBQyxHQUFHO0FBQVosS0FBaEIsQ0FGRixDQUFmO0FBSUEsV0FBTyxLQUFLM1EsT0FBWjtBQUNEOztBQUVpQixNQUFkdVQsY0FBYyxHQUFxQjtBQUNyQyxRQUFJLEtBQUtDLFVBQVQsRUFDRSxPQUFPLEtBQUtBLFVBQVo7QUFDRixTQUFLQSxVQUFMLEdBQWtCLEtBQUtGLGtCQUFMLENBQ2hCaEIsV0FEZ0IsRUFFZjNCLENBQUQsSUFBZTM3Qix5Q0FBQSxDQUFtQjtBQUFFM0wsTUFBQUEsSUFBSSxFQUFFc25DLENBQUMsR0FBRztBQUFaLEtBQW5CLENBRkMsQ0FBbEI7QUFJQSxXQUFPLEtBQUs2QyxVQUFaO0FBQ0Q7O0FBRURGLEVBQUFBLGtCQUFrQixDQUNoQkcsT0FEZ0IsRUFFaEJqRSxPQUZnQixFQUdFO0FBQ2xCLFdBQU90OEIsTUFBTSxDQUFDd2dDLFdBQVAsQ0FDTHhnQyxNQUFNLENBQ0hLLE9BREgsQ0FDV2tnQyxPQURYLEVBRUdyOEIsR0FGSCxDQUVPLENBQUMsQ0FBQzNDLEdBQUQsRUFBTW9zQixLQUFOLENBQUQsS0FBa0IsQ0FBQ3BzQixHQUFELEVBQU0sS0FBS2svQixnQkFBTCxDQUFzQjlTLEtBQXRCLEVBQTZCMk8sT0FBN0IsQ0FBTixDQUZ6QixDQURLLENBQVA7QUFLRDs7QUFFRG1FLEVBQUFBLGdCQUFnQixDQUNkOVMsS0FEYyxFQUVkMk8sT0FGYyxFQUd1QztBQUNyRCxVQUFNb0UsT0FBTyxHQUFHcEUsT0FBTyxDQUFDM08sS0FBSyxDQUFDMzRCLEVBQVAsQ0FBdkI7QUFDQSxXQUFPO0FBQ0xBLE1BQUFBLEVBQUUsRUFBRTByQyxPQURDO0FBRUx6ckMsTUFBQUEsRUFBRSxFQUFFMDRCLEtBQUssQ0FBQzE0QixFQUFOLEdBQVdxbkMsT0FBTyxDQUFDM08sS0FBSyxDQUFDMTRCLEVBQVAsQ0FBbEIsR0FBK0J5ckMsT0FGOUI7QUFHTHhyQyxNQUFBQSxFQUFFLEVBQUV5NEIsS0FBSyxDQUFDejRCLEVBQU4sR0FBV29uQyxPQUFPLENBQUMzTyxLQUFLLENBQUN6NEIsRUFBUCxDQUFsQixHQUErQndyQyxPQUg5QjtBQUlMdnJDLE1BQUFBLEVBQUUsRUFBRXc0QixLQUFLLENBQUN4NEIsRUFBTixHQUFXbW5DLE9BQU8sQ0FBQzNPLEtBQUssQ0FBQ3g0QixFQUFQLENBQWxCLEdBQStCdXJDLE9BSjlCO0FBS0x0ckMsTUFBQUEsRUFBRSxFQUFFdTRCLEtBQUssQ0FBQ3Y0QixFQUFOLEdBQVdrbkMsT0FBTyxDQUFDM08sS0FBSyxDQUFDdjRCLEVBQVAsQ0FBbEIsR0FBK0JzckMsT0FMOUI7QUFNTHJyQyxNQUFBQSxFQUFFLEVBQUVzNEIsS0FBSyxDQUFDdDRCLEVBQU4sR0FBV2luQyxPQUFPLENBQUMzTyxLQUFLLENBQUN0NEIsRUFBUCxDQUFsQixHQUErQnFyQztBQU45QixLQUFQO0FBUUQ7O0FBaERZOztBQW1EZixNQUFNQyxRQUFRLEdBQUcsSUFBSVQsUUFBSixFQUFqQjtBQUVPLE1BQU1VLFdBQVcsR0FBR0QsUUFBUSxDQUFDUixXQUE3QjtBQUNBLE1BQU1VLGNBQWMsR0FBR0YsUUFBUSxDQUFDTixjQUFoQzs7OztBQ2hMUDtBQUNBO0FBQ0E7QUFzQk8sTUFBTVMsaUJBQWlCLEdBQUcsQ0FBQ0MsSUFBRCxFQUFtQkMsR0FBbkIsS0FBZ0Q7QUFDL0UsUUFBTUMsR0FBRyxHQUFHRixJQUFJLENBQUNHLGFBQUwsQ0FBbUJGLEdBQW5CLENBQVo7QUFDQSxNQUFJLEVBQUVDLEdBQUcsWUFBWUUsV0FBakIsQ0FBSixFQUNFLE1BQU0sSUFBSS84QixrQ0FBSixFQUFOO0FBQ0YsU0FBTzY4QixHQUFQO0FBQ0QsQ0FMTTtBQU9BLE1BQU1HLG9CQUFvQixHQUFHLENBQUNMLElBQUQsRUFBbUJDLEdBQW5CLEtBQWtEO0FBQ3BGLFFBQU1DLEdBQUcsR0FBRyxDQUFDLEdBQUdGLElBQUksQ0FBQ00sZ0JBQUwsQ0FBc0JMLEdBQXRCLENBQUosRUFBZ0M5OEIsR0FBaEMsQ0FBcUN1TCxJQUFELElBQVU7QUFDeEQsUUFBSSxFQUFFQSxJQUFJLFlBQVkweEIsV0FBbEIsQ0FBSixFQUNFLE1BQU0sSUFBSS84QixrQ0FBSixFQUFOO0FBQ0YsV0FBT3FMLElBQVA7QUFDRCxHQUpXLENBQVo7QUFLQSxTQUFPd3hCLEdBQVA7QUFDRCxDQVBNO0FBU0EsTUFBTUssZ0JBQWdCLEdBQUcsQ0FBQ1AsSUFBRCxFQUFtQkMsR0FBbkIsS0FBZ0Q7QUFDOUUsUUFBTXBqQixRQUFRLEdBQUdrakIsaUJBQWlCLENBQUNDLElBQUQsRUFBT0MsR0FBUCxDQUFsQztBQUNBLE1BQUksRUFBRXBqQixRQUFRLFlBQVkyakIsbUJBQXRCLENBQUosRUFDRSxNQUFNLElBQUluOUIsa0NBQUosRUFBTjtBQUNGLFFBQU02OEIsR0FBRyxHQUFHcmpCLFFBQVEsQ0FBQ3RHLE9BQVQsQ0FBaUJrcUIsaUJBQTdCO0FBQ0EsTUFBSSxDQUFDUCxHQUFMLEVBQ0UsTUFBTSxJQUFJNzhCLGtDQUFKLEVBQU47QUFDRixNQUFJLEVBQUU2OEIsR0FBRyxZQUFZRSxXQUFqQixDQUFKLEVBQ0UsTUFBTSxJQUFJLzhCLGtDQUFKLEVBQU47QUFDRixTQUFPNjhCLEdBQVA7QUFDRCxDQVZNO0FBWUEsTUFBTVEsU0FBUyxHQUFJVixJQUFELElBQW9DO0FBQzNELFFBQU1XLE1BQU0sR0FBR1gsSUFBSSxDQUFDWSxTQUFMLENBQWUsSUFBZixDQUFmO0FBQ0EsTUFBSSxFQUFFRCxNQUFNLFlBQVlQLFdBQXBCLENBQUosRUFDRSxNQUFNLElBQUkvOEIsa0NBQUosRUFBTjtBQUNGLFNBQU9zOUIsTUFBUDtBQUNELENBTE0sRUFPUDtBQUNBOztBQUNBLE1BQU1FLFdBQXNDLEdBQUcsRUFBL0M7QUFFTyxNQUFNQyx1QkFBdUIsR0FBSUMsVUFBRCxJQUFnQztBQUNyRSxRQUFNQyxvQkFBb0IsR0FBR0QsVUFBVSxDQUFDMWtCLE1BQVgsQ0FBa0IsQ0FBQyxDQUFuQixDQUE3QjtBQUNBLFFBQU00a0IsV0FBVyxHQUFHSixXQUFXLENBQUNHLG9CQUFELENBQS9CO0FBQ0EsTUFBSUMsV0FBSixFQUNFLE9BQU9BLFdBQVA7QUFDRixRQUFNQyxhQUFhLEdBQUcsSUFBSTllLElBQUosR0FBVytlLGlCQUFYLEtBQWlDLElBQXZEO0FBQ0EsTUFBSUgsb0JBQW9CLEtBQUt2MUIsU0FBN0IsRUFDRSxPQUFPeTFCLGFBQVA7QUFDRixRQUFNRSxRQUFRLEdBQUdKLG9CQUFvQixDQUFDM2tCLE1BQXJCLENBQTRCLENBQTVCLEVBQStCLENBQS9CLENBQWpCO0FBQ0EsTUFBSStrQixRQUFRLEtBQUssR0FBYixJQUFvQkEsUUFBUSxLQUFLLEdBQXJDLEVBQ0UsT0FBT0YsYUFBUDtBQUNGLFFBQU1HLG1CQUFtQixHQUFHTCxvQkFBb0IsQ0FBQzNrQixNQUFyQixDQUE0QixDQUE1QixFQUErQmxGLEtBQS9CLENBQXFDLEdBQXJDLENBQTVCO0FBQ0EsUUFBTW1xQixXQUFXLEdBQUdELG1CQUFtQixDQUFDLENBQUQsQ0FBdkM7QUFDQSxRQUFNRSxhQUFhLEdBQUdGLG1CQUFtQixDQUFDLENBQUQsQ0FBekM7QUFDQSxNQUFJQyxXQUFXLEtBQUs3MUIsU0FBaEIsSUFBNkI4MUIsYUFBYSxLQUFLOTFCLFNBQW5ELEVBQ0UsT0FBT3kxQixhQUFQO0FBQ0YsUUFBTU0sS0FBSyxHQUFHbmhDLFFBQVEsQ0FBQ2loQyxXQUFELENBQXRCO0FBQ0EsUUFBTUcsT0FBTyxHQUFHcGhDLFFBQVEsQ0FBQ2toQyxhQUFELENBQXhCO0FBQ0EsUUFBTUcsUUFBUSxHQUFJLENBQUVGLEtBQUssR0FBRyxFQUFULEdBQWVDLE9BQWhCLElBQTJCLEVBQTNCLEdBQWdDLElBQWpDLElBQTBDTCxRQUFRLEtBQUssR0FBYixHQUFtQixDQUFDLENBQXBCLEdBQXdCLENBQWxFLENBQWpCO0FBQ0FQLEVBQUFBLFdBQVcsQ0FBQ0csb0JBQUQsQ0FBWCxHQUFvQ1UsUUFBcEM7QUFDQSxTQUFPQSxRQUFQO0FBQ0QsQ0FyQk07QUF1QlEsTUFBTUMsY0FBTixDQUFxQjtBQUNsQixTQUFUQyxTQUFTLENBQUN6dUMsSUFBRCxFQUFpQjB1QyxPQUFPLEdBQUcsQ0FBQyxTQUFELEVBQVksT0FBWixDQUEzQixFQUEyRDtBQUN6RSxVQUFNM0IsR0FBYSxHQUFHLEVBQXRCLENBRHlFLENBR3pFO0FBQ0E7O0FBQ0EsU0FBSyxNQUFNNUQsQ0FBWCxJQUFnQm5wQyxJQUFoQixFQUFzQjtBQUNwQixVQUFJMHVDLE9BQU8sQ0FBQ250QyxRQUFSLENBQWlCNG5DLENBQWpCLENBQUosRUFDRTs7QUFFRixVQUFJLE9BQU9ucEMsSUFBSSxDQUFDbXBDLENBQUQsQ0FBWCxLQUFtQixRQUF2QixFQUFpQztBQUMvQjtBQUNBO0FBQ0E0RCxRQUFBQSxHQUFHLENBQUM1RCxDQUFELENBQUgsR0FBU3FGLGNBQWMsQ0FBQ0csVUFBZixDQUEwQjN1QyxJQUFJLENBQUNtcEMsQ0FBRCxDQUE5QixDQUFUO0FBQ0E7QUFDRCxPQVRtQixDQVdwQjtBQUNBOzs7QUFDQTRELE1BQUFBLEdBQUcsQ0FBQzVELENBQUQsQ0FBSCxHQUFTbnBDLElBQUksQ0FBQ21wQyxDQUFELENBQWI7QUFDRDs7QUFDRCxXQUFPNEQsR0FBUDtBQUNEOztBQUVnQixTQUFWNEIsVUFBVSxDQUFDM3VDLElBQUQsRUFBMkI7QUFDMUMsUUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO0FBQzVCLFVBQUk4WixLQUFLLENBQUNDLE9BQU4sQ0FBYy9aLElBQWQsQ0FBSixFQUF5QjtBQUN2QixjQUFNK3NDLEdBQUcsR0FBRyxFQUFaOztBQUNBLGFBQUssSUFBSTVELENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUducEMsSUFBSSxDQUFDb04sTUFBekIsRUFBaUMsRUFBRSs3QixDQUFuQyxFQUFzQztBQUNwQztBQUNBO0FBQ0E0RCxVQUFBQSxHQUFHLENBQUM1RCxDQUFELENBQUgsR0FBU3FGLGNBQWMsQ0FBQ0csVUFBZixDQUEwQjN1QyxJQUFJLENBQUNtcEMsQ0FBRCxDQUE5QixDQUFUO0FBQ0Q7O0FBRUQsZUFBTzRELEdBQVA7QUFDRDs7QUFFRCxVQUFJL3NDLElBQUksS0FBSyxJQUFiLEVBQ0UsT0FBTyxJQUFQO0FBRUYsVUFBSUEsSUFBSSxZQUFZd2IsTUFBcEIsRUFDRSxPQUFPLElBQUlBLE1BQUosQ0FBV3hiLElBQVgsQ0FBUDtBQUVGLFlBQU0rc0MsR0FBYSxHQUFHLEVBQXRCOztBQUNBLFdBQUssTUFBTTVELENBQVgsSUFBZ0JucEMsSUFBaEIsRUFBc0I7QUFDcEI7QUFDQTtBQUNBK3NDLFFBQUFBLEdBQUcsQ0FBQzVELENBQUQsQ0FBSCxHQUFTcUYsY0FBYyxDQUFDRyxVQUFmLENBQTBCM3VDLElBQUksQ0FBQ21wQyxDQUFELENBQTlCLENBQVQ7QUFDRDs7QUFFRCxhQUFPNEQsR0FBUDtBQUNEOztBQUNELFdBQU8vc0MsSUFBUDtBQUNEOztBQUVrQixTQUFaNHVDLFlBQVksQ0FBQ3pVLElBQUQsRUFBZTBVLGFBQWEsR0FBRyxJQUEvQixFQUE2QztBQUM5RCxVQUFNQyxRQUFRLEdBQUczVSxJQUFJLEdBQUcsQ0FBUCxHQUFXLEdBQVgsR0FBaUIsRUFBbEM7QUFDQUEsSUFBQUEsSUFBSSxHQUFHN1YsSUFBSSxDQUFDeXFCLEdBQUwsQ0FBUzVVLElBQVQsQ0FBUDtBQUNBLFVBQU02VSxTQUFTLEdBQUc3VSxJQUFJLEdBQUcsSUFBekI7QUFDQSxVQUFNOFUsT0FBTyxHQUFHLENBQUU5VSxJQUFJLElBQUksS0FBSyxJQUFULENBQUwsR0FBdUI2VSxTQUF4QixJQUFxQyxJQUFyRCxDQUo4RCxDQUs5RDs7QUFDQSxVQUFNRSxNQUFNLEdBQUksS0FBSUYsU0FBVSxFQUFmLENBQWlCOWxCLE1BQWpCLENBQXdCLENBQUMsQ0FBekIsQ0FBZjtBQUNBLFVBQU1pbUIsSUFBSSxHQUFJLElBQUdGLE9BQVEsRUFBWixDQUFjL2xCLE1BQWQsQ0FBcUIsQ0FBQyxDQUF0QixDQUFiO0FBQ0EsVUFBTWttQixJQUFJLEdBQUksSUFBRyxDQUFFLENBQUVqVixJQUFJLElBQUksS0FBSyxFQUFMLEdBQVUsSUFBZCxDQUFMLEdBQTRCNlUsU0FBN0IsSUFBMEMsSUFBM0MsR0FBbURDLE9BQXBELElBQStELEVBQUcsRUFBdEUsQ0FBd0UvbEIsTUFBeEUsQ0FBK0UsQ0FBQyxDQUFoRixDQUFiO0FBQ0EsV0FBTzRsQixRQUFRLEdBQUdNLElBQVgsR0FBa0IsR0FBbEIsR0FBd0JELElBQXhCLElBQWdDTixhQUFhLEdBQUcsTUFBTUssTUFBVCxHQUFrQixFQUEvRCxDQUFQO0FBQ0Q7O0FBRXNCLFNBQWhCRyxnQkFBZ0IsQ0FBQ2xWLElBQUQsRUFBZW1WLGNBQWYsRUFBK0M7QUFDcEUsV0FBTyxLQUFLQyxzQkFBTCxDQUE0QixJQUFJdGdCLElBQUosQ0FBU2tMLElBQVQsQ0FBNUIsRUFBNENtVixjQUE1QyxDQUFQO0FBQ0Q7O0FBRTRCLFNBQXRCQyxzQkFBc0IsQ0FBQ0MsSUFBRCxFQUFhRixjQUFiLEVBQTZDO0FBQ3hFLFVBQU1HLFFBQVEsR0FBRyxJQUFJeGdCLElBQUosQ0FBU3VnQixJQUFJLENBQUNFLE9BQUwsS0FBaUJKLGNBQTFCLENBQWpCO0FBQ0EsVUFBTUssSUFBSSxHQUFHRixRQUFRLENBQUNHLGNBQVQsRUFBYjtBQUNBLFVBQU1DLEtBQUssR0FBR3JCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUIsQ0FBQ0wsUUFBUSxDQUFDTSxXQUFULEtBQXlCLENBQTFCLEVBQTZCMWhDLFFBQTdCLEVBQXZCLENBQWQ7QUFDQSxVQUFNMmhDLEdBQUcsR0FBR3hCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUJMLFFBQVEsQ0FBQ1EsVUFBVCxHQUFzQjVoQyxRQUF0QixFQUF2QixDQUFaO0FBQ0EsV0FBUSxHQUFFc2hDLElBQUssSUFBR0UsS0FBTSxJQUFHRyxHQUFJLEVBQS9CO0FBQ0Q7O0FBRXNCLFNBQWhCRSxnQkFBZ0IsQ0FBQy9WLElBQUQsRUFBZW1WLGNBQWYsRUFBdUNULGFBQWEsR0FBRyxLQUF2RCxFQUFzRTtBQUMzRixXQUFPLEtBQUtzQixzQkFBTCxDQUE0QixJQUFJbGhCLElBQUosQ0FBU2tMLElBQVQsQ0FBNUIsRUFBNENtVixjQUE1QyxFQUE0RFQsYUFBNUQsQ0FBUDtBQUNEOztBQUU0QixTQUF0QnNCLHNCQUFzQixDQUFDWCxJQUFELEVBQWFGLGNBQWIsRUFBcUNULGFBQWEsR0FBRyxLQUFyRCxFQUFvRTtBQUMvRixVQUFNWSxRQUFRLEdBQUcsSUFBSXhnQixJQUFKLENBQVN1Z0IsSUFBSSxDQUFDRSxPQUFMLEtBQWlCSixjQUExQixDQUFqQjtBQUNBLFVBQU1jLElBQUksR0FBRzVCLGNBQWMsQ0FBQ3NCLE9BQWYsQ0FBdUJMLFFBQVEsQ0FBQ1ksV0FBVCxHQUF1QmhpQyxRQUF2QixFQUF2QixDQUFiO0FBQ0EsVUFBTWlpQyxNQUFNLEdBQUc5QixjQUFjLENBQUNzQixPQUFmLENBQXVCTCxRQUFRLENBQUNjLGFBQVQsR0FBeUJsaUMsUUFBekIsRUFBdkIsQ0FBZjtBQUNBLFVBQU1taUMsTUFBTSxHQUFHaEMsY0FBYyxDQUFDc0IsT0FBZixDQUF1QkwsUUFBUSxDQUFDZ0IsYUFBVCxHQUF5QnBpQyxRQUF6QixFQUF2QixDQUFmO0FBQ0EsUUFBSTArQixHQUFHLEdBQUksR0FBRXFELElBQUssSUFBR0UsTUFBTyxJQUFHRSxNQUFPLEVBQXRDO0FBQ0EsUUFBSTNCLGFBQUosRUFDRTlCLEdBQUcsR0FBR0EsR0FBRyxHQUFJLElBQUd5QixjQUFjLENBQUNzQixPQUFmLENBQXVCTCxRQUFRLENBQUNpQixrQkFBVCxHQUE4QnJpQyxRQUE5QixFQUF2QixFQUFpRSxDQUFqRSxDQUFvRSxFQUFwRjtBQUVGLFdBQU8wK0IsR0FBUDtBQUNEOztBQUVrQixTQUFaNEQsWUFBWSxDQUFDQyxFQUFELEVBQXFCO0FBQ3RDLFVBQU1DLEdBQUcsR0FBR3JDLGNBQWMsQ0FBQ0ksWUFBZixDQUE0QmdDLEVBQTVCLEVBQWdDLEtBQWhDLENBQVo7QUFDQSxXQUFPQyxHQUFHLENBQUN0MEIsT0FBSixDQUFZLEdBQVosRUFBaUIsR0FBakIsSUFBd0IsR0FBL0I7QUFDRDs7QUFFc0IsU0FBaEJ1MEIsZ0JBQWdCLENBQUMzVyxJQUFELEVBQWVtVixjQUFmLEVBQXVDVCxhQUFhLEdBQUcsS0FBdkQsRUFBc0U7QUFDM0YsVUFBTVcsSUFBSSxHQUFHLElBQUl2Z0IsSUFBSixDQUFTa0wsSUFBVCxDQUFiO0FBQ0EsVUFBTTRXLFVBQVUsR0FBRyxLQUFLeEIsc0JBQUwsQ0FBNEJDLElBQTVCLEVBQWtDRixjQUFsQyxDQUFuQjtBQUNBLFVBQU0xQixVQUFVLEdBQUcsS0FBS3VDLHNCQUFMLENBQTRCWCxJQUE1QixFQUFrQ0YsY0FBbEMsRUFBa0RULGFBQWxELENBQW5CO0FBQ0EsV0FBT2tDLFVBQVUsR0FBRyxHQUFiLEdBQW1CbkQsVUFBMUI7QUFDRDs7QUFFYSxTQUFQa0MsT0FBTyxDQUFDaGlDLEdBQUQsRUFBY2tqQyxHQUFHLEdBQUcsQ0FBcEIsRUFBK0I7QUFDM0MsV0FBTyxDQUFDLEtBQUtsakMsR0FBTixFQUFXbWpDLFFBQVgsQ0FBb0JELEdBQXBCLEVBQXlCLEdBQXpCLENBQVA7QUFDRDs7QUFFZ0IsU0FBVkUsVUFBVSxDQUFDcGpDLEdBQUQsRUFBc0I7QUFDckMsV0FBT0EsR0FBRyxDQUFDeU8sT0FBSixDQUFZLHFCQUFaLEVBQW9DNDBCLEdBQUQsSUFBUztBQUNqRCxhQUFPQSxHQUFHLENBQUN6TCxNQUFKLENBQVcsQ0FBWCxFQUFjNXFCLFdBQWQsS0FBOEJxMkIsR0FBRyxDQUFDam9CLE1BQUosQ0FBVyxDQUFYLEVBQWMzRCxXQUFkLEVBQXJDO0FBQ0QsS0FGTSxDQUFQO0FBR0Q7O0FBRWtCLFNBQVo2ckIsWUFBWSxDQUFDdGpDLEdBQUQsRUFBY2tqQyxHQUFkLEVBQW1DO0FBQ3BELFdBQU9sakMsR0FBRyxDQUFDbWpDLFFBQUosQ0FBYUQsR0FBYixFQUFrQixHQUFsQixDQUFQO0FBQ0Q7O0FBRW1CLFNBQWJLLGFBQWEsQ0FDbEJwdkMsSUFEa0IsRUFFbEIyMkIsT0FGa0IsRUFHa0M7QUFDcEQsUUFBSUEsT0FBTyxZQUFZcGQsTUFBdkIsRUFDRSxPQUFPb2QsT0FBTyxDQUFDanFCLElBQVIsQ0FBYTFNLElBQWIsQ0FBUDs7QUFFRixTQUFLLE1BQU1xdkMsT0FBWCxJQUFzQjFZLE9BQXRCLEVBQStCO0FBQzdCLFlBQU12M0IsSUFBSSxHQUFHaXdDLE9BQWI7QUFDQSxZQUFNaGlCLEdBQUcsR0FBR3NKLE9BQU8sQ0FBQ3YzQixJQUFELENBQVAsQ0FBY3NOLElBQWQsQ0FBbUIxTSxJQUFuQixDQUFaOztBQUNBLFVBQUlxdEIsR0FBSixFQUFTO0FBQ1AsWUFBSUEsR0FBRyxDQUFDaWlCLE1BQVIsRUFDRWppQixHQUFHLENBQUNpaUIsTUFBSixDQUFXN3FCLFFBQVgsR0FBc0JybEIsSUFBdEI7QUFDRixlQUFPaXVCLEdBQVA7QUFDRDtBQUNGOztBQUNELFdBQU8sSUFBUDtBQUNEOztBQUVnQixTQUFWa2lCLFVBQVUsQ0FBQ3Z2QyxJQUFELEVBQTJDO0FBQzFELFFBQUlxdEIsR0FBSixDQUQwRCxDQUUxRDtBQUNBOztBQUNBQSxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ2lELGdCQUFsRCxDQUFOOztBQUNBLFFBQUluaUIsR0FBSixFQUFTO0FBQUE7O0FBQ1AsYUFBTztBQUNMb2lCLFFBQUFBLE9BQU8sRUFBRSxDQUFDeGtDLFFBQVEsb0NBQUNvaUIsR0FBRyxDQUFDaWlCLE1BQUwsZ0RBQUMsWUFBWXBYLElBQWIsK0RBQXFCLEdBQXJCLENBQVIsR0FBb0MsSUFBckMsRUFBMkM5ckIsUUFBM0MsRUFESjtBQUVMc2pDLFFBQUFBLFNBQVMsRUFBRSxXQUZOO0FBR0xqckIsUUFBQUEsUUFBUSwwQ0FBRTRJLEdBQUcsQ0FBQ2lpQixNQUFOLGlEQUFFLGFBQVk3cUIsUUFBZCx1RUFBMEJwTztBQUg3QixPQUFQO0FBS0Q7O0FBQ0RnWCxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ29ELFdBQWxELENBQU47O0FBQ0EsUUFBSXRpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0xvaUIsUUFBQUEsT0FBTyxFQUFFLEdBREo7QUFFTEMsUUFBQUEsU0FBUyxFQUFFLE1BRk47QUFHTGpyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBSDdCLE9BQVA7QUFLRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDcUQsYUFBbEQsQ0FBTjs7QUFDQSxRQUFJdmlCLEdBQUosRUFBUztBQUFBOztBQUNQLGFBQU87QUFDTG9pQixRQUFBQSxPQUFPLEVBQUUsR0FESjtBQUVMQyxRQUFBQSxTQUFTLEVBQUUsUUFGTjtBQUdManJCLFFBQUFBLFFBQVEsMkNBQUU0SSxHQUFHLENBQUNpaUIsTUFBTixpREFBRSxhQUFZN3FCLFFBQWQseUVBQTBCcE87QUFIN0IsT0FBUDtBQUtEO0FBQ0Y7O0FBRWMsU0FBUnc1QixRQUFRLENBQUM3dkMsSUFBRCxFQUF5QztBQUN0RCxRQUFJcXRCLEdBQUosQ0FEc0QsQ0FFdEQ7QUFDQTs7QUFDQUEsSUFBQUEsR0FBRyxHQUFHa2YsY0FBYyxDQUFDNkMsYUFBZixDQUE2QnB2QyxJQUE3QixFQUFtQ3VzQyxjQUFjLENBQUN1RCxRQUFsRCxDQUFOOztBQUNBLFFBQUl6aUIsR0FBSixFQUFTO0FBQUE7O0FBQ1AsYUFBTztBQUNMMGlCLFFBQUFBLE9BQU8sRUFBRSxLQURKO0FBRUx0ckIsUUFBQUEsUUFBUSwyQ0FBRTRJLEdBQUcsQ0FBQ2lpQixNQUFOLGlEQUFFLGFBQVk3cUIsUUFBZCx5RUFBMEJwTztBQUY3QixPQUFQO0FBSUQ7O0FBQ0RnWCxJQUFBQSxHQUFHLEdBQUdrZixjQUFjLENBQUM2QyxhQUFmLENBQTZCcHZDLElBQTdCLEVBQW1DdXNDLGNBQWMsQ0FBQ3lELFNBQWxELENBQU47O0FBQ0EsUUFBSTNpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0wwaUIsUUFBQUEsT0FBTyxFQUFFLE1BREo7QUFFTHRyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBRjdCLE9BQVA7QUFJRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDMEQsZ0JBQWxELENBQU47O0FBQ0EsUUFBSTVpQixHQUFKLEVBQVM7QUFBQTs7QUFDUCxhQUFPO0FBQ0wwaUIsUUFBQUEsT0FBTyxFQUFFLGNBREo7QUFFTHRyQixRQUFBQSxRQUFRLDJDQUFFNEksR0FBRyxDQUFDaWlCLE1BQU4saURBQUUsYUFBWTdxQixRQUFkLHlFQUEwQnBPO0FBRjdCLE9BQVA7QUFJRDs7QUFDRGdYLElBQUFBLEdBQUcsR0FBR2tmLGNBQWMsQ0FBQzZDLGFBQWYsQ0FBNkJwdkMsSUFBN0IsRUFBbUN1c0MsY0FBYyxDQUFDMkQsYUFBbEQsQ0FBTjs7QUFDQSxRQUFJN2lCLEdBQUosRUFBUztBQUFBOztBQUNQLGFBQU87QUFDTDBpQixRQUFBQSxPQUFPLEVBQUUsUUFESjtBQUVMdHJCLFFBQUFBLFFBQVEsMkNBQUU0SSxHQUFHLENBQUNpaUIsTUFBTixpREFBRSxhQUFZN3FCLFFBQWQseUVBQTBCcE87QUFGN0IsT0FBUDtBQUlEO0FBQ0Y7O0FBMU1pQzs7OEJBQWZrMkIsK0JBNE1FN0I7OzhCQTVNRjZCLGlDQTZNSTdCOzs4QkE3TUo2QixvQ0E4TU83Qjs7OEJBOU1QNkIsaUNBK01JN0I7OzhCQS9NSjZCLDZCQWdOQTVnQyw2Q0FBQSxDQUFxQjtBQUFFckUsRUFBQUEsT0FBTyxFQUFFO0FBQVgsQ0FBckI7OzhCQWhOQWlsQyw0QkFpTkQ1Z0MsNkNBQUEsQ0FBcUI7QUFBRXJFLEVBQUFBLE9BQU8sRUFBRTtBQUFYLENBQXJCOzs4QkFqTkNpbEMsb0NBa05PNWdDLG1DQUFBLENBQWdCO0FBQUUzTCxFQUFBQSxJQUFJLEVBQUU7QUFBUixDQUFoQjs7OztBQ3pTNUI7QUFFQTtBQUlBLE1BQU1ILE1BQU0sR0FBRztBQUNiaVcsRUFBQUEsS0FBSyxFQUFFLENBRE07QUFFYmhXLEVBQUFBLFNBQVMsRUFBRTtBQUZFLENBQWY7QUFLQSxNQUFNcXdDLHVCQUF1QixHQUFHLFNBQWhDO0FBRUEsTUFBTUMsZ0JBQTRDLEdBQUcsRUFBckQ7QUFDQSxNQUFNQyxjQUFnQyxHQUFHN3dDLDBCQUF6Qzs7QUFDQSxLQUFLLE1BQU04d0MsR0FBWCxJQUFrQnptQyxNQUFNLENBQUMyM0IsTUFBUCxDQUFjNk8sY0FBZCxDQUFsQixFQUNFRCxnQkFBZ0IsQ0FBQ0UsR0FBRyxDQUFDNXdDLElBQUwsQ0FBaEIsR0FBNkI0d0MsR0FBRyxDQUFDMXdDLFdBQWpDO0FBRUY7QUFDQTtBQUNBOzs7QUFDZSxNQUFNMndDLFNBQU4sQ0FBZ0I7QUFZN0JyaUMsRUFBQUEsV0FBVyxDQUFDc2lDLElBQUQsRUFBNkJDLFdBQTdCLEVBQWtEdFMsS0FBbEQsRUFBbUU7QUFBQTs7QUFBQSw2Q0FYOUQsQ0FXOEQ7O0FBQUEsOENBVDdELEtBUzZEOztBQUFBLDRDQVIvRCxDQVErRDs7QUFBQSxTQUF0Q3NTLFdBQXNDLEdBQXRDQSxXQUFzQztBQUM1RSxVQUFNQyxlQUFlLDRCQUFHdlMsS0FBSyxDQUFDdCtCLE1BQU0sQ0FBQ0MsU0FBUixDQUFSLHlFQUE4QixHQUFuRDtBQUNBLFNBQUt1dEMsY0FBTCxHQUFzQjNCLHVCQUF1QixDQUFDZ0YsZUFBRCxDQUE3QztBQUNBLFNBQUtDLFdBQUwsMEJBQW1CeFMsS0FBSyxDQUFDdCtCLE1BQU0sQ0FBQ2lXLEtBQVIsQ0FBeEIscUVBQTBDLElBQTFDO0FBQ0EsU0FBSzg2QixRQUFMLEdBQWdCM2xDLFFBQVEsQ0FBQyxLQUFLMGxDLFdBQU4sQ0FBeEI7QUFDQSxTQUFLRSxRQUFMLEdBQWdCdEUsc0JBQUEsQ0FBdUIsS0FBS3FFLFFBQUwsQ0FBY3hrQyxRQUFkLENBQXVCLEVBQXZCLEVBQTJCeU0sV0FBM0IsRUFBdkIsQ0FBaEI7QUFDQSxTQUFLL1ksU0FBTCxHQUFpQixJQUFJa3RCLElBQUosQ0FBUzBqQixlQUFULEVBQTBCakQsT0FBMUIsRUFBakI7QUFDQSxTQUFLcUQsUUFBTCxvQkFBZ0IzUyxLQUFLLENBQUN2bEIsS0FBTixDQUFZLENBQUMsQ0FBYixFQUFnQixDQUFoQixDQUFoQix5REFBc0MsRUFBdEM7QUFDQTQzQixJQUFBQSxJQUFJLENBQUNPLGVBQUwsQ0FBcUIsS0FBS2p4QyxTQUExQjtBQUNBLFNBQUtreEMsYUFBTCxHQUFxQixLQUFLdDRCLE1BQUwsS0FBaUJ5bEIsS0FBSyxDQUFDdmxCLEtBQU4sQ0FBWSxDQUFaLEVBQWUsQ0FBQyxDQUFoQixFQUFtQlksSUFBbkIsQ0FBd0IsR0FBeEIsQ0FBRCxDQUErQmMsT0FBL0IsQ0FBdUMsR0FBdkMsRUFBNEMsR0FBNUMsQ0FBckM7QUFDRDs7QUFFRDVCLEVBQUFBLE1BQU0sR0FBVztBQUFBOztBQUNmLFVBQU1pekIsVUFBVSxHQUFHWSwrQkFBQSxDQUFnQyxLQUFLenNDLFNBQXJDLEVBQWdELEtBQUt1dEMsY0FBckQsRUFBcUUsSUFBckUsQ0FBbkI7QUFDQSxVQUFNNEQsY0FBYyw0QkFBR2IsZ0JBQWdCLENBQUMsS0FBS08sV0FBTixDQUFuQix5RUFBeUNSLHVCQUE3RDtBQUNBLFdBQVEsSUFBR3hFLFVBQVcsS0FBSXNGLGNBQWUsSUFBRyxLQUFLSixRQUFTLEdBQTFEO0FBQ0Q7O0FBRXNCLFNBQWhCSyxnQkFBZ0IsQ0FBQ3JzQyxNQUFELEVBQTBCO0FBQy9DLFdBQU8sQ0FBQ29HLFFBQVEsQ0FBQ3BHLE1BQUQsRUFBUyxFQUFULENBQVIsR0FBdUJvRyxRQUFRLENBQUMsTUFBRCxFQUFTLEVBQVQsQ0FBaEMsSUFBZ0QsQ0FBdkQ7QUFDRDs7QUFFaUIsU0FBWGttQyxXQUFXLENBQUN0c0MsTUFBRCxFQUEwQjtBQUMxQyxXQUFPLENBQUNvRyxRQUFRLENBQUNwRyxNQUFELEVBQVMsRUFBVCxDQUFSLEdBQXVCb0csUUFBUSxDQUFDLE1BQUQsRUFBUyxFQUFULENBQWhDLElBQWdELENBQXZEO0FBQ0Q7O0FBRXFCLFNBQWZtbUMsZUFBZSxDQUFDdnNDLE1BQUQsRUFBeUI7QUFDN0MsUUFBSTByQyxTQUFTLENBQUNXLGdCQUFWLENBQTJCcnNDLE1BQTNCLENBQUosRUFDRSxPQUFPLENBQVA7QUFFRkEsSUFBQUEsTUFBTSxHQUFHMG5DLHNCQUFBLENBQXVCMW5DLE1BQXZCLEVBQStCLENBQS9CLENBQVQ7QUFDQSxVQUFNczVCLEtBQUssR0FBRyxDQUNadDVCLE1BQU0sQ0FBQ29pQixNQUFQLENBQWMsQ0FBZCxFQUFpQixDQUFqQixDQURZLEVBRVpwaUIsTUFBTSxDQUFDb2lCLE1BQVAsQ0FBYyxDQUFkLEVBQWlCLENBQWpCLENBRlksRUFHWnBpQixNQUFNLENBQUNvaUIsTUFBUCxDQUFjLENBQWQsRUFBaUIsQ0FBakIsQ0FIWSxFQUlacGlCLE1BQU0sQ0FBQ29pQixNQUFQLENBQWMsQ0FBZCxFQUFpQixDQUFqQixDQUpZLENBQWQ7QUFPQSxRQUFJLENBQUNzcEIsU0FBUyxDQUFDWSxXQUFWLENBQXNCdHNDLE1BQXRCLENBQUwsRUFDRSxPQUFPb0csUUFBUSxDQUFDa3pCLEtBQUssQ0FBQ3ZsQixLQUFOLENBQVksQ0FBWixFQUFlLENBQWYsRUFBa0J5NEIsT0FBbEIsR0FBNEI3M0IsSUFBNUIsQ0FBaUMsRUFBakMsQ0FBRCxFQUF1QyxFQUF2QyxDQUFmO0FBRUYsV0FBT3ZPLFFBQVEsQ0FDWmt6QixLQUFLLENBQUMsQ0FBRCxDQUFMLEdBQVdBLEtBQUssQ0FBQyxDQUFELENBQWpCLEdBQ0UsQ0FBQ2x6QixRQUFRLENBQUNrekIsS0FBSyxDQUFDLENBQUQsQ0FBTixFQUFXLEVBQVgsQ0FBUixHQUF5Qmx6QixRQUFRLENBQUNrekIsS0FBSyxDQUFDLENBQUQsQ0FBTixFQUFXLEVBQVgsQ0FBbEMsRUFBa0QveEIsUUFBbEQsQ0FBMkQsRUFBM0QsQ0FGVyxFQUdiLEVBSGEsQ0FBZjtBQUtEOztBQTFENEIsRUE2RC9CO0FBQ0E7QUFDQTs7QUFnQk8sTUFBTWtsQyxpQkFBaUIsR0FBSXR4QyxJQUFELElBQThDO0FBQzdFLFNBQU8sY0FBY0EsSUFBckI7QUFDRCxDQUZNO0FBa0JBLE1BQU11eEMsaUJBQWlCLEdBQUl2eEMsSUFBRCxJQUE4QztBQUM3RSxTQUFPLGNBQWNBLElBQXJCO0FBQ0QsQ0FGTTtBQVdBLE1BQU13eEMsbUJBQW1CLEdBQUl4eEMsSUFBRCxJQUFnRDtBQUNqRixTQUFPLGdCQUFnQkEsSUFBdkI7QUFDRCxDQUZNO0FBVUEsTUFBTXl4QyxrQkFBa0IsR0FBSXp4QyxJQUFELElBQStDO0FBQy9FLFNBQU8sZUFBZUEsSUFBdEI7QUFDRCxDQUZNOzs7O0FDMUlQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFTZSxNQUFNMnhDLGdCQUFOLENBQXVCO0FBV3BDempDLEVBQUFBLFdBQVcsQ0FBQzBqQyxRQUFELEVBQXdCbnRCLFFBQXhCLEVBQXdDO0FBQUEsd0RBUFQsRUFPUzs7QUFBQSwwREFOMUIsRUFNMEI7O0FBQUEscURBTC9CLEVBSytCOztBQUFBLG9EQUpoQyxFQUlnQzs7QUFBQSxrREFIbEMsRUFHa0M7O0FBQUEsMkRBRFEsRUFDUjs7QUFDakQsU0FBS0EsUUFBTCxHQUFnQkEsUUFBaEI7QUFDQSxTQUFLb3RCLGNBQUwsR0FBc0J2YyxNQUFNLENBQUN3YyxnQkFBN0I7QUFDQSxTQUFLQyxhQUFMLEdBQXFCLENBQXJCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQkosUUFBaEIsRUFKaUQsQ0FLakQ7O0FBQ0EsU0FBS0ssYUFBTCxHQUFxQixFQUFyQjtBQUNEOztBQUVERCxFQUFBQSxVQUFVLENBQUNKLFFBQUQsRUFBOEI7QUFDdEM7QUFDQTtBQUNBLFNBQUssTUFBTTV4QyxJQUFYLElBQW1CNHhDLFFBQW5CLEVBQTZCO0FBQzNCLFdBQUtDLGNBQUwsR0FBc0J4dkIsSUFBSSxDQUFDNnZCLEdBQUwsQ0FBUyxLQUFLTCxjQUFkLEVBQThCN3hDLElBQUksQ0FBQ0YsU0FBbkMsQ0FBdEI7QUFDQSxXQUFLaXlDLGFBQUwsR0FBcUIxdkIsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBS3l2QixhQUFkLEVBQTZCL3hDLElBQUksQ0FBQ0YsU0FBbEMsQ0FBckI7QUFFQSxVQUFJd3hDLGlCQUFpQixDQUFDdHhDLElBQUQsQ0FBckIsRUFDRSxLQUFLbXlDLG9CQUFMLENBQTBCbnlDLElBQTFCO0FBRUYsVUFBSXV4QyxpQkFBaUIsQ0FBQ3Z4QyxJQUFELENBQXJCLEVBQ0UsS0FBS295QywwQkFBTCxDQUFnQ3B5QyxJQUFoQztBQUNILEtBWnFDLENBY3RDOzs7QUFDQSxTQUFLLE1BQU1JLEVBQVgsSUFBaUIsS0FBSzZ4QyxhQUF0QixFQUFxQztBQUFBOztBQUNuQyxZQUFNckwsS0FBSyw0QkFBRyxLQUFLcUwsYUFBTCxDQUFtQjd4QyxFQUFuQixDQUFILHlFQUE2QixFQUF4QztBQUNBLGtDQUFLaXlDLFVBQUwsQ0FBZ0JqeUMsRUFBaEIsNkVBQXFCdW1DLFNBQXJCLENBQ0UsS0FBS2tMLGNBRFAsRUFFRSxJQUFJMUosY0FBSixDQUNFN1MsTUFBTSxDQUFDc1IsS0FBSyxDQUFDd0IsSUFBUCxDQURSLEVBRUU5UyxNQUFNLENBQUNzUixLQUFLLENBQUN5QixJQUFQLENBRlIsRUFHRS9TLE1BQU0sQ0FBQ3NSLEtBQUssQ0FBQzBCLElBQVAsQ0FIUixFQUlFaFQsTUFBTSxDQUFDc1IsS0FBSyxDQUFDdGxDLE9BQVAsQ0FKUix1QkFLRXNsQyxLQUFLLENBQUMyQixVQUxSLGlFQUtzQixLQUx0QixFQU1FalQsTUFBTSxDQUFDc1IsS0FBSyxDQUFDNWxDLEVBQVAsQ0FOUixFQU9FczBCLE1BQU0sQ0FBQ3NSLEtBQUssQ0FBQ3RoQyxLQUFQLENBUFIsRUFRRWd3QixNQUFNLENBQUNzUixLQUFLLENBQUMxbEMsRUFBUCxDQVJSLEVBU0VvMEIsTUFBTSxDQUFDc1IsS0FBSyxDQUFDcmhDLEtBQVAsQ0FUUixDQUZGO0FBY0QsS0EvQnFDLENBaUN0Qzs7O0FBQ0EsVUFBTStzQyxZQUF1QyxHQUFHLEVBQWhEOztBQUNBLFNBQUssTUFBTXR5QyxJQUFYLElBQW1CNHhDLFFBQW5CLEVBQTZCO0FBQzNCLFVBQUlOLGlCQUFpQixDQUFDdHhDLElBQUQsQ0FBckIsRUFBNkI7QUFDM0IsY0FBTTRtQyxLQUFLLEdBQUcsS0FBSzJMLG9CQUFMLENBQTBCdnlDLElBQTFCLENBQWQ7O0FBQ0EsWUFBSTRtQyxLQUFKLEVBQVc7QUFBQTs7QUFDVDBMLFVBQUFBLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUNJLEVBQU4sQ0FBWiw0QkFBd0JreUMsWUFBWSxDQUFDdHlDLElBQUksQ0FBQ0ksRUFBTixDQUFwQyx5RUFBaUQsQ0FBakQ7QUFDQSxZQUFFa3lDLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUNJLEVBQU4sQ0FBZDtBQUNBLHdDQUFLaXlDLFVBQUwsQ0FBZ0JyeUMsSUFBSSxDQUFDSSxFQUFyQixpRkFBMEJnbkMsZ0JBQTFCLENBQTJDcG5DLElBQUksQ0FBQ0YsU0FBaEQsRUFBMkQ4bUMsS0FBM0Q7QUFDRDtBQUNGOztBQUNELFVBQUkySyxpQkFBaUIsQ0FBQ3Z4QyxJQUFELENBQXJCLEVBQTZCO0FBQzNCLGNBQU00bUMsS0FBSyxHQUFHLEtBQUs0TCwwQkFBTCxDQUFnQ3h5QyxJQUFoQyxDQUFkOztBQUNBLFlBQUk0bUMsS0FBSixFQUFXO0FBQUE7O0FBQ1QwTCxVQUFBQSxZQUFZLENBQUN0eUMsSUFBSSxDQUFDeUUsUUFBTixDQUFaLDRCQUE4QjZ0QyxZQUFZLENBQUN0eUMsSUFBSSxDQUFDeUUsUUFBTixDQUExQyx5RUFBNkQsQ0FBN0Q7QUFDQSxZQUFFNnRDLFlBQVksQ0FBQ3R5QyxJQUFJLENBQUN5RSxRQUFOLENBQWQ7QUFDQSx5Q0FBSzR0QyxVQUFMLENBQWdCcnlDLElBQUksQ0FBQ3lFLFFBQXJCLG1GQUFnQzJpQyxnQkFBaEMsQ0FBaURwbkMsSUFBSSxDQUFDRixTQUF0RCxFQUFpRThtQyxLQUFqRTtBQUNEO0FBQ0Y7QUFDRixLQXBEcUMsQ0FzRHRDOzs7QUFDQSxVQUFNNkwsUUFBUSxHQUFHZixTQUFjLENBQUMsS0FBS2p0QixRQUFOLENBQS9CO0FBQ0EsU0FBS2l1QixNQUFMLEdBQWMsS0FBS0EsTUFBTCxDQUFZbG5DLE1BQVosQ0FBb0JtbkMsRUFBRCxJQUFRO0FBQUE7O0FBQ3ZDLFVBQ0UsNkJBQUtOLFVBQUwsQ0FBZ0JNLEVBQWhCLDZFQUFxQnAwQyxHQUFyQixNQUE2QjhYLFNBQTdCLElBQ0EsOEJBQUtnOEIsVUFBTCxDQUFnQk0sRUFBaEIsK0VBQXFCcDBDLEdBQXJCLE1BQTZCLE1BRDdCLElBRUFvMEMsRUFBRSxDQUFDanZCLFVBQUgsQ0FBYyxHQUFkLENBSEYsRUFJRTtBQUNBLGFBQUtrdkIsWUFBTCxDQUFrQm5vQyxJQUFsQixDQUF1QmtvQyxFQUF2QjtBQUNBLGVBQU8sS0FBUDtBQUNELE9BUEQsTUFPTyxJQUFJRixRQUFRLENBQUNuekMsUUFBVCxrREFBa0IsS0FBSyt5QyxVQUFMLENBQWdCTSxFQUFoQixDQUFsQix5REFBa0IscUJBQXFCaHpDLElBQXZDLHlFQUErQyxFQUEvQyxDQUFKLEVBQXdEO0FBQzdELGFBQUtrekMsSUFBTCxDQUFVcG9DLElBQVYsQ0FBZWtvQyxFQUFmO0FBQ0EsZUFBTyxLQUFQO0FBQ0QsT0FITSxNQUdBLElBQUkscUJBQUNMLFlBQVksQ0FBQ0ssRUFBRCxDQUFiLCtEQUFxQixDQUFyQixJQUEwQixDQUE5QixFQUFpQztBQUN0QyxhQUFLRyxPQUFMLENBQWFyb0MsSUFBYixDQUFrQmtvQyxFQUFsQjtBQUNBLGVBQU8sS0FBUDtBQUNEOztBQUNELGFBQU8sSUFBUDtBQUNELEtBaEJhLENBQWQsQ0F4RHNDLENBMEV0Qzs7QUFDQSxTQUFLSSxlQUFMLEdBQXVCLEtBQUtELE9BQUwsQ0FBYWhvQyxJQUFiLENBQWtCLENBQUNrb0MsQ0FBRCxFQUFJMVosQ0FBSixLQUFVO0FBQUE7O0FBQ2pELGFBQU8sb0JBQUNnWixZQUFZLENBQUNoWixDQUFELENBQWIsNkRBQW9CLENBQXBCLHdCQUEwQmdaLFlBQVksQ0FBQ1UsQ0FBRCxDQUF0Qyw2REFBNkMsQ0FBN0MsQ0FBUDtBQUNELEtBRnNCLEVBRXBCLENBRm9CLENBQXZCO0FBR0Q7O0FBRURiLEVBQUFBLG9CQUFvQixDQUFDbnlDLElBQUQsRUFBOEI7QUFBQTs7QUFDaEQsVUFBTWl6QyxTQUFTLEdBQUcsS0FBS0MsYUFBTCxDQUFtQmx6QyxJQUFJLENBQUNJLEVBQXhCLEVBQTRCSixJQUFJLENBQUNMLElBQWpDLENBQWxCO0FBQ0EsVUFBTXd6QyxTQUFTLDRCQUFHLEtBQUtsQixhQUFMLENBQW1CanlDLElBQUksQ0FBQ0ksRUFBeEIsQ0FBSCx5RUFBa0MsRUFBakQ7QUFFQSxVQUFNZ3pDLGNBQWMsNEJBQUcsS0FBS2Isb0JBQUwsQ0FBMEJ2eUMsSUFBMUIsQ0FBSCx5RUFBc0MsRUFBMUQ7QUFFQW16QyxJQUFBQSxTQUFTLENBQUMvSyxJQUFWLHNCQUFpQitLLFNBQVMsQ0FBQy9LLElBQTNCLDZEQUFtQ2dMLGNBQWMsQ0FBQ2hMLElBQWxEO0FBQ0ErSyxJQUFBQSxTQUFTLENBQUM5SyxJQUFWLHNCQUFpQjhLLFNBQVMsQ0FBQzlLLElBQTNCLDZEQUFtQytLLGNBQWMsQ0FBQy9LLElBQWxEO0FBQ0E4SyxJQUFBQSxTQUFTLENBQUM3SyxJQUFWLHNCQUFpQjZLLFNBQVMsQ0FBQzdLLElBQTNCLDZEQUFtQzhLLGNBQWMsQ0FBQzlLLElBQWxEO0FBQ0E2SyxJQUFBQSxTQUFTLENBQUM3eEMsT0FBVix5QkFBb0I2eEMsU0FBUyxDQUFDN3hDLE9BQTlCLG1FQUF5Qzh4QyxjQUFjLENBQUM5eEMsT0FBeEQ7QUFDQTZ4QyxJQUFBQSxTQUFTLENBQUM1SyxVQUFWLDRCQUF1QjRLLFNBQVMsQ0FBQzVLLFVBQWpDLHlFQUErQzZLLGNBQWMsQ0FBQzdLLFVBQTlEO0FBQ0E0SyxJQUFBQSxTQUFTLENBQUNueUMsRUFBVixvQkFBZW15QyxTQUFTLENBQUNueUMsRUFBekIseURBQStCb3lDLGNBQWMsQ0FBQ3B5QyxFQUE5QztBQUNBbXlDLElBQUFBLFNBQVMsQ0FBQzd0QyxLQUFWLHVCQUFrQjZ0QyxTQUFTLENBQUM3dEMsS0FBNUIsK0RBQXFDOHRDLGNBQWMsQ0FBQzl0QyxLQUFwRDtBQUNBNnRDLElBQUFBLFNBQVMsQ0FBQ2p5QyxFQUFWLG9CQUFlaXlDLFNBQVMsQ0FBQ2p5QyxFQUF6Qix5REFBK0JreUMsY0FBYyxDQUFDbHlDLEVBQTlDO0FBQ0FpeUMsSUFBQUEsU0FBUyxDQUFDNXRDLEtBQVYsdUJBQWtCNHRDLFNBQVMsQ0FBQzV0QyxLQUE1QiwrREFBcUM2dEMsY0FBYyxDQUFDN3RDLEtBQXBEOztBQUVBLFFBQUlpc0MsbUJBQW1CLENBQUN4eEMsSUFBRCxDQUF2QixFQUErQjtBQUFBOztBQUM3Qml6QyxNQUFBQSxTQUFTLENBQUMxMEMsR0FBVix1REFBZ0IsS0FBSzh6QyxVQUFMLENBQWdCcnlDLElBQUksQ0FBQ0ksRUFBckIsQ0FBaEIsMkRBQWdCLHVCQUEwQjdCLEdBQTFDLDJFQUFpRHlCLElBQUksQ0FBQ3pCLEdBQXREO0FBQ0EwMEMsTUFBQUEsU0FBUyxDQUFDeHlDLEtBQVYsdURBQWtCLEtBQUs0eEMsVUFBTCxDQUFnQnJ5QyxJQUFJLENBQUNJLEVBQXJCLENBQWxCLDJEQUFrQix1QkFBMEJLLEtBQTVDLDJFQUFxRFQsSUFBSSxDQUFDUyxLQUExRDtBQUNEOztBQUVELFFBQUlneEMsa0JBQWtCLENBQUN6eEMsSUFBRCxDQUF0QixFQUE4QjtBQUM1QixVQUFJLENBQUNpekMsU0FBUyxDQUFDMTBDLEdBQVgsSUFBa0IsQ0FBQ3lCLElBQUksQ0FBQ0ksRUFBTCxDQUFRc2pCLFVBQVIsQ0FBbUIsR0FBbkIsQ0FBbkIsSUFBOEMxakIsSUFBSSxDQUFDaW9DLFNBQUwsS0FBbUI1eEIsU0FBckUsRUFDRTQ4QixTQUFTLENBQUMxMEMsR0FBVixHQUFnQndwQyx5QkFBQSxDQUEwQi9uQyxJQUFJLENBQUNpb0MsU0FBL0IsQ0FBaEI7QUFDSDtBQUNGOztBQUVEbUssRUFBQUEsMEJBQTBCLENBQUNweUMsSUFBRCxFQUE4QjtBQUFBOztBQUN0RCxTQUFLa3pDLGFBQUwsQ0FBbUJsekMsSUFBSSxDQUFDeUUsUUFBeEIsRUFBa0N6RSxJQUFJLENBQUMyRyxVQUF2QztBQUNBLFVBQU13c0MsU0FBUyw2QkFBRyxLQUFLbEIsYUFBTCxDQUFtQmp5QyxJQUFJLENBQUN5RSxRQUF4QixDQUFILDJFQUF3QyxFQUF2RDtBQUVBLFVBQU0ydUMsY0FBYyw2QkFBRyxLQUFLWiwwQkFBTCxDQUFnQ3h5QyxJQUFoQyxDQUFILDJFQUE0QyxFQUFoRTtBQUVBbXpDLElBQUFBLFNBQVMsQ0FBQy9LLElBQVYsdUJBQWlCK0ssU0FBUyxDQUFDL0ssSUFBM0IsK0RBQW1DZ0wsY0FBYyxDQUFDaEwsSUFBbEQ7QUFDQStLLElBQUFBLFNBQVMsQ0FBQzlLLElBQVYsdUJBQWlCOEssU0FBUyxDQUFDOUssSUFBM0IsK0RBQW1DK0ssY0FBYyxDQUFDL0ssSUFBbEQ7QUFDQThLLElBQUFBLFNBQVMsQ0FBQzdLLElBQVYsdUJBQWlCNkssU0FBUyxDQUFDN0ssSUFBM0IsK0RBQW1DOEssY0FBYyxDQUFDOUssSUFBbEQ7QUFDQTZLLElBQUFBLFNBQVMsQ0FBQzd4QyxPQUFWLDBCQUFvQjZ4QyxTQUFTLENBQUM3eEMsT0FBOUIscUVBQXlDOHhDLGNBQWMsQ0FBQzl4QyxPQUF4RDtBQUNBNnhDLElBQUFBLFNBQVMsQ0FBQ255QyxFQUFWLHFCQUFlbXlDLFNBQVMsQ0FBQ255QyxFQUF6QiwyREFBK0JveUMsY0FBYyxDQUFDcHlDLEVBQTlDO0FBQ0FteUMsSUFBQUEsU0FBUyxDQUFDN3RDLEtBQVYsd0JBQWtCNnRDLFNBQVMsQ0FBQzd0QyxLQUE1QixpRUFBcUM4dEMsY0FBYyxDQUFDOXRDLEtBQXBEO0FBQ0E2dEMsSUFBQUEsU0FBUyxDQUFDanlDLEVBQVYscUJBQWVpeUMsU0FBUyxDQUFDanlDLEVBQXpCLDJEQUErQmt5QyxjQUFjLENBQUNseUMsRUFBOUM7QUFDQWl5QyxJQUFBQSxTQUFTLENBQUM1dEMsS0FBVix3QkFBa0I0dEMsU0FBUyxDQUFDNXRDLEtBQTVCLGlFQUFxQzZ0QyxjQUFjLENBQUM3dEMsS0FBcEQ7QUFDRDs7QUFFRGd0QyxFQUFBQSxvQkFBb0IsQ0FBQ3Z5QyxJQUFELEVBQWlEO0FBQ25FLFVBQU00bUMsS0FBOEIsR0FBRyxFQUF2QztBQUVBLFFBQUk1bUMsSUFBSSxDQUFDbUIsQ0FBTCxLQUFXa1YsU0FBZixFQUNFdXdCLEtBQUssQ0FBQ3dCLElBQU4sR0FBYXBvQyxJQUFJLENBQUNtQixDQUFsQjtBQUNGLFFBQUluQixJQUFJLENBQUNvQixDQUFMLEtBQVdpVixTQUFmLEVBQ0V1d0IsS0FBSyxDQUFDeUIsSUFBTixHQUFhcm9DLElBQUksQ0FBQ29CLENBQWxCO0FBQ0YsUUFBSXBCLElBQUksQ0FBQ3FCLENBQUwsS0FBV2dWLFNBQWYsRUFDRXV3QixLQUFLLENBQUMwQixJQUFOLEdBQWF0b0MsSUFBSSxDQUFDcUIsQ0FBbEI7QUFDRixRQUFJckIsSUFBSSxDQUFDc0IsT0FBTCxLQUFpQitVLFNBQXJCLEVBQ0V1d0IsS0FBSyxDQUFDdGxDLE9BQU4sR0FBZ0J0QixJQUFJLENBQUNzQixPQUFyQjtBQUNGLFFBQUl0QixJQUFJLENBQUN1b0MsVUFBTCxLQUFvQmx5QixTQUF4QixFQUNFdXdCLEtBQUssQ0FBQzJCLFVBQU4sR0FBbUJ2b0MsSUFBSSxDQUFDdW9DLFVBQXhCO0FBQ0YsUUFBSXZvQyxJQUFJLENBQUNnQixFQUFMLEtBQVlxVixTQUFoQixFQUNFdXdCLEtBQUssQ0FBQzVsQyxFQUFOLEdBQVdoQixJQUFJLENBQUNnQixFQUFoQjtBQUNGLFFBQUloQixJQUFJLENBQUNzRixLQUFMLEtBQWUrUSxTQUFuQixFQUNFdXdCLEtBQUssQ0FBQ3RoQyxLQUFOLEdBQWN0RixJQUFJLENBQUNzRixLQUFuQjtBQUNGLFFBQUl0RixJQUFJLENBQUNrQixFQUFMLEtBQVltVixTQUFoQixFQUNFdXdCLEtBQUssQ0FBQzFsQyxFQUFOLEdBQVdsQixJQUFJLENBQUNrQixFQUFoQjtBQUNGLFFBQUlsQixJQUFJLENBQUN1RixLQUFMLEtBQWU4USxTQUFuQixFQUNFdXdCLEtBQUssQ0FBQ3JoQyxLQUFOLEdBQWN2RixJQUFJLENBQUN1RixLQUFuQjtBQUVGLFFBQUl2RixJQUFJLENBQUM0d0MsUUFBTCxLQUFrQixDQUF0QixFQUNFaEssS0FBSyxDQUFDMkIsVUFBTixHQUFtQixLQUFuQjtBQUVGLFdBQU8zQixLQUFQO0FBQ0Q7O0FBRUQ0TCxFQUFBQSwwQkFBMEIsQ0FBQ3h5QyxJQUFELEVBQWlEO0FBQ3pFLFVBQU00bUMsS0FBOEIsR0FBRyxFQUF2QztBQUVBLFFBQUk1bUMsSUFBSSxDQUFDa0YsT0FBTCxLQUFpQm1SLFNBQXJCLEVBQ0V1d0IsS0FBSyxDQUFDd0IsSUFBTixHQUFhcG9DLElBQUksQ0FBQ2tGLE9BQWxCO0FBQ0YsUUFBSWxGLElBQUksQ0FBQ21GLE9BQUwsS0FBaUJrUixTQUFyQixFQUNFdXdCLEtBQUssQ0FBQ3lCLElBQU4sR0FBYXJvQyxJQUFJLENBQUNtRixPQUFsQjtBQUNGLFFBQUluRixJQUFJLENBQUNvRixPQUFMLEtBQWlCaVIsU0FBckIsRUFDRXV3QixLQUFLLENBQUMwQixJQUFOLEdBQWF0b0MsSUFBSSxDQUFDb0YsT0FBbEI7QUFDRixRQUFJcEYsSUFBSSxDQUFDcUYsYUFBTCxLQUF1QmdSLFNBQTNCLEVBQ0V1d0IsS0FBSyxDQUFDdGxDLE9BQU4sR0FBZ0J0QixJQUFJLENBQUNxRixhQUFyQjtBQUNGLFFBQUlyRixJQUFJLENBQUNxekMsUUFBTCxLQUFrQmg5QixTQUF0QixFQUNFdXdCLEtBQUssQ0FBQzVsQyxFQUFOLEdBQVdoQixJQUFJLENBQUNxekMsUUFBaEI7QUFDRixRQUFJcnpDLElBQUksQ0FBQytFLFdBQUwsS0FBcUJzUixTQUF6QixFQUNFdXdCLEtBQUssQ0FBQ3RoQyxLQUFOLEdBQWN0RixJQUFJLENBQUMrRSxXQUFuQjtBQUNGLFFBQUkvRSxJQUFJLENBQUNzekMsUUFBTCxLQUFrQmo5QixTQUF0QixFQUNFdXdCLEtBQUssQ0FBQzFsQyxFQUFOLEdBQVdsQixJQUFJLENBQUNzekMsUUFBaEI7QUFDRixRQUFJdHpDLElBQUksQ0FBQ2lGLFdBQUwsS0FBcUJvUixTQUF6QixFQUNFdXdCLEtBQUssQ0FBQ3JoQyxLQUFOLEdBQWN2RixJQUFJLENBQUNpRixXQUFuQjtBQUVGLFdBQU8yaEMsS0FBUDtBQUNEOztBQUVEc00sRUFBQUEsYUFBYSxDQUFDOXlDLEVBQUQsRUFBYVQsSUFBYixFQUFzQztBQUNqRCxRQUFJc3pDLFNBQVMsR0FBRyxLQUFLWixVQUFMLENBQWdCanlDLEVBQWhCLENBQWhCOztBQUNBLFFBQUk2eUMsU0FBUyxLQUFLNThCLFNBQWxCLEVBQTZCO0FBQzNCNDhCLE1BQUFBLFNBQVMsR0FBRyxLQUFLWixVQUFMLENBQWdCanlDLEVBQWhCLElBQXNCLElBQUlrbUMsU0FBSixDQUFjbG1DLEVBQWQsRUFBa0JULElBQWxCLENBQWxDO0FBQ0EsV0FBSyt5QyxNQUFMLENBQVlqb0MsSUFBWixDQUFpQnJLLEVBQWpCO0FBQ0EsV0FBSzZ4QyxhQUFMLENBQW1CN3hDLEVBQW5CLElBQXlCO0FBQ3ZCbW9DLFFBQUFBLFVBQVUsRUFBRTtBQURXLE9BQXpCO0FBR0QsS0FORCxNQU1PLElBQUkwSyxTQUFTLENBQUN0ekMsSUFBVixLQUFtQixFQUF2QixFQUEyQjtBQUNoQ3N6QyxNQUFBQSxTQUFTLENBQUMxTSxPQUFWLENBQWtCNW1DLElBQWxCO0FBQ0Q7O0FBQ0QsV0FBT3N6QyxTQUFQO0FBQ0Q7O0FBRURNLEVBQUFBLG9CQUFvQixHQUFXO0FBQUE7O0FBQzdCLFFBQUksS0FBS1IsZUFBVCxFQUNFLDBEQUFPLEtBQUtWLFVBQUwsQ0FBZ0IsS0FBS1UsZUFBckIsQ0FBUCwyREFBTyx1QkFBdUNwekMsSUFBOUMseUVBQXNELFNBQXREO0FBQ0YsV0FBTyxTQUFQO0FBQ0Q7O0FBcE5tQzs7QUNmdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FBV0E7QUFDQSxrREFBa0QsUUFBUTtBQUMxRCx5Q0FBeUMsUUFBUTtBQUNqRCx5REFBeUQsUUFBUTtBQUNqRTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDJFQUEyRTtBQUNyRixVQUFVLDZEQUE2RDtBQUN2RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssSUFBSTtBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxPQUFPO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLE9BQU87QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRSxtREFBbUQsMkJBQTJCLElBQUksMEJBQTBCLG9CQUFvQjtBQUNwTSwyREFBMkQsb0JBQW9CO0FBQy9FLDRFQUE0RSxtQkFBbUI7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLGNBQVEsS0FBSztBQUNqQjtBQUNBLFdBQVcsY0FBUTtBQUNuQjtBQUNBO0FBQ0EsMERBQTBELHVDQUF1QztBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxnQkFBZ0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixvQkFBb0I7O0FBRXBCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0Msc0JBQXNCO0FBQ3REO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNEJBQTRCO0FBQzVCLENBQUM7QUFDRDtBQUNBO0FBQ0EsOEJBQThCLGtDQUFrQztBQUNoRSxxQ0FBcUMsNEJBQTRCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsMkNBQTJDLElBQUk7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLElBQUk7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLElBQUk7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxJQUFJO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FB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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsU0FBUztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLE9BQU87QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLDZDQUE2QyxxQ0FBcUM7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix5REFBeUQ7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2Qyx1Q0FBdUM7QUFDdkMsdUNBQXVDO0FBQ3ZDLHVDQUF1QztBQUN2Qyx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLENBQUM7QUFDRCxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDLHdDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtB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O1dBQ0EsTUFBTSxxQkFBcUI7V0FDM0I7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7V0FFQTtXQUNBO1dBQ0E7Ozs7O1VFaERBO1VBQ0E7VUFDQTtVQUNBO1VBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL2NvbmRpdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9jb250ZW50X3R5cGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9sYW5ndWFnZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9uZXRsb2dfZGVmcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9ub3RfcmVhY2hlZC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL291dHB1dHMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9vdmVybGF5X3BsdWdpbl9hcGkudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9yZWdleGVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcmVzcG9uc2VzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdXNlcl9jb25maWcudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy91dGlsLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvem9uZV9pZC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3pvbmVfaW5mby50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vcmVzb3VyY2VzL3BhcnR5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9yYWlkYm9zc19vcHRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9jb21tb25fcmVwbGFjZW1lbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lX3BhcnNlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGJvc3NfY29uZmlnLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvcGV0X25hbWVzLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL0NvbWJhdGFudC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9Db21iYXRhbnRKb2JTZWFyY2gudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvQ29tYmF0YW50U3RhdGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy90cmFuc2xhdGlvbnMudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL0VtdWxhdG9yQ29tbW9uLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvQ29tYmF0YW50VHJhY2tlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vbm9kZV9tb2R1bGVzL2RleGllL2Rpc3QvZGV4aWUubWpzIiwid2VicGFjazovL2NhY3Rib3QvLi9ub2RlX21vZHVsZXMvZGV4aWUtZXhwb3J0LWltcG9ydC9kaXN0L2RleGllLWV4cG9ydC1pbXBvcnQubWpzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9Mb2dSZXBvc2l0b3J5LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9FdmVudEJ1cy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwQy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxNy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxOC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxOS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxQy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgxRi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyMi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyMy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNi50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyNy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyOC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgyOS50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvUGFyc2VMaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL05ldHdvcmtMb2dDb252ZXJ0ZXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL2RhdGEvRW5jb3VudGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9kYXRhL1BlcnNpc3RvckVuY291bnRlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9QZXJzaXN0b3IudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3Jlc291cmNlcy9wbGF5ZXJfb3ZlcnJpZGUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2F1dG9wbGF5X2hlbHBlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvYnJvd3Nlcl90dHNfZW5naW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9wb3B1cC10ZXh0LnRzIiwid2VicGFjazovL2NhY3Rib3QvLi9yZXNvdXJjZXMvdGltZXJiYXIudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL3RpbWVsaW5lLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmUudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JUaW1lbGluZVVJLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yQW5hbHlzaXNUaW1lbGluZVVJLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci9vdmVycmlkZXMvU3R1YmJlZFBvcHVwVGV4dC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9Qb3B1cFRleHRBbmFseXNpcy50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9BbmFseXplZEVuY291bnRlci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvZGF0YS9SYWlkRW11bGF0b3IudHMiLCJ3ZWJwYWNrOi8vY2FjdGJvdC8uL3VpL3JhaWRib3NzL2VtdWxhdG9yL292ZXJyaWRlcy9SYWlkRW11bGF0b3JPdmVybGF5QXBpSG9vay50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3Ivb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclBvcHVwVGV4dC50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvdHJhbnNsYXRpb25zLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9Ub29sdGlwLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9FbXVsYXRlZFBhcnR5SW5mby50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvZW11bGF0b3IvdWkvRW5jb3VudGVyVGFiLnRzIiwid2VicGFjazovL2NhY3Rib3QvLi91aS9yYWlkYm9zcy9lbXVsYXRvci91aS9Qcm9ncmVzc0Jhci50cyIsIndlYnBhY2s6Ly9jYWN0Ym90Ly4vdWkvcmFpZGJvc3MvcmFpZGVtdWxhdG9yLnRzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9ydW50aW1lL2dsb2JhbCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vY2FjdGJvdC93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svcnVudGltZS9qc29ucCBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL2NhY3Rib3Qvd2VicGFjay9iZWZvcmUtc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svc3RhcnR1cCIsIndlYnBhY2s6Ly9jYWN0Ym90L3dlYnBhY2svYWZ0ZXItc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb3IgY29uc2lzdGVuY3kgd2l0aCBSZXNwb25zZXMsIENvbmRpdGlvbnNcclxuLy8gYXJlIGFsc28gZnVuY3Rpb25zLlxyXG5cclxuaW1wb3J0IHsgUmFpZGJvc3NEYXRhIGFzIERhdGEgfSBmcm9tICcuLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgVGFyZ2V0ZWRNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgdGFyZ2V0SXNZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSA9PT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgdGFyZ2V0SXNOb3RZb3UoKTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcykgPT4gZGF0YS5tZSAhPT0gbWF0Y2hlcz8udGFyZ2V0O1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dEFPRSgpOiAoZGF0YTogRGF0YSkgPT4gYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKGRhdGE6IERhdGEpID0+XHJcbiAgICAgIGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicgfHwgZGF0YS5DYW5BZGRsZSgpIHx8IGRhdGEuam9iID09PSAnQkxVJztcclxuICB9LFxyXG4gIGNhcmVzQWJvdXRNYWdpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkFkZGxlKCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbiAgY2FyZXNBYm91dFBoeXNpY2FsKCk6IChkYXRhOiBEYXRhKSA9PiBib29sZWFuIHtcclxuICAgIHJldHVybiAoZGF0YTogRGF0YSkgPT5cclxuICAgICAgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJyB8fCBkYXRhLkNhbkZlaW50KCkgfHwgZGF0YS5qb2IgPT09ICdCTFUnO1xyXG4gIH0sXHJcbn07XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3pvbmVfaWRfYW5kX2luZm8ucHlcclxuLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZXHJcblxyXG5jb25zdCBkYXRhID0ge1xyXG4gICdCZWFzdFRyaWJlUXVlc3RzJzogMTMsXHJcbiAgJ0NvbXBhbmlvbnMnOiAxMixcclxuICAnQ3VzdG9tRGVsaXZlcmllcyc6IDI1LFxyXG4gICdEZWVwRHVuZ2VvbnMnOiAyMSxcclxuICAnRGlzY2lwbGVzT2ZUaGVIYW5kJzogMTcsXHJcbiAgJ0Rpc2NpcGxlc09mVGhlTGFuZCc6IDE2LFxyXG4gICdEdW5nZW9ucyc6IDIsXHJcbiAgJ0R1dHlSb3VsZXR0ZSc6IDEsXHJcbiAgJ0V1cmVrYSc6IDI2LFxyXG4gICdGYXRlcyc6IDgsXHJcbiAgJ0dvbGRTYXVjZXInOiAxOSxcclxuICAnR3JhbmRDb21wYW55JzogMTEsXHJcbiAgJ0d1aWxkaGVzdHMnOiAzLFxyXG4gICdMZXZlcXVlc3RzJzogMTAsXHJcbiAgJ092ZXJhbGxDb21wbGV0aW9uJzogMTQsXHJcbiAgJ1BsYXllckNvbW1lbmRhdGlvbic6IDE1LFxyXG4gICdQdnAnOiA2LFxyXG4gICdRdWVzdEJhdHRsZXMnOiA3LFxyXG4gICdSYWlkcyc6IDUsXHJcbiAgJ1JldGFpbmVyVmVudHVyZXMnOiAxOCxcclxuICAnVHJlYXN1cmVIdW50JzogOSxcclxuICAnVHJpYWxzJzogNCxcclxuICAnVWx0aW1hdGVSYWlkcyc6IDI4LFxyXG4gICdXb25kcm91c1RhaWxzJzogMjQsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJleHBvcnQgY29uc3QgbGFuZ3VhZ2VzID0gWydlbicsICdkZScsICdmcicsICdqYScsICdjbicsICdrbyddIGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgTGFuZyA9IHR5cGVvZiBsYW5ndWFnZXNbbnVtYmVyXTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vbkVuTGFuZyA9IEV4Y2x1ZGU8TGFuZywgJ2VuJz47XHJcblxyXG5leHBvcnQgY29uc3QgbGFuZ01hcDogeyBbbGFuZyBpbiBMYW5nXTogeyBbbGFuZyBpbiBMYW5nXTogc3RyaW5nIH0gfSA9IHtcclxuICBlbjoge1xyXG4gICAgZW46ICdFbmdsaXNoJyxcclxuICAgIGRlOiAnR2VybWFuJyxcclxuICAgIGZyOiAnRnJlbmNoJyxcclxuICAgIGphOiAnSmFwYW5lc2UnLFxyXG4gICAgY246ICdDaGluZXNlJyxcclxuICAgIGtvOiAnS29yZWFuJyxcclxuICB9LFxyXG4gIGRlOiB7XHJcbiAgICBlbjogJ0VuZ2xpc2NoJyxcclxuICAgIGRlOiAnRGV1dHNjaCcsXHJcbiAgICBmcjogJ0ZyYW56w7ZzaXNjaCcsXHJcbiAgICBqYTogJ0phcGFuaXNjaCcsXHJcbiAgICBjbjogJ0NoaW5lc2lzY2gnLFxyXG4gICAga286ICdLb3JlYW5pc2NoJyxcclxuICB9LFxyXG4gIGZyOiB7XHJcbiAgICBlbjogJ0FuZ2xhaXMnLFxyXG4gICAgZGU6ICdBbGxlbWFuZCcsXHJcbiAgICBmcjogJ0ZyYW7Dp2FpcycsXHJcbiAgICBqYTogJ0phcG9uYWlzJyxcclxuICAgIGNuOiAnQ2hpbm9pcycsXHJcbiAgICBrbzogJ0NvcsOpZW4nLFxyXG4gIH0sXHJcbiAgamE6IHtcclxuICAgIGVuOiAn6Iux6KqeJyxcclxuICAgIGRlOiAn44OJ44Kk44OE6KqeJyxcclxuICAgIGZyOiAn44OV44Op44Oz44K56KqeJyxcclxuICAgIGphOiAn5pel5pys6KqeJyxcclxuICAgIGNuOiAn5Lit5Zu96KqeJyxcclxuICAgIGtvOiAn6Z+T5Zu96KqeJyxcclxuICB9LFxyXG4gIGNuOiB7XHJcbiAgICBlbjogJ+iLseivrScsXHJcbiAgICBkZTogJ+W+t+ivrScsXHJcbiAgICBmcjogJ+azleivrScsXHJcbiAgICBqYTogJ+aXpeivrScsXHJcbiAgICBjbjogJ+S4reaWhycsXHJcbiAgICBrbzogJ+mfqeivrScsXHJcbiAgfSxcclxuICBrbzoge1xyXG4gICAgZW46ICfsmIHslrQnLFxyXG4gICAgZGU6ICfrj4XsnbzslrQnLFxyXG4gICAgZnI6ICftlITrnpHsiqTslrQnLFxyXG4gICAgamE6ICfsnbzrs7jslrQnLFxyXG4gICAgY246ICfspJHqta3slrQnLFxyXG4gICAga286ICftlZzqta3slrQnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgY29uc3QgaXNMYW5nID0gKGxhbmc/OiBzdHJpbmcpOiBsYW5nIGlzIExhbmcgPT4ge1xyXG4gIGNvbnN0IGxhbmdTdHJzOiByZWFkb25seSBzdHJpbmdbXSA9IGxhbmd1YWdlcztcclxuICBpZiAoIWxhbmcpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgcmV0dXJuIGxhbmdTdHJzLmluY2x1ZGVzKGxhbmcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxhbmdUb0xvY2FsZSA9IChsYW5nOiBMYW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZW46ICdlbicsXHJcbiAgICBkZTogJ2RlJyxcclxuICAgIGZyOiAnZnInLFxyXG4gICAgamE6ICdqYScsXHJcbiAgICBjbjogJ3poLUNOJyxcclxuICAgIGtvOiAna28nLFxyXG4gIH1bbGFuZ107XHJcbn07XHJcbiIsImltcG9ydCB7IE5ldEZpZWxkc1JldmVyc2UgfSBmcm9tICcuLi90eXBlcy9uZXRfZmllbGRzJztcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb24gPSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICAvLyBQYXJzZWQgQUNUIGxvZyBsaW5lIHR5cGUuXHJcbiAgbWVzc2FnZVR5cGU6IHN0cmluZztcclxuICAvLyBpbmNsdWRlIGFsbCBvZiB0aGVzZSBsaW5lcyBpbiBhbnkgc3BsaXRcclxuICBnbG9iYWxJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyBpbmNsdWRlIHRoZSBsYXN0IGxpbmUgb2YgdGhpcyB0eXBlIGluIGFueSBzcGxpdFxyXG4gIGxhc3RJbmNsdWRlPzogYm9vbGVhbjtcclxuICAvLyB3aGV0aGVyIHRoaXMgbGluZSBjYW4gYmUgYW5vbnltaXplZFxyXG4gIGNhbkFub255bWl6ZT86IGJvb2xlYW47XHJcbiAgLy8gbmVlZHMgbW9yZSBpbmZvcm1hdGlvbiwgbmV2ZXIgc2VlbiB0aGlzIGxvZ1xyXG4gIGlzVW5rbm93bj86IGJvb2xlYW47XHJcbiAgLy8gZmllbGRzIGF0IHRoaXMgaW5kZXggYW5kIGJleW9uZCBhcmUgY2xlYXJlZCwgd2hlbiBhbm9ueW1pemluZ1xyXG4gIGZpcnN0VW5rbm93bkZpZWxkPzogbnVtYmVyO1xyXG4gIGZpZWxkcz86IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XHJcbiAgc3ViRmllbGRzPzoge1xyXG4gICAgW2ZpZWxkTmFtZTogc3RyaW5nXToge1xyXG4gICAgICBbZmllbGRWYWx1ZTogc3RyaW5nXToge1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICBjYW5Bbm9ueW1pemU6IGJvb2xlYW47XHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG4gIH07XHJcbiAgLy8gbWFwIG9mIGluZGV4ZXMgZnJvbSBhIHBsYXllciBpZCB0byB0aGUgaW5kZXggb2YgdGhhdCBwbGF5ZXIgbmFtZVxyXG4gIHBsYXllcklkcz86IHsgW2ZpZWxkSWR4OiBudW1iZXJdOiBudW1iZXIgfCBudWxsIH07XHJcbiAgLy8gYSBsaXN0IG9mIGZpZWxkcyB0aGF0IGFyZSBvayB0byBub3QgYXBwZWFyIChvciBoYXZlIGludmFsaWQgaWRzKVxyXG4gIG9wdGlvbmFsRmllbGRzPzogcmVhZG9ubHkgbnVtYmVyW107XHJcbn07XHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25NYXAgPSB7IFtuYW1lOiBzdHJpbmddOiBMb2dEZWZpbml0aW9uIH07XHJcblxyXG5jb25zdCBsb2dEZWZpbml0aW9ucyA9IHtcclxuICBHYW1lTG9nOiB7XHJcbiAgICB0eXBlOiAnMDAnLFxyXG4gICAgbmFtZTogJ0dhbWVMb2cnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDaGF0TG9nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGNvZGU6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIGxpbmU6IDQsXHJcbiAgICB9LFxyXG4gICAgc3ViRmllbGRzOiB7XHJcbiAgICAgIGNvZGU6IHtcclxuICAgICAgICAnMDAzOSc6IHtcclxuICAgICAgICAgIG5hbWU6ICdtZXNzYWdlJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwMDM4Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ2VjaG8nLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgJzAwNDQnOiB7XHJcbiAgICAgICAgICBuYW1lOiAnZGlhbG9nJyxcclxuICAgICAgICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICcwODM5Jzoge1xyXG4gICAgICAgICAgbmFtZTogJ21lc3NhZ2UnLFxyXG4gICAgICAgICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgQ2hhbmdlWm9uZToge1xyXG4gICAgdHlwZTogJzAxJyxcclxuICAgIG5hbWU6ICdDaGFuZ2Vab25lJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGVycml0b3J5JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgfSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQ2hhbmdlZFBsYXllcjoge1xyXG4gICAgdHlwZTogJzAyJyxcclxuICAgIG5hbWU6ICdDaGFuZ2VkUGxheWVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlUHJpbWFyeVBsYXllcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIEFkZGVkQ29tYmF0YW50OiB7XHJcbiAgICB0eXBlOiAnMDMnLFxyXG4gICAgbmFtZTogJ0FkZGVkQ29tYmF0YW50JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWRkQ29tYmF0YW50JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBqb2I6IDQsXHJcbiAgICAgIGxldmVsOiA1LFxyXG4gICAgICBvd25lcklkOiA2LFxyXG4gICAgICB3b3JsZElkOiA3LFxyXG4gICAgICB3b3JsZDogOCxcclxuICAgICAgbnBjTmFtZUlkOiA5LFxyXG4gICAgICBucGNCYXNlSWQ6IDEwLFxyXG4gICAgICBjdXJyZW50SHA6IDExLFxyXG4gICAgICBocDogMTIsXHJcbiAgICAgIGN1cnJlbnRNcDogMTMsXHJcbiAgICAgIG1wOiAxNCxcclxuICAgICAgLy8gbWF4VHA6IDE1LFxyXG4gICAgICAvLyB0cDogMTYsXHJcbiAgICAgIHg6IDE3LFxyXG4gICAgICB5OiAxOCxcclxuICAgICAgejogMTksXHJcbiAgICAgIGhlYWRpbmc6IDIwLFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIFJlbW92ZWRDb21iYXRhbnQ6IHtcclxuICAgIHR5cGU6ICcwNCcsXHJcbiAgICBuYW1lOiAnUmVtb3ZlZENvbWJhdGFudCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1JlbW92ZUNvbWJhdGFudCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgam9iOiA0LFxyXG4gICAgICBsZXZlbDogNSxcclxuICAgICAgb3duZXI6IDYsXHJcbiAgICAgIHdvcmxkOiA4LFxyXG4gICAgICBucGNOYW1lSWQ6IDksXHJcbiAgICAgIG5wY0Jhc2VJZDogMTAsXHJcbiAgICAgIGhwOiAxMixcclxuICAgICAgeDogMTcsXHJcbiAgICAgIHk6IDE4LFxyXG4gICAgICB6OiAxOSxcclxuICAgICAgaGVhZGluZzogMjAsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUGFydHlMaXN0OiB7XHJcbiAgICB0eXBlOiAnMTEnLFxyXG4gICAgbmFtZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhcnR5TGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBwYXJ0eUNvdW50OiAyLFxyXG4gICAgICBpZDA6IDMsXHJcbiAgICAgIGlkMTogNCxcclxuICAgICAgaWQyOiA1LFxyXG4gICAgICBpZDM6IDYsXHJcbiAgICAgIGlkNDogNyxcclxuICAgICAgaWQ1OiA4LFxyXG4gICAgICBpZDY6IDksXHJcbiAgICAgIGlkNzogMTAsXHJcbiAgICAgIGlkODogMTEsXHJcbiAgICAgIGlkOTogMTIsXHJcbiAgICAgIGlkMTA6IDEzLFxyXG4gICAgICBpZDExOiAxNCxcclxuICAgICAgaWQxMjogMTUsXHJcbiAgICAgIGlkMTM6IDE2LFxyXG4gICAgICBpZDE0OiAxNyxcclxuICAgICAgaWQxNTogMTgsXHJcbiAgICAgIGlkMTY6IDE5LFxyXG4gICAgICBpZDE3OiAyMCxcclxuICAgICAgaWQxODogMjEsXHJcbiAgICAgIGlkMTk6IDIyLFxyXG4gICAgICBpZDIwOiAyMyxcclxuICAgICAgaWQyMTogMjQsXHJcbiAgICAgIGlkMjI6IDI1LFxyXG4gICAgICBpZDIzOiAyNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMzogbnVsbCxcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgICAgNjogbnVsbCxcclxuICAgICAgNzogbnVsbCxcclxuICAgICAgODogbnVsbCxcclxuICAgICAgOTogbnVsbCxcclxuICAgICAgMTA6IG51bGwsXHJcbiAgICAgIDExOiBudWxsLFxyXG4gICAgICAxMjogbnVsbCxcclxuICAgICAgMTM6IG51bGwsXHJcbiAgICAgIDE0OiBudWxsLFxyXG4gICAgICAxNTogbnVsbCxcclxuICAgICAgMTY6IG51bGwsXHJcbiAgICAgIDE3OiBudWxsLFxyXG4gICAgICAxODogbnVsbCxcclxuICAgICAgMTk6IG51bGwsXHJcbiAgICAgIDIwOiBudWxsLFxyXG4gICAgICAyMTogbnVsbCxcclxuICAgICAgMjI6IG51bGwsXHJcbiAgICAgIDIzOiBudWxsLFxyXG4gICAgICAyNDogbnVsbCxcclxuICAgICAgMjU6IG51bGwsXHJcbiAgICAgIDI2OiBudWxsLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbmFsRmllbGRzOiBbXHJcbiAgICAgIDMsXHJcbiAgICAgIDQsXHJcbiAgICAgIDUsXHJcbiAgICAgIDYsXHJcbiAgICAgIDcsXHJcbiAgICAgIDgsXHJcbiAgICAgIDksXHJcbiAgICAgIDEwLFxyXG4gICAgICAxMSxcclxuICAgICAgMTIsXHJcbiAgICAgIDEzLFxyXG4gICAgICAxNCxcclxuICAgICAgMTUsXHJcbiAgICAgIDE2LFxyXG4gICAgICAxNyxcclxuICAgICAgMTgsXHJcbiAgICAgIDE5LFxyXG4gICAgICAyMCxcclxuICAgICAgMjEsXHJcbiAgICAgIDIyLFxyXG4gICAgICAyMyxcclxuICAgICAgMjQsXHJcbiAgICAgIDI1LFxyXG4gICAgICAyNixcclxuICAgIF0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgICBsYXN0SW5jbHVkZTogdHJ1ZSxcclxuICB9LFxyXG4gIFBsYXllclN0YXRzOiB7XHJcbiAgICB0eXBlOiAnMTInLFxyXG4gICAgbmFtZTogJ1BsYXllclN0YXRzJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUGxheWVyU3RhdHMnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgam9iOiAyLFxyXG4gICAgICBzdHJlbmd0aDogMyxcclxuICAgICAgZGV4dGVyaXR5OiA0LFxyXG4gICAgICB2aXRhbGl0eTogNSxcclxuICAgICAgaW50ZWxsaWdlbmNlOiA2LFxyXG4gICAgICBtaW5kOiA3LFxyXG4gICAgICBwaWV0eTogOCxcclxuICAgICAgYXR0YWNrUG93ZXI6IDksXHJcbiAgICAgIGRpcmVjdEhpdDogMTAsXHJcbiAgICAgIGNyaXRpY2FsSGl0OiAxMSxcclxuICAgICAgYXR0YWNrTWFnaWNQb3RlbmN5OiAxMixcclxuICAgICAgaGVhbE1hZ2ljUG90ZW5jeTogMTMsXHJcbiAgICAgIGRldGVybWluYXRpb246IDE0LFxyXG4gICAgICBza2lsbFNwZWVkOiAxNSxcclxuICAgICAgc3BlbGxTcGVlZDogMTYsXHJcbiAgICAgIHRlbmFjaXR5OiAxOCxcclxuICAgICAgbG9jYWxDb250ZW50SWQ6IDE5LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGxhc3RJbmNsdWRlOiB0cnVlLFxyXG4gIH0sXHJcbiAgU3RhcnRzVXNpbmc6IHtcclxuICAgIHR5cGU6ICcyMCcsXHJcbiAgICBuYW1lOiAnU3RhcnRzVXNpbmcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGFydHNDYXN0aW5nJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBjYXN0VGltZTogOCxcclxuICAgICAgeDogOSxcclxuICAgICAgeTogMTAsXHJcbiAgICAgIHo6IDExLFxyXG4gICAgICBoZWFkaW5nOiAxMixcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDY6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgQWJpbGl0eToge1xyXG4gICAgdHlwZTogJzIxJyxcclxuICAgIG5hbWU6ICdBYmlsaXR5JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQWN0aW9uRWZmZWN0JyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBhYmlsaXR5OiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0OiA3LFxyXG4gICAgICBmbGFnczogOCxcclxuICAgICAgZGFtYWdlOiA5LFxyXG4gICAgICB0YXJnZXRDdXJyZW50SHA6IDI0LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMjUsXHJcbiAgICAgIHRhcmdldEN1cnJlbnRNcDogMjYsXHJcbiAgICAgIHRhcmdldE1heE1wOiAyNyxcclxuICAgICAgLy8gdGFyZ2V0Q3VycmVudFRwOiAyOCxcclxuICAgICAgLy8gdGFyZ2V0TWF4VHA6IDI5LFxyXG4gICAgICB0YXJnZXRYOiAzMCxcclxuICAgICAgdGFyZ2V0WTogMzEsXHJcbiAgICAgIHRhcmdldFo6IDMyLFxyXG4gICAgICB0YXJnZXRIZWFkaW5nOiAzMyxcclxuICAgICAgY3VycmVudEhwOiAzNCxcclxuICAgICAgbWF4SHA6IDM1LFxyXG4gICAgICBjdXJyZW50TXA6IDM2LFxyXG4gICAgICBtYXhNcDogMzcsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogMzg7XHJcbiAgICAgIC8vIG1heFRwOiAzOTtcclxuICAgICAgeDogNDAsXHJcbiAgICAgIHk6IDQxLFxyXG4gICAgICB6OiA0MixcclxuICAgICAgaGVhZGluZzogNDMsXHJcbiAgICAgIHNlcXVlbmNlOiA0NCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0FPRUFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMicsXHJcbiAgICBuYW1lOiAnTmV0d29ya0FPRUFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdBT0VBY3Rpb25FZmZlY3QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIGFiaWxpdHk6IDUsXHJcbiAgICAgIHRhcmdldElkOiA2LFxyXG4gICAgICB0YXJnZXQ6IDcsXHJcbiAgICAgIGZsYWdzOiA4LFxyXG4gICAgICB4OiA0MCxcclxuICAgICAgeTogNDEsXHJcbiAgICAgIHo6IDQyLFxyXG4gICAgICBoZWFkaW5nOiA0MyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNjogNyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25hbEZpZWxkczogWzZdLFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDQ0LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya0NhbmNlbEFiaWxpdHk6IHtcclxuICAgIHR5cGU6ICcyMycsXHJcbiAgICBuYW1lOiAnTmV0d29ya0NhbmNlbEFiaWxpdHknLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdDYW5jZWxBY3Rpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgc291cmNlSWQ6IDIsXHJcbiAgICAgIHNvdXJjZTogMyxcclxuICAgICAgaWQ6IDQsXHJcbiAgICAgIG5hbWU6IDUsXHJcbiAgICAgIHJlYXNvbjogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRG9UOiB7XHJcbiAgICB0eXBlOiAnMjQnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtEb1QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEb1RIb1QnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHdoaWNoOiA0LFxyXG4gICAgICBlZmZlY3RJZDogNSxcclxuICAgICAgZGFtYWdlOiA2LFxyXG4gICAgICBjdXJyZW50SHA6IDcsXHJcbiAgICAgIG1heEhwOiA4LFxyXG4gICAgICBjdXJyZW50TXA6IDksXHJcbiAgICAgIG1heE1wOiAxMCxcclxuICAgICAgLy8gY3VycmVudFRwOiAxMSxcclxuICAgICAgLy8gbWF4VHA6IDEyLFxyXG4gICAgICB4OiAxMyxcclxuICAgICAgeTogMTQsXHJcbiAgICAgIHo6IDE1LFxyXG4gICAgICBoZWFkaW5nOiAxNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBXYXNEZWZlYXRlZDoge1xyXG4gICAgdHlwZTogJzI1JyxcclxuICAgIG5hbWU6ICdXYXNEZWZlYXRlZCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ0RlYXRoJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIHNvdXJjZUlkOiA0LFxyXG4gICAgICBzb3VyY2U6IDUsXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICAgIDQ6IDUsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgR2FpbnNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICcyNicsXHJcbiAgICBuYW1lOiAnR2FpbnNFZmZlY3QnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTdGF0dXNBZGQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgZWZmZWN0SWQ6IDIsXHJcbiAgICAgIGVmZmVjdDogMyxcclxuICAgICAgZHVyYXRpb246IDQsXHJcbiAgICAgIHNvdXJjZUlkOiA1LFxyXG4gICAgICBzb3VyY2U6IDYsXHJcbiAgICAgIHRhcmdldElkOiA3LFxyXG4gICAgICB0YXJnZXQ6IDgsXHJcbiAgICAgIGNvdW50OiA5LFxyXG4gICAgICB0YXJnZXRNYXhIcDogMTAsXHJcbiAgICAgIHNvdXJjZU1heEhwOiAxMSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBIZWFkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjcnLFxyXG4gICAgbmFtZTogJ0hlYWRNYXJrZXInLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdUYXJnZXRJY29uJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHRhcmdldElkOiAyLFxyXG4gICAgICB0YXJnZXQ6IDMsXHJcbiAgICAgIGlkOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtSYWlkTWFya2VyOiB7XHJcbiAgICB0eXBlOiAnMjgnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtSYWlkTWFya2VyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnV2F5bWFya01hcmtlcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBvcGVyYXRpb246IDIsXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB4OiA2LFxyXG4gICAgICB5OiA3LFxyXG4gICAgICB6OiA4LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtUYXJnZXRNYXJrZXI6IHtcclxuICAgIHR5cGU6ICcyOScsXHJcbiAgICBuYW1lOiAnTmV0d29ya1RhcmdldE1hcmtlcicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1NpZ25NYXJrZXInLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgb3BlcmF0aW9uOiAyLCAvLyBBZGQsIFVwZGF0ZSwgRGVsZXRlXHJcbiAgICAgIHdheW1hcms6IDMsXHJcbiAgICAgIGlkOiA0LFxyXG4gICAgICBuYW1lOiA1LFxyXG4gICAgICB0YXJnZXRJZDogNixcclxuICAgICAgdGFyZ2V0TmFtZTogNyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNDogbnVsbCxcclxuICAgICAgNTogbnVsbCxcclxuICAgIH0sXHJcbiAgfSxcclxuICBMb3Nlc0VmZmVjdDoge1xyXG4gICAgdHlwZTogJzMwJyxcclxuICAgIG5hbWU6ICdMb3Nlc0VmZmVjdCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1N0YXR1c1JlbW92ZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBlZmZlY3RJZDogMixcclxuICAgICAgZWZmZWN0OiAzLFxyXG4gICAgICBzb3VyY2VJZDogNSxcclxuICAgICAgc291cmNlOiA2LFxyXG4gICAgICB0YXJnZXRJZDogNyxcclxuICAgICAgdGFyZ2V0OiA4LFxyXG4gICAgICBjb3VudDogOSxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgNTogNixcclxuICAgICAgNzogOCxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrR2F1Z2U6IHtcclxuICAgIHR5cGU6ICczMScsXHJcbiAgICBuYW1lOiAnTmV0d29ya0dhdWdlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnR2F1Z2UnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIGRhdGEwOiAzLFxyXG4gICAgICBkYXRhMTogNCxcclxuICAgICAgZGF0YTI6IDUsXHJcbiAgICAgIGRhdGEzOiA2LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiBudWxsLFxyXG4gICAgfSxcclxuICAgIC8vIFNvbWV0aW1lcyB0aGlzIGxhc3QgZmllbGQgbG9va3MgbGlrZSBhIHBsYXllciBpZC5cclxuICAgIC8vIEZvciBzYWZldHksIGFub255bWl6ZSBhbGwgb2YgdGhlIGdhdWdlIGRhdGEuXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMyxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICB9LFxyXG4gIE5ldHdvcmtXb3JsZDoge1xyXG4gICAgdHlwZTogJzMyJyxcclxuICAgIG5hbWU6ICdOZXR3b3JrV29ybGQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdXb3JsZCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGlzVW5rbm93bjogdHJ1ZSxcclxuICB9LFxyXG4gIEFjdG9yQ29udHJvbDoge1xyXG4gICAgdHlwZTogJzMzJyxcclxuICAgIG5hbWU6ICdBY3RvckNvbnRyb2wnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEaXJlY3RvcicsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpbnN0YW5jZTogMixcclxuICAgICAgY29tbWFuZDogMyxcclxuICAgICAgZGF0YTA6IDQsXHJcbiAgICAgIGRhdGExOiA1LFxyXG4gICAgICBkYXRhMjogNixcclxuICAgICAgZGF0YTM6IDcsXHJcbiAgICB9LFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmFtZVRvZ2dsZToge1xyXG4gICAgdHlwZTogJzM0JyxcclxuICAgIG5hbWU6ICdOYW1lVG9nZ2xlJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTmFtZVRvZ2dsZScsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICBpZDogMixcclxuICAgICAgbmFtZTogMyxcclxuICAgICAgdGFyZ2V0SWQ6IDQsXHJcbiAgICAgIHRhcmdldE5hbWU6IDUsXHJcbiAgICAgIHRvZ2dsZTogNixcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgICAgNDogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBUZXRoZXI6IHtcclxuICAgIHR5cGU6ICczNScsXHJcbiAgICBuYW1lOiAnVGV0aGVyJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnVGV0aGVyJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIHNvdXJjZUlkOiAyLFxyXG4gICAgICBzb3VyY2U6IDMsXHJcbiAgICAgIHRhcmdldElkOiA0LFxyXG4gICAgICB0YXJnZXQ6IDUsXHJcbiAgICAgIGlkOiA4LFxyXG4gICAgfSxcclxuICAgIHBsYXllcklkczoge1xyXG4gICAgICAyOiAzLFxyXG4gICAgICA0OiA1LFxyXG4gICAgfSxcclxuICAgIGNhbkFub255bWl6ZTogdHJ1ZSxcclxuICAgIGZpcnN0VW5rbm93bkZpZWxkOiA5LFxyXG4gIH0sXHJcbiAgTGltaXRCcmVhazoge1xyXG4gICAgdHlwZTogJzM2JyxcclxuICAgIG5hbWU6ICdMaW1pdEJyZWFrJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnTGltaXRCcmVhaycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB2YWx1ZUhleDogMixcclxuICAgICAgYmFyczogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBOZXR3b3JrRWZmZWN0UmVzdWx0OiB7XHJcbiAgICB0eXBlOiAnMzcnLFxyXG4gICAgbmFtZTogJ05ldHdvcmtFZmZlY3RSZXN1bHQnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdFZmZlY3RSZXN1bHQnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgICAgaWQ6IDIsXHJcbiAgICAgIG5hbWU6IDMsXHJcbiAgICAgIHNlcXVlbmNlSWQ6IDQsXHJcbiAgICAgIGN1cnJlbnRIcDogNSxcclxuICAgICAgbWF4SHA6IDYsXHJcbiAgICAgIGN1cnJlbnRNcDogNyxcclxuICAgICAgbWF4TXA6IDgsXHJcbiAgICAgIC8vIGN1cnJlbnRUcDogOSxcclxuICAgICAgLy8gbWF4VHA6IDEwLFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBmaXJzdFVua25vd25GaWVsZDogMjIsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTdGF0dXNFZmZlY3Q6IHtcclxuICAgIHR5cGU6ICczOCcsXHJcbiAgICBuYW1lOiAnU3RhdHVzRWZmZWN0JyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU3RhdHVzTGlzdCcsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgICB0YXJnZXRJZDogMixcclxuICAgICAgdGFyZ2V0OiAzLFxyXG4gICAgICBqb2JMZXZlbERhdGE6IDQsXHJcbiAgICAgIGhwOiA1LFxyXG4gICAgICBtYXhIcDogNixcclxuICAgICAgbXA6IDcsXHJcbiAgICAgIG1heE1wOiA4LFxyXG4gICAgICB4OiAxMSxcclxuICAgICAgeTogMTIsXHJcbiAgICAgIHo6IDEzLFxyXG4gICAgICBoZWFkaW5nOiAxNCxcclxuICAgICAgZGF0YTA6IDE1LFxyXG4gICAgICBkYXRhMTogMTYsXHJcbiAgICAgIGRhdGEyOiAxNyxcclxuICAgICAgLy8gVmFyaWFibGUgbnVtYmVyIG9mIHRyaXBsZXRzIGhlcmUsIGJ1dCBhdCBsZWFzdCBvbmUuXHJcbiAgICB9LFxyXG4gICAgcGxheWVySWRzOiB7XHJcbiAgICAgIDI6IDMsXHJcbiAgICB9LFxyXG4gICAgZmlyc3RVbmtub3duRmllbGQ6IDIwLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgTmV0d29ya1VwZGF0ZUhQOiB7XHJcbiAgICB0eXBlOiAnMzknLFxyXG4gICAgbmFtZTogJ05ldHdvcmtVcGRhdGVIUCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1VwZGF0ZUhwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICBuYW1lOiAzLFxyXG4gICAgICBjdXJyZW50SHA6IDQsXHJcbiAgICAgIG1heEhwOiA1LFxyXG4gICAgICBjdXJyZW50TXA6IDYsXHJcbiAgICAgIG1heE1wOiA3LFxyXG4gICAgICAvLyBjdXJyZW50VHA6IDgsXHJcbiAgICAgIC8vIG1heFRwOiA5LFxyXG4gICAgICB4OiAxMCxcclxuICAgICAgeTogMTEsXHJcbiAgICAgIHo6IDEyLFxyXG4gICAgICBoZWFkaW5nOiAxMyxcclxuICAgIH0sXHJcbiAgICBwbGF5ZXJJZHM6IHtcclxuICAgICAgMjogMyxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBNYXA6IHtcclxuICAgIHR5cGU6ICc0MCcsXHJcbiAgICBuYW1lOiAnTWFwJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnQ2hhbmdlTWFwJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGlkOiAyLFxyXG4gICAgICByZWdpb25OYW1lOiAzLFxyXG4gICAgICBwbGFjZU5hbWU6IDQsXHJcbiAgICAgIHBsYWNlTmFtZVN1YjogNSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBTeXN0ZW1Mb2dNZXNzYWdlOiB7XHJcbiAgICB0eXBlOiAnNDEnLFxyXG4gICAgbmFtZTogJ1N5c3RlbUxvZ01lc3NhZ2UnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdTeXN0ZW1Mb2dNZXNzYWdlJyxcclxuICAgIGZpZWxkczoge1xyXG4gICAgICB0eXBlOiAwLFxyXG4gICAgICB0aW1lc3RhbXA6IDEsXHJcbiAgICAgIGluc3RhbmNlOiAyLFxyXG4gICAgICBpZDogMyxcclxuICAgICAgcGFyYW0wOiA0LFxyXG4gICAgICBwYXJhbTE6IDUsXHJcbiAgICAgIHBhcmFtMjogNixcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBQYXJzZXJJbmZvOiB7XHJcbiAgICB0eXBlOiAnMjQ5JyxcclxuICAgIG5hbWU6ICdQYXJzZXJJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnU2V0dGluZ3MnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgUHJvY2Vzc0luZm86IHtcclxuICAgIHR5cGU6ICcyNTAnLFxyXG4gICAgbmFtZTogJ1Byb2Nlc3NJbmZvJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnUHJvY2VzcycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IHRydWUsXHJcbiAgfSxcclxuICBEZWJ1Zzoge1xyXG4gICAgdHlwZTogJzI1MScsXHJcbiAgICBuYW1lOiAnRGVidWcnLFxyXG4gICAgbWVzc2FnZVR5cGU6ICdEZWJ1ZycsXHJcbiAgICBmaWVsZHM6IHtcclxuICAgICAgdHlwZTogMCxcclxuICAgICAgdGltZXN0YW1wOiAxLFxyXG4gICAgfSxcclxuICAgIGdsb2JhbEluY2x1ZGU6IHRydWUsXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgUGFja2V0RHVtcDoge1xyXG4gICAgdHlwZTogJzI1MicsXHJcbiAgICBuYW1lOiAnUGFja2V0RHVtcCcsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1BhY2tldER1bXAnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgVmVyc2lvbjoge1xyXG4gICAgdHlwZTogJzI1MycsXHJcbiAgICBuYW1lOiAnVmVyc2lvbicsXHJcbiAgICBtZXNzYWdlVHlwZTogJ1ZlcnNpb24nLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBnbG9iYWxJbmNsdWRlOiB0cnVlLFxyXG4gICAgY2FuQW5vbnltaXplOiB0cnVlLFxyXG4gIH0sXHJcbiAgRXJyb3I6IHtcclxuICAgIHR5cGU6ICcyNTQnLFxyXG4gICAgbmFtZTogJ0Vycm9yJyxcclxuICAgIG1lc3NhZ2VUeXBlOiAnRXJyb3InLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBjYW5Bbm9ueW1pemU6IGZhbHNlLFxyXG4gIH0sXHJcbiAgTm9uZToge1xyXG4gICAgdHlwZTogJ1swLTldKycsXHJcbiAgICBuYW1lOiAnTm9uZScsXHJcbiAgICBtZXNzYWdlVHlwZTogJ05vbmUnLFxyXG4gICAgZmllbGRzOiB7XHJcbiAgICAgIHR5cGU6IDAsXHJcbiAgICAgIHRpbWVzdGFtcDogMSxcclxuICAgIH0sXHJcbiAgICBpc1Vua25vd246IHRydWUsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIFZlcmlmeSB0aGF0IHRoaXMgaGFzIHRoZSByaWdodCB0eXBlLCBidXQgZXhwb3J0IGBhcyBjb25zdGAuXHJcbmNvbnN0IGFzc2VydExvZ0RlZmluaXRpb25zOiBMb2dEZWZpbml0aW9uTWFwID0gbG9nRGVmaW5pdGlvbnM7XHJcbmNvbnNvbGUuYXNzZXJ0KGFzc2VydExvZ0RlZmluaXRpb25zKTtcclxuXHJcbmV4cG9ydCB0eXBlIExvZ0RlZmluaXRpb25zID0gdHlwZW9mIGxvZ0RlZmluaXRpb25zO1xyXG5leHBvcnQgdHlwZSBMb2dEZWZpbml0aW9uVHlwZXMgPSBrZXlvZiBMb2dEZWZpbml0aW9ucztcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlSGVscGVyRmllbGQ8XHJcbiAgVHlwZSBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcyxcclxuICBGaWVsZHMgZXh0ZW5kcyBOZXRGaWVsZHNSZXZlcnNlW1R5cGVdLFxyXG4gIEZpZWxkIGV4dGVuZHMga2V5b2YgRmllbGRzLFxyXG4+ID0ge1xyXG4gIGZpZWxkOiBGaWVsZHNbRmllbGRdIGV4dGVuZHMgc3RyaW5nID8gRmllbGRzW0ZpZWxkXSA6IG5ldmVyO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VIZWxwZXJGaWVsZHM8VCBleHRlbmRzIExvZ0RlZmluaXRpb25UeXBlcz4gPSB7XHJcbiAgW2ZpZWxkIGluIGtleW9mIE5ldEZpZWxkc1JldmVyc2VbVF1dOiBQYXJzZUhlbHBlckZpZWxkPFQsIE5ldEZpZWxkc1JldmVyc2VbVF0sIGZpZWxkPjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGxvZ0RlZmluaXRpb25zO1xyXG4iLCJpbXBvcnQgeyBOZXRQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9uZXRfcHJvcHMnO1xyXG5pbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uVHlwZXMsIFBhcnNlSGVscGVyRmllbGRzIH0gZnJvbSAnLi9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG5jb25zdCBzZXBhcmF0b3IgPSAnXFxcXHwnO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW158XSonO1xyXG5cclxuLy8gSWYgTmV0UmVnZXhlcy5zZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIGlzIHNldCB0byB0cnVlLCB0aGVuIGFueVxyXG4vLyByZWdleCBjcmVhdGVkIHRoYXQgcmVxdWlyZXMgYSB0cmFuc2xhdGlvbiB3aWxsIGJlZ2luIHdpdGggdGhpcyBzdHJpbmdcclxuLy8gYW5kIG1hdGNoIHRoZSBtYWdpY1N0cmluZ1JlZ2V4LiAgVGhpcyBpcyBtYXliZSBhIGJpdCBnb29meSwgYnV0IGlzXHJcbi8vIGEgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCB3YXkgdG8gbWFyayByZWdleGVzIGZvciB0cmFuc2xhdGlvbnMuXHJcbi8vIElmIGlzc3VlICMxMzA2IGlzIGV2ZXIgcmVzb2x2ZWQsIHdlIGNhbiByZW1vdmUgdGhpcy5cclxuY29uc3QgbWFnaWNUcmFuc2xhdGlvblN0cmluZyA9IGBeXmA7XHJcbmNvbnN0IG1hZ2ljU3RyaW5nUmVnZXggPSAvXlxcXlxcXi87XHJcbmNvbnN0IGtleXNUaGF0UmVxdWlyZVRyYW5zbGF0aW9uID0gW1xyXG4gICdhYmlsaXR5JyxcclxuICAnbmFtZScsXHJcbiAgJ3NvdXJjZScsXHJcbiAgJ3RhcmdldCcsXHJcbiAgJ2xpbmUnLFxyXG5dO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZnVuY05hbWU6IHN0cmluZyxcclxuICBmaWVsZHM6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+LFxyXG4pOiBDYWN0Ym90QmFzZVJlZ0V4cDxUPiA9PiB7XHJcbiAgcGFyYW1zID0gcGFyYW1zID8/IHt9O1xyXG4gIGNvbnN0IHZhbGlkRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBmb3IgKGNvbnN0IGluZGV4IGluIGZpZWxkcykge1xyXG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaW5kZXhdO1xyXG4gICAgaWYgKGZpZWxkKVxyXG4gICAgICB2YWxpZEZpZWxkcy5wdXNoKGZpZWxkLmZpZWxkKTtcclxuICB9XHJcblxyXG4gIFJlZ2V4ZXMudmFsaWRhdGVQYXJhbXMocGFyYW1zLCBmdW5jTmFtZSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIEZvciB0ZXN0aW5nLCBpdCdzIHVzZWZ1bCB0byBrbm93IGlmIHRoaXMgaXMgYSByZWdleCB0aGF0IHJlcXVpcmVzXHJcbiAgLy8gdHJhbnNsYXRpb24uICBXZSB0ZXN0IHRoaXMgYnkgc2VlaW5nIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWVkXHJcbiAgLy8gZmllbGRzLCBhbmQgaWYgc28sIGluc2VydGluZyBhIG1hZ2ljIHN0cmluZyB0aGF0IHdlIGNhbiBkZXRlY3QuXHJcbiAgLy8gVGhpcyBsZXRzIHVzIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBcInJlZ2V4IHRoYXQgc2hvdWxkIGJlIHRyYW5zbGF0ZWRcIlxyXG4gIC8vIGUuZy4gYSByZWdleCB3aXRoIGB0YXJnZXRgIHNwZWNpZmllZCwgYW5kIFwicmVnZXggdGhhdCBzaG91bGRuJ3RcIlxyXG4gIC8vIGUuZy4gYSBnYWlucyBlZmZlY3Qgd2l0aCBqdXN0IGVmZmVjdElkIHNwZWNpZmllZC5cclxuICBjb25zdCB0cmFuc1BhcmFtcyA9IE9iamVjdC5rZXlzKHBhcmFtcykuZmlsdGVyKChrKSA9PiBrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbi5pbmNsdWRlcyhrKSk7XHJcbiAgY29uc3QgbmVlZHNUcmFuc2xhdGlvbnMgPSBOZXRSZWdleGVzLmZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgJiYgdHJhbnNQYXJhbXMubGVuZ3RoID4gMDtcclxuXHJcbiAgLy8gQnVpbGQgdGhlIHJlZ2V4IGZyb20gdGhlIGZpZWxkcy5cclxuICBsZXQgc3RyID0gbmVlZHNUcmFuc2xhdGlvbnMgPyBtYWdpY1RyYW5zbGF0aW9uU3RyaW5nIDogJ14nO1xyXG4gIGxldCBsYXN0S2V5ID0gLTE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBrZXkgPSBwYXJzZUludChrZXlTdHIpO1xyXG4gICAgLy8gRmlsbCBpbiBibGFua3MuXHJcbiAgICBjb25zdCBtaXNzaW5nRmllbGRzID0ga2V5IC0gbGFzdEtleSAtIDE7XHJcbiAgICBpZiAobWlzc2luZ0ZpZWxkcyA9PT0gMSlcclxuICAgICAgc3RyICs9ICdcXFxceXtOZXRGaWVsZH0nO1xyXG4gICAgZWxzZSBpZiAobWlzc2luZ0ZpZWxkcyA+IDEpXHJcbiAgICAgIHN0ciArPSBgXFxcXHl7TmV0RmllbGR9eyR7bWlzc2luZ0ZpZWxkc319YDtcclxuICAgIGxhc3RLZXkgPSBrZXk7XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSBmaWVsZHNba2V5U3RyXTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZnVuY05hbWV9OiBpbnZhbGlkIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKTtcclxuXHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcbiAgICBjb25zdCBmaWVsZFZhbHVlID0gZmllbGRzW2tleVN0cl0/LnZhbHVlPy50b1N0cmluZygpID8/IG1hdGNoRGVmYXVsdDtcclxuXHJcbiAgICBpZiAoZmllbGROYW1lKSB7XHJcbiAgICAgIHN0ciArPSBSZWdleGVzLm1heWJlQ2FwdHVyZShcclxuICAgICAgICAvLyBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgICAvLyBtYXliZSB0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcmVmYWN0b3JpbmdcclxuICAgICAgICBjYXB0dXJlLFxyXG4gICAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgICAocGFyYW1zIGFzIHsgW3M6IHN0cmluZ106IHN0cmluZyB9KVtmaWVsZE5hbWVdLFxyXG4gICAgICAgIGZpZWxkVmFsdWUsXHJcbiAgICAgICkgK1xyXG4gICAgICAgIHNlcGFyYXRvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN0ciArPSBmaWVsZFZhbHVlICsgc2VwYXJhdG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0b3AgaWYgd2UncmUgbm90IGNhcHR1cmluZyBhbmQgZG9uJ3QgY2FyZSBhYm91dCBmdXR1cmUgZmllbGRzLlxyXG4gICAgaWYgKGtleSA+PSBtYXhLZXkpXHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV0UmVnZXhlcyB7XHJcbiAgc3RhdGljIGZsYWdUcmFuc2xhdGlvbnNOZWVkZWQgPSBmYWxzZTtcclxuICBzdGF0aWMgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgTmV0UmVnZXhlcy5mbGFnVHJhbnNsYXRpb25zTmVlZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN0YXRpYyBkb2VzTmV0UmVnZXhOZWVkVHJhbnNsYXRpb24ocmVnZXg6IFJlZ0V4cCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgLy8gTmVlZCB0byBgc2V0RmxhZ1RyYW5zbGF0aW9uc05lZWRlZGAgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5cclxuICAgIGNvbnNvbGUuYXNzZXJ0KE5ldFJlZ2V4ZXMuZmxhZ1RyYW5zbGF0aW9uc05lZWRlZCk7XHJcbiAgICBjb25zdCBzdHIgPSB0eXBlb2YgcmVnZXggPT09ICdzdHJpbmcnID8gcmVnZXggOiByZWdleC5zb3VyY2U7XHJcbiAgICByZXR1cm4gISFtYWdpY1N0cmluZ1JlZ2V4LmV4ZWMoc3RyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNC1uZXR3b3Jrc3RhcnRzY2FzdGluZ1xyXG4gICAqL1xyXG4gIHN0YXRpYyBzdGFydHNVc2luZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXJ0c1VzaW5nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhcnRzVXNpbmcnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnc3RhcnRzVXNpbmcnLCBkZWZhdWx0UGFyYW1zKCdTdGFydHNVc2luZycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqL1xyXG4gIHN0YXRpYyBhYmlsaXR5KHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWJpbGl0eScsIHtcclxuICAgICAgLi4uZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpLFxyXG4gICAgICAvLyBPdmVycmlkZSB0eXBlXHJcbiAgICAgIDA6IHsgZmllbGQ6ICd0eXBlJywgdmFsdWU6ICcyWzEyXScgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICpcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFiaWxpdHlgIGluc3RlYWRcclxuICAgKi9cclxuICBzdGF0aWMgYWJpbGl0eUZ1bGwocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiB0aGlzLmFiaWxpdHkocGFyYW1zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxYi1uZXR3b3JrdGFyZ2V0aWNvbi1oZWFkLW1hcmtlcnNcclxuICAgKi9cclxuICBzdGF0aWMgaGVhZE1hcmtlcihwYXJhbXM/OiBOZXRQYXJhbXNbJ0hlYWRNYXJrZXInXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdIZWFkTWFya2VyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2hlYWRNYXJrZXInLCBkZWZhdWx0UGFyYW1zKCdIZWFkTWFya2VyJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudChwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIoXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgJ2FkZGVkQ29tYmF0YW50JyxcclxuICAgICAgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnLCBbXHJcbiAgICAgICAgJ3R5cGUnLFxyXG4gICAgICAgICd0aW1lc3RhbXAnLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICBdKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDMtYWRkY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIGFkZGVkQ29tYmF0YW50RnVsbChcclxuICAgIHBhcmFtcz86IE5ldFBhcmFtc1snQWRkZWRDb21iYXRhbnQnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWRkZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnYWRkZWRDb21iYXRhbnRGdWxsJywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAncmVtb3ZpbmdDb21iYXRhbnQnLCBkZWZhdWx0UGFyYW1zKCdSZW1vdmVkQ29tYmF0YW50JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFhLW5ldHdvcmtidWZmXHJcbiAgICovXHJcbiAgc3RhdGljIGdhaW5zRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snR2FpbnNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYWluc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdnYWluc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0dhaW5zRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZmVyIGdhaW5zRWZmZWN0IG92ZXIgdGhpcyBmdW5jdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGV4dHJhIGRhdGEuXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzI2LW5ldHdvcmtzdGF0dXNlZmZlY3RzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXR1c0VmZmVjdEV4cGxpY2l0KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTdGF0dXNFZmZlY3QnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3RhdHVzRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXR1c0VmZmVjdEV4cGxpY2l0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdsb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gTmV0UmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ2dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIE5ldFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ3N0YXRDaGFuZ2UnLCBkZWZhdWx0UGFyYW1zKCdQbGF5ZXJTdGF0cycpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMS1jaGFuZ2V6b25lXHJcbiAgICovXHJcbiAgc3RhdGljIGNoYW5nZVpvbmUocGFyYW1zPzogTmV0UGFyYW1zWydDaGFuZ2Vab25lJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQ2hhbmdlWm9uZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdjaGFuZ2Vab25lJywgZGVmYXVsdFBhcmFtcygnQ2hhbmdlWm9uZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMS1uZXR3b3JrNmQtYWN0b3ItY29udHJvbC1saW5lc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBuZXR3b3JrNmQocGFyYW1zPzogTmV0UGFyYW1zWydBY3RvckNvbnRyb2wnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnbmV0d29yazZkJywgZGVmYXVsdFBhcmFtcygnQWN0b3JDb250cm9sJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIyLW5ldHdvcmtuYW1ldG9nZ2xlXHJcbiAgICovXHJcbiAgc3RhdGljIG5hbWVUb2dnbGUocGFyYW1zPzogTmV0UGFyYW1zWydOYW1lVG9nZ2xlJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTmFtZVRvZ2dsZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICduYW1lVG9nZ2xlJywgZGVmYXVsdFBhcmFtcygnTmFtZVRvZ2dsZScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOC1tYXBcclxuICAgKi9cclxuICBzdGF0aWMgbWFwKHBhcmFtcz86IE5ldFBhcmFtc1snTWFwJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnTWFwJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ21hcCcsIGRlZmF1bHRQYXJhbXMoJ01hcCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyOS1zeXN0ZW1sb2dtZXNzYWdlXHJcbiAgICovXHJcbiAgc3RhdGljIHN5c3RlbUxvZ01lc3NhZ2UoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N5c3RlbUxvZ01lc3NhZ2UnXSxcclxuICApOiBDYWN0Ym90QmFzZVJlZ0V4cDwnU3lzdGVtTG9nTWVzc2FnZSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdzeXN0ZW1Mb2dNZXNzYWdlJywgZGVmYXVsdFBhcmFtcygnU3lzdGVtTG9nTWVzc2FnZScpKTtcclxuICB9XHJcbn1cclxuIiwiLy8gSGVscGVyIEVycm9yIGZvciBUeXBlU2NyaXB0IHNpdHVhdGlvbnMgd2hlcmUgdGhlIHByb2dyYW1tZXIgdGhpbmtzIHRoZXlcclxuLy8ga25vdyBiZXR0ZXIgdGhhbiBUeXBlU2NyaXB0IHRoYXQgc29tZSBzaXR1YXRpb24gd2lsbCBuZXZlciBvY2N1ci5cclxuXHJcbi8vIFRoZSBpbnRlbnRpb24gaGVyZSBpcyB0aGF0IHRoZSBwcm9ncmFtbWVyIGRvZXMgbm90IGV4cGVjdCBhIHBhcnRpY3VsYXJcclxuLy8gYml0IG9mIGNvZGUgdG8gaGFwcGVuLCBhbmQgc28gaGFzIG5vdCB3cml0dGVuIGNhcmVmdWwgZXJyb3IgaGFuZGxpbmcuXHJcbi8vIElmIGl0IGRvZXMgb2NjdXIsIGF0IGxlYXN0IHRoZXJlIHdpbGwgYmUgYW4gZXJyb3IgYW5kIHdlIGNhbiBmaWd1cmUgb3V0IHdoeS5cclxuLy8gVGhpcyBpcyBwcmVmZXJhYmxlIHRvIGNhc3Rpbmcgb3IgZGlzYWJsaW5nIFR5cGVTY3JpcHQgYWx0b2dldGhlciBpbiBvcmRlciB0b1xyXG4vLyBhdm9pZCBzeW50YXggZXJyb3JzLlxyXG5cclxuLy8gT25lIGNvbW1vbiBleGFtcGxlIGlzIGEgcmVnZXgsIHdoZXJlIGlmIHRoZSByZWdleCBtYXRjaGVzIHRoZW4gYWxsIG9mIHRoZVxyXG4vLyAobm9uLW9wdGlvbmFsKSByZWdleCBncm91cHMgd2lsbCBhbHNvIGJlIHZhbGlkLCBidXQgVHlwZVNjcmlwdCBkb2Vzbid0IGtub3cuXHJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNvZGUgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVGhpcyBjb2RlIHNob3VsZG5cXCd0IGJlIHJlYWNoZWQnKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgRnVsbExvY2FsZVRleHQgfSBmcm9tICcuLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbi8vIE91dHB1dCBzdHJpbmdzIGZvciBub3cgcmVxdWlyZSBhIGZpZWxkIGZvciBldmVyeSBsYW5ndWFnZSwgc28gdGhpcyBpcyBhXHJcbi8vIGhlbHBlciBmdW5jdGlvbiB0byBnZW5lcmF0ZSBvbmUgZm9yIGxpdGVyYWwgbnVtYmVycy5cclxuY29uc3QgbnVtYmVyVG9PdXRwdXRTdHJpbmcgPSBmdW5jdGlvbihuOiBudW1iZXIpOiBGdWxsTG9jYWxlVGV4dCB7XHJcbiAgY29uc3Qgc3RyID0gbi50b1N0cmluZygpO1xyXG4gIHJldHVybiB7XHJcbiAgICBlbjogc3RyLFxyXG4gICAgZGU6IHN0cixcclxuICAgIGZyOiBzdHIsXHJcbiAgICBqYTogc3RyLFxyXG4gICAgY246IHN0cixcclxuICAgIGtvOiBzdHIsXHJcbiAgfTtcclxufTtcclxuXHJcbi8vIEdlbmVyYWwgZ3VpZGVsaW5lczpcclxuLy8gKiBwcm9wZXJ0eSBuYW1lcyBzaG91bGQgY2xvc2VseSBtYXRjaCBFbmdsaXNoIHRleHRcclxuLy8gKiB1c2UgT25QbGF5ZXIgc3VmZml4IGZvciB0aGluZ3Mgd2l0aCBgJHtwbGF5ZXJ9YFxyXG4vLyAqIHVzZSBPblRhcmdldCBzdWZmaXggZm9yIHRoaW5ncyB3aXRoIGAke25hbWV9YFxyXG4vLyAqIGFueSBvdGhlciBwYXJhbWV0ZXJzIChvZiB3aGljaCB0aGVyZSBhcmUgbm9uZSwgY3VycmVudGx5KSBzaG91bGQgdXNlIGNvbnNpc3RlbnQgc3VmZml4ZXMuXHJcbi8vICogdGhlIHZhbHVlIG9mIGVhY2ggcHJvcGVydHkgc2hvdWxkIGJlIGEgc2luZ2xlIG9iamVjdCB3aXRoIGxvY2FsaXplZCBrZXlzXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBhb2U6IHtcclxuICAgIGVuOiAnYW9lJyxcclxuICAgIGRlOiAnQW9FJyxcclxuICAgIGZyOiAnQW9FJyxcclxuICAgIGphOiAnQW9FJyxcclxuICAgIGNuOiAnQW9FJyxcclxuICAgIGtvOiAn7KCE7LK0IOqzteqyqScsXHJcbiAgfSxcclxuICBiaWdBb2U6IHtcclxuICAgIGVuOiAnYmlnIGFvZSEnLFxyXG4gICAgZGU6ICdHcm/Dn2UgQW9FIScsXHJcbiAgICBmcjogJ0dyb3NzZSBBb0UgIScsXHJcbiAgICBqYTogJ+Wkp+ODgOODoeODvOOCuEFvRScsXHJcbiAgICBjbjogJ+Wkp0FvReS8pOWus++8gScsXHJcbiAgICBrbzogJ+qwle2VnCDsoITssrQg6rO16rKpIScsXHJcbiAgfSxcclxuICB0YW5rQnVzdGVyOiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcicsXHJcbiAgICBqYTogJ+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+WdpuWFi+atu+WIkScsXHJcbiAgICBrbzogJ+2DseuyhCcsXHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiB7XHJcbiAgICBlbjogJ01pbmkgQnVzdGVyJyxcclxuICAgIGRlOiAnS2xlaW5lciBUYW5rYnVzdGVyJyxcclxuICAgIGZyOiAnTWluaSBCdXN0ZXInLFxyXG4gICAgamE6ICfjg5/jg4vjg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflsI/mrbvliJEnLFxyXG4gICAga286ICfslb3tlZwg7YOx67KEJyxcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJPblBsYXllcjoge1xyXG4gICAgZW46ICdUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdUYW5rIGJ1c3RlciBhdWYgJHtwbGF5ZXJ9JyxcclxuICAgIGZyOiAnVGFuayBidXN0ZXIgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkSDngrkgJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0J1c3Rlck9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgQnVzdGVyIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgYnVzdGVyIGF1ZiBESVInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCv+ODs+OCr+ODkOOCueOCv+ODvCcsXHJcbiAgICBjbjogJ+atu+WIkeeCueWQjScsXHJcbiAgICBrbzogJ+2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgLy8gd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgdGFua2J1c3RlcnMgZ29pbmcgb3V0XHJcbiAgdGFua0J1c3RlcnM6IHtcclxuICAgIGVuOiAnVGFuayBCdXN0ZXJzJyxcclxuICAgIGRlOiAnVGFuayBidXN0ZXInLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlcnMnLFxyXG4gICAgamE6ICfjgr/jg7Pjgq/jg5Djgrnjgr/jg7wnLFxyXG4gICAgY246ICflnablhYvmrbvliJEnLFxyXG4gICAga286ICftg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdUYW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlJyxcclxuICAgIGZyOiAnVGFuayBjbGVhdmUnLFxyXG4gICAgamE6ICfliY3mlrnnr4Tlm7LmlLvmkoMnLFxyXG4gICAgY246ICfpobrliognLFxyXG4gICAga286ICfqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIGF2b2lkVGFua0NsZWF2ZToge1xyXG4gICAgZW46ICdBdm9pZCB0YW5rIGNsZWF2ZScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1c3dlaWNoZW4nLFxyXG4gICAgZnI6ICfDiXZpdGV6IGxlIHRhbmsgY2xlYXZlJyxcclxuICAgIGphOiAn5YmN5pa556+E5Zuy5pS75pKD44KS6YG/44GR44KLJyxcclxuICAgIGNuOiAn6L+c56a76aG65YqIJyxcclxuICAgIGtvOiAn6rSR7JetIO2DseuyhCDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgdGFua0NsZWF2ZU9uWW91OiB7XHJcbiAgICBlbjogJ1RhbmsgY2xlYXZlIG9uIFlPVScsXHJcbiAgICBkZTogJ1RhbmsgQ2xlYXZlIGF1ZCBESVInLFxyXG4gICAgZnI6ICdUYW5rIGNsZWF2ZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+WJjeaWueevhOWbsuaUu+aSgycsXHJcbiAgICBjbjogJ+mhuuWKiOeCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDqtJHsl60g7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXI6IHtcclxuICAgIGVuOiAnU2hhcmVkIFRhbmsgQnVzdGVyJyxcclxuICAgIGZyOiAnUGFydGFnZXogbGUgVGFuayBidXN0ZXInLFxyXG4gICAgY246ICfliIbmkYrmrbvliJEnLFxyXG4gICAga286ICfsiZDslrQg7YOx67KEJyxcclxuICB9LFxyXG4gIHNoYXJlZFRhbmtidXN0ZXJPbllvdToge1xyXG4gICAgZW46ICdTaGFyZWQgVGFuayBCdXN0ZXIgb24gWU9VJyxcclxuICAgIGRlOiAnZ2V0ZWlsdGVyIFRhbmtidXN0ZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ1RhbmsgYnVzdGVyIMOgIHBhcnRhZ2VyIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr44K/44Oz44Kv44K344Kn44KiJyxcclxuICAgIGNuOiAn5YiG5pGK5q275YiR54K55ZCNJyxcclxuICAgIGtvOiAn7ImQ7Ja0IO2DseuyhCDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgc2hhcmVkVGFua2J1c3Rlck9uUGxheWVyOiB7XHJcbiAgICBlbjogJ1NoYXJlZCBUYW5rIEJ1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdnZXRlaWx0ZXIgVGFua2J1c3RlciBvbiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdUYW5rIGJ1c3RlciDDoCBwYXJ0YWdlciBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ9IOOBq+OCv+ODs+OCr+OCt+OCp+OCoicsXHJcbiAgICBjbjogJ+WIhuaRiuatu+WIkeeCuSAke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtCDtg7HrsoQnLFxyXG4gIH0sXHJcbiAgdGFua1N3YXA6IHtcclxuICAgIGVuOiAnVGFuayBTd2FwIScsXHJcbiAgICBkZTogJ1Rhbmt3ZWNoc2VsIScsXHJcbiAgICBmcjogJ1Rhbmsgc3dhcCAhJyxcclxuICAgIGphOiAn44K/44Oz44Kv44K544Kk44OD44OBIScsXHJcbiAgICBjbjogJ+aNolTvvIEnLFxyXG4gICAga286ICftg7Eg6rWQ64yAJyxcclxuICB9LFxyXG4gIHNwcmVhZDoge1xyXG4gICAgZW46ICdTcHJlYWQnLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdEaXNwZXJzZXotdm91cycsXHJcbiAgICBqYTogJ+aVo+mWiycsXHJcbiAgICBjbjogJ+WIhuaVoycsXHJcbiAgICBrbzogJ+yCsOqwnCcsXHJcbiAgfSxcclxuICBzdGFja01hcmtlcjoge1xyXG4gICAgLy8gZm9yIHN0YWNrIG1hcmtlciBzaXR1YXRpb25zXHJcbiAgICBlbjogJ1N0YWNrJyxcclxuICAgIGRlOiAnU2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzJyxcclxuICAgIGphOiAn6aCt5Ymy44KKJyxcclxuICAgIGNuOiAn5YiG5pGKJyxcclxuICAgIGtvOiAn7ImQ7Ja0646AJyxcclxuICB9LFxyXG4gIGdldFRvZ2V0aGVyOiB7XHJcbiAgICAvLyBmb3IgZ2V0dGluZyB0b2dldGhlciB3aXRob3V0IHN0YWNrIG1hcmtlclxyXG4gICAgZW46ICdTdGFjaycsXHJcbiAgICBkZTogJ1NhbW1lbG4nLFxyXG4gICAgZnI6ICdQYWNrZXotdm91cycsXHJcbiAgICBqYTogJ+mbhuWQiCcsXHJcbiAgICBjbjogJ+mbhuWQiCcsXHJcbiAgICBrbzogJ+uqqOydtOq4sCcsXHJcbiAgfSxcclxuICBzdGFja09uWW91OiB7XHJcbiAgICBlbjogJ1N0YWNrIG9uIFlPVScsXHJcbiAgICBkZTogJ0F1ZiBESVIgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2thZ2Ugc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavpm4blkIgnLFxyXG4gICAgY246ICfpm4blkIjngrnlkI0nLFxyXG4gICAga286ICfsiZDslrTsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIHN0YWNrT25QbGF5ZXI6IHtcclxuICAgIGVuOiAnU3RhY2sgb24gJHtwbGF5ZXJ9JyxcclxuICAgIGRlOiAnQXVmICR7cGxheWVyfSBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6LXZvdXMgc3VyICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBq+mbhuWQiCcsXHJcbiAgICBjbjogJ+mdoOi/kSAke3BsYXllcn3pm4blkIgnLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIOyJkOyWtOynlScsXHJcbiAgfSxcclxuICBzdGFja01pZGRsZToge1xyXG4gICAgZW46ICdTdGFjayBpbiBtaWRkbGUnLFxyXG4gICAgZGU6ICdJbiBkZXIgTWl0dGUgc2FtbWVsbicsXHJcbiAgICBmcjogJ1BhY2tlei12b3VzIGF1IG1pbGlldScsXHJcbiAgICBqYTogJ+S4reWkruOBp+mbhuWQiCcsXHJcbiAgICBjbjogJ+S4remXtOmbhuWQiCcsXHJcbiAgICBrbzogJ+ykkeyVmeyXkOyEnCDrqqjsnbTquLAnLFxyXG4gIH0sXHJcbiAgZG9yaXRvU3RhY2s6IHtcclxuICAgIGVuOiAnRG9yaXRvIFN0YWNrJyxcclxuICAgIGRlOiAnTWl0IE1hcmtlciBzYW1tZWxuJyxcclxuICAgIGZyOiAnUGFja2V6IGxlcyBtYXJxdWFnZXMnLFxyXG4gICAgamE6ICfjg57jg7zjgqvjg7zku5jjgZHjgZ/kurrjgajpm4blkIgnLFxyXG4gICAgY246ICfngrnlkI3pm4blkIgnLFxyXG4gICAga286ICfsp5Xrgbzrpqwg66qo7J206riwJyxcclxuICB9LFxyXG4gIHNwcmVhZFRoZW5TdGFjazoge1xyXG4gICAgZW46ICdTcHJlYWQgPT4gU3RhY2snLFxyXG4gICAgZGU6ICdWZXJ0ZWlsZW4gPT4gU2FtbWVsbicsXHJcbiAgICBmcjogJ0Rpc3BlcnNpb24gPT4gUGFja2FnZScsXHJcbiAgICBqYTogJ+aVo+mWiyA9PiDpm4blkIgnLFxyXG4gICAgY246ICfliIbmlaMgPT4g6ZuG5ZCIJyxcclxuICAgIGtvOiAn7IKw6rCcID0+IOynke2VqScsXHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IHtcclxuICAgIGVuOiAnU3RhY2sgPT4gU3ByZWFkJyxcclxuICAgIGRlOiAnU2FtbWVsbiA9PiBWZXJ0ZWlsZW4nLFxyXG4gICAgZnI6ICdQYWNrYWdlID0+IERpc3BlcnNpb24nLFxyXG4gICAgamE6ICfjgrnjgr/jg4Pjgq8gPT4g5pWj6ZaLJyxcclxuICAgIGNuOiAn6ZuG5ZCIID0+IOWIhuaVoycsXHJcbiAgICBrbzogJ+ynke2VqSA9PiDsgrDqsJwnLFxyXG4gIH0sXHJcbiAgZHJhd0luOiB7XHJcbiAgICAvLyBPcHBvc2l0ZSBvZiBhIGtub2NrYmFjay5cclxuICAgIGVuOiAnRHJhdyBJbicsXHJcbiAgICBkZTogJ0Vpbnp1ZycsXHJcbiAgICBmcjogJ0F0dHJhY3Rpb24nLFxyXG4gICAgamE6ICflkLjovrzjgb8nLFxyXG4gICAgY246ICflkLjlvJUnLFxyXG4gICAga286ICfrgYzslrTri7nquYAnLFxyXG4gIH0sXHJcbiAga25vY2tiYWNrOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjaycsXHJcbiAgICBkZTogJ1LDvGNrc3Rvw58nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZScsXHJcbiAgICBqYTogJ+ODjuODg+OCr+ODkOODg+OCrycsXHJcbiAgICBjbjogJ+WHu+mAgCcsXHJcbiAgICBrbzogJ+uEieuwsScsXHJcbiAgfSxcclxuICBrbm9ja2JhY2tPbllvdToge1xyXG4gICAgZW46ICdLbm9ja2JhY2sgb24gWU9VJyxcclxuICAgIGRlOiAnUsO8Y2tzdG/DnyBhdWYgRElSJyxcclxuICAgIGZyOiAnUG91c3PDqWUgc3VyIFZPVVMnLFxyXG4gICAgamE6ICfoh6rliIbjgavjg47jg4Pjgq/jg5Djg4Pjgq8nLFxyXG4gICAgY246ICflh7vpgIDngrnlkI0nLFxyXG4gICAga286ICfrhInrsLHsp5Ug64yA7IOB7J6QJyxcclxuICB9LFxyXG4gIGtub2NrYmFja09uUGxheWVyOiB7XHJcbiAgICBlbjogJ0tub2NrYmFjayBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdSw7xja3N0b8OfIGF1ZiAke3BsYXllcn0nLFxyXG4gICAgZnI6ICdQb3Vzc8OpZSBzdXIgJHtwbGF5ZXJ9JyxcclxuICAgIGphOiAnJHtwbGF5ZXJ944Gr44OO44OD44Kv44OQ44OD44KvJyxcclxuICAgIGNuOiAn5Ye76YCA54K55ZCNJHtwbGF5ZXJ9JyxcclxuICAgIGtvOiAnXCIke3BsYXllcn1cIiDrhInrsLHsp5UnLFxyXG4gIH0sXHJcbiAgbG9va1Rvd2FyZHNCb3NzOiB7XHJcbiAgICBlbjogJ0xvb2sgVG93YXJkcyBCb3NzJyxcclxuICAgIGRlOiAnQW5zY2hhdWVuIEJvc3MnLFxyXG4gICAgZnI6ICdSZWdhcmRleiBsZSBib3NzJyxcclxuICAgIGphOiAn44Oc44K544KS6KaL44KLJyxcclxuICAgIGNuOiAn6Z2i5ZCRQm9zcycsXHJcbiAgICBrbzogJ+yzkOuLpOuztOq4sCcsXHJcbiAgfSxcclxuICBsb29rQXdheToge1xyXG4gICAgZW46ICdMb29rIEF3YXknLFxyXG4gICAgZGU6ICdXZWdzY2hhdWVuJyxcclxuICAgIGZyOiAnUmVnYXJkZXogYWlsbGV1cnMnLFxyXG4gICAgamE6ICfjg5zjgrnjgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7lCb3NzJyxcclxuICAgIGtvOiAn65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVBsYXllcjoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdTY2hhdSB3ZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ05lIHJlZ2FyZGV6IHBhcyAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgpLopovjgarjgYQnLFxyXG4gICAgY246ICfog4zlr7kke3BsYXllcn0nLFxyXG4gICAga286ICcke3BsYXllcn3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGxvb2tBd2F5RnJvbVRhcmdldDoge1xyXG4gICAgZW46ICdMb29rIEF3YXkgZnJvbSAke25hbWV9JyxcclxuICAgIGRlOiAnU2NoYXUgd2VnIHZvbiAke25hbWV9JyxcclxuICAgIGZyOiAnTmUgcmVnYXJkZXogcGFzICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV944KS6KaL44Gq44GEJyxcclxuICAgIGNuOiAn6IOM5a+5JHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3sl5DqsozshJwg65Kk64+M6riwJyxcclxuICB9LFxyXG4gIGdldEJlaGluZDoge1xyXG4gICAgZW46ICdHZXQgQmVoaW5kJyxcclxuICAgIGRlOiAnSGludGVyIGlobicsXHJcbiAgICBmcjogJ1Bhc3NleiBkZXJyacOocmUnLFxyXG4gICAgamE6ICfog4zpnaLjgbgnLFxyXG4gICAgY246ICfljrvog4zlkI4nLFxyXG4gICAga286ICfrs7TsiqQg65Kk66GcJyxcclxuICB9LFxyXG4gIGdvRnJvbnRPclNpZGVzOiB7XHJcbiAgICBlbjogJ0dvIEZyb250IC8gU2lkZXMnLFxyXG4gICAgZGU6ICdHZWhlIG5hY2ggVm9ybmUvIHp1IGRlbiBTZWl0ZW4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQgLyBDw7R0w6lzJyxcclxuICAgIGphOiAn5YmN77yP5qiq44G4JyxcclxuICAgIGNuOiAn5Y675YmN5L6n5pa5JyxcclxuICAgIGtvOiAn67O07IqkIO2bhOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgZ29Gcm9udDoge1xyXG4gICAgZW46ICdHbyBGcm9udCcsXHJcbiAgICBkZTogJ0dlaCBuYWNoIHZvcm4nLFxyXG4gICAgZnI6ICdBbGxleiBEZXZhbnQnLFxyXG4gICAgamE6ICfliY3jgbgnLFxyXG4gICAgY246ICfljrvliY3pnaInLFxyXG4gICAga286ICfslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gZ2V0VW5kZXIgaXMgdXNlZCB3aGVuIHlvdSBoYXZlIHRvIGdldCBpbnRvIHRoZSBib3NzZXMgaGl0Ym94XHJcbiAgZ2V0VW5kZXI6IHtcclxuICAgIGVuOiAnR2V0IFVuZGVyJyxcclxuICAgIGRlOiAnVW50ZXIgaWhuJyxcclxuICAgIGZyOiAnRW4gZGVzc291cycsXHJcbiAgICBqYTogJ+ODnOOCueOBq+iyvOOCiuS7mOOBjycsXHJcbiAgICBjbjogJ+WOu+iEmuS4iycsXHJcbiAgICBrbzogJ+uztOyKpCDslYTrnpjroZwnLFxyXG4gIH0sXHJcbiAgLy8gaW4gaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGluOiB7XHJcbiAgICBlbjogJ0luJyxcclxuICAgIGRlOiAnUmVpbicsXHJcbiAgICBmcjogJ0ludMOpcmlldXInLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfpnaDov5EnLFxyXG4gICAga286ICfslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgLy8gb3V0IG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIG91dDoge1xyXG4gICAgZW46ICdPdXQnLFxyXG4gICAgZGU6ICdSYXVzJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1cicsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemuycsXHJcbiAgICBrbzogJ+uwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRPZk1lbGVlOiB7XHJcbiAgICBlbjogJ091dCBvZiBtZWxlZScsXHJcbiAgICBkZTogJ1JhdXMgYXVzIE5haGthbXBmJyxcclxuICAgIGZyOiAnU29ydGV6IGRlIGxhIG3DqmzDqWUnLFxyXG4gICAgamE6ICfov5HmjqXmnIDlpKfjg6zjg7PjgrgnLFxyXG4gICAgY246ICfov5HmiJjmnIDov5zot53nprvlm57pgb8nLFxyXG4gICAga286ICfqt7zsoJHrspTsnIQg67CW7Jy866GcJyxcclxuICB9LFxyXG4gIGluVGhlbk91dDoge1xyXG4gICAgZW46ICdJbiwgdGhlbiBvdXQnLFxyXG4gICAgZGU6ICdSZWluLCBkYW5uIHJhdXMnLFxyXG4gICAgZnI6ICdJbnTDqXJpZXVyLCBwdWlzIGV4dMOpcmlldXInLFxyXG4gICAgamE6ICfkuK0gPT4g5aSWJyxcclxuICAgIGNuOiAn5YWI6Z2g6L+R77yM5YaN6L+c56a7JyxcclxuICAgIGtvOiAn7JWI7Jy866GcID0+IOuwluycvOuhnCcsXHJcbiAgfSxcclxuICBvdXRUaGVuSW46IHtcclxuICAgIGVuOiAnT3V0LCB0aGVuIGluJyxcclxuICAgIGRlOiAnUmF1cywgZGFubiByZWluJyxcclxuICAgIGZyOiAnRXh0w6lyaWV1ciwgcHVpcyBpbnTDqXJpZXVyJyxcclxuICAgIGphOiAn5aSWID0+IOS4rScsXHJcbiAgICBjbjogJ+WFiOi/nOemu++8jOWGjemdoOi/kScsXHJcbiAgICBrbzogJ+uwluycvOuhnCA9PiDslYjsnLzroZwnLFxyXG4gIH0sXHJcbiAgYmFja1RoZW5Gcm9udDoge1xyXG4gICAgZW46ICdCYWNrIFRoZW4gRnJvbnQnLFxyXG4gICAgZGU6ICdOYWNoIEhpbnRlbiwgZGFuYWNoIG5hY2ggVm9ybmUnLFxyXG4gICAgZnI6ICdEZXJyacOocmUgcHVpcyBkZXZhbnQnLFxyXG4gICAgamE6ICflvozjgo0gPT4g5YmNJyxcclxuICAgIGNuOiAn5ZCOID0+IOWJjScsXHJcbiAgICBrbzogJ+uSpOuhnCA9PiDslZ7snLzroZwnLFxyXG4gIH0sXHJcbiAgZnJvbnRUaGVuQmFjazoge1xyXG4gICAgZW46ICdGcm9udCBUaGVuIEJhY2snLFxyXG4gICAgZGU6ICdOYWNoIFZvcm5lLCBkYW5hY2ggbmFjaCBIaW50ZW4nLFxyXG4gICAgZnI6ICdEZXZhbnQgcHVpcyBkZXJyacOocmUnLFxyXG4gICAgamE6ICfliY0gPT4g5b6M44KNJyxcclxuICAgIGNuOiAn5YmNID0+IOWQjicsXHJcbiAgICBrbzogJ+yVnuycvOuhnCA9PiDrkqTroZwnLFxyXG4gIH0sXHJcbiAgZ29JbnRvTWlkZGxlOiB7XHJcbiAgICBlbjogJ0dldCBNaWRkbGUnLFxyXG4gICAgZGU6ICdpbiBkaWUgTWl0dGUgZ2VoZW4nLFxyXG4gICAgZnI6ICdBbGxleiBhdSBtaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfljrvkuK3pl7QnLFxyXG4gICAga286ICfspJHslZnsnLzroZwnLFxyXG4gIH0sXHJcbiAgcmlnaHQ6IHtcclxuICAgIGVuOiAnUmlnaHQnLFxyXG4gICAgZGU6ICdSZWNodHMnLFxyXG4gICAgZnI6ICfDgCBkcm9pdGUnLFxyXG4gICAgamE6ICflj7PjgbgnLFxyXG4gICAgY246ICflj7MnLFxyXG4gICAga286ICfsmKTrpbjsqr0nLFxyXG4gIH0sXHJcbiAgbGVmdDoge1xyXG4gICAgZW46ICdMZWZ0JyxcclxuICAgIGRlOiAnTGlua3MnLFxyXG4gICAgZnI6ICfDgCBnYXVjaGUnLFxyXG4gICAgamE6ICflt6bjgbgnLFxyXG4gICAgY246ICflt6YnLFxyXG4gICAga286ICfsmbzsqr0nLFxyXG4gIH0sXHJcbiAgZ2V0TGVmdEFuZFdlc3Q6IHtcclxuICAgIGVuOiAnPD0gR2V0IExlZnQvV2VzdCcsXHJcbiAgICBkZTogJzw9IE5hY2ggTGlua3MvV2VzdGVuJyxcclxuICAgIGZyOiAnPD0gQWxsZXogw6AgR2F1Y2hlL091ZXN0JyxcclxuICAgIGphOiAnPD0g5bemL+ilv+OBuCcsXHJcbiAgICBjbjogJzw9IOWOu+W3pi/opb/ovrknLFxyXG4gICAga286ICc8PSDsmbzsqr3snLzroZwnLFxyXG4gIH0sXHJcbiAgZ2V0UmlnaHRBbmRFYXN0OiB7XHJcbiAgICBlbjogJ0dldCBSaWdodC9FYXN0ID0+JyxcclxuICAgIGRlOiAnTmFjaCBSZWNodHMvT3N0ZW4gPT4nLFxyXG4gICAgZnI6ICdBbGxleiDDoCBEcm9pdGUvRXN0ID0+JyxcclxuICAgIGphOiAn5Y+zL+adseOBuCA9PicsXHJcbiAgICBjbjogJ+WOu+WPsy/kuJzovrkgPT4nLFxyXG4gICAga286ICfsmKTrpbjsqr3snLzroZwgPT4nLFxyXG4gIH0sXHJcbiAgZ29Gcm9udEJhY2s6IHtcclxuICAgIGVuOiAnR28gRnJvbnQvQmFjaycsXHJcbiAgICBkZTogJ0dlaCBuYWNoIFZvcm5lL0hpbnRlbicsXHJcbiAgICBmcjogJ0FsbGV6IERldmFudC9EZXJyacOocmUnLFxyXG4gICAgamE6ICfnuKbjgbgnLFxyXG4gICAgY246ICfljrvliY3lkI4nLFxyXG4gICAga286ICfslZ4v65Kk66GcJyxcclxuICB9LFxyXG4gIHNpZGVzOiB7XHJcbiAgICBlbjogJ1NpZGVzJyxcclxuICAgIGRlOiAnU2VpdGVuJyxcclxuICAgIGZyOiAnQ8O0dMOpcycsXHJcbiAgICBqYTogJ+aoquOBuCcsXHJcbiAgICBjbjogJ+WOu+S+p+mdoicsXHJcbiAgICBrbzogJ+yWkeyYhuycvOuhnCcsXHJcbiAgfSxcclxuICBtaWRkbGU6IHtcclxuICAgIGVuOiAnTWlkZGxlJyxcclxuICAgIGRlOiAnTWl0dGUnLFxyXG4gICAgZnI6ICdNaWxpZXUnLFxyXG4gICAgamE6ICfkuK3jgbgnLFxyXG4gICAgY246ICfkuK3pl7QnLFxyXG4gICAga286ICfspJHslZknLFxyXG4gIH0sXHJcbiAgLy8ga2lsbEFkZHMgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiB7XHJcbiAgICBlbjogJ0tpbGwgYWRkcycsXHJcbiAgICBkZTogJ0FkZHMgYmVzaWVnZW4nLFxyXG4gICAgZnI6ICdUdWV6IGxlcyBhZGRzJyxcclxuICAgIGphOiAn6ZuR6a2a44KS5Yem55CGJyxcclxuICAgIGNuOiAn5Ye75p2A5bCP5oCqJyxcclxuICAgIGtvOiAn7KuEIOyeoeq4sCcsXHJcbiAgfSxcclxuICAvLyBraWxsRXh0cmFBZGQgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDoge1xyXG4gICAgZW46ICdLaWxsIEV4dHJhIEFkZCcsXHJcbiAgICBkZTogJ0FkZCBiZXNpZWdlbicsXHJcbiAgICBmcjogJ1R1ZXogbFxcJ2FkZCcsXHJcbiAgICBqYTogJ+mbkemtmuOCkuWAkuOBmScsXHJcbiAgICBjbjogJ+WHu+adgOWwj+aAqicsXHJcbiAgICBrbzogJ+yrhCDsnqHquLAnLFxyXG4gIH0sXHJcbiAgYXdheUZyb21Gcm9udDoge1xyXG4gICAgZW46ICdBd2F5IEZyb20gRnJvbnQnLFxyXG4gICAgZGU6ICdXZWcgdm9uIFZvcm5lJyxcclxuICAgIGZyOiAnw4lsb2lnbmV6LXZvdXMgZHUgZGV2YW50JyxcclxuICAgIGphOiAn5YmN5pa544GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a75q2j6Z2iJyxcclxuICAgIGtvOiAn67O07IqkIOyghOuwqSDtlLztlZjquLAnLFxyXG4gIH0sXHJcbiAgc2xlZXBUYXJnZXQ6IHtcclxuICAgIGVuOiAnU2xlZXAgJHtuYW1lfScsXHJcbiAgICBkZTogJ1NjaGxhZiBhdWYgJHtuYW1lfScsXHJcbiAgICBmcjogJ1NvbW1laWwgc3VyICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueODquODl+ODqycsXHJcbiAgICBjbjogJ+WCrOecoCAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfSDsiqzrpqztlIwnLFxyXG4gIH0sXHJcbiAgc3R1blRhcmdldDoge1xyXG4gICAgZW46ICdTdHVuICR7bmFtZX0nLFxyXG4gICAgZGU6ICdCZXTDpHVidW5nIGF1ZiAke25hbWV9JyxcclxuICAgIGZyOiAnw4l0b3VyZGlzc2V6ICR7bmFtZX0nLFxyXG4gICAgamE6ICcke25hbWV9IOOBq+OCueOCv+ODsycsXHJcbiAgICBjbjogJ+ecqeaZlSAke25hbWV9JyxcclxuICAgIGtvOiAnJHtuYW1lfeq4sOygiCcsXHJcbiAgfSxcclxuICBpbnRlcnJ1cHRUYXJnZXQ6IHtcclxuICAgIGVuOiAnaW50ZXJydXB0ICR7bmFtZX0nLFxyXG4gICAgZGU6ICd1bnRlcmJyZWNoZSAke25hbWV9JyxcclxuICAgIGZyOiAnSW50ZXJyb21wZXogJHtuYW1lfScsXHJcbiAgICBqYTogJyR7bmFtZX0g44Gr5rKI6buZJyxcclxuICAgIGNuOiAn5omT5patJHtuYW1lfScsXHJcbiAgICBrbzogJyR7bmFtZX3quLDsiKAg7Iuc7KCEIOuBiuq4sCcsXHJcbiAgfSxcclxuICBwcmV5T25Zb3U6IHtcclxuICAgIGVuOiAnUHJleSBvbiBZT1UnLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciBWT1VTJyxcclxuICAgIGphOiAn6Ieq5YiG44Gr5o2V6aOfJyxcclxuICAgIGNuOiAn5o6g6aOf54K55ZCNJyxcclxuICAgIGtvOiAn7ZmN7Jil7KeVIOuMgOyDgeyekCcsXHJcbiAgfSxcclxuICBwcmV5T25QbGF5ZXI6IHtcclxuICAgIGVuOiAnUHJleSBvbiAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdNYXJrZXIgYXVmICR7cGxheWVyfScsXHJcbiAgICBmcjogJ01hcnF1YWdlIHN1ciAke3BsYXllcn0nLFxyXG4gICAgamE6ICcke3BsYXllcn3jgavmjZXpo58nLFxyXG4gICAgY246ICfmjqDpo5/ngrnlkI0ke3BsYXllcn0nLFxyXG4gICAga286ICdcIiR7cGxheWVyfVwiIO2ZjeyYpeynlScsXHJcbiAgfSxcclxuICBhd2F5RnJvbUdyb3VwOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSBHcm91cCcsXHJcbiAgICBkZTogJ1dlZyB2b24gZGVyIEdydXBwZScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGR1IGdyb3VwZScsXHJcbiAgICBqYTogJ+WkluOBuCcsXHJcbiAgICBjbjogJ+i/nOemu+S6uue+pCcsXHJcbiAgICBrbzogJ+uLpOuluCDsgqzrnozrk6TsnbTrnpEg65ao7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIGF3YXlGcm9tUGxheWVyOiB7XHJcbiAgICBlbjogJ0F3YXkgZnJvbSAke3BsYXllcn0nLFxyXG4gICAgZGU6ICdXZWcgdm9uICR7cGxheWVyfScsXHJcbiAgICBmcjogJ8OJbG9pZ25lei12b3VzIGRlICR7cGxheWVyfScsXHJcbiAgICBqYTogJyR7cGxheWVyfeOBi+OCiembouOCjOOCiycsXHJcbiAgICBjbjogJ+i/nOemuyR7cGxheWVyfScsXHJcbiAgICBrbzogJ1wiJHtwbGF5ZXJ9XCLsl5DshJwg66mA7Ja07KeA6riwJyxcclxuICB9LFxyXG4gIG1ldGVvck9uWW91OiB7XHJcbiAgICBlbjogJ01ldGVvciBvbiBZT1UnLFxyXG4gICAgZGU6ICdNZXRlb3IgYXVmIERJUicsXHJcbiAgICBmcjogJ03DqXTDqW9yZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+ODoeODhuOCqicsXHJcbiAgICBjbjogJ+mZqOefs+eCueWQjScsXHJcbiAgICBrbzogJ+uCmOyXkOqyjCDrqZTthYzsmKTsp5UnLFxyXG4gIH0sXHJcbiAgc3RvcE1vdmluZzoge1xyXG4gICAgZW46ICdTdG9wIE1vdmluZyEnLFxyXG4gICAgZGU6ICdCZXdlZ3VuZyBzdG9wcGVuIScsXHJcbiAgICBmcjogJ05lIGJvdWdleiBwYXMgIScsXHJcbiAgICBqYTogJ+enu+WLleemgeatou+8gScsXHJcbiAgICBjbjogJ+WBnOatouenu+WKqO+8gScsXHJcbiAgICBrbzogJ+ydtOuPmSDrqYjstpTquLAhJyxcclxuICB9LFxyXG4gIHN0b3BFdmVyeXRoaW5nOiB7XHJcbiAgICBlbjogJ1N0b3AgRXZlcnl0aGluZyEnLFxyXG4gICAgZGU6ICdTdG9wcGUgQWxsZXMhJyxcclxuICAgIGZyOiAnQXJyw6p0ZXogVE9VVCAhJyxcclxuICAgIGphOiAn6KGM5YuV56aB5q2i77yBJyxcclxuICAgIGNuOiAn5YGc5q2i6KGM5Yqo77yBJyxcclxuICAgIGtvOiAn7ZaJ64+ZIOupiOy2lOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUF3YXk6IHtcclxuICAgIC8vIG1vdmUgYXdheSB0byBkb2RnZSBhb2VzXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+mBv+OBkeOBpu+8gScsXHJcbiAgICBjbjogJ+W/q+i6suW8gO+8gScsXHJcbiAgICBrbzogJ+ydtOuPme2VmOq4sCEnLFxyXG4gIH0sXHJcbiAgbW92ZUFyb3VuZDoge1xyXG4gICAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgICBlbjogJ01vdmUhJyxcclxuICAgIGRlOiAnQmV3ZWdlbiEnLFxyXG4gICAgZnI6ICdCb3VnZXogIScsXHJcbiAgICBqYTogJ+WLleOBj++8gScsXHJcbiAgICBjbjogJ+W/q+WKqO+8gScsXHJcbiAgICBrbzogJ+ybgOyngeydtOq4sCEnLFxyXG4gIH0sXHJcbiAgYnJlYWtDaGFpbnM6IHtcclxuICAgIGVuOiAnQnJlYWsgY2hhaW5zJyxcclxuICAgIGRlOiAnS2V0dGUgemVyYnJlY2hlbicsXHJcbiAgICBmcjogJ0JyaXNleiBsZXMgY2hhaW5lcycsXHJcbiAgICBqYTogJ+e3muOCkuWIh+OCiycsXHJcbiAgICBjbjogJ+WIh+aWrei/nue6vycsXHJcbiAgICBrbzogJ+yEoCDrgYrquLAnLFxyXG4gIH0sXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiB7XHJcbiAgICBlbjogJ01vdmUgY2hhaW5zIHRvZ2V0aGVyJyxcclxuICAgIGRlOiAnS2V0dGVuIHp1c2FtbWVuIGJld2VnZW4nLFxyXG4gICAgZnI6ICdCb3VnZXogbGVzIGNoYWluZXMgZW5zZW1ibGUnLFxyXG4gICAgamE6ICfnt5rlkIzlo6vkuIDnt5Ljgavnp7vli5UnLFxyXG4gICAgY246ICfov57nur/kuIDotbfnp7vliqgnLFxyXG4gICAga286ICfshKAg67aZ7Ja07IScIOqwmeydtCDsm4Dsp4HsnbTquLAnLFxyXG4gIH0sXHJcbiAgZWFydGhzaGFrZXJPbllvdToge1xyXG4gICAgZW46ICdFYXJ0aCBTaGFrZXIgb24gWU9VJyxcclxuICAgIGRlOiAnRXJkc3Rvw58gYXVmIERJUicsXHJcbiAgICBmcjogJ01hcnF1ZSBkZSB0ZXJyZSBzdXIgVk9VUycsXHJcbiAgICBqYTogJ+iHquWIhuOBq+OCouODvOOCueOCt+OCp+OCpOOCq+ODvCcsXHJcbiAgICBjbjogJ+Wkp+WcsOaRh+WKqOeCueWQjScsXHJcbiAgICBrbzogJ+yWtOyKpOynlSDrjIDsg4HsnpAnLFxyXG4gIH0sXHJcbiAgd2FrZVVwOiB7XHJcbiAgICBlbjogJ1dBS0UgVVAnLFxyXG4gICAgZGU6ICdBVUZXQUNIRU4nLFxyXG4gICAgZnI6ICdSw4lWRUlMTEUtVE9JJyxcclxuICAgIGphOiAn55uu44KS6Kaa44G+44GX44Gm77yBJyxcclxuICAgIGNuOiAn6YaS6YaS77yB5Yqo5LiA5Yqo77yB77yBJyxcclxuICAgIGtvOiAn7J287Ja064KY7IS47JqUIScsXHJcbiAgfSxcclxuICBjbG9zZVRldGhlcnNXaXRoUGxheWVyOiB7XHJcbiAgICBlbjogJ0Nsb3NlIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdOYWhlIFZlcmJpbmR1bmdlbiAoJHtwbGF5ZXJ9KScsXHJcbiAgICBmcjogJ0xpZW5zIHByb2NoZXMgYXZlYyAoJHtwbGF5ZXJ9KScsXHJcbiAgICBqYTogJygke3BsYXllcn0p44Gr6L+R44Gl44GPJyxcclxuICAgIGNuOiAn6Z2g6L+R6L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOqwgOq5jOydtCDrtpnquLAgKCR7cGxheWVyfSknLFxyXG4gIH0sXHJcbiAgZmFyVGV0aGVyc1dpdGhQbGF5ZXI6IHtcclxuICAgIGVuOiAnRmFyIFRldGhlcnMgKCR7cGxheWVyfSknLFxyXG4gICAgZGU6ICdFbnRmZXJudGUgVmVyYmluZHVuZ2VuICgke3BsYXllcn0pJyxcclxuICAgIGZyOiAnTGllbnMgw6lsb2lnbsOpcyBhdmVjICgke3BsYXllcn0pJyxcclxuICAgIGphOiAnICgke3BsYXllcn0p44GL44KJ6Zui44KM44KLJyxcclxuICAgIGNuOiAn6L+c56a76L+e57q/ICgke3BsYXllcn0pJyxcclxuICAgIGtvOiAn7IOB64yA7JmAIOuWqOyWtOyngOq4sCAoJHtwbGF5ZXJ9KScsXHJcbiAgfSxcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJz8/PycsXHJcbiAgICBkZTogJz8/PycsXHJcbiAgICBmcjogJz8/PycsXHJcbiAgICBqYTogJz8/PycsXHJcbiAgICBjbjogJz8/PycsXHJcbiAgICBrbzogJz8/PycsXHJcbiAgfSxcclxuICBub3J0aDoge1xyXG4gICAgZW46ICdOb3J0aCcsXHJcbiAgICBkZTogJ05vcmRlbicsXHJcbiAgICBmcjogJ05vcmQnLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBzb3V0aDoge1xyXG4gICAgZW46ICdTb3V0aCcsXHJcbiAgICBkZTogJ1PDvGRlbicsXHJcbiAgICBmcjogJ1N1ZCcsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGVhc3Q6IHtcclxuICAgIGVuOiAnRWFzdCcsXHJcbiAgICBkZTogJ09zdGVuJyxcclxuICAgIGZyOiAnRXN0JyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgd2VzdDoge1xyXG4gICAgZW46ICdXZXN0JyxcclxuICAgIGRlOiAnV2VzdGVuJyxcclxuICAgIGZyOiAnT3Vlc3QnLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBub3J0aHdlc3Q6IHtcclxuICAgIGVuOiAnTm9ydGh3ZXN0JyxcclxuICAgIGRlOiAnTm9yZHdlc3RlbicsXHJcbiAgICBmcjogJ05vcmQtT3Vlc3QnLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBub3J0aGVhc3Q6IHtcclxuICAgIGVuOiAnTm9ydGhlYXN0JyxcclxuICAgIGRlOiAnTm9yZG9zdGVuJyxcclxuICAgIGZyOiAnTm9yZC1Fc3QnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBzb3V0aHdlc3Q6IHtcclxuICAgIGVuOiAnU291dGh3ZXN0JyxcclxuICAgIGRlOiAnU8O8ZHdlc3RlbicsXHJcbiAgICBmcjogJ1N1ZC1PdWVzdCcsXHJcbiAgICBqYTogJ+WNl+ilvycsXHJcbiAgICBjbjogJ+W3puS4iyjopb/ljZcpJyxcclxuICAgIGtvOiAn64Ko7IScJyxcclxuICB9LFxyXG4gIHNvdXRoZWFzdDoge1xyXG4gICAgZW46ICdTb3V0aGVhc3QnLFxyXG4gICAgZGU6ICdTw7xkb3N0ZW4nLFxyXG4gICAgZnI6ICdTdWQtRXN0JyxcclxuICAgIGphOiAn5Y2X5p2xJyxcclxuICAgIGNuOiAn5Y+z5LiLKOS4nOWNlyknLFxyXG4gICAga286ICfrgqjrj5knLFxyXG4gIH0sXHJcbiAgZGlyTjoge1xyXG4gICAgZW46ICdOJyxcclxuICAgIGRlOiAnTicsXHJcbiAgICBmcjogJ04nLFxyXG4gICAgamE6ICfljJcnLFxyXG4gICAgY246ICfkuIoo5YyXKScsXHJcbiAgICBrbzogJ+u2geyqvScsXHJcbiAgfSxcclxuICBkaXJTOiB7XHJcbiAgICBlbjogJ1MnLFxyXG4gICAgZGU6ICdTJyxcclxuICAgIGZyOiAnUycsXHJcbiAgICBqYTogJ+WNlycsXHJcbiAgICBjbjogJ+S4iyjljZcpJyxcclxuICAgIGtvOiAn64Ko7Kq9JyxcclxuICB9LFxyXG4gIGRpckU6IHtcclxuICAgIGVuOiAnRScsXHJcbiAgICBkZTogJ08nLFxyXG4gICAgZnI6ICdFJyxcclxuICAgIGphOiAn5p2xJyxcclxuICAgIGNuOiAn5Y+zKOS4nCknLFxyXG4gICAga286ICfrj5nsqr0nLFxyXG4gIH0sXHJcbiAgZGlyVzoge1xyXG4gICAgZW46ICdXJyxcclxuICAgIGRlOiAnVycsXHJcbiAgICBmcjogJ08nLFxyXG4gICAgamE6ICfopb8nLFxyXG4gICAgY246ICflt6Yo6KW/KScsXHJcbiAgICBrbzogJ+yEnOyqvScsXHJcbiAgfSxcclxuICBkaXJOVzoge1xyXG4gICAgZW46ICdOVycsXHJcbiAgICBkZTogJ05XJyxcclxuICAgIGZyOiAnTk8nLFxyXG4gICAgamE6ICfljJfopb8nLFxyXG4gICAgY246ICflt6bkuIoo6KW/5YyXKScsXHJcbiAgICBrbzogJ+u2geyEnCcsXHJcbiAgfSxcclxuICBkaXJORToge1xyXG4gICAgZW46ICdORScsXHJcbiAgICBkZTogJ05PJyxcclxuICAgIGZyOiAnTkUnLFxyXG4gICAgamE6ICfljJfmnbEnLFxyXG4gICAgY246ICflj7PkuIoo5Lic5YyXKScsXHJcbiAgICBrbzogJ+u2geuPmScsXHJcbiAgfSxcclxuICBkaXJTVzoge1xyXG4gICAgZW46ICdTVycsXHJcbiAgICBkZTogJ1NXJyxcclxuICAgIGZyOiAnU08nLFxyXG4gICAgamE6ICfljZfopb8nLFxyXG4gICAgY246ICflt6bkuIso6KW/5Y2XKScsXHJcbiAgICBrbzogJ+uCqOyEnCcsXHJcbiAgfSxcclxuICBkaXJTRToge1xyXG4gICAgZW46ICdTRScsXHJcbiAgICBkZTogJ1NPJyxcclxuICAgIGZyOiAnU0UnLFxyXG4gICAgamE6ICfljZfmnbEnLFxyXG4gICAgY246ICflj7PkuIso5Lic5Y2XKScsXHJcbiAgICBrbzogJ+uCqOuPmScsXHJcbiAgfSxcclxuICAvLyBMaXRlcmFsIG51bWJlcnMuXHJcbiAgbnVtMDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMCksXHJcbiAgbnVtMTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMSksXHJcbiAgbnVtMjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMiksXHJcbiAgbnVtMzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoMyksXHJcbiAgbnVtNDogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNCksXHJcbiAgbnVtNTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNSksXHJcbiAgbnVtNjogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNiksXHJcbiAgbnVtNzogbnVtYmVyVG9PdXRwdXRTdHJpbmcoNyksXHJcbiAgbnVtODogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOCksXHJcbiAgbnVtOTogbnVtYmVyVG9PdXRwdXRTdHJpbmcoOSksXHJcbn0gYXMgY29uc3Q7XHJcbiIsIi8vIE92ZXJsYXlQbHVnaW4gQVBJIHNldHVwXHJcblxyXG5pbXBvcnQge1xyXG4gIEV2ZW50TWFwLFxyXG4gIEV2ZW50VHlwZSxcclxuICBJT3ZlcmxheUhhbmRsZXIsXHJcbiAgT3ZlcmxheUhhbmRsZXJGdW5jcyxcclxuICBPdmVybGF5SGFuZGxlclR5cGVzLFxyXG59IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuXHJcbnR5cGUgQmFzZVJlc3BvbnNlID0geyByc2VxPzogbnVtYmVyOyAnJGVycm9yJz86IGJvb2xlYW4gfTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgIF9fT3ZlcmxheUNhbGxiYWNrOiBFdmVudE1hcFtFdmVudFR5cGVdO1xyXG4gICAgZGlzcGF0Y2hPdmVybGF5RXZlbnQ/OiB0eXBlb2YgcHJvY2Vzc0V2ZW50O1xyXG4gICAgT3ZlcmxheVBsdWdpbkFwaToge1xyXG4gICAgICByZWFkeTogYm9vbGVhbjtcclxuICAgICAgY2FsbEhhbmRsZXI6IChtc2c6IHN0cmluZywgY2I/OiAodmFsdWU6IHN0cmluZykgPT4gdW5rbm93bikgPT4gdm9pZDtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gaW1wb3J0IGZyb20gdGhpcyBmaWxlOlxyXG4gICAgICpcclxuICAgICAqIGBpbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIgfSBmcm9tICcvcGF0aC90by9vdmVybGF5X3BsdWdpbl9hcGknO2BcclxuICAgICAqL1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxyXG4gICAgICpcclxuICAgICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIGltcG9ydCBmcm9tIHRoaXMgZmlsZTpcclxuICAgICAqXHJcbiAgICAgKiBgaW1wb3J0IHsgcmVtb3ZlT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnL3BhdGgvdG8vb3ZlcmxheV9wbHVnaW5fYXBpJztgXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lcjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cclxuICAgICAqXHJcbiAgICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBpbXBvcnQgZnJvbSB0aGlzIGZpbGU6XHJcbiAgICAgKlxyXG4gICAgICogYGltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy9wYXRoL3RvL292ZXJsYXlfcGx1Z2luX2FwaSc7YFxyXG4gICAgICovXHJcbiAgICBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlcjtcclxuICB9XHJcbn1cclxuXHJcbnR5cGUgSUFkZE92ZXJsYXlMaXN0ZW5lciA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihldmVudDogVCwgY2I6IEV2ZW50TWFwW1RdKSA9PiB2b2lkO1xyXG50eXBlIElSZW1vdmVPdmVybGF5TGlzdGVuZXIgPSA8VCBleHRlbmRzIEV2ZW50VHlwZT4oZXZlbnQ6IFQsIGNiOiBFdmVudE1hcFtUXSkgPT4gdm9pZDtcclxuXHJcbnR5cGUgU3Vic2NyaWJlcjxUPiA9IHtcclxuICBba2V5IGluIEV2ZW50VHlwZV0/OiBUW107XHJcbn07XHJcbnR5cGUgRXZlbnRQYXJhbWV0ZXIgPSBQYXJhbWV0ZXJzPEV2ZW50TWFwW0V2ZW50VHlwZV0+WzBdO1xyXG50eXBlIFZvaWRGdW5jPFQ+ID0gKC4uLmFyZ3M6IFRbXSkgPT4gdm9pZDtcclxuXHJcbmxldCBpbml0ZWQgPSBmYWxzZTtcclxuXHJcbmxldCB3c1VybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7XHJcbmxldCBxdWV1ZTogKFxyXG4gIHwgeyBbczogc3RyaW5nXTogdW5rbm93biB9XHJcbiAgfCBbeyBbczogc3RyaW5nXTogdW5rbm93biB9LCAoKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duKSB8IHVuZGVmaW5lZF1cclxuKVtdIHwgbnVsbCA9IFtdO1xyXG5sZXQgcnNlcUNvdW50ZXIgPSAwO1xyXG50eXBlIFByb21pc2VGdW5jcyA9IHtcclxuICByZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbiAgcmVqZWN0OiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XHJcbn07XHJcbmNvbnN0IHJlc3BvbnNlUHJvbWlzZXM6IHsgW3JzZXFJZHg6IG51bWJlcl06IFByb21pc2VGdW5jcyB9ID0ge307XHJcblxyXG5jb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxWb2lkRnVuYzx1bmtub3duPj4gPSB7fTtcclxuXHJcbmNvbnN0IHNlbmRNZXNzYWdlID0gKFxyXG4gIG1zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIGNiPzogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB1bmtub3duLFxyXG4pOiB2b2lkID0+IHtcclxuICBpZiAod3MpIHtcclxuICAgIGlmIChxdWV1ZSlcclxuICAgICAgcXVldWUucHVzaChtc2cpO1xyXG4gICAgZWxzZVxyXG4gICAgICB3cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1zZykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBpZiAocXVldWUpXHJcbiAgICAgIHF1ZXVlLnB1c2goW21zZywgY2JdKTtcclxuICAgIGVsc2VcclxuICAgICAgd2luZG93Lk92ZXJsYXlQbHVnaW5BcGkuY2FsbEhhbmRsZXIoSlNPTi5zdHJpbmdpZnkobXNnKSwgY2IpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NFdmVudCA9IDxUIGV4dGVuZHMgRXZlbnRUeXBlPihtc2c6IFBhcmFtZXRlcnM8RXZlbnRNYXBbVF0+WzBdKTogdm9pZCA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBzdWJzID0gc3Vic2NyaWJlcnNbbXNnLnR5cGVdO1xyXG4gIHN1YnM/LmZvckVhY2goKHN1YikgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgc3ViKG1zZyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGlzcGF0Y2hPdmVybGF5RXZlbnQgPSBwcm9jZXNzRXZlbnQ7XHJcblxyXG5leHBvcnQgY29uc3QgYWRkT3ZlcmxheUxpc3RlbmVyOiBJQWRkT3ZlcmxheUxpc3RlbmVyID0gKGV2ZW50LCBjYik6IHZvaWQgPT4ge1xyXG4gIGluaXQoKTtcclxuXHJcbiAgaWYgKCFzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIHN1YnNjcmliZXJzW2V2ZW50XSA9IFtdO1xyXG5cclxuICAgIGlmICghcXVldWUpIHtcclxuICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgIGV2ZW50czogW2V2ZW50XSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVyc1tldmVudF0/LnB1c2goY2IgYXMgVm9pZEZ1bmM8dW5rbm93bj4pO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHJlbW92ZU92ZXJsYXlMaXN0ZW5lcjogSVJlbW92ZU92ZXJsYXlMaXN0ZW5lciA9IChldmVudCwgY2IpOiB2b2lkID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIGlmIChzdWJzY3JpYmVyc1tldmVudF0pIHtcclxuICAgIGNvbnN0IGxpc3QgPSBzdWJzY3JpYmVyc1tldmVudF07XHJcbiAgICBjb25zdCBwb3MgPSBsaXN0Py5pbmRleE9mKGNiIGFzIFZvaWRGdW5jPHVua25vd24+KTtcclxuXHJcbiAgICBpZiAocG9zICE9PSB1bmRlZmluZWQgJiYgcG9zID4gLTEpXHJcbiAgICAgIGxpc3Q/LnNwbGljZShwb3MsIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGNhbGxPdmVybGF5SGFuZGxlckludGVybmFsOiBJT3ZlcmxheUhhbmRsZXIgPSAoXHJcbiAgX21zZzogeyBbczogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbik6IFByb21pc2U8YW55PiA9PiB7XHJcbiAgaW5pdCgpO1xyXG5cclxuICBjb25zdCBtc2cgPSB7XHJcbiAgICAuLi5fbXNnLFxyXG4gICAgcnNlcTogMCxcclxuICB9O1xyXG4gIGxldCBwOiBQcm9taXNlPHVua25vd24+O1xyXG5cclxuICBpZiAod3MpIHtcclxuICAgIG1zZy5yc2VxID0gcnNlcUNvdW50ZXIrKztcclxuICAgIHAgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdID0geyByZXNvbHZlOiByZXNvbHZlLCByZWplY3Q6IHJlamVjdCB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcCA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgc2VuZE1lc3NhZ2UobXNnLCAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmICghZGF0YSkge1xyXG4gICAgICAgICAgcmVzb2x2ZShkYXRhKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShkYXRhKSBhcyBCYXNlUmVzcG9uc2U7XHJcbiAgICAgICAgaWYgKHBhcnNlZFsnJGVycm9yJ10pXHJcbiAgICAgICAgICByZWplY3QocGFyc2VkKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICByZXNvbHZlKHBhcnNlZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcDtcclxufTtcclxuXHJcbnR5cGUgT3ZlcnJpZGVNYXAgPSB7IFtjYWxsIGluIE92ZXJsYXlIYW5kbGVyVHlwZXNdPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tjYWxsXSB9O1xyXG5jb25zdCBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcDogT3ZlcnJpZGVNYXAgPSB7fTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYWxsT3ZlcmxheUhhbmRsZXI6IElPdmVybGF5SGFuZGxlciA9IChcclxuICBfbXNnOiB7IFtzOiBzdHJpbmddOiB1bmtub3duIH0sXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuKTogUHJvbWlzZTxhbnk+ID0+IHtcclxuICBpbml0KCk7XHJcblxyXG4gIC8vIElmIHRoaXMgYGFzYCBpcyBpbmNvcnJlY3QsIHRoZW4gaXQgd2lsbCBub3QgZmluZCBhbiBvdmVycmlkZS5cclxuICAvLyBUT0RPOiB3ZSBjb3VsZCBhbHNvIHJlcGxhY2UgdGhpcyB3aXRoIGEgdHlwZSBndWFyZC5cclxuICBjb25zdCB0eXBlID0gX21zZy5jYWxsIGFzIGtleW9mIE92ZXJyaWRlTWFwO1xyXG4gIGNvbnN0IGNhbGxGdW5jID0gY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXBbdHlwZV0gPz8gY2FsbE92ZXJsYXlIYW5kbGVySW50ZXJuYWw7XHJcblxyXG4gIC8vIFRoZSBgSU92ZXJsYXlIYW5kbGVyYCB0eXBlIGd1YXJhbnRlZXMgdGhhdCBwYXJhbWV0ZXJzL3JldHVybiB0eXBlIG1hdGNoXHJcbiAgLy8gb25lIG9mIHRoZSBvdmVybGF5IGhhbmRsZXJzLiAgVGhlIE92ZXJyaWRlTWFwIGFsc28gb25seSBzdG9yZXMgZnVuY3Rpb25zXHJcbiAgLy8gdGhhdCBtYXRjaCBieSB0aGUgZGlzY3JpbWluYXRpbmcgYGNhbGxgIGZpZWxkLCBhbmQgc28gYW55IG92ZXJyaWRlc1xyXG4gIC8vIHNob3VsZCBiZSBjb3JyZWN0IGhlcmUuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XHJcbiAgcmV0dXJuIGNhbGxGdW5jKF9tc2cgYXMgYW55KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRPdmVybGF5SGFuZGxlck92ZXJyaWRlID0gPFQgZXh0ZW5kcyBrZXlvZiBPdmVybGF5SGFuZGxlckZ1bmNzPihcclxuICB0eXBlOiBULFxyXG4gIG92ZXJyaWRlPzogT3ZlcmxheUhhbmRsZXJGdW5jc1tUXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgaWYgKCFvdmVycmlkZSkge1xyXG4gICAgZGVsZXRlIGNhbGxPdmVybGF5SGFuZGxlck92ZXJyaWRlTWFwW3R5cGVdO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBjYWxsT3ZlcmxheUhhbmRsZXJPdmVycmlkZU1hcFt0eXBlXSA9IG92ZXJyaWRlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluaXQgPSAoKTogdm9pZCA9PiB7XHJcbiAgaWYgKGluaXRlZClcclxuICAgIHJldHVybjtcclxuXHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB3c1VybCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdPVkVSTEFZX1dTJyk7XHJcbiAgICBpZiAod3NVcmwgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgY29ubmVjdFdzID0gZnVuY3Rpb24od3NVcmw6IHN0cmluZykge1xyXG4gICAgICAgIHdzID0gbmV3IFdlYlNvY2tldCh3c1VybCk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHdzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCAoKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGVkIScpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICAgIHF1ZXVlID0gbnVsbDtcclxuXHJcbiAgICAgICAgICBzZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgICAgIGNhbGw6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGZvciAoY29uc3QgbXNnIG9mIHEpIHtcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1zZykpXHJcbiAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UobXNnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChfbXNnKSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIF9tc2cuZGF0YSAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIG1lc3NhZ2UgZGF0YSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoX21zZy5kYXRhKSBhcyBFdmVudFBhcmFtZXRlciAmIEJhc2VSZXNwb25zZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2VGdW5jcyA9IG1zZz8ucnNlcSAhPT0gdW5kZWZpbmVkID8gcmVzcG9uc2VQcm9taXNlc1ttc2cucnNlcV0gOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIGlmIChtc2cucnNlcSAhPT0gdW5kZWZpbmVkICYmIHByb21pc2VGdW5jcykge1xyXG4gICAgICAgICAgICAgIGlmIChtc2dbJyRlcnJvciddKVxyXG4gICAgICAgICAgICAgICAgcHJvbWlzZUZ1bmNzLnJlamVjdChtc2cpO1xyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHByb21pc2VGdW5jcy5yZXNvbHZlKG1zZyk7XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHJlc3BvbnNlUHJvbWlzZXNbbXNnLnJzZXFdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHByb2Nlc3NFdmVudChtc2cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgbWVzc2FnZSByZWNlaXZlZDogJywgX21zZyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgd3MuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCAoKSA9PiB7XHJcbiAgICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ1RyeWluZyB0byByZWNvbm5lY3QuLi4nKTtcclxuICAgICAgICAgIC8vIERvbid0IHNwYW0gdGhlIHNlcnZlciB3aXRoIHJldHJpZXMuXHJcbiAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbm5lY3RXcyh3c1VybCk7XHJcbiAgICAgICAgICB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29ubmVjdFdzKHdzVXJsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHdhaXRGb3JBcGkgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoIXdpbmRvdy5PdmVybGF5UGx1Z2luQXBpIHx8ICF3aW5kb3cuT3ZlcmxheVBsdWdpbkFwaS5yZWFkeSkge1xyXG4gICAgICAgICAgd2luZG93LnNldFRpbWVvdXQod2FpdEZvckFwaSwgMzAwKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHEgPSBxdWV1ZSA/PyBbXTtcclxuICAgICAgICBxdWV1ZSA9IG51bGw7XHJcblxyXG4gICAgICAgIHdpbmRvdy5fX092ZXJsYXlDYWxsYmFjayA9IHByb2Nlc3NFdmVudDtcclxuXHJcbiAgICAgICAgc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgY2FsbDogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICBldmVudHM6IE9iamVjdC5rZXlzKHN1YnNjcmliZXJzKSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHEpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKVxyXG4gICAgICAgICAgICBzZW5kTWVzc2FnZShpdGVtWzBdLCBpdGVtWzFdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB3YWl0Rm9yQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSGVyZSB0aGUgT3ZlcmxheVBsdWdpbiBBUEkgaXMgcmVnaXN0ZXJlZCB0byB0aGUgd2luZG93IG9iamVjdCxcclxuICAgIC8vIGJ1dCB0aGlzIGlzIG1haW5seSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuRm9yIGNhY3Rib3QncyBidWlsdC1pbiBmaWxlcyxcclxuICAgIC8vIGl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgdmFyaW91cyBmdW5jdGlvbnMgZXhwb3J0ZWQgaW4gcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaS50cy5cclxuICAgIHdpbmRvdy5hZGRPdmVybGF5TGlzdGVuZXIgPSBhZGRPdmVybGF5TGlzdGVuZXI7XHJcbiAgICB3aW5kb3cucmVtb3ZlT3ZlcmxheUxpc3RlbmVyID0gcmVtb3ZlT3ZlcmxheUxpc3RlbmVyO1xyXG4gICAgd2luZG93LmNhbGxPdmVybGF5SGFuZGxlciA9IGNhbGxPdmVybGF5SGFuZGxlcjtcclxuICAgIHdpbmRvdy5kaXNwYXRjaE92ZXJsYXlFdmVudCA9IGRpc3BhdGNoT3ZlcmxheUV2ZW50O1xyXG4gIH1cclxuXHJcbiAgaW5pdGVkID0gdHJ1ZTtcclxufTtcclxuIiwiaW1wb3J0IHsgTmV0UGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvbmV0X3Byb3BzJztcclxuaW1wb3J0IHsgQ2FjdGJvdEJhc2VSZWdFeHAgfSBmcm9tICcuLi90eXBlcy9uZXRfdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgbG9nRGVmaW5pdGlvbnMsIHsgTG9nRGVmaW5pdGlvblR5cGVzLCBQYXJzZUhlbHBlckZpZWxkcyB9IGZyb20gJy4vbmV0bG9nX2RlZnMnO1xyXG5cclxuY29uc3Qgc2VwYXJhdG9yID0gJzonO1xyXG5jb25zdCBtYXRjaERlZmF1bHQgPSAnW146XSonO1xyXG5jb25zdCBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0ID0gJyg/OlteOl18OiApKj8nO1xyXG5jb25zdCBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zID0gWydlZmZlY3QnLCAnYWJpbGl0eSddO1xyXG5cclxuY29uc3QgZGVmYXVsdFBhcmFtcyA9IDxcclxuICBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIGxvZ0RlZmluaXRpb25zLFxyXG4+KHR5cGU6IFQsIGluY2x1ZGU/OiBzdHJpbmdbXSk6IFBhcnRpYWw8UGFyc2VIZWxwZXJGaWVsZHM8VD4+ID0+IHtcclxuICBpbmNsdWRlID8/PSBPYmplY3Qua2V5cyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpO1xyXG4gIGNvbnN0IHBhcmFtczogeyBbaW5kZXg6IG51bWJlcl06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSB9ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgW3Byb3AsIGluZGV4XSBvZiBPYmplY3QuZW50cmllcyhsb2dEZWZpbml0aW9uc1t0eXBlXS5maWVsZHMpKSB7XHJcbiAgICBpZiAoIWluY2x1ZGUuaW5jbHVkZXMocHJvcCkpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgY29uc3QgcGFyYW06IHsgZmllbGQ6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmcgfSA9IHtcclxuICAgICAgZmllbGQ6IHByb3AsXHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3AgPT09ICd0eXBlJylcclxuICAgICAgcGFyYW0udmFsdWUgPSBsb2dEZWZpbml0aW9uc1t0eXBlXS50eXBlO1xyXG5cclxuICAgIHBhcmFtc1tpbmRleF0gPSBwYXJhbTtcclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJhbXMgYXMgdW5rbm93biBhcyBQYXJ0aWFsPFBhcnNlSGVscGVyRmllbGRzPFQ+PjtcclxufTtcclxuXHJcbmNvbnN0IHBhcnNlSGVscGVyID0gPFQgZXh0ZW5kcyBMb2dEZWZpbml0aW9uVHlwZXM+KFxyXG4gIHBhcmFtczogeyB0aW1lc3RhbXA/OiBzdHJpbmc7IGNhcHR1cmU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQsXHJcbiAgZGVmS2V5OiBULFxyXG4gIGZpZWxkczogUGFydGlhbDxQYXJzZUhlbHBlckZpZWxkczxUPj4sXHJcbik6IENhY3Rib3RCYXNlUmVnRXhwPFQ+ID0+IHtcclxuICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XHJcbiAgY29uc3QgdmFsaWRGaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgaW5kZXggaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpbmRleF07XHJcbiAgICBpZiAoZmllbGQpXHJcbiAgICAgIHZhbGlkRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gIH1cclxuXHJcbiAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIGRlZktleSwgWydjYXB0dXJlJywgLi4udmFsaWRGaWVsZHNdKTtcclxuXHJcbiAgLy8gRmluZCB0aGUgbGFzdCBrZXkgd2UgY2FyZSBhYm91dCwgc28gd2UgY2FuIHNob3J0ZW4gdGhlIHJlZ2V4IGlmIG5lZWRlZC5cclxuICBjb25zdCBjYXB0dXJlID0gUmVnZXhlcy50cnVlSWZVbmRlZmluZWQocGFyYW1zLmNhcHR1cmUpO1xyXG4gIGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkcykuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYSkgLSBwYXJzZUludChiKSk7XHJcbiAgbGV0IG1heEtleVN0cjogc3RyaW5nO1xyXG4gIGlmIChjYXB0dXJlKSB7XHJcbiAgICBtYXhLZXlTdHIgPSBmaWVsZEtleXNbZmllbGRLZXlzLmxlbmd0aCAtIDFdID8/ICcwJztcclxuICB9IGVsc2Uge1xyXG4gICAgbWF4S2V5U3RyID0gJzAnO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZmllbGRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleV0gPz8ge307XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5XT8uZmllbGQ7XHJcbiAgICAgIGlmIChmaWVsZE5hbWUgJiYgZmllbGROYW1lIGluIHBhcmFtcylcclxuICAgICAgICBtYXhLZXlTdHIgPSBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0IG1heEtleSA9IHBhcnNlSW50KG1heEtleVN0cik7XHJcblxyXG4gIC8vIFNwZWNpYWwgY2FzZSBmb3IgQWJpbGl0eSB0byBoYW5kbGUgYW9lIGFuZCBub24tYW9lLlxyXG4gIGNvbnN0IGFiaWxpdHlNZXNzYWdlVHlwZSA9XHJcbiAgICBgKD86JHtsb2dEZWZpbml0aW9ucy5BYmlsaXR5Lm1lc3NhZ2VUeXBlfXwke2xvZ0RlZmluaXRpb25zLk5ldHdvcmtBT0VBYmlsaXR5Lm1lc3NhZ2VUeXBlfSlgO1xyXG4gIGNvbnN0IGFiaWxpdHlIZXhDb2RlID0gJyg/OjE1fDE2KSc7XHJcblxyXG4gIC8vIEJ1aWxkIHRoZSByZWdleCBmcm9tIHRoZSBmaWVsZHMuXHJcbiAgY29uc3QgcHJlZml4ID0gZGVmS2V5ICE9PSAnQWJpbGl0eScgPyBsb2dEZWZpbml0aW9uc1tkZWZLZXldLm1lc3NhZ2VUeXBlIDogYWJpbGl0eU1lc3NhZ2VUeXBlO1xyXG4gIGNvbnN0IGhleENvZGUgPSBkZWZLZXkgIT09ICdBYmlsaXR5J1xyXG4gICAgPyBgMDAke3BhcnNlSW50KGxvZ0RlZmluaXRpb25zW2RlZktleV0udHlwZSkudG9TdHJpbmcoMTYpfWAuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKClcclxuICAgIDogYWJpbGl0eUhleENvZGU7XHJcblxyXG4gIGxldCBzdHIgPSAnJztcclxuICBpZiAoY2FwdHVyZSlcclxuICAgIHN0ciArPSBgKD88dGltZXN0YW1wPlxcXFx5e1RpbWVzdGFtcH0pICR7cHJlZml4fSAoPzx0eXBlPiR7aGV4Q29kZX0pYDtcclxuICBlbHNlXHJcbiAgICBzdHIgKz0gYFxcXFx5e1RpbWVzdGFtcH0gJHtwcmVmaXh9ICR7aGV4Q29kZX1gO1xyXG5cclxuICBsZXQgbGFzdEtleSA9IDE7XHJcbiAgZm9yIChjb25zdCBrZXlTdHIgaW4gZmllbGRzKSB7XHJcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZHNba2V5U3RyXT8uZmllbGQ7XHJcblxyXG4gICAgLy8gUmVnZXggaGFuZGxlcyB0aGVzZSBtYW51YWxseSBhYm92ZSBpbiB0aGUgYHN0cmAgaW5pdGlhbGl6YXRpb24uXHJcbiAgICBpZiAoZmllbGROYW1lID09PSAndGltZXN0YW1wJyB8fCBmaWVsZE5hbWUgPT09ICd0eXBlJylcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3Qga2V5ID0gcGFyc2VJbnQoa2V5U3RyKTtcclxuICAgIC8vIEZpbGwgaW4gYmxhbmtzLlxyXG4gICAgY29uc3QgbWlzc2luZ0ZpZWxkcyA9IGtleSAtIGxhc3RLZXkgLSAxO1xyXG4gICAgaWYgKG1pc3NpbmdGaWVsZHMgPT09IDEpXHJcbiAgICAgIHN0ciArPSBgJHtzZXBhcmF0b3J9JHttYXRjaERlZmF1bHR9YDtcclxuICAgIGVsc2UgaWYgKG1pc3NpbmdGaWVsZHMgPiAxKVxyXG4gICAgICBzdHIgKz0gYCg/OiR7c2VwYXJhdG9yfSR7bWF0Y2hEZWZhdWx0fSl7JHttaXNzaW5nRmllbGRzfX1gO1xyXG4gICAgbGFzdEtleSA9IGtleTtcclxuXHJcbiAgICBzdHIgKz0gc2VwYXJhdG9yO1xyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gZmllbGRzW2tleVN0cl07XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2RlZktleX06IGludmFsaWQgdmFsdWU6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xyXG5cclxuICAgIGNvbnN0IGZpZWxkRGVmYXVsdCA9IGZpZWxkTmFtZSAmJiBmaWVsZHNXaXRoUG90ZW50aWFsQ29sb25zLmluY2x1ZGVzKGZpZWxkTmFtZSlcclxuICAgICAgPyBtYXRjaFdpdGhDb2xvbnNEZWZhdWx0XHJcbiAgICAgIDogbWF0Y2hEZWZhdWx0O1xyXG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkc1trZXlTdHJdPy52YWx1ZT8udG9TdHJpbmcoKSA/PyBmaWVsZERlZmF1bHQ7XHJcblxyXG4gICAgaWYgKGZpZWxkTmFtZSkge1xyXG4gICAgICBzdHIgKz0gUmVnZXhlcy5tYXliZUNhcHR1cmUoXHJcbiAgICAgICAgLy8gbW9yZSBhY2N1cmF0ZSB0eXBlIGluc3RlYWQgb2YgYGFzYCBjYXN0XHJcbiAgICAgICAgLy8gbWF5YmUgdGhpcyBmdW5jdGlvbiBuZWVkcyBhIHJlZmFjdG9yaW5nXHJcbiAgICAgICAgY2FwdHVyZSxcclxuICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgKHBhcmFtcyBhcyB7IFtzOiBzdHJpbmddOiBzdHJpbmcgfSlbZmllbGROYW1lXSxcclxuICAgICAgICBmaWVsZFZhbHVlLFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3RyICs9IGZpZWxkVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3RvcCBpZiB3ZSdyZSBub3QgY2FwdHVyaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IGZ1dHVyZSBmaWVsZHMuXHJcbiAgICBpZiAoa2V5ID49IG1heEtleSlcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBzdHIgKz0gJyg/OiR8OiknO1xyXG5cclxuICByZXR1cm4gUmVnZXhlcy5wYXJzZShzdHIpIGFzIENhY3Rib3RCYXNlUmVnRXhwPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnZXhlcyB7XHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE0LW5ldHdvcmtzdGFydHNjYXN0aW5nXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXJ0c1VzaW5nKHBhcmFtcz86IE5ldFBhcmFtc1snU3RhcnRzVXNpbmcnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGFydHNVc2luZyc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdTdGFydHNVc2luZycsIGRlZmF1bHRQYXJhbXMoJ1N0YXJ0c1VzaW5nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE1LW5ldHdvcmthYmlsaXR5XHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzE2LW5ldHdvcmthb2VhYmlsaXR5XHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHkocGFyYW1zPzogTmV0UGFyYW1zWydBYmlsaXR5J10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWJpbGl0eSc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdBYmlsaXR5JywgZGVmYXVsdFBhcmFtcygnQWJpbGl0eScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNS1uZXR3b3JrYWJpbGl0eVxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxNi1uZXR3b3JrYW9lYWJpbGl0eVxyXG4gICAqXHJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhYmlsaXR5YCBpbnN0ZWFkXHJcbiAgICovXHJcbiAgc3RhdGljIGFiaWxpdHlGdWxsKHBhcmFtcz86IE5ldFBhcmFtc1snQWJpbGl0eSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FiaWxpdHknPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hYmlsaXR5KHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWItbmV0d29ya3RhcmdldGljb24taGVhZC1tYXJrZXJzXHJcbiAgICovXHJcbiAgc3RhdGljIGhlYWRNYXJrZXIocGFyYW1zPzogTmV0UGFyYW1zWydIZWFkTWFya2VyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnSGVhZE1hcmtlcic+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdIZWFkTWFya2VyJywgZGVmYXVsdFBhcmFtcygnSGVhZE1hcmtlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMwMy1hZGRjb21iYXRhbnRcclxuICAgKi9cclxuICBzdGF0aWMgYWRkZWRDb21iYXRhbnQocGFyYW1zPzogTmV0UGFyYW1zWydBZGRlZENvbWJhdGFudCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgICdBZGRlZENvbWJhdGFudCcsXHJcbiAgICAgIGRlZmF1bHRQYXJhbXMoJ0FkZGVkQ29tYmF0YW50JywgW1xyXG4gICAgICAgICd0eXBlJyxcclxuICAgICAgICAndGltZXN0YW1wJyxcclxuICAgICAgICAnaWQnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgXSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAzLWFkZGNvbWJhdGFudFxyXG4gICAqL1xyXG4gIHN0YXRpYyBhZGRlZENvbWJhdGFudEZ1bGwoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ0FkZGVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0FkZGVkQ29tYmF0YW50Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FkZGVkQ29tYmF0YW50JywgZGVmYXVsdFBhcmFtcygnQWRkZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDQtcmVtb3ZlY29tYmF0YW50XHJcbiAgICovXHJcbiAgc3RhdGljIHJlbW92aW5nQ29tYmF0YW50KFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydSZW1vdmVkQ29tYmF0YW50J10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1JlbW92ZWRDb21iYXRhbnQnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnUmVtb3ZlZENvbWJhdGFudCcsIGRlZmF1bHRQYXJhbXMoJ1JlbW92ZWRDb21iYXRhbnQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMWEtbmV0d29ya2J1ZmZcclxuICAgKi9cclxuICBzdGF0aWMgZ2FpbnNFZmZlY3QocGFyYW1zPzogTmV0UGFyYW1zWydHYWluc0VmZmVjdCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhaW5zRWZmZWN0Jz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhaW5zRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnR2FpbnNFZmZlY3QnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVmZXIgZ2FpbnNFZmZlY3Qgb3ZlciB0aGlzIGZ1bmN0aW9uIHVubGVzcyB5b3UgcmVhbGx5IG5lZWQgZXh0cmEgZGF0YS5cclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjYtbmV0d29ya3N0YXR1c2VmZmVjdHNcclxuICAgKi9cclxuICBzdGF0aWMgc3RhdHVzRWZmZWN0RXhwbGljaXQoXHJcbiAgICBwYXJhbXM/OiBOZXRQYXJhbXNbJ1N0YXR1c0VmZmVjdCddLFxyXG4gICk6IENhY3Rib3RCYXNlUmVnRXhwPCdTdGF0dXNFZmZlY3QnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3RhdHVzRWZmZWN0JywgZGVmYXVsdFBhcmFtcygnU3RhdHVzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzFlLW5ldHdvcmtidWZmcmVtb3ZlXHJcbiAgICovXHJcbiAgc3RhdGljIGxvc2VzRWZmZWN0KHBhcmFtcz86IE5ldFBhcmFtc1snTG9zZXNFZmZlY3QnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdMb3Nlc0VmZmVjdCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdMb3Nlc0VmZmVjdCcsIGRlZmF1bHRQYXJhbXMoJ0xvc2VzRWZmZWN0JykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzIzLW5ldHdvcmt0ZXRoZXJcclxuICAgKi9cclxuICBzdGF0aWMgdGV0aGVyKHBhcmFtcz86IE5ldFBhcmFtc1snVGV0aGVyJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnVGV0aGVyJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1RldGhlcicsIGRlZmF1bHRQYXJhbXMoJ1RldGhlcicpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICd0YXJnZXQnIHdhcyBkZWZlYXRlZCBieSAnc291cmNlJ1xyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMxOS1uZXR3b3JrZGVhdGhcclxuICAgKi9cclxuICBzdGF0aWMgd2FzRGVmZWF0ZWQocGFyYW1zPzogTmV0UGFyYW1zWydXYXNEZWZlYXRlZCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1dhc0RlZmVhdGVkJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1dhc0RlZmVhdGVkJywgZGVmYXVsdFBhcmFtcygnV2FzRGVmZWF0ZWQnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBlY2hvKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZWNobycsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzAwMzgnO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZGlhbG9nKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnZGlhbG9nJyxcclxuICAgICAgWyd0eXBlJywgJ3RpbWVzdGFtcCcsICdjb2RlJywgJ25hbWUnLCAnbGluZScsICdjYXB0dXJlJ10sXHJcbiAgICApO1xyXG4gICAgcGFyYW1zLmNvZGUgPSAnMDA0NCc7XHJcbiAgICByZXR1cm4gUmVnZXhlcy5nYW1lTG9nKHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDAtbG9nbGluZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBtZXNzYWdlKHBhcmFtcz86IE5ldFBhcmFtc1snR2FtZUxvZyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB7XHJcbiAgICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgUmVnZXhlcy52YWxpZGF0ZVBhcmFtcyhcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICAnbWVzc2FnZScsXHJcbiAgICAgIFsndHlwZScsICd0aW1lc3RhbXAnLCAnY29kZScsICduYW1lJywgJ2xpbmUnLCAnY2FwdHVyZSddLFxyXG4gICAgKTtcclxuICAgIHBhcmFtcy5jb2RlID0gJzA4MzknO1xyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzOiBjb2RlLCBuYW1lLCBsaW5lLCBjYXB0dXJlXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZUxvZyhwYXJhbXM/OiBOZXRQYXJhbXNbJ0dhbWVMb2cnXSk6IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0dhbWVMb2cnLCBkZWZhdWx0UGFyYW1zKCdHYW1lTG9nJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzAwLWxvZ2xpbmVcclxuICAgKi9cclxuICBzdGF0aWMgZ2FtZU5hbWVMb2cocGFyYW1zPzogTmV0UGFyYW1zWydHYW1lTG9nJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnR2FtZUxvZyc+IHtcclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXRhYmlsaXR5LlxyXG4gICAgcmV0dXJuIFJlZ2V4ZXMuZ2FtZUxvZyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbWF0Y2hlczogaHR0cHM6Ly9naXRodWIuY29tL3F1aXNxdW91cy9jYWN0Ym90L2Jsb2IvbWFpbi9kb2NzL0xvZ0d1aWRlLm1kIzBjLXBsYXllcnN0YXRzXHJcbiAgICovXHJcbiAgc3RhdGljIHN0YXRDaGFuZ2UocGFyYW1zPzogTmV0UGFyYW1zWydQbGF5ZXJTdGF0cyddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1BsYXllclN0YXRzJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ1BsYXllclN0YXRzJywgZGVmYXVsdFBhcmFtcygnUGxheWVyU3RhdHMnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMDEtY2hhbmdlem9uZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBjaGFuZ2Vab25lKHBhcmFtcz86IE5ldFBhcmFtc1snQ2hhbmdlWm9uZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J0NoYW5nZVpvbmUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnQ2hhbmdlWm9uZScsIGRlZmF1bHRQYXJhbXMoJ0NoYW5nZVpvbmUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjEtbmV0d29yazZkLWFjdG9yLWNvbnRyb2wtbGluZXNcclxuICAgKi9cclxuICBzdGF0aWMgbmV0d29yazZkKHBhcmFtcz86IE5ldFBhcmFtc1snQWN0b3JDb250cm9sJ10pOiBDYWN0Ym90QmFzZVJlZ0V4cDwnQWN0b3JDb250cm9sJz4ge1xyXG4gICAgcmV0dXJuIHBhcnNlSGVscGVyKHBhcmFtcywgJ0FjdG9yQ29udHJvbCcsIGRlZmF1bHRQYXJhbXMoJ0FjdG9yQ29udHJvbCcpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG1hdGNoZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9xdWlzcXVvdXMvY2FjdGJvdC9ibG9iL21haW4vZG9jcy9Mb2dHdWlkZS5tZCMyMi1uZXR3b3JrbmFtZXRvZ2dsZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBuYW1lVG9nZ2xlKHBhcmFtcz86IE5ldFBhcmFtc1snTmFtZVRvZ2dsZSddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J05hbWVUb2dnbGUnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnTmFtZVRvZ2dsZScsIGRlZmF1bHRQYXJhbXMoJ05hbWVUb2dnbGUnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjgtbWFwXHJcbiAgICovXHJcbiAgc3RhdGljIG1hcChwYXJhbXM/OiBOZXRQYXJhbXNbJ01hcCddKTogQ2FjdGJvdEJhc2VSZWdFeHA8J01hcCc+IHtcclxuICAgIHJldHVybiBwYXJzZUhlbHBlcihwYXJhbXMsICdNYXAnLCBkZWZhdWx0UGFyYW1zKCdNYXAnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtYXRjaGVzOiBodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi9tYWluL2RvY3MvTG9nR3VpZGUubWQjMjktc3lzdGVtbG9nbWVzc2FnZVxyXG4gICAqL1xyXG4gIHN0YXRpYyBzeXN0ZW1Mb2dNZXNzYWdlKFxyXG4gICAgcGFyYW1zPzogTmV0UGFyYW1zWydTeXN0ZW1Mb2dNZXNzYWdlJ10sXHJcbiAgKTogQ2FjdGJvdEJhc2VSZWdFeHA8J1N5c3RlbUxvZ01lc3NhZ2UnPiB7XHJcbiAgICByZXR1cm4gcGFyc2VIZWxwZXIocGFyYW1zLCAnU3lzdGVtTG9nTWVzc2FnZScsIGRlZmF1bHRQYXJhbXMoJ1N5c3RlbUxvZ01lc3NhZ2UnKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGJ1aWxkaW5nIG5hbWVkIGNhcHR1cmUgZ3JvdXBcclxuICAgKi9cclxuICBzdGF0aWMgbWF5YmVDYXB0dXJlKFxyXG4gICAgY2FwdHVyZTogYm9vbGVhbixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZyxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlID8/IG1hdGNoRGVmYXVsdDtcclxuICAgIHZhbHVlID0gUmVnZXhlcy5hbnlPZih2YWx1ZSk7XHJcbiAgICByZXR1cm4gY2FwdHVyZSA/IFJlZ2V4ZXMubmFtZWRDYXB0dXJlKG5hbWUsIHZhbHVlKSA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG9wdGlvbmFsKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgKD86JHtzdHJ9KT9gO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3JlYXRlcyBhIG5hbWVkIHJlZ2V4IGNhcHR1cmUgZ3JvdXAgbmFtZWQgfG5hbWV8IGZvciB0aGUgbWF0Y2ggfHZhbHVlfC5cclxuICBzdGF0aWMgbmFtZWRDYXB0dXJlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAobmFtZS5pbmNsdWRlcygnPicpKVxyXG4gICAgICBjb25zb2xlLmVycm9yKCdcIicgKyBuYW1lICsgJ1wiIGNvbnRhaW5zIFwiPlwiLicpO1xyXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoJzwnKSlcclxuICAgICAgY29uc29sZS5lcnJvcignXCInICsgbmFtZSArICdcIiBjb250YWlucyBcIj5cIi4nKTtcclxuXHJcbiAgICByZXR1cm4gJyg/PCcgKyBuYW1lICsgJz4nICsgdmFsdWUgKyAnKSc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZW5pZW5jZSBmb3IgdHVybmluZyBtdWx0aXBsZSBhcmdzIGludG8gYSB1bmlvbmVkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cclxuICAgKiBhbnlPZih4LCB5LCB6KSBvciBhbnlPZihbeCwgeSwgel0pIGRvIHRoZSBzYW1lIHRoaW5nLCBhbmQgcmV0dXJuICg/Onh8eXx6KS5cclxuICAgKiBhbnlPZih4KSBvciBhbnlPZih4KSBvbiBpdHMgb3duIHNpbXBsaWZpZXMgdG8ganVzdCB4LlxyXG4gICAqIGFyZ3MgbWF5IGJlIHN0cmluZ3Mgb3IgUmVnRXhwLCBhbHRob3VnaCBhbnkgYWRkaXRpb25hbCBtYXJrZXJzIHRvIFJlZ0V4cFxyXG4gICAqIGxpa2UgL2luc2Vuc2l0aXZlL2kgYXJlIGRyb3BwZWQuXHJcbiAgICovXHJcbiAgc3RhdGljIGFueU9mKC4uLmFyZ3M6IChzdHJpbmcgfCBzdHJpbmdbXSB8IFJlZ0V4cClbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhbnlPZkFycmF5ID0gKGFycmF5OiAoc3RyaW5nIHwgUmVnRXhwKVtdKTogc3RyaW5nID0+IHtcclxuICAgICAgcmV0dXJuIGAoPzoke2FycmF5Lm1hcCgoZWxlbSkgPT4gZWxlbSBpbnN0YW5jZW9mIFJlZ0V4cCA/IGVsZW0uc291cmNlIDogZWxlbSkuam9pbignfCcpfSlgO1xyXG4gICAgfTtcclxuICAgIGxldCBhcnJheTogKHN0cmluZyB8IFJlZ0V4cClbXSA9IFtdO1xyXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFyZ3NbMF0pKVxyXG4gICAgICAgIGFycmF5ID0gYXJnc1swXTtcclxuICAgICAgZWxzZSBpZiAoYXJnc1swXSlcclxuICAgICAgICBhcnJheSA9IFthcmdzWzBdXTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIGFycmF5ID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUT0RPOiBtb3JlIGFjY3VyYXRlIHR5cGUgaW5zdGVhZCBvZiBgYXNgIGNhc3RcclxuICAgICAgYXJyYXkgPSBhcmdzIGFzIHN0cmluZ1tdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFueU9mQXJyYXkoYXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhcnNlKHJlZ2V4cFN0cmluZzogUmVnRXhwIHwgc3RyaW5nIHwgQ2FjdGJvdEJhc2VSZWdFeHA8J05vbmUnPik6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBrQ2FjdGJvdENhdGVnb3JpZXMgPSB7XHJcbiAgICAgIFRpbWVzdGFtcDogJ14uezE0fScsXHJcbiAgICAgIE5ldFRpbWVzdGFtcDogJy57MzN9JyxcclxuICAgICAgTmV0RmllbGQ6ICcoPzpbXnxdKlxcXFx8KScsXHJcbiAgICAgIExvZ1R5cGU6ICdbMC05QS1GYS1mXXsyfScsXHJcbiAgICAgIEFiaWxpdHlDb2RlOiAnWzAtOUEtRmEtZl17MSw4fScsXHJcbiAgICAgIE9iamVjdElkOiAnWzAtOUEtRl17OH0nLFxyXG4gICAgICAvLyBNYXRjaGVzIGFueSBjaGFyYWN0ZXIgbmFtZSAoaW5jbHVkaW5nIGVtcHR5IHN0cmluZ3Mgd2hpY2ggdGhlIEZGWElWXHJcbiAgICAgIC8vIEFDVCBwbHVnaW4gY2FuIGdlbmVyYXRlIHdoZW4gdW5rbm93bikuXHJcbiAgICAgIE5hbWU6ICcoPzpbXlxcXFxzOnxdKyg/OiBbXlxcXFxzOnxdKyk/fCknLFxyXG4gICAgICAvLyBGbG9hdHMgY2FuIGhhdmUgY29tbWEgYXMgc2VwYXJhdG9yIGluIEZGWElWIHBsdWdpbiBvdXRwdXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9yYXZhaG4vRkZYSVZfQUNUX1BsdWdpbi9pc3N1ZXMvMTM3XHJcbiAgICAgIEZsb2F0OiAnLT9bMC05XSsoPzpbLixdWzAtOV0rKT8oPzpFLT9bMC05XSspPycsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEFsbCByZWdleGVzIGluIGNhY3Rib3QgYXJlIGNhc2UgaW5zZW5zaXRpdmUuXHJcbiAgICAvLyBUaGlzIGF2b2lkcyBoZWFkYWNoZXMgYXMgdGhpbmdzIGxpa2UgYFZpY2UgYW5kIFZhbml0eWAgdHVybnMgaW50b1xyXG4gICAgLy8gYFZpY2UgQW5kIFZhbml0eWAsIGVzcGVjaWFsbHkgZm9yIEZyZW5jaCBhbmQgR2VybWFuLiAgSXQgYXBwZWFycyB0b1xyXG4gICAgLy8gaGF2ZSBhIH4yMCUgcmVnZXggcGFyc2luZyBvdmVyaGVhZCwgYnV0IGF0IGxlYXN0IHRoZXkgd29yay5cclxuICAgIGxldCBtb2RpZmllcnMgPSAnaSc7XHJcbiAgICBpZiAocmVnZXhwU3RyaW5nIGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgIG1vZGlmaWVycyArPSAocmVnZXhwU3RyaW5nLmdsb2JhbCA/ICdnJyA6ICcnKSArXHJcbiAgICAgICAgKHJlZ2V4cFN0cmluZy5tdWx0aWxpbmUgPyAnbScgOiAnJyk7XHJcbiAgICAgIHJlZ2V4cFN0cmluZyA9IHJlZ2V4cFN0cmluZy5zb3VyY2U7XHJcbiAgICB9XHJcbiAgICByZWdleHBTdHJpbmcgPSByZWdleHBTdHJpbmcucmVwbGFjZSgvXFxcXHlcXHsoLio/KVxcfS9nLCAobWF0Y2gsIGdyb3VwKSA9PiB7XHJcbiAgICAgIHJldHVybiBrQ2FjdGJvdENhdGVnb3JpZXNbZ3JvdXAgYXMga2V5b2YgdHlwZW9mIGtDYWN0Ym90Q2F0ZWdvcmllc10gfHwgbWF0Y2g7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHJlZ2V4cFN0cmluZywgbW9kaWZpZXJzKTtcclxuICB9XHJcblxyXG4gIC8vIExpa2UgUmVnZXguUmVnZXhlcy5wYXJzZSwgYnV0IGZvcmNlIGdsb2JhbCBmbGFnLlxyXG4gIHN0YXRpYyBwYXJzZUdsb2JhbChyZWdleHBTdHJpbmc6IFJlZ0V4cCB8IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCByZWdleCA9IFJlZ2V4ZXMucGFyc2UocmVnZXhwU3RyaW5nKTtcclxuICAgIGxldCBtb2RpZmllcnMgPSAnZ2knO1xyXG4gICAgaWYgKHJlZ2V4cFN0cmluZyBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgbW9kaWZpZXJzICs9IChyZWdleHBTdHJpbmcubXVsdGlsaW5lID8gJ20nIDogJycpO1xyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocmVnZXguc291cmNlLCBtb2RpZmllcnMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRydWVJZlVuZGVmaW5lZCh2YWx1ZT86IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuICEhdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdmFsaWRhdGVQYXJhbXMoXHJcbiAgICBmOiBSZWFkb25seTx7IFtzOiBzdHJpbmddOiB1bmtub3duIH0+LFxyXG4gICAgZnVuY05hbWU6IHN0cmluZyxcclxuICAgIHBhcmFtczogUmVhZG9ubHk8c3RyaW5nW10+LFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGYgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgZiAhPT0gJ29iamVjdCcpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmKTtcclxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwga2V5cy5sZW5ndGg7ICsraykge1xyXG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2tdO1xyXG4gICAgICBpZiAoa2V5ICYmICFwYXJhbXMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGAke2Z1bmNOYW1lfTogaW52YWxpZCBwYXJhbWV0ZXIgJyR7a2V5fScuICBgICtcclxuICAgICAgICAgICAgYFZhbGlkIHBhcmFtczogJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfWAsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gYSB0cmlnZ2VyIGFzIHN1Y2g6XHJcbi8vIHtcclxuLy8gICBpZDogJ1NvbWUgdGFua2J1c3RlcicsXHJcbi8vICAgcmVnZXg6IFJlZ2V4ZXMuc3RhcnRzVXNpbmcoe3NvdXJjZTogJ1llIE9sZGUgQm9zc2UnLCBpZDogJzY2Nid9KSxcclxuLy8gICBjb25kaXRpb246IENvbmRpdGlvbnMuY2FyZXNBYm91dE1hZ2ljYWwoZGF0YSksXHJcbi8vICAgcmVzcG9uc2U6IFJlc3BvbnNlcy50YW5rYnVzdGVyKCksXHJcbi8vIH0sXHJcbi8vXHJcbi8vIE5vdGU6IEJyZWFraW5nIG91dCB0aGUgY29uZGl0aW9uIGxpa2UgdGhpcyBsZXRzIHBlb3BsZSBvdmVycmlkZSBpdCBpZiB0aGV5XHJcbi8vIGFsd2F5cyAob3IgbmV2ZXIpIHdhbnQgdG8ga25vdyBhYm91dCBpdCwgcmF0aGVyIHRoYW4gaGlkaW5nIHRoZSBsb2dpYyBpbnNpZGVcclxuLy8gdGhlIHRhbmtidXN0ZXIgY2FsbGJhY2sgd2l0aCBhIFwiaXMgaGVhbGVyXCIgY2hlY2suXHJcbi8vXHJcbi8vIElmIGRhdGEucm9sZSBpcyB1c2VkLCBpdCBzaG91bGQgYmUgb25seSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWxlcnQgbGV2ZWxzLFxyXG4vLyBhbmQgbm90IHdoZXRoZXIgYSBtZXNzYWdlIGlzIHNlbnQgYXQgYWxsLlxyXG4vL1xyXG4vLyBBbHRob3VnaCB0aGlzIGlzIG5vdCB0cnVlIG9mIGByZXNwb25zZTogYCBmaWVsZHMgb24gdHJpZ2dlcnMgaW4gZ2VuZXJhbCxcclxuLy8gYWxsIHJlc3BvbnNlcyBpbiB0aGlzIGZpbGUgc2hvdWxkIGVpdGhlciByZXR1cm4gYW4gb2JqZWN0IG9yIGEgc2luZ2xlXHJcbi8vIGZ1bmN0aW9uIHRoYXQgc2V0cyBvdXRwdXRTdHJpbmdzIGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aXRob3V0IGRvaW5nXHJcbi8vIGFueXRoaW5nIHdpdGggZGF0YSBvciBtYXRjaGVzLiAgU2VlIGByZXNwb25zZXNfdGVzdC5qc2AuXHJcblxyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgYXMgRGF0YSB9IGZyb20gJy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvY2FsZVRleHQsXHJcbiAgTG9vc2VUcmlnZ2VyLFxyXG4gIE91dHB1dCxcclxuICBSZXNwb25zZUZ1bmMsXHJcbiAgUmVzcG9uc2VPdXRwdXQsXHJcbiAgVGFyZ2V0ZWRNYXRjaGVzLFxyXG4gIFRyaWdnZXJGdW5jLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG5pbXBvcnQgT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5cclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlT3V0cHV0ID0gUmVzcG9uc2VPdXRwdXQ8RGF0YSwgVGFyZ2V0ZWRNYXRjaGVzPjtcclxudHlwZSBUYXJnZXRlZFJlc3BvbnNlRnVuYyA9IFJlc3BvbnNlRnVuYzxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+O1xyXG50eXBlIFRhcmdldGVkRnVuYyA9IFRyaWdnZXJGdW5jPERhdGEsIFRhcmdldGVkTWF0Y2hlcywgVHJpZ2dlck91dHB1dDxEYXRhLCBUYXJnZXRlZE1hdGNoZXM+PjtcclxudHlwZSBTdGF0aWNSZXNwb25zZUZ1bmMgPSBSZXNwb25zZUZ1bmM8RGF0YSwgTWF0Y2hlcz47XHJcblxyXG5leHBvcnQgY29uc3Qgc2V2ZXJpdHlMaXN0ID0gWydpbmZvJywgJ2FsZXJ0JywgJ2FsYXJtJ10gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFNldmVyaXR5ID0gdHlwZW9mIHNldmVyaXR5TGlzdFtudW1iZXJdO1xyXG5leHBvcnQgdHlwZSBTZXZUZXh0ID0gJ2luZm9UZXh0JyB8ICdhbGVydFRleHQnIHwgJ2FsYXJtVGV4dCc7XHJcblxyXG5leHBvcnQgY29uc3QgYnVpbHRJblJlc3BvbnNlU3RyID0gJ2NhY3Rib3QtYnVpbHRpbi1yZXNwb25zZSc7XHJcblxyXG4vLyBBbGwgdmFsaWQgdHJpZ2dlciBmaWVsZHMuXHJcbmV4cG9ydCBjb25zdCB0cmlnZ2VyRnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdjb25kaXRpb24nLFxyXG4gICdkZWxheVNlY29uZHMnLFxyXG4gICdkaXNhYmxlZCcsXHJcbiAgJ2R1cmF0aW9uU2Vjb25kcycsXHJcbiAgJ2lkJyxcclxuICAndHlwZScsXHJcbiAgJ2luZm9UZXh0JyxcclxuICAncHJlUnVuJyxcclxuICAncHJvbWlzZScsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAncnVuJyxcclxuICAnc291bmQnLFxyXG4gICdzb3VuZFZvbHVtZScsXHJcbiAgJ3N1cHByZXNzU2Vjb25kcycsXHJcbiAgJ3R0cycsXHJcbiAgJ291dHB1dFN0cmluZ3MnLFxyXG5dO1xyXG5cclxuLy8gVHJpZ2dlciBmaWVsZHMgdGhhdCBjYW4gcHJvZHVjZSB0ZXh0IG91dHB1dC5cclxuZXhwb3J0IGNvbnN0IHRyaWdnZXJUZXh0T3V0cHV0RnVuY3Rpb25zOiAoa2V5b2YgTG9vc2VUcmlnZ2VyKVtdID0gW1xyXG4gICdhbGFybVRleHQnLFxyXG4gICdhbGVydFRleHQnLFxyXG4gICdpbmZvVGV4dCcsXHJcbiAgJ3Jlc3BvbnNlJyxcclxuICAndHRzJyxcclxuXTtcclxuXHJcbi8vIElmIGEgdHJpZ2dlciBoYXMgYW55IG9mIHRoZXNlLCB0aGVuIGl0IGhhcyBhIHZpc2libGUvYXVkaW8gZWZmZWN0LlxyXG5leHBvcnQgY29uc3QgdHJpZ2dlck91dHB1dEZ1bmN0aW9uczogKGtleW9mIExvb3NlVHJpZ2dlcilbXSA9IFtcclxuICAuLi50cmlnZ2VyVGV4dE91dHB1dEZ1bmN0aW9ucyxcclxuICAnc291bmQnLFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldmVyaXR5TWFwOiB7IFtzZXYgaW4gU2V2ZXJpdHldOiBTZXZUZXh0IH0gPSB7XHJcbiAgJ2luZm8nOiAnaW5mb1RleHQnLFxyXG4gICdhbGVydCc6ICdhbGVydFRleHQnLFxyXG4gICdhbGFybSc6ICdhbGFybVRleHQnLFxyXG59O1xyXG5cclxuY29uc3QgZ2V0VGV4dCA9IChzZXY6IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCEoc2V2IGluIHNldmVyaXR5TWFwKSlcclxuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXZlcml0eTogJHtzZXZ9LmApO1xyXG4gIHJldHVybiBzZXZlcml0eU1hcFtzZXZdO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEluZm9UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2luZm9UZXh0JztcclxuICByZXR1cm4gZ2V0VGV4dChzZXYpO1xyXG59O1xyXG5cclxuY29uc3QgZGVmYXVsdEFsZXJ0VGV4dCA9IChzZXY/OiBTZXZlcml0eSk6IFNldlRleHQgPT4ge1xyXG4gIGlmICghc2V2KVxyXG4gICAgcmV0dXJuICdhbGVydFRleHQnO1xyXG4gIHJldHVybiBnZXRUZXh0KHNldik7XHJcbn07XHJcblxyXG5jb25zdCBkZWZhdWx0QWxhcm1UZXh0ID0gKHNldj86IFNldmVyaXR5KTogU2V2VGV4dCA9PiB7XHJcbiAgaWYgKCFzZXYpXHJcbiAgICByZXR1cm4gJ2FsYXJtVGV4dCc7XHJcbiAgcmV0dXJuIGdldFRleHQoc2V2KTtcclxufTtcclxuXHJcbmNvbnN0IGdldFRhcmdldCA9IChtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMpID0+IHtcclxuICAvLyBPZnRlbiB0YW5rYnVzdGVycyBjYW4gYmUgY2FzdGVkIGJ5IHRoZSBib3NzIG9uIHRoZSBib3NzLlxyXG4gIC8vIENvbnNpZGVyIHRoaXMgYXMgXCJub3QgaGF2aW5nIGEgdGFyZ2V0XCIuXHJcbiAgaWYgKCFtYXRjaGVzIHx8IG1hdGNoZXMudGFyZ2V0ID09PSBtYXRjaGVzLnNvdXJjZSlcclxuICAgIHJldHVybjtcclxuICByZXR1cm4gbWF0Y2hlcy50YXJnZXQ7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTb3VyY2UgPSAobWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzKSA9PiB7XHJcbiAgcmV0dXJuIG1hdGNoZXM/LnNvdXJjZTtcclxufTtcclxuXHJcbi8vIEZJWE1FOiBtYWtlIHRoaXMgd29yayBmb3IgYW55IG51bWJlciBvZiBwYWlycyBvZiBwYXJhbXNcclxuY29uc3QgY29tYmluZUZ1bmNzID0gZnVuY3Rpb24oXHJcbiAgdGV4dDE6IFNldlRleHQsXHJcbiAgZnVuYzE6IFRhcmdldGVkRnVuYyxcclxuICB0ZXh0MjogU2V2VGV4dCxcclxuICBmdW5jMjogVGFyZ2V0ZWRGdW5jLFxyXG4pIHtcclxuICBjb25zdCBvYmo6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPSB7fTtcclxuXHJcbiAgaWYgKHRleHQxICE9PSB0ZXh0Mikge1xyXG4gICAgb2JqW3RleHQxXSA9IGZ1bmMxO1xyXG4gICAgb2JqW3RleHQyXSA9IGZ1bmMyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvYmpbdGV4dDFdID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgcmV0dXJuIGZ1bmMxKGRhdGEsIG1hdGNoZXMsIG91dHB1dCkgfHwgZnVuYzIoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn07XHJcblxyXG5jb25zdCBpc1BsYXllcklkID0gKGlkPzogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGlkICYmIGlkWzBdICE9PSAnNCc7XHJcbn07XHJcblxyXG4vLyBGb3IgcmVzcG9uc2VzIHRoYXQgdW5jb25kaXRpb25hbGx5IHJldHVybiBzdGF0aWMgdGV4dC5cclxuY29uc3Qgc3RhdGljUmVzcG9uc2UgPSAoZmllbGQ6IFNldlRleHQsIHRleHQ6IExvY2FsZVRleHQpOiBTdGF0aWNSZXNwb25zZUZ1bmMgPT4ge1xyXG4gIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICB0ZXh0OiB0ZXh0LFxyXG4gICAgfTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFtmaWVsZF06IChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KSA9PiBvdXRwdXQudGV4dD8uKCksXHJcbiAgICB9O1xyXG4gIH07XHJcbn07XHJcblxyXG50eXBlIFNpbmdsZVNldlRvUmVzcG9uc2VGdW5jID0gKHNldj86IFNldmVyaXR5KSA9PiBUYXJnZXRlZFJlc3BvbnNlRnVuYyB8IFN0YXRpY1Jlc3BvbnNlRnVuYztcclxudHlwZSBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYyA9ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4gVGFyZ2V0ZWRSZXNwb25zZUZ1bmM7XHJcbnR5cGUgUmVzcG9uc2VzTWFwID0ge1xyXG4gIFtyZXNwb25zZTogc3RyaW5nXTogU2luZ2xlU2V2VG9SZXNwb25zZUZ1bmMgfCBEb3VibGVTZXZUb1Jlc3BvbnNlRnVuYztcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXNwb25zZXMgPSB7XHJcbiAgdGFua0J1c3RlcjogKHRhcmdldFNldj86IFNldmVyaXR5LCBvdGhlclNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0ge1xyXG4gICAgICBub1RhcmdldDogT3V0cHV0cy50YW5rQnVzdGVyLFxyXG4gICAgICBidXN0ZXJPbllvdTogT3V0cHV0cy50YW5rQnVzdGVyT25Zb3UsXHJcbiAgICAgIGJ1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnRhbmtCdXN0ZXJPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lm5vVGFyZ2V0Py4oKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0LmJ1c3Rlck9uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQubm9UYXJnZXQ/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dCh0YXJnZXRTZXYpLFxyXG4gICAgICB0YXJnZXRGdW5jLFxyXG4gICAgICBkZWZhdWx0SW5mb1RleHQob3RoZXJTZXYpLFxyXG4gICAgICBvdGhlckZ1bmMsXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIChfZGF0YTogdW5rbm93biwgX21hdGNoZXM6IHVua25vd24sIG91dHB1dDogT3V0cHV0KTogVGFyZ2V0ZWRSZXNwb25zZU91dHB1dCA9PiB7XHJcbiAgICAgIC8vIGNhY3Rib3QtYnVpbHRpbi1yZXNwb25zZVxyXG4gICAgICBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzID0gb3V0cHV0U3RyaW5ncztcclxuICAgICAgcmV0dXJuIGNvbWJpbmVkO1xyXG4gICAgfTtcclxuICB9LFxyXG4gIHRhbmtCdXN0ZXJTd2FwOiAoYnVzdGVyU2V2PzogU2V2ZXJpdHksIHN3YXBTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgdGFua1N3YXA6IE91dHB1dHMudGFua1N3YXAsXHJcbiAgICAgIGJ1c3Rlck9uWW91OiBPdXRwdXRzLnRhbmtCdXN0ZXJPbllvdSxcclxuICAgICAgYnVzdGVyT25UYXJnZXQ6IE91dHB1dHMudGFua0J1c3Rlck9uUGxheWVyLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBOb3RlOiBidXN0ZXJTZXYgYW5kIHN3YXBTZXYgY2FuIGJlIHRoZSBzYW1lIHByaW9yaXR5LlxyXG4gICAgY29uc3QgdGFua1N3YXBGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQudGFua1N3YXA/LigpO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IGJ1c3RlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcblxyXG4gICAgICBpZiAoZGF0YS5yb2xlID09PSAndGFuaycgJiYgdGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5idXN0ZXJPbllvdT8uKCk7XHJcbiAgICAgIHJldHVybiBvdXRwdXQuYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGFybVRleHQoc3dhcFNldiksXHJcbiAgICAgIHRhbmtTd2FwRnVuYyxcclxuICAgICAgZGVmYXVsdEFsZXJ0VGV4dChidXN0ZXJTZXYpLFxyXG4gICAgICBidXN0ZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICB0YW5rQ2xlYXZlOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBjbGVhdmVPbllvdTogT3V0cHV0cy50YW5rQ2xlYXZlT25Zb3UsXHJcbiAgICAgICAgY2xlYXZlTm9UYXJnZXQ6IE91dHB1dHMudGFua0NsZWF2ZSxcclxuICAgICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRJbmZvVGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuY2xlYXZlT25Zb3U/LigpO1xyXG4gICAgICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEuam9iID09PSAnQkxVJykge1xyXG4gICAgICAgICAgICAvLyB0YXJnZXRsZXNzIHRhbmsgY2xlYXZlXHJcbiAgICAgICAgICAgIC8vIEJMVSBwbGF5ZXJzIHNob3VsZCBhbHdheXMgZ2V0IHRoaXMgZ2VuZXJpYyBjbGVhdmUgbWVzc2FnZS5cclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSBubyByb2J1c3Qgd2F5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXkgaGF2ZSB0YW5rIE1pbWljcnkgb24sXHJcbiAgICAgICAgICAgIC8vIGFuZCBpdCdzIHJlYWxseSBhbm5veWluZyBmb3IgYSBCTFUgdGFuayB0byBiZSB0b2xkIHRvIGF2b2lkIGNsZWF2ZXMgd2hlbiB0aGV5IGNhbid0LlxyXG4gICAgICAgICAgICByZXR1cm4gb3V0cHV0LmNsZWF2ZU5vVGFyZ2V0Py4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHNoYXJlZFRhbmtCdXN0ZXI6ICh0YXJnZXRTZXY/OiBTZXZlcml0eSwgb3RoZXJTZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uWW91OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPbllvdSxcclxuICAgICAgc2hhcmVkVGFua2J1c3Rlck9uVGFyZ2V0OiBPdXRwdXRzLnNoYXJlZFRhbmtidXN0ZXJPblBsYXllcixcclxuICAgICAgc2hhcmVkVGFua2J1c3RlcjogT3V0cHV0cy5zaGFyZWRUYW5rYnVzdGVyLFxyXG4gICAgICBhdm9pZENsZWF2ZTogT3V0cHV0cy5hdm9pZFRhbmtDbGVhdmUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKCF0YXJnZXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5yb2xlICE9PSAndGFuaycgJiYgZGF0YS5yb2xlICE9PSAnaGVhbGVyJylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICByZXR1cm4gb3V0cHV0LnNoYXJlZFRhbmtidXN0ZXI/LigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ID09PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQuc2hhcmVkVGFua2J1c3Rlck9uWW91Py4oKTtcclxuICAgICAgaWYgKGRhdGEucm9sZSA9PT0gJ3RhbmsnIHx8IGRhdGEucm9sZSA9PT0gJ2hlYWxlcicpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5zaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGlmIChkYXRhLnJvbGUgPT09ICd0YW5rJyB8fCBkYXRhLnJvbGUgPT09ICdoZWFsZXInKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBvdXRwdXQuYXZvaWRDbGVhdmU/LigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0YXJnZXQgPT09IGRhdGEubWUgfHwgZGF0YS5yb2xlID09PSAndGFuaycgfHwgZGF0YS5yb2xlID09PSAnaGVhbGVyJylcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICByZXR1cm4gb3V0cHV0LmF2b2lkQ2xlYXZlPy4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IHVua25vd24sIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCk6IFRhcmdldGVkUmVzcG9uc2VPdXRwdXQgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBtaW5pQnVzdGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm1pbmlCdXN0ZXIpLFxyXG4gIGFvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5hb2UpLFxyXG4gIGJpZ0FvZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5iaWdBb2UpLFxyXG4gIHNwcmVhZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5zcHJlYWQpLFxyXG4gIC8vIGZvciBzdGFjayBtYXJrZXIgc2l0dWF0aW9ucy5cclxuICBzdGFja01hcmtlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuc3RhY2tNYXJrZXIpLFxyXG4gIC8vIGZvciBnZXR0aW5nIHRvZ2V0aGVyIHdpdGhvdXQgc3RhY2sgbWFya2VyXHJcbiAgZ2V0VG9nZXRoZXI6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFRvZ2V0aGVyKSxcclxuICBzdGFja01hcmtlck9uOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdGFja09uWW91OiBPdXRwdXRzLnN0YWNrT25Zb3UsXHJcbiAgICAgICAgc3RhY2tPblRhcmdldDogT3V0cHV0cy5zdGFja09uUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdGFja09uWW91Py4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuc3RhY2tPblRhcmdldD8uKHsgcGxheWVyOiBkYXRhLlNob3J0TmFtZSh0YXJnZXQpIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIHN0YWNrTWlkZGxlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLnN0YWNrTWlkZGxlKSxcclxuICBkb3JpdG9TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZG9yaXRvU3RhY2spLFxyXG4gIHNwcmVhZFRoZW5TdGFjazogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLnNwcmVhZFRoZW5TdGFjayk7XHJcbiAgfSxcclxuICBzdGFja1RoZW5TcHJlYWQ6IChzZXY/OiBTZXZlcml0eSkgPT4ge1xyXG4gICAgcmV0dXJuIHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zdGFja1RoZW5TcHJlYWQpO1xyXG4gIH0sXHJcbiAga25vY2tiYWNrOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5rbm9ja2JhY2spLFxyXG4gIGtub2NrYmFja09uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIGtub2NrYmFja09uWW91OiBPdXRwdXRzLmtub2NrYmFja09uWW91LFxyXG4gICAgICBrbm9ja2JhY2tPblRhcmdldDogT3V0cHV0cy5rbm9ja2JhY2tPblBsYXllcixcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0RnVuYyA9IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldChtYXRjaGVzKTtcclxuICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICByZXR1cm4gb3V0cHV0Lmtub2NrYmFja09uWW91Py4oKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3RoZXJGdW5jID0gKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICBpZiAodGFyZ2V0ICE9PSBkYXRhLm1lKVxyXG4gICAgICAgIHJldHVybiBvdXRwdXQua25vY2tiYWNrT25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcbiAgICBjb25zdCBjb21iaW5lZCA9IGNvbWJpbmVGdW5jcyhcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KHRhcmdldFNldiksXHJcbiAgICAgIHRhcmdldEZ1bmMsXHJcbiAgICAgIGRlZmF1bHRJbmZvVGV4dChvdGhlclNldiksXHJcbiAgICAgIG90aGVyRnVuYyxcclxuICAgICk7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSBvdXRwdXRTdHJpbmdzO1xyXG4gICAgICByZXR1cm4gY29tYmluZWQ7XHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgZHJhd0luOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmRyYXdJbiksXHJcbiAgbG9va1Rvd2FyZHM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMubG9va1Rvd2FyZHNCb3NzKSxcclxuICBsb29rQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5sb29rQXdheSksXHJcbiAgbG9va0F3YXlGcm9tVGFyZ2V0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBsb29rQXdheUZyb206IE91dHB1dHMubG9va0F3YXlGcm9tVGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGlzUGxheWVySWQobWF0Y2hlcz8udGFyZ2V0SWQpID8gZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSA6IHRhcmdldDtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQubG9va0F3YXlGcm9tPy4oeyBuYW1lOiBuYW1lIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9LFxyXG4gIGxvb2tBd2F5RnJvbVNvdXJjZTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgbG9va0F3YXlGcm9tOiBPdXRwdXRzLmxvb2tBd2F5RnJvbVRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKGRhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIGlmIChzb3VyY2UgPT09IGRhdGEubWUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBpc1BsYXllcklkKG1hdGNoZXM/LnNvdXJjZUlkKSA/IGRhdGEuU2hvcnROYW1lKHNvdXJjZSkgOiBzb3VyY2U7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0Lmxvb2tBd2F5RnJvbT8uKHsgbmFtZTogbmFtZSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBnZXRCZWhpbmQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldEJlaGluZCksXHJcbiAgZ29Gcm9udE9yU2lkZXM6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRPclNpZGVzKSxcclxuICAvLyAuZ2V0VW5kZXIoKSBpcyB1c2VkIHdoZW4geW91IGhhdmUgdG8gZ2V0IGludG8gdGhlIGJvc3NlcyBoaXRib3hcclxuICBnZXRVbmRlcjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5nZXRVbmRlciksXHJcbiAgLy8gLmdldEluKCkgaXMgbW9yZSBsaWtlIFwiZ2V0IGNsb3NlIGJ1dCBtYXliZSBldmVuIG1lbGVlIHJhbmdlIGlzIGZpbmVcIlxyXG4gIGdldEluOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5pbiksXHJcbiAgLy8gLmdldE91dCgpIG1lYW5zIGdldCBmYXIgYXdheVxyXG4gIGdldE91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMub3V0KSxcclxuICBvdXRPZk1lbGVlOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLm91dE9mTWVsZWUpLFxyXG4gIGdldEluVGhlbk91dDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5pblRoZW5PdXQpLFxyXG4gIGdldE91dFRoZW5JbjogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5vdXRUaGVuSW4pLFxyXG4gIGdldEJhY2tUaGVuRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEluZm9UZXh0KHNldiksIE91dHB1dHMuYmFja1RoZW5Gcm9udCksXHJcbiAgZ2V0RnJvbnRUaGVuQmFjazogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5mcm9udFRoZW5CYWNrKSxcclxuICBnb01pZGRsZTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxlcnRUZXh0KHNldiksIE91dHB1dHMuZ29JbnRvTWlkZGxlKSxcclxuICBnb1JpZ2h0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5yaWdodCksXHJcbiAgZ29MZWZ0OiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5sZWZ0KSxcclxuICBnb1dlc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldExlZnRBbmRXZXN0KSxcclxuICBnb0Vhc3Q6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdldFJpZ2h0QW5kRWFzdCksXHJcbiAgZ29Gcm9udEJhY2s6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmdvRnJvbnRCYWNrKSxcclxuICBnb1NpZGVzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGVydFRleHQoc2V2KSwgT3V0cHV0cy5zaWRlcyksXHJcbiAgLy8gLmtpbGxBZGRzKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IHdpbGwgYWx3YXlzIGJlIGF2YWlsYWJsZVxyXG4gIGtpbGxBZGRzOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRJbmZvVGV4dChzZXYpLCBPdXRwdXRzLmtpbGxBZGRzKSxcclxuICAvLyAua2lsbEV4dHJhQWRkKCkgaXMgdXNlZCBmb3IgYWRkcyB0aGF0IGFwcGVhciBpZiBhIG1lY2hhbmljIHdhcyBub3QgcGxheWVkIGNvcnJlY3RseVxyXG4gIGtpbGxFeHRyYUFkZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5raWxsRXh0cmFBZGQpLFxyXG4gIGF3YXlGcm9tRnJvbnQ6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsZXJ0VGV4dChzZXYpLCBPdXRwdXRzLmF3YXlGcm9tRnJvbnQpLFxyXG4gIHNsZWVwOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzbGVlcDogT3V0cHV0cy5zbGVlcFRhcmdldCxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZGVmYXVsdEFsZXJ0VGV4dChzZXYpXTogKF9kYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICByZXR1cm4gb3V0cHV0LnNsZWVwPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgc3R1bk9ySW50ZXJydXB0SWZQb3NzaWJsZTogKHNldj86IFNldmVyaXR5KSA9PiB7XHJcbiAgICByZXR1cm4gKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgICAgaW50ZXJydXB0OiBPdXRwdXRzLmludGVycnVwdFRhcmdldCxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChkYXRhOiBEYXRhLCBtYXRjaGVzOiBUYXJnZXRlZE1hdGNoZXMsIG91dHB1dDogT3V0cHV0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBnZXRTb3VyY2UobWF0Y2hlcyk7XHJcbiAgICAgICAgICBpZiAoZGF0YS5DYW5TaWxlbmNlKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChkYXRhLkNhblN0dW4oKSlcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH07XHJcbiAgfSxcclxuICBzdHVuOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBzdHVuOiBPdXRwdXRzLnN0dW5UYXJnZXQsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgW2RlZmF1bHRBbGVydFRleHQoc2V2KV06IChfZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlKG1hdGNoZXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5zdHVuPy4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgaW50ZXJydXB0OiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBpbnRlcnJ1cHQ6IE91dHB1dHMuaW50ZXJydXB0VGFyZ2V0LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoX2RhdGE6IERhdGEsIG1hdGNoZXM6IFRhcmdldGVkTWF0Y2hlcywgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZShtYXRjaGVzKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuaW50ZXJydXB0Py4oeyBuYW1lOiBzb3VyY2UgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgcHJleU9uOiAodGFyZ2V0U2V2PzogU2V2ZXJpdHksIG90aGVyU2V2PzogU2V2ZXJpdHkpID0+IHtcclxuICAgIGNvbnN0IG91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgIHByZXlPbllvdTogT3V0cHV0cy5wcmV5T25Zb3UsXHJcbiAgICAgIHByZXlPblRhcmdldDogT3V0cHV0cy5wcmV5T25QbGF5ZXIsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmIChkYXRhLm1lID09PSB0YXJnZXQpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25Zb3U/LigpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvdGhlckZ1bmMgPSAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICBjb25zdCB0YXJnZXQgPSBnZXRUYXJnZXQobWF0Y2hlcyk7XHJcbiAgICAgIGlmICh0YXJnZXQgIT09IGRhdGEubWUpXHJcbiAgICAgICAgcmV0dXJuIG91dHB1dC5wcmV5T25UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY29tYmluZWQgPSBjb21iaW5lRnVuY3MoXHJcbiAgICAgIGRlZmF1bHRBbGVydFRleHQodGFyZ2V0U2V2KSxcclxuICAgICAgdGFyZ2V0RnVuYyxcclxuICAgICAgZGVmYXVsdEluZm9UZXh0KG90aGVyU2V2KSxcclxuICAgICAgb3RoZXJGdW5jLFxyXG4gICAgKTtcclxuICAgIHJldHVybiAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IG91dHB1dFN0cmluZ3M7XHJcbiAgICAgIHJldHVybiBjb21iaW5lZDtcclxuICAgIH07XHJcbiAgfSxcclxuICBhd2F5RnJvbTogKHNldj86IFNldmVyaXR5KSA9PlxyXG4gICAgKF9kYXRhOiBEYXRhLCBfbWF0Y2hlczogdW5rbm93biwgb3V0cHV0OiBPdXRwdXQpID0+IHtcclxuICAgICAgLy8gY2FjdGJvdC1idWlsdGluLXJlc3BvbnNlXHJcbiAgICAgIG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB7XHJcbiAgICAgICAgYXdheUZyb21Hcm91cDogT3V0cHV0cy5hd2F5RnJvbUdyb3VwLFxyXG4gICAgICAgIGF3YXlGcm9tVGFyZ2V0OiBPdXRwdXRzLmF3YXlGcm9tUGxheWVyLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKGRhdGEubWUgPT09IHRhcmdldClcclxuICAgICAgICAgICAgcmV0dXJuIG91dHB1dC5hd2F5RnJvbUdyb3VwPy4oKTtcclxuICAgICAgICAgIHJldHVybiBvdXRwdXQuYXdheUZyb21UYXJnZXQ/Lih7IHBsYXllcjogZGF0YS5TaG9ydE5hbWUodGFyZ2V0KSB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICBtZXRlb3JPbllvdTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0QWxhcm1UZXh0KHNldiksIE91dHB1dHMubWV0ZW9yT25Zb3UpLFxyXG4gIHN0b3BNb3Zpbmc6IChzZXY/OiBTZXZlcml0eSkgPT4gc3RhdGljUmVzcG9uc2UoZGVmYXVsdEFsYXJtVGV4dChzZXYpLCBPdXRwdXRzLnN0b3BNb3ZpbmcpLFxyXG4gIHN0b3BFdmVyeXRoaW5nOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy5zdG9wRXZlcnl0aGluZyksXHJcbiAgLy8gbW92ZSBhd2F5IHRvIGRvZGdlIGFvZXNcclxuICBtb3ZlQXdheTogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXdheSksXHJcbiAgLy8gbW92ZSBhcm91bmQgKGUuZy4ganVtcGluZykgdG8gYXZvaWQgYmVpbmcgZnJvemVuXHJcbiAgbW92ZUFyb3VuZDogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQXJvdW5kKSxcclxuICBicmVha0NoYWluczogKHNldj86IFNldmVyaXR5KSA9PiBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5icmVha0NoYWlucyksXHJcbiAgbW92ZUNoYWluc1RvZ2V0aGVyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICBzdGF0aWNSZXNwb25zZShkZWZhdWx0SW5mb1RleHQoc2V2KSwgT3V0cHV0cy5tb3ZlQ2hhaW5zVG9nZXRoZXIpLFxyXG4gIGVhcnRoc2hha2VyOiAoc2V2PzogU2V2ZXJpdHkpID0+XHJcbiAgICAoX2RhdGE6IERhdGEsIF9tYXRjaGVzOiB1bmtub3duLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAvLyBjYWN0Ym90LWJ1aWx0aW4tcmVzcG9uc2VcclxuICAgICAgb3V0cHV0LnJlc3BvbnNlT3V0cHV0U3RyaW5ncyA9IHtcclxuICAgICAgICBlYXJ0aHNoYWtlcjogT3V0cHV0cy5lYXJ0aHNoYWtlck9uWW91LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFtkZWZhdWx0QWxlcnRUZXh0KHNldildOiAoZGF0YTogRGF0YSwgbWF0Y2hlczogVGFyZ2V0ZWRNYXRjaGVzLCBvdXRwdXQ6IE91dHB1dCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0KG1hdGNoZXMpO1xyXG4gICAgICAgICAgaWYgKHRhcmdldCAhPT0gZGF0YS5tZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgcmV0dXJuIG91dHB1dC5lYXJ0aHNoYWtlcj8uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgd2FrZVVwOiAoc2V2PzogU2V2ZXJpdHkpID0+IHN0YXRpY1Jlc3BvbnNlKGRlZmF1bHRBbGFybVRleHQoc2V2KSwgT3V0cHV0cy53YWtlVXApLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gRG9uJ3QgZ2l2ZSBgUmVzcG9uc2VzYCBhIHR5cGUgaW4gaXRzIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgY2FuIGJlIHRyZWF0ZWQgYXMgbW9yZSBzdHJpY3RcclxuLy8gdGhhbiBgUmVzcG9uc2VzTWFwYCwgYnV0IGRvIGFzc2VydCB0aGF0IGl0cyB0eXBlIGlzIGNvcnJlY3QuICBUaGlzIGFsbG93cyBjYWxsZXJzIHRvIGtub3dcclxuLy8gd2hpY2ggcHJvcGVydGllcyBhcmUgZGVmaW5lZCBpbiBSZXNwb25zZXMgd2l0aG91dCBoYXZpbmcgdG8gY29uZGl0aW9uYWxseSBjaGVjayBmb3IgdW5kZWZpbmVkLlxyXG5jb25zdCByZXNwb25zZU1hcFR5cGVBc3NlcnRpb246IFJlc3BvbnNlc01hcCA9IFJlc3BvbnNlcztcclxuLy8gU3VwcHJlc3MgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcuXHJcbmNvbnNvbGUuYXNzZXJ0KHJlc3BvbnNlTWFwVHlwZUFzc2VydGlvbik7XHJcbiIsIi8vIFRPRE86IEZpeCBpbXBvcnQvb3JkZXJcclxuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L29yZGVyICovXHJcbmltcG9ydCB7IENhY3Rib3RDb25maWd1cmF0b3IgfSBmcm9tICcuLi91aS9jb25maWcvY29uZmlnJztcclxuaW1wb3J0IHsgaXNMYW5nLCBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvZGF0YSc7XHJcbmltcG9ydCB7IENhY3Rib3RMb2FkVXNlclJldCwgU2F2ZWRDb25maWcsIFNhdmVkQ29uZmlnRW50cnkgfSBmcm9tICcuLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IExvY2FsZU9iamVjdCwgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBhZGRPdmVybGF5TGlzdGVuZXIsIGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi9ub3RfcmVhY2hlZCc7XHJcblxyXG4vLyBUT0RPOlxyXG4vLyBUaGUgY29udmVudGlvbiBvZiBcImltcG9ydCBYIGFzIF9YOyBjb25zdCBYID0gX1g7XCIgaXMgY3VycmVudGx5XHJcbi8vIGJlaW5nIHVzZWQgYXMgYSBtZXRob2QgdG8gd29ya2Fyb3VuZCBmb3IgZG93bnN0cmVhbSBjb2RlXHJcbi8vIHRoYXQgaXMgcnVubmluZyB2aWEgZXZhbCgpLiBCZWNhdXNlIGltcG9ydGluZyBzdGF0ZW1lbnRzIGRvIG5vdFxyXG4vLyBjcmVhdGUgYSB2YXJpYWJsZSBvZiB0aGUgc2FtZSBuYW1lLCB0aGUgZXZhbCgpJ2QgY29kZSBkb2VzIG5vdCBrbm93XHJcbi8vIGFib3V0IHRoZSBpbXBvcnQsIGFuZCB0aHVzIHRocm93cyBSZWZlcmVuY2VFcnJvcnMuXHJcbi8vIFVzZWQgYnkgZG93bnN0cmVhbSBldmFsXHJcbmltcG9ydCBfQ29uZGl0aW9ucyBmcm9tICcuL2NvbmRpdGlvbnMnO1xyXG5jb25zdCBDb25kaXRpb25zID0gX0NvbmRpdGlvbnM7XHJcbmltcG9ydCBfQ29udGVudFR5cGUgZnJvbSAnLi9jb250ZW50X3R5cGUnO1xyXG5jb25zdCBDb250ZW50VHlwZSA9IF9Db250ZW50VHlwZTtcclxuaW1wb3J0IF9OZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmNvbnN0IE5ldFJlZ2V4ZXMgPSBfTmV0UmVnZXhlcztcclxuaW1wb3J0IF9SZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcbmNvbnN0IFJlZ2V4ZXMgPSBfUmVnZXhlcztcclxuaW1wb3J0IHsgUmVzcG9uc2VzIGFzIF9SZXNwb25zZXMgfSBmcm9tICcuL3Jlc3BvbnNlcyc7XHJcbmNvbnN0IFJlc3BvbnNlcyA9IF9SZXNwb25zZXM7XHJcbmltcG9ydCBfT3V0cHV0cyBmcm9tICcuL291dHB1dHMnO1xyXG5jb25zdCBPdXRwdXRzID0gX091dHB1dHM7XHJcbmltcG9ydCBfVXRpbCBmcm9tICcuL3V0aWwnO1xyXG5jb25zdCBVdGlsID0gX1V0aWw7XHJcbmltcG9ydCBfWm9uZUlkIGZyb20gJy4vem9uZV9pZCc7XHJcbmNvbnN0IFpvbmVJZCA9IF9ab25lSWQ7XHJcbmltcG9ydCBfWm9uZUluZm8gZnJvbSAnLi96b25lX2luZm8nO1xyXG5jb25zdCBab25lSW5mbyA9IF9ab25lSW5mbztcclxuXHJcbi8vIENvbnZpbmNlIFR5cGVTY3JpcHQgYW5kIGVzbGludCB0aGF0IHRoZXNlIGFyZSB1c2VkLiAgVHlwZVNjcmlwdCBkb2Vzbid0IGhhdmUgYSBncmVhdCB3YXlcclxuLy8gdG8gZGlzYWJsZSBpbmRpdmlkdWFsIHJ1bGVzLCBzbyB0aGlzIGlzIHNhZmVyIHRoYW4gZGlzYWJsaW5nIGFsbCBydWxlcy5cclxuY29uc29sZS5hc3NlcnQoXHJcbiAgQ29uZGl0aW9ucyAmJiBDb250ZW50VHlwZSAmJiBOZXRSZWdleGVzICYmIFJlZ2V4ZXMgJiZcclxuICAgIFJlc3BvbnNlcyAmJiBPdXRwdXRzICYmIFV0aWwgJiYgWm9uZUlkICYmIFpvbmVJbmZvLFxyXG4pO1xyXG5cclxuLy8gVE9ETzogbW92ZSBhbGwgb2YgdGhlc2UgdG8gY29uZmlnLmpzP1xyXG5leHBvcnQgdHlwZSBVc2VyRmlsZUNhbGxiYWNrID0gKFxyXG4gIGpzRmlsZTogc3RyaW5nLFxyXG4gIGxvY2FsRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcclxuICBvcHRpb25zOiBCYXNlT3B0aW9ucyxcclxuICBiYXNlUGF0aDogc3RyaW5nLFxyXG4pID0+IHZvaWQ7XHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcclxuZXhwb3J0IHR5cGUgQ29uZmlnRW50cnkgPSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBMb2NhbGVUZXh0O1xyXG4gIHR5cGU6ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdmbG9hdCcgfCAnaW50ZWdlcicgfCAnZGlyZWN0b3J5JyB8ICdodG1sJztcclxuICBodG1sPzogTG9jYWxlVGV4dDtcclxuICBkZWZhdWx0OiBDb25maWdWYWx1ZTtcclxuICBkZWJ1Zz86IGJvb2xlYW47XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICAvLyBGb3Igc2VsZWN0LlxyXG4gIG9wdGlvbnM/OiBMb2NhbGVPYmplY3Q8eyBbc2VsZWN0VGV4dDogc3RyaW5nXTogc3RyaW5nIH0+O1xyXG4gIHNldHRlckZ1bmM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uc1RlbXBsYXRlID0ge1xyXG4gIGJ1aWxkRXh0cmFVST86IChiYXNlOiBDYWN0Ym90Q29uZmlndXJhdG9yLCBjb250YWluZXI6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xyXG4gIHByb2Nlc3NFeHRyYU9wdGlvbnM/OiAob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB2b2lkO1xyXG4gIG9wdGlvbnM6IENvbmZpZ0VudHJ5W107XHJcbn07XHJcblxyXG5jbGFzcyBVc2VyQ29uZmlnIHtcclxuICBwdWJsaWMgb3B0aW9uVGVtcGxhdGVzOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogT3B0aW9uc1RlbXBsYXRlIH0gPSB7fTtcclxuICBwdWJsaWMgdXNlckZpbGVDYWxsYmFja3M6IHsgW292ZXJsYXlOYW1lOiBzdHJpbmddOiBVc2VyRmlsZUNhbGxiYWNrIH0gPSB7fTtcclxuICBwdWJsaWMgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnID0ge307XHJcblxyXG4gIGdldERlZmF1bHRCYXNlT3B0aW9ucygpOiBCYXNlT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBQYXJzZXJMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgU2hvcnRMb2NhbGU6ICdlbicsXHJcbiAgICAgIERpc3BsYXlMYW5ndWFnZTogJ2VuJyxcclxuICAgICAgVGV4dEFsZXJ0c0VuYWJsZWQ6IHRydWUsXHJcbiAgICAgIFNvdW5kQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICAgICAgU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIEdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZXZhbFVzZXJGaWxlKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogQmFzZU9wdGlvbnMpOiB2b2lkIHtcclxuICAgIGNvbnN0IE9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgY29uc29sZS5hc3NlcnQoT3B0aW9ucyk7IC8vIFVzZWQgYnkgZXZhbC5cclxuXHJcbiAgICAvLyBUaGlzIGlzIHRoZSBvbmUgZXZhbCBjYWN0Ym90IHNob3VsZCBldmVyIG5lZWQsIHdoaWNoIGlzIGZvciBoYW5kbGluZyB1c2VyIGZpbGVzLlxyXG4gICAgLy8gQmVjYXVzZSB1c2VyIGZpbGVzIGNhbiBiZSBsb2NhdGVkIGFueXdoZXJlIG9uIGRpc2sgYW5kIHRoZXJlJ3MgYmFja3dhcmRzIGNvbXBhdFxyXG4gICAgLy8gaXNzdWVzLCBpdCdzIHVubGlrZWx5IHRoYXQgdGhlc2Ugd2lsbCBiZSBhYmxlIHRvIGJlIGFueXRoaW5nIGJ1dCBldmFsIGZvcmV2ZXIuXHJcbiAgICAvL1xyXG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tZXZhbCAqL1xyXG4gICAgZXZhbChjb250ZW50KTtcclxuICAgIC8qIGVzbGludC1lbmFibGUgbm8tZXZhbCAqL1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPcHRpb25zKFxyXG4gICAgb3ZlcmxheU5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvblRlbXBsYXRlOiBPcHRpb25zVGVtcGxhdGUsXHJcbiAgICB1c2VyRmlsZUNhbGxiYWNrPzogVXNlckZpbGVDYWxsYmFjayxcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9uVGVtcGxhdGVzW292ZXJsYXlOYW1lXSA9IG9wdGlvblRlbXBsYXRlO1xyXG4gICAgaWYgKHVzZXJGaWxlQ2FsbGJhY2spXHJcbiAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdID0gdXNlckZpbGVDYWxsYmFjaztcclxuICB9XHJcblxyXG4gIHNvcnRVc2VyRmlsZXMoa2V5czogc3RyaW5nW10pIHtcclxuICAgIC8vIEhlbHBlciBkYXRhIHN0cnVjdHVyZSBmb3Igc3ViZGlyZWN0b3JpZXMuXHJcbiAgICBjb25zdCBzcGxpdEtleU1hcDogeyBbazogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cylcclxuICAgICAgc3BsaXRLZXlNYXBba2V5XSA9IGtleS50b1VwcGVyQ2FzZSgpLnNwbGl0KC9bL1xcXFxdLyk7XHJcblxyXG4gICAgLy8gU29ydCBwYXRocyBhcyBhIGRlcHRoLWZpcnN0IGNhc2UtaW5zZW5zaXRpdmUgYWxwaGFiZXRpY2FsIHN1YmRpcmVjdG9yeSB3YWxrLCBmb2xsb3dlZCBieVxyXG4gICAgLy8gYWxsIGZpbGVzIHNvcnRlZCBjYXNlLWluc2Vuc2l0aXZlIGFscGhhYmV0aWNhbGx5IG9uY2UgYSBzdWJkaXIgaGFzIGJlZW4gcHJvY2Vzc2VkLCBlLmcuXHJcbiAgICAvLyAgKiBhL3NvbWUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMS96L3ovei9uZXN0ZWRfZmlsZS5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIxL2ZpbGUuanNcclxuICAgIC8vICAqIGIvc3ViZGlyMi9maXJzdC5qc1xyXG4gICAgLy8gICogYi9zdWJkaXIyL3NlY29uZC5qc1xyXG4gICAgLy8gICogYi9zb21lX2ZpbGUuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTEuanNcclxuICAgIC8vICAqIHJvb3RfZmlsZTIuanNcclxuICAgIHJldHVybiBrZXlzLnNvcnQoKGtleUEsIGtleUIpID0+IHtcclxuICAgICAgY29uc3QgbGlzdEEgPSBzcGxpdEtleU1hcFtrZXlBXTtcclxuICAgICAgY29uc3QgbGlzdEIgPSBzcGxpdEtleU1hcFtrZXlCXTtcclxuICAgICAgaWYgKGxpc3RBID09PSB1bmRlZmluZWQgfHwgbGlzdEIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBjb25zdCBtYXhMZW4gPSBNYXRoLm1heChsaXN0QS5sZW5ndGgsIGxpc3RCLmxlbmd0aCk7XHJcbiAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1heExlbjsgKytpZHgpIHtcclxuICAgICAgICBjb25zdCBlbnRyeUEgPSBsaXN0QVtpZHhdO1xyXG4gICAgICAgIGNvbnN0IGVudHJ5QiA9IGxpc3RCW2lkeF07XHJcbiAgICAgICAgLy8gSW4gcHJhY3RpY2UsIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBlbnRyeS5cclxuICAgICAgICBpZiAoZW50cnlBID09PSB1bmRlZmluZWQgfHwgZW50cnlCID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAgIC8vIElmIGJvdGggc3ViZGlyZWN0b3JpZXMgb3IgYm90aCBmaWxlcywgdGhlbiBjb21wYXJlIG5hbWVzLlxyXG4gICAgICAgIGNvbnN0IGlzTGFzdEEgPSBsaXN0QS5sZW5ndGggLSAxID09PSBpZHg7XHJcbiAgICAgICAgY29uc3QgaXNMYXN0QiA9IGxpc3RCLmxlbmd0aCAtIDEgPT09IGlkeDtcclxuXHJcbiAgICAgICAgaWYgKGlzTGFzdEEgJiYgaXNMYXN0Qikge1xyXG4gICAgICAgICAgLy8gSWYgYm90aCBsYXN0LCB0aGVuIHRoaXMgaXMgYSBmaWxlbmFtZSBjb21wYXJpc29uLlxyXG5cclxuICAgICAgICAgIC8vIEZpcnN0LCBjb21wYXJlIGZpbGVuYW1lIHdpdGhvdXQgZXh0ZW5zaW9uLlxyXG4gICAgICAgICAgY29uc3QgZmlsZUEgPSBlbnRyeUEucmVwbGFjZSgvXFwuW15cXC5dKiQvLCAnJyk7XHJcbiAgICAgICAgICBjb25zdCBmaWxlQiA9IGVudHJ5Qi5yZXBsYWNlKC9cXC5bXlxcLl0qJC8sICcnKTtcclxuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lT25seURpZmYgPSBmaWxlQS5sb2NhbGVDb21wYXJlKGZpbGVCKTtcclxuICAgICAgICAgIGlmIChmaWxlbmFtZU9ubHlEaWZmKVxyXG4gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWVPbmx5RGlmZjtcclxuXHJcbiAgICAgICAgICAvLyBTZWNvbmQsIGNvbXBhcmUgaW5jbHVkaW5nIHRoZSBleHRlbnNpb24uXHJcbiAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIHNvbWV0aGluZyBoZXJlLCBzZWUgbm90ZSBiZWxvdy5cclxuICAgICAgICAgIHJldHVybiBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIWlzTGFzdEEgJiYgIWlzTGFzdEIpIHtcclxuICAgICAgICAgIC8vIElmIGJvdGggbm90IGxhc3QsIHRoaXMgaXMgYSBzdWJkaXJlY3RvcnkgY29tcGFyaXNvbi5cclxuICAgICAgICAgIGNvbnN0IGRpZmYgPSBlbnRyeUEubG9jYWxlQ29tcGFyZShlbnRyeUIpO1xyXG4gICAgICAgICAgaWYgKGRpZmYpXHJcbiAgICAgICAgICAgIHJldHVybiBkaWZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgaWYgaWR4IGlzIHRoZSBmaW5hbCBmb3IgZWFjaCwgd2Ugd291bGQgaGF2ZSByZXR1cm5lZCBhYm92ZS5cclxuICAgICAgICAvLyBTbywgY2hlY2sgaWYgZWl0aGVyIGEgb3IgYiBpcyBhdCB0aGUgZmluYWwgZW50cnkgaW4gc3BsaXRLZXlNYXAuXHJcbiAgICAgICAgLy8gSWYgc28sIHRoZW4gdGhlcmUncyBhIG1pc21hdGNoIGluIG51bWJlciBvZiBkaXJlY3RvcmllcywgYW5kIHdlIGtub3cgb25lXHJcbiAgICAgICAgLy8gdGhlIG9uZSB3aXRoIGEgZmlsZW5hbWUgc2hvdWxkIGJlIHNvcnRlZCBsYXN0LlxyXG5cclxuICAgICAgICBpZiAobGlzdEEubGVuZ3RoIC0gMSA8PSBpZHgpIHtcclxuICAgICAgICAgIC8vIGEgaGFzIGZld2VyIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGxhc3QuXHJcbiAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGxpc3RCLmxlbmd0aCAtIDEgPD0gaWR4KSB7XHJcbiAgICAgICAgICAvLyBhIGhhcyBtb3JlIHN1YmRpcmVjdG9yaWVzLCBzbyBzaG91bGQgYmUgc29ydGVkIGZpcnN0LlxyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gR2l2ZW4gYSBzZXQgb2YgcGF0aHMsIGFuIG92ZXJsYXlOYW1lLCBhbmQgYW4gZXh0ZW5zaW9uLCByZXR1cm4gYWxsIHBhdGhzIHdpdGhcclxuICAvLyB0aGF0IGV4dGVuc2lvbiB0aGF0IGhhdmUgYG92ZXJsYXlOYW1lYCBlaXRoZXIgYXMgdGhlaXIgZW50aXJlIGZpbGVuYW1lIChubyBzdWJkaXIpXHJcbiAgLy8gb3IgYXJlIGluc2lkZSBhIHJvb3QtbGV2ZWwgc3ViZGlyZWN0b3J5IG5hbWVkIGBvdmVybGF5TmFtZWAvICBUaGUgZXh0ZW5zaW9uIHNob3VsZFxyXG4gIC8vIGluY2x1ZGUgdGhlIHBlcmlvZCBzZXBhcmF0b3IsIGUuZy4gXCIuanNcIi4gIEFsbCBjb21wYXJpc29ucyBhcmUgY2FzZSBpbnNlbnNpdGl2ZS5cclxuICBmaWx0ZXJVc2VyRmlsZXMocGF0aHM6IHN0cmluZ1tdLCBvcmlnT3ZlcmxheU5hbWU6IHN0cmluZywgb3JpZ0V4dGVuc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBvcmlnRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBvdmVybGF5TmFtZSA9IG9yaWdPdmVybGF5TmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHBhdGhzLmZpbHRlcigob3JpZ1BhdGgpID0+IHtcclxuICAgICAgY29uc3QgcGF0aCA9IG9yaWdQYXRoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICghcGF0aC5lbmRzV2l0aChleHRlbnNpb24pKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgaWYgKHBhdGggPT09IGAke292ZXJsYXlOYW1lfSR7ZXh0ZW5zaW9ufWApXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYCR7b3ZlcmxheU5hbWV9L2ApIHx8IHBhdGguc3RhcnRzV2l0aChgJHtvdmVybGF5TmFtZX1cXFxcYCkpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckNvbmZpZ0xvY2F0aW9uKG92ZXJsYXlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEJhc2VPcHRpb25zLCBjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgbGV0IGN1cnJlbnRseVJlbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgY29uc3QgcmVsb2FkT25jZSA9ICgpID0+IHtcclxuICAgICAgaWYgKGN1cnJlbnRseVJlbG9hZGluZylcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGN1cnJlbnRseVJlbG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH07XHJcblxyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvblVzZXJGaWxlQ2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgcmVsb2FkT25jZSgpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ29uRm9yY2VSZWxvYWQnLCAoKSA9PiB7XHJcbiAgICAgIHJlbG9hZE9uY2UoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJGaWxlcyhvdmVybGF5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBCYXNlT3B0aW9ucywgY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcclxuICAgIGNvbnN0IHJlYWRPcHRpb25zID0gY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkRGF0YScsXHJcbiAgICAgIG92ZXJsYXk6ICdvcHRpb25zJyxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGxvYWRVc2VyID0gYXN5bmMgKGU6IHsgZGV0YWlsOiBDYWN0Ym90TG9hZFVzZXJSZXQgfSkgPT4ge1xyXG4gICAgICAvLyBUaGUgYmFzZVBhdGggaXNuJ3QgdXNpbmcgZm9yIGFueXRoaW5nIG90aGVyIHRoYW4gY29zbWV0aWMgcHJpbnRpbmcgb2YgZnVsbCBwYXRocyxcclxuICAgICAgLy8gc28gcmVwbGFjZSBhbnkgc2xhc2hlcyBoZXJlIGZvciB1bmlmb3JtaXR5LiAgSW4gY2FzZSBhbnlib2R5IGlzIHVzaW5nIGNhY3Rib3Qgb25cclxuICAgICAgLy8gTGludXggKD8hPyksIHN1cHBvcnQgYW55IHN0eWxlIG9mIHNsYXNoZXMgZWxzZXdoZXJlLlxyXG4gICAgICBjb25zdCBiYXNlUGF0aCA9IGUuZGV0YWlsLnVzZXJMb2NhdGlvbi5yZXBsYWNlKC9bL1xcXFxdKiQvLCAnJykgKyAnXFxcXCc7XHJcbiAgICAgIGNvbnN0IGxvY2FsRmlsZXMgPSBlLmRldGFpbC5sb2NhbFVzZXJGaWxlcztcclxuXHJcbiAgICAgIC8vIFRoZSBwbHVnaW4gYXV0by1kZXRlY3RzIHRoZSBsYW5ndWFnZSwgc28gc2V0IHRoaXMgZmlyc3QuXHJcbiAgICAgIC8vIElmIG9wdGlvbnMgZmlsZXMgd2FudCB0byBvdmVycmlkZSBpdCwgdGhleSBjYW4gZm9yIHRlc3RpbmcuXHJcblxyXG4gICAgICAvLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IChsYW5ndWFnZSBpcyBub3cgc2VwYXJhdGVkIHRvIHRocmVlIHR5cGVzLilcclxuICAgICAgaWYgKGUuZGV0YWlsLmxhbmd1YWdlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICAgIG9wdGlvbnMuU2hvcnRMb2NhbGUgPSBlLmRldGFpbC5sYW5ndWFnZTtcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IGUuZGV0YWlsLmxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFBhcnNlciBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2UpIHtcclxuICAgICAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gZS5kZXRhaWwucGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgICAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZXZlcnl0aGluZyBcIkxhbmd1YWdlXCIgc2hvdWxkIGJlIGNoYW5nZWQgdG8gXCJQYXJzZXJMYW5ndWFnZVwiXHJcbiAgICAgICAgb3B0aW9ucy5MYW5ndWFnZSA9IGUuZGV0YWlsLnBhcnNlckxhbmd1YWdlO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFN5c3RlbSBMYW5ndWFnZVxyXG4gICAgICBpZiAoZS5kZXRhaWwuc3lzdGVtTG9jYWxlKSB7XHJcbiAgICAgICAgb3B0aW9ucy5TeXN0ZW1Mb2NhbGUgPSBlLmRldGFpbC5zeXN0ZW1Mb2NhbGU7XHJcbiAgICAgICAgbGV0IHNob3J0TG9jYWxlID0gZS5kZXRhaWwuc3lzdGVtTG9jYWxlLnN1YnN0cmluZygwLCAyKTtcclxuICAgICAgICBpZiAoc2hvcnRMb2NhbGUgPT09ICd6aCcpXHJcbiAgICAgICAgICBzaG9ydExvY2FsZSA9ICdjbic7XHJcbiAgICAgICAgaWYgKGlzTGFuZyhzaG9ydExvY2FsZSkpXHJcbiAgICAgICAgICBvcHRpb25zLlNob3J0TG9jYWxlID0gc2hvcnRMb2NhbGU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgb3B0aW9ucy5TaG9ydExvY2FsZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgLy8gVXNlcidzIHNldHRpbmcgTGFuZ3VhZ2VcclxuICAgICAgY29uc3QgZGlzcGxheUxhbmcgPSBlLmRldGFpbC5kaXNwbGF5TGFuZ3VhZ2U7XHJcbiAgICAgIGlmIChpc0xhbmcoZGlzcGxheUxhbmcpKVxyXG4gICAgICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gZGlzcGxheUxhbmc7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSA9IG9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgfHwgJ2VuJztcclxuXHJcbiAgICAgIC8vIFRPRE86IGxlZnQgZm9yIG5vdyBhcyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHVzZXIgY3NzLiAgUmVtb3ZlIHRoaXMgbGF0ZXI/P1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbGFuZy0ke29wdGlvbnMuRGlzcGxheUxhbmd1YWdlfWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmdUb0xvY2FsZShvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcbiAgICAgIHRoaXMuYWRkVW5sb2NrVGV4dChvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSk7XHJcblxyXG4gICAgICAvLyBIYW5kbGUgcHJvY2Vzc09wdGlvbnMgYWZ0ZXIgZGVmYXVsdCBsYW5ndWFnZSBzZWxlY3Rpb24gYWJvdmUsXHJcbiAgICAgIC8vIGJ1dCBiZWZvcmUgY3NzIGJlbG93IHdoaWNoIG1heSBsb2FkIHNraW4gZmlsZXMuXHJcbiAgICAgIC8vIHByb2Nlc3NPcHRpb25zIG5lZWRzIHRvIGJlIGNhbGxlZCB3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmVcclxuICAgICAgLy8gYW55IHVzZXJPcHRpb25zIHNhdmVkLCBhcyBpdCBzZXRzIHVwIHRoZSBkZWZhdWx0cy5cclxuICAgICAgdGhpcy5zYXZlZENvbmZpZyA9IChhd2FpdCByZWFkT3B0aW9ucyk/LmRhdGEgPz8ge307XHJcbiAgICAgIHRoaXMucHJvY2Vzc09wdGlvbnMoXHJcbiAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICB0aGlzLnNhdmVkQ29uZmlnW292ZXJsYXlOYW1lXSA/PyB7fSxcclxuICAgICAgICB0aGlzLm9wdGlvblRlbXBsYXRlc1tvdmVybGF5TmFtZV0sXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvLyBJZiB0aGUgb3ZlcmxheSBoYXMgYSBcIkRlYnVnXCIgc2V0dGluZywgc2V0IHRvIHRydWUgdmlhIHRoZSBjb25maWcgdG9vbCxcclxuICAgICAgLy8gdGhlbiBhbHNvIHByaW50IG91dCB1c2VyIGZpbGVzIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZC5cclxuICAgICAgY29uc3QgcHJpbnRVc2VyRmlsZSA9IG9wdGlvbnMuRGVidWcgPyAoeDogc3RyaW5nKSA9PiBjb25zb2xlLmxvZyh4KSA6ICgpID0+IHsvKiBub29wICovfTtcclxuXHJcbiAgICAgIC8vIFdpdGggdXNlciBmaWxlcyBiZWluZyBhcmJpdHJhcnkgamF2YXNjcmlwdCwgYW5kIGhhdmluZyBtdWx0aXBsZSBmaWxlc1xyXG4gICAgICAvLyBpbiB1c2VyIGZvbGRlcnMsIGl0J3MgcG9zc2libGUgZm9yIGxhdGVyIGZpbGVzIHRvIGFjY2lkZW50YWxseSByZW1vdmVcclxuICAgICAgLy8gdGhpbmdzIHRoYXQgcHJldmlvdXMgZmlsZXMgaGF2ZSBhZGRlZC4gIFdhcm4gYWJvdXQgdGhpcywgc2luY2UgbW9zdFxyXG4gICAgICAvLyB1c2VycyBhcmUgbm90IHByb2dyYW1tZXJzLlxyXG4gICAgICBjb25zdCB3YXJuT25WYXJpYWJsZVJlc2V0TWFwOiB7IFtvdmVybGF5TmFtZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcclxuICAgICAgICByYWlkYm9zczogW1xyXG4gICAgICAgICAgJ1RyaWdnZXJzJyxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgICB3YXJuT25WYXJpYWJsZVJlc2V0TWFwW292ZXJsYXlOYW1lXSA9IHdhcm5PblZhcmlhYmxlUmVzZXRNYXBbb3ZlcmxheU5hbWVdIHx8IFtdO1xyXG5cclxuICAgICAgLy8gVGhlIHZhbHVlcyBvZiBlYWNoIGB3YXJuT25WYXJpYWJsZVJlc2V0TWFwYCBmaWVsZCBhcmUgaW5pdGlhbGx5IHNldFxyXG4gICAgICAvLyBhZnRlciB0aGUgZmlyc3QgZmlsZSwgc28gdGhhdCBpZiB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlLCB0aGVyZSBhcmVcclxuICAgICAgLy8gbm90IGFueSB3YXJuaW5ncy5cclxuXHJcbiAgICAgIC8vIFRoZSBmaWVsZHMgdGhhdCBhIHVzZXIgZmlsZSBzZXRzIGluIE9wdGlvbnMgY2FuIGJlIGFueXRoaW5nIChwdW4gbm90IGludGVuZGVkKVxyXG4gICAgICAvLyBhbmQgc28gd2UgdXNlIGBhbnlgIGhlcmUuICBUaGUgb25seSBvcGVyYXRpb24gZG9uZSBvbiB0aGlzIGZpZWxkIGlzIGEgIT09XHJcbiAgICAgIC8vIGZvciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHNlZSBpZiB0aGUgdGhlIHVzZXIgZmlsZSBoYXMgbW9kaWZpZWQgaXQuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGNvbnN0IHZhcmlhYmxlVHJhY2tlcjogeyBbZmllbGROYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAgICAgaWYgKGxvY2FsRmlsZXMpIHtcclxuICAgICAgICAvLyBsb2NhbEZpbGVzIG1heSBiZSBudWxsIGlmIHRoZXJlIGlzIG5vIHZhbGlkIHVzZXIgZGlyZWN0b3J5LlxyXG4gICAgICAgIGNvbnN0IHNvcnRlZEZpbGVzID0gdGhpcy5zb3J0VXNlckZpbGVzKE9iamVjdC5rZXlzKGxvY2FsRmlsZXMpKTtcclxuICAgICAgICBjb25zdCBqc0ZpbGVzID0gdGhpcy5maWx0ZXJVc2VyRmlsZXMoc29ydGVkRmlsZXMsIG92ZXJsYXlOYW1lLCAnLmpzJyk7XHJcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSB0aGlzLmZpbHRlclVzZXJGaWxlcyhzb3J0ZWRGaWxlcywgb3ZlcmxheU5hbWUsICcuY3NzJyk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QganNGaWxlIG9mIGpzRmlsZXMpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2pzRmlsZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5ldmFsVXNlckZpbGUobG9jYWxGaWxlc1tqc0ZpbGVdID8/ICcnLCBvcHRpb25zKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2Ygd2Fybk9uVmFyaWFibGVSZXNldE1hcFtvdmVybGF5TmFtZV0gPz8gW10pIHtcclxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVUcmFja2VyW2ZpZWxkXSAmJiB2YXJpYWJsZVRyYWNrZXJbZmllbGRdICE9PSBvcHRpb25zW2ZpZWxkXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWRlYWxseSB1c2VycyBzaG91bGQgZG8gc29tZXRoaW5nIGxpa2UgYE9wdGlvbnMuVHJpZ2dlcnMucHVzaChbZXRjXSk7YFxyXG4gICAgICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBgT3B0aW9ucy5UcmlnZ2VycyA9IFtldGNdO2BcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICAgICAgICBgKioqIFdBUk5JTkc6ICR7YmFzZVBhdGh9JHtqc0ZpbGV9IG92ZXJ3cml0ZXMgT3B0aW9ucy4ke2ZpZWxkfSBmcm9tIHByZXZpb3VzIGZpbGVzLmAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB2YXJpYWJsZVRyYWNrZXJbZmllbGRdID0gb3B0aW9uc1tmaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlckZpbGVDYWxsYmFja3Nbb3ZlcmxheU5hbWVdPy4oanNGaWxlLCBsb2NhbEZpbGVzLCBvcHRpb25zLCBiYXNlUGF0aCk7XHJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIC8vIEJlIHZlcnkgdmlzaWJsZSBmb3IgdXNlcnMuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCcqKiogRVJST1IgSU4gVVNFUiBGSUxFICoqKicpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgYXdrd2FyZCB0byBoYW5kbGUgc2tpbiBzZXR0aW5ncyBoZXJlLCBidXRcclxuICAgICAgICAvLyBkb2luZyBpdCBhZnRlciB1c2VyIGNvbmZpZyBmaWxlcyBhbmQgYmVmb3JlIHVzZXIgY3NzIGZpbGVzXHJcbiAgICAgICAgLy8gYWxsb3dzIHVzZXIgY3NzIHRvIG92ZXJyaWRlIHNraW4tc3BlY2lmaWMgY3NzIGFzIHdlbGwuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMuU2tpbilcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2tpbihvcHRpb25zLlNraW4pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGNzc0ZpbGUgb2YgY3NzRmlsZXMpIHtcclxuICAgICAgICAgIHByaW50VXNlckZpbGUoYGxvY2FsIHVzZXIgZmlsZTogJHtiYXNlUGF0aH0ke2Nzc0ZpbGV9YCk7XHJcbiAgICAgICAgICBjb25zdCB1c2VyQ3NzVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50cyA9IGxvY2FsRmlsZXNbY3NzRmlsZV07XHJcbiAgICAgICAgICBpZiAoY29udGVudHMpXHJcbiAgICAgICAgICAgIHVzZXJDc3NUZXh0LmlubmVyVGV4dCA9IGNvbnRlbnRzO1xyXG4gICAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICAgICAgICBpZiAoaGVhZClcclxuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ3NzVGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBQb3N0IHRoaXMgY2FsbGJhY2sgc28gdGhhdCB0aGUganMgYW5kIGNzcyBjYW4gYmUgZXhlY3V0ZWQgZmlyc3QuXHJcbiAgICAgIGlmIChjYWxsYmFjaylcclxuICAgICAgICBjYWxsYmFjaygpO1xyXG5cclxuICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoeyBjYWxsOiAnY2FjdGJvdFJlcXVlc3RTdGF0ZScgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKHtcclxuICAgICAgY2FsbDogJ2NhY3Rib3RMb2FkVXNlcicsXHJcbiAgICAgIHNvdXJjZTogbG9jYXRpb24uaHJlZixcclxuICAgICAgb3ZlcmxheU5hbWU6IG92ZXJsYXlOYW1lLFxyXG4gICAgfSkudGhlbigoZTogeyBkZXRhaWw6IENhY3Rib3RMb2FkVXNlclJldCB9KSA9PiB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIERPTUNvbnRlbnRMb2FkZWQgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gJ2xvYWRpbmcnKSB7XHJcbiAgICAgICAgdm9pZCBsb2FkVXNlcihlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcclxuICAgICAgICB2b2lkIGxvYWRVc2VyKGUpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2tpbihza2luTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXNraW5OYW1lIHx8IHNraW5OYW1lID09PSAnZGVmYXVsdCcpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgYmFzZVBhdGggPSBkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpO1xyXG4gICAgY29uc3Qgc2xhc2hJZHggPSBiYXNlUGF0aC5sYXN0SW5kZXhPZignLycpO1xyXG4gICAgaWYgKHNsYXNoSWR4ICE9PSAtMSlcclxuICAgICAgYmFzZVBhdGggPSBiYXNlUGF0aC5zdWJzdHIoMCwgc2xhc2hJZHgpO1xyXG4gICAgaWYgKGJhc2VQYXRoLnNsaWNlKC0xKSAhPT0gJy8nKVxyXG4gICAgICBiYXNlUGF0aCArPSAnLyc7XHJcbiAgICBjb25zdCBza2luSHJlZiA9IGJhc2VQYXRoICsgJ3NraW5zLycgKyBza2luTmFtZSArICcvJyArIHNraW5OYW1lICsgJy5jc3MnO1xyXG4gICAgdGhpcy5hcHBlbmRDU1NMaW5rKHNraW5IcmVmKTtcclxuICB9XHJcbiAgYXBwZW5kSlNMaW5rKHNyYzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c2VySlMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHVzZXJKUy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7XHJcbiAgICB1c2VySlMuc2V0QXR0cmlidXRlKCdzcmMnLCBzcmMpO1xyXG4gICAgdXNlckpTLnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAnZmFsc2UnKTtcclxuICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG4gICAgaWYgKGhlYWQpXHJcbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQodXNlckpTKTtcclxuICB9XHJcbiAgYXBwZW5kQ1NTTGluayhocmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHVzZXJDU1MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIHVzZXJDU1Muc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICB1c2VyQ1NTLnNldEF0dHJpYnV0ZSgnaHJlZicsIGhyZWYpO1xyXG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBpZiAoaGVhZClcclxuICAgICAgaGVhZC5hcHBlbmRDaGlsZCh1c2VyQ1NTKTtcclxuICB9XHJcbiAgcHJvY2Vzc09wdGlvbnMob3B0aW9uczogQmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnOiBTYXZlZENvbmZpZ0VudHJ5LCB0ZW1wbGF0ZT86IE9wdGlvbnNUZW1wbGF0ZSkge1xyXG4gICAgLy8gVGFrZSBvcHRpb25zIGZyb20gdGhlIHRlbXBsYXRlLCBmaW5kIHRoZW0gaW4gc2F2ZWRDb25maWcsXHJcbiAgICAvLyBhbmQgYXBwbHkgdGhlbSB0byBvcHRpb25zLiBUaGlzIGFsc28gaGFuZGxlcyBzZXR0aW5nXHJcbiAgICAvLyBkZWZhdWx0cyBmb3IgYW55dGhpbmcgaW4gdGhlIHRlbXBsYXRlLCBldmVuIGlmIGl0IGRvZXMgbm90XHJcbiAgICAvLyBleGlzdCBpbiBzYXZlZENvbmZpZy5cclxuXHJcbiAgICAvLyBOb3QgYWxsIG92ZXJsYXlzIGhhdmUgb3B0aW9uIHRlbXBsYXRlcy5cclxuICAgIGlmICghdGVtcGxhdGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0ZW1wbGF0ZU9wdGlvbnMgPSB0ZW1wbGF0ZS5vcHRpb25zIHx8IFtdO1xyXG4gICAgZm9yIChjb25zdCBvcHQgb2YgdGVtcGxhdGVPcHRpb25zKSB7XHJcbiAgICAgIC8vIEdyYWIgdGhlIHNhdmVkIHZhbHVlIG9yIHRoZSBkZWZhdWx0IHRvIHNldCBpbiBvcHRpb25zLlxyXG5cclxuICAgICAgbGV0IHZhbHVlOiBTYXZlZENvbmZpZ0VudHJ5ID0gb3B0LmRlZmF1bHQ7XHJcbiAgICAgIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHNhdmVkQ29uZmlnKSkge1xyXG4gICAgICAgIGlmIChvcHQuaWQgaW4gc2F2ZWRDb25maWcpIHtcclxuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gc2F2ZWRDb25maWdbb3B0LmlkXTtcclxuICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gT3B0aW9ucyBjYW4gcHJvdmlkZSBjdXN0b20gbG9naWMgdG8gdHVybiBhIHZhbHVlIGludG8gb3B0aW9ucyBzZXR0aW5ncy5cclxuICAgICAgLy8gSWYgdGhpcyBkb2Vzbid0IGV4aXN0LCBqdXN0IHNldCB0aGUgdmFsdWUgZGlyZWN0bHkuXHJcbiAgICAgIC8vIE9wdGlvbiB0ZW1wbGF0ZSBpZHMgYXJlIGlkZW50aWNhbCB0byBmaWVsZCBuYW1lcyBvbiBPcHRpb25zLlxyXG4gICAgICBpZiAob3B0LnNldHRlckZ1bmMpIHtcclxuICAgICAgICBvcHQuc2V0dGVyRnVuYyhvcHRpb25zLCB2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0LnR5cGUgPT09ICdpbnRlZ2VyJykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gTWF0aC5mbG9vcih2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlSW50KHZhbHVlKTtcclxuICAgICAgfSBlbHNlIGlmIChvcHQudHlwZSA9PT0gJ2Zsb2F0Jykge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKVxyXG4gICAgICAgICAgb3B0aW9uc1tvcHQuaWRdID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHBhcnNlRmxvYXQodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9wdGlvbnNbb3B0LmlkXSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIHRoaW5ncyBsaWtlIHJhaWRib3NzIHRoYXQgYnVpbGQgZXh0cmEgVUksIGFsc28gZ2l2ZSB0aGVtIGEgY2hhbmNlXHJcbiAgICAvLyB0byBoYW5kbGUgYW55dGhpbmcgdGhhdCBoYXMgYmVlbiBzZXQgb24gdGhhdCBVSS5cclxuICAgIGlmICh0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKVxyXG4gICAgICB0ZW1wbGF0ZS5wcm9jZXNzRXh0cmFPcHRpb25zKG9wdGlvbnMsIHNhdmVkQ29uZmlnKTtcclxuICB9XHJcbiAgYWRkVW5sb2NrVGV4dChsYW5nOiBMYW5nKSB7XHJcbiAgICBjb25zdCB1bmxvY2tUZXh0ID0ge1xyXG4gICAgICBlbjogJ/CflJMgVW5sb2NrZWQgKGxvY2sgb3ZlcmxheSBiZWZvcmUgdXNpbmcpJyxcclxuICAgICAgZGU6ICfwn5STIEVudHNwZXJydCAoU3BlcnJlIGRhcyBPdmVybGF5IHZvciBkZXIgTnV0enVuZyknLFxyXG4gICAgICBmcjogJ/CflJMgRMOpYmxvcXXDqSAoQmxvcXVleiBsXFwnb3ZlcmxheSBhdmFudCB1dGlsaXNhdGlvbiknLFxyXG4gICAgICBqYTogJ/CflJMg44Ot44OD44Kv6Kej6ZmkICjjgqrjg7zjg5Djg7zjg6zjgqTjgpLkvb/nlKjjgZnjgovliY3jgavjg63jg4Pjgq/jgZfjgabjgY/jgaDjgZXjgYQpJyxcclxuICAgICAgY246ICfwn5STIOW3suino+mZpOmUgeWumiAo5L2g6ZyA6KaB5bCG5q2k5oKs5rWu56qX6ZSB5a6a5ZCO5pa55Y+v5L2/55SoKScsXHJcbiAgICAgIGtvOiAn8J+UkyDsnITsuZgg7J6g6riIIO2VtOygnOuQqCAo7IKs7Jqp7ZWY6riwIOyghOyXkCDsnITsuZgg7J6g6riI7J2EIOyEpOygle2VmOyEuOyalCknLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBpZCA9ICdjYWN0Ym90LXVubG9ja2VkLXRleHQnO1xyXG4gICAgbGV0IHRleHRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgaWYgKCF0ZXh0RWxlbSkge1xyXG4gICAgICB0ZXh0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0ZXh0RWxlbS5pZCA9IGlkO1xyXG4gICAgICB0ZXh0RWxlbS5jbGFzc0xpc3QuYWRkKCd0ZXh0Jyk7XHJcbiAgICAgIC8vIFNldCBlbGVtZW50IGRpc3BsYXkgdG8gbm9uZSBpbiBjYXNlIHRoZSBwYWdlIGhhcyBub3QgaW5jbHVkZWQgZGVmYXVsdHMuY3NzLlxyXG4gICAgICB0ZXh0RWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0ZXh0RWxlbSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0RWxlbS5pbm5lckhUTUwgPSB1bmxvY2tUZXh0W2xhbmddIHx8IHVubG9ja1RleHRbJ2VuJ107XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgVXNlckNvbmZpZygpO1xyXG5cclxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAvLyBUaGlzIGV2ZW50IGNvbWVzIGVhcmx5IGFuZCBpcyBub3QgY2FjaGVkLCBzbyBzZXQgdXAgZXZlbnQgbGlzdGVuZXIgaW1tZWRpYXRlbHkuXHJcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignb25PdmVybGF5U3RhdGVVcGRhdGUnLCAoZSkgPT4ge1xyXG4gICAgY29uc3QgZG9jQ2xhc3NMaXN0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtcclxuICAgIGlmIChlLmRldGFpbC5pc0xvY2tlZClcclxuICAgICAgZG9jQ2xhc3NMaXN0LnJlbW92ZSgncmVzaXplSGFuZGxlJywgJ3VubG9ja2VkJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRvY0NsYXNzTGlzdC5hZGQoJ3Jlc2l6ZUhhbmRsZScsICd1bmxvY2tlZCcpO1xyXG4gIH0pO1xyXG59XHJcbiIsImltcG9ydCB7IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHMsIE92ZXJsYXlIYW5kbGVyUmVzcG9uc2VUeXBlcyB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuXHJcbi8vIFRPRE86IGl0J2QgYmUgbmljZSB0byBub3QgcmVwZWF0IGpvYiBuYW1lcywgYnV0IGF0IGxlYXN0IFJlY29yZCBlbmZvcmNlcyB0aGF0IGFsbCBhcmUgc2V0LlxyXG5jb25zdCBuYW1lVG9Kb2JFbnVtOiBSZWNvcmQ8Sm9iLCBudW1iZXI+ID0ge1xyXG4gIE5PTkU6IDAsXHJcbiAgR0xBOiAxLFxyXG4gIFBHTDogMixcclxuICBNUkQ6IDMsXHJcbiAgTE5DOiA0LFxyXG4gIEFSQzogNSxcclxuICBDTko6IDYsXHJcbiAgVEhNOiA3LFxyXG4gIENSUDogOCxcclxuICBCU006IDksXHJcbiAgQVJNOiAxMCxcclxuICBHU006IDExLFxyXG4gIExUVzogMTIsXHJcbiAgV1ZSOiAxMyxcclxuICBBTEM6IDE0LFxyXG4gIENVTDogMTUsXHJcbiAgTUlOOiAxNixcclxuICBCVE46IDE3LFxyXG4gIEZTSDogMTgsXHJcbiAgUExEOiAxOSxcclxuICBNTks6IDIwLFxyXG4gIFdBUjogMjEsXHJcbiAgRFJHOiAyMixcclxuICBCUkQ6IDIzLFxyXG4gIFdITTogMjQsXHJcbiAgQkxNOiAyNSxcclxuICBBQ046IDI2LFxyXG4gIFNNTjogMjcsXHJcbiAgU0NIOiAyOCxcclxuICBST0c6IDI5LFxyXG4gIE5JTjogMzAsXHJcbiAgTUNIOiAzMSxcclxuICBEUks6IDMyLFxyXG4gIEFTVDogMzMsXHJcbiAgU0FNOiAzNCxcclxuICBSRE06IDM1LFxyXG4gIEJMVTogMzYsXHJcbiAgR05COiAzNyxcclxuICBETkM6IDM4LFxyXG4gIFJQUjogMzksXHJcbiAgU0dFOiA0MCxcclxufTtcclxuXHJcbmNvbnN0IGFsbEpvYnMgPSBPYmplY3Qua2V5cyhuYW1lVG9Kb2JFbnVtKSBhcyBKb2JbXTtcclxuY29uc3QgYWxsUm9sZXMgPSBbJ3RhbmsnLCAnaGVhbGVyJywgJ2RwcycsICdjcmFmdGVyJywgJ2dhdGhlcmVyJywgJ25vbmUnXSBhcyBSb2xlW107XHJcblxyXG5jb25zdCB0YW5rSm9iczogSm9iW10gPSBbJ0dMQScsICdQTEQnLCAnTVJEJywgJ1dBUicsICdEUksnLCAnR05CJ107XHJcbmNvbnN0IGhlYWxlckpvYnM6IEpvYltdID0gWydDTkonLCAnV0hNJywgJ1NDSCcsICdBU1QnLCAnU0dFJ107XHJcbmNvbnN0IG1lbGVlRHBzSm9iczogSm9iW10gPSBbJ1BHTCcsICdNTksnLCAnTE5DJywgJ0RSRycsICdST0cnLCAnTklOJywgJ1NBTScsICdSUFInXTtcclxuY29uc3QgcmFuZ2VkRHBzSm9iczogSm9iW10gPSBbJ0FSQycsICdCUkQnLCAnRE5DJywgJ01DSCddO1xyXG5jb25zdCBjYXN0ZXJEcHNKb2JzOiBKb2JbXSA9IFsnQkxVJywgJ1JETScsICdCTE0nLCAnU01OJywgJ0FDTicsICdUSE0nXTtcclxuY29uc3QgZHBzSm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzLCAuLi5yYW5nZWREcHNKb2JzLCAuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY3JhZnRpbmdKb2JzOiBKb2JbXSA9IFsnQ1JQJywgJ0JTTScsICdBUk0nLCAnR1NNJywgJ0xUVycsICdXVlInLCAnQUxDJywgJ0NVTCddO1xyXG5jb25zdCBnYXRoZXJpbmdKb2JzOiBKb2JbXSA9IFsnTUlOJywgJ0JUTicsICdGU0gnXTtcclxuXHJcbmNvbnN0IHN0dW5Kb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLm1lbGVlRHBzSm9ic107XHJcbmNvbnN0IHNpbGVuY2VKb2JzOiBKb2JbXSA9IFsnQkxVJywgLi4udGFua0pvYnMsIC4uLnJhbmdlZERwc0pvYnNdO1xyXG5jb25zdCBzbGVlcEpvYnM6IEpvYltdID0gWydCTE0nLCAnQkxVJywgLi4uaGVhbGVySm9ic107XHJcbmNvbnN0IGZlaW50Sm9iczogSm9iW10gPSBbLi4ubWVsZWVEcHNKb2JzXTtcclxuY29uc3QgYWRkbGVKb2JzOiBKb2JbXSA9IFsuLi5jYXN0ZXJEcHNKb2JzXTtcclxuY29uc3QgY2xlYW5zZUpvYnM6IEpvYltdID0gWydCTFUnLCAnQlJEJywgLi4uaGVhbGVySm9ic107XHJcblxyXG5jb25zdCBqb2JUb1JvbGVNYXA6IE1hcDxKb2IsIFJvbGU+ID0gKCgpID0+IHtcclxuICBjb25zdCBhZGRUb01hcCA9IChtYXA6IE1hcDxKb2IsIFJvbGU+LCBqb2JzOiBKb2JbXSwgcm9sZTogUm9sZSkgPT4ge1xyXG4gICAgam9icy5mb3JFYWNoKChqb2IpID0+IG1hcC5zZXQoam9iLCByb2xlKSk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgbWFwOiBNYXA8Sm9iLCBSb2xlPiA9IG5ldyBNYXAoW1snTk9ORScsICdub25lJ11dKTtcclxuICBhZGRUb01hcChtYXAsIHRhbmtKb2JzLCAndGFuaycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgaGVhbGVySm9icywgJ2hlYWxlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZHBzSm9icywgJ2RwcycpO1xyXG4gIGFkZFRvTWFwKG1hcCwgY3JhZnRpbmdKb2JzLCAnY3JhZnRlcicpO1xyXG4gIGFkZFRvTWFwKG1hcCwgZ2F0aGVyaW5nSm9icywgJ2dhdGhlcmVyJyk7XHJcblxyXG4gIHJldHVybiBtYXA7XHJcbn0pKCk7XHJcblxyXG50eXBlIFdhdGNoQ29tYmF0YW50UGFyYW1zID0ge1xyXG4gIGlkcz86IG51bWJlcltdO1xyXG4gIG5hbWVzPzogc3RyaW5nW107XHJcbiAgcHJvcHM/OiBzdHJpbmdbXTtcclxuICBkZWxheT86IG51bWJlcjtcclxuICBtYXhEdXJhdGlvbj86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRGdW5jID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZnVuYzogKHJldDogT3ZlcmxheUhhbmRsZXJSZXNwb25zZVR5cGVzWydnZXRDb21iYXRhbnRzJ10pID0+IGJvb2xlYW4sXHJcbikgPT4gUHJvbWlzZTx2b2lkPjtcclxuXHJcbnR5cGUgV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IHdhdGNoQ29tYmF0YW50TWFwOiBXYXRjaENvbWJhdGFudE1hcEVudHJ5W10gPSBbXTtcclxuXHJcbmNvbnN0IHNob3VsZENhbmNlbFdhdGNoID0gKFxyXG4gIHBhcmFtczogV2F0Y2hDb21iYXRhbnRQYXJhbXMsXHJcbiAgZW50cnk6IFdhdGNoQ29tYmF0YW50TWFwRW50cnksXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGlmIChlbnRyeS5jYW5jZWwpXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICBpZiAocGFyYW1zLm1heER1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgRGF0ZS5ub3coKSAtIGVudHJ5LnN0YXJ0ID4gcGFyYW1zLm1heER1cmF0aW9uKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG5cclxuY29uc3Qgd2F0Y2hDb21iYXRhbnQ6IFdhdGNoQ29tYmF0YW50RnVuYyA9IChwYXJhbXMsIGZ1bmMpID0+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlcywgcmVqKSA9PiB7XHJcbiAgICBjb25zdCBkZWxheSA9IHBhcmFtcy5kZWxheSA/PyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IGNhbGw6IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHNbJ2dldENvbWJhdGFudHMnXSA9IHtcclxuICAgICAgY2FsbDogJ2dldENvbWJhdGFudHMnLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAocGFyYW1zLmlkcylcclxuICAgICAgY2FsbC5pZHMgPSBwYXJhbXMuaWRzO1xyXG5cclxuICAgIGlmIChwYXJhbXMubmFtZXMpXHJcbiAgICAgIGNhbGwubmFtZXMgPSBwYXJhbXMubmFtZXM7XHJcblxyXG4gICAgaWYgKHBhcmFtcy5wcm9wcylcclxuICAgICAgY2FsbC5wcm9wcyA9IHBhcmFtcy5wcm9wcztcclxuXHJcbiAgICBjb25zdCBlbnRyeTogV2F0Y2hDb21iYXRhbnRNYXBFbnRyeSA9IHtcclxuICAgICAgY2FuY2VsOiBmYWxzZSxcclxuICAgICAgc3RhcnQ6IERhdGUubm93KCksXHJcbiAgICB9O1xyXG5cclxuICAgIHdhdGNoQ29tYmF0YW50TWFwLnB1c2goZW50cnkpO1xyXG5cclxuICAgIGNvbnN0IGNoZWNrRnVuYyA9ICgpID0+IHtcclxuICAgICAgaWYgKHNob3VsZENhbmNlbFdhdGNoKHBhcmFtcywgZW50cnkpKSB7XHJcbiAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHZvaWQgY2FsbE92ZXJsYXlIYW5kbGVyKGNhbGwpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVudHJ5LmNhbmNlbCkge1xyXG4gICAgICAgICAgcmVqKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmdW5jKHJlc3BvbnNlKSlcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNoZWNrRnVuYywgZGVsYXkpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgd2luZG93LnNldFRpbWVvdXQoY2hlY2tGdW5jLCBkZWxheSk7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5jb25zdCBVdGlsID0ge1xyXG4gIGpvYkVudW1Ub0pvYjogKGlkOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IGpvYiA9IGFsbEpvYnMuZmluZCgoam9iOiBKb2IpID0+IG5hbWVUb0pvYkVudW1bam9iXSA9PT0gaWQpO1xyXG4gICAgcmV0dXJuIGpvYiA/PyAnTk9ORSc7XHJcbiAgfSxcclxuICBqb2JUb0pvYkVudW06IChqb2I6IEpvYikgPT4gbmFtZVRvSm9iRW51bVtqb2JdLFxyXG4gIGpvYlRvUm9sZTogKGpvYjogSm9iKSA9PiB7XHJcbiAgICBjb25zdCByb2xlID0gam9iVG9Sb2xlTWFwLmdldChqb2IpO1xyXG4gICAgcmV0dXJuIHJvbGUgPz8gJ25vbmUnO1xyXG4gIH0sXHJcbiAgZ2V0QWxsUm9sZXM6ICgpOiByZWFkb25seSBSb2xlW10gPT4gYWxsUm9sZXMsXHJcbiAgaXNUYW5rSm9iOiAoam9iOiBKb2IpID0+IHRhbmtKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNIZWFsZXJKb2I6IChqb2I6IEpvYikgPT4gaGVhbGVySm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzTWVsZWVEcHNKb2I6IChqb2I6IEpvYikgPT4gbWVsZWVEcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNSYW5nZWREcHNKb2I6IChqb2I6IEpvYikgPT4gcmFuZ2VkRHBzSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGlzQ2FzdGVyRHBzSm9iOiAoam9iOiBKb2IpID0+IGNhc3RlckRwc0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0Rwc0pvYjogKGpvYjogSm9iKSA9PiBkcHNKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDcmFmdGluZ0pvYjogKGpvYjogSm9iKSA9PiBjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSxcclxuICBpc0dhdGhlcmluZ0pvYjogKGpvYjogSm9iKSA9PiBnYXRoZXJpbmdKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgaXNDb21iYXRKb2I6IChqb2I6IEpvYikgPT4ge1xyXG4gICAgcmV0dXJuICFjcmFmdGluZ0pvYnMuaW5jbHVkZXMoam9iKSAmJiAhZ2F0aGVyaW5nSm9icy5pbmNsdWRlcyhqb2IpO1xyXG4gIH0sXHJcbiAgY2FuU3R1bjogKGpvYjogSm9iKSA9PiBzdHVuSm9icy5pbmNsdWRlcyhqb2IpLFxyXG4gIGNhblNpbGVuY2U6IChqb2I6IEpvYikgPT4gc2lsZW5jZUpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5TbGVlcDogKGpvYjogSm9iKSA9PiBzbGVlcEpvYnMuaW5jbHVkZXMoam9iKSxcclxuICBjYW5DbGVhbnNlOiAoam9iOiBKb2IpID0+IGNsZWFuc2VKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuRmVpbnQ6IChqb2I6IEpvYikgPT4gZmVpbnRKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgY2FuQWRkbGU6IChqb2I6IEpvYikgPT4gYWRkbGVKb2JzLmluY2x1ZGVzKGpvYiksXHJcbiAgd2F0Y2hDb21iYXRhbnQ6IHdhdGNoQ29tYmF0YW50LFxyXG4gIGNsZWFyV2F0Y2hDb21iYXRhbnRzOiAoKSA9PiB7XHJcbiAgICB3aGlsZSAod2F0Y2hDb21iYXRhbnRNYXAubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCB3YXRjaCA9IHdhdGNoQ29tYmF0YW50TWFwLnBvcCgpO1xyXG4gICAgICBpZiAod2F0Y2gpXHJcbiAgICAgICAgd2F0Y2guY2FuY2VsID0gdHJ1ZTtcclxuICAgIH1cclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVXRpbDtcclxuIiwiLy8gQXV0by1nZW5lcmF0ZWQgZnJvbSBnZW5fem9uZV9pZF9hbmRfaW5mby5weVxyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmNvbnN0IGRhdGEgPSB7XHJcbiAgJ0FCbG9vZHlSZXVuaW9uJzogNTYwLFxyXG4gICdBRnJvc3R5UmVjZXB0aW9uJzogMTAxMCxcclxuICAnQVBhdGhVbnZlaWxlZCc6IDEwMTUsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUNoaW1lcmEnOiAzNjgsXHJcbiAgJ0FSZWxpY1JlYm9yblRoZUh5ZHJhJzogMzY5LFxyXG4gICdBUmVxdWllbUZvckhlcm9lcyc6IDgzMCxcclxuICAnQVNsZWVwRGlzdHVyYmVkJzogOTE0LFxyXG4gICdBU3BlY3RhY2xlRm9yVGhlQWdlcyc6IDUzMyxcclxuICAnQWNjcnVlRW5taXR5RnJvbU11bHRpcGxlVGFyZ2V0cyc6IDU0MCxcclxuICAnQWlyRm9yY2VPbmUnOiA4MzIsXHJcbiAgJ0FrYWRhZW1pYUFueWRlcic6IDg0MSxcclxuICAnQWxhTWhpZ28nOiA2ODksXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlRmF0aGVyJzogNDQ0LFxyXG4gICdBbGV4YW5kZXJUaGVBcm1PZlRoZUZhdGhlclNhdmFnZSc6IDQ1MSxcclxuICAnQWxleGFuZGVyVGhlQXJtT2ZUaGVTb24nOiA1MjIsXHJcbiAgJ0FsZXhhbmRlclRoZUFybU9mVGhlU29uU2F2YWdlJzogNTMxLFxyXG4gICdBbGV4YW5kZXJUaGVCcmVhdGhPZlRoZUNyZWF0b3InOiA1ODEsXHJcbiAgJ0FsZXhhbmRlclRoZUJyZWF0aE9mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NSxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVGYXRoZXInOiA0NDUsXHJcbiAgJ0FsZXhhbmRlclRoZUJ1cmRlbk9mVGhlRmF0aGVyU2F2YWdlJzogNDUyLFxyXG4gICdBbGV4YW5kZXJUaGVCdXJkZW5PZlRoZVNvbic6IDUyMyxcclxuICAnQWxleGFuZGVyVGhlQnVyZGVuT2ZUaGVTb25TYXZhZ2UnOiA1MzIsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZUZhdGhlcic6IDQ0MyxcclxuICAnQWxleGFuZGVyVGhlQ3VmZk9mVGhlRmF0aGVyU2F2YWdlJzogNDUwLFxyXG4gICdBbGV4YW5kZXJUaGVDdWZmT2ZUaGVTb24nOiA1MjEsXHJcbiAgJ0FsZXhhbmRlclRoZUN1ZmZPZlRoZVNvblNhdmFnZSc6IDUzMCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvcic6IDU4MCxcclxuICAnQWxleGFuZGVyVGhlRXllc09mVGhlQ3JlYXRvclNhdmFnZSc6IDU4NCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlRmF0aGVyJzogNDQyLFxyXG4gICdBbGV4YW5kZXJUaGVGaXN0T2ZUaGVGYXRoZXJTYXZhZ2UnOiA0NDksXHJcbiAgJ0FsZXhhbmRlclRoZUZpc3RPZlRoZVNvbic6IDUyMCxcclxuICAnQWxleGFuZGVyVGhlRmlzdE9mVGhlU29uU2F2YWdlJzogNTI5LFxyXG4gICdBbGV4YW5kZXJUaGVIZWFydE9mVGhlQ3JlYXRvcic6IDU4MixcclxuICAnQWxleGFuZGVyVGhlSGVhcnRPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODYsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3InOiA1ODMsXHJcbiAgJ0FsZXhhbmRlclRoZVNvdWxPZlRoZUNyZWF0b3JTYXZhZ2UnOiA1ODcsXHJcbiAgJ0FsbHNXZWxsVGhhdEVuZHNJblRoZVdlbGwnOiAyMjAsXHJcbiAgJ0FsbHNXZWxsVGhhdFN0YXJ0c1dlbGwnOiA3OTYsXHJcbiAgJ0FscGhhc2NhcGVWMTAnOiA3OTgsXHJcbiAgJ0FscGhhc2NhcGVWMTBTYXZhZ2UnOiA4MDIsXHJcbiAgJ0FscGhhc2NhcGVWMjAnOiA3OTksXHJcbiAgJ0FscGhhc2NhcGVWMjBTYXZhZ2UnOiA4MDMsXHJcbiAgJ0FscGhhc2NhcGVWMzAnOiA4MDAsXHJcbiAgJ0FscGhhc2NhcGVWMzBTYXZhZ2UnOiA4MDQsXHJcbiAgJ0FscGhhc2NhcGVWNDAnOiA4MDEsXHJcbiAgJ0FscGhhc2NhcGVWNDBTYXZhZ2UnOiA4MDUsXHJcbiAgJ0FtYXVyb3QnOiA4MzgsXHJcbiAgJ0FtZGFwb3JLZWVwJzogMTY3LFxyXG4gICdBbWRhcG9yS2VlcEhhcmQnOiAxODksXHJcbiAgJ0FtaEFyYWVuZyc6IDgxNSxcclxuICAnQW5hbW5lc2lzQW55ZGVyJzogODk4LFxyXG4gICdBbm5veVRoZVZvaWQnOiAyMjIsXHJcbiAgJ0FzVGhlSGVhcnRCaWRzJzogODk0LFxyXG4gICdBc1RoZUhlYXZlbnNCdXJuJzogMTAxMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlJzogMTAwMixcclxuICAnQXNwaG9kZWxvc1RoZUZpcnN0Q2lyY2xlU2F2YWdlJzogMTAwMyxcclxuICAnQXNwaG9kZWxvc1RoZUZvdXJ0aENpcmNsZSc6IDEwMDgsXHJcbiAgJ0FzcGhvZGVsb3NUaGVGb3VydGhDaXJjbGVTYXZhZ2UnOiAxMDA5LFxyXG4gICdBc3Bob2RlbG9zVGhlU2Vjb25kQ2lyY2xlJzogMTAwNCxcclxuICAnQXNwaG9kZWxvc1RoZVNlY29uZENpcmNsZVNhdmFnZSc6IDEwMDUsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZSc6IDEwMDYsXHJcbiAgJ0FzcGhvZGVsb3NUaGVUaGlyZENpcmNsZVNhdmFnZSc6IDEwMDcsXHJcbiAgJ0Fzc2lzdEFsbGllc0luRGVmZWF0aW5nQVRhcmdldCc6IDU0NCxcclxuICAnQXN0cmFnYWxvcyc6IDcyOSxcclxuICAnQXZvaWRBcmVhT2ZFZmZlY3RBdHRhY2tzJzogNTM3LFxyXG4gICdBenlzTGxhJzogNDAyLFxyXG4gICdCYWVsc2Fyc1dhbGwnOiA2MTUsXHJcbiAgJ0JhcmRhbXNNZXR0bGUnOiA2MjMsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVBhcnRpZXMnOiAyMTQsXHJcbiAgJ0Jhc2ljVHJhaW5pbmdFbmVteVN0cm9uZ2hvbGRzJzogMjE1LFxyXG4gICdCYXR0bGVJblRoZUJpZ0tlZXAnOiAzOTYsXHJcbiAgJ0JhdHRsZU9uVGhlQmlnQnJpZGdlJzogMzY2LFxyXG4gICdCbG9vZE9uVGhlRGVjayc6IDcwOCxcclxuICAnQnJheWZsb3hzTG9uZ3N0b3AnOiAxNTgsXHJcbiAgJ0JyYXlmbG94c0xvbmdzdG9wSGFyZCc6IDM2MixcclxuICAnQ2FwZVdlc3R3aW5kJzogMzMyLFxyXG4gICdDYXN0cnVtQWJhbmlhJzogNjYxLFxyXG4gICdDYXN0cnVtRmx1bWluaXMnOiA3NzgsXHJcbiAgJ0Nhc3RydW1NYXJpbnVtJzogOTM0LFxyXG4gICdDYXN0cnVtTWFyaW51bURyeWRvY2tzJzogOTY3LFxyXG4gICdDYXN0cnVtTWFyaW51bUV4dHJlbWUnOiA5MzUsXHJcbiAgJ0Nhc3RydW1NZXJpZGlhbnVtJzogMjE3LFxyXG4gICdDZW50cmFsU2hyb3VkJzogMTQ4LFxyXG4gICdDZW50cmFsVGhhbmFsYW4nOiAxNDEsXHJcbiAgJ0Nob2NvYm9SYWNlQ29zdGFEZWxTb2wnOiAzODksXHJcbiAgJ0Nob2NvYm9SYWNlU2Fnb2xpaVJvYWQnOiAzOTAsXHJcbiAgJ0Nob2NvYm9SYWNlVHJhbnF1aWxQYXRocyc6IDM5MSxcclxuICAnQ2hvY29ib1JhY2VUdXRvcmlhbCc6IDQxNyxcclxuICAnQ2luZGVyRHJpZnQnOiA4OTcsXHJcbiAgJ0NpbmRlckRyaWZ0RXh0cmVtZSc6IDkxMixcclxuICAnQ29lcnRoYXNDZW50cmFsSGlnaGxhbmRzJzogMTU1LFxyXG4gICdDb2VydGhhc1dlc3Rlcm5IaWdobGFuZHMnOiAzOTcsXHJcbiAgJ0NvbWluZ0NsZWFuJzogODYwLFxyXG4gICdDb250YWlubWVudEJheVAxVDYnOiA1NzYsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UDFUNkV4dHJlbWUnOiA1NzcsXHJcbiAgJ0NvbnRhaW5tZW50QmF5UzFUNyc6IDUxNyxcclxuICAnQ29udGFpbm1lbnRCYXlTMVQ3RXh0cmVtZSc6IDUyNCxcclxuICAnQ29udGFpbm1lbnRCYXlaMVQ5JzogNjM3LFxyXG4gICdDb250YWlubWVudEJheVoxVDlFeHRyZW1lJzogNjM4LFxyXG4gICdDb3BwZXJiZWxsTWluZXMnOiAxNjEsXHJcbiAgJ0NvcHBlcmJlbGxNaW5lc0hhcmQnOiAzNDksXHJcbiAgJ0N1cmlvdXNHb3JnZU1lZXRzSGlzTWF0Y2gnOiA3MTcsXHJcbiAgJ0N1dHRlcnNDcnknOiAxNzAsXHJcbiAgJ0RhcmtBc1RoZU5pZ2h0U2t5JzogNzEzLFxyXG4gICdEZWF0aFVudG9EYXduJzogOTc3LFxyXG4gICdEZWZlYXRBbk9jY3VwaWVkVGFyZ2V0JzogNTQ1LFxyXG4gICdEZWx0YXNjYXBlVjEwJzogNjkxLFxyXG4gICdEZWx0YXNjYXBlVjEwU2F2YWdlJzogNjk1LFxyXG4gICdEZWx0YXNjYXBlVjIwJzogNjkyLFxyXG4gICdEZWx0YXNjYXBlVjIwU2F2YWdlJzogNjk2LFxyXG4gICdEZWx0YXNjYXBlVjMwJzogNjkzLFxyXG4gICdEZWx0YXNjYXBlVjMwU2F2YWdlJzogNjk3LFxyXG4gICdEZWx0YXNjYXBlVjQwJzogNjk0LFxyXG4gICdEZWx0YXNjYXBlVjQwU2F2YWdlJzogNjk4LFxyXG4gICdEZWx1YnJ1bVJlZ2luYWUnOiA5MzYsXHJcbiAgJ0RlbHVicnVtUmVnaW5hZVNhdmFnZSc6IDkzNyxcclxuICAnRG9obk1oZWcnOiA4MjEsXHJcbiAgJ0RvbWFDYXN0bGUnOiA2NjAsXHJcbiAgJ0RyYWdvblNvdW5kJzogNzE0LFxyXG4gICdEdW5TY2FpdGgnOiA2MjcsXHJcbiAgJ0R6ZW1hZWxEYXJraG9sZCc6IDE3MSxcclxuICAnRWFzdFNocm91ZCc6IDE1MixcclxuICAnRWFzdGVybkxhTm9zY2VhJzogMTM3LFxyXG4gICdFYXN0ZXJuVGhhbmFsYW4nOiAxNDUsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnQnOiA4NTAsXHJcbiAgJ0VkZW5zR2F0ZURlc2NlbnRTYXZhZ2UnOiA4NTQsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb24nOiA4NTEsXHJcbiAgJ0VkZW5zR2F0ZUludW5kYXRpb25TYXZhZ2UnOiA4NTUsXHJcbiAgJ0VkZW5zR2F0ZVJlc3VycmVjdGlvbic6IDg0OSxcclxuICAnRWRlbnNHYXRlUmVzdXJyZWN0aW9uU2F2YWdlJzogODUzLFxyXG4gICdFZGVuc0dhdGVTZXB1bHR1cmUnOiA4NTIsXHJcbiAgJ0VkZW5zR2F0ZVNlcHVsdHVyZVNhdmFnZSc6IDg1NixcclxuICAnRWRlbnNQcm9taXNlQW5hbW9ycGhvc2lzJzogOTQ0LFxyXG4gICdFZGVuc1Byb21pc2VBbmFtb3JwaG9zaXNTYXZhZ2UnOiA5NDgsXHJcbiAgJ0VkZW5zUHJvbWlzZUV0ZXJuaXR5JzogOTQ1LFxyXG4gICdFZGVuc1Byb21pc2VFdGVybml0eVNhdmFnZSc6IDk0OSxcclxuICAnRWRlbnNQcm9taXNlTGl0YW55JzogOTQzLFxyXG4gICdFZGVuc1Byb21pc2VMaXRhbnlTYXZhZ2UnOiA5NDcsXHJcbiAgJ0VkZW5zUHJvbWlzZVVtYnJhJzogOTQyLFxyXG4gICdFZGVuc1Byb21pc2VVbWJyYVNhdmFnZSc6IDk0NixcclxuICAnRWRlbnNWZXJzZUZ1bG1pbmF0aW9uJzogOTAyLFxyXG4gICdFZGVuc1ZlcnNlRnVsbWluYXRpb25TYXZhZ2UnOiA5MDYsXHJcbiAgJ0VkZW5zVmVyc2VGdXJvcic6IDkwMyxcclxuICAnRWRlbnNWZXJzZUZ1cm9yU2F2YWdlJzogOTA3LFxyXG4gICdFZGVuc1ZlcnNlSWNvbm9jbGFzbSc6IDkwNCxcclxuICAnRWRlbnNWZXJzZUljb25vY2xhc21TYXZhZ2UnOiA5MDgsXHJcbiAgJ0VkZW5zVmVyc2VSZWZ1bGdlbmNlJzogOTA1LFxyXG4gICdFZGVuc1ZlcnNlUmVmdWxnZW5jZVNhdmFnZSc6IDkwOSxcclxuICAnRWxwaXMnOiA5NjEsXHJcbiAgJ0VtYW5hdGlvbic6IDcxOSxcclxuICAnRW1hbmF0aW9uRXh0cmVtZSc6IDcyMCxcclxuICAnRW1pc3NhcnlPZlRoZURhd24nOiA3NjksXHJcbiAgJ0VuZHdhbGtlcic6IDEwMTMsXHJcbiAgJ0VuZ2FnZU11bHRpcGxlVGFyZ2V0cyc6IDU0MSxcclxuICAnRXVsbW9yZSc6IDgyMCxcclxuICAnRXZlck1hcmNoSGVhdmVuc3dhcmQnOiAxMDE4LFxyXG4gICdFeGVjdXRlQUNvbWJvSW5CYXR0bGUnOiA1MzksXHJcbiAgJ0V4ZWN1dGVBQ29tYm9Ub0luY3JlYXNlRW5taXR5JzogNTM4LFxyXG4gICdFeGVjdXRlQVJhbmdlZEF0dGFja1RvSW5jcmVhc2VFbm1pdHknOiA1NDIsXHJcbiAgJ0ZhZGVkTWVtb3JpZXMnOiA5MzIsXHJcbiAgJ0ZpbmFsRXhlcmNpc2UnOiA1NTIsXHJcbiAgJ0ZpdEZvckFRdWVlbic6IDk1NSxcclxuICAnRmxpY2tpbmdTdGlja3NBbmRUYWtpbmdOYW1lcyc6IDIxOSxcclxuICAnRm91bmRhdGlvbic6IDQxOCxcclxuICAnRm91clBsYXllck1haGpvbmdRdWlja01hdGNoS3VpdGFuRGlzYWJsZWQnOiA4MzEsXHJcbiAgJ0dhcmxlbWFsZCc6IDk1OCxcclxuICAnSGFsYXRhbGknOiAxNjIsXHJcbiAgJ0hhbGF0YWxpSGFyZCc6IDM2MCxcclxuICAnSGF1a2tlTWFub3InOiAxNjYsXHJcbiAgJ0hhdWtrZU1hbm9ySGFyZCc6IDM1MCxcclxuICAnSGVhbEFuQWxseSc6IDU0OSxcclxuICAnSGVhbE11bHRpcGxlQWxsaWVzJzogNTUwLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnMxMV8yMCc6IDc3MSxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMV8xMCc6IDc3MCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzMjFfMzAnOiA3NzIsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczMxXzQwJzogNzgyLFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM0MV81MCc6IDc3MyxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzNTFfNjAnOiA3ODMsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczYxXzcwJzogNzc0LFxyXG4gICdIZWF2ZW5PbkhpZ2hGbG9vcnM3MV84MCc6IDc4NCxcclxuICAnSGVhdmVuT25IaWdoRmxvb3JzODFfOTAnOiA3NzUsXHJcbiAgJ0hlYXZlbk9uSGlnaEZsb29yczkxXzEwMCc6IDc4NSxcclxuICAnSGVsbHNLaWVyJzogODEwLFxyXG4gICdIZWxsc0tpZXJFeHRyZW1lJzogODExLFxyXG4gICdIZWxsc0xpZCc6IDc0MixcclxuICAnSGVyb09uVGhlSGFsZlNoZWxsJzogMjE2LFxyXG4gICdIaWRkZW5Hb3JnZSc6IDc5MSxcclxuICAnSG9sbWluc3RlclN3aXRjaCc6IDgzNyxcclxuICAnSHVsbGJyZWFrZXJJc2xlJzogMzYxLFxyXG4gICdIdWxsYnJlYWtlcklzbGVIYXJkJzogNTU3LFxyXG4gICdJZHlsbHNoaXJlJzogNDc4LFxyXG4gICdJbE1oZWcnOiA4MTYsXHJcbiAgJ0luRnJvbVRoZUNvbGQnOiAxMDExLFxyXG4gICdJblRoYWxzTmFtZSc6IDcwNSxcclxuICAnSW50ZXJhY3RXaXRoVGhlQmF0dGxlZmllbGQnOiA1NDgsXHJcbiAgJ0ludGVyZGltZW5zaW9uYWxSaWZ0JzogNjkwLFxyXG4gICdJdHNQcm9iYWJseUFUcmFwJzogNjY1LFxyXG4gICdLaG9sdXNpYSc6IDgxNCxcclxuICAnS3Rpc2lzSHlwZXJib3JlaWEnOiA5NzQsXHJcbiAgJ0t1Z2FuZSc6IDYyOCxcclxuICAnS3VnYW5lQ2FzdGxlJzogNjYyLFxyXG4gICdLdWdhbmVPaGFzaGknOiA4MDYsXHJcbiAgJ0xhYnlyaW50aG9zJzogOTU2LFxyXG4gICdMYWlkVG9SZXN0JzogMTAxNyxcclxuICAnTGFrZWxhbmQnOiA4MTMsXHJcbiAgJ0xlZ2VuZE9mVGhlTm90U29IaWRkZW5UZW1wbGUnOiA4NTksXHJcbiAgJ0xpZmVFcGhlbWVyYWxQYXRoRXRlcm5hbCc6IDEwMjMsXHJcbiAgJ0xpbXNhTG9taW5zYUxvd2VyRGVja3MnOiAxMjksXHJcbiAgJ0xpbXNhTG9taW5zYVVwcGVyRGVja3MnOiAxMjgsXHJcbiAgJ0xvbmdMaXZlVGhlUXVlZW4nOiAyOTgsXHJcbiAgJ0xvdm1NYXN0ZXJUb3VybmFtZW50JzogNTA2LFxyXG4gICdMb3ZtUGxheWVyQmF0dGxlTm9uUnAnOiA1OTEsXHJcbiAgJ0xvdm1QbGF5ZXJCYXR0bGVScCc6IDU4OSxcclxuICAnTG92bVRvdXJuYW1lbnQnOiA1OTAsXHJcbiAgJ0xvd2VyTGFOb3NjZWEnOiAxMzUsXHJcbiAgJ01hbGlrYWhzV2VsbCc6IDgzNixcclxuICAnTWFyZUxhbWVudG9ydW0nOiA5NTksXHJcbiAgJ01hdGNoQWxsJzogbnVsbCxcclxuICAnTWF0b3lhc1JlbGljdCc6IDkzMyxcclxuICAnTWF0c3ViYU1heWhlbSc6IDcxMCxcclxuICAnTWVtb3JpYU1pc2VyYUV4dHJlbWUnOiA5MTMsXHJcbiAgJ01lc3Nlbmdlck9mVGhlV2luZHMnOiA4MzQsXHJcbiAgJ01pZGRsZUxhTm9zY2VhJzogMTM0LFxyXG4gICdNaXN0JzogMTM2LFxyXG4gICdNb3JEaG9uYSc6IDE1NixcclxuICAnTW9yZVRoYW5BRmVlbGVyJzogMjIxLFxyXG4gICdNdEd1bGcnOiA4MjIsXHJcbiAgJ05hYWRhbSc6IDY4OCxcclxuICAnTmV2ZXJyZWFwJzogNDIwLFxyXG4gICdOZXdHcmlkYW5pYSc6IDEzMixcclxuICAnTm9ydGhTaHJvdWQnOiAxNTQsXHJcbiAgJ05vcnRoZXJuVGhhbmFsYW4nOiAxNDcsXHJcbiAgJ055ZWxiZXJ0c0xhbWVudCc6IDg3NixcclxuICAnT2NlYW5GaXNoaW5nJzogOTAwLFxyXG4gICdPbGRHcmlkYW5pYSc6IDEzMyxcclxuICAnT2xkU2hhcmxheWFuJzogOTYyLFxyXG4gICdPbmVMaWZlRm9yT25lV29ybGQnOiA1OTIsXHJcbiAgJ09uc2FsSGFrYWlyRGFuc2hpZ05hYWRhbSc6IDg4OCxcclxuICAnT3VyQ29tcHJvbWlzZSc6IDcxNixcclxuICAnT3VyVW5zdW5nSGVyb2VzJzogNzIyLFxyXG4gICdPdXRlckxhTm9zY2VhJzogMTgwLFxyXG4gICdQYWdsdGhhbic6IDkzOCxcclxuICAnUGhhcm9zU2lyaXVzJzogMTYwLFxyXG4gICdQaGFyb3NTaXJpdXNIYXJkJzogNTEwLFxyXG4gICdQdWxsaW5nUG9pc29uUG9zaWVzJzogMTkxLFxyXG4gICdSYWR6QXRIYW4nOiA5NjMsXHJcbiAgJ1JhaXNpbmdUaGVTd29yZCc6IDcwNixcclxuICAnUmV0dXJuT2ZUaGVCdWxsJzogNDAzLFxyXG4gICdSaGFsZ3JzUmVhY2gnOiA2MzUsXHJcbiAgJ1NhZ2VzRm9jdXMnOiAxMDIyLFxyXG4gICdTYWludE1vY2lhbm5lc0FyYm9yZXR1bSc6IDUxMSxcclxuICAnU2FpbnRNb2NpYW5uZXNBcmJvcmV0dW1IYXJkJzogNzg4LFxyXG4gICdTYXN0YXNoYSc6IDE1NyxcclxuICAnU2FzdGFzaGFIYXJkJzogMzg3LFxyXG4gICdTZWFsUm9ja1NlaXplJzogNDMxLFxyXG4gICdTaGFkb3dBbmRDbGF3JzogMjIzLFxyXG4gICdTaGlzdWlPZlRoZVZpb2xldFRpZGVzJzogNjE2LFxyXG4gICdTaWdtYXNjYXBlVjEwJzogNzQ4LFxyXG4gICdTaWdtYXNjYXBlVjEwU2F2YWdlJzogNzUyLFxyXG4gICdTaWdtYXNjYXBlVjIwJzogNzQ5LFxyXG4gICdTaWdtYXNjYXBlVjIwU2F2YWdlJzogNzUzLFxyXG4gICdTaWdtYXNjYXBlVjMwJzogNzUwLFxyXG4gICdTaWdtYXNjYXBlVjMwU2F2YWdlJzogNzU0LFxyXG4gICdTaWdtYXNjYXBlVjQwJzogNzUxLFxyXG4gICdTaWdtYXNjYXBlVjQwU2F2YWdlJzogNzU1LFxyXG4gICdTbWlsZXRvbic6IDk3NixcclxuICAnU25vd2Nsb2FrJzogMzcxLFxyXG4gICdTb2htQWwnOiA0NDEsXHJcbiAgJ1NvaG1BbEhhcmQnOiA2MTcsXHJcbiAgJ1NvaHJLaGFpJzogNTU1LFxyXG4gICdTb2xlbW5UcmluaXR5JzogMzAwLFxyXG4gICdTb3V0aFNocm91ZCc6IDE1MyxcclxuICAnU291dGhlcm5UaGFuYWxhbic6IDE0NixcclxuICAnU3BlY2lhbEV2ZW50SSc6IDM1MyxcclxuICAnU3BlY2lhbEV2ZW50SWknOiAzNTQsXHJcbiAgJ1NwZWNpYWxFdmVudElpaSc6IDUwOSxcclxuICAnU3RpbmdpbmdCYWNrJzogMTkyLFxyXG4gICdTeXJjdXNUb3dlcic6IDM3MixcclxuICAnVGhhdm5haXInOiA5NTcsXHJcbiAgJ1RoZUFlcnknOiA0MzUsXHJcbiAgJ1RoZUFldGhlcm9jaGVtaWNhbFJlc2VhcmNoRmFjaWxpdHknOiA0MzgsXHJcbiAgJ1RoZUFpdGlhc2NvcGUnOiA5NzgsXHJcbiAgJ1RoZUFraEFmYWhBbXBoaXRoZWF0cmVFeHRyZW1lJzogMzc4LFxyXG4gICdUaGVBa2hBZmFoQW1waGl0aGVhdHJlSGFyZCc6IDM3NyxcclxuICAnVGhlQWtoQWZhaEFtcGhpdGhlYXRyZVVucmVhbCc6IDkzMCxcclxuICAnVGhlQW50aXRvd2VyJzogNTE2LFxyXG4gICdUaGVBcXVhcG9saXMnOiA1NTgsXHJcbiAgJ1RoZUF1cnVtVmFsZSc6IDE3MixcclxuICAnVGhlQXppbVN0ZXBwZSc6IDYyMixcclxuICAnVGhlQmF0dGxlT25CZWtrbyc6IDcxMSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMSc6IDI0MSxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMic6IDI0MixcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuMyc6IDI0MyxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNCc6IDI0NCxcclxuICAnVGhlQmluZGluZ0NvaWxPZkJhaGFtdXRUdXJuNSc6IDI0NSxcclxuICAnVGhlQm9yZGVybGFuZFJ1aW5zU2VjdXJlJzogMzc2LFxyXG4gICdUaGVCb3dsT2ZFbWJlcnMnOiAyMDIsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0V4dHJlbWUnOiAyOTUsXHJcbiAgJ1RoZUJvd2xPZkVtYmVyc0hhcmQnOiAyOTIsXHJcbiAgJ1RoZUJvemphSW5jaWRlbnQnOiA5MTEsXHJcbiAgJ1RoZUJvemphblNvdXRoZXJuRnJvbnQnOiA5MjAsXHJcbiAgJ1RoZUJ1cm4nOiA3ODksXHJcbiAgJ1RoZUNhbGFtaXR5UmV0b2xkJzogNzkwLFxyXG4gICdUaGVDYXJ0ZW5lYXVGbGF0c0hlbGlvZHJvbWUnOiA2MzMsXHJcbiAgJ1RoZUNocnlzYWxpcyc6IDQyNixcclxuICAnVGhlQ2h1cm5pbmdNaXN0cyc6IDQwMCxcclxuICAnVGhlQ2xvdWREZWNrJzogOTUwLFxyXG4gICdUaGVDbG91ZERlY2tFeHRyZW1lJzogOTUxLFxyXG4gICdUaGVDb3BpZWRGYWN0b3J5JzogODgyLFxyXG4gICdUaGVDcm93bk9mVGhlSW1tYWN1bGF0ZSc6IDg0NixcclxuICAnVGhlQ3Jvd25PZlRoZUltbWFjdWxhdGVFeHRyZW1lJzogODQ4LFxyXG4gICdUaGVDcnlzdGFyaXVtJzogODE5LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlJzogODQ1LFxyXG4gICdUaGVEYW5jaW5nUGxhZ3VlRXh0cmVtZSc6IDg1OCxcclxuICAnVGhlRGFya0luc2lkZSc6IDk5MixcclxuICAnVGhlRGVhZEVuZHMnOiA5NzMsXHJcbiAgJ1RoZURpYWRlbSc6IDkyOSxcclxuICAnVGhlRGlhZGVtRWFzeSc6IDUxMixcclxuICAnVGhlRGlhZGVtSGFyZCc6IDUxNSxcclxuICAnVGhlRGlhZGVtSHVudGluZ0dyb3VuZHMnOiA2MjUsXHJcbiAgJ1RoZURpYWRlbUh1bnRpbmdHcm91bmRzRWFzeSc6IDYyNCxcclxuICAnVGhlRGlhZGVtVHJpYWxzT2ZUaGVGdXJ5JzogNjMwLFxyXG4gICdUaGVEaWFkZW1UcmlhbHNPZlRoZU1hdHJvbic6IDY1NixcclxuICAnVGhlRG9tYW5FbmNsYXZlJzogNzU5LFxyXG4gICdUaGVEcmFnb25zTmVjayc6IDE0MixcclxuICAnVGhlRHJhdmFuaWFuRm9yZWxhbmRzJzogMzk4LFxyXG4gICdUaGVEcmF2YW5pYW5IaW50ZXJsYW5kcyc6IDM5OSxcclxuICAnVGhlRHJvd25lZENpdHlPZlNrYWxsYSc6IDczMSxcclxuICAnVGhlRHVuZ2VvbnNPZkx5aGVHaGlhaCc6IDg3OSxcclxuICAnVGhlRHVza1ZpZ2lsJzogNDM0LFxyXG4gICdUaGVEeWluZ0dhc3AnOiA4NDcsXHJcbiAgJ1RoZUVwaWNPZkFsZXhhbmRlclVsdGltYXRlJzogODg3LFxyXG4gICdUaGVFeGNpdGF0cm9uNjAwMCc6IDEwMDAsXHJcbiAgJ1RoZUZhY2VPZlRydWVFdmlsJzogNzA5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoQ3J5c3RhbFRvd2VyJzogNzY3LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoRmVhc3RpbmdHcm91bmRzJzogNjE5LFxyXG4gICdUaGVGZWFzdEN1c3RvbU1hdGNoTGljaGVud2VlZCc6IDY0NixcclxuICAnVGhlRmVhc3RSYW5rZWQnOiA3NjUsXHJcbiAgJ1RoZUZlYXN0VGVhbVJhbmtlZCc6IDc0NSxcclxuICAnVGhlRmVhc3RUcmFpbmluZyc6IDc2NixcclxuICAnVGhlRmllbGRzT2ZHbG9yeVNoYXR0ZXInOiA1NTQsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm4xJzogMTkzLFxyXG4gICdUaGVGaW5hbENvaWxPZkJhaGFtdXRUdXJuMic6IDE5NCxcclxuICAnVGhlRmluYWxDb2lsT2ZCYWhhbXV0VHVybjMnOiAxOTUsXHJcbiAgJ1RoZUZpbmFsQ29pbE9mQmFoYW11dFR1cm40JzogMTk2LFxyXG4gICdUaGVGaW5hbERheSc6IDk5NyxcclxuICAnVGhlRmluYWxTdGVwc09mRmFpdGgnOiA1NTksXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FBbmVtb3MnOiA3MzIsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FIeWRhdG9zJzogODI3LFxyXG4gICdUaGVGb3JiaWRkZW5MYW5kRXVyZWthUGFnb3MnOiA3NjMsXHJcbiAgJ1RoZUZvcmJpZGRlbkxhbmRFdXJla2FQeXJvcyc6IDc5NSxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bSc6IDQzMCxcclxuICAnVGhlRnJhY3RhbENvbnRpbnV1bUhhcmQnOiA3NDMsXHJcbiAgJ1RoZUZyaW5nZXMnOiA2MTIsXHJcbiAgJ1RoZUdoaW1seXREYXJrJzogNzkzLFxyXG4gICdUaGVHaWZ0T2ZNZXJjeSc6IDEwMTksXHJcbiAgJ1RoZUdyYW5kQ29zbW9zJzogODg0LFxyXG4gICdUaGVHcmVhdEd1YmFsTGlicmFyeSc6IDQxNixcclxuICAnVGhlR3JlYXRHdWJhbExpYnJhcnlIYXJkJzogNTc4LFxyXG4gICdUaGVHcmVhdEh1bnQnOiA3NjEsXHJcbiAgJ1RoZUdyZWF0SHVudEV4dHJlbWUnOiA3NjIsXHJcbiAgJ1RoZUdyZWF0U2hpcFZ5bGJyYW5kJzogOTU0LFxyXG4gICdUaGVIYXJkZW5lZEhlYXJ0JzogODczLFxyXG4gICdUaGVIYXJ2ZXN0QmVnaW5zJzogMTAyMCxcclxuICAnVGhlSGF1bnRlZE1hbm9yJzogNTcxLFxyXG4gICdUaGVIZWFydE9mVGhlUHJvYmxlbSc6IDcxOCxcclxuICAnVGhlSGVyb2VzR2F1bnRsZXQnOiA5MTYsXHJcbiAgJ1RoZUhpZGRlbkNhbmFsc09mVXpuYWlyJzogNzI1LFxyXG4gICdUaGVIb3dsaW5nRXllJzogMjA4LFxyXG4gICdUaGVIb3dsaW5nRXllRXh0cmVtZSc6IDI5NyxcclxuICAnVGhlSG93bGluZ0V5ZUhhcmQnOiAyOTQsXHJcbiAgJ1RoZUh1bnRlcnNMZWdhY3knOiA4NzUsXHJcbiAgJ1RoZUphZGVTdG9hJzogNzQ2LFxyXG4gICdUaGVKYWRlU3RvYUV4dHJlbWUnOiA3NTgsXHJcbiAgJ1RoZUtlZXBlck9mVGhlTGFrZSc6IDE1MCxcclxuICAnVGhlS2lsbGluZ0FydCc6IDEwMjEsXHJcbiAgJ1RoZUxhYnlyaW50aE9mVGhlQW5jaWVudHMnOiAxNzQsXHJcbiAgJ1RoZUxpbWl0bGVzc0JsdWVFeHRyZW1lJzogNDQ3LFxyXG4gICdUaGVMaW1pdGxlc3NCbHVlSGFyZCc6IDQzNixcclxuICAnVGhlTG9jaHMnOiA2MjEsXHJcbiAgJ1RoZUxvc3RBbmRUaGVGb3VuZCc6IDg3NCxcclxuICAnVGhlTG9zdENhbmFsc09mVXpuYWlyJzogNzEyLFxyXG4gICdUaGVMb3N0Q2l0eU9mQW1kYXBvcic6IDM2MyxcclxuICAnVGhlTG9zdENpdHlPZkFtZGFwb3JIYXJkJzogNTE5LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRIYWRlc3NFbGVneSc6IDg4NSxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkSHlkYWVseW5zQ2FsbCc6IDk5NixcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkTmlkaG9nZ3NSYWdlJzogNTY2LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRTaGlucnl1c0RvbWFpbic6IDczMCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVGhvcmRhbnNSZWlnbic6IDQ0OCxcclxuICAnVGhlTWluc3RyZWxzQmFsbGFkVHN1a3V5b21pc1BhaW4nOiA3NzksXHJcbiAgJ1RoZU1pbnN0cmVsc0JhbGxhZFVsdGltYXNCYW5lJzogMzQ4LFxyXG4gICdUaGVNaW5zdHJlbHNCYWxsYWRab2RpYXJrc0ZhbGwnOiA5OTMsXHJcbiAgJ1RoZU1vdGhlcmNyeXN0YWwnOiA5OTUsXHJcbiAgJ1RoZU5hdmVsJzogMjA2LFxyXG4gICdUaGVOYXZlbEV4dHJlbWUnOiAyOTYsXHJcbiAgJ1RoZU5hdmVsSGFyZCc6IDI5MyxcclxuICAnVGhlTmF2ZWxVbnJlYWwnOiA5NTMsXHJcbiAgJ1RoZU9yYm9ubmVNb25hc3RlcnknOiA4MjYsXHJcbiAgJ1RoZU9ycGhhbnNBbmRUaGVCcm9rZW5CbGFkZSc6IDcxNSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTAxXzExMCc6IDU5OCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTExXzEyMCc6IDU5OSxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzMTFfMjAnOiA1NjIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEyMV8xMzAnOiA2MDAsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczEzMV8xNDAnOiA2MDEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE0MV8xNTAnOiA2MDIsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE1MV8xNjAnOiA2MDMsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE2MV8xNzAnOiA2MDQsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE3MV8xODAnOiA2MDUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE4MV8xOTAnOiA2MDYsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczE5MV8yMDAnOiA2MDcsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczFfMTAnOiA1NjEsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczIxXzMwJzogNTYzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnMzMV80MCc6IDU2NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNDFfNTAnOiA1NjUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczUxXzYwJzogNTkzLFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM2MV83MCc6IDU5NCxcclxuICAnVGhlUGFsYWNlT2ZUaGVEZWFkRmxvb3JzNzFfODAnOiA1OTUsXHJcbiAgJ1RoZVBhbGFjZU9mVGhlRGVhZEZsb29yczgxXzkwJzogNTk2LFxyXG4gICdUaGVQYWxhY2VPZlRoZURlYWRGbG9vcnM5MV8xMDAnOiA1OTcsXHJcbiAgJ1RoZVBlYWtzJzogNjIwLFxyXG4gICdUaGVQaGFudG9tc0ZlYXN0JzogOTk0LFxyXG4gICdUaGVQaWxsYXJzJzogNDE5LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlJzogNjc0LFxyXG4gICdUaGVQb29sT2ZUcmlidXRlRXh0cmVtZSc6IDY3NyxcclxuICAnVGhlUHJhZXRvcml1bSc6IDIyNCxcclxuICAnVGhlUHVwcGV0c0J1bmtlcic6IDkxNyxcclxuICAnVGhlUWl0YW5hUmF2ZWwnOiA4MjMsXHJcbiAgJ1RoZVJha3Rpa2FHcmVhdHdvb2QnOiA4MTcsXHJcbiAgJ1RoZVJlc29uYW50JzogNjg0LFxyXG4gICdUaGVSaWRvcmFuYUxpZ2h0aG91c2UnOiA3NzYsXHJcbiAgJ1RoZVJveWFsQ2l0eU9mUmFiYW5hc3RyZSc6IDczNCxcclxuICAnVGhlUm95YWxNZW5hZ2VyaWUnOiA2NzksXHJcbiAgJ1RoZVJ1YnlTZWEnOiA2MTMsXHJcbiAgJ1RoZVNlYU9mQ2xvdWRzJzogNDAxLFxyXG4gICdUaGVTZWF0T2ZTYWNyaWZpY2UnOiA5MjIsXHJcbiAgJ1RoZVNlYXRPZlNhY3JpZmljZUV4dHJlbWUnOiA5MjMsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuMSc6IDM4MCxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFNhdmFnZVR1cm4yJzogMzgxLFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0U2F2YWdlVHVybjMnOiAzODIsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRTYXZhZ2VUdXJuNCc6IDM4MyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm4xJzogMzU1LFxyXG4gICdUaGVTZWNvbmRDb2lsT2ZCYWhhbXV0VHVybjInOiAzNTYsXHJcbiAgJ1RoZVNlY29uZENvaWxPZkJhaGFtdXRUdXJuMyc6IDM1NyxcclxuICAnVGhlU2Vjb25kQ29pbE9mQmFoYW11dFR1cm40JzogMzU4LFxyXG4gICdUaGVTaGlmdGluZ0FsdGFyc09mVXpuYWlyJzogNzk0LFxyXG4gICdUaGVTaGlmdGluZ091YmxpZXR0ZXNPZkx5aGVHaGlhaCc6IDkyNCxcclxuICAnVGhlU2luZ3VsYXJpdHlSZWFjdG9yJzogNDM3LFxyXG4gICdUaGVTaXJlbnNvbmdTZWEnOiA2MjYsXHJcbiAgJ1RoZVN0ZXBzT2ZGYWl0aCc6IDE0MyxcclxuICAnVGhlU3RpZ21hRHJlYW1zY2FwZSc6IDk4NixcclxuICAnVGhlU3RvbmVWaWdpbCc6IDE2OCxcclxuICAnVGhlU3RvbmVWaWdpbEhhcmQnOiAzNjUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUV4dHJlbWUnOiAzNzUsXHJcbiAgJ1RoZVN0cmlraW5nVHJlZUhhcmQnOiAzNzQsXHJcbiAgJ1RoZVN1bmtlblRlbXBsZU9mUWFybic6IDE2MyxcclxuICAnVGhlU3Vua2VuVGVtcGxlT2ZRYXJuSGFyZCc6IDM2NyxcclxuICAnVGhlU3dhbGxvd3NDb21wYXNzJzogNzY4LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0JzogMTY0LFxyXG4gICdUaGVUYW1UYXJhRGVlcGNyb2Z0SGFyZCc6IDM3MyxcclxuICAnVGhlVGVtcGVzdCc6IDgxOCxcclxuICAnVGhlVGVtcGxlT2ZUaGVGaXN0JzogNjYzLFxyXG4gICdUaGVUaG91c2FuZE1hd3NPZlRvdG9SYWsnOiAxNjksXHJcbiAgJ1RoZVRvd2VyQXRQYXJhZGlnbXNCcmVhY2gnOiA5NjYsXHJcbiAgJ1RoZVRvd2VyT2ZCYWJpbCc6IDk2OSxcclxuICAnVGhlVG93ZXJPZlpvdCc6IDk1MixcclxuICAnVGhlVHJpcGxlVHJpYWRCYXR0bGVoYWxsJzogNTc5LFxyXG4gICdUaGVUd2lubmluZyc6IDg0MCxcclxuICAnVGhlVW5lbmRpbmdDb2lsT2ZCYWhhbXV0VWx0aW1hdGUnOiA3MzMsXHJcbiAgJ1RoZVZhbGVudGlvbmVzQ2VyZW1vbnknOiA3NDEsXHJcbiAgJ1RoZVZhdWx0JzogNDIxLFxyXG4gICdUaGVWb2lkQXJrJzogNTA4LFxyXG4gICdUaGVXYW5kZXJlcnNQYWxhY2UnOiAxNTksXHJcbiAgJ1RoZVdhbmRlcmVyc1BhbGFjZUhhcmQnOiAxODgsXHJcbiAgJ1RoZVdlYXBvbnNSZWZyYWluVWx0aW1hdGUnOiA3NzcsXHJcbiAgJ1RoZVdlZXBpbmdDaXR5T2ZNaGFjaCc6IDU1NixcclxuICAnVGhlV2hvcmxlYXRlckV4dHJlbWUnOiAzNTksXHJcbiAgJ1RoZVdob3JsZWF0ZXJIYXJkJzogMjgxLFxyXG4gICdUaGVXaG9ybGVhdGVyVW5yZWFsJzogOTcyLFxyXG4gICdUaGVXaWxsT2ZUaGVNb29uJzogNzk3LFxyXG4gICdUaGVXb3JsZE9mRGFya25lc3MnOiAxNTEsXHJcbiAgJ1RoZVdyZWF0aE9mU25ha2VzJzogODI0LFxyXG4gICdUaGVXcmVhdGhPZlNuYWtlc0V4dHJlbWUnOiA4MjUsXHJcbiAgJ1Rob2tBc3RUaG9rRXh0cmVtZSc6IDQ0NixcclxuICAnVGhva0FzdFRob2tIYXJkJzogNDMyLFxyXG4gICdUaG9ybm1hcmNoRXh0cmVtZSc6IDM2NCxcclxuICAnVGhvcm5tYXJjaEhhcmQnOiAyMDcsXHJcbiAgJ1RvQ2FsbWVyU2Vhcyc6IDEwMTYsXHJcbiAgJ1RyaXBsZVRyaWFkSW52aXRhdGlvbmFsUGFybG9yJzogOTQxLFxyXG4gICdUcmlwbGVUcmlhZE9wZW5Ub3VybmFtZW50JzogOTQwLFxyXG4gICdVbGRhaFN0ZXBzT2ZOYWxkJzogMTMwLFxyXG4gICdVbGRhaFN0ZXBzT2ZUaGFsJzogMTMxLFxyXG4gICdVbHRpbWFUaHVsZSc6IDk2MCxcclxuICAnVW5kZXJUaGVBcm1vcic6IDE5MCxcclxuICAnVXBwZXJMYU5vc2NlYSc6IDEzOSxcclxuICAnVXJ0aHNGb3VudCc6IDM5NCxcclxuICAnVmFuYXNwYXRpJzogOTcwLFxyXG4gICdWb3dzT2ZWaXJ0dWVEZWVkc09mQ3J1ZWx0eSc6IDg5MyxcclxuICAnV2FyZFVwJzogMjk5LFxyXG4gICdXZXN0ZXJuTGFOb3NjZWEnOiAxMzgsXHJcbiAgJ1dlc3Rlcm5UaGFuYWxhbic6IDE0MCxcclxuICAnV2hlbkNsYW5zQ29sbGlkZSc6IDcyMyxcclxuICAnV2l0aEhlYXJ0QW5kU3RlZWwnOiA3MDcsXHJcbiAgJ1dvbHZlc0RlblBpZXInOiAyNTAsXHJcbiAgJ1dvcnRoeU9mSGlzQmFjayc6IDEwMTQsXHJcbiAgJ1hlbHBoYXRvbCc6IDU3MixcclxuICAnWWFueGlhJzogNjE0LFxyXG4gICdaYWRub3InOiA5NzUsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCIvLyBBdXRvLWdlbmVyYXRlZCBmcm9tIGdlbl96b25lX2lkX2FuZF9pbmZvLnB5XHJcbi8vIERPIE5PVCBFRElUIFRISVMgRklMRSBESVJFQ1RMWVxyXG5cclxuaW1wb3J0IHsgTG9jYWxlVGV4dCB9IGZyb20gJy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxudHlwZSBab25lSW5mb1R5cGUgPSB7XHJcbiAgW3pvbmVJZDogbnVtYmVyXToge1xyXG4gICAgcmVhZG9ubHkgZXhWZXJzaW9uOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBjb250ZW50VHlwZT86IG51bWJlcjtcclxuICAgIHJlYWRvbmx5IG5hbWU6IExvY2FsZVRleHQ7XHJcbiAgICByZWFkb25seSBvZmZzZXRYOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBvZmZzZXRZOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBzaXplRmFjdG9yOiBudW1iZXI7XHJcbiAgICByZWFkb25seSB3ZWF0aGVyUmF0ZTogbnVtYmVyO1xyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBkYXRhOiBab25lSW5mb1R5cGUgPSB7XHJcbiAgMTAwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogOSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdFdXBob3JhdHJvbicsXHJcbiAgICAgICdlbic6ICdUaGUgRXhjaXRhdHJvbiA2MDAwJyxcclxuICAgICAgJ2ZyJzogJ0xlIEx1ZG9kcm9tZScsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Ko44Kt44K144Kk44OI44Ot44OzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBFcnN0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZpcnN0IENpcmNsZScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIFBhcnZpcycsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6DvvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIEVyc3RlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgRmlyc3QgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gUGFydmlzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFp3ZWl0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIFNlY29uZCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBDbG9hcXVlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gWndlaXRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgU2Vjb25kIENpcmNsZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgTGltYmVzIGR1IFBhbmTDpm1vbml1bSAtIENsb2FxdWUgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoOmbtuW8j++8mui+uueNhOe3qDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcycsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlJyxcclxuICAgICAgJ2phJzogJ+S4h+mtlOauv+ODkeODs+ODh+ODouODi+OCpuODoO+8mui+uueNhOe3qDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTQ1LFxyXG4gIH0sXHJcbiAgMTAwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdkZSc6ICdBc3Bob2RlbG9zIC0gRHJpdHRlciBLcmVpcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBc3Bob2RlbG9zOiBUaGUgVGhpcmQgQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gRm91cm5haXNlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6gzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnZGUnOiAnQXNwaG9kZWxvcyAtIFZpZXJ0ZXIgS3JlaXMnLFxyXG4gICAgICAnZW4nOiAnQXNwaG9kZWxvczogVGhlIEZvdXJ0aCBDaXJjbGUnLFxyXG4gICAgICAnZnInOiAnTGVzIExpbWJlcyBkdSBQYW5kw6Ztb25pdW0gLSBBYsOubWUnLFxyXG4gICAgICAnamEnOiAn5LiH6a2U5q6/44OR44Oz44OH44Oi44OL44Km44Og77ya6L66542E57eoNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDUsXHJcbiAgfSxcclxuICAxMDA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2RlJzogJ0FzcGhvZGVsb3MgLSBWaWVydGVyIEtyZWlzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FzcGhvZGVsb3M6IFRoZSBGb3VydGggQ2lyY2xlIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBMaW1iZXMgZHUgUGFuZMOmbW9uaXVtIC0gQWLDrm1lIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfkuIfprZTmrr/jg5Hjg7Pjg4fjg6Ljg4vjgqbjg6Dpm7blvI/vvJrovrrnjYTnt6g0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0NSxcclxuICB9LFxyXG4gIDEwMTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6LiP56C06aOO6ZuqJyxcclxuICAgICAgJ2RlJzogJ0VpbiBmcm9zdGlnZXIgRW1wZmFuZycsXHJcbiAgICAgICdlbic6ICdBIEZyb3N0eSBSZWNlcHRpb24nLFxyXG4gICAgICAnZnInOiAnVW4gYWNjdWVpbCBnbGFjaWFsJyxcclxuICAgICAgJ2phJzogJ+mcnOmbquOCkui4j+OBv+OBl+OCgeOBpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTAxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfml6DlsL3lr5LlpJwnLFxyXG4gICAgICAnZGUnOiAnSW4gZnJlbWRlciBIYXV0JyxcclxuICAgICAgJ2VuJzogJ0luIGZyb20gdGhlIENvbGQnLFxyXG4gICAgICAnZnInOiAnTGUgdm9sZXVyIGRlIGNvcnBzJyxcclxuICAgICAgJ2phJzogJ+WvkuWknOOBruOBk+OBqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDEwMTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5omp5pWj55qE5pyr5pelJyxcclxuICAgICAgJ2RlJzogJ1JvdGUgSGltbWVsLCByb3RlciBTY2huZWUnLFxyXG4gICAgICAnZW4nOiAnQXMgdGhlIEhlYXZlbnMgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnYXLDqG5lIGRlcyBuZWlnZXMnLFxyXG4gICAgICAnamEnOiAn5ouh44GM44KL57WC5pyrJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDEwMTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pmT5pyI5LmL57uI6YCUJyxcclxuICAgICAgJ2RlJzogJ0VuZHNjaHJlaXRlcicsXHJcbiAgICAgICdlbic6ICdFbmR3YWxrZXInLFxyXG4gICAgICAnZnInOiAnQXJwZW50ZXVyIGRlcyBmaW5pdHVkZXMnLFxyXG4gICAgICAnamEnOiAn5pqB5pyI44Gu44OV44Kj44OK44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MyxcclxuICB9LFxyXG4gIDEwMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LiK5LiA5Lu76Zi/6LCi5aeG55qE5pWZ5a+8JyxcclxuICAgICAgJ2RlJzogJyBFcyByZWltdCBzaWNoIGF1ZiBHZWJlbGwnLFxyXG4gICAgICAnZW4nOiAnV29ydGh5IG9mIEhpcyBCYWNrJyxcclxuICAgICAgJ2ZyJzogJ0xlIGTDqWZpIGRlIGxcXCdhbmNpZW5uZSBBemVtJyxcclxuICAgICAgJ2phJzogJ+WJjeS7o+OCouOCvOODoOOBruaJi+OBu+OBqeOBjScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzQsXHJcbiAgfSxcclxuICAxMDE1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+acquadpeS5i+i3rycsXHJcbiAgICAgICdkZSc6ICdPZmZlbiBmw7xyIG5ldWUgV2VnZScsXHJcbiAgICAgICdlbic6ICdBIFBhdGggVW52ZWlsZWQnLFxyXG4gICAgICAnZnInOiAnRGVzIGVzcHJpdHMgZXQgZGVzIGhvbW1lcycsXHJcbiAgICAgICdqYSc6ICfplovjgYvjgozjgZ/pgZPjga7lhYjjgbgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDEwMTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6am25ZCR6J6N5ZCI55qE5beo6L2uJyxcclxuICAgICAgJ2RlJzogJ0ltIEhhZmVuIGRlcyBGcmllZGVucycsXHJcbiAgICAgICdlbic6ICdUbyBDYWxtZXIgU2VhcycsXHJcbiAgICAgICdmcic6ICdDYXAgc3VyIGxhIHBhaXgnLFxyXG4gICAgICAnamEnOiAn6J6N5ZKM44G444Gu6Ii55Ye6JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsemtguWuieaBrycsXHJcbiAgICAgICdkZSc6ICdEb21hbmlzY2hlcyBCZWdyw6RibmlzJyxcclxuICAgICAgJ2VuJzogJ0xhaWQgdG8gUmVzdCcsXHJcbiAgICAgICdmcic6ICdEZXMgYWRpZXV4IGRvbWllbnMnLFxyXG4gICAgICAnamEnOiAn44OJ44Oe44Gu5byU44GEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI0MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Luw5pyb6IuN56m577yM5LiN5pat6L+I6L+bJyxcclxuICAgICAgJ2RlJzogJ0RlciBXZWcgenVyIEVybmV1ZXJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRXZlciBNYXJjaCBIZWF2ZW5zd2FyZCcsXHJcbiAgICAgICdmcic6ICdMYSB2b2llIGR1IHJlbm91dmVhdScsXHJcbiAgICAgICdqYSc6ICfokrzlpKnjgpLku7DjgY7jgIHmranjgb/ntprjgZHjgosnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE0LFxyXG4gIH0sXHJcbiAgMTAxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm67pgIHnlJ/ogIXliY3ooYwnLFxyXG4gICAgICAnZGUnOiAnVHJhdWVyIHVuZCBIb2ZmbnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgR2lmdCBvZiBNZXJjeScsXHJcbiAgICAgICdmcic6ICdBY2NlcHRhdGlvbicsXHJcbiAgICAgICdqYSc6ICflg5XjgZ/jgaHjga/pgoTjgorjgIHlkJvjgpLopovpgIHjgo3jgYYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSn6ZWw55qE5oSP5LmJJyxcclxuICAgICAgJ2RlJzogJ0RpZSBCZWRldXR1bmcgZGVyIFNlbnNlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJ2ZXN0IEJlZ2lucycsXHJcbiAgICAgICdmcic6ICdMYSB2cmFpZSBwdWlzc2FuY2UgZGUgbGEgZmF1eCcsXHJcbiAgICAgICdqYSc6ICflpKfpjozjga7mhI/lkbMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDEwMjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5p2A6YGTJyxcclxuICAgICAgJ2RlJzogJ0RpZSBLdW5zdCBkZXMgVMO2dGVucycsXHJcbiAgICAgICdlbic6ICdUaGUgS2lsbGluZyBBcnQnLFxyXG4gICAgICAnZnInOiAnTGEgdm9pZSBkdSBuw6lhbnQnLFxyXG4gICAgICAnamEnOiAn5pqX5q666YGTJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMTAyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfotKTogIXnmoTnn63mnZYnLFxyXG4gICAgICAnZGUnOiAnRGVzIFdlaXNlbiB3dW5kZXJzYW1lcyBXZXJremV1ZycsXHJcbiAgICAgICdlbic6ICdTYWdlXFwncyBGb2N1cycsXHJcbiAgICAgICdmcic6ICdMZXMgYXJtZXMgZHUgc2FnZScsXHJcbiAgICAgICdqYSc6ICfos6LogIXjga7nn63mnZYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDYsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxMDIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUn+WRveeerOmAne+8jOacr+mBk+aBkuS5hScsXHJcbiAgICAgICdkZSc6ICdEYXMgTGViZW4gaXN0IGt1cnosIGRpZSBLdW5zdCBpc3QgbGFuZycsXHJcbiAgICAgICdlbic6ICdMaWZlIEVwaGVtZXJhbCwgUGF0aCBFdGVybmFsJyxcclxuICAgICAgJ2ZyJzogJ0V4aXN0ZW5jZXMgw6lwaMOpbcOocmVzIGV0IHNhdm9pciDDqXRlcm5lbCcsXHJcbiAgICAgICdqYSc6ICfkurrlkb3jga/lhJrjgY/jgIHooZPjga7jgb/jgaHjga/msLjkuYXjgasnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDEyODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WIqeWnhuiQqMK3572X5pWP6JCo5LiK5bGC55Sy5p2/JyxcclxuICAgICAgJ2RlJzogJ09iZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgVXBwZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExlIFRpbGxhYycsXHJcbiAgICAgICdqYSc6ICfjg6rjg6DjgrXjg7vjg63jg5/jg7PjgrXvvJrkuIrnlLLmnb/lsaQnLFxyXG4gICAgICAna28nOiAn66a87IKsIOuhnOuvvOyCrCDsg4HsuLUg6rCR7YyQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTI5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yip5aeG6JCowrfnvZfmlY/okKjkuIvlsYLnlLLmnb8nLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlIERlY2tzJyxcclxuICAgICAgJ2VuJzogJ0xpbXNhIExvbWluc2EgTG93ZXIgRGVja3MnLFxyXG4gICAgICAnZnInOiAnTGltc2EgTG9taW5zYSAtIExcXCdFbnRyZXBvbnQnLFxyXG4gICAgICAnamEnOiAn44Oq44Og44K144O744Ot44Of44Oz44K177ya5LiL55Sy5p2/5bGkJyxcclxuICAgICAgJ2tvJzogJ+umvOyCrCDroZzrr7zsgqwg7ZWY7Li1IOqwke2MkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNSxcclxuICB9LFxyXG4gIDEzMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5jOWwlOi+vuWTiOeOsOS4luWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdOYWxkLUtyZXV6Z2FuZycsXHJcbiAgICAgICdlbic6ICdVbFxcJ2RhaCAtIFN0ZXBzIG9mIE5hbGQnLFxyXG4gICAgICAnZnInOiAnVWxcXCdkYWggLSBGYXVib3VyZyBkZSBOYWxkJyxcclxuICAgICAgJ2phJzogJ+OCpuODq+ODgOODj++8muODiuODq+WbnuW7iicsXHJcbiAgICAgICdrbyc6ICfsmrjri6TtlZgg64KgIO2ajOuekScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3LFxyXG4gIH0sXHJcbiAgMTMxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmM5bCU6L6+5ZOI5p2l55Sf5Zue5buKJyxcclxuICAgICAgJ2RlJzogJ1RoYWwtS3JldXpnYW5nJyxcclxuICAgICAgJ2VuJzogJ1VsXFwnZGFoIC0gU3RlcHMgb2YgVGhhbCcsXHJcbiAgICAgICdmcic6ICdVbFxcJ2RhaCAtIEZhdWJvdXJnIGRlIFRoYWwnLFxyXG4gICAgICAnamEnOiAn44Km44Or44OA44OP77ya44K244Or5Zue5buKJyxcclxuICAgICAgJ2tvJzogJ+yauOuLpO2VmCDri6wg7ZqM656RJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgsXHJcbiAgfSxcclxuICAxMzI6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmoLzph4zovr7lsLzkuprmlrDooZcnLFxyXG4gICAgICAnZGUnOiAnTmV1LUdyaWRhbmlhJyxcclxuICAgICAgJ2VuJzogJ05ldyBHcmlkYW5pYScsXHJcbiAgICAgICdmcic6ICdOb3V2ZWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrmlrDluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOyLoOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxLFxyXG4gIH0sXHJcbiAgMTMzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qC86YeM6L6+5bC85Lqa5pen6KGXJyxcclxuICAgICAgJ2RlJzogJ0FsdC1HcmlkYW5pYScsXHJcbiAgICAgICdlbic6ICdPbGQgR3JpZGFuaWEnLFxyXG4gICAgICAnZnInOiAnVmllaWxsZSBHcmlkYW5pYScsXHJcbiAgICAgICdqYSc6ICfjgrDjg6rjg4Djg4vjgqLvvJrml6fluILooZcnLFxyXG4gICAgICAna28nOiAn6re466as64uk64uI7JWEIOq1rOyLnOqwgOyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyLFxyXG4gIH0sXHJcbiAgMTM0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTWlkZGxlIExhIE5vc2NlYScsXHJcbiAgICAgICdmcic6ICdOb3NjZWEgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTYsXHJcbiAgfSxcclxuICAxMzU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nor7ropb/kuprkvY7lnLAnLFxyXG4gICAgICAnZGUnOiAnVW50ZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnTG93ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0Jhc3NlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfkvY7lnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7KCA7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDEzNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+mbvuadkScsXHJcbiAgICAgICdkZSc6ICdEb3JmIGRlcyBOZWJlbHMnLFxyXG4gICAgICAnZW4nOiAnTWlzdCcsXHJcbiAgICAgICdmcic6ICdCcnVtw6llJyxcclxuICAgICAgJ2phJzogJ+ODn+OCueODiOODu+ODtOOCo+ODrOODg+OCuCcsXHJcbiAgICAgICdrbyc6ICfslYjqsK/ruZsg66eI7J2EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0LFxyXG4gIH0sXHJcbiAgMTM3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lic5ouJ6K+66KW/5LqaJyxcclxuICAgICAgJ2RlJzogJ8OWc3RsaWNoZXMgTGEgTm9zY2VhJyxcclxuICAgICAgJ2VuJzogJ0Vhc3Rlcm4gTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBvcmllbnRhbGUnLFxyXG4gICAgICAnamEnOiAn5p2x44Op44OO44K344KiJyxcclxuICAgICAgJ2tvJzogJ+uPmeu2gCDrnbzrhbjsi5zslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTgsXHJcbiAgfSxcclxuICAxMzg6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfopb/mi4nor7ropb/kuponLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnV2VzdGVybiBMYSBOb3NjZWEnLFxyXG4gICAgICAnZnInOiAnTm9zY2VhIG9jY2lkZW50YWxlJyxcclxuICAgICAgJ2phJzogJ+ilv+ODqeODjuOCt+OCoicsXHJcbiAgICAgICdrbyc6ICfshJzrtoAg652864W47Iuc7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE5LFxyXG4gIH0sXHJcbiAgMTM5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ09iZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnVXBwZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ0hhdXRlLU5vc2NlYScsXHJcbiAgICAgICdqYSc6ICfpq5jlnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn6rOg7KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMCxcclxuICB9LFxyXG4gIDE0MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ilv+iQqOe6s+WFsCcsXHJcbiAgICAgICdkZSc6ICdXZXN0bGljaGVzIFRoYW5hbGFuJyxcclxuICAgICAgJ2VuJzogJ1dlc3Rlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gb2NjaWRlbnRhbCcsXHJcbiAgICAgICdqYSc6ICfopb/jgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn7ISc67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMTQxOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lit6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIGNlbnRyYWwnLFxyXG4gICAgICAnamEnOiAn5Lit5aSu44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+ykkeu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAxNDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Im+546b5ZCJ5aic5p2v5paX5oqA5aSn5Lya5Yaz6LWbJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEcmFjaGVuaGFscy1Lb2xvc3NldW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYWdvblxcJ3MgTmVjaycsXHJcbiAgICAgICdmcic6ICdMZSBDb2wgZHUgZHJhZ29uJyxcclxuICAgICAgJ2phJzogJ+OCouODnuOCuOODiuadr+mXmOaKgOS8muaxuuWLneaIpicsXHJcbiAgICAgICdrbyc6ICfslYTrp4jsp4DrgpjrsLAg7Yis6riw64yA7ZqMIOqysOyKueyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eah+mDveS8iuS/ruWKoOW+t+S/neWNq+aImCcsXHJcbiAgICAgICdkZSc6ICdEZXIgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGUgU2nDqGdlIGRlIGxhIHNhaW50ZSBDaXTDqSBkXFwnSXNoZ2FyZCcsXHJcbiAgICAgICdqYSc6ICfnmofpg73jgqTjgrfjg6Xjgqzjg6vjg4npmLLooZvmiKYnLFxyXG4gICAgICAna28nOiAn7ISx64+EIOydtOyKiOqwgOultOuTnCDrsKnslrTsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAxNDU6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuJzokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnw5ZzdGxpY2hlcyBUaGFuYWxhbicsXHJcbiAgICAgICdlbic6ICdFYXN0ZXJuIFRoYW5hbGFuJyxcclxuICAgICAgJ2ZyJzogJ1RoYW5hbGFuIG9yaWVudGFsJyxcclxuICAgICAgJ2phJzogJ+adseOCtuODiuODqeODvOODsycsXHJcbiAgICAgICdrbyc6ICfrj5nrtoAg64uk64Kg656AJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExLFxyXG4gIH0sXHJcbiAgMTQ2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X6JCo57qz5YWwJyxcclxuICAgICAgJ2RlJzogJ1PDvGRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnU291dGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gbcOpcmlkaW9uYWwnLFxyXG4gICAgICAnamEnOiAn5Y2X44K244OK44Op44O844OzJyxcclxuICAgICAgJ2tvJzogJ+uCqOu2gCDri6TrgqDrnoAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTIsXHJcbiAgfSxcclxuICAxNDc6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljJfokKjnurPlhbAnLFxyXG4gICAgICAnZGUnOiAnTsO2cmRsaWNoZXMgVGhhbmFsYW4nLFxyXG4gICAgICAnZW4nOiAnTm9ydGhlcm4gVGhhbmFsYW4nLFxyXG4gICAgICAnZnInOiAnVGhhbmFsYW4gc2VwdGVudHJpb25hbCcsXHJcbiAgICAgICdqYSc6ICfljJfjgrbjg4rjg6njg7zjg7MnLFxyXG4gICAgICAna28nOiAn67aB67aAIOuLpOuCoOuegCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMyxcclxuICB9LFxyXG4gIDE0ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7keiho+ajruael+S4reWkruael+WMuicsXHJcbiAgICAgICdkZSc6ICdUaWVmZXIgV2FsZCcsXHJcbiAgICAgICdlbic6ICdDZW50cmFsIFNocm91ZCcsXHJcbiAgICAgICdmcic6ICdGb3LDqnQgY2VudHJhbGUnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Lit5aSu5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg7KSR67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDMsXHJcbiAgfSxcclxuICAxNTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bm76b6Z5q6L6aq45a+G57qm5LmL5aGUJyxcclxuICAgICAgJ2RlJzogJ0jDvHRlciBkZXMgU2VlcycsXHJcbiAgICAgICdlbic6ICdUaGUgS2VlcGVyIG9mIHRoZSBMYWtlJyxcclxuICAgICAgJ2ZyJzogJ0xlIEdhcmRpZW4gZHUgbGFjJyxcclxuICAgICAgJ2phJzogJ+W5u+m+jeaui+mquCDpu5nntITjga7loZQnLFxyXG4gICAgICAna28nOiAn66y17JW97J2YIO2DkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NCxcclxuICB9LFxyXG4gIDE1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5pqX5LmL5LiW55WMJyxcclxuICAgICAgJ2RlJzogJ0RpZSBXZWx0IGRlciBEdW5rZWxoZWl0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXb3JsZCBvZiBEYXJrbmVzcycsXHJcbiAgICAgICdmcic6ICdMYSBUb3VyIGRlIENyaXN0YWwgLSBNb25kZSBkZXMgVMOpbsOoYnJlcycsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrpl4fjga7kuJbnlYwnLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog7Ja065Gg7J2YIOyEuOqzhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTUyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6KGj5qOu5p6X5Lic6YOo5p6X5Yy6JyxcclxuICAgICAgJ2RlJzogJ09zdHdhbGQnLFxyXG4gICAgICAnZW4nOiAnRWFzdCBTaHJvdWQnLFxyXG4gICAgICAnZnInOiAnRm9yw6p0IGRlIGxcXCdlc3QnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5p2x6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64+Z67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxNTM6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljZfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnU8O8ZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnU291dGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBzdWQnLFxyXG4gICAgICAnamEnOiAn6buS6KGj5qOu77ya5Y2X6YOo5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+qygOydgOyepeuniSDsiLIg64Ko67aA7IK866a8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxNTQ6IHtcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5HooaPmo67mnpfljJfpg6jmnpfljLonLFxyXG4gICAgICAnZGUnOiAnTm9yZHdhbGQnLFxyXG4gICAgICAnZW4nOiAnTm9ydGggU2hyb3VkJyxcclxuICAgICAgJ2ZyJzogJ0ZvcsOqdCBkdSBub3JkJyxcclxuICAgICAgJ2phJzogJ+m7kuiho+ajru+8muWMl+mDqOajruaelycsXHJcbiAgICAgICdrbyc6ICfqsoDsnYDsnqXrp4kg7IiyIOu2geu2gOyCvOumvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2LFxyXG4gIH0sXHJcbiAgMTU1OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqT5bCU5pyt5pav5Lit5aSu6auY5ZywJyxcclxuICAgICAgJ2RlJzogJ1plbnRyYWxlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgQ2VudHJhbCBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBjZW50cmFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueS4reWkrumrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7KSR7JWZ6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMTU2OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGp5p2c57qzJyxcclxuICAgICAgJ2RlJzogJ01vciBEaG9uYScsXHJcbiAgICAgICdlbic6ICdNb3IgRGhvbmEnLFxyXG4gICAgICAnZnInOiAnTW9yIERob25hJyxcclxuICAgICAgJ2phJzogJ+ODouODvOODieOCpeODiicsXHJcbiAgICAgICdrbyc6ICfrqqjrpbTrj4TrgpgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjIsXHJcbiAgfSxcclxuICAxNTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp54S26KaB5a6z5rKZ5pav5aGU5aSP5rq25rSeJyxcclxuICAgICAgJ2RlJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2VuJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhJyxcclxuICAgICAgJ2phJzogJ+WkqeeEtuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4nLFxyXG4gICAgICAna28nOiAn7IKs7Iqk7YOA7IOkIOy5qOyLnSDrj5nqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvJHlhbvog5zlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCcsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AnLFxyXG4gICAgICAnZnInOiAnTGUgQml2b3VhYyBkZSBCcmF5ZmxveCcsXHJcbiAgICAgICdqYSc6ICflparpgoTmlK/mj7Qg44OW44Os44Kk44OV44Ot44Kv44K544Gu6YeO5Za25ZywJyxcclxuICAgICAgJ2tvJzogJ+u4jOugiOydtO2UjOuhneyKpOydmCDslbzsmIHsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7ngbXlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGR1IFZhZ2Fib25kJyxcclxuICAgICAgJ2phJzogJ+aXheelnuiBluWfnyDjg6/jg7Pjg4Djg6njg7zjg5Hjg6zjgrknLFxyXG4gICAgICAna28nOiAn67Cp656R7J6Q7J2YIOq2geyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTYwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mihuiIquaYjueBr+WkqeeLvOaYn+eBr+WhlCcsXHJcbiAgICAgICdkZSc6ICdQaGFyb3MgU2lyaXVzJyxcclxuICAgICAgJ2VuJzogJ1BoYXJvcyBTaXJpdXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgU2lyaXVzJyxcclxuICAgICAgJ2phJzogJ+aAqumzpeW3qOWhlCDjgrfjg6rjgqbjgrnlpKfnga/lj7AnLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHplIHlnZHpgZPpk5zpk4Ppk5zlsbEnLFxyXG4gICAgICAnZGUnOiAnS3VwZmVyZ2xvY2tlbi1NaW5lJyxcclxuICAgICAgJ2VuJzogJ0NvcHBlcmJlbGwgTWluZXMnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbmVzIGRlIENsb2NoZWN1aXZyZScsXHJcbiAgICAgICdqYSc6ICflsIHpjpblnZHpgZMg44Kr44OD44OR44O844OZ44Or6YqF5bGxJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlhb3poobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGknLFxyXG4gICAgICAnZnInOiAnSGFsYXRhbGknLFxyXG4gICAgICAnamEnOiAn6a2U542j6aCY5Z+fIOODj+ODqeOCv+ODquS/rue3tOaJgCcsXHJcbiAgICAgICdrbyc6ICftlaDrnbztg4jrpqwg7IiY66Co7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybicsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBlbnNldmVsaSBkZSBRYXJuJyxcclxuICAgICAgJ2phJzogJ+mBuui3oeaOoue0oiDjgqvjg6vjg7Pln4vmsqHlr7rpmaInLFxyXG4gICAgICAna28nOiAn7Lm066W47J2YIOustOuEiOynhCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDkuIvngbXmrr/loZTlp4bCt+WhlOaLieWik+WbrScsXHJcbiAgICAgICdkZSc6ICdUb3RlbmFja2VyIFRhbS1UYXJhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUYW3igJNUYXJhIERlZXBjcm9mdCcsXHJcbiAgICAgICdmcic6ICdMXFwnSHlwb2fDqWUgZGUgVGFtLVRhcmEnLFxyXG4gICAgICAnamEnOiAn5Zyw5LiL6ZyK5q6/IOOCv+ODoOOCv+ODqeOBruWik+aJgCcsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDMwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZCN6Zeo5bqc6YK46Z2Z6K+t5bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0hhdWtrZS1IZXJyZW5oYXVzJyxcclxuICAgICAgJ2VuJzogJ0hhdWtrZSBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgZGVzIEhhdWtrZScsXHJcbiAgICAgICdqYSc6ICflkI3ploDlsYvmlbcg44OP44Km44Kx44K/5b6h55So6YK4JyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE2Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqrmlZnpqbvlnLDml6DpmZDln47lj6TloKEnLFxyXG4gICAgICAnZGUnOiAnRGllIFJ1aW5lbiB2b24gQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdBbWRhcG9yIEtlZXAnLFxyXG4gICAgICAnZnInOiAnTGUgQ2jDonRlYXUgZFxcJ0FtZGFwb3InLFxyXG4gICAgICAnamEnOiAn6YKq5pWZ5o6S5pKDIOWPpOWfjuOCouODoOODgOODl+ODvOODqycsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDE2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflr7npvpnln47loZ7nn7PljavloZQnLFxyXG4gICAgICAnZGUnOiAnU3RlaW5lcm5lIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdG9uZSBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZGUgUGllcnJlJyxcclxuICAgICAgJ2phJzogJ+WfjuWhnuaUu+eVpSDjgrnjg4jjg7zjg7Pjg7TjgqPjgrjjg6snLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNyxcclxuICB9LFxyXG4gIDE2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnm5Hni7Hlup/lop/miZjmiZjCt+aLieWFi+WNg+eLsScsXHJcbiAgICAgICdkZSc6ICdUYXVzZW5kIEzDtmNoZXIgdm9uIFRvdG8tUmFrJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUaG91c2FuZCBNYXdzIG9mIFRvdG/igJNSYWsnLFxyXG4gICAgICAnZnInOiAnTGVzIE1pbGxlIEd1ZXVsZXMgZGUgVG90by1SYWsnLFxyXG4gICAgICAnamEnOiAn55uj542E5buD5aKfIOODiOODiOODqeOCr+OBruWNg+eNhCcsXHJcbiAgICAgICdrbyc6ICfthqDthqDrnbztgawg6rCQ7JilJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rWB5rKZ6L+35a6r5qi16bij5rSeJyxcclxuICAgICAgJ2RlJzogJ1PDpGdlcnNjaHJlaScsXHJcbiAgICAgICdlbic6ICdDdXR0ZXJcXCdzIENyeScsXHJcbiAgICAgICdmcic6ICdMZSBHb3VmZnJlIGh1cmxhbnQnLFxyXG4gICAgICAnamEnOiAn5rWB56CC6L+35a6uIOOCq+ODg+OCv+ODvOOCuuOCr+ODqeOCpCcsXHJcbiAgICAgICdrbyc6ICfrgpjrrLTqvrzsnZgg67mE66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bGx5Lit5oiY57q/5rO95qKF5bCU6KaB5aGeJyxcclxuICAgICAgJ2RlJzogJ0RpZSBGZXN0ZSBEemVtYWVsJyxcclxuICAgICAgJ2VuJzogJ0R6ZW1hZWwgRGFya2hvbGQnLFxyXG4gICAgICAnZnInOiAnTGEgRm9ydGVyZXNzZSBkZSBEemVtYWVsJyxcclxuICAgICAgJ2phJzogJ+aOg+iojuS9nOaIpiDjgrzjg7zjg6Hjg6vopoHloZ4nLFxyXG4gICAgICAna28nOiAn7KCc66mcIOyalOyDiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+avkumbvua0nueqn+m7hOmHkeiwtycsXHJcbiAgICAgICdkZSc6ICdHb2xka2xhbW0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEF1cnVtIFZhbGUnLFxyXG4gICAgICAnZnInOiAnTGUgVmFsIGRcXCdBdXJ1bScsXHJcbiAgICAgICdqYSc6ICfpnKfkuK3ooYzou40g44Kq44O844Op44Og44O044Kn44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+q4iOu5myDqs6jsp5zquLAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbloZQg5Y+k5Luj5Lq66L+35a6rJyxcclxuICAgICAgJ2RlJzogJ0tyaXN0YWxsdHVybSAtIERhcyBMYWJ5cmludGggZGVyIEFsdGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBMYWJ5cmludGggb2YgdGhlIEFuY2llbnRzJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIETDqWRhbGUgYW50aXF1ZScsXHJcbiAgICAgICdqYSc6ICfjgq/jg6rjgrnjgr/jg6vjgr/jg6/jg7zvvJrlj6Tku6Pjga7msJHjga7ov7flrq4nLFxyXG4gICAgICAna28nOiAn7YGs66as7Iqk7YOIIO2DgOybjDog6rOg64yA7J247J2YIOuvuOq2gScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMTgwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ6K+66KW/5Lqa5aSW5ZywJyxcclxuICAgICAgJ2RlJzogJ8OEdcOfZXJlcyBMYSBOb3NjZWEnLFxyXG4gICAgICAnZW4nOiAnT3V0ZXIgTGEgTm9zY2VhJyxcclxuICAgICAgJ2ZyJzogJ05vc2NlYSBleHTDqXJpZXVyZScsXHJcbiAgICAgICdqYSc6ICflpJblnLDjg6njg47jgrfjgqInLFxyXG4gICAgICAna28nOiAn7Jm47KeAIOudvOuFuOyLnOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNCxcclxuICB9LFxyXG4gIDE4ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmraboo4XlnKPln5/mlL7mtarnpZ7lj6TnpZ7mrr8nLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlcyBXYW5kZXJlcnMgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdhbmRlcmVyXFwncyBQYWxhY2UgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkdSBWYWdhYm9uZCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmraboo4XogZbln58g44Ov44Oz44OA44Op44O844OR44Os44K5IChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrsKnrnpHsnpDsnZgg6raB7KCEKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAxODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKq5b+15aaW5Zyw5peg6ZmQ5Z+O5Y+k5aChJyxcclxuICAgICAgJ2RlJzogJ0RpZSBSdWluZW4gdm9uIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnQW1kYXBvciBLZWVwIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkXFwnQW1kYXBvciAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgqrlv7XmjpLmkoMg5Y+k5Z+O44Ki44Og44OA44OX44O844OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsmJsg7JWU64uk7Y+s66W0IOyEsSjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgMTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOW9t+W+qOatu+eBte+8gScsXHJcbiAgICAgICdkZSc6ICdCb2NrbWFubnMgR2Vmb2xnZScsXHJcbiAgICAgICdlbic6ICdVbmRlciB0aGUgQXJtb3InLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IGZhbnTDtG1lIGZhbnRvY2hlJyxcclxuICAgICAgJ2phJzogJ+W9t+W+qOOBhuatu+mciuOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrsKntmantlZjripQg7IKs66C57J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMyxcclxuICB9LFxyXG4gIDE5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpqbHpmaTliafmr5LlppboirHvvIEnLFxyXG4gICAgICAnZGUnOiAnVW5rcmF1dCBqw6R0ZW4nLFxyXG4gICAgICAnZW4nOiAnUHVsbGluZyBQb2lzb24gUG9zaWVzJyxcclxuICAgICAgJ2ZyJzogJ09ww6lyYXRpb24gZmxldXJzIGR1IG1hbCcsXHJcbiAgICAgICdqYSc6ICfmnInmr5LlppboirHjgpLpp4bpmaTjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn64+F7ISxIOyalOq0tOq9g+ydhCDsoJzqsbDtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQsXHJcbiAgfSxcclxuICAxOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5raI54Gt5oG25b6S5Zui5LyZ5a+E55Sf6JyC5Zui77yBJyxcclxuICAgICAgJ2RlJzogJ0lucyBXZXNwZW5uZXN0IHN0ZWNoZW4nLFxyXG4gICAgICAnZW4nOiAnU3RpbmdpbmcgQmFjaycsXHJcbiAgICAgICdmcic6ICdFeHDDqWRpdGlvbiBwdW5pdGl2ZSBjb250cmUgbGVzIFZlbnRyZXJvdWdlJyxcclxuICAgICAgJ2phJzogJ+eEoeazleiAheOAjOS8vOaIkeicguWbo+OAjeOCkuaSg+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTrspXsnpAg7KeR64uoIFxcJ+uCmOuCmOuLiOuLqFxcJ+ydhCDshKzrqbjtlZjrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDUsXHJcbiAgfSxcclxuICAxOTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAxJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDEnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muecn+aIkOe3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7KeE7ISx7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDE5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg55yf5rqQ5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBkZSBCYWhhbXV0IElJSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6gzJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAxOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOecn+a6kOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAzIC0gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA0JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBYsOubWUgZGUgQmFoYW11dCBJVicsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrnnJ/miJDnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOynhOyEse2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00NDgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ0LFxyXG4gIH0sXHJcbiAgMjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuW8l+WIqeeJueiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgR3JhYiBkZXIgTG9oZScsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMnLFxyXG4gICAgICAnZnInOiAnTGUgQ3JhdMOocmUgZGVzIHRpc29ucycsXHJcbiAgICAgICdqYSc6ICfjgqTjg5Xjg6rjg7zjg4joqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDIwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7DlnaborqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGVyIE5hYmVsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBOYXZlbCcsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsJyxcclxuICAgICAgJ2phJzogJ+OCv+OCpOOCv+ODs+iojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iOq+WPpOWKm+i0pOeOi+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLw7ZuaWdsaWNoZSBLb25mcm9udGF0aW9uIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1Rob3JubWFyY2ggKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xhIExpc2nDqHJlIGRlIHJvbmNlcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICflloTnjovjg6LjgrDjg6vjg7vjg6LjgrBYSUnkuJboqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7ISg7JmVIOuqqOq3uOujqCDrqqjqt7ggWElJ7IS4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzMCxcclxuICB9LFxyXG4gIDIwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov6bmpbznvZforqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnRGFzIFRvc2VuZGUgQXVnZScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUnLFxyXG4gICAgICAnZnInOiAnSHVybMWTaWwnLFxyXG4gICAgICAnamEnOiAn44Ks44Or44O844OA6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+qwgOujqOuLpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICAyMTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5a6M5oiQ6ZuG5Zui5oiY6K6t57uD77yBJyxcclxuICAgICAgJ2RlJzogJ0VpbmVyIGbDvHIgYWxsZSwgYWxsZSBmw7xyIGVpbmVuJyxcclxuICAgICAgJ2VuJzogJ0Jhc2ljIFRyYWluaW5nOiBFbmVteSBQYXJ0aWVzJyxcclxuICAgICAgJ2ZyJzogJ0VudHJhw65uZW1lbnQ8SW5kZW50Lz46IGdyb3VwZXMgZFxcJ2VubmVtaXMnLFxyXG4gICAgICAnamEnOiAn6ZuG5Zuj5oim6KiT57e044KS44GP44GQ44KK5oqc44GR44KN77yBJyxcclxuICAgICAgJ2tvJzogJ+ynkeuLqOyghCDtm4jroKjsnYQg7JmE7IiY7ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNixcclxuICB9LFxyXG4gIDIxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqoHnoLTmiYDmnInlhbPpl6jvvIzorqjkvJDmnIDmt7HlpITnmoTmlYzkurrvvIEnLFxyXG4gICAgICAnZGUnOiAnU3R1cm1rb21tYW5kbycsXHJcbiAgICAgICdlbic6ICdCYXNpYyBUcmFpbmluZzogRW5lbXkgU3Ryb25naG9sZHMnLFxyXG4gICAgICAnZnInOlxyXG4gICAgICAgICdFbnRyYcOubmVtZW50PEluZGVudC8+OiBpbjxTb2Z0SHlwaGVuLz5maWw8U29mdEh5cGhlbi8+dHJhPFNvZnRIeXBoZW4vPnRpb24gZW4gYmFzZSBlbm5lbWllJyxcclxuICAgICAgJ2phJzogJ+WFqOmWoumWgOOCkueqgeegtOOBl+OAgeacgOa3semDqOOBruaVteOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqtIDrrLjsnYQg64+M7YyM7ZWY6rOgIOy1nOyLrOu2gOydmCDsoIHsnYQg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5LFxyXG4gIH0sXHJcbiAgMjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aNleiOt+mHkeW4gem+n++8gScsXHJcbiAgICAgICdkZSc6ICdHaWwgb2RlciBMZWJlbicsXHJcbiAgICAgICdlbic6ICdIZXJvIG9uIHRoZSBIYWxmIFNoZWxsJyxcclxuICAgICAgJ2ZyJzogJ1JlY29ucXXDqnRlIGRcXCd1bmUgY2FyYXBhY2UgZXNjYW1vdMOpZScsXHJcbiAgICAgICdqYSc6ICfjgq7jg6vjgqzjg6HjgpLmjZXnjbLjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn6ri46rGw67aB7J2EIOyCrOuhnOyeoeyVhOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAsXHJcbiAgfSxcclxuICAyMTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95Y2X5pa55aCh5aSW5Zu05r+A5oiYJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gTWVyaWRpYW51bSAtIEF1w59lbmJlcmVpY2gnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWVyaWRpYW51bScsXHJcbiAgICAgICdqYSc6ICflpJbpg63mlLvnlaUg44Kr44K544OI44Or44Og44O744Oh44Oq44OH44Kj44Ki44OM44OgJyxcclxuICAgICAgJ2tvJzogJ+y5tOyKpO2KuOujuCDrqZTrpqzrlJTslYTriJQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDIxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflh7vmuoPlk6XluIPmnpfngrjlvLnlhpvlm6LvvIEnLFxyXG4gICAgICAnZGUnOiAnQm9tYmlnZSBHb2JsaW5zJyxcclxuICAgICAgJ2VuJzogJ0ZsaWNraW5nIFN0aWNrcyBhbmQgVGFraW5nIE5hbWVzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBHb2JlbGlucyBib21iYXJkaWVycycsXHJcbiAgICAgICdqYSc6ICfniIblvL7prZTjgrTjg5bjg6rjg7Pou43lm6PjgpLmkoPmu4XjgZvjgojvvIEnLFxyXG4gICAgICAna28nOiAn7Y+t7YOE6rSRIOqzoOu4lOumsCDqtbDri6jsnYQg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzLFxyXG4gIH0sXHJcbiAgMjIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaipuW5u+S5i+W4g+aLieWlh+W4jOWlpe+8gScsXHJcbiAgICAgICdkZSc6ICdCcmlheGlvIGF1c3NjaGFsdGVuJyxcclxuICAgICAgJ2VuJzogJ0FsbFxcJ3MgV2VsbCB0aGF0IEVuZHMgaW4gdGhlIFdlbGwnLFxyXG4gICAgICAnZnInOiAnQnJpYXhpbyDDoCBicmFzIHJhY2NvdXJjaXMnLFxyXG4gICAgICAnamEnOiAn5aSi5bm744Gu44OW44Op44Kt44K344Kq44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+uqve2ZmOydmCDruIzrnbztgazsi5zsmKTrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1LFxyXG4gIH0sXHJcbiAgMjIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOaxoeafk+a6kOWktOmtlOeVjOiKse+8gScsXHJcbiAgICAgICdkZSc6ICdUw7ZkbGljaGVzIFJhbmtlbnNwaWVsJyxcclxuICAgICAgJ2VuJzogJ01vcmUgdGhhbiBhIEZlZWxlcicsXHJcbiAgICAgICdmcic6ICdTdXMgYXUgbW9yYm9sIHBvbGx1ZXVyJyxcclxuICAgICAgJ2phJzogJ+axmuafk+a6kOODouODq+ODnOODq+OCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfsmKTsl7zsm5Ag66qw67O87J2EIOyTsOufrOucqOugpOudvCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjAsXHJcbiAgfSxcclxuICAyMjI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDMsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6K6o5LyQ5Z2R6YGT5Lit5Ye6546w55qE5aaW5byC77yBJyxcclxuICAgICAgJ2RlJzogJ0dlZmFociBhdXMgZGVtIE5pY2h0cycsXHJcbiAgICAgICdlbic6ICdBbm5veSB0aGUgVm9pZCcsXHJcbiAgICAgICdmcic6ICdCdXNvIGxcXCdpbW1vbGF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+WdkemBk+OBq+ePvuOCjOOBn+WmlueVsOODluOCveOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfqsLHrj4Tsl5Ag64KY7YOA64KcIOyalOuniCDrtoDshozrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNyxcclxuICB9LFxyXG4gIDIyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms6jmhI/ml6DmlYznmoTnnLflsZ7vvIzorqjkvJDlpKflnovlppblvILvvIEnLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZ2VnZW4gU2NoYXR0ZW4nLFxyXG4gICAgICAnZW4nOiAnU2hhZG93IGFuZCBDbGF3JyxcclxuICAgICAgJ2ZyJzogJ09tYnJlcyBldCBncmlmZmVzJyxcclxuICAgICAgJ2phJzogJ+eEoeaVteOBruect+WxnuOCkuW+k+OBiOOBl+OAgeWkp+Wei+WmlueVsOOCkuiojuOBpu+8gScsXHJcbiAgICAgICdrbyc6ICfrrLTsoIHsnZgg67aA7ZWY66W8IOyhsOyihe2VmOuKlCDsmpTrp4jrpbwg7JOw65+s65yo66Ck6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMSxcclxuICB9LFxyXG4gIDIyNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnluZXprZTlr7zln47mnIDnu4jlhrPmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2FzdHJ1bSBNZXJpZGlhbnVtIC0gUHJhZXRvcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgUHJhZXRvcml1bScsXHJcbiAgICAgICdmcic6ICdMZSBQcmFldG9yaXVtJyxcclxuICAgICAgJ2phJzogJ+acgOe1guaxuuaIpiDprZTlsI7ln47jg5fjg6njgqjjg4jjg6rjgqbjg6AnLFxyXG4gICAgICAna28nOiAn66eI64+E7ISxIO2UhOudvOydtO2GoOumrOybgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMScsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDEnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IEknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMicsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDInLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElJJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya6YKC6YCF57eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDtlbTtm4TtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMjQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDpgoLpgIXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gNCcsXHJcbiAgICAgICdlbic6ICdUaGUgQmluZGluZyBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRoZSBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg6YKC6YCF5LmL56ugNScsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJpbmRpbmcgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiA1JyxcclxuICAgICAgJ2ZyJzogJ0xlIExhYnlyaW50aGUgZGUgQmFoYW11dCBWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8mumCgumAhee3qDUnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7ZW07ZuE7Y64IDUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDI1MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eLvOeLseWBnOiIueWcuicsXHJcbiAgICAgICdkZSc6ICdXb2xmc2jDtmhsZW4tUGllcicsXHJcbiAgICAgICdlbic6ICdXb2x2ZXNcXCcgRGVuIFBpZXInLFxyXG4gICAgICAnZnInOiAnSmV0w6llIGRlIGxcXCdBbnRyZSBkZXMgbG91cHMnLFxyXG4gICAgICAnamEnOiAn44Km44Or44O044K644K444Kn44Kk44Or5L+C6Ii55aC0JyxcclxuICAgICAgJ2tvJzogJ+uKkeuMgOyasOumrCDrtoDrkZAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOSxcclxuICB9LFxyXG4gIDI4MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnnJ/jg6rjg7TjgqHjgqTjgqLjgrXjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOumrOuwlOydtOyWtOyEoCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICAyOTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5byX5Yip54m55q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gSWZyaXQnLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvd2wgb2YgRW1iZXJzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgdGlzb25zIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCpOODleODquODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg7J207ZSE66as7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNSxcclxuICB9LFxyXG4gIDI5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfms7Dlnabmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBUaXRhbicsXHJcbiAgICAgICdlbic6ICdUaGUgTmF2ZWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+OCrOODq+ODvOODgOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg6rCA66Oo64ukIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyNixcclxuICB9LFxyXG4gIDI5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrlvJfliKnnibnmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBJZnJpdCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm93bCBvZiBFbWJlcnMgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyB0aXNvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgqTjg5Xjg6rjg7zjg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOydtO2UhOumrO2KuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjUsXHJcbiAgfSxcclxuICAyOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rOw5Z2m5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBOb21icmlsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K/44Kk44K/44Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtg4DsnbTtg4Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIzLFxyXG4gIH0sXHJcbiAgMjk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/pualvOe9l+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIEdhcnVkYScsXHJcbiAgICAgICdlbic6ICdUaGUgSG93bGluZyBFeWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0h1cmzFk2lsIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ks44Or44O844OA6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqsIDro6jri6Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI2LFxyXG4gIH0sXHJcbiAgMjk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iuqOS8kOeIhuW8ueaAqueahOWls+eOi++8gScsXHJcbiAgICAgICdkZSc6ICdNaXNzIEJvbWJhc3RpYycsXHJcbiAgICAgICdlbic6ICdMb25nIExpdmUgdGhlIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ0xvbmd1ZSB2aWUgw6AgbGEgUmVpbmUnLFxyXG4gICAgICAnamEnOiAn44Oc44Og44KS546H44GE44KL44CM44Oc44Og44Kv44Kk44O844Oz44CN44KS6KiO44Gm77yBJyxcclxuICAgICAgJ2tvJzogJ+u0hOydhCDqsbDripDrprAgXFwn67SEIOyXrOyZlVxcJ+ydhCDsk7Drn6zrnKjroKTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMjk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atvOeBreeJueauiumYteWei+eahOWmluW8gu+8gScsXHJcbiAgICAgICdkZSc6ICdVbnplcnRyZW5ubGljaCcsXHJcbiAgICAgICdlbic6ICdXYXJkIFVwJyxcclxuICAgICAgJ2ZyJzogJ1F1aW50ZXR0ZXMgaW5mZXJuYXV4JyxcclxuICAgICAgJ2phJzogJ+S4jeawl+WRs+OBqumZo+W9ouOCkue1hOOCgOWmlueVsOOCkuOBm+OCk+a7heOBm+OCiO+8gScsXHJcbiAgICAgICdrbyc6ICfrtojquLjtlZwg7KeE7ZiV7J2EIOynnOuKlCDsmpTrp4jrpbwg7ISs66m47ZWY6528IScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMixcclxuICB9LFxyXG4gIDMwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliLbmraLkuInmlrnmt7fmiJjnmoTlt6jkurrml4/vvIzlrojkvY/pgZfnianvvIEnLFxyXG4gICAgICAnZGUnOiAnV3VjaHRpZ2UgRHJlaWZhbHRpZ2tlaXQnLFxyXG4gICAgICAnZW4nOiAnU29sZW1uIFRyaW5pdHknLFxyXG4gICAgICAnZnInOiAnVHJpbml0w6kgc2luaXN0cmUnLFxyXG4gICAgICAnamEnOiAn5LiJ44Gk5be044Gu5beo5Lq65peP44KS5Yi244GX44CB6YG654mp44KS5a6I44KM77yBJyxcclxuICAgICAgJ2tvJzogJ+yEuCDqsbDsnbjsobHsnYQg7KCc7JWV7ZWY7JesIOycoOusvOydhCDsp4DsvJzrgrTrnbwhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIyLFxyXG4gIH0sXHJcbiAgMzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mHjOWhlOaPkOaBqeW8uuaUu+aImCcsXHJcbiAgICAgICdkZSc6ICdLYXAgV2VzdHdpbmQnLFxyXG4gICAgICAnZW4nOiAnQ2FwZSBXZXN0d2luZCcsXHJcbiAgICAgICdmcic6ICdMZSBDYXAgVmVuZG91ZXN0JyxcclxuICAgICAgJ2phJzogJ+ODquODg+ODiOOCouODhuOCo+ODs+W8t+ilsuaIpicsXHJcbiAgICAgICdrbyc6ICfrpqztirjslYTti7Qg6rCV7Iq17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDksXHJcbiAgfSxcclxuICAzNDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56m25p6B56We5YW156C05Z2P5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFVsdGltYScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVWx0aW1hXFwncyBCYW5lJyxcclxuICAgICAgJ2ZyJzogJ0xlIGZsw6lhdSBkXFwnVWx0aW1hJyxcclxuICAgICAgJ2phJzogJ+eptualteW5u+aDsyDjgqLjg6vjg4bjg57jgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzEsXHJcbiAgfSxcclxuICAzNDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aqa5Lmx5Z2R6YGT6ZOc6ZOD6ZOc5bGxJyxcclxuICAgICAgJ2RlJzogJ0t1cGZlcmdsb2NrZW4tTWluZSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdDb3BwZXJiZWxsIE1pbmVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgTWluZXMgZGUgQ2xvY2hlY3VpdnJlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mokuS5seWdkemBkyDjgqvjg4Pjg5Hjg7zjg5njg6vpioXlsbEgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+q1rOumrOyihSDqtJHsgrAo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aBtueBteW6nOmCuOmdmeivreW6hOWbrScsXHJcbiAgICAgICdkZSc6ICdIYXVra2UtSGVycmVuaGF1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdIYXVra2UgTWFub3IgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE1hbm9pciBkZXMgSGF1a2tlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WmlueVsOWxi+aVtyDjg4/jgqbjgrHjgr/lvqHnlKjpgrggKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VmOyasOy8gO2DgCDrs4TqtoEo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDInLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDEnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIEknLFxyXG4gICAgICAnamEnOiAn44Kk44OZ44Oz44OI55So44Kz44Oz44OG44Oz44OE77yaMScsXHJcbiAgICAgICdrbyc6ICfsnbTrsqTtirjsmqkg7J6E66y0OiAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rS75Yqo5oyR5oiYMycsXHJcbiAgICAgICdkZSc6ICdFdmVudC1JbmhhbHQgMicsXHJcbiAgICAgICdlbic6ICdTcGVjaWFsIEV2ZW50IElJJyxcclxuICAgICAgJ2ZyJzogJ0TDqWZpIHNww6ljaWFsIElJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjInLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICAzNTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jvvJrkvrXmlLvnt6gxJyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m55aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMicsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMicsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM1Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnlpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI77ya5L615pS757eoMycsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7XtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJueWkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiO+8muS+teaUu+e3qDQnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBMZXZpYXRoYW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIDxFbXBoYXNpcz5XaG9ybGVhdGVyPC9FbXBoYXNpcz4gKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJyaXNldXIgZGUgbWFyw6llcyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDM2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliZHmlpfpoobln5/ml6XlvbHlnLDkv67ngrzmiYAnLFxyXG4gICAgICAnZGUnOiAnSGFsYXRhbGkgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnSGFsYXRhbGkgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0hhbGF0YWxpIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+WJo+mXmOmgmOWfnyDjg4/jg6njgr/jg6rkv67nt7TmiYAgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+2VoOudvO2DiOumrCDsiJjroKjsnqUo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i0ouWuneS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObGUgZGUgQ3LDqHZlY2Fyw6huZScsXHJcbiAgICAgICdqYSc6ICfosqHlrp3kvJ3oqqwg44OP44Or44OW44Os44O844Kr44O844O744Ki44Kk44OrJyxcclxuICAgICAgJ2tvJzogJ+uCnO2MjOyEoOydmCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnurfkuonopoHlnLDluIPpm7fnpo/mtJvlhYvmlq/ph47okKXlnLAnLFxyXG4gICAgICAnZGUnOiAnQnLDvGxsdm9seFxcJyBMYW5ncmFzdCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdCcmF5ZmxveFxcJ3MgTG9uZ3N0b3AgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIEJpdm91YWMgZGUgQnJheWZsb3ggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55uf5Y+L5pSv5o+0IOODluODrOOCpOODleODreOCr+OCueOBrumHjuWWtuWcsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn67iM66CI7J207ZSM66Gd7Iqk7J2YIOyVvOyYgeyngCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgMzYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iFkOWdj+mBl+i/ueaXoOmZkOWfjuW4guihl+WPpOi/uScsXHJcbiAgICAgICdkZSc6ICdIaXN0b3Jpc2NoZXMgQW1kYXBvcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDaXR5IG9mIEFtZGFwb3InLFxyXG4gICAgICAnZnInOiAnTGVzIFZlc3RpZ2VzIGRlIGxhIGNpdMOpIGRcXCdBbWRhcG9yJyxcclxuICAgICAgJ2phJzogJ+iFkOaVl+mBuui3oSDlj6TjgqLjg6Djg4Djg5fjg7zjg6vluILooZcnLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICAzNjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6I6r5Y+k5Yqb6LSk546L5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIEtvbmZyb250YXRpb24gKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnVGhvcm5tYXJjaCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgTGlzacOocmUgZGUgcm9uY2VzIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW1546L44Oi44Kw44Or44O744Oi44KwWElJ5LiW6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3ueyZlSDrqqjqt7jro6gg66qo6re4IFhJSeyEuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzAsXHJcbiAgfSxcclxuICAzNjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5r+A5oiY5Z+O5aGe55+z5Y2r5aGUJyxcclxuICAgICAgJ2RlJzogJ1N0ZWluZXJuZSBXYWNodCAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3RvbmUgVmlnaWwgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIFZpZ2lsZSBkZSBQaWVycmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Z+O5aGe5aWq5ZueIOOCueODiOODvOODs+ODtOOCo+OCuOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64+M67Cp7YyoIOqyveqzhOy0iOyGjCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgMzY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+Wkp+ahpeS4iueahOWGs+aWlycsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIGdyb8OfZW4gQnLDvGNrZScsXHJcbiAgICAgICdlbic6ICdCYXR0bGUgb24gdGhlIEJpZyBCcmlkZ2UnLFxyXG4gICAgICAnZnInOiAnQWZmcm9udGVtZW50IHN1ciBsZSBncmFuZCBwb250JyxcclxuICAgICAgJ2phJzogJ+OCruODq+OCrOODoeODg+OCt+ODpeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICfquLjqsIDrqZTsi5wg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6IuP6YaS6YGX6L+55ZaA5oGp5Z+L5rKh5Zyj5aCCJyxcclxuICAgICAgJ2RlJzogJ1ZlcnN1bmtlbmVyIFRlbXBlbCB2b24gUWFybiAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgU3Vua2VuIFRlbXBsZSBvZiBRYXJuIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBUZW1wbGUgZW5zZXZlbGkgZGUgUWFybiAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpgbrot6HmlZHmj7Qg44Kr44Or44Oz5Z+L5rKh5a+66ZmiIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfsubTrpbjsnZgg66y064SI7KeEIOyCrOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQxLFxyXG4gIH0sXHJcbiAgMzY4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+WMluWlh+e+juaLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgRGhvcm1lLUNoaW3DpHJhJyxcclxuICAgICAgJ2VuJzogJ0EgUmVsaWMgUmVib3JuOiB0aGUgQ2hpbWVyYScsXHJcbiAgICAgICdmcic6ICdMYSBjaGltw6hyZSBkaG9ybWUgZHUgQ29lcnRoYXMnLFxyXG4gICAgICAnamEnOiAn44OJ44Or44Og44Kt44Oe44Kk44Op6KiO5LyQ5oimJyxcclxuICAgICAgJ2tvJzogJ+uPhOumhCDtgqTrp4jsnbTrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDIxLFxyXG4gIH0sXHJcbiAgMzY5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+aLieiuqOS8kOaImCcsXHJcbiAgICAgICdkZSc6ICdLYW1wZiBnZWdlbiBkaWUgSHlkcmEnLFxyXG4gICAgICAnZW4nOiAnQSBSZWxpYyBSZWJvcm46IHRoZSBIeWRyYScsXHJcbiAgICAgICdmcic6ICdMXFwnaHlkcmUgZFxcJ0hhbGF0YWxpJyxcclxuICAgICAgJ2phJzogJ+ODj+OCpOODieODqeiojuS8kOaIpicsXHJcbiAgICAgICdrbyc6ICftlZjsnbTrk5zrnbwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yeb5Ya95rSe5aSp5oqr6Zuq5aSn5Yaw5aOBJyxcclxuICAgICAgJ2RlJzogJ0RhcyBTY2huZWVrbGVpZCcsXHJcbiAgICAgICdlbic6ICdTbm93Y2xvYWsnLFxyXG4gICAgICAnZnInOiAnTWFudGVuZWlnZScsXHJcbiAgICAgICdqYSc6ICfmsLfntZDmvZznqp8g44K544OO44O844Kv44Ot44O844Kv5aSn5rC35aOBJyxcclxuICAgICAgJ2tvJzogJ+yWvOydjOyZuO2IrCDrjIDruZnrsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDIsXHJcbiAgfSxcclxuICAzNzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rC05pm25aGUIOW4jOWwlOenkeaWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdLcmlzdGFsbHR1cm0gLSBEZXIgU3lyY3VzLVR1cm0nLFxyXG4gICAgICAnZW4nOiAnU3lyY3VzIFRvd2VyJyxcclxuICAgICAgJ2ZyJzogJ0xhIFRvdXIgZGUgQ3Jpc3RhbCAtIFRvdXIgZGUgU3lyY3VzJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODq+OCv+ODr+ODvO+8muOCt+ODq+OCr+OCueOBruWhlCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4gg7YOA7JuMOiDsi5zrpbTsv6DsiqQg7YORJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzNzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5oOo5Ymn54G15q6/5aGU5aeGwrfloZTmi4nlopPlm60nLFxyXG4gICAgICAnZGUnOiAnVG90ZW5hY2tlciBUYW0tVGFyYSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgVGFt4oCTVGFyYSBEZWVwY3JvZnQgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdIeXBvZ8OpZSBkZSBUYW0tVGFyYSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmg6jliofpnIrmrr8g44K/44Og44K/44Op44Gu5aKT5omAIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICftg5Dtg4Drnbwg66yY7IaMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMzAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM3NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODqeODoOOCpuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg652866y0IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0MyxcclxuICB9LFxyXG4gIDM3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlp4bmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYW11aCcsXHJcbiAgICAgICdlbic6ICdUaGUgU3RyaWtpbmcgVHJlZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyYnJlIGR1IGp1Z2VtZW50IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Og44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnbzrrLQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQzLFxyXG4gIH0sXHJcbiAgMzc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WRqOi+uemBl+i/uee+pCAo6Zi15Zyw5oiYKScsXHJcbiAgICAgICdkZSc6ICfDhHXDn2VyZSBSdWluZW4gKFNpY2hlcnVuZyknLFxyXG4gICAgICAnZW4nOiAnVGhlIEJvcmRlcmxhbmQgUnVpbnMgKFNlY3VyZSknLFxyXG4gICAgICAnZnInOiAnTGVzIFJ1aW5lcyBmcm9udGFsacOocmVzIChhbm5leGlvbiknLFxyXG4gICAgICAnamEnOiAn5aSW57iB6YG66Leh576kICjliLblnKfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yZuOqzvSDsnKDsoIHsp4DrjIAo7KCc7JWV7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdHw7Z0dGVyZMOkbW1lcnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgMzc4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W4jOeTpuatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBbXBoaXRow6nDonRyZSBkXFwnQWtoIEFmYWggKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrfjg7TjgqHoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyLnOuwlCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICAzODA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMScsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5aSn6L+35a6u44OQ44OP44Og44O844OI6Zu25byP77ya5L615pS757eoMScsXHJcbiAgICAgICdrbyc6ICfrjIDrr7jqtoEg67CU7ZWY66y07Yq4OiDsuajqs7Xtjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m56Zu25byP5aSn6L+35a6rIOWFpeS+teS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnVmVyc2NobHVuZ2VuZSBTY2hhdHRlbiAyIC0gMiAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdUaGUgU2Vjb25kIENvaWwgb2YgQmFoYW11dCAoU2F2YWdlKSAtIFR1cm4gMicsXHJcbiAgICAgICdmcic6ICdMZXMgTcOpYW5kcmVzIGRlIEJhaGFtdXQgSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDInLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDM4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflt7Tlk4jlp4bnibnpm7blvI/lpKfov7flrqsg5YWl5L615LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdWZXJzY2hsdW5nZW5lIFNjaGF0dGVuIDIgLSAzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWNvbmQgQ29pbCBvZiBCYWhhbXV0IChTYXZhZ2UpIC0gVHVybiAzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNw6lhbmRyZXMgZGUgQmFoYW11dCBJSUkgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+Wkp+i/t+WuruODkOODj+ODoOODvOODiOmbtuW8j++8muS+teaUu+e3qDMnLFxyXG4gICAgICAna28nOiAn64yA66+46raBIOuwlO2VmOustO2KuDog7Lmo6rO17Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgMzgzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W3tOWTiOWnhueJuembtuW8j+Wkp+i/t+WuqyDlhaXkvrXkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ1ZlcnNjaGx1bmdlbmUgU2NoYXR0ZW4gMiAtIDQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlY29uZCBDb2lsIG9mIEJhaGFtdXQgKFNhdmFnZSkgLSBUdXJuIDQnLFxyXG4gICAgICAnZnInOiAnTGVzIE3DqWFuZHJlcyBkZSBCYWhhbXV0IElWIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICflpKfov7flrq7jg5Djg4/jg6Djg7zjg4jpm7blvI/vvJrkvrXmlLvnt6g0JyxcclxuICAgICAgJ2tvJzogJ+uMgOuvuOq2gSDrsJTtlZjrrLTtirg6IOy5qOqzte2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgIbovazopoHlrrPmspnmlq/loZTlpI/murbmtJ4nLFxyXG4gICAgICAnZGUnOiAnU2FzdGFzaGEgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU2FzdGFzaGEgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Nhc3Rhc2hhIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mAhuilsuimgeWusyDjgrXjgrnjgr/jgrfjg6Pmtbjpo5/mtJ4gKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+yCrOyKpO2DgOyDpCDsuajsi50g64+Z6rW0KOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya5aSq6Ziz5rW35bK4JyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTb25uZW5rw7xzdGUnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBDb3N0YSBkZWwgU29sJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogQ29zdGEgZGVsIFNvbCcsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjgrPjgrnjgr/jg7vjg4fjg6vjg7vjgr3jg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7L2U7Iqk7YOAIOuNuCDshpQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQ3MixcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDM5MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZmG6KGM6bif56ue6LWb77ya6I2S6YeO5aSn6YGTJyxcclxuICAgICAgJ2RlJzogJ0Nob2NvYm8tUmVubmVuOiBTYWdvbGlpLVN0cmHDn2UnLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBTYWdvbGlpIFJvYWQnLFxyXG4gICAgICAnZnInOiAnQ291cnNlIGRlIGNob2NvYm9zPEluZGVudC8+OiBSb3V0ZSBkZSBTYWdvbGlpJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muOCteOCtOODquODvOODreODvOODiScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDsgqzqs6jrpqwg7IKs66eJJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muaBrOmdmeWwj+i3rycsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogUGZhZCBkZXIgU2VlbGVucnVoZScsXHJcbiAgICAgICdlbic6ICdDaG9jb2JvIFJhY2U6IFRyYW5xdWlsIFBhdGhzJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZSBkZSBjaG9jb2JvczxJbmRlbnQvPjogU2VudGVzIHRyYW5xdWlsbGVzJyxcclxuICAgICAgJ2phJzogJ+ODgeODp+OCs+ODnOODrOODvOOCue+8muODiOODqeODs+OCreODq+ODkeOCuScsXHJcbiAgICAgICdrbyc6ICfstIjsvZTrs7Qg6rK97KO8OiDqs6DsmpTtlZwg7JW87JiB7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICAzOTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aWl5LiB5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0plbnNlaXRzIFVydGhzIFF1ZWxsZScsXHJcbiAgICAgICdlbic6ICdVcnRoXFwncyBGb3VudCcsXHJcbiAgICAgICdmcic6ICdMYSBGb250YWluZSBkXFwnVXJ0aCcsXHJcbiAgICAgICdqYSc6ICfpl5jnpZ7jgqrjg7zjg4fjgqPjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yis7IugIOyYpOuUmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDUsXHJcbiAgfSxcclxuICAzOTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg6ZmQ5Z+O55qE5q275paXJyxcclxuICAgICAgJ2RlJzogJ1JldmFuY2hlIGluIGRlbiBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnQmF0dGxlIGluIHRoZSBCaWcgS2VlcCcsXHJcbiAgICAgICdmcic6ICdSZXZhbmNoZSBhdSB2aWV1eCBjaMOidGVhdScsXHJcbiAgICAgICdqYSc6ICfnnJ/jgq7jg6vjgqzjg6Hjg4Pjgrfjg6XoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7KeEIOq4uOqwgOuplOyLnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICAzOTc6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflupPlsJTmnK3mlq/opb/pg6jpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnV2VzdGxpY2hlcyBIb2NobGFuZCB2b24gQ29lcnRoYXMnLFxyXG4gICAgICAnZW4nOiAnQ29lcnRoYXMgV2VzdGVybiBIaWdobGFuZHMnLFxyXG4gICAgICAnZnInOiAnSGF1dGVzIHRlcnJlcyBkdSBDb2VydGhhcyBvY2NpZGVudGFsJyxcclxuICAgICAgJ2phJzogJ+OCr+ODq+OCtuOCueilv+mDqOmrmOWcsCcsXHJcbiAgICAgICdrbyc6ICfsu6TrpbTri6TsiqQg7ISc67aA6rOg7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDksXHJcbiAgfSxcclxuICAzOTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpvpnloKHlj4LlpKnpq5jlnLAnLFxyXG4gICAgICAnZGUnOiAnRHJhdmFuaXNjaGVzIFZvcmxhbmQnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyYXZhbmlhbiBGb3JlbGFuZHMnLFxyXG4gICAgICAnZnInOiAnQXZhbnQtcGF5cyBkcmF2YW5pZW4nLFxyXG4gICAgICAnamEnOiAn6auY5Zyw44OJ44Op44O044Kh44OL44KiJyxcclxuICAgICAgJ2tvJzogJ+qzoOyngCDrk5zrnbzrsJTri4jslYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MCxcclxuICB9LFxyXG4gIDM5OToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m+meWgoeWGhemZhuS9juWcsCcsXHJcbiAgICAgICdkZSc6ICdEcmF2YW5pc2NoZXMgSGludGVybGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHJhdmFuaWFuIEhpbnRlcmxhbmRzJyxcclxuICAgICAgJ2ZyJzogJ0FycmnDqHJlLXBheXMgZHJhdmFuaWVuJyxcclxuICAgICAgJ2phJzogJ+S9juWcsOODieODqeODtOOCoeODi+OCoicsXHJcbiAgICAgICdrbyc6ICfsoIDsp4Ag65Oc652867CU64uI7JWEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTEsXHJcbiAgfSxcclxuICA0MDA6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnv7vkupHpm77mtbcnLFxyXG4gICAgICAnZGUnOiAnV2FsbGVuZGUgTmViZWwnLFxyXG4gICAgICAnZW4nOiAnVGhlIENodXJuaW5nIE1pc3RzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRlIERyYXZhbmlhJyxcclxuICAgICAgJ2phJzogJ+ODieODqeODtOOCoeODi+OCoumbsua1tycsXHJcbiAgICAgICdrbyc6ICfrk5zrnbzrsJTri4jslYQg6rWs66aE67CU64ukJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDk1LFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTIsXHJcbiAgfSxcclxuICA0MDE6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmL/lt7Tmi4nmj5DkuprkupHmtbcnLFxyXG4gICAgICAnZGUnOiAnQWJhbGF0aGlzY2hlcyBXb2xrZW5tZWVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWEgb2YgQ2xvdWRzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiWN1bWUgZGVzIGNpZXV4IGRcXCdBYmFsYXRoaWEnLFxyXG4gICAgICAnamEnOiAn44Ki44OQ44Op44K344Ki6Zuy5rW3JyxcclxuICAgICAgJ2tvJzogJ+yVhOuwnOudvOyLnOyVhCDqtazrpoTrsJTri6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1MyxcclxuICB9LFxyXG4gIDQwMjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOWkp+mZhumYv+a1juWFueaLiScsXHJcbiAgICAgICdkZSc6ICdBenlzIExsYScsXHJcbiAgICAgICdlbic6ICdBenlzIExsYScsXHJcbiAgICAgICdmcic6ICdBenlzIExsYScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjgrnjg7vjg6njg7wnLFxyXG4gICAgICAna28nOiAn7JWE7KeA7IqkIOudvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU0LFxyXG4gIH0sXHJcbiAgNDAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOW9kuadpScsXHJcbiAgICAgICdkZSc6ICdWZXJyYXQgZGVyIFFhbHlhbmEnLFxyXG4gICAgICAnZW4nOiAnUmV0dXJuIG9mIHRoZSBCdWxsJyxcclxuICAgICAgJ2ZyJzogJ1JldG91ciBhdSBiZXJjYWlsJyxcclxuICAgICAgJ2phJzogJ+iLsembhOOBruW4sOmChCcsXHJcbiAgICAgICdrbyc6ICfsmIHsm4XsnZgg6reA7ZmYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0yNTAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyOCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrabor4blrp3lupPov6blt7Tli5Llubvmg7Plm77kuabppoYnLFxyXG4gICAgICAnZGUnOiAnR3Jvw59lIEd1YmFsLUJpYmxpb3RoZWsnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdyZWF0IEd1YmFsIExpYnJhcnknLFxyXG4gICAgICAnZnInOiAnTGEgR3JhbmRlIGJpYmxpb3Row6hxdWUgZGUgR3ViYWwnLFxyXG4gICAgICAnamEnOiAn56aB5pu45Zue5Y+OIOOCsOODluODqeW5u+aDs+Wbs+abuOmkqCcsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZhuihjOm4n+ernui1m++8muernui1m+aVmeWtpicsXHJcbiAgICAgICdkZSc6ICdDaG9jb2JvLVJlbm5lbjogw5xidW5nc2JhaG4nLFxyXG4gICAgICAnZW4nOiAnQ2hvY29ibyBSYWNlOiBUdXRvcmlhbCcsXHJcbiAgICAgICdmcic6ICdDb3Vyc2UgZFxcJ2FwcGVudGlzc2FnZScsXHJcbiAgICAgICdqYSc6ICfjg4Hjg6fjgrPjg5zjg6zjg7zjgrnvvJrjg4Hjg6Xjg7zjg4jjg6rjgqLjg6snLFxyXG4gICAgICAna28nOiAn7LSI7L2U67O0IOqyveyjvDog7Yqc7Yag66as7Ja8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC02OTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0MTg6IHtcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrkv67liqDlvrfln7rnoYDlsYInLFxyXG4gICAgICAnZGUnOiAnRnVuZGFtZW50ZScsXHJcbiAgICAgICdlbic6ICdGb3VuZGF0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0lzaGdhcmQgLSBMXFwnQXNzaXNlJyxcclxuICAgICAgJ2phJzogJ+OCpOOCt+ODpeOCrOODq+ODie+8muS4i+WxpCcsXHJcbiAgICAgICdrbyc6ICfsnbTsiojqsIDrpbTrk5wg7ZWY7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ3LFxyXG4gIH0sXHJcbiAgNDE5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK5L+u5Yqg5b6356Cl5p+x5bGCJyxcclxuICAgICAgJ2RlJzogJ1N0cmViZXdlcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIFBpbGxhcnMnLFxyXG4gICAgICAnZnInOiAnSXNoZ2FyZCAtIExlcyBDb250cmVmb3J0cycsXHJcbiAgICAgICdqYSc6ICfjgqTjgrfjg6Xjgqzjg6vjg4nvvJrkuIrlsaQnLFxyXG4gICAgICAna28nOiAn7J207IqI6rCA66W065OcIOyDgey4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA0OCxcclxuICB9LFxyXG4gIDQyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrkuK3npZ7ln5/kuI3ojrflspsnLFxyXG4gICAgICAnZGUnOiAnTmltbWVycmVpY2gnLFxyXG4gICAgICAnZW4nOiAnTmV2ZXJyZWFwJyxcclxuICAgICAgJ2ZyJzogJ05hbGxvbmNxdWVzJyxcclxuICAgICAgJ2phJzogJ+elnuWfn+a1ruWztiDjg43jg5Djg7zjg6rjg7zjg5cnLFxyXG4gICAgICAna28nOiAn6rGw65GQ7KeAIOyViuuKlCDshKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnKPmlZnkuK3mnqLkvIrkv67liqDlvrfmlZnnmofljoUnLFxyXG4gICAgICAnZGUnOiAnRXJ6YmFzaWxpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFZhdWx0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFZvw7t0ZScsXHJcbiAgICAgICdqYSc6ICflvLfnoaznqoHlhaUg44Kk44K344Ol44Ks44Or44OJ5pWZ55qH5bqBJyxcclxuICAgICAgJ2tvJzogJ+ydtOyKiOqwgOultOuTnCDqtZDtmanssq0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQyNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgqPluIPph4zkuprli5Lmlq/orqjkvJDmiJgnLFxyXG4gICAgICAnZGUnOiAnQ2hyeXNhbGlzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDaHJ5c2FsaXMnLFxyXG4gICAgICAnZnInOiAnTGEgQ2hyeXNhbGlkZScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrfjgqjjg7Pjg7vjg4rjg5fjg6rjgqLjg6zjgrnoqI7kvJDmiKYnLFxyXG4gICAgICAna28nOiAn7JWE7JSo7JeUIOuCmOu4jOumrOyVjOugiOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrnianmiJjoiLDml6DpmZDlm57lu4onLFxyXG4gICAgICAnZGUnOiAnRGllIEZyYWt0YWwtS29udGludXVtJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmFjdGFsIENvbnRpbnV1bScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCcsXHJcbiAgICAgICdqYSc6ICfljZrnianmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgJyxcclxuICAgICAgJ2tvJzogJ+ustO2VnOyXsOyGjSDrsJXrrLztlagnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTIxMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQzMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsJjlsIHnp5jlsqkgKOS6ieWkuuaImCknLFxyXG4gICAgICAnZGUnOiAnUm9iYmVuaG9sbSAoRXJvYmVydW5nKScsXHJcbiAgICAgICdlbic6ICdTZWFsIFJvY2sgKFNlaXplKScsXHJcbiAgICAgICdmcic6ICdMZSBSb2NoZXIgZGVzIHRyw6lmb25kcyAoaW52YXNpb24pJyxcclxuICAgICAgJ2phJzogJ+OCt+ODvOODq+ODreODg+OCryAo5LqJ5aWq5oimKScsXHJcbiAgICAgICdrbyc6ICfrtInsnbjrkJwg67CU7JyE7ISsKOyfge2DiOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTksXHJcbiAgfSxcclxuICA0MzI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn572X5rOi6YKj5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gUmF2YW5hJyxcclxuICAgICAgJ2VuJzogJ1Rob2sgYXN0IFRob2sgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ1Rob2sgYXN0IFRob2sgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn55yf44Op44O844O044Kh44OK6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDrnbzrsJTrgpgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDU3LFxyXG4gIH0sXHJcbiAgNDM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WGsOmbquW6n+WgoeaaruWNq+WhlCcsXHJcbiAgICAgICdkZSc6ICdBYmVuZHJvdC1XYWNodCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVzayBWaWdpbCcsXHJcbiAgICAgICdmcic6ICdMZSBWaWdpbGUgZHUgQ3LDqXB1c2N1bGUnLFxyXG4gICAgICAnamEnOiAn5buD56Cm5o2c57SiIOODgOOCueOCr+ODtOOCo+OCuOODqycsXHJcbiAgICAgICdrbyc6ICfslrTsiqTrpoQg7JqU7IOIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQyLFxyXG4gIH0sXHJcbiAgNDM1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mCqum+meeOi+W6p+m+meW3ouelnuauvycsXHJcbiAgICAgICdkZSc6ICdOZXN0IGRlcyBEcmFjaGVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xcXCdBaXJlJyxcclxuICAgICAgJ2phJzogJ+mCquernOihgOaIpiDjg4njg6njgrTjg7PjgrrjgqjjgqLjg6rjg7wnLFxyXG4gICAgICAna28nOiAn7Jqp7J2YIOuRpeyngCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDU1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+ecn+ODk+OCueODnuODq+OCr+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsp4Qg67mE7Iqk66eI66W07YGsIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDQzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnIbmoYzpqpHlo6vmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnU2luZ3VsYXJpdMOkdHMtUmVha3RvcicsXHJcbiAgICAgICdlbic6ICdUaGUgU2luZ3VsYXJpdHkgUmVhY3RvcicsXHJcbiAgICAgICdmcic6ICdMZSBSw6lhY3RldXIgZGUgc2luZ3VsYXJpdMOpJyxcclxuICAgICAgJ2phJzogJ+ODiuOCpOODhOODu+OCquODluODu+ODqeOCpuODs+ODieiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6KGA5oiY6IuN56m56a2U56eR5a2m56CU56m25omAJyxcclxuICAgICAgJ2RlJzogJ8OEdGhlcm9jaGVtaXNjaGVzIEZvcjxTb2Z0SHlwaGVuLz5zY2h1bmdzPFNvZnRIeXBoZW4vPmxhYm9yJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBZXRoZXJvY2hlbWljYWwgUmVzZWFyY2ggRmFjaWxpdHknLFxyXG4gICAgICAnZnInOiAnTGUgTGFib3JhdG9pcmUgZGUgbWFnaXNtb2xvZ2llJyxcclxuICAgICAgJ2phJzogJ+iSvOWkqeiBluaIpiDprZTnp5HlrabnoJTnqbbmiYAnLFxyXG4gICAgICAna28nOiAn66eI6rO87ZWZIOyXsOq1rOyGjCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTgsXHJcbiAgICAnb2Zmc2V0WSc6IDE0OSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnlsbHnu53pobbntKLlp4bpmL/lsJTngbXls7AnLFxyXG4gICAgICAnZGUnOiAnU29obSBBbCcsXHJcbiAgICAgICdlbic6ICdTb2htIEFsJyxcclxuICAgICAgJ2ZyJzogJ1NvaG0gQWwnLFxyXG4gICAgICAnamEnOiAn6ZyK5bOw6LiP56C0IOOCveODvOODoOODu+OCouODqycsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4NSxcclxuICAgICdvZmZzZXRZJzogNTEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXInLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrotbfli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NDU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8mui1t+WLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog6riw64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvZfms6LpgqPmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBSYXZhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhvayBhc3QgVGhvayAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVGhvayBhc3QgVGhvayAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODqeODvOODtOOCoeODiuiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg652867CU64KYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NyxcclxuICB9LFxyXG4gIDQ0Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv77mlq/puqbmrbzmrpvmiJgnLFxyXG4gICAgICAnZGUnOiAnWmVuaXQgZGVyIEfDtnR0ZXIgLSBCaXNtYXJjaycsXHJcbiAgICAgICdlbic6ICdUaGUgTGltaXRsZXNzIEJsdWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdJbW1lbnNpdMOpIGJsZXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OT44K544Oe44Or44Kv6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDruYTsiqTrp4jrpbTtgawg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNDQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WchuahjOmqkeWjq+W5u+aDs+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdIZWxkZW5saWVkIHZvbiBUaG9yZGFucyBGYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBUaG9yZGFuXFwncyBSZWlnbicsXHJcbiAgICAgICdmcic6ICdMZSByw6hnbmUgZGUgVGhvcmRhbicsXHJcbiAgICAgICdqYSc6ICfokrzlpKnlubvmg7Mg44OK44Kk44OE44O744Kq44OW44O744Op44Km44Oz44OJ6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrgpjsnbTsuKAg7Jik67iMIOudvOyatOuTnCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTYsXHJcbiAgfSxcclxuICA0NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRmF1c3QgZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRmlzdCBvZiB0aGUgRmF0aGVyIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFBvaW5nIGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBWYXRlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5ZCv5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFZhdGVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBGYXRoZXIgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBQw6hyZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya6LW35YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDquLDrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA0NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWQr+WKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gTGFzdCBkZXMgVmF0ZXJzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBCdXJkZW4gb2YgdGhlIEZhdGhlciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBGYXJkZWF1IGR1IFDDqHJlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrotbfli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOq4sOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDQ3ODoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eUsOWbremDoScsXHJcbiAgICAgICdkZSc6ICdGcm9oZWhhbGRlJyxcclxuICAgICAgJ2VuJzogJ0lkeWxsc2hpcmUnLFxyXG4gICAgICAnZnInOiAnSWR5bGzDqWUnLFxyXG4gICAgICAnamEnOiAn44Kk44OH44Kj44Or44K344Oj44Kk44KiJyxcclxuICAgICAgJ2tvJzogJ+ydtOuUnOyDpOydtOyWtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA1NSxcclxuICB9LFxyXG4gIDUwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya5aSn6LWb5a+55oiY77yI5Lq65py65a+55oiY77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IFR1cm5pZXIgKGdlZ2VuIEFyZW5hbWVpc3RlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogTWFzdGVyIFRvdXJuYW1lbnQnLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgZGUgdG91cm5vaSBjb250cmUgbFxcJ29yZGluYXRldXInLFxyXG4gICAgICAnamEnOiAnTG9WTe+8muWkp+S8muWvvuaIpiAoQ1BV5a++5oimKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog64yA7ZqMIOuMgOqysCjsnbjqs7Ug7KeA64qlIOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZToiKroiLnomZrml6DmlrnoiJ8nLFxyXG4gICAgICAnZGUnOiAnRGllIE5pY2h0cy1BcmNoZScsXHJcbiAgICAgICdlbic6ICdUaGUgVm9pZCBBcmsnLFxyXG4gICAgICAnZnInOiAnTFxcJ0FyY2hlIGR1IG7DqWFudCcsXHJcbiAgICAgICdqYSc6ICfprZToiKroiLnjg7TjgqnjgqTjg4njgqLjg7zjgq8nLFxyXG4gICAgICAna28nOiAn67O07J2065Oc7J2YIOuwqeyjvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODksXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDM3LFxyXG4gIH0sXHJcbiAgNTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a0u+WKqOaMkeaImDEnLFxyXG4gICAgICAnZGUnOiAnRXZlbnQtSW5oYWx0IDMnLFxyXG4gICAgICAnZW4nOiAnU3BlY2lhbCBFdmVudCBJSUknLFxyXG4gICAgICAnZnInOiAnRMOpZmkgc3DDqWNpYWwgSUlJJyxcclxuICAgICAgJ2phJzogJ+OCpOODmeODs+ODiOeUqOOCs+ODs+ODhuODs+ODhO+8mjMnLFxyXG4gICAgICAna28nOiAn7J2067Kk7Yq47JqpIOyehOustDogMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDUxMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflnLDohInngbXnga/lpKnni7zmmJ/nga/loZQnLFxyXG4gICAgICAnZGUnOiAnUGhhcm9zIFNpcml1cyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdQaGFyb3MgU2lyaXVzIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBQaGFyZSBkZSBTaXJpdXMgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn5Yi25Zyn5beo5aGUIOOCt+ODquOCpuOCueWkp+eBr+WPsCAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7Iuc66as7Jqw7IqkIOuMgOuTseuMgCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTExOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iNieacqOW6reWbreWco+iMieWkj+WonOakjeeJqeWbrScsXHJcbiAgICAgICdkZSc6ICdTYW5rdCBNb2NpYW5uZS1BcmJvcmV0dW0nLFxyXG4gICAgICAnZW4nOiAnU2FpbnQgTW9jaWFubmVcXCdzIEFyYm9yZXR1bScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjluq3lnJIg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySJyxcclxuICAgICAgJ2tvJzogJ+yEsSDrqqjsg6gg7Iud66y87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDQwLFxyXG4gICAgJ29mZnNldFknOiA2LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTEyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvnmb3mmLzmjqLntKInLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAobGVpY2h0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIChFYXN5KScsXHJcbiAgICAgICdmcic6ICdMZSBEaWFkw6htZSAoZmFjaWxlKScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2IChFYXN5KScsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EKOyJrOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjAsXHJcbiAgfSxcclxuICA1MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+WknOaZmuaOoue0oicsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lIChicnV0YWwpJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKEhhcmQpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Qo7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MixcclxuICB9LFxyXG4gIDUxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmmJ/mtbfnqbrpl7TpoqDlgJLloZQnLFxyXG4gICAgICAnZGUnOiAnQW50aXR1cm0nLFxyXG4gICAgICAnZW4nOiAnVGhlIEFudGl0b3dlcicsXHJcbiAgICAgICdmcic6ICdMXFwnQW50aXRvdXInLFxyXG4gICAgICAnamEnOiAn5pif5rW36Kaz5risIOmAhuOBleOBruWhlCAnLFxyXG4gICAgICAna28nOiAn6rGw6r6466GcIOyEoCDtg5EnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUxNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokKjoj7LmtJvnibnmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBTZXBoaXJvdCcsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUzFUNycsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBTMVA3JyxcclxuICAgICAgJ2phJzogJ+mtlOelnuOCu+ODleOCo+ODreODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrp4jsi6Ag7IS47ZS866Gc7Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NixcclxuICB9LFxyXG4gIDUxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZ7lnKPpgZfov7nml6DpmZDln47luILooZflj6Tov7knLFxyXG4gICAgICAnZGUnOiAnSGlzdG9yaXNjaGVzIEFtZGFwb3IgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIExvc3QgQ2l0eSBvZiBBbWRhcG9yIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZXMgVmVzdGlnZXMgZGUgbGEgY2l0w6kgZFxcJ0FtZGFwb3IgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn56We6IGW6YG66LehIOWPpOOCouODoOODgOODl+ODvOODq+W4guihlyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn7JibIOyVlOuLpO2PrOultCDsi5zqsIDsp4Ao7Ja066Ck7JuAKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2NCxcclxuICAgICdvZmZzZXRZJzogMzE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2MyxcclxuICB9LFxyXG4gIDUyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBGYXVzdCBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBGaXN0IG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pbmcgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOW+i+WKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gRWxsZSBkZXMgU29obmVzJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBDdWZmIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgUG9pZ25ldCBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugMycsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBcm0gZGVzIFNvaG5lcycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQXJtIG9mIHRoZSBTb24nLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgQnJhcyBkdSBGaWxzJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTExMCxcclxuICAgICdvZmZzZXRZJzogLTE3MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5b6L5Yqo5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBMYXN0IGRlcyBTb2huZXMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEJ1cmRlbiBvZiB0aGUgU29uJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEZhcmRlYXUgZHUgRmlscycsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCo6I+y5rSb54m55q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gU2VwaGlyb3QnLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFMxVDcgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFMxUDcgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXprZTnpZ7jgrvjg5XjgqPjg63jg4joqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOuniOyLoCDshLjtlLzroZztirgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY2LFxyXG4gIH0sXHJcbiAgNTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDnu4PkuaDotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCDDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoNCBvbiA0IC0gVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2VuPFNvZnRIeXBoZW4vPnRyYcOuPFNvZnRIeXBoZW4vPm5lPFNvZnRIeXBoZW4vPm1lbnQpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDsnbzrsJjsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAoNOWvuTQgLyDmrrXkvY3otZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoNCBnZWdlbiA0LCBnZXdlcnRldCknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZlYXN0ICg0IG9uIDQgLSBSYW5rZWQpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoNHg0L2NsYXNzw6kpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAoNOWvvjQgLyDjg6njg7Pjgq/jg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKDQg64yAIDQgLyDrk7HquInsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY1LFxyXG4gIH0sXHJcbiAgNTI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEZhdXN0IGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEZpc3Qgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2luZyBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6gxJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5b6L5Yqo5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBFbGxlIGRlcyBTb2huZXMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEN1ZmYgb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBQb2lnbmV0IGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEFybSBkZXMgU29obmVzIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0FsZXhhbmRlciAtIFRoZSBBcm0gb2YgdGhlIFNvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZSBCcmFzIGR1IEZpbHMgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muW+i+WLlee3qDMnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7Jyo64+Z7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTEwLFxyXG4gICAgJ29mZnNldFknOiAtMTcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlvovliqjkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIExhc3QgZGVzIFNvaG5lcyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnVyZGVuIG9mIHRoZSBTb24gKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTGUgRmFyZGVhdSBkdSBGaWxzIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlvovli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOycqOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflm5vlm73ogZTlkIjlhpvmvJQnLFxyXG4gICAgICAnZGUnOiAnVHJ1cHBlbsO8YnVuZyBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnQSBTcGVjdGFjbGUgZm9yIHRoZSBBZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xhIGdyYW5kZSBtYW7Fk3V2cmUgw6lvcnrDqWVubmUnLFxyXG4gICAgICAnamEnOiAn5Zub5Zu95ZCI5ZCM5ryU57+SJyxcclxuICAgICAgJ2tvJzogJzTqsJzqta0g7ZWp64+ZIO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfourLpgb/ojIPlm7TmlLvlh7snLFxyXG4gICAgICAnZGUnOiAnRmzDpGNoZW5hbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBBcmVhIG9mIEVmZmVjdCBBdHRhY2tzJyxcclxuICAgICAgJ2ZyJzogJ8OJdml0ZXIgbGVzIGF0dGFxdWVzIMOgIGFpcmUgZFxcJ2VmZmV0JyxcclxuICAgICAgJ2phJzogJ+evhOWbsuaUu+aSg+OCkumBv+OBkeOCiOOBhu+8gScsXHJcbiAgICAgICdrbyc6ICfrspTsnIQg6rO16rKp7J2EIO2UvO2VmOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDUzODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6M5o+h5LuH5oGo6L+e5Ye7JyxcclxuICAgICAgJ2RlJzogJ01pdCBLb21ib3MgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBDb21ibyB0byBJbmNyZWFzZSBFbm1pdHknLFxyXG4gICAgICAnZnInOiAnR8OpbsOpcmVyIGRlIGxcXCdpbmltaXRpw6kgYXZlYyB1biBjb21ibycsXHJcbiAgICAgICdqYSc6ICfjgrPjg7Pjg5zjgafmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7L2k67O066W8IOydtOyWtCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTM5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLbmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnS29tYm9zIGltIEthbXBmIGVpbnNldHplbicsXHJcbiAgICAgICdlbic6ICdFeGVjdXRlIGEgQ29tYm8gaW4gQmF0dGxlJyxcclxuICAgICAgJ2ZyJzogJ0VmZmVjdHVlciBsZSBjb21ibyBlbiBjb21iYXQnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn44Kz44Oz44Oc44Gr5oyR5oim44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDsvaTrs7Trpbwg7IKs7Jqp7ZW067O07J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnRmVpbmRzZWxpZ2tlaXQgbWVocmVyZXIgR2VnbmVyIGF1ZiBzaWNoIHppZWhlbicsXHJcbiAgICAgICdlbic6ICdBY2NydWUgRW5taXR5IGZyb20gTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBdHRpcmVyIGxcXCdpbmltaXRpw6kgZGUgcGx1c2lldXJzIGVubmVtaXMgc3VyIHNvaScsXHJcbiAgICAgICdqYSc6ICfopIfmlbDjga7mlbXjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn64uk7IiY7J2YIOyggeyXkOqyjOyEnCDsoIHqsJzsi6zsnYQg64GM7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflrp7miJjmjqfliLblpJrkuKrmlYzkurrnmoTku4fmgagnLFxyXG4gICAgICAnZGUnOiAnR2VnZW4gbWVocmVyZSBHZWduZXIgYXVmIGVpbm1hbCBrw6RtcGZlbicsXHJcbiAgICAgICdlbic6ICdFbmdhZ2UgTXVsdGlwbGUgVGFyZ2V0cycsXHJcbiAgICAgICdmcic6ICdBZmZyb250ZXIgcGx1c2lldXJzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5a6f5oim44Gn6KSH5pWw44Gu5pW144Go5oim44Gj44Gm44G/44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yLpOyghOyXkOyEnCDri6TsiJjsnZgg7KCB6rO8IOyLuOybjOuztOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5o6n5Yi26L+c5aSE5pWM5Lq655qE5LuH5oGoJyxcclxuICAgICAgJ2RlJzogJ0F1cyBkZXIgRmVybmUgRmVpbmRzZWxpZ2tlaXQgYXVmIHNpY2ggemllaGVuJyxcclxuICAgICAgJ2VuJzogJ0V4ZWN1dGUgYSBSYW5nZWQgQXR0YWNrIHRvIEluY3JlYXNlIEVubWl0eScsXHJcbiAgICAgICdmcic6ICdHw6luw6lyZXIgZGUgbFxcJ2luaW1pdGnDqSDDoCBkaXN0YW5jZScsXHJcbiAgICAgICdqYSc6ICfpgaDot53pm6LjgYvjgonmlbXoppbjgpLpm4bjgoHjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn66mA66as7IScIOyggeqwnOyLrOydhCDrgYzsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eVmeW/g+WinuaPtOeahOaVjOS6uicsXHJcbiAgICAgICdkZSc6ICdGZWluZGxpY2hlIFZlcnN0w6Rya3VuZyBhdWZoYWx0ZW4nLFxyXG4gICAgICAnZW4nOiAnRW5nYWdlIEVuZW15IFJlaW5mb3JjZW1lbnRzJyxcclxuICAgICAgJ2ZyJzogJ0ZhaXJlIGZhY2Ugw6AgZGVzIHJlbmZvcnRzIGVubmVtaXMnLFxyXG4gICAgICAnamEnOiAn5pW144Gu5aKX5o+044Gr5a++5b+c44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+yggSDsp4Dsm5DqtbDsl5Ag64yA7LKY7ZWY7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfphY3lkIjpmLLmiqTogYzkuJrmiZPlgJLljZXkuKrmlYzkuronLFxyXG4gICAgICAnZGUnOiAnR2VnbmVyIGdlbWVpbnNhbSBiZXNpZWdlbicsXHJcbiAgICAgICdlbic6ICdBc3Npc3QgQWxsaWVzIGluIERlZmVhdGluZyBhIFRhcmdldCcsXHJcbiAgICAgICdmcic6ICdWYWluY3JlIHVuIGVubmVtaSBlbiBhc3Npc3RhbnQgZGVzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn5ZGz5pa544Go5Y2U5Yqb44GX44Gm5pW144KS5YCS44Gd44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+2MjO2LsOybkOqzvCDtmJHroKXtlZjsl6wg7KCB7J2EIOusvOumrOy5mOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YWN5ZCI6Ziy5oqk6IGM5Lia5omT5YCS5aSa5Liq5pWM5Lq6JyxcclxuICAgICAgJ2RlJzogJ0RlbiBHZWduZXIgZWluZXMgVmVyYsO8bmRldGVuIGJlc2llZ2VuJyxcclxuICAgICAgJ2VuJzogJ0RlZmVhdCBhbiBPY2N1cGllZCBUYXJnZXQnLFxyXG4gICAgICAnZnInOiAnVmFpbmNyZSB1biBlbm5lbWkgb2NjdXDDqSBwYXIgdW4gYWxsacOpJyxcclxuICAgICAgJ2phJzogJ+WRs+aWueOBjOW8leOBjeOBpOOBkeOBpuOBhOOCi+aVteOCkuWAkuOBneOBhu+8gScsXHJcbiAgICAgICdrbyc6ICftjIzti7Dsm5Dqs7wg6rCZ7J2AIOyggeydhCDqs7XqsqntlZjsnpAhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIwLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i6sumBv+iMg+WbtOaUu+WHu+eahOWQjOaXtui/m+ihjOaImOaWlycsXHJcbiAgICAgICdkZSc6ICdBbmdyaWZmZW4gYXVzd2VpY2hlbicsXHJcbiAgICAgICdlbic6ICdBdm9pZCBFbmdhZ2VkIFRhcmdldHMnLFxyXG4gICAgICAnZnInOiAnQ29tYmF0dHJlIGVuIMOpdml0YW50IGxlcyBhdHRhcXVlcyBlbm5lbWllcycsXHJcbiAgICAgICdqYSc6ICfmlbXjga7mlLvmkoPjgpLpgb/jgZHjgarjgYzjgonmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7KCB7J2YIOqzteqyqeydhCDtlLztlZjrqbTshJwg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfngbXmtLvov5DnlKjlnLrlnLDmnLrlhbMnLFxyXG4gICAgICAnZGUnOiAnTWl0IGRlbSBHZWzDpG5kZSBpbnRlcmFnaWVyZW4nLFxyXG4gICAgICAnZW4nOiAnSW50ZXJhY3Qgd2l0aCB0aGUgQmF0dGxlZmllbGQnLFxyXG4gICAgICAnZnInOiAnSW50ZXJhZ2lyIGF2ZWMgbGUgZMOpY29yIGVuIGNvbWJhdCcsXHJcbiAgICAgICdqYSc6ICfjgq7jg5/jg4Pjgq/jgpLmtLvnlKjjgZfjgabmiKbjgYrjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7Yq57IiYIOyepey5mOulvCDtmZzsmqntlZjrqbAg7Iu47Jqw7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTQ5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsrvnlpfpmLLmiqTogYzkuJonLFxyXG4gICAgICAnZGUnOiAnVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgYW4gQWxseScsXHJcbiAgICAgICdmcic6ICdTb2lnbmVyIHVuIGFsbGnDqScsXHJcbiAgICAgICdqYSc6ICflkbPmlrnjgpLlm57lvqnjgZfjgojjgYbvvIEnLFxyXG4gICAgICAna28nOiAn7YyM7Yuw7JuQ7J2EIO2ajOuzteyLnO2CpOyekCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjAsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rK755aX5bCP6Zif6Zif5ZGYJyxcclxuICAgICAgJ2RlJzogJ01laHJlcmUgVmVyYsO8bmRldGUgaGVpbGVuJyxcclxuICAgICAgJ2VuJzogJ0hlYWwgTXVsdGlwbGUgQWxsaWVzJyxcclxuICAgICAgJ2ZyJzogJ1NvaWduZXIgcGx1c2lldXJzIGFsbGnDqXMnLFxyXG4gICAgICAnamEnOiAn6KSH5pWw44Gu5ZGz5pa544KS5Zue5b6p44GX44KI44GG77yBJyxcclxuICAgICAgJ2tvJzogJ+uLpOyImOydmCDtjIzti7Dsm5DsnYQg7ZqM67O17Iuc7YKk7J6QIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTUyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMCxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jorq3nu4MnLFxyXG4gICAgICAnZGUnOiAnTGV0enRlIMOcYnVuZycsXHJcbiAgICAgICdlbic6ICdGaW5hbCBFeGVyY2lzZScsXHJcbiAgICAgICdmcic6ICdFeGVyY2ljZSBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfmnIDntYLoqJPnt7TvvIEnLFxyXG4gICAgICAna28nOiAn66eI7KeA66eJIO2biOugqCEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfojaPoqonph44gKOeijuWGsOaImCknLFxyXG4gICAgICAnZGUnOiAnRmVsZCBkZXIgRWhyZSAoWmVyc3BsaXR0ZXJ1bmcpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaWVsZHMgb2YgR2xvcnkgKFNoYXR0ZXIpJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDaGFtcHMgZGUgbGEgR2xvaXJlIChicmlzZS1nbGFjZSknLFxyXG4gICAgICAnamEnOiAn44OV44Kj44O844Or44OJ44O744Kq44OW44O744Kw44Ot44O844Oq44O8ICjnoJXmsLfmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yYgeq0keydmCDtj4nsm5Ao7IeE67mZ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NyxcclxuICB9LFxyXG4gIDU1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnpvpnlrqvmrr/lv4bnvarlrqsnLFxyXG4gICAgICAnZGUnOiAnU29ociBLaGFpJyxcclxuICAgICAgJ2VuJzogJ1NvaHIgS2hhaScsXHJcbiAgICAgICdmcic6ICdTb2hyIEtoYWknLFxyXG4gICAgICAnamEnOiAn5aSp56uc5a6u5q6/IOOCveODvOODq+ODu+OCq+OCpCcsXHJcbiAgICAgICdrbyc6ICfshozrpbQg7Lm07J20JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDM3MCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlv4zln47pgqbnjpvlk4gnLFxyXG4gICAgICAnZGUnOiAnRGllIFN0YWR0IGRlciBUcsOkbmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBXZWVwaW5nIENpdHkgb2YgTWhhY2gnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZMOpZmVuZHVlIGRlIE1oYWNoJyxcclxuICAgICAgJ2phJzogJ+emgeW/jOmDveW4guODnuODjycsXHJcbiAgICAgICdrbyc6ICfquIjquLDrj4Tsi5wg66eI7ZWYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC00MCxcclxuICAgICdvZmZzZXRZJzogLTQwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTU3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+m7kea2oeS8oOivtOegtOiIsOWymycsXHJcbiAgICAgICdkZSc6ICdTY2hpZmZicmVjaGVyLUluc2VsIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ0h1bGxicmVha2VyIElzbGUgKEhhcmQpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxlIGRlIENyw6h2ZWNhcsOobmUgKGJydXRhbCknLFxyXG4gICAgICAnamEnOiAn6buS5rim5Lyd6KqsIOODj+ODq+ODluODrOODvOOCq+ODvOODu+OCouOCpOODqyAoSGFyZCknLFxyXG4gICAgICAna28nOiAn64Kc7YyM7ISg7J2YIOyErCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY4LFxyXG4gIH0sXHJcbiAgNTU4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWfjuWuneeJqeW6kycsXHJcbiAgICAgICdkZSc6ICdBcXVhcG9saXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFxdWFwb2xpcycsXHJcbiAgICAgICdmcic6ICdMXFwnQXF1YXBvbGUnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCouOCr+OCouODneODquOCuScsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7JWE7L+g7JWE7Y+066as7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1NTk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bC85b636ZyN5qC85b6B6b6Z5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlciBsZXR6dGUgU2NoaWNrc2Fsc3dlZycsXHJcbiAgICAgICdlbic6ICdUaGUgRmluYWwgU3RlcHMgb2YgRmFpdGgnLFxyXG4gICAgICAnZnInOiAnTGEgRGVybmnDqHJlIGF2YW5jw6llIGRlIGxhIEZvaScsXHJcbiAgICAgICdqYSc6ICfjg4vjg7zjgrrjg5jjg4PjgrDlvoHnq5zmiKYnLFxyXG4gICAgICAna28nOiAn64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flj6Tmi4nCt+iMg8K35LyR6JGX5pav6L+95Ye75oiYJyxcclxuICAgICAgJ2RlJzogJ0JsdXRpZ2VzIFdpZWRlcjxTb2Z0SHlwaGVuLz5zZWhlbicsXHJcbiAgICAgICdlbic6ICdBIEJsb29keSBSZXVuaW9uJyxcclxuICAgICAgJ2ZyJzogJ0NvdXJzZS1wb3Vyc3VpdGUgZGFucyBsZSBsYWJvcmF0b2lyZScsXHJcbiAgICAgICdqYSc6ICfjg6zjgrDjg6njg7vjg7TjgqHjg7Pjg7vjg5Ljg6Xjg4njg6vjgrnov73mkoPmiKYnLFxyXG4gICAgICAna28nOiAn66CI6rW06528IOuwmCDtnojrk5zro6jsiqQg7LaU6rKp7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xOCxcclxuICAgICdvZmZzZXRZJzogMTQ5LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMe+9njEw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxLTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEtMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMe+9nkIxMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxfkIxMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTHvvZ4yMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTEtMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMS0yMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDExLTIwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEx772eQjIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExfkIyMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTYzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAyMS0zMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjIx772eQjMwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjIxfkIzMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMzHvvZ40MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMzEtNDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDMxLTQwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjMx772eQjQwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjMxfkI0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNDHvvZ41MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNDEtNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDQxLTUwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjQx772eQjUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjQxfkI1MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTY2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WwvOW+t+mcjeagvOS8oOWlh+W+gem+meaImCcsXHJcbiAgICAgICdkZSc6ICdEYXMgTGllZCB2b24gTmlkaG9nZ3MgbGV0enRlbSBSdWYnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IE5pZGhvZ2dcXCdzIFJhZ2UnLFxyXG4gICAgICAnZnInOiAnTFxcJ2lyZSBkZSBOaWRob2dnJyxcclxuICAgICAgJ2phJzogJ+alteODi+ODvOOCuuODmOODg+OCsOW+geernOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uI65Oc7Zi46re4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDU3MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqh54G15bqc6YK46Ze56ay85bqE5ZutJyxcclxuICAgICAgJ2RlJzogJ0RhcyBHZWlzdGVyc2NobG9zcycsXHJcbiAgICAgICdlbic6ICdUaGUgSGF1bnRlZCBNYW5vcicsXHJcbiAgICAgICdmcic6ICdMZSBNYW5vaXIgaGFudMOpJyxcclxuICAgICAgJ2phJzogJ+S6oemciuWxi+aVtyDjg5vjg7zjg7Pjg4bjg4Pjg4njg57jg4rjg7wnLFxyXG4gICAgICAna28nOiAn7Jyg66C57J2YIOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mZqeWzu+Wzoeiwt+WhnuWwlOazleeJueWwlOa6quiwtycsXHJcbiAgICAgICdkZSc6ICdYZWxwaGF0b2wnLFxyXG4gICAgICAnZW4nOiAnWGVscGhhdG9sJyxcclxuICAgICAgJ2ZyJzogJ1hlbHBoYXRvbCcsXHJcbiAgICAgICdqYSc6ICfls7vljrPmuJPosLcg44K844Or44OV44Kh44OI44OrJyxcclxuICAgICAgJ2tvJzogJ+ygpO2MjO2GqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTQ4LFxyXG4gICAgJ29mZnNldFknOiAzNSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDAsXHJcbiAgfSxcclxuICA1NzY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57Si6I+y5aiF5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU29waGlhJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBQMVQ2JyxcclxuICAgICAgJ2ZyJzogJ1VuaXTDqSBkZSBjb250ZW50aW9uIFAxUDYnLFxyXG4gICAgICAnamEnOiAn5aWz56We44K944OV44Kj44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+yXrOyLoCDshoztlLzslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDY5LFxyXG4gIH0sXHJcbiAgNTc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e0ouiPsuWoheatvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFNvcGhpYScsXHJcbiAgICAgICdlbic6ICdDb250YWlubWVudCBCYXkgUDFUNiAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gUDFQNiAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteWls+elnuOCveODleOCo+OCouiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7Jes7IugIOyGjO2UvOyVhCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNjksXHJcbiAgfSxcclxuICA1Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56eY5pys5a6d5bqT6L+m5be05YuS5bm75oOz5Zu+5Lmm6aaGJyxcclxuICAgICAgJ2RlJzogJ0dyb8OfZSBHdWJhbC1CaWJsaW90aGVrIChzY2h3ZXIpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBHdWJhbCBMaWJyYXJ5IChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMYSBHcmFuZGUgYmlibGlvdGjDqHF1ZSBkZSBHdWJhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfnqIDmm7jlm57lj44g44Kw44OW44Op5bm75oOz5Zuz5pu46aSoIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfqtazruIzrnbwg7ZmY7IOB64+E7ISc6rSAKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTE2LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuZ3lrqvlubvljaHvvJrlubvljaHlr7nlsYDlrqQnLFxyXG4gICAgICAnZGUnOiAnVHJpcGxlIFRyaWFkOiBXZWx0ZW5zYWxvbicsXHJcbiAgICAgICdlbic6ICdUaGUgVHJpcGxlIFRyaWFkIEJhdHRsZWhhbGwnLFxyXG4gICAgICAnZnInOiAnQXLDqG5lIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44O844OJ44OQ44OI44Or44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5tOuTnCDrjIDqsrDsnqUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfmnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvcicsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXInLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O877ya5aSp5YuV57eoMScsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycycsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDInLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTgyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1cicsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zvvJrlpKnli5Xnt6gzJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMnLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3InLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvO+8muWkqeWLlee3qDQnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuprljoblsbHlpKfpm7blvI/mnLrnpZ7ln44g5aSp5Yqo5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdBbGV4YW5kZXIgLSBBdWdlbiBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgRXllcyBvZiB0aGUgQ3JlYXRvciAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdBbGV4YW5kZXIgLSBMZXMgWWV1eCBkdSBDcsOpYXRldXIgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+apn+W3peWfjuOCouODrOOCreOCteODs+ODgOODvOmbtuW8j++8muWkqeWLlee3qDEnLFxyXG4gICAgICAna28nOiAn6riw6rO17ISxIOyVjOugieyCsOuNlDog7LKc64+Z7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3NSxcclxuICAgICdvZmZzZXRZJzogMTQsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDInLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gQXRlbSBkZXMgU2Now7ZwZmVycyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbGV4YW5kZXIgLSBUaGUgQnJlYXRoIG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIFNvdWZmbGUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6gyJyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTgwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTg2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6muWOhuWxseWkp+mbtuW8j+acuuelnuWfjiDlpKnliqjkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAtIEhlcnogZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIEhlYXJ0IG9mIHRoZSBDcmVhdG9yIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0FsZXhhbmRlciAtIExlIEPFk3VyIGR1IENyw6lhdGV1ciAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qmf5bel5Z+O44Ki44Os44Kt44K144Oz44OA44O86Zu25byP77ya5aSp5YuV57eoMycsXHJcbiAgICAgICdrbyc6ICfquLDqs7XshLEg7JWM66CJ7IKw642UOiDsspzrj5ntjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1ODc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn6Zu25byP5py656We5Z+OIOWkqeWKqOS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnQWxleGFuZGVyIC0gU2VlbGUgZGVzIFNjaMO2cGZlcnMgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnQWxleGFuZGVyIC0gVGhlIFNvdWwgb2YgdGhlIENyZWF0b3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxleGFuZGVyIC0gTFxcJ8OCbWUgZHUgQ3LDqWF0ZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmqZ/lt6Xln47jgqLjg6zjgq3jgrXjg7Pjg4Djg7zpm7blvI/vvJrlpKnli5Xnt6g0JyxcclxuICAgICAgJ2tvJzogJ+q4sOqzteyEsSDslYzroInsgrDrjZQ6IOyynOuPme2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU4OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKHVtIFJQKScsXHJcbiAgICAgICdlbic6ICdMb1ZNOiBQbGF5ZXIgQmF0dGxlIChSUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKGF2ZWMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44GC44KKKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7J6I7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfokIzlrqDkuYvnjovvvJrlpKfotZvlr7nmiJjvvIjnjqnlrrblr7nmiJjvvIknLFxyXG4gICAgICAnZGUnOiAnS2FtcGYgZGVyIFRyYWJhbnRlbjogVHVybmllciAoZ2VnZW4gU3BpZWxlciknLFxyXG4gICAgICAnZW4nOiAnTG9WTTogVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdCYXRhaWxsZSBkZSB0b3Vybm9pIGNvbnRyZSBkZXMgam91ZXVycycsXHJcbiAgICAgICdqYSc6ICdMb1ZN77ya5aSn5Lya5a++5oimICjjg5fjg6zjgqTjg6Tjg7zlr77miKbvvIknLFxyXG4gICAgICAna28nOiAn6rys66eIIOy5nOq1rCDqs7XrsKnsoIQ6IOuMgO2ajCDrjIDqsrAo7ZSM66CI7J207Ja0IOuMgOqysCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6JCM5a6g5LmL546L77ya546p5a625a+55oiY77yI5peg57up54K56LWb77yJJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGRlciBUcmFiYW50ZW46IEdlZ2VuIFNwaWVsZXIgKG9obmUgUlApJyxcclxuICAgICAgJ2VuJzogJ0xvVk06IFBsYXllciBCYXR0bGUgKE5vbi1SUCknLFxyXG4gICAgICAnZnInOiAnQmF0YWlsbGUgc2ltcGxlIGNvbnRyZSB1biBqb3VldXIgKHNhbnMgUFIpJyxcclxuICAgICAgJ2phJzogJ0xvVk3vvJrjg5fjg6zjgqTjg6Tjg7zlr77miKYgKFJQ5aSJ5YuV44Gq44GXKScsXHJcbiAgICAgICdrbyc6ICfqvKzrp4gg7Lmc6rWsIOqzteuwqeyghDog7ZSM66CI7J207Ja0IOuMgOqysChSUCDrs4Drj5kg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTkyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6oOe8oOS4jea4heeahOWuv+WRvScsXHJcbiAgICAgICdkZSc6ICdXZWx0ZW7DvGJlcmdyZWlmZW5kZXMgU2NoaWNrc2FsJyxcclxuICAgICAgJ2VuJzogJ09uZSBMaWZlIGZvciBPbmUgV29ybGQnLFxyXG4gICAgICAnZnInOiAnRGVzdGlucyBlbnRyZWNyb2lzw6lzJyxcclxuICAgICAgJ2phJzogJ+e1oeOBv+WQiOOBhuWuv+WRvScsXHJcbiAgICAgICdrbyc6ICfrkqTslr3tnojripQg7IiZ66qFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNTkzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLNTHvvZ42MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gNTEgLSA2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDUxLTYwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCNTHvvZ5CNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCNTF+QjYwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiA2MSAtIDcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA2MS03MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEI2Me+9nkI3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEI2MX5CNzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izcx772eODDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDcxIC0gODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA3MS04MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjcx772eQjgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjcxfkI4MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gODEgLSA5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgODEtOTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCODHvvZ5COTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCODF+QjkwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA1OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIs5Me+9njEwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gOTEgLSAxMDApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyA5MS0xMDApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCOTHvvZ5CMTAwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjkxfkIxMDAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDU5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEwMe+9njExMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTAxIC0gMTEwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTAxLTExMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEwMS0xMTApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTAx772eQjExMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMDF+QjExMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNTk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTEx772eMTIw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxMTEgLSAxMjApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxMTEtMTIwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTExLTEyMCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxMTHvvZ5CMTIwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjExMX5CMTIwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxMjHvvZ4xMzDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDEyMSAtIDEzMCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDEyMS0xMzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxMjEtMTMwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjEyMe+9nkIxMzAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTIxfkIxMzAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izEzMe+9njE0MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTMxIC0gMTQwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTMxLTE0MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDEzMS0xNDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTMx772eQjE0MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxMzF+QjE0MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTQx772eMTUw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNDEgLSAxNTApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNDEtMTUwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTQxLTE1MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNDHvvZ5CMTUwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE0MX5CMTUwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxNTHvvZ4xNjDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE1MSAtIDE2MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE1MS0xNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxNTEtMTYwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE1Me+9nkIxNjAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTUxfkIxNjAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE2Me+9njE3MOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTYxIC0gMTcwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTYxLTE3MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE2MS0xNzApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTYx772eQjE3MCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxNjF+QjE3MCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrbvogIXlrqvmrr8g5Zyw5LiLMTcx772eMTgw5bGCJyxcclxuICAgICAgJ2RlJzogJ1BhbGFzdCBkZXIgVG90ZW4gKEViZW5lbiAxNzEgLSAxODApJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQYWxhY2Ugb2YgdGhlIERlYWQgKEZsb29ycyAxNzEtMTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQYWxhaXMgZGVzIG1vcnRzIChzb3VzLXNvbHMgMTcxLTE4MCknLFxyXG4gICAgICAnamEnOiAn5q276ICF44Gu5a6u5q6/IEIxNzHvvZ5CMTgwJyxcclxuICAgICAgJ2tvJzogJ+unneyekOydmCDqtoHsoIQgQjE3MX5CMTgwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+atu+iAheWuq+auvyDlnLDkuIsxODHvvZ4xOTDlsYInLFxyXG4gICAgICAnZGUnOiAnUGFsYXN0IGRlciBUb3RlbiAoRWJlbmVuIDE4MSAtIDE5MCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFBhbGFjZSBvZiB0aGUgRGVhZCAoRmxvb3JzIDE4MS0xOTApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBhbGFpcyBkZXMgbW9ydHMgKHNvdXMtc29scyAxODEtMTkwKScsXHJcbiAgICAgICdqYSc6ICfmrbvogIXjga7lrq7mrr8gQjE4Me+9nkIxOTAnLFxyXG4gICAgICAna28nOiAn66ed7J6Q7J2YIOq2geyghCBCMTgxfkIxOTAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYwNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q276ICF5a6r5q6/IOWcsOS4izE5Me+9njIwMOWxgicsXHJcbiAgICAgICdkZSc6ICdQYWxhc3QgZGVyIFRvdGVuIChFYmVuZW4gMTkxIC0gMjAwKScsXHJcbiAgICAgICdlbic6ICdUaGUgUGFsYWNlIG9mIHRoZSBEZWFkIChGbG9vcnMgMTkxLTIwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGRlcyBtb3J0cyAoc291cy1zb2xzIDE5MS0yMDApJyxcclxuICAgICAgJ2phJzogJ+atu+iAheOBruWuruauvyBCMTkx772eQjIwMCcsXHJcbiAgICAgICdrbyc6ICfrp53snpDsnZgg6raB7KCEIEIxOTF+QjIwMCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjEyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z+65ouJ5be05bC85Lqa6L655Yy6JyxcclxuICAgICAgJ2RlJzogJ0FiYW5pc2NoZXMgR3JlbnpsYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGcmluZ2VzJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBNYXJnZXMnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki6L665aKD5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDrs4DrsKnsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzksXHJcbiAgfSxcclxuICA2MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonmtbcnLFxyXG4gICAgICAnZGUnOiAnUnViaW5zZWUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJ1YnkgU2VhJyxcclxuICAgICAgJ2ZyJzogJ01lciBkZSBSdWJpcycsXHJcbiAgICAgICdqYSc6ICfntIXnjonmtbcnLFxyXG4gICAgICAna28nOiAn7ZmN7Jil7ZW0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDgzLFxyXG4gIH0sXHJcbiAgNjE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bu25aSPJyxcclxuICAgICAgJ2RlJzogJ1lhbnhpYScsXHJcbiAgICAgICdlbic6ICdZYW54aWEnLFxyXG4gICAgICAnZnInOiAnWWFueGlhJyxcclxuICAgICAgJ2phJzogJ+ODpOODs+OCtScsXHJcbiAgICAgICdrbyc6ICfsloDsg6QnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA2MTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Z2a54mi6ZOB5aOB5be05Z+D6JCo6ZW/5Z+OJyxcclxuICAgICAgJ2RlJzogJ0JhZWxzYXItV2FsbCcsXHJcbiAgICAgICdlbic6ICdCYWVsc2FyXFwncyBXYWxsJyxcclxuICAgICAgJ2ZyJzogJ0xhIE11cmFpbGxlIGRlIEJhZWxzYXInLFxyXG4gICAgICAnamEnOiAn5beo5aSn6Ziy5aOBIOODkOOCqOOCteODq+OBrumVt+WfjicsXHJcbiAgICAgICdrbyc6ICfrsJTsnbzsgqzrpbQg7J6l7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE4MixcclxuICAgICdvZmZzZXRZJzogMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgNjE2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W6leWuq+auv+e0q+awtOWuqycsXHJcbiAgICAgICdkZSc6ICdTaGlzdWknLFxyXG4gICAgICAnZW4nOiAnU2hpc3VpIG9mIHRoZSBWaW9sZXQgVGlkZXMnLFxyXG4gICAgICAnZnInOiAnTGUgUGFsYWlzIGF1eCBNYXLDqWVzIHZpb2xldHRlcycsXHJcbiAgICAgICdqYSc6ICfmtbflupXlrq7mrr8g57Sr5rC05a6uJyxcclxuICAgICAgJ2tvJzogJ+yLnOyKpOydtCDqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5bGx5rex5aKD57Si5aeG6Zi/5bCU54G15bOwJyxcclxuICAgICAgJ2RlJzogJ1NvaG0gQWwgKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnU29obSBBbCAoSGFyZCknLFxyXG4gICAgICAnZnInOiAnU29obSBBbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfpnIrls7DmtYTljJYg44K944O844Og44O744Ki44OrIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshpwg7JWMKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTI4LFxyXG4gICAgJ29mZnNldFknOiAtMzIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDI4LFxyXG4gIH0sXHJcbiAgNjE5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo54u854ux5ryU5Lmg5Zy677ya6Ieq5a6a6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFdvbGZzaMO2aGxlOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIEZlYXN0aW5nIEdyb3VuZHMpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9GZXN0aW4gZGVzIGxvdXBzKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOOCpuODq+ODtOOCuuOCuOOCp+OCpOODq+a8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjripHrjIDsmrDrpqwg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2NSxcclxuICB9LFxyXG4gIDYyMDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6muWxseWMuicsXHJcbiAgICAgICdkZSc6ICdEaWUgWmlubmVuJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQZWFrcycsXHJcbiAgICAgICdmcic6ICdMZXMgUGljcycsXHJcbiAgICAgICdqYSc6ICfjgq7jg6njg5Djg4vjgqLlsbHlsrPlnLDluK8nLFxyXG4gICAgICAna28nOiAn6riw652867CU64uI7JWEIOyCsOyVheyngOuMgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MCxcclxuICB9LFxyXG4gIDYyMToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WfuuaLieW3tOWwvOS6mua5luWMuicsXHJcbiAgICAgICdkZSc6ICdEYXMgRmVubicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9jaHMnLFxyXG4gICAgICAnZnInOiAnTGVzIExhY3MnLFxyXG4gICAgICAnamEnOiAn44Ku44Op44OQ44OL44Ki5rmW55WU5Zyw5bivJyxcclxuICAgICAgJ2tvJzogJ+q4sOudvOuwlOuLiOyVhCDtmLjrsJjsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODEsXHJcbiAgfSxcclxuICA2MjI6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKrpmLPnpZ7ojYnljp8nLFxyXG4gICAgICAnZGUnOiAnQXppbS1TdGVwcGUnLFxyXG4gICAgICAnZW4nOiAnVGhlIEF6aW0gU3RlcHBlJyxcclxuICAgICAgJ2ZyJzogJ1N0ZXBwZSBkXFwnQXppbScsXHJcbiAgICAgICdqYSc6ICfjgqLjgrjjg6Djgrnjg4bjg4Pjg5cnLFxyXG4gICAgICAna28nOiAn7JWE7KeQIOuMgOy0iOybkCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDYyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfor5XngrzooYzot6/lt7TlhL/ovr7mnKjpnLjpgZMnLFxyXG4gICAgICAnZGUnOiAnQmFyZGFtcyBQcm9iZScsXHJcbiAgICAgICdlbic6ICdCYXJkYW1cXCdzIE1ldHRsZScsXHJcbiAgICAgICdmcic6ICdMYSBGb3JjZSBkZSBCYXJkYW0nLFxyXG4gICAgICAnamEnOiAn5Lyd57Wx6Kmm57e0IOODkOODq+ODgOODoOimh+mBkycsXHJcbiAgICAgICdrbyc6ICfrsJTrpbTri7Qg7Yyo64+EJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2MjQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIzLFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6keWGoOe+pOWym+eZveaYvOaOoue0ou+8iOeLqeeMjuS4k+eUqO+8iScsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gSmFnZGdyw7xuZGUgKGxlaWNodCknLFxyXG4gICAgICAnZW4nOiAnVGhlIERpYWRlbSBIdW50aW5nIEdyb3VuZHMgKEVhc3kpJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UgKGZhY2lsZSknLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumiAoRWFzeSknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisIO2VnOyglSjsiazsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYwLFxyXG4gIH0sXHJcbiAgNjI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMyxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkupHlhqDnvqTlspvpu4TmmI/mjqLntKLvvIjni6nnjI7kuJPnlKjvvIknLFxyXG4gICAgICAnZGUnOiAnRGFzIERpYWRlbSAtIEphZ2RncsO8bmRlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gSHVudGluZyBHcm91bmRzJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lPEluZGVudC8+OiB0ZXJyYWlucyBkZSBjaGFzc2UnLFxyXG4gICAgICAnamEnOiAn6Zuy5rW35o6i57SiIOODh+OCo+OCouODh+ODoOiruOWztu+8mueLqeeMn+mZkOWumicsXHJcbiAgICAgICdrbyc6ICfrlJTslYTrjoAg7KCc64+EOiDsoITtiKwg7ZWc7KCVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYxLFxyXG4gIH0sXHJcbiAgNjI2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8gua1gea1t+Wfn+WmluatjOa1tycsXHJcbiAgICAgICdkZSc6ICdTaXJlbmVuLVNlZScsXHJcbiAgICAgICdlbic6ICdUaGUgU2lyZW5zb25nIFNlYScsXHJcbiAgICAgICdmcic6ICdMYSBNZXIgZHUgQ2hhbnQgZGVzIHNpcsOobmVzJyxcclxuICAgICAgJ2phJzogJ+a8gua1gea1t+WfnyDjgrvjgqTjg6zjg7zjg7PmtbcnLFxyXG4gICAgICAna28nOiAn7IS47J2066CMIO2VtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNixcclxuICB9LFxyXG4gIDYyNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvbHkuYvlm70nLFxyXG4gICAgICAnZGUnOiAnRHVuIFNjYWl0aCcsXHJcbiAgICAgICdlbic6ICdEdW4gU2NhaXRoJyxcclxuICAgICAgJ2ZyJzogJ0R1biBTY2FpdGgnLFxyXG4gICAgICAnamEnOiAn5b2x44Gu5Zu944OA44Oz44O744K544Kr44O8JyxcclxuICAgICAgJ2tvJzogJ+uRlCDsiqTsubQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTM1MCxcclxuICAgICdvZmZzZXRZJzogLTQwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNTgsXHJcbiAgfSxcclxuICA2Mjg6IHtcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu4Tph5HmuK8nLFxyXG4gICAgICAnZGUnOiAnS3VnYW5lJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZScsXHJcbiAgICAgICdmcic6ICdLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn44Kv44Ks44ONJyxcclxuICAgICAgJ2tvJzogJ+y/oOqwgOuEpCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDYzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5oiY5LqJ56We54yO5Zy6JyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBIYWxvbmVzIFByw7xmdW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEaWFkZW0gLSBUcmlhbHMgb2YgdGhlIEZ1cnknLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgSGFsb25lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoue0oiDjg4fjgqPjgqLjg4fjg6Doq7jls7YgKOeLqeeMnyknLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhDog7KCE7YisJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDcxLFxyXG4gIH0sXHJcbiAgNjMzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WKoOWwlOaPkOivuuW5s+WOn+mBremBh+aImCcsXHJcbiAgICAgICdkZSc6ICdIZWxpb2Ryb20nLFxyXG4gICAgICAnZW4nOiAnVGhlIENhcnRlbmVhdSBGbGF0czogSGVsaW9kcm9tZScsXHJcbiAgICAgICdmcic6ICdSaXhlIMOgIGxcXCdIw6lsaW9kcm9tZScsXHJcbiAgICAgICdqYSc6ICfjgqvjg6vjg4bjg47jg7zlubPljp/pga3pgYfmiKYnLFxyXG4gICAgICAna28nOiAn7Lm066W07YWM64W4IO2PieybkCDsobDsmrDsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDYzNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+elnuaLs+eXlScsXHJcbiAgICAgICdkZSc6ICdSaGFsZ3JzIFdhY2h0JyxcclxuICAgICAgJ2VuJzogJ1JoYWxnclxcJ3MgUmVhY2gnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OJdGVuZHVlIGRlIFJoYWxncicsXHJcbiAgICAgICdqYSc6ICfjg6njg7zjg6vjgqzjg7zjgrrjg6rjg7zjg4EnLFxyXG4gICAgICAna28nOiAn656E6rGw7J2YIOyGkOq4uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3OCxcclxuICB9LFxyXG4gIDYzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAxLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpZblsJTlrpvmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBadXJ2YW4nLFxyXG4gICAgICAnZW4nOiAnQ29udGFpbm1lbnQgQmF5IFoxVDknLFxyXG4gICAgICAnZnInOiAnVW5pdMOpIGRlIGNvbnRlbnRpb24gWjFQOScsXHJcbiAgICAgICdqYSc6ICfprLznpZ7jgrrjg6vjg6/jg7zjg7PoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6reA7IugIOyjvOultOuwmCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzUsXHJcbiAgfSxcclxuICA2Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56WW5bCU5a6b5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ1plbml0IGRlciBHw7Z0dGVyIC0gWnVydmFuJyxcclxuICAgICAgJ2VuJzogJ0NvbnRhaW5tZW50IEJheSBaMVQ5IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdVbml0w6kgZGUgY29udGVudGlvbiBaMVA5IChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW16ay856We44K644Or44Ov44O844Oz6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDqt4Dsi6Ag7KO866W067CYIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3NSxcclxuICB9LFxyXG4gIDY0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOWcsOiho+Wuq+a8lOS5oOWcuu+8muiHquWumui1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0IChGbGVjaHRlbmhhaW46IFNjaGF1a2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoQ3VzdG9tIE1hdGNoIC0gTGljaGVud2VlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChwZXJzb25uYWxpc8OpL1Byw6ktZGUtbGljaGVuKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeOCpOOCseODs+OCpuOCo+ODvOODiea8lOe/kuWgtO+8muOCq+OCueOCv+ODoOODnuODg+ODge+8iScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjsnqHstIgg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MyxcclxuICB9LFxyXG4gIDY1Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjMsXHJcbiAgICAnZXhWZXJzaW9uJzogMSxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LqR5Yag576k5bKb5Liw6aW256We56aP5ZywJyxcclxuICAgICAgJ2RlJzogJ0RhcyBEaWFkZW0gLSBOb3BoaWNhcyBQcsO8ZnVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtIC0gVHJpYWxzIG9mIHRoZSBNYXRyb24nLFxyXG4gICAgICAnZnInOiAnTGUgRGlhZMOobWUgLSDDiXByZXV2ZXMgZGUgTm9waGljYScsXHJcbiAgICAgICdqYSc6ICfpm7LmtbfmjqLntKIg44OH44Kj44Ki44OH44Og6Ku45bO2ICjmjqHpm4YpJyxcclxuICAgICAgJ2tvJzogJ+uUlOyVhOuOgCDsoJzrj4Q6IOyxhOynkScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA3MSxcclxuICB9LFxyXG4gIDY2MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfop6PmlL7lhrPmiJjlpJrnjpvnjovln44nLFxyXG4gICAgICAnZGUnOiAnQnVyZyBEb21hJyxcclxuICAgICAgJ2VuJzogJ0RvbWEgQ2FzdGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENow6J0ZWF1IGRlIERvbWEnLFxyXG4gICAgICAnamEnOiAn6Kej5pS+5rG65oimIOODieODnuWfjicsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5beo54Ku6KaB5aGe5bid5Zu955m95bGx5aChJyxcclxuICAgICAgJ2RlJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gQWJhbmlhJyxcclxuICAgICAgJ2phJzogJ+W3qOegsuimgeWhniDjgqvjgrnjg4jjg6vjg6Djg7vjgqLjg5Djg4vjgqInLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOyVhOuwlOuLiOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA3MixcclxuICAgICdvZmZzZXRZJzogLTE4NixcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmgbblhZrlraTln47pu4Tph5HpmIEnLFxyXG4gICAgICAnZGUnOiAnU2NobG9zcyBLdWdhbmUnLFxyXG4gICAgICAnZW4nOiAnS3VnYW5lIENhc3RsZScsXHJcbiAgICAgICdmcic6ICdMZSBDaMOidGVhdSBkZSBLdWdhbmUnLFxyXG4gICAgICAnamEnOiAn5oKq5YWa5oiQ5pWXIOOCr+OCrOODjeWfjicsXHJcbiAgICAgICdrbyc6ICfsv6DqsIDrhKQg7ISxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDcwLFxyXG4gICAgJ29mZnNldFknOiAzMyxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkv67ooYzlj6TliLnmmJ/lr7zlr7onLFxyXG4gICAgICAnZGUnOiAnVGVtcGVsIGRlciBGYXVzdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVGVtcGxlIG9mIHRoZSBGaXN0JyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBkdSBQb2luZycsXHJcbiAgICAgICdqYSc6ICflo4rnpZ7kv67ooYwg5pif5bCO5bGx5a+66ZmiJyxcclxuICAgICAgJ2tvJzogJ+yEseuPhOyCsCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTQyNyxcclxuICAgICdvZmZzZXRZJzogLTMxNCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDY2NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpsbzpgZPnjrDouqvvvIEnLFxyXG4gICAgICAnZGUnOiAnRWluIHp3ZWlmZWxoYWZ0ZXMgQW5nZWJvdCcsXHJcbiAgICAgICdlbic6ICdJdFxcJ3MgUHJvYmFibHkgYSBUcmFwJyxcclxuICAgICAgJ2ZyJzogJ1VuIGRyw7RsZSBkZSBOYW1henUnLFxyXG4gICAgICAnamEnOiAn44Ku44On44OJ44Km54++44KL77yBJyxcclxuICAgICAgJ2tvJzogJ+q1kOuPhCDrk7HsnqUhJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6aG75L2Q5LmL55S35q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gU3VzYW5vJyxcclxuICAgICAgJ2VuJzogJ1RoZSBQb29sIG9mIFRyaWJ1dGUnLFxyXG4gICAgICAnZnInOiAnTGEgQ3JpcXVlIGF1eCB0cmlidXRzJyxcclxuICAgICAgJ2phJzogJ+OCueOCteODjuOCquiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsiqTsgqzrhbjsmKQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc3LFxyXG4gIH0sXHJcbiAgNjc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mhu+S9kOS5i+eUt+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFN1c2FubycsXHJcbiAgICAgICdlbic6ICdUaGUgUG9vbCBvZiBUcmlidXRlIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMYSBDcmlxdWUgYXV4IHRyaWJ1dHMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjgrnjgrXjg47jgqroqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyKpOyCrOuFuOyYpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNzcsXHJcbiAgfSxcclxuICA2Nzk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0vDtm5pZ2xpY2hlIE1lbmFnZXJpZScsXHJcbiAgICAgICdlbic6ICdUaGUgUm95YWwgTWVuYWdlcmllJyxcclxuICAgICAgJ2ZyJzogJ0xhIE3DqW5hZ2VyaWUgcm95YWxlJyxcclxuICAgICAgJ2phJzogJ+elnum+jeiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNjg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6jumHjOaYgueDreeahOenmOetlicsXHJcbiAgICAgICdkZSc6ICdXZWdlIHp1ciBUcmFuc3plbmRlbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIFJlc29uYW50JyxcclxuICAgICAgJ2ZyJzogJ0xhIHJ1c2UgZFxcJ1VyaWFuZ2VyJyxcclxuICAgICAgJ2phJzogJ+OCpuODquOCqOODs+OCuOOCp+OBruenmOetlicsXHJcbiAgICAgICdrbyc6ICfsnITrpqzslZnsoJzsnZgg67mE7LGFJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YKj6L6+5oWVJyxcclxuICAgICAgJ2RlJzogJ05hYWRhbScsXHJcbiAgICAgICdlbic6ICdOYWFkYW0nLFxyXG4gICAgICAnZnInOiAnTGEgZ3JhbmRlIGJhdGFpbGxlIGR1IE5hYWRhbScsXHJcbiAgICAgICdqYSc6ICfntYLnr4Djga7lkIjmiKYnLFxyXG4gICAgICAna28nOiAn6rOE7KCI64GdIO2VqeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNjg5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mPluaImOe6ouiOsumYv+aLieexs+agvCcsXHJcbiAgICAgICdkZSc6ICdBbGEgTWhpZ28nLFxyXG4gICAgICAnZW4nOiAnQWxhIE1oaWdvJyxcclxuICAgICAgJ2ZyJzogJ0FsYSBNaGlnbycsXHJcbiAgICAgICdqYSc6ICfntIXok67msbrmiKYg44Ki44Op44Of44K0JyxcclxuICAgICAgJ2tvJzogJ+yVjOudvOuvuOqzoCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyOTIsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA2OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pe256m654ut57yd5aSW57yYJyxcclxuICAgICAgJ2RlJzogJ0ludGVyZGltZW5zaW9uYWxlciBSaXNzJyxcclxuICAgICAgJ2VuJzogJ0ludGVyZGltZW5zaW9uYWwgUmlmdCcsXHJcbiAgICAgICdmcic6ICdGaXNzdXJlIGludGVyZGltZW5zaW9ubmVsbGUnLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT77ya5aSW57iBJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4g6IOyZuOqzvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjg4fjg6vjgr/nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDrjbjtg4DtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDY5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g5b635bCU5aGU5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdEZWx0YW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdGFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0RlbHRhc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44OH44Or44K/57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog64247YOA7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4OCxcclxuICB9LFxyXG4gIDcwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKfkvJrlvIDlp4snLFxyXG4gICAgICAnZGUnOiAnVGhhbCB6dSBFaHJlbicsXHJcbiAgICAgICdlbic6ICdJbiBUaGFsXFwncyBOYW1lJyxcclxuICAgICAgJ2ZyJzogJ0xlIHRvdXJub2kgY29tbcOpbW9yYXRpZiBkdSBzdWx0YW5hdCcsXHJcbiAgICAgICdqYSc6ICfjgqbjg6vnjovmna/pl5jmioDkvJrjga7lp4vjgb7jgoonLFxyXG4gICAgICAna28nOiAn7Jq464uk7ZWYIOyZleyLpOuwsCDtiKzquLDrjIDtmownLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOCxcclxuICB9LFxyXG4gIDcwNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkuLrkuobmm7TlvLonLFxyXG4gICAgICAnZGUnOiAnRGllIGhvaGUgS3Vuc3QgZGVzIFNjaHdlcnRrYW1wZnMnLFxyXG4gICAgICAnZW4nOiAnUmFpc2luZyB0aGUgU3dvcmQnLFxyXG4gICAgICAnZnInOiAnTGEgZmluYWxlIGRlcyBjaGFtcGlvbnMnLFxyXG4gICAgICAnamEnOiAn44GV44KJ44Gq44KL5Ymj6KGT44Gu6auY44G/44G4JyxcclxuICAgICAgJ2tvJzogJ+uNlCDrhpLsnYAg6rKA7Iig7J2YIOqyveyngOuhnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4LFxyXG4gIH0sXHJcbiAgNzA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aKl+S6ieS5i+WKmycsXHJcbiAgICAgICdkZSc6ICdEaWUgS3JhZnQgZGVzIFdpZGVyc3RhbmRzJyxcclxuICAgICAgJ2VuJzogJ1dpdGggSGVhcnQgYW5kIFN0ZWVsJyxcclxuICAgICAgJ2ZyJzogJ1RyYW5zbWlncmF0aW9uIGTDqW1vbmlhcXVlJyxcclxuICAgICAgJ2phJzogJ+aKl+OBhuWKmycsXHJcbiAgICAgICdrbyc6ICfrp57shJzripQg7Z6YJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5OCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzNyxcclxuICB9LFxyXG4gIDcwODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbfpg73ot6/kurrouqvpppblvIInLFxyXG4gICAgICAnZGUnOiAnTW9yZCBpc3Qgc2VpbiBIb2JieScsXHJcbiAgICAgICdlbic6ICdCbG9vZCBvbiB0aGUgRGVjaycsXHJcbiAgICAgICdmcic6ICdMYSBsw6lnZW5kZSBkZSBNdXNvc2FpPEluZGVudC8+OiBsXFwnYXNzYXNzaW4gZGUgTGltc2EgTG9taW5zYScsXHJcbiAgICAgICdqYSc6ICfmtbfpg73jgpLpnIfjgo/jgZnkurrmlqzjgorjga7lrrTvvIEnLFxyXG4gICAgICAna28nOiAn7ZW07JaR64+E7Iuc66W8IO2dlOuTnOuKlCDsgrTsnbjsnpDsnZgg7Jew7ZqMIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aegeaBtuS5i+S6uuacqOaerycsXHJcbiAgICAgICdkZSc6ICdEZXIgSW5iZWdyaWZmIGRlcyBCw7ZzZW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIEZhY2Ugb2YgVHJ1ZSBFdmlsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhYm9taW5hYmxlIEtvZ2FyYXNoaScsXHJcbiAgICAgICdqYSc6ICfmpbXmgqrkurrjgrPjgqzjg6njgrcnLFxyXG4gICAgICAna28nOiAn6re57JWF66y064+E7ZWcIOy9lOqwgOudvOyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA5NSxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ5LFxyXG4gIH0sXHJcbiAgNzEwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+advuWPtumXqOWkluS5i+WPmCcsXHJcbiAgICAgICdkZSc6ICdWb3JmYWxsIGF1ZiBkZW0gTWF0c3ViYS1QbGF0eicsXHJcbiAgICAgICdlbic6ICdNYXRzdWJhIE1heWhlbScsXHJcbiAgICAgICdmcic6ICdSw6hnbGVtZW50IGRlIGNvbXB0ZSBhdSBzcXVhcmUgTWF0c3ViYScsXHJcbiAgICAgICdqYSc6ICfmnb7okYnploDlpJbjga7lpIknLFxyXG4gICAgICAna28nOiAn66eI7Lig67CUIOyCrOuzgCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4MixcclxuICB9LFxyXG4gIDcxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhrPmiJjpvp/nlLLlspsnLFxyXG4gICAgICAnZGUnOiAnRW50PFNvZnRIeXBoZW4vPnNjaGVpPFNvZnRIeXBoZW4vPmR1bmdzPFNvZnRIeXBoZW4vPnNjaGxhY2h0IGF1ZiBCZWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgQmF0dGxlIG9uIEJla2tvJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhZjxTb2Z0SHlwaGVuLz5mcm9uPFNvZnRIeXBoZW4vPnRlPFNvZnRIeXBoZW4vPm1lbnQgZGUgZGV1eCBqdXN0aWNlcycsXHJcbiAgICAgICdqYSc6ICfjg5njg4PjgrPjgqbls7bjga7msbrpl5gnLFxyXG4gICAgICAna28nOiAn67Kg7L2U7JqwIOyErOydmCDqsrDtiKwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODMsXHJcbiAgfSxcclxuICA3MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqTJyxcclxuICAgICAgJ2RlJzogJ0thbsOkbGUgdm9uIFV6bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBDYW5hbHMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBDYW5hdXggcGVyZHVzIGRcXCdVem5haXInLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOOCpuOCuuODjeOCouOCq+ODiuODqycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag7Jqw7KaI64Sk7Ja0IOyatO2VmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzEzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a8hum7keeahOW3qOm+mScsXHJcbiAgICAgICdkZSc6ICdEZXIgdG9iZW5kZSBEcmFjaGUnLFxyXG4gICAgICAnZW4nOiAnRGFyayBhcyB0aGUgTmlnaHQgU2t5JyxcclxuICAgICAgJ2ZyJzogJ0F1c3NpIHNvbWJyZSBxdWUgbGEgbnVpdCcsXHJcbiAgICAgICdqYSc6ICfmvIbpu5Ljga7lt6jnq5wnLFxyXG4gICAgICAna28nOiAn7Lmg7Z2R7J2YIOqxsOujoScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLooYDkuYvpvpnpqpHlo6snLFxyXG4gICAgICAnZGUnOiAnRGVyIFJ1YmluLURyYWNoZW5yZWl0ZXInLFxyXG4gICAgICAnZW4nOiAnRHJhZ29uIFNvdW5kJyxcclxuICAgICAgJ2ZyJzogJ0xlIERyYWdvbiDDqWNhcmxhdGUnLFxyXG4gICAgICAnamEnOiAn57SF44Gu56uc6aiO5aOrJyxcclxuICAgICAgJ2tvJzogJ+u2ieydgCDsmqnquLDsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDcxNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgaXov5znmoTmhqfmhqwnLFxyXG4gICAgICAnZGUnOiAnUHJvYmUgZGVzIE1laXN0ZXJzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBPcnBoYW5zIGFuZCB0aGUgQnJva2VuIEJsYWRlJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdhc3BpcmF0aW9uIHJlZm91bMOpZScsXHJcbiAgICAgICdqYSc6ICfjgYLjgajkuInluqbjgIHpgaXjgYvjgarmhqfmhqwnLFxyXG4gICAgICAna28nOiAn7JWe7Jy866GcIOyEuCDrsogsIOyVhOuTne2VnCDrj5nqsr0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogOTUsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NixcclxuICB9LFxyXG4gIDcxNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflho3mrKHnm7jop4EnLFxyXG4gICAgICAnZGUnOiAnQXVzIGRlciBUaWVmZSBkZXMgSGVyemVucycsXHJcbiAgICAgICdlbic6ICdPdXIgQ29tcHJvbWlzZScsXHJcbiAgICAgICdmcic6ICdMYSBkZXJuacOocmUgc8OpcGFyYXRpb24nLFxyXG4gICAgICAnamEnOiAn44GC44Go5LiA5bqm44CB5ZCb44Gr5Lya44GI44Gf44KJJyxcclxuICAgICAgJ2tvJzogJ+yVnuycvOuhnCDtlZwg67KILCDrhIjsmYAg66eM64KgIOyImCDsnojri6TrqbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjgsXHJcbiAgfSxcclxuICA3MTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y6f5Yid55qE5oiY5aOrJyxcclxuICAgICAgJ2RlJzogJ0RpZSBVcmtyYWZ0IGluIGlocicsXHJcbiAgICAgICdlbic6ICdDdXJpb3VzIEdvcmdlIE1lZXRzIEhpcyBNYXRjaCcsXHJcbiAgICAgICdmcic6ICdMXFwnw6lwcmV1dmUgZGUgZm9yY2UnLFxyXG4gICAgICAnamEnOiAn5Y6f5Yid55qE44Gq5b285aWzJyxcclxuICAgICAgJ2tvJzogJ+ybkOy0iOyggSDqt7jrhYAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTc3LFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzE4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eHg+eDp+WQp+mrmOWQiScsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyaXNjaGUgTGVpZGVuc2NoYWZ0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBIZWFydCBvZiB0aGUgUHJvYmxlbScsXHJcbiAgICAgICdmcic6ICdQYXNzaW9uIGd1ZXJyacOocmUnLFxyXG4gICAgICAnamEnOiAn54eD44GI44KI44K044O844K477yBJyxcclxuICAgICAgJ2tvJzogJ+u2iO2DgOyYrOudvOudvCwg7IKw6rOo7Kec6riwIScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA4NSxcclxuICB9LFxyXG4gIDcxOToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflkInnpaXlpKnlpbPmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnR8O2dHRlcmTDpG1tZXJ1bmcgLSBMYWtzaG1pJyxcclxuICAgICAgJ2VuJzogJ0VtYW5hdGlvbicsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uJyxcclxuICAgICAgJ2phJzogJ+ODqeOCr+OCt+ODpeODn+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WQieelpeWkqeWls+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIExha3NobWknLFxyXG4gICAgICAnZW4nOiAnRW1hbmF0aW9uIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICfDiW1hbmF0aW9uIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Op44Kv44K344Ol44Of6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrnb3siojrr7gg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDg3LFxyXG4gIH0sXHJcbiAgNzIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+epv+i2iuaXtuepuueahOWkmeaEvycsXHJcbiAgICAgICdkZSc6ICdFaW4gV3Vuc2NoIGF1cyBhbHRlbiBaZWl0ZW4nLFxyXG4gICAgICAnZW4nOiAnT3VyIFVuc3VuZyBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnTFxcJ2VzcG9pciBlbiBow6lyaXRhZ2UnLFxyXG4gICAgICAnamEnOiAn5pmC44KS44GL44GR44KL6aGY44GEJyxcclxuICAgICAgJ2tvJzogJ+yLnOqwhOydhCDrm7DslrTrhJjsnYAg7Je87JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xNzUsXHJcbiAgICAnb2Zmc2V0WSc6IC0yOTcsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgNzIzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+W9semakOW/jeazlei0tCcsXHJcbiAgICAgICdkZSc6ICdBdXMgZGVtIFZlcmJvcmdlbmVuJyxcclxuICAgICAgJ2VuJzogJ1doZW4gQ2xhbnMgQ29sbGlkZScsXHJcbiAgICAgICdmcic6ICdMYSBiYXRhaWxsZSBkZXMgY2xhbnMnLFxyXG4gICAgICAnamEnOiAn5b2x6Zqg5b+N5rOV5biWJyxcclxuICAgICAgJ2tvJzogJ+q3uOumvOyekCDsnbjrspXssqknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODUsXHJcbiAgfSxcclxuICA3MjU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDksXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6L+Q5rKz5a6d54mp5bqT5rex5bGCJyxcclxuICAgICAgJ2RlJzogJ1Zlcmdlc3NlbmUgS2Fuw6RsZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIaWRkZW4gQ2FuYWxzIG9mIFV6bmFpcicsXHJcbiAgICAgICdmcic6ICdMZXMgQ2FuYXV4IGNhY2jDqXMgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or5rex5bGkJyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOyLrOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzI5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i3nemqqOeglOeptuaJgCAo5py65Yqo5oiYKScsXHJcbiAgICAgICdkZSc6ICdBc3RyYWdhbG9zJyxcclxuICAgICAgJ2VuJzogJ0FzdHJhZ2Fsb3MnLFxyXG4gICAgICAnZnInOiAnQXN0cmFnYWxvcyAobWFjaGluZXJpZSknLFxyXG4gICAgICAnamEnOiAn44Ki44K544OI44Op44Ks44Ot44K5ICjmqZ/lt6XmiKYpJyxcclxuICAgICAgJ2tvJzogJ+yVhOyKpO2KuOudvOqwiOuhnOyKpCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3MzA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We6b6Z5qKm5bm75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0hlbGRlbmxpZWQgdm9uIFNoaW5yeXUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IFNoaW5yeXVcXCdzIERvbWFpbicsXHJcbiAgICAgICdmcic6ICdMZSBkb21haW5lIGRlIFNoaW5yeXUnLFxyXG4gICAgICAnamEnOiAn5qW156We6b6N6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsi6Dro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDc2LFxyXG4gIH0sXHJcbiAgNzMxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ayieayoeelnuauv+aWr+WNoeaLiemBl+i/uScsXHJcbiAgICAgICdkZSc6ICdEaWUgdmVyc3Vua2VuZSBTdGFkdCBTa2FsbGEnLFxyXG4gICAgICAnZW4nOiAnVGhlIERyb3duZWQgQ2l0eSBvZiBTa2FsbGEnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgZW5nbG91dGllIGRlIFNrYWxsYScsXHJcbiAgICAgICdqYSc6ICfmsLTmsqHpgbrmp4sg44K544Kr44OpJyxcclxuICAgICAgJ2tvJzogJ+yKpOy5vOudvCDsnKDsoIEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTg1LFxyXG4gICAgJ29mZnNldFknOiA1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5bi46aOO5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBBbmVtb3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgQW5lbW9zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgQW5lbW9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjgqLjg43jg6Ljgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IOyVhOuEpOuqqOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MSxcclxuICB9LFxyXG4gIDczMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5be05ZOI5aeG54m557ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0VuZGxvc2UgU2NoYXR0ZW4gdm9uIEJhaGFtdXQgKGZhdGFsKScsXHJcbiAgICAgICdlbic6ICdUaGUgVW5lbmRpbmcgQ29pbCBvZiBCYWhhbXV0IChVbHRpbWF0ZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ0Fiw65tZSBpbmZpbmkgZGUgQmFoYW11dCAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuODkOODj+ODoOODvOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg67CU7ZWY66y07Yq4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkseiQveS5i+mDveaLieW3tOe6s+aWr+WhlCcsXHJcbiAgICAgICdkZSc6ICdSYWJhbmFzdHJlJyxcclxuICAgICAgJ2VuJzogJ1RoZSBSb3lhbCBDaXR5IG9mIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnZnInOiAnTGEgQ2l0w6kgcm95YWxlIGRlIFJhYmFuYXN0cmUnLFxyXG4gICAgICAnamEnOiAn5aSx44KP44KM44Gf6YO9IOODqeODkOODiuOCueOCvycsXHJcbiAgICAgICdrbyc6ICfsmZXrj4Qg652867CU64KY7Iqk7YSwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDMwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjIsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Imv57yY5Luq5byPJyxcclxuICAgICAgJ2RlJzogJ1ZhbGVudGlvbnplcmVtb25pZScsXHJcbiAgICAgICdlbic6ICdUaGUgVmFsZW50aW9uZVxcJ3MgQ2VyZW1vbnknLFxyXG4gICAgICAnZnInOiAnTGEgQ8OpcsOpbW9uaWUgZGUgbGEgVmFsZW50aW9uJyxcclxuICAgICAgJ2phJzogJ+ODtOOCoeODrOODs+ODhuOCo+OCquODs+OCu+ODrOODouODi+ODvCcsXHJcbiAgICAgICdrbyc6ICfrsJzroIzti7DsmKgg7JiI7Iud7J6lJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDEyNSxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuqLnjonngavlsbHni7HkuYvnm5YnLFxyXG4gICAgICAnZGUnOiAnSMO2bGxlbnNwdW5kJyxcclxuICAgICAgJ2VuJzogJ0hlbGxzXFwnIExpZCcsXHJcbiAgICAgICdmcic6ICdMZSBDb3V2ZXJjbGUgZGVzIGVuZmVycycsXHJcbiAgICAgICdqYSc6ICfntIXnjonngavlsbEg542E5LmL6JOLJyxcclxuICAgICAgJ2tvJzogJ+yngOyYpeuanOq7kScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eWr+eLguaImOiIsOaXoOmZkOWbnuW7iicsXHJcbiAgICAgICdkZSc6ICdEaWUgRnJha3RhbC1Lb250aW51dW0gKHNjaHdlciknLFxyXG4gICAgICAnZW4nOiAnVGhlIEZyYWN0YWwgQ29udGludXVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMZSBDb250aW51dW0gZnJhY3RhbCAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfmmrTotbDmiKboiaYg44OV44Op44Kv44K/44Or44O744Kz44Oz44OG44Kj44OL44Ki44OgIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfrrLTtlZzsl7Dsho0g67CV66y87ZWoKOyWtOugpOybgCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMzUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzQ1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5oiY6Zif5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKFRlYW0sIGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFRlYW0gUmFua2VkKScsXHJcbiAgICAgICdmcic6ICdUaGUgRmVhc3QgKGNsYXNzw6kvw6lxdWlwZSBKY0opJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44OB44O844Og55So44Op44Oz44Kv44Oe44OD44OBKScsXHJcbiAgICAgICdrbyc6ICfrjZQg7ZS87Iqk7Yq4ICjtjIAg65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7plYfprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVudGFueiAtIEJ5YWtrbycsXHJcbiAgICAgICdlbic6ICdUaGUgSmFkZSBTdG9hJyxcclxuICAgICAgJ2ZyJzogJ0xhIENsYWlyacOocmUgZGUgSmFkZScsXHJcbiAgICAgICdqYSc6ICfnmb3omY7lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn67Cx7Zi4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MyxcclxuICB9LFxyXG4gIDc0ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAnLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCcsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6HjgqzvvJrjgrfjgrDjg57nt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDsi5zqt7jrp4jtjrggNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMScsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAxLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMS4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjEuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMScsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMicsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAyLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMi4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjIuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMicsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDMycsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSAzLjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWMy4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjMuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoMycsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmrKfnsbPojITpm7blvI/ml7bnqbrni63nvJ0g6KW/5qC8546b5bm75aKDNCcsXHJcbiAgICAgICdkZSc6ICdTaWdtYW1ldHJpZSA0LjAgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnU2lnbWFzY2FwZSBWNC4wIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ1NpZ21hc3RpY2UgdjQuMCAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5qyh5YWD44Gu54ut6ZaT44Kq44Oh44Ks6Zu25byP77ya44K344Kw44Oe57eoNCcsXHJcbiAgICAgICdrbyc6ICfssKjsm5DsnZgg7YuIIOyYpOuplOqwgDog7Iuc6re466eI7Y64KOyYgeybhSkgNCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MixcclxuICB9LFxyXG4gIDc1ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnmb3omY7or5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBCeWFra28nLFxyXG4gICAgICAnZW4nOiAnVGhlIEphZGUgU3RvYSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ2xhaXJpw6hyZSBkZSBKYWRlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW155m96JmO5b6B6a2C5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrsLHtmLgg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkzLFxyXG4gIH0sXHJcbiAgNzU5OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSa546b6aOe5ZywJyxcclxuICAgICAgJ2RlJzogJ0RvbWFuaXNjaGUgRW5rbGF2ZScsXHJcbiAgICAgICdlbic6ICdUaGUgRG9tYW4gRW5jbGF2ZScsXHJcbiAgICAgICdmcic6ICdRdWFydGllciBlbmNsYXbDqSBkZSBEb21hJyxcclxuICAgICAgJ2phJzogJ+ODieODnueUuuS6uuWcsCcsXHJcbiAgICAgICdrbyc6ICfrj4Trp4gg64+E7J2N7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIzLFxyXG4gICAgJ29mZnNldFknOiAzNCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogODQsXHJcbiAgfSxcclxuICA3NjE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54Gr6b6Z54up54yO5oiYJyxcclxuICAgICAgJ2RlJzogJ0phZ2QgYXVmIFJhdGhhbG9zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBIdW50JyxcclxuICAgICAgJ2ZyJzogJ0NoYXNzZSBhdSBSYXRoYWxvcycsXHJcbiAgICAgICdqYSc6ICfjg6rjgqrjg6zjgqbjgrnni6nnjJ/miKYnLFxyXG4gICAgICAna28nOiAn66as7Jik66CI7Jqw7IqkIOyImOugteyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzYyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBq+m+meS4iuS9jeeLqeeMjuaImCcsXHJcbiAgICAgICdkZSc6ICdKYWdkIGF1ZiBSYXRoYWxvcyAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JlYXQgSHVudCAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2hhc3NlIGF1IFJhdGhhbG9zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Oq44Kq44Os44Km44K554up54yf5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrpqzsmKTroIjsmrDsiqQg7IiY66C17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NjM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDmgZLlhrDkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGb3JiaWRkZW4gTGFuZCwgRXVyZWthIFBhZ29zJyxcclxuICAgICAgJ2ZyJzogJ0V1csOqa2EgUGFnb3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkeOCtOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7YyM6rOg7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk0LFxyXG4gIH0sXHJcbiAgNzY1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e+pOeLvOebm+WutCAo5q615L2N6LWbKScsXHJcbiAgICAgICdkZSc6ICdUaGUgRmVhc3QgKGdld2VydGV0KScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKFJhbmtlZCknLFxyXG4gICAgICAnZnInOiAnVGhlIEZlYXN0IChjbGFzc8OpKScsXHJcbiAgICAgICdqYSc6ICfjgrbjg7vjg5XjgqPjg7zjgrnjg4ggKOODqeODs+OCr+ODnuODg+ODgSknLFxyXG4gICAgICAna28nOiAn642UIO2UvOyKpO2KuCAo65Ox6riJ7KCEKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvqTni7znm5vlrrQgKOe7g+S5oOi1myknLFxyXG4gICAgICAnZGUnOiAnVGhlIEZlYXN0ICjDnGJ1bmdza2FtcGYpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGZWFzdCAoVHJhaW5pbmcpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAoZW48U29mdEh5cGhlbi8+dHJhw648U29mdEh5cGhlbi8+bmU8U29mdEh5cGhlbi8+bWVudCknLFxyXG4gICAgICAnamEnOiAn44K244O744OV44Kj44O844K544OIICjjgqvjgrjjg6XjgqLjg6vjg57jg4Pjg4EpJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKOydvOuwmOyghCknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTAsXHJcbiAgfSxcclxuICA3Njc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn576k54u855ub5a60ICjmsLTmmbbloZTmvJTkuaDlnLrvvJroh6rlrprotZspJyxcclxuICAgICAgJ2RlJzogJ1RoZSBGZWFzdCAoS3Jpc3RhbGx0dXJtLUFyZW5hOiBTY2hhdWthbXBmKScsXHJcbiAgICAgICdlbic6ICdUaGUgRmVhc3QgKEN1c3RvbSBNYXRjaCAtIENyeXN0YWwgVG93ZXIpJyxcclxuICAgICAgJ2ZyJzogJ1RoZSBGZWFzdCAocGVyc29ubmFsaXPDqS9Ub3VyIGRlIENyaXN0YWwpJyxcclxuICAgICAgJ2phJzogJ+OCtuODu+ODleOCo+ODvOOCueODiCAo44Kv44Oq44K544K/44Or44K/44Ov44O85ryU57+S5aC077ya44Kr44K544K/44Og44Oe44OD44OB77yJJyxcclxuICAgICAgJ2tvJzogJ+uNlCDtlLzsiqTtirggKO2BrOumrOyKpO2DiCDtg4Dsm4wg7ZuI66Co7J6lOiDsuZzshKAg6rK96riwKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5MCxcclxuICB9LFxyXG4gIDc2ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47msLTngbXlupnlsqnnh5XlupknLFxyXG4gICAgICAnZGUnOiAnS29tcGFzcyBkZXIgU2Nod2FsYmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIFN3YWxsb3dcXCdzIENvbXBhc3MnLFxyXG4gICAgICAnZnInOiAnTGUgQ29tcGFzIGRlIGxcXCdIaXJvbmRlbGxlJyxcclxuICAgICAgJ2phJzogJ+miqOawtOmciuauvyDjgqzjg7Pjgqjjg7Plu58nLFxyXG4gICAgICAna28nOiAn6rCV7JeUIOyiheusmCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyNDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3Njk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouC5pmT55qE5bCR5bm0JyxcclxuICAgICAgJ2RlJzogJ0RlciBLbmFiZSBkZXIgTW9yZ2VucsO2dGUnLFxyXG4gICAgICAnZW4nOiAnRW1pc3Nhcnkgb2YgdGhlIERhd24nLFxyXG4gICAgICAnZnInOiAnVm95YWdlIGVuIHRlcnJlIGhvc3RpbGUnLFxyXG4gICAgICAnamEnOiAn44CM5pqB44CN44Gu5bCR5bm0JyxcclxuICAgICAgJ2tvJzogJ1xcJ+yDiOuyvVxcJ+ydmCDshozrhYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDHvvZ4xMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMS0xMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMS0xMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAxLTEwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMe+9njEw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxfjEw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSAxMe+9njIw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiAxMS0yMCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgMTEtMjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgMTEtMjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSAxMe+9njIw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSAxMX4yMOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzcyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgMjHvvZ4zMOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gMjEtMzApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDIxLTMwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDIxLTMwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgMjHvvZ4zMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgMjF+MzDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDQx772eNTDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDQxLTUwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyA0MS01MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA0MS01MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDQx772eNTDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDQxfjUw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA2Me+9njcw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA2MS03MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNjEtNzApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNjEtNzApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA2Me+9njcw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA2MX43MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgODHvvZ45MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gODEtOTApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDgxLTkwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDgxLTkwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgODHvvZ45MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgODF+OTDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc3Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflsIHpl63lnKPloZTpu47pk47mi4nnurPlpKfnga/loZQnLFxyXG4gICAgICAnZGUnOiAnUmljaHRmZXVlciB2b24gUmlkb3JhbmEnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJpZG9yYW5hIExpZ2h0aG91c2UnLFxyXG4gICAgICAnZnInOiAnTGUgUGhhcmUgZGUgUmlkb3JhbmEnLFxyXG4gICAgICAnamEnOiAn5bCB44GY44KJ44KM44Gf6IGW5aGUIOODquODieODq+OCouODiicsXHJcbiAgICAgICdrbyc6ICfrjIDrk7HrjIAg66as64+E66W07JWE64KYJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwMixcclxuICAgICdvZmZzZXRZJzogLTkyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbbmnoHnpZ7lhbXnu53looPmiJgnLFxyXG4gICAgICAnZGUnOiAnSGVsZGVubGllZCB2b24gVWx0aW1hIChmYXRhbCknLFxyXG4gICAgICAnZW4nOiAnVGhlIFdlYXBvblxcJ3MgUmVmcmFpbiAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIEZhbnRhc21hZ29yaWUgZFxcJ1VsdGltYSAoZmF0YWwpJyxcclxuICAgICAgJ2phJzogJ+e1tuOCouODq+ODhuODnuOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfsoIgg7JWM7YWM66eIIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjYsXHJcbiAgfSxcclxuICA3Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyI6K+75q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0fDtnR0ZXJkw6RtbWVydW5nIC0gVHN1a3V5b21pJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gRmx1bWluaXMnLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBGbHVtaW5pcycsXHJcbiAgICAgICdqYSc6ICfjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Lig7L+g7JqU66+4IO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aciOivu+W5veWknOatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdaZW5pdCBkZXIgR8O2dHRlciAtIFRzdWt1eW9taScsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogVHN1a3V5b21pXFwncyBQYWluJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gRmx1bWluaXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXjg4Tjgq/jg6jjg5/oqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOy4oOy/oOyalOuvuCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDMx772eNDDlsYInLFxyXG4gICAgICAnZGUnOiAnSGltbWVsc3PDpHVsZSAoRWJlbmVuIDMxLTQwKScsXHJcbiAgICAgICdlbic6ICdIZWF2ZW4tb24tSGlnaCAgKEZsb29ycyAzMS00MCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyAzMS00MCknLFxyXG4gICAgICAnamEnOiAn44Ki44Oh44OO44Of44OP44K344OpIDMx772eNDDlsaQnLFxyXG4gICAgICAna28nOiAn7LKc6raB7YORIDMxfjQw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIxLFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS5i+W+oeafsSA1Me+9njYw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA1MS02MCknLFxyXG4gICAgICAnZW4nOiAnSGVhdmVuLW9uLUhpZ2ggIChGbG9vcnMgNTEtNjApJyxcclxuICAgICAgJ2ZyJzogJ0xlIFBpbGllciBkZXMgQ2lldXggKMOpdGFnZXMgNTEtNjApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA1Me+9njYw5bGkJyxcclxuICAgICAgJ2tvJzogJ+yynOq2ge2DkSA1MX42MOy4tScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyMSxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpKnkuYvlvqHmn7EgNzHvvZ44MOWxgicsXHJcbiAgICAgICdkZSc6ICdIaW1tZWxzc8OkdWxlIChFYmVuZW4gNzEtODApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDcxLTgwKScsXHJcbiAgICAgICdmcic6ICdMZSBQaWxpZXIgZGVzIENpZXV4ICjDqXRhZ2VzIDcxLTgwKScsXHJcbiAgICAgICdqYSc6ICfjgqLjg6Hjg47jg5/jg4/jgrfjg6kgNzHvvZ44MOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgNzF+ODDsuLUnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDc4NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjEsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5aSp5LmL5b6h5p+xIDkx772eMTAw5bGCJyxcclxuICAgICAgJ2RlJzogJ0hpbW1lbHNzw6R1bGUgKEViZW5lbiA5MS0xMDApJyxcclxuICAgICAgJ2VuJzogJ0hlYXZlbi1vbi1IaWdoICAoRmxvb3JzIDkxLTEwMCknLFxyXG4gICAgICAnZnInOiAnTGUgUGlsaWVyIGRlcyBDaWV1eCAow6l0YWdlcyA5MS0xMDApJyxcclxuICAgICAgJ2phJzogJ+OCouODoeODjuODn+ODj+OCt+ODqSA5Me+9njEwMOWxpCcsXHJcbiAgICAgICdrbyc6ICfsspzqtoHtg5EgOTF+MTAw7Li1JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5rGh5p+T5bqt5Zut5Zyj6IyJ5aSP5aic5qSN54mp5ZutJyxcclxuICAgICAgJ2RlJzogJ1Nhbmt0IE1vY2lhbm5lLUFyYm9yZXR1bSAoc2Nod2VyKScsXHJcbiAgICAgICdlbic6ICdTYWludCBNb2NpYW5uZVxcJ3MgQXJib3JldHVtIChIYXJkKScsXHJcbiAgICAgICdmcic6ICdMXFwnQXJib3JldHVtIFNhaW50ZS1Nb2NpYW5uZSAoYnJ1dGFsKScsXHJcbiAgICAgICdqYSc6ICfojYnmnKjmsZrmn5Mg6IGW44Oi44K344Oj44O844OM5qSN54mp5ZySIChIYXJkKScsXHJcbiAgICAgICdrbyc6ICfshLEg66qo7IOoIOyLneusvOybkCjslrTroKTsm4ApJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3ODk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275Lqh5aSn5Zyw57uI5pyr54Sm5ZyfJyxcclxuICAgICAgJ2RlJzogJ0RhcyBLYXJnbGFuZCcsXHJcbiAgICAgICdlbic6ICdUaGUgQnVybicsXHJcbiAgICAgICdmcic6ICdMXFwnRXNjYXJyZScsXHJcbiAgICAgICdqYSc6ICfmsLjkuYXnhKblnJ8g44K244O744OQ44O844OzJyxcclxuICAgICAgJ2tvJzogJ+yYgeq1rCDstIjthqDsp4DrjIAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTcsXHJcbiAgfSxcclxuICA3OTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+eBvuWOhOmHjeeOsOWGm+S6i+a8lOS5oCcsXHJcbiAgICAgICdkZSc6ICdHZWRlbmtzY2hsYWNodCBkZXIgRW9yesOkaXNjaGVuIEFsbGlhbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENhbGFtaXR5IFJldG9sZCcsXHJcbiAgICAgICdmcic6ICdMZXMgZ3JhbmRlcyBtYW7Fk3V2cmVzIGNvbW3DqW1vcmF0aXZlcycsXHJcbiAgICAgICdqYSc6ICfmlrDnlJ/npa3ou43kuovmvJTnv5InLFxyXG4gICAgICAna28nOiAn7Iug7IOd7KCcIOq1sOyCrO2biOugqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NSxcclxuICB9LFxyXG4gIDc5MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNixcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpmpDloZ4gKOacuuWKqOaImCknLFxyXG4gICAgICAnZGUnOiAnVmVyYm9yZ2VuZSBTY2hsdWNodCcsXHJcbiAgICAgICdlbic6ICdIaWRkZW4gR29yZ2UnLFxyXG4gICAgICAnZnInOiAnR29yZ2UgZMOpcm9iw6llIChtYWNoaW5lcmllKScsXHJcbiAgICAgICdqYSc6ICfjg5Ljg4njgqXjg7PjgrTjg7zjgrggKOapn+W3peaIpiknLFxyXG4gICAgICAna28nOiAn7Iio6rKo7KeEIOuztOujqCjquLDqs7XsoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iZmuaZr+i3s+i3s+S5kOWkp+aMkeaImCcsXHJcbiAgICAgICdkZSc6ICdLYWt0b3ItS2xldHRlcndhbmQnLFxyXG4gICAgICAnZW4nOiAnTGVhcCBvZiBGYWl0aCcsXHJcbiAgICAgICdmcic6ICdIYXV0ZSB2b2x0aWdlJyxcclxuICAgICAgJ2phJzogJ+aMkeaIpu+8gSDjgrjjg6Pjg7Pjg5Tjg7PjgrDjgqLjgrnjg6zjg4Hjg4Pjgq8nLFxyXG4gICAgICAna28nOiAn65uw7Ja06528ISDsoJDtlZEg7Jq064+Z7ZqMJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Zu95aKD6Ziy57q/5Z+65aeG5Yip54m55pqX5Yy6JyxcclxuICAgICAgJ2RlJzogJ0RpZSBHaGltbHl0LUZpbnN0ZXJuaXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIEdoaW1seXQgRGFyaycsXHJcbiAgICAgICdmcic6ICdMZXMgVMOpbsOoYnJlcyBkZSBHaGltbHl0JyxcclxuICAgICAgJ2phJzogJ+Wig+eVjOaIpue3miDjgq7jg6Djg6rjg4jjg4Djg7zjgq8nLFxyXG4gICAgICAna28nOiAn6rmA66as7Yq4IO2ZqeyVvCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+i/kOays+WuneeJqeW6k+elnuauvycsXHJcbiAgICAgICdkZSc6ICdHbMO8Y2tzYWx0w6RyZSB2b24gVXpuYWlyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBBbHRhcnMgb2YgVXpuYWlyJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRlbXBsZSBzYWNyw6kgZFxcJ1V6bmFpcicsXHJcbiAgICAgICdqYSc6ICflrp3nianluqsg44Km44K644ON44Ki44Kr44OK44Or56Wt5q6/JyxcclxuICAgICAgJ2tvJzogJ+uztOusvOqzoCDsmrDspojrhKTslrQg7Jq07ZWYIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyNixcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnpoHlnLDkvJjpm7fljaEg5raM54Gr5LmL5ZywJyxcclxuICAgICAgJ2RlJzogJ0V1cmVrYSBQeXJvcycsXHJcbiAgICAgICdlbic6ICdUaGUgRm9yYmlkZGVuIExhbmQsIEV1cmVrYSBQeXJvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIFB5cm9zJyxcclxuICAgICAgJ2phJzogJ+emgeaWreOBruWcsCDjgqjjgqbjg6zjgqvvvJrjg5Tjg6Xjg7zjg63jgrnnt6gnLFxyXG4gICAgICAna28nOiAn6riI64uo7J2YIOuVhSDsl5DsmrDroIjsubQ6IO2UvOuhnOyKpO2OuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5NixcclxuICB9LFxyXG4gIDc5Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjcsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye66YGT5oiYJyxcclxuICAgICAgJ2RlJzogJ0RlYsO8dCBpbiBkZXIgSGltbWxpc2NoZW4gQXJlbmEnLFxyXG4gICAgICAnZW4nOiAnQWxsXFwncyBXZWxsIFRoYXQgU3RhcnRzIFdlbGwnLFxyXG4gICAgICAnZnInOiAnRMOpYnV0IGR1IHNwZWN0YWNsZScsXHJcbiAgICAgICdqYSc6ICfjg4fjg5Pjg6Xjg7zjg57jg4Pjg4EnLFxyXG4gICAgICAna28nOiAn642w67eU7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA3OTc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5qWU55+z5rSeJyxcclxuICAgICAgJ2RlJzogJ0RlciBXaWxsZSBkZXIgTW9uZGfDtnR0aW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIFdpbGwgb2YgdGhlIE1vb24nLFxyXG4gICAgICAnZnInOiAnUmFsbGllbWVudCBkYW5zIGxhIHN0ZXBwZScsXHJcbiAgICAgICdqYSc6ICfmpZTnn7Pjga7omZonLFxyXG4gICAgICAna28nOiAn7JCQ6riw64+MIOuPmeq1tCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgNzk4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDEnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgNzk5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDInLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDMnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOaXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCcsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAnLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wJyxcclxuICAgICAgJ2phJzogJ+asoeWFg+OBrueLremWk+OCquODoeOCrO+8muOCouODq+ODleOCoee3qDQnLFxyXG4gICAgICAna28nOiAn7LCo7JuQ7J2YIO2LiCDsmKTrqZTqsIA6IOyVjO2MjO2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMxJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDEuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYxLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2MS4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gxJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODAzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMyJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDIuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYyLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2Mi4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gyJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooMzJyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDMuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFYzLjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2My4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6gzJyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSAzJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+asp+exs+iMhOmbtuW8j+aXtuepuueLree8nSDpmL/lsJTms5XlubvlooM0JyxcclxuICAgICAgJ2RlJzogJ0FscGhhbWV0cmllIDQuMCAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdBbHBoYXNjYXBlIFY0LjAgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnQWxwaGFzdGljZSB2NC4wIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfmrKHlhYPjga7ni63plpPjgqrjg6Hjgqzpm7blvI/vvJrjgqLjg6vjg5XjgqHnt6g0JyxcclxuICAgICAgJ2tvJzogJ+ywqOybkOydmCDti4gg7Jik66mU6rCAOiDslYztjIztjrgo7JiB7JuFKSA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDkyLFxyXG4gIH0sXHJcbiAgODA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S/nemVluatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdEdWVsbCBhdWYgZGVyIEt1Z2FuZS1CcsO8Y2tlJyxcclxuICAgICAgJ2VuJzogJ0t1Z2FuZSBPaGFzaGknLFxyXG4gICAgICAnZnInOiAnTGUgUG9udCBPaGFzaGknLFxyXG4gICAgICAnamEnOiAn55yf44Oo44Km44K444Oz44Oc44Km6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ynhCDsmpTsmrDsp4Trs7Qg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyx6ZuA6ZWH6a2C5oiYJyxcclxuICAgICAgJ2RlJzogJ1NlZWxlbnRhbnogLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llcicsXHJcbiAgICAgICdmcic6ICdMZSBOaWQgZGVzIExhbWVudGF0aW9ucycsXHJcbiAgICAgICdqYSc6ICfmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn7KO87J6RIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA5OCxcclxuICB9LFxyXG4gIDgxMToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAyLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLHpm4Dor5fprYLmiJgnLFxyXG4gICAgICAnZGUnOiAnU2VlbGVuc3R1cm0gLSBTdXpha3UnLFxyXG4gICAgICAnZW4nOiAnSGVsbHNcXCcgS2llciAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgTmlkIGRlcyBMYW1lbnRhdGlvbnMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXmnLHpm4DlvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyjvOyekSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTgsXHJcbiAgfSxcclxuICA4MTM6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpm7flhYvlhbDlvrcnLFxyXG4gICAgICAnZGUnOiAnU2VlbmxhbmQnLFxyXG4gICAgICAnZW4nOiAnTGFrZWxhbmQnLFxyXG4gICAgICAnZnInOiAnR3JhbmQtTGFjJyxcclxuICAgICAgJ2phJzogJ+ODrOOCpOOCr+ODqeODs+ODiScsXHJcbiAgICAgICdrbyc6ICfroIjsnbTtgazrnpzrk5wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA2LFxyXG4gIH0sXHJcbiAgODE0OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn54+C6Zyy6KW/5Lqa5bKbJyxcclxuICAgICAgJ2RlJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2VuJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2ZyJzogJ0tob2x1c2lhJyxcclxuICAgICAgJ2phJzogJ+OCs+ODq+OCt+OCouWzticsXHJcbiAgICAgICdrbyc6ICfsvZzro6jsi5zslYQg7ISsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNyxcclxuICB9LFxyXG4gIDgxNToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WuieephsK36Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ0FtaCBBcmFlbmcnLFxyXG4gICAgICAnZW4nOiAnQW1oIEFyYWVuZycsXHJcbiAgICAgICdmcic6ICdBbWggQXJhZW5nJyxcclxuICAgICAgJ2phJzogJ+OCouODoOODu+OCouODrOODvOODsycsXHJcbiAgICAgICdrbyc6ICfslYTrr4Ag7JWE656tJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwOCxcclxuICB9LFxyXG4gIDgxNjoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iuWwlOe+juagvCcsXHJcbiAgICAgICdkZSc6ICdJbCBNaGVnJyxcclxuICAgICAgJ2VuJzogJ0lsIE1oZWcnLFxyXG4gICAgICAnZnInOiAnSWwgTWhlZycsXHJcbiAgICAgICdqYSc6ICfjgqTjg6vjg7vjg6HjgrAnLFxyXG4gICAgICAna28nOiAn7J28IOuplOq3uCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDksXHJcbiAgfSxcclxuICA4MTc6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmi4nlh6/mj5DljaHlpKfmo67mnpcnLFxyXG4gICAgICAnZGUnOiAnRGVyIEdyb8OfZSBXYWxkIFJha1xcJ3Rpa2EnLFxyXG4gICAgICAnZW4nOiAnVGhlIFJha1xcJ3Rpa2EgR3JlYXR3b29kJyxcclxuICAgICAgJ2ZyJzogJ1Jha1xcJ3Rpa2EnLFxyXG4gICAgICAnamEnOiAn44Op44Kx44OG44Kj44Kr5aSn5qOu5p6XJyxcclxuICAgICAgJ2tvJzogJ+udvOy8gO2LsOy5tCDrjIDsgrzrprwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEwLFxyXG4gIH0sXHJcbiAgODE4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buR6aOO5rW3JyxcclxuICAgICAgJ2RlJzogJ1RlbXBlc3QnLFxyXG4gICAgICAnZW4nOiAnVGhlIFRlbXBlc3QnLFxyXG4gICAgICAnZnInOiAnTGEgVGVtcMOqdGUnLFxyXG4gICAgICAnamEnOiAn44OG44Oz44Oa44K544OIJyxcclxuICAgICAgJ2tvJzogJ+2FnO2OmOyKpO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTEsXHJcbiAgfSxcclxuICA4MTk6IHtcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmsLTmmbbpg70nLFxyXG4gICAgICAnZGUnOiAnQ3J5c3Rhcml1bScsXHJcbiAgICAgICdlbic6ICdUaGUgQ3J5c3Rhcml1bScsXHJcbiAgICAgICdmcic6ICdDcmlzdGFyaXVtJyxcclxuICAgICAgJ2phJzogJ+OCr+ODquOCueOCv+ODquOCpuODoCcsXHJcbiAgICAgICdrbyc6ICftgazrpqzsiqTtg4Drpqzsm4AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEyLFxyXG4gIH0sXHJcbiAgODIwOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ri45pyr6YKmJyxcclxuICAgICAgJ2RlJzogJ0V1bG1vcmUnLFxyXG4gICAgICAnZW4nOiAnRXVsbW9yZScsXHJcbiAgICAgICdmcic6ICdFdWxtb3JlJyxcclxuICAgICAgJ2phJzogJ+ODpuODvOODq+ODouOCoicsXHJcbiAgICAgICdrbyc6ICfsnKjrqqjslrQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTEzLFxyXG4gIH0sXHJcbiAgODIxOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+awtOWmluW5u+WbreWkmuaBqee+juagvOemgeWbrScsXHJcbiAgICAgICdkZSc6ICdEb2huIE1oZWcnLFxyXG4gICAgICAnZW4nOiAnRG9obiBNaGVnJyxcclxuICAgICAgJ2ZyJzogJ0RvaG4gTWhlZycsXHJcbiAgICAgICdqYSc6ICfmsLTlppblubvlnJIg44OJ44Kp44O844OM44O744Oh44KwJyxcclxuICAgICAgJ2tvJzogJ+uPhOuKkCDrqZTqt7gnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMjAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8qumAoOWkqeeVjOagvOmygeagvOeBq+WxsScsXHJcbiAgICAgICdkZSc6ICdEZXIgR3VsZycsXHJcbiAgICAgICdlbic6ICdNdC4gR3VsZycsXHJcbiAgICAgICdmcic6ICdNb250IEd1bGcnLFxyXG4gICAgICAnamEnOiAn5YG96YCg5aSp55WMIOOCsOODq+OCsOeBq+WxsScsXHJcbiAgICAgICdrbyc6ICfqtbTqt7gg7ZmU7IKwJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xODgsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMixcclxuICB9LFxyXG4gIDgyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmlofmmI7lj6Tov7nlpYflnabpgqPnpZ7lvbHmtJ4nLFxyXG4gICAgICAnZGUnOiAnSXJydW5nZW4gZGVyIFFpdGFyaScsXHJcbiAgICAgICdlbic6ICdUaGUgUWl0YW5hIFJhdmVsJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdFbmNoZXbDqnRyZW1lbnQgZGVzIFFpdGFyaScsXHJcbiAgICAgICdqYSc6ICflj6Tot6HmjqLntKIg44Kt44K/44Oz44OK56We5b2x5rSeJyxcclxuICAgICAgJ2tvJzogJ+2CpO2DgOuCmCDsi6DqtbQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTI3NCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAyLFxyXG4gIH0sXHJcbiAgODI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+memVh+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW50YW56IC0gU2Vpcnl1JyxcclxuICAgICAgJ2VuJzogJ1RoZSBXcmVhdGggb2YgU25ha2VzJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDjmxvdCBkZXMgQW1lcnR1bWVzJyxcclxuICAgICAgJ2phJzogJ+mdkum+jeW+gemtguaIpicsXHJcbiAgICAgICdrbyc6ICfssq3ro6Eg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDk5LFxyXG4gIH0sXHJcbiAgODI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mdkum+meivl+mtguaImCcsXHJcbiAgICAgICdkZSc6ICdTZWVsZW5zdHVybSAtIFNlaXJ5dScsXHJcbiAgICAgICdlbic6ICdUaGUgV3JlYXRoIG9mIFNuYWtlcyAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTFxcJ8OObG90IGRlcyBBbWVydHVtZXMgKGV4dHLDqm1lKScsXHJcbiAgICAgICdqYSc6ICfmpbXpnZLpvo3lvoHprYLmiKYnLFxyXG4gICAgICAna28nOiAn6re5IOyyreujoSDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogOTksXHJcbiAgfSxcclxuICA4MjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMixcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LmQ5qyy5LmL5omA55Ov5Y2a6K635L+u6YGT6ZmiJyxcclxuICAgICAgJ2RlJzogJ0tsb3N0ZXIgdm9uIE9yYm9ubmUnLFxyXG4gICAgICAnZW4nOiAnVGhlIE9yYm9ubmUgTW9uYXN0ZXJ5JyxcclxuICAgICAgJ2ZyJzogJ0xlIE1vbmFzdMOocmUgZFxcJ09yYm9ubmUnLFxyXG4gICAgICAnamEnOiAn5qW95qyy44Gu5YOn6ZmiIOOCquODvOODnOODs+ODjCcsXHJcbiAgICAgICdrbyc6ICfsmKTrs7jripAg7IiY64+E7JuQJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01NDUsXHJcbiAgICAnb2Zmc2V0WSc6IC02NjMsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4Mjc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+emgeWcsOS8mOmbt+WNoSDkuLDmsLTkuYvlnLAnLFxyXG4gICAgICAnZGUnOiAnRXVyZWthIEh5ZGF0b3MnLFxyXG4gICAgICAnZW4nOiAnVGhlIEZvcmJpZGRlbiBMYW5kLCBFdXJla2EgSHlkYXRvcycsXHJcbiAgICAgICdmcic6ICdFdXLDqmthIEh5ZGF0b3MnLFxyXG4gICAgICAnamEnOiAn56aB5pat44Gu5ZywIOOCqOOCpuODrOOCq++8muODkuODpeODgOODiOOCuee3qCcsXHJcbiAgICAgICdrbyc6ICfquIjri6jsnZgg65WFIOyXkOyasOugiOy5tDog7Z6I64uk7Yag7Iqk7Y64JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDQ3NSxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTAwLFxyXG4gIH0sXHJcbiAgODMwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDIsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iLsembhOaMveatjCcsXHJcbiAgICAgICdkZSc6ICdSZXF1aWVtIGRlciBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBSZXF1aWVtIGZvciBIZXJvZXMnLFxyXG4gICAgICAnZnInOiAnVW4gcmVxdWllbSBwb3VyIGxlcyBow6lyb3MnLFxyXG4gICAgICAnamEnOiAn6Iux6ZuE44G444Gu6Y6u6a2C5q2MJyxcclxuICAgICAgJ2tvJzogJ+yYgeybheydhCDsnITtlZwg7KeE7Zi86rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4MzE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkmueOm+aWueWfjuaImO+8muS4nOmjjuaImDTkurrkurLlj4vmoYzvvIjkuI3luKbpo5/mlq3vvIknLFxyXG4gICAgICAnZGUnOiAnNC1TcGllbGVyLU1haGpvbmcgKHNjaG5lbGxlIFBhcnRpZSwgS3VpdGFuIGRlYWt0aXZpZXJ0KScsXHJcbiAgICAgICdlbic6ICdGb3VyLXBsYXllciBNYWhqb25nIChRdWljayBNYXRjaCwgS3VpdGFuIERpc2FibGVkKScsXHJcbiAgICAgICdmcic6ICdNYWhqb25nIGRvbWllbjxJbmRlbnQvPjogNCBqb3VldXJzIChwYXJ0aWUgcmFwaWRlIHNhbnMga3VpdGFuKScsXHJcbiAgICAgICdqYSc6ICfjg4njg57lvI/purvpm4DvvJrmnbHpoqjmiKY05Lq644K744OD44OI5Y2T77yI44Kv44Kk44K/44Oz54Sh44GX77yJJyxcclxuICAgICAgJ2tvJzogJ+yeke2MqOycoO2drDog64+Z7ZKN7KCEIDTsnbjsmqkg7YOB7J6QKOu2gOultOq4sCDri6jsmpTqtawg7JeG7J2MKScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAxOSxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnqbrlhpvoo4XnlLLpqb7pqbblkZgnLFxyXG4gICAgICAnZGUnOiAnTHVmdHdhZmZlLCBGZXVlciBmcmVpIScsXHJcbiAgICAgICdlbic6ICdBaXIgRm9yY2UgT25lJyxcclxuICAgICAgJ2ZyJzogJ0FzIGRlIGxcXCdhaXInLFxyXG4gICAgICAnamEnOiAn5Ye65pKD77yBIOOCqOOCouODleOCqeODvOOCueODkeOCpOODreODg+ODiCcsXHJcbiAgICAgICdrbyc6ICfstpzqsqkhIOyXkOyWtO2PrOyKpCDsobDsooXsgqwnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDgzNDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAwLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpo47kuYvkvb/ogIUnLFxyXG4gICAgICAnZGUnOiAnRHVyY2ggZGVuIFN0dXJtIHVuZCB6dXLDvGNrJyxcclxuICAgICAgJ2VuJzogJ01lc3NlbmdlciBvZiB0aGUgV2luZHMnLFxyXG4gICAgICAnZnInOiAnTGEgTWVzc2Fnw6hyZSBkdSB2ZW50JyxcclxuICAgICAgJ2phJzogJ+adpeioquOBm+OBl+miqOOBruW+oeS9vycsXHJcbiAgICAgICdrbyc6ICfrsJTrnozsnZgg7Ja07IKsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMSxcclxuICB9LFxyXG4gIDgzNjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpgb/mmpHnprvlrqvpqazliKnljaHlpKfkupUnLFxyXG4gICAgICAnZGUnOiAnTWFsaWthaHMgQnJ1bm5lbicsXHJcbiAgICAgICdlbic6ICdNYWxpa2FoXFwncyBXZWxsJyxcclxuICAgICAgJ2ZyJzogJ0xlIFB1aXRzIGRlIE1hbGlrYWgnLFxyXG4gICAgICAnamEnOiAn54i95ra86Zui5a6uIOODnuODquOCq+OBruWkp+S6leaIuCcsXHJcbiAgICAgICdrbyc6ICfrp5DrpqzsubQg7YGw7Jqw66y8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC02NSxcclxuICAgICdvZmZzZXRZJzogLTMwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6YGH6KKt6ZuG6JC95rC05rup5p2RJyxcclxuICAgICAgJ2RlJzogJ0hvbG1pbnN0ZXInLFxyXG4gICAgICAnZW4nOiAnSG9sbWluc3RlciBTd2l0Y2gnLFxyXG4gICAgICAnZnInOiAnSG9sbWluc3RlcicsXHJcbiAgICAgICdqYSc6ICfmrrrmiK7pg7fmnZEg44Ob44Or44Of44Oz44K544K/44O8JyxcclxuICAgICAgJ2tvJzogJ+2ZgOuvvOyKpO2EsCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pyr5pel5pqX5b2x5Lqa6ams5LmM572X5o+QJyxcclxuICAgICAgJ2RlJzogJ0FtYXVyb3QnLFxyXG4gICAgICAnZW4nOiAnQW1hdXJvdCcsXHJcbiAgICAgICdmcic6ICdBbWF1cm90ZScsXHJcbiAgICAgICdqYSc6ICfntYLmnKvlubvmg7Mg44Ki44O844Oi44Ot44O844OIJyxcclxuICAgICAgJ2tvJzogJ+yVhOuqqOuhnO2KuCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDUsXHJcbiAgfSxcclxuICA4NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5byC55WM6YGX5p6E5biM5bCU56eR5pav5a2q5pm25aGUJyxcclxuICAgICAgJ2RlJzogJ0RlciBLcmlzdGFsbHp3aWxsaW5nJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUd2lubmluZycsXHJcbiAgICAgICdmcic6ICdMYSBNYWNsZSBkZSBTeXJjdXMnLFxyXG4gICAgICAnamEnOiAn55Ww55WM6YG65qeLIOOCt+ODq+OCr+OCueODu+ODhOOCpOODi+ODs+OCsCcsXHJcbiAgICAgICdrbyc6ICfsjI3rkaXsnbQg7Iuc66W07L+g7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NDE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg5py65p6E6Zi/5bC85b63572X5a2m6ZmiJyxcclxuICAgICAgJ2RlJzogJ0FrYWRhZW1pYSBBbnlkZXInLFxyXG4gICAgICAnZW4nOiAnQWthZGFlbWlhIEFueWRlcicsXHJcbiAgICAgICdmcic6ICdBa2FkYWVtaWEgQW55ZHJlJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOapn+mWoiDjgqLjg4rjgqTjg4DjgqLjgqvjg4fjg5/jgqInLFxyXG4gICAgICAna28nOiAn7JWg64KY7J20642UIOyVhOy5tOuNsOuvuOyVhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAzMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnvIflnablpq7pm4Xmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnT2ZmZW5iYXJ1bmcgLSBUaXRhbmlhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEYW5jaW5nIFBsYWd1ZScsXHJcbiAgICAgICdmcic6ICdMYSBWYWxzZSBkdSBNb25hcnF1ZScsXHJcbiAgICAgICdqYSc6ICfjg4bjgqPjgr/jg7zjg4vjgqLoqI7mu4XmiKYnLFxyXG4gICAgICAna28nOiAn7Yuw7YOA64uI7JWEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDMsXHJcbiAgfSxcclxuICA4NDY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5peg55GV54G15ZCb5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ09mZmVuYmFydW5nIC0gSW5ub3plbnonLFxyXG4gICAgICAnZW4nOiAnVGhlIENyb3duIG9mIHRoZSBJbW1hY3VsYXRlJyxcclxuICAgICAgJ2ZyJzogJ0xhIENvdXJvbm5lIGRlIGxcXCdJbW1hY3Vsw6knLFxyXG4gICAgICAnamEnOiAn44Kk44OO44K744Oz44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ydtOuFuOyEvOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA0LFxyXG4gIH0sXHJcbiAgODQ3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WTiOi/quaWr+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdPZmZlbmJhcnVuZyAtIEhhZGVzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEeWluZyBHYXNwJyxcclxuICAgICAgJ2ZyJzogJ0xlIFLDomxlIGRlIGxcXCdBZ29uaWUnLFxyXG4gICAgICAnamEnOiAn44OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2VmOuNsOyKpCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTA1LFxyXG4gIH0sXHJcbiAgODQ4OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aXoOeRleeBteWQm+atvOaum+aImCcsXHJcbiAgICAgICdkZSc6ICdMZXR6dGUgTMOkdXRlcnVuZyAtIElubm96ZW56JyxcclxuICAgICAgJ2VuJzogJ1RoZSBDcm93biBvZiB0aGUgSW1tYWN1bGF0ZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGEgQ291cm9ubmUgZGUgbFxcJ0ltbWFjdWzDqSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpOODjuOCu+ODs+OCueiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg7J2064W47IS87IqkIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDQsXHJcbiAgfSxcclxuICA4NDk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJropprphpLnt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrggMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODUwOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCcsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muimmumGkue3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbicsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya6Kaa6YaS57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDEnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBBdWZlcnN0ZWh1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogUmVzdXJyZWN0aW9uIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCfDiXZlaWwgZFxcJ8OJZGVuIC0gUsOpc3VycmVjdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya6Kaa6YaS57eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rCB7ISx7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODU0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDop4nphpLkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIEVyd2FjaGVuIC0gTmllZGVya3VuZnQgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogRGVzY2VudCAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIERlc2NlbnRlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJropprphpLnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqsIHshLHtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSDDnGJlcmZsdXR1bmcgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgR2F0ZTogSW51bmRhdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIETDqWx1Z2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMzgsXHJcbiAgfSxcclxuICA4NTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOiniemGkuS5i+eroDQnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgRXJ3YWNoZW4gLSBCZWVyZGlndW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIEdhdGU6IFNlcHVsdHVyZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMXFwnw4l2ZWlsIGRcXCfDiWRlbiAtIEluaHVtYXRpb24gKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muimmumGkue3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqwgeyEse2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA4NTg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57yH5Z2m5aau6ZuF5q285q6b5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gVGl0YW5pYScsXHJcbiAgICAgICdlbic6ICdUaGUgRGFuY2luZyBQbGFndWUgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFZhbHNlIGR1IE1vbmFycXVlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OG44Kj44K/44O844OL44Ki6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDti7Dtg4Dri4jslYQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwMyxcclxuICB9LFxyXG4gIDg1OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnLrlhbPjgIHor4XlkpLjgIHliafmr5LkuI7igKbigKYnLFxyXG4gICAgICAnZGUnOiAnRGVyIEJlaWNodHN0dWhsIHZvbiBUb3VwYXNhIGRlbSDDhGx0ZXJlbicsXHJcbiAgICAgICdlbic6ICdMZWdlbmQgb2YgdGhlIE5vdC1zby1oaWRkZW4gVGVtcGxlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvbmZlc3Npb25uYWwgZGUgVG91cGFzYSBsXFwnYW5jaWVuJyxcclxuICAgICAgJ2phJzogJ+S7leaOm+OBkeOBqOWRquOBhOOBqOavkuOBqCcsXHJcbiAgICAgICdrbyc6ICftlajsoJXqs7wg7KCA7KO87JmAIOuPhScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NjA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bqf6YO95ou/5be056S66Im+5YWwJyxcclxuICAgICAgJ2RlJzogJ1ZhdGVyIHVuZCBCcnVkZXInLFxyXG4gICAgICAnZW4nOiAnQ29taW5nIENsZWFuJyxcclxuICAgICAgJ2ZyJzogJ1N1ciBsZXMgcmFpbHMgZGUgTmFiYWF0aCBBcmVuZycsXHJcbiAgICAgICdqYSc6ICflu4Ppg73jg4rjg5DjgrnjgqLjg6zjg7MnLFxyXG4gICAgICAna28nOiAn64KY67CU7Iqk7JWE66CdIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMDIsXHJcbiAgfSxcclxuICA4NzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pGH5pGG55qE5aSp5bmzJyxcclxuICAgICAgJ2RlJzogJ09iIE1pdGxlaWQgb2RlciBIYXNzJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIYXJkZW5lZCBIZWFydCcsXHJcbiAgICAgICdmcic6ICdOYWlzc2FuY2UgZFxcJ3VuIGJvdXJyZWF1JyxcclxuICAgICAgJ2phJzogJ+aPuuOCjOOCi+WkqeenpCcsXHJcbiAgICAgICdrbyc6ICftnZTrk6TrpqzripQg7LKc7LmtJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y+k5Luj5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2RlJzogJ0FsdGVyIFphdWJlcicsXHJcbiAgICAgICdlbic6ICdUaGUgTG9zdCBhbmQgdGhlIEZvdW5kJyxcclxuICAgICAgJ2ZyJzogJ01hZ2llIGFuY2VzdHJhbGUnLFxyXG4gICAgICAnamEnOiAn5Y+k44Gu5aSn5YaN55Sf6a2U5rOVJyxcclxuICAgICAgJ2tvJzogJ+qzoOuMgOydmCDrjIDsnqzsg50g66eI67KVJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExMCxcclxuICB9LFxyXG4gIDg3NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfli4fmlaLnmoTnjI7kuronLFxyXG4gICAgICAnZGUnOiAnRGVyIExlZ2VuZGUgYXVmIGRlciBTcHVyJyxcclxuICAgICAgJ2VuJzogJ1RoZSBIdW50ZXJcXCdzIExlZ2FjeScsXHJcbiAgICAgICdmcic6ICdMYSBjaGFzc2V1c2UgZGUgbMOpZ2VuZGUnLFxyXG4gICAgICAnamEnOiAn5YuH5rCX44Gu54up5Lq6JyxcclxuICAgICAgJ2tvJzogJ+yaqeq4sCDsnojripQg7IKs64Ol6r68JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDYzLFxyXG4gIH0sXHJcbiAgODc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WliOi0neWwlOeJueeahOWQjuaClCcsXHJcbiAgICAgICdkZSc6ICdFaW4gZ3Jvw59lcyBPcGZlcicsXHJcbiAgICAgICdlbic6ICdOeWVsYmVydFxcJ3MgTGFtZW50JyxcclxuICAgICAgJ2ZyJzogJ1VuZSBjdXBpZGl0w6kgYmllbiBnw6luw6lyZXVzZScsXHJcbiAgICAgICdqYSc6ICfjg4rjgqTjg6vjg5njg6vjg4jjga7lvozmgpQnLFxyXG4gICAgICAna28nOiAn64KY7J2867Kg66W07Yq47J2YIO2bhO2ajCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODc5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneWigycsXHJcbiAgICAgICdkZSc6ICdWZXJsaWVzZSB2b24gTHloZSBHaGlhaCcsXHJcbiAgICAgICdlbic6ICdUaGUgRHVuZ2VvbnMgb2YgTHloZSBHaGlhaCcsXHJcbiAgICAgICdmcic6ICdMZSBEb25qb24gaHlwb2fDqWVuIGR1IEx5aGUgR2hpYWgnLFxyXG4gICAgICAnamEnOiAn5a6d54mp5bqrIOODquOCp+ODvOODu+OCruOCouODu+ODgOODs+OCuOODp+ODsycsXHJcbiAgICAgICdrbyc6ICfrs7TrrLzqs6Ag66as7JiIIOq4sOyVhCDsp4DtlZjrr7jqtoEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDg4Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpI3liLblt6XljoLlup/lop8nLFxyXG4gICAgICAnZGUnOiAnRGllIGtvcGllcnRlIEZhYnJpaycsXHJcbiAgICAgICdlbic6ICdUaGUgQ29waWVkIEZhY3RvcnknLFxyXG4gICAgICAnZnInOiAnTGEgcsOpcGxpcXVlIGRlIGxcXCd1c2luZSBkw6lzYWZmZWN0w6llJyxcclxuICAgICAgJ2phJzogJ+ikh+ijveOCteODrOOCv+W3peWgtOW7g+WinycsXHJcbiAgICAgICdrbyc6ICfrs7XsoJzrkJwg6rO17J6lIO2PkO2XiCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA2MTAsXHJcbiAgICAnb2Zmc2V0WSc6IDcwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODg0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mtlOazleWuq+auv+Wuh+WumeWuqycsXHJcbiAgICAgICdkZSc6ICdDaGF0ZWF1IENvc21lYScsXHJcbiAgICAgICdlbic6ICdUaGUgR3JhbmQgQ29zbW9zJyxcclxuICAgICAgJ2ZyJzogJ0xlIENvc21vcyBjb3J1c2NhbnQnLFxyXG4gICAgICAnamEnOiAn6a2U5rOV5a6u5q6/IOOCsOODqeODs+ODu+OCs+OCueODouOCuScsXHJcbiAgICAgICdrbyc6ICfqt7jrnpEg7L2U7Iqk66qo7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ZOI6L+q5pav5a2k5b+15q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0xldHp0ZSBMw6R1dGVydW5nIC0gSGFkZXMnLFxyXG4gICAgICAnZW4nOiAnVGhlIE1pbnN0cmVsXFwncyBCYWxsYWQ6IEhhZGVzXFwncyBFbGVneScsXHJcbiAgICAgICdmcic6ICdMZSBSw6JsZSBkZSBsXFwnQWdvbmllIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44O844OH44K56KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDtlZjrjbDsiqQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEwNSxcclxuICB9LFxyXG4gIDg4Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjgsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lqa5Y6G5bGx5aSn57ud5aKD5oiYJyxcclxuICAgICAgJ2RlJzogJ0FsZXhhbmRlciAoZmF0YWwpJyxcclxuICAgICAgJ2VuJzogJ1RoZSBFcGljIG9mIEFsZXhhbmRlciAoVWx0aW1hdGUpJyxcclxuICAgICAgJ2ZyJzogJ0xcXCdPZHlzc8OpZSBkXFwnQWxleGFuZGVyIChmYXRhbCknLFxyXG4gICAgICAnamEnOiAn57W244Ki44Os44Kt44K144Oz44OA44O86KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+ygiCDslYzroInsgrDrjZQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA4ODg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5piC6JCo5ZOI5Yev5bCU77yI56ue5LqJ5oiY77yJJyxcclxuICAgICAgJ2RlJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2VuJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2ZyJzogJ09uc2FsIEhha2FpciAoRGFuc2hpZyBOYWFkYW0pJyxcclxuICAgICAgJ2phJzogJ+OCquODs+OCteODq+ODu+ODj+OCq+OCpOODqyAo57WC56+A5oimKScsXHJcbiAgICAgICdrbyc6ICfsmKjsgrQg7ZWY7Lm07J2066W0KOqzhOygiOuBnSDtlansoIQpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDExNyxcclxuICB9LFxyXG4gIDg5Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnuq/nmb3oqpPnuqbjgIHmvIbpu5Hlr4bnuqYnLFxyXG4gICAgICAnZGUnOiAnRGVyIFdvbGYgdW5kIGRlciBEcmFjaGVucmVpdGVyJyxcclxuICAgICAgJ2VuJzogJ1Zvd3Mgb2YgVmlydHVlLCBEZWVkcyBvZiBDcnVlbHR5JyxcclxuICAgICAgJ2ZyJzogJ1bFk3V4IGRlIHZlcnR1LCBhY3RlcyBkZSBjcnVhdXTDqScsXHJcbiAgICAgICdqYSc6ICfnmb3jgY3oqpPntITjgIHpu5LjgY3lr4bntIQnLFxyXG4gICAgICAna28nOiAn7ZWY7JaAIOyEnOyVvSwg6rKA7J2AIOuwgOyVvScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgODk0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aIkeW/g+S+neaXpycsXHJcbiAgICAgICdkZSc6ICdUcnViZWwgaW0gVHJhdW1sYW5kJyxcclxuICAgICAgJ2VuJzogJ0FzIHRoZSBIZWFydCBCaWRzJyxcclxuICAgICAgJ2ZyJzogJ8OAIGxcXCfDqWNvdXRlIGRlIHNvaScsXHJcbiAgICAgICdqYSc6ICfjgZPjga7lv4PjgYzmnJvjgoDjgYzjgb7jgb7jgasnLFxyXG4gICAgICAna28nOiAn7J20IOuniOydjOydtCDsm5DtlZjripQg64yA66GcJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMixcclxuICAgICdvZmZzZXRZJzogNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQwLFxyXG4gIH0sXHJcbiAgODk3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e6ouWuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdSdWJpbmZldWVyIC0gRW50ZmVzc2VsdW5nJyxcclxuICAgICAgJ2VuJzogJ0NpbmRlciBEcmlmdCcsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zJyxcclxuICAgICAgJ2phJzogJ+ODq+ODk+ODvOOCpuOCp+ODneODs+egtOWjiuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDg5ODoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpu5Hpo47mtbflupXpmL/lsLzlvrfnvZfov73lv4bppoYnLFxyXG4gICAgICAnZGUnOiAnQW5hbW5lc2lzIEFueWRlcicsXHJcbiAgICAgICdlbic6ICdBbmFtbmVzaXMgQW55ZGVyJyxcclxuICAgICAgJ2ZyJzogJ0FuYW1uZXNpcyBBbnlkcmUnLFxyXG4gICAgICAnamEnOiAn6buS6aKo5rW35bqVIOOCouODi+ODieODqeOCueODu+OCouODiuODoOODjeODvOOCt+OCuScsXHJcbiAgICAgICdrbyc6ICfslaDri4jrk5zrnbzsiqQg7JWE64Ko64Sk7Iuc7IqkJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDEwMCxcclxuICAgICdvZmZzZXRZJzogLTM5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTYsXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Ye65rW35Z6C6ZKTJyxcclxuICAgICAgJ2RlJzogJ0F1ZiBncm/Dn2VyIEZhaHJ0JyxcclxuICAgICAgJ2VuJzogJ09jZWFuIEZpc2hpbmcnLFxyXG4gICAgICAnZnInOiAnUMOqY2hlIGVuIG1lcicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjgrfjg6Pjg7Pjg5XjgqPjg4Pjgrfjg7PjgrAnLFxyXG4gICAgICAna28nOiAn66i867CU64ukIOuCmuyLnCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNCxcclxuICB9LFxyXG4gIDkwMjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVudGxhZHVuZycsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVsbWluYXRpb24nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVsbWluYXRpb24nLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDEnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugMicsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIFJhc2VyZWknLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEZ1cm9yJyxcclxuICAgICAgJ2ZyJzogJ0xlcyBBY2NvcmRzIGRcXCfDiWRlbiAtIEZ1cmV1cicsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7PvvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrggMicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOW4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AzJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gQmlsZGVyc3R1cm0nLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IEljb25vY2xhc20nLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gSWNvbm9jbGFzbWUnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkwNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YWx6bij5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBSZXNvbmFueiAtIEVyc3RhcnJ1bmcnLFxyXG4gICAgICAnZW4nOiAnRWRlblxcJ3MgVmVyc2U6IFJlZnVsZ2VuY2UnLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gw4ljbGF0JyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCA0JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTA2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AxJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRW50bGFkdW5nIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFZlcnNlOiBGdWxtaW5hdGlvbiAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBGdWxtaW5hdGlvbiAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6AyJyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gUmFzZXJlaSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogRnVyb3IgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGVzIEFjY29yZHMgZFxcJ8OJZGVuIC0gRnVyZXVyIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlhbHps7Tnt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDqs7XrqoXtjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWFsem4o+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgUmVzb25hbnogLSBCaWxkZXJzdHVybSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogSWNvbm9jbGFzbSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSBJY29ub2NsYXNtZSAoc2FkaXF1ZSknLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz6Zu25byP77ya5YWx6bO057eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog6rO166qF7Y64KOyYgeybhSkgMycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTA5OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S8iueUuOmbtuW8j+W4jOacm+S5kOWbrSDlhbHpuKPkuYvnq6A0JyxcclxuICAgICAgJ2RlJzogJ0VkZW5zIFJlc29uYW56IC0gRXJzdGFycnVuZyAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBWZXJzZTogUmVmdWxnZW5jZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMZXMgQWNjb3JkcyBkXFwnw4lkZW4gLSDDiWNsYXQgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWFsemztOe3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOqzteuqhe2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogNDYsXHJcbiAgfSxcclxuICA5MTE6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2a5YW56ZuF5aCh5Z6S6JK45Y+R5LqL5Lu2JyxcclxuICAgICAgJ2RlJzogJ0RlciBCb3pqYS1Wb3JmYWxsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBCb3pqYSBJbmNpZGVudCcsXHJcbiAgICAgICdmcic6ICdQcsOpbHVkZSDDoCBsYSBjYXRhc3Ryb3BoZScsXHJcbiAgICAgICdqYSc6ICfjgrfjgr/jg4fjg6vjg7vjg5zjgrrjg6TokrjnmbrkuovlpIknLFxyXG4gICAgICAna28nOiAn67O07KaI7JW8IOyCrOqxtCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn57qi5a6d55+z56We5YW154uC5oOz5L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ1J1YmluZmV1ZXIgLSBUcmF1bWEnLFxyXG4gICAgICAnZW4nOiAnQ2luZGVyIERyaWZ0IChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZXMgTnXDqWVzIGRlIEJyYW5kb25zIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Or44OT44O844Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDro6jruYQg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDkxMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfljZrlhbnpm4XloKHlnpLov73lv4bmiJgnLFxyXG4gICAgICAnZGUnOiAnTWVtb3JpYSBNaXNlcmEgKGV4dHJlbSknLFxyXG4gICAgICAnZW4nOiAnTWVtb3JpYSBNaXNlcmEgKEV4dHJlbWUpJyxcclxuICAgICAgJ2ZyJzogJ01lbW9yaWEgTWlzZXJhIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144K344K/44OH44Or44O744Oc44K644Ok6L+95oa25oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDrs7Tspojslbwg7LaU7Ja17KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zNSxcclxuICAgICdvZmZzZXRZJzogNjgzLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMjMsXHJcbiAgfSxcclxuICA5MTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Iux6ZuE5peg5rOV5a6J5oGvJyxcclxuICAgICAgJ2RlJzogJ1ZvbiBzY2hsYWZlbmRlbiBIZWxkZW4nLFxyXG4gICAgICAnZW4nOiAnQSBTbGVlcCBEaXN0dXJiZWQnLFxyXG4gICAgICAnZnInOiAnTFxcJ8OpcHJldXZlIHJvbmthJyxcclxuICAgICAgJ2phJzogJ+axneOAgeiLsembhOOBruecoOOCiuWmqOOBkuOCi+OBrycsXHJcbiAgICAgICdrbyc6ICfqt7jrjIAsIOyYgeybheydmCDsnqDsnYQg67Cp7ZW07ZWY64qU6rCAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5MTY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pqX5b2x5Yaz5oiY6K+65byX5YWw54m5JyxcclxuICAgICAgJ2RlJzogJ1NjaGxhY2h0IHVtIE5vcnZyYW5kdCcsXHJcbiAgICAgICdlbic6ICdUaGUgSGVyb2VzXFwnIEdhdW50bGV0JyxcclxuICAgICAgJ2ZyJzogJ0xhIFRyYXZlcnPDqWUgZGUgTm9ydnJhbmR0JyxcclxuICAgICAgJ2phJzogJ+a8hum7kuaxuuaIpiDjg47jg6vjg7Tjg6njg7Pjg4gnLFxyXG4gICAgICAna28nOiAn64W466W067iM656A7Yq4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDYyNixcclxuICAgICdvZmZzZXRZJzogLTYxMSxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI1LFxyXG4gIH0sXHJcbiAgOTE3OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA1LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S6uuWBtuWGm+S6i+WfuuWcsCcsXHJcbiAgICAgICdkZSc6ICdEaWUgUHVwcGVuZmVzdHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgUHVwcGV0c1xcJyBCdW5rZXInLFxyXG4gICAgICAnZnInOiAnTGEgYmFzZSBtaWxpdGFpcmUgZGVzIFBhbnRpbnMnLFxyXG4gICAgICAnamEnOiAn5Lq65b2i44K/44OB44OO6LuN5LqL5Z+65ZywJyxcclxuICAgICAgJ2tvJzogJ+yduO2YleuTpOydmCDqtbDsgqwg6riw7KeAJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDI5MCxcclxuICAgICdvZmZzZXRZJzogLTE5MCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkyMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Y2X5pa55Y2a5YW56ZuF5oiY57q/JyxcclxuICAgICAgJ2RlJzogJ0JvemphLVPDvGRmcm9udCcsXHJcbiAgICAgICdlbic6ICdUaGUgQm96amFuIFNvdXRoZXJuIEZyb250JyxcclxuICAgICAgJ2ZyJzogJ0Zyb250IHN1ZCBkZSBCb3pqYScsXHJcbiAgICAgICdqYSc6ICfljZfmlrnjg5zjgrrjg6TmiKbnt5onLFxyXG4gICAgICAna28nOiAn64Ko67aAIOuztOymiOyVvCDsoITshKAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEyNyxcclxuICAgICdvZmZzZXRZJzogLTQyNCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI0LFxyXG4gIH0sXHJcbiAgOTIyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WFieS5i+aImOWjq+atvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdLcmllZ2VyIGRlcyBMaWNodHMnLFxyXG4gICAgICAnZW4nOiAnVGhlIFNlYXQgb2YgU2FjcmlmaWNlJyxcclxuICAgICAgJ2ZyJzogJ0xlIFRyw7RuZSBkdSBTYWNyaWZpY2UnLFxyXG4gICAgICAnamEnOiAn44Km44Kp44O844Oq44Ki44O744Kq44OW44O744Op44Kk44OI6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+u5m+ydmCDsoITsgqwg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEyNSxcclxuICB9LFxyXG4gIDkyMzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflhYnkuYvmiJjlo6vlubvogIDmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnS3JpZWdlciBkZXMgTGljaHRzIChleHRyZW0pJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTZWF0IG9mIFNhY3JpZmljZSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnTGUgVHLDtG5lIGR1IFNhY3JpZmljZSAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCpuOCqeODvOODquOCouODu+OCquODluODu+ODqeOCpOODiOiojua7heaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg67mb7J2YIOyghOyCrCDthqDrsozsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTI2LFxyXG4gIH0sXHJcbiAgOTI0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aipue+veWuneauvycsXHJcbiAgICAgICdkZSc6ICdEYXMgS2FydXNzZWxsIHZvbiBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTaGlmdGluZyBPdWJsaWV0dGVzIG9mIEx5aGUgR2hpYWgnLFxyXG4gICAgICAnZnInOiAnTGUgSmFyZGluIHNlY3JldCBkdSBMeWhlIEdoaWFoJyxcclxuICAgICAgJ2phJzogJ+WuneeJqeW6qyDjg6rjgqfjg7zjg7vjgq7jgqLjg7vjg4Djg7Pjgrjjg6fjg7Pnpa3mrr8nLFxyXG4gICAgICAna28nOiAn67O066y86rOgIOumrOyYiCDquLDslYQg7KeA7ZWY66+46raBIOygnOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTI1OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+mjnue/lOWQp++8jOWJjeW+gOe7tOWwlOWIqeeJue+8gScsXHJcbiAgICAgICdkZSc6ICdMdWZ0YW5ncmlmZiBhdWYgV2VybHl0JyxcclxuICAgICAgJ2VuJzogJ1NsZWVwIE5vdyBpbiBTYXBwaGlyZScsXHJcbiAgICAgICdmcic6ICdTdXIgbGEgbWVyIGRlIHNhcGhpcicsXHJcbiAgICAgICdqYSc6ICfpo5vjgbnvvIEg44Km44Kn44Or44Oq44OI44G4ICcsXHJcbiAgICAgICdrbyc6ICfrgqDslYTrnbwhIOybsOumrO2KuOulvCDtlqXtlZjsl6wnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMTUsXHJcbiAgICAnb2Zmc2V0WSc6IC02MTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mjk6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE2LFxyXG4gICAgJ2V4VmVyc2lvbic6IDEsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeS4iuemj+WcsOS6keWGoOe+pOWymycsXHJcbiAgICAgICdkZSc6ICdEYXMgRGlhZGVtIC0gRXJzY2hsaWXDn3VuZycsXHJcbiAgICAgICdlbic6ICdUaGUgRGlhZGVtJyxcclxuICAgICAgJ2ZyJzogJ0xlIERpYWTDqG1lJyxcclxuICAgICAgJ2phJzogJ+mbsua1t+aOoembhiDjg4fjgqPjgqLjg4fjg6Doq7jls7YnLFxyXG4gICAgICAna28nOiAn65SU7JWE646AIOygnOuPhCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiA2OCxcclxuICB9LFxyXG4gIDkzMDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfluIznk6blubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIFNoaXZhJyxcclxuICAgICAgJ2VuJzogJ1RoZSBBa2ggQWZhaCBBbXBoaXRoZWF0cmUgKFVucmVhbCknLFxyXG4gICAgICAnZnInOiAnTFxcJ0FtcGhpdGjDqcOidHJlIGRcXCdBa2ggQWZhaCAoaXJyw6llbCknLFxyXG4gICAgICAnamEnOiAn5bm744K344O044Kh6KiO5ruF5oimJyxcclxuICAgICAgJ2tvJzogJ+2ZmCDsi5zrsJQg7Yag67KM7KCEJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDQ2LFxyXG4gIH0sXHJcbiAgOTMyOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA3LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+ikquiJsueahOiusOW/hicsXHJcbiAgICAgICdkZSc6ICdWZXJibGFzc3RlIEVyaW5uZXJ1bmdlbicsXHJcbiAgICAgICdlbic6ICdGYWRlZCBNZW1vcmllcycsXHJcbiAgICAgICdmcic6ICdTb3V2ZW5pciBww6lyaXNzYWJsZScsXHJcbiAgICAgICdqYSc6ICfoibLjgYLjgZvjgZ/oqJjmhrYnLFxyXG4gICAgICAna28nOiAn67mb67CU656cIOq4sOyWtScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5MzM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6a2U5pyv5bel5oi/546b5omY6ZuF5bel5L2c5a6kJyxcclxuICAgICAgJ2RlJzogJ01hdG95YXMgQXRlbGllcicsXHJcbiAgICAgICdlbic6ICdNYXRveWFcXCdzIFJlbGljdCcsXHJcbiAgICAgICdmcic6ICdMXFwnQXRlbGllciBhYmFuZG9ubsOpIGRlIE1hdG95YScsXHJcbiAgICAgICdqYSc6ICfprZTooZPlt6XmiL8g44Oe44OI44O844Ok44Gu44Ki44OI44Oq44KoJyxcclxuICAgICAgJ2tvJzogJ+uniO2GoOyVvOydmCDqs7XrsKknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTc1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM0OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+e7v+Wuneefs+elnuWFteegtOWdj+S9nOaImCcsXHJcbiAgICAgICdkZSc6ICdTbWFyYWdkc3R1cm0gLSBFbnRmZXNzZWx1bmcnLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtJyxcclxuICAgICAgJ2ZyJzogJ0Nhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqjjg6Hjg6njg6vjg4njgqbjgqfjg53jg7PnoLTlo4rkvZzmiKYnLFxyXG4gICAgICAna28nOiAn7JeQ66mU656E65OcIOybqO2PsCDtjIzqtLTsnpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu7/lrp3nn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnU21hcmFnZHN0dXJtIC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ0Nhc3RydW0gTWFyaW51bSAoRXh0cmVtZSknLFxyXG4gICAgICAnZnInOiAnQ2FzdHJ1bSBNYXJpbnVtIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144Ko44Oh44Op44Or44OJ44Km44Kn44Od44Oz56C05aOK5L2c5oimJyxcclxuICAgICAgJ2tvJzogJ+q3uSDsl5DrqZTrnoTrk5wg7Juo7Y+wIO2MjOq0tOyekeyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTM2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyOSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflpbPnjovlj6Tmrr8nLFxyXG4gICAgICAnZGUnOiAnRGVsdWJydW0gUmVnaW5hZScsXHJcbiAgICAgICdlbic6ICdEZWx1YnJ1bSBSZWdpbmFlJyxcclxuICAgICAgJ2ZyJzogJ0RlbHVicnVtIFJlZ2luYWUnLFxyXG4gICAgICAnamEnOiAn44Kw44Oz44OS44Or44OJ44O744OH44Kj44Or44O844OW44Op44OgJyxcclxuICAgICAgJ2tvJzogJ+q1sO2ekOuTnCDsgqzsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogLTM3OCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDkzNzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMjksXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6Zu25byP5aWz546L5Y+k5q6/JyxcclxuICAgICAgJ2RlJzogJ0RlbHVicnVtIFJlZ2luYWUgKGVwaXNjaCknLFxyXG4gICAgICAnZW4nOiAnRGVsdWJydW0gUmVnaW5hZSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdEZWx1YnJ1bSBSZWdpbmFlIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfjgrDjg7Pjg5Ljg6vjg4njg7vjg4fjgqPjg6vjg7zjg5bjg6njg6Dpm7blvI8nLFxyXG4gICAgICAna28nOiAn6rWw7Z6Q65OcIOyCrOybkCjsmIHsm4UpJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0zNzgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Mzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6buE6YeR5bmz5Y6f5biV5oiI5bCU6LWe6I2J5Y6fJyxcclxuICAgICAgJ2RlJzogJ0RpZSBHb2xkZW5lIEViZW5lIHZvbiBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdlbic6ICdQYWdsdGhcXCdhbicsXHJcbiAgICAgICdmcic6ICdMYSBncmFuZGUgcHJhaXJpZSBkZSBQYWdsdGhcXCdhbicsXHJcbiAgICAgICdqYSc6ICfpu4Tph5HlubPljp8g44OR44Ks44Or44K244OzJyxcclxuICAgICAgJ2tvJzogJ+2MjOq4gOuLqCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiA0MTUsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDE5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5neWuq+W5u+WNoe+8muWumOaWuemUpuagh+i1mycsXHJcbiAgICAgICdkZSc6ICdUcmlwbGUgVHJpYWQ6IE1hbmRlcnZpbGxlLVR1cm5pZXInLFxyXG4gICAgICAnZW4nOiAnVHJpcGxlIFRyaWFkIE9wZW4gVG91cm5hbWVudCcsXHJcbiAgICAgICdmcic6ICdUb3Vybm9pIG9mZmljaWVsIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kq44OV44Kj44K344Oj44Or44OI44O844OK44Oh44Oz44OIJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOqzteyLnSDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMTksXHJcbiAgICAnZXhWZXJzaW9uJzogMCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Lmd5a6r5bm75Y2h77ya6ZSm5qCH6LWb5a+55bGA5a6kJyxcclxuICAgICAgJ2RlJzogJ1RyaXBsZSBUcmlhZDogUHJpdmF0dHVybmllcicsXHJcbiAgICAgICdlbic6ICdUcmlwbGUgVHJpYWQgSW52aXRhdGlvbmFsIFBhcmxvcicsXHJcbiAgICAgICdmcic6ICdTYWxsZSBkZSB0b3Vybm9pIGxpYnJlIGRlIFRyaXBsZSBUcmlhZGUnLFxyXG4gICAgICAnamEnOiAn44OI44Oq44OX44Or44OI44Op44Kk44Ki44OJ77ya44Kr44K544K/44Og44OI44O844OK44Oh44Oz44OI44Or44O844OgJyxcclxuICAgICAgJ2tvJzogJ+2KuOumrO2UjCDtirjrnbzsnbTslrTrk5w6IOy5nOyEoCDthqDrhIjrqLztirgnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogODAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDEnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs++8muWGjeeUn+e3qDInLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S45biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMnLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UnLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoMycsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjluIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0JyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5JyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6knLFxyXG4gICAgICAnamEnOiAn5biM5pyb44Gu5ZyS44Ko44OH44Oz77ya5YaN55Sf57eoNCcsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg64KZ7JuQIOyXkOuNtDog7J6s7IOd7Y64IDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTcxLFxyXG4gICAgJ29mZnNldFknOiAyMyxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0Njoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugMScsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIFVtYnJhIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IFVtYnJhIChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIE51w6llIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gxJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAxJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDInLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBMaXRhbmVpIChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IExpdGFueSAoU2F2YWdlKScsXHJcbiAgICAgICdmcic6ICdMYSBQcm9tZXNzZSBkXFwnw4lkZW4gLSBMaXRhbmllIChzYWRpcXVlKScsXHJcbiAgICAgICdqYSc6ICfluIzmnJvjga7lnJLjgqjjg4fjg7Ppm7blvI/vvJrlho3nlJ/nt6gyJyxcclxuICAgICAgJ2tvJzogJ+2drOunneydmCDrgpnsm5Ag7JeQ6420OiDsnqzsg53tjrgo7JiB7JuFKSAyJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NDg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5LyK55S46Zu25byP5biM5pyb5LmQ5ZutIOWGjeeUn+S5i+eroDMnLFxyXG4gICAgICAnZGUnOiAnRWRlbnMgVmVyaGVpw591bmcgLSBBbmFtb3JwaG9zZSAoZXBpc2NoKScsXHJcbiAgICAgICdlbic6ICdFZGVuXFwncyBQcm9taXNlOiBBbmFtb3JwaG9zaXMgKFNhdmFnZSknLFxyXG4gICAgICAnZnInOiAnTGEgUHJvbWVzc2UgZFxcJ8OJZGVuIC0gQW5hbW9ycGhvc2UgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDMnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDMnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk0OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNSxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfkvIrnlLjpm7blvI/luIzmnJvkuZDlm60g5YaN55Sf5LmL56ugNCcsXHJcbiAgICAgICdkZSc6ICdFZGVucyBWZXJoZWnDn3VuZyAtIEV3aWdrZWl0IChlcGlzY2gpJyxcclxuICAgICAgJ2VuJzogJ0VkZW5cXCdzIFByb21pc2U6IEV0ZXJuaXR5IChTYXZhZ2UpJyxcclxuICAgICAgJ2ZyJzogJ0xhIFByb21lc3NlIGRcXCfDiWRlbiAtIMOJdGVybml0w6kgKHNhZGlxdWUpJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+OBruWckuOCqOODh+ODs+mbtuW8j++8muWGjeeUn+e3qDQnLFxyXG4gICAgICAna28nOiAn7Z2s66ed7J2YIOuCmeybkCDsl5DrjbQ6IOyerOyDne2OuCjsmIHsm4UpIDQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogNzUsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTA6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn6ZK755+z56We5YW15o2V6I635L2c5oiYJyxcclxuICAgICAgJ2RlJzogJ0RpYW1hbnRibGl0eiAtIEVudGZlc3NlbHVuZycsXHJcbiAgICAgICdlbic6ICdUaGUgQ2xvdWQgRGVjaycsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cycsXHJcbiAgICAgICdqYSc6ICfjg4DjgqTjg6Tjgqbjgqfjg53jg7PmjZXnjbLkvZzmiKYnLFxyXG4gICAgICAna28nOiAn64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1MToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfpkrvnn7PnpZ7lhbXni4Lmg7PkvZzmiJgnLFxyXG4gICAgICAnZGUnOiAnRGlhbWFudGJsaXR6IC0gVHJhdW1hJyxcclxuICAgICAgJ2VuJzogJ1RoZSBDbG91ZCBEZWNrIChFeHRyZW1lKScsXHJcbiAgICAgICdmcic6ICdMZSBUaWxsYWMgZGVzIENpcnJ1cyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteODgOOCpOODpOOCpuOCp+ODneODs+aNleeNsuS9nOaIpicsXHJcbiAgICAgICdrbyc6ICfqt7kg64uk7J207JWE66qs65OcIOybqO2PsCDtj6ztmo3snpHsoIQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk1Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflvILlvaLmpbzpmIHkvZDnibnloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIFpvdCcsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgb2YgWm90JyxcclxuICAgICAgJ2ZyJzogJ0xhIHRvdXIgZGUgWm90dCcsXHJcbiAgICAgICdqYSc6ICfnlbDlvaLmpbzplqMg44K+44OD44OI44Gu5aGUJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC01MCxcclxuICAgICdvZmZzZXRZJzogLTUwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTUzOiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+azsOWdpuW5u+W3p+aImCcsXHJcbiAgICAgICdkZSc6ICdUcmF1bXByw7xmdW5nIC0gVGl0YW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE5hdmVsIChVbnJlYWwpJyxcclxuICAgICAgJ2ZyJzogJ0xlIE5vbWJyaWwgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+OCv+OCpOOCv+ODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg7YOA7J207YOEIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyMyxcclxuICB9LFxyXG4gIDk1NDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNyxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflqIHlsJTluIPlhbDlvrfmiazluIbotbfoiKonLFxyXG4gICAgICAnZGUnOiAnR3V0ZSBXaW5kZSBmw7xyIFZ5bGJyYW5kJyxcclxuICAgICAgJ2VuJzogJ1RoZSBHcmVhdCBTaGlwIFZ5bGJyYW5kJyxcclxuICAgICAgJ2ZyJzogJ1VuIG5hdmlyZSBub21tw6kgVnlsYnJhbmQnLFxyXG4gICAgICAnamEnOiAn44OQ44Kk44Or44OW44Op44Oz44OJ44Gu6Ii55Ye6JyxcclxuICAgICAgJ2tvJzogJ+uwlOydvOu4jOuenOuTnCDstpztla0nLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMjMsXHJcbiAgfSxcclxuICA5NTU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn56We5L2R5aWz546LJyxcclxuICAgICAgJ2RlJzogJ0hpbmFiIGluIGRpZSBSdWluZW4nLFxyXG4gICAgICAnZW4nOiAnRml0IGZvciBhIFF1ZWVuJyxcclxuICAgICAgJ2ZyJzogJ1F1ZSBsZXMgRGlldXggZ2FyZGVudCBsYSBSZWluZScsXHJcbiAgICAgICdqYSc6ICfjgrTjg4Pjg4njg7vjgrvjgqTjg5bjg7vjgrbjg7vjgq/jgqTjg7zjg7MnLFxyXG4gICAgICAna28nOiAn6rCTIOyEuOydtOu4jCDrjZQg7YC4JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IC03NTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NTY6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfov7fmtKUnLFxyXG4gICAgICAnZGUnOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZW4nOiAnTGFieXJpbnRob3MnLFxyXG4gICAgICAnZnInOiAnTGUgTGFieXJpbnRob3MnLFxyXG4gICAgICAnamEnOiAn44Op44O044Kj44Oq44Oz44K944K5JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzMSxcclxuICB9LFxyXG4gIDk1Nzoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+iQqOe7tOWliOWymycsXHJcbiAgICAgICdkZSc6ICdUaGF2bmFpcicsXHJcbiAgICAgICdlbic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdmcic6ICdUaGF2bmFpcicsXHJcbiAgICAgICdqYSc6ICfjgrXjg5njg43jgqLls7YnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMyLFxyXG4gIH0sXHJcbiAgOTU4OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yqg6Zu36amsJyxcclxuICAgICAgJ2RlJzogJ0dhcmxlbWFsZCcsXHJcbiAgICAgICdlbic6ICdHYXJsZW1hbGQnLFxyXG4gICAgICAnZnInOiAnR2FybGVtYWxkJyxcclxuICAgICAgJ2phJzogJ+OCrOODrOODnuODq+ODiScsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzMsXHJcbiAgfSxcclxuICA5NTk6IHtcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICflj7nmga/mtbcnLFxyXG4gICAgICAnZGUnOiAnTWFyZSBMYW1lbnRvcnVtJyxcclxuICAgICAgJ2VuJzogJ01hcmUgTGFtZW50b3J1bScsXHJcbiAgICAgICdmcic6ICdNYXJlIExhbWVudG9ydW0nLFxyXG4gICAgICAnamEnOiAn5ZiG44GN44Gu5rW3JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNSxcclxuICB9LFxyXG4gIDk2MDoge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WkqeWkluWkqeWekycsXHJcbiAgICAgICdkZSc6ICdVbHRpbWEgVGh1bGUnLFxyXG4gICAgICAnZW4nOiAnVWx0aW1hIFRodWxlJyxcclxuICAgICAgJ2ZyJzogJ1VsdGltYSBUaHVsw6knLFxyXG4gICAgICAnamEnOiAn44Km44Or44OG44Kj44Oe44O744OI44Kl44O844OsJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDAsXHJcbiAgICAnb2Zmc2V0WSc6IDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDEwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzNixcclxuICB9LFxyXG4gIDk2MToge1xyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+WOhOWwlOW6h+aWrycsXHJcbiAgICAgICdkZSc6ICdFbHBpcycsXHJcbiAgICAgICdlbic6ICdFbHBpcycsXHJcbiAgICAgICdmcic6ICdFbHBpcycsXHJcbiAgICAgICdqYSc6ICfjgqjjg6vjg5TjgrknLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM0LFxyXG4gIH0sXHJcbiAgOTYyOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pen6JCo6Zu35a6JJyxcclxuICAgICAgJ2RlJzogJ0FsdC1TaGFybGF5YW4nLFxyXG4gICAgICAnZW4nOiAnT2xkIFNoYXJsYXlhbicsXHJcbiAgICAgICdmcic6ICdWaWVpbGxlIFNoYXJsYXlhbicsXHJcbiAgICAgICdqYSc6ICfjgqrjg7zjg6vjg4njg7vjgrfjg6Pjg7zjg6zjgqLjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM3LFxyXG4gIH0sXHJcbiAgOTYzOiB7XHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5ouJ5pyt572VJyxcclxuICAgICAgJ2RlJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2VuJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2ZyJzogJ1JhZHotYXQtSGFuJyxcclxuICAgICAgJ2phJzogJ+ODqeOCtuODj+ODsycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzgsXHJcbiAgfSxcclxuICA5NjY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDUsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5biM5pyb5LmL54Ku5Y+w77ya4oCc5aGU4oCdJyxcclxuICAgICAgJ2RlJzogJ0RlciBUdXJtLCBQYXJhZGlnbWVuYnJlY2hlcicsXHJcbiAgICAgICdlbic6ICdUaGUgVG93ZXIgYXQgUGFyYWRpZ21cXCdzIEJyZWFjaCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIGxhIENvbnRpbmdlbmNlJyxcclxuICAgICAgJ2phJzogJ+W4jOacm+ODjuegsuWPsO+8muOAjOWhlOOAjScsXHJcbiAgICAgICdrbyc6ICftnazrp53snZgg7Y+s64yAOiBcXCftg5FcXCcnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogODA4LFxyXG4gICAgJ29mZnNldFknOiAtNzcyLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAwLFxyXG4gIH0sXHJcbiAgOTY3OiB7XHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5bid5Zu95rW35LiK5Z+65Zyw5bmy6Ii55Z2eJyxcclxuICAgICAgJ2RlJzogJ1Ryb2NrZW5kb2NrIHZvbiBDYXN0cnVtIE1hcmludW0nLFxyXG4gICAgICAnZW4nOiAnQ2FzdHJ1bSBNYXJpbnVtIERyeWRvY2tzJyxcclxuICAgICAgJ2ZyJzogJ0NhbGUgc8OoY2hlIGRlIENhc3RydW0gTWFyaW51bScsXHJcbiAgICAgICdqYSc6ICfjgqvjgrnjg4bjg4Pjg6vjg6Djg7vjg57jg6rjg4zjg6Djg7vjg4njg6njgqTjg4njg4Pjgq8nLFxyXG4gICAgICAna28nOiAn7Lm07Iqk7Yq466O4IOuniOumrOuIlCDqsbTshKDqsbAnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk2OToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfprZTlr7znpZ7pl6jlt7TliKvloZQnLFxyXG4gICAgICAnZGUnOiAnRGVyIFR1cm0gdm9uIEJhYmlsJyxcclxuICAgICAgJ2VuJzogJ1RoZSBUb3dlciBvZiBCYWJpbCcsXHJcbiAgICAgICdmcic6ICdMYSB0b3VyIGRlIEJhYmlsJyxcclxuICAgICAgJ2phJzogJ+mtlOWwjuelnumWgCDjg5Djg5bjgqTjg6vjga7loZQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMjcwLFxyXG4gICAgJ29mZnNldFknOiAtMzAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAyOCxcclxuICB9LFxyXG4gIDk3MDoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnKvml6XmoJHmtbfkuIfnm7jmo67lm70nLFxyXG4gICAgICAnZGUnOiAnVmFuYXNwYXRpJyxcclxuICAgICAgJ2VuJzogJ1ZhbmFzcGF0aScsXHJcbiAgICAgICdmcic6ICdWYW5hc3BhdGknLFxyXG4gICAgICAnamEnOiAn57WC5pyr5qi55rW3IOODtOOCoeODiuOCueODkeODhuOCoycsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAyODAsXHJcbiAgICAnb2Zmc2V0WSc6IDgsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDE0MSxcclxuICB9LFxyXG4gIDk3Mjoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiAzLFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfliKnnu7TkuprmoZHlubvlt6fmiJgnLFxyXG4gICAgICAnZGUnOiAnVHJhdW1wcsO8ZnVuZyAtIExldmlhdGhhbicsXHJcbiAgICAgICdlbic6ICdUaGUgPEVtcGhhc2lzPldob3JsZWF0ZXI8L0VtcGhhc2lzPiAoVW5yZWFsKScsXHJcbiAgICAgICdmcic6ICdMZSBCcmlzZXVyIGRlIG1hcsOpZXMgKGlycsOpZWwpJyxcclxuICAgICAgJ2phJzogJ+W5u+ODquODtOOCoeOCpOOCouOCteODs+iojua7heaIpicsXHJcbiAgICAgICdrbyc6ICftmZgg66as67CU7J207Ja07ISgIO2GoOuyjOyghCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAzOCxcclxuICB9LFxyXG4gIDk3Mzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogMixcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmnIDnu4jlubvmg7PmnKvkuJbnu4jov7knLFxyXG4gICAgICAnZGUnOiAnRGFzIFN0ZXJuZW5ncmFiJyxcclxuICAgICAgJ2VuJzogJ1RoZSBEZWFkIEVuZHMnLFxyXG4gICAgICAnZnInOiAnTFxcJ0lzc3VlIGF1eCBJbXBhc3NlcycsXHJcbiAgICAgICdqYSc6ICfmnIDntYLlubvmg7Mg44Os44Og44OK44Oz44OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0zMTAsXHJcbiAgICAnb2Zmc2V0WSc6IDE1LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDQsXHJcbiAgfSxcclxuICA5NzQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5Yib6YCg546v5aKD5p6B5YyX6YCg54mp6ZmiJyxcclxuICAgICAgJ2RlJzogJ0t0aXNpcyBIeXBlcmJvcmVpYScsXHJcbiAgICAgICdlbic6ICdLdGlzaXMgSHlwZXJib3JlaWEnLFxyXG4gICAgICAnZnInOiAnTFxcJ0h5cGVyYm9yw6llJyxcclxuICAgICAgJ2phJzogJ+WJtemAoOeSsOWigyDjg5Ljg6Xjg5rjg6vjg5zjg6zjgqLpgKDnianpmaInLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogNDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xNTAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5NzU6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDI5LFxyXG4gICAgJ2V4VmVyc2lvbic6IDMsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+aJjuadnOivuuWwlOmrmOWOnycsXHJcbiAgICAgICdkZSc6ICdaYWRub3ItSG9jaGViZW5lJyxcclxuICAgICAgJ2VuJzogJ1phZG5vcicsXHJcbiAgICAgICdmcic6ICdIYXV0cyBwbGF0ZWF1eCBkZSBaYWRub3InLFxyXG4gICAgICAnamEnOiAn44K244OI44Kl44OO44Or6auY5Y6fJyxcclxuICAgICAgJ2tvJzogJ+yekO2KuOuFuOultCDqs6Dsm5AnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogMCxcclxuICAgICdvZmZzZXRZJzogMCxcclxuICAgICdzaXplRmFjdG9yJzogMTAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTMwLFxyXG4gIH0sXHJcbiAgOTc2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiAyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+S5kOWbremDveW4gueskeeskemVhycsXHJcbiAgICAgICdkZSc6ICdTbWlsZXRvbicsXHJcbiAgICAgICdlbic6ICdTbWlsZXRvbicsXHJcbiAgICAgICdmcic6ICdSaXNldHRlLXN1ci1sdW5lJyxcclxuICAgICAgJ2phJzogJ+alveWckumDveW4giDjgrnjg57jgqTjg6vjg4jjg7MnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTIyLFxyXG4gICAgJ29mZnNldFknOiAtNDIsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5Nzc6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDcsXHJcbiAgICAnZXhWZXJzaW9uJzogMyxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5q275paX6Iez6buO5piOJyxcclxuICAgICAgJ2RlJzogJ0thbXBmIGltIE1vcmdlbmdyYXVlbicsXHJcbiAgICAgICdlbic6ICdEZWF0aCBVbnRvIERhd24nLFxyXG4gICAgICAnZnInOiAnQXViZSBtZXVydHJpw6hyZScsXHJcbiAgICAgICdqYSc6ICfpu47mmI7jga7mrbvpl5gnLFxyXG4gICAgICAna28nOiAn7Jes66qF7J2YIOyCrO2IrCcsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAwLFxyXG4gICAgJ29mZnNldFknOiAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiAxMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMTQsXHJcbiAgfSxcclxuICA5Nzg6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5pif5rW35rex5bm95a+75Zug5pif5pm26ZWcJyxcclxuICAgICAgJ2RlJzogJ0RhcyBBaXRpYXNrb3AnLFxyXG4gICAgICAnZW4nOiAnVGhlIEFpdGlhc2NvcGUnLFxyXG4gICAgICAnZnInOiAnTGUgUHJpc21lIGRlIGxcXCdBaXRpYScsXHJcbiAgICAgICdqYSc6ICfmmJ/mtbfmvZzoiKog44Ki44Kk44OG44Kj44Kq44Oz5pif5pm26Y+hJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDgsXHJcbiAgICAnb2Zmc2V0WSc6IC01MDEsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDIwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDAsXHJcbiAgfSxcclxuICA5ODY6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn55S16ISR5qKm5aKD5pav5o+Q5qC8546b5ZubJyxcclxuICAgICAgJ2RlJzogJ1N0aWdtYS1Ib2xvbWV0cmllJyxcclxuICAgICAgJ2VuJzogJ1RoZSBTdGlnbWEgRHJlYW1zY2FwZScsXHJcbiAgICAgICdmcic6ICdSw6p2ZSDDqWxlY3RyaXF1ZSBkZSBTdGlnbWEtNCcsXHJcbiAgICAgICdqYSc6ICfpm7vohLPlpKLmg7Mg44K544OG44Kj44Kw44Oe44O744OV44Kp44O8JyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDE0NCxcclxuICAgICdvZmZzZXRZJzogLTE0LFxyXG4gICAgJ3NpemVGYWN0b3InOiAyMDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxNDAsXHJcbiAgfSxcclxuICA5OTI6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ1Byb3BoZXRpZSAtIFpvZGlhcmsnLFxyXG4gICAgICAnZW4nOiAnVGhlIERhcmsgSW5zaWRlJyxcclxuICAgICAgJ2ZyJzogJ0xlIENyYXTDqHJlIGRlcyBNYXJ0eXJzJyxcclxuICAgICAgJ2phJzogJ+OCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTM6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDQsXHJcbiAgICAnZXhWZXJzaW9uJzogNCxcclxuICAgICduYW1lJzoge1xyXG4gICAgICAnY24nOiAn5L2Q6L+q5Lqa5YWL5pqd5pqX5q2854Gt5oiYJyxcclxuICAgICAgJ2RlJzogJ0VzY2hhdG9zIC0gWm9kaWFyaycsXHJcbiAgICAgICdlbic6ICdUaGUgTWluc3RyZWxcXCdzIEJhbGxhZDogWm9kaWFya1xcJ3MgRmFsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmF0w6hyZSBkZXMgTWFydHlycyAoZXh0csOqbWUpJyxcclxuICAgICAgJ2phJzogJ+alteOCvuODh+OCo+OCouODvOOCr+iojua7heaIpicsXHJcbiAgICB9LFxyXG4gICAgJ29mZnNldFgnOiAtMTAwLFxyXG4gICAgJ29mZnNldFknOiAtMTAwLFxyXG4gICAgJ3NpemVGYWN0b3InOiA0MDAsXHJcbiAgICAnd2VhdGhlclJhdGUnOiAxMzksXHJcbiAgfSxcclxuICA5OTQ6IHtcclxuICAgICdjb250ZW50VHlwZSc6IDIyLFxyXG4gICAgJ2V4VmVyc2lvbic6IDAsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a7keeoveeBteauv+mXuemsvOebm+WutCcsXHJcbiAgICAgICdkZSc6ICdMdXN0aWdlcyBCYW5rZXR0JyxcclxuICAgICAgJ2VuJzogJ1RoZSBQaGFudG9tc1xcJyBGZWFzdCcsXHJcbiAgICAgICdmcic6ICdMZSBiYW5xdWV0IGNhdWNoZW1hcmRlc3F1ZScsXHJcbiAgICAgICdqYSc6ICfpgZPljJbppZflrrQg44Ob44O844Oz44OG44OD44OJ44OV44Kj44O844K544OIJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IDIwLFxyXG4gICAgJ29mZnNldFknOiAxMCxcclxuICAgICdzaXplRmFjdG9yJzogMjAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMCxcclxuICB9LFxyXG4gIDk5NToge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfmtbflvrfmnpfmrbznga3miJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gSHlkYWVseW4nLFxyXG4gICAgICAnZW4nOiAnVGhlIE1vdGhlcmNyeXN0YWwnLFxyXG4gICAgICAnZnInOiAnTGUgQ3Jpc3RhbC1tw6hyZScsXHJcbiAgICAgICdqYSc6ICfjg4/jgqTjg4fjg6rjg7PoqI7mu4XmiKYnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTM5LFxyXG4gIH0sXHJcbiAgOTk2OiB7XHJcbiAgICAnY29udGVudFR5cGUnOiA0LFxyXG4gICAgJ2V4VmVyc2lvbic6IDQsXHJcbiAgICAnbmFtZSc6IHtcclxuICAgICAgJ2NuJzogJ+a1t+W+t+ael+aZluWFieatvOeBreaImCcsXHJcbiAgICAgICdkZSc6ICdFc2NoYXRvcyAtIEh5ZGFlbHluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBNaW5zdHJlbFxcJ3MgQmFsbGFkOiBIeWRhZWx5blxcJ3MgQ2FsbCcsXHJcbiAgICAgICdmcic6ICdMZSBDcmlzdGFsLW3DqHJlIChleHRyw6ptZSknLFxyXG4gICAgICAnamEnOiAn5qW144OP44Kk44OH44Oq44Oz6KiO5ruF5oimJyxcclxuICAgIH0sXHJcbiAgICAnb2Zmc2V0WCc6IC0xMDAsXHJcbiAgICAnb2Zmc2V0WSc6IC0xMDAsXHJcbiAgICAnc2l6ZUZhY3Rvcic6IDQwMCxcclxuICAgICd3ZWF0aGVyUmF0ZSc6IDEzOSxcclxuICB9LFxyXG4gIDk5Nzoge1xyXG4gICAgJ2NvbnRlbnRUeXBlJzogNCxcclxuICAgICdleFZlcnNpb24nOiA0LFxyXG4gICAgJ25hbWUnOiB7XHJcbiAgICAgICdjbic6ICfnu4jnu5PkuYvmiJgnLFxyXG4gICAgICAnZGUnOiAnUHJvcGhldGllIC0gRW5kc8OkbmdlcmluJyxcclxuICAgICAgJ2VuJzogJ1RoZSBGaW5hbCBEYXknLFxyXG4gICAgICAnZnInOiAnTGUgUsOpcG9ucyBmaW5hbCcsXHJcbiAgICAgICdqYSc6ICfntYLnhInjga7miKbjgYQnLFxyXG4gICAgfSxcclxuICAgICdvZmZzZXRYJzogLTEwMCxcclxuICAgICdvZmZzZXRZJzogLTEwMCxcclxuICAgICdzaXplRmFjdG9yJzogNDAwLFxyXG4gICAgJ3dlYXRoZXJSYXRlJzogMTE2LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkYXRhO1xyXG4iLCJpbXBvcnQgeyBQYXJ0eSB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCBVdGlsIGZyb20gJy4vdXRpbCc7XHJcblxyXG5jb25zdCBlbXB0eVJvbGVUb1BhcnR5TmFtZXMgPSAoKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRhbms6IFtdLFxyXG4gICAgaGVhbGVyOiBbXSxcclxuICAgIGRwczogW10sXHJcbiAgICBjcmFmdGVyOiBbXSxcclxuICAgIGdhdGhlcmVyOiBbXSxcclxuICAgIG5vbmU6IFtdLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJ0eVRyYWNrZXIge1xyXG4gIGRldGFpbHM6IFBhcnR5W10gPSBbXTtcclxuICBwYXJ0eU5hbWVzXzogc3RyaW5nW10gPSBbXTtcclxuICBwYXJ0eUlkc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VOYW1lc186IHN0cmluZ1tdID0gW107XHJcbiAgYWxsaWFuY2VJZHNfOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG5hbWVUb1JvbGVfOiB7IFtuYW1lOiBzdHJpbmddOiBSb2xlIH0gPSB7fTtcclxuICBpZFRvTmFtZV86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHJvbGVUb1BhcnR5TmFtZXNfOiBSZWNvcmQ8Um9sZSwgc3RyaW5nW10+ID0gZW1wdHlSb2xlVG9QYXJ0eU5hbWVzKCk7XHJcblxyXG4gIC8vIEJpbmQgdGhpcyB0byBQYXJ0eUNoYW5nZWQgZXZlbnRzLlxyXG4gIG9uUGFydHlDaGFuZ2VkKGU6IHsgcGFydHk6IFBhcnR5W10gfSk6IHZvaWQge1xyXG4gICAgaWYgKCFlIHx8ICFlLnBhcnR5KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5kZXRhaWxzID0gZS5wYXJ0eTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHAgb2YgZS5wYXJ0eSkge1xyXG4gICAgICB0aGlzLmFsbGlhbmNlSWRzXy5wdXNoKHAuaWQpO1xyXG4gICAgICB0aGlzLmFsbGlhbmNlTmFtZXNfLnB1c2gocC5uYW1lKTtcclxuICAgICAgY29uc3Qgam9iTmFtZSA9IFV0aWwuam9iRW51bVRvSm9iKHAuam9iKTtcclxuICAgICAgY29uc3Qgcm9sZSA9IFV0aWwuam9iVG9Sb2xlKGpvYk5hbWUpO1xyXG4gICAgICB0aGlzLmlkVG9OYW1lX1twLmlkXSA9IHAubmFtZTtcclxuICAgICAgdGhpcy5uYW1lVG9Sb2xlX1twLm5hbWVdID0gcm9sZTtcclxuICAgICAgaWYgKHAuaW5QYXJ0eSkge1xyXG4gICAgICAgIHRoaXMucGFydHlJZHNfLnB1c2gocC5pZCk7XHJcbiAgICAgICAgdGhpcy5wYXJ0eU5hbWVzXy5wdXNoKHAubmFtZSk7XHJcbiAgICAgICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1tyb2xlXS5wdXNoKHAubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgLy8gb3JpZ2luYWwgZXZlbnQgZGF0YVxyXG4gICAgdGhpcy5kZXRhaWxzID0gW107XHJcbiAgICB0aGlzLnBhcnR5TmFtZXNfID0gW107XHJcbiAgICB0aGlzLnBhcnR5SWRzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZU5hbWVzXyA9IFtdO1xyXG4gICAgdGhpcy5hbGxpYW5jZUlkc18gPSBbXTtcclxuICAgIHRoaXMubmFtZVRvUm9sZV8gPSB7fTtcclxuICAgIHRoaXMuaWRUb05hbWVfID0ge307XHJcblxyXG4gICAgLy8gcm9sZSAtPiBbbmFtZXNdIGJ1dCBvbmx5IGZvciBwYXJ0eVxyXG4gICAgdGhpcy5yb2xlVG9QYXJ0eU5hbWVzXyA9IGVtcHR5Um9sZVRvUGFydHlOYW1lcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgcGxheWVycyBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIGdldCBwYXJ0eU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5TmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcnR5SWRzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnBhcnR5SWRzXztcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIHBsYXllcnMgaW4geW91ciBhbGxpYW5jZVxyXG4gIGdldCBhbGxpYW5jZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLmFsbGlhbmNlTmFtZXNfO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgbmFtZXMgb2YgdGFua3MgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBnZXQgdGFua05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWyd0YW5rJ107XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBuYW1lcyBvZiBoZWFsZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGhlYWxlck5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydoZWFsZXInXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgYW4gYXJyYXkgb2YgdGhlIG5hbWVzIG9mIGRwcyBwbGF5ZXJzIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5XHJcbiAgZ2V0IGRwc05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnJvbGVUb1BhcnR5TmFtZXNfWydkcHMnXTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBwYXJ0aWN1bGFyIHJvbGVcclxuICBpc1JvbGUobmFtZTogc3RyaW5nLCByb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWVUb1JvbGVfW25hbWVdID09PSByb2xlO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaW4geW91ciBhbGxpYW5jZSBpcyBhIHRhbmtcclxuICBpc1RhbmsobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ3RhbmsnKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGluIHlvdXIgYWxsaWFuY2UgaXMgYSBoZWFsZXJcclxuICBpc0hlYWxlcihuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUm9sZShuYW1lLCAnaGVhbGVyJyk7XHJcbiAgfVxyXG5cclxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIG5hbWVkIHBsYXllciBpbiB5b3VyIGFsbGlhbmNlIGlzIGEgZHBzXHJcbiAgaXNEUFMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JvbGUobmFtZSwgJ2RwcycpO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0cnVlIGlmIHRoZSBuYW1lZCBwbGF5ZXIgaXMgaW4geW91ciBpbW1lZGlhdGUgcGFydHlcclxuICBpblBhcnR5KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIHJldHVybnMgdHJ1ZSBpZiB0aGUgbmFtZWQgcGxheWVyIGlzIGluIHlvdXIgYWxsaWFuY2VcclxuICBpbkFsbGlhbmNlKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsaWFuY2VOYW1lcy5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBhIG5hbWVkIHBsYXllciwgcmV0dXJucyB0aGUgb3RoZXIgdGFuayBpbiB5b3VyIGltbWVkaWF0ZSBwYXJ0eVxyXG4gIC8vIGlmIG5hbWVkIHBsYXllciBpcyBub3QgYSB0YW5rLCBvciB0aGVyZSdzIG5vdCBleGFjdGx5IHR3byB0YW5rc1xyXG4gIC8vIGluIHlvdXIgaW1tZWRpYXRlIHBhcnR5LCByZXR1cm5zIG51bGwuXHJcbiAgb3RoZXJUYW5rKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMudGFua05hbWVzO1xyXG4gICAgaWYgKG5hbWVzLmxlbmd0aCAhPT0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgaWYgKG5hbWVzWzBdID09PSBuYW1lKVxyXG4gICAgICByZXR1cm4gbmFtZXNbMV07XHJcbiAgICBpZiAobmFtZXNbMV0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1swXTtcclxuICB9XHJcblxyXG4gIC8vIHNlZTogb3RoZXJUYW5rLCBidXQgZm9yIGhlYWxlcnMuXHJcbiAgb3RoZXJIZWFsZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IG5hbWVzID0gdGhpcy5yb2xlVG9QYXJ0eU5hbWVzX1snaGVhbGVyJ107XHJcbiAgICBpZiAobmFtZXMubGVuZ3RoICE9PSAyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAobmFtZXNbMF0gPT09IG5hbWUpXHJcbiAgICAgIHJldHVybiBuYW1lc1sxXTtcclxuICAgIGlmIChuYW1lc1sxXSA9PT0gbmFtZSlcclxuICAgICAgcmV0dXJuIG5hbWVzWzBdO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0dXJucyB0aGUgam9iIG5hbWUgb2YgdGhlIHNwZWNpZmllZCBwYXJ0eSBtZW1iZXJcclxuICBqb2JOYW1lKG5hbWU6IHN0cmluZyk6IEpvYiB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBwYXJ0eUluZGV4ID0gdGhpcy5wYXJ0eU5hbWVzLmluZGV4T2YobmFtZSk7XHJcbiAgICBpZiAocGFydHlJbmRleCA+PSAwKVxyXG4gICAgICByZXR1cm4gVXRpbC5qb2JFbnVtVG9Kb2IodGhpcy5kZXRhaWxzW3BhcnR5SW5kZXhdPy5qb2IgYXMgbnVtYmVyKTtcclxuICB9XHJcblxyXG4gIG5hbWVGcm9tSWQoaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFRvTmFtZV9baWRdO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb29zZVRyaWdnZXJTZXQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgVHJpZ2dlckZpZWxkLFxyXG4gIFRyaWdnZXJPdXRwdXQsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcblxyXG4vLyBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgYmFzZSBvcHRpb25zIHRoYXQgcmFpZGJvc3MgZXhwZWN0cyB0byBzZWUuXHJcblxyXG4vLyBCYWNrd2FyZHMgY29tcGF0IGZvciB0aGlzIG9sZCBzdHlsZSBvZiBvdmVycmlkaW5nIHRyaWdnZXJzLlxyXG4vLyBUT0RPOiB3ZSBzaG91bGQgcHJvYmFibHkgZGVwcmVjYXRlIGFuZCByZW1vdmUgdGhpcy5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlck9wdGlvbiA9IFBhcnRpYWw8e1xyXG4gIFRleHRBbGVydDogYm9vbGVhbjtcclxuICBTb3VuZEFsZXJ0OiBib29sZWFuO1xyXG4gIFNwZWVjaEFsZXJ0OiBib29sZWFuO1xyXG4gIEdyb3VwU3BlZWNoQWxlcnQ6IGJvb2xlYW47IC8vIFRPRE86IHdlIHNob3VsZCByZW1vdmUgdGhpc1xyXG4gIFNvdW5kT3ZlcnJpZGU6IHN0cmluZztcclxuICBWb2x1bWVPdmVycmlkZTogbnVtYmVyO1xyXG4gIENvbmRpdGlvbjogVHJpZ2dlckZpZWxkPFJhaWRib3NzRGF0YSwgTWF0Y2hlcywgYm9vbGVhbj47XHJcbiAgSW5mb1RleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGVydFRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBBbGFybVRleHQ6IFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICBUVFNUZXh0OiBUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz47XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVDb25maWcgPSBQYXJ0aWFsPHtcclxuICBJZ25vcmU6IHN0cmluZ1tdO1xyXG4gIFJlbmFtZTogeyBbdGV4dDogc3RyaW5nXTogc3RyaW5nIH07XHJcbn0+O1xyXG5cclxuZXhwb3J0IHR5cGUgUGVyVHJpZ2dlckF1dG9Db25maWcgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH07XHJcbmV4cG9ydCB0eXBlIFBlclRyaWdnZXJPcHRpb25zID0geyBbdHJpZ2dlcklkOiBzdHJpbmddOiBQZXJUcmlnZ2VyT3B0aW9uIH07XHJcbmV4cG9ydCB0eXBlIERpc2FibGVkVHJpZ2dlcnMgPSB7IFt0cmlnZ2VySWQ6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuZXhwb3J0IHR5cGUgUGVyWm9uZVRpbWVsaW5lQ29uZmlnID0geyBbem9uZUlkOiBudW1iZXJdOiBUaW1lbGluZUNvbmZpZyB9O1xyXG5cclxudHlwZSBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHsgW2dhbWVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICBJbmZvU291bmQ6IHN0cmluZztcclxuICBBbGVydFNvdW5kOiBzdHJpbmc7XHJcbiAgQWxhcm1Tb3VuZDogc3RyaW5nO1xyXG4gIExvbmdTb3VuZDogc3RyaW5nO1xyXG4gIFB1bGxTb3VuZDogc3RyaW5nO1xyXG4gIEF1ZGlvQWxsb3dlZDogYm9vbGVhbjtcclxuICBEaXNhYmxlZFRyaWdnZXJzOiBEaXNhYmxlZFRyaWdnZXJzO1xyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiBQZXJUcmlnZ2VyQXV0b0NvbmZpZztcclxuICBQZXJUcmlnZ2VyT3B0aW9uczogUGVyVHJpZ2dlck9wdGlvbnM7XHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiBQZXJab25lVGltZWxpbmVDb25maWc7XHJcbiAgVHJpZ2dlcnM6IExvb3NlVHJpZ2dlclNldFtdO1xyXG4gIFBsYXllck5hbWVPdmVycmlkZT86IHN0cmluZztcclxuICBJc1JlbW90ZVJhaWRib3NzOiBib29sZWFuO1xyXG4gIC8vIFRyYW5zZm9ybXMgdGV4dCBiZWZvcmUgcGFzc2luZyBpdCB0byBUVFMuXHJcbiAgVHJhbnNmb3JtVHRzOiAodGV4dDogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBUaGVzZSBvcHRpb25zIGFyZSBvbmVzIHRoYXQgYXJlIG5vdCBhdXRvLWRlZmluZWQgYnkgcmFpZGJvc3NfY29uZmlnLmpzLlxyXG5jb25zdCBkZWZhdWx0UmFpZGJvc3NOb25Db25maWdPcHRpb25zOiBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMgPSB7XHJcbiAgUGxheWVyTmlja3M6IHt9LFxyXG5cclxuICBJbmZvU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL2ZyZWVzb3VuZC9wZXJjdXNzaW9uX2hpdC53ZWJtJyxcclxuICBBbGVydFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0FsZXJ0LndlYm0nLFxyXG4gIEFsYXJtU291bmQ6ICcuLi8uLi9yZXNvdXJjZXMvc291bmRzL0JpZ1dpZ3MvQWxhcm0ud2VibScsXHJcbiAgTG9uZ1NvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9CaWdXaWdzL0xvbmcud2VibScsXHJcbiAgUHVsbFNvdW5kOiAnLi4vLi4vcmVzb3VyY2VzL3NvdW5kcy9mcmVlc291bmQvc29uYXIud2VibScsXHJcblxyXG4gIEF1ZGlvQWxsb3dlZDogdHJ1ZSxcclxuXHJcbiAgRGlzYWJsZWRUcmlnZ2Vyczoge30sXHJcblxyXG4gIFBlclRyaWdnZXJBdXRvQ29uZmlnOiB7fSxcclxuICBQZXJUcmlnZ2VyT3B0aW9uczoge30sXHJcbiAgUGVyWm9uZVRpbWVsaW5lQ29uZmlnOiB7fSxcclxuXHJcbiAgVHJpZ2dlcnM6IFtdLFxyXG5cclxuICBJc1JlbW90ZVJhaWRib3NzOiBmYWxzZSxcclxuXHJcbiAgVHJhbnNmb3JtVHRzOiAodCkgPT4gdCxcclxufTtcclxuXHJcbi8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIGdldCB0aGlzIHR5cGUgZnJvbSByYWlkYm9zc19jb25maWc/P1xyXG4vLyBUaGVzZSB2YWx1ZXMgYXJlIG92ZXJ3cml0dGVuIGFuZCBhcmUganVzdCBoZXJlIGZvciB0eXBpbmcuXHJcbmNvbnN0IGRlZmF1bHRSYWlkYm9zc0NvbmZpZ09wdGlvbnMgPSB7XHJcbiAgRGVidWc6IGZhbHNlLFxyXG4gIERlZmF1bHRBbGVydE91dHB1dDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgQWxlcnRzTGFuZ3VhZ2U6IHVuZGVmaW5lZCBhcyAoTGFuZyB8IHVuZGVmaW5lZCksXHJcbiAgVGltZWxpbmVMYW5ndWFnZTogdW5kZWZpbmVkIGFzIChMYW5nIHwgdW5kZWZpbmVkKSxcclxuICBUaW1lbGluZUVuYWJsZWQ6IHRydWUsXHJcbiAgQWxlcnRzRW5hYmxlZDogdHJ1ZSxcclxuICBTaG93VGltZXJCYXJzQXRTZWNvbmRzOiAzMCxcclxuICBLZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHM6IDAuNyxcclxuICBCYXJFeHBpcmVzU29vblNlY29uZHM6IDYsXHJcbiAgTWF4TnVtYmVyT2ZUaW1lckJhcnM6IDYsXHJcbiAgRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUFsZXJ0VGV4dEZvclNlY29uZHM6IDMsXHJcbiAgRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kczogMyxcclxuICBBbGFybVNvdW5kVm9sdW1lOiAxLFxyXG4gIEFsZXJ0U291bmRWb2x1bWU6IDEsXHJcbiAgSW5mb1NvdW5kVm9sdW1lOiAxLFxyXG4gIExvbmdTb3VuZFZvbHVtZTogMSxcclxuICBQdWxsU291bmRWb2x1bWU6IDEsXHJcbiAgUnVtYmxlRW5hYmxlZDogZmFsc2UsXHJcbiAgSW5mb1J1bWJsZUR1cmF0aW9uOiA0MDAsXHJcbiAgSW5mb1J1bWJsZVdlYWs6IDAuNSxcclxuICBJbmZvUnVtYmxlU3Ryb25nOiAwLFxyXG4gIEFsZXJ0UnVtYmxlRHVyYXRpb246IDUwMCxcclxuICBBbGVydFJ1bWJsZVdlYWs6IDAsXHJcbiAgQWxlcnRSdW1ibGVTdHJvbmc6IDAuNSxcclxuICBBbGFybVJ1bWJsZUR1cmF0aW9uOiA3NTAsXHJcbiAgQWxhcm1SdW1ibGVXZWFrOiAwLjc1LFxyXG4gIEFsYXJtUnVtYmxlU3Ryb25nOiAwLjc1LFxyXG4gIGNhY3Rib3RXb3JtaG9sZVN0cmF0OiBmYWxzZSxcclxuICBjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQ6IGZhbHNlLFxyXG59O1xyXG50eXBlIFJhaWRib3NzQ29uZmlnT3B0aW9ucyA9IHR5cGVvZiBkZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYWlkYm9zc09wdGlvbnNcclxuICBleHRlbmRzIEJhc2VPcHRpb25zLCBSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMsIFJhaWRib3NzQ29uZmlnT3B0aW9ucyB7fVxyXG5cclxuLy8gU2VlIHVzZXIvcmFpZGJvc3MtZXhhbXBsZS5qcyBmb3IgZG9jdW1lbnRhdGlvbi5cclxuY29uc3QgT3B0aW9uczogUmFpZGJvc3NPcHRpb25zID0ge1xyXG4gIC4uLlVzZXJDb25maWcuZ2V0RGVmYXVsdEJhc2VPcHRpb25zKCksXHJcbiAgLi4uZGVmYXVsdFJhaWRib3NzTm9uQ29uZmlnT3B0aW9ucyxcclxuICAuLi5kZWZhdWx0UmFpZGJvc3NDb25maWdPcHRpb25zLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgT3B0aW9ucztcclxuIiwiLy8gVE9ETzogbWF5YmUgdGhpcyBzaG91bGQgYmUgc3RydWN0dXJlZCBpZGVudGljYWxseSB0byBhIHRpbWVsaW5lUmVwbGFjZSBzZWN0aW9uLlxyXG5cclxuaW1wb3J0IHsgTGFuZywgTm9uRW5MYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcblxyXG4vLyBJdCdzIGF3a3dhcmQgdG8gcmVmZXIgdG8gdGhlc2Ugc3RyaW5nIGtleXMsIHNvIG5hbWUgdGhlbSBhcyByZXBsYWNlU3luY1trZXlzLnNlYWxLZXldLlxyXG5leHBvcnQgY29uc3Qgc3luY0tleXMgPSB7XHJcbiAgLy8gTWF0Y2ggUmVnZXhlcywgTmV0UmVnZXhlcywgYW5kIHRpbWVsaW5lIGNvbnN0cnVjdGlvbnMgb2Ygc2VhbCBsb2cgbGluZXMuXHJcbiAgLy8gRklYTUU6IFRoaXMgc2VhbCByZWdleCBpbmNsdWRlcyBhbiBvcHRpb25hbCBzZWNvbmQgY29sb24sIGFzIFwiMDgzOTo6P1wiXCIuXHJcbiAgLy8gT25jZSB3ZSBoYXZlIGNvbXBsZXRlbHkgY29udmVydGVkIHRoaW5ncyBmb3IgNi4wLFxyXG4gIC8vIHdlIHNob3VsZCBjb21lIGJhY2sgaGVyZSBhbmQgbWFrZSB0aGUgZG91YmxlZCBjb2xvbiBub24tb3B0aW9uYWwuXHJcbiAgc2VhbDogJyg/PD0wMDowODM5Ojp8MDBcXFxcfFtefF0qXFxcXHwwODM5XFxcXHxcXFxcfCkoLiopIHdpbGwgYmUgc2VhbGVkIG9mZig/OiBpbiAoPzpbMC05XSsgc2Vjb25kcyk/KT8nLFxyXG4gIHVuc2VhbDogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gIGVuZ2FnZTogJ0VuZ2FnZSEnLFxyXG59O1xyXG5cclxuY29uc3QgdGV4dEtleXMgPSB7XHJcbiAgLy8gTWF0Y2ggZGlyZWN0aW9ucyBpbiByZXBsYWNlVGV4dFxyXG4gIC8vIGVnOiBgKE4pYCwgYChTVylgLCBgKE5FL05XKWAsIGV0Yy5cclxuICBFOiAnKD88PSBcXFxcKHxcXFxcLylFKD89XFxcXCl8XFxcXC8pJyxcclxuICBOOiAnKD88PSBcXFxcKHxcXFxcLylOKD89XFxcXCl8XFxcXC8pJyxcclxuICBTOiAnKD88PSBcXFxcKHxcXFxcLylTKD89XFxcXCl8XFxcXC8pJyxcclxuICBXOiAnKD88PSBcXFxcKHxcXFxcLylXKD89XFxcXCl8XFxcXC8pJyxcclxuICBORTogJyg/PD0gXFxcXCh8XFxcXC8pTkUoPz1cXFxcKXxcXFxcLyknLFxyXG4gIE5XOiAnKD88PSBcXFxcKHxcXFxcLylOVyg/PVxcXFwpfFxcXFwvKScsXHJcbiAgU0U6ICcoPzw9IFxcXFwofFxcXFwvKVNFKD89XFxcXCl8XFxcXC8pJyxcclxuICBTVzogJyg/PD0gXFxcXCh8XFxcXC8pU1coPz1cXFxcKXxcXFxcLyknLFxyXG4gIC8vIE1hdGNoIFJvbGVzIGluIHJlcGxhY2VUZXh0XHJcbiAgLy8gZWc6IGAoVGFuaylgLCBgKEhlYWxlcilgLCBgKERQUylgLCBldGNcclxuICBUYW5rOiAnKD88PSBcXFxcKHxcXFxcLylUYW5rcz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIEhlYWxlcjogJyg/PD0gXFxcXCh8XFxcXC8pSGVhbGVycz8oPz1cXFxcKXxcXFxcLyknLFxyXG4gIERQUzogJyg/PD0gXFxcXCh8XFxcXC8pRFBTKD89XFxcXCl8XFxcXC8pJyxcclxuICAvLyBNYXRjaCBgLS0xLS1gIHN0eWxlIHRleHQuXHJcbiAgTnVtYmVyOiAnLS0oXFxcXHMqXFxcXGQrXFxcXHMqKS0tJyxcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbW1vblJlcGxhY2VtZW50ID0ge1xyXG4gIHJlcGxhY2VTeW5jOiB7XHJcbiAgICBbcmVwbGFjZUtleTogc3RyaW5nXTogeyBba2V5IGluIExhbmddPzogc3RyaW5nIH07XHJcbiAgfTtcclxuICByZXBsYWNlVGV4dDoge1xyXG4gICAgW3JlcGxhY2VLZXk6IHN0cmluZ106XHJcbiAgICAgICYge1xyXG4gICAgICAgIFtrZXkgaW4gTm9uRW5MYW5nXT86IHN0cmluZztcclxuICAgICAgfVxyXG4gICAgICAmIHtcclxuICAgICAgICAvLyBkb24ndCBzZXQgdGhpcyBrZXksIGJ1dCBhbGxvdyB1cyB0byBhc2sgaWYgaXQgZXhpc3RzXHJcbiAgICAgICAgZW4/OiBuZXZlcjtcclxuICAgICAgfTtcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbW1vblJlcGxhY2VtZW50OiBDb21tb25SZXBsYWNlbWVudCA9IHtcclxuICByZXBsYWNlU3luYzoge1xyXG4gICAgW3N5bmNLZXlzLnNlYWxdOiB7XHJcbiAgICAgIGVuOiAnJDEgd2lsbCBiZSBzZWFsZWQgb2ZmJyxcclxuICAgICAgZGU6XHJcbiAgICAgICAgJ05vY2ggMTUgU2VrdW5kZW4sIGJpcyBzaWNoICg/Oig/OmRlcnxkaWV8ZGFzKSApPyg/Olp1Z2FuZyB6dSg/OltybV18IGRlbik/ICk/JDEgc2NobGllw590JyxcclxuICAgICAgZnI6ICdGZXJtZXR1cmUgZCg/OmV8dXxlcykgKD86bFxcJ3xsYSB8bGVzPyApPyQxIGRhbnMnLFxyXG4gICAgICBqYTogJyQx44Gu5bCB6Y6W44G+44Gn44GC44GoJyxcclxuICAgICAgY246ICfot50kMeiiq+WwgemUgei/mOaciScsXHJcbiAgICAgIGtvOiAnMTXstIgg7ZuE7JeQICQxKD867J20fOqwgCkg67SJ7IeE65Cp64uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMudW5zZWFsXToge1xyXG4gICAgICBlbjogJ2lzIG5vIGxvbmdlciBzZWFsZWQnLFxyXG4gICAgICBkZTogJ8O2ZmZuZXQgc2ljaCAoPzp3aWVkZXJ8ZXJuZXV0KScsXHJcbiAgICAgIGZyOiAnT3V2ZXJ0dXJlICcsXHJcbiAgICAgIGphOiAn44Gu5bCB6Y6W44GM6Kej44GL44KM44GfJyxcclxuICAgICAgY246ICfnmoTlsIHplIHop6PpmaTkuoYnLFxyXG4gICAgICBrbzogJ+ydmCDrtInsh4TqsIAg7ZW07KCc65CY7JeI7Iq164uI64ukJyxcclxuICAgIH0sXHJcbiAgICBbc3luY0tleXMuZW5nYWdlXToge1xyXG4gICAgICBlbjogJ0VuZ2FnZSEnLFxyXG4gICAgICBkZTogJ1N0YXJ0IScsXHJcbiAgICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWUnLFxyXG4gICAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICAgIGNuOiAn5oiY5paX5byA5aeL77yBJyxcclxuICAgICAga286ICfsoITtiKwg7Iuc7J6RIScsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgcmVwbGFjZVRleHQ6IHtcclxuICAgICctLWFkZHMgc3Bhd24tLSc6IHtcclxuICAgICAgZGU6ICctLUFkZHMgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZFxcJ2FkZHMtLScsXHJcbiAgICAgIGphOiAnLS3pm5HprZrlh7rnj74tLScsXHJcbiAgICAgIGNuOiAnLS3lsI/mgKrlh7rnjrAtLScsXHJcbiAgICAgIGtvOiAnLS3sq4Qg7IaM7ZmYLS0nLFxyXG4gICAgfSxcclxuICAgICctLWFkZHMgdGFyZ2V0YWJsZS0tJzoge1xyXG4gICAgICBkZTogJy0tQWRkcyBhbnZpc2llcmJhci0tJyxcclxuICAgICAgZnI6ICctLUFkZHMgY2libGFibGVzLS0nLFxyXG4gICAgICBqYTogJy0t6ZuR6a2a44K/44O844Ky44OD44OI5Y+v6IO9LS0nLFxyXG4gICAgICBjbjogJy0t5bCP5oCq5Y+v6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7KuEIO2DgOqynyDqsIDriqUtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2VudGVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1NaXR0ZS0tJyxcclxuICAgICAgZnI6ICctLUNlbnRyZS0tJyxcclxuICAgICAgamE6ICctLeOCu+ODs+OCv+ODvC0tJyxcclxuICAgICAgY246ICctLeS4reWkri0tJyxcclxuICAgICAga286ICctLeykkeyVmS0tJyxcclxuICAgIH0sXHJcbiAgICAnXFxcXChjZW50ZXJcXFxcKSc6IHtcclxuICAgICAgZGU6ICcoTWl0dGUpJyxcclxuICAgICAgZnI6ICcoQ2VudHJlKScsXHJcbiAgICAgIGphOiAnKOOCu+ODs+OCv+ODvCknLFxyXG4gICAgICBjbjogJyjkuK3lpK4pJyxcclxuICAgICAga286ICco7KSR7JWZKScsXHJcbiAgICB9LFxyXG4gICAgJy0tY2xvbmVzIGFwcGVhci0tJzoge1xyXG4gICAgICBkZTogJy0tS2xvbmUgZXJzY2hlaW5lbi0tJyxcclxuICAgICAgZnI6ICctLUFwcGFyaXRpb24gZGVzIGNsb25lcy0tJyxcclxuICAgICAgamE6ICctLeW5u+W9seWHuuePvi0tJyxcclxuICAgICAgY246ICctLeW5u+W9seWHuueOsC0tJyxcclxuICAgICAga286ICctLeu2hOyLoCDshoztmZgtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tY29ybmVyLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1FY2tlLS0nLFxyXG4gICAgICBmcjogJy0tQ29pbi0tJyxcclxuICAgICAgamE6ICctLeOCs+ODvOODiuODvC0tJyxcclxuICAgICAgY246ICctLeinkuiQvS0tJyxcclxuICAgICAga286ICctLeq1rOyEnS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1kcHMgYnVybi0tJzoge1xyXG4gICAgICBkZTogJy0tRFBTIGJ1cm4tLScsXHJcbiAgICAgIGZyOiAnLS1CdXJuIGRwcy0tJyxcclxuICAgICAgamE6ICctLeeBq+WKm+WHuuOBmy0tJyxcclxuICAgICAgY246ICctLei9rOeBqy0tJyxcclxuICAgICAga286ICctLeuUnCDssrTtgawtLScsXHJcbiAgICB9LFxyXG4gICAgJy0tZWFzdC0tJzoge1xyXG4gICAgICBkZTogJy0tT3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3mnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJwtLScsXHJcbiAgICAgIGtvOiAnLS3rj5nsqr0tLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoZWFzdFxcXFwpJzoge1xyXG4gICAgICBkZTogJyhPc3RlbiknLFxyXG4gICAgICBmcjogJyhFc3QpJyxcclxuICAgICAgamE6ICco5p2xKScsXHJcbiAgICAgIGNuOiAnKOS4nCknLFxyXG4gICAgICBrbzogJyjrj5nsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnRW5yYWdlJzoge1xyXG4gICAgICBkZTogJ0ZpbmFsYW5ncmlmZicsXHJcbiAgICAgIGZyOiAnRW5yYWdlJyxcclxuICAgICAgamE6ICfmmYLplpPliIfjgownLFxyXG4gICAgICBjbjogJ+eLguaatCcsXHJcbiAgICAgIGtvOiAn7KCE66m46riwJyxcclxuICAgIH0sXHJcbiAgICAnLS1mcm96ZW4tLSc6IHtcclxuICAgICAgZGU6ICctLWVpbmdlZnJvcmVuLS0nLFxyXG4gICAgICBmcjogJy0tR2Vsw6ktLScsXHJcbiAgICAgIGphOiAnLS3lh43ntZAtLScsXHJcbiAgICAgIGNuOiAnLS3lhrvnu5MtLScsXHJcbiAgICAgIGtvOiAnLS3ruZnqsrAtLScsXHJcbiAgICB9LFxyXG4gICAgJy0taW4tLSc6IHtcclxuICAgICAgZGU6ICctLVJlaW4tLScsXHJcbiAgICAgIGZyOiAnLS1JbnTDqXJpZXVyLS0nLFxyXG4gICAgICBqYTogJy0t5LitLS0nLFxyXG4gICAgICBjbjogJy0t5YaFLS0nLFxyXG4gICAgICBrbzogJy0t7JWILS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKEluXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJlaW4pJyxcclxuICAgICAgZnI6ICcoSW50w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjkuK0pJyxcclxuICAgICAgY246ICco5YaFKScsXHJcbiAgICAgIGtvOiAnKOyViCknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKGlubmVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGlubmVuKScsXHJcbiAgICAgIGZyOiAnKGludMOpcmlldXIpJyxcclxuICAgICAgamE6ICco5LitKScsXHJcbiAgICAgIGNuOiAnKOWGhSknLFxyXG4gICAgICBrbzogJyjslYgpJyxcclxuICAgIH0sXHJcbiAgICAnLS1qdW1wLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1TcHJ1bmctLScsXHJcbiAgICAgIGZyOiAnLS1TYXV0LS0nLFxyXG4gICAgICBqYTogJy0t44K444Oj44Oz44OXLS0nLFxyXG4gICAgICBjbjogJy0t6LezLS0nLFxyXG4gICAgICBrbzogJy0t7KCQ7ZSELS0nLFxyXG4gICAgfSxcclxuICAgICctLWtub2NrYmFjay0tJzoge1xyXG4gICAgICBkZTogJy0tUsO8Y2tzdG/Dny0tJyxcclxuICAgICAgZnI6ICctLVBvdXNzw6llLS0nLFxyXG4gICAgICBqYTogJy0t44OO44OD44Kv44OQ44OD44KvLS0nLFxyXG4gICAgICBjbjogJy0t5Ye76YCALS0nLFxyXG4gICAgICBrbzogJy0t64SJ67CxLS0nLFxyXG4gICAgfSxcclxuICAgICctLW1pZGRsZS0tJzoge1xyXG4gICAgICBkZTogJy0tTWl0dGUtLScsXHJcbiAgICAgIGZyOiAnLS1NaWxpZXUtLScsXHJcbiAgICAgIGphOiAnLS3kuK3lpK4tLScsXHJcbiAgICAgIGNuOiAnLS3kuK3pl7QtLScsXHJcbiAgICAgIGtvOiAnLS3spJHslZktLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwobWlkZGxlXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE1pdHRlKScsXHJcbiAgICAgIGZyOiAnKE1pbGlldSknLFxyXG4gICAgICBqYTogJyjkuK3lpK4pJyxcclxuICAgICAgY246ICco5Lit6Ze0KScsXHJcbiAgICAgIGtvOiAnKOykkeyVmSknLFxyXG4gICAgfSxcclxuICAgICctLW5vcnRoLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3JkZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLS0nLFxyXG4gICAgICBqYTogJy0t5YyXLS0nLFxyXG4gICAgICBjbjogJy0t5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG5vcnRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKE5vcmRlbiknLFxyXG4gICAgICBmcjogJyhOb3JkKScsXHJcbiAgICAgIGphOiAnKOWMlyknLFxyXG4gICAgICBjbjogJyjljJcpJyxcclxuICAgICAga286ICco67aB7Kq9KScsXHJcbiAgICB9LFxyXG4gICAgJy0tbm9ydGhlYXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Ob3Jkb3N0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLUVzdC0tJyxcclxuICAgICAgamE6ICctLeWMl+adsS0tJyxcclxuICAgICAgY246ICctLeS4nOWMly0tJyxcclxuICAgICAga286ICctLeu2geuPmS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1ub3J0aHdlc3QtLSc6IHtcclxuICAgICAgZGU6ICctLU5vcmR3ZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1Ob3JkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5YyX6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5YyXLS0nLFxyXG4gICAgICBrbzogJy0t67aB7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLW91dC0tJzoge1xyXG4gICAgICBkZTogJy0tUmF1cy0tJyxcclxuICAgICAgZnI6ICctLUV4dMOpcmlldXItLScsXHJcbiAgICAgIGphOiAnLS3lpJYtLScsXHJcbiAgICAgIGNuOiAnLS3lpJYtLScsXHJcbiAgICAgIGtvOiAnLS3rsJYtLScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwoT3V0XFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFJhdXMpJyxcclxuICAgICAgZnI6ICcoRXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSWKScsXHJcbiAgICAgIGtvOiAnKOuwliknLFxyXG4gICAgfSxcclxuICAgICdcXFxcKG91dGVyXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKGF1w59lbiknLFxyXG4gICAgICBmcjogJyhleHTDqXJpZXVyKScsXHJcbiAgICAgIGphOiAnKOWkliknLFxyXG4gICAgICBjbjogJyjlpJYpJyxcclxuICAgICAga286ICco67CWKScsXHJcbiAgICB9LFxyXG4gICAgJ1xcXFwob3V0c2lkZVxcXFwpJzoge1xyXG4gICAgICBkZTogJyhEcmF1w59lbiknLFxyXG4gICAgICBmcjogJyjDgCBsXFwnZXh0w6lyaWV1ciknLFxyXG4gICAgICBqYTogJyjlpJYpJyxcclxuICAgICAgY246ICco5aSW6Z2iKScsXHJcbiAgICAgIGtvOiAnKOuwlOq5pSknLFxyXG4gICAgfSxcclxuICAgICctLXJvdGF0ZS0tJzoge1xyXG4gICAgICBkZTogJy0tcm90aWVyZW4tLScsXHJcbiAgICAgIGZyOiAnLS1yb3RhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeWbnui7oi0tJyxcclxuICAgICAgY246ICctLeaXi+i9rC0tJyxcclxuICAgICAga286ICctLe2ajOyghC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aC0tJzoge1xyXG4gICAgICBkZTogJy0tU8O8ZGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLS0nLFxyXG4gICAgICBqYTogJy0t5Y2XLS0nLFxyXG4gICAgICBjbjogJy0t5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7Kq9LS0nLFxyXG4gICAgfSxcclxuICAgICdcXFxcKHNvdXRoXFxcXCknOiB7XHJcbiAgICAgIGRlOiAnKFPDvGRlbiknLFxyXG4gICAgICBmcjogJyhTdWQpJyxcclxuICAgICAgamE6ICco5Y2XKScsXHJcbiAgICAgIGNuOiAnKOWNlyknLFxyXG4gICAgICBrbzogJyjrgqjsqr0pJyxcclxuICAgIH0sXHJcbiAgICAnLS1zb3V0aGVhc3QtLSc6IHtcclxuICAgICAgZGU6ICctLVPDvGRvc3Rlbi0tJyxcclxuICAgICAgZnI6ICctLVN1ZC1Fc3QtLScsXHJcbiAgICAgIGphOiAnLS3ljZfmnbEtLScsXHJcbiAgICAgIGNuOiAnLS3kuJzljZctLScsXHJcbiAgICAgIGtvOiAnLS3rgqjrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tc291dGh3ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1Tw7xkd2VzdGVuLS0nLFxyXG4gICAgICBmcjogJy0tU3VkLU91ZXN0LS0nLFxyXG4gICAgICBqYTogJy0t5Y2X6KW/LS0nLFxyXG4gICAgICBjbjogJy0t6KW/5Y2XLS0nLFxyXG4gICAgICBrbzogJy0t64Ko7IScLS0nLFxyXG4gICAgfSxcclxuICAgICctLXNwbGl0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS10ZWlsZW4tLScsXHJcbiAgICAgIGZyOiAnLS1kaXZpc2lvbi0tJyxcclxuICAgICAgamE6ICctLeWIhuijgi0tJyxcclxuICAgICAgY246ICctLeWIhuijgi0tJyxcclxuICAgICAga286ICctLeu2hOyXtC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS1zdHVuLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1CZXTDpHVidW5nLS0nLFxyXG4gICAgICBmcjogJy0tw4l0b3VyZGlzc2VtZW50LS0nLFxyXG4gICAgICBqYTogJy0t44K544K/44OzLS0nLFxyXG4gICAgICBjbjogJy0t5Ye75pmVLS0nLFxyXG4gICAgICBrbzogJy0t6riw7KCILS0nLFxyXG4gICAgfSxcclxuICAgICctLXN5bmMtLSc6IHtcclxuICAgICAgZGU6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXN5bmNocm9uaXNhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeOCt+ODs+OCry0tJyxcclxuICAgICAgY246ICctLeWQjOatpeWMli0tJyxcclxuICAgICAga286ICctLeuPmeq4sO2ZlC0tJyxcclxuICAgIH0sXHJcbiAgICAnLS0oWzAtOV0reCApP3RhcmdldGFibGUtLSc6IHtcclxuICAgICAgZGU6ICctLSQxYW52aXNpZXJiYXItLScsXHJcbiAgICAgIGZyOiAnLS0kMWNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0tJDHjgr/jg7zjgrLjg4Pjg4jlj6/og70tLScsXHJcbiAgICAgIGNuOiAnLS0kMeWPr+mAieS4rS0tJyxcclxuICAgICAga286ICctLSQx7YOA6rKfIOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS10ZWxlcG9ydC0tJzoge1xyXG4gICAgICBkZTogJy0tdGVsZXBvcnRhdGlvbi0tJyxcclxuICAgICAgZnI6ICctLXTDqWzDqXBvcnRhdGlvbi0tJyxcclxuICAgICAgamE6ICctLeODhuODrOODneODvOODiC0tJyxcclxuICAgICAgY246ICctLeS8oOmAgS0tJyxcclxuICAgICAga286ICctLeyInOqwhCDsnbTrj5ktLScsXHJcbiAgICB9LFxyXG4gICAgJy0tdW50YXJnZXRhYmxlLS0nOiB7XHJcbiAgICAgIGRlOiAnLS1uaWNoIGFudmlzaWVyYmFyLS0nLFxyXG4gICAgICBmcjogJy0tbm9uIGNpYmxhYmxlLS0nLFxyXG4gICAgICBqYTogJy0t44K/44O844Ky44OD44OI5LiN5Y+vLS0nLFxyXG4gICAgICBjbjogJy0t5peg5rOV6YCJ5LitLS0nLFxyXG4gICAgICBrbzogJy0t7YOA6rKfIOu2iOqwgOuKpS0tJyxcclxuICAgIH0sXHJcbiAgICAnLS13ZXN0LS0nOiB7XHJcbiAgICAgIGRlOiAnLS1XZXN0ZW4tLScsXHJcbiAgICAgIGZyOiAnLS1PdWVzdC0tJyxcclxuICAgICAgamE6ICctLeilvy0tJyxcclxuICAgICAgY246ICctLeilvy0tJyxcclxuICAgICAga286ICctLeyEnOyqvS0tJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRV06IHtcclxuICAgICAgZGU6ICdPJyxcclxuICAgICAgZnI6ICdFJyxcclxuICAgICAgamE6ICfmnbEnLFxyXG4gICAgICBjbjogJ+S4nCcsXHJcbiAgICAgIGtvOiAn64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTl06IHtcclxuICAgICAgZGU6ICdOJyxcclxuICAgICAgZnI6ICdOJyxcclxuICAgICAgamE6ICfljJcnLFxyXG4gICAgICBjbjogJ+WMlycsXHJcbiAgICAgIGtvOiAn67aBJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU106IHtcclxuICAgICAgZGU6ICdTJyxcclxuICAgICAgZnI6ICdTJyxcclxuICAgICAgamE6ICfljZcnLFxyXG4gICAgICBjbjogJ+WNlycsXHJcbiAgICAgIGtvOiAn64KoJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuV106IHtcclxuICAgICAgZGU6ICdXJyxcclxuICAgICAgZnI6ICdPJyxcclxuICAgICAgamE6ICfopb8nLFxyXG4gICAgICBjbjogJ+ilvycsXHJcbiAgICAgIGtvOiAn7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTkVdOiB7XHJcbiAgICAgIGRlOiAnTk8nLFxyXG4gICAgICBmcjogJ05FJyxcclxuICAgICAgamE6ICfljJfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWMlycsXHJcbiAgICAgIGtvOiAn67aB64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTlddOiB7XHJcbiAgICAgIGRlOiAnTlcnLFxyXG4gICAgICBmcjogJ05PJyxcclxuICAgICAgamE6ICfljJfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WMlycsXHJcbiAgICAgIGtvOiAn67aB7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU0VdOiB7XHJcbiAgICAgIGRlOiAnU08nLFxyXG4gICAgICBmcjogJ1NFJyxcclxuICAgICAgamE6ICfljZfmnbEnLFxyXG4gICAgICBjbjogJ+S4nOWNlycsXHJcbiAgICAgIGtvOiAn64Ko64+ZJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuU1ddOiB7XHJcbiAgICAgIGRlOiAnU1cnLFxyXG4gICAgICBmcjogJ1NPJyxcclxuICAgICAgamE6ICfljZfopb8nLFxyXG4gICAgICBjbjogJ+ilv+WNlycsXHJcbiAgICAgIGtvOiAn64Ko7IScJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuVGFua106IHtcclxuICAgICAgZGU6ICdUYW5rJyxcclxuICAgICAgZnI6ICdUYW5rJyxcclxuICAgICAgamE6ICfjgr/jg7Pjgq8nLFxyXG4gICAgICBjbjogJ+WdpuWFiycsXHJcbiAgICAgIGtvOiAn7YOx7LukJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuSGVhbGVyXToge1xyXG4gICAgICBkZTogJ0hlaWxlcicsXHJcbiAgICAgIGZyOiAnSGVhbGVyJyxcclxuICAgICAgamE6ICfjg5Ljg7zjg6njg7wnLFxyXG4gICAgICBjbjogJ+ayu+eWlycsXHJcbiAgICAgIGtvOiAn7Z6Q65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuRFBTXToge1xyXG4gICAgICBkZTogJ0RQUycsXHJcbiAgICAgIGZyOiAnRFBTJyxcclxuICAgICAgamE6ICdEUFMnLFxyXG4gICAgICBjbjogJ0RQUycsXHJcbiAgICAgIGtvOiAn65Sc65+sJyxcclxuICAgIH0sXHJcbiAgICBbdGV4dEtleXMuTnVtYmVyXToge1xyXG4gICAgICBkZTogJy0tJDEtLScsXHJcbiAgICAgIGZyOiAnLS0kMS0tJyxcclxuICAgICAgamE6ICctLSQxLS0nLFxyXG4gICAgICBjbjogJy0tJDEtLScsXHJcbiAgICAgIGtvOiAnLS0kMS0tJyxcclxuICAgIH0sXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbi8vIEtleXMgaW50byBjb21tb25SZXBsYWNlbWVudCBvYmplY3RzIHRoYXQgcmVwcmVzZW50IFwicGFydGlhbFwiIHRyYW5zbGF0aW9ucyxcclxuLy8gaW4gdGhlIHNlbnNlIHRoYXQgZXZlbiBpZiBpdCBhcHBsaWVzLCB0aGVyZSBzdGlsbCBuZWVkcyB0byBiZSBhbm90aGVyXHJcbi8vIHRyYW5zbGF0aW9uIGZvciBpdCB0byBiZSBjb21wbGV0ZS4gIFRoZXNlIGtleXMgc2hvdWxkIGJlIGV4YWN0bHkgdGhlIHNhbWVcclxuLy8gYXMgdGhlIGtleXMgZnJvbSB0aGUgY29tbW9uUmVwbGFjZW1lbnQgYmxvY2sgYWJvdmUuXHJcbmV4cG9ydCBjb25zdCBwYXJ0aWFsQ29tbW9uUmVwbGFjZW1lbnRLZXlzID0gW1xyXG4gIC8vIEJlY2F1c2UgdGhlIHpvbmUgbmFtZSBuZWVkcyB0byBiZSB0cmFuc2xhdGVkIGhlcmUsIHRoaXMgaXMgcGFydGlhbC5cclxuICBzeW5jS2V5cy5zZWFsLFxyXG4gIC8vIERpcmVjdGlvbnNcclxuICB0ZXh0S2V5cy5FLFxyXG4gIHRleHRLZXlzLk4sXHJcbiAgdGV4dEtleXMuUyxcclxuICB0ZXh0S2V5cy5XLFxyXG4gIHRleHRLZXlzLk5FLFxyXG4gIHRleHRLZXlzLk5XLFxyXG4gIHRleHRLZXlzLlNFLFxyXG4gIHRleHRLZXlzLlNXLFxyXG4gIC8vIFJvbGVzXHJcbiAgdGV4dEtleXMuVGFuayxcclxuICB0ZXh0S2V5cy5IZWFsZXIsXHJcbiAgdGV4dEtleXMuRFBTLFxyXG5dO1xyXG5cclxuLy8gUmVwbGFjZW1lbnQgd2hlbiB1c2luZyBLb3JlYW4gbGFuZ3VhZ2UgaW4gdGhlIHBhcnNlciwgYXMgdGhlIEtvcmVhbiB2ZXJzaW9uXHJcbi8vIGRvZXMgbm90IGhhdmUgdGhlIDYueCBjaGFuZ2VzIGZyb20gUmF2YWhuIHlldC5cclxuLy8gVGhlc2UgYXJlIGFwcGxpZWQgYWZ0ZXIgb3RoZXIgdHJhbnNsYXRpb25zIGFuZCBkb24ndCBjb3VudCBmb3IgY29sbGlzaW9ucy5cclxuLy8gVE9ETzogdGhpcyBtaXNzZXMgYSBmZXcgdGhpbmdzIGxpa2UgMUEgbGluZXMgaW4gYTdzL283bi9vN3MuXHJcbmV4cG9ydCBjb25zdCBiYWNrQ29tcGF0UGFyc2VkU3luY1JlcGxhY2U6IHsgW3JlcGxhY2VLZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xyXG4gICcgMDA6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOic6ICcgMDA6JyxcclxuICAnIDAwOjA4Mzk6Oic6ICcgMDA6MDgzOTonLFxyXG4gICcgMTQ6XFxcXFtcXFxcXjpcXFxcXVxcXFwqOihbXjpdKik6KFteOl0qKTonOiAnOiQyOiQxJyxcclxufTtcclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUmVnZXhlcyBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcmVnZXhlcyc7XHJcbmltcG9ydCB7IExvb3NlVGltZWxpbmVUcmlnZ2VyLCBUcmlnZ2VyQXV0b0NvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgYmFja0NvbXBhdFBhcnNlZFN5bmNSZXBsYWNlLCBjb21tb25SZXBsYWNlbWVudCB9IGZyb20gJy4vY29tbW9uX3JlcGxhY2VtZW50JztcclxuaW1wb3J0IGRlZmF1bHRPcHRpb25zLCB7IFJhaWRib3NzT3B0aW9ucywgVGltZWxpbmVDb25maWcgfSBmcm9tICcuL3JhaWRib3NzX29wdGlvbnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVSZXBsYWNlbWVudCA9IHtcclxuICBsb2NhbGU6IExhbmc7XHJcbiAgbWlzc2luZ1RyYW5zbGF0aW9ucz86IGJvb2xlYW47XHJcbiAgcmVwbGFjZVN5bmM/OiB7IFtyZWdleFN0cmluZzogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmVwbGFjZVRleHQ/OiB7IFt0aW1lbGluZVRleHQ6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGltZWxpbmVTdHlsZSA9IHtcclxuICBzdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICByZWdleDogUmVnRXhwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnQgPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB0aW1lOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhY3RpdmVUaW1lPzogbnVtYmVyO1xyXG4gIGxpbmVOdW1iZXI/OiBudW1iZXI7XHJcbiAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgc29ydEtleT86IG51bWJlcjtcclxuICBpc0R1cj86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3IgPSB7XHJcbiAgbGluZU51bWJlcj86IG51bWJlcjtcclxuICBsaW5lPzogc3RyaW5nO1xyXG4gIGVycm9yOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTeW5jID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgb3JpZ1JlZ2V4U3RyOiBzdHJpbmc7XHJcbiAgcmVnZXg6IFJlZ0V4cDtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpbWU6IG51bWJlcjtcclxuICBsaW5lTnVtYmVyOiBudW1iZXI7XHJcbiAganVtcD86IG51bWJlcjtcclxufTtcclxuXHJcbnR5cGUgUGFyc2VkUG9wdXBUZXh0ID0ge1xyXG4gIHR5cGU6ICdpbmZvJyB8ICdhbGVydCcgfCAnYWxhcm0nIHwgJ3R0cyc7XHJcbiAgc2Vjb25kc0JlZm9yZT86IG51bWJlcjtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbn07XHJcblxyXG50eXBlIFBhcnNlZFRyaWdnZXJUZXh0ID0ge1xyXG4gIHR5cGU6ICd0cmlnZ2VyJztcclxuICBzZWNvbmRzQmVmb3JlPzogbnVtYmVyO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgbWF0Y2hlczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcclxuICB0cmlnZ2VyOiBMb29zZVRpbWVsaW5lVHJpZ2dlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBhcnNlZFRleHQgPSBQYXJzZWRQb3B1cFRleHQgfCBQYXJzZWRUcmlnZ2VyVGV4dDtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHQgPSBQYXJzZWRUZXh0ICYgeyB0aW1lOiBudW1iZXIgfTtcclxuXHJcbi8vIFRoaXMgY2xhc3MgcmVhZHMgdGhlIGZvcm1hdCBvZiBBQ1QgVGltZWxpbmUgcGx1Z2luLCBkZXNjcmliZWQgaW5cclxuLy8gZG9jcy9UaW1lbGluZUd1aWRlLm1kXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZVBhcnNlciB7XHJcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucztcclxuICBwcm90ZWN0ZWQgcGVyVHJpZ2dlckF1dG9Db25maWc6IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogVHJpZ2dlckF1dG9Db25maWcgfTtcclxuICBwcm90ZWN0ZWQgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcbiAgcHJpdmF0ZSB0aW1lbGluZUNvbmZpZzogVGltZWxpbmVDb25maWc7XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuICBwdWJsaWMgZXJyb3JzOiBFcnJvcltdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM/OiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICBvcHRpb25zPzogUmFpZGJvc3NPcHRpb25zLFxyXG4gICAgem9uZUlkPzogbnVtYmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyA/PyBkZWZhdWx0T3B0aW9ucztcclxuICAgIHRoaXMucGVyVHJpZ2dlckF1dG9Db25maWcgPSB0aGlzLm9wdGlvbnNbJ1BlclRyaWdnZXJBdXRvQ29uZmlnJ10gfHwge307XHJcbiAgICB0aGlzLnJlcGxhY2VtZW50cyA9IHJlcGxhY2VtZW50cztcclxuXHJcbiAgICAvLyBBIHNldCBvZiBuYW1lcyB3aGljaCB3aWxsIG5vdCBiZSBub3RpZmllZCBhYm91dC5cclxuICAgIHRoaXMuaWdub3JlcyA9IHt9O1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgZXZlbnQgb2NjdXJyZW5jZSB0aW1lLlxyXG4gICAgdGhpcy50ZXh0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuc3RhcnQgdGltZS5cclxuICAgIHRoaXMuc3luY1N0YXJ0cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IHN5bmMuZW5kIHRpbWUuXHJcbiAgICB0aGlzLnN5bmNFbmRzID0gW107XHJcbiAgICAvLyBTb3J0ZWQgYnkgbGluZS5cclxuICAgIHRoaXMuZXJyb3JzID0gW107XHJcblxyXG4gICAgdGhpcy50aW1lbGluZUNvbmZpZyA9IHR5cGVvZiB6b25lSWQgPT09ICdudW1iZXInXHJcbiAgICAgID8gdGhpcy5vcHRpb25zLlBlclpvbmVUaW1lbGluZUNvbmZpZ1t6b25lSWRdID8/IHt9XHJcbiAgICAgIDoge307XHJcbiAgICBmb3IgKGNvbnN0IHRleHQgb2YgdGhpcy50aW1lbGluZUNvbmZpZy5JZ25vcmUgPz8gW10pXHJcbiAgICAgIHRoaXMuaWdub3Jlc1t0ZXh0XSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5wYXJzZSh0ZXh0LCB0cmlnZ2Vycywgc3R5bGVzID8/IFtdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzID0gW107XHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIHRoaXMuc3luY0VuZHMgPSBbXTtcclxuXHJcbiAgICBsZXQgdW5pcXVlaWQgPSAxO1xyXG4gICAgY29uc3QgdGV4dHM6IHsgW2lkOiBzdHJpbmddOiBQYXJzZWRUZXh0W10gfSA9IHt9O1xyXG4gICAgY29uc3QgcmVnZXhlcyA9IHtcclxuICAgICAgY29tbWVudDogL15cXHMqIy8sXHJcbiAgICAgIGNvbW1lbnRMaW5lOiAvIy4qJC8sXHJcbiAgICAgIGR1cmF0aW9uQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5kdXJhdGlvblxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoXFxzLiopPyQvLFxyXG4gICAgICBpZ25vcmU6IC9eaGlkZWFsbFxccytcXFwiKD88aWQ+W15cIl0rKVxcXCIkLyxcclxuICAgICAganVtcENvbW1hbmQ6IC8oPzpbXiNdKj9cXHMpPyg/PHRleHQ+anVtcFxccysoPzxzZWNvbmRzPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICAgIGxpbmU6IC9eKD88dGV4dD4oPzx0aW1lPlswLTldKyg/OlxcLlswLTldKyk/KVxccytcIig/PG5hbWU+Lio/KVwiKShcXHMrKC4qKSk/LyxcclxuICAgICAgcG9wdXBUZXh0OlxyXG4gICAgICAgIC9eKD88dHlwZT5pbmZvfGFsZXJ0fGFsYXJtKXRleHRcXHMrXFxcIig/PGlkPlteXCJdKylcXFwiXFxzK2JlZm9yZVxccysoPzxiZWZvcmVTZWNvbmRzPi0/WzAtOV0rKD86XFwuWzAtOV0rKT8pKD86XFxzK1xcXCIoPzx0ZXh0PlteXCJdKylcXFwiKT8kLyxcclxuICAgICAgc291bmRBbGVydDogL15kZWZpbmVcXHMrc291bmRhbGVydFxccytcIlteXCJdKlwiXFxzK1wiW15cIl0qXCIkLyxcclxuICAgICAgc3BlYWtlcjpcclxuICAgICAgICAvZGVmaW5lIHNwZWFrZXIgXCJbXlwiXSpcIihcXHMrXCJbXlwiXSpcIik/XFxzKygtP1swLTldKyg/OlxcLlswLTldKyk/KVxccysoLT9bMC05XSsoPzpcXC5bMC05XSspPykvLFxyXG4gICAgICBzeW5jQ29tbWFuZDogLyg/OlteI10qP1xccyk/KD88dGV4dD5zeW5jXFxzKlxcLyg/PHJlZ2V4Pi4qKVxcLykoPzxhcmdzPlxccy4qKT8kLyxcclxuICAgICAgdHRzOlxyXG4gICAgICAgIC9eYWxlcnRhbGxcXHMrXCIoPzxpZD5bXlwiXSopXCJcXHMrYmVmb3JlXFxzKyg/PGJlZm9yZVNlY29uZHM+LT9bMC05XSsoPzpcXC5bMC05XSspPylcXHMrKD88Y29tbWFuZD5zb3VuZHxzcGVha1xccytcIlteXCJdKlwiKVxccytcIig/PHRleHQ+W15cIl0qKVwiJC8sXHJcbiAgICAgIHdpbmRvd0NvbW1hbmQ6XHJcbiAgICAgICAgLyg/OlteI10qP1xccyk/KD88dGV4dD53aW5kb3dcXHMrKD86KD88c3RhcnQ+WzAtOV0rKD86XFwuWzAtOV0rKT8pLCk/KD88ZW5kPlswLTldKyg/OlxcLlswLTldKyk/KSkoPzpcXHMuKik/JC8sXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1ha2UgYWxsIHJlZ2V4ZXMgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHBhcnNlIGFueSBzcGVjaWFsIFxceXt9IGdyb3Vwcy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBpZiAodHJpZ2dlci5yZWdleClcclxuICAgICAgICB0cmlnZ2VyLnJlZ2V4ID0gUmVnZXhlcy5wYXJzZSh0cmlnZ2VyLnJlZ2V4KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcbicpO1xyXG4gICAgbGV0IGxpbmVOdW1iZXIgPSAwO1xyXG4gICAgZm9yIChsZXQgbGluZSBvZiBsaW5lcykge1xyXG4gICAgICArK2xpbmVOdW1iZXI7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcclxuICAgICAgLy8gRHJvcCBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMuXHJcbiAgICAgIGlmICghbGluZSB8fCByZWdleGVzLmNvbW1lbnQudGVzdChsaW5lKSlcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lID0gbGluZTtcclxuXHJcbiAgICAgIGxldCBtYXRjaCA9IHJlZ2V4ZXMuaWdub3JlLmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsnZ3JvdXBzJ10pIHtcclxuICAgICAgICBjb25zdCBpZ25vcmUgPSBtYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgaWYgKGlnbm9yZS5pZClcclxuICAgICAgICAgIHRoaXMuaWdub3Jlc1tpZ25vcmUuaWRdID0gdHJ1ZTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnR0cy5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgdHRzID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghdHRzLmlkIHx8ICF0dHMuYmVmb3JlU2Vjb25kcyB8fCAhdHRzLmNvbW1hbmQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgLy8gVE9ETzogU3VwcG9ydCBhbGVydCBzb3VuZHM/XHJcbiAgICAgICAgaWYgKHR0cy5jb21tYW5kID09PSAnc291bmQnKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgY29uc3QgdHRzSXRlbXMgPSB0ZXh0c1t0dHMuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3R0cy5pZF0gPSB0dHNJdGVtcztcclxuICAgICAgICB0dHNJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0dHMnLFxyXG4gICAgICAgICAgc2Vjb25kc0JlZm9yZTogcGFyc2VGbG9hdCh0dHMuYmVmb3JlU2Vjb25kcyksXHJcbiAgICAgICAgICB0ZXh0OiB0dHMudGV4dCA/IHR0cy50ZXh0IDogdHRzLmlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hdGNoID0gcmVnZXhlcy5zb3VuZEFsZXJ0LmV4ZWMobGluZSk7XHJcbiAgICAgIGlmIChtYXRjaClcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnNwZWFrZXIuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKG1hdGNoKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLnBvcHVwVGV4dC5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0ID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgIGlmICghcG9wdXBUZXh0LnR5cGUgfHwgIXBvcHVwVGV4dC5pZCB8fCAhcG9wdXBUZXh0LmJlZm9yZVNlY29uZHMpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcG9wdXBUZXh0SXRlbXMgPSB0ZXh0c1twb3B1cFRleHQuaWRdIHx8IFtdO1xyXG4gICAgICAgIHRleHRzW3BvcHVwVGV4dC5pZF0gPSBwb3B1cFRleHRJdGVtcztcclxuICAgICAgICBjb25zdCB0eXBlID0gcG9wdXBUZXh0LnR5cGU7XHJcbiAgICAgICAgaWYgKHR5cGUgIT09ICdpbmZvJyAmJiB0eXBlICE9PSAnYWxlcnQnICYmIHR5cGUgIT09ICdhbGFybScpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBwb3B1cFRleHRJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgICAgICBzZWNvbmRzQmVmb3JlOiBwYXJzZUZsb2F0KHBvcHVwVGV4dC5iZWZvcmVTZWNvbmRzKSxcclxuICAgICAgICAgIHRleHQ6IHBvcHVwVGV4dC50ZXh0ID8gcG9wdXBUZXh0LnRleHQgOiBwb3B1cFRleHQuaWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgbWF0Y2ggPSByZWdleGVzLmxpbmUuZXhlYyhsaW5lKTtcclxuICAgICAgaWYgKCEobWF0Y2ggJiYgbWF0Y2hbJ2dyb3VwcyddKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnSW52YWxpZCBmb3JtYXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmtub3duIHRpbWVsaW5lOiAnICsgb3JpZ2luYWxMaW5lKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJzZWRMaW5lID0gbWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAvLyBUZWNobmljYWxseSB0aGUgbmFtZSBjYW4gYmUgZW1wdHlcclxuICAgICAgaWYgKCFwYXJzZWRMaW5lLnRleHQgfHwgIXBhcnNlZExpbmUudGltZSB8fCBwYXJzZWRMaW5lLm5hbWUgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UocGFyc2VkTGluZS50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAvLyBUaGVyZSBjYW4gYmUgIyBpbiB0aGUgYWJpbGl0eSBuYW1lLCBidXQgcHJvYmFibHkgbm90IGluIHRoZSByZWdleC5cclxuICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShyZWdleGVzLmNvbW1lbnRMaW5lLCAnJykudHJpbSgpO1xyXG5cclxuICAgICAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlRmxvYXQocGFyc2VkTGluZS50aW1lKTtcclxuICAgICAgY29uc3QgZTogRXZlbnQgPSB7XHJcbiAgICAgICAgaWQ6IHVuaXF1ZWlkKyssXHJcbiAgICAgICAgdGltZTogc2Vjb25kcyxcclxuICAgICAgICAvLyBUaGUgb3JpZ2luYWwgYWJpbGl0eSBuYW1lIGluIHRoZSB0aW1lbGluZS4gIFVzZWQgZm9yIGhpZGVhbGwsIGluZm90ZXh0LCBldGMuXHJcbiAgICAgICAgbmFtZTogcGFyc2VkTGluZS5uYW1lLFxyXG4gICAgICAgIC8vIFRoZSB0ZXh0IHRvIGRpc3BsYXkuICBOb3QgdXNlZCBmb3IgYW55IGxvZ2ljLlxyXG4gICAgICAgIHRleHQ6IHRoaXMuR2V0UmVwbGFjZWRUZXh0KHBhcnNlZExpbmUubmFtZSksXHJcbiAgICAgICAgYWN0aXZlVGltZTogMCxcclxuICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAobGluZSkge1xyXG4gICAgICAgIGxldCBjb21tYW5kTWF0Y2ggPSByZWdleGVzLmR1cmF0aW9uQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3QgZHVyYXRpb25Db21tYW5kID0gY29tbWFuZE1hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgIGlmICghZHVyYXRpb25Db21tYW5kLnRleHQgfHwgIWR1cmF0aW9uQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKGR1cmF0aW9uQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgZS5kdXJhdGlvbiA9IHBhcnNlRmxvYXQoZHVyYXRpb25Db21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29tbWFuZE1hdGNoID0gcmVnZXhlcy5zeW5jQ29tbWFuZC5leGVjKGxpbmUpO1xyXG4gICAgICAgIGlmIChjb21tYW5kTWF0Y2ggJiYgY29tbWFuZE1hdGNoWydncm91cHMnXSkge1xyXG4gICAgICAgICAgY29uc3Qgc3luY0NvbW1hbmQgPSBjb21tYW5kTWF0Y2hbJ2dyb3VwcyddO1xyXG4gICAgICAgICAgaWYgKCFzeW5jQ29tbWFuZC50ZXh0IHx8ICFzeW5jQ29tbWFuZC5yZWdleClcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZShzeW5jQ29tbWFuZC50ZXh0LCAnJykudHJpbSgpO1xyXG4gICAgICAgICAgY29uc3Qgc3luYzogU3luYyA9IHtcclxuICAgICAgICAgICAgaWQ6IHVuaXF1ZWlkLFxyXG4gICAgICAgICAgICBvcmlnUmVnZXhTdHI6IHN5bmNDb21tYW5kLnJlZ2V4LFxyXG4gICAgICAgICAgICByZWdleDogUmVnZXhlcy5wYXJzZSh0aGlzLkdldFJlcGxhY2VkU3luYyhzeW5jQ29tbWFuZC5yZWdleCkpLFxyXG4gICAgICAgICAgICBzdGFydDogc2Vjb25kcyAtIDIuNSxcclxuICAgICAgICAgICAgZW5kOiBzZWNvbmRzICsgMi41LFxyXG4gICAgICAgICAgICB0aW1lOiBzZWNvbmRzLFxyXG4gICAgICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChzeW5jQ29tbWFuZC5hcmdzKSB7XHJcbiAgICAgICAgICAgIGxldCBhcmdNYXRjaCA9IHJlZ2V4ZXMud2luZG93Q29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd2luZG93Q29tbWFuZCA9IGFyZ01hdGNoWydncm91cHMnXTtcclxuICAgICAgICAgICAgICBpZiAoIXdpbmRvd0NvbW1hbmQudGV4dCB8fCAhd2luZG93Q29tbWFuZC5lbmQpXHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSh3aW5kb3dDb21tYW5kLnRleHQsICcnKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHdpbmRvd0NvbW1hbmQuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHN5bmMuc3RhcnQgPSBzZWNvbmRzIC0gcGFyc2VGbG9hdCh3aW5kb3dDb21tYW5kLnN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIHN5bmMuZW5kID0gc2Vjb25kcyArIHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzeW5jLnN0YXJ0ID0gc2Vjb25kcyAtIChwYXJzZUZsb2F0KHdpbmRvd0NvbW1hbmQuZW5kKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgc3luYy5lbmQgPSBzZWNvbmRzICsgKHBhcnNlRmxvYXQod2luZG93Q29tbWFuZC5lbmQpIC8gMik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFyZ01hdGNoID0gcmVnZXhlcy5qdW1wQ29tbWFuZC5leGVjKHN5bmNDb21tYW5kLmFyZ3MpO1xyXG4gICAgICAgICAgICBpZiAoYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbJ2dyb3VwcyddKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QganVtcENvbW1hbmQgPSBhcmdNYXRjaFsnZ3JvdXBzJ107XHJcbiAgICAgICAgICAgICAgaWYgKCFqdW1wQ29tbWFuZC50ZXh0IHx8ICFqdW1wQ29tbWFuZC5zZWNvbmRzKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoanVtcENvbW1hbmQudGV4dCwgJycpLnRyaW0oKTtcclxuICAgICAgICAgICAgICBzeW5jLmp1bXAgPSBwYXJzZUZsb2F0KGp1bXBDb21tYW5kLnNlY29uZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnN5bmNTdGFydHMucHVzaChzeW5jKTtcclxuICAgICAgICAgIHRoaXMuc3luY0VuZHMucHVzaChzeW5jKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gSWYgdGhlcmUncyB0ZXh0IGxlZnQgdGhhdCBpc24ndCBhIGNvbW1lbnQgdGhlbiB3ZSBkaWRuJ3QgcGFyc2UgdGhhdCB0ZXh0IHNvIHJlcG9ydCBpdC5cclxuICAgICAgaWYgKGxpbmUgJiYgIXJlZ2V4ZXMuY29tbWVudC5leGVjKGxpbmUpKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYFVua25vd24gY29udGVudCAnJHtsaW5lfScgaW4gdGltZWxpbmU6ICR7b3JpZ2luYWxMaW5lfWApO1xyXG4gICAgICAgIHRoaXMuZXJyb3JzLnB1c2goe1xyXG4gICAgICAgICAgbGluZU51bWJlcjogbGluZU51bWJlcixcclxuICAgICAgICAgIGxpbmU6IG9yaWdpbmFsTGluZSxcclxuICAgICAgICAgIGVycm9yOiAnRXh0cmEgdGV4dCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMucHVzaChlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhbGlkYXRlIHRoYXQgYWxsIHRpbWVsaW5lIHRyaWdnZXJzIG1hdGNoIHNvbWV0aGluZy5cclxuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2VycyA/PyBbXSkge1xyXG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcclxuICAgICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLmV2ZW50cykge1xyXG4gICAgICAgIGlmICh0cmlnZ2VyLnJlZ2V4ICYmIHRyaWdnZXIucmVnZXgudGVzdChldmVudC5uYW1lKSkge1xyXG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gYE5vIG1hdGNoIGZvciB0aW1lbGluZSB0cmlnZ2VyICR7dHJpZ2dlci5yZWdleD8uc291cmNlID8/XHJcbiAgICAgICAgICAnJ30gaW4gJHt0cmlnZ2VyLmlkID8/ICcnfWA7XHJcbiAgICAgICAgdGhpcy5lcnJvcnMucHVzaCh7IGVycm9yOiB0ZXh0IH0pO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCoqKiBFUlJPUjogJHt0ZXh0fWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBlIG9mIHRoaXMuZXZlbnRzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgbWF0Y2hlZFRleHRFdmVudCBvZiB0ZXh0c1tlLm5hbWVdID8/IFtdKSB7XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IG1hdGNoZWRUZXh0RXZlbnQudHlwZTtcclxuICAgICAgICBpZiAodHlwZSAhPT0gJ2luZm8nICYmIHR5cGUgIT09ICdhbGVydCcgJiYgdHlwZSAhPT0gJ2FsYXJtJylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIHRoaXMudGV4dHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lIC0gKG1hdGNoZWRUZXh0RXZlbnQuc2Vjb25kc0JlZm9yZSB8fCAwKSxcclxuICAgICAgICAgIHRleHQ6IG1hdGNoZWRUZXh0RXZlbnQudGV4dCA/PyAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmF0aGVyIHRoYW4gbWF0Y2hpbmcgdHJpZ2dlcnMgYXQgcnVuIHRpbWUsIHByZS1tYXRjaCBhbGwgdGhlIHRyaWdnZXJzXHJcbiAgICAgIC8vIGFnYWluc3QgdGltZWxpbmUgdGV4dCBhbmQgaW5zZXJ0IHRoZW0gYXMgdGV4dCBldmVudHMgdG8gcnVuLlxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdHJpZ2dlcnMgPz8gW10pIHtcclxuICAgICAgICBjb25zdCBtID0gdHJpZ2dlci5yZWdleD8uZXhlYyhlLm5hbWUpO1xyXG4gICAgICAgIGlmICghbSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBUT0RPOiBiZWZvcmVTZWNvbmRzIHNob3VsZCBzdXBwb3J0IGJlaW5nIGEgZnVuY3Rpb24uXHJcbiAgICAgICAgY29uc3QgYXV0b0NvbmZpZyA9IHRyaWdnZXIuaWQgJiYgdGhpcy5wZXJUcmlnZ2VyQXV0b0NvbmZpZ1t0cmlnZ2VyLmlkXSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiZWZvcmVTZWNvbmRzID0gYXV0b0NvbmZpZ1snQmVmb3JlU2Vjb25kcyddID8/IHRyaWdnZXIuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgdGhpcy50ZXh0cy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICd0cmlnZ2VyJyxcclxuICAgICAgICAgIHRpbWU6IGUudGltZSAtIChiZWZvcmVTZWNvbmRzIHx8IDApLFxyXG4gICAgICAgICAgdHJpZ2dlcjogdHJpZ2dlcixcclxuICAgICAgICAgIG1hdGNoZXM6IG0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3Qgc3R5bGUgb2Ygc3R5bGVzID8/IFtdKSB7XHJcbiAgICAgICAgaWYgKCFzdHlsZS5yZWdleC50ZXN0KGUubmFtZSkpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBlLnN0eWxlID0gc3R5bGUuc3R5bGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTb3J0IGJ5IHRpbWUsIGJ1dCB3aGVuIHRoZSB0aW1lIGlzIHRoZSBzYW1lLCBzb3J0IGJ5IGZpbGUgb3JkZXIuXHJcbiAgICAvLyBUaGVuIGFzc2lnbiBhIHNvcnRLZXkgdG8gZWFjaCBldmVudCBzbyB0aGF0IHdlIGNhbiBtYWludGFpbiB0aGF0IG9yZGVyLlxyXG4gICAgdGhpcy5ldmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoYS50aW1lID09PSBiLnRpbWUpXHJcbiAgICAgICAgcmV0dXJuIGEuaWQgLSBiLmlkO1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKChldmVudCwgaWR4KSA9PiBldmVudC5zb3J0S2V5ID0gaWR4KTtcclxuXHJcbiAgICB0aGlzLnRleHRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEudGltZSAtIGIudGltZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuc3RhcnQgLSBiLnN0YXJ0O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNFbmRzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgcmV0dXJuIGEuZW5kIC0gYi5lbmQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRIZWxwZXIoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlS2V5OiAncmVwbGFjZVN5bmMnIHwgJ3JlcGxhY2VUZXh0JyxcclxuICAgIHJlcGxhY2VMYW5nOiBMYW5nLFxyXG4gICAgaXNHbG9iYWw6IGJvb2xlYW4sXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGZvciAoY29uc3QgciBvZiB0aGlzLnJlcGxhY2VtZW50cykge1xyXG4gICAgICBpZiAoci5sb2NhbGUgJiYgci5sb2NhbGUgIT09IHJlcGxhY2VMYW5nKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByZXBzID0gcltyZXBsYWNlS2V5XTtcclxuICAgICAgaWYgKCFyZXBzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXBzKSlcclxuICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKFJlZ2V4ZXMucGFyc2Uoa2V5KSwgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29tbW9uIFJlcGxhY2VtZW50c1xyXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBjb21tb25SZXBsYWNlbWVudFtyZXBsYWNlS2V5XTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VtZW50ID8/IHt9KSkge1xyXG4gICAgICBjb25zdCByZXBsID0gdmFsdWVbcmVwbGFjZUxhbmddO1xyXG4gICAgICBpZiAoIXJlcGwpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gaXNHbG9iYWwgPyBSZWdleGVzLnBhcnNlR2xvYmFsKGtleSkgOiBSZWdleGVzLnBhcnNlKGtleSk7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgcmVwbGFjZW1lbnRzIGZvciBLb3JlYW4gcGFyc2VkIGxvZyBsaW5lcyBiZWZvcmUgNi54IGNoYW5nZXMuXHJcbiAgICBpZiAocmVwbGFjZUxhbmcgPT09ICdrbycgJiYgcmVwbGFjZUtleSA9PT0gJ3JlcGxhY2VTeW5jJykge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHJlcGxdIG9mIE9iamVjdC5lbnRyaWVzKGJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSkpIHtcclxuICAgICAgICBjb25zdCByZWdleCA9IGlzR2xvYmFsID8gUmVnZXhlcy5wYXJzZUdsb2JhbChrZXkpIDogUmVnZXhlcy5wYXJzZShrZXkpO1xyXG4gICAgICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UocmVnZXgsIHJlcGwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEdldFJlcGxhY2VkVGV4dCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gQW55dGhpbmcgaW4gdGhlIHRpbWVsaW5lIGNvbmZpZyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGltZWxpbmVSZXBsYWNlIHNlY3Rpb25zIGluXHJcbiAgICAvLyB0aGUgdHJpZ2dlciBmaWxlLiAgSXQgaXMgYWxzbyBhIGZ1bGwgcmVwbGFjZW1lbnQsIHZzIHRoZSByZWdleC1zdHlsZSBHZXRSZXBsYWNlZEhlbHBlci5cclxuICAgIGNvbnN0IHJlbmFtZSA9IHRoaXMudGltZWxpbmVDb25maWc/LlJlbmFtZT8uW3RleHRdO1xyXG4gICAgaWYgKHJlbmFtZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gcmVuYW1lO1xyXG5cclxuICAgIGlmICghdGhpcy5yZXBsYWNlbWVudHMpXHJcbiAgICAgIHJldHVybiB0ZXh0O1xyXG5cclxuICAgIGNvbnN0IHJlcGxhY2VMYW5nID0gdGhpcy5vcHRpb25zLlRpbWVsaW5lTGFuZ3VhZ2UgfHwgdGhpcy5vcHRpb25zLlBhcnNlckxhbmd1YWdlIHx8ICdlbic7XHJcbiAgICBjb25zdCBpc0dsb2JhbCA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIodGV4dCwgJ3JlcGxhY2VUZXh0JywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgR2V0UmVwbGFjZWRTeW5jKHN5bmM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucmVwbGFjZW1lbnRzKVxyXG4gICAgICByZXR1cm4gc3luYztcclxuXHJcbiAgICBjb25zdCByZXBsYWNlTGFuZyA9IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgY29uc3QgaXNHbG9iYWwgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuR2V0UmVwbGFjZWRIZWxwZXIoc3luYywgJ3JlcGxhY2VTeW5jJywgcmVwbGFjZUxhbmcsIGlzR2xvYmFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUoKTogUmVnRXhwW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJy0tUmVzZXQtLScsXHJcbiAgICAgICctLXN5bmMtLScsXHJcbiAgICAgICdTdGFydCcsXHJcbiAgICAgICdeID8yMTonLFxyXG4gICAgICAnXihcXFxcKFxcXFw/XFxcXDx0aW1lc3RhbXBcXFxcPlxcXFxeXFxcXC5cXFxcezE0XFxcXH1cXFxcKSkgKDFCfDIxfDIzKTonLFxyXG4gICAgICAnXihcXFxcXlxcXFwuXFxcXHsxNFxcXFx9KT8gPygxQnwyMXwyMyk6JyxcclxuICAgICAgJ146OlxcXFx5e0FiaWxpdHlDb2RlfTokJyxcclxuICAgICAgJ15cXFxcLlxcXFwqJCcsXHJcbiAgICBdLm1hcCgoeCkgPT4gUmVnZXhlcy5wYXJzZSh4KSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IGlzTGFuZywgTGFuZyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgUGFydHlUcmFja2VyIGZyb20gJy4uLy4uL3Jlc291cmNlcy9wYXJ0eSc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZWdleGVzJztcclxuaW1wb3J0IHsgdHJpZ2dlck91dHB1dEZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9yZXNwb25zZXMnO1xyXG5pbXBvcnQgVXNlckNvbmZpZywge1xyXG4gIENvbmZpZ1ZhbHVlLFxyXG4gIE9wdGlvbnNUZW1wbGF0ZSxcclxuICBVc2VyRmlsZUNhbGxiYWNrLFxyXG59IGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VPcHRpb25zLCBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgU2F2ZWRDb25maWdFbnRyeSB9IGZyb20gJy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iLCBSb2xlIH0gZnJvbSAnLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IHsgTWF0Y2hlcyB9IGZyb20gJy4uLy4uL3R5cGVzL25ldF9tYXRjaGVzJztcclxuaW1wb3J0IHtcclxuICBMb2NhbGVUZXh0LFxyXG4gIExvb3NlVHJpZ2dlcixcclxuICBPdXRwdXQsXHJcbiAgT3V0cHV0U3RyaW5ncyxcclxuICBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gIFRpbWVsaW5lRmllbGQsXHJcbiAgVHJpZ2dlckF1dG9Db25maWcsXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7XHJcbiAgQ2FjdGJvdENvbmZpZ3VyYXRvcixcclxuICBDb25maWdMb29zZVRyaWdnZXIsXHJcbiAgQ29uZmlnTG9vc2VUcmlnZ2VyU2V0LFxyXG4gIENvbmZpZ1Byb2Nlc3NlZEZpbGVNYXAsXHJcbn0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgcmFpZGJvc3NGaWxlRGF0YSBmcm9tICcuL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NUcmlnZ2VyRmllbGQsIFJhaWRib3NzVHJpZ2dlck91dHB1dCB9IGZyb20gJy4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCByYWlkYm9zc09wdGlvbnMsIHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVQYXJzZXIgfSBmcm9tICcuL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5jb25zdCBrT3B0aW9uS2V5cyA9IHtcclxuICBvdXRwdXQ6ICdPdXRwdXQnLFxyXG4gIGR1cmF0aW9uOiAnRHVyYXRpb24nLFxyXG4gIGJlZm9yZVNlY29uZHM6ICdCZWZvcmVTZWNvbmRzJyxcclxuICBvdXRwdXRTdHJpbmdzOiAnT3V0cHV0U3RyaW5ncycsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFRyaWdnZXJTb3VuZE9wdGlvbiA9IHtcclxuICBsYWJlbDogTG9jYWxlVGV4dDtcclxuICBkZWJ1Z09ubHk/OiBib29sZWFuO1xyXG59O1xyXG5cclxuLy8gTm8gc291bmQgb25seSBvcHRpb24sIGJlY2F1c2UgdGhhdCdzIHNpbGx5LlxyXG5jb25zdCBrVHJpZ2dlck9wdGlvbnMgPSB7XHJcbiAgZGVmYXVsdDoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICfinJQgRGVmYXVsdHMnLFxyXG4gICAgICBkZTogJ+KclCBTdGFuZGFyZHMnLFxyXG4gICAgICBmcjogJ+KclCBEw6lmYXV0cycsXHJcbiAgICAgIGphOiAn4pyUIOWIneacn+ioreWumicsXHJcbiAgICAgIGNuOiAn4pyUIOm7mOiupOiuvue9ricsXHJcbiAgICAgIGtvOiAn4pyUIOq4sOuzuCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgdGV4dEFuZFNvdW5kOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/Cfhpnwn5SKIFRleHQgYW5kIFNvdW5kJyxcclxuICAgICAgZGU6ICfwn4aZ8J+UiiBUZXh0IHVuZCBUb24nLFxyXG4gICAgICBmcjogJ/Cfhpnwn5SKIFRleHRlIGV0IHNvbicsXHJcbiAgICAgIGphOiAn8J+GmfCflIog44OG44Kt44K544OI44Go6Z+z5aOwJyxcclxuICAgICAgY246ICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5SKIO2FjeyKpO2KuOyZgCDshozrpqwnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c0FuZFRleHQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+GmfCfkqwgVGV4dCBhbmQgVFRTJyxcclxuICAgICAgZGU6ICfwn4aZ8J+SrCBUZXh0IHVuZCBUVFMnLFxyXG4gICAgICBmcjogJ/Cfhpnwn5KsIFRleHRlIGV0IFRUUycsXHJcbiAgICAgIGphOiAn8J+GmfCfkqwg44OG44Kt44K544OI44GoVFRTJyxcclxuICAgICAgY246ICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnLFxyXG4gICAgICBrbzogJ/Cfhpnwn5KsIO2FjeyKpO2KuOyZgCBUVFMnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHR0c09ubHk6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn8J+SrCBUVFMgT25seScsXHJcbiAgICAgIGRlOiAn8J+SrCBOdXIgVFRTJyxcclxuICAgICAgZnI6ICfwn5KsIFRUUyBTZXVsZW1lbnQnLFxyXG4gICAgICBqYTogJ/CfkqwgVFRT44Gu44G/JyxcclxuICAgICAgY246ICfwn5KsIOWPquS9v+eUqFRUUycsXHJcbiAgICAgIGtvOiAn8J+SrCBUVFPrp4wnLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHRleHRPbmx5OiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ/CfhpkgVGV4dCBPbmx5JyxcclxuICAgICAgZGU6ICfwn4aZIE51ciBUZXh0JyxcclxuICAgICAgZnI6ICfwn4aZIFRleHRlIHNldWxlbWVudCcsXHJcbiAgICAgIGphOiAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nLFxyXG4gICAgICBjbjogJ/Cfhpkg5Y+q5L2/55So5paH5a2X5pi+56S6JyxcclxuICAgICAga286ICfwn4aZIO2FjeyKpO2KuOunjCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGlzYWJsZWQ6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAn4p2MIERpc2FibGVkJyxcclxuICAgICAgZGU6ICfinYwgRGVha3RpdmllcnQnLFxyXG4gICAgICBmcjogJ+KdjCBEw6lzYWN0aXbDqScsXHJcbiAgICAgIGphOiAn4p2MIOeEoeWKuScsXHJcbiAgICAgIGNuOiAn4p2MIOemgeeUqCcsXHJcbiAgICAgIGtvOiAn4p2MIOu5hO2ZnOyEse2ZlCcsXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB0cmlnZ2VyU291bmRPcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJTb3VuZE9wdGlvbiB9ID0ga1RyaWdnZXJPcHRpb25zO1xyXG5cclxudHlwZSBEZXRhaWxLZXkgPSB7XHJcbiAgbGFiZWw6IExvY2FsZVRleHQ7XHJcbiAgY2xzOiBzdHJpbmc7XHJcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcclxuICBnZW5lcmF0ZWRNYW51YWxseT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5jb25zdCBrRGV0YWlsS2V5cyA9IHtcclxuICAndHJpZ2dlclJlZ2V4Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdyZWdleCcsXHJcbiAgICAgIGRlOiAncmVnZXgnLFxyXG4gICAgICBmcjogJ3JlZ2V4JyxcclxuICAgICAgamE6ICfmraPopo/ooajnj74nLFxyXG4gICAgICBjbjogJ+ato+WImeihqOi+vuW8jycsXHJcbiAgICAgIGtvOiAn7KCV6rec7IudJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdyZWdleC10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICd0cmlnZ2VyTmV0UmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ25ldHJlZ2V4JyxcclxuICAgICAgZGU6ICduZXRyZWdleCcsXHJcbiAgICAgIGZyOiAnbmV0cmVnZXgnLFxyXG4gICAgICBqYTogJ+ODjeODg+ODiOato+imj+ihqOePvicsXHJcbiAgICAgIGNuOiAn572R57uc5pel5b+X5q2j5YiZ6KGo6L6+5byPJyxcclxuICAgICAga286ICfsoJXqt5ztkZztmITsi50nLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ3RpbWVsaW5lUmVnZXgnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3RpbWVsaW5lJyxcclxuICAgICAgZGU6ICd0aW1lbGluZScsXHJcbiAgICAgIGZyOiAndGltZWxpbmUnLFxyXG4gICAgICBqYTogJ+OCv+OCpOODoOODqeOCpOODsycsXHJcbiAgICAgIGNuOiAn5pe26Ze06L20JyxcclxuICAgICAga286ICftg4DsnoTrnbzsnbgnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3JlZ2V4LXRleHQnLFxyXG4gICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gIH0sXHJcbiAgJ2JlZm9yZVNlY29uZHMnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2JlZm9yZSAoc2VjKScsXHJcbiAgICAgIGRlOiAnVm9yaGVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ2F2YW50IChzZWNvbmRlKScsXHJcbiAgICAgIGphOiAn44Gd44Gu5YmN44GrICjnp5IpJyxcclxuICAgICAgY246ICfmj5DliY0gKOenkiknLFxyXG4gICAgICBrbzogJ+yVnuuLueq5gCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYmVmb3JlLXNlY29uZHMtdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdjb25kaXRpb24nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2NvbmRpdGlvbicsXHJcbiAgICAgIGRlOiAnY29uZGl0aW9uJyxcclxuICAgICAgZnI6ICdjb25kaXRpb24nLFxyXG4gICAgICBqYTogJ+adoeS7ticsXHJcbiAgICAgIGNuOiAn5p2h5Lu2JyxcclxuICAgICAga286ICfsobDqsbQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2NvbmRpdGlvbi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG4gICdkdXJhdGlvbic6IHtcclxuICAgIGxhYmVsOiB7XHJcbiAgICAgIGVuOiAnZHVyYXRpb24gKHNlYyknLFxyXG4gICAgICBkZTogJ0RhdWVyIChTZWt1bmRlbiknLFxyXG4gICAgICBmcjogJ0R1csOpZSAoc2Vjb25kZXMpJyxcclxuICAgICAgamE6ICflrZjntprmmYLplpMgKOenkiknLFxyXG4gICAgICBjbjogJ+aMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgIGtvOiAn7KeA7IaNIOyLnOqwhCAo7LSIKScsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnZHVyYXRpb24tdGV4dCcsXHJcbiAgICBnZW5lcmF0ZWRNYW51YWxseTogdHJ1ZSxcclxuICB9LFxyXG4gICdwcmVSdW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3ByZVJ1bicsXHJcbiAgICAgIGRlOiAncHJlUnVuJyxcclxuICAgICAgZnI6ICdwcmVSdW4nLFxyXG4gICAgICBqYTogJ+ODl+ODrOWun+ihjCcsXHJcbiAgICAgIGNuOiAn6aKE6L+Q6KGMJyxcclxuICAgICAga286ICfsgqzsoIQg7Iuk7ZaJJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdwcmVydW4tdGV4dCcsXHJcbiAgICBkZWJ1Z09ubHk6IHRydWUsXHJcbiAgfSxcclxuICAnYWxhcm1UZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGFybScsXHJcbiAgICAgIGRlOiAnYWxhcm0nLFxyXG4gICAgICBmcjogJ2FsYXJtZScsXHJcbiAgICAgIGphOiAn6K2m5aCxJyxcclxuICAgICAgY246ICforabmiqXmlofmnKwnLFxyXG4gICAgICBrbzogJ+qyveqzoCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxhcm0tdGV4dCcsXHJcbiAgfSxcclxuICAnYWxlcnRUZXh0Jzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICdhbGVydCcsXHJcbiAgICAgIGRlOiAnYWxlcnQnLFxyXG4gICAgICBmcjogJ2FsZXJ0ZScsXHJcbiAgICAgIGphOiAn6K2m5ZGKJyxcclxuICAgICAgY246ICforablkYrmlofmnKwnLFxyXG4gICAgICBrbzogJ+yjvOydmCcsXHJcbiAgICB9LFxyXG4gICAgY2xzOiAnYWxlcnQtdGV4dCcsXHJcbiAgfSxcclxuICAnaW5mb1RleHQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ2luZm8nLFxyXG4gICAgICBkZTogJ2luZm8nLFxyXG4gICAgICBmcjogJ2luZm8nLFxyXG4gICAgICBqYTogJ+aDheWgsScsXHJcbiAgICAgIGNuOiAn5L+h5oGv5paH5pysJyxcclxuICAgICAga286ICfslYjrgrQnLFxyXG4gICAgfSxcclxuICAgIGNsczogJ2luZm8tdGV4dCcsXHJcbiAgfSxcclxuICAndHRzJzoge1xyXG4gICAgbGFiZWw6IHtcclxuICAgICAgZW46ICd0dHMnLFxyXG4gICAgICBkZTogJ3R0cycsXHJcbiAgICAgIGZyOiAndHRzJyxcclxuICAgICAgamE6ICdUVFMnLFxyXG4gICAgICBjbjogJ1RUUycsXHJcbiAgICAgIGtvOiAnVFRTJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICd0dHMtdGV4dCcsXHJcbiAgfSxcclxuICAnc291bmQnOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3NvdW5kJyxcclxuICAgICAgZGU6ICdzb3VuZCcsXHJcbiAgICAgIGZyOiAnc29uJyxcclxuICAgICAgamE6ICfpn7Plo7AnLFxyXG4gICAgICBjbjogJ+aPkOekuumfsycsXHJcbiAgICAgIGtvOiAn7IaM66asJyxcclxuICAgIH0sXHJcbiAgICBjbHM6ICdzb3VuZC10ZXh0JyxcclxuICB9LFxyXG4gICdydW4nOiB7XHJcbiAgICBsYWJlbDoge1xyXG4gICAgICBlbjogJ3J1bicsXHJcbiAgICAgIGRlOiAncnVuJyxcclxuICAgICAgZnI6ICdydW4nLFxyXG4gICAgICBqYTogJ+Wun+ihjCcsXHJcbiAgICAgIGNuOiAn6L+Q6KGMJyxcclxuICAgICAga286ICfsi6TtloknLFxyXG4gICAgfSxcclxuICAgIGNsczogJ3J1bi10ZXh0JyxcclxuICAgIGRlYnVnT25seTogdHJ1ZSxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gT3JkZXJlZCBzZXQgb2YgaGVhZGVycyBpbiB0aGUgdGltZWxpbmUgZWRpdCB0YWJsZS5cclxuY29uc3Qga1RpbWVsaW5lVGFibGVIZWFkZXJzID0ge1xyXG4gIHNob3VsZERpc3BsYXlUZXh0OiB7XHJcbiAgICBlbjogJ1Nob3cnLFxyXG4gICAgZGU6ICdBbnplaWdlbicsXHJcbiAgICBmcjogJ0FmZmljaGVyJyxcclxuICAgIGNuOiAn5pi+56S6JyxcclxuICB9LFxyXG4gIHRleHQ6IHtcclxuICAgIGVuOiAnVGltZWxpbmUgVGV4dCcsXHJcbiAgICBkZTogJ1RpbWVsaW5lIFRleHQnLFxyXG4gICAgZnI6ICdUZXh0ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICBjbjogJ+aXtumXtOi9tOaWh+acrCcsXHJcbiAgfSxcclxuICBvdmVycmlkZVRleHQ6IHtcclxuICAgIGVuOiAnUmVuYW1lJyxcclxuICAgIGRlOiAnVW1iZW5lbm5lbicsXHJcbiAgICBmcjogJ1Jlbm9tbWVyJyxcclxuICAgIGNuOiAn5L+u5pS55paH5pysJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZGV0YWlsS2V5czogeyBba2V5IGluIGtleW9mIExvb3NlVHJpZ2dlcl06IERldGFpbEtleSB9ID0ga0RldGFpbEtleXM7XHJcblxyXG5jb25zdCBrTWlzY1RyYW5zbGF0aW9ucyA9IHtcclxuICAvLyBTaG93cyB1cCBmb3IgdW4tc2V0IHZhbHVlcy5cclxuICB2YWx1ZURlZmF1bHQ6IHtcclxuICAgIGVuOiAnKGRlZmF1bHQpJyxcclxuICAgIGRlOiAnKFN0YW5kYXJkKScsXHJcbiAgICBmcjogJyhEw6lmYXV0KScsXHJcbiAgICBqYTogJyjliJ3mnJ/lgKQpJyxcclxuICAgIGNuOiAnKOm7mOiupOWAvCknLFxyXG4gICAga286ICco6riw67O46rCSKScsXHJcbiAgfSxcclxuICAvLyBTaG93biB3aGVuIHRoZSBVSSBjYW4ndCBkZWNpcGhlciB0aGUgb3V0cHV0IG9mIGEgZnVuY3Rpb24uXHJcbiAgdmFsdWVJc0Z1bmN0aW9uOiB7XHJcbiAgICBlbjogJyhmdW5jdGlvbiknLFxyXG4gICAgZGU6ICcoRnVua3Rpb24pJyxcclxuICAgIGZyOiAnKEZvbmN0aW9uKScsXHJcbiAgICBqYTogJyjplqLmlbApJyxcclxuICAgIGNuOiAnKOWHveaVsCknLFxyXG4gICAga286ICco7ZWo7IiYKScsXHJcbiAgfSxcclxuICAvLyBXYXJuaW5nIGxhYmVsIGZvciB0cmlnZ2VycyB3aXRob3V0IGlkcyBvciBvdmVycmlkZGVuIHRyaWdnZXJzLlxyXG4gIHdhcm5pbmc6IHtcclxuICAgIGVuOiAn4pqg77iPIHdhcm5pbmcnLFxyXG4gICAgZGU6ICfimqDvuI8gV2FybnVuZycsXHJcbiAgICBmcjogJ+KaoO+4jyBBdHRlbnRpb24nLFxyXG4gICAgamE6ICfimqDvuI8g6K2m5ZGKJyxcclxuICAgIGNuOiAn4pqg77iPIOitpuWRiicsXHJcbiAgICBrbzogJ+KaoO+4jyDso7zsnZgnLFxyXG4gIH0sXHJcbiAgLy8gU2hvd3MgdXAgZm9yIHRyaWdnZXJzIHdpdGhvdXQgaWRzLlxyXG4gIG1pc3NpbmdJZDoge1xyXG4gICAgZW46ICdtaXNzaW5nIGlkIGZpZWxkJyxcclxuICAgIGRlOiAnRmVobGVuZGVzIElEIEZlbGQnLFxyXG4gICAgZnI6ICdDaGFtcCBJRCBtYW5xdWFudCcsXHJcbiAgICBqYTogJ2lk44GM44GC44KK44G+44Gb44KTJyxcclxuICAgIGNuOiAn57y65bCRaWTlsZ7mgKcnLFxyXG4gICAga286ICdJRCDtlYTrk5zqsJIg7JeG7J2MJyxcclxuICB9LFxyXG4gIC8vIFNob3dzIHVwIGZvciB0cmlnZ2VycyB0aGF0IGFyZSBvdmVycmlkZGVuIGJ5IG90aGVyIHRyaWdnZXJzLlxyXG4gIG92ZXJyaWRkZW5CeUZpbGU6IHtcclxuICAgIGVuOiAnb3ZlcnJpZGRlbiBieSBcIiR7ZmlsZX1cIicsXHJcbiAgICBkZTogJ8OcYmVyc2NocmllYmVuIGR1cmNoIFwiJHtmaWxlfVwiJyxcclxuICAgIGZyOiAnw4ljcmFzw6koZSkgcGFyIFwiJHtmaWxlfVwiJyxcclxuICAgIGphOiAnXCIke2ZpbGV9XCLjgavkuIrmm7jjgY3jgb7jgZfjgZ8nLFxyXG4gICAgY246ICfooqtcIiR7ZmlsZX1cIuaWh+S7tuimhueblicsXHJcbiAgICBrbzogJ1wiJHtmaWxlfVwiIO2MjOydvOyXkOyEnCDrja7slrTslIzsm4AnLFxyXG4gIH0sXHJcbiAgLy8gT3BlbnMgdHJpZ2dlciBmaWxlIG9uIEdpdGh1Yi5cclxuICB2aWV3VHJpZ2dlclNvdXJjZToge1xyXG4gICAgZW46ICdWaWV3IFRyaWdnZXIgU291cmNlJyxcclxuICAgIGRlOiAnWmVpZ2UgVHJpZ2dlciBRdWVsbGUnLFxyXG4gICAgZnI6ICdBZmZpY2hlciBsYSBzb3VyY2UgZHUgVHJpZ2dlcicsXHJcbiAgICBqYTogJ+ODiOODquOCrOODvOOBruOCs+ODvOODieOCkuihqOekuicsXHJcbiAgICBjbjogJ+aYvuekuuinpuWPkeWZqOa6kOeggScsXHJcbiAgICBrbzogJ+2KuOumrOqxsCDstpzsspgg7Je06riwJyxcclxuICB9LFxyXG4gIC8vIFRoZSBoZWFkZXIgZm9yIHRoZSBlZGl0aW5nIHRpbWVsaW5lIHNlY3Rpb24gaW5zaWRlIGEgdHJpZ2dlciBmaWxlLlxyXG4gIGVkaXRUaW1lbGluZToge1xyXG4gICAgZW46ICdFZGl0IFRpbWVsaW5lJyxcclxuICAgIGRlOiAnVGltZWxpbmUgYmVhcmJlaXRlbicsXHJcbiAgICBmcjogJ8OJZGl0ZXIgbGEgdGltZWxpbmUnLFxyXG4gICAgY246ICfnvJbovpHml7bpl7TovbQnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCB2YWxpZER1cmF0aW9uT3JVbmRlZmluZWQgPSAodmFsRW50cnk/OiBTYXZlZENvbmZpZ0VudHJ5KSA9PiB7XHJcbiAgaWYgKHR5cGVvZiB2YWxFbnRyeSAhPT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbEVudHJ5ICE9PSAnbnVtYmVyJylcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWxFbnRyeS50b1N0cmluZygpKTtcclxuICBpZiAoIWlzTmFOKHZhbCkgJiYgdmFsID49IDApXHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5jb25zdCBjYW5CZUNvbmZpZ3VyZWQgPSAodHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyKSA9PiAhdHJpZy5pc01pc3NpbmdJZCAmJiAhdHJpZy5vdmVycmlkZGVuQnlGaWxlO1xyXG5cclxuY29uc3QgYWRkVHJpZ2dlckRldGFpbCA9IChcclxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxyXG4gIGxhYmVsVGV4dDogc3RyaW5nLFxyXG4gIGRldGFpbFRleHQ6IHN0cmluZyxcclxuICBkZXRhaWxDbHM/OiBzdHJpbmdbXSxcclxuKTogdm9pZCA9PiB7XHJcbiAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBsYWJlbC5pbm5lclRleHQgPSBsYWJlbFRleHQ7XHJcbiAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gIGNvbnN0IGRldGFpbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGRldGFpbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWRldGFpbCcpO1xyXG4gIGRldGFpbC5pbm5lclRleHQgPSBkZXRhaWxUZXh0O1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkZXRhaWwpO1xyXG5cclxuICBpZiAoZGV0YWlsQ2xzKVxyXG4gICAgZGV0YWlsLmNsYXNzTGlzdC5hZGQoLi4uZGV0YWlsQ2xzKTtcclxufTtcclxuXHJcbi8vIFRoaXMgaXMgdXNlZCBib3RoIGZvciB0b3AgbGV2ZWwgT3B0aW9ucyBhbmQgZm9yIFBlclRyaWdnZXJBdXRvQ29uZmlnIHNldHRpbmdzLlxyXG4vLyBVbmZvcnR1bmF0ZWx5IGR1ZSB0byBwb29yIGRlY2lzaW9ucyBpbiB0aGUgcGFzdCwgUGVyVHJpZ2dlck9wdGlvbnMgaGFzIGRpZmZlcmVudFxyXG4vLyBmaWVsZHMgaGVyZS4gIFRoaXMgc2hvdWxkIGJlIGZpeGVkLlxyXG5jb25zdCBzZXRPcHRpb25zRnJvbU91dHB1dFZhbHVlID0gKFxyXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zIHwgVHJpZ2dlckF1dG9Db25maWcsXHJcbiAgdmFsdWU6IFNhdmVkQ29uZmlnRW50cnksXHJcbikgPT4ge1xyXG4gIGlmICh2YWx1ZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAvLyBOb3RoaW5nLlxyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0ZXh0QW5kU291bmQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNBbmRUZXh0Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IHRydWU7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09ICd0dHNPbmx5Jykge1xyXG4gICAgb3B0aW9ucy5UZXh0QWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAndGV4dE9ubHknKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuU291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBmYWxzZTtcclxuICB9IGVsc2UgaWYgKHZhbHVlID09PSAnZGlzYWJsZWQnKSB7XHJcbiAgICBvcHRpb25zLlRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gb3V0cHV0IHR5cGU6ICR7dmFsdWUudG9TdHJpbmcoKX1gKTtcclxuICB9XHJcbn07XHJcblxyXG4vLyBIZWxwZXIgZm9yIGRvaW5nIG5vdGhpbmcgZHVyaW5nIHRyaWdnZXIgZXZhbCwgYnV0IHN0aWxsIHJlY29yZGluZyBhbnlcclxuLy8gY2FsbHMgdG8gYG91dHB1dC5yZXNwb25zZU91dHB1dFN0cmluZ3MgPSB4O2AgdmlhIGNhbGxiYWNrLlxyXG5jbGFzcyBEb05vdGhpbmdGdW5jUHJveHkge1xyXG4gIGNvbnN0cnVjdG9yKG91dHB1dFN0cmluZ3NDYWxsYmFjazogKG91dHB1dFN0cmluZ3M6IE91dHB1dFN0cmluZ3MpID0+IHZvaWQpIHtcclxuICAgIHJldHVybiBuZXcgUHJveHkodGhpcywge1xyXG4gICAgICBzZXQoX3RhcmdldCwgcHJvcGVydHksIHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncmVzcG9uc2VPdXRwdXRTdHJpbmdzJykge1xyXG4gICAgICAgICAgLy8gVE9ETzogbmVlZCBzb21lIHdheSBvZiB2ZXJpZnlpbmcgdGhhdCBhIHZhbHVlIGlzIGFuIE91dHB1dFN0cmluZ3MuXHJcbiAgICAgICAgICBvdXRwdXRTdHJpbmdzQ2FsbGJhY2sodmFsdWUgYXMgT3V0cHV0U3RyaW5ncyk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIElnbm9yZSBvdGhlciBwcm9wZXJ0eSBzZXR0aW5nIGhlcmUuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0KF90YXJnZXQsIF9uYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHsvKiBub29wICovfTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgbWFrZUxpbmsgPSAoaHJlZjogc3RyaW5nKSA9PiB7XHJcbiAgcmV0dXJuIGA8YSBocmVmPVwiJHtocmVmfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7aHJlZn08L2E+YDtcclxufTtcclxuXHJcbmNvbnN0IGxhbmdPckVuID0gKGxhbmc6IENvbmZpZ1ZhbHVlKTogTGFuZyA9PiB7XHJcbiAgcmV0dXJuIHR5cGVvZiBsYW5nID09PSAnc3RyaW5nJyAmJiBpc0xhbmcobGFuZykgPyBsYW5nIDogJ2VuJztcclxufTtcclxuXHJcbmNsYXNzIFJhaWRib3NzQ29uZmlndXJhdG9yIHtcclxuICBwcml2YXRlIGJhc2U6IENhY3Rib3RDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSBhbGVydHNMYW5nOiBMYW5nO1xyXG4gIHByaXZhdGUgdGltZWxpbmVMYW5nOiBMYW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjYWN0Ym90Q29uZmlndXJhdG9yOiBDYWN0Ym90Q29uZmlndXJhdG9yKSB7XHJcbiAgICB0aGlzLmJhc2UgPSBjYWN0Ym90Q29uZmlndXJhdG9yO1xyXG5cclxuICAgIC8vIFRPRE86IGlzIGl0IHdvcnRoIGFkZGluZyB0aGUgY29tcGxleGl0eSB0byByZWZsZWN0IHRoaXMgY2hhbmdlIGluIHRyaWdnZXJzIHRoYXQgdXNlIGl0P1xyXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB1c2luZyBzb21ldGhpbmcgbGlrZSB2dWUgb3IgcmVhY3Qgd291bGQgYmUgZWFzaWVyLlxyXG4gICAgLy8gRm9yIHRoZSBtb21lbnQsIGZvbGtzIGNhbiBqdXN0IHJlbG9hZCwgZm9yIHJlYWwuXHJcbiAgICB0aGlzLmFsZXJ0c0xhbmcgPSBsYW5nT3JFbih0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdBbGVydHNMYW5ndWFnZScsIHRoaXMuYmFzZS5sYW5nKSk7XHJcbiAgICB0aGlzLnRpbWVsaW5lTGFuZyA9IGxhbmdPckVuKFxyXG4gICAgICB0aGlzLmJhc2UuZ2V0T3B0aW9uKCdyYWlkYm9zcycsICdUaW1lbGluZUxhbmd1YWdlJywgdGhpcy5iYXNlLmxhbmcpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkVUkoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgcmFpZGJvc3NGaWxlczogUmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmlsZU1hcCA9IHRoaXMucHJvY2Vzc1JhaWRib3NzRmlsZXMocmFpZGJvc3NGaWxlcywgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgIGNvbnN0IGV4cGFuc2lvbkRpdnM6IHsgW2V4cGFuc2lvbjogc3RyaW5nXTogSFRNTEVsZW1lbnQgfSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgaW5mb10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZU1hcCkpIHtcclxuICAgICAgLy8gXCJleHBhbnNpb25cIiBoZXJlIGlzIHRlY2huaWNhbGx5IHNlY3Rpb24sIHdoaWNoIGluY2x1ZGVzIFwiZ2VuZXJhbCB0cmlnZ2Vyc1wiXHJcbiAgICAgIC8vIGFuZCBvbmUgc2VjdGlvbiBwZXIgdXNlciBmaWxlLlxyXG4gICAgICBjb25zdCBleHBhbnNpb24gPSBpbmZvLnNlY3Rpb247XHJcblxyXG4gICAgICBpZiAoIWluZm8udHJpZ2dlcnMgfHwgT2JqZWN0LmtleXMoaW5mby50cmlnZ2VycykubGVuZ3RoID09PSAwKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgbGV0IGV4cGFuc2lvbkRpdiA9IGV4cGFuc2lvbkRpdnNbZXhwYW5zaW9uXTtcclxuICAgICAgaWYgKCFleHBhbnNpb25EaXYpIHtcclxuICAgICAgICBjb25zdCBleHBhbnNpb25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24tY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25Db250YWluZXIpO1xyXG5cclxuICAgICAgICBjb25zdCBleHBhbnNpb25IZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1leHBhbnNpb24taGVhZGVyJyk7XHJcbiAgICAgICAgZXhwYW5zaW9uSGVhZGVyLm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBleHBhbnNpb25Db250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgnY29sbGFwc2VkJyk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBleHBhbnNpb25IZWFkZXIuaW5uZXJUZXh0ID0gZXhwYW5zaW9uO1xyXG4gICAgICAgIGV4cGFuc2lvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChleHBhbnNpb25IZWFkZXIpO1xyXG5cclxuICAgICAgICBleHBhbnNpb25EaXYgPSBleHBhbnNpb25EaXZzW2V4cGFuc2lvbl0gPSBleHBhbnNpb25Db250YWluZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtY29udGFpbmVyJywgJ2NvbGxhcHNlZCcpO1xyXG4gICAgICBleHBhbnNpb25EaXYuYXBwZW5kQ2hpbGQodHJpZ2dlckNvbnRhaW5lcik7XHJcblxyXG4gICAgICBjb25zdCBoZWFkZXJEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZmlsZS1oZWFkZXInKTtcclxuICAgICAgaGVhZGVyRGl2Lm9uY2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgdHJpZ2dlckNvbnRhaW5lci5jbGFzc0xpc3QudG9nZ2xlKCdjb2xsYXBzZWQnKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIGNvbnN0IHBhcnRzID0gW2luZm8udGl0bGUsIGluZm8udHlwZSwgaW5mby5wcmVmaXhdO1xyXG4gICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgICAgICBpZiAoIXBhcnQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBwYXJ0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcGFydERpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLWZpbGUtaGVhZGVyLXBhcnQnKTtcclxuICAgICAgICAvLyBVc2UgaW5uZXJIVE1MIGhlcmUgYmVjYXVzZSBvZiA8RW1waGFzaXM+V2hvcmxlYXRlcjwvRW1waGFzaXM+LlxyXG4gICAgICAgIHBhcnREaXYuaW5uZXJIVE1MID0gcGFydDtcclxuICAgICAgICBoZWFkZXJEaXYuYXBwZW5kQ2hpbGQocGFydERpdik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRyaWdnZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuXHJcbiAgICAgIC8vIFRpbWVsaW5lIGVkaXRpbmcgaXMgdGllZCB0byBhIHNpbmdsZSwgc3BlY2lmaWMgem9uZUlkIHBlciBmaWxlIGZvciBub3cuXHJcbiAgICAgIC8vIFdlIGNvdWxkIGFkZCBtb3JlIGluZGlyZWN0aW9uICh2aWEgZmlsZUtleT8pIGFuZCBsb29rIHVwIHpvbmVJZCAtPiBmaWxlS2V5W11cclxuICAgICAgLy8gYW5kIGZpbGVLZXkgLT4gdGltZWxpbmUgZWRpdHMgaWYgbmVlZGVkLlxyXG4gICAgICBpZiAoaW5mby50cmlnZ2VyU2V0LnRpbWVsaW5lICYmIHR5cGVvZiBpbmZvLnpvbmVJZCA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgdGhpcy5idWlsZFRpbWVsaW5lVUlDb250YWluZXIoaW5mby56b25lSWQsIGluZm8udHJpZ2dlclNldCwgdHJpZ2dlckNvbnRhaW5lciwgdXNlck9wdGlvbnMpO1xyXG5cclxuICAgICAgY29uc3QgdHJpZ2dlck9wdGlvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdHJpZ2dlck9wdGlvbnMuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1maWxlLW9wdGlvbnMnKTtcclxuICAgICAgdHJpZ2dlckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0cmlnZ2VyT3B0aW9ucyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IFt0cmlnSWQsIHRyaWddIG9mIE9iamVjdC5lbnRyaWVzKGluZm8udHJpZ2dlcnMgPz8ge30pKSB7XHJcbiAgICAgICAgLy8gRG9uJ3QgY29uc3RydWN0IHRyaWdnZXJzIHRoYXQgd29uJ3Qgc2hvdyBhbnl0aGluZy5cclxuICAgICAgICBsZXQgaGFzT3V0cHV0RnVuYyA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgZnVuYyBvZiB0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zKSB7XHJcbiAgICAgICAgICBpZiAoZnVuYyBpbiB0cmlnKSB7XHJcbiAgICAgICAgICAgIGhhc091dHB1dEZ1bmMgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFoYXNPdXRwdXRGdW5jICYmICF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucylcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAvLyBCdWlsZCB0aGUgdHJpZ2dlciBsYWJlbC5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdHJpZ2dlckRpdi5pbm5lckhUTUwgPSB0cmlnLmlzTWlzc2luZ0lkID8gJyg/Pz8pJyA6IHRyaWdJZDtcclxuXHJcbiAgICAgICAgdHJpZ2dlckRpdi5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyJyk7XHJcbiAgICAgICAgdHJpZ2dlck9wdGlvbnMuYXBwZW5kQ2hpbGQodHJpZ2dlckRpdik7XHJcblxyXG4gICAgICAgIC8vIENvbnRhaW5lciBmb3IgdGhlIHJpZ2h0IHNpZGUgdWkgKHNlbGVjdCBib3hlcywgYWxsIG9mIHRoZSBpbmZvKS5cclxuICAgICAgICBjb25zdCB0cmlnZ2VyRGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRyaWdnZXJEZXRhaWxzLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZGV0YWlscycpO1xyXG4gICAgICAgIHRyaWdnZXJPcHRpb25zLmFwcGVuZENoaWxkKHRyaWdnZXJEZXRhaWxzKTtcclxuXHJcbiAgICAgICAgaWYgKGNhbkJlQ29uZmlndXJlZCh0cmlnKSlcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKHRoaXMuYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnLCB0cmlnZ2VyRGl2KSk7XHJcblxyXG4gICAgICAgIGlmICh0cmlnLmlzTWlzc2luZ0lkKSB7XHJcbiAgICAgICAgICBhZGRUcmlnZ2VyRGV0YWlsKFxyXG4gICAgICAgICAgICB0cmlnZ2VyRGV0YWlscyxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy53YXJuaW5nKSxcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy5taXNzaW5nSWQpLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRyaWcub3ZlcnJpZGRlbkJ5RmlsZSkge1xyXG4gICAgICAgICAgY29uc3QgYmFzZVRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsVGV4dCA9IGJhc2VUZXh0LnJlcGxhY2UoJyR7ZmlsZX0nLCB0cmlnLm92ZXJyaWRkZW5CeUZpbGUpO1xyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUoa01pc2NUcmFuc2xhdGlvbnMud2FybmluZyksXHJcbiAgICAgICAgICAgIGRldGFpbFRleHQsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXBwZW5kIHNvbWUgZGV0YWlscyBhYm91dCB0aGUgdHJpZ2dlciBzbyBpdCdzIG1vcmUgb2J2aW91cyB3aGF0IGl0IGlzLlxyXG4gICAgICAgIGZvciAoY29uc3QgW2RldGFpbFN0cmluZ0tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyhkZXRhaWxLZXlzKSkge1xyXG4gICAgICAgICAgLy8gT2JqZWN0LmVudHJpZXMgY29lcmNlcyB0byBhIHN0cmluZywgYnV0IHRoZSBkZXRhaWxLZXlzIGRlZmluaXRpb24gbWFrZXMgdGhpcyB0cnVlLlxyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gZGV0YWlsU3RyaW5nS2V5IGFzIGtleW9mIExvb3NlVHJpZ2dlcjtcclxuXHJcbiAgICAgICAgICBpZiAob3B0LmdlbmVyYXRlZE1hbnVhbGx5KVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIGlmICghdGhpcy5iYXNlLmRldmVsb3Blck9wdGlvbnMgJiYgb3B0LmRlYnVnT25seSlcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICBjb25zdCB0cmlnT3V0cHV0ID0gdHJpZy5jb25maWdPdXRwdXQ/LltkZXRhaWxLZXldO1xyXG4gICAgICAgICAgY29uc3QgdHJpZ0Z1bmMgPSB0cmlnW2RldGFpbEtleV07XHJcbiAgICAgICAgICBpZiAoIXRyaWdGdW5jKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkZXRhaWxDbHMgPSBbb3B0LmNsc107XHJcbiAgICAgICAgICBsZXQgZGV0YWlsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgaWYgKHRyaWdPdXRwdXQpIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdPdXRwdXQ7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0cmlnRnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBkZXRhaWxUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZUlzRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICBkZXRhaWxDbHMucHVzaCgnZnVuY3Rpb24tdGV4dCcpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCA9IHRyaWdGdW5jLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYWRkVHJpZ2dlckRldGFpbChcclxuICAgICAgICAgICAgdHJpZ2dlckRldGFpbHMsXHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS50cmFuc2xhdGUob3B0LmxhYmVsKSxcclxuICAgICAgICAgICAgZGV0YWlsVGV4dCxcclxuICAgICAgICAgICAgZGV0YWlsQ2xzLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghY2FuQmVDb25maWd1cmVkKHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIC8vIEFkZCBiZWZvcmVTZWNvbmRzIG1hbnVhbGx5IGZvciB0aW1lbGluZSB0cmlnZ2Vycy5cclxuICAgICAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2JlZm9yZVNlY29uZHMnO1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMuYmVmb3JlU2Vjb25kcztcclxuXHJcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgbGFiZWwuaW5uZXJUZXh0ID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrRGV0YWlsS2V5c1tkZXRhaWxLZXldLmxhYmVsKTtcclxuICAgICAgICAgIGxhYmVsLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbGFiZWwnKTtcclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdvcHRpb24taW5wdXQtY29udGFpbmVyJywgJ3RyaWdnZXItYmVmb3JlLXNlY29uZHMnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnN0ZXAgPSAnYW55JztcclxuXHJcbiAgICAgICAgICAvLyBTYXkgXCIoZGVmYXVsdClcIiBmb3IgbW9yZSBjb21wbGljYXRlZCB0aGluZ3MgbGlrZSBmdW5jdGlvbnMuXHJcbiAgICAgICAgICBsZXQgZGVmYXVsdFZhbHVlID0gdGhpcy5iYXNlLnRyYW5zbGF0ZShrTWlzY1RyYW5zbGF0aW9ucy52YWx1ZURlZmF1bHQpO1xyXG4gICAgICAgICAgaWYgKHRyaWcuYmVmb3JlU2Vjb25kcyA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSAnMCc7XHJcbiAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdHJpZy5iZWZvcmVTZWNvbmRzID09PSAnbnVtYmVyJylcclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlID0gdHJpZy5iZWZvcmVTZWNvbmRzLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSBkZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgZHVyYXRpb24gbWFudWFsbHkgd2l0aCBhbiBpbnB1dCB0byBvdmVycmlkZS5cclxuICAgICAgICBpZiAoaGFzT3V0cHV0RnVuYykge1xyXG4gICAgICAgICAgY29uc3QgZGV0YWlsS2V5ID0gJ2R1cmF0aW9uJztcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLmR1cmF0aW9uO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtEZXRhaWxLZXlzW2RldGFpbEtleV0ubGFiZWwpO1xyXG4gICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1kdXJhdGlvbicpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgICBpbnB1dC50eXBlID0gJ3RleHQnO1xyXG4gICAgICAgICAgaW5wdXQuc3RlcCA9ICdhbnknO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB0cmlnLmR1cmF0aW9uU2Vjb25kcyA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gYCR7dHJpZy5kdXJhdGlvblNlY29uZHN9YDtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaW5wdXQucGxhY2Vob2xkZXIgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZhbHVlRGVmYXVsdCk7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgJycpO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGlucHV0LnZhbHVlKSB8fCAnJztcclxuICAgICAgICAgICAgdGhpcy5iYXNlLnNldE9wdGlvbigncmFpZGJvc3MnLCBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLCB2YWwpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gc2V0RnVuYztcclxuICAgICAgICAgIGlucHV0Lm9uaW5wdXQgPSBzZXRGdW5jO1xyXG5cclxuICAgICAgICAgIHRyaWdnZXJEZXRhaWxzLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBZGQgb3V0cHV0IHN0cmluZ3MgbWFudWFsbHlcclxuICAgICAgICBjb25zdCBvdXRwdXRTdHJpbmdzID0gdHJpZy5vdXRwdXRTdHJpbmdzIHx8IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIG91dHB1dFN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMob3V0cHV0U3RyaW5ncykpIHtcclxuICAgICAgICAgIGNvbnN0IG9wdGlvbktleSA9IGtPcHRpb25LZXlzLm91dHB1dFN0cmluZ3M7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHR5cGVvZiBvdXRwdXRTdHJpbmcgPT09ICdzdHJpbmcnXHJcbiAgICAgICAgICAgID8gb3V0cHV0U3RyaW5nXHJcbiAgICAgICAgICAgIDogdGhpcy5iYXNlLnRyYW5zbGF0ZShvdXRwdXRTdHJpbmcpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBsYWJlbC5pbm5lclRleHQgPSBrZXk7XHJcbiAgICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW91dHB1dHN0cmluZy1sYWJlbCcpO1xyXG4gICAgICAgICAgdHJpZ2dlckRldGFpbHMuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoJ29wdGlvbi1pbnB1dC1jb250YWluZXInLCAndHJpZ2dlci1vdXRwdXRzdHJpbmcnKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgICAgaW5wdXQudHlwZSA9ICd0ZXh0JztcclxuICAgICAgICAgIGlucHV0LnBsYWNlaG9sZGVyID0gdGVtcGxhdGU7XHJcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuYmFzZS5nZXRTdHJpbmdPcHRpb24oXHJcbiAgICAgICAgICAgICdyYWlkYm9zcycsXHJcbiAgICAgICAgICAgIFsndHJpZ2dlcnMnLCB0cmlnSWQsIG9wdGlvbktleSwga2V5XSxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5LCBrZXldLCBpbnB1dC52YWx1ZSk7XHJcbiAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9IHNldEZ1bmM7XHJcbiAgICAgICAgICBpbnB1dC5vbmlucHV0ID0gc2V0RnVuYztcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChsYWJlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy0nKTtcclxuICAgICAgICBjb25zdCBbcDAsIHAxLCBwMl0gPSBwYXRoO1xyXG4gICAgICAgIGlmIChwMCAhPT0gdW5kZWZpbmVkICYmIHAxICE9PSB1bmRlZmluZWQgJiYgcDIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCgnb3B0aW9uLWlucHV0LWNvbnRhaW5lcicsICd0cmlnZ2VyLXNvdXJjZScpO1xyXG4gICAgICAgICAgY29uc3QgYmFzZVVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vcXVpc3F1b3VzL2NhY3Rib3QvYmxvYi90cmlnZ2Vycyc7XHJcbiAgICAgICAgICBsZXQgdXJsRmlsZXBhdGg7XHJcbiAgICAgICAgICBpZiAocGF0aC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICAgICAgLy8gMDAtbWlzYy9nZW5lcmFsLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7Wy4uLnBhdGhdLnNsaWNlKDIpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gMDItYXJyL3JhaWRzL3QxLmpzXHJcbiAgICAgICAgICAgIHVybEZpbGVwYXRoID0gYCR7cDB9LSR7cDF9LyR7cDJ9LyR7Wy4uLnBhdGhdLnNsaWNlKDMpLmpvaW4oJy0nKX1gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXNjYXBlZFRyaWdnZXJJZCA9IHRyaWdJZC5yZXBsYWNlKC8nL2csICdcXFxcXFwnJyk7XHJcbiAgICAgICAgICBjb25zdCB1cmlDb21wb25lbnQgPSBlbmNvZGVVUklDb21wb25lbnQoYGlkOiAnJHtlc2NhcGVkVHJpZ2dlcklkfSdgKS5yZXBsYWNlKC8nL2csICclMjcnKTtcclxuICAgICAgICAgIGNvbnN0IHVybFN0cmluZyA9IGAke2Jhc2VVcmx9LyR7dXJsRmlsZXBhdGh9LmpzIzp+OnRleHQ9JHt1cmlDb21wb25lbnR9YDtcclxuICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBgPGEgaHJlZj1cIiR7dXJsU3RyaW5nfVwiIHRhcmdldD1cIl9ibGFua1wiPigke1xyXG4gICAgICAgICAgICB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLnZpZXdUcmlnZ2VyU291cmNlKVxyXG4gICAgICAgICAgfSk8L2E+YDtcclxuXHJcbiAgICAgICAgICB0cmlnZ2VyRGV0YWlscy5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQnVpbGQgdGhlIHRvcCBsZXZlbCB0aW1lbGluZSBlZGl0aW5nIGV4cGFuZGFibGUgY29udGFpbmVyLlxyXG4gIGJ1aWxkVGltZWxpbmVVSUNvbnRhaW5lcihcclxuICAgIHpvbmVJZDogbnVtYmVyLFxyXG4gICAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxyXG4gICAgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zLFxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtZWRpdC1jb250YWluZXInLCAnY29sbGFwc2VkJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBsZXQgaGFzRXZlckJlZW5FeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IGhlYWRlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgaGVhZGVyRGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLWVkaXQtaGVhZGVyJyk7XHJcbiAgICBoZWFkZXJEaXYub25jbGljayA9ICgpID0+IHtcclxuICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpO1xyXG4gICAgICAvLyBCdWlsZCB0aGUgcmVzdCBvZiB0aGlzIFVJIG9uIGRlbWFuZCBsYXppbHkuXHJcbiAgICAgIGlmICghaGFzRXZlckJlZW5FeHBhbmRlZCkge1xyXG4gICAgICAgIGNvbnN0IHRpbWVsaW5lID0gdGhpcy50aW1lbGluZUZyb21TZXQoc2V0LCBvcHRpb25zKTtcclxuICAgICAgICB0aGlzLmJ1aWxkVGltZWxpbmVVSSh6b25lSWQsIHRpbWVsaW5lLCBjb250YWluZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIGhhc0V2ZXJCZWVuRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgfTtcclxuICAgIGhlYWRlckRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGtNaXNjVHJhbnNsYXRpb25zLmVkaXRUaW1lbGluZSk7XHJcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGVyRGl2KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYSBwYXJzZWQgdGltZWxpbmUgZnJvbSBhIGdpdmVuIHRyaWdnZXIgc2V0LlxyXG4gIHRpbWVsaW5lRnJvbVNldChzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCwgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zKTogVGltZWxpbmVQYXJzZXIge1xyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBSZWN1cnNpdmVseSB0dXJuIHRoZSB0aW1lbGluZSBhcnJheSBpbnRvIGEgc3RyaW5nLlxyXG4gICAgY29uc3QgYWRkVGltZWxpbmUgPSAob2JqPzogVGltZWxpbmVGaWVsZCkgPT4ge1xyXG4gICAgICBpZiAob2JqID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmpWYWwgb2Ygb2JqKVxyXG4gICAgICAgICAgYWRkVGltZWxpbmUob2JqVmFsKTtcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgLy8gSGFjaywgcGFzcyBibGFuayBkYXRhIGluLCBhcyB3ZSBkb24ndCBoYXZlIGEgcmVhbCBkYXRhIGhlcmUuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xyXG4gICAgICAgIGNvbnN0IGJsYW5rRGF0YTogUmFpZGJvc3NEYXRhID0ge30gYXMgUmFpZGJvc3NEYXRhO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBhZGRUaW1lbGluZShvYmooYmxhbmtEYXRhKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gRG8gbm90aGluZyBpZiB0aGlzIGZhaWxzLlxyXG4gICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBwcmV0dHkgdW5jb21tb24gaW4gYnVpbHQtaW4gdGltZWxpbmVzLlxyXG4gICAgICAgICAgLy8gSWYgdXNlciBmdW5jdGlvbnMgZG8gZnVua3kgdGhpbmdzLCB0aG9zZSBleHRyYSBsaW5lcyB3aWxsIGJlIHNraXBwZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7b2JqfWA7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBhZGRUaW1lbGluZShzZXQudGltZWxpbmUpO1xyXG4gICAgLy8gVXNpbmcgdGhlIHRpbWVsaW5lUmVwbGFjZSBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbGV0cyB0aGUgdGltZWxpbmVcclxuICAgIC8vIGVudHJpZXMgbG9vayBsaWtlIHRoZXkgd291bGQgaW4gZ2FtZS5cclxuICAgIHJldHVybiBuZXcgVGltZWxpbmVQYXJzZXIodGV4dCwgc2V0LnRpbWVsaW5lUmVwbGFjZSA/PyBbXSwgW10sIFtdLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBpbnRlcm5hbCBwYXJ0IG9mIHRpbWVsaW5lIGVkaXRpbmcgdWkuXHJcbiAgYnVpbGRUaW1lbGluZVVJKHpvbmVJZDogbnVtYmVyLCB0aW1lbGluZTogVGltZWxpbmVQYXJzZXIsIHBhcmVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVuaXFFdmVudHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIHRpbWVsaW5lLmV2ZW50cykge1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB1bmlxRXZlbnRzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICBpZiAoZXZlbnQubmFtZSBpbiB0aW1lbGluZS5pZ25vcmVzKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAvLyBuYW1lID0gb3JpZ2luYWwgdGltZWxpbmUgdGV4dFxyXG4gICAgICAvLyB0ZXh0ID0gcmVwbGFjZWQgdGV4dCBpbiBjdXJyZW50IGxhbmd1YWdlXHJcbiAgICAgIHVuaXFFdmVudHNbZXZlbnQubmFtZV0gPSBldmVudC50ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtY29udGFpbmVyJyk7XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGhlYWRlciBvZiBPYmplY3QudmFsdWVzKGtUaW1lbGluZVRhYmxlSGVhZGVycykpIHtcclxuICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGRpdi5pbm5lclRleHQgPSB0aGlzLmJhc2UudHJhbnNsYXRlKGhlYWRlcik7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh1bmlxRXZlbnRzKS5zb3J0KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdW5pcUV2ZW50c1trZXldO1xyXG4gICAgICBpZiAoIWV2ZW50KVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY29uc3QgY2hlY2tJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGNoZWNrSW5wdXQuY2xhc3NMaXN0LmFkZCgndGltZWxpbmUtdGV4dC1lbmFibGUnKTtcclxuICAgICAgY2hlY2tJbnB1dC50eXBlID0gJ2NoZWNrYm94JztcclxuICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNoZWNrSW5wdXQpO1xyXG5cclxuICAgICAgLy8gRW5hYmxlL2Rpc2FibGUgaGVyZSBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIGBoaWRlYWxsIFwia2V5XCJgLCB3aGVyZSB0aGlzIHRleHQgd2lsbFxyXG4gICAgICAvLyBub3QgYmUgc2hvd24sIGJ1dCB0aW1lbGluZSB0cmlnZ2VycyByZWxhdGVkIHRvIGl0IHdpbGwgc3RpbGwgZmlyZS5cclxuICAgICAgY29uc3QgZW5hYmxlSWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdlbmFibGUnLCBrZXldO1xyXG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0cnVlO1xyXG4gICAgICBjaGVja0lucHV0LmNoZWNrZWQgPSB0aGlzLmJhc2UuZ2V0Qm9vbGVhbk9wdGlvbigncmFpZGJvc3MnLCBlbmFibGVJZCwgZGVmYXVsdFZhbHVlKTtcclxuICAgICAgY2hlY2tJbnB1dC5vbmNoYW5nZSA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgZW5hYmxlSWQsIGNoZWNrSW5wdXQuY2hlY2tlZCk7XHJcblxyXG4gICAgICBjb25zdCB0aW1lbGluZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgdGltZWxpbmVUZXh0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtdGV4dCcpO1xyXG4gICAgICB0aW1lbGluZVRleHQuaW5uZXJIVE1MID0gZXZlbnQ7XHJcbiAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW1lbGluZVRleHQpO1xyXG5cclxuICAgICAgY29uc3QgdGV4dElucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgdGV4dElucHV0LmNsYXNzTGlzdC5hZGQoJ3RpbWVsaW5lLXRleHQtZWRpdCcpO1xyXG4gICAgICB0ZXh0SW5wdXQucGxhY2Vob2xkZXIgPSBldmVudDtcclxuXHJcbiAgICAgIC8vIEFueSBjaGFuZ2VzIGFyZSB0aWVkIHRvIHRoZSBvcmlnaW5hbCB0aW1lbGluZSB0ZXh0IChrZXkpLCBidXQgdGhlIGNvbmZpZyB1aSB3aWxsXHJcbiAgICAgIC8vIGRpc3BsYXkgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UncyB0ZXh0IHdpdGggcmVwbGFjZW1lbnRzIChldmVudCkgYXMgdGhlIHBsYWNlaG9sZGVyIGFib3ZlLlxyXG4gICAgICBjb25zdCB0ZXh0SWQgPSBbJ3RpbWVsaW5lJywgem9uZUlkLnRvU3RyaW5nKCksICdnbG9iYWxSZXBsYWNlJywga2V5XTtcclxuICAgICAgdGV4dElucHV0LnZhbHVlID0gdGhpcy5iYXNlLmdldFN0cmluZ09wdGlvbigncmFpZGJvc3MnLCB0ZXh0SWQsICcnKTtcclxuICAgICAgY29uc3Qgc2V0RnVuYyA9ICgpID0+IHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgdGV4dElkLCB0ZXh0SW5wdXQudmFsdWUpO1xyXG4gICAgICB0ZXh0SW5wdXQub25jaGFuZ2UgPSBzZXRGdW5jO1xyXG4gICAgICB0ZXh0SW5wdXQub25pbnB1dCA9IHNldEZ1bmM7XHJcblxyXG4gICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGV4dElucHV0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRoaXMgZHVwbGljYXRlcyB0aGUgcmFpZGJvc3MgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZS5cclxuICB2YWx1ZU9yRnVuY3Rpb24oXHJcbiAgICBmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCxcclxuICAgIGRhdGE6IFJhaWRib3NzRGF0YSxcclxuICAgIG1hdGNoZXM6IE1hdGNoZXMsXHJcbiAgICBvdXRwdXQ6IE91dHB1dCxcclxuICApOiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gKHR5cGVvZiBmID09PSAnZnVuY3Rpb24nKSA/IGYoZGF0YSwgbWF0Y2hlcywgb3V0cHV0KSA6IGY7XHJcbiAgICBpZiAocmVzdWx0ICE9PSBPYmplY3QocmVzdWx0KSlcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSAnb2JqZWN0JyB8fCByZXN1bHQgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICBpZiAocmVzdWx0W3RoaXMuYWxlcnRzTGFuZ10pXHJcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbdGhpcy5hbGVydHNMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIGlmIChyZXN1bHRbdGhpcy50aW1lbGluZUxhbmddKVxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZU9yRnVuY3Rpb24ocmVzdWx0W3RoaXMudGltZWxpbmVMYW5nXSwgZGF0YSwgbWF0Y2hlcywgb3V0cHV0KTtcclxuICAgIC8vIEZvciBwYXJ0aWFsbHkgbG9jYWxpemVkIHJlc3VsdHMgd2hlcmUgdGhpcyBsb2NhbGl6YXRpb24gZG9lc24ndFxyXG4gICAgLy8gZXhpc3QsIHByZWZlciBFbmdsaXNoIG92ZXIgbm90aGluZy5cclxuICAgIHJldHVybiB0aGlzLnZhbHVlT3JGdW5jdGlvbihyZXN1bHRbJ2VuJ10sIGRhdGEsIG1hdGNoZXMsIG91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzVHJpZ2dlcih0cmlnOiBDb25maWdMb29zZVRyaWdnZXIpOiBDb25maWdMb29zZVRyaWdnZXIge1xyXG4gICAgLy8gVE9ETzogd2l0aCBzb21lIGhhY2tpbmVzcyAoZS5nLiByZWdleGVzPykgd2UgY291bGQgZmlndXJlIG91dCB3aGljaFxyXG4gICAgLy8gb3V0cHV0IHN0cmluZyBjYW1lIGZyb20gd2hpY2ggYWxlcnQgdHlwZSAoYWxhcm0sIGFsZXJ0LCBpbmZvLCB0dHMpLlxyXG4gICAgLy8gU2VlIGBtYWtlT3V0cHV0YCBjb21tZW50cyBmb3Igd2h5IHRoaXMgbmVlZHMgYSB0eXBlIGFzc2VydGlvbiB0byBiZSBhbiBPdXRwdXQuXHJcbiAgICBjb25zdCBmYWtlT3V0cHV0UHJveHkgPSBuZXcgRG9Ob3RoaW5nRnVuY1Byb3h5KChvdXRwdXRTdHJpbmdzOiBPdXRwdXRTdHJpbmdzKSA9PiB7XHJcbiAgICAgIHRyaWcub3V0cHV0U3RyaW5ncyA9IHRyaWcub3V0cHV0U3RyaW5ncyB8fCB7fTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0cmlnLm91dHB1dFN0cmluZ3MsIG91dHB1dFN0cmluZ3MpO1xyXG4gICAgfSkgYXMgT3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGJhc2VGYWtlRGF0YTogUmFpZGJvc3NEYXRhID0ge1xyXG4gICAgICBtZTogJycsXHJcbiAgICAgIGpvYjogJ05PTkUnLFxyXG4gICAgICByb2xlOiAnbm9uZScsXHJcbiAgICAgIHBhcnR5OiBuZXcgUGFydHlUcmFja2VyKCksXHJcbiAgICAgIGxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBjdXJyZW50SFA6IDEwMDAsXHJcbiAgICAgIG9wdGlvbnM6IHRoaXMuYmFzZS5jb25maWdPcHRpb25zLFxyXG4gICAgICBTaG9ydE5hbWU6ICh4Pzogc3RyaW5nKSA9PiB4ID8/ICc/Pz8nLFxyXG4gICAgICBTdG9wQ29tYmF0OiAoKSA9PiB7Lyogbm9vcCAqL30sXHJcbiAgICAgIFBhcnNlTG9jYWxlRmxvYXQ6IHBhcnNlRmxvYXQsXHJcbiAgICAgIENhblN0dW46ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5TaWxlbmNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuU2xlZXA6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5DbGVhbnNlOiAoKSA9PiBmYWxzZSxcclxuICAgICAgQ2FuRmVpbnQ6ICgpID0+IGZhbHNlLFxyXG4gICAgICBDYW5BZGRsZTogKCkgPT4gZmFsc2UsXHJcbiAgICAgIHBhcnNlckxhbmc6IHRoaXMuYmFzZS5sYW5nLFxyXG4gICAgICBkaXNwbGF5TGFuZzogdGhpcy5iYXNlLmxhbmcsXHJcbiAgICB9O1xyXG5cclxuICAgIHR5cGUgUGFydGlhbEZha2VEYXRhRW50cnkgPSB7IG1lOiBzdHJpbmc7IGpvYjogSm9iOyByb2xlOiBSb2xlIH07XHJcbiAgICBjb25zdCBwYXJ0aWFsRmFrZURhdGFFbnRyaWVzOiBQYXJ0aWFsRmFrZURhdGFFbnRyeVtdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUaW5pIFBvdXRpbmknLFxyXG4gICAgICAgIGpvYjogJ0dOQicsXHJcbiAgICAgICAgcm9sZTogJ3RhbmsnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdQb3RhdG8gQ2hpcHB5JyxcclxuICAgICAgICBqb2I6ICdXSE0nLFxyXG4gICAgICAgIHJvbGU6ICdoZWFsZXInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbWU6ICdUYXRlciBUb3QnLFxyXG4gICAgICAgIGpvYjogJ0JMTScsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0hhc2ggQnJvd24nLFxyXG4gICAgICAgIGpvYjogJ0RSRycsXHJcbiAgICAgICAgcm9sZTogJ2RwcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBtZTogJ0Fsb28gR29iaScsXHJcbiAgICAgICAgam9iOiAnQkxVJyxcclxuICAgICAgICByb2xlOiAnZHBzJyxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgICBjb25zdCBmYWtlRGF0YUVudHJpZXM6IFJhaWRib3NzRGF0YVtdID0gcGFydGlhbEZha2VEYXRhRW50cmllcy5tYXAoKHgpID0+IHtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHgsIGJhc2VGYWtlRGF0YSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZpcnN0RGF0YSA9IGZha2VEYXRhRW50cmllc1swXTtcclxuICAgIGlmICghZmlyc3REYXRhKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qga0Zha2VNYXRjaGVzID0ge1xyXG4gICAgICAvLyBUT0RPOiByZWFsbHkgc2hvdWxkIGNvbnZlcnQgYWxsIHRyaWdnZXJzIHRvIHVzZSByZWdleGVzLmpzLlxyXG4gICAgICAvLyBNb29vb29zdCB0cmlnZ2VycyB1c2UgbWF0Y2hlc1sxXSB0byBiZSBhIG5hbWUuXHJcbiAgICAgIDE6IGZpcnN0RGF0YS5tZSxcclxuXHJcbiAgICAgIHNvdXJjZUlkOiAnNDEyMzQ1NjcnLFxyXG4gICAgICBzb3VyY2U6ICdFbmVteScsXHJcbiAgICAgIGlkOiAnMTIzNCcsXHJcbiAgICAgIGFiaWxpdHk6ICdBYmlsaXR5JyxcclxuICAgICAgdGFyZ2V0SWQ6ICcxMjM0NTY3JyxcclxuICAgICAgdGFyZ2V0OiBmaXJzdERhdGEubWUsXHJcbiAgICAgIGZsYWdzOiAnJyxcclxuICAgICAgeDogJzEwMCcsXHJcbiAgICAgIHk6ICcxMDAnLFxyXG4gICAgICB6OiAnMCcsXHJcbiAgICAgIGhlYWRpbmc6ICcwJyxcclxuICAgICAgbnBjSWQ6ICcnLFxyXG4gICAgICBlZmZlY3Q6ICdFZmZlY3QnLFxyXG4gICAgICBkdXJhdGlvbjogJzMwJyxcclxuICAgICAgY29kZTogJzAwJyxcclxuICAgICAgbGluZTogJycsXHJcbiAgICAgIG5hbWU6ICdOYW1lJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0OiB7IFtrZXkgaW4ga2V5b2YgTG9vc2VUcmlnZ2VyXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXRLZXlzID0gWydhbGFybVRleHQnLCAnYWxlcnRUZXh0JywgJ2luZm9UZXh0JywgJ3R0cycsICdzb3VuZCddIGFzIGNvbnN0O1xyXG4gICAgdHlwZSBPdXRwdXRLZXkgPSB0eXBlb2Ygb3V0cHV0S2V5c1tudW1iZXJdO1xyXG5cclxuICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgc29tZSBzYW1wbGUgb3V0cHV0P1xyXG4gICAgLy8gVGhpcyBjb3VsZCBnZXQgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIGlmIHdlIHdhbnRlZCBpdCB0by5cclxuICAgIGNvbnN0IGV2YWxUcmlnZ2VyID0gKHRyaWc6IExvb3NlVHJpZ2dlciwga2V5OiBPdXRwdXRLZXksIGRhdGE6IFJhaWRib3NzRGF0YSkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsdWVPckZ1bmN0aW9uKHRyaWdba2V5XSwgZGF0YSwga0Zha2VNYXRjaGVzLCBmYWtlT3V0cHV0UHJveHkpO1xyXG4gICAgICAgIGlmICghcmVzdWx0KVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBTdXBlciBoYWNrOlxyXG4gICAgICAgIGNvbnN0IHJlc3VsdFN0ciA9IHJlc3VsdC50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChyZXN1bHRTdHIuaW5jbHVkZXMoJ3VuZGVmaW5lZCcpIHx8IHJlc3VsdFN0ci5pbmNsdWRlcygnTmFOJykpXHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIG91dHB1dFtrZXldID0gcmVzdWx0U3RyO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBhbGwgdG90YWxseSBib2d1cy4gIE1hbnkgdHJpZ2dlcnMgYXNzdW1lIGZpZWxkcyBvbiBkYXRhXHJcbiAgICAgICAgLy8gYXJlIHByb3Blcmx5IGRlZmluZWQgd2hlbiB0aGVzZSBjYWxscyBoYXBwZW4sIHNvIHdpbGwgdGhyb3cgZXJyb3JzLlxyXG4gICAgICAgIC8vIFNvIGp1c3Qgc2lsZW50bHkgaWdub3JlLlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBIYW5kbGUgJ3Jlc3BvbnNlJyBmaXJzdC5cclxuICAgIGlmICh0cmlnLnJlc3BvbnNlKSB7XHJcbiAgICAgIGNvbnN0IHIgPSB0cmlnLnJlc3BvbnNlO1xyXG4gICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZmFrZURhdGFFbnRyaWVzKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIC8vIENhbid0IHVzZSBWYWx1ZU9yRnVuY3Rpb24gaGVyZSBhcyByIHJldHVybnMgYSBub24tbG9jYWxpemFibGUgb2JqZWN0LlxyXG4gICAgICAgICAgLy8gRklYTUU6IHRoaXMgaGFja2lseSByZXBsaWNhdGVzIHNvbWUgcmFpZGJvc3MgbG9naWMgdG9vLlxyXG4gICAgICAgICAgbGV0IHJlc3BvbnNlOiB0eXBlb2YgdHJpZy5yZXNwb25zZSB8IHVuZGVmaW5lZCA9IHI7XHJcbiAgICAgICAgICB3aGlsZSAodHlwZW9mIHJlc3BvbnNlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHRoaXMgaGFzIGJ1aWx0SW5SZXNwb25zZVN0ciBmaXJzdC5cclxuICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZShkYXRhLCBrRmFrZU1hdGNoZXMsIGZha2VPdXRwdXRQcm94eSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXJlc3BvbnNlKVxyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKVxyXG4gICAgICAgICAgICAgIGV2YWxUcmlnZ2VyKHJlc3BvbnNlLCBrZXksIGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT25seSBldmFsdWF0ZSBmaWVsZHMgaWYgdGhlcmUgYXJlIG5vdCBvdXRwdXRTdHJpbmdzLlxyXG4gICAgLy8gb3V0cHV0U3RyaW5ncyB3aWxsIGluZGljYXRlIG1vcmUgY2xlYXJseSB3aGF0IHRoZSB0cmlnZ2VyIHNheXMuXHJcbiAgICBpZiAoIXRyaWcub3V0cHV0U3RyaW5ncykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBvdXRwdXRLZXlzKSB7XHJcbiAgICAgICAgaWYgKCEoa2V5IGluIHRyaWcpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgZm9yIChjb25zdCBkYXRhIG9mIGZha2VEYXRhRW50cmllcykge1xyXG4gICAgICAgICAgaWYgKGV2YWxUcmlnZ2VyKHRyaWcsIGtleSwgZGF0YSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyaWcuY29uZmlnT3V0cHV0ID0gb3V0cHV0O1xyXG5cclxuICAgIGNvbnN0IGxhbmcgPSB0aGlzLmJhc2UubGFuZztcclxuXHJcbiAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleGVzID0gW1xyXG4gICAgICAnbmV0UmVnZXhEZScsXHJcbiAgICAgICduZXRSZWdleEZyJyxcclxuICAgICAgJ25ldFJlZ2V4SmEnLFxyXG4gICAgICAnbmV0UmVnZXhDbicsXHJcbiAgICAgICduZXRSZWdleEtvJyxcclxuICAgICAgJ3JlZ2V4RGUnLFxyXG4gICAgICAncmVnZXhGcicsXHJcbiAgICAgICdyZWdleEphJyxcclxuICAgICAgJ3JlZ2V4Q24nLFxyXG4gICAgICAncmVnZXhLbycsXHJcbiAgICBdIGFzIGNvbnN0O1xyXG4gICAgY29uc3QgZ2V0UmVnZXggPSAoYmFzZUZpZWxkOiAncmVnZXgnIHwgJ25ldFJlZ2V4JykgPT4ge1xyXG4gICAgICBjb25zdCBzaG9ydExhbmd1YWdlID0gbGFuZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGxhbmcuc2xpY2UoMSk7XHJcbiAgICAgIGNvbnN0IGNvbmNhdFN0ciA9IGxhbmdTcGVjaWZpY1JlZ2V4ZXMuZmluZCgoeCkgPT4geCA9PT0gYCR7YmFzZUZpZWxkfSR7c2hvcnRMYW5ndWFnZX1gKTtcclxuICAgICAgaWYgKCFjb25jYXRTdHIpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBsYW5nU3BlY2lmaWNSZWdleCA9IHRyaWdbY29uY2F0U3RyXSA/PyB0cmlnW2Jhc2VGaWVsZF07XHJcbiAgICAgIGlmICghbGFuZ1NwZWNpZmljUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBiYXNlUmVnZXggPSBSZWdleGVzLnBhcnNlKGxhbmdTcGVjaWZpY1JlZ2V4KTtcclxuICAgICAgaWYgKCFiYXNlUmVnZXgpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICByZXR1cm4gUmVnZXhlcy5wYXJzZShiYXNlUmVnZXgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHJpZy5pc1RpbWVsaW5lVHJpZ2dlcikge1xyXG4gICAgICB0cmlnLnRpbWVsaW5lUmVnZXggPSBnZXRSZWdleCgncmVnZXgnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyaWcudHJpZ2dlclJlZ2V4ID0gZ2V0UmVnZXgoJ3JlZ2V4Jyk7XHJcbiAgICAgIHRyaWcudHJpZ2dlck5ldFJlZ2V4ID0gZ2V0UmVnZXgoJ25ldFJlZ2V4Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyaWc7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzUmFpZGJvc3NGaWxlcyhcclxuICAgIGZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICAgdXNlck9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICApOiBDb25maWdQcm9jZXNzZWRGaWxlTWFwPENvbmZpZ0xvb3NlVHJpZ2dlclNldD4ge1xyXG4gICAgLy8gYGZpbGVzYCBpcyBtYXAgb2YgZmlsZW5hbWUgPT4gdHJpZ2dlclNldCAoZm9yIHRyaWdnZXIgZmlsZXMpXHJcbiAgICAvLyBgbWFwYCBpcyBhIHNvcnRlZCBtYXAgb2Ygc2hvcnRlbmVkIHpvbmUga2V5ID0+IHsgdmFyaW91cyBmaWVsZHMsIHRyaWdnZXJTZXQgfVxyXG4gICAgY29uc3QgdHJpZ2dlckZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyU2V0IH0gPSB7fTtcclxuICAgIGNvbnN0IHRpbWVsaW5lRmlsZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIHRyaWdnZXJTZXRPclN0cmluZ10gb2YgT2JqZWN0LmVudHJpZXMoZmlsZXMpKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdHJpZ2dlclNldE9yU3RyaW5nID09PSAnc3RyaW5nJylcclxuICAgICAgICB0aW1lbGluZUZpbGVzW2ZpbGVuYW1lXSA9IHRyaWdnZXJTZXRPclN0cmluZztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRyaWdnZXJGaWxlc1tmaWxlbmFtZV0gPSB0cmlnZ2VyU2V0T3JTdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWFwID0gdGhpcy5iYXNlLnByb2Nlc3NGaWxlczxDb25maWdMb29zZVRyaWdnZXJTZXQ+KHRyaWdnZXJGaWxlcywgdXNlck9wdGlvbnMuVHJpZ2dlcnMpO1xyXG4gICAgbGV0IHRyaWdnZXJJZHggPSAwO1xyXG5cclxuICAgIC8vIFdoaWxlIHdhbGtpbmcgdGhyb3VnaCB0cmlnZ2VycywgcmVjb3JkIGFueSBwcmV2aW91cyB0cmlnZ2VycyB3aXRoIHRoZSBzYW1lXHJcbiAgICAvLyBpZCBzbyB0aGF0IHRoZSB1aSBjYW4gZGlzYWJsZSBvdmVycmlkaW5nIGluZm9ybWF0aW9uLlxyXG4gICAgY29uc3QgcHJldmlvdXNUcmlnZ2VyV2l0aElkOiB7IFtpZDogc3RyaW5nXTogQ29uZmlnTG9vc2VUcmlnZ2VyIH0gPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhtYXApKSB7XHJcbiAgICAgIC8vIFRPRE86IG1heWJlIGVhY2ggdHJpZ2dlciBzZXQgbmVlZHMgYSB6b25lIG5hbWUsIGFuZCB3ZSBzaG91bGRcclxuICAgICAgLy8gdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgZmlsZW5hbWU/Pz9cclxuICAgICAgY29uc3QgcmF3VHJpZ2dlcnM6IHsgdHJpZ2dlcjogTG9vc2VUcmlnZ2VyW107IHRpbWVsaW5lOiBMb29zZVRyaWdnZXJbXSB9ID0ge1xyXG4gICAgICAgIHRyaWdnZXI6IFtdLFxyXG4gICAgICAgIHRpbWVsaW5lOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgdHJpZ2dlclNldCA9IGl0ZW0udHJpZ2dlclNldDtcclxuICAgICAgaWYgKHRyaWdnZXJTZXQudHJpZ2dlcnMpXHJcbiAgICAgICAgcmF3VHJpZ2dlcnMudHJpZ2dlci5wdXNoKC4uLnRyaWdnZXJTZXQudHJpZ2dlcnMpO1xyXG4gICAgICBpZiAodHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKVxyXG4gICAgICAgIHJhd1RyaWdnZXJzLnRpbWVsaW5lLnB1c2goLi4udHJpZ2dlclNldC50aW1lbGluZVRyaWdnZXJzKTtcclxuXHJcbiAgICAgIGlmICghdHJpZ2dlclNldC5pc1VzZXJUcmlnZ2VyU2V0ICYmIHRyaWdnZXJTZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgZmxhdHRlblRpbWVsaW5lKHRyaWdnZXJTZXQsIHRyaWdnZXJTZXQuZmlsZW5hbWUsIHRpbWVsaW5lRmlsZXMpO1xyXG5cclxuICAgICAgaXRlbS50cmlnZ2VycyA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHRyaWdnZXJBcnJdIG9mIE9iamVjdC5lbnRyaWVzKHJhd1RyaWdnZXJzKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZVRyaWcgb2YgdHJpZ2dlckFycikge1xyXG4gICAgICAgICAgY29uc3QgdHJpZzogQ29uZmlnTG9vc2VUcmlnZ2VyID0gYmFzZVRyaWc7XHJcbiAgICAgICAgICB0cmlnZ2VySWR4Kys7XHJcbiAgICAgICAgICBpZiAoIXRyaWcuaWQpIHtcclxuICAgICAgICAgICAgLy8gR2l2ZSB0cmlnZ2VycyB3aXRoIG5vIGlkIHNvbWUgXCJ1bmlxdWVcIiBzdHJpbmcgc28gdGhhdCB0aGV5IGNhblxyXG4gICAgICAgICAgICAvLyBzdGlsbCBiZSBhZGRlZCB0byB0aGUgc2V0IGFuZCBzaG93IHVwIGluIHRoZSB1aS5cclxuICAgICAgICAgICAgdHJpZy5pZCA9IGAhIU5vSWRUcmlnZ2VyJHt0cmlnZ2VySWR4fWA7XHJcbiAgICAgICAgICAgIHRyaWcuaXNNaXNzaW5nSWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIFRyYWNrIGlmIHRoaXMgdHJpZ2dlciBvdmVycmlkZXMgYW55IHByZXZpb3VzIHRyaWdnZXIuXHJcbiAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHByZXZpb3VzVHJpZ2dlcldpdGhJZFt0cmlnLmlkXTtcclxuICAgICAgICAgIGlmIChwcmV2aW91cylcclxuICAgICAgICAgICAgcHJldmlvdXMub3ZlcnJpZGRlbkJ5RmlsZSA9IHRyaWdnZXJTZXQuZmlsZW5hbWU7XHJcbiAgICAgICAgICBwcmV2aW91c1RyaWdnZXJXaXRoSWRbdHJpZy5pZF0gPSB0cmlnO1xyXG5cclxuICAgICAgICAgIHRyaWcuaXNUaW1lbGluZVRyaWdnZXIgPSBrZXkgPT09ICd0aW1lbGluZSc7XHJcbiAgICAgICAgICAvLyBBbHNvLCBpZiBhIHVzZXIgaGFzIHR3byBvZiB0aGUgc2FtZSBpZCBpbiB0aGUgc2FtZSB0cmlnZ2VyU2V0ICg/ISlcclxuICAgICAgICAgIC8vIHRoZW4gb25seSB0aGUgc2Vjb25kIHRyaWdnZXIgd2lsbCBzaG93IHVwLlxyXG4gICAgICAgICAgaXRlbS50cmlnZ2Vyc1t0cmlnLmlkXSA9IHRoaXMucHJvY2Vzc1RyaWdnZXIodHJpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRUcmlnZ2VyT3B0aW9ucyh0cmlnOiBMb29zZVRyaWdnZXIsIGxhYmVsRGl2OiBIVE1MRWxlbWVudCkge1xyXG4gICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBhcyBhbGwgdHJpZ2dlcnMgc2hvdWxkIGJlIHByb2Nlc3NlZCB3aXRoIGEgdW5pcXVlIGlkLlxyXG4gICAgY29uc3QgdHJpZ0lkID0gdHJpZy5pZDtcclxuICAgIGlmICghdHJpZ0lkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uS2V5ID0ga09wdGlvbktleXMub3V0cHV0O1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vcHRpb25zJyk7XHJcblxyXG4gICAgY29uc3QgdXBkYXRlTGFiZWwgPSAoaW5wdXQ6IEhUTUxPcHRpb25FbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGlucHV0LnZhbHVlID09PSAnaGlkZGVuJyB8fCBpbnB1dC52YWx1ZSA9PT0gJ2Rpc2FibGVkJylcclxuICAgICAgICBsYWJlbERpdi5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKTtcclxuICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSB0aGlzLmJhc2UuZ2V0T3B0aW9uKFxyXG4gICAgICAncmFpZGJvc3MnLFxyXG4gICAgICBbJ3RyaWdnZXJzJywgdHJpZ0lkLCBvcHRpb25LZXldLFxyXG4gICAgICAnZGVmYXVsdCcsXHJcbiAgICApO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2tleSwgb3B0XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VyU291bmRPcHRpb25zKSkge1xyXG4gICAgICAvLyBIaWRlIGRlYnVnIG9ubHkgb3B0aW9ucyB1bmxlc3MgdGhleSBhcmUgc2VsZWN0ZWQuXHJcbiAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBsb29rIHdlaXJkIHRvIHBpY2sgc29tZXRoaW5nIGxpa2UgJ0Rpc2FibGVkJyxcclxuICAgICAgLy8gYnV0IHRoZW4gbm90IHNob3cgaXQgd2hlbiBkZXZlbG9wZXIgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cclxuICAgICAgaWYgKCF0aGlzLmJhc2UuZGV2ZWxvcGVyT3B0aW9ucyAmJiBvcHQuZGVidWdPbmx5ICYmIGtleSAhPT0gc2VsZWN0VmFsdWUpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcclxuICAgICAgZWxlbS5pbm5lckhUTUwgPSB0aGlzLmJhc2UudHJhbnNsYXRlKG9wdC5sYWJlbCk7XHJcbiAgICAgIGVsZW0udmFsdWUgPSBrZXk7XHJcbiAgICAgIGVsZW0uc2VsZWN0ZWQgPSBrZXkgPT09IHNlbGVjdFZhbHVlO1xyXG4gICAgICBpbnB1dC5hcHBlbmRDaGlsZChlbGVtKTtcclxuXHJcbiAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuXHJcbiAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHVwZGF0ZUxhYmVsKGlucHV0KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dC52YWx1ZTtcclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2RlZmF1bHQnKSlcclxuICAgICAgICAgIHZhbHVlID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIHRoaXMuYmFzZS5zZXRPcHRpb24oJ3JhaWRib3NzJywgWyd0cmlnZ2VycycsIHRyaWdJZCwgb3B0aW9uS2V5XSwgaW5wdXQudmFsdWUpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBmbGF0dGVuVGltZWxpbmUgPSAoXHJcbiAgc2V0OiBDb25maWdMb29zZVRyaWdnZXJTZXQsXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBmaWxlczogeyBbZmlsZW5hbWU6IHN0cmluZ106IHN0cmluZyB9LFxyXG4pID0+IHtcclxuICAvLyBDb252ZXJ0IHNldC50aW1lbGluZUZpbGUgdG8gc2V0LnRpbWVsaW5lLlxyXG4gIGlmICghc2V0LnRpbWVsaW5lRmlsZSlcclxuICAgIHJldHVybjtcclxuICBjb25zdCBsYXN0SW5kZXggPSBNYXRoLm1heChmaWxlbmFtZS5sYXN0SW5kZXhPZignLycpLCBmaWxlbmFtZS5sYXN0SW5kZXhPZignXFxcXCcpKTtcclxuICAvLyBJZiBsYXN0SW5kZXggPT09IC0xLCB0cnVuY2F0ZSBuYW1lIHRvIHRoZSBlbXB0eSBzdHJpbmcuXHJcbiAgLy8gaWYgbGFzdEluZGV4ID4gLTEsIHRydW5jYXRlIG5hbWUgYWZ0ZXIgdGhlIGZpbmFsIHNsYXNoLlxyXG4gIGNvbnN0IGRpciA9IGZpbGVuYW1lLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuXHJcbiAgY29uc3QgdGltZWxpbmVGaWxlID0gYCR7ZGlyfSR7c2V0LnRpbWVsaW5lRmlsZX1gO1xyXG4gIGRlbGV0ZSBzZXQudGltZWxpbmVGaWxlO1xyXG5cclxuICBpZiAoISh0aW1lbGluZUZpbGUgaW4gZmlsZXMpKSB7XHJcbiAgICBjb25zb2xlLmxvZyhgRVJST1I6ICcke2ZpbGVuYW1lfScgc3BlY2lmaWVzIG5vbi1leGlzdGVudCB0aW1lbGluZSBmaWxlICcke3RpbWVsaW5lRmlsZX0nLmApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgLy8gc2V0LnRpbWVsaW5lIGlzIHByb2Nlc3NlZCByZWN1cnNpdmVseS5cclxuICBzZXQudGltZWxpbmUgPSBbc2V0LnRpbWVsaW5lLCBmaWxlc1t0aW1lbGluZUZpbGVdXTtcclxufTtcclxuXHJcbi8vIFJhaWRib3NzIG5lZWRzIHRvIGRvIHNvbWUgZXh0cmEgcHJvY2Vzc2luZyBvZiB1c2VyIGZpbGVzLlxyXG5jb25zdCB1c2VyRmlsZUhhbmRsZXI6IFVzZXJGaWxlQ2FsbGJhY2sgPSAoXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGZpbGVzOiB7IFtmaWxlbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXHJcbiAgYmFzZU9wdGlvbnM6IEJhc2VPcHRpb25zLFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbikgPT4ge1xyXG4gIC8vIFRPRE86IFJld3JpdGUgdXNlcl9jb25maWcgdG8gYmUgdGVtcGxhdGVkIG9uIG9wdGlvbiB0eXBlIHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBrbm93c1xyXG4gIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLlxyXG4gIGNvbnN0IG9wdGlvbnMgPSBiYXNlT3B0aW9ucyBhcyBSYWlkYm9zc09wdGlvbnM7XHJcblxyXG4gIGlmICghb3B0aW9ucy5UcmlnZ2VycylcclxuICAgIHJldHVybjtcclxuXHJcbiAgZm9yIChjb25zdCBiYXNlVHJpZ2dlclNldCBvZiBvcHRpb25zLlRyaWdnZXJzKSB7XHJcbiAgICBjb25zdCBzZXQ6IENvbmZpZ0xvb3NlVHJpZ2dlclNldCA9IGJhc2VUcmlnZ2VyU2V0O1xyXG5cclxuICAgIC8vIEFubm90YXRlIHRyaWdnZXJzIHdpdGggd2hlcmUgdGhleSBjYW1lIGZyb20uICBOb3RlLCBvcHRpb25zIGlzIHBhc3NlZCBpbiByZXBlYXRlZGx5XHJcbiAgICAvLyBhcyBtdWx0aXBsZSBzZXRzIG9mIHVzZXIgZmlsZXMgYWRkIHRyaWdnZXJzLCBzbyBvbmx5IHByb2Nlc3MgZWFjaCBmaWxlIG9uY2UuXHJcbiAgICBpZiAoc2V0LmlzVXNlclRyaWdnZXJTZXQpXHJcbiAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgIC8vIGBmaWxlbmFtZWAgaGVyZSBpcyBqdXN0IGNvc21ldGljIGZvciBiZXR0ZXIgZGVidWcgcHJpbnRpbmcgdG8gbWFrZSBpdCBtb3JlIGNsZWFyXHJcbiAgICAvLyB3aGVyZSBhIHRyaWdnZXIgb3IgYW4gb3ZlcnJpZGUgaXMgY29taW5nIGZyb20uXHJcbiAgICBzZXQuZmlsZW5hbWUgPSBgJHtiYXNlUGF0aH0ke25hbWV9YDtcclxuICAgIHNldC5pc1VzZXJUcmlnZ2VyU2V0ID0gdHJ1ZTtcclxuXHJcbiAgICBmbGF0dGVuVGltZWxpbmUoc2V0LCBuYW1lLCBmaWxlcyk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgcHJvY2Vzc1BlclRyaWdnZXJBdXRvQ29uZmlnID0gKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucywgc2F2ZWRDb25maWc6IFNhdmVkQ29uZmlnRW50cnkpID0+IHtcclxuICAvLyByYWlkYm9zcyB3aWxsIGxvb2sgdXAgdGhpcy5vcHRpb25zLlBlclRyaWdnZXJBdXRvQ29uZmlnIHRvIGZpbmQgdGhlc2UgdmFsdWVzLlxyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyVHJpZ2dlckF1dG9Db25maWcnO1xyXG5cclxuICBjb25zdCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyA9IG9wdGlvbnNbb3B0aW9uTmFtZV0gPz89IHt9O1xyXG4gIGlmICh0eXBlb2Ygc2F2ZWRDb25maWcgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoc2F2ZWRDb25maWcpKVxyXG4gICAgcmV0dXJuO1xyXG4gIGNvbnN0IHRyaWdnZXJzID0gc2F2ZWRDb25maWdbJ3RyaWdnZXJzJ107XHJcbiAgaWYgKCF0cmlnZ2VycyB8fCB0eXBlb2YgdHJpZ2dlcnMgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkodHJpZ2dlcnMpKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBjb25zdCBvdXRwdXRPYmpzOiB7IFtrZXk6IHN0cmluZ106IFRyaWdnZXJBdXRvQ29uZmlnIH0gPSB7fTtcclxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoa1RyaWdnZXJPcHRpb25zKTtcclxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICBjb25zdCBvYmogPSBvdXRwdXRPYmpzW2tleV0gPSB7fTtcclxuICAgIHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUob2JqLCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBbaWQsIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh0cmlnZ2VycykpIHtcclxuICAgIGlmICh0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoZW50cnkpKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYXV0b0NvbmZpZzogVHJpZ2dlckF1dG9Db25maWcgPSB7fTtcclxuXHJcbiAgICBjb25zdCBvdXRwdXQgPSBlbnRyeVtrT3B0aW9uS2V5cy5vdXRwdXRdPy50b1N0cmluZygpO1xyXG4gICAgaWYgKG91dHB1dClcclxuICAgICAgT2JqZWN0LmFzc2lnbihhdXRvQ29uZmlnLCBvdXRwdXRPYmpzW291dHB1dF0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uID0gdmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkKGVudHJ5W2tPcHRpb25LZXlzLmR1cmF0aW9uXSk7XHJcbiAgICBpZiAoZHVyYXRpb24pXHJcbiAgICAgIGF1dG9Db25maWdba09wdGlvbktleXMuZHVyYXRpb25dID0gZHVyYXRpb247XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU2Vjb25kcyA9IHZhbGlkRHVyYXRpb25PclVuZGVmaW5lZChlbnRyeVtrT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSk7XHJcbiAgICBpZiAoYmVmb3JlU2Vjb25kcylcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5iZWZvcmVTZWNvbmRzXSA9IGJlZm9yZVNlY29uZHM7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0U3RyaW5ncyA9IGVudHJ5W2tPcHRpb25LZXlzLm91dHB1dFN0cmluZ3NdO1xyXG4gICAgLy8gVmFsaWRhdGUgdGhhdCB0aGUgU2F2ZWRDb25maWdFbnRyeSBpcyBhbiBhbiBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLFxyXG4gICAgLy8gd2hpY2ggaXMgYSBzdWJzZXQgb2YgdGhlIE91dHB1dFN0cmluZ3MgdHlwZS5cclxuICAgIGlmIChcclxuICAgICAgKChlbnRyeT86IFNhdmVkQ29uZmlnRW50cnkpOiBlbnRyeSBpcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0+IHtcclxuICAgICAgICBpZiAodHlwZW9mIGVudHJ5ICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGVudHJ5KSlcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoZW50cnkpKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJylcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfSkob3V0cHV0U3RyaW5ncylcclxuICAgIClcclxuICAgICAgYXV0b0NvbmZpZ1trT3B0aW9uS2V5cy5vdXRwdXRTdHJpbmdzXSA9IG91dHB1dFN0cmluZ3M7XHJcblxyXG4gICAgaWYgKG91dHB1dCB8fCBkdXJhdGlvbiB8fCBvdXRwdXRTdHJpbmdzKVxyXG4gICAgICBwZXJUcmlnZ2VyQXV0b0NvbmZpZ1tpZF0gPSBhdXRvQ29uZmlnO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHByb2Nlc3NQZXJab25lVGltZWxpbmVDb25maWcgPSAob3B0aW9uczogUmFpZGJvc3NPcHRpb25zLCBzYXZlZENvbmZpZzogU2F2ZWRDb25maWdFbnRyeSkgPT4ge1xyXG4gIGNvbnN0IG9wdGlvbk5hbWUgPSAnUGVyWm9uZVRpbWVsaW5lQ29uZmlnJztcclxuICAvLyBTYXZlZENvbmZpZyB1c2VzIHRoaXMga2V5IHN0cnVjdHVyZTpcclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2VuYWJsZScsIHRleHQsIGJvb2xlYW5cclxuICAvLyAqICd0aW1lbGluZScsIHpvbmVJZCAoYXMgc3RyaW5nKSwgJ2dsb2JhbFJlcGxhY2UnLCB0ZXh0LCBzdHJpbmdcclxuICAvLyAuLi5hbmQgdGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGl0IGludG8gYSBgUGVyWm9uZVRpbWVsaW5lQ29uZmlnYC5cclxuXHJcbiAgY29uc3QgcGVyWm9uZVRpbWVsaW5lQ29uZmlnID0gb3B0aW9uc1tvcHRpb25OYW1lXSA/Pz0ge307XHJcbiAgaWYgKHR5cGVvZiBzYXZlZENvbmZpZyAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzYXZlZENvbmZpZykpXHJcbiAgICByZXR1cm47XHJcbiAgY29uc3QgdGltZWxpbmUgPSBzYXZlZENvbmZpZ1sndGltZWxpbmUnXTtcclxuICBpZiAoIXRpbWVsaW5lIHx8IHR5cGVvZiB0aW1lbGluZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheSh0aW1lbGluZSkpXHJcbiAgICByZXR1cm47XHJcblxyXG4gIGZvciAoY29uc3QgW3pvbmVLZXksIHpvbmVFbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModGltZWxpbmUpKSB7XHJcbiAgICBjb25zdCB6b25lSWQgPSBwYXJzZUludCh6b25lS2V5KTtcclxuICAgIGlmICghem9uZUlkKVxyXG4gICAgICBjb250aW51ZTtcclxuICAgIGNvbnN0IHRpbWVsaW5lQ29uZmlnID0gcGVyWm9uZVRpbWVsaW5lQ29uZmlnW3pvbmVJZF0gPz89IHt9O1xyXG5cclxuICAgIGlmICghem9uZUVudHJ5IHx8IHR5cGVvZiB6b25lRW50cnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkoem9uZUVudHJ5KSlcclxuICAgICAgY29udGludWU7XHJcblxyXG4gICAgY29uc3QgZW5hYmxlRW50cnkgPSB6b25lRW50cnlbJ2VuYWJsZSddO1xyXG4gICAgY29uc3QgcmVwbGFjZUVudHJ5ID0gem9uZUVudHJ5WydnbG9iYWxSZXBsYWNlJ107XHJcblxyXG4gICAgaWYgKGVuYWJsZUVudHJ5ICYmIHR5cGVvZiBlbmFibGVFbnRyeSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoZW5hYmxlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVuYWJsZUVudHJ5KSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiAhdmFsdWUpXHJcbiAgICAgICAgICAodGltZWxpbmVDb25maWcuSWdub3JlID8/PSBbXSkucHVzaChrZXkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcGxhY2VFbnRyeSAmJiB0eXBlb2YgcmVwbGFjZUVudHJ5ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShyZXBsYWNlRW50cnkpKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlcGxhY2VFbnRyeSkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJylcclxuICAgICAgICAgICh0aW1lbGluZUNvbmZpZy5SZW5hbWUgPz89IHt9KVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG5jb25zdCB0ZW1wbGF0ZU9wdGlvbnM6IE9wdGlvbnNUZW1wbGF0ZSA9IHtcclxuICBidWlsZEV4dHJhVUk6IChiYXNlLCBjb250YWluZXIpID0+IHtcclxuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgUmFpZGJvc3NDb25maWd1cmF0b3IoYmFzZSk7XHJcbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IHsgLi4ucmFpZGJvc3NPcHRpb25zIH07XHJcbiAgICBVc2VyQ29uZmlnLmxvYWRVc2VyRmlsZXMoJ3JhaWRib3NzJywgdXNlck9wdGlvbnMsICgpID0+IHtcclxuICAgICAgYnVpbGRlci5idWlsZFVJKGNvbnRhaW5lciwgcmFpZGJvc3NGaWxlRGF0YSwgdXNlck9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgfSxcclxuICBwcm9jZXNzRXh0cmFPcHRpb25zOiAoYmFzZU9wdGlvbnMsIHNhdmVkQ29uZmlnKSA9PiB7XHJcbiAgICAvLyBUT0RPOiBSZXdyaXRlIHVzZXJfY29uZmlnIHRvIGJlIHRlbXBsYXRlZCBvbiBvcHRpb24gdHlwZSBzbyB0aGF0IHRoaXMgZnVuY3Rpb24ga25vd3NcclxuICAgIC8vIHdoYXQgdHlwZSBvZiBvcHRpb25zIGl0IGlzIHVzaW5nLiAgV2l0aG91dCB0aGlzLCBwZXJUcmlnZ2VyQXV0b0NvbmZpZyBpcyB1bmtub3duLlxyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGJhc2VPcHRpb25zIGFzIFJhaWRib3NzT3B0aW9ucztcclxuXHJcbiAgICBwcm9jZXNzUGVyVHJpZ2dlckF1dG9Db25maWcob3B0aW9ucywgc2F2ZWRDb25maWcpO1xyXG4gICAgcHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyhvcHRpb25zLCBzYXZlZENvbmZpZyk7XHJcbiAgfSxcclxuICBvcHRpb25zOiBbXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQ292ZXJhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdTdXBwb3J0ZWQgY29udGVudCAobGF0ZXN0IHZlcnNpb24pJyxcclxuICAgICAgICBkZTogJ1VudGVyc3TDvHR6dGUgSW5oYWx0ZSAoYWt0dWVsbHN0ZSBWZXJzaW9uKScsXHJcbiAgICAgICAgZnI6ICdDb250ZW51IHN1cHBvcnTDqSAoZGVybmnDqHJlIHZlcnNpb24pJyxcclxuICAgICAgICBqYTogJ+WvvuW/nOOCs+ODs+ODhuODs+ODhOS4gOimpyAo5pyA5paw44OQ44O844K444On44OzKScsXHJcbiAgICAgICAgY246ICfmlK/mjIHlia/mnKzkuIDop4ggKOWQq+acquWPkeW4g+abtOaWsCknLFxyXG4gICAgICAgIGtvOiAn7KeA7JuQ7ZWY64qUIOy7qO2FkOy4oCAo66a066as7KaI67KE7KCE67O064ukIOy1nOyLoCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnaHRtbCcsXHJcbiAgICAgIGh0bWw6IHtcclxuICAgICAgICAvLyBUT0RPOiBpdCdkIGJlIG5pY2UgaWYgT3ZlcmxheVBsdWdpbiBjb3VsZCBvcGVuIGxpbmtzIG9uIHRoZSBzeXN0ZW0gb3V0c2lkZSBvZiBBQ1QuXHJcbiAgICAgICAgZW46IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgICAgIGRlOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9ZGUnKSxcclxuICAgICAgICBmcjogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWZyJyksXHJcbiAgICAgICAgamE6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1qYScpLFxyXG4gICAgICAgIGNuOiBtYWtlTGluaygnaHR0cHM6Ly9xdWlzcXVvdXMuZ2l0aHViLmlvL2NhY3Rib3QvdXRpbC9jb3ZlcmFnZS9jb3ZlcmFnZS5odG1sP2xhbmc9Y24nKSxcclxuICAgICAgICBrbzogbWFrZUxpbmsoJ2h0dHBzOi8vcXVpc3F1b3VzLmdpdGh1Yi5pby9jYWN0Ym90L3V0aWwvY292ZXJhZ2UvY292ZXJhZ2UuaHRtbD9sYW5nPWtvJyksXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6IG1ha2VMaW5rKCdodHRwczovL3F1aXNxdW91cy5naXRodWIuaW8vY2FjdGJvdC91dGlsL2NvdmVyYWdlL2NvdmVyYWdlLmh0bWw/bGFuZz1lbicpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEZWJ1ZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0VuYWJsZSBkZWJ1ZyBtb2RlJyxcclxuICAgICAgICBkZTogJ0FrdGl2aWVyZSBEZWJ1Z21vZHVzJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGUgbW9kZSBkZWJ1ZycsXHJcbiAgICAgICAgamE6ICfjg4fjg5Djg4PjgrDjg6Ljg7zjg4njgpLmnInlirnjgavjgZnjgosnLFxyXG4gICAgICAgIGNuOiAn5ZCv55So6LCD6K+V5qih5byPJyxcclxuICAgICAgICBrbzogJ+uUlOuyhOq3uCDrqqjrk5wg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVidWdPbmx5OiB0cnVlLFxyXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnRGVmYXVsdEFsZXJ0T3V0cHV0JyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnRGVmYXVsdCBhbGVydCBvdXRwdXQnLFxyXG4gICAgICAgIGRlOiAnU3RhbmRhcmQgQWxlcnQgQXVzZ2FiZScsXHJcbiAgICAgICAgZnI6ICdBbGVydGUgcGFyIGTDqWZhdXQnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx5Ye65Yqb5pei5a6a5YCkJyxcclxuICAgICAgICBjbjogJ+m7mOiupOitpuaKpeaPkOekuuS/oeaBr+i+k+WHuuaWueW8jycsXHJcbiAgICAgICAga286ICfquLDrs7gg7JWM656MIOy2nOugpSDrsKnsi50nLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCBhbmQgU291bmQnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0IGFuZCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgT25seSc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIFRleHQgT25seSc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIERpc2FibGVkJzogJ2Rpc2FibGVkJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAn8J+GmfCflIogVGV4dCB1bmQgVG9uJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwgVGV4dCB1bmQgVFRTJzogJ3R0c0FuZFRleHQnLFxyXG4gICAgICAgICAgJ/CfkqwgTnVyIFRUUyc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIE51ciBUZXh0JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRGVha3RpdmllcnQnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnI6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiBUZXh0ZSBldCBzb24nOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCBUZXh0ZSBldCBUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFMgc2V1bGVtZW50JzogJ3R0c09ubHknLFxyXG4gICAgICAgICAgJ/CfhpkgVGV4dGUgc2V1bGVtZW50JzogJ3RleHRPbmx5JyxcclxuICAgICAgICAgICfinYwgRMOpc2FjdGl2w6knOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDjg4bjgq3jgrnjg4jjgajpn7Plo7AnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDjg4bjgq3jgrnjg4jjgahUVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCBUVFPjga7jgb8nOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDjg4bjgq3jgrnjg4jjga7jgb8nOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnhKHlirknOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDmloflrZfmmL7npLrkuI7mj5DnpLrpn7MnOiAndGV4dEFuZFNvdW5kJyxcclxuICAgICAgICAgICfwn4aZ8J+SrCDmloflrZfmmL7npLrkuI5UVFMnOiAndHRzQW5kVGV4dCcsXHJcbiAgICAgICAgICAn8J+SrCDlj6rkvb/nlKhUVFMnOiAndHRzT25seScsXHJcbiAgICAgICAgICAn8J+GmSDlj6rkvb/nlKjmloflrZfmmL7npLonOiAndGV4dE9ubHknLFxyXG4gICAgICAgICAgJ+KdjCDnpoHnlKgnOiAnZGlzYWJsZWQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfwn4aZ8J+UiiDthY3siqTtirjsmYAg7IaM66asJzogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgICAgICAn8J+GmfCfkqwg7YWN7Iqk7Yq47JmAIFRUUyc6ICd0dHNBbmRUZXh0JyxcclxuICAgICAgICAgICfwn5KsIFRUU+unjCc6ICd0dHNPbmx5JyxcclxuICAgICAgICAgICfwn4aZIO2FjeyKpO2KuOunjCc6ICd0ZXh0T25seScsXHJcbiAgICAgICAgICAn4p2MIOu5hO2ZnOyEse2ZlCc6ICdkaXNhYmxlZCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgZGVmYXVsdDogJ3RleHRBbmRTb3VuZCcsXHJcbiAgICAgIHNldHRlckZ1bmM6IHNldE9wdGlvbnNGcm9tT3V0cHV0VmFsdWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0c0xhbmd1YWdlJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxlcnRzIGxhbmd1YWdlJyxcclxuICAgICAgICBkZTogJ0FsZXJ0IFNwcmFjaGUnLFxyXG4gICAgICAgIGZyOiAnTGFuZ3VlIGRlcyBhbGVydGVzJyxcclxuICAgICAgICBqYTogJ+itpuWRiuaDheWgseOBruiogOiqnicsXHJcbiAgICAgICAgY246ICforabmiqXmj5DnpLrmloflrZfnmoTor63oqIAnLFxyXG4gICAgICAgIGtvOiAn7JWM656MIOyWuOyWtCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdVc2UgRGlzcGxheSBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ1V0aWxpc2VyIGxhIGxhbmd1ZSBkXFwnYWZmaWNoYWdlJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ0FuZ2xhaXMgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbm9pcyAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdBbGxlbWFuZCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICdGcmFuw6dhaXMgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAnSmFwb25haXMgKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnQ29yw6llbiAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGphOiB7XHJcbiAgICAgICAgICAn6KGo56S66KiA6Kqe5pei5a6a5YCkJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseiqniAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfkuK3lm73oqp4gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn44OJ44Kk44OE6KqeIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+ODleODqeODs+OCueiqniAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6XmnKzoqp4gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+T5Zu96KqeIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfkvb/nlKjmmL7npLror63oqIAnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAn6Iux6K+tIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ+axieivrSAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICflvrfor60gKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAn5rOV6K+tIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ+aXpeivrSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICfpn6nor60gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrbzoge1xyXG4gICAgICAgICAgJ+yjvCDsgqzsmqkg7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydBbGVydHNMYW5ndWFnZSddID0gdmFsdWU7XHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1RpbWVsaW5lTGFuZ3VhZ2UnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdUaW1lbGluZSBsYW5ndWFnZScsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBTcHJhY2hlJyxcclxuICAgICAgICBmcjogJ0xhbmd1ZSBkZSBsYSB0aW1lbGluZScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg6njgqTjg7Pjga7oqIDoqp4nLFxyXG4gICAgICAgIGNuOiAn5pe26Ze06L205paH5pys55qE6K+t6KiAJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduCDslrjslrQnLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgIGVuOiB7XHJcbiAgICAgICAgICAnVXNlIEZGWElWIFBsdWdpbiBMYW5ndWFnZSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdFbmdsaXNoIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5lc2UgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnR2VybWFuIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyZW5jaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmVzZSAoamEpJzogJ2phJyxcclxuICAgICAgICAgICdLb3JlYW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZToge1xyXG4gICAgICAgICAgJ0JlbnV0emUgRkZYSVYgUGx1Z2luIFNwcmFjaGUnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnRW5nbGlzY2ggKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAnQ2hpbmVzaXNjaCAoY24pJzogJ2NuJyxcclxuICAgICAgICAgICdEZXV0c2NoIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ0ZyYW56w7ZzaXNjaCAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICdKYXBhbmlzY2ggKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAnS29yZWFuaXNjaCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZyOiB7XHJcbiAgICAgICAgICAnVXRpbGlzZXIgbGEgbGFuZ3VlIGR1IFBsdWdpbiBGRlhJVic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdBbmdsYWlzIChlbiknOiAnZW4nLFxyXG4gICAgICAgICAgJ0NoaW5vaXMgKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAnQWxsZW1hbmQgKGRlKSc6ICdkZScsXHJcbiAgICAgICAgICAnRnJhbsOnYWlzIChmciknOiAnZnInLFxyXG4gICAgICAgICAgJ0phcG9uYWlzIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ0NvcsOpZW4gKGtvKSc6ICdrbycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBqYToge1xyXG4gICAgICAgICAgJ0ZGWElWIFBsdWdpbuOBruiogOiqnuioreWumic6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfoi7Hoqp4gKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn5Lit5Zu96KqeIChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+ODieOCpOODhOiqniAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICfjg5Xjg6njg7Pjgrnoqp4gKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn5pel5pys6KqeIChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+mfk+WbveiqniAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNuOiB7XHJcbiAgICAgICAgICAn5L2/55So5pyA57uI5bm75oOzWElW6Kej5p6Q5o+S5Lu26K6+572u55qE6K+t6KiAJzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ+iLseivrSAoZW4pJzogJ2VuJyxcclxuICAgICAgICAgICfmsYnor60gKGNuKSc6ICdjbicsXHJcbiAgICAgICAgICAn5b636K+tIChkZSknOiAnZGUnLFxyXG4gICAgICAgICAgJ+azleivrSAoZnIpJzogJ2ZyJyxcclxuICAgICAgICAgICfml6Xor60gKGphKSc6ICdqYScsXHJcbiAgICAgICAgICAn6Z+p6K+tIChrbyknOiAna28nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICdGRlhJViBQbHVnaW4g7Ja47Ja0IOyCrOyaqSc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICfsmIHslrQgKGVuKSc6ICdlbicsXHJcbiAgICAgICAgICAn7KSR6rWt7Ja0IChjbiknOiAnY24nLFxyXG4gICAgICAgICAgJ+uPheydvOyWtCAoZGUpJzogJ2RlJyxcclxuICAgICAgICAgICftlITrnpHsiqTslrQgKGZyKSc6ICdmcicsXHJcbiAgICAgICAgICAn7J2867O47Ja0IChqYSknOiAnamEnLFxyXG4gICAgICAgICAgJ+2VnOq1reyWtCAoa28pJzogJ2tvJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXHJcbiAgICAgIGRlYnVnOiB0cnVlLFxyXG4gICAgICBzZXR0ZXJGdW5jOiAob3B0aW9ucywgdmFsdWUpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09ICdkZWZhdWx0JylcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBvcHRpb25zWydUaW1lbGluZUxhbmd1YWdlJ10gPSB2YWx1ZTtcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2tpbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1JhaWRib3NzIFNraW4nLFxyXG4gICAgICAgIGRlOiAnUmFpZGJvc3MgU2tpbicsXHJcbiAgICAgICAgZnI6ICdSYWlkYm9zcyBTa2luJyxcclxuICAgICAgICBqYTogJ1JhaWRib3Nz44Gu44K544Kt44OzJyxcclxuICAgICAgICBjbjogJ1JhaWRib3Nz55qu6IKkJyxcclxuICAgICAgICBrbzogJ1JhaWRib3NzIOyKpO2CqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgZW46IHtcclxuICAgICAgICAgICdEZWZhdWx0JzogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgJ2xpcHBlJzogJ2xpcHBlJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRlOiB7XHJcbiAgICAgICAgICAnRGVmYXVsdCc6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICdsaXBwZSc6ICdsaXBwZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmcjoge1xyXG4gICAgICAgICAgJ0TDqWZhdXQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgamE6IHtcclxuICAgICAgICAgICfliJ3mnJ/oqK3lrponOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY246IHtcclxuICAgICAgICAgICfpu5jorqQnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAga286IHtcclxuICAgICAgICAgICfquLDrs7gnOiAnZGVmYXVsdCcsXHJcbiAgICAgICAgICAnbGlwcGUnOiAnbGlwcGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnVGltZWxpbmVFbmFibGVkJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZWxpbmUgZW5hYmxlZCcsXHJcbiAgICAgICAgZGU6ICdUaW1lbGluZSBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnVGltZWxpbmUgYWN0aXbDqWUnLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44Op44Kk44Oz44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaXtumXtOi9tCcsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbgg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRzRW5hYmxlZCcsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0cyBlbmFibGVkJyxcclxuICAgICAgICBkZTogJ0FsZXJ0cyBha3RpdmllcnQnLFxyXG4gICAgICAgIGZyOiAnQWxlcnRlcyBhY3RpdsOpZXMnLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK5oOF5aCx44KS5pyJ5Yq544Gr44GZ44KLJyxcclxuICAgICAgICBjbjogJ+WQr+eUqOaPkOekuuaWh+acrOaYvuekuicsXHJcbiAgICAgICAga286ICfslYzrnowg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnU2hvd1RpbWVyQmFyc0F0U2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ1RpbWVyIGJhciBzaG93IHdpbmRvdyAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnVGltZXItQmFyIEFuemVpZ2VkYXVlciAoaW4gU2VrdW5kZW4pJyxcclxuICAgICAgICBmcjogJ0ZlbsOqdHJlIGRcXCdhZmZpY2hhZ2UgZGUgbGEgYmFycmUgZGUgdGVtcHMgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfjgr/jgqTjg6Djg5Djg7zjgavmmYLplpPooajnpLogKOenkiknLFxyXG4gICAgICAgIGNuOiAn6K6h5pe25p2h5pi+56S65pe26ZW/ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+2DgOyehOudvOyduOydhCDtkZzsi5ztlaAg6riw7KSAIOyLnOqwhCAo7LSIIOydtO2VmCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnS2VlcCBleHBpcmVkIHRpbWVyIGJhciAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQmVoYWx0ZSBhYmdlbGF1ZmVuZSBUaW1lci1CYXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdHYXJkZXIgbGEgYmFycmUgZGUgdGVtcHMgZXhwaXLDqWUgKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfntYLkuobjgZfjgZ/jgr/jgqTjg6Djg5Djg7zjgYzmtojjgYjjgovjgb7jgafjga7lvoXjgaHmmYLplpMgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5bey5aSx5pWI55qE6K6h5pe25p2h55qE5reh5Ye65pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+unjOujjOuQnCDtg4DsnoTrnbzsnbjsnbQg7IKs65287KeA6riw6rmM7KeA7J2YIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDAuNyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQmFyRXhwaXJlc1Nvb25TZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnVGltZSB0byByZWNvbG9yIHRpbWVyIGFzIGV4cGlyaW5nIHNvb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ1plaXQgYmlzIGVpbiBiYWxkIGF1c2xhdWZlbmRlciBUaW1lciB1bWdlZsOkcmJ0IHdpcmQgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdSZWNvbG9yaXNhdGlvbiBkZSBsYSBiYXJyZSBkZSB0ZW1wcyBhdmFudCBleHBpcmF0aW9uIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn44K/44Kk44Og44OQ44O844GM57WC5LqG5YmN44Gr5YaN5bqm6Imy5LuY44GR44Gu5q6L44KK5pmC6ZaTICjnp5IpJyxcclxuICAgICAgICBjbjogJ+WAkuiuoeaXtuWwj+S6juivpeWAvOaXtuW9k+WJjeiuoeaXtuadoeWPmOiJsiAo56eSKScsXHJcbiAgICAgICAga286ICftg4DsnoTrnbzsnbjsnZgg7IOJ7IOB7J2EIOuwlOq/gCDquLDspIAg7Iuc6rCEICjstIgg7J207ZWYKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdpbnRlZ2VyJyxcclxuICAgICAgZGVmYXVsdDogNixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnTWF4TnVtYmVyT2ZUaW1lckJhcnMnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYXggbnVtYmVyIG9mIHRpbWVyIGJhcnMnLFxyXG4gICAgICAgIGRlOiAnTWF4IEFuemFobCBhbiBUaW1lci1CYXJzJyxcclxuICAgICAgICBmcjogJ05vbWJyZSBtYXggZGUgYmFycmVzIGRlIHRlbXBzJyxcclxuICAgICAgICBqYTogJ+OCv+OCpOODoOODkOODvOOBruacgOWkp+aVsCcsXHJcbiAgICAgICAgY246ICforqHml7bmnaHmnIDlpKfmlbDph48nLFxyXG4gICAgICAgIGtvOiAn7ZGc7Iuc7ZWgIO2DgOyehOudvOyduOydmCDstZzrjIAg6rCc7IiYJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2ludGVnZXInLFxyXG4gICAgICBkZWZhdWx0OiA2LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsYXJtIHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxhcm1lIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuaKpee6p+WIq+aWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5QWxlcnRUZXh0Rm9yU2Vjb25kcycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0FsZXJ0IHRleHQgZGlzcGxheSBkdXJhdGlvbiAoc2Vjb25kcyknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQtVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnYWxlcnRlIChzZWNvbmRlcyknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK44OG44Kt44K544OI6KGo56S65pmC6ZaT44Gu6ZW344GVICjnp5IpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+aWh+Wtl+aYvuekuuaMgee7reaXtumXtCAo56eSKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7YWN7Iqk7Yq466W8IO2RnOyLnO2VoCDsi5zqsIQgKOy0iCknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAzLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdEaXNwbGF5SW5mb1RleHRGb3JTZWNvbmRzJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnSW5mbyB0ZXh0IGRpc3BsYXkgZHVyYXRpb24gKHNlY29uZHMpJyxcclxuICAgICAgICBkZTogJ0luZm8tVGV4dCBBbnplaWdlZGF1ZXIgKGluIFNla3VuZGVuKScsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgZFxcJ2FmZmljaGFnZSBkdSB0ZXh0ZSBkXFwnaW5mb3JtYXRpb24gKHNlY29uZGVzKScsXHJcbiAgICAgICAgamE6ICfmg4XloLHjg4bjgq3jgrnjg4jooajnpLrmmYLplpPjga7plbfjgZUgKOenkiknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir5paH5a2X5pi+56S65oyB57ut5pe26Ze0ICjnp5IpJyxcclxuICAgICAgICBrbzogJ+yViOuCtCDthY3siqTtirjrpbwg7ZGc7Iuc7ZWgIOyLnOqwhCAo7LSIKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDMsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGFybSBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxhcm0gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGFybWUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5aCx6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuaKpee6p+WIq+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfqsr3qs6Ag7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0U291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdBbGVydCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnQWxlcnQgTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdhbGVydGUgKDAtMSknLFxyXG4gICAgICAgIGphOiAn6K2m5ZGK6Z+z5aOw44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+itpuWRiue6p+WIq+aPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICfso7zsnZgg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9Tb3VuZFZvbHVtZScsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0luZm8gc291bmQgdm9sdW1lICgwLTEpJyxcclxuICAgICAgICBkZTogJ0luZm8gTGF1dHN0w6Rya2UgKDAtMSknLFxyXG4gICAgICAgIGZyOiAnVm9sdW1lIGRlIGxcXCdpbmZvICgwLTEpJyxcclxuICAgICAgICBqYTogJ+aDheWgsemfs+WjsOOBrumfs+mHjyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvmj5DnpLrpn7PnmoTpn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGtvOiAn7JWI64K0IOyGjOumrCDtgazquLAgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAxLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdMb25nU291bmRWb2x1bWUnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdMb25nIHNvdW5kIHZvbHVtZSAoMC0xKScsXHJcbiAgICAgICAgZGU6ICdMYW5nZXIgVG9uIExhdXRzdMOkcmtlICgwLTEpJyxcclxuICAgICAgICBmcjogJ1ZvbHVtZSBkdSBzb24gbG9uZyAoMC0xKScsXHJcbiAgICAgICAgamE6ICfplbfjgYTpn7Plo7Djga7pn7Pph48gKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6ZW/5o+Q56S66Z+z55qE6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBrbzogJ+q4tCDshozrpqwg7YGs6riwICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnUHVsbFNvdW5kVm9sdW1lJyxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnUHVsbCBzb3VuZCB2b2x1bWUgKDAtMSknLFxyXG4gICAgICAgIGRlOiAnUHVsbCBMYXV0c3TDpHJrZSAoMC0xKScsXHJcbiAgICAgICAgZnI6ICdWb2x1bWUgZHUgc29uIGRlIHB1bGwgKDAtMSknLFxyXG4gICAgICAgIGphOiAn44K/44Ky5Y+W44KL5Yq55p6c6Z+z44Gu6Z+z6YePICgwLTEpJyxcclxuICAgICAgICBjbjogJ+W8gOaAquaPkOekuumfs+eahOmfs+mHjyAoMC0xKScsXHJcbiAgICAgICAga286ICftkoDrp4Eg7IaM66asIO2BrOq4sCAoMC0xKScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdmbG9hdCcsXHJcbiAgICAgIGRlZmF1bHQ6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ1J1bWJsZUVuYWJsZWQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdFbmFibGUgZ2FtZXBhZCBydW1ibGUgZm9yIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ0dhbWVwYWQtVmlicmF0aW9uIGbDvHIgVHJpZ2dlciBha3RpdmllcmVuJyxcclxuICAgICAgICBmcjogJ0FjdGl2ZXIgbGEgdmlicmF0aW9uIGRlIGxhIG1hbmV0dGUgZGUgamV1IHBvdXIgbGVzIHRyaWdnZXJzJyxcclxuICAgICAgICBjbjogJ+inpuWPkeWZqOa0u+WKqOaXtuS9v+aJi+afhOaMr+WKqCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdJbmZvUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEdXJhdGlvbiAobWlsbGlzZWNvbmRzKSBvZiBydW1ibGUgZm9yIGluZm8gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0R1csOpZSAobWlsbGlzZWNvbmRlcykgZGUgbGEgdmlicmF0aW9uIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMnLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir6Kem5Y+R5Zmo5oyv5Yqo5oyB57ut5pe26Ze0ICjmr6vnp5IpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNDAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdJbmZvUnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBsZWljaHRlbiBWaWJyYXRpb24gYmVpIGluZm8gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2luZm9ybWF0aW9ucyAoMC0xKScsXHJcbiAgICAgICAgY246ICfkv6Hmga/nuqfliKvop6blj5HlmajlvLHnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0luZm9SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgaW5mbyB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgaW5mbyB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZvcnRlIHBvdXIgbGVzIHRyaWdnZXJzIGRcXCdpbmZvcm1hdGlvbnMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn5L+h5oGv57qn5Yir6Kem5Y+R5Zmo5by655S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxlcnRSdW1ibGVEdXJhdGlvbicsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ0R1cmF0aW9uIChtaWxsaXNlY29uZHMpIG9mIHJ1bWJsZSBmb3IgYWxlcnQgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnWmVpdCAoaW4gTWlsbGlzZWt1bmRlbikgZGVyIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdEdXLDqWUgKG1pbGxpc2Vjb25kZXMpIGRlIGxhIHZpYnJhdGlvbiBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcycsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajmjK/liqjmjIHnu63ml7bpl7QgKOavq+enkiknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiA1MDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsZXJ0UnVtYmxlV2VhaycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiB3ZWFrIHJ1bWJsZSBmb3IgYWxlcnQgdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgbGVpY2h0ZW4gVmlicmF0aW9uIGJlaSBhbGVydCB0cmlnZ2VyJyxcclxuICAgICAgICBmcjogJ0ludGVuc2l0w6kgZGUgbGEgdmlicmF0aW9uIGZhaWJsZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajlvLHnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGVydFJ1bWJsZVN0cm9uZycsXHJcbiAgICAgIG5hbWU6IHtcclxuICAgICAgICBlbjogJ01hZ25pdHVkZSAoMC0xKSBvZiBzdHJvbmcgcnVtYmxlIGZvciBhbGVydCB0cmlnZ2VycycsXHJcbiAgICAgICAgZGU6ICdTdMOkcmtlICgwLTEpIGRlciBzdGFya2VuIFZpYnJhdGlvbiBiZWkgYWxlcnQgdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmb3J0ZSBwb3VyIGxlcyB0cmlnZ2VycyBkXFwnYWxlcnRlcyAoMC0xKScsXHJcbiAgICAgICAgY246ICforablkYrnuqfliKvop6blj5HlmajlvLrnlLXmnLrmjK/liqjlvLrluqYgKDAtMSknLFxyXG4gICAgICB9LFxyXG4gICAgICB0eXBlOiAnZmxvYXQnLFxyXG4gICAgICBkZWZhdWx0OiAwLjUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ0FsYXJtUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdEdXJhdGlvbiAobWlsbGlzZWNvbmRzKSBvZiBydW1ibGUgZm9yIGFsYXJtIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1plaXQgKGluIE1pbGxpc2VrdW5kZW4pIGRlciBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnRHVyw6llIChtaWxsaXNlY29uZGVzKSBkZSBsYSB2aWJyYXRpb24gcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMnLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5oyv5Yqo5oyB57ut5pe26Ze0ICjmr6vnp5IpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogNzUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdBbGFybVJ1bWJsZVdlYWsnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygd2VhayBydW1ibGUgZm9yIGFsYXJtIHRyaWdnZXJzJyxcclxuICAgICAgICBkZTogJ1N0w6Rya2UgKDAtMSkgZGVyIGxlaWNodGVuIFZpYnJhdGlvbiBiZWkgYWxhcm0gdHJpZ2dlcicsXHJcbiAgICAgICAgZnI6ICdJbnRlbnNpdMOpIGRlIGxhIHZpYnJhdGlvbiBmYWlibGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5byx55S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnQWxhcm1SdW1ibGVTdHJvbmcnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdNYWduaXR1ZGUgKDAtMSkgb2Ygc3Ryb25nIHJ1bWJsZSBmb3IgYWxhcm0gdHJpZ2dlcnMnLFxyXG4gICAgICAgIGRlOiAnU3TDpHJrZSAoMC0xKSBkZXIgc3RhcmtlbiBWaWJyYXRpb24gYmVpIGFsYXJtIHRyaWdnZXInLFxyXG4gICAgICAgIGZyOiAnSW50ZW5zaXTDqSBkZSBsYSB2aWJyYXRpb24gZm9ydGUgcG91ciBsZXMgdHJpZ2dlcnMgZFxcJ2FsYXJtZXMgKDAtMSknLFxyXG4gICAgICAgIGNuOiAn6K2m5oql57qn5Yir6Kem5Y+R5Zmo5by655S15py65oyv5Yqo5by65bqmICgwLTEpJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2Zsb2F0JyxcclxuICAgICAgZGVmYXVsdDogMC43NSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnY2FjdGJvdFdvcm1ob2xlU3RyYXQnLFxyXG4gICAgICAvLyBUT0RPOiBtYXliZSBuZWVkIHNvbWUgd2F5IHRvIGdyb3VwIHRoZXNlIGtpbmRzIG9mXHJcbiAgICAgIC8vIG9wdGlvbnMgaWYgd2UgZW5kIHVwIGhhdmluZyBhIGxvdD9cclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIGVuOiAnQWxleCBVbHRpbWF0ZTogZW5hYmxlIGNhY3Rib3QgV29ybWhvbGUgc3RyYXQnLFxyXG4gICAgICAgIGRlOiAnQWxleCBVbHRpbWF0ZTogYWt0aXZpZXJlIGNhY3Rib3QgV29ybWhvbGUgU3RyYXRlZ2llJyxcclxuICAgICAgICBmcjogJ0FsZXggZmF0YWwgOiBhY3RpdmVyIGNhY3Rib3QgcG91ciBsYSBzdHJhdCBXb3JtaG9sZScsXHJcbiAgICAgICAgamE6ICfntbbjgqLjg6zjgq3jgrXjg7Pjg4Djg7zoqI7mu4XmiKbvvJpjYWN0Ym9044CM5qyh5YWD5pat57W244Gu44Oe44O844OB44CN44Ku44Of44OD44KvJyxcclxuICAgICAgICBjbjogJ+S6muWOhuWxseWkp+e7neWig+aImO+8mmNhY3Rib3TngbXms4novoXliqnlip/og70nLFxyXG4gICAgICAgIGtvOiAn7KCIIOyVjOugiTogY2FjdGJvdCDsm5ztmYAg6rO1656167Cp7IudIO2ZnOyEse2ZlCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6ICdjYWN0Ym90ZThzVXB0aW1lS25vY2tiYWNrU3RyYXQnLFxyXG4gICAgICBuYW1lOiB7XHJcbiAgICAgICAgZW46ICdlOHM6IGVuYWJsZSBjYWN0Ym90IFVwdGltZSBLbm9ja2JhY2sgc3RyYXQnLFxyXG4gICAgICAgIGRlOiAnZThzOiBha3RpdmllcmUgY2FjdGJvdCBVcHRpbWUgS25vY2tiYWNrIFN0cmF0ZWdpZScsXHJcbiAgICAgICAgZnI6ICdlOHMgOiBhY3RpdmVyIGNhY3Rib3QgcG91ciBsYSBzdHJhdCBVcHRpbWUgS25vY2tiYWNrJyxcclxuICAgICAgICBqYTogJ+OCqOODh+ODs+mbtuW8j+WFsemztOe3qO+8lOWxpO+8mmNhY3Rib3TjgIzjg5jjg7Tjg7Pjg6rjg7zjgrnjg4jjg6njgqTjgq8gKOODjuODg+OCr+ODkOODg+OCrynjgI3jgq7jg5/jg4Pjgq8nLFxyXG4gICAgICAgIGNuOiAnRThTOiDlkK/nlKhjYWN0Ym9055qE5Ye76YCA5o+Q56S65Yqf6IO9JyxcclxuICAgICAgICBrbzogJ+qzteuqhSDsmIHsm4UgNOy4tTogY2FjdGJvdCDsoJXtmZXtlZwg7YOA7J2067CNIOuEieuwseuwqeyngCDqs7XrnrUg7Zmc7ISx7ZmUJyxcclxuICAgICAgfSxcclxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgZGVmYXVsdDogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn07XHJcblxyXG5Vc2VyQ29uZmlnLnJlZ2lzdGVyT3B0aW9ucygncmFpZGJvc3MnLCB0ZW1wbGF0ZU9wdGlvbnMsIHVzZXJGaWxlSGFuZGxlcik7XHJcbiIsIi8vIEF1dG8tZ2VuZXJhdGVkIGZyb20gZ2VuX3BldF9uYW1lcy50c1xyXG4vLyBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFlcclxuXHJcbmltcG9ydCB7IExhbmcgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcblxyXG50eXBlIFBldERhdGEgPSB7XHJcbiAgW25hbWUgaW4gTGFuZ106IHJlYWRvbmx5IHN0cmluZ1tdO1xyXG59O1xyXG5cclxuY29uc3QgZGF0YTogUGV0RGF0YSA9IHtcclxuICAnY24nOiBbXHJcbiAgICAn57u/5a6d55+z5YW9JyxcclxuICAgICfpu4Tlrp3nn7Plhb0nLFxyXG4gICAgJ+S8iuW8l+WIqeeJueS5i+eBtScsXHJcbiAgICAn5rOw5Z2m5LmL54G1JyxcclxuICAgICfov6bmpbznvZfkuYvngbUnLFxyXG4gICAgJ+acneaXpeWwj+S7meWlsycsXHJcbiAgICAn5aSV5pyI5bCP5LuZ5aWzJyxcclxuICAgICfovablvI/mta7nqbrngq7loZQnLFxyXG4gICAgJ+ixoeW8j+a1ruepuueCruWhlCcsXHJcbiAgICAn5Lqa54G156We5be05ZOI5aeG54m5JyxcclxuICAgICfkuprngbXnpZ7kuI3mrbvpuJ8nLFxyXG4gICAgJ+eCveWkqeS9vycsXHJcbiAgICAn5pyI6ZW/5a6d55+z5YW9JyxcclxuICAgICfoi7Hpm4TnmoTmjqDlvbEnLFxyXG4gICAgJ+WQjuW8j+iHqui1sOS6uuWBticsXHJcbiAgICAn5YiG6LqrJyxcclxuICBdLFxyXG4gICdkZSc6IFtcclxuICAgICdTbWFyYWdkLUthcmZ1bmtlbCcsXHJcbiAgICAnVG9wYXMtS2FyZnVua2VsJyxcclxuICAgICdJZnJpdC1FZ2knLFxyXG4gICAgJ1RpdGFuLUVnaScsXHJcbiAgICAnR2FydWRhLUVnaScsXHJcbiAgICAnRW9zJyxcclxuICAgICdTZWxlbmUnLFxyXG4gICAgJ1NlbGJzdHNjaHVzcy1HeXJvY29wdGVyIFRVUk0nLFxyXG4gICAgJ1NlbGJzdHNjaHVzcy1HeXJvY29wdGVyIEzDhFVGRVInLFxyXG4gICAgJ0RlbWktQmFoYW11dCcsXHJcbiAgICAnRGVtaS1QaMO2bml4JyxcclxuICAgICdTZXJhcGgnLFxyXG4gICAgJ01vbmRzdGVpbi1LYXJmdW5rZWwnLFxyXG4gICAgJ1NjaGF0dGVuc2NoZW1lbicsXHJcbiAgICAnQXV0b21hdG9uIERBTUUnLFxyXG4gICAgJ0dlZG9wcGVsdGVzIEljaCcsXHJcbiAgXSxcclxuICAnZW4nOiBbXHJcbiAgICAnRW1lcmFsZCBDYXJidW5jbGUnLFxyXG4gICAgJ1RvcGF6IENhcmJ1bmNsZScsXHJcbiAgICAnSWZyaXQtRWdpJyxcclxuICAgICdUaXRhbi1FZ2knLFxyXG4gICAgJ0dhcnVkYS1FZ2knLFxyXG4gICAgJ0VvcycsXHJcbiAgICAnU2VsZW5lJyxcclxuICAgICdSb29rIEF1dG90dXJyZXQnLFxyXG4gICAgJ0Jpc2hvcCBBdXRvdHVycmV0JyxcclxuICAgICdEZW1pLUJhaGFtdXQnLFxyXG4gICAgJ0RlbWktUGhvZW5peCcsXHJcbiAgICAnU2VyYXBoJyxcclxuICAgICdNb29uc3RvbmUgQ2FyYnVuY2xlJyxcclxuICAgICdFc3RlZW0nLFxyXG4gICAgJ0F1dG9tYXRvbiBRdWVlbicsXHJcbiAgICAnQnVuc2hpbicsXHJcbiAgXSxcclxuICAnZnInOiBbXHJcbiAgICAnQ2FyYnVuY2xlIMOpbWVyYXVkZScsXHJcbiAgICAnQ2FyYnVuY2xlIHRvcGF6ZScsXHJcbiAgICAnSWZyaXQtRWdpJyxcclxuICAgICdUaXRhbi1FZ2knLFxyXG4gICAgJ0dhcnVkYS1FZ2knLFxyXG4gICAgJ0VvcycsXHJcbiAgICAnU2VsZW5lJyxcclxuICAgICdBdXRvLXRvdXJlbGxlIFRvdXInLFxyXG4gICAgJ0F1dG8tdG91cmVsbGUgRm91JyxcclxuICAgICdEZW1pLUJhaGFtdXQnLFxyXG4gICAgJ0RlbWktUGjDqW5peCcsXHJcbiAgICAnU8OpcmFwaGluJyxcclxuICAgICdDYXJidW5jbGUgaMOpY2F0b2xpdGUnLFxyXG4gICAgJ0VzdGltZScsXHJcbiAgICAnQXV0b21hdGUgUmVpbmUnLFxyXG4gICAgJ09tYnJlJyxcclxuICBdLFxyXG4gICdqYSc6IFtcclxuICAgICfjgqvjg7zjg5Djg7Pjgq/jg6vjg7vjgqjjg6Hjg6njg6vjg4knLFxyXG4gICAgJ+OCq+ODvOODkOODs+OCr+ODq+ODu+ODiOODkeODvOOCuicsXHJcbiAgICAn44Kk44OV44Oq44O844OI44O744Ko44KuJyxcclxuICAgICfjgr/jgqTjgr/jg7Pjg7vjgqjjgq4nLFxyXG4gICAgJ+OCrOODq+ODvOODgOODu+OCqOOCricsXHJcbiAgICAn44OV44Kn44Ki44Oq44O844O744Ko44Kq44K5JyxcclxuICAgICfjg5XjgqfjgqLjg6rjg7zjg7vjgrvjg6zjg40nLFxyXG4gICAgJ+OCquODvOODiOOCv+ODrOODg+ODiOODu+ODq+ODvOOCrycsXHJcbiAgICAn44Kq44O844OI44K/44Os44OD44OI44O744OT44K344On44OD44OXJyxcclxuICAgICfjg4fjg5/jg7vjg5Djg4/jg6Djg7zjg4gnLFxyXG4gICAgJ+ODh+ODn+ODu+ODleOCp+ODi+ODg+OCr+OCuScsXHJcbiAgICAn44K744Op44OV44Kj44OgJyxcclxuICAgICfjgqvjg7zjg5Djg7Pjgq/jg6vjg7vjg6Djg7zjg7Pjgrnjg4jjg7zjg7MnLFxyXG4gICAgJ+iLsembhOOBruW9sei6qycsXHJcbiAgICAn44Kq44O844OI44Oe44OI44Oz44O744Kv44Kk44O844OzJyxcclxuICAgICfliIbouqsnLFxyXG4gIF0sXHJcbiAgJ2tvJzogW1xyXG4gICAgJ+y5tOuyme2BtCDsl5DrqZTrnoTrk5wnLFxyXG4gICAgJ+y5tOuyme2BtCDthqDtjIzspognLFxyXG4gICAgJ+ydtO2UhOumrO2KuCDsl5DquLAnLFxyXG4gICAgJ+2DgOydtO2DhCDsl5DquLAnLFxyXG4gICAgJ+qwgOujqOuLpCDsl5DquLAnLFxyXG4gICAgJ+yalOyglSDsl5DsmKTsiqQnLFxyXG4gICAgJ+yalOyglSDshYDroIjrhKQnLFxyXG4gICAgJ+yekOuPme2PrO2DkSDro6knLFxyXG4gICAgJ+yekOuPme2PrO2DkSDruYTsiI0nLFxyXG4gICAgJ+uNsOuvuOuwlO2VmOustO2KuCcsXHJcbiAgICAn642w66+47ZS864uJ7IqkJyxcclxuICAgICfshLjrnbztlYwnLFxyXG4gICAgJ+y5tOuyme2BtCDrrLjsiqTthqQnLFxyXG4gICAgJ+yYgeybheydmCDtmZjsmIEnLFxyXG4gICAgJ+yekOuPmeyduO2YlSDtgLgnLFxyXG4gICAgJ+u2hOyLoCcsXHJcbiAgXSxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRhdGE7XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IEpvYiB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2pvYic7XHJcblxyXG5pbXBvcnQgQ29tYmF0YW50U3RhdGUgZnJvbSAnLi9Db21iYXRhbnRTdGF0ZSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iYXRhbnQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZSA9ICcnO1xyXG4gIHNlcnZlciA9ICcnO1xyXG4gIHN0YXRlczogeyBbdGltZXN0YW1wOiBudW1iZXJdOiBDb21iYXRhbnRTdGF0ZSB9ID0ge307XHJcbiAgc2lnbmlmaWNhbnRTdGF0ZXM6IG51bWJlcltdID0gW107XHJcbiAgbGF0ZXN0VGltZXN0YW1wID0gLTE7XHJcbiAgam9iPzogSm9iO1xyXG4gIGpvYklkPzogbnVtYmVyO1xyXG4gIGxldmVsPzogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaWQgPSBpZDtcclxuICAgIHRoaXMuc2V0TmFtZShuYW1lKTtcclxuICB9XHJcblxyXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvLyBTb21ldGltZXMgbmV0d29yayBsaW5lcyBhcnJpdmUgYWZ0ZXIgdGhlIGNvbWJhdGFudCBoYXMgYmVlbiBjbGVhcmVkXHJcbiAgICAvLyBmcm9tIG1lbW9yeSBpbiB0aGUgY2xpZW50LCBzbyB0aGUgbmV0d29yayBsaW5lIHdpbGwgaGF2ZSBhIHZhbGlkIElEXHJcbiAgICAvLyBidXQgdGhlIG5hbWUgd2lsbCBiZSBibGFuay4gU2luY2Ugd2UncmUgdHJhY2tpbmcgdGhlIG5hbWUgZm9yIHRoZVxyXG4gICAgLy8gZW50aXJlIGZpZ2h0IGFuZCBub3Qgb24gYSBzdGF0ZS1ieS1zdGF0ZSBiYXNpcywgd2UgZG9uJ3Qgd2FudCB0b1xyXG4gICAgLy8gYmxhbmsgb3V0IGEgbmFtZSBpbiB0aGlzIGNhc2UuXHJcbiAgICAvLyBJZiBhIGNvbWJhdGFudCBhY3R1YWxseSBoYXMgYSBibGFuayBuYW1lLCB0aGF0J3Mgc3RpbGwgYWxsb3dlZCBieVxyXG4gICAgLy8gdGhlIGNvbnN0cnVjdG9yLlxyXG4gICAgaWYgKG5hbWUgPT09ICcnKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgcGFydHMgPSBuYW1lLnNwbGl0KCcoJyk7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1swXSA/PyAnJztcclxuICAgIGlmIChwYXJ0cy5sZW5ndGggPiAxKVxyXG4gICAgICB0aGlzLnNlcnZlciA9IHBhcnRzWzFdPy5yZXBsYWNlKC9cXCkkLywgJycpID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgaGFzU3RhdGUodGltZXN0YW1wOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlc1t0aW1lc3RhbXBdICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdXNoU3RhdGUodGltZXN0YW1wOiBudW1iZXIsIHN0YXRlOiBDb21iYXRhbnRTdGF0ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZXNbdGltZXN0YW1wXSA9IHN0YXRlO1xyXG4gICAgdGhpcy5sYXRlc3RUaW1lc3RhbXAgPSB0aW1lc3RhbXA7XHJcbiAgICBpZiAoIXRoaXMuc2lnbmlmaWNhbnRTdGF0ZXMuaW5jbHVkZXModGltZXN0YW1wKSlcclxuICAgICAgdGhpcy5zaWduaWZpY2FudFN0YXRlcy5wdXNoKHRpbWVzdGFtcCk7XHJcbiAgfVxyXG5cclxuICBuZXh0U2lnbmlmaWNhbnRTdGF0ZSh0aW1lc3RhbXA6IG51bWJlcik6IENvbWJhdGFudFN0YXRlIHtcclxuICAgIC8vIFNob3J0Y3V0IG91dCBpZiB0aGlzIGlzIHNpZ25pZmljYW50IG9yIGlmIHRoZXJlJ3Mgbm8gaGlnaGVyIHNpZ25pZmljYW50IHN0YXRlXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXMuaW5kZXhPZih0aW1lc3RhbXApO1xyXG4gICAgY29uc3QgbGFzdFNpZ25pZmljYW50U3RhdGVJbmRleCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXMubGVuZ3RoIC0gMTtcclxuICAgIC8vIElmIHRpbWVzdGFtcCBpcyBhIHNpZ25pZmljYW50IHN0YXRlIGFscmVhZHksIGFuZCBpdCdzIG5vdCB0aGUgbGFzdCBvbmUsIHJldHVybiB0aGUgbmV4dFxyXG4gICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCBsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4KVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUJ5SW5kZXgoaW5kZXggKyAxKTtcclxuICAgIC8vIElmIHRpbWVzdGFtcCBpcyB0aGUgbGFzdCBzaWduaWZpY2FudCBzdGF0ZSBvciB0aGUgdGltZXN0YW1wIGlzIHBhc3QgdGhlIGxhc3Qgc2lnbmlmaWNhbnRcclxuICAgIC8vIHN0YXRlLCByZXR1cm4gdGhlIGxhc3Qgc2lnbmlmaWNhbnQgc3RhdGVcclxuICAgIGVsc2UgaWYgKFxyXG4gICAgICBpbmRleCA9PT0gbGFzdFNpZ25pZmljYW50U3RhdGVJbmRleCB8fFxyXG4gICAgICB0aW1lc3RhbXAgPiAodGhpcy5zaWduaWZpY2FudFN0YXRlc1tsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4XSA/PyAwKVxyXG4gICAgKVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUJ5SW5kZXgobGFzdFNpZ25pZmljYW50U3RhdGVJbmRleCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNpZ25pZmljYW50U3RhdGVzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlSW5kZXggPSB0aGlzLnNpZ25pZmljYW50U3RhdGVzW2ldO1xyXG4gICAgICBpZiAoc3RhdGVJbmRleCAmJiBzdGF0ZUluZGV4ID4gdGltZXN0YW1wKVxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleChpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUJ5SW5kZXgodGhpcy5zaWduaWZpY2FudFN0YXRlcy5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIHB1c2hQYXJ0aWFsU3RhdGUodGltZXN0YW1wOiBudW1iZXIsIHByb3BzOiBQYXJ0aWFsPENvbWJhdGFudFN0YXRlPik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhdGVzW3RpbWVzdGFtcF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAvLyBDbG9uZSB0aGUgbGFzdCBzdGF0ZSBiZWZvcmUgdGhpcyB0aW1lc3RhbXBcclxuICAgICAgY29uc3Qgc3RhdGVUaW1lc3RhbXAgPSB0aGlzLnNpZ25pZmljYW50U3RhdGVzXHJcbiAgICAgICAgLmZpbHRlcigocykgPT4gcyA8IHRpbWVzdGFtcClcclxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpWzBdID8/IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNbMF07XHJcbiAgICAgIGlmIChzdGF0ZVRpbWVzdGFtcCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlc1tzdGF0ZVRpbWVzdGFtcF07XHJcbiAgICAgIGlmICghc3RhdGUpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICB0aGlzLnN0YXRlc1t0aW1lc3RhbXBdID0gc3RhdGUucGFydGlhbENsb25lKHByb3BzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZXNbdGltZXN0YW1wXTtcclxuICAgICAgaWYgKCFzdGF0ZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIHRoaXMuc3RhdGVzW3RpbWVzdGFtcF0gPSBzdGF0ZS5wYXJ0aWFsQ2xvbmUocHJvcHMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sYXRlc3RUaW1lc3RhbXAgPSBNYXRoLm1heCh0aGlzLmxhdGVzdFRpbWVzdGFtcCwgdGltZXN0YW1wKTtcclxuXHJcbiAgICBjb25zdCBsYXN0U2lnbmlmaWNhbnRTdGF0ZVRpbWVzdGFtcCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNbdGhpcy5zaWduaWZpY2FudFN0YXRlcy5sZW5ndGggLSAxXTtcclxuICAgIGlmICghbGFzdFNpZ25pZmljYW50U3RhdGVUaW1lc3RhbXApXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGNvbnN0IG9sZFN0YXRlSlNPTiA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGVzW2xhc3RTaWduaWZpY2FudFN0YXRlVGltZXN0YW1wXSk7XHJcbiAgICBjb25zdCBuZXdTdGF0ZUpTT04gPSBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlc1t0aW1lc3RhbXBdKTtcclxuXHJcbiAgICBpZiAobGFzdFNpZ25pZmljYW50U3RhdGVUaW1lc3RhbXAgIT09IHRpbWVzdGFtcCAmJiBuZXdTdGF0ZUpTT04gIT09IG9sZFN0YXRlSlNPTilcclxuICAgICAgdGhpcy5zaWduaWZpY2FudFN0YXRlcy5wdXNoKHRpbWVzdGFtcCk7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0ZSh0aW1lc3RhbXA6IG51bWJlcik6IENvbWJhdGFudFN0YXRlIHtcclxuICAgIGNvbnN0IHN0YXRlQnlUaW1lc3RhbXAgPSB0aGlzLnN0YXRlc1t0aW1lc3RhbXBdO1xyXG4gICAgaWYgKHN0YXRlQnlUaW1lc3RhbXApXHJcbiAgICAgIHJldHVybiBzdGF0ZUJ5VGltZXN0YW1wO1xyXG5cclxuICAgIGNvbnN0IGluaXRpYWxUaW1lc3RhbXAgPSB0aGlzLnNpZ25pZmljYW50U3RhdGVzWzBdO1xyXG4gICAgaWYgKGluaXRpYWxUaW1lc3RhbXAgPT09IHVuZGVmaW5lZClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgaWYgKHRpbWVzdGFtcCA8IGluaXRpYWxUaW1lc3RhbXApXHJcbiAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleCgwKTtcclxuXHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICBmb3IgKDsgaSA8IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXMubGVuZ3RoOyArK2kpIHtcclxuICAgICAgY29uc3QgcHJldlRpbWVzdGFtcCA9IHRoaXMuc2lnbmlmaWNhbnRTdGF0ZXNbaV07XHJcbiAgICAgIGlmIChwcmV2VGltZXN0YW1wID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBpZiAocHJldlRpbWVzdGFtcCA+IHRpbWVzdGFtcClcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZUJ5SW5kZXgoaSAtIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmdldFN0YXRlQnlJbmRleChpIC0gMSk7XHJcbiAgfVxyXG5cclxuICAvLyBTaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBgaW5kZXhgIGlzIHZhbGlkLlxyXG4gIHByaXZhdGUgZ2V0U3RhdGVCeUluZGV4KGluZGV4OiBudW1iZXIpOiBDb21iYXRhbnRTdGF0ZSB7XHJcbiAgICBjb25zdCBzdGF0ZUluZGV4ID0gdGhpcy5zaWduaWZpY2FudFN0YXRlc1tpbmRleF07XHJcbiAgICBpZiAoc3RhdGVJbmRleCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVzW3N0YXRlSW5kZXhdO1xyXG4gICAgaWYgKHN0YXRlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIHJldHVybiBzdGF0ZTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvam9iJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbWJhdGFudEpvYlNlYXJjaCB7XHJcbiAgc3RhdGljIGdldEpvYihhYmlsaXR5SWQ6IG51bWJlcik6IEpvYiB8IHVuZGVmaW5lZCB7XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhDb21iYXRhbnRKb2JTZWFyY2guYWJpbGl0aWVzKSkge1xyXG4gICAgICBpZiAodmFsdWU/LmluY2x1ZGVzKGFiaWxpdHlJZCkpXHJcbiAgICAgICAgcmV0dXJuIGtleSBhcyBrZXlvZiB0eXBlb2YgQ29tYmF0YW50Sm9iU2VhcmNoLmFiaWxpdGllcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBhYmlsaXR5TWF0Y2hSZWdleCA9IC9bYS1mQS1GMC05XXsxLDR9L2k7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBhYmlsaXRpZXM6IHsgW2pvYiBpbiBKb2JdPzogbnVtYmVyW10gfSA9IHtcclxuICAgIFBMRDogW1xyXG4gICAgICAxMjk1OSxcclxuICAgICAgMTI5NjEsXHJcbiAgICAgIDEyOTY0LFxyXG4gICAgICAxMjk2NyxcclxuICAgICAgMTI5NjgsXHJcbiAgICAgIDEyOTY5LFxyXG4gICAgICAxMjk3MCxcclxuICAgICAgMTI5NzEsXHJcbiAgICAgIDEyOTcyLFxyXG4gICAgICAxMjk3MyxcclxuICAgICAgMTI5NzQsXHJcbiAgICAgIDEyOTc1LFxyXG4gICAgICAxMjk3NixcclxuICAgICAgMTI5NzgsXHJcbiAgICAgIDEyOTgwLFxyXG4gICAgICAxMjk4MSxcclxuICAgICAgMTI5ODIsXHJcbiAgICAgIDEyOTgzLFxyXG4gICAgICAxMjk4NCxcclxuICAgICAgMTI5ODUsXHJcbiAgICAgIDEyOTg2LFxyXG4gICAgICAxMjk4NyxcclxuICAgICAgMTI5ODgsXHJcbiAgICAgIDEyOTg5LFxyXG4gICAgICAxMjk5MSxcclxuICAgICAgMTI5OTIsXHJcbiAgICAgIDEyOTkzLFxyXG4gICAgICAxMjk5NCxcclxuICAgICAgMTI5OTYsXHJcbiAgICAgIDEzMDAwLFxyXG4gICAgICAxMzAwMSxcclxuICAgICAgMTMwMDYsXHJcbiAgICAgIDE0NDgwLFxyXG4gICAgICAxNjQ1NyxcclxuICAgICAgMTY0NTgsXHJcbiAgICAgIDE2NDU5LFxyXG4gICAgICAxNjQ2MCxcclxuICAgICAgMTY0NjEsXHJcbiAgICAgIDE3NjY5LFxyXG4gICAgICAxNzY3MSxcclxuICAgICAgMTc2NzIsXHJcbiAgICAgIDE3NjkxLFxyXG4gICAgICAxNzY5MixcclxuICAgICAgMTc2OTMsXHJcbiAgICAgIDE3Njk0LFxyXG4gICAgICAxNzg2NixcclxuICAgICAgMTgwNTAsXHJcbiAgICAgIDI3LFxyXG4gICAgICAyOSxcclxuICAgICAgMzAsXHJcbiAgICAgIDM1MzgsXHJcbiAgICAgIDM1MzksXHJcbiAgICAgIDM1NDAsXHJcbiAgICAgIDM1NDEsXHJcbiAgICAgIDM1NDIsXHJcbiAgICAgIDQyODQsXHJcbiAgICAgIDQyODUsXHJcbiAgICAgIDQyODYsXHJcbiAgICAgIDUwMjA3LFxyXG4gICAgICA1MDIwOSxcclxuICAgICAgNTAyNDYsXHJcbiAgICAgIDUwMjYwLFxyXG4gICAgICA1MDI2MSxcclxuICAgICAgNTAyNjIsXHJcbiAgICAgIDUwMjYzLFxyXG4gICAgICA1MDI2NCxcclxuICAgICAgNzM4MixcclxuICAgICAgNzM4MyxcclxuICAgICAgNzM4NCxcclxuICAgICAgNzM4NSxcclxuICAgICAgODc0NixcclxuICAgICAgODc0OSxcclxuICAgICAgODc1MCxcclxuICAgICAgODc1MSxcclxuICAgICAgODc1MixcclxuICAgICAgODc1NCxcclxuICAgICAgODc1NSxcclxuICAgICAgODc1NixcclxuICAgIF0sXHJcbiAgICBXQVI6IFtcclxuICAgICAgMTY0NjIsXHJcbiAgICAgIDE2NDYzLFxyXG4gICAgICAxNjQ2NCxcclxuICAgICAgMTY0NjUsXHJcbiAgICAgIDE3Njk1LFxyXG4gICAgICAxNzY5NixcclxuICAgICAgMTc2OTcsXHJcbiAgICAgIDE3Njk4LFxyXG4gICAgICAxNzg4OSxcclxuICAgICAgMzU0OSxcclxuICAgICAgMzU1MCxcclxuICAgICAgMzU1MSxcclxuICAgICAgMzU1MixcclxuICAgICAgNDI4OSxcclxuICAgICAgNDI5MCxcclxuICAgICAgNDI5MSxcclxuICAgICAgNDksXHJcbiAgICAgIDUwMTU3LFxyXG4gICAgICA1MDIxOCxcclxuICAgICAgNTAyNDksXHJcbiAgICAgIDUwMjY1LFxyXG4gICAgICA1MDI2NixcclxuICAgICAgNTAyNjcsXHJcbiAgICAgIDUwMjY4LFxyXG4gICAgICA1MDI2OSxcclxuICAgICAgNTEsXHJcbiAgICAgIDUyLFxyXG4gICAgICA3Mzg2LFxyXG4gICAgICA3Mzg3LFxyXG4gICAgICA3Mzg4LFxyXG4gICAgICA3Mzg5LFxyXG4gICAgICA4NzU4LFxyXG4gICAgICA4NzYxLFxyXG4gICAgICA4NzYyLFxyXG4gICAgICA4NzYzLFxyXG4gICAgICA4NzY0LFxyXG4gICAgICA4NzY1LFxyXG4gICAgICA4NzY3LFxyXG4gICAgICA4NzY4LFxyXG4gICAgXSxcclxuICAgIERSSzogW1xyXG4gICAgICAxNjQ2NixcclxuICAgICAgMTY0NjcsXHJcbiAgICAgIDE2NDY4LFxyXG4gICAgICAxNjQ2OSxcclxuICAgICAgMTY0NzAsXHJcbiAgICAgIDE2NDcxLFxyXG4gICAgICAxNjQ3MixcclxuICAgICAgMTc3MDAsXHJcbiAgICAgIDE3NzAxLFxyXG4gICAgICAxNzcwMixcclxuICAgICAgMzYxNyxcclxuICAgICAgMzYyMSxcclxuICAgICAgMzYyMyxcclxuICAgICAgMzYyNCxcclxuICAgICAgMzYyNSxcclxuICAgICAgMzYyOSxcclxuICAgICAgMzYzMixcclxuICAgICAgMzYzNCxcclxuICAgICAgMzYzNixcclxuICAgICAgMzYzOCxcclxuICAgICAgMzYzOSxcclxuICAgICAgMzY0MCxcclxuICAgICAgMzY0MSxcclxuICAgICAgMzY0MyxcclxuICAgICAgNDMwMyxcclxuICAgICAgNDMwNCxcclxuICAgICAgNDMwNSxcclxuICAgICAgNDMwNixcclxuICAgICAgNDMwNyxcclxuICAgICAgNDMwOCxcclxuICAgICAgNDMwOSxcclxuICAgICAgNDMxMCxcclxuICAgICAgNDMxMSxcclxuICAgICAgNDMxMixcclxuICAgICAgNDY4MCxcclxuICAgICAgNTAxNTgsXHJcbiAgICAgIDUwMTU5LFxyXG4gICAgICA1MDI3MSxcclxuICAgICAgNTAyNzIsXHJcbiAgICAgIDUwMzE5LFxyXG4gICAgICA3MzkwLFxyXG4gICAgICA3MzkxLFxyXG4gICAgICA3MzkyLFxyXG4gICAgICA3MzkzLFxyXG4gICAgICA4NzY5LFxyXG4gICAgICA4NzcyLFxyXG4gICAgICA4NzczLFxyXG4gICAgICA4Nzc1LFxyXG4gICAgICA4Nzc2LFxyXG4gICAgICA4Nzc3LFxyXG4gICAgICA4Nzc4LFxyXG4gICAgICA4Nzc5LFxyXG4gICAgXSxcclxuICAgIEdOQjogW1xyXG4gICAgICAxNzcwMyxcclxuICAgICAgMTc3MDQsXHJcbiAgICAgIDE3NzA1LFxyXG4gICAgICAxNzcwNixcclxuICAgICAgMTc3MDcsXHJcbiAgICAgIDE3NzA4LFxyXG4gICAgICAxNzcwOSxcclxuICAgICAgMTc3MTAsXHJcbiAgICAgIDE3NzExLFxyXG4gICAgICAxNzcxMixcclxuICAgICAgMTc3MTMsXHJcbiAgICAgIDE3NzE0LFxyXG4gICAgICAxNzcxNixcclxuICAgICAgMTc3MTcsXHJcbiAgICAgIDE3ODkwLFxyXG4gICAgICAxNzg5MSxcclxuICAgICAgMTYxMzcsXHJcbiAgICAgIDUwMzIwLFxyXG4gICAgICAxNjEzOCxcclxuICAgICAgMTYxMzksXHJcbiAgICAgIDE2MTQwLFxyXG4gICAgICAxNjE0MSxcclxuICAgICAgMTYxNDIsXHJcbiAgICAgIDE2MTQzLFxyXG4gICAgICAxNjE0NCxcclxuICAgICAgMTYxNDUsXHJcbiAgICAgIDE2MTYyLFxyXG4gICAgICA1MDI1NyxcclxuICAgICAgMTYxNDgsXHJcbiAgICAgIDE2MTQ5LFxyXG4gICAgICAxNjE1MSxcclxuICAgICAgMTYxNTIsXHJcbiAgICAgIDUwMjU4LFxyXG4gICAgICAxNjE1MyxcclxuICAgICAgMTYxNTQsXHJcbiAgICAgIDE2MTQ2LFxyXG4gICAgICAxNjE0NyxcclxuICAgICAgMTYxNTAsXHJcbiAgICAgIDE2MTU5LFxyXG4gICAgICAxNjE2MCxcclxuICAgICAgMTYxNjEsXHJcbiAgICAgIDE2MTU1LFxyXG4gICAgICAxNjE1NixcclxuICAgICAgMTYxNTcsXHJcbiAgICAgIDE2MTU4LFxyXG4gICAgICAxNjE2MyxcclxuICAgICAgMTYxNjQsXHJcbiAgICAgIDE2MTY1LFxyXG4gICAgICA1MDI1OSxcclxuICAgIF0sXHJcbiAgICBXSE06IFtcclxuICAgICAgMTI5NTgsXHJcbiAgICAgIDEyOTYyLFxyXG4gICAgICAxMjk2NSxcclxuICAgICAgMTI5OTcsXHJcbiAgICAgIDEzMDAyLFxyXG4gICAgICAxMzAwMyxcclxuICAgICAgMTMwMDQsXHJcbiAgICAgIDEzMDA1LFxyXG4gICAgICAxMzEsXHJcbiAgICAgIDEzNixcclxuICAgICAgMTM3LFxyXG4gICAgICAxMzksXHJcbiAgICAgIDE0MCxcclxuICAgICAgMTQ0ODEsXHJcbiAgICAgIDE1ODQsXHJcbiAgICAgIDE2NTMxLFxyXG4gICAgICAxNjUzMixcclxuICAgICAgMTY1MzMsXHJcbiAgICAgIDE2NTM0LFxyXG4gICAgICAxNjUzNSxcclxuICAgICAgMTY1MzYsXHJcbiAgICAgIDE3Njg4LFxyXG4gICAgICAxNzY4OSxcclxuICAgICAgMTc2OTAsXHJcbiAgICAgIDE3Nzg5LFxyXG4gICAgICAxNzc5MCxcclxuICAgICAgMTc3OTEsXHJcbiAgICAgIDE3NzkzLFxyXG4gICAgICAxNzc5NCxcclxuICAgICAgMTc4MzIsXHJcbiAgICAgIDM1NjgsXHJcbiAgICAgIDM1NjksXHJcbiAgICAgIDM1NzAsXHJcbiAgICAgIDM1NzEsXHJcbiAgICAgIDQyOTYsXHJcbiAgICAgIDQyOTcsXHJcbiAgICAgIDUwMTgxLFxyXG4gICAgICA1MDE4MixcclxuICAgICAgNTAxOTYsXHJcbiAgICAgIDUwMzA3LFxyXG4gICAgICA1MDMwOCxcclxuICAgICAgNTAzMDksXHJcbiAgICAgIDUwMzEwLFxyXG4gICAgICA3NDMwLFxyXG4gICAgICA3NDMxLFxyXG4gICAgICA3NDMyLFxyXG4gICAgICA3NDMzLFxyXG4gICAgICA4ODk1LFxyXG4gICAgICA4ODk2LFxyXG4gICAgICA4OTAwLFxyXG4gICAgICA5NjIxLFxyXG4gICAgICAxMjcsXHJcbiAgICAgIDEzMyxcclxuICAgIF0sXHJcbiAgICBTQ0g6IFtcclxuICAgICAgMTY1MzcsXHJcbiAgICAgIDE2NTM4LFxyXG4gICAgICAxNjUzOSxcclxuICAgICAgMTY1NDAsXHJcbiAgICAgIDE2NTQxLFxyXG4gICAgICAxNjU0MixcclxuICAgICAgMTY1NDMsXHJcbiAgICAgIDE2NTQ0LFxyXG4gICAgICAxNjU0NSxcclxuICAgICAgMTY1NDYsXHJcbiAgICAgIDE2NTQ3LFxyXG4gICAgICAxNjU0OCxcclxuICAgICAgMTY1NTAsXHJcbiAgICAgIDE2NTUxLFxyXG4gICAgICAxNjYsXHJcbiAgICAgIDE2NyxcclxuICAgICAgMTcyMTUsXHJcbiAgICAgIDE3MjE2LFxyXG4gICAgICAxNzc5NSxcclxuICAgICAgMTc3OTYsXHJcbiAgICAgIDE3Nzk3LFxyXG4gICAgICAxNzc5OCxcclxuICAgICAgMTc4MDIsXHJcbiAgICAgIDE3ODY0LFxyXG4gICAgICAxNzg2NSxcclxuICAgICAgMTc4NjksXHJcbiAgICAgIDE3ODcwLFxyXG4gICAgICAxNzk5MCxcclxuICAgICAgMTg1LFxyXG4gICAgICAxODYsXHJcbiAgICAgIDE4OCxcclxuICAgICAgMTg5LFxyXG4gICAgICAxOTAsXHJcbiAgICAgIDM1ODMsXHJcbiAgICAgIDM1ODQsXHJcbiAgICAgIDM1ODUsXHJcbiAgICAgIDM1ODYsXHJcbiAgICAgIDM1ODcsXHJcbiAgICAgIDQzMDAsXHJcbiAgICAgIDUwMTg0LFxyXG4gICAgICA1MDIxNCxcclxuICAgICAgNTAzMTEsXHJcbiAgICAgIDUwMzEyLFxyXG4gICAgICA1MDMxMyxcclxuICAgICAgNTAzMjQsXHJcbiAgICAgIDc0MzQsXHJcbiAgICAgIDc0MzUsXHJcbiAgICAgIDc0MzYsXHJcbiAgICAgIDc0MzcsXHJcbiAgICAgIDc0MzgsXHJcbiAgICAgIDc4NjksXHJcbiAgICAgIDgwMixcclxuICAgICAgODAzLFxyXG4gICAgICA4MDUsXHJcbiAgICAgIDg5MDQsXHJcbiAgICAgIDg5MDUsXHJcbiAgICAgIDg5MDksXHJcbiAgICAgIDk2MjIsXHJcbiAgICBdLFxyXG4gICAgQVNUOiBbXHJcbiAgICAgIDEwMDI3LFxyXG4gICAgICAxMDAyOCxcclxuICAgICAgMTAwMjksXHJcbiAgICAgIDE2NTUyLFxyXG4gICAgICAxNjU1MyxcclxuICAgICAgMTY1NTQsXHJcbiAgICAgIDE2NTU1LFxyXG4gICAgICAxNjU1NixcclxuICAgICAgMTY1NTcsXHJcbiAgICAgIDE2NTU4LFxyXG4gICAgICAxNjU1OSxcclxuICAgICAgMTcwNTUsXHJcbiAgICAgIDE3MTUxLFxyXG4gICAgICAxNzE1MixcclxuICAgICAgMTc4MDQsXHJcbiAgICAgIDE3ODA1LFxyXG4gICAgICAxNzgwNixcclxuICAgICAgMTc4MDcsXHJcbiAgICAgIDE3ODA5LFxyXG4gICAgICAxNzk5MSxcclxuICAgICAgMzU5MCxcclxuICAgICAgMzU5MyxcclxuICAgICAgMzU5NCxcclxuICAgICAgMzU5NSxcclxuICAgICAgMzU5NixcclxuICAgICAgMzU5OCxcclxuICAgICAgMzU5OSxcclxuICAgICAgMzYwMCxcclxuICAgICAgMzYwMSxcclxuICAgICAgMzYwMyxcclxuICAgICAgMzYwNCxcclxuICAgICAgMzYwNSxcclxuICAgICAgMzYwNixcclxuICAgICAgMzYwOCxcclxuICAgICAgMzYxMCxcclxuICAgICAgMzYxMixcclxuICAgICAgMzYxMyxcclxuICAgICAgMzYxNCxcclxuICAgICAgMzYxNSxcclxuICAgICAgNDMwMSxcclxuICAgICAgNDMwMixcclxuICAgICAgNDQwMSxcclxuICAgICAgNDQwMixcclxuICAgICAgNDQwMyxcclxuICAgICAgNDQwNCxcclxuICAgICAgNDQwNSxcclxuICAgICAgNDQwNixcclxuICAgICAgNDY3NyxcclxuICAgICAgNDY3OCxcclxuICAgICAgNDY3OSxcclxuICAgICAgNTAxMjIsXHJcbiAgICAgIDUwMTI0LFxyXG4gICAgICA1MDEyNSxcclxuICAgICAgNTAxODYsXHJcbiAgICAgIDUwMTg3LFxyXG4gICAgICA1MDE4OCxcclxuICAgICAgNTAxODksXHJcbiAgICAgIDUwMzE0LFxyXG4gICAgICA1MDMxNSxcclxuICAgICAgNTAzMTYsXHJcbiAgICAgIDc0MzksXHJcbiAgICAgIDc0NDAsXHJcbiAgICAgIDc0NDEsXHJcbiAgICAgIDc0NDIsXHJcbiAgICAgIDc0NDMsXHJcbiAgICAgIDc0NDQsXHJcbiAgICAgIDc0NDUsXHJcbiAgICAgIDc0NDgsXHJcbiAgICAgIDgzMjQsXHJcbiAgICAgIDg5MTMsXHJcbiAgICAgIDg5MTQsXHJcbiAgICAgIDg5MTYsXHJcbiAgICAgIDk2MjksXHJcbiAgICBdLFxyXG4gICAgTU5LOiBbXHJcbiAgICAgIDEyOTYwLFxyXG4gICAgICAxMjk2MyxcclxuICAgICAgMTI5NjYsXHJcbiAgICAgIDEyOTc3LFxyXG4gICAgICAxMjk3OSxcclxuICAgICAgMTI5OTAsXHJcbiAgICAgIDEyOTk1LFxyXG4gICAgICAxMjk5OCxcclxuICAgICAgMTI5OTksXHJcbiAgICAgIDE0NDc2LFxyXG4gICAgICAxNDQ3OCxcclxuICAgICAgMTY0NzMsXHJcbiAgICAgIDE2NDc0LFxyXG4gICAgICAxNjQ3NSxcclxuICAgICAgMTY0NzYsXHJcbiAgICAgIDE3Njc0LFxyXG4gICAgICAxNzY3NSxcclxuICAgICAgMTc2NzYsXHJcbiAgICAgIDE3Njc3LFxyXG4gICAgICAxNzcxOSxcclxuICAgICAgMTc3MjAsXHJcbiAgICAgIDE3NzIxLFxyXG4gICAgICAxNzcyMixcclxuICAgICAgMTc3MjMsXHJcbiAgICAgIDE3NzI0LFxyXG4gICAgICAxNzcyNSxcclxuICAgICAgMTc3MjYsXHJcbiAgICAgIDM1NDMsXHJcbiAgICAgIDM1NDUsXHJcbiAgICAgIDM1NDYsXHJcbiAgICAgIDM1NDcsXHJcbiAgICAgIDQyNjIsXHJcbiAgICAgIDQyODcsXHJcbiAgICAgIDQyODgsXHJcbiAgICAgIDUwMTYwLFxyXG4gICAgICA1MDE2MSxcclxuICAgICAgNTAyNDUsXHJcbiAgICAgIDUwMjczLFxyXG4gICAgICA1MDI3NCxcclxuICAgICAgNjMsXHJcbiAgICAgIDcwLFxyXG4gICAgICA3MSxcclxuICAgICAgNzM5NCxcclxuICAgICAgNzM5NSxcclxuICAgICAgNzM5NixcclxuICAgICAgNzQsXHJcbiAgICAgIDg3ODAsXHJcbiAgICAgIDg3ODEsXHJcbiAgICAgIDg3ODIsXHJcbiAgICAgIDg3ODMsXHJcbiAgICAgIDg3ODQsXHJcbiAgICAgIDg3ODUsXHJcbiAgICAgIDg3ODcsXHJcbiAgICAgIDg3ODksXHJcbiAgICAgIDg5MjUsXHJcbiAgICBdLFxyXG4gICAgRFJHOiBbXHJcbiAgICAgIDE2NDc3LFxyXG4gICAgICAxNjQ3OCxcclxuICAgICAgMTY0NzksXHJcbiAgICAgIDE2NDgwLFxyXG4gICAgICAxNzcyOCxcclxuICAgICAgMTc3MjksXHJcbiAgICAgIDM1NTMsXHJcbiAgICAgIDM1NTQsXHJcbiAgICAgIDM1NTUsXHJcbiAgICAgIDM1NTYsXHJcbiAgICAgIDM1NTcsXHJcbiAgICAgIDQyOTIsXHJcbiAgICAgIDQyOTMsXHJcbiAgICAgIDUwMTYyLFxyXG4gICAgICA1MDE2MyxcclxuICAgICAgNTAyNDcsXHJcbiAgICAgIDUwMjc1LFxyXG4gICAgICA1MDI3NixcclxuICAgICAgNzM5NyxcclxuICAgICAgNzM5OCxcclxuICAgICAgNzM5OSxcclxuICAgICAgNzQwMCxcclxuICAgICAgODYsXHJcbiAgICAgIDg3OTEsXHJcbiAgICAgIDg3OTIsXHJcbiAgICAgIDg3OTMsXHJcbiAgICAgIDg3OTQsXHJcbiAgICAgIDg3OTUsXHJcbiAgICAgIDg3OTYsXHJcbiAgICAgIDg3OTcsXHJcbiAgICAgIDg3OTgsXHJcbiAgICAgIDg3OTksXHJcbiAgICAgIDg4MDIsXHJcbiAgICAgIDg4MDMsXHJcbiAgICAgIDg4MDQsXHJcbiAgICAgIDg4MDUsXHJcbiAgICAgIDg4MDYsXHJcbiAgICAgIDkyLFxyXG4gICAgICA5NCxcclxuICAgICAgOTUsXHJcbiAgICAgIDk2LFxyXG4gICAgICA5NjQwLFxyXG4gICAgICA3NSxcclxuICAgICAgNzgsXHJcbiAgICBdLFxyXG4gICAgTklOOiBbXHJcbiAgICAgIDE2NDg4LFxyXG4gICAgICAxNjQ4OSxcclxuICAgICAgMTY0OTEsXHJcbiAgICAgIDE2NDkyLFxyXG4gICAgICAxNjQ5MyxcclxuICAgICAgMTc0MTMsXHJcbiAgICAgIDE3NDE0LFxyXG4gICAgICAxNzQxNSxcclxuICAgICAgMTc0MTYsXHJcbiAgICAgIDE3NDE3LFxyXG4gICAgICAxNzQxOCxcclxuICAgICAgMTc0MTksXHJcbiAgICAgIDE3NDIwLFxyXG4gICAgICAxNzczMixcclxuICAgICAgMTc3MzMsXHJcbiAgICAgIDE3NzM0LFxyXG4gICAgICAxNzczNSxcclxuICAgICAgMTc3MzYsXHJcbiAgICAgIDE3NzM3LFxyXG4gICAgICAxNzczOCxcclxuICAgICAgMTc3MzksXHJcbiAgICAgIDIyNDYsXHJcbiAgICAgIDIyNTksXHJcbiAgICAgIDIyNjAsXHJcbiAgICAgIDIyNjEsXHJcbiAgICAgIDIyNjIsXHJcbiAgICAgIDIyNjMsXHJcbiAgICAgIDIyNjQsXHJcbiAgICAgIDIyNjUsXHJcbiAgICAgIDIyNjYsXHJcbiAgICAgIDIyNjcsXHJcbiAgICAgIDIyNjgsXHJcbiAgICAgIDIyNjksXHJcbiAgICAgIDIyNzAsXHJcbiAgICAgIDIyNzEsXHJcbiAgICAgIDIyNzIsXHJcbiAgICAgIDM1NjMsXHJcbiAgICAgIDM1NjYsXHJcbiAgICAgIDQyOTUsXHJcbiAgICAgIDUwMTY1LFxyXG4gICAgICA1MDE2NixcclxuICAgICAgNTAxNjcsXHJcbiAgICAgIDUwMjUwLFxyXG4gICAgICA1MDI3OSxcclxuICAgICAgNTAyODAsXHJcbiAgICAgIDc0MDEsXHJcbiAgICAgIDc0MDIsXHJcbiAgICAgIDc0MDMsXHJcbiAgICAgIDg4MDcsXHJcbiAgICAgIDg4MDgsXHJcbiAgICAgIDg4MDksXHJcbiAgICAgIDg4MTAsXHJcbiAgICAgIDg4MTIsXHJcbiAgICAgIDg4MTQsXHJcbiAgICAgIDg4MTUsXHJcbiAgICAgIDg4MTYsXHJcbiAgICAgIDg4MjAsXHJcbiAgICAgIDk0NjEsXHJcbiAgICBdLFxyXG4gICAgU0FNOiBbXHJcbiAgICAgIDE2NDgxLFxyXG4gICAgICAxNjQ4MixcclxuICAgICAgMTY0ODMsXHJcbiAgICAgIDE2NDg0LFxyXG4gICAgICAxNjQ4NSxcclxuICAgICAgMTY0ODYsXHJcbiAgICAgIDE2NDg3LFxyXG4gICAgICAxNzc0MCxcclxuICAgICAgMTc3NDEsXHJcbiAgICAgIDE3NzQyLFxyXG4gICAgICAxNzc0MyxcclxuICAgICAgMTc3NDQsXHJcbiAgICAgIDUwMjA4LFxyXG4gICAgICA1MDIxNSxcclxuICAgICAgNTAyNzcsXHJcbiAgICAgIDUwMjc4LFxyXG4gICAgICA3NDc3LFxyXG4gICAgICA3NDc4LFxyXG4gICAgICA3NDc5LFxyXG4gICAgICA3NDgwLFxyXG4gICAgICA3NDgxLFxyXG4gICAgICA3NDgyLFxyXG4gICAgICA3NDgzLFxyXG4gICAgICA3NDg0LFxyXG4gICAgICA3NDg1LFxyXG4gICAgICA3NDg2LFxyXG4gICAgICA3NDg3LFxyXG4gICAgICA3NDg4LFxyXG4gICAgICA3NDg5LFxyXG4gICAgICA3NDkwLFxyXG4gICAgICA3NDkxLFxyXG4gICAgICA3NDkyLFxyXG4gICAgICA3NDkzLFxyXG4gICAgICA3NDk0LFxyXG4gICAgICA3NDk1LFxyXG4gICAgICA3NDk2LFxyXG4gICAgICA3NDk3LFxyXG4gICAgICA3NDk4LFxyXG4gICAgICA3NDk5LFxyXG4gICAgICA3NTAxLFxyXG4gICAgICA3NTAyLFxyXG4gICAgICA3ODU1LFxyXG4gICAgICA3ODU3LFxyXG4gICAgICA3ODY3LFxyXG4gICAgICA4ODIxLFxyXG4gICAgICA4ODIyLFxyXG4gICAgICA4ODIzLFxyXG4gICAgICA4ODI0LFxyXG4gICAgICA4ODI1LFxyXG4gICAgICA4ODI2LFxyXG4gICAgICA4ODI4LFxyXG4gICAgICA4ODI5LFxyXG4gICAgICA4ODMwLFxyXG4gICAgICA4ODMxLFxyXG4gICAgICA4ODMzLFxyXG4gICAgXSxcclxuICAgIEJSRDogW1xyXG4gICAgICAxMDAyMyxcclxuICAgICAgMTE0LFxyXG4gICAgICAxMTYsXHJcbiAgICAgIDExNyxcclxuICAgICAgMTE4LFxyXG4gICAgICAxMzAwNyxcclxuICAgICAgMTQ0NzksXHJcbiAgICAgIDE2NDk0LFxyXG4gICAgICAxNjQ5NSxcclxuICAgICAgMTY0OTYsXHJcbiAgICAgIDE3Njc4LFxyXG4gICAgICAxNzY3OSxcclxuICAgICAgMTc2ODAsXHJcbiAgICAgIDE3NjgxLFxyXG4gICAgICAxNzY4MixcclxuICAgICAgMTc3NDUsXHJcbiAgICAgIDE3NzQ3LFxyXG4gICAgICAzNTU4LFxyXG4gICAgICAzNTU5LFxyXG4gICAgICAzNTYwLFxyXG4gICAgICAzNTYxLFxyXG4gICAgICAzNTYyLFxyXG4gICAgICA0Mjk0LFxyXG4gICAgICA1MDE2OCxcclxuICAgICAgNTAxNjksXHJcbiAgICAgIDUwMjgyLFxyXG4gICAgICA1MDI4MyxcclxuICAgICAgNTAyODQsXHJcbiAgICAgIDUwMjg1LFxyXG4gICAgICA1MDI4NixcclxuICAgICAgNTAyODcsXHJcbiAgICAgIDc0MDQsXHJcbiAgICAgIDc0MDUsXHJcbiAgICAgIDc0MDYsXHJcbiAgICAgIDc0MDcsXHJcbiAgICAgIDc0MDgsXHJcbiAgICAgIDc0MDksXHJcbiAgICAgIDg4MzYsXHJcbiAgICAgIDg4MzcsXHJcbiAgICAgIDg4MzgsXHJcbiAgICAgIDg4MzksXHJcbiAgICAgIDg4NDEsXHJcbiAgICAgIDg4NDIsXHJcbiAgICAgIDg4NDMsXHJcbiAgICAgIDg4NDQsXHJcbiAgICAgIDk2MjUsXHJcbiAgICAgIDEwNixcclxuICAgIF0sXHJcbiAgICBNQ0g6IFtcclxuICAgICAgMTY0OTcsXHJcbiAgICAgIDE2NDk4LFxyXG4gICAgICAxNjQ5OSxcclxuICAgICAgMTY1MDAsXHJcbiAgICAgIDE2NTAxLFxyXG4gICAgICAxNjUwMixcclxuICAgICAgMTY1MDMsXHJcbiAgICAgIDE2NTA0LFxyXG4gICAgICAxNjc2NixcclxuICAgICAgMTY4ODksXHJcbiAgICAgIDE3MjA2LFxyXG4gICAgICAxNzIwOSxcclxuICAgICAgMTc3NDksXHJcbiAgICAgIDE3NzUwLFxyXG4gICAgICAxNzc1MSxcclxuICAgICAgMTc3NTIsXHJcbiAgICAgIDE3NzUzLFxyXG4gICAgICAxNzc1NCxcclxuICAgICAgMjg2NCxcclxuICAgICAgMjg2NixcclxuICAgICAgMjg2OCxcclxuICAgICAgMjg3MCxcclxuICAgICAgMjg3MixcclxuICAgICAgMjg3MyxcclxuICAgICAgMjg3NCxcclxuICAgICAgMjg3NixcclxuICAgICAgMjg3OCxcclxuICAgICAgMjg5MCxcclxuICAgICAgNDI3NixcclxuICAgICAgNDY3NSxcclxuICAgICAgNDY3NixcclxuICAgICAgNTAxMTcsXHJcbiAgICAgIDUwMTE5LFxyXG4gICAgICA1MDI4OCxcclxuICAgICAgNTAyODksXHJcbiAgICAgIDUwMjkwLFxyXG4gICAgICA1MDI5MSxcclxuICAgICAgNTAyOTIsXHJcbiAgICAgIDUwMjkzLFxyXG4gICAgICA1MDI5NCxcclxuICAgICAgNzQxMCxcclxuICAgICAgNzQxMSxcclxuICAgICAgNzQxMixcclxuICAgICAgNzQxMyxcclxuICAgICAgNzQxNCxcclxuICAgICAgNzQxNSxcclxuICAgICAgNzQxNixcclxuICAgICAgNzQxOCxcclxuICAgICAgODg0OCxcclxuICAgICAgODg0OSxcclxuICAgICAgODg1MCxcclxuICAgICAgODg1MSxcclxuICAgICAgODg1MyxcclxuICAgICAgODg1NSxcclxuICAgIF0sXHJcbiAgICBETkM6IFtcclxuICAgICAgMTc3NTYsXHJcbiAgICAgIDE3NzU3LFxyXG4gICAgICAxNzc1OCxcclxuICAgICAgMTc3NTksXHJcbiAgICAgIDE3NzYwLFxyXG4gICAgICAxNzc2MSxcclxuICAgICAgMTc3NjIsXHJcbiAgICAgIDE3NzYzLFxyXG4gICAgICAxNzc2NCxcclxuICAgICAgMTc3NjUsXHJcbiAgICAgIDE3NzY2LFxyXG4gICAgICAxNzc2NyxcclxuICAgICAgMTc3NjgsXHJcbiAgICAgIDE3NzY5LFxyXG4gICAgICAxNzc3MCxcclxuICAgICAgMTc3NzEsXHJcbiAgICAgIDE3NzcyLFxyXG4gICAgICAxNzc3MyxcclxuICAgICAgMTc4MjQsXHJcbiAgICAgIDE3ODI1LFxyXG4gICAgICAxNzgyNixcclxuICAgICAgMTc4MjcsXHJcbiAgICAgIDE3ODI4LFxyXG4gICAgICAxNzgyOSxcclxuICAgICAgMTgwNzYsXHJcbiAgICAgIDE1OTg5LFxyXG4gICAgICAxNTk5MCxcclxuICAgICAgMTU5OTMsXHJcbiAgICAgIDE1OTk3LFxyXG4gICAgICAxNTk5OSxcclxuICAgICAgMTYwMDAsXHJcbiAgICAgIDE2MDAxLFxyXG4gICAgICAxNjAwMixcclxuICAgICAgMTYwMDMsXHJcbiAgICAgIDE2MTkxLFxyXG4gICAgICAxNjE5MixcclxuICAgICAgMTU5OTEsXHJcbiAgICAgIDE1OTk0LFxyXG4gICAgICAxNjAwNyxcclxuICAgICAgNTAyNTIsXHJcbiAgICAgIDE1OTk1LFxyXG4gICAgICAxNTk5MixcclxuICAgICAgMTU5OTYsXHJcbiAgICAgIDE2MDA4LFxyXG4gICAgICAxNjAxMCxcclxuICAgICAgNTAyNTEsXHJcbiAgICAgIDE2MDE1LFxyXG4gICAgICAxNjAxMixcclxuICAgICAgMTYwMDYsXHJcbiAgICAgIDE4MDczLFxyXG4gICAgICA1MDI1MyxcclxuICAgICAgMTYwMTEsXHJcbiAgICAgIDE2MDA5LFxyXG4gICAgICA1MDI1NCxcclxuICAgICAgMTU5OTgsXHJcbiAgICAgIDE2MDA0LFxyXG4gICAgICAxNjE5MyxcclxuICAgICAgMTYxOTQsXHJcbiAgICAgIDE2MTk1LFxyXG4gICAgICAxNjE5NixcclxuICAgICAgMTYwMTMsXHJcbiAgICAgIDE2MDA1LFxyXG4gICAgICA1MDI1NSxcclxuICAgICAgNTAyNTYsXHJcbiAgICAgIDE2MDE0LFxyXG4gICAgXSxcclxuICAgIEJMTTogW1xyXG4gICAgICAxNDQ3NyxcclxuICAgICAgMTUzLFxyXG4gICAgICAxNTQsXHJcbiAgICAgIDE1OCxcclxuICAgICAgMTU5LFxyXG4gICAgICAxNjIsXHJcbiAgICAgIDE2NTA1LFxyXG4gICAgICAxNjUwNixcclxuICAgICAgMTY1MDcsXHJcbiAgICAgIDE3NjgzLFxyXG4gICAgICAxNzY4NCxcclxuICAgICAgMTc2ODUsXHJcbiAgICAgIDE3Njg2LFxyXG4gICAgICAxNzY4NyxcclxuICAgICAgMTc3NzQsXHJcbiAgICAgIDE3Nzc1LFxyXG4gICAgICAzNTczLFxyXG4gICAgICAzNTc0LFxyXG4gICAgICAzNTc1LFxyXG4gICAgICAzNTc2LFxyXG4gICAgICAzNTc3LFxyXG4gICAgICA0Mjk4LFxyXG4gICAgICA1MDE3MSxcclxuICAgICAgNTAxNzIsXHJcbiAgICAgIDUwMTczLFxyXG4gICAgICA1MDE3NCxcclxuICAgICAgNTAyOTUsXHJcbiAgICAgIDUwMjk2LFxyXG4gICAgICA1MDI5NyxcclxuICAgICAgNTAzMjEsXHJcbiAgICAgIDUwMzIyLFxyXG4gICAgICA3NDE5LFxyXG4gICAgICA3NDIwLFxyXG4gICAgICA3NDIxLFxyXG4gICAgICA3NDIyLFxyXG4gICAgICA4ODU4LFxyXG4gICAgICA4ODU5LFxyXG4gICAgICA4ODYwLFxyXG4gICAgICA4ODYxLFxyXG4gICAgICA4ODYyLFxyXG4gICAgICA4ODYzLFxyXG4gICAgICA4ODY0LFxyXG4gICAgICA4ODY1LFxyXG4gICAgICA4ODY2LFxyXG4gICAgICA4ODY3LFxyXG4gICAgICA4ODY5LFxyXG4gICAgICA5NjM3LFxyXG4gICAgICAxNDksXHJcbiAgICAgIDE1NSxcclxuICAgICAgMTQxLFxyXG4gICAgICAxNTIsXHJcbiAgICBdLFxyXG4gICAgU01OOiBbXHJcbiAgICAgIDE2NTEwLFxyXG4gICAgICAxNjUxMSxcclxuICAgICAgMTY1MTMsXHJcbiAgICAgIDE2NTE0LFxyXG4gICAgICAxNjUxNSxcclxuICAgICAgMTY1MTYsXHJcbiAgICAgIDE2NTE3LFxyXG4gICAgICAxNjUxOCxcclxuICAgICAgMTY1MTksXHJcbiAgICAgIDE2NTIyLFxyXG4gICAgICAxNjUyMyxcclxuICAgICAgMTY1NDksXHJcbiAgICAgIDE2Nzk1LFxyXG4gICAgICAxNjc5NixcclxuICAgICAgMTY3OTcsXHJcbiAgICAgIDE2Nzk4LFxyXG4gICAgICAxNjc5OSxcclxuICAgICAgMTY4MDAsXHJcbiAgICAgIDE2ODAxLFxyXG4gICAgICAxNjgwMixcclxuICAgICAgMTY4MDMsXHJcbiAgICAgIDE3Nzc3LFxyXG4gICAgICAxNzc3OCxcclxuICAgICAgMTc3NzksXHJcbiAgICAgIDE3NzgwLFxyXG4gICAgICAxNzc4MSxcclxuICAgICAgMTc3ODIsXHJcbiAgICAgIDE3NzgzLFxyXG4gICAgICAxNzc4NCxcclxuICAgICAgMTc3ODUsXHJcbiAgICAgIDE4MCxcclxuICAgICAgMTg0LFxyXG4gICAgICAzNTc4LFxyXG4gICAgICAzNTc5LFxyXG4gICAgICAzNTgwLFxyXG4gICAgICAzNTgxLFxyXG4gICAgICAzNTgyLFxyXG4gICAgICA0Mjk5LFxyXG4gICAgICA1MDE3NixcclxuICAgICAgNTAxNzcsXHJcbiAgICAgIDUwMTc4LFxyXG4gICAgICA1MDIxMyxcclxuICAgICAgNTAyMTcsXHJcbiAgICAgIDUwMjk4LFxyXG4gICAgICA1MDI5OSxcclxuICAgICAgNTAzMDAsXHJcbiAgICAgIDUwMzAxLFxyXG4gICAgICA1MDMwMixcclxuICAgICAgNzQyMyxcclxuICAgICAgNzQyNCxcclxuICAgICAgNzQyNSxcclxuICAgICAgNzQyNixcclxuICAgICAgNzQyNyxcclxuICAgICAgNzQyOCxcclxuICAgICAgNzQyOSxcclxuICAgICAgNzQ0OSxcclxuICAgICAgNzQ1MCxcclxuICAgICAgNzg3LFxyXG4gICAgICA3ODgsXHJcbiAgICAgIDc5MSxcclxuICAgICAgNzkyLFxyXG4gICAgICA3OTQsXHJcbiAgICAgIDc5NixcclxuICAgICAgNzk3LFxyXG4gICAgICA3OTgsXHJcbiAgICAgIDgwMCxcclxuICAgICAgODAxLFxyXG4gICAgICA4ODcyLFxyXG4gICAgICA4ODczLFxyXG4gICAgICA4ODc0LFxyXG4gICAgICA4ODc3LFxyXG4gICAgICA4ODc4LFxyXG4gICAgICA4ODc5LFxyXG4gICAgICA4ODgwLFxyXG4gICAgICA4ODgxLFxyXG4gICAgICA5MDE0LFxyXG4gICAgICA5NDMyLFxyXG4gICAgXSxcclxuICAgIFJETTogW1xyXG4gICAgICAxMDAyNSxcclxuICAgICAgMTY1MjQsXHJcbiAgICAgIDE2NTI1LFxyXG4gICAgICAxNjUyNixcclxuICAgICAgMTY1MjcsXHJcbiAgICAgIDE2NTI4LFxyXG4gICAgICAxNjUyOSxcclxuICAgICAgMTY1MzAsXHJcbiAgICAgIDE3Nzg2LFxyXG4gICAgICAxNzc4NyxcclxuICAgICAgMTc3ODgsXHJcbiAgICAgIDUwMTk1LFxyXG4gICAgICA1MDIwMCxcclxuICAgICAgNTAyMDEsXHJcbiAgICAgIDUwMjE2LFxyXG4gICAgICA1MDMwMyxcclxuICAgICAgNTAzMDQsXHJcbiAgICAgIDUwMzA1LFxyXG4gICAgICA1MDMwNixcclxuICAgICAgNzUwMyxcclxuICAgICAgNzUwNCxcclxuICAgICAgNzUwNSxcclxuICAgICAgNzUwNixcclxuICAgICAgNzUwNyxcclxuICAgICAgNzUwOSxcclxuICAgICAgNzUxMCxcclxuICAgICAgNzUxMSxcclxuICAgICAgNzUxMixcclxuICAgICAgNzUxMyxcclxuICAgICAgNzUxNCxcclxuICAgICAgNzUxNSxcclxuICAgICAgNzUxNixcclxuICAgICAgNzUxNyxcclxuICAgICAgNzUxOCxcclxuICAgICAgNzUxOSxcclxuICAgICAgNzUyMCxcclxuICAgICAgNzUyMSxcclxuICAgICAgNzUyMyxcclxuICAgICAgNzUyNCxcclxuICAgICAgNzUyNSxcclxuICAgICAgNzUyNixcclxuICAgICAgNzUyNyxcclxuICAgICAgNzUyOCxcclxuICAgICAgNzUyOSxcclxuICAgICAgNzUzMCxcclxuICAgICAgODg4MixcclxuICAgICAgODg4MyxcclxuICAgICAgODg4NCxcclxuICAgICAgODg4NSxcclxuICAgICAgODg4NyxcclxuICAgICAgODg4OCxcclxuICAgICAgODg4OSxcclxuICAgICAgODg5MCxcclxuICAgICAgODg5MSxcclxuICAgICAgODg5MixcclxuICAgICAgOTQzMyxcclxuICAgICAgOTQzNCxcclxuICAgIF0sXHJcbiAgICBCTFU6IFtcclxuICAgICAgMTE3MTUsXHJcbiAgICAgIDExMzgzLFxyXG4gICAgICAxMTM4NCxcclxuICAgICAgMTEzODUsXHJcbiAgICAgIDExMzg2LFxyXG4gICAgICAxMTM4NyxcclxuICAgICAgMTEzODgsXHJcbiAgICAgIDExMzg5LFxyXG4gICAgICAxMTM5MCxcclxuICAgICAgMTEzOTEsXHJcbiAgICAgIDExMzkyLFxyXG4gICAgICAxMTM5MyxcclxuICAgICAgMTEzOTQsXHJcbiAgICAgIDExMzk1LFxyXG4gICAgICAxMTM5NixcclxuICAgICAgMTEzOTcsXHJcbiAgICAgIDExMzk4LFxyXG4gICAgICAxMTM5OSxcclxuICAgICAgMTE0MDAsXHJcbiAgICAgIDExNDAxLFxyXG4gICAgICAxMTQwMixcclxuICAgICAgMTE0MDMsXHJcbiAgICAgIDExNDA0LFxyXG4gICAgICAxMTQwNSxcclxuICAgICAgMTE0MDYsXHJcbiAgICAgIDExNDA3LFxyXG4gICAgICAxMTQwOCxcclxuICAgICAgMTE0MDksXHJcbiAgICAgIDExNDEwLFxyXG4gICAgICAxMTQxMSxcclxuICAgICAgMTE0MTIsXHJcbiAgICAgIDExNDEzLFxyXG4gICAgICAxMTQxNCxcclxuICAgICAgMTE0MTUsXHJcbiAgICAgIDExNDE2LFxyXG4gICAgICAxMTQxNyxcclxuICAgICAgMTE0MTgsXHJcbiAgICAgIDExNDE5LFxyXG4gICAgICAxMTQyMCxcclxuICAgICAgMTE0MjEsXHJcbiAgICAgIDExNDIyLFxyXG4gICAgICAxMTQyMyxcclxuICAgICAgMTE0MjQsXHJcbiAgICAgIDExNDI1LFxyXG4gICAgICAxMTQyNixcclxuICAgICAgMTE0MjcsXHJcbiAgICAgIDExNDI4LFxyXG4gICAgICAxMTQyOSxcclxuICAgICAgMTE0MzAsXHJcbiAgICAgIDExNDMxLFxyXG4gICAgICA1MDIxOSxcclxuICAgICAgNTAyMjAsXHJcbiAgICAgIDUwMjIxLFxyXG4gICAgICA1MDIyMixcclxuICAgICAgNTAyMjMsXHJcbiAgICAgIDUwMjI0LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcbiIsImltcG9ydCB7IFBsdWdpbkNvbWJhdGFudFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmF0YW50U3RhdGUge1xyXG4gIHBvc1g6IG51bWJlcjtcclxuICBwb3NZOiBudW1iZXI7XHJcbiAgcG9zWjogbnVtYmVyO1xyXG4gIGhlYWRpbmc6IG51bWJlcjtcclxuICB0YXJnZXRhYmxlOiBib29sZWFuO1xyXG4gIGhwOiBudW1iZXI7XHJcbiAgbWF4SHA6IG51bWJlcjtcclxuICBtcDogbnVtYmVyO1xyXG4gIG1heE1wOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcG9zWDogbnVtYmVyLFxyXG4gICAgcG9zWTogbnVtYmVyLFxyXG4gICAgcG9zWjogbnVtYmVyLFxyXG4gICAgaGVhZGluZzogbnVtYmVyLFxyXG4gICAgdGFyZ2V0YWJsZTogYm9vbGVhbixcclxuICAgIGhwOiBudW1iZXIsXHJcbiAgICBtYXhIcDogbnVtYmVyLFxyXG4gICAgbXA6IG51bWJlcixcclxuICAgIG1heE1wOiBudW1iZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBvc1ggPSBwb3NYO1xyXG4gICAgdGhpcy5wb3NZID0gcG9zWTtcclxuICAgIHRoaXMucG9zWiA9IHBvc1o7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBoZWFkaW5nO1xyXG4gICAgdGhpcy50YXJnZXRhYmxlID0gdGFyZ2V0YWJsZTtcclxuICAgIHRoaXMuaHAgPSBocDtcclxuICAgIHRoaXMubWF4SHAgPSBtYXhIcDtcclxuICAgIHRoaXMubXAgPSBtcDtcclxuICAgIHRoaXMubWF4TXAgPSBtYXhNcDtcclxuICB9XHJcblxyXG4gIHBhcnRpYWxDbG9uZShwcm9wczogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4pOiBDb21iYXRhbnRTdGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IENvbWJhdGFudFN0YXRlKFxyXG4gICAgICBwcm9wcy5wb3NYID8/IHRoaXMucG9zWCxcclxuICAgICAgcHJvcHMucG9zWSA/PyB0aGlzLnBvc1ksXHJcbiAgICAgIHByb3BzLnBvc1ogPz8gdGhpcy5wb3NaLFxyXG4gICAgICBwcm9wcy5oZWFkaW5nID8/IHRoaXMuaGVhZGluZyxcclxuICAgICAgcHJvcHMudGFyZ2V0YWJsZSA/PyB0aGlzLnRhcmdldGFibGUsXHJcbiAgICAgIHByb3BzLmhwID8/IHRoaXMuaHAsXHJcbiAgICAgIHByb3BzLm1heEhwID8/IHRoaXMubWF4SHAsXHJcbiAgICAgIHByb3BzLm1wID8/IHRoaXMubXAsXHJcbiAgICAgIHByb3BzLm1heE1wID8/IHRoaXMubWF4TXAsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdG9QbHVnaW5TdGF0ZSgpOiBQbHVnaW5Db21iYXRhbnRTdGF0ZSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBQb3NYOiB0aGlzLnBvc1gsXHJcbiAgICAgIFBvc1k6IHRoaXMucG9zWSxcclxuICAgICAgUG9zWjogdGhpcy5wb3NaLFxyXG4gICAgICBIZWFkaW5nOiB0aGlzLmhlYWRpbmcsXHJcbiAgICAgIEN1cnJlbnRIUDogdGhpcy5ocCxcclxuICAgICAgTWF4SFA6IHRoaXMubWF4SHAsXHJcbiAgICAgIEN1cnJlbnRNUDogdGhpcy5tcCxcclxuICAgICAgTWF4TVA6IHRoaXMubWF4TXAsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBDYWN0Ym90QmFzZVJlZ0V4cCB9IGZyb20gJy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbmltcG9ydCB7IExhbmcgfSBmcm9tICcuL2xhbmd1YWdlcyc7XHJcbmltcG9ydCBOZXRSZWdleGVzIGZyb20gJy4vbmV0cmVnZXhlcyc7XHJcbmltcG9ydCBSZWdleGVzIGZyb20gJy4vcmVnZXhlcyc7XHJcblxyXG4vLyBGaWxsIGluIExvY2FsZVJlZ2V4IHNvIHRoYXQgdGhpbmdzIGxpa2UgTG9jYWxlUmVnZXguY291bnRkb3duU3RhcnQuZGUgaXMgYSB2YWxpZCByZWdleC5cclxuY29uc3QgbG9jYWxlTGluZXMgPSB7XHJcbiAgY291bnRkb3duU3RhcnQ6IHtcclxuICAgIGVuOiAnQmF0dGxlIGNvbW1lbmNpbmcgaW4gKD88dGltZT5cXFxceXtGbG9hdH0pIHNlY29uZHMhIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuIGJpcyBLYW1wZmJlZ2lubiEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICAgIGZyOiAnRMOpYnV0IGR1IGNvbWJhdCBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT8hIFxcXFwoKD88cGxheWVyPi4qPylcXFxcKScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni+OBvuOBpyg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBjbjogJ+i3neemu+aImOaWl+W8gOWni+i/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9Keenku+8gSDvvIgoPzxwbGF5ZXI+Lio/Ke+8iScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEgKD88dGltZT5cXFxceXtGbG9hdH0p7LSIIOyghCEgXFxcXCgoPzxwbGF5ZXI+Lio/KVxcXFwpJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkVuZ2FnZToge1xyXG4gICAgZW46ICdFbmdhZ2UhJyxcclxuICAgIGRlOiAnU3RhcnQhJyxcclxuICAgIGZyOiAnw4AgbFxcJ2F0dGFxdWVbIF0/IScsXHJcbiAgICBqYTogJ+aIpumXmOmWi+Wni++8gScsXHJcbiAgICBjbjogJ+aImOaWl+W8gOWni++8gScsXHJcbiAgICBrbzogJ+yghO2IrCDsi5zsnpEhJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bkNhbmNlbDoge1xyXG4gICAgZW46ICdDb3VudGRvd24gY2FuY2VsZWQgYnkgKD88cGxheWVyPlxcXFx5e05hbWV9KScsXHJcbiAgICBkZTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkgaGF0IGRlbiBDb3VudGRvd24gYWJnZWJyb2NoZW4nLFxyXG4gICAgZnI6ICdMZSBjb21wdGUgw6AgcmVib3VycyBhIMOpdMOpIGludGVycm9tcHUgcGFyICg/PHBsYXllcj5cXFxceXtOYW1lfSlbIF0/XFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44Gr44KI44KK44CB5oim6ZeY6ZaL5aeL44Kr44Km44Oz44OI44GM44Kt44Oj44Oz44K744Or44GV44KM44G+44GX44Gf44CCJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeWPlua2iOS6huaImOaWl+W8gOWni+WAkuiuoeaXtuOAgicsXHJcbiAgICBrbzogJyg/PHBsYXllcj5cXFxceXtOYW1lfSkg64uY7J20IOy0iOydveq4sOulvCDst6jshoztlojsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICBhcmVhU2VhbDoge1xyXG4gICAgZW46ICcoPzxhcmVhPi4qPykgd2lsbCBiZSBzZWFsZWQgb2ZmIGluICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRzIScsXHJcbiAgICBkZTogJ05vY2ggKD88dGltZT5cXFxceXtGbG9hdH0pIFNla3VuZGVuLCBiaXMgc2ljaCAoPzxhcmVhPi4qPykgc2NobGllw590JyxcclxuICAgIGZyOiAnRmVybWV0dXJlICg/PGFyZWE+Lio/KSBkYW5zICg/PHRpbWU+XFxcXHl7RmxvYXR9KSBzZWNvbmRlc1sgXT9cXFxcLicsXHJcbiAgICBqYTogJyg/PGFyZWE+Lio/KeOBruWwgemOluOBvuOBp+OBguOBqCg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBjbjogJ+i3nSg/PGFyZWE+Lio/Keiiq+WwgemUgei/mOaciSg/PHRpbWU+XFxcXHl7RmxvYXR9KeenkicsXHJcbiAgICBrbzogJyg/PHRpbWU+XFxcXHl7RmxvYXR9Key0iCDtm4Tsl5AgKD88YXJlYT4uKj8pKOydtHzqsIApIOu0ieyHhOuQqeuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIGFyZWFVbnNlYWw6IHtcclxuICAgIGVuOiAnKD88YXJlYT4uKj8pIGlzIG5vIGxvbmdlciBzZWFsZWQuJyxcclxuICAgIGRlOiAnKD88YXJlYT4uKj8pIMO2ZmZuZXQgc2ljaCBlcm5ldXQuJyxcclxuICAgIGZyOiAnT3V2ZXJ0dXJlICg/PGFyZWE+Lio/KVsgXT8hJyxcclxuICAgIGphOiAnKD88YXJlYT4uKj8p44Gu5bCB6Y6W44GM6Kej44GL44KM44Gf4oCm4oCmJyxcclxuICAgIGNuOiAnKD88YXJlYT4uKj8p55qE5bCB6ZSB6Kej6Zmk5LqGJyxcclxuICAgIGtvOiAnKD88YXJlYT4uKj8p7J2YIOu0ieyHhOqwgCDtlbTsoJzrkJjsl4jsirXri4jri6RcXFxcLicsXHJcbiAgfSxcclxuICAvLyBSZWNpcGUgbmFtZSBhbHdheXMgc3RhcnQgd2l0aCBcXHVlMGJiXHJcbiAgLy8gSFEgaWNvbiBpcyBcXHVlMDNjXHJcbiAgY3JhZnRpbmdTdGFydDoge1xyXG4gICAgZW46ICdZb3UgYmVnaW4gc3ludGhlc2l6aW5nICg/PGNvdW50Pihhbj98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGJlZ29ubmVuLCBkdXJjaCBTeW50aGVzZSAoPzxjb3VudD4oZWluKGV8ZXN8ZW18ZXIpP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikgaGVyenVzdGVsbGVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiDDoCBmYWJyaXF1ZXIgKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopXFxcXC4nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKikow5coPzxjb3VudD5cXFxcZCspKT/jga7oo73kvZzjgpLplovlp4vjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5byA5aeL5Yi25L2c4oCcXFx1ZTBiYig/PHJlY2lwZT4uKinigJ0ow5coPzxjb3VudD5cXFxcZCspKT/jgIInLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSjDlyg/PGNvdW50PlxcXFxkKynqsJwpPyDsoJzsnpHsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgdHJpYWxDcmFmdGluZ1N0YXJ0OiB7XHJcbiAgICBlbjogJ1lvdSBiZWdpbiB0cmlhbCBzeW50aGVzaXMgb2YgXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBkZTogJ0R1IGhhc3QgbWl0IGRlciBUZXN0c3ludGhlc2Ugdm9uIFxcdWUwYmIoPzxyZWNpcGU+LiopIGJlZ29ubmVuXFxcXC4nLFxyXG4gICAgZnI6ICdWb3VzIGNvbW1lbmNleiB1bmUgc3ludGjDqHNlIGRcXCdlc3NhaSBwb3VyIHVuZT8gXFx1ZTBiYig/PHJlY2lwZT4uKilcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga9cXHVlMGJiKD88cmVjaXBlPi4qKeOBruijveS9nOe3tOe/kuOCkumWi+Wni+OBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlvIDlp4vnu4PkuaDliLbkvZxcXHVlMGJiKD88cmVjaXBlPi4qKeOAgicsXHJcbiAgICBrbzogJ1xcdWUwYmIoPzxyZWNpcGU+LiopIOygnOyekSDsl7DsirXsnYQg7Iuc7J6R7ZWp64uI64ukXFxcXC4nLFxyXG4gIH0sXHJcbiAgY3JhZnRpbmdGaW5pc2g6IHtcclxuICAgIGVuOiAnWW91IHN5bnRoZXNpemUgKD88Y291bnQ+KGFuP3xcXFxcZCspICk/XFx1ZTBiYig/PHJlY2lwZT4uKikoXFx1ZTAzYyk/XFxcXC4nLFxyXG4gICAgZGU6XHJcbiAgICAgICdEdSBoYXN0IGVyZm9sZ3JlaWNoICg/PGNvdW50PihlaW4oZXxlc3xlbXxlcik/fFxcXFxkKykgKT8oPzxyZWNpcGU+LiopKFxcdWUwM2MpPyBoZXJnZXN0ZWxsdFxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBmYWJyaXF1ZXogKD88Y291bnQ+KHVuZT98XFxcXGQrKSApP1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpP1xcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+LiopKFxcdWUwM2MpPyjDlyg/PGNvdW50PlxcXFxkKykpP+OCkuWujOaIkOOBleOBm+OBn++8gScsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnliLbkvZzigJxcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT/igJ0ow5coPzxjb3VudD5cXFxcZCspKT/miJDlip/vvIEnLFxyXG4gICAga286ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0pIOuLmOydtCBcXHVlMGJiKD88cmVjaXBlPi4qKShcXHVlMDNjKT8ow5coPzxjb3VudD5cXFxcZCsp6rCcKT8o7J2EfOulvCkg7JmE7ISx7ZaI7Iq164uI64ukIScsXHJcbiAgfSxcclxuICB0cmlhbENyYWZ0aW5nRmluaXNoOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIHByb3ZlZCBhIHN1Y2Nlc3MhJyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgd2FyIGVyZm9sZ3JlaWNoIScsXHJcbiAgICBmcjogJ1ZvdHJlIHN5bnRow6hzZSBkXFwnZXNzYWkgcG91ciBmYWJyaXF1ZXIgXFx1ZTBiYig/PHJlY2lwZT4uKikgYSDDqXTDqSBjb3Vyb25uw6llIGRlIHN1Y2PDqHMhJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr1xcdWUwYmIoPzxyZWNpcGU+Liop44Gu6KO95L2c57e057+S44Gr5oiQ5Yqf44GX44Gf77yBJyxcclxuICAgIGNuOiAnKD88cGxheWVyPlxcXFx5e05hbWV9Kee7g+S5oOWItuS9nFxcdWUwYmIoPzxyZWNpcGU+Liop5oiQ5Yqf5LqG77yBJyxcclxuICAgIGtvOiAnXFx1ZTBiYig/PHJlY2lwZT4uKikg7KCc7J6RIOyXsOyKteyXkCDshLHqs7XtlojsirXri4jri6QhJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nRmFpbDoge1xyXG4gICAgZW46ICdZb3VyIHN5bnRoZXNpcyBmYWlscyEnLFxyXG4gICAgZGU6ICdEZWluZSBTeW50aGVzZSBpc3QgZmVobGdlc2NobGFnZW4hJyxcclxuICAgIGZyOiAnTGEgc3ludGjDqHNlIMOpY2hvdWVcXFxcLnszfScsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Yi25L2c5aSx6LSl5LqG4oCm4oCmJyxcclxuICAgIGtvOiAn7KCc7J6R7JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdGYWlsOiB7XHJcbiAgICBlbjogJ1lvdXIgdHJpYWwgc3ludGhlc2lzIG9mIFxcdWUwYmIoPzxyZWNpcGU+LiopIGZhaWxlZFxcXFwuezN9JyxcclxuICAgIGRlOiAnRGllIFRlc3RzeW50aGVzZSB2b24gXFx1ZTBiYig/PHJlY2lwZT4uKikgaXN0IGZlaGxnZXNjaGxhZ2VuXFxcXC57M30nLFxyXG4gICAgZnI6XHJcbiAgICAgICdWb3RyZSBzeW50aMOoc2UgZFxcJ2Vzc2FpIHBvdXIgZmFicmlxdWVyIFxcdWUwYmIoPzxyZWNpcGU+LiopIHNcXCdlc3Qgc29sZMOpZSBwYXIgdW4gw6ljaGVjXFxcXC57M30nLFxyXG4gICAgamE6ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p44GvXFx1ZTBiYig/PHJlY2lwZT4uKinjga7oo73kvZznt7Tnv5LjgavlpLHmlZfjgZfjgZ/igKbigKYnLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p57uD5Lmg5Yi25L2cXFx1ZTBiYig/PHJlY2lwZT4uKinlpLHotKXkuobigKbigKYnLFxyXG4gICAga286ICdcXHVlMGJiKD88cmVjaXBlPi4qKSDsoJzsnpEg7Jew7Iq17JeQIOyLpO2MqO2WiOyKteuLiOuLpOKApuKAplxcXFwuJyxcclxuICB9LFxyXG4gIGNyYWZ0aW5nQ2FuY2VsOiB7XHJcbiAgICBlbjogJ1lvdSBjYW5jZWwgdGhlIHN5bnRoZXNpc1xcXFwuJyxcclxuICAgIGRlOiAnRHUgaGFzdCBkaWUgU3ludGhlc2UgYWJnZWJyb2NoZW5cXFxcLicsXHJcbiAgICBmcjogJ0xhIHN5bnRow6hzZSBlc3QgYW5udWzDqWVcXFxcLicsXHJcbiAgICBqYTogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnjga/oo73kvZzjgpLkuK3mraLjgZfjgZ/jgIInLFxyXG4gICAgY246ICcoPzxwbGF5ZXI+XFxcXHl7TmFtZX0p5Lit5q2i5LqG5Yi25L2c5L2c5Lia44CCJyxcclxuICAgIGtvOiAn7KCc7J6R7J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG4gIHRyaWFsQ3JhZnRpbmdDYW5jZWw6IHtcclxuICAgIGVuOiAnWW91IGFiYW5kb25lZCB0cmlhbCBzeW50aGVzaXNcXFxcLicsXHJcbiAgICBkZTogJ1Rlc3RzeW50aGVzZSBhYmdlYnJvY2hlblxcXFwuJyxcclxuICAgIGZyOiAnVm91cyBhdmV6IGludGVycm9tcHUgbGEgc3ludGjDqHNlIGRcXCdlc3NhaVxcXFwuJyxcclxuICAgIGphOiAnKD88cGxheWVyPlxcXFx5e05hbWV9KeOBr+ijveS9nOe3tOe/kuOCkuS4reatouOBl+OBn+OAgicsXHJcbiAgICBjbjogJyg/PHBsYXllcj5cXFxceXtOYW1lfSnlgZzmraLkuobnu4PkuaDjgIInLFxyXG4gICAga286ICfsoJzsnpEg7Jew7Iq17J2EIOykkeyngO2WiOyKteuLiOuLpFxcXFwuJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxudHlwZSBMb2NhbGVMaW5lID0geyBlbjogc3RyaW5nIH0gJiBQYXJ0aWFsPFJlY29yZDxFeGNsdWRlPExhbmcsICdlbic+LCBzdHJpbmc+PjtcclxuXHJcbnR5cGUgTG9jYWxlUmVnZXhlc09iaiA9IFJlY29yZDxrZXlvZiB0eXBlb2YgbG9jYWxlTGluZXMsIFJlY29yZDxMYW5nLCBSZWdFeHA+PjtcclxuXHJcbmNsYXNzIFJlZ2V4U2V0IHtcclxuICByZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuICBuZXRSZWdleGVzPzogTG9jYWxlUmVnZXhlc09iajtcclxuXHJcbiAgZ2V0IGxvY2FsZVJlZ2V4KCk6IExvY2FsZVJlZ2V4ZXNPYmoge1xyXG4gICAgaWYgKHRoaXMucmVnZXhlcylcclxuICAgICAgcmV0dXJuIHRoaXMucmVnZXhlcztcclxuICAgIHRoaXMucmVnZXhlcyA9IHRoaXMuYnVpbGRMb2NhbGVSZWdleGVzKFxyXG4gICAgICBsb2NhbGVMaW5lcyxcclxuICAgICAgKHM6IHN0cmluZykgPT4gUmVnZXhlcy5nYW1lTG9nKHsgbGluZTogcyArICcuKj8nIH0pLFxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLnJlZ2V4ZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9jYWxlTmV0UmVnZXgoKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICBpZiAodGhpcy5uZXRSZWdleGVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5uZXRSZWdleGVzO1xyXG4gICAgdGhpcy5uZXRSZWdleGVzID0gdGhpcy5idWlsZExvY2FsZVJlZ2V4ZXMoXHJcbiAgICAgIGxvY2FsZUxpbmVzLFxyXG4gICAgICAoczogc3RyaW5nKSA9PiBOZXRSZWdleGVzLmdhbWVMb2coeyBsaW5lOiBzICsgJ1tefF0qPycgfSksXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMubmV0UmVnZXhlcztcclxuICB9XHJcblxyXG4gIGJ1aWxkTG9jYWxlUmVnZXhlcyhcclxuICAgIGxvY2FsZXM6IHR5cGVvZiBsb2NhbGVMaW5lcyxcclxuICAgIGJ1aWxkZXI6IChzOiBzdHJpbmcpID0+IENhY3Rib3RCYXNlUmVnRXhwPCdHYW1lTG9nJz4gfCBSZWdFeHAsXHJcbiAgKTogTG9jYWxlUmVnZXhlc09iaiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICBPYmplY3RcclxuICAgICAgICAuZW50cmllcyhsb2NhbGVzKVxyXG4gICAgICAgIC5tYXAoKFtrZXksIGxpbmVzXSkgPT4gW2tleSwgdGhpcy5idWlsZExvY2FsZVJlZ2V4KGxpbmVzLCBidWlsZGVyKV0pLFxyXG4gICAgKSBhcyBMb2NhbGVSZWdleGVzT2JqO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRMb2NhbGVSZWdleChcclxuICAgIGxpbmVzOiBMb2NhbGVMaW5lLFxyXG4gICAgYnVpbGRlcjogKHM6IHN0cmluZykgPT4gQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cCxcclxuICApOiBSZWNvcmQ8TGFuZywgQ2FjdGJvdEJhc2VSZWdFeHA8J0dhbWVMb2cnPiB8IFJlZ0V4cD4ge1xyXG4gICAgY29uc3QgcmVnZXhFbiA9IGJ1aWxkZXIobGluZXMuZW4pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZW46IHJlZ2V4RW4sXHJcbiAgICAgIGRlOiBsaW5lcy5kZSA/IGJ1aWxkZXIobGluZXMuZGUpIDogcmVnZXhFbixcclxuICAgICAgZnI6IGxpbmVzLmZyID8gYnVpbGRlcihsaW5lcy5mcikgOiByZWdleEVuLFxyXG4gICAgICBqYTogbGluZXMuamEgPyBidWlsZGVyKGxpbmVzLmphKSA6IHJlZ2V4RW4sXHJcbiAgICAgIGNuOiBsaW5lcy5jbiA/IGJ1aWxkZXIobGluZXMuY24pIDogcmVnZXhFbixcclxuICAgICAga286IGxpbmVzLmtvID8gYnVpbGRlcihsaW5lcy5rbykgOiByZWdleEVuLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IHJlZ2V4U2V0ID0gbmV3IFJlZ2V4U2V0KCk7XHJcblxyXG5leHBvcnQgY29uc3QgTG9jYWxlUmVnZXggPSByZWdleFNldC5sb2NhbGVSZWdleDtcclxuZXhwb3J0IGNvbnN0IExvY2FsZU5ldFJlZ2V4ID0gcmVnZXhTZXQubG9jYWxlTmV0UmVnZXg7XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IE5ldFJlZ2V4ZXMgZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMnO1xyXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBMb2NhbGVOZXRSZWdleCB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy90cmFuc2xhdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENhY3Rib3RCYXNlUmVnRXhwLFxyXG4gIENhY3Rib3RSZWdFeHBFeGVjQXJyYXksXHJcbiAgVHJpZ2dlclR5cGVzLFxyXG59IGZyb20gJy4uLy4uLy4uL3R5cGVzL25ldF90cmlnZ2VyJztcclxuXHJcbi8vIERpc2FibGUgbm8tZXhwbGljaXQtYW55IGZvciBjbG9uZURhdGEgYXMgaXQgbmVlZHMgdG8gd29yayBvbiByYXcgb2JqZWN0cyBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuZXhwb3J0IHR5cGUgRGF0YVR5cGUgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbDtcclxuXHJcbmV4cG9ydCB0eXBlIE1hdGNoU3RhcnRJbmZvID0ge1xyXG4gIFN0YXJ0SW46IHN0cmluZztcclxuICBTdGFydFR5cGU6IHN0cmluZztcclxuICBsYW5ndWFnZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1hdGNoRW5kSW5mbyA9IHtcclxuICBFbmRUeXBlOiBzdHJpbmc7XHJcbiAgbGFuZ3VhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcXVlcnlTZWxlY3RvclNhZmUgPSAobm9kZTogUGFyZW50Tm9kZSwgc2VsOiBzdHJpbmcpOiBIVE1MRWxlbWVudCA9PiB7XHJcbiAgY29uc3QgcmV0ID0gbm9kZS5xdWVyeVNlbGVjdG9yKHNlbCk7XHJcbiAgaWYgKCEocmV0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIHJldHVybiByZXQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcXVlcnlTZWxlY3RvckFsbFNhZmUgPSAobm9kZTogUGFyZW50Tm9kZSwgc2VsOiBzdHJpbmcpOiBIVE1MRWxlbWVudFtdID0+IHtcclxuICBjb25zdCByZXQgPSBbLi4ubm9kZS5xdWVyeVNlbGVjdG9yQWxsKHNlbCldLm1hcCgoZWxlbSkgPT4ge1xyXG4gICAgaWYgKCEoZWxlbSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgcmV0dXJuIGVsZW07XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJldDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRUZW1wbGF0ZUNoaWxkID0gKG5vZGU6IFBhcmVudE5vZGUsIHNlbDogc3RyaW5nKTogSFRNTEVsZW1lbnQgPT4ge1xyXG4gIGNvbnN0IHRlbXBsYXRlID0gcXVlcnlTZWxlY3RvclNhZmUobm9kZSwgc2VsKTtcclxuICBpZiAoISh0ZW1wbGF0ZSBpbnN0YW5jZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQpKVxyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIGNvbnN0IHJldCA9IHRlbXBsYXRlLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XHJcbiAgaWYgKCFyZXQpXHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgaWYgKCEocmV0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIHJldHVybiByZXQ7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY2xvbmVTYWZlID0gKG5vZGU6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgPT4ge1xyXG4gIGNvbnN0IGNsb25lZCA9IG5vZGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gIGlmICghKGNsb25lZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICByZXR1cm4gY2xvbmVkO1xyXG59O1xyXG5cclxuLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgdG8gcHJldmVudCByZS1jYWxjdWxhdGluZyB0aGlzIGV2ZXJ5IHNpbmdsZSBsaW5lLFxyXG4vLyBzdG9yZSBhbHJlYWR5IGNhbGN1bGF0ZWQgdmFsdWVzXHJcbmNvbnN0IHR6T2Zmc2V0TWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0VGltZXpvbmVPZmZzZXRNaWxsaXMgPSAodGltZVN0cmluZzogc3RyaW5nKTogbnVtYmVyID0+IHtcclxuICBjb25zdCB0aW1lem9uZU9mZnNldFN0cmluZyA9IHRpbWVTdHJpbmcuc3Vic3RyKC02KTtcclxuICBjb25zdCBtYXBwZWRWYWx1ZSA9IHR6T2Zmc2V0TWFwW3RpbWV6b25lT2Zmc2V0U3RyaW5nXTtcclxuICBpZiAobWFwcGVkVmFsdWUpXHJcbiAgICByZXR1cm4gbWFwcGVkVmFsdWU7XHJcbiAgY29uc3QgZGVmYXVsdE9mZnNldCA9IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDEwMDA7XHJcbiAgaWYgKHRpbWV6b25lT2Zmc2V0U3RyaW5nID09PSB1bmRlZmluZWQpXHJcbiAgICByZXR1cm4gZGVmYXVsdE9mZnNldDtcclxuICBjb25zdCBvcGVyYXRvciA9IHRpbWV6b25lT2Zmc2V0U3RyaW5nLnN1YnN0cigwLCAxKTtcclxuICBpZiAob3BlcmF0b3IgIT09ICcrJyAmJiBvcGVyYXRvciAhPT0gJy0nKVxyXG4gICAgcmV0dXJuIGRlZmF1bHRPZmZzZXQ7XHJcbiAgY29uc3QgdGltZXpvbmVPZmZzZXRQYXJ0cyA9IHRpbWV6b25lT2Zmc2V0U3RyaW5nLnN1YnN0cigxKS5zcGxpdCgnOicpO1xyXG4gIGNvbnN0IGhvdXJzU3RyaW5nID0gdGltZXpvbmVPZmZzZXRQYXJ0c1swXTtcclxuICBjb25zdCBtaW51dGVzU3RyaW5nID0gdGltZXpvbmVPZmZzZXRQYXJ0c1sxXTtcclxuICBpZiAoaG91cnNTdHJpbmcgPT09IHVuZGVmaW5lZCB8fCBtaW51dGVzU3RyaW5nID09PSB1bmRlZmluZWQpXHJcbiAgICByZXR1cm4gZGVmYXVsdE9mZnNldDtcclxuICBjb25zdCBob3VycyA9IHBhcnNlSW50KGhvdXJzU3RyaW5nKTtcclxuICBjb25zdCBtaW51dGVzID0gcGFyc2VJbnQobWludXRlc1N0cmluZyk7XHJcbiAgY29uc3QgdHpPZmZzZXQgPSAoKChob3VycyAqIDYwKSArIG1pbnV0ZXMpICogNjAgKiAxMDAwKSAqIChvcGVyYXRvciA9PT0gJy0nID8gLTEgOiAxKTtcclxuICB0ek9mZnNldE1hcFt0aW1lem9uZU9mZnNldFN0cmluZ10gPSB0ek9mZnNldDtcclxuICByZXR1cm4gdHpPZmZzZXQ7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbXVsYXRvckNvbW1vbiB7XHJcbiAgc3RhdGljIGNsb25lRGF0YShkYXRhOiBEYXRhVHlwZSwgZXhjbHVkZSA9IFsnb3B0aW9ucycsICdwYXJ0eSddKTogRGF0YVR5cGUge1xyXG4gICAgY29uc3QgcmV0OiBEYXRhVHlwZSA9IHt9O1xyXG5cclxuICAgIC8vIFVzZSBleHRyYSBsb2dpYyBmb3IgdG9wLWxldmVsIGV4dGVuZCBmb3IgcHJvcGVydHkgZXhjbHVzaW9uXHJcbiAgICAvLyBUaGlzIGN1dCB0aGUgZXhlY3V0aW9uIHRpbWUgb2YgdGhpcyBjb2RlIGZyb20gNDEsMDAwbXMgdG8gNTBtcyB3aGVuIHBhcnNpbmcgYSAxMiBtaW51dGUgcHVsbFxyXG4gICAgZm9yIChjb25zdCBpIGluIGRhdGEpIHtcclxuICAgICAgaWYgKGV4Y2x1ZGUuaW5jbHVkZXMoaSkpXHJcbiAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICBpZiAodHlwZW9mIGRhdGFbaV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgLy8gQ2xvbmluZyBhbnkuIFNlZSBEYXRhVHlwZSBkZWZpbml0aW9uIGFib3ZlIGZvciByZWFzb25pbmcuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcclxuICAgICAgICByZXRbaV0gPSBFbXVsYXRvckNvbW1vbi5fY2xvbmVEYXRhKGRhdGFbaV0pO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBc3NpZ25tZW50IG9mIGFueSB0byBhbnkuIFNlZSBEYXRhVHlwZSBkZWZpbml0aW9uIGFib3ZlIGZvciByZWFzb25pbmcuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcclxuICAgICAgcmV0W2ldID0gZGF0YVtpXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgX2Nsb25lRGF0YShkYXRhOiBEYXRhVHlwZSk6IERhdGFUeXBlIHtcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICBjb25zdCByZXQgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyArK2kpIHtcclxuICAgICAgICAgIC8vIENsb25pbmcgYW55LiBTZWUgRGF0YVR5cGUgZGVmaW5pdGlvbiBhYm92ZSBmb3IgcmVhc29uaW5nLlxyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcclxuICAgICAgICAgIHJldFtpXSA9IEVtdWxhdG9yQ29tbW9uLl9jbG9uZURhdGEoZGF0YVtpXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0YSA9PT0gbnVsbClcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgIGlmIChkYXRhIGluc3RhbmNlb2YgUmVnRXhwKVxyXG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKGRhdGEpO1xyXG5cclxuICAgICAgY29uc3QgcmV0OiBEYXRhVHlwZSA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IGkgaW4gZGF0YSkge1xyXG4gICAgICAgIC8vIENsb25pbmcgYW55LiBTZWUgRGF0YVR5cGUgZGVmaW5pdGlvbiBhYm92ZSBmb3IgcmVhc29uaW5nLlxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50XHJcbiAgICAgICAgcmV0W2ldID0gRW11bGF0b3JDb21tb24uX2Nsb25lRGF0YShkYXRhW2ldKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRpbWVUb1N0cmluZyh0aW1lOiBudW1iZXIsIGluY2x1ZGVNaWxsaXMgPSB0cnVlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG5lZ2F0aXZlID0gdGltZSA8IDAgPyAnLScgOiAnJztcclxuICAgIHRpbWUgPSBNYXRoLmFicyh0aW1lKTtcclxuICAgIGNvbnN0IG1pbGxpc051bSA9IHRpbWUgJSAxMDAwO1xyXG4gICAgY29uc3Qgc2Vjc051bSA9ICgodGltZSAlICg2MCAqIDEwMDApKSAtIG1pbGxpc051bSkgLyAxMDAwO1xyXG4gICAgLy8gTWlsbGlzZWNvbmRzXHJcbiAgICBjb25zdCBtaWxsaXMgPSBgMDAke21pbGxpc051bX1gLnN1YnN0cigtMyk7XHJcbiAgICBjb25zdCBzZWNzID0gYDAke3NlY3NOdW19YC5zdWJzdHIoLTIpO1xyXG4gICAgY29uc3QgbWlucyA9IGAwJHsoKCgodGltZSAlICg2MCAqIDYwICogMTAwMCkpIC0gbWlsbGlzTnVtKSAvIDEwMDApIC0gc2Vjc051bSkgLyA2MH1gLnN1YnN0cigtMik7XHJcbiAgICByZXR1cm4gbmVnYXRpdmUgKyBtaW5zICsgJzonICsgc2VjcyArIChpbmNsdWRlTWlsbGlzID8gJy4nICsgbWlsbGlzIDogJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRpbWVUb0RhdGVTdHJpbmcodGltZTogbnVtYmVyLCB0ek9mZnNldE1pbGxpczogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVPYmplY3RUb0RhdGVTdHJpbmcobmV3IERhdGUodGltZSksIHR6T2Zmc2V0TWlsbGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlT2JqZWN0VG9EYXRlU3RyaW5nKGRhdGU6IERhdGUsIHR6T2Zmc2V0TWlsbGlzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgY29udkRhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSArIHR6T2Zmc2V0TWlsbGlzKTtcclxuICAgIGNvbnN0IHllYXIgPSBjb252RGF0ZS5nZXRVVENGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKChjb252RGF0ZS5nZXRVVENNb250aCgpICsgMSkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBkYXkgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKGNvbnZEYXRlLmdldFVUQ0RhdGUoKS50b1N0cmluZygpKTtcclxuICAgIHJldHVybiBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRpbWVUb1RpbWVTdHJpbmcodGltZTogbnVtYmVyLCB0ek9mZnNldE1pbGxpczogbnVtYmVyLCBpbmNsdWRlTWlsbGlzID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZU9iamVjdFRvVGltZVN0cmluZyhuZXcgRGF0ZSh0aW1lKSwgdHpPZmZzZXRNaWxsaXMsIGluY2x1ZGVNaWxsaXMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVPYmplY3RUb1RpbWVTdHJpbmcoZGF0ZTogRGF0ZSwgdHpPZmZzZXRNaWxsaXM6IG51bWJlciwgaW5jbHVkZU1pbGxpcyA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNvbnZEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgKyB0ek9mZnNldE1pbGxpcyk7XHJcbiAgICBjb25zdCBob3VyID0gRW11bGF0b3JDb21tb24uemVyb1BhZChjb252RGF0ZS5nZXRVVENIb3VycygpLnRvU3RyaW5nKCkpO1xyXG4gICAgY29uc3QgbWludXRlID0gRW11bGF0b3JDb21tb24uemVyb1BhZChjb252RGF0ZS5nZXRVVENNaW51dGVzKCkudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBzZWNvbmQgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKGNvbnZEYXRlLmdldFVUQ1NlY29uZHMoKS50b1N0cmluZygpKTtcclxuICAgIGxldCByZXQgPSBgJHtob3VyfToke21pbnV0ZX06JHtzZWNvbmR9YDtcclxuICAgIGlmIChpbmNsdWRlTWlsbGlzKVxyXG4gICAgICByZXQgPSByZXQgKyBgLiR7RW11bGF0b3JDb21tb24uemVyb1BhZChjb252RGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKS50b1N0cmluZygpLCAzKX1gO1xyXG5cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbXNUb0R1cmF0aW9uKG1zOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdG1wID0gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKG1zLCBmYWxzZSk7XHJcbiAgICByZXR1cm4gdG1wLnJlcGxhY2UoJzonLCAnbScpICsgJ3MnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUaW1lVG9TdHJpbmcodGltZTogbnVtYmVyLCB0ek9mZnNldE1pbGxpczogbnVtYmVyLCBpbmNsdWRlTWlsbGlzID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpO1xyXG4gICAgY29uc3QgZGF0ZVN0cmluZyA9IHRoaXMuZGF0ZU9iamVjdFRvRGF0ZVN0cmluZyhkYXRlLCB0ek9mZnNldE1pbGxpcyk7XHJcbiAgICBjb25zdCB0aW1lU3RyaW5nID0gdGhpcy5kYXRlT2JqZWN0VG9UaW1lU3RyaW5nKGRhdGUsIHR6T2Zmc2V0TWlsbGlzLCBpbmNsdWRlTWlsbGlzKTtcclxuICAgIHJldHVybiBkYXRlU3RyaW5nICsgJyAnICsgdGltZVN0cmluZztcclxuICB9XHJcblxyXG4gIHN0YXRpYyB6ZXJvUGFkKHN0cjogc3RyaW5nLCBsZW4gPSAyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAoJycgKyBzdHIpLnBhZFN0YXJ0KGxlbiwgJzAnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBwcm9wZXJDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFteXFxXX10rW15cXHMtXSopICovZywgKHR4dCkgPT4ge1xyXG4gICAgICByZXR1cm4gdHh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHh0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3BhY2VQYWRMZWZ0KHN0cjogc3RyaW5nLCBsZW46IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3RyLnBhZFN0YXJ0KGxlbiwgJyAnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkb2VzTGluZU1hdGNoPFQgZXh0ZW5kcyBUcmlnZ2VyVHlwZXM+KFxyXG4gICAgbGluZTogc3RyaW5nLFxyXG4gICAgcmVnZXhlczogUmVjb3JkPExhbmcsIFJlZ0V4cD4gfCBSZWdFeHAgfCBDYWN0Ym90QmFzZVJlZ0V4cDxUPixcclxuICApOiBSZWdFeHBFeGVjQXJyYXkgfCBDYWN0Ym90UmVnRXhwRXhlY0FycmF5PFQ+IHwgbnVsbCB7XHJcbiAgICBpZiAocmVnZXhlcyBpbnN0YW5jZW9mIFJlZ0V4cClcclxuICAgICAgcmV0dXJuIHJlZ2V4ZXMuZXhlYyhsaW5lKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGxhbmdTdHIgaW4gcmVnZXhlcykge1xyXG4gICAgICBjb25zdCBsYW5nID0gbGFuZ1N0ciBhcyBrZXlvZiB0eXBlb2YgcmVnZXhlcztcclxuICAgICAgY29uc3QgcmVzID0gcmVnZXhlc1tsYW5nXS5leGVjKGxpbmUpO1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgaWYgKHJlcy5ncm91cHMpXHJcbiAgICAgICAgICByZXMuZ3JvdXBzLmxhbmd1YWdlID0gbGFuZztcclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBtYXRjaFN0YXJ0KGxpbmU6IHN0cmluZyk6IE1hdGNoU3RhcnRJbmZvIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCByZXM7XHJcbiAgICAvLyBDdXJyZW50bHkgYWxsIG9mIHRoZXNlIHJlZ2V4ZXMgaGF2ZSBncm91cHMgaWYgdGhleSBtYXRjaCBhdCBhbGwsXHJcbiAgICAvLyBidXQgYmUgcm9idXN0IHRvIHRoYXQgY2hhbmdpbmcgaW4gdGhlIGZ1dHVyZS5cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24uY291bnRkb3duUmVnZXhlcyk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgU3RhcnRJbjogKHBhcnNlSW50KHJlcy5ncm91cHM/LnRpbWUgPz8gJzAnKSAqIDEwMDApLnRvU3RyaW5nKCksXHJcbiAgICAgICAgU3RhcnRUeXBlOiAnQ291bnRkb3duJyxcclxuICAgICAgICBsYW5ndWFnZTogcmVzLmdyb3Vwcz8ubGFuZ3VhZ2UgPz8gdW5kZWZpbmVkLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmVzID0gRW11bGF0b3JDb21tb24uZG9lc0xpbmVNYXRjaChsaW5lLCBFbXVsYXRvckNvbW1vbi5zZWFsUmVnZXhlcyk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgU3RhcnRJbjogJzAnLFxyXG4gICAgICAgIFN0YXJ0VHlwZTogJ1NlYWwnLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5kb2VzTGluZU1hdGNoKGxpbmUsIEVtdWxhdG9yQ29tbW9uLmVuZ2FnZVJlZ2V4ZXMpO1xyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFN0YXJ0SW46ICcwJyxcclxuICAgICAgICBTdGFydFR5cGU6ICdFbmdhZ2UnLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWF0Y2hFbmQobGluZTogc3RyaW5nKTogTWF0Y2hFbmRJbmZvIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCByZXM7XHJcbiAgICAvLyBDdXJyZW50bHkgYWxsIG9mIHRoZXNlIHJlZ2V4ZXMgaGF2ZSBncm91cHMgaWYgdGhleSBtYXRjaCBhdCBhbGwsXHJcbiAgICAvLyBidXQgYmUgcm9idXN0IHRvIHRoYXQgY2hhbmdpbmcgaW4gdGhlIGZ1dHVyZS5cclxuICAgIHJlcyA9IEVtdWxhdG9yQ29tbW9uLmRvZXNMaW5lTWF0Y2gobGluZSwgRW11bGF0b3JDb21tb24ud2luUmVnZXgpO1xyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIEVuZFR5cGU6ICdXaW4nLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5kb2VzTGluZU1hdGNoKGxpbmUsIEVtdWxhdG9yQ29tbW9uLndpcGVSZWdleCk7XHJcbiAgICBpZiAocmVzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgRW5kVHlwZTogJ1dpcGUnLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5kb2VzTGluZU1hdGNoKGxpbmUsIEVtdWxhdG9yQ29tbW9uLmNhY3Rib3RXaXBlUmVnZXgpO1xyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIEVuZFR5cGU6ICdDYWN0Ym90IFdpcGUnLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5kb2VzTGluZU1hdGNoKGxpbmUsIEVtdWxhdG9yQ29tbW9uLnVuc2VhbFJlZ2V4ZXMpO1xyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIEVuZFR5cGU6ICdVbnNlYWwnLFxyXG4gICAgICAgIGxhbmd1YWdlOiByZXMuZ3JvdXBzPy5sYW5ndWFnZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc2VhbFJlZ2V4ZXMgPSBMb2NhbGVOZXRSZWdleC5hcmVhU2VhbDtcclxuICBzdGF0aWMgZW5nYWdlUmVnZXhlcyA9IExvY2FsZU5ldFJlZ2V4LmNvdW50ZG93bkVuZ2FnZTtcclxuICBzdGF0aWMgY291bnRkb3duUmVnZXhlcyA9IExvY2FsZU5ldFJlZ2V4LmNvdW50ZG93blN0YXJ0O1xyXG4gIHN0YXRpYyB1bnNlYWxSZWdleGVzID0gTG9jYWxlTmV0UmVnZXguYXJlYVVuc2VhbDtcclxuICBzdGF0aWMgd2lwZVJlZ2V4ID0gTmV0UmVnZXhlcy5uZXR3b3JrNmQoeyBjb21tYW5kOiAnNDAwMDAwMTAnIH0pO1xyXG4gIHN0YXRpYyB3aW5SZWdleCA9IE5ldFJlZ2V4ZXMubmV0d29yazZkKHsgY29tbWFuZDogJzQwMDAwMDAzJyB9KTtcclxuICBzdGF0aWMgY2FjdGJvdFdpcGVSZWdleCA9IE5ldFJlZ2V4ZXMuZWNobyh7IGxpbmU6ICdjYWN0Ym90IHdpcGUuKj8nIH0pO1xyXG59XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucywgeyBMb2dEZWZpbml0aW9uTWFwIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uLCB7IGdldFRpbWV6b25lT2Zmc2V0TWlsbGlzIH0gZnJvbSAnLi4vLi4vRW11bGF0b3JDb21tb24nO1xyXG5cclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IHtcclxuICBldmVudDogMCxcclxuICB0aW1lc3RhbXA6IDEsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB1bmtub3duTG9nTWVzc2FnZVByZWZpeCA9ICdVbmtub3duJztcclxuXHJcbmNvbnN0IGxvZ01lc3NhZ2VQcmVmaXg6IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbmNvbnN0IGxvZ0RlZnNHZW5lcmljOiBMb2dEZWZpbml0aW9uTWFwID0gbG9nRGVmaW5pdGlvbnM7XHJcbmZvciAoY29uc3QgZGVmIG9mIE9iamVjdC52YWx1ZXMobG9nRGVmc0dlbmVyaWMpKVxyXG4gIGxvZ01lc3NhZ2VQcmVmaXhbZGVmLnR5cGVdID0gZGVmLm1lc3NhZ2VUeXBlO1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyaWMgY2xhc3MgdG8gdHJhY2sgYW4gRkZYSVYgbG9nIGxpbmVcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIG9mZnNldCA9IDA7XHJcbiAgcHVibGljIGNvbnZlcnRlZExpbmU6IHN0cmluZztcclxuICBwdWJsaWMgaW52YWxpZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpbmRleCA9IDA7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlY0V2ZW50U3RyOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlY0V2ZW50OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhleEV2ZW50OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRpbWVzdGFtcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBjaGVja3N1bTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ek9mZnNldE1pbGxpczogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBwdWJsaWMgbmV0d29ya0xpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXBTdHJpbmcgPSBwYXJ0c1tmaWVsZHMudGltZXN0YW1wXSA/PyAnMCc7XHJcbiAgICB0aGlzLnR6T2Zmc2V0TWlsbGlzID0gZ2V0VGltZXpvbmVPZmZzZXRNaWxsaXModGltZXN0YW1wU3RyaW5nKTtcclxuICAgIHRoaXMuZGVjRXZlbnRTdHIgPSBwYXJ0c1tmaWVsZHMuZXZlbnRdID8/ICcwMCc7XHJcbiAgICB0aGlzLmRlY0V2ZW50ID0gcGFyc2VJbnQodGhpcy5kZWNFdmVudFN0cik7XHJcbiAgICB0aGlzLmhleEV2ZW50ID0gRW11bGF0b3JDb21tb24uemVyb1BhZCh0aGlzLmRlY0V2ZW50LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKTtcclxuICAgIHRoaXMudGltZXN0YW1wID0gbmV3IERhdGUodGltZXN0YW1wU3RyaW5nKS5nZXRUaW1lKCk7XHJcbiAgICB0aGlzLmNoZWNrc3VtID0gcGFydHMuc2xpY2UoLTEpWzBdID8/ICcnO1xyXG4gICAgcmVwby51cGRhdGVUaW1lc3RhbXAodGhpcy50aW1lc3RhbXApO1xyXG4gICAgdGhpcy5jb252ZXJ0ZWRMaW5lID0gdGhpcy5wcmVmaXgoKSArIChwYXJ0cy5zbGljZSgyLCAtMSkuam9pbignOicpKS5yZXBsYWNlKCd8JywgJzonKTtcclxuICB9XHJcblxyXG4gIHByZWZpeCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdGltZVN0cmluZyA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1RpbWVTdHJpbmcodGhpcy50aW1lc3RhbXAsIHRoaXMudHpPZmZzZXRNaWxsaXMsIHRydWUpO1xyXG4gICAgY29uc3QgbG9nTWVzc2FnZU5hbWUgPSBsb2dNZXNzYWdlUHJlZml4W3RoaXMuZGVjRXZlbnRTdHJdID8/IHVua25vd25Mb2dNZXNzYWdlUHJlZml4O1xyXG4gICAgcmV0dXJuIGBbJHt0aW1lU3RyaW5nfV0gJHtsb2dNZXNzYWdlTmFtZX0gJHt0aGlzLmhleEV2ZW50fTpgO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzRGFtYWdlSGFsbG93ZWQoZGFtYWdlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAocGFyc2VJbnQoZGFtYWdlLCAxNikgJiBwYXJzZUludCgnMTAwMCcsIDE2KSkgPiAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlzRGFtYWdlQmlnKGRhbWFnZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHBhcnNlSW50KGRhbWFnZSwgMTYpICYgcGFyc2VJbnQoJzQwMDAnLCAxNikpID4gMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjYWxjdWxhdGVEYW1hZ2UoZGFtYWdlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgaWYgKExpbmVFdmVudC5pc0RhbWFnZUhhbGxvd2VkKGRhbWFnZSkpXHJcbiAgICAgIHJldHVybiAwO1xyXG5cclxuICAgIGRhbWFnZSA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQoZGFtYWdlLCA4KTtcclxuICAgIGNvbnN0IHBhcnRzID0gW1xyXG4gICAgICBkYW1hZ2Uuc3Vic3RyKDAsIDIpLFxyXG4gICAgICBkYW1hZ2Uuc3Vic3RyKDIsIDIpLFxyXG4gICAgICBkYW1hZ2Uuc3Vic3RyKDQsIDIpLFxyXG4gICAgICBkYW1hZ2Uuc3Vic3RyKDYsIDIpLFxyXG4gICAgXSBhcyBjb25zdDtcclxuXHJcbiAgICBpZiAoIUxpbmVFdmVudC5pc0RhbWFnZUJpZyhkYW1hZ2UpKVxyXG4gICAgICByZXR1cm4gcGFyc2VJbnQocGFydHMuc2xpY2UoMCwgMikucmV2ZXJzZSgpLmpvaW4oJycpLCAxNik7XHJcblxyXG4gICAgcmV0dXJuIHBhcnNlSW50KFxyXG4gICAgICAocGFydHNbM10gKyBwYXJ0c1swXSkgK1xyXG4gICAgICAgIChwYXJzZUludChwYXJ0c1sxXSwgMTYpIC0gcGFyc2VJbnQocGFydHNbM10sIDE2KSkudG9TdHJpbmcoMTYpLFxyXG4gICAgICAxNixcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUeXBlIGd1YXJkcyBmb3IgdGhlc2UgaW50ZXJmYWNlcyByZXF1aXJlIHRoZWlyIG93biBkZXNjcmlwdG9yIHByb3BlcnR5XHJcbi8vIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBldmVyeSBsaW5lIGV2ZW50IHdpdGggYW4gaWQvbmFtZVxyXG4vLyB0byB1cGRhdGUgY29tYmF0YW50IHN0YXRlLCBmb3IgZXhhbXBsZVxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVFdmVudFNvdXJjZSBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IHRydWU7XHJcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgeD86IG51bWJlcjtcclxuICByZWFkb25seSB5PzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHo/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgaGVhZGluZz86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRhYmxlPzogYm9vbGVhbjtcclxuICByZWFkb25seSBocD86IG51bWJlcjtcclxuICByZWFkb25seSBtYXhIcD86IG51bWJlcjtcclxuICByZWFkb25seSBtcD86IG51bWJlcjtcclxuICByZWFkb25seSBtYXhNcD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzTGluZUV2ZW50U291cmNlID0gKGxpbmU6IExpbmVFdmVudCk6IGxpbmUgaXMgTGluZUV2ZW50U291cmNlID0+IHtcclxuICByZXR1cm4gJ2lzU291cmNlJyBpbiBsaW5lO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lRXZlbnRUYXJnZXQgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHJlYWRvbmx5IGlzVGFyZ2V0OiB0cnVlO1xyXG4gIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHRhcmdldFg/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0WT86IG51bWJlcjtcclxuICByZWFkb25seSB0YXJnZXRaPzogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHRhcmdldEhlYWRpbmc/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0SHA/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0TWF4SHA/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0TXA/OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0TWF4TXA/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBpc0xpbmVFdmVudFRhcmdldCA9IChsaW5lOiBMaW5lRXZlbnQpOiBsaW5lIGlzIExpbmVFdmVudFRhcmdldCA9PiB7XHJcbiAgcmV0dXJuICdpc1RhcmdldCcgaW4gbGluZTtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluZUV2ZW50Sm9iTGV2ZWwgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHJlYWRvbmx5IGlzSm9iTGV2ZWw6IHRydWU7XHJcbiAgcmVhZG9ubHkgam9iOiBKb2I7XHJcbiAgcmVhZG9ubHkgam9iSWQ6IG51bWJlcjtcclxuICByZWFkb25seSBsZXZlbDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNMaW5lRXZlbnRKb2JMZXZlbCA9IChsaW5lOiBMaW5lRXZlbnQpOiBsaW5lIGlzIExpbmVFdmVudEpvYkxldmVsID0+IHtcclxuICByZXR1cm4gJ2lzSm9iTGV2ZWwnIGluIGxpbmU7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmVFdmVudEFiaWxpdHkgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHJlYWRvbmx5IGlzQWJpbGl0eTogdHJ1ZTtcclxuICByZWFkb25seSBhYmlsaXR5SWQ6IG51bWJlcjtcclxuICByZWFkb25seSBhYmlsaXR5TmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaXNMaW5lRXZlbnRBYmlsaXR5ID0gKGxpbmU6IExpbmVFdmVudCk6IGxpbmUgaXMgTGluZUV2ZW50QWJpbGl0eSA9PiB7XHJcbiAgcmV0dXJuICdpc0FiaWxpdHknIGluIGxpbmU7XHJcbn07XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IFBldE5hbWVzQnlMYW5nIGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9wZXRfbmFtZXMnO1xyXG5cclxuaW1wb3J0IENvbWJhdGFudCBmcm9tICcuL0NvbWJhdGFudCc7XHJcbmltcG9ydCBDb21iYXRhbnRKb2JTZWFyY2ggZnJvbSAnLi9Db21iYXRhbnRKb2JTZWFyY2gnO1xyXG5pbXBvcnQgQ29tYmF0YW50U3RhdGUgZnJvbSAnLi9Db21iYXRhbnRTdGF0ZSc7XHJcbmltcG9ydCBMaW5lRXZlbnQsIHtcclxuICBpc0xpbmVFdmVudEFiaWxpdHksXHJcbiAgaXNMaW5lRXZlbnRKb2JMZXZlbCxcclxuICBpc0xpbmVFdmVudFNvdXJjZSxcclxuICBpc0xpbmVFdmVudFRhcmdldCxcclxuICBMaW5lRXZlbnRTb3VyY2UsXHJcbiAgTGluZUV2ZW50VGFyZ2V0LFxyXG59IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iYXRhbnRUcmFja2VyIHtcclxuICBsYW5ndWFnZTogTGFuZztcclxuICBmaXJzdFRpbWVzdGFtcDogbnVtYmVyO1xyXG4gIGxhc3RUaW1lc3RhbXA6IG51bWJlcjtcclxuICBjb21iYXRhbnRzOiB7IFtpZDogc3RyaW5nXTogQ29tYmF0YW50IH0gPSB7fTtcclxuICBwYXJ0eU1lbWJlcnM6IHN0cmluZ1tdID0gW107XHJcbiAgZW5lbWllczogc3RyaW5nW10gPSBbXTtcclxuICBvdGhlcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcGV0czogc3RyaW5nW10gPSBbXTtcclxuICBtYWluQ29tYmF0YW50SUQ/OiBzdHJpbmc7XHJcbiAgaW5pdGlhbFN0YXRlczogeyBbaWQ6IHN0cmluZ106IFBhcnRpYWw8Q29tYmF0YW50U3RhdGU+IH0gPSB7fTtcclxuICBjb25zdHJ1Y3Rvcihsb2dMaW5lczogTGluZUV2ZW50W10sIGxhbmd1YWdlOiBMYW5nKSB7XHJcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcbiAgICB0aGlzLmZpcnN0VGltZXN0YW1wID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcbiAgICB0aGlzLmxhc3RUaW1lc3RhbXAgPSAwO1xyXG4gICAgdGhpcy5pbml0aWFsaXplKGxvZ0xpbmVzKTtcclxuICAgIC8vIENsZWFyIGluaXRpYWxTdGF0ZXMgYWZ0ZXIgd2UgaW5pdGlhbGl6ZSwgd2UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlXHJcbiAgICB0aGlzLmluaXRpYWxTdGF0ZXMgPSB7fTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUobG9nTGluZXM6IExpbmVFdmVudFtdKTogdm9pZCB7XHJcbiAgICAvLyBGaXJzdCBwYXNzOiBHZXQgbGlzdCBvZiBjb21iYXRhbnRzLCBmaWd1cmUgb3V0IHdoZXJlIHRoZXlcclxuICAgIC8vIHN0YXJ0IGF0IGlmIHBvc3NpYmxlXHJcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbG9nTGluZXMpIHtcclxuICAgICAgdGhpcy5maXJzdFRpbWVzdGFtcCA9IE1hdGgubWluKHRoaXMuZmlyc3RUaW1lc3RhbXAsIGxpbmUudGltZXN0YW1wKTtcclxuICAgICAgdGhpcy5sYXN0VGltZXN0YW1wID0gTWF0aC5tYXgodGhpcy5sYXN0VGltZXN0YW1wLCBsaW5lLnRpbWVzdGFtcCk7XHJcblxyXG4gICAgICBpZiAoaXNMaW5lRXZlbnRTb3VyY2UobGluZSkpXHJcbiAgICAgICAgdGhpcy5hZGRDb21iYXRhbnRGcm9tTGluZShsaW5lKTtcclxuXHJcbiAgICAgIGlmIChpc0xpbmVFdmVudFRhcmdldChsaW5lKSlcclxuICAgICAgICB0aGlzLmFkZENvbWJhdGFudEZyb21UYXJnZXRMaW5lKGxpbmUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJldHdlZW4gcGFzc2VzOiBDcmVhdGUgb3VyIGluaXRpYWwgY29tYmF0YW50IHN0YXRlc1xyXG4gICAgZm9yIChjb25zdCBpZCBpbiB0aGlzLmluaXRpYWxTdGF0ZXMpIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmluaXRpYWxTdGF0ZXNbaWRdID8/IHt9O1xyXG4gICAgICB0aGlzLmNvbWJhdGFudHNbaWRdPy5wdXNoU3RhdGUoXHJcbiAgICAgICAgdGhpcy5maXJzdFRpbWVzdGFtcCxcclxuICAgICAgICBuZXcgQ29tYmF0YW50U3RhdGUoXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUucG9zWCksXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUucG9zWSksXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUucG9zWiksXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUuaGVhZGluZyksXHJcbiAgICAgICAgICBzdGF0ZS50YXJnZXRhYmxlID8/IGZhbHNlLFxyXG4gICAgICAgICAgTnVtYmVyKHN0YXRlLmhwKSxcclxuICAgICAgICAgIE51bWJlcihzdGF0ZS5tYXhIcCksXHJcbiAgICAgICAgICBOdW1iZXIoc3RhdGUubXApLFxyXG4gICAgICAgICAgTnVtYmVyKHN0YXRlLm1heE1wKSxcclxuICAgICAgICApLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNlY29uZCBwYXNzOiBBbmFseXplIGNvbWJhdGFudCBpbmZvcm1hdGlvbiBmb3IgdHJhY2tpbmdcclxuICAgIGNvbnN0IGV2ZW50VHJhY2tlcjogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBsaW5lIG9mIGxvZ0xpbmVzKSB7XHJcbiAgICAgIGlmIChpc0xpbmVFdmVudFNvdXJjZShsaW5lKSkge1xyXG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5leHRyYWN0U3RhdGVGcm9tTGluZShsaW5lKTtcclxuICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgIGV2ZW50VHJhY2tlcltsaW5lLmlkXSA9IGV2ZW50VHJhY2tlcltsaW5lLmlkXSA/PyAwO1xyXG4gICAgICAgICAgKytldmVudFRyYWNrZXJbbGluZS5pZF07XHJcbiAgICAgICAgICB0aGlzLmNvbWJhdGFudHNbbGluZS5pZF0/LnB1c2hQYXJ0aWFsU3RhdGUobGluZS50aW1lc3RhbXAsIHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzTGluZUV2ZW50VGFyZ2V0KGxpbmUpKSB7XHJcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmV4dHJhY3RTdGF0ZUZyb21UYXJnZXRMaW5lKGxpbmUpO1xyXG4gICAgICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICAgICAgZXZlbnRUcmFja2VyW2xpbmUudGFyZ2V0SWRdID0gZXZlbnRUcmFja2VyW2xpbmUudGFyZ2V0SWRdID8/IDA7XHJcbiAgICAgICAgICArK2V2ZW50VHJhY2tlcltsaW5lLnRhcmdldElkXTtcclxuICAgICAgICAgIHRoaXMuY29tYmF0YW50c1tsaW5lLnRhcmdldElkXT8ucHVzaFBhcnRpYWxTdGF0ZShsaW5lLnRpbWVzdGFtcCwgc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEZpZ3VyZSBvdXQgcGFydHkvZW5lbXkvb3RoZXIgc3RhdHVzXHJcbiAgICBjb25zdCBwZXROYW1lcyA9IFBldE5hbWVzQnlMYW5nW3RoaXMubGFuZ3VhZ2VdO1xyXG4gICAgdGhpcy5vdGhlcnMgPSB0aGlzLm90aGVycy5maWx0ZXIoKElEKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmNvbWJhdGFudHNbSURdPy5qb2IgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgIHRoaXMuY29tYmF0YW50c1tJRF0/LmpvYiAhPT0gJ05PTkUnICYmXHJcbiAgICAgICAgSUQuc3RhcnRzV2l0aCgnMScpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMucGFydHlNZW1iZXJzLnB1c2goSUQpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBlbHNlIGlmIChwZXROYW1lcy5pbmNsdWRlcyh0aGlzLmNvbWJhdGFudHNbSURdPy5uYW1lID8/ICcnKSkge1xyXG4gICAgICAgIHRoaXMucGV0cy5wdXNoKElEKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGV2ZW50VHJhY2tlcltJRF0gPz8gMCkgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5lbmVtaWVzLnB1c2goSUQpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIE1haW4gY29tYmF0YW50IGlzIHRoZSBvbmUgdGhhdCB0b29rIHRoZSBtb3N0IGFjdGlvbnNcclxuICAgIHRoaXMubWFpbkNvbWJhdGFudElEID0gdGhpcy5lbmVtaWVzLnNvcnQoKGwsIHIpID0+IHtcclxuICAgICAgcmV0dXJuIChldmVudFRyYWNrZXJbcl0gPz8gMCkgLSAoZXZlbnRUcmFja2VyW2xdID8/IDApO1xyXG4gICAgfSlbMF07XHJcbiAgfVxyXG5cclxuICBhZGRDb21iYXRhbnRGcm9tTGluZShsaW5lOiBMaW5lRXZlbnRTb3VyY2UpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbWJhdGFudCA9IHRoaXMuaW5pdENvbWJhdGFudChsaW5lLmlkLCBsaW5lLm5hbWUpO1xyXG4gICAgY29uc3QgaW5pdFN0YXRlID0gdGhpcy5pbml0aWFsU3RhdGVzW2xpbmUuaWRdID8/IHt9O1xyXG5cclxuICAgIGNvbnN0IGV4dHJhY3RlZFN0YXRlID0gdGhpcy5leHRyYWN0U3RhdGVGcm9tTGluZShsaW5lKSA/PyB7fTtcclxuXHJcbiAgICBpbml0U3RhdGUucG9zWCA9IGluaXRTdGF0ZS5wb3NYID8/IGV4dHJhY3RlZFN0YXRlLnBvc1g7XHJcbiAgICBpbml0U3RhdGUucG9zWSA9IGluaXRTdGF0ZS5wb3NZID8/IGV4dHJhY3RlZFN0YXRlLnBvc1k7XHJcbiAgICBpbml0U3RhdGUucG9zWiA9IGluaXRTdGF0ZS5wb3NaID8/IGV4dHJhY3RlZFN0YXRlLnBvc1o7XHJcbiAgICBpbml0U3RhdGUuaGVhZGluZyA9IGluaXRTdGF0ZS5oZWFkaW5nID8/IGV4dHJhY3RlZFN0YXRlLmhlYWRpbmc7XHJcbiAgICBpbml0U3RhdGUudGFyZ2V0YWJsZSA9IGluaXRTdGF0ZS50YXJnZXRhYmxlID8/IGV4dHJhY3RlZFN0YXRlLnRhcmdldGFibGU7XHJcbiAgICBpbml0U3RhdGUuaHAgPSBpbml0U3RhdGUuaHAgPz8gZXh0cmFjdGVkU3RhdGUuaHA7XHJcbiAgICBpbml0U3RhdGUubWF4SHAgPSBpbml0U3RhdGUubWF4SHAgPz8gZXh0cmFjdGVkU3RhdGUubWF4SHA7XHJcbiAgICBpbml0U3RhdGUubXAgPSBpbml0U3RhdGUubXAgPz8gZXh0cmFjdGVkU3RhdGUubXA7XHJcbiAgICBpbml0U3RhdGUubWF4TXAgPSBpbml0U3RhdGUubWF4TXAgPz8gZXh0cmFjdGVkU3RhdGUubWF4TXA7XHJcblxyXG4gICAgaWYgKGlzTGluZUV2ZW50Sm9iTGV2ZWwobGluZSkpIHtcclxuICAgICAgY29tYmF0YW50LmpvYiA9IHRoaXMuY29tYmF0YW50c1tsaW5lLmlkXT8uam9iID8/IGxpbmUuam9iO1xyXG4gICAgICBjb21iYXRhbnQubGV2ZWwgPSB0aGlzLmNvbWJhdGFudHNbbGluZS5pZF0/LmxldmVsID8/IGxpbmUubGV2ZWw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGlzTGluZUV2ZW50QWJpbGl0eShsaW5lKSkge1xyXG4gICAgICBpZiAoIWNvbWJhdGFudC5qb2IgJiYgIWxpbmUuaWQuc3RhcnRzV2l0aCgnNCcpICYmIGxpbmUuYWJpbGl0eUlkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgY29tYmF0YW50LmpvYiA9IENvbWJhdGFudEpvYlNlYXJjaC5nZXRKb2IobGluZS5hYmlsaXR5SWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkQ29tYmF0YW50RnJvbVRhcmdldExpbmUobGluZTogTGluZUV2ZW50VGFyZ2V0KTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRDb21iYXRhbnQobGluZS50YXJnZXRJZCwgbGluZS50YXJnZXROYW1lKTtcclxuICAgIGNvbnN0IGluaXRTdGF0ZSA9IHRoaXMuaW5pdGlhbFN0YXRlc1tsaW5lLnRhcmdldElkXSA/PyB7fTtcclxuXHJcbiAgICBjb25zdCBleHRyYWN0ZWRTdGF0ZSA9IHRoaXMuZXh0cmFjdFN0YXRlRnJvbVRhcmdldExpbmUobGluZSkgPz8ge307XHJcblxyXG4gICAgaW5pdFN0YXRlLnBvc1ggPSBpbml0U3RhdGUucG9zWCA/PyBleHRyYWN0ZWRTdGF0ZS5wb3NYO1xyXG4gICAgaW5pdFN0YXRlLnBvc1kgPSBpbml0U3RhdGUucG9zWSA/PyBleHRyYWN0ZWRTdGF0ZS5wb3NZO1xyXG4gICAgaW5pdFN0YXRlLnBvc1ogPSBpbml0U3RhdGUucG9zWiA/PyBleHRyYWN0ZWRTdGF0ZS5wb3NaO1xyXG4gICAgaW5pdFN0YXRlLmhlYWRpbmcgPSBpbml0U3RhdGUuaGVhZGluZyA/PyBleHRyYWN0ZWRTdGF0ZS5oZWFkaW5nO1xyXG4gICAgaW5pdFN0YXRlLmhwID0gaW5pdFN0YXRlLmhwID8/IGV4dHJhY3RlZFN0YXRlLmhwO1xyXG4gICAgaW5pdFN0YXRlLm1heEhwID0gaW5pdFN0YXRlLm1heEhwID8/IGV4dHJhY3RlZFN0YXRlLm1heEhwO1xyXG4gICAgaW5pdFN0YXRlLm1wID0gaW5pdFN0YXRlLm1wID8/IGV4dHJhY3RlZFN0YXRlLm1wO1xyXG4gICAgaW5pdFN0YXRlLm1heE1wID0gaW5pdFN0YXRlLm1heE1wID8/IGV4dHJhY3RlZFN0YXRlLm1heE1wO1xyXG4gIH1cclxuXHJcbiAgZXh0cmFjdFN0YXRlRnJvbUxpbmUobGluZTogTGluZUV2ZW50U291cmNlKTogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4ge1xyXG4gICAgY29uc3Qgc3RhdGU6IFBhcnRpYWw8Q29tYmF0YW50U3RhdGU+ID0ge307XHJcblxyXG4gICAgaWYgKGxpbmUueCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NYID0gbGluZS54O1xyXG4gICAgaWYgKGxpbmUueSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NZID0gbGluZS55O1xyXG4gICAgaWYgKGxpbmUueiAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NaID0gbGluZS56O1xyXG4gICAgaWYgKGxpbmUuaGVhZGluZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5oZWFkaW5nID0gbGluZS5oZWFkaW5nO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0YWJsZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS50YXJnZXRhYmxlID0gbGluZS50YXJnZXRhYmxlO1xyXG4gICAgaWYgKGxpbmUuaHAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUuaHAgPSBsaW5lLmhwO1xyXG4gICAgaWYgKGxpbmUubWF4SHAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubWF4SHAgPSBsaW5lLm1heEhwO1xyXG4gICAgaWYgKGxpbmUubXAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubXAgPSBsaW5lLm1wO1xyXG4gICAgaWYgKGxpbmUubWF4TXAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubWF4TXAgPSBsaW5lLm1heE1wO1xyXG5cclxuICAgIGlmIChsaW5lLmRlY0V2ZW50ID09PSA0KVxyXG4gICAgICBzdGF0ZS50YXJnZXRhYmxlID0gZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxuXHJcbiAgZXh0cmFjdFN0YXRlRnJvbVRhcmdldExpbmUobGluZTogTGluZUV2ZW50VGFyZ2V0KTogUGFydGlhbDxDb21iYXRhbnRTdGF0ZT4ge1xyXG4gICAgY29uc3Qgc3RhdGU6IFBhcnRpYWw8Q29tYmF0YW50U3RhdGU+ID0ge307XHJcblxyXG4gICAgaWYgKGxpbmUudGFyZ2V0WCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NYID0gbGluZS50YXJnZXRYO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0WSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NZID0gbGluZS50YXJnZXRZO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0WiAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5wb3NaID0gbGluZS50YXJnZXRaO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0SGVhZGluZyAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICBzdGF0ZS5oZWFkaW5nID0gbGluZS50YXJnZXRIZWFkaW5nO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0SHAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUuaHAgPSBsaW5lLnRhcmdldEhwO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0TWF4SHAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubWF4SHAgPSBsaW5lLnRhcmdldE1heEhwO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0TXAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubXAgPSBsaW5lLnRhcmdldE1wO1xyXG4gICAgaWYgKGxpbmUudGFyZ2V0TWF4TXAgIT09IHVuZGVmaW5lZClcclxuICAgICAgc3RhdGUubWF4TXAgPSBsaW5lLnRhcmdldE1heE1wO1xyXG5cclxuICAgIHJldHVybiBzdGF0ZTtcclxuICB9XHJcblxyXG4gIGluaXRDb21iYXRhbnQoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29tYmF0YW50IHtcclxuICAgIGxldCBjb21iYXRhbnQgPSB0aGlzLmNvbWJhdGFudHNbaWRdO1xyXG4gICAgaWYgKGNvbWJhdGFudCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbWJhdGFudCA9IHRoaXMuY29tYmF0YW50c1tpZF0gPSBuZXcgQ29tYmF0YW50KGlkLCBuYW1lKTtcclxuICAgICAgdGhpcy5vdGhlcnMucHVzaChpZCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbFN0YXRlc1tpZF0gPSB7XHJcbiAgICAgICAgdGFyZ2V0YWJsZTogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSBpZiAoY29tYmF0YW50Lm5hbWUgPT09ICcnKSB7XHJcbiAgICAgIGNvbWJhdGFudC5zZXROYW1lKG5hbWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbWJhdGFudDtcclxuICB9XHJcblxyXG4gIGdldE1haW5Db21iYXRhbnROYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5tYWluQ29tYmF0YW50SUQpXHJcbiAgICAgIHJldHVybiB0aGlzLmNvbWJhdGFudHNbdGhpcy5tYWluQ29tYmF0YW50SURdPy5uYW1lID8/ICdVbmtub3duJztcclxuICAgIHJldHVybiAnVW5rbm93bic7XHJcbiAgfVxyXG59XHJcbiIsIi8qXG4gKiBEZXhpZS5qcyAtIGEgbWluaW1hbGlzdGljIHdyYXBwZXIgZm9yIEluZGV4ZWREQlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBCeSBEYXZpZCBGYWhsYW5kZXIsIGRhdmlkLmZhaGxhbmRlckBnbWFpbC5jb21cbiAqXG4gKiBWZXJzaW9uIDMuMC4zLCBXZWQgTm92IDE4IDIwMjBcbiAqXG4gKiBodHRwOi8vZGV4aWUub3JnXG4gKlxuICogQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNCwgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL1xuICovXG4gXG52YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0O1xuICAgIH07XG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59O1xuXG5cblxuXG5cblxuXG5cblxuXG5mdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxuICAgICAgICAgICAgcltrXSA9IGFbal07XG4gICAgcmV0dXJuIHI7XG59XG5cbnZhciBrZXlzID0gT2JqZWN0LmtleXM7XG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG52YXIgX2dsb2JhbCA9IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOlxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDpcbiAgICAgICAgZ2xvYmFsO1xuaWYgKHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJyAmJiAhX2dsb2JhbC5Qcm9taXNlKSB7XG4gICAgX2dsb2JhbC5Qcm9taXNlID0gUHJvbWlzZTtcbn1cbmZ1bmN0aW9uIGV4dGVuZChvYmosIGV4dGVuc2lvbikge1xuICAgIGlmICh0eXBlb2YgZXh0ZW5zaW9uICE9PSAnb2JqZWN0JylcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICBrZXlzKGV4dGVuc2lvbikuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIG9ialtrZXldID0gZXh0ZW5zaW9uW2tleV07XG4gICAgfSk7XG4gICAgcmV0dXJuIG9iajtcbn1cbnZhciBnZXRQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcbnZhciBfaGFzT3duID0ge30uaGFzT3duUHJvcGVydHk7XG5mdW5jdGlvbiBoYXNPd24ob2JqLCBwcm9wKSB7XG4gICAgcmV0dXJuIF9oYXNPd24uY2FsbChvYmosIHByb3ApO1xufVxuZnVuY3Rpb24gcHJvcHMocHJvdG8sIGV4dGVuc2lvbikge1xuICAgIGlmICh0eXBlb2YgZXh0ZW5zaW9uID09PSAnZnVuY3Rpb24nKVxuICAgICAgICBleHRlbnNpb24gPSBleHRlbnNpb24oZ2V0UHJvdG8ocHJvdG8pKTtcbiAgICBrZXlzKGV4dGVuc2lvbikuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHNldFByb3AocHJvdG8sIGtleSwgZXh0ZW5zaW9uW2tleV0pO1xuICAgIH0pO1xufVxudmFyIGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuZnVuY3Rpb24gc2V0UHJvcChvYmosIHByb3AsIGZ1bmN0aW9uT3JHZXRTZXQsIG9wdGlvbnMpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShvYmosIHByb3AsIGV4dGVuZChmdW5jdGlvbk9yR2V0U2V0ICYmIGhhc093bihmdW5jdGlvbk9yR2V0U2V0LCBcImdldFwiKSAmJiB0eXBlb2YgZnVuY3Rpb25PckdldFNldC5nZXQgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICB7IGdldDogZnVuY3Rpb25PckdldFNldC5nZXQsIHNldDogZnVuY3Rpb25PckdldFNldC5zZXQsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IDpcbiAgICAgICAgeyB2YWx1ZTogZnVuY3Rpb25PckdldFNldCwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9LCBvcHRpb25zKSk7XG59XG5mdW5jdGlvbiBkZXJpdmUoQ2hpbGQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBmcm9tOiBmdW5jdGlvbiAoUGFyZW50KSB7XG4gICAgICAgICAgICBDaGlsZC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFBhcmVudC5wcm90b3R5cGUpO1xuICAgICAgICAgICAgc2V0UHJvcChDaGlsZC5wcm90b3R5cGUsIFwiY29uc3RydWN0b3JcIiwgQ2hpbGQpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBleHRlbmQ6IHByb3BzLmJpbmQobnVsbCwgQ2hpbGQucHJvdG90eXBlKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH07XG59XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbmZ1bmN0aW9uIGdldFByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3ApIHtcbiAgICB2YXIgcGQgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBwcm9wKTtcbiAgICB2YXIgcHJvdG87XG4gICAgcmV0dXJuIHBkIHx8IChwcm90byA9IGdldFByb3RvKG9iaikpICYmIGdldFByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgcHJvcCk7XG59XG52YXIgX3NsaWNlID0gW10uc2xpY2U7XG5mdW5jdGlvbiBzbGljZShhcmdzLCBzdGFydCwgZW5kKSB7XG4gICAgcmV0dXJuIF9zbGljZS5jYWxsKGFyZ3MsIHN0YXJ0LCBlbmQpO1xufVxuZnVuY3Rpb24gb3ZlcnJpZGUob3JpZ0Z1bmMsIG92ZXJyaWRlZEZhY3RvcnkpIHtcbiAgICByZXR1cm4gb3ZlcnJpZGVkRmFjdG9yeShvcmlnRnVuYyk7XG59XG5mdW5jdGlvbiBhc3NlcnQoYikge1xuICAgIGlmICghYilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQXNzZXJ0aW9uIEZhaWxlZFwiKTtcbn1cbmZ1bmN0aW9uIGFzYXAoZm4pIHtcbiAgICBpZiAoX2dsb2JhbC5zZXRJbW1lZGlhdGUpXG4gICAgICAgIHNldEltbWVkaWF0ZShmbik7XG4gICAgZWxzZVxuICAgICAgICBzZXRUaW1lb3V0KGZuLCAwKTtcbn1cblxuZnVuY3Rpb24gYXJyYXlUb09iamVjdChhcnJheSwgZXh0cmFjdG9yKSB7XG4gICAgcmV0dXJuIGFycmF5LnJlZHVjZShmdW5jdGlvbiAocmVzdWx0LCBpdGVtLCBpKSB7XG4gICAgICAgIHZhciBuYW1lQW5kVmFsdWUgPSBleHRyYWN0b3IoaXRlbSwgaSk7XG4gICAgICAgIGlmIChuYW1lQW5kVmFsdWUpXG4gICAgICAgICAgICByZXN1bHRbbmFtZUFuZFZhbHVlWzBdXSA9IG5hbWVBbmRWYWx1ZVsxXTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIHRyeUNhdGNoKGZuLCBvbmVycm9yLCBhcmdzKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XG4gICAgfVxuICAgIGNhdGNoIChleCkge1xuICAgICAgICBvbmVycm9yICYmIG9uZXJyb3IoZXgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldEJ5S2V5UGF0aChvYmosIGtleVBhdGgpIHtcbiAgICBpZiAoaGFzT3duKG9iaiwga2V5UGF0aCkpXG4gICAgICAgIHJldHVybiBvYmpba2V5UGF0aF07XG4gICAgaWYgKCFrZXlQYXRoKVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIGlmICh0eXBlb2Yga2V5UGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdmFyIHJ2ID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0ga2V5UGF0aC5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIHZhciB2YWwgPSBnZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoW2ldKTtcbiAgICAgICAgICAgIHJ2LnB1c2godmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcnY7XG4gICAgfVxuICAgIHZhciBwZXJpb2QgPSBrZXlQYXRoLmluZGV4T2YoJy4nKTtcbiAgICBpZiAocGVyaW9kICE9PSAtMSkge1xuICAgICAgICB2YXIgaW5uZXJPYmogPSBvYmpba2V5UGF0aC5zdWJzdHIoMCwgcGVyaW9kKV07XG4gICAgICAgIHJldHVybiBpbm5lck9iaiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogZ2V0QnlLZXlQYXRoKGlubmVyT2JqLCBrZXlQYXRoLnN1YnN0cihwZXJpb2QgKyAxKSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBzZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoLCB2YWx1ZSkge1xuICAgIGlmICghb2JqIHx8IGtleVBhdGggPT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmICgnaXNGcm96ZW4nIGluIE9iamVjdCAmJiBPYmplY3QuaXNGcm96ZW4ob2JqKSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmICh0eXBlb2Yga2V5UGF0aCAhPT0gJ3N0cmluZycgJiYgJ2xlbmd0aCcgaW4ga2V5UGF0aCkge1xuICAgICAgICBhc3NlcnQodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJyAmJiAnbGVuZ3RoJyBpbiB2YWx1ZSk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0ga2V5UGF0aC5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgIHNldEJ5S2V5UGF0aChvYmosIGtleVBhdGhbaV0sIHZhbHVlW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIHBlcmlvZCA9IGtleVBhdGguaW5kZXhPZignLicpO1xuICAgICAgICBpZiAocGVyaW9kICE9PSAtMSkge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRLZXlQYXRoID0ga2V5UGF0aC5zdWJzdHIoMCwgcGVyaW9kKTtcbiAgICAgICAgICAgIHZhciByZW1haW5pbmdLZXlQYXRoID0ga2V5UGF0aC5zdWJzdHIocGVyaW9kICsgMSk7XG4gICAgICAgICAgICBpZiAocmVtYWluaW5nS2V5UGF0aCA9PT0gXCJcIilcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBcnJheShvYmopICYmICFpc05hTihwYXJzZUludChjdXJyZW50S2V5UGF0aCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqLnNwbGljZShjdXJyZW50S2V5UGF0aCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbY3VycmVudEtleVBhdGhdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIG9ialtjdXJyZW50S2V5UGF0aF0gPSB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBpbm5lck9iaiA9IG9ialtjdXJyZW50S2V5UGF0aF07XG4gICAgICAgICAgICAgICAgaWYgKCFpbm5lck9iailcbiAgICAgICAgICAgICAgICAgICAgaW5uZXJPYmogPSAob2JqW2N1cnJlbnRLZXlQYXRoXSA9IHt9KTtcbiAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgoaW5uZXJPYmosIHJlbWFpbmluZ0tleVBhdGgsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkob2JqKSAmJiAhaXNOYU4ocGFyc2VJbnQoa2V5UGF0aCkpKVxuICAgICAgICAgICAgICAgICAgICBvYmouc3BsaWNlKGtleVBhdGgsIDEpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9ialtrZXlQYXRoXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBvYmpba2V5UGF0aF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGRlbEJ5S2V5UGF0aChvYmosIGtleVBhdGgpIHtcbiAgICBpZiAodHlwZW9mIGtleVBhdGggPT09ICdzdHJpbmcnKVxuICAgICAgICBzZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoLCB1bmRlZmluZWQpO1xuICAgIGVsc2UgaWYgKCdsZW5ndGgnIGluIGtleVBhdGgpXG4gICAgICAgIFtdLm1hcC5jYWxsKGtleVBhdGgsIGZ1bmN0aW9uIChrcCkge1xuICAgICAgICAgICAgc2V0QnlLZXlQYXRoKG9iaiwga3AsIHVuZGVmaW5lZCk7XG4gICAgICAgIH0pO1xufVxuZnVuY3Rpb24gc2hhbGxvd0Nsb25lKG9iaikge1xuICAgIHZhciBydiA9IHt9O1xuICAgIGZvciAodmFyIG0gaW4gb2JqKSB7XG4gICAgICAgIGlmIChoYXNPd24ob2JqLCBtKSlcbiAgICAgICAgICAgIHJ2W21dID0gb2JqW21dO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG59XG52YXIgY29uY2F0ID0gW10uY29uY2F0O1xuZnVuY3Rpb24gZmxhdHRlbihhKSB7XG4gICAgcmV0dXJuIGNvbmNhdC5hcHBseShbXSwgYSk7XG59XG52YXIgaW50cmluc2ljVHlwZU5hbWVzID0gXCJCb29sZWFuLFN0cmluZyxEYXRlLFJlZ0V4cCxCbG9iLEZpbGUsRmlsZUxpc3QsQXJyYXlCdWZmZXIsRGF0YVZpZXcsVWludDhDbGFtcGVkQXJyYXksSW1hZ2VEYXRhLE1hcCxTZXRcIlxuICAgIC5zcGxpdCgnLCcpLmNvbmNhdChmbGF0dGVuKFs4LCAxNiwgMzIsIDY0XS5tYXAoZnVuY3Rpb24gKG51bSkgeyByZXR1cm4gW1wiSW50XCIsIFwiVWludFwiLCBcIkZsb2F0XCJdLm1hcChmdW5jdGlvbiAodCkgeyByZXR1cm4gdCArIG51bSArIFwiQXJyYXlcIjsgfSk7IH0pKSkuZmlsdGVyKGZ1bmN0aW9uICh0KSB7IHJldHVybiBfZ2xvYmFsW3RdOyB9KTtcbnZhciBpbnRyaW5zaWNUeXBlcyA9IGludHJpbnNpY1R5cGVOYW1lcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIF9nbG9iYWxbdF07IH0pO1xudmFyIGludHJpbnNpY1R5cGVOYW1lU2V0ID0gYXJyYXlUb09iamVjdChpbnRyaW5zaWNUeXBlTmFtZXMsIGZ1bmN0aW9uICh4KSB7IHJldHVybiBbeCwgdHJ1ZV07IH0pO1xuZnVuY3Rpb24gZGVlcENsb25lKGFueSkge1xuICAgIGlmICghYW55IHx8IHR5cGVvZiBhbnkgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gYW55O1xuICAgIHZhciBydjtcbiAgICBpZiAoaXNBcnJheShhbnkpKSB7XG4gICAgICAgIHJ2ID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gYW55Lmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgcnYucHVzaChkZWVwQ2xvbmUoYW55W2ldKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoaW50cmluc2ljVHlwZXMuaW5kZXhPZihhbnkuY29uc3RydWN0b3IpID49IDApIHtcbiAgICAgICAgcnYgPSBhbnk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBydiA9IGFueS5jb25zdHJ1Y3RvciA/IE9iamVjdC5jcmVhdGUoYW55LmNvbnN0cnVjdG9yLnByb3RvdHlwZSkgOiB7fTtcbiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBhbnkpIHtcbiAgICAgICAgICAgIGlmIChoYXNPd24oYW55LCBwcm9wKSkge1xuICAgICAgICAgICAgICAgIHJ2W3Byb3BdID0gZGVlcENsb25lKGFueVtwcm9wXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJ2O1xufVxudmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5mdW5jdGlvbiB0b1N0cmluZ1RhZyhvKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xufVxudmFyIGdldFZhbHVlT2YgPSBmdW5jdGlvbiAodmFsLCB0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUgPT09IFwiQXJyYXlcIiA/ICcnICsgdmFsLm1hcChmdW5jdGlvbiAodikgeyByZXR1cm4gZ2V0VmFsdWVPZih2LCB0b1N0cmluZ1RhZyh2KSk7IH0pIDpcbiAgICAgICAgdHlwZSA9PT0gXCJBcnJheUJ1ZmZlclwiID8gJycgKyBuZXcgVWludDhBcnJheSh2YWwpIDpcbiAgICAgICAgICAgIHR5cGUgPT09IFwiRGF0ZVwiID8gdmFsLmdldFRpbWUoKSA6XG4gICAgICAgICAgICAgICAgQXJyYXlCdWZmZXIuaXNWaWV3KHZhbCkgPyAnJyArIG5ldyBVaW50OEFycmF5KHZhbC5idWZmZXIpIDpcbiAgICAgICAgICAgICAgICAgICAgdmFsO1xufTtcbmZ1bmN0aW9uIGdldE9iamVjdERpZmYoYSwgYiwgcnYsIHByZngpIHtcbiAgICBydiA9IHJ2IHx8IHt9O1xuICAgIHByZnggPSBwcmZ4IHx8ICcnO1xuICAgIGtleXMoYSkuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICAgICAgICBpZiAoIWhhc093bihiLCBwcm9wKSlcbiAgICAgICAgICAgIHJ2W3ByZnggKyBwcm9wXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgYXAgPSBhW3Byb3BdLCBicCA9IGJbcHJvcF07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGFwID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgYnAgPT09ICdvYmplY3QnICYmIGFwICYmIGJwKSB7XG4gICAgICAgICAgICAgICAgdmFyIGFwVHlwZU5hbWUgPSB0b1N0cmluZ1RhZyhhcCk7XG4gICAgICAgICAgICAgICAgdmFyIGJwVHlwZU5hbWUgPSB0b1N0cmluZ1RhZyhicCk7XG4gICAgICAgICAgICAgICAgaWYgKGFwVHlwZU5hbWUgPT09IGJwVHlwZU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGludHJpbnNpY1R5cGVOYW1lU2V0W2FwVHlwZU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0VmFsdWVPZihhcCwgYXBUeXBlTmFtZSkgIT09IGdldFZhbHVlT2YoYnAsIGJwVHlwZU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnZbcHJmeCArIHByb3BdID0gYltwcm9wXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldE9iamVjdERpZmYoYXAsIGJwLCBydiwgcHJmeCArIHByb3AgKyBcIi5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJ2W3ByZnggKyBwcm9wXSA9IGJbcHJvcF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoYXAgIT09IGJwKVxuICAgICAgICAgICAgICAgIHJ2W3ByZnggKyBwcm9wXSA9IGJbcHJvcF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBrZXlzKGIpLmZvckVhY2goZnVuY3Rpb24gKHByb3ApIHtcbiAgICAgICAgaWYgKCFoYXNPd24oYSwgcHJvcCkpIHtcbiAgICAgICAgICAgIHJ2W3ByZnggKyBwcm9wXSA9IGJbcHJvcF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcnY7XG59XG52YXIgaXRlcmF0b3JTeW1ib2wgPSB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wuaXRlcmF0b3I7XG52YXIgZ2V0SXRlcmF0b3JPZiA9IGl0ZXJhdG9yU3ltYm9sID8gZnVuY3Rpb24gKHgpIHtcbiAgICB2YXIgaTtcbiAgICByZXR1cm4geCAhPSBudWxsICYmIChpID0geFtpdGVyYXRvclN5bWJvbF0pICYmIGkuYXBwbHkoeCk7XG59IDogZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfTtcbnZhciBOT19DSEFSX0FSUkFZID0ge307XG5mdW5jdGlvbiBnZXRBcnJheU9mKGFycmF5TGlrZSkge1xuICAgIHZhciBpLCBhLCB4LCBpdDtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBpZiAoaXNBcnJheShhcnJheUxpa2UpKVxuICAgICAgICAgICAgcmV0dXJuIGFycmF5TGlrZS5zbGljZSgpO1xuICAgICAgICBpZiAodGhpcyA9PT0gTk9fQ0hBUl9BUlJBWSAmJiB0eXBlb2YgYXJyYXlMaWtlID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHJldHVybiBbYXJyYXlMaWtlXTtcbiAgICAgICAgaWYgKChpdCA9IGdldEl0ZXJhdG9yT2YoYXJyYXlMaWtlKSkpIHtcbiAgICAgICAgICAgIGEgPSBbXTtcbiAgICAgICAgICAgIHdoaWxlICh4ID0gaXQubmV4dCgpLCAheC5kb25lKVxuICAgICAgICAgICAgICAgIGEucHVzaCh4LnZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcnJheUxpa2UgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiBbYXJyYXlMaWtlXTtcbiAgICAgICAgaSA9IGFycmF5TGlrZS5sZW5ndGg7XG4gICAgICAgIGlmICh0eXBlb2YgaSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGEgPSBuZXcgQXJyYXkoaSk7XG4gICAgICAgICAgICB3aGlsZSAoaS0tKVxuICAgICAgICAgICAgICAgIGFbaV0gPSBhcnJheUxpa2VbaV07XG4gICAgICAgICAgICByZXR1cm4gYTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2FycmF5TGlrZV07XG4gICAgfVxuICAgIGkgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIGEgPSBuZXcgQXJyYXkoaSk7XG4gICAgd2hpbGUgKGktLSlcbiAgICAgICAgYVtpXSA9IGFyZ3VtZW50c1tpXTtcbiAgICByZXR1cm4gYTtcbn1cbnZhciBpc0FzeW5jRnVuY3Rpb24gPSB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJ1xuICAgID8gZnVuY3Rpb24gKGZuKSB7IHJldHVybiBmbltTeW1ib2wudG9TdHJpbmdUYWddID09PSAnQXN5bmNGdW5jdGlvbic7IH1cbiAgICA6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZhbHNlOyB9O1xuXG52YXIgZGVidWcgPSB0eXBlb2YgbG9jYXRpb24gIT09ICd1bmRlZmluZWQnICYmXG4gICAgL14oaHR0cHxodHRwcyk6XFwvXFwvKGxvY2FsaG9zdHwxMjdcXC4wXFwuMFxcLjEpLy50ZXN0KGxvY2F0aW9uLmhyZWYpO1xuZnVuY3Rpb24gc2V0RGVidWcodmFsdWUsIGZpbHRlcikge1xuICAgIGRlYnVnID0gdmFsdWU7XG4gICAgbGlicmFyeUZpbHRlciA9IGZpbHRlcjtcbn1cbnZhciBsaWJyYXJ5RmlsdGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJ1ZTsgfTtcbnZhciBORUVEU19USFJPV19GT1JfU1RBQ0sgPSAhbmV3IEVycm9yKFwiXCIpLnN0YWNrO1xuZnVuY3Rpb24gZ2V0RXJyb3JXaXRoU3RhY2soKSB7XG4gICAgaWYgKE5FRURTX1RIUk9XX0ZPUl9TVEFDSylcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZTtcbiAgICAgICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKTtcbn1cbmZ1bmN0aW9uIHByZXR0eVN0YWNrKGV4Y2VwdGlvbiwgbnVtSWdub3JlZEZyYW1lcykge1xuICAgIHZhciBzdGFjayA9IGV4Y2VwdGlvbi5zdGFjaztcbiAgICBpZiAoIXN0YWNrKVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICBudW1JZ25vcmVkRnJhbWVzID0gKG51bUlnbm9yZWRGcmFtZXMgfHwgMCk7XG4gICAgaWYgKHN0YWNrLmluZGV4T2YoZXhjZXB0aW9uLm5hbWUpID09PSAwKVxuICAgICAgICBudW1JZ25vcmVkRnJhbWVzICs9IChleGNlcHRpb24ubmFtZSArIGV4Y2VwdGlvbi5tZXNzYWdlKS5zcGxpdCgnXFxuJykubGVuZ3RoO1xuICAgIHJldHVybiBzdGFjay5zcGxpdCgnXFxuJylcbiAgICAgICAgLnNsaWNlKG51bUlnbm9yZWRGcmFtZXMpXG4gICAgICAgIC5maWx0ZXIobGlicmFyeUZpbHRlcilcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoZnJhbWUpIHsgcmV0dXJuIFwiXFxuXCIgKyBmcmFtZTsgfSlcbiAgICAgICAgLmpvaW4oJycpO1xufVxuXG52YXIgZGV4aWVFcnJvck5hbWVzID0gW1xuICAgICdNb2RpZnknLFxuICAgICdCdWxrJyxcbiAgICAnT3BlbkZhaWxlZCcsXG4gICAgJ1ZlcnNpb25DaGFuZ2UnLFxuICAgICdTY2hlbWEnLFxuICAgICdVcGdyYWRlJyxcbiAgICAnSW52YWxpZFRhYmxlJyxcbiAgICAnTWlzc2luZ0FQSScsXG4gICAgJ05vU3VjaERhdGFiYXNlJyxcbiAgICAnSW52YWxpZEFyZ3VtZW50JyxcbiAgICAnU3ViVHJhbnNhY3Rpb24nLFxuICAgICdVbnN1cHBvcnRlZCcsXG4gICAgJ0ludGVybmFsJyxcbiAgICAnRGF0YWJhc2VDbG9zZWQnLFxuICAgICdQcmVtYXR1cmVDb21taXQnLFxuICAgICdGb3JlaWduQXdhaXQnXG5dO1xudmFyIGlkYkRvbUVycm9yTmFtZXMgPSBbXG4gICAgJ1Vua25vd24nLFxuICAgICdDb25zdHJhaW50JyxcbiAgICAnRGF0YScsXG4gICAgJ1RyYW5zYWN0aW9uSW5hY3RpdmUnLFxuICAgICdSZWFkT25seScsXG4gICAgJ1ZlcnNpb24nLFxuICAgICdOb3RGb3VuZCcsXG4gICAgJ0ludmFsaWRTdGF0ZScsXG4gICAgJ0ludmFsaWRBY2Nlc3MnLFxuICAgICdBYm9ydCcsXG4gICAgJ1RpbWVvdXQnLFxuICAgICdRdW90YUV4Y2VlZGVkJyxcbiAgICAnU3ludGF4JyxcbiAgICAnRGF0YUNsb25lJ1xuXTtcbnZhciBlcnJvckxpc3QgPSBkZXhpZUVycm9yTmFtZXMuY29uY2F0KGlkYkRvbUVycm9yTmFtZXMpO1xudmFyIGRlZmF1bHRUZXh0cyA9IHtcbiAgICBWZXJzaW9uQ2hhbmdlZDogXCJEYXRhYmFzZSB2ZXJzaW9uIGNoYW5nZWQgYnkgb3RoZXIgZGF0YWJhc2UgY29ubmVjdGlvblwiLFxuICAgIERhdGFiYXNlQ2xvc2VkOiBcIkRhdGFiYXNlIGhhcyBiZWVuIGNsb3NlZFwiLFxuICAgIEFib3J0OiBcIlRyYW5zYWN0aW9uIGFib3J0ZWRcIixcbiAgICBUcmFuc2FjdGlvbkluYWN0aXZlOiBcIlRyYW5zYWN0aW9uIGhhcyBhbHJlYWR5IGNvbXBsZXRlZCBvciBmYWlsZWRcIlxufTtcbmZ1bmN0aW9uIERleGllRXJyb3IobmFtZSwgbXNnKSB7XG4gICAgdGhpcy5fZSA9IGdldEVycm9yV2l0aFN0YWNrKCk7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtc2c7XG59XG5kZXJpdmUoRGV4aWVFcnJvcikuZnJvbShFcnJvcikuZXh0ZW5kKHtcbiAgICBzdGFjazoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9zdGFjayB8fFxuICAgICAgICAgICAgICAgICh0aGlzLl9zdGFjayA9IHRoaXMubmFtZSArIFwiOiBcIiArIHRoaXMubWVzc2FnZSArIHByZXR0eVN0YWNrKHRoaXMuX2UsIDIpKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMubmFtZSArIFwiOiBcIiArIHRoaXMubWVzc2FnZTsgfVxufSk7XG5mdW5jdGlvbiBnZXRNdWx0aUVycm9yTWVzc2FnZShtc2csIGZhaWx1cmVzKSB7XG4gICAgcmV0dXJuIG1zZyArIFwiLiBFcnJvcnM6IFwiICsgT2JqZWN0LmtleXMoZmFpbHVyZXMpXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gZmFpbHVyZXNba2V5XS50b1N0cmluZygpOyB9KVxuICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uICh2LCBpLCBzKSB7IHJldHVybiBzLmluZGV4T2YodikgPT09IGk7IH0pXG4gICAgICAgIC5qb2luKCdcXG4nKTtcbn1cbmZ1bmN0aW9uIE1vZGlmeUVycm9yKG1zZywgZmFpbHVyZXMsIHN1Y2Nlc3NDb3VudCwgZmFpbGVkS2V5cykge1xuICAgIHRoaXMuX2UgPSBnZXRFcnJvcldpdGhTdGFjaygpO1xuICAgIHRoaXMuZmFpbHVyZXMgPSBmYWlsdXJlcztcbiAgICB0aGlzLmZhaWxlZEtleXMgPSBmYWlsZWRLZXlzO1xuICAgIHRoaXMuc3VjY2Vzc0NvdW50ID0gc3VjY2Vzc0NvdW50O1xuICAgIHRoaXMubWVzc2FnZSA9IGdldE11bHRpRXJyb3JNZXNzYWdlKG1zZywgZmFpbHVyZXMpO1xufVxuZGVyaXZlKE1vZGlmeUVycm9yKS5mcm9tKERleGllRXJyb3IpO1xuZnVuY3Rpb24gQnVsa0Vycm9yKG1zZywgZmFpbHVyZXMpIHtcbiAgICB0aGlzLl9lID0gZ2V0RXJyb3JXaXRoU3RhY2soKTtcbiAgICB0aGlzLm5hbWUgPSBcIkJ1bGtFcnJvclwiO1xuICAgIHRoaXMuZmFpbHVyZXMgPSBmYWlsdXJlcztcbiAgICB0aGlzLm1lc3NhZ2UgPSBnZXRNdWx0aUVycm9yTWVzc2FnZShtc2csIGZhaWx1cmVzKTtcbn1cbmRlcml2ZShCdWxrRXJyb3IpLmZyb20oRGV4aWVFcnJvcik7XG52YXIgZXJybmFtZXMgPSBlcnJvckxpc3QucmVkdWNlKGZ1bmN0aW9uIChvYmosIG5hbWUpIHsgcmV0dXJuIChvYmpbbmFtZV0gPSBuYW1lICsgXCJFcnJvclwiLCBvYmopOyB9LCB7fSk7XG52YXIgQmFzZUV4Y2VwdGlvbiA9IERleGllRXJyb3I7XG52YXIgZXhjZXB0aW9ucyA9IGVycm9yTGlzdC5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwgbmFtZSkge1xuICAgIHZhciBmdWxsTmFtZSA9IG5hbWUgKyBcIkVycm9yXCI7XG4gICAgZnVuY3Rpb24gRGV4aWVFcnJvcihtc2dPcklubmVyLCBpbm5lcikge1xuICAgICAgICB0aGlzLl9lID0gZ2V0RXJyb3JXaXRoU3RhY2soKTtcbiAgICAgICAgdGhpcy5uYW1lID0gZnVsbE5hbWU7XG4gICAgICAgIGlmICghbXNnT3JJbm5lcikge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gZGVmYXVsdFRleHRzW25hbWVdIHx8IGZ1bGxOYW1lO1xuICAgICAgICAgICAgdGhpcy5pbm5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIG1zZ09ySW5uZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIlwiICsgbXNnT3JJbm5lciArICghaW5uZXIgPyAnJyA6ICdcXG4gJyArIGlubmVyKTtcbiAgICAgICAgICAgIHRoaXMuaW5uZXIgPSBpbm5lciB8fCBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBtc2dPcklubmVyID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gbXNnT3JJbm5lci5uYW1lICsgXCIgXCIgKyBtc2dPcklubmVyLm1lc3NhZ2U7XG4gICAgICAgICAgICB0aGlzLmlubmVyID0gbXNnT3JJbm5lcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkZXJpdmUoRGV4aWVFcnJvcikuZnJvbShCYXNlRXhjZXB0aW9uKTtcbiAgICBvYmpbbmFtZV0gPSBEZXhpZUVycm9yO1xuICAgIHJldHVybiBvYmo7XG59LCB7fSk7XG5leGNlcHRpb25zLlN5bnRheCA9IFN5bnRheEVycm9yO1xuZXhjZXB0aW9ucy5UeXBlID0gVHlwZUVycm9yO1xuZXhjZXB0aW9ucy5SYW5nZSA9IFJhbmdlRXJyb3I7XG52YXIgZXhjZXB0aW9uTWFwID0gaWRiRG9tRXJyb3JOYW1lcy5yZWR1Y2UoZnVuY3Rpb24gKG9iaiwgbmFtZSkge1xuICAgIG9ialtuYW1lICsgXCJFcnJvclwiXSA9IGV4Y2VwdGlvbnNbbmFtZV07XG4gICAgcmV0dXJuIG9iajtcbn0sIHt9KTtcbmZ1bmN0aW9uIG1hcEVycm9yKGRvbUVycm9yLCBtZXNzYWdlKSB7XG4gICAgaWYgKCFkb21FcnJvciB8fCBkb21FcnJvciBpbnN0YW5jZW9mIERleGllRXJyb3IgfHwgZG9tRXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IgfHwgZG9tRXJyb3IgaW5zdGFuY2VvZiBTeW50YXhFcnJvciB8fCAhZG9tRXJyb3IubmFtZSB8fCAhZXhjZXB0aW9uTWFwW2RvbUVycm9yLm5hbWVdKVxuICAgICAgICByZXR1cm4gZG9tRXJyb3I7XG4gICAgdmFyIHJ2ID0gbmV3IGV4Y2VwdGlvbk1hcFtkb21FcnJvci5uYW1lXShtZXNzYWdlIHx8IGRvbUVycm9yLm1lc3NhZ2UsIGRvbUVycm9yKTtcbiAgICBpZiAoXCJzdGFja1wiIGluIGRvbUVycm9yKSB7XG4gICAgICAgIHNldFByb3AocnYsIFwic3RhY2tcIiwgeyBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbm5lci5zdGFjaztcbiAgICAgICAgICAgIH0gfSk7XG4gICAgfVxuICAgIHJldHVybiBydjtcbn1cbnZhciBmdWxsTmFtZUV4Y2VwdGlvbnMgPSBlcnJvckxpc3QucmVkdWNlKGZ1bmN0aW9uIChvYmosIG5hbWUpIHtcbiAgICBpZiAoW1wiU3ludGF4XCIsIFwiVHlwZVwiLCBcIlJhbmdlXCJdLmluZGV4T2YobmFtZSkgPT09IC0xKVxuICAgICAgICBvYmpbbmFtZSArIFwiRXJyb3JcIl0gPSBleGNlcHRpb25zW25hbWVdO1xuICAgIHJldHVybiBvYmo7XG59LCB7fSk7XG5mdWxsTmFtZUV4Y2VwdGlvbnMuTW9kaWZ5RXJyb3IgPSBNb2RpZnlFcnJvcjtcbmZ1bGxOYW1lRXhjZXB0aW9ucy5EZXhpZUVycm9yID0gRGV4aWVFcnJvcjtcbmZ1bGxOYW1lRXhjZXB0aW9ucy5CdWxrRXJyb3IgPSBCdWxrRXJyb3I7XG5cbmZ1bmN0aW9uIG5vcCgpIHsgfVxuZnVuY3Rpb24gbWlycm9yKHZhbCkgeyByZXR1cm4gdmFsOyB9XG5mdW5jdGlvbiBwdXJlRnVuY3Rpb25DaGFpbihmMSwgZjIpIHtcbiAgICBpZiAoZjEgPT0gbnVsbCB8fCBmMSA9PT0gbWlycm9yKVxuICAgICAgICByZXR1cm4gZjI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgcmV0dXJuIGYyKGYxKHZhbCkpO1xuICAgIH07XG59XG5mdW5jdGlvbiBjYWxsQm90aChvbjEsIG9uMikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIG9uMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBvbjIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xufVxuZnVuY3Rpb24gaG9va0NyZWF0aW5nQ2hhaW4oZjEsIGYyKSB7XG4gICAgaWYgKGYxID09PSBub3ApXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcmVzID0gZjEuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHJlcyAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJndW1lbnRzWzBdID0gcmVzO1xuICAgICAgICB2YXIgb25zdWNjZXNzID0gdGhpcy5vbnN1Y2Nlc3MsXG4gICAgICAgIG9uZXJyb3IgPSB0aGlzLm9uZXJyb3I7XG4gICAgICAgIHRoaXMub25zdWNjZXNzID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbmVycm9yID0gbnVsbDtcbiAgICAgICAgdmFyIHJlczIgPSBmMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAob25zdWNjZXNzKVxuICAgICAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyA/IGNhbGxCb3RoKG9uc3VjY2VzcywgdGhpcy5vbnN1Y2Nlc3MpIDogb25zdWNjZXNzO1xuICAgICAgICBpZiAob25lcnJvcilcbiAgICAgICAgICAgIHRoaXMub25lcnJvciA9IHRoaXMub25lcnJvciA/IGNhbGxCb3RoKG9uZXJyb3IsIHRoaXMub25lcnJvcikgOiBvbmVycm9yO1xuICAgICAgICByZXR1cm4gcmVzMiAhPT0gdW5kZWZpbmVkID8gcmVzMiA6IHJlcztcbiAgICB9O1xufVxuZnVuY3Rpb24gaG9va0RlbGV0aW5nQ2hhaW4oZjEsIGYyKSB7XG4gICAgaWYgKGYxID09PSBub3ApXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBmMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB2YXIgb25zdWNjZXNzID0gdGhpcy5vbnN1Y2Nlc3MsXG4gICAgICAgIG9uZXJyb3IgPSB0aGlzLm9uZXJyb3I7XG4gICAgICAgIHRoaXMub25zdWNjZXNzID0gdGhpcy5vbmVycm9yID0gbnVsbDtcbiAgICAgICAgZjIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKG9uc3VjY2VzcylcbiAgICAgICAgICAgIHRoaXMub25zdWNjZXNzID0gdGhpcy5vbnN1Y2Nlc3MgPyBjYWxsQm90aChvbnN1Y2Nlc3MsIHRoaXMub25zdWNjZXNzKSA6IG9uc3VjY2VzcztcbiAgICAgICAgaWYgKG9uZXJyb3IpXG4gICAgICAgICAgICB0aGlzLm9uZXJyb3IgPSB0aGlzLm9uZXJyb3IgPyBjYWxsQm90aChvbmVycm9yLCB0aGlzLm9uZXJyb3IpIDogb25lcnJvcjtcbiAgICB9O1xufVxuZnVuY3Rpb24gaG9va1VwZGF0aW5nQ2hhaW4oZjEsIGYyKSB7XG4gICAgaWYgKGYxID09PSBub3ApXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKG1vZGlmaWNhdGlvbnMpIHtcbiAgICAgICAgdmFyIHJlcyA9IGYxLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIGV4dGVuZChtb2RpZmljYXRpb25zLCByZXMpO1xuICAgICAgICB2YXIgb25zdWNjZXNzID0gdGhpcy5vbnN1Y2Nlc3MsXG4gICAgICAgIG9uZXJyb3IgPSB0aGlzLm9uZXJyb3I7XG4gICAgICAgIHRoaXMub25zdWNjZXNzID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbmVycm9yID0gbnVsbDtcbiAgICAgICAgdmFyIHJlczIgPSBmMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAob25zdWNjZXNzKVxuICAgICAgICAgICAgdGhpcy5vbnN1Y2Nlc3MgPSB0aGlzLm9uc3VjY2VzcyA/IGNhbGxCb3RoKG9uc3VjY2VzcywgdGhpcy5vbnN1Y2Nlc3MpIDogb25zdWNjZXNzO1xuICAgICAgICBpZiAob25lcnJvcilcbiAgICAgICAgICAgIHRoaXMub25lcnJvciA9IHRoaXMub25lcnJvciA/IGNhbGxCb3RoKG9uZXJyb3IsIHRoaXMub25lcnJvcikgOiBvbmVycm9yO1xuICAgICAgICByZXR1cm4gcmVzID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgKHJlczIgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlczIpIDpcbiAgICAgICAgICAgIChleHRlbmQocmVzLCByZXMyKSk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJldmVyc2VTdG9wcGFibGVFdmVudENoYWluKGYxLCBmMikge1xuICAgIGlmIChmMSA9PT0gbm9wKVxuICAgICAgICByZXR1cm4gZjI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgPT09IGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gZjEuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBwcm9taXNhYmxlQ2hhaW4oZjEsIGYyKSB7XG4gICAgaWYgKGYxID09PSBub3ApXG4gICAgICAgIHJldHVybiBmMjtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcmVzID0gZjEuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHJlcyAmJiB0eXBlb2YgcmVzLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhciB0aGl6ID0gdGhpcywgaSA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoaSk7XG4gICAgICAgICAgICB3aGlsZSAoaS0tKVxuICAgICAgICAgICAgICAgIGFyZ3NbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICByZXR1cm4gcmVzLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmMi5hcHBseSh0aGl6LCBhcmdzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH07XG59XG5cbnZhciBJTlRFUk5BTCA9IHt9O1xudmFyIExPTkdfU1RBQ0tTX0NMSVBfTElNSVQgPSAxMDA7XG52YXIgTUFYX0xPTkdfU1RBQ0tTID0gMjA7XG52YXIgWk9ORV9FQ0hPX0xJTUlUID0gMTAwO1xudmFyIF9hID0gdHlwZW9mIFByb21pc2UgPT09ICd1bmRlZmluZWQnID9cbiAgICBbXSA6XG4gICAgKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGdsb2JhbFAgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiBjcnlwdG8gPT09ICd1bmRlZmluZWQnIHx8ICFjcnlwdG8uc3VidGxlKVxuICAgICAgICAgICAgcmV0dXJuIFtnbG9iYWxQLCBnbG9iYWxQLl9fcHJvdG9fXywgZ2xvYmFsUF07XG4gICAgICAgIHZhciBuYXRpdmVQID0gY3J5cHRvLnN1YnRsZS5kaWdlc3QoXCJTSEEtNTEyXCIsIG5ldyBVaW50OEFycmF5KFswXSkpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmF0aXZlUCxcbiAgICAgICAgICAgIG5hdGl2ZVAuX19wcm90b19fLFxuICAgICAgICAgICAgZ2xvYmFsUFxuICAgICAgICBdO1xuICAgIH0pKCk7XG52YXIgcmVzb2x2ZWROYXRpdmVQcm9taXNlID0gX2FbMF07XG52YXIgbmF0aXZlUHJvbWlzZVByb3RvID0gX2FbMV07XG52YXIgcmVzb2x2ZWRHbG9iYWxQcm9taXNlID0gX2FbMl07XG52YXIgbmF0aXZlUHJvbWlzZVRoZW4gPSBuYXRpdmVQcm9taXNlUHJvdG8gJiYgbmF0aXZlUHJvbWlzZVByb3RvLnRoZW47XG52YXIgTmF0aXZlUHJvbWlzZSA9IHJlc29sdmVkTmF0aXZlUHJvbWlzZSAmJiByZXNvbHZlZE5hdGl2ZVByb21pc2UuY29uc3RydWN0b3I7XG52YXIgcGF0Y2hHbG9iYWxQcm9taXNlID0gISFyZXNvbHZlZEdsb2JhbFByb21pc2U7XG52YXIgc3RhY2tfYmVpbmdfZ2VuZXJhdGVkID0gZmFsc2U7XG52YXIgc2NoZWR1bGVQaHlzaWNhbFRpY2sgPSByZXNvbHZlZEdsb2JhbFByb21pc2UgP1xuICAgIGZ1bmN0aW9uICgpIHsgcmVzb2x2ZWRHbG9iYWxQcm9taXNlLnRoZW4ocGh5c2ljYWxUaWNrKTsgfVxuICAgIDpcbiAgICAgICAgX2dsb2JhbC5zZXRJbW1lZGlhdGUgP1xuICAgICAgICAgICAgc2V0SW1tZWRpYXRlLmJpbmQobnVsbCwgcGh5c2ljYWxUaWNrKSA6XG4gICAgICAgICAgICBfZ2xvYmFsLk11dGF0aW9uT2JzZXJ2ZXIgP1xuICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhpZGRlbkRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgICAgICAgICAgICAgIChuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaHlzaWNhbFRpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlbkRpdiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH0pKS5vYnNlcnZlKGhpZGRlbkRpdiwgeyBhdHRyaWJ1dGVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICBoaWRkZW5EaXYuc2V0QXR0cmlidXRlKCdpJywgJzEnKTtcbiAgICAgICAgICAgICAgICB9IDpcbiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7IHNldFRpbWVvdXQocGh5c2ljYWxUaWNrLCAwKTsgfTtcbnZhciBhc2FwJDEgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIGFyZ3MpIHtcbiAgICBtaWNyb3RpY2tRdWV1ZS5wdXNoKFtjYWxsYmFjaywgYXJnc10pO1xuICAgIGlmIChuZWVkc05ld1BoeXNpY2FsVGljaykge1xuICAgICAgICBzY2hlZHVsZVBoeXNpY2FsVGljaygpO1xuICAgICAgICBuZWVkc05ld1BoeXNpY2FsVGljayA9IGZhbHNlO1xuICAgIH1cbn07XG52YXIgaXNPdXRzaWRlTWljcm9UaWNrID0gdHJ1ZTtcbnZhciBuZWVkc05ld1BoeXNpY2FsVGljayA9IHRydWU7XG52YXIgdW5oYW5kbGVkRXJyb3JzID0gW107XG52YXIgcmVqZWN0aW5nRXJyb3JzID0gW107XG52YXIgY3VycmVudEZ1bGZpbGxlciA9IG51bGw7XG52YXIgcmVqZWN0aW9uTWFwcGVyID0gbWlycm9yO1xudmFyIGdsb2JhbFBTRCA9IHtcbiAgICBpZDogJ2dsb2JhbCcsXG4gICAgZ2xvYmFsOiB0cnVlLFxuICAgIHJlZjogMCxcbiAgICB1bmhhbmRsZWRzOiBbXSxcbiAgICBvbnVuaGFuZGxlZDogZ2xvYmFsRXJyb3IsXG4gICAgcGdwOiBmYWxzZSxcbiAgICBlbnY6IHt9LFxuICAgIGZpbmFsaXplOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudW5oYW5kbGVkcy5mb3JFYWNoKGZ1bmN0aW9uICh1aCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBnbG9iYWxFcnJvcih1aFswXSwgdWhbMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xudmFyIFBTRCA9IGdsb2JhbFBTRDtcbnZhciBtaWNyb3RpY2tRdWV1ZSA9IFtdO1xudmFyIG51bVNjaGVkdWxlZENhbGxzID0gMDtcbnZhciB0aWNrRmluYWxpemVycyA9IFtdO1xuZnVuY3Rpb24gRGV4aWVQcm9taXNlKGZuKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzICE9PSAnb2JqZWN0JylcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUHJvbWlzZXMgbXVzdCBiZSBjb25zdHJ1Y3RlZCB2aWEgbmV3Jyk7XG4gICAgdGhpcy5fbGlzdGVuZXJzID0gW107XG4gICAgdGhpcy5vbnVuY2F0Y2hlZCA9IG5vcDtcbiAgICB0aGlzLl9saWIgPSBmYWxzZTtcbiAgICB2YXIgcHNkID0gKHRoaXMuX1BTRCA9IFBTRCk7XG4gICAgaWYgKGRlYnVnKSB7XG4gICAgICAgIHRoaXMuX3N0YWNrSG9sZGVyID0gZ2V0RXJyb3JXaXRoU3RhY2soKTtcbiAgICAgICAgdGhpcy5fcHJldiA9IG51bGw7XG4gICAgICAgIHRoaXMuX251bVByZXYgPSAwO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmIChmbiAhPT0gSU5URVJOQUwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdOb3QgYSBmdW5jdGlvbicpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGFyZ3VtZW50c1sxXTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBhcmd1bWVudHNbMl07XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gZmFsc2UpXG4gICAgICAgICAgICBoYW5kbGVSZWplY3Rpb24odGhpcywgdGhpcy5fdmFsdWUpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlID0gbnVsbDtcbiAgICB0aGlzLl92YWx1ZSA9IG51bGw7XG4gICAgKytwc2QucmVmO1xuICAgIGV4ZWN1dGVQcm9taXNlVGFzayh0aGlzLCBmbik7XG59XG52YXIgdGhlblByb3AgPSB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwc2QgPSBQU0QsIG1pY3JvVGFza0lkID0gdG90YWxFY2hvZXM7XG4gICAgICAgIGZ1bmN0aW9uIHRoZW4ob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgcG9zc2libGVBd2FpdCA9ICFwc2QuZ2xvYmFsICYmIChwc2QgIT09IFBTRCB8fCBtaWNyb1Rhc2tJZCAhPT0gdG90YWxFY2hvZXMpO1xuICAgICAgICAgICAgdmFyIGNsZWFudXAgPSBwb3NzaWJsZUF3YWl0ICYmICFkZWNyZW1lbnRFeHBlY3RlZEF3YWl0cygpO1xuICAgICAgICAgICAgdmFyIHJ2ID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgcHJvcGFnYXRlVG9MaXN0ZW5lcihfdGhpcywgbmV3IExpc3RlbmVyKG5hdGl2ZUF3YWl0Q29tcGF0aWJsZVdyYXAob25GdWxmaWxsZWQsIHBzZCwgcG9zc2libGVBd2FpdCwgY2xlYW51cCksIG5hdGl2ZUF3YWl0Q29tcGF0aWJsZVdyYXAob25SZWplY3RlZCwgcHNkLCBwb3NzaWJsZUF3YWl0LCBjbGVhbnVwKSwgcmVzb2x2ZSwgcmVqZWN0LCBwc2QpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZGVidWcgJiYgbGlua1RvUHJldmlvdXNQcm9taXNlKHJ2LCB0aGlzKTtcbiAgICAgICAgICAgIHJldHVybiBydjtcbiAgICAgICAgfVxuICAgICAgICB0aGVuLnByb3RvdHlwZSA9IElOVEVSTkFMO1xuICAgICAgICByZXR1cm4gdGhlbjtcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHNldFByb3AodGhpcywgJ3RoZW4nLCB2YWx1ZSAmJiB2YWx1ZS5wcm90b3R5cGUgPT09IElOVEVSTkFMID9cbiAgICAgICAgICAgIHRoZW5Qcm9wIDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2V0OiB0aGVuUHJvcC5zZXRcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn07XG5wcm9wcyhEZXhpZVByb21pc2UucHJvdG90eXBlLCB7XG4gICAgdGhlbjogdGhlblByb3AsXG4gICAgX3RoZW46IGZ1bmN0aW9uIChvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICAgICAgICBwcm9wYWdhdGVUb0xpc3RlbmVyKHRoaXMsIG5ldyBMaXN0ZW5lcihudWxsLCBudWxsLCBvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCwgUFNEKSk7XG4gICAgfSxcbiAgICBjYXRjaDogZnVuY3Rpb24gKG9uUmVqZWN0ZWQpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aGVuKG51bGwsIG9uUmVqZWN0ZWQpO1xuICAgICAgICB2YXIgdHlwZSA9IGFyZ3VtZW50c1swXSwgaGFuZGxlciA9IGFyZ3VtZW50c1sxXTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdGhpcy50aGVuKG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiBlcnIgaW5zdGFuY2VvZiB0eXBlID8gaGFuZGxlcihlcnIpIDogUHJvbWlzZVJlamVjdChlcnIpO1xuICAgICAgICB9KVxuICAgICAgICAgICAgOiB0aGlzLnRoZW4obnVsbCwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIHJldHVybiBlcnIgJiYgZXJyLm5hbWUgPT09IHR5cGUgPyBoYW5kbGVyKGVycikgOiBQcm9taXNlUmVqZWN0KGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICB9LFxuICAgIGZpbmFsbHk6IGZ1bmN0aW9uIChvbkZpbmFsbHkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIG9uRmluYWxseSgpO1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICBvbkZpbmFsbHkoKTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlUmVqZWN0KGVycik7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgc3RhY2s6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc3RhY2spXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3N0YWNrO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzdGFja19iZWluZ19nZW5lcmF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHZhciBzdGFja3MgPSBnZXRTdGFjayh0aGlzLCBbXSwgTUFYX0xPTkdfU1RBQ0tTKTtcbiAgICAgICAgICAgICAgICB2YXIgc3RhY2sgPSBzdGFja3Muam9pbihcIlxcbkZyb20gcHJldmlvdXM6IFwiKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc3RhdGUgIT09IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0YWNrID0gc3RhY2s7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICAgICAgc3RhY2tfYmVpbmdfZ2VuZXJhdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHRpbWVvdXQ6IGZ1bmN0aW9uIChtcywgbXNnKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiBtcyA8IEluZmluaXR5ID9cbiAgICAgICAgICAgIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIHZhciBoYW5kbGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlamVjdChuZXcgZXhjZXB0aW9ucy5UaW1lb3V0KG1zZykpOyB9LCBtcyk7XG4gICAgICAgICAgICAgICAgX3RoaXMudGhlbihyZXNvbHZlLCByZWplY3QpLmZpbmFsbHkoY2xlYXJUaW1lb3V0LmJpbmQobnVsbCwgaGFuZGxlKSk7XG4gICAgICAgICAgICB9KSA6IHRoaXM7XG4gICAgfVxufSk7XG5pZiAodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKVxuICAgIHNldFByb3AoRGV4aWVQcm9taXNlLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCAnRGV4aWUuUHJvbWlzZScpO1xuZ2xvYmFsUFNELmVudiA9IHNuYXBTaG90KCk7XG5mdW5jdGlvbiBMaXN0ZW5lcihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCwgcmVzb2x2ZSwgcmVqZWN0LCB6b25lKSB7XG4gICAgdGhpcy5vbkZ1bGZpbGxlZCA9IHR5cGVvZiBvbkZ1bGZpbGxlZCA9PT0gJ2Z1bmN0aW9uJyA/IG9uRnVsZmlsbGVkIDogbnVsbDtcbiAgICB0aGlzLm9uUmVqZWN0ZWQgPSB0eXBlb2Ygb25SZWplY3RlZCA9PT0gJ2Z1bmN0aW9uJyA/IG9uUmVqZWN0ZWQgOiBudWxsO1xuICAgIHRoaXMucmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgdGhpcy5yZWplY3QgPSByZWplY3Q7XG4gICAgdGhpcy5wc2QgPSB6b25lO1xufVxucHJvcHMoRGV4aWVQcm9taXNlLCB7XG4gICAgYWxsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB2YWx1ZXMgPSBnZXRBcnJheU9mLmFwcGx5KG51bGwsIGFyZ3VtZW50cylcbiAgICAgICAgICAgIC5tYXAob25Qb3NzaWJsZVBhcmFsbGVsbEFzeW5jKTtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShbXSk7XG4gICAgICAgICAgICB2YXIgcmVtYWluaW5nID0gdmFsdWVzLmxlbmd0aDtcbiAgICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uIChhLCBpKSB7IHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZShhKS50aGVuKGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICAgICAgdmFsdWVzW2ldID0geDtcbiAgICAgICAgICAgICAgICBpZiAoIS0tcmVtYWluaW5nKVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHZhbHVlcyk7XG4gICAgICAgICAgICB9LCByZWplY3QpOyB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICByZXNvbHZlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGV4aWVQcm9taXNlKVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFsdWUudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHZhciBydiA9IG5ldyBEZXhpZVByb21pc2UoSU5URVJOQUwsIHRydWUsIHZhbHVlKTtcbiAgICAgICAgbGlua1RvUHJldmlvdXNQcm9taXNlKHJ2LCBjdXJyZW50RnVsZmlsbGVyKTtcbiAgICAgICAgcmV0dXJuIHJ2O1xuICAgIH0sXG4gICAgcmVqZWN0OiBQcm9taXNlUmVqZWN0LFxuICAgIHJhY2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHZhbHVlcyA9IGdldEFycmF5T2YuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5tYXAob25Qb3NzaWJsZVBhcmFsbGVsbEFzeW5jKTtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgdmFsdWVzLm1hcChmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHZhbHVlKS50aGVuKHJlc29sdmUsIHJlamVjdCk7IH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIFBTRDoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFBTRDsgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIFBTRCA9IHZhbHVlOyB9XG4gICAgfSxcbiAgICB0b3RhbEVjaG9lczogeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRvdGFsRWNob2VzOyB9IH0sXG4gICAgbmV3UFNEOiBuZXdTY29wZSxcbiAgICB1c2VQU0Q6IHVzZVBTRCxcbiAgICBzY2hlZHVsZXI6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhc2FwJDE7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7IGFzYXAkMSA9IHZhbHVlOyB9XG4gICAgfSxcbiAgICByZWplY3Rpb25NYXBwZXI6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiByZWplY3Rpb25NYXBwZXI7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7IHJlamVjdGlvbk1hcHBlciA9IHZhbHVlOyB9XG4gICAgfSxcbiAgICBmb2xsb3c6IGZ1bmN0aW9uIChmbiwgem9uZVByb3BzKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXdTY29wZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHBzZCA9IFBTRDtcbiAgICAgICAgICAgICAgICBwc2QudW5oYW5kbGVkcyA9IFtdO1xuICAgICAgICAgICAgICAgIHBzZC5vbnVuaGFuZGxlZCA9IHJlamVjdDtcbiAgICAgICAgICAgICAgICBwc2QuZmluYWxpemUgPSBjYWxsQm90aChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIHJ1bl9hdF9lbmRfb2ZfdGhpc19vcl9uZXh0X3BoeXNpY2FsX3RpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMudW5oYW5kbGVkcy5sZW5ndGggPT09IDAgPyByZXNvbHZlKCkgOiByZWplY3QoX3RoaXMudW5oYW5kbGVkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sIHBzZC5maW5hbGl6ZSk7XG4gICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgIH0sIHpvbmVQcm9wcywgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG5pZiAoTmF0aXZlUHJvbWlzZSkge1xuICAgIGlmIChOYXRpdmVQcm9taXNlLmFsbFNldHRsZWQpXG4gICAgICAgIHNldFByb3AoRGV4aWVQcm9taXNlLCBcImFsbFNldHRsZWRcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHBvc3NpYmxlUHJvbWlzZXMgPSBnZXRBcnJheU9mLmFwcGx5KG51bGwsIGFyZ3VtZW50cykubWFwKG9uUG9zc2libGVQYXJhbGxlbGxBc3luYyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICAgIGlmIChwb3NzaWJsZVByb21pc2VzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShbXSk7XG4gICAgICAgICAgICAgICAgdmFyIHJlbWFpbmluZyA9IHBvc3NpYmxlUHJvbWlzZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHZhciByZXN1bHRzID0gbmV3IEFycmF5KHJlbWFpbmluZyk7XG4gICAgICAgICAgICAgICAgcG9zc2libGVQcm9taXNlcy5mb3JFYWNoKGZ1bmN0aW9uIChwLCBpKSB7IHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZShwKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gcmVzdWx0c1tpXSA9IHsgc3RhdHVzOiBcImZ1bGZpbGxlZFwiLCB2YWx1ZTogdmFsdWUgfTsgfSwgZnVuY3Rpb24gKHJlYXNvbikgeyByZXR1cm4gcmVzdWx0c1tpXSA9IHsgc3RhdHVzOiBcInJlamVjdGVkXCIsIHJlYXNvbjogcmVhc29uIH07IH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIC0tcmVtYWluaW5nIHx8IHJlc29sdmUocmVzdWx0cyk7IH0pOyB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICBpZiAoTmF0aXZlUHJvbWlzZS5hbnkgJiYgdHlwZW9mIEFnZ3JlZ2F0ZUVycm9yICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgc2V0UHJvcChEZXhpZVByb21pc2UsIFwiYW55XCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBwb3NzaWJsZVByb21pc2VzID0gZ2V0QXJyYXlPZi5hcHBseShudWxsLCBhcmd1bWVudHMpLm1hcChvblBvc3NpYmxlUGFyYWxsZWxsQXN5bmMpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIGlmIChwb3NzaWJsZVByb21pc2VzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBBZ2dyZWdhdGVFcnJvcihbXSkpO1xuICAgICAgICAgICAgICAgIHZhciByZW1haW5pbmcgPSBwb3NzaWJsZVByb21pc2VzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB2YXIgZmFpbHVyZXMgPSBuZXcgQXJyYXkocmVtYWluaW5nKTtcbiAgICAgICAgICAgICAgICBwb3NzaWJsZVByb21pc2VzLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsgcmV0dXJuIERleGllUHJvbWlzZS5yZXNvbHZlKHApLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiByZXNvbHZlKHZhbHVlKTsgfSwgZnVuY3Rpb24gKGZhaWx1cmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZXNbaV0gPSBmYWlsdXJlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIS0tcmVtYWluaW5nKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBBZ2dyZWdhdGVFcnJvcihmYWlsdXJlcykpO1xuICAgICAgICAgICAgICAgIH0pOyB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbn1cbmZ1bmN0aW9uIGV4ZWN1dGVQcm9taXNlVGFzayhwcm9taXNlLCBmbikge1xuICAgIHRyeSB7XG4gICAgICAgIGZuKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHByb21pc2UuX3N0YXRlICE9PSBudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gcHJvbWlzZSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLicpO1xuICAgICAgICAgICAgdmFyIHNob3VsZEV4ZWN1dGVUaWNrID0gcHJvbWlzZS5fbGliICYmIGJlZ2luTWljcm9UaWNrU2NvcGUoKTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGV4ZWN1dGVQcm9taXNlVGFzayhwcm9taXNlLCBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlIGluc3RhbmNlb2YgRGV4aWVQcm9taXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLl90aGVuKHJlc29sdmUsIHJlamVjdCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJvbWlzZS5fc3RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHByb21pc2UuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgcHJvcGFnYXRlQWxsTGlzdGVuZXJzKHByb21pc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNob3VsZEV4ZWN1dGVUaWNrKVxuICAgICAgICAgICAgICAgIGVuZE1pY3JvVGlja1Njb3BlKCk7XG4gICAgICAgIH0sIGhhbmRsZVJlamVjdGlvbi5iaW5kKG51bGwsIHByb21pc2UpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGV4KSB7XG4gICAgICAgIGhhbmRsZVJlamVjdGlvbihwcm9taXNlLCBleCk7XG4gICAgfVxufVxuZnVuY3Rpb24gaGFuZGxlUmVqZWN0aW9uKHByb21pc2UsIHJlYXNvbikge1xuICAgIHJlamVjdGluZ0Vycm9ycy5wdXNoKHJlYXNvbik7XG4gICAgaWYgKHByb21pc2UuX3N0YXRlICE9PSBudWxsKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIHNob3VsZEV4ZWN1dGVUaWNrID0gcHJvbWlzZS5fbGliICYmIGJlZ2luTWljcm9UaWNrU2NvcGUoKTtcbiAgICByZWFzb24gPSByZWplY3Rpb25NYXBwZXIocmVhc29uKTtcbiAgICBwcm9taXNlLl9zdGF0ZSA9IGZhbHNlO1xuICAgIHByb21pc2UuX3ZhbHVlID0gcmVhc29uO1xuICAgIGRlYnVnICYmIHJlYXNvbiAhPT0gbnVsbCAmJiB0eXBlb2YgcmVhc29uID09PSAnb2JqZWN0JyAmJiAhcmVhc29uLl9wcm9taXNlICYmIHRyeUNhdGNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG9yaWdQcm9wID0gZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHJlYXNvbiwgXCJzdGFja1wiKTtcbiAgICAgICAgcmVhc29uLl9wcm9taXNlID0gcHJvbWlzZTtcbiAgICAgICAgc2V0UHJvcChyZWFzb24sIFwic3RhY2tcIiwge1xuICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YWNrX2JlaW5nX2dlbmVyYXRlZCA/XG4gICAgICAgICAgICAgICAgICAgIG9yaWdQcm9wICYmIChvcmlnUHJvcC5nZXQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ1Byb3AuZ2V0LmFwcGx5KHJlYXNvbikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ1Byb3AudmFsdWUpIDpcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5zdGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgYWRkUG9zc2libHlVbmhhbmRsZWRFcnJvcihwcm9taXNlKTtcbiAgICBwcm9wYWdhdGVBbGxMaXN0ZW5lcnMocHJvbWlzZSk7XG4gICAgaWYgKHNob3VsZEV4ZWN1dGVUaWNrKVxuICAgICAgICBlbmRNaWNyb1RpY2tTY29wZSgpO1xufVxuZnVuY3Rpb24gcHJvcGFnYXRlQWxsTGlzdGVuZXJzKHByb21pc2UpIHtcbiAgICB2YXIgbGlzdGVuZXJzID0gcHJvbWlzZS5fbGlzdGVuZXJzO1xuICAgIHByb21pc2UuX2xpc3RlbmVycyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBsaXN0ZW5lcnMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgcHJvcGFnYXRlVG9MaXN0ZW5lcihwcm9taXNlLCBsaXN0ZW5lcnNbaV0pO1xuICAgIH1cbiAgICB2YXIgcHNkID0gcHJvbWlzZS5fUFNEO1xuICAgIC0tcHNkLnJlZiB8fCBwc2QuZmluYWxpemUoKTtcbiAgICBpZiAobnVtU2NoZWR1bGVkQ2FsbHMgPT09IDApIHtcbiAgICAgICAgKytudW1TY2hlZHVsZWRDYWxscztcbiAgICAgICAgYXNhcCQxKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICgtLW51bVNjaGVkdWxlZENhbGxzID09PSAwKVxuICAgICAgICAgICAgICAgIGZpbmFsaXplUGh5c2ljYWxUaWNrKCk7XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9wYWdhdGVUb0xpc3RlbmVyKHByb21pc2UsIGxpc3RlbmVyKSB7XG4gICAgaWYgKHByb21pc2UuX3N0YXRlID09PSBudWxsKSB7XG4gICAgICAgIHByb21pc2UuX2xpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY2IgPSBwcm9taXNlLl9zdGF0ZSA/IGxpc3RlbmVyLm9uRnVsZmlsbGVkIDogbGlzdGVuZXIub25SZWplY3RlZDtcbiAgICBpZiAoY2IgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIChwcm9taXNlLl9zdGF0ZSA/IGxpc3RlbmVyLnJlc29sdmUgOiBsaXN0ZW5lci5yZWplY3QpKHByb21pc2UuX3ZhbHVlKTtcbiAgICB9XG4gICAgKytsaXN0ZW5lci5wc2QucmVmO1xuICAgICsrbnVtU2NoZWR1bGVkQ2FsbHM7XG4gICAgYXNhcCQxKGNhbGxMaXN0ZW5lciwgW2NiLCBwcm9taXNlLCBsaXN0ZW5lcl0pO1xufVxuZnVuY3Rpb24gY2FsbExpc3RlbmVyKGNiLCBwcm9taXNlLCBsaXN0ZW5lcikge1xuICAgIHRyeSB7XG4gICAgICAgIGN1cnJlbnRGdWxmaWxsZXIgPSBwcm9taXNlO1xuICAgICAgICB2YXIgcmV0LCB2YWx1ZSA9IHByb21pc2UuX3ZhbHVlO1xuICAgICAgICBpZiAocHJvbWlzZS5fc3RhdGUpIHtcbiAgICAgICAgICAgIHJldCA9IGNiKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyZWplY3RpbmdFcnJvcnMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJlamVjdGluZ0Vycm9ycyA9IFtdO1xuICAgICAgICAgICAgcmV0ID0gY2IodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHJlamVjdGluZ0Vycm9ycy5pbmRleE9mKHZhbHVlKSA9PT0gLTEpXG4gICAgICAgICAgICAgICAgbWFya0Vycm9yQXNIYW5kbGVkKHByb21pc2UpO1xuICAgICAgICB9XG4gICAgICAgIGxpc3RlbmVyLnJlc29sdmUocmV0KTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgbGlzdGVuZXIucmVqZWN0KGUpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgY3VycmVudEZ1bGZpbGxlciA9IG51bGw7XG4gICAgICAgIGlmICgtLW51bVNjaGVkdWxlZENhbGxzID09PSAwKVxuICAgICAgICAgICAgZmluYWxpemVQaHlzaWNhbFRpY2soKTtcbiAgICAgICAgLS1saXN0ZW5lci5wc2QucmVmIHx8IGxpc3RlbmVyLnBzZC5maW5hbGl6ZSgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFN0YWNrKHByb21pc2UsIHN0YWNrcywgbGltaXQpIHtcbiAgICBpZiAoc3RhY2tzLmxlbmd0aCA9PT0gbGltaXQpXG4gICAgICAgIHJldHVybiBzdGFja3M7XG4gICAgdmFyIHN0YWNrID0gXCJcIjtcbiAgICBpZiAocHJvbWlzZS5fc3RhdGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHZhciBmYWlsdXJlID0gcHJvbWlzZS5fdmFsdWUsIGVycm9yTmFtZSwgbWVzc2FnZTtcbiAgICAgICAgaWYgKGZhaWx1cmUgIT0gbnVsbCkge1xuICAgICAgICAgICAgZXJyb3JOYW1lID0gZmFpbHVyZS5uYW1lIHx8IFwiRXJyb3JcIjtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBmYWlsdXJlLm1lc3NhZ2UgfHwgZmFpbHVyZTtcbiAgICAgICAgICAgIHN0YWNrID0gcHJldHR5U3RhY2soZmFpbHVyZSwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlcnJvck5hbWUgPSBmYWlsdXJlO1xuICAgICAgICAgICAgbWVzc2FnZSA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgc3RhY2tzLnB1c2goZXJyb3JOYW1lICsgKG1lc3NhZ2UgPyBcIjogXCIgKyBtZXNzYWdlIDogXCJcIikgKyBzdGFjayk7XG4gICAgfVxuICAgIGlmIChkZWJ1Zykge1xuICAgICAgICBzdGFjayA9IHByZXR0eVN0YWNrKHByb21pc2UuX3N0YWNrSG9sZGVyLCAyKTtcbiAgICAgICAgaWYgKHN0YWNrICYmIHN0YWNrcy5pbmRleE9mKHN0YWNrKSA9PT0gLTEpXG4gICAgICAgICAgICBzdGFja3MucHVzaChzdGFjayk7XG4gICAgICAgIGlmIChwcm9taXNlLl9wcmV2KVxuICAgICAgICAgICAgZ2V0U3RhY2socHJvbWlzZS5fcHJldiwgc3RhY2tzLCBsaW1pdCk7XG4gICAgfVxuICAgIHJldHVybiBzdGFja3M7XG59XG5mdW5jdGlvbiBsaW5rVG9QcmV2aW91c1Byb21pc2UocHJvbWlzZSwgcHJldikge1xuICAgIHZhciBudW1QcmV2ID0gcHJldiA/IHByZXYuX251bVByZXYgKyAxIDogMDtcbiAgICBpZiAobnVtUHJldiA8IExPTkdfU1RBQ0tTX0NMSVBfTElNSVQpIHtcbiAgICAgICAgcHJvbWlzZS5fcHJldiA9IHByZXY7XG4gICAgICAgIHByb21pc2UuX251bVByZXYgPSBudW1QcmV2O1xuICAgIH1cbn1cbmZ1bmN0aW9uIHBoeXNpY2FsVGljaygpIHtcbiAgICBiZWdpbk1pY3JvVGlja1Njb3BlKCkgJiYgZW5kTWljcm9UaWNrU2NvcGUoKTtcbn1cbmZ1bmN0aW9uIGJlZ2luTWljcm9UaWNrU2NvcGUoKSB7XG4gICAgdmFyIHdhc1Jvb3RFeGVjID0gaXNPdXRzaWRlTWljcm9UaWNrO1xuICAgIGlzT3V0c2lkZU1pY3JvVGljayA9IGZhbHNlO1xuICAgIG5lZWRzTmV3UGh5c2ljYWxUaWNrID0gZmFsc2U7XG4gICAgcmV0dXJuIHdhc1Jvb3RFeGVjO1xufVxuZnVuY3Rpb24gZW5kTWljcm9UaWNrU2NvcGUoKSB7XG4gICAgdmFyIGNhbGxiYWNrcywgaSwgbDtcbiAgICBkbyB7XG4gICAgICAgIHdoaWxlIChtaWNyb3RpY2tRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjYWxsYmFja3MgPSBtaWNyb3RpY2tRdWV1ZTtcbiAgICAgICAgICAgIG1pY3JvdGlja1F1ZXVlID0gW107XG4gICAgICAgICAgICBsID0gY2FsbGJhY2tzLmxlbmd0aDtcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsOyArK2kpIHtcbiAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IGNhbGxiYWNrc1tpXTtcbiAgICAgICAgICAgICAgICBpdGVtWzBdLmFwcGx5KG51bGwsIGl0ZW1bMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSB3aGlsZSAobWljcm90aWNrUXVldWUubGVuZ3RoID4gMCk7XG4gICAgaXNPdXRzaWRlTWljcm9UaWNrID0gdHJ1ZTtcbiAgICBuZWVkc05ld1BoeXNpY2FsVGljayA9IHRydWU7XG59XG5mdW5jdGlvbiBmaW5hbGl6ZVBoeXNpY2FsVGljaygpIHtcbiAgICB2YXIgdW5oYW5kbGVkRXJycyA9IHVuaGFuZGxlZEVycm9ycztcbiAgICB1bmhhbmRsZWRFcnJvcnMgPSBbXTtcbiAgICB1bmhhbmRsZWRFcnJzLmZvckVhY2goZnVuY3Rpb24gKHApIHtcbiAgICAgICAgcC5fUFNELm9udW5oYW5kbGVkLmNhbGwobnVsbCwgcC5fdmFsdWUsIHApO1xuICAgIH0pO1xuICAgIHZhciBmaW5hbGl6ZXJzID0gdGlja0ZpbmFsaXplcnMuc2xpY2UoMCk7XG4gICAgdmFyIGkgPSBmaW5hbGl6ZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaSlcbiAgICAgICAgZmluYWxpemVyc1stLWldKCk7XG59XG5mdW5jdGlvbiBydW5fYXRfZW5kX29mX3RoaXNfb3JfbmV4dF9waHlzaWNhbF90aWNrKGZuKSB7XG4gICAgZnVuY3Rpb24gZmluYWxpemVyKCkge1xuICAgICAgICBmbigpO1xuICAgICAgICB0aWNrRmluYWxpemVycy5zcGxpY2UodGlja0ZpbmFsaXplcnMuaW5kZXhPZihmaW5hbGl6ZXIpLCAxKTtcbiAgICB9XG4gICAgdGlja0ZpbmFsaXplcnMucHVzaChmaW5hbGl6ZXIpO1xuICAgICsrbnVtU2NoZWR1bGVkQ2FsbHM7XG4gICAgYXNhcCQxKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKC0tbnVtU2NoZWR1bGVkQ2FsbHMgPT09IDApXG4gICAgICAgICAgICBmaW5hbGl6ZVBoeXNpY2FsVGljaygpO1xuICAgIH0sIFtdKTtcbn1cbmZ1bmN0aW9uIGFkZFBvc3NpYmx5VW5oYW5kbGVkRXJyb3IocHJvbWlzZSkge1xuICAgIGlmICghdW5oYW5kbGVkRXJyb3JzLnNvbWUoZnVuY3Rpb24gKHApIHsgcmV0dXJuIHAuX3ZhbHVlID09PSBwcm9taXNlLl92YWx1ZTsgfSkpXG4gICAgICAgIHVuaGFuZGxlZEVycm9ycy5wdXNoKHByb21pc2UpO1xufVxuZnVuY3Rpb24gbWFya0Vycm9yQXNIYW5kbGVkKHByb21pc2UpIHtcbiAgICB2YXIgaSA9IHVuaGFuZGxlZEVycm9ycy5sZW5ndGg7XG4gICAgd2hpbGUgKGkpXG4gICAgICAgIGlmICh1bmhhbmRsZWRFcnJvcnNbLS1pXS5fdmFsdWUgPT09IHByb21pc2UuX3ZhbHVlKSB7XG4gICAgICAgICAgICB1bmhhbmRsZWRFcnJvcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG59XG5mdW5jdGlvbiBQcm9taXNlUmVqZWN0KHJlYXNvbikge1xuICAgIHJldHVybiBuZXcgRGV4aWVQcm9taXNlKElOVEVSTkFMLCBmYWxzZSwgcmVhc29uKTtcbn1cbmZ1bmN0aW9uIHdyYXAoZm4sIGVycm9yQ2F0Y2hlcikge1xuICAgIHZhciBwc2QgPSBQU0Q7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHdhc1Jvb3RFeGVjID0gYmVnaW5NaWNyb1RpY2tTY29wZSgpLCBvdXRlclNjb3BlID0gUFNEO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3dpdGNoVG9ab25lKHBzZCwgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZXJyb3JDYXRjaGVyICYmIGVycm9yQ2F0Y2hlcihlKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHN3aXRjaFRvWm9uZShvdXRlclNjb3BlLCBmYWxzZSk7XG4gICAgICAgICAgICBpZiAod2FzUm9vdEV4ZWMpXG4gICAgICAgICAgICAgICAgZW5kTWljcm9UaWNrU2NvcGUoKTtcbiAgICAgICAgfVxuICAgIH07XG59XG52YXIgdGFzayA9IHsgYXdhaXRzOiAwLCBlY2hvZXM6IDAsIGlkOiAwIH07XG52YXIgdGFza0NvdW50ZXIgPSAwO1xudmFyIHpvbmVTdGFjayA9IFtdO1xudmFyIHpvbmVFY2hvZXMgPSAwO1xudmFyIHRvdGFsRWNob2VzID0gMDtcbnZhciB6b25lX2lkX2NvdW50ZXIgPSAwO1xuZnVuY3Rpb24gbmV3U2NvcGUoZm4sIHByb3BzJCQxLCBhMSwgYTIpIHtcbiAgICB2YXIgcGFyZW50ID0gUFNELCBwc2QgPSBPYmplY3QuY3JlYXRlKHBhcmVudCk7XG4gICAgcHNkLnBhcmVudCA9IHBhcmVudDtcbiAgICBwc2QucmVmID0gMDtcbiAgICBwc2QuZ2xvYmFsID0gZmFsc2U7XG4gICAgcHNkLmlkID0gKyt6b25lX2lkX2NvdW50ZXI7XG4gICAgdmFyIGdsb2JhbEVudiA9IGdsb2JhbFBTRC5lbnY7XG4gICAgcHNkLmVudiA9IHBhdGNoR2xvYmFsUHJvbWlzZSA/IHtcbiAgICAgICAgUHJvbWlzZTogRGV4aWVQcm9taXNlLFxuICAgICAgICBQcm9taXNlUHJvcDogeyB2YWx1ZTogRGV4aWVQcm9taXNlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0sXG4gICAgICAgIGFsbDogRGV4aWVQcm9taXNlLmFsbCxcbiAgICAgICAgcmFjZTogRGV4aWVQcm9taXNlLnJhY2UsXG4gICAgICAgIGFsbFNldHRsZWQ6IERleGllUHJvbWlzZS5hbGxTZXR0bGVkLFxuICAgICAgICBhbnk6IERleGllUHJvbWlzZS5hbnksXG4gICAgICAgIHJlc29sdmU6IERleGllUHJvbWlzZS5yZXNvbHZlLFxuICAgICAgICByZWplY3Q6IERleGllUHJvbWlzZS5yZWplY3QsXG4gICAgICAgIG50aGVuOiBnZXRQYXRjaGVkUHJvbWlzZVRoZW4oZ2xvYmFsRW52Lm50aGVuLCBwc2QpLFxuICAgICAgICBndGhlbjogZ2V0UGF0Y2hlZFByb21pc2VUaGVuKGdsb2JhbEVudi5ndGhlbiwgcHNkKVxuICAgIH0gOiB7fTtcbiAgICBpZiAocHJvcHMkJDEpXG4gICAgICAgIGV4dGVuZChwc2QsIHByb3BzJCQxKTtcbiAgICArK3BhcmVudC5yZWY7XG4gICAgcHNkLmZpbmFsaXplID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAtLXRoaXMucGFyZW50LnJlZiB8fCB0aGlzLnBhcmVudC5maW5hbGl6ZSgpO1xuICAgIH07XG4gICAgdmFyIHJ2ID0gdXNlUFNEKHBzZCwgZm4sIGExLCBhMik7XG4gICAgaWYgKHBzZC5yZWYgPT09IDApXG4gICAgICAgIHBzZC5maW5hbGl6ZSgpO1xuICAgIHJldHVybiBydjtcbn1cbmZ1bmN0aW9uIGluY3JlbWVudEV4cGVjdGVkQXdhaXRzKCkge1xuICAgIGlmICghdGFzay5pZClcbiAgICAgICAgdGFzay5pZCA9ICsrdGFza0NvdW50ZXI7XG4gICAgKyt0YXNrLmF3YWl0cztcbiAgICB0YXNrLmVjaG9lcyArPSBaT05FX0VDSE9fTElNSVQ7XG4gICAgcmV0dXJuIHRhc2suaWQ7XG59XG5mdW5jdGlvbiBkZWNyZW1lbnRFeHBlY3RlZEF3YWl0cygpIHtcbiAgICBpZiAoIXRhc2suYXdhaXRzKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKC0tdGFzay5hd2FpdHMgPT09IDApXG4gICAgICAgIHRhc2suaWQgPSAwO1xuICAgIHRhc2suZWNob2VzID0gdGFzay5hd2FpdHMgKiBaT05FX0VDSE9fTElNSVQ7XG4gICAgcmV0dXJuIHRydWU7XG59XG5pZiAoKCcnICsgbmF0aXZlUHJvbWlzZVRoZW4pLmluZGV4T2YoJ1tuYXRpdmUgY29kZV0nKSA9PT0gLTEpIHtcbiAgICBpbmNyZW1lbnRFeHBlY3RlZEF3YWl0cyA9IGRlY3JlbWVudEV4cGVjdGVkQXdhaXRzID0gbm9wO1xufVxuZnVuY3Rpb24gb25Qb3NzaWJsZVBhcmFsbGVsbEFzeW5jKHBvc3NpYmxlUHJvbWlzZSkge1xuICAgIGlmICh0YXNrLmVjaG9lcyAmJiBwb3NzaWJsZVByb21pc2UgJiYgcG9zc2libGVQcm9taXNlLmNvbnN0cnVjdG9yID09PSBOYXRpdmVQcm9taXNlKSB7XG4gICAgICAgIGluY3JlbWVudEV4cGVjdGVkQXdhaXRzKCk7XG4gICAgICAgIHJldHVybiBwb3NzaWJsZVByb21pc2UudGhlbihmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMoKTtcbiAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9LCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMoKTtcbiAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24oZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcG9zc2libGVQcm9taXNlO1xufVxuZnVuY3Rpb24gem9uZUVudGVyRWNobyh0YXJnZXRab25lKSB7XG4gICAgKyt0b3RhbEVjaG9lcztcbiAgICBpZiAoIXRhc2suZWNob2VzIHx8IC0tdGFzay5lY2hvZXMgPT09IDApIHtcbiAgICAgICAgdGFzay5lY2hvZXMgPSB0YXNrLmlkID0gMDtcbiAgICB9XG4gICAgem9uZVN0YWNrLnB1c2goUFNEKTtcbiAgICBzd2l0Y2hUb1pvbmUodGFyZ2V0Wm9uZSwgdHJ1ZSk7XG59XG5mdW5jdGlvbiB6b25lTGVhdmVFY2hvKCkge1xuICAgIHZhciB6b25lID0gem9uZVN0YWNrW3pvbmVTdGFjay5sZW5ndGggLSAxXTtcbiAgICB6b25lU3RhY2sucG9wKCk7XG4gICAgc3dpdGNoVG9ab25lKHpvbmUsIGZhbHNlKTtcbn1cbmZ1bmN0aW9uIHN3aXRjaFRvWm9uZSh0YXJnZXRab25lLCBiRW50ZXJpbmdab25lKSB7XG4gICAgdmFyIGN1cnJlbnRab25lID0gUFNEO1xuICAgIGlmIChiRW50ZXJpbmdab25lID8gdGFzay5lY2hvZXMgJiYgKCF6b25lRWNob2VzKysgfHwgdGFyZ2V0Wm9uZSAhPT0gUFNEKSA6IHpvbmVFY2hvZXMgJiYgKCEtLXpvbmVFY2hvZXMgfHwgdGFyZ2V0Wm9uZSAhPT0gUFNEKSkge1xuICAgICAgICBlbnF1ZXVlTmF0aXZlTWljcm9UYXNrKGJFbnRlcmluZ1pvbmUgPyB6b25lRW50ZXJFY2hvLmJpbmQobnVsbCwgdGFyZ2V0Wm9uZSkgOiB6b25lTGVhdmVFY2hvKTtcbiAgICB9XG4gICAgaWYgKHRhcmdldFpvbmUgPT09IFBTRClcbiAgICAgICAgcmV0dXJuO1xuICAgIFBTRCA9IHRhcmdldFpvbmU7XG4gICAgaWYgKGN1cnJlbnRab25lID09PSBnbG9iYWxQU0QpXG4gICAgICAgIGdsb2JhbFBTRC5lbnYgPSBzbmFwU2hvdCgpO1xuICAgIGlmIChwYXRjaEdsb2JhbFByb21pc2UpIHtcbiAgICAgICAgdmFyIEdsb2JhbFByb21pc2VfMSA9IGdsb2JhbFBTRC5lbnYuUHJvbWlzZTtcbiAgICAgICAgdmFyIHRhcmdldEVudiA9IHRhcmdldFpvbmUuZW52O1xuICAgICAgICBuYXRpdmVQcm9taXNlUHJvdG8udGhlbiA9IHRhcmdldEVudi5udGhlbjtcbiAgICAgICAgR2xvYmFsUHJvbWlzZV8xLnByb3RvdHlwZS50aGVuID0gdGFyZ2V0RW52Lmd0aGVuO1xuICAgICAgICBpZiAoY3VycmVudFpvbmUuZ2xvYmFsIHx8IHRhcmdldFpvbmUuZ2xvYmFsKSB7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoX2dsb2JhbCwgJ1Byb21pc2UnLCB0YXJnZXRFbnYuUHJvbWlzZVByb3ApO1xuICAgICAgICAgICAgR2xvYmFsUHJvbWlzZV8xLmFsbCA9IHRhcmdldEVudi5hbGw7XG4gICAgICAgICAgICBHbG9iYWxQcm9taXNlXzEucmFjZSA9IHRhcmdldEVudi5yYWNlO1xuICAgICAgICAgICAgR2xvYmFsUHJvbWlzZV8xLnJlc29sdmUgPSB0YXJnZXRFbnYucmVzb2x2ZTtcbiAgICAgICAgICAgIEdsb2JhbFByb21pc2VfMS5yZWplY3QgPSB0YXJnZXRFbnYucmVqZWN0O1xuICAgICAgICAgICAgaWYgKHRhcmdldEVudi5hbGxTZXR0bGVkKVxuICAgICAgICAgICAgICAgIEdsb2JhbFByb21pc2VfMS5hbGxTZXR0bGVkID0gdGFyZ2V0RW52LmFsbFNldHRsZWQ7XG4gICAgICAgICAgICBpZiAodGFyZ2V0RW52LmFueSlcbiAgICAgICAgICAgICAgICBHbG9iYWxQcm9taXNlXzEuYW55ID0gdGFyZ2V0RW52LmFueTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIHNuYXBTaG90KCkge1xuICAgIHZhciBHbG9iYWxQcm9taXNlID0gX2dsb2JhbC5Qcm9taXNlO1xuICAgIHJldHVybiBwYXRjaEdsb2JhbFByb21pc2UgPyB7XG4gICAgICAgIFByb21pc2U6IEdsb2JhbFByb21pc2UsXG4gICAgICAgIFByb21pc2VQcm9wOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKF9nbG9iYWwsIFwiUHJvbWlzZVwiKSxcbiAgICAgICAgYWxsOiBHbG9iYWxQcm9taXNlLmFsbCxcbiAgICAgICAgcmFjZTogR2xvYmFsUHJvbWlzZS5yYWNlLFxuICAgICAgICBhbGxTZXR0bGVkOiBHbG9iYWxQcm9taXNlLmFsbFNldHRsZWQsXG4gICAgICAgIGFueTogR2xvYmFsUHJvbWlzZS5hbnksXG4gICAgICAgIHJlc29sdmU6IEdsb2JhbFByb21pc2UucmVzb2x2ZSxcbiAgICAgICAgcmVqZWN0OiBHbG9iYWxQcm9taXNlLnJlamVjdCxcbiAgICAgICAgbnRoZW46IG5hdGl2ZVByb21pc2VQcm90by50aGVuLFxuICAgICAgICBndGhlbjogR2xvYmFsUHJvbWlzZS5wcm90b3R5cGUudGhlblxuICAgIH0gOiB7fTtcbn1cbmZ1bmN0aW9uIHVzZVBTRChwc2QsIGZuLCBhMSwgYTIsIGEzKSB7XG4gICAgdmFyIG91dGVyU2NvcGUgPSBQU0Q7XG4gICAgdHJ5IHtcbiAgICAgICAgc3dpdGNoVG9ab25lKHBzZCwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBmbihhMSwgYTIsIGEzKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHN3aXRjaFRvWm9uZShvdXRlclNjb3BlLCBmYWxzZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZW5xdWV1ZU5hdGl2ZU1pY3JvVGFzayhqb2IpIHtcbiAgICBuYXRpdmVQcm9taXNlVGhlbi5jYWxsKHJlc29sdmVkTmF0aXZlUHJvbWlzZSwgam9iKTtcbn1cbmZ1bmN0aW9uIG5hdGl2ZUF3YWl0Q29tcGF0aWJsZVdyYXAoZm4sIHpvbmUsIHBvc3NpYmxlQXdhaXQsIGNsZWFudXApIHtcbiAgICByZXR1cm4gdHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nID8gZm4gOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBvdXRlclpvbmUgPSBQU0Q7XG4gICAgICAgIGlmIChwb3NzaWJsZUF3YWl0KVxuICAgICAgICAgICAgaW5jcmVtZW50RXhwZWN0ZWRBd2FpdHMoKTtcbiAgICAgICAgc3dpdGNoVG9ab25lKHpvbmUsIHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBzd2l0Y2hUb1pvbmUob3V0ZXJab25lLCBmYWxzZSk7XG4gICAgICAgICAgICBpZiAoY2xlYW51cClcbiAgICAgICAgICAgICAgICBlbnF1ZXVlTmF0aXZlTWljcm9UYXNrKGRlY3JlbWVudEV4cGVjdGVkQXdhaXRzKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRQYXRjaGVkUHJvbWlzZVRoZW4ob3JpZ1RoZW4sIHpvbmUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKG9uUmVzb2x2ZWQsIG9uUmVqZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdUaGVuLmNhbGwodGhpcywgbmF0aXZlQXdhaXRDb21wYXRpYmxlV3JhcChvblJlc29sdmVkLCB6b25lKSwgbmF0aXZlQXdhaXRDb21wYXRpYmxlV3JhcChvblJlamVjdGVkLCB6b25lKSk7XG4gICAgfTtcbn1cbnZhciBVTkhBTkRMRURSRUpFQ1RJT04gPSBcInVuaGFuZGxlZHJlamVjdGlvblwiO1xuZnVuY3Rpb24gZ2xvYmFsRXJyb3IoZXJyLCBwcm9taXNlKSB7XG4gICAgdmFyIHJ2O1xuICAgIHRyeSB7XG4gICAgICAgIHJ2ID0gcHJvbWlzZS5vbnVuY2F0Y2hlZChlcnIpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkgeyB9XG4gICAgaWYgKHJ2ICE9PSBmYWxzZSlcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBldmVudCwgZXZlbnREYXRhID0geyBwcm9taXNlOiBwcm9taXNlLCByZWFzb246IGVyciB9O1xuICAgICAgICAgICAgaWYgKF9nbG9iYWwuZG9jdW1lbnQgJiYgZG9jdW1lbnQuY3JlYXRlRXZlbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpO1xuICAgICAgICAgICAgICAgIGV2ZW50LmluaXRFdmVudChVTkhBTkRMRURSRUpFQ1RJT04sIHRydWUsIHRydWUpO1xuICAgICAgICAgICAgICAgIGV4dGVuZChldmVudCwgZXZlbnREYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKF9nbG9iYWwuQ3VzdG9tRXZlbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudCA9IG5ldyBDdXN0b21FdmVudChVTkhBTkRMRURSRUpFQ1RJT04sIHsgZGV0YWlsOiBldmVudERhdGEgfSk7XG4gICAgICAgICAgICAgICAgZXh0ZW5kKGV2ZW50LCBldmVudERhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50ICYmIF9nbG9iYWwuZGlzcGF0Y2hFdmVudCkge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGlmICghX2dsb2JhbC5Qcm9taXNlUmVqZWN0aW9uRXZlbnQgJiYgX2dsb2JhbC5vbnVuaGFuZGxlZHJlamVjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9nbG9iYWwub251bmhhbmRsZWRyZWplY3Rpb24oZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChfKSB7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkZWJ1ZyAmJiBldmVudCAmJiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVuaGFuZGxlZCByZWplY3Rpb246IFwiICsgKGVyci5zdGFjayB8fCBlcnIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkgeyB9XG59XG52YXIgcmVqZWN0aW9uID0gRGV4aWVQcm9taXNlLnJlamVjdDtcblxuZnVuY3Rpb24gdGVtcFRyYW5zYWN0aW9uKGRiLCBtb2RlLCBzdG9yZU5hbWVzLCBmbikge1xuICAgIGlmICghZGIuX3N0YXRlLm9wZW5Db21wbGV0ZSAmJiAoIVBTRC5sZXRUaHJvdWdoKSkge1xuICAgICAgICBpZiAoIWRiLl9zdGF0ZS5pc0JlaW5nT3BlbmVkKSB7XG4gICAgICAgICAgICBpZiAoIWRiLl9vcHRpb25zLmF1dG9PcGVuKVxuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24obmV3IGV4Y2VwdGlvbnMuRGF0YWJhc2VDbG9zZWQoKSk7XG4gICAgICAgICAgICBkYi5vcGVuKCkuY2F0Y2gobm9wKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGIuX3N0YXRlLmRiUmVhZHlQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gdGVtcFRyYW5zYWN0aW9uKGRiLCBtb2RlLCBzdG9yZU5hbWVzLCBmbik7IH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIHRyYW5zID0gZGIuX2NyZWF0ZVRyYW5zYWN0aW9uKG1vZGUsIHN0b3JlTmFtZXMsIGRiLl9kYlNjaGVtYSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0cmFucy5jcmVhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24oZXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFucy5fcHJvbWlzZShtb2RlLCBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3U2NvcGUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIFBTRC50cmFucyA9IHRyYW5zO1xuICAgICAgICAgICAgICAgIHJldHVybiBmbihyZXNvbHZlLCByZWplY3QsIHRyYW5zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmFucy5fY29tcGxldGlvbi50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc3VsdDsgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxudmFyIERFWElFX1ZFUlNJT04gPSAnMy4wLjMnO1xudmFyIG1heFN0cmluZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoNjU1MzUpO1xudmFyIG1pbktleSA9IC1JbmZpbml0eTtcbnZhciBJTlZBTElEX0tFWV9BUkdVTUVOVCA9IFwiSW52YWxpZCBrZXkgcHJvdmlkZWQuIEtleXMgbXVzdCBiZSBvZiB0eXBlIHN0cmluZywgbnVtYmVyLCBEYXRlIG9yIEFycmF5PHN0cmluZyB8IG51bWJlciB8IERhdGU+LlwiO1xudmFyIFNUUklOR19FWFBFQ1RFRCA9IFwiU3RyaW5nIGV4cGVjdGVkLlwiO1xudmFyIGNvbm5lY3Rpb25zID0gW107XG52YXIgaXNJRU9yRWRnZSA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC8oTVNJRXxUcmlkZW50fEVkZ2UpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xudmFyIGhhc0lFRGVsZXRlT2JqZWN0U3RvcmVCdWcgPSBpc0lFT3JFZGdlO1xudmFyIGhhbmdzT25EZWxldGVMYXJnZUtleVJhbmdlID0gaXNJRU9yRWRnZTtcbnZhciBkZXhpZVN0YWNrRnJhbWVGaWx0ZXIgPSBmdW5jdGlvbiAoZnJhbWUpIHsgcmV0dXJuICEvKGRleGllXFwuanN8ZGV4aWVcXC5taW5cXC5qcykvLnRlc3QoZnJhbWUpOyB9O1xudmFyIERCTkFNRVNfREIgPSAnX19kYm5hbWVzJztcbnZhciBSRUFET05MWSA9ICdyZWFkb25seSc7XG52YXIgUkVBRFdSSVRFID0gJ3JlYWR3cml0ZSc7XG5cbmZ1bmN0aW9uIGNvbWJpbmUoZmlsdGVyMSwgZmlsdGVyMikge1xuICAgIHJldHVybiBmaWx0ZXIxID9cbiAgICAgICAgZmlsdGVyMiA/XG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7IHJldHVybiBmaWx0ZXIxLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgJiYgZmlsdGVyMi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyB9IDpcbiAgICAgICAgICAgIGZpbHRlcjEgOlxuICAgICAgICBmaWx0ZXIyO1xufVxuXG52YXIgQW55UmFuZ2UgPSB7XG4gICAgdHlwZTogMyAgICAgICAgICAsXG4gICAgbG93ZXI6IC1JbmZpbml0eSxcbiAgICBsb3dlck9wZW46IGZhbHNlLFxuICAgIHVwcGVyOiBbW11dLFxuICAgIHVwcGVyT3BlbjogZmFsc2Vcbn07XG5cbmZ1bmN0aW9uIHdvcmthcm91bmRGb3JVbmRlZmluZWRQcmltS2V5KGtleVBhdGgpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKG9iaikge1xuICAgICAgICBpZiAoZ2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aCkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgb2JqID0gZGVlcENsb25lKG9iaik7XG4gICAgICAgICAgICBkZWxCeUtleVBhdGgob2JqLCBrZXlQYXRoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH07XG59XG5cbnZhciBUYWJsZSA9ICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUYWJsZSgpIHtcbiAgICB9XG4gICAgVGFibGUucHJvdG90eXBlLl90cmFucyA9IGZ1bmN0aW9uIChtb2RlLCBmbiwgd3JpdGVMb2NrZWQpIHtcbiAgICAgICAgdmFyIHRyYW5zID0gdGhpcy5fdHggfHwgUFNELnRyYW5zO1xuICAgICAgICB2YXIgdGFibGVOYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICBmdW5jdGlvbiBjaGVja1RhYmxlSW5UcmFuc2FjdGlvbihyZXNvbHZlLCByZWplY3QsIHRyYW5zKSB7XG4gICAgICAgICAgICBpZiAoIXRyYW5zLnNjaGVtYVt0YWJsZU5hbWVdKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk5vdEZvdW5kKFwiVGFibGUgXCIgKyB0YWJsZU5hbWUgKyBcIiBub3QgcGFydCBvZiB0cmFuc2FjdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybiBmbih0cmFucy5pZGJ0cmFucywgdHJhbnMpO1xuICAgICAgICB9XG4gICAgICAgIHZhciB3YXNSb290RXhlYyA9IGJlZ2luTWljcm9UaWNrU2NvcGUoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB0cmFucyAmJiB0cmFucy5kYiA9PT0gdGhpcy5kYiA/XG4gICAgICAgICAgICAgICAgdHJhbnMgPT09IFBTRC50cmFucyA/XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zLl9wcm9taXNlKG1vZGUsIGNoZWNrVGFibGVJblRyYW5zYWN0aW9uLCB3cml0ZUxvY2tlZCkgOlxuICAgICAgICAgICAgICAgICAgICBuZXdTY29wZShmdW5jdGlvbiAoKSB7IHJldHVybiB0cmFucy5fcHJvbWlzZShtb2RlLCBjaGVja1RhYmxlSW5UcmFuc2FjdGlvbiwgd3JpdGVMb2NrZWQpOyB9LCB7IHRyYW5zOiB0cmFucywgdHJhbnNsZXNzOiBQU0QudHJhbnNsZXNzIHx8IFBTRCB9KSA6XG4gICAgICAgICAgICAgICAgdGVtcFRyYW5zYWN0aW9uKHRoaXMuZGIsIG1vZGUsIFt0aGlzLm5hbWVdLCBjaGVja1RhYmxlSW5UcmFuc2FjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAod2FzUm9vdEV4ZWMpXG4gICAgICAgICAgICAgICAgZW5kTWljcm9UaWNrU2NvcGUoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXlPckNyaXQsIGNiKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmIChrZXlPckNyaXQgJiYga2V5T3JDcml0LmNvbnN0cnVjdG9yID09PSBPYmplY3QpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy53aGVyZShrZXlPckNyaXQpLmZpcnN0KGNiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkb25seScsIGZ1bmN0aW9uICh0cmFucykge1xuICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNvcmUuZ2V0KHsgdHJhbnM6IHRyYW5zLCBrZXk6IGtleU9yQ3JpdCB9KVxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIF90aGlzLmhvb2sucmVhZGluZy5maXJlKHJlcyk7IH0pO1xuICAgICAgICB9KS50aGVuKGNiKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS53aGVyZSA9IGZ1bmN0aW9uIChpbmRleE9yQ3JpdCkge1xuICAgICAgICBpZiAodHlwZW9mIGluZGV4T3JDcml0ID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHJldHVybiBuZXcgdGhpcy5kYi5XaGVyZUNsYXVzZSh0aGlzLCBpbmRleE9yQ3JpdCk7XG4gICAgICAgIGlmIChpc0FycmF5KGluZGV4T3JDcml0KSlcbiAgICAgICAgICAgIHJldHVybiBuZXcgdGhpcy5kYi5XaGVyZUNsYXVzZSh0aGlzLCBcIltcIiArIGluZGV4T3JDcml0LmpvaW4oJysnKSArIFwiXVwiKTtcbiAgICAgICAgdmFyIGtleVBhdGhzID0ga2V5cyhpbmRleE9yQ3JpdCk7XG4gICAgICAgIGlmIChrZXlQYXRocy5sZW5ndGggPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgICAgICAgICAgIC53aGVyZShrZXlQYXRoc1swXSlcbiAgICAgICAgICAgICAgICAuZXF1YWxzKGluZGV4T3JDcml0W2tleVBhdGhzWzBdXSk7XG4gICAgICAgIHZhciBjb21wb3VuZEluZGV4ID0gdGhpcy5zY2hlbWEuaW5kZXhlcy5jb25jYXQodGhpcy5zY2hlbWEucHJpbUtleSkuZmlsdGVyKGZ1bmN0aW9uIChpeCkge1xuICAgICAgICAgICAgcmV0dXJuIGl4LmNvbXBvdW5kICYmXG4gICAgICAgICAgICAgICAga2V5UGF0aHMuZXZlcnkoZnVuY3Rpb24gKGtleVBhdGgpIHsgcmV0dXJuIGl4LmtleVBhdGguaW5kZXhPZihrZXlQYXRoKSA+PSAwOyB9KSAmJlxuICAgICAgICAgICAgICAgIGl4LmtleVBhdGguZXZlcnkoZnVuY3Rpb24gKGtleVBhdGgpIHsgcmV0dXJuIGtleVBhdGhzLmluZGV4T2Yoa2V5UGF0aCkgPj0gMDsgfSk7XG4gICAgICAgIH0pWzBdO1xuICAgICAgICBpZiAoY29tcG91bmRJbmRleCAmJiB0aGlzLmRiLl9tYXhLZXkgIT09IG1heFN0cmluZylcbiAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICAgICAgLndoZXJlKGNvbXBvdW5kSW5kZXgubmFtZSlcbiAgICAgICAgICAgICAgICAuZXF1YWxzKGNvbXBvdW5kSW5kZXgua2V5UGF0aC5tYXAoZnVuY3Rpb24gKGtwKSB7IHJldHVybiBpbmRleE9yQ3JpdFtrcF07IH0pKTtcbiAgICAgICAgaWYgKCFjb21wb3VuZEluZGV4ICYmIGRlYnVnKVxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVGhlIHF1ZXJ5IFwiICsgSlNPTi5zdHJpbmdpZnkoaW5kZXhPckNyaXQpICsgXCIgb24gXCIgKyB0aGlzLm5hbWUgKyBcIiB3b3VsZCBiZW5lZml0IG9mIGEgXCIgK1xuICAgICAgICAgICAgICAgIChcImNvbXBvdW5kIGluZGV4IFtcIiArIGtleVBhdGhzLmpvaW4oJysnKSArIFwiXVwiKSk7XG4gICAgICAgIHZhciBpZHhCeU5hbWUgPSB0aGlzLnNjaGVtYS5pZHhCeU5hbWU7XG4gICAgICAgIHZhciBpZGIgPSB0aGlzLmRiLl9kZXBzLmluZGV4ZWREQjtcbiAgICAgICAgZnVuY3Rpb24gZXF1YWxzKGEsIGIpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkYi5jbXAoYSwgYikgPT09IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgX2EgPSBrZXlQYXRocy5yZWR1Y2UoZnVuY3Rpb24gKF9hLCBrZXlQYXRoKSB7XG4gICAgICAgICAgICB2YXIgcHJldkluZGV4ID0gX2FbMF0sIHByZXZGaWx0ZXJGbiA9IF9hWzFdO1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gaWR4QnlOYW1lW2tleVBhdGhdO1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5kZXhPckNyaXRba2V5UGF0aF07XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHByZXZJbmRleCB8fCBpbmRleCxcbiAgICAgICAgICAgICAgICBwcmV2SW5kZXggfHwgIWluZGV4ID9cbiAgICAgICAgICAgICAgICAgICAgY29tYmluZShwcmV2RmlsdGVyRm4sIGluZGV4ICYmIGluZGV4Lm11bHRpID9cbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb3AgPSBnZXRCeUtleVBhdGgoeCwga2V5UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQXJyYXkocHJvcCkgJiYgcHJvcC5zb21lKGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBlcXVhbHModmFsdWUsIGl0ZW0pOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbiAoeCkgeyByZXR1cm4gZXF1YWxzKHZhbHVlLCBnZXRCeUtleVBhdGgoeCwga2V5UGF0aCkpOyB9KVxuICAgICAgICAgICAgICAgICAgICA6IHByZXZGaWx0ZXJGblxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSwgW251bGwsIG51bGxdKSwgaWR4ID0gX2FbMF0sIGZpbHRlckZ1bmN0aW9uID0gX2FbMV07XG4gICAgICAgIHJldHVybiBpZHggP1xuICAgICAgICAgICAgdGhpcy53aGVyZShpZHgubmFtZSkuZXF1YWxzKGluZGV4T3JDcml0W2lkeC5rZXlQYXRoXSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGZpbHRlckZ1bmN0aW9uKSA6XG4gICAgICAgICAgICBjb21wb3VuZEluZGV4ID9cbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcihmaWx0ZXJGdW5jdGlvbikgOlxuICAgICAgICAgICAgICAgIHRoaXMud2hlcmUoa2V5UGF0aHMpLmVxdWFscygnJyk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuZmlsdGVyID0gZnVuY3Rpb24gKGZpbHRlckZ1bmN0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQ29sbGVjdGlvbigpLmFuZChmaWx0ZXJGdW5jdGlvbik7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuY291bnQgPSBmdW5jdGlvbiAodGhlblNob3J0Y3V0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQ29sbGVjdGlvbigpLmNvdW50KHRoZW5TaG9ydGN1dCk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUub2Zmc2V0ID0gZnVuY3Rpb24gKG9mZnNldCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b0NvbGxlY3Rpb24oKS5vZmZzZXQob2Zmc2V0KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5saW1pdCA9IGZ1bmN0aW9uIChudW1Sb3dzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQ29sbGVjdGlvbigpLmxpbWl0KG51bVJvd3MpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmVhY2ggPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkuZWFjaChjYWxsYmFjayk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uICh0aGVuU2hvcnRjdXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9Db2xsZWN0aW9uKCkudG9BcnJheSh0aGVuU2hvcnRjdXQpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLnRvQ29sbGVjdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLmRiLkNvbGxlY3Rpb24obmV3IHRoaXMuZGIuV2hlcmVDbGF1c2UodGhpcykpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLm9yZGVyQnkgPSBmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyB0aGlzLmRiLkNvbGxlY3Rpb24obmV3IHRoaXMuZGIuV2hlcmVDbGF1c2UodGhpcywgaXNBcnJheShpbmRleCkgP1xuICAgICAgICAgICAgXCJbXCIgKyBpbmRleC5qb2luKCcrJykgKyBcIl1cIiA6XG4gICAgICAgICAgICBpbmRleCkpO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLnJldmVyc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQ29sbGVjdGlvbigpLnJldmVyc2UoKTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5tYXBUb0NsYXNzID0gZnVuY3Rpb24gKGNvbnN0cnVjdG9yKSB7XG4gICAgICAgIHRoaXMuc2NoZW1hLm1hcHBlZENsYXNzID0gY29uc3RydWN0b3I7XG4gICAgICAgIHZhciByZWFkSG9vayA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgIGlmICghb2JqKVxuICAgICAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgICAgICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShjb25zdHJ1Y3Rvci5wcm90b3R5cGUpO1xuICAgICAgICAgICAgZm9yICh2YXIgbSBpbiBvYmopXG4gICAgICAgICAgICAgICAgaWYgKGhhc093bihvYmosIG0pKVxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzW21dID0gb2JqW21dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIChfKSB7IH1cbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aGlzLnNjaGVtYS5yZWFkSG9vaykge1xuICAgICAgICAgICAgdGhpcy5ob29rLnJlYWRpbmcudW5zdWJzY3JpYmUodGhpcy5zY2hlbWEucmVhZEhvb2spO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2NoZW1hLnJlYWRIb29rID0gcmVhZEhvb2s7XG4gICAgICAgIHRoaXMuaG9vayhcInJlYWRpbmdcIiwgcmVhZEhvb2spO1xuICAgICAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuZGVmaW5lQ2xhc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZ1bmN0aW9uIENsYXNzKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIGV4dGVuZCh0aGlzLCBjb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwVG9DbGFzcyhDbGFzcyk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKG9iaiwga2V5KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBfYSA9IHRoaXMuc2NoZW1hLnByaW1LZXksIGF1dG8gPSBfYS5hdXRvLCBrZXlQYXRoID0gX2Eua2V5UGF0aDtcbiAgICAgICAgdmFyIG9ialRvQWRkID0gb2JqO1xuICAgICAgICBpZiAoa2V5UGF0aCAmJiBhdXRvKSB7XG4gICAgICAgICAgICBvYmpUb0FkZCA9IHdvcmthcm91bmRGb3JVbmRlZmluZWRQcmltS2V5KGtleVBhdGgpKG9iaik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2FkZCcsIGtleXM6IGtleSAhPSBudWxsID8gW2tleV0gOiBudWxsLCB2YWx1ZXM6IFtvYmpUb0FkZF0gfSk7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gcmVzLm51bUZhaWx1cmVzID8gRGV4aWVQcm9taXNlLnJlamVjdChyZXMuZmFpbHVyZXNbMF0pIDogcmVzLmxhc3RSZXN1bHQ7IH0pXG4gICAgICAgICAgICAudGhlbihmdW5jdGlvbiAobGFzdFJlc3VsdCkge1xuICAgICAgICAgICAgaWYgKGtleVBhdGgpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgob2JqLCBrZXlQYXRoLCBsYXN0UmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKF8pIHsgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGxhc3RSZXN1bHQ7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChrZXlPck9iamVjdCwgbW9kaWZpY2F0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG1vZGlmaWNhdGlvbnMgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkobW9kaWZpY2F0aW9ucykpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJNb2RpZmljYXRpb25zIG11c3QgYmUgYW4gb2JqZWN0LlwiKTtcbiAgICAgICAgaWYgKHR5cGVvZiBrZXlPck9iamVjdCA9PT0gJ29iamVjdCcgJiYgIWlzQXJyYXkoa2V5T3JPYmplY3QpKSB7XG4gICAgICAgICAgICBrZXlzKG1vZGlmaWNhdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKGtleVBhdGgpIHtcbiAgICAgICAgICAgICAgICBzZXRCeUtleVBhdGgoa2V5T3JPYmplY3QsIGtleVBhdGgsIG1vZGlmaWNhdGlvbnNba2V5UGF0aF0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXIga2V5ID0gZ2V0QnlLZXlQYXRoKGtleU9yT2JqZWN0LCB0aGlzLnNjaGVtYS5wcmltS2V5LmtleVBhdGgpO1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24obmV3IGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KFwiR2l2ZW4gb2JqZWN0IGRvZXMgbm90IGNvbnRhaW4gaXRzIHByaW1hcnkga2V5XCIpKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndoZXJlKFwiOmlkXCIpLmVxdWFscyhrZXkpLm1vZGlmeShtb2RpZmljYXRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndoZXJlKFwiOmlkXCIpLmVxdWFscyhrZXlPck9iamVjdCkubW9kaWZ5KG1vZGlmaWNhdGlvbnMpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUucHV0ID0gZnVuY3Rpb24gKG9iaiwga2V5KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBfYSA9IHRoaXMuc2NoZW1hLnByaW1LZXksIGF1dG8gPSBfYS5hdXRvLCBrZXlQYXRoID0gX2Eua2V5UGF0aDtcbiAgICAgICAgdmFyIG9ialRvQWRkID0gb2JqO1xuICAgICAgICBpZiAoa2V5UGF0aCAmJiBhdXRvKSB7XG4gICAgICAgICAgICBvYmpUb0FkZCA9IHdvcmthcm91bmRGb3JVbmRlZmluZWRQcmltS2V5KGtleVBhdGgpKG9iaik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHsgcmV0dXJuIF90aGlzLmNvcmUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAncHV0JywgdmFsdWVzOiBbb2JqVG9BZGRdLCBrZXlzOiBrZXkgIT0gbnVsbCA/IFtrZXldIDogbnVsbCB9KTsgfSlcbiAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIHJlcy5udW1GYWlsdXJlcyA/IERleGllUHJvbWlzZS5yZWplY3QocmVzLmZhaWx1cmVzWzBdKSA6IHJlcy5sYXN0UmVzdWx0OyB9KVxuICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGxhc3RSZXN1bHQpIHtcbiAgICAgICAgICAgIGlmIChrZXlQYXRoKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aCwgbGFzdFJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChfKSB7IH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5kZWxldGUgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFucygncmVhZHdyaXRlJywgZnVuY3Rpb24gKHRyYW5zKSB7IHJldHVybiBfdGhpcy5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2RlbGV0ZScsIGtleXM6IFtrZXldIH0pOyB9KVxuICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykgeyByZXR1cm4gcmVzLm51bUZhaWx1cmVzID8gRGV4aWVQcm9taXNlLnJlamVjdChyZXMuZmFpbHVyZXNbMF0pIDogdW5kZWZpbmVkOyB9KTtcbiAgICB9O1xuICAgIFRhYmxlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zKCdyZWFkd3JpdGUnLCBmdW5jdGlvbiAodHJhbnMpIHsgcmV0dXJuIF90aGlzLmNvcmUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAnZGVsZXRlUmFuZ2UnLCByYW5nZTogQW55UmFuZ2UgfSk7IH0pXG4gICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7IHJldHVybiByZXMubnVtRmFpbHVyZXMgPyBEZXhpZVByb21pc2UucmVqZWN0KHJlcy5mYWlsdXJlc1swXSkgOiB1bmRlZmluZWQ7IH0pO1xuICAgIH07XG4gICAgVGFibGUucHJvdG90eXBlLmJ1bGtHZXQgPSBmdW5jdGlvbiAoa2V5cyQkMSkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnMoJ3JlYWRvbmx5JywgZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuY29yZS5nZXRNYW55KHtcbiAgICAgICAgICAgICAgICBrZXlzOiBrZXlzJCQxLFxuICAgICAgICAgICAgICAgIHRyYW5zOiB0cmFuc1xuICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzdWx0KSB7IHJldHVybiByZXN1bHQubWFwKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIF90aGlzLmhvb2sucmVhZGluZy5maXJlKHJlcyk7IH0pOyB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuYnVsa0FkZCA9IGZ1bmN0aW9uIChvYmplY3RzLCBrZXlzT3JPcHRpb25zLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBrZXlzJCQxID0gQXJyYXkuaXNBcnJheShrZXlzT3JPcHRpb25zKSA/IGtleXNPck9wdGlvbnMgOiB1bmRlZmluZWQ7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IChrZXlzJCQxID8gdW5kZWZpbmVkIDoga2V5c09yT3B0aW9ucyk7XG4gICAgICAgIHZhciB3YW50UmVzdWx0cyA9IG9wdGlvbnMgPyBvcHRpb25zLmFsbEtleXMgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFucygncmVhZHdyaXRlJywgZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSBfdGhpcy5zY2hlbWEucHJpbUtleSwgYXV0byA9IF9hLmF1dG8sIGtleVBhdGggPSBfYS5rZXlQYXRoO1xuICAgICAgICAgICAgaWYgKGtleVBhdGggJiYga2V5cyQkMSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJidWxrQWRkKCk6IGtleXMgYXJndW1lbnQgaW52YWxpZCBvbiB0YWJsZXMgd2l0aCBpbmJvdW5kIGtleXNcIik7XG4gICAgICAgICAgICBpZiAoa2V5cyQkMSAmJiBrZXlzJCQxLmxlbmd0aCAhPT0gb2JqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KFwiQXJndW1lbnRzIG9iamVjdHMgYW5kIGtleXMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICAgICAgICAgIHZhciBudW1PYmplY3RzID0gb2JqZWN0cy5sZW5ndGg7XG4gICAgICAgICAgICB2YXIgb2JqZWN0c1RvQWRkID0ga2V5UGF0aCAmJiBhdXRvID9cbiAgICAgICAgICAgICAgICBvYmplY3RzLm1hcCh3b3JrYXJvdW5kRm9yVW5kZWZpbmVkUHJpbUtleShrZXlQYXRoKSkgOlxuICAgICAgICAgICAgICAgIG9iamVjdHM7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuY29yZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdhZGQnLCBrZXlzOiBrZXlzJCQxLCB2YWx1ZXM6IG9iamVjdHNUb0FkZCwgd2FudFJlc3VsdHM6IHdhbnRSZXN1bHRzIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIG51bUZhaWx1cmVzID0gX2EubnVtRmFpbHVyZXMsIHJlc3VsdHMgPSBfYS5yZXN1bHRzLCBsYXN0UmVzdWx0ID0gX2EubGFzdFJlc3VsdCwgZmFpbHVyZXMgPSBfYS5mYWlsdXJlcztcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gd2FudFJlc3VsdHMgPyByZXN1bHRzIDogbGFzdFJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAobnVtRmFpbHVyZXMgPT09IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJ1bGtFcnJvcihfdGhpcy5uYW1lICsgXCIuYnVsa0FkZCgpOiBcIiArIG51bUZhaWx1cmVzICsgXCIgb2YgXCIgKyBudW1PYmplY3RzICsgXCIgb3BlcmF0aW9ucyBmYWlsZWRcIiwgT2JqZWN0LmtleXMoZmFpbHVyZXMpLm1hcChmdW5jdGlvbiAocG9zKSB7IHJldHVybiBmYWlsdXJlc1twb3NdOyB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuYnVsa1B1dCA9IGZ1bmN0aW9uIChvYmplY3RzLCBrZXlzT3JPcHRpb25zLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBrZXlzJCQxID0gQXJyYXkuaXNBcnJheShrZXlzT3JPcHRpb25zKSA/IGtleXNPck9wdGlvbnMgOiB1bmRlZmluZWQ7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IChrZXlzJCQxID8gdW5kZWZpbmVkIDoga2V5c09yT3B0aW9ucyk7XG4gICAgICAgIHZhciB3YW50UmVzdWx0cyA9IG9wdGlvbnMgPyBvcHRpb25zLmFsbEtleXMgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFucygncmVhZHdyaXRlJywgZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSBfdGhpcy5zY2hlbWEucHJpbUtleSwgYXV0byA9IF9hLmF1dG8sIGtleVBhdGggPSBfYS5rZXlQYXRoO1xuICAgICAgICAgICAgaWYgKGtleVBhdGggJiYga2V5cyQkMSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJidWxrUHV0KCk6IGtleXMgYXJndW1lbnQgaW52YWxpZCBvbiB0YWJsZXMgd2l0aCBpbmJvdW5kIGtleXNcIik7XG4gICAgICAgICAgICBpZiAoa2V5cyQkMSAmJiBrZXlzJCQxLmxlbmd0aCAhPT0gb2JqZWN0cy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KFwiQXJndW1lbnRzIG9iamVjdHMgYW5kIGtleXMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcbiAgICAgICAgICAgIHZhciBudW1PYmplY3RzID0gb2JqZWN0cy5sZW5ndGg7XG4gICAgICAgICAgICB2YXIgb2JqZWN0c1RvUHV0ID0ga2V5UGF0aCAmJiBhdXRvID9cbiAgICAgICAgICAgICAgICBvYmplY3RzLm1hcCh3b3JrYXJvdW5kRm9yVW5kZWZpbmVkUHJpbUtleShrZXlQYXRoKSkgOlxuICAgICAgICAgICAgICAgIG9iamVjdHM7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuY29yZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdwdXQnLCBrZXlzOiBrZXlzJCQxLCB2YWx1ZXM6IG9iamVjdHNUb1B1dCwgd2FudFJlc3VsdHM6IHdhbnRSZXN1bHRzIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIG51bUZhaWx1cmVzID0gX2EubnVtRmFpbHVyZXMsIHJlc3VsdHMgPSBfYS5yZXN1bHRzLCBsYXN0UmVzdWx0ID0gX2EubGFzdFJlc3VsdCwgZmFpbHVyZXMgPSBfYS5mYWlsdXJlcztcbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gd2FudFJlc3VsdHMgPyByZXN1bHRzIDogbGFzdFJlc3VsdDtcbiAgICAgICAgICAgICAgICBpZiAobnVtRmFpbHVyZXMgPT09IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJ1bGtFcnJvcihfdGhpcy5uYW1lICsgXCIuYnVsa1B1dCgpOiBcIiArIG51bUZhaWx1cmVzICsgXCIgb2YgXCIgKyBudW1PYmplY3RzICsgXCIgb3BlcmF0aW9ucyBmYWlsZWRcIiwgT2JqZWN0LmtleXMoZmFpbHVyZXMpLm1hcChmdW5jdGlvbiAocG9zKSB7IHJldHVybiBmYWlsdXJlc1twb3NdOyB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBUYWJsZS5wcm90b3R5cGUuYnVsa0RlbGV0ZSA9IGZ1bmN0aW9uIChrZXlzJCQxKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBudW1LZXlzID0ga2V5cyQkMS5sZW5ndGg7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmFucygncmVhZHdyaXRlJywgZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMuY29yZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdkZWxldGUnLCBrZXlzOiBrZXlzJCQxIH0pO1xuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgdmFyIG51bUZhaWx1cmVzID0gX2EubnVtRmFpbHVyZXMsIGxhc3RSZXN1bHQgPSBfYS5sYXN0UmVzdWx0LCBmYWlsdXJlcyA9IF9hLmZhaWx1cmVzO1xuICAgICAgICAgICAgaWYgKG51bUZhaWx1cmVzID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICAgICAgICAgICAgdGhyb3cgbmV3IEJ1bGtFcnJvcihfdGhpcy5uYW1lICsgXCIuYnVsa0RlbGV0ZSgpOiBcIiArIG51bUZhaWx1cmVzICsgXCIgb2YgXCIgKyBudW1LZXlzICsgXCIgb3BlcmF0aW9ucyBmYWlsZWRcIiwgZmFpbHVyZXMpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHJldHVybiBUYWJsZTtcbn0oKSk7XG5cbmZ1bmN0aW9uIEV2ZW50cyhjdHgpIHtcbiAgICB2YXIgZXZzID0ge307XG4gICAgdmFyIHJ2ID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgc3Vic2NyaWJlcikge1xuICAgICAgICBpZiAoc3Vic2NyaWJlcikge1xuICAgICAgICAgICAgdmFyIGkgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KGkgLSAxKTtcbiAgICAgICAgICAgIHdoaWxlICgtLWkpXG4gICAgICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICBldnNbZXZlbnROYW1lXS5zdWJzY3JpYmUuYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICAgICAgICByZXR1cm4gY3R4O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiAoZXZlbnROYW1lKSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBldnNbZXZlbnROYW1lXTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcnYuYWRkRXZlbnRUeXBlID0gYWRkO1xuICAgIGZvciAodmFyIGkgPSAxLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7ICsraSkge1xuICAgICAgICBhZGQoYXJndW1lbnRzW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJ2O1xuICAgIGZ1bmN0aW9uIGFkZChldmVudE5hbWUsIGNoYWluRnVuY3Rpb24sIGRlZmF1bHRGdW5jdGlvbikge1xuICAgICAgICBpZiAodHlwZW9mIGV2ZW50TmFtZSA9PT0gJ29iamVjdCcpXG4gICAgICAgICAgICByZXR1cm4gYWRkQ29uZmlndXJlZEV2ZW50cyhldmVudE5hbWUpO1xuICAgICAgICBpZiAoIWNoYWluRnVuY3Rpb24pXG4gICAgICAgICAgICBjaGFpbkZ1bmN0aW9uID0gcmV2ZXJzZVN0b3BwYWJsZUV2ZW50Q2hhaW47XG4gICAgICAgIGlmICghZGVmYXVsdEZ1bmN0aW9uKVxuICAgICAgICAgICAgZGVmYXVsdEZ1bmN0aW9uID0gbm9wO1xuICAgICAgICB2YXIgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHN1YnNjcmliZXJzOiBbXSxcbiAgICAgICAgICAgIGZpcmU6IGRlZmF1bHRGdW5jdGlvbixcbiAgICAgICAgICAgIHN1YnNjcmliZTogZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRleHQuc3Vic2NyaWJlcnMuaW5kZXhPZihjYikgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuc3Vic2NyaWJlcnMucHVzaChjYik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZmlyZSA9IGNoYWluRnVuY3Rpb24oY29udGV4dC5maXJlLCBjYik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlOiBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN1YnNjcmliZXJzID0gY29udGV4dC5zdWJzY3JpYmVycy5maWx0ZXIoZnVuY3Rpb24gKGZuKSB7IHJldHVybiBmbiAhPT0gY2I7IH0pO1xuICAgICAgICAgICAgICAgIGNvbnRleHQuZmlyZSA9IGNvbnRleHQuc3Vic2NyaWJlcnMucmVkdWNlKGNoYWluRnVuY3Rpb24sIGRlZmF1bHRGdW5jdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGV2c1tldmVudE5hbWVdID0gcnZbZXZlbnROYW1lXSA9IGNvbnRleHQ7XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBhZGRDb25maWd1cmVkRXZlbnRzKGNmZykge1xuICAgICAgICBrZXlzKGNmZykuZm9yRWFjaChmdW5jdGlvbiAoZXZlbnROYW1lKSB7XG4gICAgICAgICAgICB2YXIgYXJncyA9IGNmZ1tldmVudE5hbWVdO1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkoYXJncykpIHtcbiAgICAgICAgICAgICAgICBhZGQoZXZlbnROYW1lLCBjZmdbZXZlbnROYW1lXVswXSwgY2ZnW2V2ZW50TmFtZV1bMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoYXJncyA9PT0gJ2FzYXAnKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRleHQgPSBhZGQoZXZlbnROYW1lLCBtaXJyb3IsIGZ1bmN0aW9uIGZpcmUoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShpKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGktLSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3NbaV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzYXAoZnVuY3Rpb24gZmlyZUV2ZW50KCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZuLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRBcmd1bWVudChcIkludmFsaWQgZXZlbnQgY29uZmlnXCIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VDbGFzc0NvbnN0cnVjdG9yKHByb3RvdHlwZSwgY29uc3RydWN0b3IpIHtcbiAgICBkZXJpdmUoY29uc3RydWN0b3IpLmZyb20oeyBwcm90b3R5cGU6IHByb3RvdHlwZSB9KTtcbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVRhYmxlQ29uc3RydWN0b3IoZGIpIHtcbiAgICByZXR1cm4gbWFrZUNsYXNzQ29uc3RydWN0b3IoVGFibGUucHJvdG90eXBlLCBmdW5jdGlvbiBUYWJsZSQkMShuYW1lLCB0YWJsZVNjaGVtYSwgdHJhbnMpIHtcbiAgICAgICAgdGhpcy5kYiA9IGRiO1xuICAgICAgICB0aGlzLl90eCA9IHRyYW5zO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLnNjaGVtYSA9IHRhYmxlU2NoZW1hO1xuICAgICAgICB0aGlzLmhvb2sgPSBkYi5fYWxsVGFibGVzW25hbWVdID8gZGIuX2FsbFRhYmxlc1tuYW1lXS5ob29rIDogRXZlbnRzKG51bGwsIHtcbiAgICAgICAgICAgIFwiY3JlYXRpbmdcIjogW2hvb2tDcmVhdGluZ0NoYWluLCBub3BdLFxuICAgICAgICAgICAgXCJyZWFkaW5nXCI6IFtwdXJlRnVuY3Rpb25DaGFpbiwgbWlycm9yXSxcbiAgICAgICAgICAgIFwidXBkYXRpbmdcIjogW2hvb2tVcGRhdGluZ0NoYWluLCBub3BdLFxuICAgICAgICAgICAgXCJkZWxldGluZ1wiOiBbaG9va0RlbGV0aW5nQ2hhaW4sIG5vcF1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5LZXlSYW5nZShjdHgsIGlnbm9yZUxpbWl0RmlsdGVyKSB7XG4gICAgcmV0dXJuICEoY3R4LmZpbHRlciB8fCBjdHguYWxnb3JpdGhtIHx8IGN0eC5vcikgJiZcbiAgICAgICAgKGlnbm9yZUxpbWl0RmlsdGVyID8gY3R4Lmp1c3RMaW1pdCA6ICFjdHgucmVwbGF5RmlsdGVyKTtcbn1cbmZ1bmN0aW9uIGFkZEZpbHRlcihjdHgsIGZuKSB7XG4gICAgY3R4LmZpbHRlciA9IGNvbWJpbmUoY3R4LmZpbHRlciwgZm4pO1xufVxuZnVuY3Rpb24gYWRkUmVwbGF5RmlsdGVyKGN0eCwgZmFjdG9yeSwgaXNMaW1pdEZpbHRlcikge1xuICAgIHZhciBjdXJyID0gY3R4LnJlcGxheUZpbHRlcjtcbiAgICBjdHgucmVwbGF5RmlsdGVyID0gY3VyciA/IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbWJpbmUoY3VycigpLCBmYWN0b3J5KCkpOyB9IDogZmFjdG9yeTtcbiAgICBjdHguanVzdExpbWl0ID0gaXNMaW1pdEZpbHRlciAmJiAhY3Vycjtcbn1cbmZ1bmN0aW9uIGFkZE1hdGNoRmlsdGVyKGN0eCwgZm4pIHtcbiAgICBjdHguaXNNYXRjaCA9IGNvbWJpbmUoY3R4LmlzTWF0Y2gsIGZuKTtcbn1cbmZ1bmN0aW9uIGdldEluZGV4T3JTdG9yZShjdHgsIGNvcmVTY2hlbWEpIHtcbiAgICBpZiAoY3R4LmlzUHJpbUtleSlcbiAgICAgICAgcmV0dXJuIGNvcmVTY2hlbWEucHJpbWFyeUtleTtcbiAgICB2YXIgaW5kZXggPSBjb3JlU2NoZW1hLmdldEluZGV4QnlLZXlQYXRoKGN0eC5pbmRleCk7XG4gICAgaWYgKCFpbmRleClcbiAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU2NoZW1hKFwiS2V5UGF0aCBcIiArIGN0eC5pbmRleCArIFwiIG9uIG9iamVjdCBzdG9yZSBcIiArIGNvcmVTY2hlbWEubmFtZSArIFwiIGlzIG5vdCBpbmRleGVkXCIpO1xuICAgIHJldHVybiBpbmRleDtcbn1cbmZ1bmN0aW9uIG9wZW5DdXJzb3IoY3R4LCBjb3JlVGFibGUsIHRyYW5zKSB7XG4gICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhPclN0b3JlKGN0eCwgY29yZVRhYmxlLnNjaGVtYSk7XG4gICAgcmV0dXJuIGNvcmVUYWJsZS5vcGVuQ3Vyc29yKHtcbiAgICAgICAgdHJhbnM6IHRyYW5zLFxuICAgICAgICB2YWx1ZXM6ICFjdHgua2V5c09ubHksXG4gICAgICAgIHJldmVyc2U6IGN0eC5kaXIgPT09ICdwcmV2JyxcbiAgICAgICAgdW5pcXVlOiAhIWN0eC51bmlxdWUsXG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICByYW5nZTogY3R4LnJhbmdlXG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGl0ZXIoY3R4LCBmbiwgY29yZVRyYW5zLCBjb3JlVGFibGUpIHtcbiAgICB2YXIgZmlsdGVyID0gY3R4LnJlcGxheUZpbHRlciA/IGNvbWJpbmUoY3R4LmZpbHRlciwgY3R4LnJlcGxheUZpbHRlcigpKSA6IGN0eC5maWx0ZXI7XG4gICAgaWYgKCFjdHgub3IpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXJhdGUob3BlbkN1cnNvcihjdHgsIGNvcmVUYWJsZSwgY29yZVRyYW5zKSwgY29tYmluZShjdHguYWxnb3JpdGhtLCBmaWx0ZXIpLCBmbiwgIWN0eC5rZXlzT25seSAmJiBjdHgudmFsdWVNYXBwZXIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIHNldF8xID0ge307XG4gICAgICAgIHZhciB1bmlvbiA9IGZ1bmN0aW9uIChpdGVtLCBjdXJzb3IsIGFkdmFuY2UpIHtcbiAgICAgICAgICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihjdXJzb3IsIGFkdmFuY2UsIGZ1bmN0aW9uIChyZXN1bHQpIHsgcmV0dXJuIGN1cnNvci5zdG9wKHJlc3VsdCk7IH0sIGZ1bmN0aW9uIChlcnIpIHsgcmV0dXJuIGN1cnNvci5mYWlsKGVycik7IH0pKSB7XG4gICAgICAgICAgICAgICAgdmFyIHByaW1hcnlLZXkgPSBjdXJzb3IucHJpbWFyeUtleTtcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0gJycgKyBwcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICdbb2JqZWN0IEFycmF5QnVmZmVyXScpXG4gICAgICAgICAgICAgICAgICAgIGtleSA9ICcnICsgbmV3IFVpbnQ4QXJyYXkocHJpbWFyeUtleSk7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNPd24oc2V0XzEsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0XzFba2V5XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGZuKGl0ZW0sIGN1cnNvciwgYWR2YW5jZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgY3R4Lm9yLl9pdGVyYXRlKHVuaW9uLCBjb3JlVHJhbnMpLFxuICAgICAgICAgICAgaXRlcmF0ZShvcGVuQ3Vyc29yKGN0eCwgY29yZVRhYmxlLCBjb3JlVHJhbnMpLCBjdHguYWxnb3JpdGhtLCB1bmlvbiwgIWN0eC5rZXlzT25seSAmJiBjdHgudmFsdWVNYXBwZXIpXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGl0ZXJhdGUoY3Vyc29yUHJvbWlzZSwgZmlsdGVyLCBmbiwgdmFsdWVNYXBwZXIpIHtcbiAgICB2YXIgbWFwcGVkRm4gPSB2YWx1ZU1hcHBlciA/IGZ1bmN0aW9uICh4LCBjLCBhKSB7IHJldHVybiBmbih2YWx1ZU1hcHBlcih4KSwgYywgYSk7IH0gOiBmbjtcbiAgICB2YXIgd3JhcHBlZEZuID0gd3JhcChtYXBwZWRGbik7XG4gICAgcmV0dXJuIGN1cnNvclByb21pc2UudGhlbihmdW5jdGlvbiAoY3Vyc29yKSB7XG4gICAgICAgIGlmIChjdXJzb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXJzb3Iuc3RhcnQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBjID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY3Vyc29yLmNvbnRpbnVlKCk7IH07XG4gICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGN1cnNvciwgZnVuY3Rpb24gKGFkdmFuY2VyKSB7IHJldHVybiBjID0gYWR2YW5jZXI7IH0sIGZ1bmN0aW9uICh2YWwpIHsgY3Vyc29yLnN0b3AodmFsKTsgYyA9IG5vcDsgfSwgZnVuY3Rpb24gKGUpIHsgY3Vyc29yLmZhaWwoZSk7IGMgPSBub3A7IH0pKVxuICAgICAgICAgICAgICAgICAgICB3cmFwcGVkRm4oY3Vyc29yLnZhbHVlLCBjdXJzb3IsIGZ1bmN0aW9uIChhZHZhbmNlcikgeyByZXR1cm4gYyA9IGFkdmFuY2VyOyB9KTtcbiAgICAgICAgICAgICAgICBjKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG52YXIgQ29sbGVjdGlvbiA9ICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBDb2xsZWN0aW9uKCkge1xuICAgIH1cbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChmbiwgY2IpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuX2N0eDtcbiAgICAgICAgcmV0dXJuIGN0eC5lcnJvciA/XG4gICAgICAgICAgICBjdHgudGFibGUuX3RyYW5zKG51bGwsIHJlamVjdGlvbi5iaW5kKG51bGwsIGN0eC5lcnJvcikpIDpcbiAgICAgICAgICAgIGN0eC50YWJsZS5fdHJhbnMoJ3JlYWRvbmx5JywgZm4pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIHJldHVybiBjdHguZXJyb3IgP1xuICAgICAgICAgICAgY3R4LnRhYmxlLl90cmFucyhudWxsLCByZWplY3Rpb24uYmluZChudWxsLCBjdHguZXJyb3IpKSA6XG4gICAgICAgICAgICBjdHgudGFibGUuX3RyYW5zKCdyZWFkd3JpdGUnLCBmbiwgXCJsb2NrZWRcIik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5fYWRkQWxnb3JpdGhtID0gZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGN0eC5hbGdvcml0aG0gPSBjb21iaW5lKGN0eC5hbGdvcml0aG0sIGZuKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLl9pdGVyYXRlID0gZnVuY3Rpb24gKGZuLCBjb3JlVHJhbnMpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXIodGhpcy5fY3R4LCBmbiwgY29yZVRyYW5zLCB0aGlzLl9jdHgudGFibGUuY29yZSk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIChwcm9wcyQkMSkge1xuICAgICAgICB2YXIgcnYgPSBPYmplY3QuY3JlYXRlKHRoaXMuY29uc3RydWN0b3IucHJvdG90eXBlKSwgY3R4ID0gT2JqZWN0LmNyZWF0ZSh0aGlzLl9jdHgpO1xuICAgICAgICBpZiAocHJvcHMkJDEpXG4gICAgICAgICAgICBleHRlbmQoY3R4LCBwcm9wcyQkMSk7XG4gICAgICAgIHJ2Ll9jdHggPSBjdHg7XG4gICAgICAgIHJldHVybiBydjtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLnJhdyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fY3R4LnZhbHVlTWFwcGVyID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5lYWNoID0gZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkKGZ1bmN0aW9uICh0cmFucykgeyByZXR1cm4gaXRlcihjdHgsIGZuLCB0cmFucywgY3R4LnRhYmxlLmNvcmUpOyB9KTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmNvdW50ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkKGZ1bmN0aW9uICh0cmFucykge1xuICAgICAgICAgICAgdmFyIGN0eCA9IF90aGlzLl9jdHg7XG4gICAgICAgICAgICB2YXIgY29yZVRhYmxlID0gY3R4LnRhYmxlLmNvcmU7XG4gICAgICAgICAgICBpZiAoaXNQbGFpbktleVJhbmdlKGN0eCwgdHJ1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29yZVRhYmxlLmNvdW50KHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnM6IHRyYW5zLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGdldEluZGV4T3JTdG9yZShjdHgsIGNvcmVUYWJsZS5zY2hlbWEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2U6IGN0eC5yYW5nZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAoY291bnQpIHsgcmV0dXJuIE1hdGgubWluKGNvdW50LCBjdHgubGltaXQpOyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXIoY3R4LCBmdW5jdGlvbiAoKSB7ICsrY291bnQ7IHJldHVybiBmYWxzZTsgfSwgdHJhbnMsIGNvcmVUYWJsZSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gY291bnQ7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS50aGVuKGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLnNvcnRCeSA9IGZ1bmN0aW9uIChrZXlQYXRoLCBjYikge1xuICAgICAgICB2YXIgcGFydHMgPSBrZXlQYXRoLnNwbGl0KCcuJykucmV2ZXJzZSgpLCBsYXN0UGFydCA9IHBhcnRzWzBdLCBsYXN0SW5kZXggPSBwYXJ0cy5sZW5ndGggLSAxO1xuICAgICAgICBmdW5jdGlvbiBnZXR2YWwob2JqLCBpKSB7XG4gICAgICAgICAgICBpZiAoaSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0dmFsKG9ialtwYXJ0c1tpXV0sIGkgLSAxKTtcbiAgICAgICAgICAgIHJldHVybiBvYmpbbGFzdFBhcnRdO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvcmRlciA9IHRoaXMuX2N0eC5kaXIgPT09IFwibmV4dFwiID8gMSA6IC0xO1xuICAgICAgICBmdW5jdGlvbiBzb3J0ZXIoYSwgYikge1xuICAgICAgICAgICAgdmFyIGFWYWwgPSBnZXR2YWwoYSwgbGFzdEluZGV4KSwgYlZhbCA9IGdldHZhbChiLCBsYXN0SW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuIGFWYWwgPCBiVmFsID8gLW9yZGVyIDogYVZhbCA+IGJWYWwgPyBvcmRlciA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudG9BcnJheShmdW5jdGlvbiAoYSkge1xuICAgICAgICAgICAgcmV0dXJuIGEuc29ydChzb3J0ZXIpO1xuICAgICAgICB9KS50aGVuKGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWQoZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICB2YXIgY3R4ID0gX3RoaXMuX2N0eDtcbiAgICAgICAgICAgIGlmIChjdHguZGlyID09PSAnbmV4dCcgJiYgaXNQbGFpbktleVJhbmdlKGN0eCwgdHJ1ZSkgJiYgY3R4LmxpbWl0ID4gMCkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZU1hcHBlcl8xID0gY3R4LnZhbHVlTWFwcGVyO1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IGdldEluZGV4T3JTdG9yZShjdHgsIGN0eC50YWJsZS5jb3JlLnNjaGVtYSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC50YWJsZS5jb3JlLnF1ZXJ5KHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnM6IHRyYW5zLFxuICAgICAgICAgICAgICAgICAgICBsaW1pdDogY3R4LmxpbWl0LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICByYW5nZTogY3R4LnJhbmdlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gX2EucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVNYXBwZXJfMSA/IHJlc3VsdC5tYXAodmFsdWVNYXBwZXJfMSkgOiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgYV8xID0gW107XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXIoY3R4LCBmdW5jdGlvbiAoaXRlbSkgeyByZXR1cm4gYV8xLnB1c2goaXRlbSk7IH0sIHRyYW5zLCBjdHgudGFibGUuY29yZSkudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBhXzE7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5vZmZzZXQgPSBmdW5jdGlvbiAob2Zmc2V0KSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGlmIChvZmZzZXQgPD0gMClcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICBjdHgub2Zmc2V0ICs9IG9mZnNldDtcbiAgICAgICAgaWYgKGlzUGxhaW5LZXlSYW5nZShjdHgpKSB7XG4gICAgICAgICAgICBhZGRSZXBsYXlGaWx0ZXIoY3R4LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIG9mZnNldExlZnQgPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChjdXJzb3IsIGFkdmFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9mZnNldExlZnQgPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9mZnNldExlZnQgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tb2Zmc2V0TGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5hZHZhbmNlKG9mZnNldExlZnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0TGVmdCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgYWRkUmVwbGF5RmlsdGVyKGN0eCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHZhciBvZmZzZXRMZWZ0ID0gb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IHJldHVybiAoLS1vZmZzZXRMZWZ0IDwgMCk7IH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmxpbWl0ID0gZnVuY3Rpb24gKG51bVJvd3MpIHtcbiAgICAgICAgdGhpcy5fY3R4LmxpbWl0ID0gTWF0aC5taW4odGhpcy5fY3R4LmxpbWl0LCBudW1Sb3dzKTtcbiAgICAgICAgYWRkUmVwbGF5RmlsdGVyKHRoaXMuX2N0eCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHJvd3NMZWZ0ID0gbnVtUm93cztcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoY3Vyc29yLCBhZHZhbmNlLCByZXNvbHZlKSB7XG4gICAgICAgICAgICAgICAgaWYgKC0tcm93c0xlZnQgPD0gMClcbiAgICAgICAgICAgICAgICAgICAgYWR2YW5jZShyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm93c0xlZnQgPj0gMDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLnVudGlsID0gZnVuY3Rpb24gKGZpbHRlckZ1bmN0aW9uLCBiSW5jbHVkZVN0b3BFbnRyeSkge1xuICAgICAgICBhZGRGaWx0ZXIodGhpcy5fY3R4LCBmdW5jdGlvbiAoY3Vyc29yLCBhZHZhbmNlLCByZXNvbHZlKSB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRnVuY3Rpb24oY3Vyc29yLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGFkdmFuY2UocmVzb2x2ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJJbmNsdWRlU3RvcEVudHJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmZpcnN0ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbWl0KDEpLnRvQXJyYXkoZnVuY3Rpb24gKGEpIHsgcmV0dXJuIGFbMF07IH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUubGFzdCA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCkuZmlyc3QoY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuZmlsdGVyID0gZnVuY3Rpb24gKGZpbHRlckZ1bmN0aW9uKSB7XG4gICAgICAgIGFkZEZpbHRlcih0aGlzLl9jdHgsIGZ1bmN0aW9uIChjdXJzb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jdGlvbihjdXJzb3IudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgYWRkTWF0Y2hGaWx0ZXIodGhpcy5fY3R4LCBmaWx0ZXJGdW5jdGlvbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gKGZpbHRlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIoZmlsdGVyKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLm9yID0gZnVuY3Rpb24gKGluZGV4TmFtZSkge1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMuZGIuV2hlcmVDbGF1c2UodGhpcy5fY3R4LnRhYmxlLCBpbmRleE5hbWUsIHRoaXMpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUucmV2ZXJzZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5fY3R4LmRpciA9ICh0aGlzLl9jdHguZGlyID09PSBcInByZXZcIiA/IFwibmV4dFwiIDogXCJwcmV2XCIpO1xuICAgICAgICBpZiAodGhpcy5fb25kaXJlY3Rpb25jaGFuZ2UpXG4gICAgICAgICAgICB0aGlzLl9vbmRpcmVjdGlvbmNoYW5nZSh0aGlzLl9jdHguZGlyKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5kZXNjID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5lYWNoS2V5ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGN0eC5rZXlzT25seSA9ICFjdHguaXNNYXRjaDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAodmFsLCBjdXJzb3IpIHsgY2IoY3Vyc29yLmtleSwgY3Vyc29yKTsgfSk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5lYWNoVW5pcXVlS2V5ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHRoaXMuX2N0eC51bmlxdWUgPSBcInVuaXF1ZVwiO1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNoS2V5KGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmVhY2hQcmltYXJ5S2V5ID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGN0eC5rZXlzT25seSA9ICFjdHguaXNNYXRjaDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAodmFsLCBjdXJzb3IpIHsgY2IoY3Vyc29yLnByaW1hcnlLZXksIGN1cnNvcik7IH0pO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUua2V5cyA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICB2YXIgY3R4ID0gdGhpcy5fY3R4O1xuICAgICAgICBjdHgua2V5c09ubHkgPSAhY3R4LmlzTWF0Y2g7XG4gICAgICAgIHZhciBhID0gW107XG4gICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKGl0ZW0sIGN1cnNvcikge1xuICAgICAgICAgICAgYS5wdXNoKGN1cnNvci5rZXkpO1xuICAgICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBhO1xuICAgICAgICB9KS50aGVuKGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLnByaW1hcnlLZXlzID0gZnVuY3Rpb24gKGNiKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIGlmIChjdHguZGlyID09PSAnbmV4dCcgJiYgaXNQbGFpbktleVJhbmdlKGN0eCwgdHJ1ZSkgJiYgY3R4LmxpbWl0ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWQoZnVuY3Rpb24gKHRyYW5zKSB7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhPclN0b3JlKGN0eCwgY3R4LnRhYmxlLmNvcmUuc2NoZW1hKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnRhYmxlLmNvcmUucXVlcnkoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuczogdHJhbnMsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGxpbWl0OiBjdHgubGltaXQsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICByYW5nZTogY3R4LnJhbmdlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IF9hLnJlc3VsdDtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSkudGhlbihjYik7XG4gICAgICAgIH1cbiAgICAgICAgY3R4LmtleXNPbmx5ID0gIWN0eC5pc01hdGNoO1xuICAgICAgICB2YXIgYSA9IFtdO1xuICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uIChpdGVtLCBjdXJzb3IpIHtcbiAgICAgICAgICAgIGEucHVzaChjdXJzb3IucHJpbWFyeUtleSk7XG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH0pLnRoZW4oY2IpO1xuICAgIH07XG4gICAgQ29sbGVjdGlvbi5wcm90b3R5cGUudW5pcXVlS2V5cyA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICB0aGlzLl9jdHgudW5pcXVlID0gXCJ1bmlxdWVcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5cyhjYik7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5maXJzdEtleSA9IGZ1bmN0aW9uIChjYikge1xuICAgICAgICByZXR1cm4gdGhpcy5saW1pdCgxKS5rZXlzKGZ1bmN0aW9uIChhKSB7IHJldHVybiBhWzBdOyB9KS50aGVuKGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmxhc3RLZXkgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpLmZpcnN0S2V5KGNiKTtcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLmRpc3RpbmN0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY3R4ID0gdGhpcy5fY3R4LCBpZHggPSBjdHguaW5kZXggJiYgY3R4LnRhYmxlLnNjaGVtYS5pZHhCeU5hbWVbY3R4LmluZGV4XTtcbiAgICAgICAgaWYgKCFpZHggfHwgIWlkeC5tdWx0aSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB2YXIgc2V0ID0ge307XG4gICAgICAgIGFkZEZpbHRlcih0aGlzLl9jdHgsIGZ1bmN0aW9uIChjdXJzb3IpIHtcbiAgICAgICAgICAgIHZhciBzdHJLZXkgPSBjdXJzb3IucHJpbWFyeUtleS50b1N0cmluZygpO1xuICAgICAgICAgICAgdmFyIGZvdW5kID0gaGFzT3duKHNldCwgc3RyS2V5KTtcbiAgICAgICAgICAgIHNldFtzdHJLZXldID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiAhZm91bmQ7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIENvbGxlY3Rpb24ucHJvdG90eXBlLm1vZGlmeSA9IGZ1bmN0aW9uIChjaGFuZ2VzKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHg7XG4gICAgICAgIHJldHVybiB0aGlzLl93cml0ZShmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgIHZhciBtb2RpZnllcjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2hhbmdlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIG1vZGlmeWVyID0gY2hhbmdlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBrZXlQYXRocyA9IGtleXMoY2hhbmdlcyk7XG4gICAgICAgICAgICAgICAgdmFyIG51bUtleXMgPSBrZXlQYXRocy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgbW9kaWZ5ZXIgPSBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgYW55dGhpbmdNb2RpZmllZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUtleXM7ICsraSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleVBhdGggPSBrZXlQYXRoc1tpXSwgdmFsID0gY2hhbmdlc1trZXlQYXRoXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRCeUtleVBhdGgoaXRlbSwga2V5UGF0aCkgIT09IHZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEJ5S2V5UGF0aChpdGVtLCBrZXlQYXRoLCB2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFueXRoaW5nTW9kaWZpZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhbnl0aGluZ01vZGlmaWVkO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgY29yZVRhYmxlID0gY3R4LnRhYmxlLmNvcmU7XG4gICAgICAgICAgICB2YXIgX2EgPSBjb3JlVGFibGUuc2NoZW1hLnByaW1hcnlLZXksIG91dGJvdW5kID0gX2Eub3V0Ym91bmQsIGV4dHJhY3RLZXkgPSBfYS5leHRyYWN0S2V5O1xuICAgICAgICAgICAgdmFyIGxpbWl0ID0gJ3Rlc3Rtb2RlJyBpbiBEZXhpZSA/IDEgOiAyMDAwO1xuICAgICAgICAgICAgdmFyIGNtcCA9IF90aGlzLmRiLmNvcmUuY21wO1xuICAgICAgICAgICAgdmFyIHRvdGFsRmFpbHVyZXMgPSBbXTtcbiAgICAgICAgICAgIHZhciBzdWNjZXNzQ291bnQgPSAwO1xuICAgICAgICAgICAgdmFyIGZhaWxlZEtleXMgPSBbXTtcbiAgICAgICAgICAgIHZhciBhcHBseU11dGF0ZVJlc3VsdCA9IGZ1bmN0aW9uIChleHBlY3RlZENvdW50LCByZXMpIHtcbiAgICAgICAgICAgICAgICB2YXIgZmFpbHVyZXMgPSByZXMuZmFpbHVyZXMsIG51bUZhaWx1cmVzID0gcmVzLm51bUZhaWx1cmVzO1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NDb3VudCArPSBleHBlY3RlZENvdW50IC0gbnVtRmFpbHVyZXM7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwLCBfYSA9IGtleXMoZmFpbHVyZXMpOyBfaSA8IF9hLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcG9zID0gX2FbX2ldO1xuICAgICAgICAgICAgICAgICAgICB0b3RhbEZhaWx1cmVzLnB1c2goZmFpbHVyZXNbcG9zXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZSgpLnByaW1hcnlLZXlzKCkudGhlbihmdW5jdGlvbiAoa2V5cyQkMSkge1xuICAgICAgICAgICAgICAgIHZhciBuZXh0Q2h1bmsgPSBmdW5jdGlvbiAob2Zmc2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IE1hdGgubWluKGxpbWl0LCBrZXlzJCQxLmxlbmd0aCAtIG9mZnNldCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb3JlVGFibGUuZ2V0TWFueSh7IHRyYW5zOiB0cmFucywga2V5czoga2V5cyQkMS5zbGljZShvZmZzZXQsIG9mZnNldCArIGNvdW50KSB9KS50aGVuKGZ1bmN0aW9uICh2YWx1ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhZGRWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXRWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwdXRLZXlzID0gb3V0Ym91bmQgPyBbXSA6IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGVsZXRlS2V5cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9yaWdWYWx1ZSA9IHZhbHVlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3R4XzEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkZWVwQ2xvbmUob3JpZ1ZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbUtleToga2V5cyQkMVtvZmZzZXQgKyBpXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGlmeWVyLmNhbGwoY3R4XzEsIGN0eF8xLnZhbHVlLCBjdHhfMSkgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdHhfMS52YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVLZXlzLnB1c2goa2V5cyQkMVtvZmZzZXQgKyBpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIW91dGJvdW5kICYmIGNtcChleHRyYWN0S2V5KG9yaWdWYWx1ZSksIGV4dHJhY3RLZXkoY3R4XzEudmFsdWUpKSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlS2V5cy5wdXNoKGtleXMkJDFbb2Zmc2V0ICsgaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVmFsdWVzLnB1c2goY3R4XzEudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFsdWVzLnB1c2goY3R4XzEudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dGJvdW5kKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1dEtleXMucHVzaChrZXlzJCQxW29mZnNldCArIGldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoYWRkVmFsdWVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JlVGFibGUubXV0YXRlKHsgdHJhbnM6IHRyYW5zLCB0eXBlOiAnYWRkJywgdmFsdWVzOiBhZGRWYWx1ZXMgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBwb3MgaW4gcmVzLmZhaWx1cmVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVLZXlzLnNwbGljZShwYXJzZUludChwb3MpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBseU11dGF0ZVJlc3VsdChhZGRWYWx1ZXMubGVuZ3RoLCByZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIHB1dFZhbHVlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZVRhYmxlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ3B1dCcsIGtleXM6IHB1dEtleXMsIHZhbHVlczogcHV0VmFsdWVzIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIGFwcGx5TXV0YXRlUmVzdWx0KHB1dFZhbHVlcy5sZW5ndGgsIHJlcyk7IH0pOyB9KS50aGVuKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlbGV0ZUtleXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcmVUYWJsZS5tdXRhdGUoeyB0cmFuczogdHJhbnMsIHR5cGU6ICdkZWxldGUnLCBrZXlzOiBkZWxldGVLZXlzIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIGFwcGx5TXV0YXRlUmVzdWx0KGRlbGV0ZUtleXMubGVuZ3RoLCByZXMpOyB9KTsgfSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXMkJDEubGVuZ3RoID4gb2Zmc2V0ICsgY291bnQgJiYgbmV4dENodW5rKG9mZnNldCArIGxpbWl0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0Q2h1bmsoMCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3RhbEZhaWx1cmVzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgTW9kaWZ5RXJyb3IoXCJFcnJvciBtb2RpZnlpbmcgb25lIG9yIG1vcmUgb2JqZWN0c1wiLCB0b3RhbEZhaWx1cmVzLCBzdWNjZXNzQ291bnQsIGZhaWxlZEtleXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5cyQkMS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBDb2xsZWN0aW9uLnByb3RvdHlwZS5kZWxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzLl9jdHgsIHJhbmdlID0gY3R4LnJhbmdlO1xuICAgICAgICBpZiAoaXNQbGFpbktleVJhbmdlKGN0eCkgJiZcbiAgICAgICAgICAgICgoY3R4LmlzUHJpbUtleSAmJiAhaGFuZ3NPbkRlbGV0ZUxhcmdlS2V5UmFuZ2UpIHx8IHJhbmdlLnR5cGUgPT09IDMgICAgICAgICAgKSlcbiAgICAgICAgIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl93cml0ZShmdW5jdGlvbiAodHJhbnMpIHtcbiAgICAgICAgICAgICAgICB2YXIgcHJpbWFyeUtleSA9IGN0eC50YWJsZS5jb3JlLnNjaGVtYS5wcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgIHZhciBjb3JlUmFuZ2UgPSByYW5nZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnRhYmxlLmNvcmUuY291bnQoeyB0cmFuczogdHJhbnMsIHF1ZXJ5OiB7IGluZGV4OiBwcmltYXJ5S2V5LCByYW5nZTogY29yZVJhbmdlIH0gfSkudGhlbihmdW5jdGlvbiAoY291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0eC50YWJsZS5jb3JlLm11dGF0ZSh7IHRyYW5zOiB0cmFucywgdHlwZTogJ2RlbGV0ZVJhbmdlJywgcmFuZ2U6IGNvcmVSYW5nZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmFpbHVyZXMgPSBfYS5mYWlsdXJlcywgbGFzdFJlc3VsdCA9IF9hLmxhc3RSZXN1bHQsIHJlc3VsdHMgPSBfYS5yZXN1bHRzLCBudW1GYWlsdXJlcyA9IF9hLm51bUZhaWx1cmVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bUZhaWx1cmVzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBNb2RpZnlFcnJvcihcIkNvdWxkIG5vdCBkZWxldGUgc29tZSB2YWx1ZXNcIiwgT2JqZWN0LmtleXMoZmFpbHVyZXMpLm1hcChmdW5jdGlvbiAocG9zKSB7IHJldHVybiBmYWlsdXJlc1twb3NdOyB9KSwgY291bnQgLSBudW1GYWlsdXJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQgLSBudW1GYWlsdXJlcztcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tb2RpZnkoZnVuY3Rpb24gKHZhbHVlLCBjdHgpIHsgcmV0dXJuIGN0eC52YWx1ZSA9IG51bGw7IH0pO1xuICAgIH07XG4gICAgcmV0dXJuIENvbGxlY3Rpb247XG59KCkpO1xuXG5mdW5jdGlvbiBjcmVhdGVDb2xsZWN0aW9uQ29uc3RydWN0b3IoZGIpIHtcbiAgICByZXR1cm4gbWFrZUNsYXNzQ29uc3RydWN0b3IoQ29sbGVjdGlvbi5wcm90b3R5cGUsIGZ1bmN0aW9uIENvbGxlY3Rpb24kJDEod2hlcmVDbGF1c2UsIGtleVJhbmdlR2VuZXJhdG9yKSB7XG4gICAgICAgIHRoaXMuZGIgPSBkYjtcbiAgICAgICAgdmFyIGtleVJhbmdlID0gQW55UmFuZ2UsIGVycm9yID0gbnVsbDtcbiAgICAgICAgaWYgKGtleVJhbmdlR2VuZXJhdG9yKVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBrZXlSYW5nZSA9IGtleVJhbmdlR2VuZXJhdG9yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXgpIHtcbiAgICAgICAgICAgICAgICBlcnJvciA9IGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB2YXIgd2hlcmVDdHggPSB3aGVyZUNsYXVzZS5fY3R4O1xuICAgICAgICB2YXIgdGFibGUgPSB3aGVyZUN0eC50YWJsZTtcbiAgICAgICAgdmFyIHJlYWRpbmdIb29rID0gdGFibGUuaG9vay5yZWFkaW5nLmZpcmU7XG4gICAgICAgIHRoaXMuX2N0eCA9IHtcbiAgICAgICAgICAgIHRhYmxlOiB0YWJsZSxcbiAgICAgICAgICAgIGluZGV4OiB3aGVyZUN0eC5pbmRleCxcbiAgICAgICAgICAgIGlzUHJpbUtleTogKCF3aGVyZUN0eC5pbmRleCB8fCAodGFibGUuc2NoZW1hLnByaW1LZXkua2V5UGF0aCAmJiB3aGVyZUN0eC5pbmRleCA9PT0gdGFibGUuc2NoZW1hLnByaW1LZXkubmFtZSkpLFxuICAgICAgICAgICAgcmFuZ2U6IGtleVJhbmdlLFxuICAgICAgICAgICAga2V5c09ubHk6IGZhbHNlLFxuICAgICAgICAgICAgZGlyOiBcIm5leHRcIixcbiAgICAgICAgICAgIHVuaXF1ZTogXCJcIixcbiAgICAgICAgICAgIGFsZ29yaXRobTogbnVsbCxcbiAgICAgICAgICAgIGZpbHRlcjogbnVsbCxcbiAgICAgICAgICAgIHJlcGxheUZpbHRlcjogbnVsbCxcbiAgICAgICAgICAgIGp1c3RMaW1pdDogdHJ1ZSxcbiAgICAgICAgICAgIGlzTWF0Y2g6IG51bGwsXG4gICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICBsaW1pdDogSW5maW5pdHksXG4gICAgICAgICAgICBlcnJvcjogZXJyb3IsXG4gICAgICAgICAgICBvcjogd2hlcmVDdHgub3IsXG4gICAgICAgICAgICB2YWx1ZU1hcHBlcjogcmVhZGluZ0hvb2sgIT09IG1pcnJvciA/IHJlYWRpbmdIb29rIDogbnVsbFxuICAgICAgICB9O1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBzaW1wbGVDb21wYXJlKGEsIGIpIHtcbiAgICByZXR1cm4gYSA8IGIgPyAtMSA6IGEgPT09IGIgPyAwIDogMTtcbn1cbmZ1bmN0aW9uIHNpbXBsZUNvbXBhcmVSZXZlcnNlKGEsIGIpIHtcbiAgICByZXR1cm4gYSA+IGIgPyAtMSA6IGEgPT09IGIgPyAwIDogMTtcbn1cblxuZnVuY3Rpb24gZmFpbChjb2xsZWN0aW9uT3JXaGVyZUNsYXVzZSwgZXJyLCBUKSB7XG4gICAgdmFyIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uT3JXaGVyZUNsYXVzZSBpbnN0YW5jZW9mIFdoZXJlQ2xhdXNlID9cbiAgICAgICAgbmV3IGNvbGxlY3Rpb25PcldoZXJlQ2xhdXNlLkNvbGxlY3Rpb24oY29sbGVjdGlvbk9yV2hlcmVDbGF1c2UpIDpcbiAgICAgICAgY29sbGVjdGlvbk9yV2hlcmVDbGF1c2U7XG4gICAgY29sbGVjdGlvbi5fY3R4LmVycm9yID0gVCA/IG5ldyBUKGVycikgOiBuZXcgVHlwZUVycm9yKGVycik7XG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG59XG5mdW5jdGlvbiBlbXB0eUNvbGxlY3Rpb24od2hlcmVDbGF1c2UpIHtcbiAgICByZXR1cm4gbmV3IHdoZXJlQ2xhdXNlLkNvbGxlY3Rpb24od2hlcmVDbGF1c2UsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJhbmdlRXF1YWwoXCJcIik7IH0pLmxpbWl0KDApO1xufVxuZnVuY3Rpb24gdXBwZXJGYWN0b3J5KGRpcikge1xuICAgIHJldHVybiBkaXIgPT09IFwibmV4dFwiID9cbiAgICAgICAgZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHMudG9VcHBlckNhc2UoKTsgfSA6XG4gICAgICAgIGZ1bmN0aW9uIChzKSB7IHJldHVybiBzLnRvTG93ZXJDYXNlKCk7IH07XG59XG5mdW5jdGlvbiBsb3dlckZhY3RvcnkoZGlyKSB7XG4gICAgcmV0dXJuIGRpciA9PT0gXCJuZXh0XCIgP1xuICAgICAgICBmdW5jdGlvbiAocykgeyByZXR1cm4gcy50b0xvd2VyQ2FzZSgpOyB9IDpcbiAgICAgICAgZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHMudG9VcHBlckNhc2UoKTsgfTtcbn1cbmZ1bmN0aW9uIG5leHRDYXNpbmcoa2V5LCBsb3dlcktleSwgdXBwZXJOZWVkbGUsIGxvd2VyTmVlZGxlLCBjbXAsIGRpcikge1xuICAgIHZhciBsZW5ndGggPSBNYXRoLm1pbihrZXkubGVuZ3RoLCBsb3dlck5lZWRsZS5sZW5ndGgpO1xuICAgIHZhciBsbHAgPSAtMTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBsd3JLZXlDaGFyID0gbG93ZXJLZXlbaV07XG4gICAgICAgIGlmIChsd3JLZXlDaGFyICE9PSBsb3dlck5lZWRsZVtpXSkge1xuICAgICAgICAgICAgaWYgKGNtcChrZXlbaV0sIHVwcGVyTmVlZGxlW2ldKSA8IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIGtleS5zdWJzdHIoMCwgaSkgKyB1cHBlck5lZWRsZVtpXSArIHVwcGVyTmVlZGxlLnN1YnN0cihpICsgMSk7XG4gICAgICAgICAgICBpZiAoY21wKGtleVtpXSwgbG93ZXJOZWVkbGVbaV0pIDwgMClcbiAgICAgICAgICAgICAgICByZXR1cm4ga2V5LnN1YnN0cigwLCBpKSArIGxvd2VyTmVlZGxlW2ldICsgdXBwZXJOZWVkbGUuc3Vic3RyKGkgKyAxKTtcbiAgICAgICAgICAgIGlmIChsbHAgPj0gMClcbiAgICAgICAgICAgICAgICByZXR1cm4ga2V5LnN1YnN0cigwLCBsbHApICsgbG93ZXJLZXlbbGxwXSArIHVwcGVyTmVlZGxlLnN1YnN0cihsbHAgKyAxKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjbXAoa2V5W2ldLCBsd3JLZXlDaGFyKSA8IDApXG4gICAgICAgICAgICBsbHAgPSBpO1xuICAgIH1cbiAgICBpZiAobGVuZ3RoIDwgbG93ZXJOZWVkbGUubGVuZ3RoICYmIGRpciA9PT0gXCJuZXh0XCIpXG4gICAgICAgIHJldHVybiBrZXkgKyB1cHBlck5lZWRsZS5zdWJzdHIoa2V5Lmxlbmd0aCk7XG4gICAgaWYgKGxlbmd0aCA8IGtleS5sZW5ndGggJiYgZGlyID09PSBcInByZXZcIilcbiAgICAgICAgcmV0dXJuIGtleS5zdWJzdHIoMCwgdXBwZXJOZWVkbGUubGVuZ3RoKTtcbiAgICByZXR1cm4gKGxscCA8IDAgPyBudWxsIDoga2V5LnN1YnN0cigwLCBsbHApICsgbG93ZXJOZWVkbGVbbGxwXSArIHVwcGVyTmVlZGxlLnN1YnN0cihsbHAgKyAxKSk7XG59XG5mdW5jdGlvbiBhZGRJZ25vcmVDYXNlQWxnb3JpdGhtKHdoZXJlQ2xhdXNlLCBtYXRjaCwgbmVlZGxlcywgc3VmZml4KSB7XG4gICAgdmFyIHVwcGVyLCBsb3dlciwgY29tcGFyZSwgdXBwZXJOZWVkbGVzLCBsb3dlck5lZWRsZXMsIGRpcmVjdGlvbiwgbmV4dEtleVN1ZmZpeCwgbmVlZGxlc0xlbiA9IG5lZWRsZXMubGVuZ3RoO1xuICAgIGlmICghbmVlZGxlcy5ldmVyeShmdW5jdGlvbiAocykgeyByZXR1cm4gdHlwZW9mIHMgPT09ICdzdHJpbmcnOyB9KSkge1xuICAgICAgICByZXR1cm4gZmFpbCh3aGVyZUNsYXVzZSwgU1RSSU5HX0VYUEVDVEVEKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdERpcmVjdGlvbihkaXIpIHtcbiAgICAgICAgdXBwZXIgPSB1cHBlckZhY3RvcnkoZGlyKTtcbiAgICAgICAgbG93ZXIgPSBsb3dlckZhY3RvcnkoZGlyKTtcbiAgICAgICAgY29tcGFyZSA9IChkaXIgPT09IFwibmV4dFwiID8gc2ltcGxlQ29tcGFyZSA6IHNpbXBsZUNvbXBhcmVSZXZlcnNlKTtcbiAgICAgICAgdmFyIG5lZWRsZUJvdW5kcyA9IG5lZWRsZXMubWFwKGZ1bmN0aW9uIChuZWVkbGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGxvd2VyOiBsb3dlcihuZWVkbGUpLCB1cHBlcjogdXBwZXIobmVlZGxlKSB9O1xuICAgICAgICB9KS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcGFyZShhLmxvd2VyLCBiLmxvd2VyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHVwcGVyTmVlZGxlcyA9IG5lZWRsZUJvdW5kcy5tYXAoZnVuY3Rpb24gKG5iKSB7IHJldHVybiBuYi51cHBlcjsgfSk7XG4gICAgICAgIGxvd2VyTmVlZGxlcyA9IG5lZWRsZUJvdW5kcy5tYXAoZnVuY3Rpb24gKG5iKSB7IHJldHVybiBuYi5sb3dlcjsgfSk7XG4gICAgICAgIGRpcmVjdGlvbiA9IGRpcjtcbiAgICAgICAgbmV4dEtleVN1ZmZpeCA9IChkaXIgPT09IFwibmV4dFwiID8gXCJcIiA6IHN1ZmZpeCk7XG4gICAgfVxuICAgIGluaXREaXJlY3Rpb24oXCJuZXh0XCIpO1xuICAgIHZhciBjID0gbmV3IHdoZXJlQ2xhdXNlLkNvbGxlY3Rpb24od2hlcmVDbGF1c2UsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHVwcGVyTmVlZGxlc1swXSwgbG93ZXJOZWVkbGVzW25lZWRsZXNMZW4gLSAxXSArIHN1ZmZpeCk7IH0pO1xuICAgIGMuX29uZGlyZWN0aW9uY2hhbmdlID0gZnVuY3Rpb24gKGRpcmVjdGlvbikge1xuICAgICAgICBpbml0RGlyZWN0aW9uKGRpcmVjdGlvbik7XG4gICAgfTtcbiAgICB2YXIgZmlyc3RQb3NzaWJsZU5lZWRsZSA9IDA7XG4gICAgYy5fYWRkQWxnb3JpdGhtKGZ1bmN0aW9uIChjdXJzb3IsIGFkdmFuY2UsIHJlc29sdmUpIHtcbiAgICAgICAgdmFyIGtleSA9IGN1cnNvci5rZXk7XG4gICAgICAgIGlmICh0eXBlb2Yga2V5ICE9PSAnc3RyaW5nJylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgdmFyIGxvd2VyS2V5ID0gbG93ZXIoa2V5KTtcbiAgICAgICAgaWYgKG1hdGNoKGxvd2VyS2V5LCBsb3dlck5lZWRsZXMsIGZpcnN0UG9zc2libGVOZWVkbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBsb3dlc3RQb3NzaWJsZUNhc2luZyA9IG51bGw7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gZmlyc3RQb3NzaWJsZU5lZWRsZTsgaSA8IG5lZWRsZXNMZW47ICsraSkge1xuICAgICAgICAgICAgICAgIHZhciBjYXNpbmcgPSBuZXh0Q2FzaW5nKGtleSwgbG93ZXJLZXksIHVwcGVyTmVlZGxlc1tpXSwgbG93ZXJOZWVkbGVzW2ldLCBjb21wYXJlLCBkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIGlmIChjYXNpbmcgPT09IG51bGwgJiYgbG93ZXN0UG9zc2libGVDYXNpbmcgPT09IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0UG9zc2libGVOZWVkbGUgPSBpICsgMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChsb3dlc3RQb3NzaWJsZUNhc2luZyA9PT0gbnVsbCB8fCBjb21wYXJlKGxvd2VzdFBvc3NpYmxlQ2FzaW5nLCBjYXNpbmcpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBsb3dlc3RQb3NzaWJsZUNhc2luZyA9IGNhc2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobG93ZXN0UG9zc2libGVDYXNpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBhZHZhbmNlKGZ1bmN0aW9uICgpIHsgY3Vyc29yLmNvbnRpbnVlKGxvd2VzdFBvc3NpYmxlQ2FzaW5nICsgbmV4dEtleVN1ZmZpeCk7IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYWR2YW5jZShyZXNvbHZlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjO1xufVxuZnVuY3Rpb24gY3JlYXRlUmFuZ2UobG93ZXIsIHVwcGVyLCBsb3dlck9wZW4sIHVwcGVyT3Blbikge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IDIgICAgICAgICAgICAsXG4gICAgICAgIGxvd2VyOiBsb3dlcixcbiAgICAgICAgdXBwZXI6IHVwcGVyLFxuICAgICAgICBsb3dlck9wZW46IGxvd2VyT3BlbixcbiAgICAgICAgdXBwZXJPcGVuOiB1cHBlck9wZW5cbiAgICB9O1xufVxuZnVuY3Rpb24gcmFuZ2VFcXVhbCh2YWx1ZSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IDEgICAgICAgICAgICAsXG4gICAgICAgIGxvd2VyOiB2YWx1ZSxcbiAgICAgICAgdXBwZXI6IHZhbHVlXG4gICAgfTtcbn1cblxudmFyIFdoZXJlQ2xhdXNlID0gICAgICAgICAgICAgICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFdoZXJlQ2xhdXNlKCkge1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV2hlcmVDbGF1c2UucHJvdG90eXBlLCBcIkNvbGxlY3Rpb25cIiwge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jdHgudGFibGUuZGIuQ29sbGVjdGlvbjtcbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLmJldHdlZW4gPSBmdW5jdGlvbiAobG93ZXIsIHVwcGVyLCBpbmNsdWRlTG93ZXIsIGluY2x1ZGVVcHBlcikge1xuICAgICAgICBpbmNsdWRlTG93ZXIgPSBpbmNsdWRlTG93ZXIgIT09IGZhbHNlO1xuICAgICAgICBpbmNsdWRlVXBwZXIgPSBpbmNsdWRlVXBwZXIgPT09IHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoKHRoaXMuX2NtcChsb3dlciwgdXBwZXIpID4gMCkgfHxcbiAgICAgICAgICAgICAgICAodGhpcy5fY21wKGxvd2VyLCB1cHBlcikgPT09IDAgJiYgKGluY2x1ZGVMb3dlciB8fCBpbmNsdWRlVXBwZXIpICYmICEoaW5jbHVkZUxvd2VyICYmIGluY2x1ZGVVcHBlcikpKVxuICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eUNvbGxlY3Rpb24odGhpcyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzLCBmdW5jdGlvbiAoKSB7IHJldHVybiBjcmVhdGVSYW5nZShsb3dlciwgdXBwZXIsICFpbmNsdWRlTG93ZXIsICFpbmNsdWRlVXBwZXIpOyB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWwodGhpcywgSU5WQUxJRF9LRVlfQVJHVU1FTlQpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIGZhaWwodGhpcywgSU5WQUxJRF9LRVlfQVJHVU1FTlQpO1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzLCBmdW5jdGlvbiAoKSB7IHJldHVybiByYW5nZUVxdWFsKHZhbHVlKTsgfSk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYWJvdmUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHZhbHVlLCB1bmRlZmluZWQsIHRydWUpOyB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5hYm92ZU9yRXF1YWwgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHZhbHVlLCB1bmRlZmluZWQsIGZhbHNlKTsgfSk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYmVsb3cgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIHJldHVybiBuZXcgdGhpcy5Db2xsZWN0aW9uKHRoaXMsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNyZWF0ZVJhbmdlKHVuZGVmaW5lZCwgdmFsdWUsIGZhbHNlLCB0cnVlKTsgfSk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYmVsb3dPckVxdWFsID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIGZhaWwodGhpcywgSU5WQUxJRF9LRVlfQVJHVU1FTlQpO1xuICAgICAgICByZXR1cm4gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzLCBmdW5jdGlvbiAoKSB7IHJldHVybiBjcmVhdGVSYW5nZSh1bmRlZmluZWQsIHZhbHVlKTsgfSk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuc3RhcnRzV2l0aCA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGZhaWwodGhpcywgU1RSSU5HX0VYUEVDVEVEKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmV0d2VlbihzdHIsIHN0ciArIG1heFN0cmluZywgdHJ1ZSwgdHJ1ZSk7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuc3RhcnRzV2l0aElnbm9yZUNhc2UgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgIGlmIChzdHIgPT09IFwiXCIpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoKHN0cik7XG4gICAgICAgIHJldHVybiBhZGRJZ25vcmVDYXNlQWxnb3JpdGhtKHRoaXMsIGZ1bmN0aW9uICh4LCBhKSB7IHJldHVybiB4LmluZGV4T2YoYVswXSkgPT09IDA7IH0sIFtzdHJdLCBtYXhTdHJpbmcpO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLmVxdWFsc0lnbm9yZUNhc2UgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgIHJldHVybiBhZGRJZ25vcmVDYXNlQWxnb3JpdGhtKHRoaXMsIGZ1bmN0aW9uICh4LCBhKSB7IHJldHVybiB4ID09PSBhWzBdOyB9LCBbc3RyXSwgXCJcIik7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUuYW55T2ZJZ25vcmVDYXNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgc2V0ID0gZ2V0QXJyYXlPZi5hcHBseShOT19DSEFSX0FSUkFZLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAoc2V0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBlbXB0eUNvbGxlY3Rpb24odGhpcyk7XG4gICAgICAgIHJldHVybiBhZGRJZ25vcmVDYXNlQWxnb3JpdGhtKHRoaXMsIGZ1bmN0aW9uICh4LCBhKSB7IHJldHVybiBhLmluZGV4T2YoeCkgIT09IC0xOyB9LCBzZXQsIFwiXCIpO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLnN0YXJ0c1dpdGhBbnlPZklnbm9yZUNhc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzZXQgPSBnZXRBcnJheU9mLmFwcGx5KE5PX0NIQVJfQVJSQVksIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChzZXQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGVtcHR5Q29sbGVjdGlvbih0aGlzKTtcbiAgICAgICAgcmV0dXJuIGFkZElnbm9yZUNhc2VBbGdvcml0aG0odGhpcywgZnVuY3Rpb24gKHgsIGEpIHsgcmV0dXJuIGEuc29tZShmdW5jdGlvbiAobikgeyByZXR1cm4geC5pbmRleE9mKG4pID09PSAwOyB9KTsgfSwgc2V0LCBtYXhTdHJpbmcpO1xuICAgIH07XG4gICAgV2hlcmVDbGF1c2UucHJvdG90eXBlLmFueU9mID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgc2V0ID0gZ2V0QXJyYXlPZi5hcHBseShOT19DSEFSX0FSUkFZLCBhcmd1bWVudHMpO1xuICAgICAgICB2YXIgY29tcGFyZSA9IHRoaXMuX2NtcDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHNldC5zb3J0KGNvbXBhcmUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNldC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gZW1wdHlDb2xsZWN0aW9uKHRoaXMpO1xuICAgICAgICB2YXIgYyA9IG5ldyB0aGlzLkNvbGxlY3Rpb24odGhpcywgZnVuY3Rpb24gKCkgeyByZXR1cm4gY3JlYXRlUmFuZ2Uoc2V0WzBdLCBzZXRbc2V0Lmxlbmd0aCAtIDFdKTsgfSk7XG4gICAgICAgIGMuX29uZGlyZWN0aW9uY2hhbmdlID0gZnVuY3Rpb24gKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgY29tcGFyZSA9IChkaXJlY3Rpb24gPT09IFwibmV4dFwiID9cbiAgICAgICAgICAgICAgICBfdGhpcy5fYXNjZW5kaW5nIDpcbiAgICAgICAgICAgICAgICBfdGhpcy5fZGVzY2VuZGluZyk7XG4gICAgICAgICAgICBzZXQuc29ydChjb21wYXJlKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGkgPSAwO1xuICAgICAgICBjLl9hZGRBbGdvcml0aG0oZnVuY3Rpb24gKGN1cnNvciwgYWR2YW5jZSwgcmVzb2x2ZSkge1xuICAgICAgICAgICAgdmFyIGtleSA9IGN1cnNvci5rZXk7XG4gICAgICAgICAgICB3aGlsZSAoY29tcGFyZShrZXksIHNldFtpXSkgPiAwKSB7XG4gICAgICAgICAgICAgICAgKytpO1xuICAgICAgICAgICAgICAgIGlmIChpID09PSBzZXQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkdmFuY2UocmVzb2x2ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY29tcGFyZShrZXksIHNldFtpXSkgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGFkdmFuY2UoZnVuY3Rpb24gKCkgeyBjdXJzb3IuY29udGludWUoc2V0W2ldKTsgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgfTtcbiAgICBXaGVyZUNsYXVzZS5wcm90b3R5cGUubm90RXF1YWwgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5BbnlSYW5nZShbW21pbktleSwgdmFsdWVdLCBbdmFsdWUsIHRoaXMuZGIuX21heEtleV1dLCB7IGluY2x1ZGVMb3dlcnM6IGZhbHNlLCBpbmNsdWRlVXBwZXJzOiBmYWxzZSB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5ub25lT2YgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzZXQgPSBnZXRBcnJheU9mLmFwcGx5KE5PX0NIQVJfQVJSQVksIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChzZXQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyB0aGlzLkNvbGxlY3Rpb24odGhpcyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXQuc29ydCh0aGlzLl9hc2NlbmRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJhbmdlcyA9IHNldC5yZWR1Y2UoZnVuY3Rpb24gKHJlcywgdmFsKSB7IHJldHVybiByZXMgP1xuICAgICAgICAgICAgcmVzLmNvbmNhdChbW3Jlc1tyZXMubGVuZ3RoIC0gMV1bMV0sIHZhbF1dKSA6XG4gICAgICAgICAgICBbW21pbktleSwgdmFsXV07IH0sIG51bGwpO1xuICAgICAgICByYW5nZXMucHVzaChbc2V0W3NldC5sZW5ndGggLSAxXSwgdGhpcy5kYi5fbWF4S2V5XSk7XG4gICAgICAgIHJldHVybiB0aGlzLmluQW55UmFuZ2UocmFuZ2VzLCB7IGluY2x1ZGVMb3dlcnM6IGZhbHNlLCBpbmNsdWRlVXBwZXJzOiBmYWxzZSB9KTtcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5pbkFueVJhbmdlID0gZnVuY3Rpb24gKHJhbmdlcywgb3B0aW9ucykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgY21wID0gdGhpcy5fY21wLCBhc2NlbmRpbmcgPSB0aGlzLl9hc2NlbmRpbmcsIGRlc2NlbmRpbmcgPSB0aGlzLl9kZXNjZW5kaW5nLCBtaW4gPSB0aGlzLl9taW4sIG1heCA9IHRoaXMuX21heDtcbiAgICAgICAgaWYgKHJhbmdlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gZW1wdHlDb2xsZWN0aW9uKHRoaXMpO1xuICAgICAgICBpZiAoIXJhbmdlcy5ldmVyeShmdW5jdGlvbiAocmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiByYW5nZVswXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgcmFuZ2VbMV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgIGFzY2VuZGluZyhyYW5nZVswXSwgcmFuZ2VbMV0pIDw9IDA7XG4gICAgICAgIH0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBcIkZpcnN0IGFyZ3VtZW50IHRvIGluQW55UmFuZ2UoKSBtdXN0IGJlIGFuIEFycmF5IG9mIHR3by12YWx1ZSBBcnJheXMgW2xvd2VyLHVwcGVyXSB3aGVyZSB1cHBlciBtdXN0IG5vdCBiZSBsb3dlciB0aGFuIGxvd2VyXCIsIGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5jbHVkZUxvd2VycyA9ICFvcHRpb25zIHx8IG9wdGlvbnMuaW5jbHVkZUxvd2VycyAhPT0gZmFsc2U7XG4gICAgICAgIHZhciBpbmNsdWRlVXBwZXJzID0gb3B0aW9ucyAmJiBvcHRpb25zLmluY2x1ZGVVcHBlcnMgPT09IHRydWU7XG4gICAgICAgIGZ1bmN0aW9uIGFkZFJhbmdlKHJhbmdlcywgbmV3UmFuZ2UpIHtcbiAgICAgICAgICAgIHZhciBpID0gMCwgbCA9IHJhbmdlcy5sZW5ndGg7XG4gICAgICAgICAgICBmb3IgKDsgaSA8IGw7ICsraSkge1xuICAgICAgICAgICAgICAgIHZhciByYW5nZSA9IHJhbmdlc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoY21wKG5ld1JhbmdlWzBdLCByYW5nZVsxXSkgPCAwICYmIGNtcChuZXdSYW5nZVsxXSwgcmFuZ2VbMF0pID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByYW5nZVswXSA9IG1pbihyYW5nZVswXSwgbmV3UmFuZ2VbMF0pO1xuICAgICAgICAgICAgICAgICAgICByYW5nZVsxXSA9IG1heChyYW5nZVsxXSwgbmV3UmFuZ2VbMV0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA9PT0gbClcbiAgICAgICAgICAgICAgICByYW5nZXMucHVzaChuZXdSYW5nZSk7XG4gICAgICAgICAgICByZXR1cm4gcmFuZ2VzO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzb3J0RGlyZWN0aW9uID0gYXNjZW5kaW5nO1xuICAgICAgICBmdW5jdGlvbiByYW5nZVNvcnRlcihhLCBiKSB7IHJldHVybiBzb3J0RGlyZWN0aW9uKGFbMF0sIGJbMF0pOyB9XG4gICAgICAgIHZhciBzZXQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXQgPSByYW5nZXMucmVkdWNlKGFkZFJhbmdlLCBbXSk7XG4gICAgICAgICAgICBzZXQuc29ydChyYW5nZVNvcnRlcik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBJTlZBTElEX0tFWV9BUkdVTUVOVCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJhbmdlUG9zID0gMDtcbiAgICAgICAgdmFyIGtleUlzQmV5b25kQ3VycmVudEVudHJ5ID0gaW5jbHVkZVVwcGVycyA/XG4gICAgICAgICAgICBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBhc2NlbmRpbmcoa2V5LCBzZXRbcmFuZ2VQb3NdWzFdKSA+IDA7IH0gOlxuICAgICAgICAgICAgZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gYXNjZW5kaW5nKGtleSwgc2V0W3JhbmdlUG9zXVsxXSkgPj0gMDsgfTtcbiAgICAgICAgdmFyIGtleUlzQmVmb3JlQ3VycmVudEVudHJ5ID0gaW5jbHVkZUxvd2VycyA/XG4gICAgICAgICAgICBmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBkZXNjZW5kaW5nKGtleSwgc2V0W3JhbmdlUG9zXVswXSkgPiAwOyB9IDpcbiAgICAgICAgICAgIGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGRlc2NlbmRpbmcoa2V5LCBzZXRbcmFuZ2VQb3NdWzBdKSA+PSAwOyB9O1xuICAgICAgICBmdW5jdGlvbiBrZXlXaXRoaW5DdXJyZW50UmFuZ2Uoa2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gIWtleUlzQmV5b25kQ3VycmVudEVudHJ5KGtleSkgJiYgIWtleUlzQmVmb3JlQ3VycmVudEVudHJ5KGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNoZWNrS2V5ID0ga2V5SXNCZXlvbmRDdXJyZW50RW50cnk7XG4gICAgICAgIHZhciBjID0gbmV3IHRoaXMuQ29sbGVjdGlvbih0aGlzLCBmdW5jdGlvbiAoKSB7IHJldHVybiBjcmVhdGVSYW5nZShzZXRbMF1bMF0sIHNldFtzZXQubGVuZ3RoIC0gMV1bMV0sICFpbmNsdWRlTG93ZXJzLCAhaW5jbHVkZVVwcGVycyk7IH0pO1xuICAgICAgICBjLl9vbmRpcmVjdGlvbmNoYW5nZSA9IGZ1bmN0aW9uIChkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPT09IFwibmV4dFwiKSB7XG4gICAgICAgICAgICAgICAgY2hlY2tLZXkgPSBrZXlJc0JleW9uZEN1cnJlbnRFbnRyeTtcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uID0gYXNjZW5kaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY2hlY2tLZXkgPSBrZXlJc0JlZm9yZUN1cnJlbnRFbnRyeTtcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uID0gZGVzY2VuZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldC5zb3J0KHJhbmdlU29ydGVyKTtcbiAgICAgICAgfTtcbiAgICAgICAgYy5fYWRkQWxnb3JpdGhtKGZ1bmN0aW9uIChjdXJzb3IsIGFkdmFuY2UsIHJlc29sdmUpIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBjdXJzb3Iua2V5O1xuICAgICAgICAgICAgd2hpbGUgKGNoZWNrS2V5KGtleSkpIHtcbiAgICAgICAgICAgICAgICArK3JhbmdlUG9zO1xuICAgICAgICAgICAgICAgIGlmIChyYW5nZVBvcyA9PT0gc2V0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGtleVdpdGhpbkN1cnJlbnRSYW5nZShrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChfdGhpcy5fY21wKGtleSwgc2V0W3JhbmdlUG9zXVsxXSkgPT09IDAgfHwgX3RoaXMuX2NtcChrZXksIHNldFtyYW5nZVBvc11bMF0pID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYWR2YW5jZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzb3J0RGlyZWN0aW9uID09PSBhc2NlbmRpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUoc2V0W3JhbmdlUG9zXVswXSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZShzZXRbcmFuZ2VQb3NdWzFdKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYztcbiAgICB9O1xuICAgIFdoZXJlQ2xhdXNlLnByb3RvdHlwZS5zdGFydHNXaXRoQW55T2YgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzZXQgPSBnZXRBcnJheU9mLmFwcGx5KE5PX0NIQVJfQVJSQVksIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmICghc2V0LmV2ZXJ5KGZ1bmN0aW9uIChzKSB7IHJldHVybiB0eXBlb2YgcyA9PT0gJ3N0cmluZyc7IH0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbCh0aGlzLCBcInN0YXJ0c1dpdGhBbnlPZigpIG9ubHkgd29ya3Mgd2l0aCBzdHJpbmdzXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXQubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGVtcHR5Q29sbGVjdGlvbih0aGlzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5BbnlSYW5nZShzZXQubWFwKGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIFtzdHIsIHN0ciArIG1heFN0cmluZ107IH0pKTtcbiAgICB9O1xuICAgIHJldHVybiBXaGVyZUNsYXVzZTtcbn0oKSk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVdoZXJlQ2xhdXNlQ29uc3RydWN0b3IoZGIpIHtcbiAgICByZXR1cm4gbWFrZUNsYXNzQ29uc3RydWN0b3IoV2hlcmVDbGF1c2UucHJvdG90eXBlLCBmdW5jdGlvbiBXaGVyZUNsYXVzZSQkMSh0YWJsZSwgaW5kZXgsIG9yQ29sbGVjdGlvbikge1xuICAgICAgICB0aGlzLmRiID0gZGI7XG4gICAgICAgIHRoaXMuX2N0eCA9IHtcbiAgICAgICAgICAgIHRhYmxlOiB0YWJsZSxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleCA9PT0gXCI6aWRcIiA/IG51bGwgOiBpbmRleCxcbiAgICAgICAgICAgIG9yOiBvckNvbGxlY3Rpb25cbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGluZGV4ZWREQiA9IGRiLl9kZXBzLmluZGV4ZWREQjtcbiAgICAgICAgaWYgKCFpbmRleGVkREIpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5NaXNzaW5nQVBJKFwiaW5kZXhlZERCIEFQSSBtaXNzaW5nXCIpO1xuICAgICAgICB0aGlzLl9jbXAgPSB0aGlzLl9hc2NlbmRpbmcgPSBpbmRleGVkREIuY21wLmJpbmQoaW5kZXhlZERCKTtcbiAgICAgICAgdGhpcy5fZGVzY2VuZGluZyA9IGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBpbmRleGVkREIuY21wKGIsIGEpOyB9O1xuICAgICAgICB0aGlzLl9tYXggPSBmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gaW5kZXhlZERCLmNtcChhLCBiKSA+IDAgPyBhIDogYjsgfTtcbiAgICAgICAgdGhpcy5fbWluID0gZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGluZGV4ZWREQi5jbXAoYSwgYikgPCAwID8gYSA6IGI7IH07XG4gICAgICAgIHRoaXMuX0lEQktleVJhbmdlID0gZGIuX2RlcHMuSURCS2V5UmFuZ2U7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNhZmFyaU11bHRpU3RvcmVGaXgoc3RvcmVOYW1lcykge1xuICAgIHJldHVybiBzdG9yZU5hbWVzLmxlbmd0aCA9PT0gMSA/IHN0b3JlTmFtZXNbMF0gOiBzdG9yZU5hbWVzO1xufVxuXG5mdW5jdGlvbiBnZXRNYXhLZXkoSWRiS2V5UmFuZ2UpIHtcbiAgICB0cnkge1xuICAgICAgICBJZGJLZXlSYW5nZS5vbmx5KFtbXV0pO1xuICAgICAgICByZXR1cm4gW1tdXTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIG1heFN0cmluZztcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpIHtcbiAgICByZXR1cm4gd3JhcChmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcHJldmVudERlZmF1bHQoZXZlbnQpO1xuICAgICAgICByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xufVxuXG5cblxuZnVuY3Rpb24gcHJldmVudERlZmF1bHQoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoZXZlbnQucHJldmVudERlZmF1bHQpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59XG5cbnZhciBUcmFuc2FjdGlvbiA9ICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBUcmFuc2FjdGlvbigpIHtcbiAgICB9XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLl9sb2NrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQoIVBTRC5nbG9iYWwpO1xuICAgICAgICArK3RoaXMuX3JlY3Vsb2NrO1xuICAgICAgICBpZiAodGhpcy5fcmVjdWxvY2sgPT09IDEgJiYgIVBTRC5nbG9iYWwpXG4gICAgICAgICAgICBQU0QubG9ja093bmVyRm9yID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuX3VubG9jayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0KCFQU0QuZ2xvYmFsKTtcbiAgICAgICAgaWYgKC0tdGhpcy5fcmVjdWxvY2sgPT09IDApIHtcbiAgICAgICAgICAgIGlmICghUFNELmdsb2JhbClcbiAgICAgICAgICAgICAgICBQU0QubG9ja093bmVyRm9yID0gbnVsbDtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLl9ibG9ja2VkRnVuY3MubGVuZ3RoID4gMCAmJiAhdGhpcy5fbG9ja2VkKCkpIHtcbiAgICAgICAgICAgICAgICB2YXIgZm5BbmRQU0QgPSB0aGlzLl9ibG9ja2VkRnVuY3Muc2hpZnQoKTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICB1c2VQU0QoZm5BbmRQU0RbMV0sIGZuQW5kUFNEWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLl9sb2NrZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWN1bG9jayAmJiBQU0QubG9ja093bmVyRm9yICE9PSB0aGlzO1xuICAgIH07XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLmNyZWF0ZSA9IGZ1bmN0aW9uIChpZGJ0cmFucykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICBpZiAoIXRoaXMubW9kZSlcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB2YXIgaWRiZGIgPSB0aGlzLmRiLmlkYmRiO1xuICAgICAgICB2YXIgZGJPcGVuRXJyb3IgPSB0aGlzLmRiLl9zdGF0ZS5kYk9wZW5FcnJvcjtcbiAgICAgICAgYXNzZXJ0KCF0aGlzLmlkYnRyYW5zKTtcbiAgICAgICAgaWYgKCFpZGJ0cmFucyAmJiAhaWRiZGIpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGJPcGVuRXJyb3IgJiYgZGJPcGVuRXJyb3IubmFtZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgXCJEYXRhYmFzZUNsb3NlZEVycm9yXCI6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkRhdGFiYXNlQ2xvc2VkKGRiT3BlbkVycm9yKTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiTWlzc2luZ0FQSUVycm9yXCI6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk1pc3NpbmdBUEkoZGJPcGVuRXJyb3IubWVzc2FnZSwgZGJPcGVuRXJyb3IpO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk9wZW5GYWlsZWQoZGJPcGVuRXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5hY3RpdmUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5UcmFuc2FjdGlvbkluYWN0aXZlKCk7XG4gICAgICAgIGFzc2VydCh0aGlzLl9jb21wbGV0aW9uLl9zdGF0ZSA9PT0gbnVsbCk7XG4gICAgICAgIGlkYnRyYW5zID0gdGhpcy5pZGJ0cmFucyA9IGlkYnRyYW5zIHx8IGlkYmRiLnRyYW5zYWN0aW9uKHNhZmFyaU11bHRpU3RvcmVGaXgodGhpcy5zdG9yZU5hbWVzKSwgdGhpcy5tb2RlKTtcbiAgICAgICAgaWRidHJhbnMub25lcnJvciA9IHdyYXAoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICBwcmV2ZW50RGVmYXVsdChldik7XG4gICAgICAgICAgICBfdGhpcy5fcmVqZWN0KGlkYnRyYW5zLmVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlkYnRyYW5zLm9uYWJvcnQgPSB3cmFwKGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgcHJldmVudERlZmF1bHQoZXYpO1xuICAgICAgICAgICAgX3RoaXMuYWN0aXZlICYmIF90aGlzLl9yZWplY3QobmV3IGV4Y2VwdGlvbnMuQWJvcnQoaWRidHJhbnMuZXJyb3IpKTtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgX3RoaXMub24oXCJhYm9ydFwiKS5maXJlKGV2KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlkYnRyYW5zLm9uY29tcGxldGUgPSB3cmFwKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgX3RoaXMuX3Jlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLl9wcm9taXNlID0gZnVuY3Rpb24gKG1vZGUsIGZuLCBiV3JpdGVMb2NrKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIGlmIChtb2RlID09PSAncmVhZHdyaXRlJyAmJiB0aGlzLm1vZGUgIT09ICdyZWFkd3JpdGUnKVxuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihuZXcgZXhjZXB0aW9ucy5SZWFkT25seShcIlRyYW5zYWN0aW9uIGlzIHJlYWRvbmx5XCIpKTtcbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZSlcbiAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24obmV3IGV4Y2VwdGlvbnMuVHJhbnNhY3Rpb25JbmFjdGl2ZSgpKTtcbiAgICAgICAgaWYgKHRoaXMuX2xvY2tlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuX2Jsb2NrZWRGdW5jcy5wdXNoKFtmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5fcHJvbWlzZShtb2RlLCBmbiwgYldyaXRlTG9jaykudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9LCBQU0RdKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGJXcml0ZUxvY2spIHtcbiAgICAgICAgICAgIHJldHVybiBuZXdTY29wZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIHAgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuX2xvY2soKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJ2ID0gZm4ocmVzb2x2ZSwgcmVqZWN0LCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChydiAmJiBydi50aGVuKVxuICAgICAgICAgICAgICAgICAgICAgICAgcnYudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHAuZmluYWxseShmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5fdW5sb2NrKCk7IH0pO1xuICAgICAgICAgICAgICAgIHAuX2xpYiA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBwID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHJ2ID0gZm4ocmVzb2x2ZSwgcmVqZWN0LCBfdGhpcyk7XG4gICAgICAgICAgICAgICAgaWYgKHJ2ICYmIHJ2LnRoZW4pXG4gICAgICAgICAgICAgICAgICAgIHJ2LnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcC5fbGliID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBwO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUuX3Jvb3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50Ll9yb290KCkgOiB0aGlzO1xuICAgIH07XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLndhaXRGb3IgPSBmdW5jdGlvbiAocHJvbWlzZUxpa2UpIHtcbiAgICAgICAgdmFyIHJvb3QgPSB0aGlzLl9yb290KCk7XG4gICAgICAgIHZhciBwcm9taXNlID0gRGV4aWVQcm9taXNlLnJlc29sdmUocHJvbWlzZUxpa2UpO1xuICAgICAgICBpZiAocm9vdC5fd2FpdGluZ0Zvcikge1xuICAgICAgICAgICAgcm9vdC5fd2FpdGluZ0ZvciA9IHJvb3QuX3dhaXRpbmdGb3IudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9taXNlOyB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJvb3QuX3dhaXRpbmdGb3IgPSBwcm9taXNlO1xuICAgICAgICAgICAgcm9vdC5fd2FpdGluZ1F1ZXVlID0gW107XG4gICAgICAgICAgICB2YXIgc3RvcmUgPSByb290LmlkYnRyYW5zLm9iamVjdFN0b3JlKHJvb3Quc3RvcmVOYW1lc1swXSk7XG4gICAgICAgICAgICAoZnVuY3Rpb24gc3BpbigpIHtcbiAgICAgICAgICAgICAgICArK3Jvb3QuX3NwaW5Db3VudDtcbiAgICAgICAgICAgICAgICB3aGlsZSAocm9vdC5fd2FpdGluZ1F1ZXVlLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgKHJvb3QuX3dhaXRpbmdRdWV1ZS5zaGlmdCgpKSgpO1xuICAgICAgICAgICAgICAgIGlmIChyb290Ll93YWl0aW5nRm9yKVxuICAgICAgICAgICAgICAgICAgICBzdG9yZS5nZXQoLUluZmluaXR5KS5vbnN1Y2Nlc3MgPSBzcGluO1xuICAgICAgICAgICAgfSgpKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY3VycmVudFdhaXRQcm9taXNlID0gcm9vdC5fd2FpdGluZ0ZvcjtcbiAgICAgICAgcmV0dXJuIG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uIChyZXMpIHsgcmV0dXJuIHJvb3QuX3dhaXRpbmdRdWV1ZS5wdXNoKHdyYXAocmVzb2x2ZS5iaW5kKG51bGwsIHJlcykpKTsgfSwgZnVuY3Rpb24gKGVycikgeyByZXR1cm4gcm9vdC5fd2FpdGluZ1F1ZXVlLnB1c2god3JhcChyZWplY3QuYmluZChudWxsLCBlcnIpKSk7IH0pLmZpbmFsbHkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGlmIChyb290Ll93YWl0aW5nRm9yID09PSBjdXJyZW50V2FpdFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcm9vdC5fd2FpdGluZ0ZvciA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgVHJhbnNhY3Rpb24ucHJvdG90eXBlLmFib3J0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZSAmJiB0aGlzLl9yZWplY3QobmV3IGV4Y2VwdGlvbnMuQWJvcnQoKSk7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgICBUcmFuc2FjdGlvbi5wcm90b3R5cGUudGFibGUgPSBmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgIHZhciBtZW1vaXplZFRhYmxlcyA9ICh0aGlzLl9tZW1vaXplZFRhYmxlcyB8fCAodGhpcy5fbWVtb2l6ZWRUYWJsZXMgPSB7fSkpO1xuICAgICAgICBpZiAoaGFzT3duKG1lbW9pemVkVGFibGVzLCB0YWJsZU5hbWUpKVxuICAgICAgICAgICAgcmV0dXJuIG1lbW9pemVkVGFibGVzW3RhYmxlTmFtZV07XG4gICAgICAgIHZhciB0YWJsZVNjaGVtYSA9IHRoaXMuc2NoZW1hW3RhYmxlTmFtZV07XG4gICAgICAgIGlmICghdGFibGVTY2hlbWEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk5vdEZvdW5kKFwiVGFibGUgXCIgKyB0YWJsZU5hbWUgKyBcIiBub3QgcGFydCBvZiB0cmFuc2FjdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdHJhbnNhY3Rpb25Cb3VuZFRhYmxlID0gbmV3IHRoaXMuZGIuVGFibGUodGFibGVOYW1lLCB0YWJsZVNjaGVtYSwgdGhpcyk7XG4gICAgICAgIHRyYW5zYWN0aW9uQm91bmRUYWJsZS5jb3JlID0gdGhpcy5kYi5jb3JlLnRhYmxlKHRhYmxlTmFtZSk7XG4gICAgICAgIG1lbW9pemVkVGFibGVzW3RhYmxlTmFtZV0gPSB0cmFuc2FjdGlvbkJvdW5kVGFibGU7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbkJvdW5kVGFibGU7XG4gICAgfTtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb247XG59KCkpO1xuXG5mdW5jdGlvbiBjcmVhdGVUcmFuc2FjdGlvbkNvbnN0cnVjdG9yKGRiKSB7XG4gICAgcmV0dXJuIG1ha2VDbGFzc0NvbnN0cnVjdG9yKFRyYW5zYWN0aW9uLnByb3RvdHlwZSwgZnVuY3Rpb24gVHJhbnNhY3Rpb24kJDEobW9kZSwgc3RvcmVOYW1lcywgZGJzY2hlbWEsIHBhcmVudCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB0aGlzLmRiID0gZGI7XG4gICAgICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgICAgIHRoaXMuc3RvcmVOYW1lcyA9IHN0b3JlTmFtZXM7XG4gICAgICAgIHRoaXMuc2NoZW1hID0gZGJzY2hlbWE7XG4gICAgICAgIHRoaXMuaWRidHJhbnMgPSBudWxsO1xuICAgICAgICB0aGlzLm9uID0gRXZlbnRzKHRoaXMsIFwiY29tcGxldGVcIiwgXCJlcnJvclwiLCBcImFib3J0XCIpO1xuICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudCB8fCBudWxsO1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX3JlY3Vsb2NrID0gMDtcbiAgICAgICAgdGhpcy5fYmxvY2tlZEZ1bmNzID0gW107XG4gICAgICAgIHRoaXMuX3Jlc29sdmUgPSBudWxsO1xuICAgICAgICB0aGlzLl9yZWplY3QgPSBudWxsO1xuICAgICAgICB0aGlzLl93YWl0aW5nRm9yID0gbnVsbDtcbiAgICAgICAgdGhpcy5fd2FpdGluZ1F1ZXVlID0gbnVsbDtcbiAgICAgICAgdGhpcy5fc3BpbkNvdW50ID0gMDtcbiAgICAgICAgdGhpcy5fY29tcGxldGlvbiA9IG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgX3RoaXMuX3Jlc29sdmUgPSByZXNvbHZlO1xuICAgICAgICAgICAgX3RoaXMuX3JlamVjdCA9IHJlamVjdDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2NvbXBsZXRpb24udGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIF90aGlzLm9uLmNvbXBsZXRlLmZpcmUoKTtcbiAgICAgICAgfSwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIHZhciB3YXNBY3RpdmUgPSBfdGhpcy5hY3RpdmU7XG4gICAgICAgICAgICBfdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIF90aGlzLm9uLmVycm9yLmZpcmUoZSk7XG4gICAgICAgICAgICBfdGhpcy5wYXJlbnQgP1xuICAgICAgICAgICAgICAgIF90aGlzLnBhcmVudC5fcmVqZWN0KGUpIDpcbiAgICAgICAgICAgICAgICB3YXNBY3RpdmUgJiYgX3RoaXMuaWRidHJhbnMgJiYgX3RoaXMuaWRidHJhbnMuYWJvcnQoKTtcbiAgICAgICAgICAgIHJldHVybiByZWplY3Rpb24oZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbmRleFNwZWMobmFtZSwga2V5UGF0aCwgdW5pcXVlLCBtdWx0aSwgYXV0bywgY29tcG91bmQsIGlzUHJpbUtleSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIGtleVBhdGg6IGtleVBhdGgsXG4gICAgICAgIHVuaXF1ZTogdW5pcXVlLFxuICAgICAgICBtdWx0aTogbXVsdGksXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIGNvbXBvdW5kOiBjb21wb3VuZCxcbiAgICAgICAgc3JjOiAodW5pcXVlICYmICFpc1ByaW1LZXkgPyAnJicgOiAnJykgKyAobXVsdGkgPyAnKicgOiAnJykgKyAoYXV0byA/IFwiKytcIiA6IFwiXCIpICsgbmFtZUZyb21LZXlQYXRoKGtleVBhdGgpXG4gICAgfTtcbn1cbmZ1bmN0aW9uIG5hbWVGcm9tS2V5UGF0aChrZXlQYXRoKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBrZXlQYXRoID09PSAnc3RyaW5nJyA/XG4gICAgICAgIGtleVBhdGggOlxuICAgICAgICBrZXlQYXRoID8gKCdbJyArIFtdLmpvaW4uY2FsbChrZXlQYXRoLCAnKycpICsgJ10nKSA6IFwiXCI7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVRhYmxlU2NoZW1hKG5hbWUsIHByaW1LZXksIGluZGV4ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICBwcmltS2V5OiBwcmltS2V5LFxuICAgICAgICBpbmRleGVzOiBpbmRleGVzLFxuICAgICAgICBtYXBwZWRDbGFzczogbnVsbCxcbiAgICAgICAgaWR4QnlOYW1lOiBhcnJheVRvT2JqZWN0KGluZGV4ZXMsIGZ1bmN0aW9uIChpbmRleCkgeyByZXR1cm4gW2luZGV4Lm5hbWUsIGluZGV4XTsgfSlcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBnZXRLZXlFeHRyYWN0b3Ioa2V5UGF0aCkge1xuICAgIGlmIChrZXlQYXRoID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIGtleVBhdGggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBnZXRTaW5nbGVQYXRoS2V5RXh0cmFjdG9yKGtleVBhdGgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChvYmopIHsgcmV0dXJuIGdldEJ5S2V5UGF0aChvYmosIGtleVBhdGgpOyB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFNpbmdsZVBhdGhLZXlFeHRyYWN0b3Ioa2V5UGF0aCkge1xuICAgIHZhciBzcGxpdCA9IGtleVBhdGguc3BsaXQoJy4nKTtcbiAgICBpZiAoc3BsaXQubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAob2JqKSB7IHJldHVybiBvYmpba2V5UGF0aF07IH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gZ2V0QnlLZXlQYXRoKG9iaiwga2V5UGF0aCk7IH07XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXRFZmZlY3RpdmVLZXlzKHByaW1hcnlLZXksIHJlcSkge1xuICAgIGlmIChyZXEudHlwZSA9PT0gJ2RlbGV0ZScpXG4gICAgICAgIHJldHVybiByZXEua2V5cztcbiAgICByZXR1cm4gcmVxLmtleXMgfHwgcmVxLnZhbHVlcy5tYXAocHJpbWFyeUtleS5leHRyYWN0S2V5KTtcbn1cbmZ1bmN0aW9uIGdldEV4aXN0aW5nVmFsdWVzKHRhYmxlLCByZXEsIGVmZmVjdGl2ZUtleXMpIHtcbiAgICByZXR1cm4gcmVxLnR5cGUgPT09ICdhZGQnID8gUHJvbWlzZS5yZXNvbHZlKG5ldyBBcnJheShyZXEudmFsdWVzLmxlbmd0aCkpIDpcbiAgICAgICAgdGFibGUuZ2V0TWFueSh7IHRyYW5zOiByZXEudHJhbnMsIGtleXM6IGVmZmVjdGl2ZUtleXMgfSk7XG59XG5cbmZ1bmN0aW9uIGFycmF5aWZ5KGFycmF5TGlrZSkge1xuICAgIHJldHVybiBbXS5zbGljZS5jYWxsKGFycmF5TGlrZSk7XG59XG5cbnZhciBfaWRfY291bnRlciA9IDA7XG5mdW5jdGlvbiBnZXRLZXlQYXRoQWxpYXMoa2V5UGF0aCkge1xuICAgIHJldHVybiBrZXlQYXRoID09IG51bGwgP1xuICAgICAgICBcIjppZFwiIDpcbiAgICAgICAgdHlwZW9mIGtleVBhdGggPT09ICdzdHJpbmcnID9cbiAgICAgICAgICAgIGtleVBhdGggOlxuICAgICAgICAgICAgXCJbXCIgKyBrZXlQYXRoLmpvaW4oJysnKSArIFwiXVwiO1xufVxuZnVuY3Rpb24gY3JlYXRlREJDb3JlKGRiLCBpbmRleGVkREIsIElkYktleVJhbmdlLCB0bXBUcmFucykge1xuICAgIHZhciBjbXAgPSBpbmRleGVkREIuY21wLmJpbmQoaW5kZXhlZERCKTtcbiAgICBmdW5jdGlvbiBleHRyYWN0U2NoZW1hKGRiLCB0cmFucykge1xuICAgICAgICB2YXIgdGFibGVzID0gYXJyYXlpZnkoZGIub2JqZWN0U3RvcmVOYW1lcyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBkYi5uYW1lLFxuICAgICAgICAgICAgICAgIHRhYmxlczogdGFibGVzLm1hcChmdW5jdGlvbiAodGFibGUpIHsgcmV0dXJuIHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlKTsgfSkubWFwKGZ1bmN0aW9uIChzdG9yZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIga2V5UGF0aCA9IHN0b3JlLmtleVBhdGgsIGF1dG9JbmNyZW1lbnQgPSBzdG9yZS5hdXRvSW5jcmVtZW50O1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29tcG91bmQgPSBpc0FycmF5KGtleVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgb3V0Ym91bmQgPSBrZXlQYXRoID09IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpbmRleEJ5S2V5UGF0aCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc3RvcmUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnlLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUHJpbWFyeUtleTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRib3VuZDogb3V0Ym91bmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG91bmQ6IGNvbXBvdW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleVBhdGg6IGtleVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0luY3JlbWVudDogYXV0b0luY3JlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFjdEtleTogZ2V0S2V5RXh0cmFjdG9yKGtleVBhdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhlczogYXJyYXlpZnkoc3RvcmUuaW5kZXhOYW1lcykubWFwKGZ1bmN0aW9uIChpbmRleE5hbWUpIHsgcmV0dXJuIHN0b3JlLmluZGV4KGluZGV4TmFtZSk7IH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IGluZGV4Lm5hbWUsIHVuaXF1ZSA9IGluZGV4LnVuaXF1ZSwgbXVsdGlFbnRyeSA9IGluZGV4Lm11bHRpRW50cnksIGtleVBhdGggPSBpbmRleC5rZXlQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb21wb3VuZCA9IGlzQXJyYXkoa2V5UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG91bmQ6IGNvbXBvdW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlQYXRoOiBrZXlQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlxdWU6IHVuaXF1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlFbnRyeTogbXVsdGlFbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFjdEtleTogZ2V0S2V5RXh0cmFjdG9yKGtleVBhdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleEJ5S2V5UGF0aFtnZXRLZXlQYXRoQWxpYXMoa2V5UGF0aCldID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldEluZGV4QnlLZXlQYXRoOiBmdW5jdGlvbiAoa2V5UGF0aCkgeyByZXR1cm4gaW5kZXhCeUtleVBhdGhbZ2V0S2V5UGF0aEFsaWFzKGtleVBhdGgpXTsgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpbmRleEJ5S2V5UGF0aFtcIjppZFwiXSA9IHJlc3VsdC5wcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5UGF0aCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleEJ5S2V5UGF0aFtnZXRLZXlQYXRoQWxpYXMoa2V5UGF0aCldID0gcmVzdWx0LnByaW1hcnlLZXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhc0dldEFsbDogdGFibGVzLmxlbmd0aCA+IDAgJiYgKCdnZXRBbGwnIGluIHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlc1swXSkpICYmXG4gICAgICAgICAgICAgICAgISh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvU2FmYXJpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgICAgICAgICAgICAgICAgICEvKENocm9tZVxcL3xFZGdlXFwvKS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJlxuICAgICAgICAgICAgICAgICAgICBbXS5jb25jYXQobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvU2FmYXJpXFwvKFxcZCopLykpWzFdIDwgNjA0KVxuICAgICAgICB9O1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlSURCS2V5UmFuZ2UocmFuZ2UpIHtcbiAgICAgICAgaWYgKHJhbmdlLnR5cGUgPT09IDMgICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmIChyYW5nZS50eXBlID09PSA0ICAgICAgICAgICAgKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGNvbnZlcnQgbmV2ZXIgdHlwZSB0byBJREJLZXlSYW5nZVwiKTtcbiAgICAgICAgdmFyIGxvd2VyID0gcmFuZ2UubG93ZXIsIHVwcGVyID0gcmFuZ2UudXBwZXIsIGxvd2VyT3BlbiA9IHJhbmdlLmxvd2VyT3BlbiwgdXBwZXJPcGVuID0gcmFuZ2UudXBwZXJPcGVuO1xuICAgICAgICB2YXIgaWRiUmFuZ2UgPSBsb3dlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgIHVwcGVyID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgIElkYktleVJhbmdlLnVwcGVyQm91bmQodXBwZXIsICEhdXBwZXJPcGVuKSA6XG4gICAgICAgICAgICB1cHBlciA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgICAgICBJZGJLZXlSYW5nZS5sb3dlckJvdW5kKGxvd2VyLCAhIWxvd2VyT3BlbikgOlxuICAgICAgICAgICAgICAgIElkYktleVJhbmdlLmJvdW5kKGxvd2VyLCB1cHBlciwgISFsb3dlck9wZW4sICEhdXBwZXJPcGVuKTtcbiAgICAgICAgcmV0dXJuIGlkYlJhbmdlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVEYkNvcmVUYWJsZSh0YWJsZVNjaGVtYSkge1xuICAgICAgICB2YXIgdGFibGVOYW1lID0gdGFibGVTY2hlbWEubmFtZTtcbiAgICAgICAgZnVuY3Rpb24gbXV0YXRlKF9hKSB7XG4gICAgICAgICAgICB2YXIgdHJhbnMgPSBfYS50cmFucywgdHlwZSA9IF9hLnR5cGUsIGtleXMkJDEgPSBfYS5rZXlzLCB2YWx1ZXMgPSBfYS52YWx1ZXMsIHJhbmdlID0gX2EucmFuZ2UsIHdhbnRSZXN1bHRzID0gX2Eud2FudFJlc3VsdHM7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUgPSB3cmFwKHJlc29sdmUpO1xuICAgICAgICAgICAgICAgIHZhciBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgdmFyIG91dGJvdW5kID0gc3RvcmUua2V5UGF0aCA9PSBudWxsO1xuICAgICAgICAgICAgICAgIHZhciBpc0FkZE9yUHV0ID0gdHlwZSA9PT0gXCJwdXRcIiB8fCB0eXBlID09PSBcImFkZFwiO1xuICAgICAgICAgICAgICAgIGlmICghaXNBZGRPclB1dCAmJiB0eXBlICE9PSAnZGVsZXRlJyAmJiB0eXBlICE9PSAnZGVsZXRlUmFuZ2UnKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIG9wZXJhdGlvbiB0eXBlOiBcIiArIHR5cGUpO1xuICAgICAgICAgICAgICAgIHZhciBsZW5ndGggPSAoa2V5cyQkMSB8fCB2YWx1ZXMgfHwgeyBsZW5ndGg6IDEgfSkubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmIChrZXlzJCQxICYmIHZhbHVlcyAmJiBrZXlzJCQxLmxlbmd0aCAhPT0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJHaXZlbiBrZXlzIGFycmF5IG11c3QgaGF2ZSBzYW1lIGxlbmd0aCBhcyBnaXZlbiB2YWx1ZXMgYXJyYXkuXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh7IG51bUZhaWx1cmVzOiAwLCBmYWlsdXJlczoge30sIHJlc3VsdHM6IFtdLCBsYXN0UmVzdWx0OiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdHMgPSB3YW50UmVzdWx0cyAmJiBfX3NwcmVhZEFycmF5cygoa2V5cyQkMSA/XG4gICAgICAgICAgICAgICAgICAgIGtleXMkJDEgOlxuICAgICAgICAgICAgICAgICAgICBnZXRFZmZlY3RpdmVLZXlzKHRhYmxlU2NoZW1hLnByaW1hcnlLZXksIHsgdHlwZTogdHlwZSwga2V5czoga2V5cyQkMSwgdmFsdWVzOiB2YWx1ZXMgfSkpKTtcbiAgICAgICAgICAgICAgICB2YXIgcmVxO1xuICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlcyA9IFtdO1xuICAgICAgICAgICAgICAgIHZhciBudW1GYWlsdXJlcyA9IDA7XG4gICAgICAgICAgICAgICAgdmFyIGVycm9ySGFuZGxlciA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICArK251bUZhaWx1cmVzO1xuICAgICAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c1tldmVudC50YXJnZXQuX3JlcW5vXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZXNbZXZlbnQudGFyZ2V0Ll9yZXFub10gPSBldmVudC50YXJnZXQuZXJyb3I7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB2YXIgc2V0UmVzdWx0ID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXQgPSBfYS50YXJnZXQ7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdHNbdGFyZ2V0Ll9yZXFub10gPSB0YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdkZWxldGVSYW5nZScpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlLnR5cGUgPT09IDQgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh7IG51bUZhaWx1cmVzOiBudW1GYWlsdXJlcywgZmFpbHVyZXM6IGZhaWx1cmVzLCByZXN1bHRzOiByZXN1bHRzLCBsYXN0UmVzdWx0OiB1bmRlZmluZWQgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyYW5nZS50eXBlID09PSAzICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcSA9IHN0b3JlLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcSA9IHN0b3JlLmRlbGV0ZShtYWtlSURCS2V5UmFuZ2UocmFuZ2UpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSA9IGlzQWRkT3JQdXQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgb3V0Ym91bmQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZXMsIGtleXMkJDFdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVzLCBudWxsXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBba2V5cyQkMSwgbnVsbF0sIGFyZ3MxID0gX2FbMF0sIGFyZ3MyID0gX2FbMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxID0gKGFyZ3MyICYmIGFyZ3MyW2ldICE9PSB1bmRlZmluZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZVt0eXBlXShhcmdzMVtpXSwgYXJnczJbaV0pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVbdHlwZV0oYXJnczFbaV0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEuX3JlcW5vID0gaTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0cyAmJiByZXN1bHRzW2ldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHNldFJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBlcnJvckhhbmRsZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxID0gc3RvcmVbdHlwZV0oYXJnczFbaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5fcmVxbm8gPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXJyb3JIYW5kbGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBkb25lID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBsYXN0UmVzdWx0ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdHMpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzW2xlbmd0aCAtIDFdID0gbGFzdFJlc3VsdDtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBudW1GYWlsdXJlczogbnVtRmFpbHVyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlczogZmFpbHVyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzOiByZXN1bHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFJlc3VsdDogbGFzdFJlc3VsdFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ySGFuZGxlcihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGRvbmUoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGRvbmU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBvcGVuQ3Vyc29yKF9hKSB7XG4gICAgICAgICAgICB2YXIgdHJhbnMgPSBfYS50cmFucywgdmFsdWVzID0gX2EudmFsdWVzLCBxdWVyeSA9IF9hLnF1ZXJ5LCByZXZlcnNlID0gX2EucmV2ZXJzZSwgdW5pcXVlID0gX2EudW5pcXVlO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlID0gd3JhcChyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBxdWVyeS5pbmRleCwgcmFuZ2UgPSBxdWVyeS5yYW5nZTtcbiAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgIHZhciBzb3VyY2UgPSBpbmRleC5pc1ByaW1hcnlLZXkgP1xuICAgICAgICAgICAgICAgICAgICBzdG9yZSA6XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlLmluZGV4KGluZGV4Lm5hbWUpO1xuICAgICAgICAgICAgICAgIHZhciBkaXJlY3Rpb24gPSByZXZlcnNlID9cbiAgICAgICAgICAgICAgICAgICAgdW5pcXVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJldnVuaXF1ZVwiIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJldlwiIDpcbiAgICAgICAgICAgICAgICAgICAgdW5pcXVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIFwibmV4dHVuaXF1ZVwiIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibmV4dFwiO1xuICAgICAgICAgICAgICAgIHZhciByZXEgPSB2YWx1ZXMgfHwgISgnb3BlbktleUN1cnNvcicgaW4gc291cmNlKSA/XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZS5vcGVuQ3Vyc29yKG1ha2VJREJLZXlSYW5nZShyYW5nZSksIGRpcmVjdGlvbikgOlxuICAgICAgICAgICAgICAgICAgICBzb3VyY2Uub3BlbktleUN1cnNvcihtYWtlSURCS2V5UmFuZ2UocmFuZ2UpLCBkaXJlY3Rpb24pO1xuICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHdyYXAoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjdXJzb3IgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnNvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjdXJzb3IuX19faWQgPSArK19pZF9jb3VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZG9uZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2N1cnNvckNvbnRpbnVlID0gY3Vyc29yLmNvbnRpbnVlLmJpbmQoY3Vyc29yKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jdXJzb3JDb250aW51ZVByaW1hcnlLZXkgPSBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgICAgICBpZiAoX2N1cnNvckNvbnRpbnVlUHJpbWFyeUtleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jdXJzb3JDb250aW51ZVByaW1hcnlLZXkgPSBfY3Vyc29yQ29udGludWVQcmltYXJ5S2V5LmJpbmQoY3Vyc29yKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jdXJzb3JBZHZhbmNlID0gY3Vyc29yLmFkdmFuY2UuYmluZChjdXJzb3IpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZG9UaHJvd0N1cnNvcklzTm90U3RhcnRlZCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgbmV3IEVycm9yKFwiQ3Vyc29yIG5vdCBzdGFydGVkXCIpOyB9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZG9UaHJvd0N1cnNvcklzU3RvcHBlZCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgbmV3IEVycm9yKFwiQ3Vyc29yIG5vdCBzdG9wcGVkXCIpOyB9O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3IudHJhbnMgPSB0cmFucztcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yLnN0b3AgPSBjdXJzb3IuY29udGludWUgPSBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5ID0gY3Vyc29yLmFkdmFuY2UgPSBkb1Rocm93Q3Vyc29ySXNOb3RTdGFydGVkO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZmFpbCA9IHdyYXAocmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yLm5leHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGdvdE9uZSA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGFydChmdW5jdGlvbiAoKSB7IHJldHVybiBnb3RPbmUtLSA/IF90aGlzLmNvbnRpbnVlKCkgOiBfdGhpcy5zdG9wKCk7IH0pLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gX3RoaXM7IH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3Iuc3RhcnQgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVyYXRpb25Qcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmVJdGVyYXRpb24sIHJlamVjdEl0ZXJhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVJdGVyYXRpb24gPSB3cmFwKHJlc29sdmVJdGVyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdEl0ZXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmZhaWwgPSByZWplY3RJdGVyYXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLnN0b3AgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLnN0b3AgPSBjdXJzb3IuY29udGludWUgPSBjdXJzb3IuY29udGludWVQcmltYXJ5S2V5ID0gY3Vyc29yLmFkdmFuY2UgPSBkb1Rocm93Q3Vyc29ySXNTdG9wcGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlSXRlcmF0aW9uKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ3VhcmRlZENhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXEucmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5kb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLnN0YXJ0ID0gZnVuY3Rpb24gKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJDdXJzb3IgYmVoaW5kIGxhc3QgZW50cnlcIik7IH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5zdG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSB3cmFwKGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBndWFyZGVkQ2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VhcmRlZENhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSA9IF9jdXJzb3JDb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZVByaW1hcnlLZXkgPSBfY3Vyc29yQ29udGludWVQcmltYXJ5S2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmFkdmFuY2UgPSBfY3Vyc29yQWR2YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGd1YXJkZWRDYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXJhdGlvblByb21pc2U7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoY3Vyc29yKTtcbiAgICAgICAgICAgICAgICB9LCByZWplY3QpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcXVlcnkoaGFzR2V0QWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gd3JhcChyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRyYW5zID0gcmVxdWVzdC50cmFucywgdmFsdWVzID0gcmVxdWVzdC52YWx1ZXMsIGxpbWl0ID0gcmVxdWVzdC5saW1pdCwgcXVlcnkgPSByZXF1ZXN0LnF1ZXJ5O1xuICAgICAgICAgICAgICAgICAgICB2YXIgbm9uSW5maW5pdExpbWl0ID0gbGltaXQgPT09IEluZmluaXR5ID8gdW5kZWZpbmVkIDogbGltaXQ7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHF1ZXJ5LmluZGV4LCByYW5nZSA9IHF1ZXJ5LnJhbmdlO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc291cmNlID0gaW5kZXguaXNQcmltYXJ5S2V5ID8gc3RvcmUgOiBzdG9yZS5pbmRleChpbmRleC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlkYktleVJhbmdlID0gbWFrZUlEQktleVJhbmdlKHJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxpbWl0ID09PSAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoeyByZXN1bHQ6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzR2V0QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVxID0gdmFsdWVzID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuZ2V0QWxsKGlkYktleVJhbmdlLCBub25JbmZpbml0TGltaXQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuZ2V0QWxsS2V5cyhpZGJLZXlSYW5nZSwgbm9uSW5maW5pdExpbWl0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHsgcmV0dXJuIHJlc29sdmUoeyByZXN1bHQ6IGV2ZW50LnRhcmdldC5yZXN1bHQgfSk7IH07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50XzEgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcV8xID0gdmFsdWVzIHx8ICEoJ29wZW5LZXlDdXJzb3InIGluIHNvdXJjZSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5vcGVuQ3Vyc29yKGlkYktleVJhbmdlKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLm9wZW5LZXlDdXJzb3IoaWRiS2V5UmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdF8xID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICByZXFfMS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3Vyc29yID0gcmVxXzEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY3Vyc29yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh7IHJlc3VsdDogcmVzdWx0XzEgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0XzEucHVzaCh2YWx1ZXMgPyBjdXJzb3IudmFsdWUgOiBjdXJzb3IucHJpbWFyeUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCsrY291bnRfMSA9PT0gbGltaXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHsgcmVzdWx0OiByZXN1bHRfMSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXFfMS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IHRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNjaGVtYTogdGFibGVTY2hlbWEsXG4gICAgICAgICAgICBtdXRhdGU6IG11dGF0ZSxcbiAgICAgICAgICAgIGdldE1hbnk6IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgIHZhciB0cmFucyA9IF9hLnRyYW5zLCBrZXlzJCQxID0gX2Eua2V5cztcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gd3JhcChyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUodGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGtleXMkJDEubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEFycmF5KGxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBrZXlDb3VudCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjYWxsYmFja0NvdW50ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlQ291bnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVxO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3VjY2Vzc0hhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXEgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlc3VsdFtyZXEuX3Bvc10gPSByZXEucmVzdWx0KSAhPSBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrdmFsdWVDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgrK2NhbGxiYWNrQ291bnQgPT09IGtleUNvdW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGVycm9ySGFuZGxlciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5cyQkMVtpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcSA9IHN0b3JlLmdldChrZXlzJCQxW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEuX3BvcyA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IHN1Y2Nlc3NIYW5kbGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXJyb3JIYW5kbGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICsra2V5Q291bnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleUNvdW50ID09PSAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRyYW5zID0gX2EudHJhbnMsIGtleSA9IF9hLmtleTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlID0gd3JhcChyZXNvbHZlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUodGFibGVOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IHN0b3JlLmdldChrZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGV2ZW50KSB7IHJldHVybiByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQpOyB9O1xuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeShoYXNHZXRBbGwpLFxuICAgICAgICAgICAgb3BlbkN1cnNvcjogb3BlbkN1cnNvcixcbiAgICAgICAgICAgIGNvdW50OiBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgcXVlcnkgPSBfYS5xdWVyeSwgdHJhbnMgPSBfYS50cmFucztcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBxdWVyeS5pbmRleCwgcmFuZ2UgPSBxdWVyeS5yYW5nZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc291cmNlID0gaW5kZXguaXNQcmltYXJ5S2V5ID8gc3RvcmUgOiBzdG9yZS5pbmRleChpbmRleC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlkYktleVJhbmdlID0gbWFrZUlEQktleVJhbmdlKHJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJlcSA9IGlkYktleVJhbmdlID8gc291cmNlLmNvdW50KGlkYktleVJhbmdlKSA6IHNvdXJjZS5jb3VudCgpO1xuICAgICAgICAgICAgICAgICAgICByZXEub25zdWNjZXNzID0gd3JhcChmdW5jdGlvbiAoZXYpIHsgcmV0dXJuIHJlc29sdmUoZXYudGFyZ2V0LnJlc3VsdCk7IH0pO1xuICAgICAgICAgICAgICAgICAgICByZXEub25lcnJvciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgX2EgPSBleHRyYWN0U2NoZW1hKGRiLCB0bXBUcmFucyksIHNjaGVtYSA9IF9hLnNjaGVtYSwgaGFzR2V0QWxsID0gX2EuaGFzR2V0QWxsO1xuICAgIHZhciB0YWJsZXMgPSBzY2hlbWEudGFibGVzLm1hcChmdW5jdGlvbiAodGFibGVTY2hlbWEpIHsgcmV0dXJuIGNyZWF0ZURiQ29yZVRhYmxlKHRhYmxlU2NoZW1hKTsgfSk7XG4gICAgdmFyIHRhYmxlTWFwID0ge307XG4gICAgdGFibGVzLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlKSB7IHJldHVybiB0YWJsZU1hcFt0YWJsZS5uYW1lXSA9IHRhYmxlOyB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzdGFjazogXCJkYmNvcmVcIixcbiAgICAgICAgdHJhbnNhY3Rpb246IGRiLnRyYW5zYWN0aW9uLmJpbmQoZGIpLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSB0YWJsZU1hcFtuYW1lXTtcbiAgICAgICAgICAgIGlmICghcmVzdWx0KVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRhYmxlICdcIiArIG5hbWUgKyBcIicgbm90IGZvdW5kXCIpO1xuICAgICAgICAgICAgcmV0dXJuIHRhYmxlTWFwW25hbWVdO1xuICAgICAgICB9LFxuICAgICAgICBjbXA6IGNtcCxcbiAgICAgICAgTUlOX0tFWTogLUluZmluaXR5LFxuICAgICAgICBNQVhfS0VZOiBnZXRNYXhLZXkoSWRiS2V5UmFuZ2UpLFxuICAgICAgICBzY2hlbWE6IHNjaGVtYVxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1pZGRsZXdhcmVTdGFjayhzdGFja0ltcGwsIG1pZGRsZXdhcmVzKSB7XG4gICAgcmV0dXJuIG1pZGRsZXdhcmVzLnJlZHVjZShmdW5jdGlvbiAoZG93biwgX2EpIHtcbiAgICAgICAgdmFyIGNyZWF0ZSA9IF9hLmNyZWF0ZTtcbiAgICAgICAgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZG93biksIGNyZWF0ZShkb3duKSkpO1xuICAgIH0sIHN0YWNrSW1wbCk7XG59XG5mdW5jdGlvbiBjcmVhdGVNaWRkbGV3YXJlU3RhY2tzKG1pZGRsZXdhcmVzLCBpZGJkYiwgX2EsIHRtcFRyYW5zKSB7XG4gICAgdmFyIElEQktleVJhbmdlID0gX2EuSURCS2V5UmFuZ2UsIGluZGV4ZWREQiA9IF9hLmluZGV4ZWREQjtcbiAgICB2YXIgZGJjb3JlID0gY3JlYXRlTWlkZGxld2FyZVN0YWNrKGNyZWF0ZURCQ29yZShpZGJkYiwgaW5kZXhlZERCLCBJREJLZXlSYW5nZSwgdG1wVHJhbnMpLCBtaWRkbGV3YXJlcy5kYmNvcmUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGRiY29yZTogZGJjb3JlXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdlbmVyYXRlTWlkZGxld2FyZVN0YWNrcyhkYiwgdG1wVHJhbnMpIHtcbiAgICB2YXIgaWRiZGIgPSB0bXBUcmFucy5kYjtcbiAgICB2YXIgc3RhY2tzID0gY3JlYXRlTWlkZGxld2FyZVN0YWNrcyhkYi5fbWlkZGxld2FyZXMsIGlkYmRiLCBkYi5fZGVwcywgdG1wVHJhbnMpO1xuICAgIGRiLmNvcmUgPSBzdGFja3MuZGJjb3JlO1xuICAgIGRiLnRhYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh0YWJsZSkge1xuICAgICAgICB2YXIgdGFibGVOYW1lID0gdGFibGUubmFtZTtcbiAgICAgICAgaWYgKGRiLmNvcmUuc2NoZW1hLnRhYmxlcy5zb21lKGZ1bmN0aW9uICh0YmwpIHsgcmV0dXJuIHRibC5uYW1lID09PSB0YWJsZU5hbWU7IH0pKSB7XG4gICAgICAgICAgICB0YWJsZS5jb3JlID0gZGIuY29yZS50YWJsZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgaWYgKGRiW3RhYmxlTmFtZV0gaW5zdGFuY2VvZiBkYi5UYWJsZSkge1xuICAgICAgICAgICAgICAgIGRiW3RhYmxlTmFtZV0uY29yZSA9IHRhYmxlLmNvcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0QXBpT25QbGFjZShkYiwgb2JqcywgdGFibGVOYW1lcywgZGJzY2hlbWEpIHtcbiAgICB0YWJsZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICB2YXIgc2NoZW1hID0gZGJzY2hlbWFbdGFibGVOYW1lXTtcbiAgICAgICAgb2Jqcy5mb3JFYWNoKGZ1bmN0aW9uIChvYmopIHtcbiAgICAgICAgICAgIHZhciBwcm9wRGVzYyA9IGdldFByb3BlcnR5RGVzY3JpcHRvcihvYmosIHRhYmxlTmFtZSk7XG4gICAgICAgICAgICBpZiAoIXByb3BEZXNjIHx8IChcInZhbHVlXCIgaW4gcHJvcERlc2MgJiYgcHJvcERlc2MudmFsdWUgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqID09PSBkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGUgfHwgb2JqIGluc3RhbmNlb2YgZGIuVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0UHJvcChvYmosIHRhYmxlTmFtZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLnRhYmxlKHRhYmxlTmFtZSk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZVByb3BlcnR5KHRoaXMsIHRhYmxlTmFtZSwgeyB2YWx1ZTogdmFsdWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqW3RhYmxlTmFtZV0gPSBuZXcgZGIuVGFibGUodGFibGVOYW1lLCBzY2hlbWEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiByZW1vdmVUYWJsZXNBcGkoZGIsIG9ianMpIHtcbiAgICBvYmpzLmZvckVhY2goZnVuY3Rpb24gKG9iaikge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgICBpZiAob2JqW2tleV0gaW5zdGFuY2VvZiBkYi5UYWJsZSlcbiAgICAgICAgICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGxvd2VyVmVyc2lvbkZpcnN0KGEsIGIpIHtcbiAgICByZXR1cm4gYS5fY2ZnLnZlcnNpb24gLSBiLl9jZmcudmVyc2lvbjtcbn1cbmZ1bmN0aW9uIHJ1blVwZ3JhZGVycyhkYiwgb2xkVmVyc2lvbiwgaWRiVXBncmFkZVRyYW5zLCByZWplY3QpIHtcbiAgICB2YXIgZ2xvYmFsU2NoZW1hID0gZGIuX2RiU2NoZW1hO1xuICAgIHZhciB0cmFucyA9IGRiLl9jcmVhdGVUcmFuc2FjdGlvbigncmVhZHdyaXRlJywgZGIuX3N0b3JlTmFtZXMsIGdsb2JhbFNjaGVtYSk7XG4gICAgdHJhbnMuY3JlYXRlKGlkYlVwZ3JhZGVUcmFucyk7XG4gICAgdHJhbnMuX2NvbXBsZXRpb24uY2F0Y2gocmVqZWN0KTtcbiAgICB2YXIgcmVqZWN0VHJhbnNhY3Rpb24gPSB0cmFucy5fcmVqZWN0LmJpbmQodHJhbnMpO1xuICAgIHZhciB0cmFuc2xlc3MgPSBQU0QudHJhbnNsZXNzIHx8IFBTRDtcbiAgICBuZXdTY29wZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIFBTRC50cmFucyA9IHRyYW5zO1xuICAgICAgICBQU0QudHJhbnNsZXNzID0gdHJhbnNsZXNzO1xuICAgICAgICBpZiAob2xkVmVyc2lvbiA9PT0gMCkge1xuICAgICAgICAgICAga2V5cyhnbG9iYWxTY2hlbWEpLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICAgICAgICAgIGNyZWF0ZVRhYmxlKGlkYlVwZ3JhZGVUcmFucywgdGFibGVOYW1lLCBnbG9iYWxTY2hlbWFbdGFibGVOYW1lXS5wcmltS2V5LCBnbG9iYWxTY2hlbWFbdGFibGVOYW1lXS5pbmRleGVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZ2VuZXJhdGVNaWRkbGV3YXJlU3RhY2tzKGRiLCBpZGJVcGdyYWRlVHJhbnMpO1xuICAgICAgICAgICAgRGV4aWVQcm9taXNlLmZvbGxvdyhmdW5jdGlvbiAoKSB7IHJldHVybiBkYi5vbi5wb3B1bGF0ZS5maXJlKHRyYW5zKTsgfSkuY2F0Y2gocmVqZWN0VHJhbnNhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHVwZGF0ZVRhYmxlc0FuZEluZGV4ZXMoZGIsIG9sZFZlcnNpb24sIHRyYW5zLCBpZGJVcGdyYWRlVHJhbnMpLmNhdGNoKHJlamVjdFRyYW5zYWN0aW9uKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZVRhYmxlc0FuZEluZGV4ZXMoZGIsIG9sZFZlcnNpb24sIHRyYW5zLCBpZGJVcGdyYWRlVHJhbnMpIHtcbiAgICB2YXIgcXVldWUgPSBbXTtcbiAgICB2YXIgdmVyc2lvbnMgPSBkYi5fdmVyc2lvbnM7XG4gICAgdmFyIGdsb2JhbFNjaGVtYSA9IGRiLl9kYlNjaGVtYSA9IGJ1aWxkR2xvYmFsU2NoZW1hKGRiLCBkYi5pZGJkYiwgaWRiVXBncmFkZVRyYW5zKTtcbiAgICB2YXIgYW55Q29udGVudFVwZ3JhZGVySGFzUnVuID0gZmFsc2U7XG4gICAgdmFyIHZlcnNUb1J1biA9IHZlcnNpb25zLmZpbHRlcihmdW5jdGlvbiAodikgeyByZXR1cm4gdi5fY2ZnLnZlcnNpb24gPj0gb2xkVmVyc2lvbjsgfSk7XG4gICAgdmVyc1RvUnVuLmZvckVhY2goZnVuY3Rpb24gKHZlcnNpb24pIHtcbiAgICAgICAgcXVldWUucHVzaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgb2xkU2NoZW1hID0gZ2xvYmFsU2NoZW1hO1xuICAgICAgICAgICAgdmFyIG5ld1NjaGVtYSA9IHZlcnNpb24uX2NmZy5kYnNjaGVtYTtcbiAgICAgICAgICAgIGFkanVzdFRvRXhpc3RpbmdJbmRleE5hbWVzKGRiLCBvbGRTY2hlbWEsIGlkYlVwZ3JhZGVUcmFucyk7XG4gICAgICAgICAgICBhZGp1c3RUb0V4aXN0aW5nSW5kZXhOYW1lcyhkYiwgbmV3U2NoZW1hLCBpZGJVcGdyYWRlVHJhbnMpO1xuICAgICAgICAgICAgZ2xvYmFsU2NoZW1hID0gZGIuX2RiU2NoZW1hID0gbmV3U2NoZW1hO1xuICAgICAgICAgICAgdmFyIGRpZmYgPSBnZXRTY2hlbWFEaWZmKG9sZFNjaGVtYSwgbmV3U2NoZW1hKTtcbiAgICAgICAgICAgIGRpZmYuYWRkLmZvckVhY2goZnVuY3Rpb24gKHR1cGxlKSB7XG4gICAgICAgICAgICAgICAgY3JlYXRlVGFibGUoaWRiVXBncmFkZVRyYW5zLCB0dXBsZVswXSwgdHVwbGVbMV0ucHJpbUtleSwgdHVwbGVbMV0uaW5kZXhlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRpZmYuY2hhbmdlLmZvckVhY2goZnVuY3Rpb24gKGNoYW5nZSkge1xuICAgICAgICAgICAgICAgIGlmIChjaGFuZ2UucmVjcmVhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuVXBncmFkZShcIk5vdCB5ZXQgc3VwcG9ydCBmb3IgY2hhbmdpbmcgcHJpbWFyeSBrZXlcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc3RvcmVfMSA9IGlkYlVwZ3JhZGVUcmFucy5vYmplY3RTdG9yZShjaGFuZ2UubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZS5hZGQuZm9yRWFjaChmdW5jdGlvbiAoaWR4KSB7IHJldHVybiBhZGRJbmRleChzdG9yZV8xLCBpZHgpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmNoYW5nZS5mb3JFYWNoKGZ1bmN0aW9uIChpZHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlXzEuZGVsZXRlSW5kZXgoaWR4Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkSW5kZXgoc3RvcmVfMSwgaWR4KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZS5kZWwuZm9yRWFjaChmdW5jdGlvbiAoaWR4TmFtZSkgeyByZXR1cm4gc3RvcmVfMS5kZWxldGVJbmRleChpZHhOYW1lKTsgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXIgY29udGVudFVwZ3JhZGUgPSB2ZXJzaW9uLl9jZmcuY29udGVudFVwZ3JhZGU7XG4gICAgICAgICAgICBpZiAoY29udGVudFVwZ3JhZGUgJiYgdmVyc2lvbi5fY2ZnLnZlcnNpb24gPiBvbGRWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVNaWRkbGV3YXJlU3RhY2tzKGRiLCBpZGJVcGdyYWRlVHJhbnMpO1xuICAgICAgICAgICAgICAgIHRyYW5zLl9tZW1vaXplZFRhYmxlcyA9IHt9O1xuICAgICAgICAgICAgICAgIGFueUNvbnRlbnRVcGdyYWRlckhhc1J1biA9IHRydWU7XG4gICAgICAgICAgICAgICAgdmFyIHVwZ3JhZGVTY2hlbWFfMSA9IHNoYWxsb3dDbG9uZShuZXdTY2hlbWEpO1xuICAgICAgICAgICAgICAgIGRpZmYuZGVsLmZvckVhY2goZnVuY3Rpb24gKHRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHVwZ3JhZGVTY2hlbWFfMVt0YWJsZV0gPSBvbGRTY2hlbWFbdGFibGVdO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJlbW92ZVRhYmxlc0FwaShkYiwgW2RiLlRyYW5zYWN0aW9uLnByb3RvdHlwZV0pO1xuICAgICAgICAgICAgICAgIHNldEFwaU9uUGxhY2UoZGIsIFtkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGVdLCBrZXlzKHVwZ3JhZGVTY2hlbWFfMSksIHVwZ3JhZGVTY2hlbWFfMSk7XG4gICAgICAgICAgICAgICAgdHJhbnMuc2NoZW1hID0gdXBncmFkZVNjaGVtYV8xO1xuICAgICAgICAgICAgICAgIHZhciBjb250ZW50VXBncmFkZUlzQXN5bmNfMSA9IGlzQXN5bmNGdW5jdGlvbihjb250ZW50VXBncmFkZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRVcGdyYWRlSXNBc3luY18xKSB7XG4gICAgICAgICAgICAgICAgICAgIGluY3JlbWVudEV4cGVjdGVkQXdhaXRzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciByZXR1cm5WYWx1ZV8xO1xuICAgICAgICAgICAgICAgIHZhciBwcm9taXNlRm9sbG93ZWQgPSBEZXhpZVByb21pc2UuZm9sbG93KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuVmFsdWVfMSA9IGNvbnRlbnRVcGdyYWRlKHRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJldHVyblZhbHVlXzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50VXBncmFkZUlzQXN5bmNfMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWNyZW1lbnRvciA9IGRlY3JlbWVudEV4cGVjdGVkQXdhaXRzLmJpbmQobnVsbCwgbnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVmFsdWVfMS50aGVuKGRlY3JlbWVudG9yLCBkZWNyZW1lbnRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHJldHVyblZhbHVlXzEgJiYgdHlwZW9mIHJldHVyblZhbHVlXzEudGhlbiA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgICAgICAgICAgICAgIERleGllUHJvbWlzZS5yZXNvbHZlKHJldHVyblZhbHVlXzEpIDogcHJvbWlzZUZvbGxvd2VkLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gcmV0dXJuVmFsdWVfMTsgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcXVldWUucHVzaChmdW5jdGlvbiAoaWRidHJhbnMpIHtcbiAgICAgICAgICAgIGlmICghYW55Q29udGVudFVwZ3JhZGVySGFzUnVuIHx8ICFoYXNJRURlbGV0ZU9iamVjdFN0b3JlQnVnKSB7XG4gICAgICAgICAgICAgICAgdmFyIG5ld1NjaGVtYSA9IHZlcnNpb24uX2NmZy5kYnNjaGVtYTtcbiAgICAgICAgICAgICAgICBkZWxldGVSZW1vdmVkVGFibGVzKG5ld1NjaGVtYSwgaWRidHJhbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVtb3ZlVGFibGVzQXBpKGRiLCBbZGIuVHJhbnNhY3Rpb24ucHJvdG90eXBlXSk7XG4gICAgICAgICAgICBzZXRBcGlPblBsYWNlKGRiLCBbZGIuVHJhbnNhY3Rpb24ucHJvdG90eXBlXSwgZGIuX3N0b3JlTmFtZXMsIGRiLl9kYlNjaGVtYSk7XG4gICAgICAgICAgICB0cmFucy5zY2hlbWEgPSBkYi5fZGJTY2hlbWE7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHJ1blF1ZXVlKCkge1xuICAgICAgICByZXR1cm4gcXVldWUubGVuZ3RoID8gRGV4aWVQcm9taXNlLnJlc29sdmUocXVldWUuc2hpZnQoKSh0cmFucy5pZGJ0cmFucykpLnRoZW4ocnVuUXVldWUpIDpcbiAgICAgICAgICAgIERleGllUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBydW5RdWV1ZSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBjcmVhdGVNaXNzaW5nVGFibGVzKGdsb2JhbFNjaGVtYSwgaWRiVXBncmFkZVRyYW5zKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFNjaGVtYURpZmYob2xkU2NoZW1hLCBuZXdTY2hlbWEpIHtcbiAgICB2YXIgZGlmZiA9IHtcbiAgICAgICAgZGVsOiBbXSxcbiAgICAgICAgYWRkOiBbXSxcbiAgICAgICAgY2hhbmdlOiBbXVxuICAgIH07XG4gICAgdmFyIHRhYmxlO1xuICAgIGZvciAodGFibGUgaW4gb2xkU2NoZW1hKSB7XG4gICAgICAgIGlmICghbmV3U2NoZW1hW3RhYmxlXSlcbiAgICAgICAgICAgIGRpZmYuZGVsLnB1c2godGFibGUpO1xuICAgIH1cbiAgICBmb3IgKHRhYmxlIGluIG5ld1NjaGVtYSkge1xuICAgICAgICB2YXIgb2xkRGVmID0gb2xkU2NoZW1hW3RhYmxlXSwgbmV3RGVmID0gbmV3U2NoZW1hW3RhYmxlXTtcbiAgICAgICAgaWYgKCFvbGREZWYpIHtcbiAgICAgICAgICAgIGRpZmYuYWRkLnB1c2goW3RhYmxlLCBuZXdEZWZdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjaGFuZ2UgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogdGFibGUsXG4gICAgICAgICAgICAgICAgZGVmOiBuZXdEZWYsXG4gICAgICAgICAgICAgICAgcmVjcmVhdGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRlbDogW10sXG4gICAgICAgICAgICAgICAgYWRkOiBbXSxcbiAgICAgICAgICAgICAgICBjaGFuZ2U6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKChcbiAgICAgICAgICAgICcnICsgKG9sZERlZi5wcmltS2V5LmtleVBhdGggfHwgJycpKSAhPT0gKCcnICsgKG5ld0RlZi5wcmltS2V5LmtleVBhdGggfHwgJycpKSB8fFxuICAgICAgICAgICAgICAgIChvbGREZWYucHJpbUtleS5hdXRvICE9PSBuZXdEZWYucHJpbUtleS5hdXRvICYmICFpc0lFT3JFZGdlKSlcbiAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2hhbmdlLnJlY3JlYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBkaWZmLmNoYW5nZS5wdXNoKGNoYW5nZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgb2xkSW5kZXhlcyA9IG9sZERlZi5pZHhCeU5hbWU7XG4gICAgICAgICAgICAgICAgdmFyIG5ld0luZGV4ZXMgPSBuZXdEZWYuaWR4QnlOYW1lO1xuICAgICAgICAgICAgICAgIHZhciBpZHhOYW1lID0gdm9pZCAwO1xuICAgICAgICAgICAgICAgIGZvciAoaWR4TmFtZSBpbiBvbGRJbmRleGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbmV3SW5kZXhlc1tpZHhOYW1lXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS5kZWwucHVzaChpZHhOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChpZHhOYW1lIGluIG5ld0luZGV4ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9sZElkeCA9IG9sZEluZGV4ZXNbaWR4TmFtZV0sIG5ld0lkeCA9IG5ld0luZGV4ZXNbaWR4TmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghb2xkSWR4KVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlLmFkZC5wdXNoKG5ld0lkeCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9sZElkeC5zcmMgIT09IG5ld0lkeC5zcmMpXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UuY2hhbmdlLnB1c2gobmV3SWR4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZS5kZWwubGVuZ3RoID4gMCB8fCBjaGFuZ2UuYWRkLmxlbmd0aCA+IDAgfHwgY2hhbmdlLmNoYW5nZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpZmYuY2hhbmdlLnB1c2goY2hhbmdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRpZmY7XG59XG5mdW5jdGlvbiBjcmVhdGVUYWJsZShpZGJ0cmFucywgdGFibGVOYW1lLCBwcmltS2V5LCBpbmRleGVzKSB7XG4gICAgdmFyIHN0b3JlID0gaWRidHJhbnMuZGIuY3JlYXRlT2JqZWN0U3RvcmUodGFibGVOYW1lLCBwcmltS2V5LmtleVBhdGggP1xuICAgICAgICB7IGtleVBhdGg6IHByaW1LZXkua2V5UGF0aCwgYXV0b0luY3JlbWVudDogcHJpbUtleS5hdXRvIH0gOlxuICAgICAgICB7IGF1dG9JbmNyZW1lbnQ6IHByaW1LZXkuYXV0byB9KTtcbiAgICBpbmRleGVzLmZvckVhY2goZnVuY3Rpb24gKGlkeCkgeyByZXR1cm4gYWRkSW5kZXgoc3RvcmUsIGlkeCk7IH0pO1xuICAgIHJldHVybiBzdG9yZTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZU1pc3NpbmdUYWJsZXMobmV3U2NoZW1hLCBpZGJ0cmFucykge1xuICAgIGtleXMobmV3U2NoZW1hKS5mb3JFYWNoKGZ1bmN0aW9uICh0YWJsZU5hbWUpIHtcbiAgICAgICAgaWYgKCFpZGJ0cmFucy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKHRhYmxlTmFtZSkpIHtcbiAgICAgICAgICAgIGNyZWF0ZVRhYmxlKGlkYnRyYW5zLCB0YWJsZU5hbWUsIG5ld1NjaGVtYVt0YWJsZU5hbWVdLnByaW1LZXksIG5ld1NjaGVtYVt0YWJsZU5hbWVdLmluZGV4ZXMpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBkZWxldGVSZW1vdmVkVGFibGVzKG5ld1NjaGVtYSwgaWRidHJhbnMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkYnRyYW5zLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgdmFyIHN0b3JlTmFtZSA9IGlkYnRyYW5zLmRiLm9iamVjdFN0b3JlTmFtZXNbaV07XG4gICAgICAgIGlmIChuZXdTY2hlbWFbc3RvcmVOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgICAgICBpZGJ0cmFucy5kYi5kZWxldGVPYmplY3RTdG9yZShzdG9yZU5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYWRkSW5kZXgoc3RvcmUsIGlkeCkge1xuICAgIHN0b3JlLmNyZWF0ZUluZGV4KGlkeC5uYW1lLCBpZHgua2V5UGF0aCwgeyB1bmlxdWU6IGlkeC51bmlxdWUsIG11bHRpRW50cnk6IGlkeC5tdWx0aSB9KTtcbn1cbmZ1bmN0aW9uIGJ1aWxkR2xvYmFsU2NoZW1hKGRiLCBpZGJkYiwgdG1wVHJhbnMpIHtcbiAgICB2YXIgZ2xvYmFsU2NoZW1hID0ge307XG4gICAgdmFyIGRiU3RvcmVOYW1lcyA9IHNsaWNlKGlkYmRiLm9iamVjdFN0b3JlTmFtZXMsIDApO1xuICAgIGRiU3RvcmVOYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChzdG9yZU5hbWUpIHtcbiAgICAgICAgdmFyIHN0b3JlID0gdG1wVHJhbnMub2JqZWN0U3RvcmUoc3RvcmVOYW1lKTtcbiAgICAgICAgdmFyIGtleVBhdGggPSBzdG9yZS5rZXlQYXRoO1xuICAgICAgICB2YXIgcHJpbUtleSA9IGNyZWF0ZUluZGV4U3BlYyhuYW1lRnJvbUtleVBhdGgoa2V5UGF0aCksIGtleVBhdGggfHwgXCJcIiwgZmFsc2UsIGZhbHNlLCAhIXN0b3JlLmF1dG9JbmNyZW1lbnQsIGtleVBhdGggJiYgdHlwZW9mIGtleVBhdGggIT09IFwic3RyaW5nXCIsIHRydWUpO1xuICAgICAgICB2YXIgaW5kZXhlcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHN0b3JlLmluZGV4TmFtZXMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgIHZhciBpZGJpbmRleCA9IHN0b3JlLmluZGV4KHN0b3JlLmluZGV4TmFtZXNbal0pO1xuICAgICAgICAgICAga2V5UGF0aCA9IGlkYmluZGV4LmtleVBhdGg7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSBjcmVhdGVJbmRleFNwZWMoaWRiaW5kZXgubmFtZSwga2V5UGF0aCwgISFpZGJpbmRleC51bmlxdWUsICEhaWRiaW5kZXgubXVsdGlFbnRyeSwgZmFsc2UsIGtleVBhdGggJiYgdHlwZW9mIGtleVBhdGggIT09IFwic3RyaW5nXCIsIGZhbHNlKTtcbiAgICAgICAgICAgIGluZGV4ZXMucHVzaChpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsU2NoZW1hW3N0b3JlTmFtZV0gPSBjcmVhdGVUYWJsZVNjaGVtYShzdG9yZU5hbWUsIHByaW1LZXksIGluZGV4ZXMpO1xuICAgIH0pO1xuICAgIHJldHVybiBnbG9iYWxTY2hlbWE7XG59XG5mdW5jdGlvbiByZWFkR2xvYmFsU2NoZW1hKGRiLCBpZGJkYiwgdG1wVHJhbnMpIHtcbiAgICBkYi52ZXJubyA9IGlkYmRiLnZlcnNpb24gLyAxMDtcbiAgICB2YXIgZ2xvYmFsU2NoZW1hID0gZGIuX2RiU2NoZW1hID0gYnVpbGRHbG9iYWxTY2hlbWEoZGIsIGlkYmRiLCB0bXBUcmFucyk7XG4gICAgZGIuX3N0b3JlTmFtZXMgPSBzbGljZShpZGJkYi5vYmplY3RTdG9yZU5hbWVzLCAwKTtcbiAgICBzZXRBcGlPblBsYWNlKGRiLCBbZGIuX2FsbFRhYmxlc10sIGtleXMoZ2xvYmFsU2NoZW1hKSwgZ2xvYmFsU2NoZW1hKTtcbn1cbmZ1bmN0aW9uIHZlcmlmeUluc3RhbGxlZFNjaGVtYShkYiwgdG1wVHJhbnMpIHtcbiAgICB2YXIgaW5zdGFsbGVkU2NoZW1hID0gYnVpbGRHbG9iYWxTY2hlbWEoZGIsIGRiLmlkYmRiLCB0bXBUcmFucyk7XG4gICAgdmFyIGRpZmYgPSBnZXRTY2hlbWFEaWZmKGluc3RhbGxlZFNjaGVtYSwgZGIuX2RiU2NoZW1hKTtcbiAgICByZXR1cm4gIShkaWZmLmFkZC5sZW5ndGggfHwgZGlmZi5jaGFuZ2Uuc29tZShmdW5jdGlvbiAoY2gpIHsgcmV0dXJuIGNoLmFkZC5sZW5ndGggfHwgY2guY2hhbmdlLmxlbmd0aDsgfSkpO1xufVxuZnVuY3Rpb24gYWRqdXN0VG9FeGlzdGluZ0luZGV4TmFtZXMoZGIsIHNjaGVtYSwgaWRidHJhbnMpIHtcbiAgICB2YXIgc3RvcmVOYW1lcyA9IGlkYnRyYW5zLmRiLm9iamVjdFN0b3JlTmFtZXM7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdG9yZU5hbWVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHZhciBzdG9yZU5hbWUgPSBzdG9yZU5hbWVzW2ldO1xuICAgICAgICB2YXIgc3RvcmUgPSBpZGJ0cmFucy5vYmplY3RTdG9yZShzdG9yZU5hbWUpO1xuICAgICAgICBkYi5faGFzR2V0QWxsID0gJ2dldEFsbCcgaW4gc3RvcmU7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc3RvcmUuaW5kZXhOYW1lcy5sZW5ndGg7ICsraikge1xuICAgICAgICAgICAgdmFyIGluZGV4TmFtZSA9IHN0b3JlLmluZGV4TmFtZXNbal07XG4gICAgICAgICAgICB2YXIga2V5UGF0aCA9IHN0b3JlLmluZGV4KGluZGV4TmFtZSkua2V5UGF0aDtcbiAgICAgICAgICAgIHZhciBkZXhpZU5hbWUgPSB0eXBlb2Yga2V5UGF0aCA9PT0gJ3N0cmluZycgPyBrZXlQYXRoIDogXCJbXCIgKyBzbGljZShrZXlQYXRoKS5qb2luKCcrJykgKyBcIl1cIjtcbiAgICAgICAgICAgIGlmIChzY2hlbWFbc3RvcmVOYW1lXSkge1xuICAgICAgICAgICAgICAgIHZhciBpbmRleFNwZWMgPSBzY2hlbWFbc3RvcmVOYW1lXS5pZHhCeU5hbWVbZGV4aWVOYW1lXTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXhTcGVjKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4U3BlYy5uYW1lID0gaW5kZXhOYW1lO1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgc2NoZW1hW3N0b3JlTmFtZV0uaWR4QnlOYW1lW2RleGllTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIHNjaGVtYVtzdG9yZU5hbWVdLmlkeEJ5TmFtZVtpbmRleE5hbWVdID0gaW5kZXhTcGVjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL1NhZmFyaS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJlxuICAgICAgICAhLyhDaHJvbWVcXC98RWRnZVxcLykvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiZcbiAgICAgICAgX2dsb2JhbC5Xb3JrZXJHbG9iYWxTY29wZSAmJiBfZ2xvYmFsIGluc3RhbmNlb2YgX2dsb2JhbC5Xb3JrZXJHbG9iYWxTY29wZSAmJlxuICAgICAgICBbXS5jb25jYXQobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvU2FmYXJpXFwvKFxcZCopLykpWzFdIDwgNjA0KSB7XG4gICAgICAgIGRiLl9oYXNHZXRBbGwgPSBmYWxzZTtcbiAgICB9XG59XG5mdW5jdGlvbiBwYXJzZUluZGV4U3ludGF4KHByaW1LZXlBbmRJbmRleGVzKSB7XG4gICAgcmV0dXJuIHByaW1LZXlBbmRJbmRleGVzLnNwbGl0KCcsJykubWFwKGZ1bmN0aW9uIChpbmRleCwgaW5kZXhOdW0pIHtcbiAgICAgICAgaW5kZXggPSBpbmRleC50cmltKCk7XG4gICAgICAgIHZhciBuYW1lID0gaW5kZXgucmVwbGFjZSgvKFsmKl18XFwrXFwrKS9nLCBcIlwiKTtcbiAgICAgICAgdmFyIGtleVBhdGggPSAvXlxcWy8udGVzdChuYW1lKSA/IG5hbWUubWF0Y2goL15cXFsoLiopXFxdJC8pWzFdLnNwbGl0KCcrJykgOiBuYW1lO1xuICAgICAgICByZXR1cm4gY3JlYXRlSW5kZXhTcGVjKG5hbWUsIGtleVBhdGggfHwgbnVsbCwgL1xcJi8udGVzdChpbmRleCksIC9cXCovLnRlc3QoaW5kZXgpLCAvXFwrXFwrLy50ZXN0KGluZGV4KSwgaXNBcnJheShrZXlQYXRoKSwgaW5kZXhOdW0gPT09IDApO1xuICAgIH0pO1xufVxuXG52YXIgVmVyc2lvbiA9ICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBWZXJzaW9uKCkge1xuICAgIH1cbiAgICBWZXJzaW9uLnByb3RvdHlwZS5fcGFyc2VTdG9yZXNTcGVjID0gZnVuY3Rpb24gKHN0b3Jlcywgb3V0U2NoZW1hKSB7XG4gICAgICAgIGtleXMoc3RvcmVzKS5mb3JFYWNoKGZ1bmN0aW9uICh0YWJsZU5hbWUpIHtcbiAgICAgICAgICAgIGlmIChzdG9yZXNbdGFibGVOYW1lXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBpbmRleGVzID0gcGFyc2VJbmRleFN5bnRheChzdG9yZXNbdGFibGVOYW1lXSk7XG4gICAgICAgICAgICAgICAgdmFyIHByaW1LZXkgPSBpbmRleGVzLnNoaWZ0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHByaW1LZXkubXVsdGkpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLlNjaGVtYShcIlByaW1hcnkga2V5IGNhbm5vdCBiZSBtdWx0aS12YWx1ZWRcIik7XG4gICAgICAgICAgICAgICAgaW5kZXhlcy5mb3JFYWNoKGZ1bmN0aW9uIChpZHgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlkeC5hdXRvKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU2NoZW1hKFwiT25seSBwcmltYXJ5IGtleSBjYW4gYmUgbWFya2VkIGFzIGF1dG9JbmNyZW1lbnQgKCsrKVwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpZHgua2V5UGF0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLlNjaGVtYShcIkluZGV4IG11c3QgaGF2ZSBhIG5hbWUgYW5kIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmdcIik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgb3V0U2NoZW1hW3RhYmxlTmFtZV0gPSBjcmVhdGVUYWJsZVNjaGVtYSh0YWJsZU5hbWUsIHByaW1LZXksIGluZGV4ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIFZlcnNpb24ucHJvdG90eXBlLnN0b3JlcyA9IGZ1bmN0aW9uIChzdG9yZXMpIHtcbiAgICAgICAgdmFyIGRiID0gdGhpcy5kYjtcbiAgICAgICAgdGhpcy5fY2ZnLnN0b3Jlc1NvdXJjZSA9IHRoaXMuX2NmZy5zdG9yZXNTb3VyY2UgP1xuICAgICAgICAgICAgZXh0ZW5kKHRoaXMuX2NmZy5zdG9yZXNTb3VyY2UsIHN0b3JlcykgOlxuICAgICAgICAgICAgc3RvcmVzO1xuICAgICAgICB2YXIgdmVyc2lvbnMgPSBkYi5fdmVyc2lvbnM7XG4gICAgICAgIHZhciBzdG9yZXNTcGVjID0ge307XG4gICAgICAgIHZhciBkYnNjaGVtYSA9IHt9O1xuICAgICAgICB2ZXJzaW9ucy5mb3JFYWNoKGZ1bmN0aW9uICh2ZXJzaW9uKSB7XG4gICAgICAgICAgICBleHRlbmQoc3RvcmVzU3BlYywgdmVyc2lvbi5fY2ZnLnN0b3Jlc1NvdXJjZSk7XG4gICAgICAgICAgICBkYnNjaGVtYSA9ICh2ZXJzaW9uLl9jZmcuZGJzY2hlbWEgPSB7fSk7XG4gICAgICAgICAgICB2ZXJzaW9uLl9wYXJzZVN0b3Jlc1NwZWMoc3RvcmVzU3BlYywgZGJzY2hlbWEpO1xuICAgICAgICB9KTtcbiAgICAgICAgZGIuX2RiU2NoZW1hID0gZGJzY2hlbWE7XG4gICAgICAgIHJlbW92ZVRhYmxlc0FwaShkYiwgW2RiLl9hbGxUYWJsZXMsIGRiLCBkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGVdKTtcbiAgICAgICAgc2V0QXBpT25QbGFjZShkYiwgW2RiLl9hbGxUYWJsZXMsIGRiLCBkYi5UcmFuc2FjdGlvbi5wcm90b3R5cGUsIHRoaXMuX2NmZy50YWJsZXNdLCBrZXlzKGRic2NoZW1hKSwgZGJzY2hlbWEpO1xuICAgICAgICBkYi5fc3RvcmVOYW1lcyA9IGtleXMoZGJzY2hlbWEpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIFZlcnNpb24ucHJvdG90eXBlLnVwZ3JhZGUgPSBmdW5jdGlvbiAodXBncmFkZUZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMuX2NmZy5jb250ZW50VXBncmFkZSA9IHVwZ3JhZGVGdW5jdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbiAgICByZXR1cm4gVmVyc2lvbjtcbn0oKSk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVZlcnNpb25Db25zdHJ1Y3RvcihkYikge1xuICAgIHJldHVybiBtYWtlQ2xhc3NDb25zdHJ1Y3RvcihWZXJzaW9uLnByb3RvdHlwZSwgZnVuY3Rpb24gVmVyc2lvbiQkMSh2ZXJzaW9uTnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZGIgPSBkYjtcbiAgICAgICAgdGhpcy5fY2ZnID0ge1xuICAgICAgICAgICAgdmVyc2lvbjogdmVyc2lvbk51bWJlcixcbiAgICAgICAgICAgIHN0b3Jlc1NvdXJjZTogbnVsbCxcbiAgICAgICAgICAgIGRic2NoZW1hOiB7fSxcbiAgICAgICAgICAgIHRhYmxlczoge30sXG4gICAgICAgICAgICBjb250ZW50VXBncmFkZTogbnVsbFxuICAgICAgICB9O1xuICAgIH0pO1xufVxuXG52YXIgZGF0YWJhc2VFbnVtZXJhdG9yO1xuZnVuY3Rpb24gRGF0YWJhc2VFbnVtZXJhdG9yKGluZGV4ZWREQikge1xuICAgIHZhciBoYXNEYXRhYmFzZXNOYXRpdmUgPSBpbmRleGVkREIgJiYgdHlwZW9mIGluZGV4ZWREQi5kYXRhYmFzZXMgPT09ICdmdW5jdGlvbic7XG4gICAgdmFyIGRiTmFtZXNUYWJsZTtcbiAgICBpZiAoIWhhc0RhdGFiYXNlc05hdGl2ZSkge1xuICAgICAgICB2YXIgZGIgPSBuZXcgRGV4aWUoREJOQU1FU19EQiwgeyBhZGRvbnM6IFtdIH0pO1xuICAgICAgICBkYi52ZXJzaW9uKDEpLnN0b3Jlcyh7IGRibmFtZXM6ICduYW1lJyB9KTtcbiAgICAgICAgZGJOYW1lc1RhYmxlID0gZGIudGFibGUoJ2RibmFtZXMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0RGF0YWJhc2VOYW1lczogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGhhc0RhdGFiYXNlc05hdGl2ZVxuICAgICAgICAgICAgICAgID9cbiAgICAgICAgICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUoaW5kZXhlZERCLmRhdGFiYXNlcygpKS50aGVuKGZ1bmN0aW9uIChpbmZvcykgeyByZXR1cm4gaW5mb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGluZm8pIHsgcmV0dXJuIGluZm8ubmFtZTsgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIG5hbWUgIT09IERCTkFNRVNfREI7IH0pOyB9KVxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgZGJOYW1lc1RhYmxlLnRvQ29sbGVjdGlvbigpLnByaW1hcnlLZXlzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGFkZDogZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiAhaGFzRGF0YWJhc2VzTmF0aXZlICYmIG5hbWUgIT09IERCTkFNRVNfREIgJiYgZGJOYW1lc1RhYmxlLnB1dCh7IG5hbWU6IG5hbWUgfSkuY2F0Y2gobm9wKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuICFoYXNEYXRhYmFzZXNOYXRpdmUgJiYgbmFtZSAhPT0gREJOQU1FU19EQiAmJiBkYk5hbWVzVGFibGUuZGVsZXRlKG5hbWUpLmNhdGNoKG5vcCk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gaW5pdERhdGFiYXNlRW51bWVyYXRvcihpbmRleGVkREIpIHtcbiAgICB0cnkge1xuICAgICAgICBkYXRhYmFzZUVudW1lcmF0b3IgPSBEYXRhYmFzZUVudW1lcmF0b3IoaW5kZXhlZERCKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHsgfVxufVxuXG5mdW5jdGlvbiB2aXAoZm4pIHtcbiAgICByZXR1cm4gbmV3U2NvcGUoZnVuY3Rpb24gKCkge1xuICAgICAgICBQU0QubGV0VGhyb3VnaCA9IHRydWU7XG4gICAgICAgIHJldHVybiBmbigpO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBkZXhpZU9wZW4oZGIpIHtcbiAgICB2YXIgc3RhdGUgPSBkYi5fc3RhdGU7XG4gICAgdmFyIGluZGV4ZWREQiA9IGRiLl9kZXBzLmluZGV4ZWREQjtcbiAgICBpZiAoc3RhdGUuaXNCZWluZ09wZW5lZCB8fCBkYi5pZGJkYilcbiAgICAgICAgcmV0dXJuIHN0YXRlLmRiUmVhZHlQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4gc3RhdGUuZGJPcGVuRXJyb3IgP1xuICAgICAgICAgICAgcmVqZWN0aW9uKHN0YXRlLmRiT3BlbkVycm9yKSA6XG4gICAgICAgICAgICBkYjsgfSk7XG4gICAgZGVidWcgJiYgKHN0YXRlLm9wZW5DYW5jZWxsZXIuX3N0YWNrSG9sZGVyID0gZ2V0RXJyb3JXaXRoU3RhY2soKSk7XG4gICAgc3RhdGUuaXNCZWluZ09wZW5lZCA9IHRydWU7XG4gICAgc3RhdGUuZGJPcGVuRXJyb3IgPSBudWxsO1xuICAgIHN0YXRlLm9wZW5Db21wbGV0ZSA9IGZhbHNlO1xuICAgIHZhciByZXNvbHZlRGJSZWFkeSA9IHN0YXRlLmRiUmVhZHlSZXNvbHZlLFxuICAgIHVwZ3JhZGVUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgcmV0dXJuIERleGllUHJvbWlzZS5yYWNlKFtzdGF0ZS5vcGVuQ2FuY2VsbGVyLCBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIGlmICghaW5kZXhlZERCKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLk1pc3NpbmdBUEkoXCJpbmRleGVkREIgQVBJIG5vdCBmb3VuZC4gSWYgdXNpbmcgSUUxMCssIG1ha2Ugc3VyZSB0byBydW4geW91ciBjb2RlIG9uIGEgc2VydmVyIFVSTCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiKG5vdCBsb2NhbGx5KS4gSWYgdXNpbmcgb2xkIFNhZmFyaSB2ZXJzaW9ucywgbWFrZSBzdXJlIHRvIGluY2x1ZGUgaW5kZXhlZERCIHBvbHlmaWxsLlwiKTtcbiAgICAgICAgICAgIHZhciBkYk5hbWUgPSBkYi5uYW1lO1xuICAgICAgICAgICAgdmFyIHJlcSA9IHN0YXRlLmF1dG9TY2hlbWEgP1xuICAgICAgICAgICAgICAgIGluZGV4ZWREQi5vcGVuKGRiTmFtZSkgOlxuICAgICAgICAgICAgICAgIGluZGV4ZWREQi5vcGVuKGRiTmFtZSwgTWF0aC5yb3VuZChkYi52ZXJubyAqIDEwKSk7XG4gICAgICAgICAgICBpZiAoIXJlcSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5NaXNzaW5nQVBJKFwiSW5kZXhlZERCIEFQSSBub3QgYXZhaWxhYmxlXCIpO1xuICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBldmVudFJlamVjdEhhbmRsZXIocmVqZWN0KTtcbiAgICAgICAgICAgIHJlcS5vbmJsb2NrZWQgPSB3cmFwKGRiLl9maXJlT25CbG9ja2VkKTtcbiAgICAgICAgICAgIHJlcS5vbnVwZ3JhZGVuZWVkZWQgPSB3cmFwKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgdXBncmFkZVRyYW5zYWN0aW9uID0gcmVxLnRyYW5zYWN0aW9uO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5hdXRvU2NoZW1hICYmICFkYi5fb3B0aW9ucy5hbGxvd0VtcHR5REIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVxLm9uZXJyb3IgPSBwcmV2ZW50RGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgdXBncmFkZVRyYW5zYWN0aW9uLmFib3J0KCk7XG4gICAgICAgICAgICAgICAgICAgIHJlcS5yZXN1bHQuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlbHJlcSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYk5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBkZWxyZXEub25zdWNjZXNzID0gZGVscmVxLm9uZXJyb3IgPSB3cmFwKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChuZXcgZXhjZXB0aW9ucy5Ob1N1Y2hEYXRhYmFzZShcIkRhdGFiYXNlIFwiICsgZGJOYW1lICsgXCIgZG9lc250IGV4aXN0XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB1cGdyYWRlVHJhbnNhY3Rpb24ub25lcnJvciA9IGV2ZW50UmVqZWN0SGFuZGxlcihyZWplY3QpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgb2xkVmVyID0gZS5vbGRWZXJzaW9uID4gTWF0aC5wb3coMiwgNjIpID8gMCA6IGUub2xkVmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgZGIuaWRiZGIgPSByZXEucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBydW5VcGdyYWRlcnMoZGIsIG9sZFZlciAvIDEwLCB1cGdyYWRlVHJhbnNhY3Rpb24sIHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSB3cmFwKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB1cGdyYWRlVHJhbnNhY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgICAgIHZhciBpZGJkYiA9IGRiLmlkYmRiID0gcmVxLnJlc3VsdDtcbiAgICAgICAgICAgICAgICB2YXIgb2JqZWN0U3RvcmVOYW1lcyA9IHNsaWNlKGlkYmRiLm9iamVjdFN0b3JlTmFtZXMpO1xuICAgICAgICAgICAgICAgIGlmIChvYmplY3RTdG9yZU5hbWVzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG1wVHJhbnMgPSBpZGJkYi50cmFuc2FjdGlvbihzYWZhcmlNdWx0aVN0b3JlRml4KG9iamVjdFN0b3JlTmFtZXMpLCAncmVhZG9ubHknKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZS5hdXRvU2NoZW1hKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRHbG9iYWxTY2hlbWEoZGIsIGlkYmRiLCB0bXBUcmFucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RUb0V4aXN0aW5nSW5kZXhOYW1lcyhkYiwgZGIuX2RiU2NoZW1hLCB0bXBUcmFucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF2ZXJpZnlJbnN0YWxsZWRTY2hlbWEoZGIsIHRtcFRyYW5zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJEZXhpZSBTY2hlbWFEaWZmOiBTY2hlbWEgd2FzIGV4dGVuZGVkIHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgbnVtYmVyIHBhc3NlZCB0byBkYi52ZXJzaW9uKCkuIFNvbWUgcXVlcmllcyBtYXkgZmFpbC5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVNaWRkbGV3YXJlU3RhY2tzKGRiLCB0bXBUcmFucyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25zLnB1c2goZGIpO1xuICAgICAgICAgICAgICAgIGlkYmRiLm9udmVyc2lvbmNoYW5nZSA9IHdyYXAoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLnZjRmlyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBkYi5vbihcInZlcnNpb25jaGFuZ2VcIikuZmlyZShldik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZGF0YWJhc2VFbnVtZXJhdG9yLmFkZChkYk5hbWUpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIHJlamVjdCk7XG4gICAgICAgIH0pXSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgIHN0YXRlLm9uUmVhZHlCZWluZ0ZpcmVkID0gW107XG4gICAgICAgIHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZSh2aXAoZGIub24ucmVhZHkuZmlyZSkpLnRoZW4oZnVuY3Rpb24gZmlyZVJlbWFpbmRlcnMoKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGUub25SZWFkeUJlaW5nRmlyZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHZhciByZW1haW5kZXJzID0gc3RhdGUub25SZWFkeUJlaW5nRmlyZWQucmVkdWNlKHByb21pc2FibGVDaGFpbiwgbm9wKTtcbiAgICAgICAgICAgICAgICBzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZCA9IFtdO1xuICAgICAgICAgICAgICAgIHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZSh2aXAocmVtYWluZGVycykpLnRoZW4oZmlyZVJlbWFpbmRlcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KS5maW5hbGx5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc3RhdGUub25SZWFkeUJlaW5nRmlyZWQgPSBudWxsO1xuICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBzdGF0ZS5pc0JlaW5nT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBkYjtcbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cGdyYWRlVHJhbnNhY3Rpb24gJiYgdXBncmFkZVRyYW5zYWN0aW9uLmFib3J0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICBzdGF0ZS5pc0JlaW5nT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIGRiLmNsb3NlKCk7XG4gICAgICAgIHN0YXRlLmRiT3BlbkVycm9yID0gZXJyO1xuICAgICAgICByZXR1cm4gcmVqZWN0aW9uKHN0YXRlLmRiT3BlbkVycm9yKTtcbiAgICB9KS5maW5hbGx5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc3RhdGUub3BlbkNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgcmVzb2x2ZURiUmVhZHkoKTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXdhaXRJdGVyYXRvcihpdGVyYXRvcikge1xuICAgIHZhciBjYWxsTmV4dCA9IGZ1bmN0aW9uIChyZXN1bHQpIHsgcmV0dXJuIGl0ZXJhdG9yLm5leHQocmVzdWx0KTsgfSwgZG9UaHJvdyA9IGZ1bmN0aW9uIChlcnJvcikgeyByZXR1cm4gaXRlcmF0b3IudGhyb3coZXJyb3IpOyB9LCBvblN1Y2Nlc3MgPSBzdGVwKGNhbGxOZXh0KSwgb25FcnJvciA9IHN0ZXAoZG9UaHJvdyk7XG4gICAgZnVuY3Rpb24gc3RlcChnZXROZXh0KSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsKSB7XG4gICAgICAgICAgICB2YXIgbmV4dCA9IGdldE5leHQodmFsKSwgdmFsdWUgPSBuZXh0LnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuZG9uZSA/IHZhbHVlIDpcbiAgICAgICAgICAgICAgICAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZS50aGVuICE9PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICAgICAgICAgICAgaXNBcnJheSh2YWx1ZSkgPyBQcm9taXNlLmFsbCh2YWx1ZSkudGhlbihvblN1Y2Nlc3MsIG9uRXJyb3IpIDogb25TdWNjZXNzKHZhbHVlKSA6XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnRoZW4ob25TdWNjZXNzLCBvbkVycm9yKSk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBzdGVwKGNhbGxOZXh0KSgpO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25BcmdzKG1vZGUsIF90YWJsZUFyZ3NfLCBzY29wZUZ1bmMpIHtcbiAgICB2YXIgaSA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgaWYgKGkgPCAyKVxuICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJUb28gZmV3IGFyZ3VtZW50c1wiKTtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShpIC0gMSk7XG4gICAgd2hpbGUgKC0taSlcbiAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgc2NvcGVGdW5jID0gYXJncy5wb3AoKTtcbiAgICB2YXIgdGFibGVzID0gZmxhdHRlbihhcmdzKTtcbiAgICByZXR1cm4gW21vZGUsIHRhYmxlcywgc2NvcGVGdW5jXTtcbn1cbmZ1bmN0aW9uIGVudGVyVHJhbnNhY3Rpb25TY29wZShkYiwgbW9kZSwgc3RvcmVOYW1lcywgcGFyZW50VHJhbnNhY3Rpb24sIHNjb3BlRnVuYykge1xuICAgIHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdHJhbnNsZXNzID0gUFNELnRyYW5zbGVzcyB8fCBQU0Q7XG4gICAgICAgIHZhciB0cmFucyA9IGRiLl9jcmVhdGVUcmFuc2FjdGlvbihtb2RlLCBzdG9yZU5hbWVzLCBkYi5fZGJTY2hlbWEsIHBhcmVudFRyYW5zYWN0aW9uKTtcbiAgICAgICAgdmFyIHpvbmVQcm9wcyA9IHtcbiAgICAgICAgICAgIHRyYW5zOiB0cmFucyxcbiAgICAgICAgICAgIHRyYW5zbGVzczogdHJhbnNsZXNzXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwYXJlbnRUcmFuc2FjdGlvbikge1xuICAgICAgICAgICAgdHJhbnMuaWRidHJhbnMgPSBwYXJlbnRUcmFuc2FjdGlvbi5pZGJ0cmFucztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRyYW5zLmNyZWF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzY29wZUZ1bmNJc0FzeW5jID0gaXNBc3luY0Z1bmN0aW9uKHNjb3BlRnVuYyk7XG4gICAgICAgIGlmIChzY29wZUZ1bmNJc0FzeW5jKSB7XG4gICAgICAgICAgICBpbmNyZW1lbnRFeHBlY3RlZEF3YWl0cygpO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXR1cm5WYWx1ZTtcbiAgICAgICAgdmFyIHByb21pc2VGb2xsb3dlZCA9IERleGllUHJvbWlzZS5mb2xsb3coZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSBzY29wZUZ1bmMuY2FsbCh0cmFucywgdHJhbnMpO1xuICAgICAgICAgICAgaWYgKHJldHVyblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlRnVuY0lzQXN5bmMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRlY3JlbWVudG9yID0gZGVjcmVtZW50RXhwZWN0ZWRBd2FpdHMuYmluZChudWxsLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuVmFsdWUudGhlbihkZWNyZW1lbnRvciwgZGVjcmVtZW50b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgcmV0dXJuVmFsdWUubmV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcmV0dXJuVmFsdWUudGhyb3cgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSBhd2FpdEl0ZXJhdG9yKHJldHVyblZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHpvbmVQcm9wcyk7XG4gICAgICAgIHJldHVybiAocmV0dXJuVmFsdWUgJiYgdHlwZW9mIHJldHVyblZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUocmV0dXJuVmFsdWUpLnRoZW4oZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHRyYW5zLmFjdGl2ZSA/XG4gICAgICAgICAgICAgICAgeFxuICAgICAgICAgICAgICAgIDogcmVqZWN0aW9uKG5ldyBleGNlcHRpb25zLlByZW1hdHVyZUNvbW1pdChcIlRyYW5zYWN0aW9uIGNvbW1pdHRlZCB0b28gZWFybHkuIFNlZSBodHRwOi8vYml0Lmx5LzJrZGNrTW5cIikpOyB9KVxuICAgICAgICAgICAgOiBwcm9taXNlRm9sbG93ZWQudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiByZXR1cm5WYWx1ZTsgfSkpLnRoZW4oZnVuY3Rpb24gKHgpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnRUcmFuc2FjdGlvbilcbiAgICAgICAgICAgICAgICB0cmFucy5fcmVzb2x2ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zLl9jb21wbGV0aW9uLnRoZW4oZnVuY3Rpb24gKCkgeyByZXR1cm4geDsgfSk7XG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICB0cmFucy5fcmVqZWN0KGUpO1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdGlvbihlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhZChhLCB2YWx1ZSwgY291bnQpIHtcbiAgICB2YXIgcmVzdWx0ID0gaXNBcnJheShhKSA/IGEuc2xpY2UoKSA6IFthXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpXG4gICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gY3JlYXRlVmlydHVhbEluZGV4TWlkZGxld2FyZShkb3duKSB7XG4gICAgcmV0dXJuIF9fYXNzaWduKF9fYXNzaWduKHt9LCBkb3duKSwgeyB0YWJsZTogZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICAgICAgdmFyIHRhYmxlID0gZG93bi50YWJsZSh0YWJsZU5hbWUpO1xuICAgICAgICAgICAgdmFyIHNjaGVtYSA9IHRhYmxlLnNjaGVtYTtcbiAgICAgICAgICAgIHZhciBpbmRleExvb2t1cCA9IHt9O1xuICAgICAgICAgICAgdmFyIGFsbFZpcnR1YWxJbmRleGVzID0gW107XG4gICAgICAgICAgICBmdW5jdGlvbiBhZGRWaXJ0dWFsSW5kZXhlcyhrZXlQYXRoLCBrZXlUYWlsLCBsb3dMZXZlbEluZGV4KSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleVBhdGhBbGlhcyA9IGdldEtleVBhdGhBbGlhcyhrZXlQYXRoKTtcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXhMaXN0ID0gKGluZGV4TG9va3VwW2tleVBhdGhBbGlhc10gPSBpbmRleExvb2t1cFtrZXlQYXRoQWxpYXNdIHx8IFtdKTtcbiAgICAgICAgICAgICAgICB2YXIga2V5TGVuZ3RoID0ga2V5UGF0aCA9PSBudWxsID8gMCA6IHR5cGVvZiBrZXlQYXRoID09PSAnc3RyaW5nJyA/IDEgOiBrZXlQYXRoLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB2YXIgaXNWaXJ0dWFsID0ga2V5VGFpbCA+IDA7XG4gICAgICAgICAgICAgICAgdmFyIHZpcnR1YWxJbmRleCA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBsb3dMZXZlbEluZGV4KSwgeyBpc1ZpcnR1YWw6IGlzVmlydHVhbCwgaXNQcmltYXJ5S2V5OiAhaXNWaXJ0dWFsICYmIGxvd0xldmVsSW5kZXguaXNQcmltYXJ5S2V5LCBrZXlUYWlsOiBrZXlUYWlsLFxuICAgICAgICAgICAgICAgICAgICBrZXlMZW5ndGg6IGtleUxlbmd0aCwgZXh0cmFjdEtleTogZ2V0S2V5RXh0cmFjdG9yKGtleVBhdGgpLCB1bmlxdWU6ICFpc1ZpcnR1YWwgJiYgbG93TGV2ZWxJbmRleC51bmlxdWUgfSk7XG4gICAgICAgICAgICAgICAgaW5kZXhMaXN0LnB1c2godmlydHVhbEluZGV4KTtcbiAgICAgICAgICAgICAgICBpZiAoIXZpcnR1YWxJbmRleC5pc1ByaW1hcnlLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsVmlydHVhbEluZGV4ZXMucHVzaCh2aXJ0dWFsSW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoa2V5TGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdmlydHVhbEtleVBhdGggPSBrZXlMZW5ndGggPT09IDIgP1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5UGF0aFswXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlQYXRoLnNsaWNlKDAsIGtleUxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgICAgICBhZGRWaXJ0dWFsSW5kZXhlcyh2aXJ0dWFsS2V5UGF0aCwga2V5VGFpbCArIDEsIGxvd0xldmVsSW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbmRleExpc3Quc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5rZXlUYWlsIC0gYi5rZXlUYWlsOyB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmlydHVhbEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHByaW1hcnlLZXkgPSBhZGRWaXJ0dWFsSW5kZXhlcyhzY2hlbWEucHJpbWFyeUtleS5rZXlQYXRoLCAwLCBzY2hlbWEucHJpbWFyeUtleSk7XG4gICAgICAgICAgICBpbmRleExvb2t1cFtcIjppZFwiXSA9IFtwcmltYXJ5S2V5XTtcbiAgICAgICAgICAgIGZvciAodmFyIF9pID0gMCwgX2EgPSBzY2hlbWEuaW5kZXhlczsgX2kgPCBfYS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBfYVtfaV07XG4gICAgICAgICAgICAgICAgYWRkVmlydHVhbEluZGV4ZXMoaW5kZXgua2V5UGF0aCwgMCwgaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZnVuY3Rpb24gZmluZEJlc3RJbmRleChrZXlQYXRoKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGluZGV4TG9va3VwW2dldEtleVBhdGhBbGlhcyhrZXlQYXRoKV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiByZXN1bHRbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiB0cmFuc2xhdGVSYW5nZShyYW5nZSwga2V5VGFpbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHJhbmdlLnR5cGUgPT09IDEgICAgICAgICAgICAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICByYW5nZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBsb3dlcjogcGFkKHJhbmdlLmxvd2VyLCByYW5nZS5sb3dlck9wZW4gPyBkb3duLk1BWF9LRVkgOiBkb3duLk1JTl9LRVksIGtleVRhaWwpLFxuICAgICAgICAgICAgICAgICAgICBsb3dlck9wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHVwcGVyOiBwYWQocmFuZ2UudXBwZXIsIHJhbmdlLnVwcGVyT3BlbiA/IGRvd24uTUlOX0tFWSA6IGRvd24uTUFYX0tFWSwga2V5VGFpbCksXG4gICAgICAgICAgICAgICAgICAgIHVwcGVyT3BlbjogdHJ1ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiB0cmFuc2xhdGVSZXF1ZXN0KHJlcSkge1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHJlcS5xdWVyeS5pbmRleDtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXguaXNWaXJ0dWFsID8gX19hc3NpZ24oX19hc3NpZ24oe30sIHJlcSksIHsgcXVlcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlOiB0cmFuc2xhdGVSYW5nZShyZXEucXVlcnkucmFuZ2UsIGluZGV4LmtleVRhaWwpXG4gICAgICAgICAgICAgICAgICAgIH0gfSkgOiByZXE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gX19hc3NpZ24oX19hc3NpZ24oe30sIHRhYmxlKSwgeyBzY2hlbWE6IF9fYXNzaWduKF9fYXNzaWduKHt9LCBzY2hlbWEpLCB7IHByaW1hcnlLZXk6IHByaW1hcnlLZXksIGluZGV4ZXM6IGFsbFZpcnR1YWxJbmRleGVzLCBnZXRJbmRleEJ5S2V5UGF0aDogZmluZEJlc3RJbmRleCB9KSwgY291bnQ6IGZ1bmN0aW9uIChyZXEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlLmNvdW50KHRyYW5zbGF0ZVJlcXVlc3QocmVxKSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBxdWVyeTogZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFibGUucXVlcnkodHJhbnNsYXRlUmVxdWVzdChyZXEpKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wZW5DdXJzb3I6IGZ1bmN0aW9uIChyZXEpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hID0gcmVxLnF1ZXJ5LmluZGV4LCBrZXlUYWlsID0gX2Eua2V5VGFpbCwgaXNWaXJ0dWFsID0gX2EuaXNWaXJ0dWFsLCBrZXlMZW5ndGggPSBfYS5rZXlMZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWaXJ0dWFsKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlLm9wZW5DdXJzb3IocmVxKTtcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlVmlydHVhbEN1cnNvcihjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIF9jb250aW51ZShrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgIT0gbnVsbCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZShwYWQoa2V5LCByZXEucmV2ZXJzZSA/IGRvd24uTUFYX0tFWSA6IGRvd24uTUlOX0tFWSwga2V5VGFpbCkpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLnVuaXF1ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3IuY29udGludWUocGFkKGN1cnNvci5rZXksIHJlcS5yZXZlcnNlID8gZG93bi5NSU5fS0VZIDogZG93bi5NQVhfS0VZLCBrZXlUYWlsKSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmlydHVhbEN1cnNvciA9IE9iamVjdC5jcmVhdGUoY3Vyc29yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU6IHsgdmFsdWU6IF9jb250aW51ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlUHJpbWFyeUtleToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKGtleSwgcHJpbWFyeUtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlUHJpbWFyeUtleShwYWQoa2V5LCBkb3duLk1BWF9LRVksIGtleVRhaWwpLCBwcmltYXJ5S2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleSA9IGN1cnNvci5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5TGVuZ3RoID09PSAxID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlbMF0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5zbGljZSgwLCBrZXlMZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3IudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXJ0dWFsQ3Vyc29yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YWJsZS5vcGVuQ3Vyc29yKHRyYW5zbGF0ZVJlcXVlc3QocmVxKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChjdXJzb3IpIHsgcmV0dXJuIGN1cnNvciAmJiBjcmVhdGVWaXJ0dWFsQ3Vyc29yKGN1cnNvcik7IH0pO1xuICAgICAgICAgICAgICAgIH0gfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IH0pO1xufVxudmFyIHZpcnR1YWxJbmRleE1pZGRsZXdhcmUgPSB7XG4gICAgc3RhY2s6IFwiZGJjb3JlXCIsXG4gICAgbmFtZTogXCJWaXJ0dWFsSW5kZXhNaWRkbGV3YXJlXCIsXG4gICAgbGV2ZWw6IDEsXG4gICAgY3JlYXRlOiBjcmVhdGVWaXJ0dWFsSW5kZXhNaWRkbGV3YXJlXG59O1xuXG52YXIgaG9va3NNaWRkbGV3YXJlID0ge1xuICAgIHN0YWNrOiBcImRiY29yZVwiLFxuICAgIG5hbWU6IFwiSG9va3NNaWRkbGV3YXJlXCIsXG4gICAgbGV2ZWw6IDIsXG4gICAgY3JlYXRlOiBmdW5jdGlvbiAoZG93bkNvcmUpIHsgcmV0dXJuIChfX2Fzc2lnbihfX2Fzc2lnbih7fSwgZG93bkNvcmUpLCB7IHRhYmxlOiBmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgICAgICB2YXIgZG93blRhYmxlID0gZG93bkNvcmUudGFibGUodGFibGVOYW1lKTtcbiAgICAgICAgICAgIHZhciBwcmltYXJ5S2V5ID0gZG93blRhYmxlLnNjaGVtYS5wcmltYXJ5S2V5O1xuICAgICAgICAgICAgdmFyIHRhYmxlTWlkZGxld2FyZSA9IF9fYXNzaWduKF9fYXNzaWduKHt9LCBkb3duVGFibGUpLCB7IG11dGF0ZTogZnVuY3Rpb24gKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZHhUcmFucyA9IFBTRC50cmFucztcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hID0gZHhUcmFucy50YWJsZSh0YWJsZU5hbWUpLmhvb2ssIGRlbGV0aW5nID0gX2EuZGVsZXRpbmcsIGNyZWF0aW5nID0gX2EuY3JlYXRpbmcsIHVwZGF0aW5nID0gX2EudXBkYXRpbmc7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocmVxLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNyZWF0aW5nLmZpcmUgPT09IG5vcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGR4VHJhbnMuX3Byb21pc2UoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFkZFB1dE9yRGVsZXRlKHJlcSk7IH0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncHV0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3JlYXRpbmcuZmlyZSA9PT0gbm9wICYmIHVwZGF0aW5nLmZpcmUgPT09IG5vcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGR4VHJhbnMuX3Byb21pc2UoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFkZFB1dE9yRGVsZXRlKHJlcSk7IH0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRpbmcuZmlyZSA9PT0gbm9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHhUcmFucy5fcHJvbWlzZSgncmVhZHdyaXRlJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gYWRkUHV0T3JEZWxldGUocmVxKTsgfSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdkZWxldGVSYW5nZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbGV0aW5nLmZpcmUgPT09IG5vcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGR4VHJhbnMuX3Byb21pc2UoJ3JlYWR3cml0ZScsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGRlbGV0ZVJhbmdlKHJlcSk7IH0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkb3duVGFibGUubXV0YXRlKHJlcSk7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFkZFB1dE9yRGVsZXRlKHJlcSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGR4VHJhbnMgPSBQU0QudHJhbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5cyQkMSA9IHJlcS5rZXlzIHx8IGdldEVmZmVjdGl2ZUtleXMocHJpbWFyeUtleSwgcmVxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgha2V5cyQkMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJLZXlzIG1pc3NpbmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXEgPSByZXEudHlwZSA9PT0gJ2FkZCcgfHwgcmVxLnR5cGUgPT09ICdwdXQnID8gX19hc3NpZ24oX19hc3NpZ24oe30sIHJlcSksIHsga2V5czoga2V5cyQkMSwgd2FudFJlc3VsdHM6IHRydWUgfSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIF9fYXNzaWduKHt9LCByZXEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS50eXBlICE9PSAnZGVsZXRlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEudmFsdWVzID0gX19zcHJlYWRBcnJheXMocmVxLnZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVxLmtleXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLmtleXMgPSBfX3NwcmVhZEFycmF5cyhyZXEua2V5cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0RXhpc3RpbmdWYWx1ZXMoZG93blRhYmxlLCByZXEsIGtleXMkJDEpLnRoZW4oZnVuY3Rpb24gKGV4aXN0aW5nVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbnRleHRzID0ga2V5cyQkMS5tYXAoZnVuY3Rpb24gKGtleSwgaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdWYWx1ZSA9IGV4aXN0aW5nVmFsdWVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3R4ID0geyBvbmVycm9yOiBudWxsLCBvbnN1Y2Nlc3M6IG51bGwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS50eXBlID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRpbmcuZmlyZS5jYWxsKGN0eCwga2V5LCBleGlzdGluZ1ZhbHVlLCBkeFRyYW5zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXEudHlwZSA9PT0gJ2FkZCcgfHwgZXhpc3RpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ2VuZXJhdGVkUHJpbWFyeUtleSA9IGNyZWF0aW5nLmZpcmUuY2FsbChjdHgsIGtleSwgcmVxLnZhbHVlc1tpXSwgZHhUcmFucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09IG51bGwgJiYgZ2VuZXJhdGVkUHJpbWFyeUtleSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gZ2VuZXJhdGVkUHJpbWFyeUtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEua2V5c1tpXSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByaW1hcnlLZXkub3V0Ym91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QnlLZXlQYXRoKHJlcS52YWx1ZXNbaV0sIHByaW1hcnlLZXkua2V5UGF0aCwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2JqZWN0RGlmZiA9IGdldE9iamVjdERpZmYoZXhpc3RpbmdWYWx1ZSwgcmVxLnZhbHVlc1tpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYWRkaXRpb25hbENoYW5nZXNfMSA9IHVwZGF0aW5nLmZpcmUuY2FsbChjdHgsIG9iamVjdERpZmYsIGtleSwgZXhpc3RpbmdWYWx1ZSwgZHhUcmFucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWRkaXRpb25hbENoYW5nZXNfMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXF1ZXN0ZWRWYWx1ZV8xID0gcmVxLnZhbHVlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhhZGRpdGlvbmFsQ2hhbmdlc18xKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXlQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNPd24ocmVxdWVzdGVkVmFsdWVfMSwga2V5UGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFZhbHVlXzFba2V5UGF0aF0gPSBhZGRpdGlvbmFsQ2hhbmdlc18xW2tleVBhdGhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QnlLZXlQYXRoKHJlcXVlc3RlZFZhbHVlXzEsIGtleVBhdGgsIGFkZGl0aW9uYWxDaGFuZ2VzXzFba2V5UGF0aF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN0eDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG93blRhYmxlLm11dGF0ZShyZXEpLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmYWlsdXJlcyA9IF9hLmZhaWx1cmVzLCByZXN1bHRzID0gX2EucmVzdWx0cywgbnVtRmFpbHVyZXMgPSBfYS5udW1GYWlsdXJlcywgbGFzdFJlc3VsdCA9IF9hLmxhc3RSZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cyQkMS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByaW1LZXkgPSByZXN1bHRzID8gcmVzdWx0c1tpXSA6IGtleXMkJDFbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3R4ID0gY29udGV4dHNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJpbUtleSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4Lm9uZXJyb3IgJiYgY3R4Lm9uZXJyb3IoZmFpbHVyZXNbaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4Lm9uc3VjY2VzcyAmJiBjdHgub25zdWNjZXNzKHJlcS50eXBlID09PSAncHV0JyAmJiBleGlzdGluZ1ZhbHVlc1tpXSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS52YWx1ZXNbaV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltS2V5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBmYWlsdXJlczogZmFpbHVyZXMsIHJlc3VsdHM6IHJlc3VsdHMsIG51bUZhaWx1cmVzOiBudW1GYWlsdXJlcywgbGFzdFJlc3VsdDogbGFzdFJlc3VsdCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0cy5mb3JFYWNoKGZ1bmN0aW9uIChjdHgpIHsgcmV0dXJuIGN0eC5vbmVycm9yICYmIGN0eC5vbmVycm9yKGVycm9yKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVSYW5nZShyZXEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWxldGVOZXh0Q2h1bmsocmVxLnRyYW5zLCByZXEucmFuZ2UsIDEwMDAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVOZXh0Q2h1bmsodHJhbnMsIHJhbmdlLCBsaW1pdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvd25UYWJsZS5xdWVyeSh7IHRyYW5zOiB0cmFucywgdmFsdWVzOiBmYWxzZSwgcXVlcnk6IHsgaW5kZXg6IHByaW1hcnlLZXksIHJhbmdlOiByYW5nZSB9LCBsaW1pdDogbGltaXQgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gX2EucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGRQdXRPckRlbGV0ZSh7IHR5cGU6ICdkZWxldGUnLCBrZXlzOiByZXN1bHQsIHRyYW5zOiB0cmFucyB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5udW1GYWlsdXJlcyA+IDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QocmVzLmZhaWx1cmVzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPCBsaW1pdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgZmFpbHVyZXM6IFtdLCBudW1GYWlsdXJlczogMCwgbGFzdFJlc3VsdDogdW5kZWZpbmVkIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlTmV4dENodW5rKHRyYW5zLCBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgcmFuZ2UpLCB7IGxvd2VyOiByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdLCBsb3dlck9wZW46IHRydWUgfSksIGxpbWl0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRhYmxlTWlkZGxld2FyZTtcbiAgICAgICAgfSB9KSk7IH1cbn07XG5cbnZhciBEZXhpZSA9ICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEZXhpZShuYW1lLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHRoaXMuX21pZGRsZXdhcmVzID0ge307XG4gICAgICAgIHRoaXMudmVybm8gPSAwO1xuICAgICAgICB2YXIgZGVwcyA9IERleGllLmRlcGVuZGVuY2llcztcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnMgPSBfX2Fzc2lnbih7XG4gICAgICAgICAgICBhZGRvbnM6IERleGllLmFkZG9ucywgYXV0b09wZW46IHRydWUsXG4gICAgICAgICAgICBpbmRleGVkREI6IGRlcHMuaW5kZXhlZERCLCBJREJLZXlSYW5nZTogZGVwcy5JREJLZXlSYW5nZSB9LCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5fZGVwcyA9IHtcbiAgICAgICAgICAgIGluZGV4ZWREQjogb3B0aW9ucy5pbmRleGVkREIsXG4gICAgICAgICAgICBJREJLZXlSYW5nZTogb3B0aW9ucy5JREJLZXlSYW5nZVxuICAgICAgICB9O1xuICAgICAgICB2YXIgYWRkb25zID0gb3B0aW9ucy5hZGRvbnM7XG4gICAgICAgIHRoaXMuX2RiU2NoZW1hID0ge307XG4gICAgICAgIHRoaXMuX3ZlcnNpb25zID0gW107XG4gICAgICAgIHRoaXMuX3N0b3JlTmFtZXMgPSBbXTtcbiAgICAgICAgdGhpcy5fYWxsVGFibGVzID0ge307XG4gICAgICAgIHRoaXMuaWRiZGIgPSBudWxsO1xuICAgICAgICB2YXIgc3RhdGUgPSB7XG4gICAgICAgICAgICBkYk9wZW5FcnJvcjogbnVsbCxcbiAgICAgICAgICAgIGlzQmVpbmdPcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgb25SZWFkeUJlaW5nRmlyZWQ6IG51bGwsXG4gICAgICAgICAgICBvcGVuQ29tcGxldGU6IGZhbHNlLFxuICAgICAgICAgICAgZGJSZWFkeVJlc29sdmU6IG5vcCxcbiAgICAgICAgICAgIGRiUmVhZHlQcm9taXNlOiBudWxsLFxuICAgICAgICAgICAgY2FuY2VsT3Blbjogbm9wLFxuICAgICAgICAgICAgb3BlbkNhbmNlbGxlcjogbnVsbCxcbiAgICAgICAgICAgIGF1dG9TY2hlbWE6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgc3RhdGUuZGJSZWFkeVByb21pc2UgPSBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICBzdGF0ZS5kYlJlYWR5UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0ZS5vcGVuQ2FuY2VsbGVyID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAoXywgcmVqZWN0KSB7XG4gICAgICAgICAgICBzdGF0ZS5jYW5jZWxPcGVuID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5vbiA9IEV2ZW50cyh0aGlzLCBcInBvcHVsYXRlXCIsIFwiYmxvY2tlZFwiLCBcInZlcnNpb25jaGFuZ2VcIiwgeyByZWFkeTogW3Byb21pc2FibGVDaGFpbiwgbm9wXSB9KTtcbiAgICAgICAgdGhpcy5vbi5yZWFkeS5zdWJzY3JpYmUgPSBvdmVycmlkZSh0aGlzLm9uLnJlYWR5LnN1YnNjcmliZSwgZnVuY3Rpb24gKHN1YnNjcmliZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChzdWJzY3JpYmVyLCBiU3RpY2t5KSB7XG4gICAgICAgICAgICAgICAgRGV4aWUudmlwKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXRlID0gX3RoaXMuX3N0YXRlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUub3BlbkNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlLmRiT3BlbkVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIERleGllUHJvbWlzZS5yZXNvbHZlKCkudGhlbihzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiU3RpY2t5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChzdGF0ZS5vblJlYWR5QmVpbmdGaXJlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUub25SZWFkeUJlaW5nRmlyZWQucHVzaChzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiU3RpY2t5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYl8xID0gX3RoaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJTdGlja3kpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlKGZ1bmN0aW9uIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl8xLm9uLnJlYWR5LnVuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl8xLm9uLnJlYWR5LnVuc3Vic2NyaWJlKHVuc3Vic2NyaWJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuQ29sbGVjdGlvbiA9IGNyZWF0ZUNvbGxlY3Rpb25Db25zdHJ1Y3Rvcih0aGlzKTtcbiAgICAgICAgdGhpcy5UYWJsZSA9IGNyZWF0ZVRhYmxlQ29uc3RydWN0b3IodGhpcyk7XG4gICAgICAgIHRoaXMuVHJhbnNhY3Rpb24gPSBjcmVhdGVUcmFuc2FjdGlvbkNvbnN0cnVjdG9yKHRoaXMpO1xuICAgICAgICB0aGlzLlZlcnNpb24gPSBjcmVhdGVWZXJzaW9uQ29uc3RydWN0b3IodGhpcyk7XG4gICAgICAgIHRoaXMuV2hlcmVDbGF1c2UgPSBjcmVhdGVXaGVyZUNsYXVzZUNvbnN0cnVjdG9yKHRoaXMpO1xuICAgICAgICB0aGlzLm9uKFwidmVyc2lvbmNoYW5nZVwiLCBmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgIGlmIChldi5uZXdWZXJzaW9uID4gMClcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBbm90aGVyIGNvbm5lY3Rpb24gd2FudHMgdG8gdXBncmFkZSBkYXRhYmFzZSAnXCIgKyBfdGhpcy5uYW1lICsgXCInLiBDbG9zaW5nIGRiIG5vdyB0byByZXN1bWUgdGhlIHVwZ3JhZGUuXCIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFub3RoZXIgY29ubmVjdGlvbiB3YW50cyB0byBkZWxldGUgZGF0YWJhc2UgJ1wiICsgX3RoaXMubmFtZSArIFwiJy4gQ2xvc2luZyBkYiBub3cgdG8gcmVzdW1lIHRoZSBkZWxldGUgcmVxdWVzdC5cIik7XG4gICAgICAgICAgICBfdGhpcy5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbihcImJsb2NrZWRcIiwgZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICBpZiAoIWV2Lm5ld1ZlcnNpb24gfHwgZXYubmV3VmVyc2lvbiA8IGV2Lm9sZFZlcnNpb24pXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiRGV4aWUuZGVsZXRlKCdcIiArIF90aGlzLm5hbWUgKyBcIicpIHdhcyBibG9ja2VkXCIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVwZ3JhZGUgJ1wiICsgX3RoaXMubmFtZSArIFwiJyBibG9ja2VkIGJ5IG90aGVyIGNvbm5lY3Rpb24gaG9sZGluZyB2ZXJzaW9uIFwiICsgZXYub2xkVmVyc2lvbiAvIDEwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX21heEtleSA9IGdldE1heEtleShvcHRpb25zLklEQktleVJhbmdlKTtcbiAgICAgICAgdGhpcy5fY3JlYXRlVHJhbnNhY3Rpb24gPSBmdW5jdGlvbiAobW9kZSwgc3RvcmVOYW1lcywgZGJzY2hlbWEsIHBhcmVudFRyYW5zYWN0aW9uKSB7IHJldHVybiBuZXcgX3RoaXMuVHJhbnNhY3Rpb24obW9kZSwgc3RvcmVOYW1lcywgZGJzY2hlbWEsIHBhcmVudFRyYW5zYWN0aW9uKTsgfTtcbiAgICAgICAgdGhpcy5fZmlyZU9uQmxvY2tlZCA9IGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgX3RoaXMub24oXCJibG9ja2VkXCIpLmZpcmUoZXYpO1xuICAgICAgICAgICAgY29ubmVjdGlvbnNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLm5hbWUgPT09IF90aGlzLm5hbWUgJiYgYyAhPT0gX3RoaXMgJiYgIWMuX3N0YXRlLnZjRmlyZWQ7IH0pXG4gICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoYykgeyByZXR1cm4gYy5vbihcInZlcnNpb25jaGFuZ2VcIikuZmlyZShldik7IH0pO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVzZSh2aXJ0dWFsSW5kZXhNaWRkbGV3YXJlKTtcbiAgICAgICAgdGhpcy51c2UoaG9va3NNaWRkbGV3YXJlKTtcbiAgICAgICAgYWRkb25zLmZvckVhY2goZnVuY3Rpb24gKGFkZG9uKSB7IHJldHVybiBhZGRvbihfdGhpcyk7IH0pO1xuICAgIH1cbiAgICBEZXhpZS5wcm90b3R5cGUudmVyc2lvbiA9IGZ1bmN0aW9uICh2ZXJzaW9uTnVtYmVyKSB7XG4gICAgICAgIGlmIChpc05hTih2ZXJzaW9uTnVtYmVyKSB8fCB2ZXJzaW9uTnVtYmVyIDwgMC4xKVxuICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuVHlwZShcIkdpdmVuIHZlcnNpb24gaXMgbm90IGEgcG9zaXRpdmUgbnVtYmVyXCIpO1xuICAgICAgICB2ZXJzaW9uTnVtYmVyID0gTWF0aC5yb3VuZCh2ZXJzaW9uTnVtYmVyICogMTApIC8gMTA7XG4gICAgICAgIGlmICh0aGlzLmlkYmRiIHx8IHRoaXMuX3N0YXRlLmlzQmVpbmdPcGVuZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5TY2hlbWEoXCJDYW5ub3QgYWRkIHZlcnNpb24gd2hlbiBkYXRhYmFzZSBpcyBvcGVuXCIpO1xuICAgICAgICB0aGlzLnZlcm5vID0gTWF0aC5tYXgodGhpcy52ZXJubywgdmVyc2lvbk51bWJlcik7XG4gICAgICAgIHZhciB2ZXJzaW9ucyA9IHRoaXMuX3ZlcnNpb25zO1xuICAgICAgICB2YXIgdmVyc2lvbkluc3RhbmNlID0gdmVyc2lvbnMuZmlsdGVyKGZ1bmN0aW9uICh2KSB7IHJldHVybiB2Ll9jZmcudmVyc2lvbiA9PT0gdmVyc2lvbk51bWJlcjsgfSlbMF07XG4gICAgICAgIGlmICh2ZXJzaW9uSW5zdGFuY2UpXG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbkluc3RhbmNlO1xuICAgICAgICB2ZXJzaW9uSW5zdGFuY2UgPSBuZXcgdGhpcy5WZXJzaW9uKHZlcnNpb25OdW1iZXIpO1xuICAgICAgICB2ZXJzaW9ucy5wdXNoKHZlcnNpb25JbnN0YW5jZSk7XG4gICAgICAgIHZlcnNpb25zLnNvcnQobG93ZXJWZXJzaW9uRmlyc3QpO1xuICAgICAgICB2ZXJzaW9uSW5zdGFuY2Uuc3RvcmVzKHt9KTtcbiAgICAgICAgdGhpcy5fc3RhdGUuYXV0b1NjaGVtYSA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gdmVyc2lvbkluc3RhbmNlO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLl93aGVuUmVhZHkgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlLm9wZW5Db21wbGV0ZSB8fCBQU0QubGV0VGhyb3VnaCA/IGZuKCkgOiBuZXcgRGV4aWVQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIGlmICghX3RoaXMuX3N0YXRlLmlzQmVpbmdPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIV90aGlzLl9vcHRpb25zLmF1dG9PcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChuZXcgZXhjZXB0aW9ucy5EYXRhYmFzZUNsb3NlZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBfdGhpcy5vcGVuKCkuY2F0Y2gobm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF90aGlzLl9zdGF0ZS5kYlJlYWR5UHJvbWlzZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgIH0pLnRoZW4oZm4pO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLnVzZSA9IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICB2YXIgc3RhY2sgPSBfYS5zdGFjaywgY3JlYXRlID0gX2EuY3JlYXRlLCBsZXZlbCA9IF9hLmxldmVsLCBuYW1lID0gX2EubmFtZTtcbiAgICAgICAgaWYgKG5hbWUpXG4gICAgICAgICAgICB0aGlzLnVudXNlKHsgc3RhY2s6IHN0YWNrLCBuYW1lOiBuYW1lIH0pO1xuICAgICAgICB2YXIgbWlkZGxld2FyZXMgPSB0aGlzLl9taWRkbGV3YXJlc1tzdGFja10gfHwgKHRoaXMuX21pZGRsZXdhcmVzW3N0YWNrXSA9IFtdKTtcbiAgICAgICAgbWlkZGxld2FyZXMucHVzaCh7IHN0YWNrOiBzdGFjaywgY3JlYXRlOiBjcmVhdGUsIGxldmVsOiBsZXZlbCA9PSBudWxsID8gMTAgOiBsZXZlbCwgbmFtZTogbmFtZSB9KTtcbiAgICAgICAgbWlkZGxld2FyZXMuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5sZXZlbCAtIGIubGV2ZWw7IH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS51bnVzZSA9IGZ1bmN0aW9uIChfYSkge1xuICAgICAgICB2YXIgc3RhY2sgPSBfYS5zdGFjaywgbmFtZSA9IF9hLm5hbWUsIGNyZWF0ZSA9IF9hLmNyZWF0ZTtcbiAgICAgICAgaWYgKHN0YWNrICYmIHRoaXMuX21pZGRsZXdhcmVzW3N0YWNrXSkge1xuICAgICAgICAgICAgdGhpcy5fbWlkZGxld2FyZXNbc3RhY2tdID0gdGhpcy5fbWlkZGxld2FyZXNbc3RhY2tdLmZpbHRlcihmdW5jdGlvbiAobXcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlID8gbXcuY3JlYXRlICE9PSBjcmVhdGUgOlxuICAgICAgICAgICAgICAgICAgICBuYW1lID8gbXcubmFtZSAhPT0gbmFtZSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBkZXhpZU9wZW4odGhpcyk7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpZHggPSBjb25uZWN0aW9ucy5pbmRleE9mKHRoaXMpLCBzdGF0ZSA9IHRoaXMuX3N0YXRlO1xuICAgICAgICBpZiAoaWR4ID49IDApXG4gICAgICAgICAgICBjb25uZWN0aW9ucy5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgaWYgKHRoaXMuaWRiZGIpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pZGJkYi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICAgICAgdGhpcy5pZGJkYiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb3B0aW9ucy5hdXRvT3BlbiA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5kYk9wZW5FcnJvciA9IG5ldyBleGNlcHRpb25zLkRhdGFiYXNlQ2xvc2VkKCk7XG4gICAgICAgIGlmIChzdGF0ZS5pc0JlaW5nT3BlbmVkKVxuICAgICAgICAgICAgc3RhdGUuY2FuY2VsT3BlbihzdGF0ZS5kYk9wZW5FcnJvcik7XG4gICAgICAgIHN0YXRlLmRiUmVhZHlQcm9taXNlID0gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgc3RhdGUuZGJSZWFkeVJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgICB9KTtcbiAgICAgICAgc3RhdGUub3BlbkNhbmNlbGxlciA9IG5ldyBEZXhpZVByb21pc2UoZnVuY3Rpb24gKF8sIHJlamVjdCkge1xuICAgICAgICAgICAgc3RhdGUuY2FuY2VsT3BlbiA9IHJlamVjdDtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuZGVsZXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgaGFzQXJndW1lbnRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDA7XG4gICAgICAgIHZhciBzdGF0ZSA9IHRoaXMuX3N0YXRlO1xuICAgICAgICByZXR1cm4gbmV3IERleGllUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICB2YXIgZG9EZWxldGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB2YXIgcmVxID0gX3RoaXMuX2RlcHMuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKF90aGlzLm5hbWUpO1xuICAgICAgICAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSB3cmFwKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VFbnVtZXJhdG9yLnJlbW92ZShfdGhpcy5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJlcS5vbmVycm9yID0gZXZlbnRSZWplY3RIYW5kbGVyKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IF90aGlzLl9maXJlT25CbG9ja2VkO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChoYXNBcmd1bWVudHMpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZEFyZ3VtZW50KFwiQXJndW1lbnRzIG5vdCBhbGxvd2VkIGluIGRiLmRlbGV0ZSgpXCIpO1xuICAgICAgICAgICAgaWYgKHN0YXRlLmlzQmVpbmdPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5kYlJlYWR5UHJvbWlzZS50aGVuKGRvRGVsZXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGRvRGVsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLmJhY2tlbmREQiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWRiZGI7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUuaXNPcGVuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pZGJkYiAhPT0gbnVsbDtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5oYXNCZWVuQ2xvc2VkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZGJPcGVuRXJyb3IgPSB0aGlzLl9zdGF0ZS5kYk9wZW5FcnJvcjtcbiAgICAgICAgcmV0dXJuIGRiT3BlbkVycm9yICYmIChkYk9wZW5FcnJvci5uYW1lID09PSAnRGF0YWJhc2VDbG9zZWQnKTtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5oYXNGYWlsZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZS5kYk9wZW5FcnJvciAhPT0gbnVsbDtcbiAgICB9O1xuICAgIERleGllLnByb3RvdHlwZS5keW5hbWljYWxseU9wZW5lZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlLmF1dG9TY2hlbWE7XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGV4aWUucHJvdG90eXBlLCBcInRhYmxlc1wiLCB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBrZXlzKHRoaXMuX2FsbFRhYmxlcykubWFwKGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBfdGhpcy5fYWxsVGFibGVzW25hbWVdOyB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgRGV4aWUucHJvdG90eXBlLnRyYW5zYWN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgYXJncyA9IGV4dHJhY3RUcmFuc2FjdGlvbkFyZ3MuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gICAgRGV4aWUucHJvdG90eXBlLl90cmFuc2FjdGlvbiA9IGZ1bmN0aW9uIChtb2RlLCB0YWJsZXMsIHNjb3BlRnVuYykge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgcGFyZW50VHJhbnNhY3Rpb24gPSBQU0QudHJhbnM7XG4gICAgICAgIGlmICghcGFyZW50VHJhbnNhY3Rpb24gfHwgcGFyZW50VHJhbnNhY3Rpb24uZGIgIT09IHRoaXMgfHwgbW9kZS5pbmRleE9mKCchJykgIT09IC0xKVxuICAgICAgICAgICAgcGFyZW50VHJhbnNhY3Rpb24gPSBudWxsO1xuICAgICAgICB2YXIgb25seUlmQ29tcGF0aWJsZSA9IG1vZGUuaW5kZXhPZignPycpICE9PSAtMTtcbiAgICAgICAgbW9kZSA9IG1vZGUucmVwbGFjZSgnIScsICcnKS5yZXBsYWNlKCc/JywgJycpO1xuICAgICAgICB2YXIgaWRiTW9kZSwgc3RvcmVOYW1lcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0b3JlTmFtZXMgPSB0YWJsZXMubWFwKGZ1bmN0aW9uICh0YWJsZSkge1xuICAgICAgICAgICAgICAgIHZhciBzdG9yZU5hbWUgPSB0YWJsZSBpbnN0YW5jZW9mIF90aGlzLlRhYmxlID8gdGFibGUubmFtZSA6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RvcmVOYW1lICE9PSAnc3RyaW5nJylcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgdGFibGUgYXJndW1lbnQgdG8gRGV4aWUudHJhbnNhY3Rpb24oKS4gT25seSBUYWJsZSBvciBTdHJpbmcgYXJlIGFsbG93ZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0b3JlTmFtZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKG1vZGUgPT0gXCJyXCIgfHwgbW9kZSA9PT0gUkVBRE9OTFkpXG4gICAgICAgICAgICAgICAgaWRiTW9kZSA9IFJFQURPTkxZO1xuICAgICAgICAgICAgZWxzZSBpZiAobW9kZSA9PSBcInJ3XCIgfHwgbW9kZSA9PSBSRUFEV1JJVEUpXG4gICAgICAgICAgICAgICAgaWRiTW9kZSA9IFJFQURXUklURTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkQXJndW1lbnQoXCJJbnZhbGlkIHRyYW5zYWN0aW9uIG1vZGU6IFwiICsgbW9kZSk7XG4gICAgICAgICAgICBpZiAocGFyZW50VHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50VHJhbnNhY3Rpb24ubW9kZSA9PT0gUkVBRE9OTFkgJiYgaWRiTW9kZSA9PT0gUkVBRFdSSVRFKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvbmx5SWZDb21wYXRpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRUcmFuc2FjdGlvbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuU3ViVHJhbnNhY3Rpb24oXCJDYW5ub3QgZW50ZXIgYSBzdWItdHJhbnNhY3Rpb24gd2l0aCBSRUFEV1JJVEUgbW9kZSB3aGVuIHBhcmVudCB0cmFuc2FjdGlvbiBpcyBSRUFET05MWVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudFRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAoc3RvcmVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50VHJhbnNhY3Rpb24gJiYgcGFyZW50VHJhbnNhY3Rpb24uc3RvcmVOYW1lcy5pbmRleE9mKHN0b3JlTmFtZSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9ubHlJZkNvbXBhdGlibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50VHJhbnNhY3Rpb24gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLlN1YlRyYW5zYWN0aW9uKFwiVGFibGUgXCIgKyBzdG9yZU5hbWUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgbm90IGluY2x1ZGVkIGluIHBhcmVudCB0cmFuc2FjdGlvbi5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob25seUlmQ29tcGF0aWJsZSAmJiBwYXJlbnRUcmFuc2FjdGlvbiAmJiAhcGFyZW50VHJhbnNhY3Rpb24uYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFRyYW5zYWN0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRUcmFuc2FjdGlvbiA/XG4gICAgICAgICAgICAgICAgcGFyZW50VHJhbnNhY3Rpb24uX3Byb21pc2UobnVsbCwgZnVuY3Rpb24gKF8sIHJlamVjdCkgeyByZWplY3QoZSk7IH0pIDpcbiAgICAgICAgICAgICAgICByZWplY3Rpb24oZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVudGVyVHJhbnNhY3Rpb24gPSBlbnRlclRyYW5zYWN0aW9uU2NvcGUuYmluZChudWxsLCB0aGlzLCBpZGJNb2RlLCBzdG9yZU5hbWVzLCBwYXJlbnRUcmFuc2FjdGlvbiwgc2NvcGVGdW5jKTtcbiAgICAgICAgcmV0dXJuIChwYXJlbnRUcmFuc2FjdGlvbiA/XG4gICAgICAgICAgICBwYXJlbnRUcmFuc2FjdGlvbi5fcHJvbWlzZShpZGJNb2RlLCBlbnRlclRyYW5zYWN0aW9uLCBcImxvY2tcIikgOlxuICAgICAgICAgICAgUFNELnRyYW5zID9cbiAgICAgICAgICAgICAgICB1c2VQU0QoUFNELnRyYW5zbGVzcywgZnVuY3Rpb24gKCkgeyByZXR1cm4gX3RoaXMuX3doZW5SZWFkeShlbnRlclRyYW5zYWN0aW9uKTsgfSkgOlxuICAgICAgICAgICAgICAgIHRoaXMuX3doZW5SZWFkeShlbnRlclRyYW5zYWN0aW9uKSk7XG4gICAgfTtcbiAgICBEZXhpZS5wcm90b3R5cGUudGFibGUgPSBmdW5jdGlvbiAodGFibGVOYW1lKSB7XG4gICAgICAgIGlmICghaGFzT3duKHRoaXMuX2FsbFRhYmxlcywgdGFibGVOYW1lKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZFRhYmxlKFwiVGFibGUgXCIgKyB0YWJsZU5hbWUgKyBcIiBkb2VzIG5vdCBleGlzdFwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fYWxsVGFibGVzW3RhYmxlTmFtZV07XG4gICAgfTtcbiAgICByZXR1cm4gRGV4aWU7XG59KCkpO1xuXG52YXIgRGV4aWUkMSA9IERleGllO1xucHJvcHMoRGV4aWUkMSwgX19hc3NpZ24oX19hc3NpZ24oe30sIGZ1bGxOYW1lRXhjZXB0aW9ucyksIHtcbiAgICBkZWxldGU6IGZ1bmN0aW9uIChkYXRhYmFzZU5hbWUpIHtcbiAgICAgICAgdmFyIGRiID0gbmV3IERleGllJDEoZGF0YWJhc2VOYW1lKTtcbiAgICAgICAgcmV0dXJuIGRiLmRlbGV0ZSgpO1xuICAgIH0sXG4gICAgZXhpc3RzOiBmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICByZXR1cm4gbmV3IERleGllJDEobmFtZSwgeyBhZGRvbnM6IFtdIH0pLm9wZW4oKS50aGVuKGZ1bmN0aW9uIChkYikge1xuICAgICAgICAgICAgZGIuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KS5jYXRjaCgnTm9TdWNoRGF0YWJhc2VFcnJvcicsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIGZhbHNlOyB9KTtcbiAgICB9LFxuICAgIGdldERhdGFiYXNlTmFtZXM6IGZ1bmN0aW9uIChjYikge1xuICAgICAgICByZXR1cm4gZGF0YWJhc2VFbnVtZXJhdG9yID9cbiAgICAgICAgICAgIGRhdGFiYXNlRW51bWVyYXRvci5nZXREYXRhYmFzZU5hbWVzKCkudGhlbihjYikgOlxuICAgICAgICAgICAgRGV4aWVQcm9taXNlLnJlc29sdmUoW10pO1xuICAgIH0sXG4gICAgZGVmaW5lQ2xhc3M6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZnVuY3Rpb24gQ2xhc3MoY29udGVudCkge1xuICAgICAgICAgICAgZXh0ZW5kKHRoaXMsIGNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBDbGFzcztcbiAgICB9LFxuICAgIGlnbm9yZVRyYW5zYWN0aW9uOiBmdW5jdGlvbiAoc2NvcGVGdW5jKSB7XG4gICAgICAgIHJldHVybiBQU0QudHJhbnMgP1xuICAgICAgICAgICAgdXNlUFNEKFBTRC50cmFuc2xlc3MsIHNjb3BlRnVuYykgOlxuICAgICAgICAgICAgc2NvcGVGdW5jKCk7XG4gICAgfSxcbiAgICB2aXA6IHZpcCwgYXN5bmM6IGZ1bmN0aW9uIChnZW5lcmF0b3JGbikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB2YXIgcnYgPSBhd2FpdEl0ZXJhdG9yKGdlbmVyYXRvckZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgICAgICAgICAgICAgIGlmICghcnYgfHwgdHlwZW9mIHJ2LnRoZW4gIT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEZXhpZVByb21pc2UucmVzb2x2ZShydik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJ2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0aW9uKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIHNwYXduOiBmdW5jdGlvbiAoZ2VuZXJhdG9yRm4sIGFyZ3MsIHRoaXopIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBydiA9IGF3YWl0SXRlcmF0b3IoZ2VuZXJhdG9yRm4uYXBwbHkodGhpeiwgYXJncyB8fCBbXSkpO1xuICAgICAgICAgICAgaWYgKCFydiB8fCB0eXBlb2YgcnYudGhlbiAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICByZXR1cm4gRGV4aWVQcm9taXNlLnJlc29sdmUocnYpO1xuICAgICAgICAgICAgcmV0dXJuIHJ2O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0aW9uKGUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBjdXJyZW50VHJhbnNhY3Rpb246IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBQU0QudHJhbnMgfHwgbnVsbDsgfVxuICAgIH0sIHdhaXRGb3I6IGZ1bmN0aW9uIChwcm9taXNlT3JGdW5jdGlvbiwgb3B0aW9uYWxUaW1lb3V0KSB7XG4gICAgICAgIHZhciBwcm9taXNlID0gRGV4aWVQcm9taXNlLnJlc29sdmUodHlwZW9mIHByb21pc2VPckZ1bmN0aW9uID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICAgIERleGllJDEuaWdub3JlVHJhbnNhY3Rpb24ocHJvbWlzZU9yRnVuY3Rpb24pIDpcbiAgICAgICAgICAgIHByb21pc2VPckZ1bmN0aW9uKVxuICAgICAgICAgICAgLnRpbWVvdXQob3B0aW9uYWxUaW1lb3V0IHx8IDYwMDAwKTtcbiAgICAgICAgcmV0dXJuIFBTRC50cmFucyA/XG4gICAgICAgICAgICBQU0QudHJhbnMud2FpdEZvcihwcm9taXNlKSA6XG4gICAgICAgICAgICBwcm9taXNlO1xuICAgIH0sXG4gICAgUHJvbWlzZTogRGV4aWVQcm9taXNlLFxuICAgIGRlYnVnOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVidWc7IH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICBzZXREZWJ1Zyh2YWx1ZSwgdmFsdWUgPT09ICdkZXhpZScgPyBmdW5jdGlvbiAoKSB7IHJldHVybiB0cnVlOyB9IDogZGV4aWVTdGFja0ZyYW1lRmlsdGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGVyaXZlOiBkZXJpdmUsIGV4dGVuZDogZXh0ZW5kLCBwcm9wczogcHJvcHMsIG92ZXJyaWRlOiBvdmVycmlkZSxcbiAgICBFdmVudHM6IEV2ZW50cyxcbiAgICBnZXRCeUtleVBhdGg6IGdldEJ5S2V5UGF0aCwgc2V0QnlLZXlQYXRoOiBzZXRCeUtleVBhdGgsIGRlbEJ5S2V5UGF0aDogZGVsQnlLZXlQYXRoLCBzaGFsbG93Q2xvbmU6IHNoYWxsb3dDbG9uZSwgZGVlcENsb25lOiBkZWVwQ2xvbmUsIGdldE9iamVjdERpZmY6IGdldE9iamVjdERpZmYsIGFzYXA6IGFzYXAsXG4gICAgbWluS2V5OiBtaW5LZXksXG4gICAgYWRkb25zOiBbXSxcbiAgICBjb25uZWN0aW9uczogY29ubmVjdGlvbnMsXG4gICAgZXJybmFtZXM6IGVycm5hbWVzLFxuICAgIGRlcGVuZGVuY2llczogKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaW5kZXhlZERCOiBfZ2xvYmFsLmluZGV4ZWREQiB8fCBfZ2xvYmFsLm1vekluZGV4ZWREQiB8fCBfZ2xvYmFsLndlYmtpdEluZGV4ZWREQiB8fCBfZ2xvYmFsLm1zSW5kZXhlZERCLFxuICAgICAgICAgICAgICAgIElEQktleVJhbmdlOiBfZ2xvYmFsLklEQktleVJhbmdlIHx8IF9nbG9iYWwud2Via2l0SURCS2V5UmFuZ2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGluZGV4ZWREQjogbnVsbCwgSURCS2V5UmFuZ2U6IG51bGwgfTtcbiAgICAgICAgfVxuICAgIH0pKCksXG4gICAgc2VtVmVyOiBERVhJRV9WRVJTSU9OLCB2ZXJzaW9uOiBERVhJRV9WRVJTSU9OLnNwbGl0KCcuJylcbiAgICAgICAgLm1hcChmdW5jdGlvbiAobikgeyByZXR1cm4gcGFyc2VJbnQobik7IH0pXG4gICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKHAsIGMsIGkpIHsgcmV0dXJuIHAgKyAoYyAvIE1hdGgucG93KDEwLCBpICogMikpOyB9KSxcbiAgICBkZWZhdWx0OiBEZXhpZSQxLFxuICAgIERleGllOiBEZXhpZSQxIH0pKTtcbkRleGllJDEubWF4S2V5ID0gZ2V0TWF4S2V5KERleGllJDEuZGVwZW5kZW5jaWVzLklEQktleVJhbmdlKTtcblxuaW5pdERhdGFiYXNlRW51bWVyYXRvcihEZXhpZS5kZXBlbmRlbmNpZXMuaW5kZXhlZERCKTtcbkRleGllUHJvbWlzZS5yZWplY3Rpb25NYXBwZXIgPSBtYXBFcnJvcjtcbnNldERlYnVnKGRlYnVnLCBkZXhpZVN0YWNrRnJhbWVGaWx0ZXIpO1xuXG5leHBvcnQgZGVmYXVsdCBEZXhpZTtcbmV4cG9ydCB7IERleGllIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZXhpZS5tanMubWFwXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV4aWUtZXhwb3J0LWltcG9ydC5qc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBEZXhpZSBhZGRvbiBmb3IgZXhwb3J0aW5nIGFuZCBpbXBvcnRpbmcgZGF0YWJhc2VzIHRvIC8gZnJvbSBCbG9icy5cbiAqXG4gKiBCeSBEYXZpZCBGYWhsYW5kZXIsIGRhdmlkLmZhaGxhbmRlckBnbWFpbC5jb20sXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBWZXJzaW9uIDEuMC4wLCBUaHUgTm92IDE5IDIwMjBcbiAqXG4gKiBodHRwOi8vZGV4aWUub3JnXG4gKlxuICogQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNCwgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL1xuICogXG4gKi9cblxuaW1wb3J0IERleGllIGZyb20gJ2RleGllJztcblxuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2VcclxudGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGVcclxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuXHJcblRISVMgQ09ERSBJUyBQUk9WSURFRCBPTiBBTiAqQVMgSVMqIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTllcclxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxyXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLFxyXG5NRVJDSEFOVEFCTElUWSBPUiBOT04tSU5GUklOR0VNRU5ULlxyXG5cclxuU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXHJcbmFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUocmVzdWx0LnZhbHVlKTsgfSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxuXG5mdW5jdGlvbiBnZXRTY2hlbWFTdHJpbmcodGFibGUpIHtcbiAgICB2YXIgcHJpbUtleUFuZEluZGV4ZXMgPSBbdGFibGUuc2NoZW1hLnByaW1LZXldLmNvbmNhdCh0YWJsZS5zY2hlbWEuaW5kZXhlcyk7XG4gICAgcmV0dXJuIHByaW1LZXlBbmRJbmRleGVzLm1hcChmdW5jdGlvbiAoaW5kZXgpIHsgcmV0dXJuIGluZGV4LnNyYzsgfSkuam9pbignLCcpO1xufVxuZnVuY3Rpb24gZXh0cmFjdERiU2NoZW1hKGV4cG9ydGVkRGIpIHtcbiAgICB2YXIgc2NoZW1hID0ge307XG4gICAgZm9yICh2YXIgX2kgPSAwLCBfYSA9IGV4cG9ydGVkRGIudGFibGVzOyBfaSA8IF9hLmxlbmd0aDsgX2krKykge1xuICAgICAgICB2YXIgdGFibGUgPSBfYVtfaV07XG4gICAgICAgIHNjaGVtYVt0YWJsZS5uYW1lXSA9IHRhYmxlLnNjaGVtYTtcbiAgICB9XG4gICAgcmV0dXJuIHNjaGVtYTtcbn1cbmZ1bmN0aW9uIHJlYWRCbG9iQXN5bmMoYmxvYiwgdHlwZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIub25hYm9ydCA9IGZ1bmN0aW9uIChldikgeyByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcImZpbGUgcmVhZCBhYm9ydGVkXCIpKTsgfTtcbiAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBmdW5jdGlvbiAoZXYpIHsgcmV0dXJuIHJlamVjdChldi50YXJnZXQuZXJyb3IpOyB9O1xuICAgICAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24gKGV2KSB7IHJldHVybiByZXNvbHZlKGV2LnRhcmdldC5yZXN1bHQpOyB9O1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2JpbmFyeScpXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoYmxvYik7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGJsb2IpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gcmVhZEJsb2JTeW5jKGJsb2IsIHR5cGUpIHtcbiAgICBpZiAodHlwZW9mIEZpbGVSZWFkZXJTeW5jID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpbGVSZWFkZXJTeW5jIG1pc3NpbmcuIFJlYWRpbmcgYmxvYnMgc3luY2hyb25vdXNseSByZXF1aXJlcyBjb2RlIHRvIHJ1biBmcm9tIHdpdGhpbiBhIHdlYiB3b3JrZXIuIFVzZSBUU09OLmVuY2Fwc3VsYXRlQXN5bmMoKSB0byBkbyBpdCBmcm9tIHRoZSBtYWluIHRocmVhZC4nKTtcbiAgICB9XG4gICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyU3luYygpOyAvLyBSZXF1aXJlcyB3b3JrZXIgZW52aXJvbm1lbnRcbiAgICB2YXIgZGF0YSA9IHR5cGUgPT09ICdiaW5hcnknID9cbiAgICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpIDpcbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoYmxvYik7XG4gICAgcmV0dXJuIGRhdGE7XG59XG5cbnZhciBjb21tb25qc0dsb2JhbCA9IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbFRoaXMgOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDogdHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHt9O1xuXG5mdW5jdGlvbiBjcmVhdGVDb21tb25qc01vZHVsZShmbiwgbW9kdWxlKSB7XG5cdHJldHVybiBtb2R1bGUgPSB7IGV4cG9ydHM6IHt9IH0sIGZuKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMpLCBtb2R1bGUuZXhwb3J0cztcbn1cblxudmFyIHR5cGVzb24gPSBjcmVhdGVDb21tb25qc01vZHVsZShmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XG4hZnVuY3Rpb24oZSxuKXttb2R1bGUuZXhwb3J0cz1uKCk7fShjb21tb25qc0dsb2JhbCxmdW5jdGlvbigpe3ZhciBlPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIGV9LG49ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlO2lmKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoZSkpcmV0dXJuIGZ1bmN0aW9uIHNsaWNlSXRlcmF0b3IoZSxuKXt2YXIgdD1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgcyxjPWVbU3ltYm9sLml0ZXJhdG9yXSgpOyEocj0ocz1jLm5leHQoKSkuZG9uZSkmJih0LnB1c2gocy52YWx1ZSksIW58fHQubGVuZ3RoIT09bik7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lO31maW5hbGx5e3RyeXshciYmYy5yZXR1cm4mJmMucmV0dXJuKCk7fWZpbmFsbHl7aWYoaSl0aHJvdyBvfX1yZXR1cm4gdH0oZSxuKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKX19KCksdD1mdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIG49MCx0PUFycmF5KGUubGVuZ3RoKTtuPGUubGVuZ3RoO24rKyl0W25dPWVbbl07cmV0dXJuIHR9cmV0dXJuIEFycmF5LmZyb20oZSl9LHI9T2JqZWN0LmtleXMsaT1BcnJheS5pc0FycmF5LG89e30udG9TdHJpbmcscz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsYz17fS5oYXNPd25Qcm9wZXJ0eSxhPWMudG9TdHJpbmcsdT1bXCJ0eXBlXCIsXCJyZXBsYWNlZFwiLFwiaXRlcmF0ZUluXCIsXCJpdGVyYXRlVW5zZXROdW1lcmljXCJdO2Z1bmN0aW9uIGlzVGhlbmFibGUoZSxuKXtyZXR1cm4gVHlwZXNvbi5pc09iamVjdChlKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS50aGVuJiYoIW58fFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuY2F0Y2gpfWZ1bmN0aW9uIHRvU3RyaW5nVGFnKGUpe3JldHVybiBvLmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gaGFzQ29uc3RydWN0b3JPZihuLHQpe2lmKCFufHxcIm9iamVjdFwiIT09KHZvaWQgMD09PW4/XCJ1bmRlZmluZWRcIjplKG4pKSlyZXR1cm4gITE7dmFyIHI9cyhuKTtpZighcilyZXR1cm4gITE7dmFyIGk9Yy5jYWxsKHIsXCJjb25zdHJ1Y3RvclwiKSYmci5jb25zdHJ1Y3RvcjtyZXR1cm4gXCJmdW5jdGlvblwiIT10eXBlb2YgaT9udWxsPT09dDpcImZ1bmN0aW9uXCI9PXR5cGVvZiBpJiZudWxsIT09dCYmYS5jYWxsKGkpPT09YS5jYWxsKHQpfWZ1bmN0aW9uIGlzUGxhaW5PYmplY3QoZSl7cmV0dXJuICEoIWV8fFwiT2JqZWN0XCIhPT10b1N0cmluZ1RhZyhlKSkmJighcyhlKXx8aGFzQ29uc3RydWN0b3JPZihlLE9iamVjdCkpfWZ1bmN0aW9uIGlzT2JqZWN0KG4pe3JldHVybiBuJiZcIm9iamVjdFwiPT09KHZvaWQgMD09PW4/XCJ1bmRlZmluZWRcIjplKG4pKX1mdW5jdGlvbiBUeXBlc29uKG8pe3ZhciBzPVtdLGM9W10sYT17fSx5PXRoaXMudHlwZXM9e30scD10aGlzLnN0cmluZ2lmeT1mdW5jdGlvbihlLG4sdCxyKXtyPU9iamVjdC5hc3NpZ24oe30sbyxyLHtzdHJpbmdpZmljYXRpb246ITB9KTt2YXIgcz1sKGUsbnVsbCxyKTtyZXR1cm4gaShzKT9KU09OLnN0cmluZ2lmeShzWzBdLG4sdCk6cy50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLG4sdCl9KX07dGhpcy5zdHJpbmdpZnlTeW5jPWZ1bmN0aW9uKGUsbix0LHIpe3JldHVybiBwKGUsbix0LE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0scix7c3luYzohMH0pKX0sdGhpcy5zdHJpbmdpZnlBc3luYz1mdW5jdGlvbihlLG4sdCxyKXtyZXR1cm4gcChlLG4sdCxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHIse3N5bmM6ITF9KSl9O3ZhciBmPXRoaXMucGFyc2U9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiB0PU9iamVjdC5hc3NpZ24oe30sbyx0LHtwYXJzZTohMH0pLGgoSlNPTi5wYXJzZShlLG4pLHQpfTt0aGlzLnBhcnNlU3luYz1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIGYoZSxuLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sdCx7c3luYzohMH0pKX0sdGhpcy5wYXJzZUFzeW5jPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gZihlLG4sT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSx0LHtzeW5jOiExfSkpfSx0aGlzLnNwZWNpYWxUeXBlTmFtZXM9ZnVuY3Rpb24oZSxuKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307cmV0dXJuIHQucmV0dXJuVHlwZU5hbWVzPSEwLHRoaXMuZW5jYXBzdWxhdGUoZSxuLHQpfSx0aGlzLnJvb3RUeXBlTmFtZT1mdW5jdGlvbihlLG4pe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gdC5pdGVyYXRlTm9uZT0hMCx0aGlzLmVuY2Fwc3VsYXRlKGUsbix0KX07dmFyIGw9dGhpcy5lbmNhcHN1bGF0ZT1mdW5jdGlvbih5LHAsZil7dmFyIGw9KGY9T2JqZWN0LmFzc2lnbih7c3luYzohMH0sbyxmKSkuc3luYyxoPXt9LHY9W10sZD1bXSxiPVtdLE89IShmJiZcImN5Y2xpY1wiaW4gZil8fGYuY3ljbGljLG09Zi5lbmNhcHN1bGF0ZU9ic2VydmVyLFQ9X2VuY2Fwc3VsYXRlKFwiXCIseSxPLHB8fHt9LGIpO2Z1bmN0aW9uIGZpbmlzaChlKXt2YXIgbj1PYmplY3QudmFsdWVzKGgpO2lmKGYuaXRlcmF0ZU5vbmUpcmV0dXJuIG4ubGVuZ3RoP25bMF06VHlwZXNvbi5nZXRKU09OVHlwZShlKTtpZihuLmxlbmd0aCl7aWYoZi5yZXR1cm5UeXBlTmFtZXMpcmV0dXJuIFtdLmNvbmNhdCh0KG5ldyBTZXQobikpKTtlJiZpc1BsYWluT2JqZWN0KGUpJiYhZS5oYXNPd25Qcm9wZXJ0eShcIiR0eXBlc1wiKT9lLiR0eXBlcz1oOmU9eyQ6ZSwkdHlwZXM6eyQ6aH19O31lbHNlIGlzT2JqZWN0KGUpJiZlLmhhc093blByb3BlcnR5KFwiJHR5cGVzXCIpJiYoZT17JDplLCR0eXBlczohMH0pO3JldHVybiAhZi5yZXR1cm5UeXBlTmFtZXMmJmV9cmV0dXJuIGIubGVuZ3RoP2wmJmYudGhyb3dPbkJhZFN5bmNUeXBlP2Z1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgYXN5bmMgcmVzdWx0IG9idGFpbmVkXCIpfSgpOlByb21pc2UucmVzb2x2ZShmdW5jdGlvbiBjaGVja1Byb21pc2VzKGUsdCl7cmV0dXJuIFByb21pc2UuYWxsKHQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnB9KSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gUHJvbWlzZS5hbGwoci5tYXAoZnVuY3Rpb24ocil7dmFyIGk9W10sbz10LnNwbGljZSgwLDEpWzBdLHM9bihvLDcpLGM9c1swXSxhPXNbMl0sdT1zWzNdLHk9c1s0XSxwPXNbNV0sZj1zWzZdLGw9X2VuY2Fwc3VsYXRlKGMscixhLHUsaSwhMCxmKSxoPWhhc0NvbnN0cnVjdG9yT2YobCxUeXBlc29uUHJvbWlzZSk7cmV0dXJuIGMmJmg/bC5wLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHlbcF09bixjaGVja1Byb21pc2VzKGUsaSl9KTooYz95W3BdPWw6ZT1oP2wucDpsLGNoZWNrUHJvbWlzZXMoZSxpKSl9KSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KX0oVCxiKSkudGhlbihmaW5pc2gpOiFsJiZmLnRocm93T25CYWRTeW5jVHlwZT9mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJBc3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBzeW5jIHJlc3VsdCBvYnRhaW5lZFwiKX0oKTpmLnN0cmluZ2lmaWNhdGlvbiYmbD9bZmluaXNoKFQpXTpsP2ZpbmlzaChUKTpQcm9taXNlLnJlc29sdmUoZmluaXNoKFQpKTtmdW5jdGlvbiBfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGUsbix0KXtPYmplY3QuYXNzaWduKGUsbik7dmFyIHI9dS5tYXAoZnVuY3Rpb24obil7dmFyIHQ9ZVtuXTtyZXR1cm4gZGVsZXRlIGVbbl0sdH0pO3QoKSx1LmZvckVhY2goZnVuY3Rpb24obix0KXtlW25dPXJbdF07fSk7fWZ1bmN0aW9uIF9lbmNhcHN1bGF0ZShuLHQsbyxjLGEsdSx5KXt2YXIgcD12b2lkIDAsbD17fSxiPXZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpLE89bT9mdW5jdGlvbihlKXt2YXIgcj15fHxjLnR5cGV8fFR5cGVzb24uZ2V0SlNPTlR5cGUodCk7bShPYmplY3QuYXNzaWduKGV8fGwse2tleXBhdGg6bix2YWx1ZTp0LGN5Y2xpYzpvLHN0YXRlT2JqOmMscHJvbWlzZXNEYXRhOmEscmVzb2x2aW5nVHlwZXNvblByb21pc2U6dSxhd2FpdGluZ1R5cGVzb25Qcm9taXNlOmhhc0NvbnN0cnVjdG9yT2YodCxUeXBlc29uUHJvbWlzZSl9LHZvaWQgMCE9PXI/e3R5cGU6cn06e30pKTt9Om51bGw7aWYoYiBpbntzdHJpbmc6MSxib29sZWFuOjEsbnVtYmVyOjEsdW5kZWZpbmVkOjF9KXJldHVybiB2b2lkIDA9PT10fHxcIm51bWJlclwiPT09YiYmKGlzTmFOKHQpfHx0PT09LTEvMHx8dD09PTEvMCk/KHA9cmVwbGFjZShuLHQsYyxhLCExLHUsTykpIT09dCYmKGw9e3JlcGxhY2VkOnB9KTpwPXQsTyYmTygpLHA7aWYobnVsbD09PXQpcmV0dXJuIE8mJk8oKSx0O2lmKG8mJiFjLml0ZXJhdGVJbiYmIWMuaXRlcmF0ZVVuc2V0TnVtZXJpYyl7dmFyIFQ9di5pbmRleE9mKHQpO2lmKCEoVDwwKSlyZXR1cm4gaFtuXT1cIiNcIixPJiZPKHtjeWNsaWNLZXlwYXRoOmRbVF19KSxcIiNcIitkW1RdOyEwPT09byYmKHYucHVzaCh0KSxkLnB1c2gobikpO312YXIgZz1pc1BsYWluT2JqZWN0KHQpLFA9aSh0KSxqPShnfHxQKSYmKCFzLmxlbmd0aHx8Yy5yZXBsYWNlZCl8fGMuaXRlcmF0ZUluP3Q6cmVwbGFjZShuLHQsYyxhLGd8fFAsbnVsbCxPKSxTPXZvaWQgMDtpZihqIT09dD8ocD1qLGw9e3JlcGxhY2VkOmp9KTpQfHxcImFycmF5XCI9PT1jLml0ZXJhdGVJbj8oUz1uZXcgQXJyYXkodC5sZW5ndGgpLGw9e2Nsb25lOlN9KTpnfHxcIm9iamVjdFwiPT09Yy5pdGVyYXRlSW4/bD17Y2xvbmU6Uz17fX06XCJcIj09PW4mJmhhc0NvbnN0cnVjdG9yT2YodCxUeXBlc29uUHJvbWlzZSk/KGEucHVzaChbbix0LG8sYyx2b2lkIDAsdm9pZCAwLGMudHlwZV0pLHA9dCk6cD10LE8mJk8oKSxmLml0ZXJhdGVOb25lKXJldHVybiBTfHxwO2lmKCFTKXJldHVybiBwO2lmKGMuaXRlcmF0ZUluKXt2YXIgdz1mdW5jdGlvbiBfbG9vcChlKXt2YXIgcj17b3duS2V5czp0Lmhhc093blByb3BlcnR5KGUpfTtfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGMscixmdW5jdGlvbigpe3ZhciByPW4rKG4/XCIuXCI6XCJcIikrZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKSxpPV9lbmNhcHN1bGF0ZShyLHRbZV0sISFvLGMsYSx1KTtoYXNDb25zdHJ1Y3Rvck9mKGksVHlwZXNvblByb21pc2UpP2EucHVzaChbcixpLCEhbyxjLFMsZSxjLnR5cGVdKTp2b2lkIDAhPT1pJiYoU1tlXT1pKTt9KTt9O2Zvcih2YXIgQSBpbiB0KXcoQSk7TyYmTyh7ZW5kSXRlcmF0ZUluOiEwLGVuZDohMH0pO31lbHNlIHIodCkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1uKyhuP1wiLlwiOlwiXCIpK2VzY2FwZUtleVBhdGhDb21wb25lbnQoZSk7X2FkYXB0QnVpbHRpblN0YXRlT2JqZWN0UHJvcGVydGllcyhjLHtvd25LZXlzOiEwfSxmdW5jdGlvbigpe3ZhciBuPV9lbmNhcHN1bGF0ZShyLHRbZV0sISFvLGMsYSx1KTtoYXNDb25zdHJ1Y3Rvck9mKG4sVHlwZXNvblByb21pc2UpP2EucHVzaChbcixuLCEhbyxjLFMsZSxjLnR5cGVdKTp2b2lkIDAhPT1uJiYoU1tlXT1uKTt9KTt9KSxPJiZPKHtlbmRJdGVyYXRlT3duOiEwLGVuZDohMH0pO2lmKGMuaXRlcmF0ZVVuc2V0TnVtZXJpYyl7Zm9yKHZhciBDPXQubGVuZ3RoLE49ZnVuY3Rpb24gX2xvb3AyKGUpe2lmKCEoZSBpbiB0KSl7dmFyIHI9bisobj9cIi5cIjpcIlwiKStlO19hZGFwdEJ1aWx0aW5TdGF0ZU9iamVjdFByb3BlcnRpZXMoYyx7b3duS2V5czohMX0sZnVuY3Rpb24oKXt2YXIgbj1fZW5jYXBzdWxhdGUocix2b2lkIDAsISFvLGMsYSx1KTtoYXNDb25zdHJ1Y3Rvck9mKG4sVHlwZXNvblByb21pc2UpP2EucHVzaChbcixuLCEhbyxjLFMsZSxjLnR5cGVdKTp2b2lkIDAhPT1uJiYoU1tlXT1uKTt9KTt9fSxCPTA7QjxDO0IrKylOKEIpO08mJk8oe2VuZEl0ZXJhdGVVbnNldE51bWVyaWM6ITAsZW5kOiEwfSk7fXJldHVybiBTfWZ1bmN0aW9uIHJlcGxhY2UoZSxuLHQscixpLG8sdSl7Zm9yKHZhciB5PWk/czpjLHA9eS5sZW5ndGg7cC0tOyl7dmFyIGY9eVtwXTtpZihmLnRlc3Qobix0KSl7dmFyIHY9Zi50eXBlO2lmKGFbdl0pe3ZhciBkPWhbZV07aFtlXT1kP1t2XS5jb25jYXQoZCk6djt9cmV0dXJuIE9iamVjdC5hc3NpZ24odCx7dHlwZTp2LHJlcGxhY2VkOiEwfSksIWwmJmYucmVwbGFjZUFzeW5jfHxmLnJlcGxhY2U/KHUmJnUoe3JlcGxhY2luZzohMH0pLF9lbmNhcHN1bGF0ZShlLGZbbHx8IWYucmVwbGFjZUFzeW5jP1wicmVwbGFjZVwiOlwicmVwbGFjZUFzeW5jXCJdKG4sdCksTyYmXCJyZWFkb25seVwiLHQscixvLHYpKToodSYmdSh7dHlwZURldGVjdGVkOiEwfSksX2VuY2Fwc3VsYXRlKGUsbixPJiZcInJlYWRvbmx5XCIsdCxyLG8sdikpfX1yZXR1cm4gbn19O3RoaXMuZW5jYXBzdWxhdGVTeW5jPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gbChlLG4sT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSx0LHtzeW5jOiEwfSkpfSx0aGlzLmVuY2Fwc3VsYXRlQXN5bmM9ZnVuY3Rpb24oZSxuLHQpe3JldHVybiBsKGUsbixPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHQse3N5bmM6ITF9KSl9O3ZhciBoPXRoaXMucmV2aXZlPWZ1bmN0aW9uKGUsdCl7dmFyIHM9KHQ9T2JqZWN0LmFzc2lnbih7c3luYzohMH0sbyx0KSkuc3luYyxjPWUmJmUuJHR5cGVzLHU9ITA7aWYoIWMpcmV0dXJuIGU7aWYoITA9PT1jKXJldHVybiBlLiQ7Yy4kJiZpc1BsYWluT2JqZWN0KGMuJCkmJihlPWUuJCxjPWMuJCx1PSExKTt2YXIgeT1bXSxwPXt9LGY9ZnVuY3Rpb24gX3Jldml2ZShlLHQsbyxzLGYsbCl7aWYodSYmXCIkdHlwZXNcIj09PWUpcmV0dXJuO3ZhciBoPWNbZV07aWYoaSh0KXx8aXNQbGFpbk9iamVjdCh0KSl7dmFyIHY9aSh0KT9uZXcgQXJyYXkodC5sZW5ndGgpOnt9O2ZvcihyKHQpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHI9X3Jldml2ZShlKyhlP1wiLlwiOlwiXCIpK2VzY2FwZUtleVBhdGhDb21wb25lbnQobiksdFtuXSxvfHx2LHMsdixuKTtoYXNDb25zdHJ1Y3Rvck9mKHIsVW5kZWZpbmVkKT92W25dPXZvaWQgMDp2b2lkIDAhPT1yJiYodltuXT1yKTt9KSx0PXY7eS5sZW5ndGg7KXt2YXIgZD1uKHlbMF0sNCksYj1kWzBdLE89ZFsxXSxtPWRbMl0sVD1kWzNdLGc9Z2V0QnlLZXlQYXRoKGIsTyk7aWYoaGFzQ29uc3RydWN0b3JPZihnLFVuZGVmaW5lZCkpbVtUXT12b2lkIDA7ZWxzZXtpZih2b2lkIDA9PT1nKWJyZWFrO21bVF09Zzt9eS5zcGxpY2UoMCwxKTt9fWlmKCFoKXJldHVybiB0O2lmKFwiI1wiPT09aCl7dmFyIFA9Z2V0QnlLZXlQYXRoKG8sdC5zdWJzdHIoMSkpO3JldHVybiB2b2lkIDA9PT1QJiZ5LnB1c2goW28sdC5zdWJzdHIoMSksZixsXSksUH12YXIgaj1zLnN5bmM7cmV0dXJuIFtdLmNvbmNhdChoKS5yZWR1Y2UoZnVuY3Rpb24oZSxuKXt2YXIgdD1hW25dO2lmKCF0KXRocm93IG5ldyBFcnJvcihcIlVucmVnaXN0ZXJlZCB0eXBlOiBcIituKTtyZXR1cm4gdFtqJiZ0LnJldml2ZT9cInJldml2ZVwiOiFqJiZ0LnJldml2ZUFzeW5jP1wicmV2aXZlQXN5bmNcIjpcInJldml2ZVwiXShlLHApfSx0KX0oXCJcIixlLG51bGwsdCk7cmV0dXJuIGlzVGhlbmFibGUoZj1oYXNDb25zdHJ1Y3Rvck9mKGYsVW5kZWZpbmVkKT92b2lkIDA6Zik/cyYmdC50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3luYyBtZXRob2QgcmVxdWVzdGVkIGJ1dCBhc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6ZjohcyYmdC50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6cz9mOlByb21pc2UucmVzb2x2ZShmKX07dGhpcy5yZXZpdmVTeW5jPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGgoZSxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LG4se3N5bmM6ITB9KSl9LHRoaXMucmV2aXZlQXN5bmM9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaChlLE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sbix7c3luYzohMX0pKX0sdGhpcy5yZWdpc3Rlcj1mdW5jdGlvbihlLG4pe3JldHVybiBuPW58fHt9LFtdLmNvbmNhdChlKS5mb3JFYWNoKGZ1bmN0aW9uIFIoZSl7aWYoaShlKSlyZXR1cm4gZS5tYXAoUik7ZSYmcihlKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKFwiI1wiPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiIyBjYW5ub3QgYmUgdXNlZCBhcyBhIHR5cGUgbmFtZSBhcyBpdCBpcyByZXNlcnZlZCBmb3IgY3ljbGljIG9iamVjdHNcIik7aWYoVHlwZXNvbi5KU09OX1RZUEVTLmluY2x1ZGVzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJQbGFpbiBKU09OIG9iamVjdCB0eXBlcyBhcmUgcmVzZXJ2ZWQgYXMgdHlwZSBuYW1lc1wiKTt2YXIgcj1lW3RdLG89ci50ZXN0UGxhaW5PYmplY3RzP3M6Yyx1PW8uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT10fSk7aWYodS5sZW5ndGgmJihvLnNwbGljZShvLmluZGV4T2YodVswXSksMSksZGVsZXRlIGFbdF0sZGVsZXRlIHlbdF0pLHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIHIpe3ZhciBwPXI7cj17dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBlJiZlLmNvbnN0cnVjdG9yPT09cH0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBhc3NpZ24oe30sZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIGFzc2lnbihPYmplY3QuY3JlYXRlKHAucHJvdG90eXBlKSxlKX19O31lbHNlIGkocikmJihyPXt0ZXN0OnJbMF0scmVwbGFjZTpyWzFdLHJldml2ZTpyWzJdfSk7dmFyIGY9e3R5cGU6dCx0ZXN0OnIudGVzdC5iaW5kKHIpfTtyLnJlcGxhY2UmJihmLnJlcGxhY2U9ci5yZXBsYWNlLmJpbmQocikpLHIucmVwbGFjZUFzeW5jJiYoZi5yZXBsYWNlQXN5bmM9ci5yZXBsYWNlQXN5bmMuYmluZChyKSk7dmFyIGw9XCJudW1iZXJcIj09dHlwZW9mIG4uZmFsbGJhY2s/bi5mYWxsYmFjazpuLmZhbGxiYWNrPzA6MS8wO2lmKHIudGVzdFBsYWluT2JqZWN0cz9zLnNwbGljZShsLDAsZik6Yy5zcGxpY2UobCwwLGYpLHIucmV2aXZlfHxyLnJldml2ZUFzeW5jKXt2YXIgaD17fTtyLnJldml2ZSYmKGgucmV2aXZlPXIucmV2aXZlLmJpbmQocikpLHIucmV2aXZlQXN5bmMmJihoLnJldml2ZUFzeW5jPXIucmV2aXZlQXN5bmMuYmluZChyKSksYVt0XT1oO315W3RdPXI7fX0pO30pLHRoaXN9O31mdW5jdGlvbiBhc3NpZ24oZSxuKXtyZXR1cm4gcihuKS5tYXAoZnVuY3Rpb24odCl7ZVt0XT1uW3RdO30pLGV9ZnVuY3Rpb24gZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKXtyZXR1cm4gZS5yZXBsYWNlKC9+L2csXCJ+MFwiKS5yZXBsYWNlKC9cXC4vZyxcIn4xXCIpfWZ1bmN0aW9uIHVuZXNjYXBlS2V5UGF0aENvbXBvbmVudChlKXtyZXR1cm4gZS5yZXBsYWNlKC9+MS9nLFwiLlwiKS5yZXBsYWNlKC9+MC9nLFwiflwiKX1mdW5jdGlvbiBnZXRCeUtleVBhdGgoZSxuKXtpZihcIlwiPT09bilyZXR1cm4gZTt2YXIgdD1uLmluZGV4T2YoXCIuXCIpO2lmKHQ+LTEpe3ZhciByPWVbdW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50KG4uc3Vic3RyKDAsdCkpXTtyZXR1cm4gdm9pZCAwPT09cj92b2lkIDA6Z2V0QnlLZXlQYXRoKHIsbi5zdWJzdHIodCsxKSl9cmV0dXJuIGVbdW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50KG4pXX1mdW5jdGlvbiBVbmRlZmluZWQoKXt9ZnVuY3Rpb24gVHlwZXNvblByb21pc2UoZSl7dGhpcy5wPW5ldyBQcm9taXNlKGUpO31yZXR1cm4gVHlwZXNvblByb21pc2UucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZSxuKXt2YXIgdD10aGlzO3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24ocixpKXt0LnAudGhlbihmdW5jdGlvbihuKXtyKGU/ZShuKTpuKTt9LGZ1bmN0aW9uKGUpe3QucC5jYXRjaChmdW5jdGlvbihlKXtyZXR1cm4gbj9uKGUpOlByb21pc2UucmVqZWN0KGUpfSkudGhlbihyLGkpO30pO30pfSxUeXBlc29uUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGhlbihudWxsLGUpfSxUeXBlc29uUHJvbWlzZS5yZXNvbHZlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24obil7bihlKTt9KX0sVHlwZXNvblByb21pc2UucmVqZWN0PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24obix0KXt0KGUpO30pfSxbXCJhbGxcIixcInJhY2VcIl0ubWFwKGZ1bmN0aW9uKGUpe1R5cGVzb25Qcm9taXNlW2VdPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24odCxyKXtQcm9taXNlW2VdKG4ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnB9KSkudGhlbih0LHIpO30pfTt9KSxUeXBlc29uLlVuZGVmaW5lZD1VbmRlZmluZWQsVHlwZXNvbi5Qcm9taXNlPVR5cGVzb25Qcm9taXNlLFR5cGVzb24uaXNUaGVuYWJsZT1pc1RoZW5hYmxlLFR5cGVzb24udG9TdHJpbmdUYWc9dG9TdHJpbmdUYWcsVHlwZXNvbi5oYXNDb25zdHJ1Y3Rvck9mPWhhc0NvbnN0cnVjdG9yT2YsVHlwZXNvbi5pc09iamVjdD1pc09iamVjdCxUeXBlc29uLmlzUGxhaW5PYmplY3Q9aXNQbGFpbk9iamVjdCxUeXBlc29uLmlzVXNlck9iamVjdD1mdW5jdGlvbiBpc1VzZXJPYmplY3QoZSl7aWYoIWV8fFwiT2JqZWN0XCIhPT10b1N0cmluZ1RhZyhlKSlyZXR1cm4gITE7dmFyIG49cyhlKTtyZXR1cm4gIW58fGhhc0NvbnN0cnVjdG9yT2YoZSxPYmplY3QpfHxpc1VzZXJPYmplY3Qobil9LFR5cGVzb24uZXNjYXBlS2V5UGF0aENvbXBvbmVudD1lc2NhcGVLZXlQYXRoQ29tcG9uZW50LFR5cGVzb24udW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50PXVuZXNjYXBlS2V5UGF0aENvbXBvbmVudCxUeXBlc29uLmdldEJ5S2V5UGF0aD1nZXRCeUtleVBhdGgsVHlwZXNvbi5nZXRKU09OVHlwZT1mdW5jdGlvbihuKXtyZXR1cm4gbnVsbD09PW4/XCJudWxsXCI6aShuKT9cImFycmF5XCI6dm9pZCAwPT09bj9cInVuZGVmaW5lZFwiOmUobil9LFR5cGVzb24uSlNPTl9UWVBFUz1bXCJudWxsXCIsXCJib29sZWFuXCIsXCJudW1iZXJcIixcInN0cmluZ1wiLFwiYXJyYXlcIixcIm9iamVjdFwiXSxUeXBlc29ufSk7XG59KTtcblxudmFyIHN0cnVjdHVyZWRDbG9uaW5nID0gY3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xuIWZ1bmN0aW9uKGUsdCl7bW9kdWxlLmV4cG9ydHM9dCgpO30oY29tbW9uanNHbG9iYWwsZnVuY3Rpb24oKXt2YXIgZT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBlfSx0PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZTtpZihTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGUpKXJldHVybiBmdW5jdGlvbiBzbGljZUl0ZXJhdG9yKGUsdCl7dmFyIG49W10scj0hMCxpPSExLG89dm9pZCAwO3RyeXtmb3IodmFyIHMsYT1lW1N5bWJvbC5pdGVyYXRvcl0oKTshKHI9KHM9YS5uZXh0KCkpLmRvbmUpJiYobi5wdXNoKHMudmFsdWUpLCF0fHxuLmxlbmd0aCE9PXQpO3I9ITApO31jYXRjaChlKXtpPSEwLG89ZTt9ZmluYWxseXt0cnl7IXImJmEucmV0dXJuJiZhLnJldHVybigpO31maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59KGUsdCk7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2VcIil9fSgpLG49ZnVuY3Rpb24oZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PTAsbj1BcnJheShlLmxlbmd0aCk7dDxlLmxlbmd0aDt0Kyspblt0XT1lW3RdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKGUpfSxyPU9iamVjdC5rZXlzLGk9QXJyYXkuaXNBcnJheSxvPXt9LnRvU3RyaW5nLHM9T2JqZWN0LmdldFByb3RvdHlwZU9mLGE9e30uaGFzT3duUHJvcGVydHksYz1hLnRvU3RyaW5nLHU9W1widHlwZVwiLFwicmVwbGFjZWRcIixcIml0ZXJhdGVJblwiLFwiaXRlcmF0ZVVuc2V0TnVtZXJpY1wiXTtmdW5jdGlvbiBpc1RoZW5hYmxlKGUsdCl7cmV0dXJuIFR5cGVzb24uaXNPYmplY3QoZSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUudGhlbiYmKCF0fHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmNhdGNoKX1mdW5jdGlvbiB0b1N0cmluZ1RhZyhlKXtyZXR1cm4gby5jYWxsKGUpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIGhhc0NvbnN0cnVjdG9yT2YodCxuKXtpZighdHx8XCJvYmplY3RcIiE9PSh2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KSkpcmV0dXJuICExO3ZhciByPXModCk7aWYoIXIpcmV0dXJuICExO3ZhciBpPWEuY2FsbChyLFwiY29uc3RydWN0b3JcIikmJnIuY29uc3RydWN0b3I7cmV0dXJuIFwiZnVuY3Rpb25cIiE9dHlwZW9mIGk/bnVsbD09PW46XCJmdW5jdGlvblwiPT10eXBlb2YgaSYmbnVsbCE9PW4mJmMuY2FsbChpKT09PWMuY2FsbChuKX1mdW5jdGlvbiBpc1BsYWluT2JqZWN0KGUpe3JldHVybiAhKCFlfHxcIk9iamVjdFwiIT09dG9TdHJpbmdUYWcoZSkpJiYoIXMoZSl8fGhhc0NvbnN0cnVjdG9yT2YoZSxPYmplY3QpKX1mdW5jdGlvbiBpc09iamVjdCh0KXtyZXR1cm4gdCYmXCJvYmplY3RcIj09PSh2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KSl9ZnVuY3Rpb24gVHlwZXNvbihvKXt2YXIgcz1bXSxhPVtdLGM9e30sZj10aGlzLnR5cGVzPXt9LHA9dGhpcy5zdHJpbmdpZnk9ZnVuY3Rpb24oZSx0LG4scil7cj1PYmplY3QuYXNzaWduKHt9LG8scix7c3RyaW5naWZpY2F0aW9uOiEwfSk7dmFyIHM9eShlLG51bGwscik7cmV0dXJuIGkocyk/SlNPTi5zdHJpbmdpZnkoc1swXSx0LG4pOnMudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSx0LG4pfSl9O3RoaXMuc3RyaW5naWZ5U3luYz1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gcChlLHQsbixPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHIse3N5bmM6ITB9KSl9LHRoaXMuc3RyaW5naWZ5QXN5bmM9ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHAoZSx0LG4sT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxyLHtzeW5jOiExfSkpfTt2YXIgbD10aGlzLnBhcnNlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbj1PYmplY3QuYXNzaWduKHt9LG8sbix7cGFyc2U6ITB9KSx2KEpTT04ucGFyc2UoZSx0KSxuKX07dGhpcy5wYXJzZVN5bmM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsKGUsdCxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LG4se3N5bmM6ITB9KSl9LHRoaXMucGFyc2VBc3luYz1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwoZSx0LE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sbix7c3luYzohMX0pKX0sdGhpcy5zcGVjaWFsVHlwZU5hbWVzPWZ1bmN0aW9uKGUsdCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9O3JldHVybiBuLnJldHVyblR5cGVOYW1lcz0hMCx0aGlzLmVuY2Fwc3VsYXRlKGUsdCxuKX0sdGhpcy5yb290VHlwZU5hbWU9ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307cmV0dXJuIG4uaXRlcmF0ZU5vbmU9ITAsdGhpcy5lbmNhcHN1bGF0ZShlLHQsbil9O3ZhciB5PXRoaXMuZW5jYXBzdWxhdGU9ZnVuY3Rpb24oZixwLGwpe3ZhciB5PShsPU9iamVjdC5hc3NpZ24oe3N5bmM6ITB9LG8sbCkpLnN5bmMsdj17fSxkPVtdLGg9W10sZz1bXSxiPSEobCYmXCJjeWNsaWNcImluIGwpfHxsLmN5Y2xpYyxtPWwuZW5jYXBzdWxhdGVPYnNlcnZlcixUPV9lbmNhcHN1bGF0ZShcIlwiLGYsYixwfHx7fSxnKTtmdW5jdGlvbiBmaW5pc2goZSl7dmFyIHQ9T2JqZWN0LnZhbHVlcyh2KTtpZihsLml0ZXJhdGVOb25lKXJldHVybiB0Lmxlbmd0aD90WzBdOlR5cGVzb24uZ2V0SlNPTlR5cGUoZSk7aWYodC5sZW5ndGgpe2lmKGwucmV0dXJuVHlwZU5hbWVzKXJldHVybiBbXS5jb25jYXQobihuZXcgU2V0KHQpKSk7ZSYmaXNQbGFpbk9iamVjdChlKSYmIWUuaGFzT3duUHJvcGVydHkoXCIkdHlwZXNcIik/ZS4kdHlwZXM9djplPXskOmUsJHR5cGVzOnskOnZ9fTt9ZWxzZSBpc09iamVjdChlKSYmZS5oYXNPd25Qcm9wZXJ0eShcIiR0eXBlc1wiKSYmKGU9eyQ6ZSwkdHlwZXM6ITB9KTtyZXR1cm4gIWwucmV0dXJuVHlwZU5hbWVzJiZlfXJldHVybiBnLmxlbmd0aD95JiZsLnRocm93T25CYWRTeW5jVHlwZT9mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJTeW5jIG1ldGhvZCByZXF1ZXN0ZWQgYnV0IGFzeW5jIHJlc3VsdCBvYnRhaW5lZFwiKX0oKTpQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24gY2hlY2tQcm9taXNlcyhlLG4pe3JldHVybiBQcm9taXNlLmFsbChuLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZVsxXS5wfSkpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIFByb21pc2UuYWxsKHIubWFwKGZ1bmN0aW9uKHIpe3ZhciBpPVtdLG89bi5zcGxpY2UoMCwxKVswXSxzPXQobyw3KSxhPXNbMF0sYz1zWzJdLHU9c1szXSxmPXNbNF0scD1zWzVdLGw9c1s2XSx5PV9lbmNhcHN1bGF0ZShhLHIsYyx1LGksITAsbCksdj1oYXNDb25zdHJ1Y3Rvck9mKHksVHlwZXNvblByb21pc2UpO3JldHVybiBhJiZ2P3kucC50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBmW3BdPXQsY2hlY2tQcm9taXNlcyhlLGkpfSk6KGE/ZltwXT15OmU9dj95LnA6eSxjaGVja1Byb21pc2VzKGUsaSkpfSkpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlfSl9KFQsZykpLnRoZW4oZmluaXNoKToheSYmbC50aHJvd09uQmFkU3luY1R5cGU/ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgc3luYyByZXN1bHQgb2J0YWluZWRcIil9KCk6bC5zdHJpbmdpZmljYXRpb24mJnk/W2ZpbmlzaChUKV06eT9maW5pc2goVCk6UHJvbWlzZS5yZXNvbHZlKGZpbmlzaChUKSk7ZnVuY3Rpb24gX2FkYXB0QnVpbHRpblN0YXRlT2JqZWN0UHJvcGVydGllcyhlLHQsbil7T2JqZWN0LmFzc2lnbihlLHQpO3ZhciByPXUubWFwKGZ1bmN0aW9uKHQpe3ZhciBuPWVbdF07cmV0dXJuIGRlbGV0ZSBlW3RdLG59KTtuKCksdS5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7ZVt0XT1yW25dO30pO31mdW5jdGlvbiBfZW5jYXBzdWxhdGUodCxuLG8sYSxjLHUsZil7dmFyIHA9dm9pZCAwLHk9e30sZz12b2lkIDA9PT1uP1widW5kZWZpbmVkXCI6ZShuKSxiPW0/ZnVuY3Rpb24oZSl7dmFyIHI9Znx8YS50eXBlfHxUeXBlc29uLmdldEpTT05UeXBlKG4pO20oT2JqZWN0LmFzc2lnbihlfHx5LHtrZXlwYXRoOnQsdmFsdWU6bixjeWNsaWM6byxzdGF0ZU9iajphLHByb21pc2VzRGF0YTpjLHJlc29sdmluZ1R5cGVzb25Qcm9taXNlOnUsYXdhaXRpbmdUeXBlc29uUHJvbWlzZTpoYXNDb25zdHJ1Y3Rvck9mKG4sVHlwZXNvblByb21pc2UpfSx2b2lkIDAhPT1yP3t0eXBlOnJ9Ont9KSk7fTpudWxsO2lmKGcgaW57c3RyaW5nOjEsYm9vbGVhbjoxLG51bWJlcjoxLHVuZGVmaW5lZDoxfSlyZXR1cm4gdm9pZCAwPT09bnx8XCJudW1iZXJcIj09PWcmJihpc05hTihuKXx8bj09PS0xLzB8fG49PT0xLzApPyhwPXJlcGxhY2UodCxuLGEsYywhMSx1LGIpKSE9PW4mJih5PXtyZXBsYWNlZDpwfSk6cD1uLGImJmIoKSxwO2lmKG51bGw9PT1uKXJldHVybiBiJiZiKCksbjtpZihvJiYhYS5pdGVyYXRlSW4mJiFhLml0ZXJhdGVVbnNldE51bWVyaWMpe3ZhciBUPWQuaW5kZXhPZihuKTtpZighKFQ8MCkpcmV0dXJuIHZbdF09XCIjXCIsYiYmYih7Y3ljbGljS2V5cGF0aDpoW1RdfSksXCIjXCIraFtUXTshMD09PW8mJihkLnB1c2gobiksaC5wdXNoKHQpKTt9dmFyIE89aXNQbGFpbk9iamVjdChuKSx3PWkobiksUz0oT3x8dykmJighcy5sZW5ndGh8fGEucmVwbGFjZWQpfHxhLml0ZXJhdGVJbj9uOnJlcGxhY2UodCxuLGEsYyxPfHx3LG51bGwsYiksUD12b2lkIDA7aWYoUyE9PW4/KHA9Uyx5PXtyZXBsYWNlZDpTfSk6d3x8XCJhcnJheVwiPT09YS5pdGVyYXRlSW4/KFA9bmV3IEFycmF5KG4ubGVuZ3RoKSx5PXtjbG9uZTpQfSk6T3x8XCJvYmplY3RcIj09PWEuaXRlcmF0ZUluP3k9e2Nsb25lOlA9e319OlwiXCI9PT10JiZoYXNDb25zdHJ1Y3Rvck9mKG4sVHlwZXNvblByb21pc2UpPyhjLnB1c2goW3QsbixvLGEsdm9pZCAwLHZvaWQgMCxhLnR5cGVdKSxwPW4pOnA9bixiJiZiKCksbC5pdGVyYXRlTm9uZSlyZXR1cm4gUHx8cDtpZighUClyZXR1cm4gcDtpZihhLml0ZXJhdGVJbil7dmFyIGo9ZnVuY3Rpb24gX2xvb3AoZSl7dmFyIHI9e293bktleXM6bi5oYXNPd25Qcm9wZXJ0eShlKX07X2FkYXB0QnVpbHRpblN0YXRlT2JqZWN0UHJvcGVydGllcyhhLHIsZnVuY3Rpb24oKXt2YXIgcj10Kyh0P1wiLlwiOlwiXCIpK2VzY2FwZUtleVBhdGhDb21wb25lbnQoZSksaT1fZW5jYXBzdWxhdGUocixuW2VdLCEhbyxhLGMsdSk7aGFzQ29uc3RydWN0b3JPZihpLFR5cGVzb25Qcm9taXNlKT9jLnB1c2goW3IsaSwhIW8sYSxQLGUsYS50eXBlXSk6dm9pZCAwIT09aSYmKFBbZV09aSk7fSk7fTtmb3IodmFyIEEgaW4gbilqKEEpO2ImJmIoe2VuZEl0ZXJhdGVJbjohMCxlbmQ6ITB9KTt9ZWxzZSByKG4pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHI9dCsodD9cIi5cIjpcIlwiKStlc2NhcGVLZXlQYXRoQ29tcG9uZW50KGUpO19hZGFwdEJ1aWx0aW5TdGF0ZU9iamVjdFByb3BlcnRpZXMoYSx7b3duS2V5czohMH0sZnVuY3Rpb24oKXt2YXIgdD1fZW5jYXBzdWxhdGUocixuW2VdLCEhbyxhLGMsdSk7aGFzQ29uc3RydWN0b3JPZih0LFR5cGVzb25Qcm9taXNlKT9jLnB1c2goW3IsdCwhIW8sYSxQLGUsYS50eXBlXSk6dm9pZCAwIT09dCYmKFBbZV09dCk7fSk7fSksYiYmYih7ZW5kSXRlcmF0ZU93bjohMCxlbmQ6ITB9KTtpZihhLml0ZXJhdGVVbnNldE51bWVyaWMpe2Zvcih2YXIgQz1uLmxlbmd0aCxOPWZ1bmN0aW9uIF9sb29wMihlKXtpZighKGUgaW4gbikpe3ZhciByPXQrKHQ/XCIuXCI6XCJcIikrZTtfYWRhcHRCdWlsdGluU3RhdGVPYmplY3RQcm9wZXJ0aWVzKGEse293bktleXM6ITF9LGZ1bmN0aW9uKCl7dmFyIHQ9X2VuY2Fwc3VsYXRlKHIsdm9pZCAwLCEhbyxhLGMsdSk7aGFzQ29uc3RydWN0b3JPZih0LFR5cGVzb25Qcm9taXNlKT9jLnB1c2goW3IsdCwhIW8sYSxQLGUsYS50eXBlXSk6dm9pZCAwIT09dCYmKFBbZV09dCk7fSk7fX0sQj0wO0I8QztCKyspTihCKTtiJiZiKHtlbmRJdGVyYXRlVW5zZXROdW1lcmljOiEwLGVuZDohMH0pO31yZXR1cm4gUH1mdW5jdGlvbiByZXBsYWNlKGUsdCxuLHIsaSxvLHUpe2Zvcih2YXIgZj1pP3M6YSxwPWYubGVuZ3RoO3AtLTspe3ZhciBsPWZbcF07aWYobC50ZXN0KHQsbikpe3ZhciBkPWwudHlwZTtpZihjW2RdKXt2YXIgaD12W2VdO3ZbZV09aD9bZF0uY29uY2F0KGgpOmQ7fXJldHVybiBPYmplY3QuYXNzaWduKG4se3R5cGU6ZCxyZXBsYWNlZDohMH0pLCF5JiZsLnJlcGxhY2VBc3luY3x8bC5yZXBsYWNlPyh1JiZ1KHtyZXBsYWNpbmc6ITB9KSxfZW5jYXBzdWxhdGUoZSxsW3l8fCFsLnJlcGxhY2VBc3luYz9cInJlcGxhY2VcIjpcInJlcGxhY2VBc3luY1wiXSh0LG4pLGImJlwicmVhZG9ubHlcIixuLHIsbyxkKSk6KHUmJnUoe3R5cGVEZXRlY3RlZDohMH0pLF9lbmNhcHN1bGF0ZShlLHQsYiYmXCJyZWFkb25seVwiLG4scixvLGQpKX19cmV0dXJuIHR9fTt0aGlzLmVuY2Fwc3VsYXRlU3luYz1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHkoZSx0LE9iamVjdC5hc3NpZ24oe30se3Rocm93T25CYWRTeW5jVHlwZTohMH0sbix7c3luYzohMH0pKX0sdGhpcy5lbmNhcHN1bGF0ZUFzeW5jPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geShlLHQsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSxuLHtzeW5jOiExfSkpfTt2YXIgdj10aGlzLnJldml2ZT1mdW5jdGlvbihlLG4pe3ZhciBzPShuPU9iamVjdC5hc3NpZ24oe3N5bmM6ITB9LG8sbikpLnN5bmMsYT1lJiZlLiR0eXBlcyx1PSEwO2lmKCFhKXJldHVybiBlO2lmKCEwPT09YSlyZXR1cm4gZS4kO2EuJCYmaXNQbGFpbk9iamVjdChhLiQpJiYoZT1lLiQsYT1hLiQsdT0hMSk7dmFyIGY9W10scD17fSxsPWZ1bmN0aW9uIF9yZXZpdmUoZSxuLG8scyxsLHkpe2lmKHUmJlwiJHR5cGVzXCI9PT1lKXJldHVybjt2YXIgdj1hW2VdO2lmKGkobil8fGlzUGxhaW5PYmplY3Qobikpe3ZhciBkPWkobik/bmV3IEFycmF5KG4ubGVuZ3RoKTp7fTtmb3IocihuKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciByPV9yZXZpdmUoZSsoZT9cIi5cIjpcIlwiKStlc2NhcGVLZXlQYXRoQ29tcG9uZW50KHQpLG5bdF0sb3x8ZCxzLGQsdCk7aGFzQ29uc3RydWN0b3JPZihyLFVuZGVmaW5lZCk/ZFt0XT12b2lkIDA6dm9pZCAwIT09ciYmKGRbdF09cik7fSksbj1kO2YubGVuZ3RoOyl7dmFyIGg9dChmWzBdLDQpLGc9aFswXSxiPWhbMV0sbT1oWzJdLFQ9aFszXSxPPWdldEJ5S2V5UGF0aChnLGIpO2lmKGhhc0NvbnN0cnVjdG9yT2YoTyxVbmRlZmluZWQpKW1bVF09dm9pZCAwO2Vsc2V7aWYodm9pZCAwPT09TylicmVhazttW1RdPU87fWYuc3BsaWNlKDAsMSk7fX1pZighdilyZXR1cm4gbjtpZihcIiNcIj09PXYpe3ZhciB3PWdldEJ5S2V5UGF0aChvLG4uc3Vic3RyKDEpKTtyZXR1cm4gdm9pZCAwPT09dyYmZi5wdXNoKFtvLG4uc3Vic3RyKDEpLGwseV0pLHd9dmFyIFM9cy5zeW5jO3JldHVybiBbXS5jb25jYXQodikucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49Y1t0XTtpZighbil0aHJvdyBuZXcgRXJyb3IoXCJVbnJlZ2lzdGVyZWQgdHlwZTogXCIrdCk7cmV0dXJuIG5bUyYmbi5yZXZpdmU/XCJyZXZpdmVcIjohUyYmbi5yZXZpdmVBc3luYz9cInJldml2ZUFzeW5jXCI6XCJyZXZpdmVcIl0oZSxwKX0sbil9KFwiXCIsZSxudWxsLG4pO3JldHVybiBpc1RoZW5hYmxlKGw9aGFzQ29uc3RydWN0b3JPZihsLFVuZGVmaW5lZCk/dm9pZCAwOmwpP3MmJm4udGhyb3dPbkJhZFN5bmNUeXBlP2Z1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bmMgbWV0aG9kIHJlcXVlc3RlZCBidXQgYXN5bmMgcmVzdWx0IG9idGFpbmVkXCIpfSgpOmw6IXMmJm4udGhyb3dPbkJhZFN5bmNUeXBlP2Z1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkFzeW5jIG1ldGhvZCByZXF1ZXN0ZWQgYnV0IHN5bmMgcmVzdWx0IG9idGFpbmVkXCIpfSgpOnM/bDpQcm9taXNlLnJlc29sdmUobCl9O3RoaXMucmV2aXZlU3luYz1mdW5jdGlvbihlLHQpe3JldHVybiB2KGUsT2JqZWN0LmFzc2lnbih7fSx7dGhyb3dPbkJhZFN5bmNUeXBlOiEwfSx0LHtzeW5jOiEwfSkpfSx0aGlzLnJldml2ZUFzeW5jPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHYoZSxPYmplY3QuYXNzaWduKHt9LHt0aHJvd09uQmFkU3luY1R5cGU6ITB9LHQse3N5bmM6ITF9KSl9LHRoaXMucmVnaXN0ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10fHx7fSxbXS5jb25jYXQoZSkuZm9yRWFjaChmdW5jdGlvbiBSKGUpe2lmKGkoZSkpcmV0dXJuIGUubWFwKFIpO2UmJnIoZSkuZm9yRWFjaChmdW5jdGlvbihuKXtpZihcIiNcIj09PW4pdGhyb3cgbmV3IFR5cGVFcnJvcihcIiMgY2Fubm90IGJlIHVzZWQgYXMgYSB0eXBlIG5hbWUgYXMgaXQgaXMgcmVzZXJ2ZWQgZm9yIGN5Y2xpYyBvYmplY3RzXCIpO2lmKFR5cGVzb24uSlNPTl9UWVBFUy5pbmNsdWRlcyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiUGxhaW4gSlNPTiBvYmplY3QgdHlwZXMgYXJlIHJlc2VydmVkIGFzIHR5cGUgbmFtZXNcIik7dmFyIHI9ZVtuXSxvPXIudGVzdFBsYWluT2JqZWN0cz9zOmEsdT1vLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09bn0pO2lmKHUubGVuZ3RoJiYoby5zcGxpY2Uoby5pbmRleE9mKHVbMF0pLDEpLGRlbGV0ZSBjW25dLGRlbGV0ZSBmW25dKSxyKXtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiByKXt2YXIgcD1yO3I9e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gZSYmZS5jb25zdHJ1Y3Rvcj09PXB9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gYXNzaWduKHt9LGUpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBhc3NpZ24oT2JqZWN0LmNyZWF0ZShwLnByb3RvdHlwZSksZSl9fTt9ZWxzZSBpKHIpJiYocj17dGVzdDpyWzBdLHJlcGxhY2U6clsxXSxyZXZpdmU6clsyXX0pO3ZhciBsPXt0eXBlOm4sdGVzdDpyLnRlc3QuYmluZChyKX07ci5yZXBsYWNlJiYobC5yZXBsYWNlPXIucmVwbGFjZS5iaW5kKHIpKSxyLnJlcGxhY2VBc3luYyYmKGwucmVwbGFjZUFzeW5jPXIucmVwbGFjZUFzeW5jLmJpbmQocikpO3ZhciB5PVwibnVtYmVyXCI9PXR5cGVvZiB0LmZhbGxiYWNrP3QuZmFsbGJhY2s6dC5mYWxsYmFjaz8wOjEvMDtpZihyLnRlc3RQbGFpbk9iamVjdHM/cy5zcGxpY2UoeSwwLGwpOmEuc3BsaWNlKHksMCxsKSxyLnJldml2ZXx8ci5yZXZpdmVBc3luYyl7dmFyIHY9e307ci5yZXZpdmUmJih2LnJldml2ZT1yLnJldml2ZS5iaW5kKHIpKSxyLnJldml2ZUFzeW5jJiYodi5yZXZpdmVBc3luYz1yLnJldml2ZUFzeW5jLmJpbmQocikpLGNbbl09djt9ZltuXT1yO319KTt9KSx0aGlzfTt9ZnVuY3Rpb24gYXNzaWduKGUsdCl7cmV0dXJuIHIodCkubWFwKGZ1bmN0aW9uKG4pe2Vbbl09dFtuXTt9KSxlfWZ1bmN0aW9uIGVzY2FwZUtleVBhdGhDb21wb25lbnQoZSl7cmV0dXJuIGUucmVwbGFjZSgvfi9nLFwifjBcIikucmVwbGFjZSgvXFwuL2csXCJ+MVwiKX1mdW5jdGlvbiB1bmVzY2FwZUtleVBhdGhDb21wb25lbnQoZSl7cmV0dXJuIGUucmVwbGFjZSgvfjEvZyxcIi5cIikucmVwbGFjZSgvfjAvZyxcIn5cIil9ZnVuY3Rpb24gZ2V0QnlLZXlQYXRoKGUsdCl7aWYoXCJcIj09PXQpcmV0dXJuIGU7dmFyIG49dC5pbmRleE9mKFwiLlwiKTtpZihuPi0xKXt2YXIgcj1lW3VuZXNjYXBlS2V5UGF0aENvbXBvbmVudCh0LnN1YnN0cigwLG4pKV07cmV0dXJuIHZvaWQgMD09PXI/dm9pZCAwOmdldEJ5S2V5UGF0aChyLHQuc3Vic3RyKG4rMSkpfXJldHVybiBlW3VuZXNjYXBlS2V5UGF0aENvbXBvbmVudCh0KV19ZnVuY3Rpb24gVW5kZWZpbmVkKCl7fWZ1bmN0aW9uIFR5cGVzb25Qcm9taXNlKGUpe3RoaXMucD1uZXcgUHJvbWlzZShlKTt9VHlwZXNvblByb21pc2UucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24ocixpKXtuLnAudGhlbihmdW5jdGlvbih0KXtyKGU/ZSh0KTp0KTt9LGZ1bmN0aW9uKGUpe24ucC5jYXRjaChmdW5jdGlvbihlKXtyZXR1cm4gdD90KGUpOlByb21pc2UucmVqZWN0KGUpfSkudGhlbihyLGkpO30pO30pfSxUeXBlc29uUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGhlbihudWxsLGUpfSxUeXBlc29uUHJvbWlzZS5yZXNvbHZlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24odCl7dChlKTt9KX0sVHlwZXNvblByb21pc2UucmVqZWN0PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24odCxuKXtuKGUpO30pfSxbXCJhbGxcIixcInJhY2VcIl0ubWFwKGZ1bmN0aW9uKGUpe1R5cGVzb25Qcm9taXNlW2VdPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVHlwZXNvblByb21pc2UoZnVuY3Rpb24obixyKXtQcm9taXNlW2VdKHQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnB9KSkudGhlbihuLHIpO30pfTt9KSxUeXBlc29uLlVuZGVmaW5lZD1VbmRlZmluZWQsVHlwZXNvbi5Qcm9taXNlPVR5cGVzb25Qcm9taXNlLFR5cGVzb24uaXNUaGVuYWJsZT1pc1RoZW5hYmxlLFR5cGVzb24udG9TdHJpbmdUYWc9dG9TdHJpbmdUYWcsVHlwZXNvbi5oYXNDb25zdHJ1Y3Rvck9mPWhhc0NvbnN0cnVjdG9yT2YsVHlwZXNvbi5pc09iamVjdD1pc09iamVjdCxUeXBlc29uLmlzUGxhaW5PYmplY3Q9aXNQbGFpbk9iamVjdCxUeXBlc29uLmlzVXNlck9iamVjdD1mdW5jdGlvbiBpc1VzZXJPYmplY3QoZSl7aWYoIWV8fFwiT2JqZWN0XCIhPT10b1N0cmluZ1RhZyhlKSlyZXR1cm4gITE7dmFyIHQ9cyhlKTtyZXR1cm4gIXR8fGhhc0NvbnN0cnVjdG9yT2YoZSxPYmplY3QpfHxpc1VzZXJPYmplY3QodCl9LFR5cGVzb24uZXNjYXBlS2V5UGF0aENvbXBvbmVudD1lc2NhcGVLZXlQYXRoQ29tcG9uZW50LFR5cGVzb24udW5lc2NhcGVLZXlQYXRoQ29tcG9uZW50PXVuZXNjYXBlS2V5UGF0aENvbXBvbmVudCxUeXBlc29uLmdldEJ5S2V5UGF0aD1nZXRCeUtleVBhdGgsVHlwZXNvbi5nZXRKU09OVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXQ/XCJudWxsXCI6aSh0KT9cImFycmF5XCI6dm9pZCAwPT09dD9cInVuZGVmaW5lZFwiOmUodCl9LFR5cGVzb24uSlNPTl9UWVBFUz1bXCJudWxsXCIsXCJib29sZWFuXCIsXCJudW1iZXJcIixcInN0cmluZ1wiLFwiYXJyYXlcIixcIm9iamVjdFwiXTtmb3IodmFyIGY9e3VzZXJPYmplY3Q6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlLHQpe3JldHVybiBUeXBlc29uLmlzVXNlck9iamVjdChlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBlfX19LHA9W1t7c3BhcnNlQXJyYXlzOnt0ZXN0UGxhaW5PYmplY3RzOiEwLHRlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUsdCl7cmV0dXJuIHQuaXRlcmF0ZVVuc2V0TnVtZXJpYz0hMCxlfX19LHtzcGFyc2VVbmRlZmluZWQ6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlLHQpe3JldHVybiB2b2lkIDA9PT1lJiYhMT09PXQub3duS2V5c30scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBudWxsfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe319fV0se3VuZGVmOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSx0KXtyZXR1cm4gdm9pZCAwPT09ZSYmKHQub3duS2V5c3x8IShcIm93bktleXNcImluIHQpKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBudWxsfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgVHlwZXNvbi5VbmRlZmluZWR9fX1dLGw9e1N0cmluZ09iamVjdDp7dGVzdDpmdW5jdGlvbiB0ZXN0KHQpe3JldHVybiBcIlN0cmluZ1wiPT09VHlwZXNvbi50b1N0cmluZ1RhZyh0KSYmXCJvYmplY3RcIj09PSh2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gU3RyaW5nKGUpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgU3RyaW5nKGUpfX0sQm9vbGVhbk9iamVjdDp7dGVzdDpmdW5jdGlvbiB0ZXN0KHQpe3JldHVybiBcIkJvb2xlYW5cIj09PVR5cGVzb24udG9TdHJpbmdUYWcodCkmJlwib2JqZWN0XCI9PT0odm9pZCAwPT09dD9cInVuZGVmaW5lZFwiOmUodCkpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIEJvb2xlYW4oZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIG5ldyBCb29sZWFuKGUpfX0sTnVtYmVyT2JqZWN0Ont0ZXN0OmZ1bmN0aW9uIHRlc3QodCl7cmV0dXJuIFwiTnVtYmVyXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKHQpJiZcIm9iamVjdFwiPT09KHZvaWQgMD09PXQ/XCJ1bmRlZmluZWRcIjplKHQpKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBOdW1iZXIoZSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIG5ldyBOdW1iZXIoZSl9fX0seT1be25hbjp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIm51bWJlclwiPT10eXBlb2YgZSYmaXNOYU4oZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gXCJOYU5cIn0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gTmFOfX19LHtpbmZpbml0eTp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBlPT09MS8wfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIFwiSW5maW5pdHlcIn0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gMS8wfX19LHtuZWdhdGl2ZUluZmluaXR5Ont0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIGU9PT0tMS8wfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7cmV0dXJuIFwiLUluZmluaXR5XCJ9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7cmV0dXJuIC0xLzB9fX1dLHY9e2RhdGU6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJEYXRlXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7dmFyIHQ9ZS5nZXRUaW1lKCk7cmV0dXJuIGlzTmFOKHQpP1wiTmFOXCI6dH0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gXCJOYU5cIj09PWU/bmV3IERhdGUoTmFOKTpuZXcgRGF0ZShlKX19fSxkPXtyZWdleHA6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJSZWdFeHBcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4ge3NvdXJjZTplLnNvdXJjZSxmbGFnczooZS5nbG9iYWw/XCJnXCI6XCJcIikrKGUuaWdub3JlQ2FzZT9cImlcIjpcIlwiKSsoZS5tdWx0aWxpbmU/XCJtXCI6XCJcIikrKGUuc3RpY2t5P1wieVwiOlwiXCIpKyhlLnVuaWNvZGU/XCJ1XCI6XCJcIil9fSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3ZhciB0PWUuc291cmNlLG49ZS5mbGFncztyZXR1cm4gbmV3IFJlZ0V4cCh0LG4pfX19LGg9e21hcDp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIk1hcFwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBBcnJheS5mcm9tKGUuZW50cmllcygpKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IE1hcChlKX19fSxnPXtzZXQ6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJTZXRcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnZhbHVlcygpKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IFNldChlKX19fSxiPVwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL1wiLG09bmV3IFVpbnQ4QXJyYXkoMjU2KSxUPTA7VDxiLmxlbmd0aDtUKyspbVtiLmNoYXJDb2RlQXQoVCldPVQ7dmFyIE89ZnVuY3Rpb24gZW5jb2RlKGUsdCxuKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZSx0LG4pLGk9ci5sZW5ndGgsbz1cIlwiLHM9MDtzPGk7cys9MylvKz1iW3Jbc10+PjJdLG8rPWJbKDMmcltzXSk8PDR8cltzKzFdPj40XSxvKz1iWygxNSZyW3MrMV0pPDwyfHJbcysyXT4+Nl0sbys9Yls2MyZyW3MrMl1dO3JldHVybiBpJTM9PTI/bz1vLnN1YnN0cmluZygwLG8ubGVuZ3RoLTEpK1wiPVwiOmklMz09MSYmKG89by5zdWJzdHJpbmcoMCxvLmxlbmd0aC0yKStcIj09XCIpLG99LHc9ZnVuY3Rpb24gZGVjb2RlKGUpe3ZhciB0PWUubGVuZ3RoLG49Ljc1KmUubGVuZ3RoLHI9MCxpPXZvaWQgMCxvPXZvaWQgMCxzPXZvaWQgMCxhPXZvaWQgMDtcIj1cIj09PWVbZS5sZW5ndGgtMV0mJihuLS0sXCI9XCI9PT1lW2UubGVuZ3RoLTJdJiZuLS0pO2Zvcih2YXIgYz1uZXcgQXJyYXlCdWZmZXIobiksdT1uZXcgVWludDhBcnJheShjKSxmPTA7Zjx0O2YrPTQpaT1tW2UuY2hhckNvZGVBdChmKV0sbz1tW2UuY2hhckNvZGVBdChmKzEpXSxzPW1bZS5jaGFyQ29kZUF0KGYrMildLGE9bVtlLmNoYXJDb2RlQXQoZiszKV0sdVtyKytdPWk8PDJ8bz4+NCx1W3IrK109KDE1Jm8pPDw0fHM+PjIsdVtyKytdPSgzJnMpPDw2fDYzJmE7cmV0dXJuIGN9LFM9e2FycmF5YnVmZmVyOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwiQXJyYXlCdWZmZXJcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlLHQpe3QuYnVmZmVyc3x8KHQuYnVmZmVycz1bXSk7dmFyIG49dC5idWZmZXJzLmluZGV4T2YoZSk7cmV0dXJuIG4+LTE/e2luZGV4Om59Oih0LmJ1ZmZlcnMucHVzaChlKSxPKGUpKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZSh0LG4pe2lmKG4uYnVmZmVyc3x8KG4uYnVmZmVycz1bXSksXCJvYmplY3RcIj09PSh2b2lkIDA9PT10P1widW5kZWZpbmVkXCI6ZSh0KSkpcmV0dXJuIG4uYnVmZmVyc1t0LmluZGV4XTt2YXIgcj13KHQpO3JldHVybiBuLmJ1ZmZlcnMucHVzaChyKSxyfX19LFA9XCJ1bmRlZmluZWRcIj09dHlwZW9mIHNlbGY/Y29tbW9uanNHbG9iYWw6c2VsZixqPXt9O1tcIkludDhBcnJheVwiLFwiVWludDhBcnJheVwiLFwiVWludDhDbGFtcGVkQXJyYXlcIixcIkludDE2QXJyYXlcIixcIlVpbnQxNkFycmF5XCIsXCJJbnQzMkFycmF5XCIsXCJVaW50MzJBcnJheVwiLFwiRmxvYXQzMkFycmF5XCIsXCJGbG9hdDY0QXJyYXlcIl0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLG49UFt0XTtuJiYoaltlLnRvTG93ZXJDYXNlKCldPXt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFR5cGVzb24udG9TdHJpbmdUYWcoZSk9PT10fSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSx0KXt2YXIgbj1lLmJ1ZmZlcixyPWUuYnl0ZU9mZnNldCxpPWUubGVuZ3RoO3QuYnVmZmVyc3x8KHQuYnVmZmVycz1bXSk7dmFyIG89dC5idWZmZXJzLmluZGV4T2Yobik7cmV0dXJuIG8+LTE/e2luZGV4Om8sYnl0ZU9mZnNldDpyLGxlbmd0aDppfToodC5idWZmZXJzLnB1c2gobikse2VuY29kZWQ6TyhuKSxieXRlT2Zmc2V0OnIsbGVuZ3RoOml9KX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlLHQpe3QuYnVmZmVyc3x8KHQuYnVmZmVycz1bXSk7dmFyIHI9ZS5ieXRlT2Zmc2V0LGk9ZS5sZW5ndGgsbz1lLmVuY29kZWQscz1lLmluZGV4LGE9dm9pZCAwO3JldHVybiBcImluZGV4XCJpbiBlP2E9dC5idWZmZXJzW3NdOihhPXcobyksdC5idWZmZXJzLnB1c2goYSkpLG5ldyBuKGEscixpKX19KTt9KTt2YXIgQT17ZGF0YXZpZXc6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJEYXRhVmlld1wiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUsdCl7dmFyIG49ZS5idWZmZXIscj1lLmJ5dGVPZmZzZXQsaT1lLmJ5dGVMZW5ndGg7dC5idWZmZXJzfHwodC5idWZmZXJzPVtdKTt2YXIgbz10LmJ1ZmZlcnMuaW5kZXhPZihuKTtyZXR1cm4gbz4tMT97aW5kZXg6byxieXRlT2Zmc2V0OnIsYnl0ZUxlbmd0aDppfToodC5idWZmZXJzLnB1c2gobikse2VuY29kZWQ6TyhuKSxieXRlT2Zmc2V0OnIsYnl0ZUxlbmd0aDppfSl9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSx0KXt0LmJ1ZmZlcnN8fCh0LmJ1ZmZlcnM9W10pO3ZhciBuPWUuYnl0ZU9mZnNldCxyPWUuYnl0ZUxlbmd0aCxpPWUuZW5jb2RlZCxvPWUuaW5kZXgscz12b2lkIDA7cmV0dXJuIFwiaW5kZXhcImluIGU/cz10LmJ1ZmZlcnNbb106KHM9dyhpKSx0LmJ1ZmZlcnMucHVzaChzKSksbmV3IERhdGFWaWV3KHMsbixyKX19fSxDPXtJbnRsQ29sbGF0b3I6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gVHlwZXNvbi5oYXNDb25zdHJ1Y3Rvck9mKGUsSW50bC5Db2xsYXRvcil9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gZS5yZXNvbHZlZE9wdGlvbnMoKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IEludGwuQ29sbGF0b3IoZS5sb2NhbGUsZSl9fSxJbnRsRGF0ZVRpbWVGb3JtYXQ6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gVHlwZXNvbi5oYXNDb25zdHJ1Y3Rvck9mKGUsSW50bC5EYXRlVGltZUZvcm1hdCl9LHJlcGxhY2U6ZnVuY3Rpb24gcmVwbGFjZShlKXtyZXR1cm4gZS5yZXNvbHZlZE9wdGlvbnMoKX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoZS5sb2NhbGUsZSl9fSxJbnRsTnVtYmVyRm9ybWF0Ont0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFR5cGVzb24uaGFzQ29uc3RydWN0b3JPZihlLEludGwuTnVtYmVyRm9ybWF0KX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiBlLnJlc29sdmVkT3B0aW9ucygpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoZS5sb2NhbGUsZSl9fX07ZnVuY3Rpb24gc3RyaW5nMmFycmF5YnVmZmVyKGUpe2Zvcih2YXIgdD1uZXcgVWludDE2QXJyYXkoZS5sZW5ndGgpLG49MDtuPGUubGVuZ3RoO24rKyl0W25dPWUuY2hhckNvZGVBdChuKTtyZXR1cm4gdC5idWZmZXJ9dmFyIE49e2ZpbGU6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJGaWxlXCI9PT1UeXBlc29uLnRvU3RyaW5nVGFnKGUpfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7dmFyIHQ9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKHQub3BlbihcIkdFVFwiLFVSTC5jcmVhdGVPYmplY3RVUkwoZSksITEpLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RW5jb2RlciYmdC5vdmVycmlkZU1pbWVUeXBlKFwidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtMTZsZVwiKSwyMDAhPT10LnN0YXR1cyYmMCE9PXQuc3RhdHVzKXRocm93IG5ldyBFcnJvcihcIkJhZCBCbG9iIGFjY2VzczogXCIrdC5zdGF0dXMpO3JldHVybiB0LnNlbmQoKSx7dHlwZTplLnR5cGUsc3RyaW5nQ29udGVudHM6dC5yZXNwb25zZVRleHQsbmFtZTplLm5hbWUsbGFzdE1vZGlmaWVkOmUubGFzdE1vZGlmaWVkfX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXt2YXIgdD1lLm5hbWUsbj1lLnR5cGUscj1lLnN0cmluZ0NvbnRlbnRzLGk9ZS5sYXN0TW9kaWZpZWQsbz1zdHJpbmcyYXJyYXlidWZmZXIocik7cmV0dXJuIG5ldyBGaWxlKFtvXSx0LHt0eXBlOm4sbGFzdE1vZGlmaWVkOml9KX0scmVwbGFjZUFzeW5jOmZ1bmN0aW9uIHJlcGxhY2VBc3luYyhlKXtyZXR1cm4gbmV3IFR5cGVzb24uUHJvbWlzZShmdW5jdGlvbih0LG4pe2lmKGUuaXNDbG9zZWQpbihuZXcgRXJyb3IoXCJUaGUgRmlsZSBpcyBjbG9zZWRcIikpO2Vsc2V7dmFyIHI9bmV3IEZpbGVSZWFkZXI7ci5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLGZ1bmN0aW9uKCl7dCh7dHlwZTplLnR5cGUsc3RyaW5nQ29udGVudHM6ci5yZXN1bHQsbmFtZTplLm5hbWUsbGFzdE1vZGlmaWVkOmUubGFzdE1vZGlmaWVkfSk7fSksci5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIixmdW5jdGlvbigpe24oci5lcnJvcik7fSksci5yZWFkQXNUZXh0KGUsXCJVVEYtMTZcIik7fX0pfX19O3JldHVybiBbZixwLGwseSx2LGQse2ltYWdlZGF0YTp7dGVzdDpmdW5jdGlvbiB0ZXN0KGUpe3JldHVybiBcIkltYWdlRGF0YVwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3JldHVybiB7YXJyYXk6QXJyYXkuZnJvbShlLmRhdGEpLHdpZHRoOmUud2lkdGgsaGVpZ2h0OmUuaGVpZ2h0fX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXtyZXR1cm4gbmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkoZS5hcnJheSksZS53aWR0aCxlLmhlaWdodCl9fX0se2ltYWdlYml0bWFwOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwiSW1hZ2VCaXRtYXBcIj09PVR5cGVzb24udG9TdHJpbmdUYWcoZSl8fGUmJmUuZGF0YXNldCYmXCJJbWFnZUJpdG1hcFwiPT09ZS5kYXRhc2V0LnRvU3RyaW5nVGFnfSxyZXBsYWNlOmZ1bmN0aW9uIHJlcGxhY2UoZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtyZXR1cm4gdC5nZXRDb250ZXh0KFwiMmRcIikuZHJhd0ltYWdlKGUsMCwwKSx0LnRvRGF0YVVSTCgpfSxyZXZpdmU6ZnVuY3Rpb24gcmV2aXZlKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIiksbj10LmdldENvbnRleHQoXCIyZFwiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7cmV0dXJuIHIub25sb2FkPWZ1bmN0aW9uKCl7bi5kcmF3SW1hZ2UociwwLDApO30sci5zcmM9ZSx0fSxyZXZpdmVBc3luYzpmdW5jdGlvbiByZXZpdmVBc3luYyhlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpLG49dC5nZXRDb250ZXh0KFwiMmRcIikscj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW1nXCIpO3JldHVybiByLm9ubG9hZD1mdW5jdGlvbigpe24uZHJhd0ltYWdlKHIsMCwwKTt9LHIuc3JjPWUsY3JlYXRlSW1hZ2VCaXRtYXAodCl9fX0sTix7ZmlsZTpOLmZpbGUsZmlsZWxpc3Q6e3Rlc3Q6ZnVuY3Rpb24gdGVzdChlKXtyZXR1cm4gXCJGaWxlTGlzdFwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspdFtuXT1lLml0ZW0obik7cmV0dXJuIHR9LHJldml2ZTpmdW5jdGlvbiByZXZpdmUoZSl7ZnVuY3Rpb24gRmlsZUxpc3QoKXt0aGlzLl9maWxlcz1hcmd1bWVudHNbMF0sdGhpcy5sZW5ndGg9dGhpcy5fZmlsZXMubGVuZ3RoO31yZXR1cm4gRmlsZUxpc3QucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2ZpbGVzW2VdfSxGaWxlTGlzdC5wcm90b3R5cGVbU3ltYm9sLnRvU3RyaW5nVGFnXT1cIkZpbGVMaXN0XCIsbmV3IEZpbGVMaXN0KGUpfX19LHtibG9iOnt0ZXN0OmZ1bmN0aW9uIHRlc3QoZSl7cmV0dXJuIFwiQmxvYlwiPT09VHlwZXNvbi50b1N0cmluZ1RhZyhlKX0scmVwbGFjZTpmdW5jdGlvbiByZXBsYWNlKGUpe3ZhciB0PW5ldyBYTUxIdHRwUmVxdWVzdDtpZih0Lm9wZW4oXCJHRVRcIixVUkwuY3JlYXRlT2JqZWN0VVJMKGUpLCExKSxcInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dEVuY29kZXImJnQub3ZlcnJpZGVNaW1lVHlwZShcInRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTE2bGVcIiksMjAwIT09dC5zdGF0dXMmJjAhPT10LnN0YXR1cyl0aHJvdyBuZXcgRXJyb3IoXCJCYWQgQmxvYiBhY2Nlc3M6IFwiK3Quc3RhdHVzKTtyZXR1cm4gdC5zZW5kKCkse3R5cGU6ZS50eXBlLHN0cmluZ0NvbnRlbnRzOnQucmVzcG9uc2VUZXh0fX0scmV2aXZlOmZ1bmN0aW9uIHJldml2ZShlKXt2YXIgdD1lLnR5cGUsbj1lLnN0cmluZ0NvbnRlbnRzO3JldHVybiBuZXcgQmxvYihbc3RyaW5nMmFycmF5YnVmZmVyKG4pXSx7dHlwZTp0fSl9LHJlcGxhY2VBc3luYzpmdW5jdGlvbiByZXBsYWNlQXN5bmMoZSl7cmV0dXJuIG5ldyBUeXBlc29uLlByb21pc2UoZnVuY3Rpb24odCxuKXtpZihlLmlzQ2xvc2VkKW4obmV3IEVycm9yKFwiVGhlIEJsb2IgaXMgY2xvc2VkXCIpKTtlbHNle3ZhciByPW5ldyBGaWxlUmVhZGVyO3IuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIixmdW5jdGlvbigpe3Qoe3R5cGU6ZS50eXBlLHN0cmluZ0NvbnRlbnRzOnIucmVzdWx0fSk7fSksci5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIixmdW5jdGlvbigpe24oci5lcnJvcik7fSksci5yZWFkQXNUZXh0KGUsXCJVVEYtMTZcIik7fX0pfX19XS5jb25jYXQoXCJmdW5jdGlvblwiPT10eXBlb2YgTWFwP2g6W10sXCJmdW5jdGlvblwiPT10eXBlb2YgU2V0P2c6W10sXCJmdW5jdGlvblwiPT10eXBlb2YgQXJyYXlCdWZmZXI/UzpbXSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBVaW50OEFycmF5P2o6W10sXCJmdW5jdGlvblwiPT10eXBlb2YgRGF0YVZpZXc/QTpbXSxcInVuZGVmaW5lZFwiIT10eXBlb2YgSW50bD9DOltdKX0pO1xuXG59KTtcblxuLypcbiAqIGJhc2U2NC1hcnJheWJ1ZmZlclxuICogaHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlclxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNyBCcmV0dCBaYW1pciwgMjAxMiBOaWtsYXMgdm9uIEhlcnR6ZW5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqL1xudmFyIGNoYXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nOyAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguXG5cbnZhciBsb29rdXAgPSBuZXcgVWludDhBcnJheSgyNTYpO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG59XG5cbnZhciBlbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoYXJyYXlidWZmZXIsIGJ5dGVPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAobGVuZ3RoID09PSBudWxsIHx8IGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbGVuZ3RoID0gYXJyYXlidWZmZXIuYnl0ZUxlbmd0aDsgLy8gTmVlZGVkIGZvciBTYWZhcmlcbiAgfVxuXG4gIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyLCBieXRlT2Zmc2V0IHx8IDAsIC8vIERlZmF1bHQgbmVlZGVkIGZvciBTYWZhcmlcbiAgbGVuZ3RoKTtcbiAgdmFyIGxlbiA9IGJ5dGVzLmxlbmd0aDtcbiAgdmFyIGJhc2U2NCA9ICcnO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBsZW47IF9pICs9IDMpIHtcbiAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbX2ldID4+IDJdO1xuICAgIGJhc2U2NCArPSBjaGFyc1soYnl0ZXNbX2ldICYgMykgPDwgNCB8IGJ5dGVzW19pICsgMV0gPj4gNF07XG4gICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tfaSArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tfaSArIDJdID4+IDZdO1xuICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tfaSArIDJdICYgNjNdO1xuICB9XG5cbiAgaWYgKGxlbiAlIDMgPT09IDIpIHtcbiAgICBiYXNlNjQgPSBiYXNlNjQuc3Vic3RyaW5nKDAsIGJhc2U2NC5sZW5ndGggLSAxKSArICc9JztcbiAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7XG4gICAgYmFzZTY0ID0gYmFzZTY0LnN1YnN0cmluZygwLCBiYXNlNjQubGVuZ3RoIC0gMikgKyAnPT0nO1xuICB9XG5cbiAgcmV0dXJuIGJhc2U2NDtcbn07XG52YXIgZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGJhc2U2NCkge1xuICB2YXIgbGVuID0gYmFzZTY0Lmxlbmd0aDtcbiAgdmFyIGJ1ZmZlckxlbmd0aCA9IGJhc2U2NC5sZW5ndGggKiAwLjc1O1xuICB2YXIgcCA9IDA7XG4gIHZhciBlbmNvZGVkMSwgZW5jb2RlZDIsIGVuY29kZWQzLCBlbmNvZGVkNDtcblxuICBpZiAoYmFzZTY0W2Jhc2U2NC5sZW5ndGggLSAxXSA9PT0gJz0nKSB7XG4gICAgYnVmZmVyTGVuZ3RoLS07XG5cbiAgICBpZiAoYmFzZTY0W2Jhc2U2NC5sZW5ndGggLSAyXSA9PT0gJz0nKSB7XG4gICAgICBidWZmZXJMZW5ndGgtLTtcbiAgICB9XG4gIH1cblxuICB2YXIgYXJyYXlidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnVmZmVyTGVuZ3RoKSxcbiAgICAgIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpO1xuXG4gIGZvciAodmFyIF9pMiA9IDA7IF9pMiA8IGxlbjsgX2kyICs9IDQpIHtcbiAgICBlbmNvZGVkMSA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChfaTIpXTtcbiAgICBlbmNvZGVkMiA9IGxvb2t1cFtiYXNlNjQuY2hhckNvZGVBdChfaTIgKyAxKV07XG4gICAgZW5jb2RlZDMgPSBsb29rdXBbYmFzZTY0LmNoYXJDb2RlQXQoX2kyICsgMildO1xuICAgIGVuY29kZWQ0ID0gbG9va3VwW2Jhc2U2NC5jaGFyQ29kZUF0KF9pMiArIDMpXTtcbiAgICBieXRlc1twKytdID0gZW5jb2RlZDEgPDwgMiB8IGVuY29kZWQyID4+IDQ7XG4gICAgYnl0ZXNbcCsrXSA9IChlbmNvZGVkMiAmIDE1KSA8PCA0IHwgZW5jb2RlZDMgPj4gMjtcbiAgICBieXRlc1twKytdID0gKGVuY29kZWQzICYgMykgPDwgNiB8IGVuY29kZWQ0ICYgNjM7XG4gIH1cblxuICByZXR1cm4gYXJyYXlidWZmZXI7XG59O1xuXG4vKiBlc2xpbnQtZW52IGJyb3dzZXIsIG5vZGUgKi9cbnZhciBfZ2xvYmFsID0gdHlwZW9mIHNlbGYgPT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDogc2VsZjtcbnZhciBleHBvcnRPYmogPSB7fTtcbltcbiAgICAnSW50OEFycmF5JyxcbiAgICAnVWludDhBcnJheScsXG4gICAgJ1VpbnQ4Q2xhbXBlZEFycmF5JyxcbiAgICAnSW50MTZBcnJheScsXG4gICAgJ1VpbnQxNkFycmF5JyxcbiAgICAnSW50MzJBcnJheScsXG4gICAgJ1VpbnQzMkFycmF5JyxcbiAgICAnRmxvYXQzMkFycmF5JyxcbiAgICAnRmxvYXQ2NEFycmF5J1xuXS5mb3JFYWNoKGZ1bmN0aW9uICh0eXBlTmFtZSkge1xuICAgIHZhciBhcnJUeXBlID0gdHlwZU5hbWU7XG4gICAgdmFyIFR5cGVkQXJyYXkgPSBfZ2xvYmFsW2FyclR5cGVdO1xuICAgIGlmIChUeXBlZEFycmF5KSB7XG4gICAgICAgIGV4cG9ydE9ialt0eXBlTmFtZS50b0xvd2VyQ2FzZSgpICsgXCIyXCJdID0ge1xuICAgICAgICAgICAgdGVzdDogZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHR5cGVzb24udG9TdHJpbmdUYWcoeCkgPT09IGFyclR5cGU7IH0sXG4gICAgICAgICAgICByZXBsYWNlOiBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICB2YXIgYnVmZmVyID0gX2EuYnVmZmVyLCBieXRlT2Zmc2V0ID0gX2EuYnl0ZU9mZnNldCwgbGVuZ3RoID0gX2EubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjogYnVmZmVyLFxuICAgICAgICAgICAgICAgICAgICBieXRlT2Zmc2V0OiBieXRlT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBsZW5ndGg6IGxlbmd0aFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmV2aXZlOiBmdW5jdGlvbiAoYjY0T2JqKSB7XG4gICAgICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGI2NE9iai5idWZmZXIsIGJ5dGVPZmZzZXQgPSBiNjRPYmouYnl0ZU9mZnNldCwgbGVuZ3RoID0gYjY0T2JqLmxlbmd0aDtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFR5cGVkQXJyYXkoYnVmZmVyLCBieXRlT2Zmc2V0LCBsZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn0pO1xuXG52YXIgYXJyYXlCdWZmZXIgPSB7XG4gICAgYXJyYXlidWZmZXI6IHtcbiAgICAgICAgdGVzdDogZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHR5cGVzb24udG9TdHJpbmdUYWcoeCkgPT09ICdBcnJheUJ1ZmZlcic7IH0sXG4gICAgICAgIHJlcGxhY2U6IGZ1bmN0aW9uIChiKSB7XG4gICAgICAgICAgICByZXR1cm4gZW5jb2RlKGIsIDAsIGIuYnl0ZUxlbmd0aCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJldml2ZTogZnVuY3Rpb24gKGI2NCkge1xuICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IGRlY29kZShiNjQpO1xuICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICAgICAgfVxuICAgIH1cbn07XG4vLyBTZWUgYWxzbyB0eXBlZC1hcnJheXMhXG5cbnZhciBUU09OID0gbmV3IHR5cGVzb24oKS5yZWdpc3RlcihzdHJ1Y3R1cmVkQ2xvbmluZyk7XG52YXIgcmVhZEJsb2JzU3luY2hyb25vdXNseSA9ICdGaWxlUmVhZGVyU3luYycgaW4gc2VsZjsgLy8gdHJ1ZSBpbiB3b3JrZXJzIG9ubHkuXG52YXIgYmxvYnNUb0F3YWl0ID0gW107XG52YXIgYmxvYnNUb0F3YWl0UG9zID0gMDtcbi8vIE5lZWQgdG8gcGF0Y2ggZW5jYXBzdWxhdGVBc3luYyBhcyBpdCBkb2VzIG5vdCB3b3JrIGFzIG9mIHR5cGVzb24gNS44LjJcbi8vIEFsc28sIGN1cnJlbnQgdmVyc2lvbiBvZiB0eXBlc3BuLXJlZ2lzdHJ5LTEuMC4wLWFscGhhLjIxIGRvZXMgbm90XG4vLyBlbmNhcHN1bGF0ZS9yZXZpdmUgQmxvYnMgY29ycmVjdGx5IChmYWlscyBvbmUgb2YgdGhlIHVuaXQgdGVzdHMgaW5cbi8vIHRoaXMgbGlicmFyeSAodGVzdCAnZXhwb3J0LWZvcm1hdCcpKVxuVFNPTi5yZWdpc3RlcihbXG4gICAgYXJyYXlCdWZmZXIsXG4gICAgZXhwb3J0T2JqLCB7XG4gICAgICAgIGJsb2IyOiB7XG4gICAgICAgICAgICB0ZXN0OiBmdW5jdGlvbiAoeCkgeyByZXR1cm4gdHlwZXNvbi50b1N0cmluZ1RhZyh4KSA9PT0gJ0Jsb2InOyB9LFxuICAgICAgICAgICAgcmVwbGFjZTogZnVuY3Rpb24gKGIpIHtcbiAgICAgICAgICAgICAgICBpZiAoYi5pc0Nsb3NlZCkgeyAvLyBPbiBNRE4sIGJ1dCBub3QgaW4gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0ZpbGVBUEkvI2Rmbi1CbG9iXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIEJsb2IgaXMgY2xvc2VkJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZWFkQmxvYnNTeW5jaHJvbm91c2x5KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gcmVhZEJsb2JTeW5jKGIsICdiaW5hcnknKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGJhc2U2NCA9IGVuY29kZShkYXRhLCAwLCBkYXRhLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYi50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogYmFzZTY0XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBibG9ic1RvQXdhaXQucHVzaChiKTsgLy8gVGhpcyB3aWxsIGFsc28gbWFrZSBUU09OLm11c3RGaW5hbGl6ZSgpIHJldHVybiB0cnVlLlxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYi50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBzdGFydDogYmxvYnNUb0F3YWl0UG9zLCBlbmQ6IGJsb2JzVG9Bd2FpdFBvcyArIGIuc2l6ZSB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYi5zaXplOiBcIiArIGIuc2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJsb2JzVG9Bd2FpdFBvcyArPSBiLnNpemU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZpbmFsaXplOiBmdW5jdGlvbiAoYiwgYmEpIHtcbiAgICAgICAgICAgICAgICBiLmRhdGEgPSBlbmNvZGUoYmEsIDAsIGJhLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJldml2ZTogZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIHR5cGUgPSBfYS50eXBlLCBkYXRhID0gX2EuZGF0YTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJsb2IoW2RlY29kZShkYXRhKV0sIHsgdHlwZTogdHlwZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbl0pO1xuVFNPTi5tdXN0RmluYWxpemUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBibG9ic1RvQXdhaXQubGVuZ3RoID4gMDsgfTtcblRTT04uZmluYWxpemUgPSBmdW5jdGlvbiAoaXRlbXMpIHsgcmV0dXJuIF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGFsbENodW5rcywgX2ksIGl0ZW1zXzEsIGl0ZW0sIHR5cGVzLCBhcnJheVR5cGUsIGtleVBhdGgsIHR5cGVOYW1lLCB0eXBlU3BlYywgYjtcbiAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIFs0IC8qeWllbGQqLywgcmVhZEJsb2JBc3luYyhuZXcgQmxvYihibG9ic1RvQXdhaXQpLCAnYmluYXJ5JyldO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIGFsbENodW5rcyA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChfaSA9IDAsIGl0ZW1zXzEgPSBpdGVtczsgX2kgPCBpdGVtc18xLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zXzFbX2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFudWFsbHkgZ28gdGhyb3VnaCBhbGwgXCJibG9iXCIgdHlwZXMgaW4gdGhlIHJlc3VsdFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGxvb2t1cCB0aGUgZGF0YSBzbGljZSB0aGV5IHBvaW50IGF0LlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uJHR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXMgPSBpdGVtLiR0eXBlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheVR5cGUgPSB0eXBlcy4kO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcnJheVR5cGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVzID0gdHlwZXMuJDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGtleVBhdGggaW4gdHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlc1trZXlQYXRoXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZVNwZWMgPSBUU09OLnR5cGVzW3R5cGVOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVTcGVjICYmIHR5cGVTcGVjLmZpbmFsaXplKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiID0gRGV4aWUuZ2V0QnlLZXlQYXRoKGl0ZW0sIGFycmF5VHlwZSA/IFwiJC5cIiArIGtleVBhdGggOiBrZXlQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVTcGVjLmZpbmFsaXplKGIsIGFsbENodW5rcy5zbGljZShiLnN0YXJ0LCBiLmVuZCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIEZyZWUgdXAgbWVtb3J5XG4gICAgICAgICAgICAgICAgYmxvYnNUb0F3YWl0ID0gW107XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICB9XG4gICAgfSk7XG59KTsgfTtcblxudmFyIERFRkFVTFRfUk9XU19QRVJfQ0hVTksgPSAyMDAwO1xuZnVuY3Rpb24gZXhwb3J0REIoZGIsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZ1bmN0aW9uIGV4cG9ydEFsbCgpIHtcbiAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFibGVzUm93Q291bnRzLCBlbXB0eUV4cG9ydEpzb24sIHBvc0VuZERhdGFBcnJheSwgZmlyc3RKc29uU2xpY2UsIGZpbHRlciwgX2xvb3BfMSwgX2ksIHRhYmxlc18xLCB0YWJsZU5hbWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6IHJldHVybiBbNCAvKnlpZWxkKi8sIFByb21pc2UuYWxsKGRiLnRhYmxlcy5tYXAoZnVuY3Rpb24gKHRhYmxlKSB7IHJldHVybiB0YWJsZS5jb3VudCgpOyB9KSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlc1Jvd0NvdW50cyA9IF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXNSb3dDb3VudHMuZm9yRWFjaChmdW5jdGlvbiAocm93Q291bnQsIGkpIHsgcmV0dXJuIHRhYmxlc1tpXS5yb3dDb3VudCA9IHJvd0NvdW50OyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy50b3RhbFJvd3MgPSB0YWJsZXNSb3dDb3VudHMucmVkdWNlKGZ1bmN0aW9uIChwLCBjKSB7IHJldHVybiBwICsgYzsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlFeHBvcnRKc29uID0gSlNPTi5zdHJpbmdpZnkoZW1wdHlFeHBvcnQsIHVuZGVmaW5lZCwgcHJldHR5SnNvbiA/IDIgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc0VuZERhdGFBcnJheSA9IGVtcHR5RXhwb3J0SnNvbi5sYXN0SW5kZXhPZignXScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0SnNvblNsaWNlID0gZW1wdHlFeHBvcnRKc29uLnN1YnN0cmluZygwLCBwb3NFbmREYXRhQXJyYXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKGZpcnN0SnNvblNsaWNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgPSBvcHRpb25zLmZpbHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbG9vcF8xID0gZnVuY3Rpb24gKHRhYmxlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGFibGUsIHByaW1LZXksIGluYm91bmQsIExJTUlULCBlbXB0eVRhYmxlRXhwb3J0LCBlbXB0eVRhYmxlRXhwb3J0SnNvbiwgcG9zRW5kUm93c0FycmF5LCBsYXN0S2V5LCBsYXN0TnVtUm93cywgbWF5SGF2ZU1vcmVSb3dzLCBfbG9vcF8yLCBzdGF0ZV8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSA9IGRiLnRhYmxlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1LZXkgPSB0YWJsZS5zY2hlbWEucHJpbUtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5ib3VuZCA9ICEhcHJpbUtleS5rZXlQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSU1JVCA9IG9wdGlvbnMubnVtUm93c1BlckNodW5rIHx8IERFRkFVTFRfUk9XU19QRVJfQ0hVTks7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5VGFibGVFeHBvcnQgPSBpbmJvdW5kID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lOiB0YWJsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5ib3VuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M6IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU5hbWU6IHRhYmxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmJvdW5kOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M6IFtdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5VGFibGVFeHBvcnRKc29uID0gSlNPTi5zdHJpbmdpZnkoZW1wdHlUYWJsZUV4cG9ydCwgdW5kZWZpbmVkLCBwcmV0dHlKc29uID8gMiA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV0dHlKc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNyZWFzZSBpbmRlbnRhdGlvbiBhY2NvcmRpbmcgdG8gdGhpczpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgLi4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAuLi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMjM0NTY8LS0tLSBoZXJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgXSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHlUYWJsZUV4cG9ydEpzb24gPSBlbXB0eVRhYmxlRXhwb3J0SnNvbi5zcGxpdCgnXFxuJykuam9pbignXFxuICAgICcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc0VuZFJvd3NBcnJheSA9IGVtcHR5VGFibGVFeHBvcnRKc29uLmxhc3RJbmRleE9mKCddJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKGVtcHR5VGFibGVFeHBvcnRKc29uLnN1YnN0cmluZygwLCBwb3NFbmRSb3dzQXJyYXkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEtleSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROdW1Sb3dzID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5SGF2ZU1vcmVSb3dzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2xvb3BfMiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaHVua2VkQ29sbGVjdGlvbiwgdmFsdWVzLCBmaWx0ZXJlZFZhbHVlcywgdHNvblZhbHVlcywganNvbiwga2V5cywga2V5dmFscywgdHNvblR1cGxlcywganNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzc0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXhpZS5pZ25vcmVUcmFuc2FjdGlvbihmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9ncmVzc0NhbGxiYWNrKHByb2dyZXNzKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua2VkQ29sbGVjdGlvbiA9IGxhc3RLZXkgPT0gbnVsbCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUubGltaXQoTElNSVQpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS53aGVyZSgnOmlkJykuYWJvdmUobGFzdEtleSkubGltaXQoTElNSVQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgY2h1bmtlZENvbGxlY3Rpb24udG9BcnJheSgpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIFwiYnJlYWtcIl07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdEtleSAhPSBudWxsICYmIGxhc3ROdW1Sb3dzID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBpbml0aWFsIGNodW5rLiBNdXN0IGFkZCBhIGNvbW1hOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlcy5wdXNoKFwiLFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldHR5SnNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChcIlxcbiAgICAgIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXlIYXZlTW9yZVJvd3MgPSB2YWx1ZXMubGVuZ3RoID09PSBMSU1JVDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5ib3VuZCkgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZFZhbHVlcyA9IGZpbHRlciA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzLmZpbHRlcihmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIGZpbHRlcih0YWJsZU5hbWUsIHZhbHVlKTsgfSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzb25WYWx1ZXMgPSBmaWx0ZXJlZFZhbHVlcy5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBUU09OLmVuY2Fwc3VsYXRlKHZhbHVlKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVRTT04ubXVzdEZpbmFsaXplKCkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgRGV4aWUud2FpdEZvcihUU09OLmZpbmFsaXplKHRzb25WYWx1ZXMpKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IEpTT04uc3RyaW5naWZ5KHRzb25WYWx1ZXMsIHVuZGVmaW5lZCwgcHJldHR5SnNvbiA/IDIgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXR0eUpzb24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IGpzb24uc3BsaXQoJ1xcbicpLmpvaW4oJ1xcbiAgICAgICcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQnkgZ2VuZXJhdGluZyBhIGJsb2IgaGVyZSwgd2UgZ2l2ZSB3ZWIgcGxhdGZvcm0gdGhlIG9wcG9ydHVuaXR5IHRvIHN0b3JlIHRoZSBjb250ZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gZGlzayBhbmQgcmVsZWFzZSBSQU0uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChuZXcgQmxvYihbanNvbi5zdWJzdHJpbmcoMSwganNvbi5sZW5ndGggLSAxKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3ROdW1Sb3dzID0gZmlsdGVyZWRWYWx1ZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEtleSA9IHZhbHVlcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXhpZS5nZXRCeUtleVBhdGgodmFsdWVzW3ZhbHVlcy5sZW5ndGggLSAxXSwgcHJpbUtleS5rZXlQYXRoKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHJldHVybiBbNCAvKnlpZWxkKi8sIGNodW5rZWRDb2xsZWN0aW9uLnByaW1hcnlLZXlzKCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5dmFscyA9IGtleXMubWFwKGZ1bmN0aW9uIChrZXksIGkpIHsgcmV0dXJuIFtrZXksIHZhbHVlc1tpXV07IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl2YWxzID0ga2V5dmFscy5maWx0ZXIoZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSBfYVswXSwgdmFsdWUgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcih0YWJsZU5hbWUsIHZhbHVlLCBrZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHNvblR1cGxlcyA9IGtleXZhbHMubWFwKGZ1bmN0aW9uICh0dXBsZSkgeyByZXR1cm4gVFNPTi5lbmNhcHN1bGF0ZSh0dXBsZSk7IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFUU09OLm11c3RGaW5hbGl6ZSgpKSByZXR1cm4gWzMgLypicmVhayovLCA3XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIERleGllLndhaXRGb3IoVFNPTi5maW5hbGl6ZSh0c29uVHVwbGVzKSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb24gPSBKU09OLnN0cmluZ2lmeSh0c29uVHVwbGVzLCB1bmRlZmluZWQsIHByZXR0eUpzb24gPyAyIDogdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV0dHlKc29uKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb24gPSBqc29uLnNwbGl0KCdcXG4nKS5qb2luKCdcXG4gICAgICAnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJ5IGdlbmVyYXRpbmcgYSBibG9iIGhlcmUsIHdlIGdpdmUgd2ViIHBsYXRmb3JtIHRoZSBvcHBvcnR1bml0eSB0byBzdG9yZSB0aGUgY29udGVudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIGRpc2sgYW5kIHJlbGVhc2UgUkFNLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2gobmV3IEJsb2IoW2pzb24uc3Vic3RyaW5nKDEsIGpzb24ubGVuZ3RoIC0gMSldKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0TnVtUm93cyA9IGtleXZhbHMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEtleSA9IGtleXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5c1trZXlzLmxlbmd0aCAtIDFdIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSA4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5jb21wbGV0ZWRSb3dzICs9IHZhbHVlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbWF5SGF2ZU1vcmVSb3dzKSByZXR1cm4gWzMgLypicmVhayovLCAzXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs1IC8qeWllbGQqKi8sIF9sb29wXzIoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZV8xID0gX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGVfMSA9PT0gXCJicmVha1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2goZW1wdHlUYWJsZUV4cG9ydEpzb24uc3Vic3RyKHBvc0VuZFJvd3NBcnJheSkpOyAvLyBcIl19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MuY29tcGxldGVkVGFibGVzICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzcy5jb21wbGV0ZWRUYWJsZXMgPCBwcm9ncmVzcy50b3RhbFRhYmxlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VzLnB1c2goXCIsXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaSA9IDAsIHRhYmxlc18xID0gdGFibGVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLmxhYmVsID0gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShfaSA8IHRhYmxlc18xLmxlbmd0aCkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlTmFtZSA9IHRhYmxlc18xW19pXS5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNSAvKnlpZWxkKiovLCBfbG9vcF8xKHRhYmxlTmFtZSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2krKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZXMucHVzaChlbXB0eUV4cG9ydEpzb24uc3Vic3RyKHBvc0VuZERhdGFBcnJheSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLmRvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9ncmVzc0NhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtlZXAgb25nb2luZyB0cmFuc2FjdGlvbiBwcml2YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc2xpY2VzLCB0YWJsZXMsIHByZXR0eUpzb24sIGVtcHR5RXhwb3J0LCBwcm9ncmVzc0NhbGxiYWNrLCBwcm9ncmVzcztcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgICAgICAgICAgICAgIHNsaWNlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0YWJsZXMgPSBkYi50YWJsZXMubWFwKGZ1bmN0aW9uICh0YWJsZSkgeyByZXR1cm4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRhYmxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWE6IGdldFNjaGVtYVN0cmluZyh0YWJsZSksXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dDb3VudDogMFxuICAgICAgICAgICAgICAgICAgICB9KTsgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByZXR0eUpzb24gPSBvcHRpb25zLnByZXR0eUpzb247XG4gICAgICAgICAgICAgICAgICAgIGVtcHR5RXhwb3J0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0TmFtZTogXCJkZXhpZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0VmVyc2lvbjogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZU5hbWU6IGRiLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VWZXJzaW9uOiBkYi52ZXJubyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXM6IHRhYmxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0NhbGxiYWNrID0gb3B0aW9ucy5wcm9ncmVzc0NhbGxiYWNrO1xuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVkUm93czogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZFRhYmxlczogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsUm93czogTmFOLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxUYWJsZXM6IGRiLnRhYmxlcy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgX2EudHJ5cy5wdXNoKFsxLCAsIDYsIDddKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLm5vVHJhbnNhY3Rpb24pIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBleHBvcnRBbGwoKV07XG4gICAgICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgICAgICBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDVdO1xuICAgICAgICAgICAgICAgIGNhc2UgMzogcmV0dXJuIFs0IC8qeWllbGQqLywgZGIudHJhbnNhY3Rpb24oJ3InLCBkYi50YWJsZXMsIGV4cG9ydEFsbCldO1xuICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDU7XG4gICAgICAgICAgICAgICAgY2FzZSA1OiByZXR1cm4gWzMgLypicmVhayovLCA3XTtcbiAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgIFRTT04uZmluYWxpemUoKTsgLy8gRnJlZSB1cCBtZW0gaWYgZXJyb3IgaGFzIG9jY3VycmVkXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNyAvKmVuZGZpbmFsbHkqL107XG4gICAgICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvZ3Jlc3NDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgbmV3IEJsb2Ioc2xpY2VzLCB7IHR5cGU6IFwidGV4dC9qc29uXCIgfSldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxudmFyIFZFUlNJT04gPSAxO1xuXG52YXIgZmFrZVN0cmVhbSA9IHtTdHJlYW06IGZ1bmN0aW9uKCl7fX07XG5cbnZhciBjbGFyaW5ldF8xID0gY3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xuKGZ1bmN0aW9uIChjbGFyaW5ldCkge1xuXG4gIC8vIG5vbiBub2RlLWpzIG5lZWRzIHRvIHNldCBjbGFyaW5ldCBkZWJ1ZyBvbiByb290XG4gIHZhciBlbnYgPSh0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiYgcHJvY2Vzcy5lbnYpXG4gICAgPyBwcm9jZXNzLmVudlxuICAgIDogc2VsZjtcblxuICBjbGFyaW5ldC5wYXJzZXIgICAgICAgICAgICA9IGZ1bmN0aW9uIChvcHQpIHsgcmV0dXJuIG5ldyBDUGFyc2VyKG9wdCk7fTtcbiAgY2xhcmluZXQuQ1BhcnNlciAgICAgICAgICAgPSBDUGFyc2VyO1xuICBjbGFyaW5ldC5DU3RyZWFtICAgICAgICAgICA9IENTdHJlYW07XG4gIGNsYXJpbmV0LmNyZWF0ZVN0cmVhbSAgICAgID0gY3JlYXRlU3RyZWFtO1xuICBjbGFyaW5ldC5NQVhfQlVGRkVSX0xFTkdUSCA9IDEwICogMTAyNCAqIDEwMjQ7XG4gIGNsYXJpbmV0LkRFQlVHICAgICAgICAgICAgID0gKGVudi5DREVCVUc9PT0nZGVidWcnKTtcbiAgY2xhcmluZXQuSU5GTyAgICAgICAgICAgICAgPSAoZW52LkNERUJVRz09PSdkZWJ1ZycgfHwgZW52LkNERUJVRz09PSdpbmZvJyk7XG4gIGNsYXJpbmV0LkVWRU5UUyAgICAgICAgICAgID1cbiAgICBbIFwidmFsdWVcIlxuICAgICwgXCJzdHJpbmdcIlxuICAgICwgXCJrZXlcIlxuICAgICwgXCJvcGVub2JqZWN0XCJcbiAgICAsIFwiY2xvc2VvYmplY3RcIlxuICAgICwgXCJvcGVuYXJyYXlcIlxuICAgICwgXCJjbG9zZWFycmF5XCJcbiAgICAsIFwiZXJyb3JcIlxuICAgICwgXCJlbmRcIlxuICAgICwgXCJyZWFkeVwiXG4gICAgXTtcblxuICB2YXIgYnVmZmVycyAgICAgPSB7XG4gICAgICAgIHRleHROb2RlOiB1bmRlZmluZWQsXG4gICAgICAgIG51bWJlck5vZGU6IFwiXCJcbiAgICB9XG4gICAgLCBzdHJlYW1XcmFwcyA9IGNsYXJpbmV0LkVWRU5UUy5maWx0ZXIoZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgcmV0dXJuIGV2ICE9PSBcImVycm9yXCIgJiYgZXYgIT09IFwiZW5kXCI7XG4gICAgICAgIH0pXG4gICAgLCBTICAgICAgICAgICA9IDBcbiAgICAsIFN0cmVhbVxuICAgIDtcblxuICBjbGFyaW5ldC5TVEFURSA9XG4gICAgeyBCRUdJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKytcbiAgICAsIFZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBnZW5lcmFsIHN0dWZmXG4gICAgLCBPUEVOX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8ge1xuICAgICwgQ0xPU0VfT0JKRUNUICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIH1cbiAgICAsIE9QRU5fQVJSQVkgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBbXG4gICAgLCBDTE9TRV9BUlJBWSAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gXVxuICAgICwgVEVYVF9FU0NBUEUgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIFxcIHN0dWZmXG4gICAgLCBTVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gXCJcIlxuICAgICwgQkFDS1NMQVNIICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrXG4gICAgLCBFTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gTm8gbW9yZSBzdGFja1xuICAgICwgT1BFTl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vICwgXCJhXCJcbiAgICAsIENMT1NFX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyA6XG4gICAgLCBUUlVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gclxuICAgICwgVFJVRTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIHVcbiAgICAsIFRSVUUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBlXG4gICAgLCBGQUxTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gYVxuICAgICwgRkFMU0UyICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIGxcbiAgICAsIEZBTFNFMyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBzXG4gICAgLCBGQUxTRTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gZVxuICAgICwgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUysrIC8vIHVcbiAgICAsIE5VTEwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBsXG4gICAgLCBOVUxMMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBTKysgLy8gbFxuICAgICwgTlVNQkVSX0RFQ0lNQUxfUE9JTlQgICAgICAgICAgICAgIDogUysrIC8vIC5cbiAgICAsIE5VTUJFUl9ESUdJVCAgICAgICAgICAgICAgICAgICAgICA6IFMrKyAvLyBbMC05XVxuICAgIH07XG5cbiAgZm9yICh2YXIgc18gaW4gY2xhcmluZXQuU1RBVEUpIGNsYXJpbmV0LlNUQVRFW2NsYXJpbmV0LlNUQVRFW3NfXV0gPSBzXztcblxuICAvLyBzd2l0Y2hhcm9vXG4gIFMgPSBjbGFyaW5ldC5TVEFURTtcblxuICBjb25zdCBDaGFyID0ge1xuICAgIHRhYiAgICAgICAgICAgICAgICAgOiAweDA5LCAgICAgLy8gXFx0XG4gICAgbGluZUZlZWQgICAgICAgICAgICA6IDB4MEEsICAgICAvLyBcXG5cbiAgICBjYXJyaWFnZVJldHVybiAgICAgIDogMHgwRCwgICAgIC8vIFxcclxuICAgIHNwYWNlICAgICAgICAgICAgICAgOiAweDIwLCAgICAgLy8gXCIgXCJcblxuICAgIGRvdWJsZVF1b3RlICAgICAgICAgOiAweDIyLCAgICAgLy8gXCJcbiAgICBwbHVzICAgICAgICAgICAgICAgIDogMHgyQiwgICAgIC8vICtcbiAgICBjb21tYSAgICAgICAgICAgICAgIDogMHgyQywgICAgIC8vICxcbiAgICBtaW51cyAgICAgICAgICAgICAgIDogMHgyRCwgICAgIC8vIC1cbiAgICBwZXJpb2QgICAgICAgICAgICAgIDogMHgyRSwgICAgIC8vIC5cblxuICAgIF8wICAgICAgICAgICAgICAgICAgOiAweDMwLCAgICAgLy8gMFxuICAgIF85ICAgICAgICAgICAgICAgICAgOiAweDM5LCAgICAgLy8gOVxuXG4gICAgY29sb24gICAgICAgICAgICAgICA6IDB4M0EsICAgICAvLyA6XG5cbiAgICBFICAgICAgICAgICAgICAgICAgIDogMHg0NSwgICAgIC8vIEVcblxuICAgIG9wZW5CcmFja2V0ICAgICAgICAgOiAweDVCLCAgICAgLy8gW1xuICAgIGJhY2tzbGFzaCAgICAgICAgICAgOiAweDVDLCAgICAgLy8gXFxcbiAgICBjbG9zZUJyYWNrZXQgICAgICAgIDogMHg1RCwgICAgIC8vIF1cblxuICAgIGEgICAgICAgICAgICAgICAgICAgOiAweDYxLCAgICAgLy8gYVxuICAgIGIgICAgICAgICAgICAgICAgICAgOiAweDYyLCAgICAgLy8gYlxuICAgIGUgICAgICAgICAgICAgICAgICAgOiAweDY1LCAgICAgLy8gZSBcbiAgICBmICAgICAgICAgICAgICAgICAgIDogMHg2NiwgICAgIC8vIGZcbiAgICBsICAgICAgICAgICAgICAgICAgIDogMHg2QywgICAgIC8vIGxcbiAgICBuICAgICAgICAgICAgICAgICAgIDogMHg2RSwgICAgIC8vIG5cbiAgICByICAgICAgICAgICAgICAgICAgIDogMHg3MiwgICAgIC8vIHJcbiAgICBzICAgICAgICAgICAgICAgICAgIDogMHg3MywgICAgIC8vIHNcbiAgICB0ICAgICAgICAgICAgICAgICAgIDogMHg3NCwgICAgIC8vIHRcbiAgICB1ICAgICAgICAgICAgICAgICAgIDogMHg3NSwgICAgIC8vIHVcblxuICAgIG9wZW5CcmFjZSAgICAgICAgICAgOiAweDdCLCAgICAgLy8ge1xuICAgIGNsb3NlQnJhY2UgICAgICAgICAgOiAweDdELCAgICAgLy8gfVxuICB9O1xuXG4gIGlmICghT2JqZWN0LmNyZWF0ZSkge1xuICAgIE9iamVjdC5jcmVhdGUgPSBmdW5jdGlvbiAobykge1xuICAgICAgZnVuY3Rpb24gZiAoKSB7IHRoaXNbXCJfX3Byb3RvX19cIl0gPSBvOyB9XG4gICAgICBmLnByb3RvdHlwZSA9IG87XG4gICAgICByZXR1cm4gbmV3IGY7XG4gICAgfTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LmdldFByb3RvdHlwZU9mKSB7XG4gICAgT2JqZWN0LmdldFByb3RvdHlwZU9mID0gZnVuY3Rpb24gKG8pIHtcbiAgICAgIHJldHVybiBvW1wiX19wcm90b19fXCJdO1xuICAgIH07XG4gIH1cblxuICBpZiAoIU9iamVjdC5rZXlzKSB7XG4gICAgT2JqZWN0LmtleXMgPSBmdW5jdGlvbiAobykge1xuICAgICAgdmFyIGEgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgaW4gbykgaWYgKG8uaGFzT3duUHJvcGVydHkoaSkpIGEucHVzaChpKTtcbiAgICAgIHJldHVybiBhO1xuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0J1ZmZlckxlbmd0aCAocGFyc2VyKSB7XG4gICAgdmFyIG1heEFsbG93ZWQgPSBNYXRoLm1heChjbGFyaW5ldC5NQVhfQlVGRkVSX0xFTkdUSCwgMTApXG4gICAgICAsIG1heEFjdHVhbCA9IDBcbiAgICAgIDtcbiAgICBmb3IgKHZhciBidWZmZXIgaW4gYnVmZmVycykge1xuICAgICAgdmFyIGxlbiA9IHBhcnNlcltidWZmZXJdID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VyW2J1ZmZlcl0ubGVuZ3RoO1xuICAgICAgaWYgKGxlbiA+IG1heEFsbG93ZWQpIHtcbiAgICAgICAgc3dpdGNoIChidWZmZXIpIHtcbiAgICAgICAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgICAgICAgY2xvc2VUZXh0KHBhcnNlcik7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgZXJyb3IocGFyc2VyLCBcIk1heCBidWZmZXIgbGVuZ3RoIGV4Y2VlZGVkOiBcIisgYnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbWF4QWN0dWFsID0gTWF0aC5tYXgobWF4QWN0dWFsLCBsZW4pO1xuICAgIH1cbiAgICBwYXJzZXIuYnVmZmVyQ2hlY2tQb3NpdGlvbiA9IChjbGFyaW5ldC5NQVhfQlVGRkVSX0xFTkdUSCAtIG1heEFjdHVhbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHBhcnNlci5wb3NpdGlvbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFyQnVmZmVycyAocGFyc2VyKSB7XG4gICAgZm9yICh2YXIgYnVmZmVyIGluIGJ1ZmZlcnMpIHtcbiAgICAgIHBhcnNlcltidWZmZXJdID0gYnVmZmVyc1tidWZmZXJdO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzdHJpbmdUb2tlblBhdHRlcm4gPSAvW1xcXFxcIlxcbl0vZztcblxuICBmdW5jdGlvbiBDUGFyc2VyIChvcHQpIHtcbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQ1BhcnNlcikpIHJldHVybiBuZXcgQ1BhcnNlciAob3B0KTtcblxuICAgIHZhciBwYXJzZXIgPSB0aGlzO1xuICAgIGNsZWFyQnVmZmVycyhwYXJzZXIpO1xuICAgIHBhcnNlci5idWZmZXJDaGVja1Bvc2l0aW9uID0gY2xhcmluZXQuTUFYX0JVRkZFUl9MRU5HVEg7XG4gICAgcGFyc2VyLnEgICAgICAgID0gcGFyc2VyLmMgPSBwYXJzZXIucCA9IFwiXCI7XG4gICAgcGFyc2VyLm9wdCAgICAgID0gb3B0IHx8IHt9O1xuICAgIHBhcnNlci5jbG9zZWQgICA9IHBhcnNlci5jbG9zZWRSb290ID0gcGFyc2VyLnNhd1Jvb3QgPSBmYWxzZTtcbiAgICBwYXJzZXIudGFnICAgICAgPSBwYXJzZXIuZXJyb3IgPSBudWxsO1xuICAgIHBhcnNlci5zdGF0ZSAgICA9IFMuQkVHSU47XG4gICAgcGFyc2VyLnN0YWNrICAgID0gbmV3IEFycmF5KCk7XG4gICAgLy8gbW9zdGx5IGp1c3QgZm9yIGVycm9yIHJlcG9ydGluZ1xuICAgIHBhcnNlci5wb3NpdGlvbiA9IHBhcnNlci5jb2x1bW4gPSAwO1xuICAgIHBhcnNlci5saW5lICAgICA9IDE7XG4gICAgcGFyc2VyLnNsYXNoZWQgID0gZmFsc2U7XG4gICAgcGFyc2VyLnVuaWNvZGVJID0gMDtcbiAgICBwYXJzZXIudW5pY29kZVMgPSBudWxsO1xuICAgIHBhcnNlci5kZXB0aCAgICA9IDA7XG4gICAgZW1pdChwYXJzZXIsIFwib25yZWFkeVwiKTtcbiAgfVxuXG4gIENQYXJzZXIucHJvdG90eXBlID1cbiAgICB7IGVuZCAgICA6IGZ1bmN0aW9uICgpIHsgZW5kKHRoaXMpOyB9XG4gICAgLCB3cml0ZSAgOiB3cml0ZVxuICAgICwgcmVzdW1lIDogZnVuY3Rpb24gKCkgeyB0aGlzLmVycm9yID0gbnVsbDsgcmV0dXJuIHRoaXM7IH1cbiAgICAsIGNsb3NlICA6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMud3JpdGUobnVsbCk7IH1cbiAgICB9O1xuXG4gIHRyeSAgICAgICAgeyBTdHJlYW0gPSBmYWtlU3RyZWFtLlN0cmVhbTsgfVxuICBjYXRjaCAoZXgpIHsgU3RyZWFtID0gZnVuY3Rpb24gKCkge307IH1cblxuICBmdW5jdGlvbiBjcmVhdGVTdHJlYW0gKG9wdCkgeyByZXR1cm4gbmV3IENTdHJlYW0ob3B0KTsgfVxuXG4gIGZ1bmN0aW9uIENTdHJlYW0gKG9wdCkge1xuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBDU3RyZWFtKSkgcmV0dXJuIG5ldyBDU3RyZWFtKG9wdCk7XG5cbiAgICB0aGlzLl9wYXJzZXIgPSBuZXcgQ1BhcnNlcihvcHQpO1xuICAgIHRoaXMud3JpdGFibGUgPSB0cnVlO1xuICAgIHRoaXMucmVhZGFibGUgPSB0cnVlO1xuXG4gICAgLy92YXIgQnVmZmVyID0gdGhpcy5CdWZmZXIgfHwgZnVuY3Rpb24gQnVmZmVyICgpIHt9OyAvLyBpZiB3ZSBkb24ndCBoYXZlIEJ1ZmZlcnMsIGZha2UgaXQgc28gd2UgY2FuIGRvIGB2YXIgaW5zdGFuY2VvZiBCdWZmZXJgIGFuZCBub3QgdGhyb3cgYW4gZXJyb3JcbiAgICB0aGlzLmJ5dGVzX3JlbWFpbmluZyA9IDA7IC8vIG51bWJlciBvZiBieXRlcyByZW1haW5pbmcgaW4gbXVsdGkgYnl0ZSB1dGY4IGNoYXIgdG8gcmVhZCBhZnRlciBzcGxpdCBib3VuZGFyeVxuICAgIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgPSAwOyAvLyBieXRlcyBpbiBtdWx0aSBieXRlIHV0ZjggY2hhciB0byByZWFkXG4gICAgdGhpcy50ZW1wX2J1ZmZzID0geyBcIjJcIjogbmV3IEJ1ZmZlcigyKSwgXCIzXCI6IG5ldyBCdWZmZXIoMyksIFwiNFwiOiBuZXcgQnVmZmVyKDQpIH07IC8vIGZvciByZWJ1aWxkaW5nIGNoYXJzIHNwbGl0IGJlZm9yZSBib3VuZGFyeSBpcyByZWFjaGVkXG4gICAgdGhpcy5zdHJpbmcgPSAnJztcblxuICAgIHZhciBtZSA9IHRoaXM7XG4gICAgU3RyZWFtLmFwcGx5KG1lKTtcblxuICAgIHRoaXMuX3BhcnNlci5vbmVuZCA9IGZ1bmN0aW9uICgpIHsgbWUuZW1pdChcImVuZFwiKTsgfTtcbiAgICB0aGlzLl9wYXJzZXIub25lcnJvciA9IGZ1bmN0aW9uIChlcikge1xuICAgICAgbWUuZW1pdChcImVycm9yXCIsIGVyKTtcbiAgICAgIG1lLl9wYXJzZXIuZXJyb3IgPSBudWxsO1xuICAgIH07XG5cbiAgICBzdHJlYW1XcmFwcy5mb3JFYWNoKGZ1bmN0aW9uIChldikge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lLCBcIm9uXCIgKyBldixcbiAgICAgICAgeyBnZXQgICAgICAgICAgOiBmdW5jdGlvbiAoKSB7IHJldHVybiBtZS5fcGFyc2VyW1wib25cIiArIGV2XTsgfVxuICAgICAgICAsIHNldCAgICAgICAgICA6IGZ1bmN0aW9uIChoKSB7XG4gICAgICAgICAgICBpZiAoIWgpIHtcbiAgICAgICAgICAgICAgbWUucmVtb3ZlQWxsTGlzdGVuZXJzKGV2KTtcbiAgICAgICAgICAgICAgbWUuX3BhcnNlcltcIm9uXCIrZXZdID0gaDtcbiAgICAgICAgICAgICAgcmV0dXJuIGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtZS5vbihldiwgaCk7XG4gICAgICAgICAgfVxuICAgICAgICAsIGVudW1lcmFibGUgICA6IHRydWVcbiAgICAgICAgLCBjb25maWd1cmFibGUgOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIENTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdHJlYW0ucHJvdG90eXBlLFxuICAgIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IENTdHJlYW0gfSB9KTtcblxuICBDU3RyZWFtLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgZGF0YSA9IG5ldyBCdWZmZXIoZGF0YSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgbiA9IGRhdGFbaV07XG5cbiAgICAgIC8vIGNoZWNrIGZvciBjYXJyeSBvdmVyIG9mIGEgbXVsdGkgYnl0ZSBjaGFyIHNwbGl0IGJldHdlZW4gZGF0YSBjaHVua3NcbiAgICAgIC8vICYgZmlsbCB0ZW1wIGJ1ZmZlciBpdCB3aXRoIHN0YXJ0IG9mIHRoaXMgZGF0YSBjaHVuayB1cCB0byB0aGUgYm91bmRhcnkgbGltaXQgc2V0IGluIHRoZSBsYXN0IGl0ZXJhdGlvblxuICAgICAgaWYgKHRoaXMuYnl0ZXNfcmVtYWluaW5nID4gMCkge1xuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuYnl0ZXNfcmVtYWluaW5nOyBqKyspIHtcbiAgICAgICAgICB0aGlzLnRlbXBfYnVmZnNbdGhpcy5ieXRlc19pbl9zZXF1ZW5jZV1bdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSAtIHRoaXMuYnl0ZXNfcmVtYWluaW5nICsgal0gPSBkYXRhW2pdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RyaW5nID0gdGhpcy50ZW1wX2J1ZmZzW3RoaXMuYnl0ZXNfaW5fc2VxdWVuY2VdLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgPSB0aGlzLmJ5dGVzX3JlbWFpbmluZyA9IDA7XG5cbiAgICAgICAgLy8gbW92ZSBpdGVyYXRvciBmb3J3YXJkIGJ5IG51bWJlciBvZiBieXRlIHJlYWQgZHVyaW5nIHNlcXVlbmNpbmdcbiAgICAgICAgaSA9IGkgKyBqIC0gMTtcblxuICAgICAgICAvLyBwYXNzIGRhdGEgdG8gcGFyc2VyIGFuZCBtb3ZlIGZvcndhcmQgdG8gcGFyc2UgcmVzdCBvZiBkYXRhXG4gICAgICAgIHRoaXMuX3BhcnNlci53cml0ZSh0aGlzLnN0cmluZyk7XG4gICAgICAgIHRoaXMuZW1pdChcImRhdGFcIiwgdGhpcy5zdHJpbmcpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy8gaWYgbm8gcmVtYWluZGVyIGJ5dGVzIGNhcnJpZWQgb3ZlciwgcGFyc2UgbXVsdGkgYnl0ZSAoPj0xMjgpIGNoYXJzIG9uZSBhdCBhIHRpbWVcbiAgICAgIGlmICh0aGlzLmJ5dGVzX3JlbWFpbmluZyA9PT0gMCAmJiBuID49IDEyOCkge1xuICAgICAgICBpZiAoKG4gPj0gMTk0KSAmJiAobiA8PSAyMjMpKSB0aGlzLmJ5dGVzX2luX3NlcXVlbmNlID0gMjtcbiAgICAgICAgaWYgKChuID49IDIyNCkgJiYgKG4gPD0gMjM5KSkgdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSA9IDM7XG4gICAgICAgIGlmICgobiA+PSAyNDApICYmIChuIDw9IDI0NCkpIHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgPSA0O1xuICAgICAgICBpZiAoKHRoaXMuYnl0ZXNfaW5fc2VxdWVuY2UgKyBpKSA+IGRhdGEubGVuZ3RoKSB7IC8vIGlmIGJ5dGVzIG5lZWRlZCB0byBjb21wbGV0ZSBjaGFyIGZhbGwgb3V0c2lkZSBkYXRhIGxlbmd0aCwgd2UgaGF2ZSBhIGJvdW5kYXJ5IHNwbGl0XG5cbiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgayA8PSAoZGF0YS5sZW5ndGggLSAxIC0gaSk7IGsrKykge1xuICAgICAgICAgICAgdGhpcy50ZW1wX2J1ZmZzW3RoaXMuYnl0ZXNfaW5fc2VxdWVuY2VdW2tdID0gZGF0YVtpICsga107IC8vIGZpbGwgdGVtcCBkYXRhIG9mIGNvcnJlY3Qgc2l6ZSB3aXRoIGJ5dGVzIGF2YWlsYWJsZSBpbiB0aGlzIGNodW5rXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYnl0ZXNfcmVtYWluaW5nID0gKGkgKyB0aGlzLmJ5dGVzX2luX3NlcXVlbmNlKSAtIGRhdGEubGVuZ3RoO1xuXG4gICAgICAgICAgLy8gaW1tZWRpYXRlbHkgcmV0dXJuIGFzIHdlIG5lZWQgYW5vdGhlciBjaHVuayB0byBzZXF1ZW5jZSB0aGUgY2hhcmFjdGVyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdHJpbmcgPSBkYXRhLnNsaWNlKGksIChpICsgdGhpcy5ieXRlc19pbl9zZXF1ZW5jZSkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgaSA9IGkgKyB0aGlzLmJ5dGVzX2luX3NlcXVlbmNlIC0gMTtcblxuICAgICAgICAgIHRoaXMuX3BhcnNlci53cml0ZSh0aGlzLnN0cmluZyk7XG4gICAgICAgICAgdGhpcy5lbWl0KFwiZGF0YVwiLCB0aGlzLnN0cmluZyk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gaXMgdGhlcmUgYSByYW5nZSBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIGltbWVkaWF0ZWx5IHBhcnNhYmxlP1xuICAgICAgZm9yICh2YXIgcCA9IGk7IHAgPCBkYXRhLmxlbmd0aDsgcCsrKSB7XG4gICAgICAgIGlmIChkYXRhW3BdID49IDEyOCkgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLnN0cmluZyA9IGRhdGEuc2xpY2UoaSwgcCkudG9TdHJpbmcoKTtcbiAgICAgIHRoaXMuX3BhcnNlci53cml0ZSh0aGlzLnN0cmluZyk7XG4gICAgICB0aGlzLmVtaXQoXCJkYXRhXCIsIHRoaXMuc3RyaW5nKTtcbiAgICAgIGkgPSBwIC0gMTtcblxuICAgICAgLy8gaGFuZGxlIGFueSByZW1haW5pbmcgY2hhcmFjdGVycyB1c2luZyBtdWx0aWJ5dGUgbG9naWNcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgfTtcblxuICBDU3RyZWFtLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSB0aGlzLl9wYXJzZXIud3JpdGUoY2h1bmsudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5fcGFyc2VyLmVuZCgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIENTdHJlYW0ucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKGV2LCBoYW5kbGVyKSB7XG4gICAgdmFyIG1lID0gdGhpcztcbiAgICBpZiAoIW1lLl9wYXJzZXJbXCJvblwiK2V2XSAmJiBzdHJlYW1XcmFwcy5pbmRleE9mKGV2KSAhPT0gLTEpIHtcbiAgICAgIG1lLl9wYXJzZXJbXCJvblwiK2V2XSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gW2FyZ3VtZW50c1swXV1cbiAgICAgICAgICAgICAgICAgOiBBcnJheS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgICAgICBhcmdzLnNwbGljZSgwLCAwLCBldik7XG4gICAgICAgIG1lLmVtaXQuYXBwbHkobWUsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmVhbS5wcm90b3R5cGUub24uY2FsbChtZSwgZXYsIGhhbmRsZXIpO1xuICB9O1xuXG4gIENTdHJlYW0ucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gICAgY2xlYXJCdWZmZXJzKHRoaXMuX3BhcnNlcik7XG4gICAgdGhpcy5lbWl0KFwiY2xvc2VcIik7XG4gIH07XG5cbiAgZnVuY3Rpb24gZW1pdChwYXJzZXIsIGV2ZW50LCBkYXRhKSB7XG4gICAgaWYoY2xhcmluZXQuSU5GTykgY29uc29sZS5sb2coJy0tIGVtaXQnLCBldmVudCwgZGF0YSk7XG4gICAgaWYgKHBhcnNlcltldmVudF0pIHBhcnNlcltldmVudF0oZGF0YSk7XG4gIH1cblxuICBmdW5jdGlvbiBlbWl0Tm9kZShwYXJzZXIsIGV2ZW50LCBkYXRhKSB7XG4gICAgY2xvc2VWYWx1ZShwYXJzZXIpO1xuICAgIGVtaXQocGFyc2VyLCBldmVudCwgZGF0YSk7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9zZVZhbHVlKHBhcnNlciwgZXZlbnQpIHtcbiAgICBwYXJzZXIudGV4dE5vZGUgPSB0ZXh0b3B0cyhwYXJzZXIub3B0LCBwYXJzZXIudGV4dE5vZGUpO1xuICAgIGlmIChwYXJzZXIudGV4dE5vZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZW1pdChwYXJzZXIsIChldmVudCA/IGV2ZW50IDogXCJvbnZhbHVlXCIpLCBwYXJzZXIudGV4dE5vZGUpO1xuICAgIH1cbiAgICBwYXJzZXIudGV4dE5vZGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9zZU51bWJlcihwYXJzZXIpIHtcbiAgICBpZiAocGFyc2VyLm51bWJlck5vZGUpXG4gICAgICBlbWl0KHBhcnNlciwgXCJvbnZhbHVlXCIsIHBhcnNlRmxvYXQocGFyc2VyLm51bWJlck5vZGUpKTtcbiAgICBwYXJzZXIubnVtYmVyTm9kZSA9IFwiXCI7XG4gIH1cblxuICBmdW5jdGlvbiB0ZXh0b3B0cyAob3B0LCB0ZXh0KSB7XG4gICAgaWYgKHRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRleHQ7XG4gICAgfVxuICAgIGlmIChvcHQudHJpbSkgdGV4dCA9IHRleHQudHJpbSgpO1xuICAgIGlmIChvcHQubm9ybWFsaXplKSB0ZXh0ID0gdGV4dC5yZXBsYWNlKC9cXHMrL2csIFwiIFwiKTtcbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVycm9yIChwYXJzZXIsIGVyKSB7XG4gICAgY2xvc2VWYWx1ZShwYXJzZXIpO1xuICAgIGVyICs9IFwiXFxuTGluZTogXCIrcGFyc2VyLmxpbmUrXG4gICAgICAgICAgXCJcXG5Db2x1bW46IFwiK3BhcnNlci5jb2x1bW4rXG4gICAgICAgICAgXCJcXG5DaGFyOiBcIitwYXJzZXIuYztcbiAgICBlciA9IG5ldyBFcnJvcihlcik7XG4gICAgcGFyc2VyLmVycm9yID0gZXI7XG4gICAgZW1pdChwYXJzZXIsIFwib25lcnJvclwiLCBlcik7XG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVuZChwYXJzZXIpIHtcbiAgICBpZiAocGFyc2VyLnN0YXRlICE9PSBTLlZBTFVFIHx8IHBhcnNlci5kZXB0aCAhPT0gMClcbiAgICAgIGVycm9yKHBhcnNlciwgXCJVbmV4cGVjdGVkIGVuZFwiKTtcblxuICAgIGNsb3NlVmFsdWUocGFyc2VyKTtcbiAgICBwYXJzZXIuYyAgICAgID0gXCJcIjtcbiAgICBwYXJzZXIuY2xvc2VkID0gdHJ1ZTtcbiAgICBlbWl0KHBhcnNlciwgXCJvbmVuZFwiKTtcbiAgICBDUGFyc2VyLmNhbGwocGFyc2VyLCBwYXJzZXIub3B0KTtcbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNXaGl0ZXNwYWNlKGMpIHtcbiAgICByZXR1cm4gYyA9PT0gQ2hhci5jYXJyaWFnZVJldHVybiB8fCBjID09PSBDaGFyLmxpbmVGZWVkIHx8IGMgPT09IENoYXIuc3BhY2UgfHwgYyA9PT0gQ2hhci50YWI7XG4gIH1cblxuICBmdW5jdGlvbiB3cml0ZSAoY2h1bmspIHtcbiAgICB2YXIgcGFyc2VyID0gdGhpcztcbiAgICBpZiAodGhpcy5lcnJvcikgdGhyb3cgdGhpcy5lcnJvcjtcbiAgICBpZiAocGFyc2VyLmNsb3NlZCkgcmV0dXJuIGVycm9yKHBhcnNlcixcbiAgICAgIFwiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlLiBBc3NpZ24gYW4gb25yZWFkeSBoYW5kbGVyLlwiKTtcbiAgICBpZiAoY2h1bmsgPT09IG51bGwpIHJldHVybiBlbmQocGFyc2VyKTtcbiAgICB2YXIgaSA9IDAsIGMgPSBjaHVuay5jaGFyQ29kZUF0KDApLCBwID0gcGFyc2VyLnA7XG4gICAgaWYgKGNsYXJpbmV0LkRFQlVHKSBjb25zb2xlLmxvZygnd3JpdGUgLT4gWycgKyBjaHVuayArICddJyk7XG4gICAgd2hpbGUgKGMpIHtcbiAgICAgIHAgPSBjO1xuICAgICAgcGFyc2VyLmMgPSBjID0gY2h1bmsuY2hhckNvZGVBdChpKyspO1xuICAgICAgLy8gaWYgY2h1bmsgZG9lc250IGhhdmUgbmV4dCwgbGlrZSBzdHJlYW1pbmcgY2hhciBieSBjaGFyXG4gICAgICAvLyB0aGlzIHdheSB3ZSBuZWVkIHRvIGNoZWNrIGlmIHByZXZpb3VzIGlzIHJlYWxseSBwcmV2aW91c1xuICAgICAgLy8gaWYgbm90IHdlIG5lZWQgdG8gcmVzZXQgdG8gd2hhdCB0aGUgcGFyc2VyIHNheXMgaXMgdGhlIHByZXZpb3VzXG4gICAgICAvLyBmcm9tIGJ1ZmZlclxuICAgICAgaWYocCAhPT0gYyApIHBhcnNlci5wID0gcDtcbiAgICAgIGVsc2UgcCA9IHBhcnNlci5wO1xuXG4gICAgICBpZighYykgYnJlYWs7XG5cbiAgICAgIGlmIChjbGFyaW5ldC5ERUJVRykgY29uc29sZS5sb2coaSxjLGNsYXJpbmV0LlNUQVRFW3BhcnNlci5zdGF0ZV0pO1xuICAgICAgcGFyc2VyLnBvc2l0aW9uICsrO1xuICAgICAgaWYgKGMgPT09IENoYXIubGluZUZlZWQpIHtcbiAgICAgICAgcGFyc2VyLmxpbmUgKys7XG4gICAgICAgIHBhcnNlci5jb2x1bW4gPSAwO1xuICAgICAgfSBlbHNlIHBhcnNlci5jb2x1bW4gKys7XG4gICAgICBzd2l0Y2ggKHBhcnNlci5zdGF0ZSkge1xuXG4gICAgICAgIGNhc2UgUy5CRUdJTjpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5vcGVuQnJhY2UpIHBhcnNlci5zdGF0ZSA9IFMuT1BFTl9PQkpFQ1Q7XG4gICAgICAgICAgZWxzZSBpZiAoYyA9PT0gQ2hhci5vcGVuQnJhY2tldCkgcGFyc2VyLnN0YXRlID0gUy5PUEVOX0FSUkFZO1xuICAgICAgICAgIGVsc2UgaWYgKCFpc1doaXRlc3BhY2UoYykpXG4gICAgICAgICAgICBlcnJvcihwYXJzZXIsIFwiTm9uLXdoaXRlc3BhY2UgYmVmb3JlIHtbLlwiKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk9QRU5fS0VZOlxuICAgICAgICBjYXNlIFMuT1BFTl9PQkpFQ1Q6XG4gICAgICAgICAgaWYgKGlzV2hpdGVzcGFjZShjKSkgY29udGludWU7XG4gICAgICAgICAgaWYocGFyc2VyLnN0YXRlID09PSBTLk9QRU5fS0VZKSBwYXJzZXIuc3RhY2sucHVzaChTLkNMT1NFX0tFWSk7XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZihjID09PSBDaGFyLmNsb3NlQnJhY2UpIHtcbiAgICAgICAgICAgICAgZW1pdChwYXJzZXIsICdvbm9wZW5vYmplY3QnKTtcbiAgICAgICAgICAgICAgdGhpcy5kZXB0aCsrO1xuICAgICAgICAgICAgICBlbWl0KHBhcnNlciwgJ29uY2xvc2VvYmplY3QnKTtcbiAgICAgICAgICAgICAgdGhpcy5kZXB0aC0tO1xuICAgICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9IGVsc2UgIHBhcnNlci5zdGFjay5wdXNoKFMuQ0xPU0VfT0JKRUNUKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYoYyA9PT0gQ2hhci5kb3VibGVRdW90ZSkgcGFyc2VyLnN0YXRlID0gUy5TVFJJTkc7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsIFwiTWFsZm9ybWVkIG9iamVjdCBrZXkgc2hvdWxkIHN0YXJ0IHdpdGggXFxcIlwiKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLkNMT1NFX0tFWTpcbiAgICAgICAgY2FzZSBTLkNMT1NFX09CSkVDVDpcbiAgICAgICAgICBpZiAoaXNXaGl0ZXNwYWNlKGMpKSBjb250aW51ZTtcbiAgICAgICAgICB2YXIgZXZlbnQgPSAocGFyc2VyLnN0YXRlID09PSBTLkNMT1NFX0tFWSkgPyAna2V5JyA6ICdvYmplY3QnO1xuICAgICAgICAgIGlmKGMgPT09IENoYXIuY29sb24pIHtcbiAgICAgICAgICAgIGlmKHBhcnNlci5zdGF0ZSA9PT0gUy5DTE9TRV9PQkpFQ1QpIHtcbiAgICAgICAgICAgICAgcGFyc2VyLnN0YWNrLnB1c2goUy5DTE9TRV9PQkpFQ1QpO1xuICAgICAgICAgICAgICBjbG9zZVZhbHVlKHBhcnNlciwgJ29ub3Blbm9iamVjdCcpO1xuICAgICAgICAgICAgICAgdGhpcy5kZXB0aCsrO1xuICAgICAgICAgICAgfSBlbHNlIGNsb3NlVmFsdWUocGFyc2VyLCAnb25rZXknKTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSAgPSBTLlZBTFVFO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gQ2hhci5jbG9zZUJyYWNlKSB7XG4gICAgICAgICAgICBlbWl0Tm9kZShwYXJzZXIsICdvbmNsb3Nlb2JqZWN0Jyk7XG4gICAgICAgICAgICB0aGlzLmRlcHRoLS07XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICB9IGVsc2UgaWYoYyA9PT0gQ2hhci5jb21tYSkge1xuICAgICAgICAgICAgaWYocGFyc2VyLnN0YXRlID09PSBTLkNMT1NFX09CSkVDVClcbiAgICAgICAgICAgICAgcGFyc2VyLnN0YWNrLnB1c2goUy5DTE9TRV9PQkpFQ1QpO1xuICAgICAgICAgICAgY2xvc2VWYWx1ZShwYXJzZXIpO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlICA9IFMuT1BFTl9LRVk7XG4gICAgICAgICAgfSBlbHNlIGVycm9yKHBhcnNlciwgJ0JhZCBvYmplY3QnKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk9QRU5fQVJSQVk6IC8vIGFmdGVyIGFuIGFycmF5IHRoZXJlIGFsd2F5cyBhIHZhbHVlXG4gICAgICAgIGNhc2UgUy5WQUxVRTpcbiAgICAgICAgICBpZiAoaXNXaGl0ZXNwYWNlKGMpKSBjb250aW51ZTtcbiAgICAgICAgICBpZihwYXJzZXIuc3RhdGU9PT1TLk9QRU5fQVJSQVkpIHtcbiAgICAgICAgICAgIGVtaXQocGFyc2VyLCAnb25vcGVuYXJyYXknKTtcbiAgICAgICAgICAgIHRoaXMuZGVwdGgrKztcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IFMuVkFMVUU7XG4gICAgICAgICAgICBpZihjID09PSBDaGFyLmNsb3NlQnJhY2tldCkge1xuICAgICAgICAgICAgICBlbWl0KHBhcnNlciwgJ29uY2xvc2VhcnJheScpO1xuICAgICAgICAgICAgICB0aGlzLmRlcHRoLS07XG4gICAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBhcnNlci5zdGFjay5wdXNoKFMuQ0xPU0VfQVJSQVkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIGlmKGMgPT09IENoYXIuZG91YmxlUXVvdGUpIHBhcnNlci5zdGF0ZSA9IFMuU1RSSU5HO1xuICAgICAgICAgIGVsc2UgaWYoYyA9PT0gQ2hhci5vcGVuQnJhY2UpIHBhcnNlci5zdGF0ZSA9IFMuT1BFTl9PQkpFQ1Q7XG4gICAgICAgICAgZWxzZSBpZihjID09PSBDaGFyLm9wZW5CcmFja2V0KSBwYXJzZXIuc3RhdGUgPSBTLk9QRU5fQVJSQVk7XG4gICAgICAgICAgZWxzZSBpZihjID09PSBDaGFyLnQpIHBhcnNlci5zdGF0ZSA9IFMuVFJVRTtcbiAgICAgICAgICBlbHNlIGlmKGMgPT09IENoYXIuZikgcGFyc2VyLnN0YXRlID0gUy5GQUxTRTtcbiAgICAgICAgICBlbHNlIGlmKGMgPT09IENoYXIubikgcGFyc2VyLnN0YXRlID0gUy5OVUxMO1xuICAgICAgICAgIGVsc2UgaWYoYyA9PT0gQ2hhci5taW51cykgeyAvLyBrZWVwIGFuZCBjb250aW51ZVxuICAgICAgICAgICAgcGFyc2VyLm51bWJlck5vZGUgKz0gXCItXCI7XG4gICAgICAgICAgfSBlbHNlIGlmKENoYXIuXzAgPD0gYyAmJiBjIDw9IENoYXIuXzkpIHtcbiAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk7XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBTLk5VTUJFUl9ESUdJVDtcbiAgICAgICAgICB9IGVsc2UgICAgICAgICAgICAgICBlcnJvcihwYXJzZXIsIFwiQmFkIHZhbHVlXCIpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuQ0xPU0VfQVJSQVk6XG4gICAgICAgICAgaWYoYyA9PT0gQ2hhci5jb21tYSkge1xuICAgICAgICAgICAgcGFyc2VyLnN0YWNrLnB1c2goUy5DTE9TRV9BUlJBWSk7XG4gICAgICAgICAgICBjbG9zZVZhbHVlKHBhcnNlciwgJ29udmFsdWUnKTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSAgPSBTLlZBTFVFO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gQ2hhci5jbG9zZUJyYWNrZXQpIHtcbiAgICAgICAgICAgIGVtaXROb2RlKHBhcnNlciwgJ29uY2xvc2VhcnJheScpO1xuICAgICAgICAgICAgdGhpcy5kZXB0aC0tO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gcGFyc2VyLnN0YWNrLnBvcCgpIHx8IFMuVkFMVUU7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc1doaXRlc3BhY2UoYykpXG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIGVsc2UgZXJyb3IocGFyc2VyLCAnQmFkIGFycmF5Jyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5TVFJJTkc6XG4gICAgICAgICAgaWYgKHBhcnNlci50ZXh0Tm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgPSBcIlwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHRoYW5rcyB0aGVqaCwgdGhpcyBpcyBhbiBhYm91dCA1MCUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuXG4gICAgICAgICAgdmFyIHN0YXJ0aSAgICAgICAgICAgICAgPSBpLTFcbiAgICAgICAgICAgICwgc2xhc2hlZCA9IHBhcnNlci5zbGFzaGVkXG4gICAgICAgICAgICAsIHVuaWNvZGVJID0gcGFyc2VyLnVuaWNvZGVJXG4gICAgICAgICAgICA7XG4gICAgICAgICAgU1RSSU5HX0JJR0xPT1A6IHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBpZiAoY2xhcmluZXQuREVCVUcpXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGksYyxjbGFyaW5ldC5TVEFURVtwYXJzZXIuc3RhdGVdXG4gICAgICAgICAgICAgICAgICAgICAgICAgLHNsYXNoZWQpO1xuICAgICAgICAgICAgLy8gemVybyBtZWFucyBcIm5vIHVuaWNvZGUgYWN0aXZlXCIuIDEtNCBtZWFuIFwicGFyc2Ugc29tZSBtb3JlXCIuIGVuZCBhZnRlciA0LlxuICAgICAgICAgICAgd2hpbGUgKHVuaWNvZGVJID4gMCkge1xuICAgICAgICAgICAgICBwYXJzZXIudW5pY29kZVMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjKTtcbiAgICAgICAgICAgICAgYyA9IGNodW5rLmNoYXJDb2RlQXQoaSsrKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uKys7XG4gICAgICAgICAgICAgIGlmICh1bmljb2RlSSA9PT0gNCkge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8gdGhpcyBtaWdodCBiZSBzbG93PyB3ZWxsLCBwcm9iYWJseSBub3QgdXNlZCB0b28gb2Z0ZW4gYW55d2F5XG4gICAgICAgICAgICAgICAgcGFyc2VyLnRleHROb2RlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQocGFyc2VyLnVuaWNvZGVTLCAxNikpO1xuICAgICAgICAgICAgICAgIHVuaWNvZGVJID0gMDtcbiAgICAgICAgICAgICAgICBzdGFydGkgPSBpLTE7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdW5pY29kZUkrKztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyB3ZSBjYW4ganVzdCBicmVhayBoZXJlOiBubyBzdHVmZiB3ZSBza2lwcGVkIHRoYXQgc3RpbGwgaGFzIHRvIGJlIHNsaWNlZCBvdXQgb3Igc29cbiAgICAgICAgICAgICAgaWYgKCFjKSBicmVhayBTVFJJTkdfQklHTE9PUDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjID09PSBDaGFyLmRvdWJsZVF1b3RlICYmICFzbGFzaGVkKSB7XG4gICAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgKz0gY2h1bmsuc3Vic3RyaW5nKHN0YXJ0aSwgaS0xKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uICs9IGkgLSAxIC0gc3RhcnRpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjID09PSBDaGFyLmJhY2tzbGFzaCAmJiAhc2xhc2hlZCkge1xuICAgICAgICAgICAgICBzbGFzaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgcGFyc2VyLnRleHROb2RlICs9IGNodW5rLnN1YnN0cmluZyhzdGFydGksIGktMSk7XG4gICAgICAgICAgICAgIHBhcnNlci5wb3NpdGlvbiArPSBpIC0gMSAtIHN0YXJ0aTtcbiAgICAgICAgICAgICAgYyA9IGNodW5rLmNoYXJDb2RlQXQoaSsrKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uKys7XG4gICAgICAgICAgICAgIGlmICghYykgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2xhc2hlZCkge1xuICAgICAgICAgICAgICBzbGFzaGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgaWYgKGMgPT09IENoYXIubikgeyBwYXJzZXIudGV4dE5vZGUgKz0gJ1xcbic7IH1cbiAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PT0gQ2hhci5yKSB7IHBhcnNlci50ZXh0Tm9kZSArPSAnXFxyJzsgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChjID09PSBDaGFyLnQpIHsgcGFyc2VyLnRleHROb2RlICs9ICdcXHQnOyB9XG4gICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT09IENoYXIuZikgeyBwYXJzZXIudGV4dE5vZGUgKz0gJ1xcZic7IH1cbiAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PT0gQ2hhci5iKSB7IHBhcnNlci50ZXh0Tm9kZSArPSAnXFxiJzsgfVxuICAgICAgICAgICAgICBlbHNlIGlmIChjID09PSBDaGFyLnUpIHtcbiAgICAgICAgICAgICAgICAvLyBcXHV4eHh4LiBtZWghXG4gICAgICAgICAgICAgICAgdW5pY29kZUkgPSAxO1xuICAgICAgICAgICAgICAgIHBhcnNlci51bmljb2RlUyA9ICcnO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnNlci50ZXh0Tm9kZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGMgPSBjaHVuay5jaGFyQ29kZUF0KGkrKyk7XG4gICAgICAgICAgICAgIHBhcnNlci5wb3NpdGlvbisrO1xuICAgICAgICAgICAgICBzdGFydGkgPSBpLTE7XG4gICAgICAgICAgICAgIGlmICghYykgYnJlYWs7XG4gICAgICAgICAgICAgIGVsc2UgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cmluZ1Rva2VuUGF0dGVybi5sYXN0SW5kZXggPSBpO1xuICAgICAgICAgICAgdmFyIHJlUmVzdWx0ID0gc3RyaW5nVG9rZW5QYXR0ZXJuLmV4ZWMoY2h1bmspO1xuICAgICAgICAgICAgaWYgKHJlUmVzdWx0ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGkgPSBjaHVuay5sZW5ndGgrMTtcbiAgICAgICAgICAgICAgcGFyc2VyLnRleHROb2RlICs9IGNodW5rLnN1YnN0cmluZyhzdGFydGksIGktMSk7XG4gICAgICAgICAgICAgIHBhcnNlci5wb3NpdGlvbiArPSBpIC0gMSAtIHN0YXJ0aTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpID0gcmVSZXN1bHQuaW5kZXgrMTtcbiAgICAgICAgICAgIGMgPSBjaHVuay5jaGFyQ29kZUF0KHJlUmVzdWx0LmluZGV4KTtcbiAgICAgICAgICAgIGlmICghYykge1xuICAgICAgICAgICAgICBwYXJzZXIudGV4dE5vZGUgKz0gY2h1bmsuc3Vic3RyaW5nKHN0YXJ0aSwgaS0xKTtcbiAgICAgICAgICAgICAgcGFyc2VyLnBvc2l0aW9uICs9IGkgLSAxIC0gc3RhcnRpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcGFyc2VyLnNsYXNoZWQgPSBzbGFzaGVkO1xuICAgICAgICAgIHBhcnNlci51bmljb2RlSSA9IHVuaWNvZGVJO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuVFJVRTpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5yKSBwYXJzZXIuc3RhdGUgPSBTLlRSVUUyO1xuICAgICAgICAgIGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0JysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5UUlVFMjpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci51KSBwYXJzZXIuc3RhdGUgPSBTLlRSVUUzO1xuICAgICAgICAgIGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0cicrIGMpO1xuICAgICAgICBjb250aW51ZTtcblxuICAgICAgICBjYXNlIFMuVFJVRTM6XG4gICAgICAgICAgaWYoYyA9PT0gQ2hhci5lKSB7XG4gICAgICAgICAgICBlbWl0KHBhcnNlciwgXCJvbnZhbHVlXCIsIHRydWUpO1xuICAgICAgICAgICAgcGFyc2VyLnN0YXRlID0gcGFyc2VyLnN0YWNrLnBvcCgpIHx8IFMuVkFMVUU7XG4gICAgICAgICAgfSBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgdHJ1ZSBzdGFydGVkIHdpdGggdHJ1JysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5GQUxTRTpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5hKSBwYXJzZXIuc3RhdGUgPSBTLkZBTFNFMjtcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGYnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLkZBTFNFMjpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5sKSBwYXJzZXIuc3RhdGUgPSBTLkZBTFNFMztcbiAgICAgICAgICBlbHNlIGVycm9yKHBhcnNlciwgJ0ludmFsaWQgZmFsc2Ugc3RhcnRlZCB3aXRoIGZhJysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5GQUxTRTM6XG4gICAgICAgICAgaWYgKGMgPT09IENoYXIucykgcGFyc2VyLnN0YXRlID0gUy5GQUxTRTQ7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIGZhbHNlIHN0YXJ0ZWQgd2l0aCBmYWwnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLkZBTFNFNDpcbiAgICAgICAgICBpZiAoYyA9PT0gQ2hhci5lKSB7XG4gICAgICAgICAgICBlbWl0KHBhcnNlciwgXCJvbnZhbHVlXCIsIGZhbHNlKTtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSA9IHBhcnNlci5zdGFjay5wb3AoKSB8fCBTLlZBTFVFO1xuICAgICAgICAgIH0gZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIGZhbHNlIHN0YXJ0ZWQgd2l0aCBmYWxzJysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5OVUxMOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLnUpIHBhcnNlci5zdGF0ZSA9IFMuTlVMTDI7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIG51bGwgc3RhcnRlZCB3aXRoIG4nKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk5VTEwyOlxuICAgICAgICAgIGlmIChjID09PSBDaGFyLmwpIHBhcnNlci5zdGF0ZSA9IFMuTlVMTDM7XG4gICAgICAgICAgZWxzZSBlcnJvcihwYXJzZXIsICdJbnZhbGlkIG51bGwgc3RhcnRlZCB3aXRoIG51JysgYyk7XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGNhc2UgUy5OVUxMMzpcbiAgICAgICAgICBpZihjID09PSBDaGFyLmwpIHtcbiAgICAgICAgICAgIGVtaXQocGFyc2VyLCBcIm9udmFsdWVcIiwgbnVsbCk7XG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICB9IGVsc2UgZXJyb3IocGFyc2VyLCAnSW52YWxpZCBudWxsIHN0YXJ0ZWQgd2l0aCBudWwnKyBjKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk5VTUJFUl9ERUNJTUFMX1BPSU5UOlxuICAgICAgICAgIGlmKGMgPT09IENoYXIucGVyaW9kKSB7XG4gICAgICAgICAgICBwYXJzZXIubnVtYmVyTm9kZSArPSBcIi5cIjtcbiAgICAgICAgICAgIHBhcnNlci5zdGF0ZSAgICAgICA9IFMuTlVNQkVSX0RJR0lUO1xuICAgICAgICAgIH0gZWxzZSBlcnJvcihwYXJzZXIsICdMZWFkaW5nIHplcm8gbm90IGZvbGxvd2VkIGJ5IC4nKTtcbiAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgY2FzZSBTLk5VTUJFUl9ESUdJVDpcbiAgICAgICAgICBpZihDaGFyLl8wIDw9IGMgJiYgYyA8PSBDaGFyLl85KSBwYXJzZXIubnVtYmVyTm9kZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICAgIGVsc2UgaWYgKGMgPT09IENoYXIucGVyaW9kKSB7XG4gICAgICAgICAgICBpZihwYXJzZXIubnVtYmVyTm9kZS5pbmRleE9mKCcuJykhPT0tMSlcbiAgICAgICAgICAgICAgZXJyb3IocGFyc2VyLCAnSW52YWxpZCBudW1iZXIgaGFzIHR3byBkb3RzJyk7XG4gICAgICAgICAgICBwYXJzZXIubnVtYmVyTm9kZSArPSBcIi5cIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09IENoYXIuZSB8fCBjID09PSBDaGFyLkUpIHtcbiAgICAgICAgICAgIGlmKHBhcnNlci5udW1iZXJOb2RlLmluZGV4T2YoJ2UnKSE9PS0xIHx8XG4gICAgICAgICAgICAgICBwYXJzZXIubnVtYmVyTm9kZS5pbmRleE9mKCdFJykhPT0tMSApXG4gICAgICAgICAgICAgICBlcnJvcihwYXJzZXIsICdJbnZhbGlkIG51bWJlciBoYXMgdHdvIGV4cG9uZW50aWFsJyk7XG4gICAgICAgICAgICBwYXJzZXIubnVtYmVyTm9kZSArPSBcImVcIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKGMgPT09IENoYXIucGx1cyB8fCBjID09PSBDaGFyLm1pbnVzKSB7XG4gICAgICAgICAgICBpZighKHAgPT09IENoYXIuZSB8fCBwID09PSBDaGFyLkUpKVxuICAgICAgICAgICAgICBlcnJvcihwYXJzZXIsICdJbnZhbGlkIHN5bWJvbCBpbiBudW1iZXInKTtcbiAgICAgICAgICAgIHBhcnNlci5udW1iZXJOb2RlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsb3NlTnVtYmVyKHBhcnNlcik7XG4gICAgICAgICAgICBpLS07IC8vIGdvIGJhY2sgb25lXG4gICAgICAgICAgICBwYXJzZXIuc3RhdGUgPSBwYXJzZXIuc3RhY2sucG9wKCkgfHwgUy5WQUxVRTtcbiAgICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgZXJyb3IocGFyc2VyLCBcIlVua25vd24gc3RhdGU6IFwiICsgcGFyc2VyLnN0YXRlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBhcnNlci5wb3NpdGlvbiA+PSBwYXJzZXIuYnVmZmVyQ2hlY2tQb3NpdGlvbilcbiAgICAgIGNoZWNrQnVmZmVyTGVuZ3RoKHBhcnNlcik7XG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxuXG59KShleHBvcnRzKTtcbn0pO1xuXG5mdW5jdGlvbiBKc29uU3RyZWFtKGJsb2IpIHtcbiAgICB2YXIgcG9zID0gMDtcbiAgICB2YXIgcGFyc2VyID0gSnNvblBhcnNlcih0cnVlKTtcbiAgICB2YXIgcnYgPSB7XG4gICAgICAgIHB1bGxBc3luYzogZnVuY3Rpb24gKG51bUJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIHNsaXplLCBqc29uUGFydCwgcmVzdWx0O1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaXplID0gYmxvYi5zbGljZShwb3MsIHBvcyArIG51bUJ5dGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgKz0gbnVtQnl0ZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgcmVhZEJsb2JBc3luYyhzbGl6ZSwgJ3RleHQnKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvblBhcnQgPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcGFyc2VyLndyaXRlKGpzb25QYXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydi5yZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIHJlc3VsdF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBwdWxsU3luYzogZnVuY3Rpb24gKG51bUJ5dGVzKSB7XG4gICAgICAgICAgICB2YXIgc2xpemUgPSBibG9iLnNsaWNlKHBvcywgcG9zICsgbnVtQnl0ZXMpO1xuICAgICAgICAgICAgcG9zICs9IG51bUJ5dGVzO1xuICAgICAgICAgICAgdmFyIGpzb25QYXJ0ID0gcmVhZEJsb2JTeW5jKHNsaXplLCAndGV4dCcpO1xuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHBhcnNlci53cml0ZShqc29uUGFydCk7XG4gICAgICAgICAgICBydi5yZXN1bHQgPSByZXN1bHQgfHwge307XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICBkb25lOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VyLmRvbmUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW9mOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gcG9zID49IGJsb2Iuc2l6ZTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVzdWx0OiB7fVxuICAgIH07XG4gICAgcmV0dXJuIHJ2O1xufVxuZnVuY3Rpb24gSnNvblBhcnNlcihhbGxvd1BhcnRpYWwpIHtcbiAgICB2YXIgcGFyc2VyID0gY2xhcmluZXRfMS5wYXJzZXIoKTtcbiAgICB2YXIgbGV2ZWwgPSAwO1xuICAgIHZhciByZXN1bHQ7XG4gICAgdmFyIHN0YWNrID0gW107XG4gICAgdmFyIG9iajtcbiAgICB2YXIga2V5O1xuICAgIHZhciBkb25lID0gZmFsc2U7XG4gICAgdmFyIGFycmF5ID0gZmFsc2U7XG4gICAgcGFyc2VyLm9ub3Blbm9iamVjdCA9IGZ1bmN0aW9uIChuZXdLZXkpIHtcbiAgICAgICAgdmFyIG5ld09iaiA9IHt9O1xuICAgICAgICBuZXdPYmouaW5jb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIGlmICghcmVzdWx0KVxuICAgICAgICAgICAgcmVzdWx0ID0gbmV3T2JqO1xuICAgICAgICBpZiAob2JqKSB7XG4gICAgICAgICAgICBzdGFjay5wdXNoKFtrZXksIG9iaiwgYXJyYXldKTtcbiAgICAgICAgICAgIGlmIChhbGxvd1BhcnRpYWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2gobmV3T2JqKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gbmV3T2JqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvYmogPSBuZXdPYmo7XG4gICAgICAgIGtleSA9IG5ld0tleTtcbiAgICAgICAgYXJyYXkgPSBmYWxzZTtcbiAgICAgICAgKytsZXZlbDtcbiAgICB9O1xuICAgIHBhcnNlci5vbmtleSA9IGZ1bmN0aW9uIChuZXdLZXkpIHsgcmV0dXJuIGtleSA9IG5ld0tleTsgfTtcbiAgICBwYXJzZXIub252YWx1ZSA9IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gYXJyYXkgPyBvYmoucHVzaCh2YWx1ZSkgOiBvYmpba2V5XSA9IHZhbHVlOyB9O1xuICAgIHBhcnNlci5vbmNsb3Nlb2JqZWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGRlbGV0ZSBvYmouaW5jb21wbGV0ZTtcbiAgICAgICAga2V5ID0gbnVsbDtcbiAgICAgICAgaWYgKC0tbGV2ZWwgPT09IDApIHtcbiAgICAgICAgICAgIGRvbmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvbXBsZXRlZE9iaiA9IG9iajtcbiAgICAgICAgICAgIF9hID0gc3RhY2sucG9wKCksIGtleSA9IF9hWzBdLCBvYmogPSBfYVsxXSwgYXJyYXkgPSBfYVsyXTtcbiAgICAgICAgICAgIGlmICghYWxsb3dQYXJ0aWFsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9iai5wdXNoKGNvbXBsZXRlZE9iaik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYmpba2V5XSA9IGNvbXBsZXRlZE9iajtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHBhcnNlci5vbm9wZW5hcnJheSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIG5ld09iaiA9IFtdO1xuICAgICAgICBuZXdPYmouaW5jb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIGlmICghcmVzdWx0KVxuICAgICAgICAgICAgcmVzdWx0ID0gbmV3T2JqO1xuICAgICAgICBpZiAob2JqKSB7XG4gICAgICAgICAgICBzdGFjay5wdXNoKFtrZXksIG9iaiwgYXJyYXldKTtcbiAgICAgICAgICAgIGlmIChhbGxvd1BhcnRpYWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2gobmV3T2JqKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gbmV3T2JqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvYmogPSBuZXdPYmo7XG4gICAgICAgIGFycmF5ID0gdHJ1ZTtcbiAgICAgICAga2V5ID0gbnVsbDtcbiAgICAgICAgKytsZXZlbDtcbiAgICB9O1xuICAgIHBhcnNlci5vbmNsb3NlYXJyYXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgZGVsZXRlIG9iai5pbmNvbXBsZXRlO1xuICAgICAgICBrZXkgPSBudWxsO1xuICAgICAgICBpZiAoLS1sZXZlbCA9PT0gMCkge1xuICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgY29tcGxldGVkT2JqID0gb2JqO1xuICAgICAgICAgICAgX2EgPSBzdGFjay5wb3AoKSwga2V5ID0gX2FbMF0sIG9iaiA9IF9hWzFdLCBhcnJheSA9IF9hWzJdO1xuICAgICAgICAgICAgaWYgKCFhbGxvd1BhcnRpYWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJyYXkpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqLnB1c2goY29tcGxldGVkT2JqKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gY29tcGxldGVkT2JqO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd3JpdGU6IGZ1bmN0aW9uIChqc29uUGFydCkge1xuICAgICAgICAgICAgcGFyc2VyLndyaXRlKGpzb25QYXJ0KTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sXG4gICAgICAgIGRvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBkb25lO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxudmFyIERFRkFVTFRfS0lMT0JZVEVTX1BFUl9DSFVOSyA9IDEwMjQ7XG5mdW5jdGlvbiBpbXBvcnREQihleHBvcnRlZERhdGEsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBDSFVOS19TSVpFLCBzdHJlYW0sIGRiRXhwb3J0LCBkYjtcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307IC8vIEFsbCBib29sZWFucyBkZWZhdWx0cyB0byBmYWxzZS5cbiAgICAgICAgICAgICAgICAgICAgQ0hVTktfU0laRSA9IG9wdGlvbnMuY2h1bmtTaXplQnl0ZXMgfHwgKERFRkFVTFRfS0lMT0JZVEVTX1BFUl9DSFVOSyAqIDEwMjQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBsb2FkVW50aWxXZUdvdEVub3VnaERhdGEoZXhwb3J0ZWREYXRhLCBDSFVOS19TSVpFKV07XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBzdHJlYW0gPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGRiRXhwb3J0ID0gc3RyZWFtLnJlc3VsdC5kYXRhO1xuICAgICAgICAgICAgICAgICAgICBkYiA9IG5ldyBEZXhpZShkYkV4cG9ydC5kYXRhYmFzZU5hbWUpO1xuICAgICAgICAgICAgICAgICAgICBkYi52ZXJzaW9uKGRiRXhwb3J0LmRhdGFiYXNlVmVyc2lvbikuc3RvcmVzKGV4dHJhY3REYlNjaGVtYShkYkV4cG9ydCkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBpbXBvcnRJbnRvKGRiLCBzdHJlYW0sIG9wdGlvbnMpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi8sIGRiXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBwZWFrSW1wb3J0RmlsZShleHBvcnRlZERhdGEpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzdHJlYW07XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoX2EubGFiZWwpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgIHN0cmVhbSA9IEpzb25TdHJlYW0oZXhwb3J0ZWREYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgX2EubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEhc3RyZWFtLmVvZigpKSByZXR1cm4gWzMgLypicmVhayovLCAzXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgc3RyZWFtLnB1bGxBc3luYyg1ICogMTAyNCldO1xuICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpOyAvLyA1IGsgaXMgbm9ybWFsbHkgZW5vdWdoIGZvciB0aGUgaGVhZGVycy4gSWYgbm90LCBpdCB3aWxsIGp1c3QgZG8gYW5vdGhlciBnby5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmVhbS5yZXN1bHQuZGF0YSAmJiBzdHJlYW0ucmVzdWx0LmRhdGEuZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIFRTIHdvbid0IGFsbG93IHVzIHRvIGRlbGV0ZSBhIHJlcXVpcmVkIHByb3BlcnR5IC0gYnV0IHdlIGFyZSBnb2luZyB0byBjYXN0IGl0LlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHN0cmVhbS5yZXN1bHQuZGF0YS5kYXRhOyAvLyBEb24ndCByZXR1cm4gaGFsZi1iYWtlZCBkYXRhIGFycmF5LlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgMV07XG4gICAgICAgICAgICAgICAgY2FzZSAzOiByZXR1cm4gWzIgLypyZXR1cm4qLywgc3RyZWFtLnJlc3VsdF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gaW1wb3J0SW50byhkYiwgZXhwb3J0ZWREYXRhLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmdW5jdGlvbiBpbXBvcnRBbGwoKSB7XG4gICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9sb29wXzEsIF9pLCBfYSwgdGFibGVFeHBvcnQsIHN0YXRlXzE7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYikge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKF9iLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2xvb3BfMSA9IGZ1bmN0aW9uICh0YWJsZUV4cG9ydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGFibGVOYW1lLCB0YWJsZSwgdGFibGVTY2hlbWFTdHIsIHNvdXJjZVJvd3MsIHJvd3MsIGksIG9iaiwgZmlsdGVyLCBmaWx0ZXJlZFJvd3MsIF9hLCBrZXlzLCB2YWx1ZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2IubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGFibGVFeHBvcnQucm93cylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBcImJyZWFrXCJdOyAvLyBOZWVkIHRvIHB1bGwgbW9yZSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZUV4cG9ydC5yb3dzLmluY29tcGxldGUgJiYgdGFibGVFeHBvcnQucm93cy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgXCJjb250aW51ZVwiXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtlZXAgb25nb2luZyB0cmFuc2FjdGlvbiBwcml2YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXhpZS5pZ25vcmVUcmFuc2FjdGlvbihmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9ncmVzc0NhbGxiYWNrKHByb2dyZXNzKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVOYW1lID0gdGFibGVFeHBvcnQudGFibGVOYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSA9IGRiLnRhYmxlKHRhYmxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hU3RyID0gZGJFeHBvcnQudGFibGVzLmZpbHRlcihmdW5jdGlvbiAodCkgeyByZXR1cm4gdC5uYW1lID09PSB0YWJsZU5hbWU7IH0pWzBdLnNjaGVtYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmFjY2VwdE1pc3NpbmdUYWJsZXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwb3J0ZWQgdGFibGUgXCIgKyB0YWJsZUV4cG9ydC50YWJsZU5hbWUgKyBcIiBpcyBtaXNzaW5nIGluIGluc3RhbGxlZCBkYXRhYmFzZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qLywgXCJjb250aW51ZVwiXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuYWNjZXB0Q2hhbmdlZFByaW1hcnlLZXkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hU3RyLnNwbGl0KCcsJylbMF0gIT0gdGFibGUuc2NoZW1hLnByaW1LZXkuc3JjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQcmltYXJ5IGtleSBkaWZmZXJzIGZvciB0YWJsZSBcIiArIHRhYmxlRXhwb3J0LnRhYmxlTmFtZSArIFwiLiBcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUm93cyA9IHRhYmxlRXhwb3J0LnJvd3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3MgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNvdXJjZVJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHNvdXJjZVJvd3NbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9iai5pbmNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cy5wdXNoKFRTT04ucmV2aXZlKG9iaikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0gb3B0aW9ucy5maWx0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkUm93cyA9IGZpbHRlciA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZUV4cG9ydC5pbmJvdW5kID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzLmZpbHRlcihmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIGZpbHRlcih0YWJsZU5hbWUsIHZhbHVlKTsgfSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3MuZmlsdGVyKGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gX2FbMF0sIHZhbHVlID0gX2FbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIodGFibGVOYW1lLCB2YWx1ZSwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYSA9IHRhYmxlRXhwb3J0LmluYm91bmQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VuZGVmaW5lZCwgZmlsdGVyZWRSb3dzXSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyZWRSb3dzLm1hcChmdW5jdGlvbiAocm93KSB7IHJldHVybiByb3dbMF07IH0pLCByb3dzLm1hcChmdW5jdGlvbiAocm93KSB7IHJldHVybiByb3dbMV07IH0pXSwga2V5cyA9IF9hWzBdLCB2YWx1ZXMgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmNsZWFyVGFibGVzQmVmb3JlSW1wb3J0KSByZXR1cm4gWzMgLypicmVhayovLCAyXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgdGFibGUuY2xlYXIoKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLmxhYmVsID0gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5vdmVyd3JpdGVWYWx1ZXMpIHJldHVybiBbMyAvKmJyZWFrKi8sIDRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCB0YWJsZS5idWxrUHV0KHZhbHVlcywga2V5cyldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA2XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHJldHVybiBbNCAvKnlpZWxkKi8sIHRhYmxlLmJ1bGtBZGQodmFsdWVzLCBrZXlzKV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLmxhYmVsID0gNjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzLmNvbXBsZXRlZFJvd3MgKz0gcm93cy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcm93cy5pbmNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5jb21wbGV0ZWRUYWJsZXMgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VSb3dzLnNwbGljZSgwLCByb3dzLmxlbmd0aCk7IC8vIEZyZWUgdXAgUkFNLCBrZWVwIGV4aXN0aW5nIGFycmF5IGluc3RhbmNlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2kgPSAwLCBfYSA9IGRiRXhwb3J0LmRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKF9pIDwgX2EubGVuZ3RoKSkgcmV0dXJuIFszIC8qYnJlYWsqLywgNF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVFeHBvcnQgPSBfYVtfaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs1IC8qeWllbGQqKi8sIF9sb29wXzEodGFibGVFeHBvcnQpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZV8xID0gX2Iuc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZV8xID09PSBcImJyZWFrXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLmxhYmVsID0gMztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaSsrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEF2b2lkIHVubmVzY2Vzc2FyeSBsb29wcyBpbiBcImZvciAoY29uc3QgdGFibGVFeHBvcnQgb2YgZGJFeHBvcnQuZGF0YSlcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZGJFeHBvcnQuZGF0YS5sZW5ndGggPiAwICYmIGRiRXhwb3J0LmRhdGFbMF0ucm93cyAmJiAhZGJFeHBvcnQuZGF0YVswXS5yb3dzLmluY29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UndmUgYWxyZWFkeSBpbXBvcnRlZCBhbGwgcm93cyBmcm9tIHRoZSBmaXJzdCB0YWJsZS4gRGVsZXRlIGl0cyBvY2N1cnJlbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRiRXhwb3J0LmRhdGEuc3BsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISghanNvblN0cmVhbS5kb25lKCkgJiYgIWpzb25TdHJlYW0uZW9mKCkpKSByZXR1cm4gWzMgLypicmVhayovLCA4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlYWRCbG9ic1N5bmNocm9ub3VzbHkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIGNhbiBwdWxsIGZyb20gYmxvYiBzeW5jaHJvbmljYWxseSwgd2UgZG9uJ3QgaGF2ZSB0b1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGtlZXAgdHJhbnNhY3Rpb24gYWxpdmUgdXNpbmcgRGV4aWUud2FpdEZvcigpLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgd2lsbCBvbmx5IGJlIHBvc3NpYmxlIGluIHdvcmtlcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNvblN0cmVhbS5wdWxsU3luYyhDSFVOS19TSVpFKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA3XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNTogcmV0dXJuIFs0IC8qeWllbGQqLywgRGV4aWUud2FpdEZvcihqc29uU3RyZWFtLnB1bGxBc3luYyhDSFVOS19TSVpFKSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA2OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9iLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYi5sYWJlbCA9IDc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHJldHVybiBbMyAvKmJyZWFrKi8sIDldO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA4OiByZXR1cm4gWzMgLypicmVhayovLCAxMF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgMF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2IubGFiZWwgPSAxMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTA6IHJldHVybiBbMiAvKnJldHVybiovXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIENIVU5LX1NJWkUsIGpzb25TdHJlYW0sIGRiRXhwb3J0RmlsZSwgcmVhZEJsb2JzU3luY2hyb25vdXNseSwgZGJFeHBvcnQsIHByb2dyZXNzQ2FsbGJhY2ssIHByb2dyZXNzO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKF9hLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gQWxsIGJvb2xlYW5zIGRlZmF1bHRzIHRvIGZhbHNlLlxuICAgICAgICAgICAgICAgICAgICBDSFVOS19TSVpFID0gb3B0aW9ucy5jaHVua1NpemVCeXRlcyB8fCAoREVGQVVMVF9LSUxPQllURVNfUEVSX0NIVU5LICogMTAyNCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGxvYWRVbnRpbFdlR290RW5vdWdoRGF0YShleHBvcnRlZERhdGEsIENIVU5LX1NJWkUpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgICAgIGpzb25TdHJlYW0gPSBfYS5zZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGRiRXhwb3J0RmlsZSA9IGpzb25TdHJlYW0ucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICByZWFkQmxvYnNTeW5jaHJvbm91c2x5ID0gJ0ZpbGVSZWFkZXJTeW5jJyBpbiBzZWxmO1xuICAgICAgICAgICAgICAgICAgICBkYkV4cG9ydCA9IGRiRXhwb3J0RmlsZS5kYXRhO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuYWNjZXB0TmFtZURpZmYgJiYgZGIubmFtZSAhPT0gZGJFeHBvcnQuZGF0YWJhc2VOYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTmFtZSBkaWZmZXJzLiBDdXJyZW50IGRhdGFiYXNlIG5hbWUgaXMgXCIgKyBkYi5uYW1lICsgXCIgYnV0IGV4cG9ydCBpcyBcIiArIGRiRXhwb3J0LmRhdGFiYXNlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5hY2NlcHRWZXJzaW9uRGlmZiAmJiBkYi52ZXJubyAhPT0gZGJFeHBvcnQuZGF0YWJhc2VWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQb3NzaWJsZSBmZWF0dXJlOiBDYWxsIHVwZ3JhZGVycyBpbiBzb21lIGlzb2xhdGVkIHdheSBpZiB0aGlzIGhhcHBlbnMuLi4gP1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRGF0YWJhc2UgdmVyc2lvbiBkaWZmZXJzLiBDdXJyZW50IGRhdGFiYXNlIGlzIGluIHZlcnNpb24gXCIgKyBkYi52ZXJubyArIFwiIGJ1dCBleHBvcnQgaXMgXCIgKyBkYkV4cG9ydC5kYXRhYmFzZVZlcnNpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzQ2FsbGJhY2sgPSBvcHRpb25zLnByb2dyZXNzQ2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWRSb3dzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGVkVGFibGVzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxSb3dzOiBkYkV4cG9ydC50YWJsZXMucmVkdWNlKGZ1bmN0aW9uIChwLCBjKSB7IHJldHVybiBwICsgYy5yb3dDb3VudDsgfSwgMCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFRhYmxlczogZGJFeHBvcnQudGFibGVzLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvZ3Jlc3NDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBvbmdvaW5nIHRyYW5zYWN0aW9uIHByaXZhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIERleGllLmlnbm9yZVRyYW5zYWN0aW9uKGZ1bmN0aW9uICgpIHsgcmV0dXJuIHByb2dyZXNzQ2FsbGJhY2socHJvZ3Jlc3MpOyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMubm9UcmFuc2FjdGlvbikgcmV0dXJuIFszIC8qYnJlYWsqLywgM107XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIGltcG9ydEFsbCgpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07XG4gICAgICAgICAgICAgICAgY2FzZSAzOiByZXR1cm4gWzQgLyp5aWVsZCovLCBkYi50cmFuc2FjdGlvbigncncnLCBkYi50YWJsZXMsIGltcG9ydEFsbCldO1xuICAgICAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgX2Euc2VudCgpO1xuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDU7XG4gICAgICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5kb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEtlZXAgb25nb2luZyB0cmFuc2FjdGlvbiBwcml2YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBEZXhpZS5pZ25vcmVUcmFuc2FjdGlvbihmdW5jdGlvbiAoKSB7IHJldHVybiBwcm9ncmVzc0NhbGxiYWNrKHByb2dyZXNzKTsgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGxvYWRVbnRpbFdlR290RW5vdWdoRGF0YShleHBvcnRlZERhdGEsIENIVU5LX1NJWkUpIHtcbiAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzdHJlYW0sIGRiRXhwb3J0RmlsZTtcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uIChfYSkge1xuICAgICAgICAgICAgc3dpdGNoIChfYS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgc3RyZWFtID0gKCdzbGljZScgaW4gZXhwb3J0ZWREYXRhID9cbiAgICAgICAgICAgICAgICAgICAgICAgIEpzb25TdHJlYW0oZXhwb3J0ZWREYXRhKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRlZERhdGEpO1xuICAgICAgICAgICAgICAgICAgICBfYS5sYWJlbCA9IDE7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBpZiAoISFzdHJlYW0uZW9mKCkpIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBzdHJlYW0ucHVsbEFzeW5jKENIVU5LX1NJWkUpXTtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAgIF9hLnNlbnQoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmVhbS5yZXN1bHQuZGF0YSAmJiBzdHJlYW0ucmVzdWx0LmRhdGEuZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDNdO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCAxXTtcbiAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgIGRiRXhwb3J0RmlsZSA9IHN0cmVhbS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGJFeHBvcnRGaWxlIHx8IGRiRXhwb3J0RmlsZS5mb3JtYXROYW1lICE9IFwiZGV4aWVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkdpdmVuIGZpbGUgaXMgbm90IGEgZGV4aWUgZXhwb3J0XCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGJFeHBvcnRGaWxlLmZvcm1hdFZlcnNpb24gPiBWRVJTSU9OKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGb3JtYXQgdmVyc2lvbiBcIiArIGRiRXhwb3J0RmlsZS5mb3JtYXRWZXJzaW9uICsgXCIgbm90IHN1cHBvcnRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWRiRXhwb3J0RmlsZS5kYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBkYXRhIGluIGV4cG9ydCBmaWxlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGJFeHBvcnRGaWxlLmRhdGEuZGF0YWJhc2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGRhdGFiYXNlTmFtZSBpbiBleHBvcnQgZmlsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWRiRXhwb3J0RmlsZS5kYXRhLmRhdGFiYXNlVmVyc2lvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBkYXRhYmFzZVZlcnNpb24gaW4gZXhwb3J0IGZpbGVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkYkV4cG9ydEZpbGUuZGF0YS50YWJsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgdGFibGVzIGluIGV4cG9ydCBmaWxlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovLCBzdHJlYW1dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuLy9cbi8vIEV4dGVuZCBEZXhpZSBpbnRlcmZhY2UgKHJ1bnRpbWUgd2lzZSlcbi8vXG5EZXhpZS5wcm90b3R5cGUuZXhwb3J0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gZXhwb3J0REIodGhpcywgb3B0aW9ucyk7XG59O1xuRGV4aWUucHJvdG90eXBlLmltcG9ydCA9IGZ1bmN0aW9uIChibG9iLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGltcG9ydEludG8odGhpcywgYmxvYiwgb3B0aW9ucyk7XG59O1xuRGV4aWUuaW1wb3J0ID0gZnVuY3Rpb24gKGJsb2IsIG9wdGlvbnMpIHsgcmV0dXJuIGltcG9ydERCKGJsb2IsIG9wdGlvbnMpOyB9O1xudmFyIGRleGllRXhwb3J0SW1wb3J0ID0gKGZ1bmN0aW9uICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIGFkZG9uIGV4dGVuZHMgRGV4aWUucHJvdG90eXBlIGdsb2JhbGx5IGFuZCBkb2VzIG5vdCBoYXZlIGJlIGluY2x1ZGVkIGluIERleGllIGNvbnN0cnVjdG9yJ3MgYWRkb25zIG9wdGlvbnMuXCIpO1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IGRleGllRXhwb3J0SW1wb3J0O1xuZXhwb3J0IHsgZXhwb3J0REIsIGltcG9ydERCLCBpbXBvcnRJbnRvLCBwZWFrSW1wb3J0RmlsZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGV4aWUtZXhwb3J0LWltcG9ydC5tanMubWFwXG4iLCJleHBvcnQgdHlwZSBDb21iYXRhbnQgPSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBqb2I/OiBzdHJpbmc7XHJcbiAgc3Bhd246IG51bWJlcjtcclxuICBkZXNwYXduOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2dSZXBvc2l0b3J5IHtcclxuICBDb21iYXRhbnRzOiB7IFtpZDogc3RyaW5nXTogQ29tYmF0YW50IH0gPSB7fTtcclxuICBmaXJzdFRpbWVzdGFtcCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG5cclxuICB1cGRhdGVUaW1lc3RhbXAodGltZXN0YW1wOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlyc3RUaW1lc3RhbXAgPSBNYXRoLm1pbih0aGlzLmZpcnN0VGltZXN0YW1wLCB0aW1lc3RhbXApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29tYmF0YW50KGlkOiBzdHJpbmcsIGM6IENvbWJhdGFudCk6IHZvaWQge1xyXG4gICAgaWQgPSBpZC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgaWYgKGlkICYmIGlkLmxlbmd0aCkge1xyXG4gICAgICBsZXQgY29tYmF0YW50ID0gdGhpcy5Db21iYXRhbnRzW2lkXTtcclxuICAgICAgaWYgKGNvbWJhdGFudCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgY29tYmF0YW50ID0ge1xyXG4gICAgICAgICAgbmFtZTogYy5uYW1lLFxyXG4gICAgICAgICAgam9iOiBjLmpvYixcclxuICAgICAgICAgIHNwYXduOiBjLnNwYXduLFxyXG4gICAgICAgICAgZGVzcGF3bjogYy5kZXNwYXduLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5Db21iYXRhbnRzW2lkXSA9IGNvbWJhdGFudDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb21iYXRhbnQubmFtZSA9IGMubmFtZSA/PyBjb21iYXRhbnQubmFtZTtcclxuICAgICAgICBjb21iYXRhbnQuam9iID0gYy5qb2IgPz8gY29tYmF0YW50LmpvYjtcclxuICAgICAgICBjb21iYXRhbnQuc3Bhd24gPSBNYXRoLm1pbihjb21iYXRhbnQuc3Bhd24sIGMuc3Bhd24pO1xyXG4gICAgICAgIGNvbWJhdGFudC5kZXNwYXduID0gTWF0aC5tYXgoY29tYmF0YW50LmRlc3Bhd24sIGMuZGVzcGF3bik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRXZlbnRCdXMgYnkgZGVmaW5pdGlvbiByZXF1aXJlcyBnZW5lcmljIHBhcmFtZXRlcnMuXHJcbi8vIE1hcCBvdXIgc3RhbmQtaW4gZ2VuZXJpY3MgdG8gYWN0dWFsIGdlbmVyaWNzIGhlcmUuXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXHJcbnR5cGUgU2NvcGUgPSBvYmplY3Q7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbnR5cGUgUGFyYW0gPSBhbnk7XHJcblxyXG50eXBlIENhbGxiYWNrRnVuY3Rpb24gPSAoLi4uYXJnczogUGFyYW0pID0+ICh2b2lkIHwgUHJvbWlzZTx2b2lkPik7XHJcbnR5cGUgRXZlbnRNYXBFbnRyeSA9IHtcclxuICBldmVudDogc3RyaW5nO1xyXG4gIHNjb3BlOiBTY29wZTtcclxuICBjYWxsYmFjazogQ2FsbGJhY2tGdW5jdGlvbjtcclxufTtcclxudHlwZSBFdmVudE1hcCA9IHsgW2V2ZW50OiBzdHJpbmddOiBFdmVudE1hcEVudHJ5W10gfTtcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGlzIGEgYmFzZSBjbGFzcyB0aGF0IGNsYXNzZXMgY2FuIGV4dGVuZCB0byBpbmhlcml0IGV2ZW50IGJ1cyBjYXBhYmlsaXRpZXMuXHJcbiAqIFRoaXMgYWxsb3dzIG90aGVyIGNsYXNzZXMgdG8gbGlzdGVuIGZvciBldmVudHMgd2l0aCB0aGUgYG9uYCBmdW5jdGlvbi5cclxuICogVGhlIGluaGVyaXRpbmcgY2xhc3MgY2FuIGZpcmUgdGhvc2UgZXZlbnRzIHdpdGggdGhlIGBkaXNwYXRjaGAgZnVuY3Rpb24uXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdmVudEJ1cyB7XHJcbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6IEV2ZW50TWFwID0ge307XHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlIHRvIGFuIGV2ZW50XHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50KHMpIHRvIHN1YnNjcmliZSB0bywgc3BhY2Ugc2VwYXJhdGVkXHJcbiAgICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayB0byBpbnZva2VcclxuICAgKiBAcGFyYW0gc2NvcGUgT3B0aW9uYWwuIFRoZSBzY29wZSB0byBhcHBseSB0aGUgZnVuY3Rpb24gYWdhaW5zdFxyXG4gICAqIEByZXR1cm5zIFRoZSBjYWxsYmFja3MgcmVnaXN0ZXJlZCB0byB0aGUgZXZlbnQocylcclxuICAgKi9cclxuICBvbihldmVudDogc3RyaW5nLCBjYWxsYmFjaz86IENhbGxiYWNrRnVuY3Rpb24sIHNjb3BlPzogU2NvcGUpOiBFdmVudE1hcEVudHJ5W10ge1xyXG4gICAgY29uc3QgZXZlbnRzID0gZXZlbnQuc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IHJldDogRXZlbnRNYXBFbnRyeVtdID0gW107XHJcbiAgICBzY29wZSA9IHNjb3BlID8/ICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/IHt9IDogd2luZG93KTtcclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRzKSB7XHJcbiAgICAgIGNvbnN0IGV2ZW50czogRXZlbnRNYXBFbnRyeVtdID0gdGhpcy5saXN0ZW5lcnNbZXZlbnRdID8/PSBbXTtcclxuICAgICAgaWYgKGNhbGxiYWNrICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgZXZlbnRzLnB1c2goeyBldmVudDogZXZlbnQsIHNjb3BlOiBzY29wZSwgY2FsbGJhY2s6IGNhbGxiYWNrIH0pO1xyXG4gICAgICByZXQucHVzaCguLi4odGhpcy5saXN0ZW5lcnNbZXZlbnRdID8/IFtdKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGF0Y2ggYW4gZXZlbnQgdG8gYW55IHN1YnNjcmliZXJzXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50IHRvIGRpc3BhdGNoXHJcbiAgICogQHBhcmFtIGV2ZW50QXJndW1lbnRzIFRoZSBldmVudCBhcmd1bWVudHMgdG8gcGFzcyB0byBsaXN0ZW5lcnNcclxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCBjYW4gYmUgYXdhaXQnZCBvciBpZ25vcmVkXHJcbiAgICovXHJcbiAgYXN5bmMgZGlzcGF0Y2goZXZlbnQ6IHN0cmluZywgLi4uZXZlbnRBcmd1bWVudHM6IFBhcmFtKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5saXN0ZW5lcnNbZXZlbnRdID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGwgb2YgdGhpcy5saXN0ZW5lcnNbZXZlbnRdID8/IFtdKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IGwuY2FsbGJhY2suYXBwbHkobC5zY29wZSwgZXZlbnRBcmd1bWVudHMpO1xyXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUocmVzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkdhbWVMb2cuZmllbGRzO1xyXG5cclxuLy8gQ2hhdCBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgwMCBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgc3BlYWtlcjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy50eXBlID0gcGFydHNbZmllbGRzLmNvZGVdID8/ICcnO1xyXG4gICAgdGhpcy5zcGVha2VyID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy5tZXNzYWdlID0gcGFydHMuc2xpY2UoNCwgLTEpLmpvaW4oJ3wnKTtcclxuXHJcbiAgICAvLyBUaGUgZXhhY3QgcmVhc29uIGZvciB0aGlzIGNoZWNrIGlzbid0IGNsZWFyIGFueW1vcmUgYnV0IG1heSBiZSByZWxhdGVkIHRvXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcmF2YWhuL0ZGWElWX0FDVF9QbHVnaW4vaXNzdWVzLzI1MFxyXG4gICAgaWYgKHRoaXMubWVzc2FnZS5zcGxpdCgnXFx1MDAxZlxcdTAwMWYnKS5sZW5ndGggPiAxKVxyXG4gICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuY29udmVydGVkTGluZSA9IHRoaXMucHJlZml4KCkgKyB0aGlzLnR5cGUgKyAnOicgK1xyXG4gICAgICB0aGlzLnNwZWFrZXIgKyAnOicgKyB0aGlzLm1lc3NhZ2UudHJpbSgpO1xyXG4gICAgdGhpcy5jb252ZXJ0ZWRMaW5lID0gTGluZUV2ZW50MDAucmVwbGFjZUNoYXRTeW1ib2xzKHRoaXMuY29udmVydGVkTGluZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVwbGFjZUNoYXRTeW1ib2xzKGxpbmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBmb3IgKGNvbnN0IHJlcCBvZiBMaW5lRXZlbnQwMC5jaGF0U3ltYm9sUmVwbGFjZW1lbnRzKVxyXG4gICAgICBsaW5lID0gbGluZS5yZXBsYWNlKHJlcC5TZWFyY2gsIHJlcC5SZXBsYWNlKTtcclxuXHJcbiAgICByZXR1cm4gbGluZTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjaGF0U3ltYm9sUmVwbGFjZW1lbnRzID0gW1xyXG4gICAge1xyXG4gICAgICBTZWFyY2g6IC9cXHVFMDZGL2csXHJcbiAgICAgIFJlcGxhY2U6ICfih5InLFxyXG4gICAgICBUeXBlOiAnU3ltYm9sJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFNlYXJjaDogLyBcXHVFMEJCXFx1RTA1Qy9nLFxyXG4gICAgICBSZXBsYWNlOiAnICcsXHJcbiAgICAgIFR5cGU6ICdQb3NpdGl2ZSBFZmZlY3QnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgU2VhcmNoOiAvIFxcdUUwQkJcXHVFMDVCL2csXHJcbiAgICAgIFJlcGxhY2U6ICcgJyxcclxuICAgICAgVHlwZTogJ05lZ2F0aXZlIEVmZmVjdCcsXHJcbiAgICB9LFxyXG4gIF07XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQwMCBleHRlbmRzIExpbmVFdmVudDB4MDAge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiBmcm9tICcuLi8uLi9FbXVsYXRvckNvbW1vbic7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLkNoYW5nZVpvbmUuZmllbGRzO1xyXG5cclxuLy8gWm9uZSBjaGFuZ2UgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MDEgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSB6b25lSWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgem9uZU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgem9uZU5hbWVQcm9wZXJDYXNlOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIG5ldHdvcmtMaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbmV0d29ya0xpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLnpvbmVJZCA9IHBhcnRzW2ZpZWxkcy5pZF0gPz8gJyc7XHJcbiAgICB0aGlzLnpvbmVOYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy56b25lTmFtZVByb3BlckNhc2UgPSBFbXVsYXRvckNvbW1vbi5wcm9wZXJDYXNlKHRoaXMuem9uZU5hbWUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDAxIGV4dGVuZHMgTGluZUV2ZW50MHgwMSB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuQ2hhbmdlZFBsYXllci5maWVsZHM7XHJcblxyXG4vLyBQbGF5ZXIgY2hhbmdlIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDAyIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDAyIGV4dGVuZHMgTGluZUV2ZW50MHgwMiB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuaW1wb3J0IFV0aWwgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3V0aWwnO1xyXG5pbXBvcnQgeyBKb2IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9qb2InO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRKb2JMZXZlbCwgTGluZUV2ZW50U291cmNlIH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuQWRkZWRDb21iYXRhbnQuZmllbGRzO1xyXG5cclxuLy8gQWRkZWQgY29tYmF0YW50IGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDAzIGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTGluZUV2ZW50U291cmNlLCBMaW5lRXZlbnRKb2JMZXZlbCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iSWRIZXg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iOiBKb2I7XHJcbiAgcHVibGljIHJlYWRvbmx5IGxldmVsU3RyaW5nOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGxldmVsOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG93bmVySWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgd29ybGRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB3b3JsZE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbnBjTmFtZUlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5wY0Jhc2VJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBocDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB4OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgejogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNKb2JMZXZlbCA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLmpvYklkSGV4ID0gcGFydHNbZmllbGRzLmpvYl0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLmpvYklkID0gcGFyc2VJbnQodGhpcy5qb2JJZEhleCwgMTYpO1xyXG4gICAgdGhpcy5qb2IgPSBVdGlsLmpvYkVudW1Ub0pvYih0aGlzLmpvYklkKTtcclxuICAgIHRoaXMubGV2ZWxTdHJpbmcgPSBwYXJ0c1tmaWVsZHMubGV2ZWxdID8/ICcnO1xyXG4gICAgdGhpcy5sZXZlbCA9IHBhcnNlSW50KHRoaXMubGV2ZWxTdHJpbmcsIDE2KTtcclxuICAgIHRoaXMub3duZXJJZCA9IHBhcnRzW2ZpZWxkcy5vd25lcklkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMud29ybGRJZCA9IHBhcnRzW2ZpZWxkcy53b3JsZElkXSA/PyAnJztcclxuICAgIHRoaXMud29ybGROYW1lID0gcGFydHNbZmllbGRzLndvcmxkXSA/PyAnJztcclxuICAgIHRoaXMubnBjTmFtZUlkID0gcGFydHNbZmllbGRzLm5wY05hbWVJZF0gPz8gJyc7XHJcbiAgICB0aGlzLm5wY0Jhc2VJZCA9IHBhcnRzW2ZpZWxkcy5ucGNCYXNlSWRdID8/ICcnO1xyXG4gICAgdGhpcy5ocCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLmN1cnJlbnRIcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhIcCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLmhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuY3VycmVudE1wXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heE1wID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMubXBdID8/ICcnKTtcclxuICAgIHRoaXMueCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnhdID8/ICcnKTtcclxuICAgIHRoaXMueSA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnldID8/ICcnKTtcclxuICAgIHRoaXMueiA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnpdID8/ICcnKTtcclxuICAgIHRoaXMuaGVhZGluZyA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLmhlYWRpbmddID8/ICcnKTtcclxuXHJcbiAgICByZXBvLnVwZGF0ZUNvbWJhdGFudCh0aGlzLmlkLCB7XHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgam9iOiB0aGlzLmpvYklkSGV4LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MDMgZXh0ZW5kcyBMaW5lRXZlbnQweDAzIHt9XHJcbiIsImltcG9ydCB7IExpbmVFdmVudDB4MDMgfSBmcm9tICcuL0xpbmVFdmVudDB4MDMnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuLy8gUmVtb3ZlZCBjb21iYXRhbnQgZXZlbnRcclxuLy8gRXh0ZW5kIHRoZSBhZGQgY29tYmF0YW50IGV2ZW50IHRvIHJlZHVjZSBkdXBsaWNhdGUgY29kZSBzaW5jZSB0aGV5J3JlXHJcbi8vIHRoZSBzYW1lIGZyb20gYSBkYXRhIHBlcnNwZWN0aXZlXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDA0IGV4dGVuZHMgTGluZUV2ZW50MHgwMyB7XHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQwNCBleHRlbmRzIExpbmVFdmVudDB4MDQge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLlBsYXllclN0YXRzLmZpZWxkcztcclxuXHJcbi8vIFBsYXllciBzdGF0cyBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgwQyBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNsYXNzOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHN0cmVuZ3RoOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRleHRlcml0eTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB2aXRhbGl0eTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpbnRlbGxpZ2VuY2U6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbWluZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBwaWV0eTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBhdHRhY2tQb3dlcjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkaXJlY3RIaXQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgY3JpdGljYWxIaXQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgYXR0YWNrTWFnaWNQb3RlbmN5OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWxNYWdpY1BvdGVuY3k6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGV0ZXJtaW5hdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBza2lsbFNwZWVkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNwZWxsU3BlZWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVuYWNpdHk6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9jYWxDb250ZW50SWQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmNsYXNzID0gcGFydHNbZmllbGRzLmpvYl0gPz8gJyc7XHJcbiAgICB0aGlzLnN0cmVuZ3RoID0gcGFydHNbZmllbGRzLnN0cmVuZ3RoXSA/PyAnJztcclxuICAgIHRoaXMuZGV4dGVyaXR5ID0gcGFydHNbZmllbGRzLmRleHRlcml0eV0gPz8gJyc7XHJcbiAgICB0aGlzLnZpdGFsaXR5ID0gcGFydHNbZmllbGRzLnZpdGFsaXR5XSA/PyAnJztcclxuICAgIHRoaXMuaW50ZWxsaWdlbmNlID0gcGFydHNbZmllbGRzLmludGVsbGlnZW5jZV0gPz8gJyc7XHJcbiAgICB0aGlzLm1pbmQgPSBwYXJ0c1tmaWVsZHMubWluZF0gPz8gJyc7XHJcbiAgICB0aGlzLnBpZXR5ID0gcGFydHNbZmllbGRzLnBpZXR5XSA/PyAnJztcclxuICAgIHRoaXMuYXR0YWNrUG93ZXIgPSBwYXJ0c1tmaWVsZHMuYXR0YWNrUG93ZXJdID8/ICcnO1xyXG4gICAgdGhpcy5kaXJlY3RIaXQgPSBwYXJ0c1tmaWVsZHMuZGlyZWN0SGl0XSA/PyAnJztcclxuICAgIHRoaXMuY3JpdGljYWxIaXQgPSBwYXJ0c1tmaWVsZHMuY3JpdGljYWxIaXRdID8/ICcnO1xyXG4gICAgdGhpcy5hdHRhY2tNYWdpY1BvdGVuY3kgPSBwYXJ0c1tmaWVsZHMuYXR0YWNrTWFnaWNQb3RlbmN5XSA/PyAnJztcclxuICAgIHRoaXMuaGVhbE1hZ2ljUG90ZW5jeSA9IHBhcnRzW2ZpZWxkcy5oZWFsTWFnaWNQb3RlbmN5XSA/PyAnJztcclxuICAgIHRoaXMuZGV0ZXJtaW5hdGlvbiA9IHBhcnRzW2ZpZWxkcy5kZXRlcm1pbmF0aW9uXSA/PyAnJztcclxuICAgIHRoaXMuc2tpbGxTcGVlZCA9IHBhcnRzW2ZpZWxkcy5za2lsbFNwZWVkXSA/PyAnJztcclxuICAgIHRoaXMuc3BlbGxTcGVlZCA9IHBhcnRzW2ZpZWxkcy5zcGVsbFNwZWVkXSA/PyAnJztcclxuICAgIHRoaXMudGVuYWNpdHkgPSBwYXJ0c1tmaWVsZHMudGVuYWNpdHldID8/ICcnO1xyXG4gICAgdGhpcy5sb2NhbENvbnRlbnRJZCA9IHBhcnRzW2ZpZWxkcy5sb2NhbENvbnRlbnRJZF0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MTIgZXh0ZW5kcyBMaW5lRXZlbnQweDBDIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRBYmlsaXR5LCBMaW5lRXZlbnRTb3VyY2UsIExpbmVFdmVudFRhcmdldCB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLlN0YXJ0c1VzaW5nLmZpZWxkcztcclxuXHJcbi8vIFNob3J0ZW4gYSBmZXcgdHlwZXMgc28gZHByaW50IGRvZXNuJ3QgY29tcGxhaW4gd2hlbiB0aGUgbGluZSBnZXRzIHRvbyBsb25nLlxyXG50eXBlIExFU291cmNlID0gTGluZUV2ZW50U291cmNlO1xyXG50eXBlIExFVGFyZ2V0ID0gTGluZUV2ZW50VGFyZ2V0O1xyXG50eXBlIExFQWJpbGl0eSA9IExpbmVFdmVudEFiaWxpdHk7XHJcblxyXG4vLyBBYmlsaXR5IHVzZSBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxNCBleHRlbmRzIExpbmVFdmVudCBpbXBsZW1lbnRzIExFU291cmNlLCBMRVRhcmdldCwgTEVBYmlsaXR5IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBhYmlsaXR5SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgYWJpbGl0eUlkSGV4OiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGFiaWxpdHlOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZHVyYXRpb246IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgeDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB5OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHo6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGluZzogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzVGFyZ2V0ID0gdHJ1ZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNBYmlsaXR5ID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLnNvdXJjZUlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VdID8/ICcnO1xyXG4gICAgdGhpcy5hYmlsaXR5SWRIZXggPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5hYmlsaXR5SWQgPSBwYXJzZUludCh0aGlzLmFiaWxpdHlJZEhleCk7XHJcbiAgICB0aGlzLmFiaWxpdHlOYW1lID0gcGFydHNbZmllbGRzLmFiaWxpdHldID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXRJZCA9IHBhcnRzW2ZpZWxkcy50YXJnZXRJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldE5hbWUgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0XSA/PyAnJztcclxuICAgIHRoaXMuZHVyYXRpb24gPSBwYXJ0c1tmaWVsZHMuY2FzdFRpbWVdID8/ICcnO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMuaWQsIHtcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMudGFyZ2V0SWQsIHtcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWU6IHRoaXMudGFyZ2V0TmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDIwIGV4dGVuZHMgTGluZUV2ZW50MHgxNCB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgTGluZUV2ZW50QWJpbGl0eSwgTGluZUV2ZW50U291cmNlLCBMaW5lRXZlbnRUYXJnZXQgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5BYmlsaXR5LmZpZWxkcztcclxuXHJcbi8vIFNob3J0ZW4gYSBmZXcgdHlwZXMgc28gZHByaW50IGRvZXNuJ3QgY29tcGxhaW4gd2hlbiB0aGUgbGluZSBnZXRzIHRvbyBsb25nLlxyXG50eXBlIExFU291cmNlID0gTGluZUV2ZW50U291cmNlO1xyXG50eXBlIExFVGFyZ2V0ID0gTGluZUV2ZW50VGFyZ2V0O1xyXG50eXBlIExFQWJpbGl0eSA9IExpbmVFdmVudEFiaWxpdHk7XHJcblxyXG4vLyBBYmlsaXR5IGhpdCBzaW5nbGUgdGFyZ2V0IGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDE1IGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTEVTb3VyY2UsIExFVGFyZ2V0LCBMRUFiaWxpdHkge1xyXG4gIHB1YmxpYyByZWFkb25seSBkYW1hZ2U6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBhYmlsaXR5SWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgYWJpbGl0eU5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBmbGFnczogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRNYXhIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRNYXhNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRYOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldFk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0WjogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRIZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1RhcmdldCA9IHRydWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzQWJpbGl0eSA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMuc291cmNlXSA/PyAnJztcclxuXHJcbiAgICB0aGlzLmZsYWdzID0gcGFydHNbZmllbGRzLmZsYWdzXSA/PyAnJztcclxuXHJcbiAgICBjb25zdCBmaWVsZE9mZnNldCA9IHRoaXMuZmxhZ3MgPT09ICczRicgPyAyIDogMDtcclxuXHJcbiAgICB0aGlzLmRhbWFnZSA9IExpbmVFdmVudC5jYWxjdWxhdGVEYW1hZ2UocGFydHNbZmllbGRzLmRhbWFnZSArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLmFiaWxpdHlJZCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJycpO1xyXG4gICAgdGhpcy5hYmlsaXR5TmFtZSA9IHBhcnRzW2ZpZWxkcy5hYmlsaXR5XSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0SWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXROYW1lID0gcGFydHNbZmllbGRzLnRhcmdldF0gPz8gJyc7XHJcblxyXG4gICAgdGhpcy50YXJnZXRIcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy50YXJnZXRDdXJyZW50SHAgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy50YXJnZXRNYXhIcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy50YXJnZXRNYXhIcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnRhcmdldE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnRhcmdldEN1cnJlbnRNcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnRhcmdldE1heE1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnRhcmdldE1heE1wICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMudGFyZ2V0WCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnRhcmdldFggKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy50YXJnZXRZID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMudGFyZ2V0WSArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnRhcmdldFogPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy50YXJnZXRaICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMudGFyZ2V0SGVhZGluZyA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnRhcmdldEhlYWRpbmcgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG5cclxuICAgIHRoaXMuaHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudEhwICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMubWF4SHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMubWF4SHAgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy5tcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jdXJyZW50TXAgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhNcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhNcCArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLnggPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy54ICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHRoaXMueSA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnkgKyBmaWVsZE9mZnNldF0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueiArIGZpZWxkT2Zmc2V0XSA/PyAnJyk7XHJcbiAgICB0aGlzLmhlYWRpbmcgPSBwYXJzZUZsb2F0KHBhcnRzW2ZpZWxkcy5oZWFkaW5nICsgZmllbGRPZmZzZXRdID8/ICcnKTtcclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMuaWQsIHtcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMudGFyZ2V0SWQsIHtcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWU6IHRoaXMudGFyZ2V0TmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDIxIGV4dGVuZHMgTGluZUV2ZW50MHgxNSB7fVxyXG4iLCJpbXBvcnQgeyBMaW5lRXZlbnQweDE1IH0gZnJvbSAnLi9MaW5lRXZlbnQweDE1JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbi8vIEFiaWxpdHkgaGl0IG11bHRpcGxlL25vIHRhcmdldCBldmVudFxyXG4vLyBEdXBsaWNhdGUgb2YgMHgxNSBhcyBmYXIgYXMgZGF0YVxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxNiBleHRlbmRzIExpbmVFdmVudDB4MTUge1xyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjIgZXh0ZW5kcyBMaW5lRXZlbnQweDE2IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRBYmlsaXR5LCBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrQ2FuY2VsQWJpbGl0eS5maWVsZHM7XHJcblxyXG4vLyBDYW5jZWwgYWJpbGl0eSBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxNyBleHRlbmRzIExpbmVFdmVudCBpbXBsZW1lbnRzIExpbmVFdmVudFNvdXJjZSwgTGluZUV2ZW50QWJpbGl0eSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgYWJpbGl0eUlkOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGFiaWxpdHlOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHJlYXNvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzQWJpbGl0eSA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5zb3VyY2VJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLmFiaWxpdHlJZCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJycpO1xyXG4gICAgdGhpcy5hYmlsaXR5TmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMucmVhc29uID0gcGFydHNbZmllbGRzLnJlYXNvbl0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjMgZXh0ZW5kcyBMaW5lRXZlbnQweDE3IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrRG9ULmZpZWxkcztcclxuXHJcbi8vIERvVC9Ib1QgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MTggZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHdoaWNoOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGVmZmVjdElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhbWFnZTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBocDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB4OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgejogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuXHJcbiAgICB0aGlzLndoaWNoID0gcGFydHNbZmllbGRzLndoaWNoXSA/PyAnJztcclxuICAgIHRoaXMuZWZmZWN0SWQgPSBwYXJ0c1tmaWVsZHMuZWZmZWN0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgY29uc3QgZGFtYWdlU3RyaW5nID0gcGFydHNbZmllbGRzLmRhbWFnZV0gPz8gJyc7XHJcbiAgICB0aGlzLmRhbWFnZSA9IHBhcnNlSW50KGRhbWFnZVN0cmluZywgMTYpO1xyXG5cclxuICAgIHRoaXMuaHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmN1cnJlbnRNcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhNcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhNcF0gPz8gJycpO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMuaWQsIHtcclxuICAgICAgam9iOiB1bmRlZmluZWQsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBkZXNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDI0IGV4dGVuZHMgTGluZUV2ZW50MHgxOCB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuV2FzRGVmZWF0ZWQuZmllbGRzO1xyXG5cclxuLy8gQ29tYmF0YW50IGRlZmVhdGVkIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDE5IGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy50YXJnZXRJZCA9IHBhcnRzW2ZpZWxkcy50YXJnZXRJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldE5hbWUgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0XSA/PyAnJztcclxuICAgIHRoaXMuc291cmNlSWQgPSBwYXJ0c1tmaWVsZHMuc291cmNlSWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5zb3VyY2VOYW1lID0gcGFydHNbZmllbGRzLnNvdXJjZV0gPz8gJyc7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5zb3VyY2VJZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy5zb3VyY2VOYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy50YXJnZXRJZCwge1xyXG4gICAgICBqb2I6IHVuZGVmaW5lZCxcclxuICAgICAgbmFtZTogdGhpcy50YXJnZXROYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjUgZXh0ZW5kcyBMaW5lRXZlbnQweDE5IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5HYWluc0VmZmVjdC5maWVsZHM7XHJcblxyXG4vLyBHYWluIHN0YXR1cyBlZmZlY3QgZXZlbnRcclxuLy8gRGVsaWJlcmF0ZWx5IGRvbid0IGZsYWcgdGhpcyBhcyBMaW5lRXZlbnRTb3VyY2Ugb3IgTGluZUV2ZW50VGFyZ2V0XHJcbi8vIGJlY2F1c2UgMHgxQSBsaW5lIHZhbHVlcyBhcmVuJ3QgYWNjdXJhdGVcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MUEgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBlZmZlY3RJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBlZmZlY3Q6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZHVyYXRpb25GbG9hdDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvblN0cmluZzogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZU1heEhwOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5lZmZlY3RJZCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5lZmZlY3RJZF0/LnRvVXBwZXJDYXNlKCkgPz8gJycpO1xyXG4gICAgdGhpcy5lZmZlY3QgPSBwYXJ0c1tmaWVsZHMuZWZmZWN0XSA/PyAnJztcclxuICAgIHRoaXMuZHVyYXRpb25TdHJpbmcgPSBwYXJ0c1tmaWVsZHMuZHVyYXRpb25dID8/ICcnO1xyXG4gICAgdGhpcy5kdXJhdGlvbkZsb2F0ID0gcGFyc2VGbG9hdCh0aGlzLmR1cmF0aW9uU3RyaW5nKTtcclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuc291cmNlSWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLnNvdXJjZV0gPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldElkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0TmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXRdID8/ICcnO1xyXG4gICAgdGhpcy5zdGFja3MgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY291bnRdID8/ICcwJyk7XHJcbiAgICB0aGlzLnRhcmdldE1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnRhcmdldE1heEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLnNvdXJjZU1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLnNvdXJjZU1heEhwXSA/PyAnJyk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy5pZCwge1xyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIHNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgZGVzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGpvYjogdW5kZWZpbmVkLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVwby51cGRhdGVDb21iYXRhbnQodGhpcy50YXJnZXRJZCwge1xyXG4gICAgICBuYW1lOiB0aGlzLnRhcmdldE5hbWUsXHJcbiAgICAgIHNwYXduOiB0aGlzLnRpbWVzdGFtcCxcclxuICAgICAgZGVzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGpvYjogdW5kZWZpbmVkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjYgZXh0ZW5kcyBMaW5lRXZlbnQweDFBIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCwgeyBMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5IZWFkTWFya2VyLmZpZWxkcztcclxuXHJcbi8vIEhlYWQgbWFya2VyIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDFCIGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTGluZUV2ZW50U291cmNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkbWFya2VySWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLnRhcmdldF0gPz8gJyc7XHJcbiAgICB0aGlzLmhlYWRtYXJrZXJJZCA9IHBhcnRzW2ZpZWxkcy5pZF0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MjcgZXh0ZW5kcyBMaW5lRXZlbnQweDFCIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrUmFpZE1hcmtlci5maWVsZHM7XHJcblxyXG4vLyBGbG9vciB3YXltYXJrZXIgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MUMgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBvcGVyYXRpb246IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgd2F5bWFyazogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5vcGVyYXRpb24gPSBwYXJ0c1tmaWVsZHMub3BlcmF0aW9uXSA/PyAnJztcclxuICAgIHRoaXMud2F5bWFyayA9IHBhcnRzW2ZpZWxkcy53YXltYXJrXSA/PyAnJztcclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLm5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy54ID0gcGFydHNbZmllbGRzLnhdID8/ICcnO1xyXG4gICAgdGhpcy55ID0gcGFydHNbZmllbGRzLnldID8/ICcnO1xyXG4gICAgdGhpcy56ID0gcGFydHNbZmllbGRzLnpdID8/ICcnO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDI4IGV4dGVuZHMgTGluZUV2ZW50MHgxQyB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuTmV0d29ya1RhcmdldE1hcmtlci5maWVsZHM7XHJcblxyXG4vLyBXYXltYXJrZXJcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MUQgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBvcGVyYXRpb246IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgd2F5bWFyazogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldElkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLm9wZXJhdGlvbiA9IHBhcnRzW2ZpZWxkcy5vcGVyYXRpb25dID8/ICcnO1xyXG4gICAgdGhpcy53YXltYXJrID0gcGFydHNbZmllbGRzLndheW1hcmtdID8/ICcnO1xyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldElkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0TmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXROYW1lXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQyOSBleHRlbmRzIExpbmVFdmVudDB4MUQge31cclxuIiwiaW1wb3J0IHsgTGluZUV2ZW50MHgxQSB9IGZyb20gJy4vTGluZUV2ZW50MHgxQSc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG4vLyBMb3NlIHN0YXR1cyBlZmZlY3QgZXZlbnRcclxuLy8gRXh0ZW5kIHRoZSBnYWluIHN0YXR1cyBldmVudCB0byByZWR1Y2UgZHVwbGljYXRlIGNvZGUgc2luY2UgdGhleSdyZVxyXG4vLyB0aGUgc2FtZSBmcm9tIGEgZGF0YSBwZXJzcGVjdGl2ZVxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgxRSBleHRlbmRzIExpbmVFdmVudDB4MUEge1xyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzAgZXh0ZW5kcyBMaW5lRXZlbnQweDFFIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24gZnJvbSAnLi4vLi4vRW11bGF0b3JDb21tb24nO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBzcGxpdEZ1bmMgPSAoczogc3RyaW5nKSA9PiBbXHJcbiAgcy5zdWJzdHIoNiwgMiksXHJcbiAgcy5zdWJzdHIoNCwgMiksXHJcbiAgcy5zdWJzdHIoMiwgMiksXHJcbiAgcy5zdWJzdHIoMCwgMiksXHJcbl07XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5OZXR3b3JrR2F1Z2UuZmllbGRzO1xyXG5cclxuLy8gSm9iIGdhdWdlIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDFGIGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iR2F1Z2VCeXRlczogc3RyaW5nW107XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFCeXRlczE6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUJ5dGVzMjogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQnl0ZXMzOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFCeXRlczQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMuZGF0YUJ5dGVzMSA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQocGFydHNbZmllbGRzLmRhdGEwXSA/PyAnJyk7XHJcbiAgICB0aGlzLmRhdGFCeXRlczIgPSBFbXVsYXRvckNvbW1vbi56ZXJvUGFkKHBhcnRzW2ZpZWxkcy5kYXRhMV0gPz8gJycpO1xyXG4gICAgdGhpcy5kYXRhQnl0ZXMzID0gRW11bGF0b3JDb21tb24uemVyb1BhZChwYXJ0c1tmaWVsZHMuZGF0YTJdID8/ICcnKTtcclxuICAgIHRoaXMuZGF0YUJ5dGVzNCA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQocGFydHNbZmllbGRzLmRhdGEzXSA/PyAnJyk7XHJcblxyXG4gICAgdGhpcy5qb2JHYXVnZUJ5dGVzID0gW1xyXG4gICAgICAuLi5zcGxpdEZ1bmModGhpcy5kYXRhQnl0ZXMxKSxcclxuICAgICAgLi4uc3BsaXRGdW5jKHRoaXMuZGF0YUJ5dGVzMiksXHJcbiAgICAgIC4uLnNwbGl0RnVuYyh0aGlzLmRhdGFCeXRlczMpLFxyXG4gICAgICAuLi5zcGxpdEZ1bmModGhpcy5kYXRhQnl0ZXM0KSxcclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5uYW1lID0gcmVwby5Db21iYXRhbnRzW3RoaXMuaWRdPy5uYW1lIHx8ICcnO1xyXG5cclxuICAgIHJlcG8udXBkYXRlQ29tYmF0YW50KHRoaXMuaWQsIHtcclxuICAgICAgbmFtZTogcmVwby5Db21iYXRhbnRzW3RoaXMuaWRdPy5uYW1lLFxyXG4gICAgICBzcGF3bjogdGhpcy50aW1lc3RhbXAsXHJcbiAgICAgIGRlc3Bhd246IHRoaXMudGltZXN0YW1wLFxyXG4gICAgICBqb2I6IHRoaXMuam9iR2F1Z2VCeXRlc1swXT8udG9VcHBlckNhc2UoKSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDMxIGV4dGVuZHMgTGluZUV2ZW50MHgxRiB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgTGluZUV2ZW50U291cmNlIH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuTmFtZVRvZ2dsZS5maWVsZHM7XHJcblxyXG4vLyBOYW1lcGxhdGUgdG9nZ2xlXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDIyIGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTGluZUV2ZW50U291cmNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXRJZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRhcmdldGFibGU6IGJvb2xlYW47XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0SWQgPSBwYXJ0c1tmaWVsZHMudGFyZ2V0SWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXROYW1lID0gcGFydHNbZmllbGRzLnRhcmdldE5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy50YXJnZXRhYmxlID0gISFwYXJzZUludChwYXJ0c1tmaWVsZHMudG9nZ2xlXSA/PyAnJywgMTYpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDM0IGV4dGVuZHMgTGluZUV2ZW50MHgyMiB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuVGV0aGVyLmZpZWxkcztcclxuXHJcbi8vIFRldGhlciBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgyMyBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0SWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSB0ZXRoZXJJZDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuc291cmNlSWRdPy50b1VwcGVyQ2FzZSgpID8/ICcnO1xyXG4gICAgdGhpcy5uYW1lID0gcGFydHNbZmllbGRzLnNvdXJjZV0gPz8gJyc7XHJcbiAgICB0aGlzLnRhcmdldElkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMudGFyZ2V0TmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXRdID8/ICcnO1xyXG4gICAgdGhpcy50ZXRoZXJJZCA9IHBhcnRzW2ZpZWxkcy5pZF0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MzUgZXh0ZW5kcyBMaW5lRXZlbnQweDIzIHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5MaW1pdEJyZWFrLmZpZWxkcztcclxuXHJcbi8vIExpbWl0IGdhdWdlIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDI0IGV4dGVuZHMgTGluZUV2ZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVIZXg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVEZWM6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgYmFyczogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMudmFsdWVIZXggPSBwYXJ0c1tmaWVsZHMudmFsdWVIZXhdID8/ICcnO1xyXG4gICAgdGhpcy52YWx1ZURlYyA9IHBhcnNlSW50KHRoaXMudmFsdWVIZXgsIDE2KTtcclxuICAgIHRoaXMuYmFycyA9IHBhcnRzW2ZpZWxkcy5iYXJzXSA/PyAnJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQzNiBleHRlbmRzIExpbmVFdmVudDB4MjQge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50LCB7IExpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLk5ldHdvcmtFZmZlY3RSZXN1bHQuZmllbGRzO1xyXG5cclxuLy8gQWN0aW9uIHN5bmMgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjUgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNlcXVlbmNlSWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgaHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4SHA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgbWF4TXA6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB5OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHo6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGluZzogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc1NvdXJjZSA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZywgcGFydHM6IHN0cmluZ1tdKSB7XHJcbiAgICBzdXBlcihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XHJcbiAgICB0aGlzLm5hbWUgPSBwYXJ0c1tmaWVsZHMubmFtZV0gPz8gJyc7XHJcbiAgICB0aGlzLnNlcXVlbmNlSWQgPSBwYXJ0c1tmaWVsZHMuc2VxdWVuY2VJZF0gPz8gJyc7XHJcbiAgICB0aGlzLmhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmN1cnJlbnRIcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhIcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhIcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5jdXJyZW50TXBdID8/ICcnKTtcclxuICAgIHRoaXMubWF4TXAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMubWF4TXBdID8/ICcnKTtcclxuICAgIHRoaXMueCA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnhdID8/ICcnKTtcclxuICAgIHRoaXMueSA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnldID8/ICcnKTtcclxuICAgIHRoaXMueiA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLnpdID8/ICcnKTtcclxuICAgIHRoaXMuaGVhZGluZyA9IHBhcnNlRmxvYXQocGFydHNbZmllbGRzLmhlYWRpbmddID8/ICcnKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQzNyBleHRlbmRzIExpbmVFdmVudDB4MjUge31cclxuIiwiaW1wb3J0IGxvZ0RlZmluaXRpb25zIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uZXRsb2dfZGVmcyc7XHJcbmltcG9ydCBVdGlsIGZyb20gJy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy91dGlsJztcclxuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvam9iJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uIGZyb20gJy4uLy4uL0VtdWxhdG9yQ29tbW9uJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgTGluZUV2ZW50Sm9iTGV2ZWwsIExpbmVFdmVudFNvdXJjZSB9IGZyb20gJy4vTGluZUV2ZW50JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmNvbnN0IGZpZWxkcyA9IGxvZ0RlZmluaXRpb25zLlN0YXR1c0VmZmVjdC5maWVsZHM7XHJcblxyXG4vLyBOZXR3b3JrIHN0YXR1cyBlZmZlY3QgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjYgZXh0ZW5kcyBMaW5lRXZlbnQgaW1wbGVtZW50cyBMaW5lRXZlbnRTb3VyY2UsIExpbmVFdmVudEpvYkxldmVsIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iSWRIZXg6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iSWQ6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iOiBKb2I7XHJcbiAgcHVibGljIHJlYWRvbmx5IGxldmVsOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgam9iTGV2ZWxEYXRhOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heEhwOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IG1heE1wOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHg6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgeTogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB6OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGhlYWRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNTb3VyY2UgPSB0cnVlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpc0pvYkxldmVsID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLnRhcmdldElkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy50YXJnZXRdID8/ICcnO1xyXG5cclxuICAgIHRoaXMuam9iTGV2ZWxEYXRhID0gcGFydHNbZmllbGRzLmpvYkxldmVsRGF0YV0gPz8gJyc7XHJcblxyXG4gICAgdGhpcy5ocCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5ocF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhIcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhIcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhNcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhNcF0gPz8gJycpO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG5cclxuICAgIGNvbnN0IHBhZGRlZCA9IEVtdWxhdG9yQ29tbW9uLnplcm9QYWQodGhpcy5qb2JMZXZlbERhdGEsIDgpO1xyXG5cclxuICAgIHRoaXMuam9iSWRIZXggPSBwYWRkZWQuc3Vic3RyKDYsIDIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLmpvYklkID0gcGFyc2VJbnQodGhpcy5qb2JJZEhleCwgMTYpO1xyXG4gICAgdGhpcy5qb2IgPSBVdGlsLmpvYkVudW1Ub0pvYih0aGlzLmpvYklkKTtcclxuXHJcbiAgICB0aGlzLmxldmVsID0gcGFyc2VJbnQocGFkZGVkLnN1YnN0cig0LCAyKSwgMTYpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDM4IGV4dGVuZHMgTGluZUV2ZW50MHgyNiB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgTGluZUV2ZW50U291cmNlIH0gZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuTmV0d29ya1VwZGF0ZUhQLmZpZWxkcztcclxuXHJcbi8vIE5ldHdvcmsgdXBkYXRlIGhwIGV2ZW50XHJcbmV4cG9ydCBjbGFzcyBMaW5lRXZlbnQweDI3IGV4dGVuZHMgTGluZUV2ZW50IGltcGxlbWVudHMgTGluZUV2ZW50U291cmNlIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBocDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhIcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBtYXhNcDogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSB4OiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IHk6IG51bWJlcjtcclxuICBwdWJsaWMgcmVhZG9ubHkgejogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWFkb25seSBoZWFkaW5nOiBudW1iZXI7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzU291cmNlID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVwbzogTG9nUmVwb3NpdG9yeSwgbGluZTogc3RyaW5nLCBwYXJ0czogc3RyaW5nW10pIHtcclxuICAgIHN1cGVyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuXHJcbiAgICB0aGlzLmlkID0gcGFydHNbZmllbGRzLmlkXT8udG9VcHBlckNhc2UoKSA/PyAnJztcclxuICAgIHRoaXMubmFtZSA9IHBhcnRzW2ZpZWxkcy5uYW1lXSA/PyAnJztcclxuICAgIHRoaXMuaHAgPSBwYXJzZUludChwYXJ0c1tmaWVsZHMuY3VycmVudEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1heEhwID0gcGFyc2VJbnQocGFydHNbZmllbGRzLm1heEhwXSA/PyAnJyk7XHJcbiAgICB0aGlzLm1wID0gcGFyc2VJbnQocGFydHNbZmllbGRzLmN1cnJlbnRNcF0gPz8gJycpO1xyXG4gICAgdGhpcy5tYXhNcCA9IHBhcnNlSW50KHBhcnRzW2ZpZWxkcy5tYXhNcF0gPz8gJycpO1xyXG4gICAgdGhpcy54ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueF0gPz8gJycpO1xyXG4gICAgdGhpcy55ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMueV0gPz8gJycpO1xyXG4gICAgdGhpcy56ID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuel0gPz8gJycpO1xyXG4gICAgdGhpcy5oZWFkaW5nID0gcGFyc2VGbG9hdChwYXJ0c1tmaWVsZHMuaGVhZGluZ10gPz8gJycpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDM5IGV4dGVuZHMgTGluZUV2ZW50MHgyNyB7fVxyXG4iLCJpbXBvcnQgbG9nRGVmaW5pdGlvbnMgZnJvbSAnLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25ldGxvZ19kZWZzJztcclxuXHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgTG9nUmVwb3NpdG9yeSBmcm9tICcuL0xvZ1JlcG9zaXRvcnknO1xyXG5cclxuY29uc3QgZmllbGRzID0gbG9nRGVmaW5pdGlvbnMuTWFwLmZpZWxkcztcclxuXHJcbi8vIENoYW5nZU1hcCBldmVudFxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50MHgyOCBleHRlbmRzIExpbmVFdmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHJlZ2lvbk5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcGxhY2VOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlTmFtZVN1Yjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaWQgPSBwYXJ0c1tmaWVsZHMuaWRdID8/ICcnO1xyXG4gICAgdGhpcy5yZWdpb25OYW1lID0gcGFydHNbZmllbGRzLnJlZ2lvbk5hbWVdID8/ICcnO1xyXG4gICAgdGhpcy5wbGFjZU5hbWUgPSBwYXJ0c1tmaWVsZHMucGxhY2VOYW1lXSA/PyAnJztcclxuICAgIHRoaXMucGxhY2VOYW1lU3ViID0gcGFydHNbZmllbGRzLnBsYWNlTmFtZVN1Yl0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50NDAgZXh0ZW5kcyBMaW5lRXZlbnQweDI4IHt9XHJcbiIsImltcG9ydCBsb2dEZWZpbml0aW9ucyBmcm9tICcuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmV0bG9nX2RlZnMnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vTG9nUmVwb3NpdG9yeSc7XHJcblxyXG5jb25zdCBmaWVsZHMgPSBsb2dEZWZpbml0aW9ucy5TeXN0ZW1Mb2dNZXNzYWdlLmZpZWxkcztcclxuXHJcbi8vIFN5c3RlbUxvZ01lc3NhZ2UgZXZlbnRcclxuZXhwb3J0IGNsYXNzIExpbmVFdmVudDB4MjkgZXh0ZW5kcyBMaW5lRXZlbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZTogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHB1YmxpYyByZWFkb25seSBwYXJhbTA6IHN0cmluZztcclxuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW0xOiBzdHJpbmc7XHJcbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtMjogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZXBvOiBMb2dSZXBvc2l0b3J5LCBsaW5lOiBzdHJpbmcsIHBhcnRzOiBzdHJpbmdbXSkge1xyXG4gICAgc3VwZXIocmVwbywgbGluZSwgcGFydHMpO1xyXG5cclxuICAgIHRoaXMuaW5zdGFuY2UgPSBwYXJ0c1tmaWVsZHMuaW5zdGFuY2VdID8/ICcnO1xyXG4gICAgdGhpcy5pZCA9IHBhcnRzW2ZpZWxkcy5pZF0gPz8gJyc7XHJcbiAgICB0aGlzLnBhcmFtMCA9IHBhcnRzW2ZpZWxkcy5wYXJhbTBdID8/ICcnO1xyXG4gICAgdGhpcy5wYXJhbTEgPSBwYXJ0c1tmaWVsZHMucGFyYW0xXSA/PyAnJztcclxuICAgIHRoaXMucGFyYW0yID0gcGFydHNbZmllbGRzLnBhcmFtMl0gPz8gJyc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTGluZUV2ZW50NDEgZXh0ZW5kcyBMaW5lRXZlbnQweDI5IHt9XHJcbiIsImltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQwMCB9IGZyb20gJy4vTGluZUV2ZW50MHgwMCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDAxIH0gZnJvbSAnLi9MaW5lRXZlbnQweDAxJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MDIgfSBmcm9tICcuL0xpbmVFdmVudDB4MDInO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQwMyB9IGZyb20gJy4vTGluZUV2ZW50MHgwMyc7XHJcbmltcG9ydCB7IExpbmVFdmVudDA0IH0gZnJvbSAnLi9MaW5lRXZlbnQweDA0JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MTIgfSBmcm9tICcuL0xpbmVFdmVudDB4MEMnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyMCB9IGZyb20gJy4vTGluZUV2ZW50MHgxNCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDIxIH0gZnJvbSAnLi9MaW5lRXZlbnQweDE1JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjIgfSBmcm9tICcuL0xpbmVFdmVudDB4MTYnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyMyB9IGZyb20gJy4vTGluZUV2ZW50MHgxNyc7XHJcbmltcG9ydCB7IExpbmVFdmVudDI0IH0gZnJvbSAnLi9MaW5lRXZlbnQweDE4JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjUgfSBmcm9tICcuL0xpbmVFdmVudDB4MTknO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyNiB9IGZyb20gJy4vTGluZUV2ZW50MHgxQSc7XHJcbmltcG9ydCB7IExpbmVFdmVudDI3IH0gZnJvbSAnLi9MaW5lRXZlbnQweDFCJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MjggfSBmcm9tICcuL0xpbmVFdmVudDB4MUMnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQyOSB9IGZyb20gJy4vTGluZUV2ZW50MHgxRCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDMwIH0gZnJvbSAnLi9MaW5lRXZlbnQweDFFJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzEgfSBmcm9tICcuL0xpbmVFdmVudDB4MUYnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQzNCB9IGZyb20gJy4vTGluZUV2ZW50MHgyMic7XHJcbmltcG9ydCB7IExpbmVFdmVudDM1IH0gZnJvbSAnLi9MaW5lRXZlbnQweDIzJztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzYgfSBmcm9tICcuL0xpbmVFdmVudDB4MjQnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQzNyB9IGZyb20gJy4vTGluZUV2ZW50MHgyNSc7XHJcbmltcG9ydCB7IExpbmVFdmVudDM4IH0gZnJvbSAnLi9MaW5lRXZlbnQweDI2JztcclxuaW1wb3J0IHsgTGluZUV2ZW50MzkgfSBmcm9tICcuL0xpbmVFdmVudDB4MjcnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQ0MCB9IGZyb20gJy4vTGluZUV2ZW50MHgyOCc7XHJcbmltcG9ydCB7IExpbmVFdmVudDQxIH0gZnJvbSAnLi9MaW5lRXZlbnQweDI5JztcclxuaW1wb3J0IExvZ1JlcG9zaXRvcnkgZnJvbSAnLi9Mb2dSZXBvc2l0b3J5JztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnNlTGluZSB7XHJcbiAgc3RhdGljIHBhcnNlKHJlcG86IExvZ1JlcG9zaXRvcnksIGxpbmU6IHN0cmluZyk6IExpbmVFdmVudCB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgcmV0O1xyXG5cclxuICAgIGNvbnN0IHBhcnRzID0gbGluZS5zcGxpdCgnfCcpO1xyXG4gICAgY29uc3QgZXZlbnQgPSBwYXJ0c1swXTtcclxuXHJcbiAgICAvLyBEb24ndCBwYXJzZSByYXcgbmV0d29yayBwYWNrZXQgbGluZXNcclxuICAgIGlmICghZXZlbnQgfHwgZXZlbnQgPT09ICcyNTInKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gVGhpcyBpcyB1Z2x5LCBidXQgV2VicGFjayBwcmVmZXJzIGJlaW5nIGV4cGxpY2l0XHJcbiAgICBzd2l0Y2ggKCdMaW5lRXZlbnQnICsgZXZlbnQpIHtcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MDAnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQwMChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDAxJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MDEocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQwMic6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDAyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MDMnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQwMyhyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDA0JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MDQocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQxMic6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDEyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjAnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyMChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDIxJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjEocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyMic6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDIyKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjMnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyMyhyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDI0JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjQocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyNSc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDI1KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjYnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyNihyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDI3JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MjcocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQyOCc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDI4KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MjknOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQyOShyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDMwJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzAocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQzMSc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDMxKHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MzQnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQzNChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDM1JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzUocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQzNic6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDM2KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50MzcnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQzNyhyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDM4JzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50MzgocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMaW5lRXZlbnQzOSc6XHJcbiAgICAgICAgcmV0ID0gbmV3IExpbmVFdmVudDM5KHJlcG8sIGxpbmUsIHBhcnRzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTGluZUV2ZW50NDAnOlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQ0MChyZXBvLCBsaW5lLCBwYXJ0cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmVFdmVudDQxJzpcclxuICAgICAgICByZXQgPSBuZXcgTGluZUV2ZW50NDEocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldCA9IG5ldyBMaW5lRXZlbnQocmVwbywgbGluZSwgcGFydHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsc28gZG9uJ3QgcGFyc2UgbGluZXMgd2l0aCBhIG5vbi1zYW5lIGRhdGUuIFRoaXMgaXMgMjAwMC0wMS0wMSAwMDowMDowMFxyXG4gICAgaWYgKHJldCAmJiByZXQudGltZXN0YW1wIDwgOTQ2Njg0ODAwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gRmluYWxseSwgaWYgdGhlIG9iamVjdCBtYXJrcyBpdHNlbGYgYXMgaW52YWxpZCwgc2tpcCBpdFxyXG4gICAgaWYgKHJldCAmJiByZXQuaW52YWxpZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCBFdmVudEJ1cyBmcm9tICcuLi9FdmVudEJ1cyc7XHJcblxyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xvZ1JlcG9zaXRvcnknO1xyXG5pbXBvcnQgUGFyc2VMaW5lIGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL1BhcnNlTGluZSc7XHJcblxyXG5jb25zdCBpc0xpbmVFdmVudCA9IChsaW5lPzogTGluZUV2ZW50KTogbGluZSBpcyBMaW5lRXZlbnQgPT4ge1xyXG4gIHJldHVybiAhIWxpbmU7XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXR3b3JrTG9nQ29udmVydGVyIGV4dGVuZHMgRXZlbnRCdXMge1xyXG4gIGNvbnZlcnRGaWxlKGRhdGE6IHN0cmluZyk6IExpbmVFdmVudFtdIHtcclxuICAgIGNvbnN0IHJlcG8gPSBuZXcgTG9nUmVwb3NpdG9yeSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuY29udmVydExpbmVzKFxyXG4gICAgICAvLyBTcGxpdCBkYXRhIGludG8gYW4gYXJyYXkgb2Ygc2VwYXJhdGUgbGluZXMsIHJlbW92aW5nIGFueSBibGFuayBsaW5lcy5cclxuICAgICAgZGF0YS5zcGxpdChOZXR3b3JrTG9nQ29udmVydGVyLmxpbmVTcGxpdFJlZ2V4KS5maWx0ZXIoKGwpID0+IGwgIT09ICcnKSxcclxuICAgICAgcmVwbyxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0TGluZXMobGluZXM6IHN0cmluZ1tdLCByZXBvOiBMb2dSZXBvc2l0b3J5KTogTGluZUV2ZW50W10ge1xyXG4gICAgY29uc3QgbGluZUV2ZW50cyA9IGxpbmVzLm1hcCgobCkgPT4gUGFyc2VMaW5lLnBhcnNlKHJlcG8sIGwpKS5maWx0ZXIoaXNMaW5lRXZlbnQpO1xyXG4gICAgLy8gQ2FsbCBgY29udmVydGAgdG8gY29udmVydCB0aGUgbmV0d29yayBsaW5lIHRvIG5vbi1uZXR3b3JrIGZvcm1hdCBhbmQgdXBkYXRlIGluZGV4aW5nIHZhbHVlc1xyXG4gICAgcmV0dXJuIGxpbmVFdmVudHMubWFwKChsLCBpKSA9PiB7XHJcbiAgICAgIGwuaW5kZXggPSBpO1xyXG4gICAgICByZXR1cm4gbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGxpbmVTcGxpdFJlZ2V4ID0gL1xccj9cXG4vZ207XHJcbn1cclxuIiwiaW1wb3J0IHsgaXNMYW5nLCBMYW5nIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBQZXROYW1lc0J5TGFuZyBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvcGV0X25hbWVzJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uLCB7IE1hdGNoRW5kSW5mbywgTWF0Y2hTdGFydEluZm8gfSBmcm9tICcuLi9FbXVsYXRvckNvbW1vbic7XHJcblxyXG5pbXBvcnQgQ29tYmF0YW50VHJhY2tlciBmcm9tICcuL0NvbWJhdGFudFRyYWNrZXInO1xyXG5pbXBvcnQgTGluZUV2ZW50LCB7IGlzTGluZUV2ZW50U291cmNlLCBpc0xpbmVFdmVudFRhcmdldCB9IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBMb2dSZXBvc2l0b3J5IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xvZ1JlcG9zaXRvcnknO1xyXG5pbXBvcnQgTmV0d29ya0xvZ0NvbnZlcnRlciBmcm9tICcuL05ldHdvcmtMb2dDb252ZXJ0ZXInO1xyXG5cclxuY29uc3QgaXNQZXROYW1lID0gKG5hbWU6IHN0cmluZywgbGFuZ3VhZ2U/OiBMYW5nKSA9PiB7XHJcbiAgaWYgKGxhbmd1YWdlKVxyXG4gICAgcmV0dXJuIFBldE5hbWVzQnlMYW5nW2xhbmd1YWdlXS5pbmNsdWRlcyhuYW1lKTtcclxuXHJcbiAgZm9yIChjb25zdCBsYW5nIGluIFBldE5hbWVzQnlMYW5nKSB7XHJcbiAgICBpZiAoIWlzTGFuZyhsYW5nKSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgaWYgKFBldE5hbWVzQnlMYW5nW2xhbmddLmluY2x1ZGVzKG5hbWUpKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmYWxzZTtcclxufTtcclxuXHJcbmNvbnN0IGlzVmFsaWRUaW1lc3RhbXAgPSAodGltZXN0YW1wOiBudW1iZXIpID0+IHtcclxuICByZXR1cm4gdGltZXN0YW1wID4gMCAmJiB0aW1lc3RhbXAgPCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVuY291bnRlciB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgZW5jb3VudGVyVmVyc2lvbiA9IDI7XHJcbiAgcHVibGljIGlkPzogbnVtYmVyO1xyXG4gIHZlcnNpb246IG51bWJlcjtcclxuICBpbml0aWFsT2Zmc2V0ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcbiAgZW5kU3RhdHVzID0gJ1Vua25vd24nO1xyXG4gIHN0YXJ0U3RhdHVzID0gJ1Vua25vd24nO1xyXG4gIHByaXZhdGUgZW5nYWdlQXQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICBwcml2YXRlIGZpcnN0UGxheWVyQWJpbGl0eSA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG4gIHByaXZhdGUgZmlyc3RFbmVteUFiaWxpdHkgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuICBmaXJzdExpbmVJbmRleCA9IDA7XHJcbiAgY29tYmF0YW50VHJhY2tlcj86IENvbWJhdGFudFRyYWNrZXI7XHJcbiAgc3RhcnRUaW1lc3RhbXAgPSAwO1xyXG4gIGVuZFRpbWVzdGFtcCA9IDA7XHJcbiAgZHVyYXRpb24gPSAwO1xyXG4gIHR6T2Zmc2V0TWlsbGlzID0gMDtcclxuICBwbGF5YmFja09mZnNldCA9IDA7XHJcbiAgbGFuZ3VhZ2U6IExhbmcgPSAnZW4nO1xyXG4gIGluaXRpYWxUaW1lc3RhbXAgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZW5jb3VudGVyRGF5OiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgZW5jb3VudGVyWm9uZUlkOiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgZW5jb3VudGVyWm9uZU5hbWU6IHN0cmluZyxcclxuICAgIHB1YmxpYyBsb2dMaW5lczogTGluZUV2ZW50W10sXHJcbiAgKSB7XHJcbiAgICB0aGlzLnZlcnNpb24gPSBFbmNvdW50ZXIuZW5jb3VudGVyVmVyc2lvbjtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdGFydFN0YXR1c2VzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gICAgdGhpcy5sb2dMaW5lcy5mb3JFYWNoKChsaW5lLCBpKSA9PiB7XHJcbiAgICAgIGlmICghbGluZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICB0aGlzLnR6T2Zmc2V0TWlsbGlzID0gbGluZS50ek9mZnNldE1pbGxpcztcclxuXHJcbiAgICAgIGxldCByZXM6IE1hdGNoU3RhcnRJbmZvIHwgTWF0Y2hFbmRJbmZvIHwgdW5kZWZpbmVkID0gRW11bGF0b3JDb21tb24ubWF0Y2hTdGFydChcclxuICAgICAgICBsaW5lLm5ldHdvcmtMaW5lLFxyXG4gICAgICApO1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5maXJzdExpbmVJbmRleCA9IGk7XHJcbiAgICAgICAgaWYgKHJlcy5TdGFydFR5cGUpXHJcbiAgICAgICAgICBzdGFydFN0YXR1c2VzLmFkZChyZXMuU3RhcnRUeXBlKTtcclxuICAgICAgICBjb25zdCBzdGFydEluID0gcGFyc2VJbnQocmVzLlN0YXJ0SW4pO1xyXG4gICAgICAgIGlmIChzdGFydEluID49IDApXHJcbiAgICAgICAgICB0aGlzLmVuZ2FnZUF0ID0gTWF0aC5taW4obGluZS50aW1lc3RhbXAgKyBzdGFydEluLCB0aGlzLmVuZ2FnZUF0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXMgPSBFbXVsYXRvckNvbW1vbi5tYXRjaEVuZChsaW5lLm5ldHdvcmtMaW5lKTtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBpZiAocmVzLkVuZFR5cGUpXHJcbiAgICAgICAgICAgIHRoaXMuZW5kU3RhdHVzID0gcmVzLkVuZFR5cGU7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpc0xpbmVFdmVudFNvdXJjZShsaW5lKSAmJiBpc0xpbmVFdmVudFRhcmdldChsaW5lKSkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBsaW5lLmlkLnN0YXJ0c1dpdGgoJzEnKSB8fFxyXG4gICAgICAgICAgICAobGluZS5pZC5zdGFydHNXaXRoKCc0JykgJiYgaXNQZXROYW1lKGxpbmUubmFtZSwgdGhpcy5sYW5ndWFnZSkpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgLy8gUGxheWVyIG9yIHBldCBhYmlsaXR5XHJcbiAgICAgICAgICAgIGlmIChsaW5lLnRhcmdldElkLnN0YXJ0c1dpdGgoJzQnKSAmJiAhaXNQZXROYW1lKGxpbmUudGFyZ2V0TmFtZSwgdGhpcy5sYW5ndWFnZSkpIHtcclxuICAgICAgICAgICAgICAvLyBUYXJnZXR0aW5nIG5vbiBwbGF5ZXIgb3IgcGV0XHJcbiAgICAgICAgICAgICAgdGhpcy5maXJzdFBsYXllckFiaWxpdHkgPSBNYXRoLm1pbih0aGlzLmZpcnN0UGxheWVyQWJpbGl0eSwgbGluZS50aW1lc3RhbXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGxpbmUuaWQuc3RhcnRzV2l0aCgnNCcpICYmICFpc1BldE5hbWUobGluZS5uYW1lLCB0aGlzLmxhbmd1YWdlKSkge1xyXG4gICAgICAgICAgICAvLyBOb24tcGxheWVyIGFiaWxpdHlcclxuICAgICAgICAgICAgaWYgKGxpbmUudGFyZ2V0SWQuc3RhcnRzV2l0aCgnMScpIHx8IGlzUGV0TmFtZShsaW5lLnRhcmdldE5hbWUsIHRoaXMubGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgICAgICAgLy8gVGFyZ2V0dGluZyBwbGF5ZXIgb3IgcGV0XHJcbiAgICAgICAgICAgICAgdGhpcy5maXJzdEVuZW15QWJpbGl0eSA9IE1hdGgubWluKHRoaXMuZmlyc3RFbmVteUFiaWxpdHksIGxpbmUudGltZXN0YW1wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBtYXRjaGVkTGFuZyA9IHJlcz8ubGFuZ3VhZ2U7XHJcbiAgICAgIGlmIChpc0xhbmcobWF0Y2hlZExhbmcpKVxyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBtYXRjaGVkTGFuZztcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY29tYmF0YW50VHJhY2tlciA9IG5ldyBDb21iYXRhbnRUcmFja2VyKHRoaXMubG9nTGluZXMsIHRoaXMubGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy5zdGFydFRpbWVzdGFtcCA9IHRoaXMuY29tYmF0YW50VHJhY2tlci5maXJzdFRpbWVzdGFtcDtcclxuICAgIHRoaXMuZW5kVGltZXN0YW1wID0gdGhpcy5jb21iYXRhbnRUcmFja2VyLmxhc3RUaW1lc3RhbXA7XHJcbiAgICB0aGlzLmR1cmF0aW9uID0gdGhpcy5lbmRUaW1lc3RhbXAgLSB0aGlzLnN0YXJ0VGltZXN0YW1wO1xyXG5cclxuICAgIGlmICh0aGlzLmluaXRpYWxPZmZzZXQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XHJcbiAgICAgIGlmICh0aGlzLmVuZ2FnZUF0IDwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpXHJcbiAgICAgICAgdGhpcy5pbml0aWFsT2Zmc2V0ID0gdGhpcy5lbmdhZ2VBdCAtIHRoaXMuc3RhcnRUaW1lc3RhbXA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuZmlyc3RQbGF5ZXJBYmlsaXR5IDwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpXHJcbiAgICAgICAgdGhpcy5pbml0aWFsT2Zmc2V0ID0gdGhpcy5maXJzdFBsYXllckFiaWxpdHkgLSB0aGlzLnN0YXJ0VGltZXN0YW1wO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLmZpcnN0RW5lbXlBYmlsaXR5IDwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpXHJcbiAgICAgICAgdGhpcy5pbml0aWFsT2Zmc2V0ID0gdGhpcy5maXJzdEVuZW15QWJpbGl0eSAtIHRoaXMuc3RhcnRUaW1lc3RhbXA7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmluaXRpYWxPZmZzZXQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdGlhbFRpbWVzdGFtcCA9IHRoaXMuc3RhcnRUaW1lc3RhbXAgKyB0aGlzLmluaXRpYWxPZmZzZXQ7XHJcblxyXG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5sb2dMaW5lc1t0aGlzLmZpcnN0TGluZUluZGV4XTtcclxuXHJcbiAgICBpZiAoZmlyc3RMaW5lICYmIGZpcnN0TGluZS5vZmZzZXQpXHJcbiAgICAgIHRoaXMucGxheWJhY2tPZmZzZXQgPSBmaXJzdExpbmUub2Zmc2V0O1xyXG5cclxuICAgIHRoaXMuc3RhcnRTdGF0dXMgPSBbLi4uc3RhcnRTdGF0dXNlc10uc29ydCgpLmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBzaG91bGRQZXJzaXN0RmlnaHQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXNWYWxpZFRpbWVzdGFtcCh0aGlzLmZpcnN0UGxheWVyQWJpbGl0eSkgJiYgaXNWYWxpZFRpbWVzdGFtcCh0aGlzLmZpcnN0RW5lbXlBYmlsaXR5KTtcclxuICB9XHJcblxyXG4gIHVwZ3JhZGUodmVyc2lvbjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoRW5jb3VudGVyLmVuY291bnRlclZlcnNpb24gPD0gdmVyc2lvbilcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IHJlcG8gPSBuZXcgTG9nUmVwb3NpdG9yeSgpO1xyXG4gICAgY29uc3QgY29udmVydGVyID0gbmV3IE5ldHdvcmtMb2dDb252ZXJ0ZXIoKTtcclxuICAgIHRoaXMubG9nTGluZXMgPSBjb252ZXJ0ZXIuY29udmVydExpbmVzKFxyXG4gICAgICB0aGlzLmxvZ0xpbmVzLm1hcCgobCkgPT4gbC5uZXR3b3JrTGluZSksXHJcbiAgICAgIHJlcG8sXHJcbiAgICApO1xyXG4gICAgdGhpcy52ZXJzaW9uID0gRW5jb3VudGVyLmVuY291bnRlclZlcnNpb247XHJcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuXHJcbmltcG9ydCBFbmNvdW50ZXIgZnJvbSAnLi9FbmNvdW50ZXInO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGVyc2lzdG9yRW5jb3VudGVyIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIG9mZnNldDogbnVtYmVyO1xyXG4gIHR6T2Zmc2V0TWlsbGlzOiBudW1iZXI7XHJcbiAgc3RhcnRTdGF0dXM6IHN0cmluZztcclxuICBlbmRTdGF0dXM6IHN0cmluZztcclxuICB6b25lSWQ6IHN0cmluZztcclxuICB6b25lTmFtZTogc3RyaW5nO1xyXG4gIGR1cmF0aW9uOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVuY291bnRlcjogRW5jb3VudGVyKSB7XHJcbiAgICBpZiAoIWVuY291bnRlci5jb21iYXRhbnRUcmFja2VyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLmlkID0gZW5jb3VudGVyLmlkID8/IDA7XHJcbiAgICB0aGlzLm5hbWUgPSBlbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlci5nZXRNYWluQ29tYmF0YW50TmFtZSgpO1xyXG4gICAgdGhpcy5zdGFydCA9IGVuY291bnRlci5zdGFydFRpbWVzdGFtcDtcclxuICAgIHRoaXMub2Zmc2V0ID0gZW5jb3VudGVyLmluaXRpYWxPZmZzZXQ7XHJcbiAgICB0aGlzLnR6T2Zmc2V0TWlsbGlzID0gZW5jb3VudGVyLnR6T2Zmc2V0TWlsbGlzO1xyXG4gICAgdGhpcy5zdGFydFN0YXR1cyA9IGVuY291bnRlci5zdGFydFN0YXR1cztcclxuICAgIHRoaXMuZW5kU3RhdHVzID0gZW5jb3VudGVyLmVuZFN0YXR1cztcclxuICAgIHRoaXMuem9uZUlkID0gZW5jb3VudGVyLmVuY291bnRlclpvbmVJZDtcclxuICAgIHRoaXMuem9uZU5hbWUgPSBlbmNvdW50ZXIuZW5jb3VudGVyWm9uZU5hbWU7XHJcbiAgICB0aGlzLmR1cmF0aW9uID0gZW5jb3VudGVyLmVuZFRpbWVzdGFtcCAtIGVuY291bnRlci5zdGFydFRpbWVzdGFtcDtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IERleGllIGZyb20gJ2RleGllJztcclxuaW1wb3J0ICdkZXhpZS1leHBvcnQtaW1wb3J0JztcclxuXHJcbmltcG9ydCBFbmNvdW50ZXIgZnJvbSAnLi9FbmNvdW50ZXInO1xyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBQZXJzaXN0b3JFbmNvdW50ZXIgZnJvbSAnLi9QZXJzaXN0b3JFbmNvdW50ZXInO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGVyc2lzdG9yIGV4dGVuZHMgRGV4aWUge1xyXG4gIHByaXZhdGUgZW5jb3VudGVyczogRGV4aWUuVGFibGU8RW5jb3VudGVyLCBudW1iZXI+O1xyXG4gIHB1YmxpYyBlbmNvdW50ZXJTdW1tYXJpZXM6IERleGllLlRhYmxlPFBlcnNpc3RvckVuY291bnRlciwgbnVtYmVyPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignUmFpZEVtdWxhdG9yRW5jb3VudGVycycpO1xyXG5cclxuICAgIHRoaXMudmVyc2lvbigxKS5zdG9yZXMoe1xyXG4gICAgICBFbmNvdW50ZXJTdW1tYXJpZXM6ICcrK2lkLHN0YXJ0LHpvbmVOYW1lLFt6b25lTmFtZStzdGFydF0nLFxyXG4gICAgICBFbmNvdW50ZXJzOiAnKytpZCcsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmVuY291bnRlcnMgPSB0aGlzLnRhYmxlKCdFbmNvdW50ZXJzJyk7XHJcbiAgICB0aGlzLmVuY291bnRlclN1bW1hcmllcyA9IHRoaXMudGFibGUoJ0VuY291bnRlclN1bW1hcmllcycpO1xyXG5cclxuICAgIHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzLm1hcFRvQ2xhc3MoUGVyc2lzdG9yRW5jb3VudGVyKTtcclxuXHJcbiAgICB0aGlzLnVzZSh7XHJcbiAgICAgIHN0YWNrOiAnZGJjb3JlJyxcclxuICAgICAgY3JlYXRlOiAoZG93bikgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5kb3duLFxyXG4gICAgICAgICAgdGFibGU6IChuYW1lKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gZG93bi50YWJsZShuYW1lKTtcclxuICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdFbmNvdW50ZXJzJykge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi50YWJsZSxcclxuICAgICAgICAgICAgICAgIGdldDogYXN5bmMgKHJlcSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBvYmo6IEVuY291bnRlciA9IGF3YWl0IHRhYmxlLmdldChyZXEpIGFzIEVuY291bnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihvYmosIEVuY291bnRlci5wcm90b3R5cGUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgb2JqLmxvZ0xpbmVzLmZvckVhY2goKGwpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YobCwgTGluZUV2ZW50LnByb3RvdHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGVuY291bnRlciB1cGdyYWRlLCByZS1zYXZlIGVuY291bnRlciBpZiBpdCdzIHVwZ3JhZGVkLlxyXG4gICAgICAgICAgICAgICAgICBpZiAob2JqLnVwZ3JhZGUob2JqLnZlcnNpb24pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wZXJzaXN0RW5jb3VudGVyKG9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBvYmouaW5pdGlhbGl6ZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGFibGU7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2FkRW5jb3VudGVyKGlkOiBudW1iZXIpOiBQcm9taXNlPEVuY291bnRlciB8IHVuZGVmaW5lZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEVuY291bnRlciB8IHVuZGVmaW5lZD4oKHJlcykgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMudHJhbnNhY3Rpb24oJ3JlYWR3cml0ZScsIFt0aGlzLmVuY291bnRlcnMsIHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHJlcyhhd2FpdCB0aGlzLmVuY291bnRlcnMuZ2V0KGlkKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGVyc2lzdEVuY291bnRlcihiYXNlRW5jb3VudGVyOiBFbmNvdW50ZXIpOiBQcm9taXNlPHVua25vd24+IHtcclxuICAgIGNvbnN0IHN1bW1hcnkgPSBuZXcgUGVyc2lzdG9yRW5jb3VudGVyKGJhc2VFbmNvdW50ZXIpO1xyXG4gICAgaWYgKGJhc2VFbmNvdW50ZXIuaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBhd2FpdCB0aGlzLmVuY291bnRlclN1bW1hcmllcy5wdXQoc3VtbWFyeSwgYmFzZUVuY291bnRlci5pZCk7XHJcbiAgICAgIHJldHVybiB0aGlzLmVuY291bnRlcnMucHV0KGJhc2VFbmNvdW50ZXIsIGJhc2VFbmNvdW50ZXIuaWQpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaWQgPSBhd2FpdCB0aGlzLmVuY291bnRlcnMuYWRkKGJhc2VFbmNvdW50ZXIpO1xyXG4gICAgYmFzZUVuY291bnRlci5pZCA9IGlkO1xyXG4gICAgc3VtbWFyeS5pZCA9IGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzLmFkZChzdW1tYXJ5LCBpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlRW5jb3VudGVyKGlkOiBudW1iZXIpOiBQcm9taXNlPHVua25vd24+IHtcclxuICAgIGF3YWl0IHRoaXMuZW5jb3VudGVyU3VtbWFyaWVzLmRlbGV0ZShpZCk7XHJcbiAgICByZXR1cm4gdGhpcy5lbmNvdW50ZXJzLmRlbGV0ZShpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2xlYXJEQigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuZW5jb3VudGVycy5jbGVhcigpO1xyXG4gICAgYXdhaXQgdGhpcy5lbmNvdW50ZXJTdW1tYXJpZXMuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBleHBvcnREQigpOiBQcm9taXNlPEJsb2I+IHtcclxuICAgIHJldHVybiB0aGlzLmV4cG9ydCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGltcG9ydERCKGZpbGU6IEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmltcG9ydChmaWxlKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgTGFuZyB9IGZyb20gJy4uL3Jlc291cmNlcy9sYW5ndWFnZXMnO1xyXG5pbXBvcnQgeyBQYXJ0eSwgUGxheWVyQ2hhbmdlZFJldCB9IGZyb20gJy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi4vdHlwZXMvam9iJztcclxuXHJcbmltcG9ydCB7IGFkZE92ZXJsYXlMaXN0ZW5lciB9IGZyb20gJy4vb3ZlcmxheV9wbHVnaW5fYXBpJztcclxuaW1wb3J0IFV0aWwgZnJvbSAnLi91dGlsJztcclxuXHJcbi8vIFdpbGwgcmVkaXJlY3QgY2FsbHMgZnJvbSBgb25QbGF5ZXJDaGFuZ2VkRXZlbnRgIHRvIHxmdW5jfCBvdmVycmlkaW5nIHdpdGhcclxuLy8gfHBsYXllck5hbWV8IGFuZCB0aGVpciBqb2IuICBKb2IgaXMgaW1wb3J0YW50IGZvciByYWlkYm9zcy5cclxuLy8gSXQgbWlnaHQgYmUgbmljZSB0byBkbyBIUCwgYmVjYXVzZSBvdGhlcndpc2UgdGhlIG1hdGggc2VjdGlvbiBvZlxyXG4vLyBSaWRvcmFuYSBMaWdodGhvdXNlIHdvbid0IHdvcmsuXHJcbi8vXHJcbi8vIE90aGVyIHBhcnRzIG9mIHRoZSBwbGF5ZXIgKHN1Y2ggdGhhdCB3b3VsZCBoZWxwIHRoZSBqb2JzIG92ZXJsYXkgcnVuKVxyXG4vLyBhcmUgZGVsaWJlcmF0ZWx5IG5vdCBpbmNsdWRlZCBoZXJlLCBiZWNhdXNlIGl0J3MgaW1wb3NzaWJsZSB0byBydW5cclxuLy8gam9icyByZW1vdGVseSBkdWUgdG8gZ2F1Z2UgZGF0YSBiZWluZyBsb2NhbCBhbmQgbWFueSBiaXRzIG9mIGluZm9ybWF0aW9uXHJcbi8vIGxvYWRlZCBmcm9tIG1lbW9yeS5cclxuXHJcbmV4cG9ydCB0eXBlIFBsYXllckNoYW5nZWREZXRhaWwgPSB7IGRldGFpbDogUGxheWVyQ2hhbmdlZFJldCB9O1xyXG50eXBlIFBsYXllckNoYW5nZWRGdW5jID0gKGU6IFBsYXllckNoYW5nZWREZXRhaWwpID0+IHZvaWQ7XHJcblxyXG4vLyBAVE9ETzogU3dhcCB0aGUgb3JkZXIgb2YgdGhlc2UgYXJndW1lbnRzLCBtYWtlIHBsYXllck5hbWUgb3B0aW9uYWwgaW5zdGVhZFxyXG5leHBvcnQgY29uc3QgYWRkUGxheWVyQ2hhbmdlZE92ZXJyaWRlTGlzdGVuZXIgPSAoXHJcbiAgZnVuYzogUGxheWVyQ2hhbmdlZEZ1bmMsXHJcbiAgcGxheWVyTmFtZT86IHN0cmluZyxcclxuKTogdm9pZCA9PiB7XHJcbiAgaWYgKCFmdW5jKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBsZXQgbGFzdFBsYXllckNoYW5nZWRFdmVudDogUGxheWVyQ2hhbmdlZERldGFpbCB8IG51bGwgPSBudWxsO1xyXG4gIGxldCBsYXN0UGxheWVySm9iOiBKb2IgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3Qgb25QbGF5ZXJDaGFuZ2VkOiBQbGF5ZXJDaGFuZ2VkRnVuYyA9IChlOiBQbGF5ZXJDaGFuZ2VkRGV0YWlsKSA9PiB7XHJcbiAgICBpZiAocGxheWVyTmFtZSkge1xyXG4gICAgICBlLmRldGFpbC5uYW1lID0gcGxheWVyTmFtZTtcclxuICAgICAgaWYgKGxhc3RQbGF5ZXJKb2IpIHtcclxuICAgICAgICAvLyBVc2UgdGhlIG5vbi1vdmVycmlkZGVuIGpvYiBpZiB3ZSBkb24ndCBrbm93IGFuIG92ZXJyaWRkZW4gb25lLlxyXG4gICAgICAgIGUuZGV0YWlsLmpvYiA9IGxhc3RQbGF5ZXJKb2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxhc3RQbGF5ZXJDaGFuZ2VkRXZlbnQgPSBlO1xyXG5cclxuICAgIGZ1bmMoZSk7XHJcbiAgfTtcclxuXHJcbiAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvblBsYXllckNoYW5nZWRFdmVudCcsIG9uUGxheWVyQ2hhbmdlZCk7XHJcbiAgaWYgKCFwbGF5ZXJOYW1lKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBhZGRPdmVybGF5TGlzdGVuZXIoJ1BhcnR5Q2hhbmdlZCcsIChlKSA9PiB7XHJcbiAgICBjb25zdCBwbGF5ZXIgPSBlLnBhcnR5LmZpbmQoKHApID0+IHAubmFtZSA9PT0gcGxheWVyTmFtZSk7XHJcbiAgICBpZiAoIXBsYXllcilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5ld0pvYiA9IFV0aWwuam9iRW51bVRvSm9iKHBsYXllci5qb2IpO1xyXG4gICAgaWYgKG5ld0pvYiA9PT0gbGFzdFBsYXllckpvYilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxhc3RQbGF5ZXJKb2IgPSBuZXdKb2I7XHJcbiAgICAvLyBUaGlzIGV2ZW50IG1heSBjb21lIGJlZm9yZSB0aGUgZmlyc3Qgb25QbGF5ZXJDaGFuZ2VkRXZlbnQuXHJcbiAgICBpZiAobGFzdFBsYXllckNoYW5nZWRFdmVudClcclxuICAgICAgb25QbGF5ZXJDaGFuZ2VkKGxhc3RQbGF5ZXJDaGFuZ2VkRXZlbnQpO1xyXG4gIH0pO1xyXG59O1xyXG5cclxuLy8gQ29tbW9uIFVJIGZvciBzZWxlY3RpbmcgYSBwbGF5ZXIuXHJcbi8vIE9ubHkgdXNlZCBmb3IgcmFpZGJvc3MsIGJ1dCBjb3VsZCBvc3RlbnNpYmx5IGJlIHJldXNlZCBmb3Igb29wc3ksXHJcbi8vIGlmIHRoZXJlJ3MgZXZlciBwbGF5ZXIgc3BlY2lmaWMgc3R1ZmYuXHJcbi8vIFRPRE86IGl0IHdvdWxkIGJlIG5pY2UgdG8gc2hvdyB0aGUgXCJjb25uZWN0ZWQgLyBub3QgY29ubmVjdGVkXCIgYml0IGluIHRoZSBVSS5cclxuZXhwb3J0IGNvbnN0IGFkZFJlbW90ZVBsYXllclNlbGVjdFVJID0gKGxhbmc6IExhbmcpOiB2b2lkID0+IHtcclxuICBjb25zdCBpbnN0cnVjdGlvblRleHRCeUxhbmcgPSB7XHJcbiAgICBlbjogJ1NlbGVjdCBhIFBsYXllclxcbih0aGUgbGlzdCB3aWxsIHVwZGF0ZSB3aGVuIGluIGFuIGluc3RhbmNlKScsXHJcbiAgICBkZTogJ1fDpGhsZSBlaW5lbiBTcGllbGVyXFxuKERpZXNlIExpc3RlIGFrdHVhbGlzaWVydCBzaWNoLCBzb2JhbGQgZWluZSBJbnN0YW5jZSBiZXRyZXR0ZW4gd2lyZCknLFxyXG4gICAgZnI6ICdTw6lsZWN0aW9ubmVyIHVuIGpvdWV1clxcbiAobGEgbGlzdGUgc2UgbWV0dHJhIMOgIGpvdXIgZGFucyB1bmUgaW5zdGFuY2UpJyxcclxuICAgIGphOiAn44OX44Os44O844Ok44O85ZCN44KS6YG45oqe44GX44Gm44GP44Gg44GV44GEXFxuKOOCpOODs+OCueOCv+ODs+OCueOBq+WFpeOCi+OBqOODquOCueODiOOBjOabtOaWsOOBmeOCiyknLFxyXG4gICAgY246ICfor7fpgInmi6nnjqnlrrblkI3np7BcXG4o5q2k5YiX6KGo5bCG5Lya5Zyo6L+b5YWl5Ymv5pys5ZCO5pu05pawKScsXHJcbiAgICBrbzogJ+2UjOugiOydtOyWtOulvCDshKDtg53tlZjshLjsmpRcXG4o7J247Iqk7YS07Iqk7JeQIOyeiOycvOuptCDrpqzsiqTtirjqsIAg7JeF642w7J207Yq465Cp64uI64ukLiknLFxyXG4gIH07XHJcbiAgY29uc3QgZm9yY2VUVFNCeUxhbmcgPSB7XHJcbiAgICBlbjogJ0ZvcmNlIEVuYWJsZSBUZXh0IFRvIFNwZWVjaCcsXHJcbiAgICBkZTogJ0VyendpbmdlIFRleHQgaW4gU3ByYWNoZSAoVFRTKScsXHJcbiAgICBmcjogJ0ZvcmNlciBsXFwnYWN0aXZhdGlvbiBkZSBsYSBzeW50aMOoc2Ugdm9jYWxlIChUVFMpJyxcclxuICAgIGphOiAnVFRT44KS5by35Yi255qE44Gr5pyJ5Yq55YyW44GZ44KLJyxcclxuICAgIGNuOiAn5by65Yi25ZCv55SoVFRTJyxcclxuICAgIGtvOiAnVFRTIOq4sOuKpeydhCDtmZzshLHtmZTtlZjquLAnLFxyXG4gIH07XHJcbiAgY29uc3QgYnV0dG9uVGV4dEJ5TGFuZyA9IHtcclxuICAgIGVuOiAnU3RhcnQgT3ZlcmxheScsXHJcbiAgICBkZTogJ1N0YXJ0IE92ZXJsYXknLFxyXG4gICAgZnI6ICdEw6ltYXJyZXIgbFxcJ092ZXJsYXknLFxyXG4gICAgamE6ICfjgqrjg7zjg5Djg7zjg6zjgqTjgpLotbfli5UnLFxyXG4gICAgY246ICflkK/nlKjmgqzmta7nqpcnLFxyXG4gICAga286ICfsmKTrsoTroIjsnbQg7Iuc7J6RJyxcclxuICB9O1xyXG4gIGNvbnN0IGRlZmF1bHRUZXh0QnlMYW5nID0ge1xyXG4gICAgZW46ICcobm8gb3ZlcnJpZGUpJyxcclxuICAgIGRlOiAnKGtlaW4gw7xiZXJzY2hyZWliZW4pJyxcclxuICAgIGZyOiAnKHBhcyBkZSBkw6lyb2dhdGlvbiknLFxyXG4gICAgamE6ICco5pei5a6a5YCkKScsXHJcbiAgICBjbjogJyjpu5jorqTlgLwpJyxcclxuICAgIGtvOiAnKO2UjOugiOydtOyWtCDsp4DsoJUg7JWI7ZWoKScsXHJcbiAgfTtcclxuXHJcbiAgLy8gVE9ETzogcHJvYmFibHkgc2hvdWxkIHNhdmUgZm9yY2VUVFMgYXMgd2VsbCwgbWF5YmUgc2F2ZSBzb21lIHt9IG9wdGlvbnM/XHJcbiAgY29uc3Qga1N0b3JhZ2VLZXkgPSAnY2FjdGJvdC1sYXN0LXNlbGVjdGVkLXBsYXllcic7XHJcbiAgY29uc3Qgc2F2ZVBsYXllck5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oa1N0b3JhZ2VLZXksIG5hbWUpO1xyXG4gIH07XHJcbiAgY29uc3QgbG9hZFBsYXllck5hbWUgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtTdG9yYWdlS2V5KTtcclxuICB9O1xyXG5cclxuICAvLyBBZGQgY29tbW9uIFVJIHRvIHNlbGVjdCBhIHBsYXllci5cclxuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBjb250YWluZXIuaWQgPSAncGxheWVyLXNlbGVjdCc7XHJcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xyXG5cclxuICBjb25zdCBpbnN0cnVjdGlvbkVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBpbnN0cnVjdGlvbkVsZW0uaWQgPSAncGxheWVyLXNlbGVjdC1pbnN0cnVjdGlvbnMnO1xyXG4gIGluc3RydWN0aW9uRWxlbS5pbm5lckhUTUwgPSBpbnN0cnVjdGlvblRleHRCeUxhbmdbbGFuZ10gfHwgaW5zdHJ1Y3Rpb25UZXh0QnlMYW5nWydlbiddO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZChpbnN0cnVjdGlvbkVsZW0pO1xyXG5cclxuICBjb25zdCBsaXN0RWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIGxpc3RFbGVtLmlkID0gJ3BsYXllci1zZWxlY3QtbGlzdCc7XHJcbiAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxpc3RFbGVtKTtcclxuXHJcbiAgY29uc3QgdHRzRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgdHRzRWxlbS50eXBlID0gJ2NoZWNrYm94JztcclxuICB0dHNFbGVtLmlkID0gJ3BsYXllci1zZWxlY3QtdHRzJztcclxuICB0dHNFbGVtLm5hbWUgPSAncGxheWVyLXNlbGVjdC10dHMnO1xyXG4gIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0dHNFbGVtKTtcclxuXHJcbiAgY29uc3QgdHRzTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xyXG4gIHR0c0xhYmVsLmlkID0gJ3BsYXllci1zZWxlY3QtdHRzLWxhYmVsJztcclxuICB0dHNMYWJlbC5odG1sRm9yID0gJ3BsYXllci1zZWxlY3QtdHRzJztcclxuICB0dHNMYWJlbC5pbm5lckhUTUwgPSBmb3JjZVRUU0J5TGFuZ1tsYW5nXSB8fCBmb3JjZVRUU0J5TGFuZ1snZW4nXTtcclxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQodHRzTGFiZWwpO1xyXG5cclxuICBjb25zdCBidXR0b25FbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgYnV0dG9uRWxlbS5pZCA9ICdwbGF5ZXItc2VsZWN0LWJ1dHRvbic7XHJcbiAgYnV0dG9uRWxlbS5uYW1lID0gJ3BsYXllci1zZWxlY3QtYnV0dG9uJztcclxuICBidXR0b25FbGVtLmlubmVySFRNTCA9IGJ1dHRvblRleHRCeUxhbmdbbGFuZ10gfHwgYnV0dG9uVGV4dEJ5TGFuZ1snZW4nXTtcclxuICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYnV0dG9uRWxlbSk7XHJcbiAgYnV0dG9uRWxlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgIGNvbnN0IGZvcmNlVFRTID0gdHRzRWxlbS5jaGVja2VkO1xyXG4gICAgbGV0IHBsYXllck5hbWUgPSAnJztcclxuICAgIGxldCByYWRpb0luZGV4ID0gMDtcclxuICAgIGZvciAoOzspIHtcclxuICAgICAgcmFkaW9JbmRleCsrO1xyXG4gICAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHBsYXllci1yYWRpby0ke3JhZGlvSW5kZXh9YCk7XHJcbiAgICAgIGlmICghZWxlbSB8fCAhKGVsZW0gaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKCFlbGVtLmNoZWNrZWQpXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIHBsYXllck5hbWUgPSBlbGVtLnZhbHVlO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGxheWVyTmFtZSlcclxuICAgICAgc2F2ZVBsYXllck5hbWUocGxheWVyTmFtZSk7XHJcblxyXG4gICAgLy8gUHJlc2VydmUgZXhpc3RpbmcgcGFyYW1ldGVycy5cclxuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xyXG4gICAgY29uc3QgcGFyYW1NYXA6IHsgW3ZhbHVlOiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfSA9IHt9O1xyXG4gICAgLy8gWWVzLCB0aGlzIGlzICh2LCBrKSBhbmQgbm90IChrLCB2KS5cclxuICAgIGN1cnJlbnRQYXJhbXMuZm9yRWFjaCgodiwgaykgPT4gcGFyYW1NYXBba10gPSBkZWNvZGVVUklDb21wb25lbnQodikpO1xyXG5cclxuICAgIHBhcmFtTWFwLnBsYXllciA9IHBsYXllck5hbWU7XHJcbiAgICAvLyBVc2UgMS8wIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBxdWVyeSBwYXJhbWV0ZXJzIHJhdGhlciB0aGFuIHN0cmluZyB0cnVlL2ZhbHNlLlxyXG4gICAgcGFyYW1NYXAuZm9yY2VUVFMgPSBmb3JjZVRUUyA/IDEgOiAwO1xyXG5cclxuICAgIC8vIFRPRE86IG92ZXJsYXlfcGx1Z2luX2FwaS5qcyBkb2Vzbid0IHN1cHBvcnQgdXJpIGVuY29kZWQgT1ZFUkxBWV9XUyBwYXJhbWV0ZXJzLlxyXG4gICAgLy8gU28gdGhpcyBjYW4ndCB1c2UgVVJMU2VhcmNoUGFyYW1zLnRvU3RyaW5nIHlldC4gIE1hbnVhbGx5IGJ1aWxkIHN0cmluZy5cclxuICAgIGxldCBzZWFyY2ggPSAnPyc7XHJcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhwYXJhbU1hcCkpXHJcbiAgICAgIHNlYXJjaCArPSBgJHtrfT0ke3Z9JmA7XHJcblxyXG4gICAgLy8gUmVsb2FkIHRoZSBwYWdlIHdpdGggbW9yZSBvcHRpb25zLlxyXG4gICAgd2luZG93LmxvY2F0aW9uLnNlYXJjaCA9IHNlYXJjaDtcclxuICB9KTtcclxuXHJcbiAgY29uc3QgbGFzdFNlbGVjdGVkUGxheWVyID0gbG9hZFBsYXllck5hbWUoKTtcclxuXHJcbiAgY29uc3QgYnVpbGRMaXN0ID0gKHBhcnR5OiBQYXJ0eVtdKSA9PiB7XHJcbiAgICB3aGlsZSAobGlzdEVsZW0uZmlyc3RDaGlsZCkge1xyXG4gICAgICBpZiAobGlzdEVsZW0ubGFzdENoaWxkKVxyXG4gICAgICAgIGxpc3RFbGVtLnJlbW92ZUNoaWxkKGxpc3RFbGVtLmxhc3RDaGlsZCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJhZGlvQ291bnQgPSAwO1xyXG5cclxuICAgIGNvbnN0IGFkZFJhZGlvID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXh0cmFDbGFzczogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJhZGlvQ291bnQrKztcclxuXHJcbiAgICAgIGNvbnN0IGlucHV0TmFtZSA9IGBwbGF5ZXItcmFkaW8tJHtyYWRpb0NvdW50fWA7XHJcblxyXG4gICAgICBjb25zdCBpbnB1dEVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICBpbnB1dEVsZW0udHlwZSA9ICdyYWRpbyc7XHJcbiAgICAgIGlucHV0RWxlbS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICBpbnB1dEVsZW0uaWQgPSBpbnB1dE5hbWU7XHJcbiAgICAgIGlucHV0RWxlbS5uYW1lID0gJ3BsYXllci1yYWRpbyc7XHJcbiAgICAgIGlucHV0RWxlbS5jbGFzc0xpc3QuYWRkKCdwbGF5ZXItcmFkaW8nLCBleHRyYUNsYXNzKTtcclxuICAgICAgbGlzdEVsZW0uYXBwZW5kQ2hpbGQoaW5wdXRFbGVtKTtcclxuXHJcbiAgICAgIGNvbnN0IGxhYmVsRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xhYmVsJyk7XHJcbiAgICAgIGxhYmVsRWxlbS5odG1sRm9yID0gaW5wdXROYW1lO1xyXG4gICAgICBsYWJlbEVsZW0uaW5uZXJIVE1MID0gbmFtZTtcclxuICAgICAgbGlzdEVsZW0uYXBwZW5kQ2hpbGQobGFiZWxFbGVtKTtcclxuXHJcbiAgICAgIHJldHVybiBpbnB1dEVsZW07XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGRlZmF1bHRUZXh0ID0gZGVmYXVsdFRleHRCeUxhbmdbbGFuZ10gfHwgZGVmYXVsdFRleHRCeUxhbmdbJ2VuJ107XHJcbiAgICBjb25zdCBkZWZhdWx0RWxlbSA9IGFkZFJhZGlvKGRlZmF1bHRUZXh0LCAnJywgJ3BsYXllci1yYWRpby1kZWZhdWx0Jyk7XHJcbiAgICBkZWZhdWx0RWxlbS5jaGVja2VkID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAobGFzdFNlbGVjdGVkUGxheWVyKSB7XHJcbiAgICAgIGNvbnN0IGxhc3QgPSBhZGRSYWRpbyhsYXN0U2VsZWN0ZWRQbGF5ZXIsIGxhc3RTZWxlY3RlZFBsYXllciwgJ3BsYXllci1yYWRpby1sYXN0Jyk7XHJcbiAgICAgIGxhc3QuY2hlY2tlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFydHlQbGF5ZXJzID0gcGFydHkuZmlsdGVyKChwKSA9PiBwLmluUGFydHkgJiYgcC5uYW1lICE9PSBsYXN0U2VsZWN0ZWRQbGF5ZXIpO1xyXG4gICAgY29uc3QgcGFydHlOYW1lcyA9IHBhcnR5UGxheWVycy5tYXAoKHApID0+IHAubmFtZSkuc29ydCgpO1xyXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIHBhcnR5TmFtZXMpXHJcbiAgICAgIGFkZFJhZGlvKG5hbWUsIG5hbWUsICdwbGF5ZXItcmFkaW8tcGFydHknKTtcclxuXHJcbiAgICBjb25zdCBhbGxpYW5jZVBsYXllcnMgPSBwYXJ0eS5maWx0ZXIoKHApID0+ICFwLmluUGFydHkgJiYgcC5uYW1lICE9PSBsYXN0U2VsZWN0ZWRQbGF5ZXIpO1xyXG4gICAgY29uc3QgYWxsaWFuY2VOYW1lcyA9IGFsbGlhbmNlUGxheWVycy5tYXAoKHApID0+IHAubmFtZSkuc29ydCgpO1xyXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIGFsbGlhbmNlTmFtZXMpXHJcbiAgICAgIGFkZFJhZGlvKG5hbWUsIG5hbWUsICdwbGF5ZXItcmFkaW8tYWxsaWFuY2UnKTtcclxuICB9O1xyXG4gIGFkZE92ZXJsYXlMaXN0ZW5lcignUGFydHlDaGFuZ2VkJywgKGUpID0+IHtcclxuICAgIGJ1aWxkTGlzdChlLnBhcnR5KTtcclxuICB9KTtcclxuICBidWlsZExpc3QoW10pO1xyXG59O1xyXG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBBdXRvcGxheUhlbHBlciB7XHJcbiAgc3RhdGljIENoZWNrSWZBbHJlYWR5UnVubmluZygpOiBib29sZWFuIHtcclxuICAgIC8vIFRoaXMgY2hlY2sgd2lsbCBvbmx5IGV2ZXIgc3VjY2VlZCBvbiBydW5uaW5nIENocm9taXVtIHBhc3NpbmdcclxuICAgIC8vICAtLWF1dG9wbGF5LXBvbGljeT1uby11c2VyLWdlc3R1cmUtcmVxdWlyZWRcclxuICAgIC8vIGFzIGNvbW1hbmQgbGluZSBhcmd1bWVudCBvciBjb25maWd1cmluZyBDRUYgdGhlIGNvcnJlY3Qgd2F5LlxyXG4gICAgLy8gT25jZSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMTA2MzgwXHJcbiAgICAvLyBpcyBmaXhlZCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGZhbHNlIG9uIGV2ZXJ5ICh1cC10by1kYXRlKSBicm93c2VyXHJcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpO1xyXG4gICAgcmV0dXJuIGNvbnRleHQuc3RhdGUgPT09ICdydW5uaW5nJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBQcm9tcHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpO1xyXG4gICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICBidXR0b24uaW5uZXJUZXh0ID0gJ0NsaWNrIHRvIGVuYWJsZSBhdWRpbyc7XHJcbiAgICBidXR0b24uY2xhc3NMaXN0LmFkZCgnYXV0b3BsYXktaGVscGVyLWJ1dHRvbicpO1xyXG4gICAgYnV0dG9uLm9uY2xpY2sgPSBmdW5jdGlvbigpIHtcclxuICAgICAgdm9pZCBjb250ZXh0LnJlc3VtZSgpO1xyXG4gICAgfTtcclxuICAgIGNvbnRleHQub25zdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICBidXR0b24ucmVtb3ZlKCk7XHJcbiAgICB9O1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChidXR0b24pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENoZWNrQW5kUHJvbXB0KCk6IHZvaWQge1xyXG4gICAgaWYgKCFBdXRvcGxheUhlbHBlci5DaGVja0lmQWxyZWFkeVJ1bm5pbmcoKSlcclxuICAgICAgQXV0b3BsYXlIZWxwZXIuUHJvbXB0KCk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IExhbmcgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuXHJcbmNsYXNzIFRUU0l0ZW0ge1xyXG4gIHJlYWRvbmx5IHRleHQ6IHN0cmluZztcclxuICByZWFkb25seSBpdGVtOiBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRleHQ6IHN0cmluZywgbGFuZz86IHN0cmluZywgdm9pY2U/OiBTcGVlY2hTeW50aGVzaXNWb2ljZSkge1xyXG4gICAgdGhpcy50ZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuaXRlbSA9IG5ldyBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UodGV4dCk7XHJcbiAgICBpZiAobGFuZylcclxuICAgICAgdGhpcy5pdGVtLmxhbmcgPSBsYW5nO1xyXG4gICAgaWYgKHZvaWNlKVxyXG4gICAgICB0aGlzLml0ZW0udm9pY2UgPSB2b2ljZTtcclxuICB9XHJcblxyXG4gIHBsYXkoKSB7XHJcbiAgICB3aW5kb3cuc3BlZWNoU3ludGhlc2lzLnNwZWFrKHRoaXMuaXRlbSk7XHJcbiAgfVxyXG59XHJcblxyXG50eXBlIFRUU0l0ZW1EaWN0aW9uYXJ5ID0ge1xyXG4gIFtrZXk6IHN0cmluZ106IFRUU0l0ZW07XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcm93c2VyVFRTRW5naW5lIHtcclxuICByZWFkb25seSB0dHNJdGVtczogVFRTSXRlbURpY3Rpb25hcnkgPSB7fTtcclxuICBwcml2YXRlIHNwZWVjaExhbmc/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzcGVlY2hWb2ljZT86IFNwZWVjaFN5bnRoZXNpc1ZvaWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihsYW5nOiBMYW5nKSB7XHJcbiAgICBjb25zdCBjYWN0Ym90TGFuZ1RvU3BlZWNoTGFuZyA9IHtcclxuICAgICAgZW46ICdlbi1VUycsXHJcbiAgICAgIGRlOiAnZGUtREUnLFxyXG4gICAgICBmcjogJ2ZyLUZSJyxcclxuICAgICAgamE6ICdqYS1KUCcsXHJcbiAgICAgIC8vIFRPRE86IG1heWJlIG5lZWQgdG8gcHJvdmlkZSBhbiBvcHRpb24gb2YgemgtQ04sIHpoLUhLLCB6aC1UVz9cclxuICAgICAgY246ICd6aC1DTicsXHJcbiAgICAgIGtvOiAna28tS1InLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBmaWd1cmUgb3V0IHdoYXQgVFRTIGVuZ2luZSB0eXBlIHdlIG5lZWRcclxuICAgIGlmICh3aW5kb3cuc3BlZWNoU3ludGhlc2lzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgd2luZG93LnNwZWVjaFN5bnRoZXNpcy5vbnZvaWNlc2NoYW5nZWQgPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3BlZWNoTGFuZyA9IGNhY3Rib3RMYW5nVG9TcGVlY2hMYW5nW2xhbmddO1xyXG4gICAgICAgIGNvbnN0IHZvaWNlID0gd2luZG93LnNwZWVjaFN5bnRoZXNpcy5nZXRWb2ljZXMoKS5maW5kKCh2b2ljZSkgPT4gdm9pY2UubGFuZyA9PT0gc3BlZWNoTGFuZyk7XHJcbiAgICAgICAgaWYgKHZvaWNlKSB7XHJcbiAgICAgICAgICB0aGlzLnNwZWVjaExhbmcgPSBzcGVlY2hMYW5nO1xyXG4gICAgICAgICAgdGhpcy5zcGVlY2hWb2ljZSA9IHZvaWNlO1xyXG4gICAgICAgICAgd2luZG93LnNwZWVjaFN5bnRoZXNpcy5vbnZvaWNlc2NoYW5nZWQgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdCcm93c2VyVFRTIGVycm9yOiBjb3VsZCBub3QgZmluZCB2b2ljZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jyb3dzZXJUVFMgZXJyb3I6IG5vIGJyb3dzZXIgc3VwcG9ydCBmb3Igd2luZG93LnNwZWVjaFN5bnRoZXNpcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGxheSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zcGVlY2hWb2ljZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCB0dHNJdGVtID0gdGhpcy50dHNJdGVtc1t0ZXh0XTtcclxuICAgICAgaWYgKCF0dHNJdGVtKSB7XHJcbiAgICAgICAgdHRzSXRlbSA9IG5ldyBUVFNJdGVtKHRleHQsIHRoaXMuc3BlZWNoTGFuZywgdGhpcy5zcGVlY2hWb2ljZSk7XHJcbiAgICAgICAgdGhpcy50dHNJdGVtc1t0ZXh0XSA9IHR0c0l0ZW07XHJcbiAgICAgIH1cclxuICAgICAgdHRzSXRlbS5wbGF5KCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0V4Y2VwdGlvbiBwZXJmb3JtaW5nIFRUUycsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCB7IGNhbGxPdmVybGF5SGFuZGxlciwgYWRkT3ZlcmxheUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaSc7XHJcbmltcG9ydCBQYXJ0eVRyYWNrZXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3BhcnR5JztcclxuaW1wb3J0IHsgYWRkUGxheWVyQ2hhbmdlZE92ZXJyaWRlTGlzdGVuZXIsIFBsYXllckNoYW5nZWREZXRhaWwgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvcGxheWVyX292ZXJyaWRlJztcclxuaW1wb3J0IFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3JlZ2V4ZXMnO1xyXG5pbXBvcnQgVXRpbCBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdXRpbCc7XHJcbmltcG9ydCBab25lSWQgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3pvbmVfaWQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9kYXRhJztcclxuaW1wb3J0IHsgRXZlbnRSZXNwb25zZXMsIExvZ0V2ZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgeyBKb2IsIFJvbGUgfSBmcm9tICcuLi8uLi90eXBlcy9qb2InO1xyXG5pbXBvcnQgeyBNYXRjaGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X21hdGNoZXMnO1xyXG5pbXBvcnQge1xyXG4gIExvb3NlVHJpZ2dlciwgT3V0cHV0U3RyaW5ncywgVGltZWxpbmVGaWVsZCwgVGltZWxpbmVGdW5jLCBMb29zZVRyaWdnZXJTZXQsXHJcbiAgUmVzcG9uc2VGaWVsZCwgVHJpZ2dlckF1dG9Db25maWcsIFRyaWdnZXJGaWVsZCwgVHJpZ2dlck91dHB1dCxcclxuICBPdXRwdXQsIFJhaWRib3NzRmlsZURhdGEsIFJlc3BvbnNlT3V0cHV0LCBQYXJ0aWFsVHJpZ2dlck91dHB1dCwgRGF0YUluaXRpYWxpemVGdW5jLFxyXG4gIEdlbmVyYWxOZXRSZWdleFRyaWdnZXIsIFJlZ2V4VHJpZ2dlcixcclxufSBmcm9tICcuLi8uLi90eXBlcy90cmlnZ2VyJztcclxuXHJcbmltcG9ydCBBdXRvcGxheUhlbHBlciBmcm9tICcuL2F1dG9wbGF5X2hlbHBlcic7XHJcbmltcG9ydCBCcm93c2VyVFRTRW5naW5lIGZyb20gJy4vYnJvd3Nlcl90dHNfZW5naW5lJztcclxuaW1wb3J0IHsgUGVyVHJpZ2dlckF1dG9Db25maWcsIFBlclRyaWdnZXJPcHRpb24sIFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTG9hZGVyIH0gZnJvbSAnLi90aW1lbGluZSc7XHJcbmltcG9ydCB7IFRpbWVsaW5lUmVwbGFjZW1lbnQgfSBmcm9tICcuL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5jb25zdCBpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIgPVxyXG4gICh0cmlnZ2VyOiBMb29zZVRyaWdnZXIpOiB0cmlnZ2VyIGlzIFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlciA9PiB7XHJcbiAgICByZXR1cm4gJ2lzVGltZWxpbmVUcmlnZ2VyJyBpbiB0cmlnZ2VyO1xyXG4gIH07XHJcblxyXG5leHBvcnQgY29uc3QgaXNOZXRSZWdleFRyaWdnZXIgPSAodHJpZ2dlcj86IExvb3NlVHJpZ2dlcik6XHJcbiAgICB0cmlnZ2VyIGlzIFBhcnRpYWw8R2VuZXJhbE5ldFJlZ2V4VHJpZ2dlcjxSYWlkYm9zc0RhdGEsICdOb25lJz4+ID0+IHtcclxuICBpZiAodHJpZ2dlciAmJiAhaXNSYWlkYm9zc0xvb3NlVGltZWxpbmVUcmlnZ2VyKHRyaWdnZXIpKVxyXG4gICAgcmV0dXJuICduZXRSZWdleCcgaW4gdHJpZ2dlcjtcclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaXNSZWdleFRyaWdnZXIgPSAodHJpZ2dlcj86IExvb3NlVHJpZ2dlcik6XHJcbiAgICB0cmlnZ2VyIGlzIFBhcnRpYWw8UmVnZXhUcmlnZ2VyPFJhaWRib3NzRGF0YT4+ID0+IHtcclxuICBpZiAodHJpZ2dlciAmJiAhaXNSYWlkYm9zc0xvb3NlVGltZWxpbmVUcmlnZ2VyKHRyaWdnZXIpKVxyXG4gICAgcmV0dXJuICdyZWdleCcgaW4gdHJpZ2dlcjtcclxuICByZXR1cm4gZmFsc2U7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9jZXNzZWRUcmlnZ2VyID0gTG9vc2VUcmlnZ2VyICYge1xyXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xyXG4gIGxvY2FsUmVnZXg/OiBSZWdFeHA7XHJcbiAgbG9jYWxOZXRSZWdleD86IFJlZ0V4cDtcclxuICBvdXRwdXQ/OiBPdXRwdXQ7XHJcbn07XHJcblxyXG50eXBlIFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlciA9IFByb2Nlc3NlZFRyaWdnZXIgJiB7XHJcbiAgaXNUaW1lbGluZVRyaWdnZXI/OiB0cnVlO1xyXG59O1xyXG5cclxudHlwZSBQcm9jZXNzZWRUcmlnZ2VyU2V0ID0gTG9vc2VUcmlnZ2VyU2V0ICYge1xyXG4gIGZpbGVuYW1lPzogc3RyaW5nO1xyXG4gIHRpbWVsaW5lVHJpZ2dlcnM/OiBQcm9jZXNzZWRUaW1lbGluZVRyaWdnZXJbXTtcclxuICB0cmlnZ2Vycz86IFByb2Nlc3NlZFRyaWdnZXJbXTtcclxufTtcclxuXHJcbi8vIFRoZXJlIHNob3VsZCBiZSAoYXQgbW9zdCkgc2l4IGxpbmVzIG9mIGluc3RydWN0aW9ucy5cclxuY29uc3QgcmFpZGJvc3NJbnN0cnVjdGlvbnM6IHsgW2xhbmcgaW4gTGFuZ106IHN0cmluZ1tdIH0gPSB7XHJcbiAgZW46IFtcclxuICAgICdJbnN0cnVjdGlvbnMgYXMgZm9sbG93czonLFxyXG4gICAgJ1RoaXMgaXMgZGVidWcgdGV4dCBmb3IgcmVzaXppbmcuJyxcclxuICAgICdJdCBnb2VzIGF3YXkgd2hlbiB5b3UgbG9jayB0aGUgb3ZlcmxheScsXHJcbiAgICAnYWxvbmcgd2l0aCB0aGUgYmx1ZSBiYWNrZ3JvdW5kLicsXHJcbiAgICAnVGltZWxpbmVzIGFuZCB0cmlnZ2VycyB3aWxsIHNob3cgdXAgaW4gc3VwcG9ydGVkIHpvbmVzLicsXHJcbiAgICAnVGVzdCByYWlkYm9zcyB3aXRoIGEgL2NvdW50ZG93biBpbiBTdW1tZXJmb3JkIEZhcm1zLicsXHJcbiAgXSxcclxuICBkZTogW1xyXG4gICAgJ0Fud2Vpc3VuZ2VuIHdpZSBmb2xndDonLFxyXG4gICAgJ0RpZXMgaXN0IGVpbiBEZWJ1Zy1UZXh0IHp1ciBHcsO2w59lbsOkbmRlcnVuZy4nLFxyXG4gICAgJ0VyIHZlcnNjaHdpbmRldCwgd2VubiBkdSBkYXMgT3ZlcmxheSBzcGVycnN0LCcsXHJcbiAgICAnenVzYW1tZW4gbWl0IGRlbSBibGF1ZW4gSGludGVyZ3J1bmQuJyxcclxuICAgICdUaW1lbGluZSB1bmQgVHJpZ2dlciB3ZXJkZW4gaW4gZGVuIHVudGVyc3TDvHR6dGVuIFpvbmVuIGFuZ2V6ZWlndC4nLFxyXG4gICAgJ1Rlc3RlbiBTaWUgUmFpZGJvc3MgbWl0IGVpbmVtIC9jb3VudGRvd24gaW4gU29tbWVyZnVydC1Iw7ZmZS4nLFxyXG4gIF0sXHJcbiAgZnI6IFtcclxuICAgICdJbnN0cnVjdGlvbnMgOicsXHJcbiAgICAnQ2VjaSBlc3QgdW4gdGV4dGUgZGUgdGVzdCBwb3VyIHJlZGltZW5zaW9ubmVyLicsXHJcbiAgICAnSWwgZGlzcGFyYWl0cmEgXFwoYWluc2kgcXVlIGxlIGZvbmQgYmxldVxcKSBxdWFuZCcsXHJcbiAgICAnbFxcJ292ZXJsYXkgc2VyYSBibG9xdcOpLicsXHJcbiAgICAnTGVzIHRpbWVsaW5lcyBldCB0cmlnZ2VycyBzZXJvbnQgYWZmaWNow6lzIGRhbnMgbGVzIHpvbmVzIHN1cHBvcnTDqWVzLicsXHJcbiAgICAnVGVzdGV6IHJhaWRib3NzIGF2ZWMgdW4gL2NvdW50ZG93biBhdXggVmVyZ2VycyBkXFwnRXN0aXZhbCcsXHJcbiAgXSxcclxuICBqYTogW1xyXG4gICAgJ+aTjeS9nOaJi+mghu+8micsXHJcbiAgICAn44OH44OQ44OD44Kw55So44Gu44OG44Kt44K544OI44Gn44GZ44CCJyxcclxuICAgICfpnZLoibLjga7jgqrjg7zjg5Djg7zjg6zjgqTjgpInLFxyXG4gICAgJ+ODreODg+OCr+OBmeOCjOOBsOa2iOOBiOOCi+OAgicsXHJcbiAgICAn44K144Od44O844OI44GZ44KL44K+44O844Oz44Gr44K/44Kk44Og44Op44Kk44Oz44Go44OI44Oq44Ks44O844OG44Kt44K544OI44GM6KGo56S644Gn44GN44KL44CCJyxcclxuICAgICfjgrXjg57jg7zjg5Xjgqnjg7zjg4nluoTjgasvY291bnRkb3du44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44CBcmFpZGJvc3PjgpLjg4bjgrnjg4jjgafjgY3jgovjgIInLFxyXG4gIF0sXHJcbiAgY246IFtcclxuICAgICfor7fmjInku6XkuIvmraXpqqTmk43kvZzvvJonLFxyXG4gICAgJ+i/meaYr+S+m+eUqOaIt+iwg+aVtOaCrOa1rueql+Wkp+Wwj+eahOiwg+ivleeUqOaWh+acrCcsXHJcbiAgICAn5b2T5L2g6ZSB5a6a5q2k6JOd6Imy6IOM5pmv55qE5oKs5rWu56qXJyxcclxuICAgICfor6XmlofmnKzljbPkvJrmtojlpLHjgIInLFxyXG4gICAgJ+WcqOaUr+aMgeeahOWMuuWfn+S4reS8muiHquWKqOWKoOi9veaXtumXtOi9tOWSjOinpuWPkeWZqOOAgicsXHJcbiAgICAn5Y+v5Zyo55ub5aSP5Yac5bqE5L2/55SoL2NvdW50ZG93buWRveS7pOa1i+ivleivpXJhaWRib3Nz5qih5Z2X44CCJyxcclxuICBdLFxyXG4gIGtvOiBbXHJcbiAgICAnPOyhsOyekSDshKTrqoU+JyxcclxuICAgICftgazquLAg7KGw7KCV7J2EIOychO2VnCDrlJTrsoTqt7gg7LC97J6F64uI64ukJyxcclxuICAgICftjIzrnoAg67Cw6rK96rO8IOydtCDthY3siqTtirjripQnLFxyXG4gICAgJ+yYpOuyhOugiOydtOulvCDsnITsuZjsnqDquIjtlZjrqbQg7IKs65287KeR64uI64ukJyxcclxuICAgICfsp4Dsm5DrkJjripQg6rWs7Jet7JeQ7IScIO2DgOyehOudvOyduOqzvCDtirjrpqzqsbDqsIAg7ZGc7Iuc65Cp64uI64ukJyxcclxuICAgICfsl6zrpoTsl6zsmrgg64aN7J6l7JeQ7IScIOy0iOydveq4sOulvCDsi6TtlontlZjsl6wg7YWM7Iqk7Yq4IO2VtOuzvCDsiJgg7J6I7Iq164uI64ukJyxcclxuICBdLFxyXG59O1xyXG5cclxuLy8gQmVjYXVzZSBhcHBhcmVudGx5IHBlb3BsZSBkb24ndCB1bmRlcnN0YW5kIHVwcGVyY2FzZSBncmVlayBsZXR0ZXJzLFxyXG4vLyBhZGQgYSBzcGVjaWFsIGNhc2UgdG8gbm90IHVwcGVyY2FzZSB0aGVtLlxyXG5jb25zdCB0cmlnZ2VyVXBwZXJDYXNlID0gKHN0cjogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gc3RyLnJlcGxhY2UoL1tezrHOss6zzrRdL2csICh4KSA9PiB4LnRvVXBwZXJDYXNlKCkpO1xyXG59O1xyXG5cclxuLy8gRGlzYWJsZSBuby1leHBsaWNpdC1hbnkgZHVlIHRvIGNhdGNoIGNsYXVzZXMgcmVxdWlyaW5nIGFueVxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG5jb25zdCBvblRyaWdnZXJFeGNlcHRpb24gPSAodHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlciwgZTogYW55KSA9PiB7XHJcbiAgLy8gV2hlbiBhIGZpZ2h0IGVuZHMgYW5kIHRoZXJlIGFyZSBvcGVuIHByb21pc2VzLCBmcm9tIGRlbGF5U2Vjb25kcyBvciBwcm9taXNlIGl0c2VsZixcclxuICAvLyBhbGwgcHJvbWlzZXMgd2lsbCBiZSByZWplY3RlZC4gIEluIHRoaXMgY2FzZSB0aGVyZSBpcyBubyBlcnJvcjsgc2ltcGx5IHJldHVybiB3aXRob3V0IGxvZ2dpbmcuXHJcbiAgaWYgKCFlKVxyXG4gICAgcmV0dXJuO1xyXG5cclxuICBsZXQgc3RyID0gJ0Vycm9yIGluIHRyaWdnZXI6ICcgKyAodHJpZ2dlci5pZCA/IHRyaWdnZXIuaWQgOiAnW3Vua25vd24gdHJpZ2dlciBpZF0nKTtcclxuXHJcbiAgaWYgKHRyaWdnZXIuZmlsZW5hbWUpXHJcbiAgICBzdHIgKz0gJyAoJyArIHRyaWdnZXIuZmlsZW5hbWUgKyAnKSc7XHJcbiAgY29uc29sZS5lcnJvcihzdHIpO1xyXG5cclxuICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XHJcbiAgICBjb25zdCBsaW5lcyA9IGUuc3RhY2s/LnNwbGl0KCdcXG4nKSA/PyBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoOyArK2kpXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IobGluZXNbaV0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHNvdW5kcyA9IFsnQWxhcm0nLCAnQWxlcnQnLCAnSW5mbycsICdMb25nJywgJ1B1bGwnXSBhcyBjb25zdDtcclxuY29uc3Qgc291bmRTdHJzOiByZWFkb25seSBzdHJpbmdbXSA9IHNvdW5kcztcclxuXHJcbnR5cGUgU291bmQgPSB0eXBlb2Ygc291bmRzW251bWJlcl07XHJcbnR5cGUgU291bmRUeXBlID0gYCR7U291bmR9U291bmRgO1xyXG50eXBlIFNvdW5kVHlwZVZvbHVtZSA9IGAke1NvdW5kVHlwZX1Wb2x1bWVgO1xyXG5cclxuY29uc3QgdGV4dHMgPSBbJ2luZm8nLCAnYWxlcnQnLCAnYWxhcm0nXSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCB0eXBlIFRleHQgPSB0eXBlb2YgdGV4dHNbbnVtYmVyXTtcclxudHlwZSBUZXh0VXBwZXIgPSBgJHtDYXBpdGFsaXplPFRleHQ+fWA7XHJcbmV4cG9ydCB0eXBlIFRleHRUZXh0ID0gYCR7VGV4dH1UZXh0YDtcclxudHlwZSBUZXh0VXBwZXJUZXh0ID0gYCR7VGV4dFVwcGVyfVRleHRgO1xyXG5cclxudHlwZSBUZXh0TWFwID0ge1xyXG4gIFt0ZXh0IGluIFRleHRdOiB7XHJcbiAgICB0ZXh0OiBUZXh0VGV4dDtcclxuICAgIHVwcGVyVGV4dDogVGV4dFVwcGVyVGV4dDtcclxuICAgIHVwcGVyU291bmQ6IFNvdW5kVHlwZTtcclxuICAgIHVwcGVyU291bmRWb2x1bWU6IFNvdW5kVHlwZVZvbHVtZTtcclxuICAgIHJ1bWJsZUR1cmF0aW9uOiBgJHtUZXh0VXBwZXJ9UnVtYmxlRHVyYXRpb25gO1xyXG4gICAgcnVtYmxlV2VhazogYCR7VGV4dFVwcGVyfVJ1bWJsZVdlYWtgO1xyXG4gICAgcnVtYmxlU3Ryb25nOiBgJHtUZXh0VXBwZXJ9UnVtYmxlU3Ryb25nYDtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCB0ZXh0TWFwOiBUZXh0TWFwID0ge1xyXG4gIGluZm86IHtcclxuICAgIHRleHQ6ICdpbmZvVGV4dCcsXHJcbiAgICB1cHBlclRleHQ6ICdJbmZvVGV4dCcsXHJcbiAgICB1cHBlclNvdW5kOiAnSW5mb1NvdW5kJyxcclxuICAgIHVwcGVyU291bmRWb2x1bWU6ICdJbmZvU291bmRWb2x1bWUnLFxyXG4gICAgcnVtYmxlRHVyYXRpb246ICdJbmZvUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgcnVtYmxlV2VhazogJ0luZm9SdW1ibGVXZWFrJyxcclxuICAgIHJ1bWJsZVN0cm9uZzogJ0luZm9SdW1ibGVTdHJvbmcnLFxyXG4gIH0sXHJcbiAgYWxlcnQ6IHtcclxuICAgIHRleHQ6ICdhbGVydFRleHQnLFxyXG4gICAgdXBwZXJUZXh0OiAnQWxlcnRUZXh0JyxcclxuICAgIHVwcGVyU291bmQ6ICdBbGVydFNvdW5kJyxcclxuICAgIHVwcGVyU291bmRWb2x1bWU6ICdBbGVydFNvdW5kVm9sdW1lJyxcclxuICAgIHJ1bWJsZUR1cmF0aW9uOiAnQWxlcnRSdW1ibGVEdXJhdGlvbicsXHJcbiAgICBydW1ibGVXZWFrOiAnQWxlcnRSdW1ibGVXZWFrJyxcclxuICAgIHJ1bWJsZVN0cm9uZzogJ0FsZXJ0UnVtYmxlU3Ryb25nJyxcclxuICB9LFxyXG4gIGFsYXJtOiB7XHJcbiAgICB0ZXh0OiAnYWxhcm1UZXh0JyxcclxuICAgIHVwcGVyVGV4dDogJ0FsYXJtVGV4dCcsXHJcbiAgICB1cHBlclNvdW5kOiAnQWxhcm1Tb3VuZCcsXHJcbiAgICB1cHBlclNvdW5kVm9sdW1lOiAnQWxhcm1Tb3VuZFZvbHVtZScsXHJcbiAgICBydW1ibGVEdXJhdGlvbjogJ0FsYXJtUnVtYmxlRHVyYXRpb24nLFxyXG4gICAgcnVtYmxlV2VhazogJ0FsYXJtUnVtYmxlV2VhaycsXHJcbiAgICBydW1ibGVTdHJvbmc6ICdBbGFybVJ1bWJsZVN0cm9uZycsXHJcbiAgfSxcclxufTtcclxuXHJcbi8vIEhlbHBlciBmb3IgaGFuZGxpbmcgdHJpZ2dlciBvdmVycmlkZXMuXHJcbi8vXHJcbi8vIGFzTGlzdCB3aWxsIHJldHVybiBhIGxpc3Qgb2YgdHJpZ2dlcnMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgYXBwZW5kIHdhcyBjYWxsZWQsIGV4Y2VwdDpcclxuLy8gSWYgYSBsYXRlciB0cmlnZ2VyIGhhcyB0aGUgc2FtZSBpZCBhcyBhIHByZXZpb3VzIHRyaWdnZXIsIGl0IHdpbGwgcmVwbGFjZSB0aGUgcHJldmlvdXMgdHJpZ2dlclxyXG4vLyBhbmQgYXBwZWFyIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhlIHByZXZpb3VzIHRyaWdnZXIgYXBwZWFyZWQuXHJcbi8vIGUuZy4gYSwgYjEsIGMsIGIyICh3aGVyZSBiMSBhbmQgYjIgc2hhcmUgdGhlIHNhbWUgaWQpIHlpZWxkcyBbYSwgYjIsIGNdIGFzIHRoZSBmaW5hbCBsaXN0LlxyXG4vL1xyXG4vLyBKYXZhU2NyaXB0IGRpY3Rpb25hcmllcyBhcmUgKmFsbW9zdCogb3JkZXJlZCBhdXRvbWF0aWNhbGx5IGFzIHdlIHdvdWxkIHdhbnQsXHJcbi8vIGJ1dCB3YW50IHRvIGhhbmRsZSBtaXNzaW5nIGlkcyBhbmQgaW50ZWdlciBpZHMgKHlvdSBzaG91bGRuJ3QsIGJ1dCBqdXN0IGluIGNhc2UpLlxyXG5jbGFzcyBPcmRlcmVkVHJpZ2dlckxpc3Qge1xyXG4gIHRyaWdnZXJzOiBQcm9jZXNzZWRUcmlnZ2VyW10gPSBbXTtcclxuICBpZFRvSW5kZXg6IHsgW2lkOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICBwdXNoKHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIpIHtcclxuICAgIGNvbnN0IGlkeCA9IHRyaWdnZXIuaWQgIT09IHVuZGVmaW5lZCA/IHRoaXMuaWRUb0luZGV4W3RyaWdnZXIuaWRdIDogdW5kZWZpbmVkO1xyXG4gICAgaWYgKGlkeCAhPT0gdW5kZWZpbmVkICYmIHRyaWdnZXIuaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBvbGRUcmlnZ2VyID0gdGhpcy50cmlnZ2Vyc1tpZHhdO1xyXG5cclxuICAgICAgaWYgKG9sZFRyaWdnZXIgPT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICAvLyBUT0RPOiBiZSB2ZXJib3NlIG5vdyB3aGlsZSB0aGlzIGlzIGZyZXNoLCBidXQgaGlkZSB0aGlzIG91dHB1dCBiZWhpbmQgZGVidWcgZmxhZ3MgbGF0ZXIuXHJcbiAgICAgIGNvbnN0IHRyaWdnZXJGaWxlID1cclxuICAgICAgICAodHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlcikgPT4gdHJpZ2dlci5maWxlbmFtZSA/IGAnJHt0cmlnZ2VyLmZpbGVuYW1lfSdgIDogJ3VzZXIgb3ZlcnJpZGUnO1xyXG4gICAgICBjb25zdCBvbGRGaWxlID0gdHJpZ2dlckZpbGUob2xkVHJpZ2dlcik7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB0cmlnZ2VyRmlsZSh0cmlnZ2VyKTtcclxuICAgICAgY29uc29sZS5sb2coYE92ZXJyaWRpbmcgJyR7dHJpZ2dlci5pZH0nIGZyb20gJHtvbGRGaWxlfSB3aXRoICR7bmV3RmlsZX0uYCk7XHJcblxyXG4gICAgICB0aGlzLnRyaWdnZXJzW2lkeF0gPSB0cmlnZ2VyO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTm9ybWFsIGNhc2Ugb2YgYSBuZXcgdHJpZ2dlciwgd2l0aCBubyBvdmVycmlkaW5nLlxyXG4gICAgaWYgKHRyaWdnZXIuaWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgdGhpcy5pZFRvSW5kZXhbdHJpZ2dlci5pZF0gPSB0aGlzLnRyaWdnZXJzLmxlbmd0aDtcclxuICAgIHRoaXMudHJpZ2dlcnMucHVzaCh0cmlnZ2VyKTtcclxuICB9XHJcblxyXG4gIGFzTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyaWdnZXJzO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3QgaXNPYmplY3QgPSAoeDogdW5rbm93bik6IHggaXMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPT4geCBpbnN0YW5jZW9mIE9iamVjdDtcclxuXHJcbi8vIFVzZXIgdHJpZ2dlciBtYXkgcGFzcyBhbnl0aGluZyBhcyBwYXJhbWV0ZXJzXHJcbnR5cGUgVHJpZ2dlclBhcmFtcyA9IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9O1xyXG5cclxuY2xhc3MgVHJpZ2dlck91dHB1dFByb3h5IHtcclxuICBwdWJsaWMgb3V0cHV0U3RyaW5nczogT3V0cHV0U3RyaW5ncztcclxuICBwdWJsaWMgb3ZlcnJpZGVTdHJpbmdzOiBPdXRwdXRTdHJpbmdzID0ge307XHJcbiAgcHVibGljIHJlc3BvbnNlT3V0cHV0U3RyaW5nczogeyBbb3V0cHV0TmFtZTogc3RyaW5nXTogdW5rbm93biB9ID0ge307XHJcbiAgcHVibGljIHVua25vd25WYWx1ZSA9ICc/Pz8nO1xyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBwdWJsaWMgZGlzcGxheUxhbmc6IExhbmcsXHJcbiAgICBwdWJsaWMgcGVyVHJpZ2dlckF1dG9Db25maWc/OiBQZXJUcmlnZ2VyQXV0b0NvbmZpZykge1xyXG4gICAgdGhpcy5vdXRwdXRTdHJpbmdzID0gdHJpZ2dlci5vdXRwdXRTdHJpbmdzID8/IHt9O1xyXG5cclxuICAgIGlmICh0cmlnZ2VyLmlkICYmIHBlclRyaWdnZXJBdXRvQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHBlclRyaWdnZXJBdXRvQ29uZmlnW3RyaWdnZXIuaWRdO1xyXG4gICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5PdXRwdXRTdHJpbmdzKVxyXG4gICAgICAgIHRoaXMub3ZlcnJpZGVTdHJpbmdzID0gY29uZmlnLk91dHB1dFN0cmluZ3M7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLCB7XHJcbiAgICAgIC8vIFJlc3BvbnNlIG91dHB1dCBzdHJpbmcgc3VidGxldHk6XHJcbiAgICAgIC8vIFRha2UgdGhpcyBleGFtcGxlIHJlc3BvbnNlOlxyXG4gICAgICAvL1xyXG4gICAgICAvLyAgICByZXNwb25zZTogKGRhdGEsIG1hdGNoZXMsIG91dHB1dCkgPT4ge1xyXG4gICAgICAvLyAgICAgIHJldHVybiB7XHJcbiAgICAgIC8vICAgICAgICBhbGFybVRleHQ6IG91dHB1dC5zb21lQWxhcm0oKSxcclxuICAgICAgLy8gICAgICAgIG91dHB1dFN0cmluZ3M6IHsgc29tZUFsYXJtOiAnc3RyaW5nJyB9LCAvLyA8LSBpbXBvc3NpYmxlXHJcbiAgICAgIC8vICAgICAgfTtcclxuICAgICAgLy8gICAgfSxcclxuICAgICAgLy9cclxuICAgICAgLy8gQmVjYXVzZSB0aGUgb2JqZWN0IGJlaW5nIHJldHVybmVkIGlzIGV2YWx1YXRlZCBhbGwgYXQgb25jZSwgdGhlIG9iamVjdFxyXG4gICAgICAvLyBjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgZGVmaW5lIG91dHB1dFN0cmluZ3MgYW5kIHVzZSB0aG9zZSBvdXRwdXRTdHJpbmdzLlxyXG4gICAgICAvLyBTbywgaW5zdGVhZCwgcmVzcG9uc2VzIG5lZWQgdG8gc2V0IGBvdXRwdXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzYC5cclxuICAgICAgLy8gSE9XRVZFUiwgdGhpcyBhbHNvIGhhcyBpdHMgb3duIGlzc3VlcyEgIFRoaXMgdmFsdWUgaXMgc2V0IGZvciB0aGUgdHJpZ2dlclxyXG4gICAgICAvLyAod2hpY2ggbWF5IGhhdmUgbXVsdGlwbGUgYWN0aXZlIGluIGZsaWdodCBpbnN0YW5jZXMpLiAgVGhpcyAqc2hvdWxkKiBiZVxyXG4gICAgICAvLyBvayBiZWNhdXNlIHdlIGd1YXJhbnRlZSB0aGF0IHJlc3BvbnNlL2FsYXJtVGV4dC9hbGVydFRleHQvaW5mb1RleHQvdHRzXHJcbiAgICAgIC8vIGFyZSBldmFsdWF0ZWQgc2VxdWVudGlhbGx5IGZvciBhIHNpbmdsZSB0cmlnZ2VyIGJlZm9yZSBhbnkgb3RoZXIgdHJpZ2dlclxyXG4gICAgICAvLyBpbnN0YW5jZSBldmFsdWF0ZXMgdGhhdCBzZXQgb2YgdHJpZ2dlcnMuICBGaW5hbGx5LCBmb3IgZWFzZSBvZiBhdXRvbWF0aW5nXHJcbiAgICAgIC8vIHRoZSBjb25maWcgdWksIHRoZSByZXNwb25zZSBzaG91bGQgcmV0dXJuIHRoZSBleGFjdCBzYW1lIHNldCBvZlxyXG4gICAgICAvLyBvdXRwdXRTdHJpbmdzIGV2ZXJ5IHRpbWUuICBUaGFuayB5b3UgZm9yIGNvbWluZyB0byBteSBURUQgdGFsay5cclxuICAgICAgc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHByb3BlcnR5ID09PSAncmVzcG9uc2VPdXRwdXRTdHJpbmdzJykge1xyXG4gICAgICAgICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgICB0YXJnZXRbcHJvcGVydHldID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCByZXNwb25zZU91dHB1dFN0cmluZ3Mgb24gdHJpZ2dlciAke3RhcmdldC50cmlnZ2VyLmlkID8/ICdVbmtub3duJ31gKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEJlIGtpbmQgdG8gdXNlciB0cmlnZ2VycyB0aGF0IGRvIHdlaXJkIHRoaW5ncywgYW5kIGp1c3QgY29uc29sZSBlcnJvciB0aGlzXHJcbiAgICAgICAgLy8gaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBleGNlcHRpb24uXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBwcm9wZXJ0eSAnJHtTdHJpbmcocHJvcGVydHkpfScgb24gb3V0cHV0LmApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGdldCh0YXJnZXQsIG5hbWUpIHtcclxuICAgICAgICAvLyBUT0RPOiBhZGQgYSB0ZXN0IHRoYXQgdmVyaWZpZXMgbm9ib2R5IGRvZXMgdGhpcy5cclxuICAgICAgICBpZiAobmFtZSA9PT0gJ3RvSlNPTicgfHwgdHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgcmV0dXJuICd7fSc7XHJcblxyXG4gICAgICAgIC8vIEJlY2F1c2Ugb3V0cHV0LmZ1bmMoKSBtdXN0IGV4aXN0IGF0IHRoZSB0aW1lIG9mIHRyaWdnZXIgZXZhbCxcclxuICAgICAgICAvLyBhbHdheXMgcHJvdmlkZSBhIGZ1bmN0aW9uIGV2ZW4gYmVmb3JlIHdlIGtub3cgd2hpY2gga2V5cyBhcmUgdmFsaWQuXHJcbiAgICAgICAgcmV0dXJuIChwYXJhbXM6IFRyaWdnZXJQYXJhbXMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlkID0gdGFyZ2V0LnRyaWdnZXIuaWQgPz8gJ1Vua25vd24gVHJpZ2dlcic7XHJcblxyXG4gICAgICAgICAgLy8gUHJpb3JpdHk6IHBlci10cmlnZ2VyIGNvbmZpZyBmcm9tIHVpID4gcmVzcG9uc2UgPiBidWlsdC1pbiB0cmlnZ2VyXHJcbiAgICAgICAgICAvLyBJZGVhbGx5LCByZXNwb25zZSBwcm92aWRlcyBldmVyeXRoaW5nIGFuZCB0cmlnZ2VyIHByb3ZpZGVzIG5vdGhpbmcsXHJcbiAgICAgICAgICAvLyBvciB0aGVyZSdzIG5vIHJlc3BvbnNlIGFuZCB0cmlnZ2VyIHByb3ZpZGVzIGV2ZXJ5dGhpbmcuICBIYXZpbmdcclxuICAgICAgICAgIC8vIHRoaXMgd2VsbC1kZWZpbmVkIHNtb290aHMgb3V0IHRoZSBjb2xsaXNpb24gZWRnZSBjYXNlcy5cclxuICAgICAgICAgIGxldCBzdHIgPSB0YXJnZXQuZ2V0UmVwbGFjZW1lbnQodGFyZ2V0Lm92ZXJyaWRlU3RyaW5nc1tuYW1lXSwgcGFyYW1zLCBuYW1lLCBpZCk7XHJcbiAgICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2VTdHJpbmcgPSB0YXJnZXQucmVzcG9uc2VPdXRwdXRTdHJpbmdzW25hbWVdO1xyXG4gICAgICAgICAgICBpZiAoaXNPYmplY3QocmVzcG9uc2VTdHJpbmcpKVxyXG4gICAgICAgICAgICAgIHN0ciA9IHRhcmdldC5nZXRSZXBsYWNlbWVudChyZXNwb25zZVN0cmluZywgcGFyYW1zLCBuYW1lLCBpZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHN0ciA9IHRhcmdldC5nZXRSZXBsYWNlbWVudCh0YXJnZXQub3V0cHV0U3RyaW5nc1tuYW1lXSwgcGFyYW1zLCBuYW1lLCBpZCk7XHJcbiAgICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke3RhcmdldC50cmlnZ2VyLmlkID8/ICcnfSBoYXMgbWlzc2luZyBvdXRwdXRTdHJpbmcgJHtuYW1lfS5gKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldC51bmtub3duVmFsdWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFJlcGxhY2VtZW50KFxyXG4gICAgLy8gQ2FuJ3QgdXNlIG9wdGlvbmFsIG1vZGlmaWVyIGZvciB0aGlzIGFyZyBzaW5jZSB0aGUgb3RoZXJzIGFyZW4ndCBvcHRpb25hbFxyXG4gICAgdGVtcGxhdGU6IHsgW2xhbmc6IHN0cmluZ106IHVua25vd24gfSB8IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIHBhcmFtczogVHJpZ2dlclBhcmFtcyxcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGlkOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKCF0ZW1wbGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCB2YWx1ZTogdW5rbm93bjtcclxuICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKVxyXG4gICAgICAvLyB1c2VyIGNvbmZpZ1xyXG4gICAgICB2YWx1ZSA9IHRlbXBsYXRlO1xyXG4gICAgZWxzZVxyXG4gICAgICB2YWx1ZSA9IHRlbXBsYXRlW3RoaXMuZGlzcGxheUxhbmddID8/IHRlbXBsYXRlWydlbiddO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH0gaGFzIGludmFsaWQgb3V0cHV0U3RyaW5nICR7bmFtZX0uYCwgSlNPTi5zdHJpbmdpZnkodGVtcGxhdGUpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXCR7XFxzKihbXn1cXHNdKylcXHMqfS9nLCAoX2Z1bGxNYXRjaDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zICYmIGtleSBpbiBwYXJhbXMpIHtcclxuICAgICAgICBjb25zdCBzdHIgPSBwYXJhbXNba2V5XTtcclxuICAgICAgICBzd2l0Y2ggKHR5cGVvZiBzdHIpIHtcclxuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgIHJldHVybiBzdHI7XHJcbiAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICByZXR1cm4gc3RyLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgJHtpZH0gaGFzIG5vbi1zdHJpbmcgcGFyYW0gdmFsdWUgJHtrZXl9LmApO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVua25vd25WYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9IGNhbid0IHJlcGxhY2UgJHtrZXl9IGluICR7SlNPTi5zdHJpbmdpZnkodGVtcGxhdGUpfS5gKTtcclxuICAgICAgcmV0dXJuIHRoaXMudW5rbm93blZhbHVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWFrZU91dHB1dChcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBkaXNwbGF5TGFuZzogTGFuZyxcclxuICAgIHBlclRyaWdnZXJBdXRvQ29uZmlnPzogUGVyVHJpZ2dlckF1dG9Db25maWcpOiBPdXRwdXQge1xyXG4gICAgLy8gYE91dHB1dGAgaXMgdGhlIGNvbW1vbiB0eXBlIHVzZWQgZm9yIHRoZSB0cmlnZ2VyIGRhdGEgaW50ZXJmYWNlIHRvIHN1cHBvcnQgYXJiaXRyYXJ5XHJcbiAgICAvLyBzdHJpbmcga2V5cyBhbmQgYWx3YXlzIHJldHVybnMgYSBzdHJpbmcuIEhvd2V2ZXIsIFR5cGVTY3JpcHQgZG9lc24ndCBoYXZlIGdvb2Qgc3VwcG9ydFxyXG4gICAgLy8gZm9yIHRoZSBQcm94eSByZXByZXNlbnRpbmcgdGhpcyBzdHJ1Y3R1cmUgc28gd2UgbmVlZCB0byBjYXN0IFByb3h5ID0+IHVua25vd24gPT4gT3V0cHV0XHJcbiAgICByZXR1cm4gbmV3IFRyaWdnZXJPdXRwdXRQcm94eSh0cmlnZ2VyLCBkaXNwbGF5TGFuZyxcclxuICAgICAgcGVyVHJpZ2dlckF1dG9Db25maWcpIGFzIHVua25vd24gYXMgT3V0cHV0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmFpZGJvc3NUcmlnZ2VyRmllbGQgPVxyXG4gIFRyaWdnZXJGaWVsZDxSYWlkYm9zc0RhdGEsIE1hdGNoZXMsIFRyaWdnZXJPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPj4gfFxyXG4gIFRyaWdnZXJGaWVsZDxSYWlkYm9zc0RhdGEsIE1hdGNoZXMsIFBhcnRpYWxUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4+O1xyXG5leHBvcnQgdHlwZSBSYWlkYm9zc1RyaWdnZXJPdXRwdXQgPSBUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz4gfFxyXG4gIFBhcnRpYWxUcmlnZ2VyT3V0cHV0PFJhaWRib3NzRGF0YSwgTWF0Y2hlcz47XHJcblxyXG5jb25zdCBkZWZhdWx0T3V0cHV0ID0gVHJpZ2dlck91dHB1dFByb3h5Lm1ha2VPdXRwdXQoe30sICdlbicpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VySGVscGVyIHtcclxuICB2YWx1ZU9yRnVuY3Rpb246IChmOiBSYWlkYm9zc1RyaWdnZXJGaWVsZCkgPT4gUmFpZGJvc3NUcmlnZ2VyT3V0cHV0O1xyXG4gIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXI7XHJcbiAgbm93OiBudW1iZXI7XHJcbiAgdHJpZ2dlck9wdGlvbnM6IFBlclRyaWdnZXJPcHRpb247XHJcbiAgdHJpZ2dlckF1dG9Db25maWc6IFRyaWdnZXJBdXRvQ29uZmlnO1xyXG4gIC8vIFRoaXMgc2V0dGluZyBvbmx5IHN1cHByZXNzZXMgb3V0cHV0LCB0cmlnZ2VyIHN0aWxsIHJ1bnMgZm9yIGRhdGEvbG9naWMgcHVycG9zZXNcclxuICB1c2VyU3VwcHJlc3NlZE91dHB1dDogYm9vbGVhbjtcclxuICBtYXRjaGVzOiBNYXRjaGVzO1xyXG4gIHJlc3BvbnNlPzogUmVzcG9uc2VPdXRwdXQ8UmFpZGJvc3NEYXRhLCBNYXRjaGVzPjtcclxuICAvLyBEZWZhdWx0IG9wdGlvbnNcclxuICBzb3VuZFVybD86IHN0cmluZztcclxuICBzb3VuZFZvbD86IG51bWJlcjtcclxuICB0cmlnZ2VyU291bmRWb2w/OiBudW1iZXI7XHJcbiAgZGVmYXVsdFRUU1RleHQ/OiBzdHJpbmc7XHJcbiAgdGV4dEFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgc291bmRBbGVydHNFbmFibGVkOiBib29sZWFuO1xyXG4gIHNwb2tlbkFsZXJ0c0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgZ3JvdXBTcG9rZW5BbGVydHNFbmFibGVkOiBib29sZWFuO1xyXG4gIGR1cmF0aW9uPzoge1xyXG4gICAgZnJvbUNvbmZpZz86IG51bWJlcjtcclxuICAgIGZyb21UcmlnZ2VyPzogbnVtYmVyO1xyXG4gICAgYWxhcm1UZXh0OiBudW1iZXI7XHJcbiAgICBhbGVydFRleHQ6IG51bWJlcjtcclxuICAgIGluZm9UZXh0OiBudW1iZXI7XHJcbiAgfTtcclxuICB0dHNUZXh0Pzogc3RyaW5nO1xyXG4gIHJ1bWJsZUR1cmF0aW9uTXM/OiBudW1iZXI7XHJcbiAgcnVtYmxlV2Vhaz86IG51bWJlcjtcclxuICBydW1ibGVTdHJvbmc/OiBudW1iZXI7XHJcbiAgb3V0cHV0OiBPdXRwdXQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3B1cFRleHQge1xyXG4gIHByb3RlY3RlZCB0cmlnZ2VyczogUHJvY2Vzc2VkVHJpZ2dlcltdID0gW107XHJcbiAgcHJvdGVjdGVkIG5ldFRyaWdnZXJzOiBQcm9jZXNzZWRUcmlnZ2VyW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgdGltZXJzOiB7IFt0cmlnZ2VySWQ6IG51bWJlcl06IGJvb2xlYW4gfSA9IHt9O1xyXG4gIHByb3RlY3RlZCB0cmlnZ2VyU3VwcHJlc3M6IHsgW3RyaWdnZXJJZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcclxuICBwcm90ZWN0ZWQgY3VycmVudFRyaWdnZXJJRCA9IDA7XHJcbiAgcHJvdGVjdGVkIGluQ29tYmF0ID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJlc2V0V2hlbk91dE9mQ29tYmF0ID0gdHJ1ZTtcclxuICAvLyBUaGVzZSBhcmUgZGVsaWJlcmF0ZWx5IGB8IG51bGxgIGZvciByYWlkZW11bGF0b3IgZXh0ZW5kYWJpbGl0eSByZWFzb25zXHJcbiAgcHJvdGVjdGVkIGluZm9UZXh0OiBIVE1MRWxlbWVudCB8IG51bGw7XHJcbiAgcHJvdGVjdGVkIGFsZXJ0VGV4dDogSFRNTEVsZW1lbnQgfCBudWxsO1xyXG4gIHByb3RlY3RlZCBhbGFybVRleHQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcclxuICBwcm90ZWN0ZWQgcGFyc2VyTGFuZzogTGFuZztcclxuICBwcm90ZWN0ZWQgZGlzcGxheUxhbmc6IExhbmc7XHJcbiAgcHJvdGVjdGVkIHR0c0VuZ2luZT86IEJyb3dzZXJUVFNFbmdpbmU7XHJcbiAgcHJvdGVjdGVkIHR0c1NheTogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcclxuICBwcm90ZWN0ZWQgcGFydHlUcmFja2VyID0gbmV3IFBhcnR5VHJhY2tlcigpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBrTWF4Um93c09mVGV4dCA9IDI7XHJcbiAgcHJvdGVjdGVkIGRhdGE6IFJhaWRib3NzRGF0YTtcclxuICBwcm90ZWN0ZWQgbWUgPSAnJztcclxuICBwcm90ZWN0ZWQgam9iOiBKb2IgPSAnTk9ORSc7XHJcbiAgcHJvdGVjdGVkIHJvbGU6IFJvbGUgPSAnbm9uZSc7XHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJTZXRzOiBQcm9jZXNzZWRUcmlnZ2VyU2V0W10gPSBbXTtcclxuICBwcm90ZWN0ZWQgem9uZU5hbWUgPSAnJztcclxuICBwcm90ZWN0ZWQgem9uZUlkID0gLTE7XHJcbiAgcHJvdGVjdGVkIGRhdGFJbml0aWFsaXplcnM6IHtcclxuICAgIGZpbGU6IHN0cmluZztcclxuICAgIGZ1bmM6IERhdGFJbml0aWFsaXplRnVuYzxSYWlkYm9zc0RhdGE+O1xyXG4gIH1bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsXHJcbiAgICBwcm90ZWN0ZWQgdGltZWxpbmVMb2FkZXI6IFRpbWVsaW5lTG9hZGVyLFxyXG4gICAgcHJvdGVjdGVkIHJhaWRib3NzRGF0YUZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgdGhpcy50aW1lbGluZUxvYWRlciA9IHRpbWVsaW5lTG9hZGVyO1xyXG4gICAgdGhpcy5Qcm9jZXNzRGF0YUZpbGVzKHJhaWRib3NzRGF0YUZpbGVzKTtcclxuXHJcbiAgICB0aGlzLmluZm9UZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BvcHVwLXRleHQtaW5mbycpO1xyXG4gICAgdGhpcy5hbGVydFRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtdGV4dC1hbGVydCcpO1xyXG4gICAgdGhpcy5hbGFybVRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtdGV4dC1hbGFybScpO1xyXG5cclxuICAgIHRoaXMucGFyc2VyTGFuZyA9IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA/PyAnZW4nO1xyXG4gICAgdGhpcy5kaXNwbGF5TGFuZyA9IHRoaXMub3B0aW9ucy5BbGVydHNMYW5ndWFnZSA/PyB0aGlzLm9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID8/IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSA/PyAnZW4nO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuSXNSZW1vdGVSYWlkYm9zcykge1xyXG4gICAgICB0aGlzLnR0c0VuZ2luZSA9IG5ldyBCcm93c2VyVFRTRW5naW5lKHRoaXMuZGlzcGxheUxhbmcpO1xyXG4gICAgICB0aGlzLnR0c1NheSA9ICh0ZXh0KSA9PiB7XHJcbiAgICAgICAgdGhpcy50dHNFbmdpbmU/LnBsYXkodGhpcy5vcHRpb25zLlRyYW5zZm9ybVR0cyh0ZXh0KSk7XHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnR0c1NheSA9ICh0ZXh0KSA9PiB7XHJcbiAgICAgICAgdm9pZCBjYWxsT3ZlcmxheUhhbmRsZXIoe1xyXG4gICAgICAgICAgY2FsbDogJ2NhY3Rib3RTYXknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5vcHRpb25zLlRyYW5zZm9ybVR0cyh0ZXh0KSxcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmdldERhdGFPYmplY3QoKTtcclxuXHJcbiAgICAvLyBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCB1c2VyIGludGVyYWN0aW9uIHRvIHBsYXkgYXVkaW9cclxuICAgIC8vIG9ubHkgaWYgYXVkaW8gaXMgZW5hYmxlZCBpbiBvcHRpb25zXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLkF1ZGlvQWxsb3dlZClcclxuICAgICAgQXV0b3BsYXlIZWxwZXIuQ2hlY2tBbmRQcm9tcHQoKTtcclxuXHJcbiAgICB0aGlzLlJlc2V0KCk7XHJcbiAgICB0aGlzLkFkZERlYnVnSW5zdHJ1Y3Rpb25zKCk7XHJcbiAgICB0aGlzLkhvb2tPdmVybGF5cygpO1xyXG4gIH1cclxuXHJcbiAgQWRkRGVidWdJbnN0cnVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICByYWlkYm9zc0luc3RydWN0aW9uc1t0aGlzLmRpc3BsYXlMYW5nXS5mb3JFYWNoKChsaW5lLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaW5zdHJ1Y3Rpb25zLSR7aX1gKTtcclxuICAgICAgaWYgKCFlbGVtKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgZWxlbS5pbm5lckhUTUwgPSBsaW5lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBIb29rT3ZlcmxheXMoKTogdm9pZCB7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ1BhcnR5Q2hhbmdlZCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMucGFydHlUcmFja2VyLm9uUGFydHlDaGFuZ2VkKGUpO1xyXG4gICAgfSk7XHJcbiAgICBhZGRQbGF5ZXJDaGFuZ2VkT3ZlcnJpZGVMaXN0ZW5lcigoZTogUGxheWVyQ2hhbmdlZERldGFpbCkgPT4ge1xyXG4gICAgICB0aGlzLk9uUGxheWVyQ2hhbmdlKGUpO1xyXG4gICAgfSwgdGhpcy5vcHRpb25zLlBsYXllck5hbWVPdmVycmlkZSk7XHJcbiAgICBhZGRPdmVybGF5TGlzdGVuZXIoJ0NoYW5nZVpvbmUnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLk9uQ2hhbmdlWm9uZShlKTtcclxuICAgIH0pO1xyXG4gICAgYWRkT3ZlcmxheUxpc3RlbmVyKCdvbkluQ29tYmF0Q2hhbmdlZEV2ZW50JywgKGUpID0+IHtcclxuICAgICAgdGhpcy5PbkluQ29tYmF0Q2hhbmdlKGUuZGV0YWlsLmluR2FtZUNvbWJhdCk7XHJcbiAgICB9KTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignb25Mb2dFdmVudCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuT25Mb2coZSk7XHJcbiAgICB9KTtcclxuICAgIGFkZE92ZXJsYXlMaXN0ZW5lcignTG9nTGluZScsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMuT25OZXRMb2coZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIE9uUGxheWVyQ2hhbmdlKGU6IFBsYXllckNoYW5nZWREZXRhaWwpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmpvYiAhPT0gZS5kZXRhaWwuam9iIHx8IHRoaXMubWUgIT09IGUuZGV0YWlsLm5hbWUpXHJcbiAgICAgIHRoaXMuT25Kb2JDaGFuZ2UoZSk7XHJcbiAgICB0aGlzLmRhdGEuY3VycmVudEhQID0gZS5kZXRhaWwuY3VycmVudEhQO1xyXG4gIH1cclxuXHJcbiAgUHJvY2Vzc0RhdGFGaWxlcyhmaWxlczogUmFpZGJvc3NGaWxlRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy50cmlnZ2VyU2V0cyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIGpzb25dIG9mIE9iamVjdC5lbnRyaWVzKGZpbGVzKSkge1xyXG4gICAgICBpZiAoIWZpbGVuYW1lLmVuZHNXaXRoKCcuanMnKSAmJiAhZmlsZW5hbWUuZW5kc1dpdGgoJy50cycpKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiBqc29uICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmV4cGVjdGVkIEpTT04gZnJvbSAnICsgZmlsZW5hbWUgKyAnLCBleHBlY3RlZCBhbiBhcnJheScpO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghanNvbi50cmlnZ2Vycykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdVbmV4cGVjdGVkIEpTT04gZnJvbSAnICsgZmlsZW5hbWUgKyAnLCBleHBlY3RlZCBhIHRyaWdnZXJzJyk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHR5cGVvZiBqc29uLnRyaWdnZXJzICE9PSAnb2JqZWN0JyB8fCAhKGpzb24udHJpZ2dlcnMubGVuZ3RoID49IDApKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VuZXhwZWN0ZWQgSlNPTiBmcm9tICcgKyBmaWxlbmFtZSArICcsIGV4cGVjdGVkIHRyaWdnZXJzIHRvIGJlIGFuIGFycmF5Jyk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcHJvY2Vzc2VkU2V0ID0ge1xyXG4gICAgICAgIGZpbGVuYW1lOiBmaWxlbmFtZSxcclxuICAgICAgICAuLi5qc29uLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnRyaWdnZXJTZXRzLnB1c2gocHJvY2Vzc2VkU2V0KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVc2VyIHRyaWdnZXJzIG11c3QgY29tZSBsYXN0IHNvIHRoYXQgdGhleSBvdmVycmlkZSBidWlsdC1pbiBmaWxlcy5cclxuICAgIHRoaXMudHJpZ2dlclNldHMucHVzaCguLi50aGlzLm9wdGlvbnMuVHJpZ2dlcnMpO1xyXG4gIH1cclxuXHJcbiAgT25DaGFuZ2Vab25lKGU6IEV2ZW50UmVzcG9uc2VzWydDaGFuZ2Vab25lJ10pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnpvbmVOYW1lICE9PSBlLnpvbmVOYW1lKSB7XHJcbiAgICAgIHRoaXMuem9uZU5hbWUgPSBlLnpvbmVOYW1lO1xyXG4gICAgICB0aGlzLnpvbmVJZCA9IGUuem9uZUlEO1xyXG4gICAgICB0aGlzLlJlbG9hZFRpbWVsaW5lcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgUmVsb2FkVGltZWxpbmVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRyaWdnZXJTZXRzIHx8ICF0aGlzLm1lIHx8ICF0aGlzLnpvbmVOYW1lIHx8ICF0aGlzLnRpbWVsaW5lTG9hZGVyLklzUmVhZHkoKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIC8vIERyb3AgdGhlIHRyaWdnZXJzIGFuZCB0aW1lbGluZXMgZnJvbSB0aGUgcHJldmlvdXMgem9uZSwgc28gd2UgY2FuIGFkZCBuZXcgb25lcy5cclxuICAgIHRoaXMudHJpZ2dlcnMgPSBbXTtcclxuICAgIHRoaXMubmV0VHJpZ2dlcnMgPSBbXTtcclxuICAgIGxldCB0aW1lbGluZUZpbGVzID0gW107XHJcbiAgICBsZXQgdGltZWxpbmVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgY29uc3QgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10gPSBbXTtcclxuICAgIGNvbnN0IHRpbWVsaW5lU3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJlc2V0V2hlbk91dE9mQ29tYmF0ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCBvcmRlcmVkVHJpZ2dlcnMgPSBuZXcgT3JkZXJlZFRyaWdnZXJMaXN0KCk7XHJcblxyXG4gICAgLy8gU29tZSB1c2VyIHRpbWVsaW5lcyBtYXkgcmVseSBvbiBoYXZpbmcgdmFsaWQgaW5pdCBkYXRhXHJcbiAgICAvLyBEb24ndCB1c2UgYHRoaXMuUmVzZXQoKWAgc2luY2UgdGhhdCBjbGVhcnMgb3RoZXIgdGhpbmdzIGFzIHdlbGxcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZ2V0RGF0YU9iamVjdCgpO1xyXG5cclxuICAgIC8vIFJlY3Vyc2l2ZWx5L2l0ZXJhdGl2ZWx5IHByb2Nlc3MgdGltZWxpbmUgZW50cmllcyBmb3IgdHJpZ2dlcnMuXHJcbiAgICAvLyBGdW5jdGlvbnMgZ2V0IGNhbGxlZCB3aXRoIGRhdGEsIGFycmF5cyBnZXQgaXRlcmF0ZWQsIHN0cmluZ3MgZ2V0IGFwcGVuZGVkLlxyXG4gICAgY29uc3QgYWRkVGltZWxpbmUgPSAoZnVuY3Rpb24odGhpczogUG9wdXBUZXh0LCBvYmo6IFRpbWVsaW5lRmllbGQgfCBUaW1lbGluZUZ1bmMgfCB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgIGZvciAoY29uc3Qgb2JqVmFsIG9mIG9iailcclxuICAgICAgICAgIGFkZFRpbWVsaW5lKG9ialZhbCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGFkZFRpbWVsaW5lKG9iaih0aGlzLmRhdGEpKTtcclxuICAgICAgfSBlbHNlIGlmIChvYmopIHtcclxuICAgICAgICB0aW1lbGluZXMucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9KS5iaW5kKHRoaXMpO1xyXG5cclxuICAgIC8vIGNvbnN0cnVjdCBzb21ldGhpbmcgbGlrZSByZWdleERlIG9yIHJlZ2V4RnIuXHJcbiAgICBjb25zdCBsYW5nU3VmZml4ID0gdGhpcy5wYXJzZXJMYW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGhpcy5wYXJzZXJMYW5nLnNsaWNlKDEpO1xyXG4gICAgY29uc3QgcmVnZXhQYXJzZXJMYW5nID0gJ3JlZ2V4JyArIGxhbmdTdWZmaXg7XHJcbiAgICBjb25zdCBuZXRSZWdleFBhcnNlckxhbmcgPSAnbmV0UmVnZXgnICsgbGFuZ1N1ZmZpeDtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHNldCBvZiB0aGlzLnRyaWdnZXJTZXRzKSB7XHJcbiAgICAgIC8vIHpvbmVSZWdleCBjYW4gYmUgdW5kZWZpbmVkLCBhIHJlZ2V4LCBvciB0cmFuc2xhdGFibGUgb2JqZWN0IG9mIHJlZ2V4LlxyXG4gICAgICBjb25zdCBoYXZlWm9uZVJlZ2V4ID0gJ3pvbmVSZWdleCcgaW4gc2V0O1xyXG4gICAgICBjb25zdCBoYXZlWm9uZUlkID0gJ3pvbmVJZCcgaW4gc2V0O1xyXG4gICAgICBpZiAoIWhhdmVab25lUmVnZXggJiYgIWhhdmVab25lSWQgfHwgaGF2ZVpvbmVSZWdleCAmJiBoYXZlWm9uZUlkKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciBzZXQgbXVzdCBpbmNsdWRlIGV4YWN0bHkgb25lIG9mIHpvbmVSZWdleCBvciB6b25lSWQgcHJvcGVydHlgKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaGF2ZVpvbmVJZCAmJiBzZXQuem9uZUlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHNldC5maWxlbmFtZSA/IGAnJHtzZXQuZmlsZW5hbWV9J2AgOiAnKHVzZXIgZmlsZSknO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFRyaWdnZXIgc2V0IGhhcyB6b25lSWQsIGJ1dCB3aXRoIG5vdGhpbmcgc3BlY2lmaWVkIGluICR7ZmlsZW5hbWV9LiAgYCArXHJcbiAgICAgICAgICAgICAgICAgICAgICBgRGlkIHlvdSBtaXNzcGVsbCB0aGUgWm9uZUlkLlpvbmVOYW1lP2ApO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc2V0LnpvbmVJZCkge1xyXG4gICAgICAgIGlmIChzZXQuem9uZUlkICE9PSBab25lSWQuTWF0Y2hBbGwgJiYgc2V0LnpvbmVJZCAhPT0gdGhpcy56b25lSWQgJiYgISh0eXBlb2Ygc2V0LnpvbmVJZCA9PT0gJ29iamVjdCcgJiYgc2V0LnpvbmVJZC5pbmNsdWRlcyh0aGlzLnpvbmVJZCkpKVxyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoc2V0LnpvbmVSZWdleCkge1xyXG4gICAgICAgIGxldCB6b25lUmVnZXggPSBzZXQuem9uZVJlZ2V4O1xyXG4gICAgICAgIGlmICh0eXBlb2Ygem9uZVJlZ2V4ICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignem9uZVJlZ2V4IG11c3QgYmUgdHJhbnNsYXRhYmxlIG9iamVjdCBvciByZWdleHA6ICcgKyBKU09OLnN0cmluZ2lmeShzZXQuem9uZVJlZ2V4KSk7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKCEoem9uZVJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKSkge1xyXG4gICAgICAgICAgY29uc3QgcGFyc2VyTGFuZ1JlZ2V4ID0gem9uZVJlZ2V4W3RoaXMucGFyc2VyTGFuZ107XHJcbiAgICAgICAgICBpZiAocGFyc2VyTGFuZ1JlZ2V4KSB7XHJcbiAgICAgICAgICAgIHpvbmVSZWdleCA9IHBhcnNlckxhbmdSZWdleDtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoem9uZVJlZ2V4WydlbiddKSB7XHJcbiAgICAgICAgICAgIHpvbmVSZWdleCA9IHpvbmVSZWdleFsnZW4nXTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3Vua25vd24gem9uZVJlZ2V4IHBhcnNlciBsYW5ndWFnZTogJyArIEpTT04uc3RyaW5naWZ5KHNldC56b25lUmVnZXgpKTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKCEoem9uZVJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCd6b25lUmVnZXggbXVzdCBiZSByZWdleHA6ICcgKyBKU09OLnN0cmluZ2lmeShzZXQuem9uZVJlZ2V4KSk7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy56b25lTmFtZS5zZWFyY2goUmVnZXhlcy5wYXJzZSh6b25lUmVnZXgpKSA8IDApXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5EZWJ1Zykge1xyXG4gICAgICAgIGlmIChzZXQuZmlsZW5hbWUpXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnTG9hZGluZyAnICsgc2V0LmZpbGVuYW1lKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnTG9hZGluZyB1c2VyIHRyaWdnZXJzIGZvciB6b25lJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNldEZpbGVuYW1lID0gc2V0LmZpbGVuYW1lID8/ICdVbmtub3duJztcclxuXHJcbiAgICAgIGlmIChzZXQuaW5pdERhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGFJbml0aWFsaXplcnMucHVzaCh7XHJcbiAgICAgICAgICBmaWxlOiBzZXRGaWxlbmFtZSxcclxuICAgICAgICAgIGZ1bmM6IHNldC5pbml0RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWRqdXN0IHRyaWdnZXJzIGZvciB0aGUgcGFyc2VyIGxhbmd1YWdlLlxyXG4gICAgICBpZiAoc2V0LnRyaWdnZXJzICYmIHRoaXMub3B0aW9ucy5BbGVydHNFbmFibGVkKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHNldC50cmlnZ2Vycykge1xyXG4gICAgICAgICAgLy8gQWRkIGFuIGFkZGl0aW9uYWwgcmVzb2x2ZWQgcmVnZXggaGVyZSB0byBzYXZlXHJcbiAgICAgICAgICAvLyB0aW1lIGxhdGVyLiAgVGhpcyB3aWxsIGNsb2JiZXIgZWFjaCB0aW1lIHdlXHJcbiAgICAgICAgICAvLyBsb2FkIHRoaXMsIGJ1dCB0aGF0J3Mgb2suXHJcbiAgICAgICAgICB0cmlnZ2VyLmZpbGVuYW1lID0gc2V0RmlsZW5hbWU7XHJcbiAgICAgICAgICBjb25zdCBpZCA9IHRyaWdnZXIuaWQ7XHJcblxyXG4gICAgICAgICAgaWYgKCFpc1JlZ2V4VHJpZ2dlcih0cmlnZ2VyKSAmJiAhaXNOZXRSZWdleFRyaWdnZXIodHJpZ2dlcikpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfTogaGFzIG5vIHJlZ2V4IHByb3BlcnR5IHNwZWNpZmllZGApO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLlByb2Nlc3NUcmlnZ2VyKHRyaWdnZXIpO1xyXG5cclxuICAgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IHRyaWdnZXJPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9ID0gdHJpZ2dlcjtcclxuXHJcbiAgICAgICAgICAvLyBwYXJzZXItbGFuZ3VhZ2UtYmFzZWQgcmVnZXggdGFrZXMgcHJlY2VkZW5jZS5cclxuICAgICAgICAgIGlmIChpc1JlZ2V4VHJpZ2dlcih0cmlnZ2VyKSkge1xyXG4gICAgICAgICAgICBjb25zdCByZWdleCA9IHRyaWdnZXJPYmplY3RbcmVnZXhQYXJzZXJMYW5nXSA/PyB0cmlnZ2VyLnJlZ2V4O1xyXG4gICAgICAgICAgICBpZiAocmVnZXggaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgICB0cmlnZ2VyLmxvY2FsUmVnZXggPSBSZWdleGVzLnBhcnNlKHJlZ2V4KTtcclxuICAgICAgICAgICAgICBvcmRlcmVkVHJpZ2dlcnMucHVzaCh0cmlnZ2VyKTtcclxuICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoaXNOZXRSZWdleFRyaWdnZXIodHJpZ2dlcikpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV0UmVnZXggPSB0cmlnZ2VyT2JqZWN0W25ldFJlZ2V4UGFyc2VyTGFuZ10gPz8gdHJpZ2dlci5uZXRSZWdleDtcclxuICAgICAgICAgICAgaWYgKG5ldFJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKSB7XHJcbiAgICAgICAgICAgICAgdHJpZ2dlci5sb2NhbE5ldFJlZ2V4ID0gUmVnZXhlcy5wYXJzZShuZXRSZWdleCk7XHJcbiAgICAgICAgICAgICAgb3JkZXJlZFRyaWdnZXJzLnB1c2godHJpZ2dlcik7XHJcbiAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKCFmb3VuZCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUcmlnZ2VyICcgKyB0cmlnZ2VyLmlkICsgJzogbWlzc2luZyByZWdleCBhbmQgbmV0UmVnZXgnKTtcclxuICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc2V0Lm92ZXJyaWRlVGltZWxpbmVGaWxlKSB7XHJcbiAgICAgICAgY29uc3QgZmlsZW5hbWUgPSBzZXQuZmlsZW5hbWUgPyBgJyR7c2V0LmZpbGVuYW1lfSdgIDogJyh1c2VyIGZpbGUpJztcclxuICAgICAgICBjb25zb2xlLmxvZyhgT3ZlcnJpZGluZyB0aW1lbGluZSBmcm9tICR7ZmlsZW5hbWV9LmApO1xyXG5cclxuICAgICAgICAvLyBJZiB0aGUgdGltZWxpbmUgZmlsZSBvdmVycmlkZSBpcyBzZXQsIGFsbCBwcmV2aW91c2x5IGxvYWRlZCB0aW1lbGluZSBpbmZvIGlzIGRyb3BwZWQuXHJcbiAgICAgICAgLy8gU3R5bGVzLCB0cmlnZ2VycywgYW5kIHRyYW5zbGF0aW9ucyBhcmUga2VwdCwgYXMgdGhleSBtYXkgc3RpbGwgYXBwbHkgdG8gdGhlIG5ldyBvbmUuXHJcbiAgICAgICAgdGltZWxpbmVGaWxlcyA9IFtdO1xyXG4gICAgICAgIHRpbWVsaW5lcyA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBbmQgc2V0IHRoZSB0aW1lbGluZSBmaWxlcy90aW1lbGluZXMgZnJvbSBlYWNoIHNldCB0aGF0IG1hdGNoZXMuXHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVGaWxlKSB7XHJcbiAgICAgICAgaWYgKHNldC5maWxlbmFtZSkge1xyXG4gICAgICAgICAgY29uc3QgZGlyID0gc2V0LmZpbGVuYW1lLnN1YnN0cmluZygwLCBzZXQuZmlsZW5hbWUubGFzdEluZGV4T2YoJy8nKSk7XHJcbiAgICAgICAgICB0aW1lbGluZUZpbGVzLnB1c2goZGlyICsgJy8nICsgc2V0LnRpbWVsaW5lRmlsZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIE5vdGU6IEZvciB1c2VyIGZpbGVzLCB0aGlzIHNob3VsZCBnZXQgaGFuZGxlZCBieSByYWlkYm9zc19jb25maWcuanMsXHJcbiAgICAgICAgICAvLyB3aGVyZSBgdGltZWxpbmVGaWxlYCBzaG91bGQgZ2V0IGNvbnZlcnRlZCB0byBgdGltZWxpbmVgLlxyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignQ2FuXFwndCBzcGVjaWZ5IHRpbWVsaW5lRmlsZSBpbiBub24tbWFuaWZlc3QgZmlsZTonICsgc2V0LnRpbWVsaW5lRmlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc2V0LnRpbWVsaW5lKVxyXG4gICAgICAgIGFkZFRpbWVsaW5lKHNldC50aW1lbGluZSk7XHJcbiAgICAgIGlmIChzZXQudGltZWxpbmVSZXBsYWNlKVxyXG4gICAgICAgIHJlcGxhY2VtZW50cy5wdXNoKC4uLnNldC50aW1lbGluZVJlcGxhY2UpO1xyXG4gICAgICBpZiAoc2V0LnRpbWVsaW5lVHJpZ2dlcnMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2Ygc2V0LnRpbWVsaW5lVHJpZ2dlcnMpIHtcclxuICAgICAgICAgIHRoaXMuUHJvY2Vzc1RyaWdnZXIodHJpZ2dlcik7XHJcbiAgICAgICAgICB0cmlnZ2VyLmlzVGltZWxpbmVUcmlnZ2VyID0gdHJ1ZTtcclxuICAgICAgICAgIG9yZGVyZWRUcmlnZ2Vycy5wdXNoKHRyaWdnZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoc2V0LnRpbWVsaW5lU3R5bGVzKVxyXG4gICAgICAgIHRpbWVsaW5lU3R5bGVzLnB1c2goLi4uc2V0LnRpbWVsaW5lU3R5bGVzKTtcclxuICAgICAgaWYgKHNldC5yZXNldFdoZW5PdXRPZkNvbWJhdCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRoaXMucmVzZXRXaGVuT3V0T2ZDb21iYXQgJiY9IHNldC5yZXNldFdoZW5PdXRPZkNvbWJhdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTdG9yZSBhbGwgdGhlIGNvbGxlY3RlZCB0cmlnZ2VycyBpbiBvcmRlciwgYW5kIGZpbHRlciBvdXQgZGlzYWJsZWQgdHJpZ2dlcnMuXHJcbiAgICBjb25zdCBmaWx0ZXJFbmFibGVkID0gKHRyaWdnZXI6IExvb3NlVHJpZ2dlcikgPT4gISgnZGlzYWJsZWQnIGluIHRyaWdnZXIgJiYgdHJpZ2dlci5kaXNhYmxlZCk7XHJcbiAgICBjb25zdCBhbGxUcmlnZ2VycyA9IG9yZGVyZWRUcmlnZ2Vycy5hc0xpc3QoKS5maWx0ZXIoZmlsdGVyRW5hYmxlZCk7XHJcblxyXG4gICAgdGhpcy50cmlnZ2VycyA9IGFsbFRyaWdnZXJzLmZpbHRlcihpc1JlZ2V4VHJpZ2dlcik7XHJcbiAgICB0aGlzLm5ldFRyaWdnZXJzID0gYWxsVHJpZ2dlcnMuZmlsdGVyKGlzTmV0UmVnZXhUcmlnZ2VyKTtcclxuICAgIGNvbnN0IHRpbWVsaW5lVHJpZ2dlcnMgPSBhbGxUcmlnZ2Vycy5maWx0ZXIoaXNSYWlkYm9zc0xvb3NlVGltZWxpbmVUcmlnZ2VyKTtcclxuXHJcbiAgICB0aGlzLlJlc2V0KCk7XHJcblxyXG4gICAgdGhpcy50aW1lbGluZUxvYWRlci5TZXRUaW1lbGluZXMoXHJcbiAgICAgIHRpbWVsaW5lRmlsZXMsXHJcbiAgICAgIHRpbWVsaW5lcyxcclxuICAgICAgcmVwbGFjZW1lbnRzLFxyXG4gICAgICB0aW1lbGluZVRyaWdnZXJzLFxyXG4gICAgICB0aW1lbGluZVN0eWxlcyxcclxuICAgICAgdGhpcy56b25lSWQsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgUHJvY2Vzc1RyaWdnZXIodHJpZ2dlcjogUHJvY2Vzc2VkVHJpZ2dlciB8IFByb2Nlc3NlZFRpbWVsaW5lVHJpZ2dlcik6IHZvaWQge1xyXG4gICAgLy8gVGhlc2UgcHJvcGVydGllcyBhcmUgdXNlZCBpbnRlcm5hbGx5IGJ5IFJlbG9hZFRpbWVsaW5lcyBvbmx5IGFuZCBzaG91bGRcclxuICAgIC8vIG5vdCBleGlzdCBvbiB1c2VyIHRyaWdnZXJzLiAgSG93ZXZlciwgdGhlIHRyaWdnZXIgb2JqZWN0cyB0aGVtc2VsdmVzIGFyZVxyXG4gICAgLy8gcmV1c2VkIHdoZW4gcmVsb2FkaW5nIHBhZ2VzLCBhbmQgc28gaXQgaXMgaW1wb3NzaWJsZSB0byB2ZXJpZnkgdGhhdFxyXG4gICAgLy8gdGhlc2UgcHJvcGVydGllcyBkb24ndCBleGlzdC4gIFRoZXJlZm9yZSwganVzdCBkZWxldGUgdGhlbSBzaWxlbnRseS5cclxuICAgIGlmIChpc1JhaWRib3NzTG9vc2VUaW1lbGluZVRyaWdnZXIodHJpZ2dlcikpXHJcbiAgICAgIGRlbGV0ZSB0cmlnZ2VyLmlzVGltZWxpbmVUcmlnZ2VyO1xyXG5cclxuICAgIGRlbGV0ZSB0cmlnZ2VyLmxvY2FsUmVnZXg7XHJcbiAgICBkZWxldGUgdHJpZ2dlci5sb2NhbE5ldFJlZ2V4O1xyXG5cclxuICAgIHRyaWdnZXIub3V0cHV0ID0gVHJpZ2dlck91dHB1dFByb3h5Lm1ha2VPdXRwdXQodHJpZ2dlciwgdGhpcy5vcHRpb25zLkRpc3BsYXlMYW5ndWFnZSxcclxuICAgICAgdGhpcy5vcHRpb25zLlBlclRyaWdnZXJBdXRvQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIE9uSm9iQ2hhbmdlKGU6IFBsYXllckNoYW5nZWREZXRhaWwpOiB2b2lkIHtcclxuICAgIHRoaXMubWUgPSBlLmRldGFpbC5uYW1lO1xyXG4gICAgdGhpcy5qb2IgPSBlLmRldGFpbC5qb2I7XHJcbiAgICB0aGlzLnJvbGUgPSBVdGlsLmpvYlRvUm9sZSh0aGlzLmpvYik7XHJcbiAgICB0aGlzLlJlbG9hZFRpbWVsaW5lcygpO1xyXG4gIH1cclxuXHJcbiAgT25JbkNvbWJhdENoYW5nZShpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5Db21iYXQgPT09IGluQ29tYmF0KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgaWYgKHRoaXMucmVzZXRXaGVuT3V0T2ZDb21iYXQpXHJcbiAgICAgIHRoaXMuU2V0SW5Db21iYXQoaW5Db21iYXQpO1xyXG4gIH1cclxuXHJcbiAgU2V0SW5Db21iYXQoaW5Db21iYXQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmluQ29tYmF0ID09PSBpbkNvbWJhdClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIC8vIFN0b3AgdGltZXJzIHdoZW4gc3RvcHBpbmcgY29tYmF0IHRvIHN0b3AgYW55IGFjdGl2ZSB0aW1lcnMgdGhhdFxyXG4gICAgLy8gYXJlIGRlbGF5ZWQuICBIb3dldmVyLCBhbHNvIHJlc2V0IHdoZW4gc3RhcnRpbmcgY29tYmF0LlxyXG4gICAgLy8gVGhpcyBwcmV2ZW50cyBsYXRlIGF0dGFja3MgZnJvbSBhZmZlY3RpbmcgfGRhdGF8IHdoaWNoXHJcbiAgICAvLyB0aHJvd3Mgb2ZmIHRoZSBuZXh0IHJ1biwgcG90ZW50aWFsbHkuXHJcbiAgICB0aGlzLmluQ29tYmF0ID0gaW5Db21iYXQ7XHJcbiAgICBpZiAoIXRoaXMuaW5Db21iYXQpIHtcclxuICAgICAgdGhpcy5TdG9wVGltZXJzKCk7XHJcbiAgICAgIHRoaXMudGltZWxpbmVMb2FkZXIuU3RvcENvbWJhdCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaW5Db21iYXQpXHJcbiAgICAgIHRoaXMuUmVzZXQoKTtcclxuICB9XHJcblxyXG4gIFNob3J0TmFtaWZ5KG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gVE9ETzogbWFrZSB0aGlzIHVuaXF1ZSBhbW9uZyB0aGUgcGFydHkgaW4gY2FzZSBvZiBmaXJzdCBuYW1lIGNvbGxpc2lvbnMuXHJcbiAgICAvLyBUT0RPOiBwcm9iYWJseSB0aGlzIHNob3VsZCBiZSBhIGdlbmVyYWwgY2FjdGJvdCB1dGlsaXR5LlxyXG4gICAgaWYgKHR5cGVvZiBuYW1lICE9PSAnc3RyaW5nJykge1xyXG4gICAgICBpZiAodHlwZW9mIG5hbWUgIT09ICd1bmRlZmluZWQnKVxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2NhbGxlZCBTaG9ydE5hbWlmeSB3aXRoIG5vbi1zdHJpbmcnKTtcclxuICAgICAgcmV0dXJuICc/Pz8nO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5pY2sgPSB0aGlzLm9wdGlvbnMuUGxheWVyTmlja3NbbmFtZV07XHJcblxyXG4gICAgaWYgKG5pY2spXHJcbiAgICAgIHJldHVybiBuaWNrO1xyXG5cclxuICAgIGNvbnN0IGlkeCA9IG5hbWUuaW5kZXhPZignICcpO1xyXG4gICAgcmV0dXJuIGlkeCA8IDAgPyBuYW1lIDogbmFtZS5zdWJzdHIoMCwgaWR4KTtcclxuICB9XHJcblxyXG4gIFJlc2V0KCk6IHZvaWQge1xyXG4gICAgVXRpbC5jbGVhcldhdGNoQ29tYmF0YW50cygpO1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5nZXREYXRhT2JqZWN0KCk7XHJcbiAgICB0aGlzLlN0b3BUaW1lcnMoKTtcclxuICAgIHRoaXMudHJpZ2dlclN1cHByZXNzID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBpbml0T2JqIG9mIHRoaXMuZGF0YUluaXRpYWxpemVycykge1xyXG4gICAgICBjb25zdCBpbml0ID0gaW5pdE9iai5mdW5jO1xyXG4gICAgICBjb25zdCBkYXRhID0gaW5pdCgpO1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0ge1xyXG4gICAgICAgICAgLi4uZGF0YSxcclxuICAgICAgICAgIC4uLnRoaXMuZGF0YSxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBFcnJvciBpbiBmaWxlOiAke2luaXRPYmouZmlsZX06IHRoZXNlIHRyaWdnZXJzIG1heSBub3Qgd29yaztcclxuICAgICAgICBpbml0RGF0YSBmdW5jdGlvbiByZXR1cm5lZCBpbnZhbGlkIG9iamVjdDogJHtpbml0LnRvU3RyaW5nKCl9YCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFN0b3BUaW1lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVycyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgT25Mb2coZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIFRoaXMgY291bGQgY29uY2VpdmFibHkgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgbGluZSdzIGNvbnRlbnRzIGFzIHdlbGwsIGJ1dFxyXG4gICAgLy8gbm90IHN1cmUgaWYgdGhhdCdzIHdvcnRoIHRoZSBlZmZvcnRcclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gK25ldyBEYXRlKCk7XHJcbiAgICBmb3IgKGNvbnN0IGxvZyBvZiBlLmRldGFpbC5sb2dzKSB7XHJcbiAgICAgIGlmIChsb2cuaW5jbHVkZXMoJzAwOjAwMzg6Y2FjdGJvdCB3aXBlJykpXHJcbiAgICAgICAgdGhpcy5TZXRJbkNvbWJhdChmYWxzZSk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy50cmlnZ2Vycykge1xyXG4gICAgICAgIGNvbnN0IHIgPSB0cmlnZ2VyLmxvY2FsUmVnZXg/LmV4ZWMobG9nKTtcclxuICAgICAgICBpZiAocilcclxuICAgICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgT25OZXRMb2coZTogRXZlbnRSZXNwb25zZXNbJ0xvZ0xpbmUnXSk6IHZvaWQge1xyXG4gICAgY29uc3QgbG9nID0gZS5yYXdMaW5lO1xyXG4gICAgLy8gVGhpcyBjb3VsZCBjb25jZWl2YWJseSBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGBuZXcgRGF0ZShlLmxpbmVbMV0pYCBhcyB3ZWxsLCBidXRcclxuICAgIC8vIG5vdCBzdXJlIGlmIHRoYXQncyB3b3J0aCB0aGUgZWZmb3J0XHJcbiAgICBjb25zdCBjdXJyZW50VGltZSA9ICtuZXcgRGF0ZSgpO1xyXG4gICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRoaXMubmV0VHJpZ2dlcnMpIHtcclxuICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxOZXRSZWdleD8uZXhlYyhsb2cpO1xyXG4gICAgICBpZiAocilcclxuICAgICAgICB0aGlzLk9uVHJpZ2dlcih0cmlnZ2VyLCByLCBjdXJyZW50VGltZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBPblRyaWdnZXIoXHJcbiAgICB0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLFxyXG4gICAgbWF0Y2hlczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCxcclxuICAgIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuT25UcmlnZ2VySW50ZXJuYWwodHJpZ2dlciwgbWF0Y2hlcywgY3VycmVudFRpbWUpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBvblRyaWdnZXJFeGNlcHRpb24odHJpZ2dlciwgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBPblRyaWdnZXJJbnRlcm5hbChcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX29uVHJpZ2dlckludGVybmFsQ2hlY2tTdXBwcmVzc2VkKHRyaWdnZXIsIGN1cnJlbnRUaW1lKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBncm91cHM6IE1hdGNoZXMgPSB7fTtcclxuICAgIC8vIElmIHVzaW5nIG5hbWVkIGdyb3VwcywgdHJlYXQgbWF0Y2hlcy5ncm91cHMgYXMgbWF0Y2hlc1xyXG4gICAgLy8gc28gdHJpZ2dlcnMgY2FuIGRvIHRoaW5ncyBsaWtlIG1hdGNoZXMudGFyZ2V0LlxyXG4gICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5ncm91cHMpIHtcclxuICAgICAgZ3JvdXBzID0gbWF0Y2hlcy5ncm91cHM7XHJcbiAgICB9IGVsc2UgaWYgKG1hdGNoZXMpIHtcclxuICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIG1hdGNoaW5nIGdyb3VwcywgcmVwcm9kdWNlIHRoZSBvbGQganMgbG9naWMgd2hlcmVcclxuICAgICAgLy8gZ3JvdXBzIGVuZGVkIHVwIGFzIHRoZSBvcmlnaW5hbCBSZWdFeHBFeGVjQXJyYXkgb2JqZWN0XHJcbiAgICAgIG1hdGNoZXMuZm9yRWFjaCgodmFsdWUsIGlkeCkgPT4ge1xyXG4gICAgICAgIGdyb3Vwc1tpZHhdID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldCB1cCBhIGhlbHBlciBvYmplY3Qgc28gd2UgZG9uJ3QgaGF2ZSB0byB0aHJvd1xyXG4gICAgLy8gYSB0b24gb2YgaW5mbyBiYWNrIGFuZCBmb3J0aCBiZXR3ZWVuIHN1YmZ1bmN0aW9uc1xyXG4gICAgY29uc3QgdHJpZ2dlckhlbHBlciA9IHRoaXMuX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKHRyaWdnZXIsIGdyb3VwcywgY3VycmVudFRpbWUpO1xyXG5cclxuICAgIGlmICghdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxDb25kaXRpb24odHJpZ2dlckhlbHBlcikpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFByZVJ1bih0cmlnZ2VySGVscGVyKTtcclxuXHJcbiAgICAvLyBFdmFsdWF0ZSBmb3IgZGVsYXkgaGVyZSwgYnV0IHJ1biBkZWxheSBsYXRlclxyXG4gICAgY29uc3QgZGVsYXlQcm9taXNlID0gdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxEZWxheVNlY29uZHModHJpZ2dlckhlbHBlcik7XHJcbiAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbER1cmF0aW9uU2Vjb25kcyh0cmlnZ2VySGVscGVyKTtcclxuICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsU3VwcHJlc3NTZWNvbmRzKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgIGNvbnN0IHRyaWdnZXJQb3N0RGVsYXkgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFByb21pc2UodHJpZ2dlckhlbHBlcik7XHJcbiAgICAgIGNvbnN0IHRyaWdnZXJQb3N0UHJvbWlzZSA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbFNvdW5kKHRyaWdnZXJIZWxwZXIpO1xyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsU291bmRWb2x1bWUodHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxSZXNwb25zZSh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEFsYXJtVGV4dCh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEFsZXJ0VGV4dCh0cmlnZ2VySGVscGVyKTtcclxuICAgICAgICB0aGlzLl9vblRyaWdnZXJJbnRlcm5hbEluZm9UZXh0KHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgICAgICAvLyBSdW1ibGUgaXNuJ3QgYSB0cmlnZ2VyIGZ1bmN0aW9uLCBzbyBvbmx5IG5lZWRzIHRvIGJlIG9yZGVyZWRcclxuICAgICAgICAvLyBhZnRlciBhbGFybS9hbGVydC9pbmZvLlxyXG4gICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsUnVtYmxlKHRyaWdnZXJIZWxwZXIpO1xyXG5cclxuICAgICAgICAvLyBQcmlvcml0eSBhdWRpbyBvcmRlcjpcclxuICAgICAgICAvLyAqIHVzZXIgZGlzYWJsZWQgKHBsYXkgbm90aGluZylcclxuICAgICAgICAvLyAqIGlmIHR0cyBvcHRpb25zIGFyZSBlbmFibGVkIGdsb2JhbGx5IG9yIGZvciB0aGlzIHRyaWdnZXI6XHJcbiAgICAgICAgLy8gICAqIHVzZXIgVFRTIHRyaWdnZXJzIHR0cyBvdmVycmlkZVxyXG4gICAgICAgIC8vICAgKiB0dHMgZW50cmllcyBpbiB0aGUgdHJpZ2dlclxyXG4gICAgICAgIC8vICAgKiBkZWZhdWx0IGFsYXJtIHR0c1xyXG4gICAgICAgIC8vICAgKiBkZWZhdWx0IGFsZXJ0IHR0c1xyXG4gICAgICAgIC8vICAgKiBkZWZhdWx0IGluZm8gdHRzXHJcbiAgICAgICAgLy8gKiBpZiBzb3VuZCBvcHRpb25zIGFyZSBlbmFibGVkIGdsb2JhbGx5IG9yIGZvciB0aGlzIHRyaWdnZXI6XHJcbiAgICAgICAgLy8gICAqIHVzZXIgdHJpZ2dlciBzb3VuZCBvdmVycmlkZXNcclxuICAgICAgICAvLyAgICogc291bmQgZW50cmllcyBpbiB0aGUgdHJpZ2dlclxyXG4gICAgICAgIC8vICAgKiBhbGFybSBub2lzZVxyXG4gICAgICAgIC8vICAgKiBhbGVydCBub2lzZVxyXG4gICAgICAgIC8vICAgKiBpbmZvIG5vaXNlXHJcbiAgICAgICAgLy8gKiBlbHNlLCBub3RoaW5nXHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyBJbiBnZW5lcmFsLCB0dHMgY29tZXMgYmVmb3JlIHNvdW5kcyBhbmQgdXNlciBvdmVycmlkZXMgY29tZVxyXG4gICAgICAgIC8vIGJlZm9yZSBkZWZhdWx0cy4gIElmIGEgdXNlciB0cmlnZ2VyIG9yIHR0cyBlbnRyeSBpcyBzcGVjaWZpZWQgYXNcclxuICAgICAgICAvLyBiZWluZyB2YWxpZCBidXQgZW1wdHksIHRoaXMgd2lsbCB0YWtlIHByaW9yaXR5IG92ZXIgdGhlIGRlZmF1bHRcclxuICAgICAgICAvLyB0dHMgdGV4dHMgZnJvbSBhbGFybS9hbGVydC9pbmZvIGFuZCB3aWxsIHByZXZlbnQgdHRzIGZyb20gcGxheWluZ1xyXG4gICAgICAgIC8vIGFuZCBhbGxvd2luZyBzb3VuZHMgdG8gYmUgcGxheWVkIGluc3RlYWQuXHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxUVFModHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxQbGF5QXVkaW8odHJpZ2dlckhlbHBlcik7XHJcbiAgICAgICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxSdW4odHJpZ2dlckhlbHBlcik7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvLyBUaGUgdHJpZ2dlciBib2R5IG11c3QgcnVuIHN5bmNocm9ub3VzbHkgd2hlbiB0aGVyZSBpcyBubyBwcm9taXNlLlxyXG4gICAgICBpZiAocHJvbWlzZSlcclxuICAgICAgICBwcm9taXNlLnRoZW4odHJpZ2dlclBvc3RQcm9taXNlLCAoZSkgPT4gb25UcmlnZ2VyRXhjZXB0aW9uKHRyaWdnZXIsIGUpKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRyaWdnZXJQb3N0UHJvbWlzZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBUaGUgdHJpZ2dlciBib2R5IG11c3QgcnVuIHN5bmNocm9ub3VzbHkgd2hlbiB0aGVyZSBpcyBubyBkZWxheS5cclxuICAgIGlmIChkZWxheVByb21pc2UpXHJcbiAgICAgIGRlbGF5UHJvbWlzZS50aGVuKHRyaWdnZXJQb3N0RGVsYXksIChlKSA9PiBvblRyaWdnZXJFeGNlcHRpb24odHJpZ2dlciwgZSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0cmlnZ2VyUG9zdERlbGF5KCk7XHJcbiAgfVxyXG5cclxuICAvLyBCdWlsZCBhIGRlZmF1bHQgdHJpZ2dlckhlbHBlciBvYmplY3QgZm9yIHRoaXMgdHJpZ2dlclxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbEdldEhlbHBlcihcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBNYXRjaGVzLFxyXG4gICAgbm93OiBudW1iZXIpOiBUcmlnZ2VySGVscGVyIHtcclxuICAgIGNvbnN0IGlkID0gdHJpZ2dlci5pZDtcclxuICAgIGxldCBvcHRpb25zOiBQZXJUcmlnZ2VyT3B0aW9uID0ge307XHJcbiAgICBsZXQgY29uZmlnOiBUcmlnZ2VyQXV0b0NvbmZpZyA9IHt9O1xyXG4gICAgbGV0IHN1cHByZXNzZWQgPSBmYWxzZTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zLlBlclRyaWdnZXJPcHRpb25zW2lkXSA/PyBvcHRpb25zO1xyXG4gICAgICBjb25maWcgPSB0aGlzLm9wdGlvbnMuUGVyVHJpZ2dlckF1dG9Db25maWdbaWRdID8/IGNvbmZpZztcclxuICAgICAgc3VwcHJlc3NlZCA9IHRoaXMub3B0aW9ucy5EaXNhYmxlZFRyaWdnZXJzW2lkXSA/PyBzdXBwcmVzc2VkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIgPSB7XHJcbiAgICAgIHRyaWdnZXI6IHRyaWdnZXIsXHJcbiAgICAgIG5vdzogbm93LFxyXG4gICAgICB0cmlnZ2VyT3B0aW9uczogb3B0aW9ucyxcclxuICAgICAgdHJpZ2dlckF1dG9Db25maWc6IGNvbmZpZyxcclxuICAgICAgLy8gVGhpcyBzZXR0aW5nIG9ubHkgc3VwcHJlc3NlcyBvdXRwdXQsIHRyaWdnZXIgc3RpbGwgcnVucyBmb3IgZGF0YS9sb2dpYyBwdXJwb3Nlc1xyXG4gICAgICB1c2VyU3VwcHJlc3NlZE91dHB1dDogc3VwcHJlc3NlZCxcclxuICAgICAgbWF0Y2hlczogbWF0Y2hlcyxcclxuICAgICAgLy8gRGVmYXVsdCBvcHRpb25zXHJcbiAgICAgIHRleHRBbGVydHNFbmFibGVkOiB0aGlzLm9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQsXHJcbiAgICAgIHNvdW5kQWxlcnRzRW5hYmxlZDogdGhpcy5vcHRpb25zLlNvdW5kQWxlcnRzRW5hYmxlZCxcclxuICAgICAgc3Bva2VuQWxlcnRzRW5hYmxlZDogdGhpcy5vcHRpb25zLlNwb2tlbkFsZXJ0c0VuYWJsZWQsXHJcbiAgICAgIGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDogdGhpcy5vcHRpb25zLkdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCxcclxuICAgICAgdmFsdWVPckZ1bmN0aW9uOiAoZjogUmFpZGJvc3NUcmlnZ2VyRmllbGQpOiBSYWlkYm9zc1RyaWdnZXJPdXRwdXQgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBmO1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgcmVzdWx0ID0gcmVzdWx0KHRoaXMuZGF0YSwgdHJpZ2dlckhlbHBlci5tYXRjaGVzLCB0cmlnZ2VySGVscGVyLm91dHB1dCk7XHJcbiAgICAgICAgLy8gQWxsIHRyaWdnZXJzIHJldHVybiBlaXRoZXIgYSBzdHJpbmcgZGlyZWN0bHksIG9yIGFuIG9iamVjdFxyXG4gICAgICAgIC8vIHdob3NlIGtleXMgYXJlIGRpZmZlcmVudCBwYXJzZXIgbGFuZ3VhZ2UgYmFzZWQgbmFtZXMuICBGb3Igc2ltcGxpY2l0eSxcclxuICAgICAgICAvLyB0aGlzIGlzIHZhbGlkIHRvIGRvIGZvciBhbnkgdHJpZ2dlciBlbnRyeSB0aGF0IGNhbiBoYW5kbGUgYSBmdW5jdGlvbi5cclxuICAgICAgICAvLyBJbiBjYXNlIGFueWJvZHkgd2FudHMgdG8gZW5jYXBzdWxhdGUgYW55IGZhbmN5IGdyYW1tYXIsIHRoZSB2YWx1ZXNcclxuICAgICAgICAvLyBpbiB0aGlzIG9iamVjdCBjYW4gYWxzbyBiZSBmdW5jdGlvbnMuXHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnIHx8IHJlc3VsdCA9PT0gbnVsbClcclxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgcmV0dXJuIHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHJlc3VsdFt0aGlzLmRpc3BsYXlMYW5nXSA/PyByZXN1bHRbJ2VuJ10pO1xyXG4gICAgICB9LFxyXG4gICAgICBnZXQgb3V0cHV0KCk6IE91dHB1dCB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlci5vdXRwdXQpXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmlnZ2VyLm91dHB1dDtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coYE1pc3NpbmcgdHJpZ2dlci5vdXRwdXQgZm9yIHRyaWdnZXIgJHt0cmlnZ2VyLmlkID8/ICdVbmtub3duJ31gKTtcclxuICAgICAgICByZXR1cm4gZGVmYXVsdE91dHB1dDtcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5fb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyh0cmlnZ2VySGVscGVyKTtcclxuXHJcbiAgICByZXR1cm4gdHJpZ2dlckhlbHBlcjtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbENoZWNrU3VwcHJlc3NlZCh0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLCB3aGVuOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGlkID0gdHJpZ2dlci5pZDtcclxuICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IHN1cHByZXNzID0gdGhpcy50cmlnZ2VyU3VwcHJlc3NbaWRdO1xyXG4gICAgICBpZiAoc3VwcHJlc3MgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChzdXBwcmVzcyA+IHdoZW4pXHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgZGVsZXRlIHRoaXMudHJpZ2dlclN1cHByZXNzW2lkXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsQ29uZGl0aW9uKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNvbmRpdGlvbiA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuQ29uZGl0aW9uID8/IHRyaWdnZXJIZWxwZXIudHJpZ2dlci5jb25kaXRpb247XHJcbiAgICBpZiAoY29uZGl0aW9uKSB7XHJcbiAgICAgIGlmIChjb25kaXRpb24gPT09IHRydWUpXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGlmICghY29uZGl0aW9uKHRoaXMuZGF0YSwgdHJpZ2dlckhlbHBlci5tYXRjaGVzLCB0cmlnZ2VySGVscGVyLm91dHB1dCkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgZGVmYXVsdHMgZm9yIHRyaWdnZXJIZWxwZXIgb2JqZWN0IChhbnl0aGluZyB0aGF0IHdvbid0IGNoYW5nZSBiYXNlZCBvblxyXG4gIC8vIG90aGVyIHRyaWdnZXIgZnVuY3Rpb25zIHJ1bm5pbmcpXHJcbiAgX29uVHJpZ2dlckludGVybmFsSGVscGVyRGVmYXVsdHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcpIHtcclxuICAgICAgY29uc3QgdGV4dEFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJBdXRvQ29uZmlnLlRleHRBbGVydHNFbmFibGVkO1xyXG4gICAgICBpZiAodGV4dEFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkID0gdGV4dEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNvdW5kQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlckF1dG9Db25maWcuU291bmRBbGVydHNFbmFibGVkO1xyXG4gICAgICBpZiAoc291bmRBbGVydHNFbmFibGVkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZEFsZXJ0c0VuYWJsZWQgPSBzb3VuZEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJBdXRvQ29uZmlnLlNwb2tlbkFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGlmIChzcG9rZW5BbGVydHNFbmFibGVkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zcG9rZW5BbGVydHNFbmFibGVkID0gc3Bva2VuQWxlcnRzRW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucykge1xyXG4gICAgICBjb25zdCB0ZXh0QWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuVGV4dEFsZXJ0O1xyXG4gICAgICBpZiAodGV4dEFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkID0gdGV4dEFsZXJ0c0VuYWJsZWQ7XHJcbiAgICAgIGNvbnN0IHNvdW5kQWxlcnRzRW5hYmxlZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuU291bmRBbGVydDtcclxuICAgICAgaWYgKHNvdW5kQWxlcnRzRW5hYmxlZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRBbGVydHNFbmFibGVkID0gc291bmRBbGVydHNFbmFibGVkO1xyXG4gICAgICBjb25zdCBzcG9rZW5BbGVydHNFbmFibGVkID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5TcGVlY2hBbGVydDtcclxuICAgICAgaWYgKHNwb2tlbkFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNwb2tlbkFsZXJ0c0VuYWJsZWQgPSBzcG9rZW5BbGVydHNFbmFibGVkO1xyXG4gICAgICBjb25zdCBncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQgPSB0cmlnZ2VySGVscGVyLnRyaWdnZXJPcHRpb25zLkdyb3VwU3BlZWNoQWxlcnQ7XHJcbiAgICAgIGlmIChncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci51c2VyU3VwcHJlc3NlZE91dHB1dCkge1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnRleHRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuQXVkaW9BbGxvd2VkKSB7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRBbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuc3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLmdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUHJlUnVuKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlcj8ucHJlUnVuPy4oXHJcbiAgICAgIHRoaXMuZGF0YSxcclxuICAgICAgdHJpZ2dlckhlbHBlci5tYXRjaGVzLFxyXG4gICAgICB0cmlnZ2VySGVscGVyLm91dHB1dCk7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxEZWxheVNlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZGVsYXkgPSAnZGVsYXlTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuZGVsYXlTZWNvbmRzKSA6IDA7XHJcbiAgICBpZiAoIWRlbGF5IHx8IGRlbGF5IDw9IDAgfHwgdHlwZW9mIGRlbGF5ICE9PSAnbnVtYmVyJylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRyaWdnZXJJRCA9IHRoaXMuY3VycmVudFRyaWdnZXJJRCsrO1xyXG4gICAgdGhpcy50aW1lcnNbdHJpZ2dlcklEXSA9IHRydWU7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy50aW1lcnNbdHJpZ2dlcklEXSlcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIGVsc2UgaWYgKHJlailcclxuICAgICAgICAgIHJlaigpO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLnRpbWVyc1t0cmlnZ2VySURdO1xyXG4gICAgICB9LCBkZWxheSAqIDEwMDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxEdXJhdGlvblNlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgbGV0IHZhbHVlRHVyYXRpb24gPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuZHVyYXRpb25TZWNvbmRzKTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWVEdXJhdGlvbiAhPT0gJ251bWJlcicpXHJcbiAgICAgIHZhbHVlRHVyYXRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB0cmlnZ2VySGVscGVyLmR1cmF0aW9uID0ge1xyXG4gICAgICBmcm9tQ29uZmlnOiB0cmlnZ2VySGVscGVyLnRyaWdnZXJBdXRvQ29uZmlnLkR1cmF0aW9uLFxyXG4gICAgICBmcm9tVHJpZ2dlcjogdmFsdWVEdXJhdGlvbixcclxuICAgICAgYWxhcm1UZXh0OiB0aGlzLm9wdGlvbnMuRGlzcGxheUFsYXJtVGV4dEZvclNlY29uZHMsXHJcbiAgICAgIGFsZXJ0VGV4dDogdGhpcy5vcHRpb25zLkRpc3BsYXlBbGVydFRleHRGb3JTZWNvbmRzLFxyXG4gICAgICBpbmZvVGV4dDogdGhpcy5vcHRpb25zLkRpc3BsYXlJbmZvVGV4dEZvclNlY29uZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsU3VwcHJlc3NTZWNvbmRzKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN1cHByZXNzID0gJ3N1cHByZXNzU2Vjb25kcycgaW4gdHJpZ2dlckhlbHBlci50cmlnZ2VyID8gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyLnN1cHByZXNzU2Vjb25kcykgOiAwO1xyXG4gICAgaWYgKHR5cGVvZiBzdXBwcmVzcyAhPT0gJ251bWJlcicpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXIuaWQgJiYgc3VwcHJlc3MgPiAwKVxyXG4gICAgICB0aGlzLnRyaWdnZXJTdXBwcmVzc1t0cmlnZ2VySGVscGVyLnRyaWdnZXIuaWRdID0gdHJpZ2dlckhlbHBlci5ub3cgKyAoc3VwcHJlc3MgKiAxMDAwKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFByb21pc2UodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IHByb21pc2U6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoJ3Byb21pc2UnIGluIHRyaWdnZXJIZWxwZXIudHJpZ2dlcikge1xyXG4gICAgICBjb25zdCBpZCA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlci5pZCA/PyAnVW5rbm93bic7XHJcbiAgICAgIGlmICh0eXBlb2YgdHJpZ2dlckhlbHBlci50cmlnZ2VyLnByb21pc2UgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBwcm9taXNlID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyLnByb21pc2UoXHJcbiAgICAgICAgICB0aGlzLmRhdGEsXHJcbiAgICAgICAgICB0cmlnZ2VySGVscGVyLm1hdGNoZXMsXHJcbiAgICAgICAgICB0cmlnZ2VySGVscGVyLm91dHB1dCk7XHJcblxyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBnZXQgYSBQcm9taXNlIGJhY2sgZnJvbSB0aGUgZnVuY3Rpb25cclxuICAgICAgICBpZiAoUHJvbWlzZS5yZXNvbHZlKHByb21pc2UpICE9PSBwcm9taXNlKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBUcmlnZ2VyICR7aWR9OiBwcm9taXNlIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGEgcHJvbWlzZWApO1xyXG4gICAgICAgICAgcHJvbWlzZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgVHJpZ2dlciAke2lkfTogcHJvbWlzZSBkZWZpbmVkIGJ1dCBub3QgYSBmdW5jdGlvbmApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvbWlzZTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFNvdW5kKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlci5zb3VuZCk7XHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIuc291bmRVcmwgPSByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxTb3VuZFZvbHVtZSh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXN1bHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuc291bmRWb2x1bWUpO1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdudW1iZXInKVxyXG4gICAgICB0cmlnZ2VySGVscGVyLnRyaWdnZXJTb3VuZFZvbCA9IHJlc3VsdDtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFJlc3BvbnNlKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGxldCByZXNwb25zZTogUmVzcG9uc2VGaWVsZDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+ID0ge307XHJcbiAgICBjb25zdCB0cmlnZ2VyID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyO1xyXG4gICAgaWYgKHRyaWdnZXIucmVzcG9uc2UpIHtcclxuICAgICAgLy8gQ2FuJ3QgdXNlIFZhbHVlT3JGdW5jdGlvbiBoZXJlIGFzIHIgcmV0dXJucyBhIG5vbi1sb2NhbGl6YWJsZSBvYmplY3QuXHJcbiAgICAgIHJlc3BvbnNlID0gdHJpZ2dlci5yZXNwb25zZTtcclxuICAgICAgd2hpbGUgKHR5cGVvZiByZXNwb25zZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICByZXNwb25zZSA9IHJlc3BvbnNlKHRoaXMuZGF0YSwgdHJpZ2dlckhlbHBlci5tYXRjaGVzLCB0cmlnZ2VySGVscGVyLm91dHB1dCk7XHJcblxyXG4gICAgICAvLyBUdXJuIGZhbHN5IHZhbHVlcyBpbnRvIGEgZGVmYXVsdCBuby1vcCByZXNwb25zZS5cclxuICAgICAgaWYgKCFyZXNwb25zZSlcclxuICAgICAgICByZXNwb25zZSA9IHt9O1xyXG4gICAgfVxyXG4gICAgdHJpZ2dlckhlbHBlci5yZXNwb25zZSA9IHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsQWxhcm1UZXh0KHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FkZFRleHRGb3IoJ2FsYXJtJywgdHJpZ2dlckhlbHBlcik7XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxBbGVydFRleHQodHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fYWRkVGV4dEZvcignYWxlcnQnLCB0cmlnZ2VySGVscGVyKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbEluZm9UZXh0KHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FkZFRleHRGb3IoJ2luZm8nLCB0cmlnZ2VySGVscGVyKTtcclxuICB9XHJcblxyXG4gIF9vblRyaWdnZXJJbnRlcm5hbFJ1bWJsZSh0cmlnZ2VySGVscGVyOiBUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5SdW1ibGVFbmFibGVkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgLy8gZ2V0R2FtZXBhZHMgcmV0dXJucyBhIFwiR2FtZVBhZExpc3RcIiB3aGljaCBpc24ndCBpdGVyYWJsZS5cclxuICAgIFsuLi5uYXZpZ2F0b3IuZ2V0R2FtZXBhZHMoKV0uZm9yRWFjaCgoZ3ApID0+IHtcclxuICAgICAgLy8gVGhpcyBsaXN0IGFsc28gY29udGFpbnMgbnVsbHMgc28gdGhhdCB0aGUgZ2FtZXBhZCBpbmRleCBpcyBwcmVzZXJ2ZWQuXHJcbiAgICAgIGlmICghZ3ApXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgLy8gYHZpYnJhdGlvbkFjdHVhdG9yYCBpcyBzdXBwb3J0ZWQgaW4gQ0VGIGJ1dCBpcyBub3QgaW4gdGhlIHNwZWMgeWV0LlxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBjb25zdCBnYW1lcGFkOiBhbnkgPSBncDtcclxuXHJcbiAgICAgIC8vIEZ1dHVyZSBjYWxscyB0byBgcGxheUVmZmVjdGAgd2lsbCBjdXQgb2ZmIHRoZSBwcmV2aW91cyBlZmZlY3QuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MsQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXHJcbiAgICAgIHZvaWQgZ2FtZXBhZD8udmlicmF0aW9uQWN0dWF0b3I/LnBsYXlFZmZlY3QoZ2FtZXBhZC52aWJyYXRpb25BY3R1YXRvci50eXBlLCB7XHJcbiAgICAgICAgc3RhcnREZWxheTogMCxcclxuICAgICAgICBkdXJhdGlvbjogdHJpZ2dlckhlbHBlci5ydW1ibGVEdXJhdGlvbk1zLFxyXG4gICAgICAgIHdlYWtNYWduaXR1ZGU6IHRyaWdnZXJIZWxwZXIucnVtYmxlV2VhayxcclxuICAgICAgICBzdHJvbmdNYWduaXR1ZGU6IHRyaWdnZXJIZWxwZXIucnVtYmxlU3Ryb25nLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsVFRTKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGlmICghdHJpZ2dlckhlbHBlci5ncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQgfHwgdHlwZW9mIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuVFRTVGV4dCkge1xyXG4gICAgICAgIHJlc3VsdCA9IHRyaWdnZXJIZWxwZXIudmFsdWVPckZ1bmN0aW9uKHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnMuVFRTVGV4dCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodHJpZ2dlckhlbHBlci50cmlnZ2VyLnR0cyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgLy8gQWxsb3cgbnVsbC9mYWxzZS9OYU4vMC8nJyBpbiB0aGlzIGJyYW5jaC5cclxuICAgICAgICByZXN1bHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIudHRzKTtcclxuICAgICAgfSBlbHNlIGlmICh0cmlnZ2VySGVscGVyLnJlc3BvbnNlKSB7XHJcbiAgICAgICAgY29uc3QgcmVzcDogUmVzcG9uc2VGaWVsZDxSYWlkYm9zc0RhdGEsIE1hdGNoZXM+ID0gdHJpZ2dlckhlbHBlci5yZXNwb25zZTtcclxuICAgICAgICBpZiAocmVzcC50dHMpXHJcbiAgICAgICAgICByZXN1bHQgPSB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbihyZXNwLnR0cyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFsbG93IGZhbHNleSB2YWx1ZXMgdG8gZGlzYWJsZSB0dHMgZW50aXJlbHlcclxuICAgICAgLy8gVW5kZWZpbmVkIHdpbGwgZmFsbCBiYWNrIHRvIGRlZmF1bHRUVFNUZXh0XHJcbiAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQpXHJcbiAgICAgICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSByZXN1bHQ/LnRvU3RyaW5nKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci5kZWZhdWx0VFRTVGV4dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uVHJpZ2dlckludGVybmFsUGxheUF1ZGlvKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnRyaWdnZXIuc291bmQgJiZcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsICYmXHJcbiAgICAgICAgc291bmRTdHJzLmluY2x1ZGVzKHRyaWdnZXJIZWxwZXIuc291bmRVcmwpKSB7XHJcbiAgICAgIGNvbnN0IG5hbWVkU291bmQgPSB0cmlnZ2VySGVscGVyLnNvdW5kVXJsICsgJ1NvdW5kJztcclxuICAgICAgY29uc3QgbmFtZWRTb3VuZFZvbHVtZSA9IHRyaWdnZXJIZWxwZXIuc291bmRVcmwgKyAnU291bmRWb2x1bWUnO1xyXG4gICAgICBjb25zdCBzb3VuZCA9IHRoaXMub3B0aW9uc1tuYW1lZFNvdW5kXTtcclxuICAgICAgaWYgKHR5cGVvZiBzb3VuZCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsID0gc291bmQ7XHJcbiAgICAgICAgY29uc3Qgc291bmRWb2wgPSB0aGlzLm9wdGlvbnNbbmFtZWRTb3VuZFZvbHVtZV07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBzb3VuZFZvbCA9PT0gJ251bWJlcicpXHJcbiAgICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVm9sID0gc291bmRWb2w7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0cmlnZ2VySGVscGVyLnNvdW5kVXJsID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Tb3VuZE92ZXJyaWRlID8/IHRyaWdnZXJIZWxwZXIuc291bmRVcmw7XHJcbiAgICB0cmlnZ2VySGVscGVyLnNvdW5kVm9sID0gdHJpZ2dlckhlbHBlci50cmlnZ2VyT3B0aW9ucy5Wb2x1bWVPdmVycmlkZSA/P1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnRyaWdnZXJTb3VuZFZvbCA/PyB0cmlnZ2VySGVscGVyLnNvdW5kVm9sO1xyXG5cclxuICAgIC8vIFRleHQgdG8gc3BlZWNoIG92ZXJyaWRlcyBhbGwgb3RoZXIgc291bmRzLiAgVGhpcyBpcyBzb1xyXG4gICAgLy8gdGhhdCBhIHVzZXIgd2hvIHByZWZlcnMgdHRzIGNhbiBzdGlsbCBnZXQgdGhlIGJlbmVmaXRcclxuICAgIC8vIG9mIGluZm9UZXh0IHRyaWdnZXJzIHdpdGhvdXQgdHRzIGVudHJpZXMgYnkgdHVybmluZ1xyXG4gICAgLy8gb24gKHNwZWVjaD10cnVlLCB0ZXh0PXRydWUsIHNvdW5kPXRydWUpIGJ1dCB0aGlzIHdpbGxcclxuICAgIC8vIG5vdCBjYXVzZSB0dHMgdG8gcGxheSBvdmVyIHRvcCBvZiBzb3VuZHMgb3Igbm9pc2VzLlxyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIudHRzVGV4dCAmJiB0cmlnZ2VySGVscGVyLnNwb2tlbkFsZXJ0c0VuYWJsZWQpIHtcclxuICAgICAgLy8gSGV1cmlzdGljcyBmb3IgYXV0byB0dHMuXHJcbiAgICAgIC8vICogSW4gY2FzZSB0aGlzIGlzIGFuIGludGVnZXIuXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC50b1N0cmluZygpO1xyXG4gICAgICAvLyAqIFJlbW92ZSBhIGJ1bmNoIG9mIGNoYXJzLlxyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgvWyMhXS9nLCAnJyk7XHJcbiAgICAgIC8vICogc2xhc2hlcyBiZXR3ZWVuIG1lY2hhbmljc1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnR0c1RleHQgPSB0cmlnZ2VySGVscGVyLnR0c1RleHQucmVwbGFjZSgnLycsICcgJyk7XHJcbiAgICAgIC8vICogdGlsZGVzIGF0IHRoZSBlbmQgZm9yIGVtcGhhc2lzXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9+KyQvLCAnJyk7XHJcbiAgICAgIC8vICogYXJyb3dzIGhlbHBpbmcgdmlzdWFsbHkgc2ltcGxlIHRvIHVuZGVyc3RhbmQgZS5nLiDihpYgRnJvbnQgbGVmdCAvIEJhY2sgcmlnaHQg4oaYXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9b4oaWLeKGmV0vZywgJycpO1xyXG4gICAgICAvLyAqIEtvcmVhbiBUVFMgcmVhZHMgd3Jvbmcgd2l0aCAnMeuyiOynuCdcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoJzHrsojsp7gnLCAn7LKr67KI7Ke4Jyk7XHJcbiAgICAgIC8vICogYXJyb3dzIGF0IHRoZSBmcm9udCBvciB0aGUgZW5kIGFyZSBkaXJlY3Rpb25zLCBlLmcuIFwiZWFzdCA9PlwiXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHRzVGV4dCA9IHRyaWdnZXJIZWxwZXIudHRzVGV4dC5yZXBsYWNlKC9bLT1dPlxccyokL2csICcnKTtcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL15cXHMqPFstPV0vZywgJycpO1xyXG4gICAgICAvLyAqIGFycm93cyBpbiB0aGUgbWlkZGxlIGFyZSBhIHNlcXVlbmNlLCBlLmcuIFwiaW4gPT4gb3V0ID0+IHNwcmVhZFwiXHJcbiAgICAgIGNvbnN0IGFycm93UmVwbGFjZW1lbnQgPSB7XHJcbiAgICAgICAgZW46ICcgdGhlbiAnLFxyXG4gICAgICAgIGRlOiAnIGRhbm4gJyxcclxuICAgICAgICBmcjogJyBwdWlzICcsXHJcbiAgICAgICAgamE6ICfjgoQnLFxyXG4gICAgICAgIGNuOiAn54S25ZCOJyxcclxuICAgICAgICBrbzogJyDqt7jrpqzqs6AgJyxcclxuICAgICAgfTtcclxuICAgICAgdHJpZ2dlckhlbHBlci50dHNUZXh0ID0gdHJpZ2dlckhlbHBlci50dHNUZXh0LnJlcGxhY2UoL1xccyooPFstPV18Wz0tXT4pXFxzKi9nLFxyXG4gICAgICAgIGFycm93UmVwbGFjZW1lbnRbdGhpcy5kaXNwbGF5TGFuZ10pO1xyXG4gICAgICB0aGlzLnR0c1NheSh0cmlnZ2VySGVscGVyLnR0c1RleHQpO1xyXG4gICAgfSBlbHNlIGlmICh0cmlnZ2VySGVscGVyLnNvdW5kVXJsICYmIHRyaWdnZXJIZWxwZXIuc291bmRBbGVydHNFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuX3BsYXlBdWRpb0ZpbGUodHJpZ2dlckhlbHBlciwgdHJpZ2dlckhlbHBlci5zb3VuZFVybCwgdHJpZ2dlckhlbHBlci5zb3VuZFZvbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfb25UcmlnZ2VySW50ZXJuYWxSdW4odHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdHJpZ2dlckhlbHBlci50cmlnZ2VyPy5ydW4/LihcclxuICAgICAgdGhpcy5kYXRhLFxyXG4gICAgICB0cmlnZ2VySGVscGVyLm1hdGNoZXMsXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIub3V0cHV0KTtcclxuICB9XHJcblxyXG4gIF9jcmVhdGVUZXh0Rm9yKFxyXG4gICAgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcixcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRleHRUeXBlOiBUZXh0LFxyXG4gICAgbG93ZXJUZXh0S2V5OiBUZXh0VGV4dCxcclxuICAgIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIGluZm8tdGV4dFxyXG4gICAgY29uc3QgdGV4dEVsZW1lbnRDbGFzcyA9IHRleHRUeXBlICsgJy10ZXh0JztcclxuICAgIGlmICh0ZXh0VHlwZSAhPT0gJ2luZm8nKVxyXG4gICAgICB0ZXh0ID0gdHJpZ2dlclVwcGVyQ2FzZSh0ZXh0KTtcclxuXHJcbiAgICBjb25zdCBob2xkZXIgPSB0aGlzW2xvd2VyVGV4dEtleV0/LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hvbGRlcicpWzBdO1xyXG4gICAgY29uc3QgZGl2ID0gdGhpcy5fbWFrZVRleHRFbGVtZW50KHRyaWdnZXJIZWxwZXIsIHRleHQsIHRleHRFbGVtZW50Q2xhc3MpO1xyXG5cclxuICAgIGlmICghaG9sZGVyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgaG9sZGVyLmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICBpZiAoaG9sZGVyLmNoaWxkcmVuLmxlbmd0aCA+IHRoaXMua01heFJvd3NPZlRleHQpXHJcbiAgICAgIGhvbGRlci5maXJzdENoaWxkPy5yZW1vdmUoKTtcclxuXHJcbiAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmIChob2xkZXIuY29udGFpbnMoZGl2KSlcclxuICAgICAgICBob2xkZXIucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICAgIH0sIGR1cmF0aW9uICogMTAwMCk7XHJcbiAgfVxyXG5cclxuICBfYWRkVGV4dEZvcih0ZXh0VHlwZTogVGV4dCwgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgLy8gaW5mb1RleHRcclxuICAgIGNvbnN0IGxvd2VyVGV4dEtleSA9IHRleHRNYXBbdGV4dFR5cGVdLnRleHQ7XHJcbiAgICAvLyBJbmZvVGV4dFxyXG4gICAgY29uc3QgdXBwZXJUZXh0S2V5ID0gdGV4dE1hcFt0ZXh0VHlwZV0udXBwZXJUZXh0O1xyXG4gICAgLy8gSW5mb1NvdW5kXHJcbiAgICBjb25zdCB1cHBlclNvdW5kID0gdGV4dE1hcFt0ZXh0VHlwZV0udXBwZXJTb3VuZDtcclxuICAgIC8vIEluZm9Tb3VuZFZvbHVtZVxyXG4gICAgY29uc3QgdXBwZXJTb3VuZFZvbHVtZSA9IHRleHRNYXBbdGV4dFR5cGVdLnVwcGVyU291bmRWb2x1bWU7XHJcblxyXG4gICAgbGV0IHRleHRPYmo6IFJhaWRib3NzVHJpZ2dlck91dHB1dCA9XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIudHJpZ2dlck9wdGlvbnNbdXBwZXJUZXh0S2V5XTtcclxuICAgIGlmICghdGV4dE9iaiAmJiB0cmlnZ2VySGVscGVyLnRyaWdnZXJbbG93ZXJUZXh0S2V5XSlcclxuICAgICAgdGV4dE9iaiA9IHRyaWdnZXJIZWxwZXIudHJpZ2dlcltsb3dlclRleHRLZXldO1xyXG4gICAgaWYgKCF0ZXh0T2JqICYmIHRyaWdnZXJIZWxwZXIucmVzcG9uc2UpXHJcbiAgICAgIHRleHRPYmogPSB0cmlnZ2VySGVscGVyLnJlc3BvbnNlW2xvd2VyVGV4dEtleV07XHJcbiAgICBpZiAoIXRleHRPYmopXHJcbiAgICAgIHJldHVybjtcclxuICAgIGxldCB0ZXh0ID0gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odGV4dE9iaik7XHJcbiAgICBpZiAoIXRleHQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ251bWJlcicpXHJcbiAgICAgIHRleHQgPSB0ZXh0LnRvU3RyaW5nKCk7XHJcbiAgICBpZiAodHlwZW9mIHRleHQgIT09ICdzdHJpbmcnKVxyXG4gICAgICB0ZXh0ID0gU3RyaW5nKHRleHQpO1xyXG4gICAgLy8gSWdub3JlIGVtcHR5IHN0cmluZ3Mgc28gdGhhdCBjb25maWcgdWkgXCJibGFuayBzcGFjZXNcIiBhcmUgaWdub3JlZC5cclxuICAgIHRleHQgPSB0ZXh0LnRyaW0oKTtcclxuICAgIGlmICh0ZXh0ID09PSAnJylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRyaWdnZXJIZWxwZXIuZGVmYXVsdFRUU1RleHQgPSB0cmlnZ2VySGVscGVyLmRlZmF1bHRUVFNUZXh0ID8/IHRleHQ7XHJcbiAgICBpZiAodGV4dCAmJiB0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgJiYgdHJpZ2dlckhlbHBlci50ZXh0QWxlcnRzRW5hYmxlZCkge1xyXG4gICAgICAvLyBwZXItdHJpZ2dlciBvcHRpb24gPiB0cmlnZ2VyIGZpZWxkID4gb3B0aW9uIGR1cmF0aW9uIGJ5IHRleHQgdHlwZVxyXG4gICAgICBsZXQgZHVyYXRpb24gPSB0cmlnZ2VySGVscGVyLmR1cmF0aW9uPy5mcm9tQ29uZmlnID8/IHRyaWdnZXJIZWxwZXIuZHVyYXRpb24/LmZyb21UcmlnZ2VyO1xyXG4gICAgICBpZiAoZHVyYXRpb24gPT09IHVuZGVmaW5lZCAmJiB0cmlnZ2VySGVscGVyLmR1cmF0aW9uKVxyXG4gICAgICAgIGR1cmF0aW9uID0gdHJpZ2dlckhlbHBlci5kdXJhdGlvbltsb3dlclRleHRLZXldO1xyXG4gICAgICBpZiAoZHVyYXRpb24gPT09IHVuZGVmaW5lZClcclxuICAgICAgICBkdXJhdGlvbiA9IDA7XHJcblxyXG4gICAgICB0aGlzLl9jcmVhdGVUZXh0Rm9yKHRyaWdnZXJIZWxwZXIsIHRleHQsIHRleHRUeXBlLCBsb3dlclRleHRLZXksIGR1cmF0aW9uKTtcclxuICAgICAgaWYgKCF0cmlnZ2VySGVscGVyLnNvdW5kVXJsKSB7XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5zb3VuZFVybCA9IHRoaXMub3B0aW9uc1t1cHBlclNvdW5kXTtcclxuICAgICAgICB0cmlnZ2VySGVscGVyLnNvdW5kVm9sID0gdGhpcy5vcHRpb25zW3VwcGVyU291bmRWb2x1bWVdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0cmlnZ2VySGVscGVyLnJ1bWJsZUR1cmF0aW9uTXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIucnVtYmxlRHVyYXRpb25NcyA9IHRoaXMub3B0aW9uc1t0ZXh0TWFwW3RleHRUeXBlXS5ydW1ibGVEdXJhdGlvbl07XHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5ydW1ibGVXZWFrID0gdGhpcy5vcHRpb25zW3RleHRNYXBbdGV4dFR5cGVdLnJ1bWJsZVdlYWtdO1xyXG4gICAgICAgIHRyaWdnZXJIZWxwZXIucnVtYmxlU3Ryb25nID0gdGhpcy5vcHRpb25zW3RleHRNYXBbdGV4dFR5cGVdLnJ1bWJsZVN0cm9uZ107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9tYWtlVGV4dEVsZW1lbnQoX3RyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIsIHRleHQ6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGRpdi5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZS10ZXh0Jyk7XHJcbiAgICBkaXYuaW5uZXJUZXh0ID0gdGV4dDtcclxuICAgIHJldHVybiBkaXY7XHJcbiAgfVxyXG5cclxuICBfcGxheUF1ZGlvRmlsZShfdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlciwgdXJsOiBzdHJpbmcsIHZvbHVtZT86IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgYXVkaW8gPSBuZXcgQXVkaW8odXJsKTtcclxuICAgIGF1ZGlvLnZvbHVtZSA9IHZvbHVtZSA/PyAxO1xyXG4gICAgdm9pZCBhdWRpby5wbGF5KCk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhT2JqZWN0KCk6IFJhaWRib3NzRGF0YSB7XHJcbiAgICBsZXQgcHJlc2VydmVIUCA9IDA7XHJcbiAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5jdXJyZW50SFApXHJcbiAgICAgIHByZXNlcnZlSFAgPSB0aGlzLmRhdGEuY3VycmVudEhQO1xyXG5cclxuICAgIC8vIFRPRE86IG1ha2UgYSBicmVha2luZyBjaGFuZ2UgYXQgc29tZSBwb2ludCBhbmRcclxuICAgIC8vIG1ha2UgYWxsIHRoaXMgc3R5bGUgY29uc2lzdGVudCwgc29ycnkuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtZTogdGhpcy5tZSxcclxuICAgICAgam9iOiB0aGlzLmpvYixcclxuICAgICAgcm9sZTogdGhpcy5yb2xlLFxyXG4gICAgICBwYXJ0eTogdGhpcy5wYXJ0eVRyYWNrZXIsXHJcbiAgICAgIGxhbmc6IHRoaXMucGFyc2VyTGFuZyxcclxuICAgICAgcGFyc2VyTGFuZzogdGhpcy5wYXJzZXJMYW5nLFxyXG4gICAgICBkaXNwbGF5TGFuZzogdGhpcy5kaXNwbGF5TGFuZyxcclxuICAgICAgY3VycmVudEhQOiBwcmVzZXJ2ZUhQLFxyXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXHJcbiAgICAgIFNob3J0TmFtZTogdGhpcy5TaG9ydE5hbWlmeS5iaW5kKHRoaXMpLFxyXG4gICAgICBTdG9wQ29tYmF0OiAoKSA9PiB0aGlzLlNldEluQ29tYmF0KGZhbHNlKSxcclxuICAgICAgUGFyc2VMb2NhbGVGbG9hdDogcGFyc2VGbG9hdCxcclxuICAgICAgQ2FuU3R1bjogKCkgPT4gVXRpbC5jYW5TdHVuKHRoaXMuam9iKSxcclxuICAgICAgQ2FuU2lsZW5jZTogKCkgPT4gVXRpbC5jYW5TaWxlbmNlKHRoaXMuam9iKSxcclxuICAgICAgQ2FuU2xlZXA6ICgpID0+IFV0aWwuY2FuU2xlZXAodGhpcy5qb2IpLFxyXG4gICAgICBDYW5DbGVhbnNlOiAoKSA9PiBVdGlsLmNhbkNsZWFuc2UodGhpcy5qb2IpLFxyXG4gICAgICBDYW5GZWludDogKCkgPT4gVXRpbC5jYW5GZWludCh0aGlzLmpvYiksXHJcbiAgICAgIENhbkFkZGxlOiAoKSA9PiBVdGlsLmNhbkFkZGxlKHRoaXMuam9iKSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUG9wdXBUZXh0R2VuZXJhdG9yIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcHVwVGV4dDogUG9wdXBUZXh0KSB7XHJcbiAgfVxyXG5cclxuICBJbmZvKHRleHQ6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wb3B1cFRleHQuT25UcmlnZ2VyKHtcclxuICAgICAgaW5mb1RleHQ6IHRleHQsXHJcbiAgICAgIHR0czogdGV4dCxcclxuICAgIH0sXHJcbiAgICBudWxsLFxyXG4gICAgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgQWxlcnQodGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBhbGVydFRleHQ6IHRleHQsXHJcbiAgICAgIHR0czogdGV4dCxcclxuICAgIH0sXHJcbiAgICBudWxsLFxyXG4gICAgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgQWxhcm0odGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIoe1xyXG4gICAgICBhbGFybVRleHQ6IHRleHQsXHJcbiAgICAgIHR0czogdGV4dCxcclxuICAgIH0sXHJcbiAgICBudWxsLFxyXG4gICAgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgVFRTKHRleHQ6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wb3B1cFRleHQuT25UcmlnZ2VyKHtcclxuICAgICAgaW5mb1RleHQ6IHRleHQsXHJcbiAgICAgIHR0czogdGV4dCxcclxuICAgIH0sXHJcbiAgICBudWxsLFxyXG4gICAgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgVHJpZ2dlcih0cmlnZ2VyOiBQcm9jZXNzZWRUcmlnZ2VyLCBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dC5PblRyaWdnZXIodHJpZ2dlciwgbWF0Y2hlcywgY3VycmVudFRpbWUpO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuL25vdF9yZWFjaGVkJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRpbWVyQmFyIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xyXG4gIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBmb3JlZ3JvdW5kRWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgYmFja2dyb3VuZEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGxlZnRUZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgY2VudGVyVGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHJpZ2h0VGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2R1cmF0aW9uOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfc3RhcnQ6IG51bWJlcjtcclxuICBwcml2YXRlIF93aWR0aDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hlaWdodDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2JnOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfZmc6IHN0cmluZztcclxuICBwcml2YXRlIF90b3dhcmRSaWdodDogYm9vbGVhbjtcclxuICBwcml2YXRlIF9maWxsOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2xlZnRUZXh0OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY2VudGVyVGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JpZ2h0VGV4dDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2hpZGVBZnRlcjogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2xvb3A6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfY29ubmVjdGVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2hpZGVUaW1lcjogbnVtYmVyIHwgbnVsbDtcclxuXHJcbiAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ2R1cmF0aW9uJyxcclxuICAgICAgJ3ZhbHVlJyxcclxuICAgICAgJ2VsYXBzZWQnLFxyXG4gICAgICAnaGlkZWFmdGVyJyxcclxuICAgICAgJ2xlZnR0ZXh0JyxcclxuICAgICAgJ2NlbnRlcnRleHQnLFxyXG4gICAgICAncmlnaHR0ZXh0JyxcclxuICAgICAgJ3dpZHRoJyxcclxuICAgICAgJ2hlaWdodCcsXHJcbiAgICAgICdiZycsXHJcbiAgICAgICdmZycsXHJcbiAgICAgICdzdHlsZWZpbGwnLFxyXG4gICAgICAndG93YXJkJyxcclxuICAgICAgJ2xvb3AnLFxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIC8qKiBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgVGltZXJCYXIgd2l0aCBhdHRyaWJ1dGVzICovXHJcbiAgc3RhdGljIGNyZWF0ZShvPzoge1xyXG4gICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgICB2YWx1ZT86IG51bWJlcjtcclxuICAgIGVsYXBzZWQ/OiBudW1iZXI7XHJcbiAgICBoaWRlYWZ0ZXI/OiBudW1iZXI7XHJcbiAgICBsZWZ0dGV4dD86IHN0cmluZztcclxuICAgIGNlbnRlcnRleHQ/OiBzdHJpbmc7XHJcbiAgICByaWdodHRleHQ/OiBzdHJpbmc7XHJcbiAgICB3aWR0aD86IHN0cmluZztcclxuICAgIGhlaWdodD86IHN0cmluZztcclxuICAgIGJnPzogc3RyaW5nO1xyXG4gICAgZmc/OiBzdHJpbmc7XHJcbiAgICBzdHlsZWZpbGw/OiAnZW1wdHknIHwgJ2ZpbGwnO1xyXG4gICAgdG93YXJkPzogJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICAgIGxvb3A/OiBib29sZWFuO1xyXG4gIH0pOiBUaW1lckJhciB7XHJcbiAgICBpZiAoIXdpbmRvdy5jdXN0b21FbGVtZW50cy5nZXQoJ3RpbWVyLWJhcicpKVxyXG4gICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0aW1lci1iYXInLCBUaW1lckJhcik7XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RpbWVyLWJhcicpO1xyXG4gICAgaWYgKCFvKVxyXG4gICAgICByZXR1cm4gZWxlbWVudDtcclxuXHJcbiAgICBpZiAodHlwZW9mIG8uZHVyYXRpb24gPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmR1cmF0aW9uID0gby5kdXJhdGlvbjtcclxuICAgIGlmICh0eXBlb2Ygby52YWx1ZSA9PT0gJ251bWJlcicpXHJcbiAgICAgIGVsZW1lbnQudmFsdWUgPSBvLnZhbHVlO1xyXG4gICAgaWYgKHR5cGVvZiBvLmVsYXBzZWQgPT09ICdudW1iZXInKVxyXG4gICAgICBlbGVtZW50LmVsYXBzZWQgPSBvLmVsYXBzZWQ7XHJcbiAgICBpZiAodHlwZW9mIG8uaGlkZWFmdGVyID09PSAnbnVtYmVyJylcclxuICAgICAgZWxlbWVudC5oaWRlYWZ0ZXIgPSBvLmhpZGVhZnRlcjtcclxuICAgIGlmICh0eXBlb2Ygby5sZWZ0dGV4dCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQubGVmdHRleHQgPSBvLmxlZnR0ZXh0O1xyXG4gICAgaWYgKHR5cGVvZiBvLmNlbnRlcnRleHQgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmNlbnRlcnRleHQgPSBvLmNlbnRlcnRleHQ7XHJcbiAgICBpZiAodHlwZW9mIG8ucmlnaHR0ZXh0ID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC5yaWdodHRleHQgPSBvLnJpZ2h0dGV4dDtcclxuICAgIGlmICh0eXBlb2Ygby53aWR0aCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQud2lkdGggPSBvLndpZHRoO1xyXG4gICAgaWYgKHR5cGVvZiBvLmhlaWdodCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuaGVpZ2h0ID0gby5oZWlnaHQ7XHJcbiAgICBpZiAodHlwZW9mIG8uYmcgPT09ICdzdHJpbmcnKVxyXG4gICAgICBlbGVtZW50LmJnID0gby5iZztcclxuICAgIGlmICh0eXBlb2Ygby5mZyA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuZmcgPSBvLmZnO1xyXG4gICAgaWYgKHR5cGVvZiBvLnN0eWxlZmlsbCA9PT0gJ3N0cmluZycpXHJcbiAgICAgIGVsZW1lbnQuc3R5bGVmaWxsID0gby5zdHlsZWZpbGw7XHJcbiAgICBpZiAodHlwZW9mIG8udG93YXJkID09PSAnc3RyaW5nJylcclxuICAgICAgZWxlbWVudC50b3dhcmQgPSBvLnRvd2FyZDtcclxuICAgIGlmICh0eXBlb2Ygby5sb29wID09PSAnYm9vbGVhbicpXHJcbiAgICAgIGVsZW1lbnQubG9vcCA9IG8ubG9vcDtcclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgLy8gQmFja2dyb3VuZCBjb2xvci5cclxuICBzZXQgYmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdiZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGJnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdiZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9yZWdyb3VuZCBjb2xvci5cclxuICBzZXQgZmcoYzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKGMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdmZycpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZmcnLCBjKTtcclxuICB9XHJcbiAgZ2V0IGZnKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdmZycpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHdpZHRoIG9mIHRoZSBiYXIuXHJcbiAgc2V0IHdpZHRoKHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgdyk7XHJcbiAgfVxyXG4gIGdldCB3aWR0aCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnd2lkdGgnKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBoZWlnaHQgb2YgdGhlIGJhci5cclxuICBzZXQgaGVpZ2h0KHc6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh3ID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCB3KTtcclxuICB9XHJcbiAgZ2V0IGhlaWdodCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnaGVpZ2h0Jyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdG90YWwgbGVuZ3RoIG9mIHRpbWUgdG8gY291bnQgZG93bi5cclxuICBzZXQgZHVyYXRpb24oczogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkdXJhdGlvbicpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZHVyYXRpb24nLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZHVyYXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2R1cmF0aW9uJyk7XHJcbiAgICBpZiAocyA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdChzKTtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBsZW5ndGggcmVtYWluaW5nIGluIHRoZSBjb3VudCBkb3duLlxyXG4gIHNldCB2YWx1ZShzOiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHMudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHJldHVybiB0aGlzLl9kdXJhdGlvbjtcclxuICAgIGNvbnN0IGVsYXBzZWRNcyA9IERhdGUubm93KCkgLSB0aGlzLl9zdGFydDtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIChlbGFwc2VkTXMgLyAxMDAwKSk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgZWxhcHNlZCB0aW1lLlxyXG4gIHNldCBlbGFwc2VkKHM6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2VsYXBzZWQnLCBzLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgZWxhcHNlZCgpOiBudW1iZXIge1xyXG4gICAgaWYgKCF0aGlzLl9zdGFydClcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICByZXR1cm4gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJyaWdodFwiIHRoZW4gYW5pbWF0ZXMgbGVmdC10by1yaWdodCAodGhlIGRlZmF1bHQpLiBJZiBcImxlZnRcIlxyXG4gIC8vIHRoZW4gYW5pbWF0ZXMgcmlnaHQtdG8tbGVmdC5cclxuICBzZXQgdG93YXJkKHQ6ICdsZWZ0JyB8ICdyaWdodCcgfCBudWxsKSB7XHJcbiAgICBpZiAodCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3Rvd2FyZCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndG93YXJkJywgdCk7XHJcbiAgfVxyXG4gIGdldCB0b3dhcmQoKTogJ2xlZnQnIHwgJ3JpZ2h0JyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCd0b3dhcmQnKSBhcyAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgXCJmaWxsXCIgdGhlbiB0aGUgcHJvZ3Jlc3MgZ29lcyBlbXB0eS10by1mdWxsLCBpZiBcImVtcHR5XCIgdGhlbiB0aGVcclxuICAvLyBwcm9ncmVzcyBiYXIgc3RhcnRzIGZ1bGwgYW5kIGdvZXMgdG8gZW1wdHkuXHJcbiAgc2V0IHN0eWxlZmlsbChzOiAnZW1wdHknIHwgJ2ZpbGwnIHwgbnVsbCkge1xyXG4gICAgaWYgKHMgPT09IG51bGwpXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdzdHlsZWZpbGwnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3N0eWxlZmlsbCcsIHMpO1xyXG4gIH1cclxuICBnZXQgc3R5bGVmaWxsKCk6ICdlbXB0eScgfCAnZmlsbCcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnc3R5bGVmaWxsJykgYXMgJ2VtcHR5JyB8ICdmaWxsJztcclxuICB9XHJcblxyXG4gIC8vIFdoZW4gdGhlIGJhciByZWFjaGVzIDAsIGl0IGlzIGhpZGRlbiBhZnRlciB0aGlzIG1hbnkgc2Vjb25kcy4gSWYgbnVsbFxyXG4gIC8vIHRoZW4gaXQgaXMgbm90IGhpZGRlbi5cclxuICBzZXQgaGlkZWFmdGVyKGg6IG51bWJlciB8IG51bGwpIHtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZWFmdGVyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInLCBoLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICBnZXQgaGlkZWFmdGVyKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgY29uc3QgaCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdoaWRlYWZ0ZXInKTtcclxuICAgIGlmIChoID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiBwYXJzZUludChoKTtcclxuICB9XHJcblxyXG4gIC8vIENob29zZXMgd2hhdCBzaG91bGQgYmUgc2hvd24gaW4gdGhlIHRleHQgZmllbGQgaW4gZWFjaCBhcmVhIG9mXHJcbiAgLy8gdGhlIGJhci4gQ2FuIGJlIG9uZSBvZjpcclxuICAvLyBlbXB0eSAtIG5vdGhpbmcgaXMgc2hvd24uXHJcbiAgLy8gXCJyZW1haW5cIiAtIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cclxuICAvLyBcImR1cmF0aW9uXCIgLSBzaG93cyB0aGUgcmVtYWluaW5nIGFuZCB0b3RhbCBkdXJhdGlvbiB0aW1lXHJcbiAgLy8gICAgICAgICAgICAgIG9mIHRoZSBiYXIuXHJcbiAgLy8gXCJwZXJjZW50XCIgLSBzaG93cyB0aGUgcGVyY2VudGFnZSBvZiByZW1haW5pbmcgdGltZSB0b1xyXG4gIC8vICAgICAgICAgICAgIHRoZSBkdXJhdGlvbi5cclxuICAvLyBcImVsYXBzZWRcIiAgIC0gc2hvd3MgdGhlIGVsYXBzZWQgdGltZVxyXG4gIC8vIGFueXRoaW5nIGVsc2UgLSB0aGUgZ2l2ZW4gdGV4dCBpcyBzaG93biBsaXRlcmFsbHkuXHJcbiAgc2V0IGxlZnR0ZXh0KHA6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmIChwID09PSBudWxsKVxyXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xlZnR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCBsZWZ0dGV4dCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbGVmdHRleHQnKTtcclxuICB9XHJcbiAgc2V0IHJpZ2h0dGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSgncmlnaHR0ZXh0JywgcCk7XHJcbiAgfVxyXG4gIGdldCByaWdodHRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ3JpZ2h0dGV4dCcpO1xyXG4gIH1cclxuICBzZXQgY2VudGVydGV4dChwOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAocCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnLCBwKTtcclxuICB9XHJcbiAgZ2V0IGNlbnRlcnRleHQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2NlbnRlcnRleHQnKTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQsIHRoZSB0aW1lciB3aWxsIGxvb3AgZm9yZXZlci5cclxuICBzZXQgbG9vcChsOiBib29sZWFuKSB7XHJcbiAgICBpZiAobClcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2xvb3AnLCAnJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG4gIGdldCBsb29wKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzQXR0cmlidXRlKCdsb29wJyk7XHJcbiAgfVxyXG5cclxuICAvLyBUaGlzIHdvdWxkIGJlIHVzZWQgd2l0aCB3aW5kb3cuY3VzdG9tRWxlbWVudHMuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pO1xyXG4gICAgdGhpcy5pbml0KHJvb3QpO1xyXG5cclxuICAgIHRoaXMuX2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8vIERlZmF1bHQgdmFsdWVzLlxyXG4gICAgdGhpcy5fc3RhcnQgPSAwO1xyXG4gICAgdGhpcy5fZHVyYXRpb24gPSAwO1xyXG4gICAgdGhpcy5fd2lkdGggPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSAnMTAwJSc7XHJcbiAgICB0aGlzLl9iZyA9ICdibGFjayc7XHJcbiAgICB0aGlzLl9mZyA9ICd5ZWxsb3cnO1xyXG4gICAgdGhpcy5fdG93YXJkUmlnaHQgPSBmYWxzZTtcclxuICAgIHRoaXMuX2ZpbGwgPSBmYWxzZTtcclxuICAgIHRoaXMuX2xlZnRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9jZW50ZXJUZXh0ID0gJyc7XHJcbiAgICB0aGlzLl9yaWdodFRleHQgPSAnJztcclxuICAgIHRoaXMuX2hpZGVBZnRlciA9IC0xO1xyXG4gICAgdGhpcy5fbG9vcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gMDtcclxuXHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgncm9vdCcpIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ2ZnJykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLmJhY2tncm91bmRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnYmcnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMubGVmdFRleHRFbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnbGVmdHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdjZW50ZXJ0ZXh0JykgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICB9XHJcblxyXG4gIGluaXQocm9vdDogU2hhZG93Um9vdCk6IHZvaWQge1xyXG4gICAgcm9vdC5pbm5lckhUTUwgPSBgXHJcbiAgICAgIDxzdHlsZT5cclxuICAgICAgICAudGltZXJiYXItcm9vdCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMS4wO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogYXJpYWw7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAtMXB4IDAgM3B4IGJsYWNrLCAwIDFweCAzcHggYmxhY2ssIDFweCAwIDNweCBibGFjaywgMCAtMXB4IDNweCBibGFjaztcclxuICAgICAgICAgIHdpbGwtY2hhbmdlOiBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEuMmV4KTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWVyYmFyLWxlZnR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItY2VudGVydGV4dCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMC40ZW0gMHB4IDAuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4IDAuNGVtIDBweCAwLjRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLnNraW4tbGlwcGUpIC50aW1lcmJhci1iZyB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMjAwOCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0FBNkUwMyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwICNBQTZFMDM7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRpbWVyYmFyLWZnIHtcclxuICAgICAgICAgIGhlaWdodDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgIWltcG9ydGFudDtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBtYXJnaW46IDFweDtcclxuICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxLjA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA6aG9zdC1jb250ZXh0KC5za2luLWxpcHBlKSAudGV4dCB7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzpcclxuICAgICAgICAgICAgMCAwIDNweCAjQUE2RTAzLFxyXG4gICAgICAgICAgICAwIDFweCAzcHggI0FBNkUwMyxcclxuICAgICAgICAgICAgMCAtMXB4IDNweCAjQUE2RTAzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguc2tpbi1saXBwZSkgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1yb290IHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgOmhvc3QtY29udGV4dCguanVzdC1hLW51bWJlcikgLnRpbWVyYmFyLWJnIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpob3N0LWNvbnRleHQoLmp1c3QtYS1udW1iZXIpIC50aW1lcmJhci1mZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvKiBLb3JlYW4gYmV0dGVyIHZpc2liaWxpdHkgQ1NTICovXHJcbiAgICAgICAgOmxhbmcoa28pIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMS41ZXgpO1xyXG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjNleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDpsYW5nKGtvKSAudGltZXJiYXItcmlnaHR0ZXh0IHtcclxuICAgICAgICAgIHRvcDogMC4zZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3N0eWxlPlxyXG4gICAgICA8ZGl2IGlkPVwicm9vdFwiIGNsYXNzPVwidGltZXJiYXItcm9vdFwiPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJiZ1wiIGNsYXNzPVwidGltZXJiYXItYmdcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGlkPVwiZmdcIiBjbGFzcz1cInRpbWVyYmFyLWZnXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImxlZnR0ZXh0XCIgY2xhc3M9XCJ0ZXh0IHRpbWVyYmFyLWxlZnR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY29udGFpbmVyXCI+PGRpdiBpZD1cImNlbnRlcnRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItY2VudGVydGV4dFwiPjwvZGl2PjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRhaW5lclwiPjxkaXYgaWQ9XCJyaWdodHRleHRcIiBjbGFzcz1cInRleHQgdGltZXJiYXItcmlnaHR0ZXh0XCI+PC9kaXY+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYDtcclxuICB9XHJcblxyXG4gIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIGlmICghdGhpcy5fc3RhcnQpXHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29ubmVjdGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBfb2xkVmFsdWU6IHN0cmluZyB8IG51bWJlciwgbmV3VmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG5hbWUgPT09ICdkdXJhdGlvbicpIHtcclxuICAgICAgdGhpcy5fZHVyYXRpb24gPSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCk7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24pO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAndmFsdWUnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUoTWF0aC5tYXgocGFyc2VGbG9hdChuZXdWYWx1ZSksIDApKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2VsYXBzZWQnKSB7XHJcbiAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gLSBNYXRoLm1heChwYXJzZUZsb2F0KG5ld1ZhbHVlKSwgMCkpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnd2lkdGgnKSB7XHJcbiAgICAgIHRoaXMuX3dpZHRoID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoZWlnaHQnKSB7XHJcbiAgICAgIHRoaXMuX2hlaWdodCA9IG5ld1ZhbHVlO1xyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAnYmcnKSB7XHJcbiAgICAgIHRoaXMuX2JnID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdmZycpIHtcclxuICAgICAgdGhpcy5fZmcgPSBuZXdWYWx1ZTtcclxuICAgICAgdGhpcy5sYXlvdXQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3N0eWxlZmlsbCcpIHtcclxuICAgICAgdGhpcy5fZmlsbCA9IG5ld1ZhbHVlID09PSAnZmlsbCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICd0b3dhcmQnKSB7XHJcbiAgICAgIHRoaXMuX3Rvd2FyZFJpZ2h0ID0gbmV3VmFsdWUgPT09ICdyaWdodCc7XHJcbiAgICAgIHRoaXMubGF5b3V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsZWZ0dGV4dCcpIHtcclxuICAgICAgY29uc3QgdXBkYXRlID0gbmV3VmFsdWUgIT09IHRoaXMuX2xlZnRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fbGVmdFRleHQgPSBuZXdWYWx1ZTtcclxuICAgICAgaWYgKHVwZGF0ZSlcclxuICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcclxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ2NlbnRlcnRleHQnKSB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IG5ld1ZhbHVlICE9PSB0aGlzLl9jZW50ZXJUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fY2VudGVyVGV4dCA9IG5ld1ZhbHVlO1xyXG4gICAgICBpZiAodXBkYXRlKVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xyXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncmlnaHR0ZXh0Jykge1xyXG4gICAgICBjb25zdCB1cGRhdGUgPSBuZXdWYWx1ZSAhPT0gdGhpcy5fcmlnaHRUZXh0ICYmIHRoaXMuX2Nvbm5lY3RlZDtcclxuICAgICAgdGhpcy5fcmlnaHRUZXh0ID0gbmV3VmFsdWU7XHJcbiAgICAgIGlmICh1cGRhdGUpXHJcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdoaWRlYWZ0ZXInKSB7XHJcbiAgICAgIHRoaXMuX2hpZGVBZnRlciA9IE1hdGgubWF4KHRoaXMuaGlkZWFmdGVyID8/IDAsIDApO1xyXG4gICAgICBpZiAodGhpcy52YWx1ZSA9PT0gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPj0gMClcclxuICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdsb29wJykge1xyXG4gICAgICB0aGlzLl9sb29wID0gbmV3VmFsdWUgIT09IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5kcmF3KCk7XHJcbiAgfVxyXG5cclxuICBsYXlvdXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuYmFja2dyb3VuZEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5fYmc7XHJcbiAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IHRoaXMuX2ZnO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuX3dpZHRoO1xyXG4gICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLl9oZWlnaHQ7XHJcblxyXG4gICAgLy8gVG8gc3RhcnQgZnVsbCBhbmQgYW5pbWF0ZSB0byBlbXB0eSwgd2UgYW5pbWF0ZSBiYWNrd2FyZHMgYW5kIGZsaXBcclxuICAgIC8vIHRoZSBkaXJlY3Rpb24uXHJcbiAgICBpZiAodGhpcy5fdG93YXJkUmlnaHQgIT09IHRoaXMuX2ZpbGwpIHtcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS5sZWZ0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUucmlnaHQgPSAnMHB4JztcclxuICAgICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAncmlnaHQgY2VudGVyJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnO1xyXG4gICAgICB0aGlzLmZvcmVncm91bmRFbGVtZW50LnN0eWxlLnJpZ2h0ID0gJyc7XHJcbiAgICAgIHRoaXMuZm9yZWdyb3VuZEVsZW1lbnQuc3R5bGUudHJhbnNmb3JtT3JpZ2luID0gJ2xlZnQgY2VudGVyJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVRleHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YXJ5aW5nVGV4dHMgPSBbJ2VsYXBzZWQnLCAnZHVyYXRpb24nLCAncGVyY2VudCcsICdyZW1haW4nXTtcclxuICAgIC8vIFRoZXNlIHZhbHVlcyBhcmUgZmlsbGVkIGluIGR1cmluZyBkcmF3KCkgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX2xlZnRUZXh0KSkge1xyXG4gICAgICAvLyBPdGhlcndpc2UgdGhlIHZhbHVlIGlzIGZpeGVkIHNvIGl0IGNhbiBiZSBzZXQgaGVyZS5cclxuICAgICAgdGhpcy5sZWZ0VGV4dEVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fbGVmdFRleHQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIXZhcnlpbmdUZXh0cy5pbmNsdWRlcyh0aGlzLl9jZW50ZXJUZXh0KSlcclxuICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9jZW50ZXJUZXh0O1xyXG5cclxuICAgIGlmICghdmFyeWluZ1RleHRzLmluY2x1ZGVzKHRoaXMuX3JpZ2h0VGV4dCkpXHJcbiAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLl9yaWdodFRleHQ7XHJcbiAgfVxyXG5cclxuICBkcmF3KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWxhcHNlZFNlYyA9IChEYXRlLm5vdygpIC0gdGhpcy5fc3RhcnQpIC8gMTAwMDtcclxuICAgIGNvbnN0IHJlbWFpblNlYyA9IE1hdGgubWF4KDAsIHRoaXMuX2R1cmF0aW9uIC0gZWxhcHNlZFNlYyk7XHJcbiAgICBsZXQgcGVyY2VudCA9IHRoaXMuX2R1cmF0aW9uIDw9IDAgPyAwIDogcmVtYWluU2VjIC8gdGhpcy5fZHVyYXRpb247XHJcbiAgICAvLyBLZWVwIGl0IGJldHdlZW4gMCBhbmQgMS5cclxuICAgIHBlcmNlbnQgPSBNYXRoLm1pbigxLCBNYXRoLm1heCgwLCBwZXJjZW50KSk7XHJcbiAgICBjb25zdCBkaXNwbGF5UmVtYWluID0gcmVtYWluU2VjID8gcmVtYWluU2VjLnRvRml4ZWQoMSkgOiAnJztcclxuICAgIGNvbnN0IGRpc3BsYXlFbGFwc2VkID0gZWxhcHNlZFNlYy50b0ZpeGVkKDEpO1xyXG4gICAgaWYgKHRoaXMuX2ZpbGwpXHJcbiAgICAgIHBlcmNlbnQgPSAxLjAgLSBwZXJjZW50O1xyXG4gICAgdGhpcy5mb3JlZ3JvdW5kRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgc2NhbGVYKCR7cGVyY2VudC50b0ZpeGVkKDMpfSlgO1xyXG4gICAgaWYgKHRoaXMuX2xlZnRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdyZW1haW4nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlSZW1haW47XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2xlZnRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAke2Rpc3BsYXlSZW1haW59IC8gJHt0aGlzLl9kdXJhdGlvbn1gO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9sZWZ0VGV4dCA9PT0gJ3BlcmNlbnQnKVxyXG4gICAgICAgIHRoaXMubGVmdFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fbGVmdFRleHQgPT09ICdlbGFwc2VkJylcclxuICAgICAgICB0aGlzLmxlZnRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5RWxhcHNlZDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jZW50ZXJUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ3JlbWFpbicpXHJcbiAgICAgICAgdGhpcy5jZW50ZXJUZXh0RWxlbWVudC5pbm5lclRleHQgPSBkaXNwbGF5UmVtYWluO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9jZW50ZXJUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gYCR7ZGlzcGxheVJlbWFpbn0gLyAke3RoaXMuX2R1cmF0aW9ufWA7XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2NlbnRlclRleHQgPT09ICdwZXJjZW50JylcclxuICAgICAgICB0aGlzLmNlbnRlclRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fY2VudGVyVGV4dCA9PT0gJ2VsYXBzZWQnKVxyXG4gICAgICAgIHRoaXMuY2VudGVyVGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheUVsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fcmlnaHRUZXh0ICE9PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncmVtYWluJylcclxuICAgICAgICB0aGlzLnJpZ2h0VGV4dEVsZW1lbnQuaW5uZXJUZXh0ID0gZGlzcGxheVJlbWFpbjtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZHVyYXRpb24nKVxyXG4gICAgICAgIHRoaXMucmlnaHRUZXh0RWxlbWVudC5pbm5lclRleHQgPSBgJHtkaXNwbGF5UmVtYWlufSAvICR7dGhpcy5fZHVyYXRpb259YDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAncGVyY2VudCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGAkeyhwZXJjZW50ICogMTAwKS50b0ZpeGVkKDEpfSAlYDtcclxuICAgICAgZWxzZSBpZiAodGhpcy5fcmlnaHRUZXh0ID09PSAnZWxhcHNlZCcpXHJcbiAgICAgICAgdGhpcy5yaWdodFRleHRFbGVtZW50LmlubmVyVGV4dCA9IGRpc3BsYXlFbGFwc2VkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQXBwbHkgYWxsIHN0eWxlcyBmcm9tIGFuIG9iamVjdCB3aGVyZSBrZXlzIGFyZSBDU1MgcHJvcGVydGllc1xyXG4gIGFwcGx5U3R5bGVzKHN0eWxlczogeyBbczogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSBPYmplY3Qua2V5cyhzdHlsZXMpLm1hcCgoaykgPT4ge1xyXG4gICAgICByZXR1cm4gYCR7a306JHtzdHlsZXM/LltrXSA/PyAnJ307YDtcclxuICAgIH0pLmpvaW4oJycpO1xyXG5cclxuICAgIGNvbnN0IGxlZnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdsZWZ0dGV4dCcpO1xyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgnY2VudGVydGV4dCcpO1xyXG4gICAgY29uc3QgcmlnaHQgPSB0aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCdyaWdodHRleHQnKTtcclxuICAgIGlmICghbGVmdCB8fCAhY2VudGVyIHx8ICFyaWdodClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgbGVmdC5zdHlsZS5jc3NUZXh0ICs9IHM7XHJcbiAgICBjZW50ZXIuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gICAgcmlnaHQuc3R5bGUuY3NzVGV4dCArPSBzO1xyXG4gIH1cclxuXHJcbiAgc2V0dmFsdWUocmVtYWluU2VjOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVsYXBzZWRTZWMgPSBNYXRoLm1heCgwLCB0aGlzLl9kdXJhdGlvbiAtIHJlbWFpblNlYyk7XHJcbiAgICB0aGlzLl9zdGFydCA9IERhdGUubm93KCkgLSAoZWxhcHNlZFNlYyAqIDEwMDApO1xyXG5cclxuICAgIGlmICghdGhpcy5fY29ubmVjdGVkKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVyID8/IDApO1xyXG4gICAgdGhpcy5faGlkZVRpbWVyID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmFkdmFuY2UoKTtcclxuICB9XHJcblxyXG4gIGFkdmFuY2UoKTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGUgZWxlbWVudCBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NLCBzdG9wIHJlcXVlc3RpbmcgYW5pbWF0aW9uIGZyYW1lc1xyXG4gICAgaWYgKCF0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBlbGFwc2VkU2VjID0gKERhdGUubm93KCkgLSB0aGlzLl9zdGFydCkgLyAxMDAwO1xyXG4gICAgaWYgKGVsYXBzZWRTZWMgPj0gdGhpcy5fZHVyYXRpb24pIHtcclxuICAgICAgLy8gVGltZXIgY29tcGxldGVkXHJcbiAgICAgIGlmICh0aGlzLl9sb29wICYmIHRoaXMuX2R1cmF0aW9uID4gMCkge1xyXG4gICAgICAgIC8vIFNldHMgdGhlIHJlbWFpbmluZyB0aW1lIHRvIGluY2x1ZGUgYW55IGV4dHJhIGVsYXBzZWQgc2Vjb25kcyBwYXN0IHRoZSBkdXJhdGlvblxyXG4gICAgICAgIHRoaXMuc2V0dmFsdWUodGhpcy5fZHVyYXRpb24gKyAodGhpcy5fZHVyYXRpb24gLSBlbGFwc2VkU2VjKSAlIHRoaXMuX2R1cmF0aW9uKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNldHMgdGhlIGF0dHJpYnV0ZSB0byAwIHNvIHVzZXJzIGNhbiBzZWUgdGhlIGNvdW50ZXIgaXMgZG9uZSwgYW5kXHJcbiAgICAgIC8vIGlmIHRoZXkgc2V0IHRoZSBzYW1lIGR1cmF0aW9uIGFnYWluIGl0IHdpbGwgY291bnQuXHJcbiAgICAgIHRoaXMuX2R1cmF0aW9uID0gMDtcclxuICAgICAgaWYgKHRoaXMuX2hpZGVBZnRlciA+IDApXHJcbiAgICAgICAgdGhpcy5faGlkZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQodGhpcy5oaWRlLmJpbmQodGhpcyksIHRoaXMuX2hpZGVBZnRlciAqIDEwMDApO1xyXG4gICAgICBlbHNlIGlmICh0aGlzLl9oaWRlQWZ0ZXIgPT09IDApXHJcbiAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaW1lciBub3QgY29tcGxldGVkLCByZXF1ZXN0IGFub3RoZXIgYW5pbWF0aW9uIGZyYW1lXHJcbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5hZHZhbmNlLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJhdygpO1xyXG4gIH1cclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jb25uZWN0ZWQpXHJcbiAgICAgIHRoaXMucm9vdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcbiAgfVxyXG5cclxuICBoaWRlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2Nvbm5lY3RlZClcclxuICAgICAgdGhpcy5yb290RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIH1cclxufVxyXG5cclxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgndGltZXItYmFyJywgVGltZXJCYXIpO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xyXG4gICAgJ3RpbWVyLWJhcic6IFRpbWVyQmFyO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nLCBsYW5nVG9Mb2NhbGUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IE5ldFJlZ2V4ZXMgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25ldHJlZ2V4ZXMnO1xyXG5pbXBvcnQgVGltZXJCYXIgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL3RpbWVyYmFyJztcclxuaW1wb3J0IHsgTG9jYWxlUmVnZXggfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvdHJhbnNsYXRpb25zJztcclxuaW1wb3J0IHsgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IENhY3Rib3RCYXNlUmVnRXhwIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0X3RyaWdnZXInO1xyXG5pbXBvcnQgeyBMb29zZVRpbWVsaW5lVHJpZ2dlciwgUmFpZGJvc3NGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuaW1wb3J0IHsgUG9wdXBUZXh0R2VuZXJhdG9yIH0gZnJvbSAnLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHtcclxuICBFdmVudCxcclxuICBTeW5jLFxyXG4gIFRleHQsXHJcbiAgVGltZWxpbmVQYXJzZXIsXHJcbiAgVGltZWxpbmVSZXBsYWNlbWVudCxcclxuICBUaW1lbGluZVN0eWxlLFxyXG59IGZyb20gJy4vdGltZWxpbmVfcGFyc2VyJztcclxuXHJcbmNvbnN0IGtCaWcgPSAxMDAwMDAwMDAwOyAvLyBTb21ldGhpbmcgYmlnZ2VyIHRoYW4gYW55IGZpZ2h0IGxlbmd0aCBpbiBzZWNvbmRzLlxyXG5cclxuY29uc3QgdGltZWxpbmVJbnN0cnVjdGlvbnMgPSB7XHJcbiAgZW46IFtcclxuICAgICdUaGVzZSBsaW5lcyBhcmUnLFxyXG4gICAgJ2RlYnVnIHRpbWVsaW5lIGVudHJpZXMuJyxcclxuICAgICdJZiB5b3UgbG9jayB0aGUgb3ZlcmxheSwnLFxyXG4gICAgJ3RoZXkgd2lsbCBkaXNhcHBlYXIhJyxcclxuICAgICdSZWFsIHRpbWVsaW5lcyBhdXRvbWF0aWNhbGx5JyxcclxuICAgICdhcHBlYXIgd2hlbiBzdXBwb3J0ZWQuJyxcclxuICBdLFxyXG4gIGRlOiBbXHJcbiAgICAnRGllc2UgWmVpbGVuIHNpbmQnLFxyXG4gICAgJ1RpbWVsaW5lIERlYnVnLUVpbnRyw6RnZS4nLFxyXG4gICAgJ1dlbm4gZHUgZGFzIE92ZXJsYXkgc3BlcnJzdCwnLFxyXG4gICAgJ3dlcmRlbiBzaWUgdmVyc2Nod2luZGVuIScsXHJcbiAgICAnRWNodGUgVGltZWxpbmVzIGVyc2NoZWluZW4gYXV0b21hdGlzY2gsJyxcclxuICAgICd3ZW5uIHNpZSB1bnRlcnN0w7x0enQgd2VyZGVuLicsXHJcbiAgXSxcclxuICBmcjogW1xyXG4gICAgJ0NlcyBsaWduZXMgc29udCcsXHJcbiAgICAnZGVzIHRpbWVsaW5lcyBkZSB0ZXN0LicsXHJcbiAgICAnU2kgdm91cyBibG9xdWV6IGxcXCdvdmVybGF5LCcsXHJcbiAgICAnZWxsZXMgZGlzcGFyYcOudHJvbnQgIScsXHJcbiAgICAnTGVzIHZyYWllcyBUaW1lbGluZXMnLFxyXG4gICAgJ2FwcGFyYcOudHJvbnQgYXV0b21hdGlxdWVtZW50LicsXHJcbiAgXSxcclxuICBqYTogW1xyXG4gICAgJ+OBk+OBoeOCieOBr+ODh+ODkOODg+OCsOeUqOOBricsXHJcbiAgICAn44K/44Kk44Og44Op44Kk44Oz44Gn44GZ44CCJyxcclxuICAgICfjgqrjg7zjg5Djg7zjg6zjgqTjgpLjg63jg4Pjgq/jgZnjgozjgbDjgIEnLFxyXG4gICAgJ+ODh+ODkOODg+OCsOeUqOODhuOCreOCueODiOOCgua2iOOBiOOCiycsXHJcbiAgICAn44K144Od44O844OI44GZ44KL44K+44O844Oz44Gr44Gv44K/44Kk44OgJyxcclxuICAgICfjg6njgqTjg7PjgpLli5XnmoTjgavjg63jg7zjg4njgZnjgovjgIInLFxyXG4gIF0sXHJcbiAgY246IFtcclxuICAgICfmmL7npLrlnKjmraTlpITnmoTmmK8nLFxyXG4gICAgJ+iwg+ivleeUqOaXtumXtOi9tOOAgicsXHJcbiAgICAn5bCG5q2k5oKs5rWu56qX6ZSB5a6aJyxcclxuICAgICfliJnkvJrnq4vliLvmtojlpLEnLFxyXG4gICAgJ+ecn+WunueahOaXtumXtOi9tOS8muagueaNricsXHJcbiAgICAn5b2T5YmN5Yy65Z+f5Yqo5oCB5Yqg6L295bm25pi+56S6JyxcclxuICBdLFxyXG4gIGtvOiBbXHJcbiAgICAn7J20IOunieuMgOuwlOuKlCDrlJTrsoTqt7jsmqknLFxyXG4gICAgJ+2DgOyehOudvOyduCDsnoXri4jri6QuJyxcclxuICAgICfsmKTrsoTroIjsnbTrpbwg7JyE7LmY7J6g6riI7ZWY66m0LCcsXHJcbiAgICAn7J20IOunieuMgOuwlOuPhCDsgqzrnbzsp5Hri4jri6QuJyxcclxuICAgICfsp4Dsm5DrkJjripQg6rWs7Jet7JeQ7IScIO2DgOyehOudvOyduOydtCcsXHJcbiAgICAn7J6Q64+Z7Jy866GcIO2RnOyLnOuQqeuLiOuLpC4nLFxyXG4gIF0sXHJcbn07XHJcblxyXG5jb25zdCBhY3RpdmVUZXh0ID0ge1xyXG4gIGVuOiAnQWN0aXZlOicsXHJcbiAgZGU6ICdBa3RpdjonLFxyXG4gIGZyOiAnQWN0aXZlIDonLFxyXG4gIGphOiAnKOmAsuihjCk6JyxcclxuICBjbjogJyjov5vooYzkuK0pOicsXHJcbiAga286ICfsi5zsoITspJE6JyxcclxufTtcclxuXHJcbi8vIFRPRE86IER1cGxpY2F0ZWQgaW4gJ2pvYnMnXHJcbmNvbnN0IGNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc0xpc3Q6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgY29uc3QgY2xhc3NlcyA9IGNsYXNzTGlzdC5zcGxpdCgnLicpO1xyXG4gIGZvciAoY29uc3QgY2xzIG9mIGNsYXNzZXMpXHJcbiAgICBkaXYuY2xhc3NMaXN0LmFkZChjbHMpO1xyXG4gIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZGl2KTtcclxuICBjb25zdCBjb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuYmFja2dyb3VuZENvbG9yO1xyXG4gIGVsZW1lbnQucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICByZXR1cm4gY29sb3I7XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmUge1xyXG4gIHByaXZhdGUgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zO1xyXG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W107XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlVGV4dDogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZVN5bmNzOiBTeW5jW107XHJcbiAgcHJpdmF0ZSBhY3RpdmVFdmVudHM6IEV2ZW50W107XHJcblxyXG4gIHB1YmxpYyBpZ25vcmVzOiB7IFtpZ25vcmVJZDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHB1YmxpYyBldmVudHM6IEV2ZW50W107XHJcbiAgcHVibGljIHRleHRzOiBUZXh0W107XHJcbiAgcHVibGljIHN5bmNTdGFydHM6IFN5bmNbXTtcclxuICBwdWJsaWMgc3luY0VuZHM6IFN5bmNbXTtcclxuXHJcbiAgcHVibGljIHRpbWViYXNlID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBuZXh0RXZlbnQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFRleHQgPSAwO1xyXG4gIHByaXZhdGUgbmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgcHJpdmF0ZSBuZXh0U3luY0VuZCA9IDA7XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGltZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgdWk/OiBUaW1lbGluZVVJO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLFxyXG4gICAgdHJpZ2dlcnM6IExvb3NlVGltZWxpbmVUcmlnZ2VyW10sXHJcbiAgICBzdHlsZXM6IFRpbWVsaW5lU3R5bGVbXSxcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByaXZhdGUgem9uZUlkOiBudW1iZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5yZXBsYWNlbWVudHMgPSByZXBsYWNlbWVudHM7XHJcblxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5hY3RpdmVUZXh0ID0gbGFuZyBpbiBhY3RpdmVUZXh0ID8gYWN0aXZlVGV4dFtsYW5nXSA6IGFjdGl2ZVRleHRbJ2VuJ107XHJcblxyXG4gICAgLy8gTm90IHNvcnRlZC5cclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gICAgLy8gQSBzZXQgb2YgbmFtZXMgd2hpY2ggd2lsbCBub3QgYmUgbm90aWZpZWQgYWJvdXQuXHJcbiAgICB0aGlzLmlnbm9yZXMgPSB7fTtcclxuICAgIC8vIFNvcnRlZCBieSBldmVudCBvY2N1cnJlbmNlIHRpbWUuXHJcbiAgICB0aGlzLmV2ZW50cyA9IFtdO1xyXG4gICAgLy8gU29ydGVkIGJ5IGV2ZW50IG9jY3VycmVuY2UgdGltZS5cclxuICAgIHRoaXMudGV4dHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLnN0YXJ0IHRpbWUuXHJcbiAgICB0aGlzLnN5bmNTdGFydHMgPSBbXTtcclxuICAgIC8vIFNvcnRlZCBieSBzeW5jLmVuZCB0aW1lLlxyXG4gICAgdGhpcy5zeW5jRW5kcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuTG9hZEZpbGUodGV4dCwgdHJpZ2dlcnMsIHN0eWxlcyk7XHJcbiAgICB0aGlzLlN0b3AoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgTG9hZEZpbGUodGV4dDogc3RyaW5nLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSwgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBUaW1lbGluZVBhcnNlcihcclxuICAgICAgdGV4dCxcclxuICAgICAgdGhpcy5yZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgdGhpcy56b25lSWQsXHJcbiAgICApO1xyXG4gICAgdGhpcy5pZ25vcmVzID0gcGFyc2VkLmlnbm9yZXM7XHJcbiAgICB0aGlzLmV2ZW50cyA9IHBhcnNlZC5ldmVudHM7XHJcbiAgICB0aGlzLnRleHRzID0gcGFyc2VkLnRleHRzO1xyXG4gICAgdGhpcy5zeW5jU3RhcnRzID0gcGFyc2VkLnN5bmNTdGFydHM7XHJcbiAgICB0aGlzLnN5bmNFbmRzID0gcGFyc2VkLnN5bmNFbmRzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFN0b3AoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWViYXNlID0gMDtcclxuXHJcbiAgICB0aGlzLm5leHRFdmVudCA9IDA7XHJcbiAgICB0aGlzLm5leHRUZXh0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNTdGFydCA9IDA7XHJcbiAgICB0aGlzLm5leHRTeW5jRW5kID0gMDtcclxuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IDA7XHJcbiAgICB0aGlzLl9BZHZhbmNlVGltZVRvKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NvbGxlY3RBY3RpdmVTeW5jcyhmaWdodE5vdyk7XHJcblxyXG4gICAgdGhpcy5fQ2xlYXJUaW1lcnMoKTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBTeW5jVG8oZmlnaHROb3c6IG51bWJlciwgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gVGhpcyByZWNvcmRzIHRoZSBhY3R1YWwgdGltZSB3aGljaCBhbGlnbnMgd2l0aCBcIjBcIiBpbiB0aGUgdGltZWxpbmUuXHJcbiAgICBjb25zdCBuZXdUaW1lYmFzZSA9IG5ldyBEYXRlKGN1cnJlbnRUaW1lIC0gZmlnaHROb3cgKiAxMDAwKS52YWx1ZU9mKCk7XHJcbiAgICAvLyBTa2lwIHN5bmNzIHRoYXQgYXJlIHRvbyBjbG9zZS4gIE1hbnkgc3luY3MgaGFwcGVuIG9uIGFiaWxpdGllcyB0aGF0XHJcbiAgICAvLyBoaXQgOCB0byAyNCBwZW9wbGUsIGFuZCBzbyB0aGlzIGlzIGEgbG90IG9mIGNodXJuLlxyXG4gICAgaWYgKE1hdGguYWJzKG5ld1RpbWViYXNlIC0gdGhpcy50aW1lYmFzZSkgPD0gMilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50aW1lYmFzZSA9IG5ld1RpbWViYXNlO1xyXG5cclxuICAgIHRoaXMubmV4dEV2ZW50ID0gMDtcclxuICAgIHRoaXMubmV4dFRleHQgPSAwO1xyXG4gICAgdGhpcy5uZXh0U3luY1N0YXJ0ID0gMDtcclxuICAgIHRoaXMubmV4dFN5bmNFbmQgPSAwO1xyXG5cclxuICAgIC8vIFRoaXMgd2lsbCBza2lwIHRleHQgZXZlbnRzIHdpdGhvdXQgcnVubmluZyB0aGVtLlxyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIC8vIENsZWFyIGFsbCB0aW1lcnMgZXhjZXB0IGFueSBzeW50aGV0aWMgZHVyYXRpb24gZXZlbnRzLlxyXG4gICAgLy8gVGhpcyBpcyBiZWNhdXNlIGlmIHRoZSBzeW5jIGdvZXMgZXZlbiBhIGhhaXIgaW50byB0aGUgZnV0dXJlLCB0aGVuXHJcbiAgICAvLyB0aGUgZHVyYXRpb24gZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRyb3BwZWQgaGVyZS5cclxuXHJcbiAgICAvLyBGSVhNRTogd2UgY291bGQgYmUgc21hcnRlciBoZXJlIGFuZCBrbm93IGFoZWFkIG9mIHRpbWUgd2hlcmUgYWxsIHRoZSBkdXJhdGlvblxyXG4gICAgLy8gZXZlbnRzIGFyZSwgc28gdGhhdCB3ZSBjb3VsZCBza2lwIGFoZWFkIGludG8gdGhlIGZ1dHVyZSB3aGVyZSBhIGR1cmF0aW9uXHJcbiAgICAvLyBldmVudCBoYXMgc3RhcnRlZCBidXQgbm90IGV4cGlyZWQgYW5kIGhhdmUgdGhhdCB3b3JrIHByb3Blcmx5LlxyXG4gICAgdGhpcy5fQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZFVwY29taW5nVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX0NhbmNlbFVwZGF0ZSgpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMudWk/Lk9uU3luY1RpbWUoZmlnaHROb3csIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ29sbGVjdEFjdGl2ZVN5bmNzKGZpZ2h0Tm93OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlU3luY3MgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSB0aGlzLm5leHRTeW5jRW5kOyBpIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGg7ICsraSkge1xyXG4gICAgICBjb25zdCBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1tpXTtcclxuICAgICAgaWYgKHN5bmNFbmQgJiYgc3luY0VuZC5zdGFydCA8PSBmaWdodE5vdylcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5bmNzLnB1c2goc3luY0VuZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25Mb2dMaW5lKGxpbmU6IHN0cmluZywgY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCBzeW5jIG9mIHRoaXMuYWN0aXZlU3luY3MpIHtcclxuICAgICAgaWYgKGxpbmUuc2VhcmNoKHN5bmMucmVnZXgpID49IDApIHtcclxuICAgICAgICBpZiAoJ2p1bXAnIGluIHN5bmMpIHtcclxuICAgICAgICAgIGlmICghc3luYy5qdW1wKVxyXG4gICAgICAgICAgICB0aGlzLlN0b3AoKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5TeW5jVG8oc3luYy5qdW1wLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuU3luY1RvKHN5bmMudGltZSwgY3VycmVudFRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWR2YW5jZVRpbWVUbyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgZXZlbnQgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0RXZlbnQgPCB0aGlzLmV2ZW50cy5sZW5ndGggJiYgZXZlbnQgJiYgZXZlbnQudGltZSA8PSBmaWdodE5vdylcclxuICAgICAgZXZlbnQgPSB0aGlzLmV2ZW50c1srK3RoaXMubmV4dEV2ZW50XTtcclxuICAgIGxldCB0ZXh0ID0gdGhpcy50ZXh0c1t0aGlzLm5leHRUZXh0XTtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGggJiYgdGV4dCAmJiB0ZXh0LnRpbWUgPD0gZmlnaHROb3cpXHJcbiAgICAgIHRleHQgPSB0aGlzLnRleHRzWysrdGhpcy5uZXh0VGV4dF07XHJcbiAgICBsZXQgc3luY1N0YXJ0ID0gdGhpcy5zeW5jU3RhcnRzW3RoaXMubmV4dFN5bmNTdGFydF07XHJcbiAgICB3aGlsZSAodGhpcy5uZXh0U3luY1N0YXJ0IDwgdGhpcy5zeW5jU3RhcnRzLmxlbmd0aCAmJiBzeW5jU3RhcnQgJiYgc3luY1N0YXJ0LnN0YXJ0IDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jU3RhcnQgPSB0aGlzLnN5bmNTdGFydHNbKyt0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgbGV0IHN5bmNFbmQgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgd2hpbGUgKHRoaXMubmV4dFN5bmNFbmQgPCB0aGlzLnN5bmNFbmRzLmxlbmd0aCAmJiBzeW5jRW5kICYmIHN5bmNFbmQuZW5kIDw9IGZpZ2h0Tm93KVxyXG4gICAgICBzeW5jRW5kID0gdGhpcy5zeW5jRW5kc1srK3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJUaW1lcnMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGFjdGl2ZUV2ZW50IG9mIHRoaXMuYWN0aXZlRXZlbnRzKVxyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCBmYWxzZSk7XHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQ2xlYXJFeGNlcHRSdW5uaW5nRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZHVyYXRpb25FdmVudHMgPSBbXTtcclxuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgdGhpcy5hY3RpdmVFdmVudHMpIHtcclxuICAgICAgaWYgKGV2ZW50LmlzRHVyICYmIGV2ZW50LnRpbWUgPiBmaWdodE5vdykge1xyXG4gICAgICAgIGR1cmF0aW9uRXZlbnRzLnB1c2goZXZlbnQpO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudWk/Lk9uUmVtb3ZlVGltZXIoZXZlbnQsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUV2ZW50cyA9IGR1cmF0aW9uRXZlbnRzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfUmVtb3ZlRXhwaXJlZFRpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlRXZlbnQgPSB0aGlzLmFjdGl2ZUV2ZW50c1swXTtcclxuICAgIHdoaWxlICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggJiYgYWN0aXZlRXZlbnQgJiYgYWN0aXZlRXZlbnQudGltZSA8PSBmaWdodE5vdykge1xyXG4gICAgICB0aGlzLnVpPy5PblJlbW92ZVRpbWVyKGFjdGl2ZUV2ZW50LCB0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKDAsIDEpO1xyXG4gICAgICBhY3RpdmVFdmVudCA9IHRoaXMuYWN0aXZlRXZlbnRzWzBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfQWRkRHVyYXRpb25UaW1lcnMoZmlnaHROb3c6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZXZlbnRzID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmFjdGl2ZUV2ZW50c1tpXTtcclxuICAgICAgaWYgKGUgJiYgZS50aW1lIDw9IGZpZ2h0Tm93ICYmIGUuZHVyYXRpb24pIHtcclxuICAgICAgICBjb25zdCBkdXJhdGlvbkV2ZW50OiBFdmVudCA9IHtcclxuICAgICAgICAgIGlkOiBlLmlkLFxyXG4gICAgICAgICAgdGltZTogZS50aW1lICsgZS5kdXJhdGlvbixcclxuICAgICAgICAgIHNvcnRLZXk6IGUuc29ydEtleSxcclxuICAgICAgICAgIG5hbWU6IGUubmFtZSxcclxuICAgICAgICAgIHRleHQ6IGAke3RoaXMuYWN0aXZlVGV4dH0gJHtlLnRleHR9YCxcclxuICAgICAgICAgIGlzRHVyOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgZXZlbnRzLnB1c2goZHVyYXRpb25FdmVudCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIHRoaXMudWk/Lk9uQWRkVGltZXIoZmlnaHROb3csIGR1cmF0aW9uRXZlbnQsIHRydWUpO1xyXG4gICAgICAgIC0taTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50cy5sZW5ndGgpXHJcbiAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuYWN0aXZlRXZlbnRzLCBldmVudHMpO1xyXG4gICAgdGhpcy5hY3RpdmVFdmVudHMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICByZXR1cm4gYS50aW1lIC0gYi50aW1lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9BZGRVcGNvbWluZ1RpbWVycyhmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAoXHJcbiAgICAgIHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlRXZlbnRzLmxlbmd0aCA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc1xyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGUgPSB0aGlzLmV2ZW50c1t0aGlzLm5leHRFdmVudF07XHJcbiAgICAgIGlmICghZSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLlNob3dUaW1lckJhcnNBdFNlY29uZHMpXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGlmIChmaWdodE5vdyA8IGUudGltZSAmJiAhKGUubmFtZSBpbiB0aGlzLmlnbm9yZXMpKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVFdmVudHMucHVzaChlKTtcclxuICAgICAgICB0aGlzLnVpPy5PbkFkZFRpbWVyKGZpZ2h0Tm93LCBlLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgKyt0aGlzLm5leHRFdmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0FkZFBhc3NlZFRleHRzKGZpZ2h0Tm93OiBudW1iZXIsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHdoaWxlICh0aGlzLm5leHRUZXh0IDwgdGhpcy50ZXh0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgdCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmICghdClcclxuICAgICAgICBicmVhaztcclxuICAgICAgaWYgKHQudGltZSA+IGZpZ2h0Tm93KVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBpZiAodC50eXBlID09PSAnaW5mbycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TaG93SW5mb1RleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsZXJ0JylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGVydFRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ2FsYXJtJylcclxuICAgICAgICB0aGlzLnVpPy5PblNob3dBbGFybVRleHQodC50ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgICAgIGVsc2UgaWYgKHQudHlwZSA9PT0gJ3R0cycpXHJcbiAgICAgICAgdGhpcy51aT8uT25TcGVha1RUUyh0LnRleHQsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgZWxzZSBpZiAodC50eXBlID09PSAndHJpZ2dlcicpXHJcbiAgICAgICAgdGhpcy51aT8uT25UcmlnZ2VyKHQudHJpZ2dlciwgdC5tYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgICAgICsrdGhpcy5uZXh0VGV4dDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0NhbmNlbFVwZGF0ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyKSB7XHJcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lcik7XHJcbiAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9TY2hlZHVsZVVwZGF0ZShmaWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnRpbWViYXNlLCAnX1NjaGVkdWxlVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgbGV0IG5leHRFdmVudFN0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0VGV4dE9jY3VycyA9IGtCaWc7XHJcbiAgICBsZXQgbmV4dEV2ZW50RW5kaW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY1N0YXJ0aW5nID0ga0JpZztcclxuICAgIGxldCBuZXh0U3luY0VuZGluZyA9IGtCaWc7XHJcblxyXG4gICAgaWYgKHRoaXMubmV4dEV2ZW50IDwgdGhpcy5ldmVudHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5leHRFdmVudCA9IHRoaXMuZXZlbnRzW3RoaXMubmV4dEV2ZW50XTtcclxuICAgICAgaWYgKG5leHRFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IG5leHRFdmVudEVuZHNBdCA9IG5leHRFdmVudC50aW1lO1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dEV2ZW50U3RhcnRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICduZXh0RXZlbnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgbW9yZSBldmVudHMgdGhhbiB3ZSBjYW4gc2hvdywgc28gdGhlIG5leHQgZXZlbnQgbWlnaHQgYmUgaW5cclxuICAgICAgICAvLyB0aGUgcGFzdC4gSWYgdGhhdCBoYXBwZW5zLCB0aGVuIGlnbm9yZSBpdCwgYXMgd2UgY2FuJ3QgdXNlIHRoYXQgZm9yIG91ciB0aW1lci5cclxuICAgICAgICBjb25zdCBzaG93TmV4dEV2ZW50QXQgPSBuZXh0RXZlbnRFbmRzQXQgLSB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgICAgICBpZiAoc2hvd05leHRFdmVudEF0ID4gZmlnaHROb3cpXHJcbiAgICAgICAgICBuZXh0RXZlbnRTdGFydGluZyA9IHNob3dOZXh0RXZlbnRBdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFRleHQgPCB0aGlzLnRleHRzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBuZXh0VGV4dCA9IHRoaXMudGV4dHNbdGhpcy5uZXh0VGV4dF07XHJcbiAgICAgIGlmIChuZXh0VGV4dCkge1xyXG4gICAgICAgIG5leHRUZXh0T2NjdXJzID0gbmV4dFRleHQudGltZTtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRUZXh0T2NjdXJzID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFRleHQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFjdGl2ZUV2ZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFjdGl2ZUV2ZW50ID0gdGhpcy5hY3RpdmVFdmVudHNbMF07XHJcbiAgICAgIGlmIChhY3RpdmVFdmVudCkge1xyXG4gICAgICAgIG5leHRFdmVudEVuZGluZyA9IGFjdGl2ZUV2ZW50LnRpbWU7XHJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoXHJcbiAgICAgICAgICBuZXh0RXZlbnRFbmRpbmcgPiBmaWdodE5vdyxcclxuICAgICAgICAgICdFeHBpcmVkIGFjdGl2ZUV2ZW50cyB3ZXJlblxcJ3QgcHJ1bmVkIGJlZm9yZSBjYWxsaW5nIF9TY2hlZHVsZVVwZGF0ZScsXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubmV4dFN5bmNTdGFydCA8IHRoaXMuc3luY1N0YXJ0cy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY1N0YXJ0cyA9IHRoaXMuc3luY1N0YXJ0c1t0aGlzLm5leHRTeW5jU3RhcnRdO1xyXG4gICAgICBpZiAoc3luY1N0YXJ0cykge1xyXG4gICAgICAgIG5leHRTeW5jU3RhcnRpbmcgPSBzeW5jU3RhcnRzLnN0YXJ0O1xyXG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxyXG4gICAgICAgICAgbmV4dFN5bmNTdGFydGluZyA+IGZpZ2h0Tm93LFxyXG4gICAgICAgICAgJ25leHRTeW5jU3RhcnQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5leHRTeW5jRW5kIDwgdGhpcy5zeW5jRW5kcy5sZW5ndGgpIHtcclxuICAgICAgY29uc3Qgc3luY0VuZHMgPSB0aGlzLnN5bmNFbmRzW3RoaXMubmV4dFN5bmNFbmRdO1xyXG4gICAgICBpZiAoc3luY0VuZHMpIHtcclxuICAgICAgICBuZXh0U3luY0VuZGluZyA9IHN5bmNFbmRzLmVuZDtcclxuICAgICAgICBjb25zb2xlLmFzc2VydChcclxuICAgICAgICAgIG5leHRTeW5jRW5kaW5nID4gZmlnaHROb3csXHJcbiAgICAgICAgICAnbmV4dFN5bmNFbmQgd2FzblxcJ3QgdXBkYXRlZCBiZWZvcmUgY2FsbGluZyBfU2NoZWR1bGVVcGRhdGUnLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXh0VGltZSA9IE1hdGgubWluKFxyXG4gICAgICBuZXh0RXZlbnRTdGFydGluZyxcclxuICAgICAgbmV4dEV2ZW50RW5kaW5nLFxyXG4gICAgICBuZXh0VGV4dE9jY3VycyxcclxuICAgICAgbmV4dFN5bmNTdGFydGluZyxcclxuICAgICAgbmV4dFN5bmNFbmRpbmcsXHJcbiAgICApO1xyXG4gICAgaWYgKG5leHRUaW1lICE9PSBrQmlnKSB7XHJcbiAgICAgIGNvbnNvbGUuYXNzZXJ0KG5leHRUaW1lID4gZmlnaHROb3csICduZXh0VGltZSBpcyBpbiB0aGUgcGFzdCcpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fT25VcGRhdGVUaW1lcihEYXRlLm5vdygpKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChuZXh0VGltZSAtIGZpZ2h0Tm93KSAqIDEwMDAsXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgX09uVXBkYXRlVGltZXIoY3VycmVudFRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy50aW1lYmFzZSwgJ19PblRpbWVyVXBkYXRlIGNhbGxlZCB3aGlsZSBzdG9wcGVkJyk7XHJcblxyXG4gICAgLy8gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgaW50byB0aGUgZmlnaHQgKHN1YnRyYWN0aW5nIERhdGVzIGdpdmVzIG1pbGxpc2Vjb25kcykuXHJcbiAgICBjb25zdCBmaWdodE5vdyA9IChjdXJyZW50VGltZSAtIHRoaXMudGltZWJhc2UpIC8gMTAwMDtcclxuICAgIC8vIFNlbmQgdGV4dCBldmVudHMgbm93IG9yIHRoZXknZCBiZSBza2lwcGVkIGJ5IF9BZHZhbmNlVGltZVRvKCkuXHJcbiAgICB0aGlzLl9BZGRQYXNzZWRUZXh0cyhmaWdodE5vdywgY3VycmVudFRpbWUpO1xyXG4gICAgdGhpcy5fQWR2YW5jZVRpbWVUbyhmaWdodE5vdyk7XHJcbiAgICB0aGlzLl9Db2xsZWN0QWN0aXZlU3luY3MoZmlnaHROb3cpO1xyXG5cclxuICAgIHRoaXMuX0FkZER1cmF0aW9uVGltZXJzKGZpZ2h0Tm93KTtcclxuICAgIHRoaXMuX1JlbW92ZUV4cGlyZWRUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fQWRkVXBjb21pbmdUaW1lcnMoZmlnaHROb3cpO1xyXG4gICAgdGhpcy5fU2NoZWR1bGVVcGRhdGUoZmlnaHROb3cpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lVUkge1xyXG4gIHByaXZhdGUgaW5pdDogYm9vbGVhbjtcclxuICBwcml2YXRlIGxhbmc6IExhbmc7XHJcblxyXG4gIHByaXZhdGUgcm9vdDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGJhckV4cGlyZXNTb29uQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgdGltZXJsaXN0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIGFjdGl2ZUJhcnM6IHsgW2FjdGl2ZWJhcjogc3RyaW5nXTogVGltZXJCYXIgfSA9IHt9O1xyXG4gIHByaXZhdGUgZXhwaXJlVGltZXJzOiB7IFtleHBpcmVUaW1lcjogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkZWJ1Z0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBkZWJ1Z0ZpZ2h0VGltZXI6IFRpbWVyQmFyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByb3RlY3RlZCB0aW1lbGluZTogVGltZWxpbmUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBwb3B1cFRleHQ/OiBQb3B1cFRleHRHZW5lcmF0b3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLmluaXQgPSBmYWxzZTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMub3B0aW9ucy5UaW1lbGluZUxhbmd1YWdlIHx8IHRoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5BZGREZWJ1Z0luc3RydWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbml0KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLmluaXQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1jb250YWluZXInKTtcclxuICAgIGlmICghdGhpcy5yb290KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhblxcJ3QgZmluZCB0aW1lbGluZS1jb250YWluZXInKTtcclxuXHJcbiAgICAvLyBUT0RPOiBsZWZ0IGZvciBub3cgYXMgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCB1c2VyIGNzcy4gIFJlbW92ZSB0aGlzIGxhdGVyPz9cclxuICAgIHRoaXMucm9vdC5jbGFzc0xpc3QuYWRkKGBsYW5nLSR7dGhpcy5sYW5nfWApO1xyXG4gICAgdGhpcy5yb290LmxhbmcgPSBsYW5nVG9Mb2NhbGUodGhpcy5sYW5nKTtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuU2tpbilcclxuICAgICAgdGhpcy5yb290LmNsYXNzTGlzdC5hZGQoYHNraW4tJHt0aGlzLm9wdGlvbnMuU2tpbn1gKTtcclxuXHJcbiAgICB0aGlzLmJhckNvbG9yID0gY29tcHV0ZUJhY2tncm91bmRDb2xvckZyb20odGhpcy5yb290LCAndGltZWxpbmUtYmFyLWNvbG9yJyk7XHJcbiAgICB0aGlzLmJhckV4cGlyZXNTb29uQ29sb3IgPSBjb21wdXRlQmFja2dyb3VuZENvbG9yRnJvbSh0aGlzLnJvb3QsICd0aW1lbGluZS1iYXItY29sb3Iuc29vbicpO1xyXG5cclxuICAgIHRoaXMudGltZXJsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lJyk7XHJcbiAgICBpZiAodGhpcy50aW1lcmxpc3QpIHtcclxuICAgICAgdGhpcy50aW1lcmxpc3Quc3R5bGUuZ3JpZFRlbXBsYXRlUm93cyA9XHJcbiAgICAgICAgYHJlcGVhdCgke3RoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyc30sIG1pbi1jb250ZW50KWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RpdmVCYXJzID0ge307XHJcbiAgICB0aGlzLmV4cGlyZVRpbWVycyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIEFkZERlYnVnSW5zdHJ1Y3Rpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMubGFuZyBpbiB0aW1lbGluZUluc3RydWN0aW9ucyA/IHRoaXMubGFuZyA6ICdlbic7XHJcbiAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSB0aW1lbGluZUluc3RydWN0aW9uc1tsYW5nXTtcclxuXHJcbiAgICAvLyBIZWxwZXIgZm9yIHBvc2l0aW9uaW5nL3Jlc2l6aW5nIHdoZW4gbG9ja2VkLlxyXG4gICAgY29uc3QgaGVscGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVsaW5lLXJlc2l6ZS1oZWxwZXInKTtcclxuICAgIGlmICghaGVscGVyKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCByb3dzID0gTWF0aC5tYXgoNiwgdGhpcy5vcHRpb25zLk1heE51bWJlck9mVGltZXJCYXJzKTtcclxuICAgIGhlbHBlci5zdHlsZS5ncmlkVGVtcGxhdGVSb3dzID0gYHJlcGVhdCgke3Jvd3N9LCAxZnIpYDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3B0aW9ucy5NYXhOdW1iZXJPZlRpbWVyQmFyczsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGhlbHBlckJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBpZiAoIWhlbHBlckJhcilcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3RleHQnKTtcclxuICAgICAgaGVscGVyQmFyLmNsYXNzTGlzdC5hZGQoJ3Jlc2l6ZS1oZWxwZXItYmFyJyk7XHJcbiAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCd0aW1lbGluZS1iYXItY29sb3InKTtcclxuICAgICAgaWYgKGkgPCAxKVxyXG4gICAgICAgIGhlbHBlckJhci5jbGFzc0xpc3QuYWRkKCdzb29uJyk7XHJcbiAgICAgIGlmIChpIDwgaW5zdHJ1Y3Rpb25zLmxlbmd0aClcclxuICAgICAgICBoZWxwZXJCYXIuaW5uZXJUZXh0ID0gaW5zdHJ1Y3Rpb25zW2ldID8/ICcnO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgaGVscGVyQmFyLmlubmVyVGV4dCA9IGAke2kgKyAxfWA7XHJcbiAgICAgIGhlbHBlci5hcHBlbmRDaGlsZChoZWxwZXJCYXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvciBzaW1wbGljaXR5IGluIGNvZGUsIGFsd2F5cyBtYWtlIGRlYnVnRWxlbWVudCB2YWxpZCxcclxuICAgIC8vIGhvd2V2ZXIgaXQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHJhaWQgZW11bGF0b3IuXHJcbiAgICB0aGlzLmRlYnVnRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lbGluZS1kZWJ1ZycpO1xyXG4gICAgaWYgKCF0aGlzLmRlYnVnRWxlbWVudClcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0OiBQb3B1cFRleHRHZW5lcmF0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMucG9wdXBUZXh0ID0gcG9wdXBUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFRpbWVsaW5lKHRpbWVsaW5lOiBUaW1lbGluZSB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuSW5pdCgpO1xyXG4gICAgaWYgKHRoaXMudGltZWxpbmUpIHtcclxuICAgICAgZGVsZXRlIHRoaXMudGltZWxpbmUudWk7XHJcbiAgICAgIHdoaWxlICh0aGlzLnRpbWVybGlzdCAmJiB0aGlzLnRpbWVybGlzdC5sYXN0Q2hpbGQpXHJcbiAgICAgICAgdGhpcy50aW1lcmxpc3QucmVtb3ZlQ2hpbGQodGhpcy50aW1lcmxpc3QubGFzdENoaWxkKTtcclxuICAgICAgaWYgKHRoaXMuZGVidWdFbGVtZW50KVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LmlubmVySFRNTCA9ICcnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IG51bGw7XHJcbiAgICAgIHRoaXMuYWN0aXZlQmFycyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGltZWxpbmUgPSB0aW1lbGluZTtcclxuICAgIGlmICh0aGlzLnRpbWVsaW5lKVxyXG4gICAgICB0aGlzLnRpbWVsaW5lLnVpID0gdGhpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBPbkFkZFRpbWVyKGZpZ2h0Tm93OiBudW1iZXIsIGU6IEV2ZW50LCBjaGFubmVsaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGNvbnN0IGJhciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgZGl2LmNsYXNzTGlzdC5hZGQoJ3RpbWVyLWJhcicpO1xyXG4gICAgZGl2LmFwcGVuZENoaWxkKGJhcik7XHJcbiAgICBiYXIuZHVyYXRpb24gPSBjaGFubmVsaW5nID8gZS50aW1lIC0gZmlnaHROb3cgOiB0aGlzLm9wdGlvbnMuU2hvd1RpbWVyQmFyc0F0U2Vjb25kcztcclxuICAgIGJhci52YWx1ZSA9IGUudGltZSAtIGZpZ2h0Tm93O1xyXG4gICAgYmFyLnJpZ2h0dGV4dCA9ICdyZW1haW4nO1xyXG4gICAgYmFyLmxlZnR0ZXh0ID0gZS50ZXh0O1xyXG4gICAgYmFyLnRvd2FyZCA9ICdyaWdodCc7XHJcbiAgICBiYXIuc3R5bGVmaWxsID0gIWNoYW5uZWxpbmcgPyAnZmlsbCcgOiAnZW1wdHknO1xyXG5cclxuICAgIGlmIChlLnN0eWxlKVxyXG4gICAgICBiYXIuYXBwbHlTdHlsZXMoZS5zdHlsZSk7XHJcblxyXG4gICAgaWYgKCFjaGFubmVsaW5nICYmIGUudGltZSAtIGZpZ2h0Tm93ID4gdGhpcy5vcHRpb25zLkJhckV4cGlyZXNTb29uU2Vjb25kcykge1xyXG4gICAgICBiYXIuZmcgPSB0aGlzLmJhckNvbG9yO1xyXG4gICAgICB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgICB0aGlzLk9uVGltZXJFeHBpcmVzU29vbi5iaW5kKHRoaXMsIGUuaWQpLFxyXG4gICAgICAgIChlLnRpbWUgLSBmaWdodE5vdyAtIHRoaXMub3B0aW9ucy5CYXJFeHBpcmVzU29vblNlY29uZHMpICogMTAwMCxcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJhci5mZyA9IHRoaXMuYmFyRXhwaXJlc1Nvb25Db2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGRpbmcgYSB0aW1lciB3aXRoIHRoZSBzYW1lIGlkIGltbWVkaWF0ZWx5IHJlbW92ZXMgdGhlIHByZXZpb3VzLlxyXG4gICAgY29uc3QgYWN0aXZlQmFyID0gdGhpcy5hY3RpdmVCYXJzW2UuaWRdO1xyXG4gICAgaWYgKGFjdGl2ZUJhcikge1xyXG4gICAgICBjb25zdCBkaXYgPSBhY3RpdmVCYXIucGFyZW50Tm9kZTtcclxuICAgICAgZGl2Py5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlLnNvcnRLZXkpXHJcbiAgICAgIGRpdi5zdHlsZS5vcmRlciA9IGUuc29ydEtleS50b1N0cmluZygpO1xyXG4gICAgZGl2LmlkID0gZS5pZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy50aW1lcmxpc3Q/LmFwcGVuZENoaWxkKGRpdik7XHJcbiAgICB0aGlzLmFjdGl2ZUJhcnNbZS5pZF0gPSBiYXI7XHJcbiAgICBpZiAoZS5pZCBpbiB0aGlzLmV4cGlyZVRpbWVycykge1xyXG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdKTtcclxuICAgICAgZGVsZXRlIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uVGltZXJFeHBpcmVzU29vbihpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbaWRdO1xyXG4gICAgaWYgKGJhcilcclxuICAgICAgYmFyLmZnID0gdGhpcy5iYXJFeHBpcmVzU29vbkNvbG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uUmVtb3ZlVGltZXIoZTogRXZlbnQsIGV4cGlyZWQ6IGJvb2xlYW4sIGZvcmNlID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICghZm9yY2UgJiYgZXhwaXJlZCAmJiB0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzKSB7XHJcbiAgICAgIHRoaXMuZXhwaXJlVGltZXJzW2UuaWRdID0gd2luZG93LnNldFRpbWVvdXQoXHJcbiAgICAgICAgdGhpcy5PblJlbW92ZVRpbWVyLmJpbmQodGhpcywgZSwgZmFsc2UpLFxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMgKiAxMDAwLFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2UgaWYgKGUuaWQgaW4gdGhpcy5leHBpcmVUaW1lcnMpIHtcclxuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXSk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmV4cGlyZVRpbWVyc1tlLmlkXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBiYXIgPSB0aGlzLmFjdGl2ZUJhcnNbZS5pZF07XHJcbiAgICBpZiAoIWJhcilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRpdiA9IGJhci5wYXJlbnROb2RlO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuaWQudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIWVsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByZW1vdmVCYXIgPSAoKSA9PiB7XHJcbiAgICAgIGRpdj8ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoZGl2KTtcclxuICAgICAgZGVsZXRlIHRoaXMuYWN0aXZlQmFyc1tlLmlkXTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCFmb3JjZSlcclxuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhbmltYXRlLXRpbWVyLWJhci1yZW1vdmVkJyk7XHJcbiAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuYW5pbWF0aW9uTmFtZSAhPT0gJ25vbmUnKSB7XHJcbiAgICAgIC8vIFdhaXQgZm9yIGFuaW1hdGlvbiB0byBmaW5pc2hcclxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCByZW1vdmVCYXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVtb3ZlQmFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TaG93SW5mb1RleHQodGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LkluZm8odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsZXJ0VGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxlcnQodGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU2hvd0FsYXJtVGV4dCh0ZXh0OiBzdHJpbmcsIGN1cnJlbnRUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuQWxhcm0odGV4dCwgY3VycmVudFRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uU3BlYWtUVFModGV4dDogc3RyaW5nLCBjdXJyZW50VGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cFRleHQpXHJcbiAgICAgIHRoaXMucG9wdXBUZXh0LlRUUyh0ZXh0LCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25UcmlnZ2VyKFxyXG4gICAgdHJpZ2dlcjogTG9vc2VUaW1lbGluZVRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhpcy5wb3B1cFRleHQuVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50VGltZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgT25TeW5jVGltZShmaWdodE5vdzogbnVtYmVyLCBydW5uaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5EZWJ1ZyB8fCAhdGhpcy5kZWJ1Z0VsZW1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXJ1bm5pbmcpIHtcclxuICAgICAgaWYgKHRoaXMuZGVidWdGaWdodFRpbWVyKVxyXG4gICAgICAgIHRoaXMuZGVidWdFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZGVidWdGaWdodFRpbWVyKTtcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIgPSBudWxsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmRlYnVnRmlnaHRUaW1lcikge1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lciA9IFRpbWVyQmFyLmNyZWF0ZSgpO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci53aWR0aCA9ICcxMDBweCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmhlaWdodCA9ICcxN3B4JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuZHVyYXRpb24gPSBrQmlnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5sZWZ0dGV4dCA9ICdlbGFwc2VkJztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIudG93YXJkID0gJ3JpZ2h0JztcclxuICAgICAgdGhpcy5kZWJ1Z0ZpZ2h0VGltZXIuc3R5bGVmaWxsID0gJ2ZpbGwnO1xyXG4gICAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5iZyA9ICd0cmFuc3BhcmVudCc7XHJcbiAgICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmZnID0gJ3RyYW5zcGFyZW50JztcclxuICAgICAgdGhpcy5kZWJ1Z0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5kZWJ1Z0ZpZ2h0VGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvcmNlIHRoaXMgdG8gYmUgcmVzZXQuXHJcbiAgICB0aGlzLmRlYnVnRmlnaHRUaW1lci5lbGFwc2VkID0gMDtcclxuICAgIHRoaXMuZGVidWdGaWdodFRpbWVyLmVsYXBzZWQgPSBmaWdodE5vdztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbnRyb2xsZXIge1xyXG4gIHByb3RlY3RlZCB0aW1lbGluZXM6IHsgW2ZpbGVuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgcHJpdmF0ZSBzdXBwcmVzc05leHRFbmdhZ2U6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSB3aXBlUmVnZXg6IENhY3Rib3RCYXNlUmVnRXhwPCdBY3RvckNvbnRyb2wnPjtcclxuICBwcm90ZWN0ZWQgYWN0aXZlVGltZWxpbmU6IFRpbWVsaW5lIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHByb3RlY3RlZCB1aTogVGltZWxpbmVVSSxcclxuICAgIHJhaWRib3NzRGF0YUZpbGVzOiBSYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMudWkgPSB1aTtcclxuXHJcbiAgICB0aGlzLnRpbWVsaW5lcyA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBbZmlsZW5hbWUsIGZpbGVdIG9mIE9iamVjdC5lbnRyaWVzKHJhaWRib3NzRGF0YUZpbGVzKSkge1xyXG4gICAgICBpZiAoIWZpbGVuYW1lLmVuZHNXaXRoKCcudHh0JykgfHwgdHlwZW9mIGZpbGUgIT09ICdzdHJpbmcnKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB0aGlzLnRpbWVsaW5lc1tmaWxlbmFtZV0gPSBmaWxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgdG8gc3VwcHJlc3MgYW55IEVuZ2FnZSEgaWYgdGhlcmUncyBhIHdpcGUgYmV0d2VlbiAvY291bnRkb3duIGFuZCBFbmdhZ2UhLlxyXG4gICAgdGhpcy5zdXBwcmVzc05leHRFbmdhZ2UgPSBmYWxzZTtcclxuICAgIHRoaXMud2lwZVJlZ2V4ID0gTmV0UmVnZXhlcy5uZXR3b3JrNmQoeyBjb21tYW5kOiAnNDAwMDAwMTAnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFBvcHVwVGV4dEludGVyZmFjZShwb3B1cFRleHQ6IFBvcHVwVGV4dEdlbmVyYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy51aS5TZXRQb3B1cFRleHRJbnRlcmZhY2UocG9wdXBUZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXRJbkNvbWJhdChpbkNvbWJhdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gV2lwZSBsaW5lcyBjb21lIGJlZm9yZSBjb21iYXQgaXMgZmFsc2UsIGJ1dCBiZWNhdXNlIE9uTG9nRXZlbnQgZG9lc24ndCBwcm9jZXNzXHJcbiAgICAvLyBsaW5lcyB3aGVuIG91dCBvZiBjb21iYXQsIHN1cHByZXNzIGFueSBlbmdhZ2VzIHRoYXQgY29tZSBiZWZvcmUgdGhlIG5leHQgY291bnRkb3duXHJcbiAgICAvLyBqdXN0IGFzIGEgc2FmZXR5LCBlc3BlY2lhbGx5IGZvciBvbGQgQVJSIGNvbnRlbnQgd2hlcmUgd2lwZSBsaW5lcyBkb24ndCBoYXBwZW4uXHJcbiAgICBpZiAoIWluQ29tYmF0KVxyXG4gICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICBpZiAoIWluQ29tYmF0ICYmIHRoaXMuYWN0aXZlVGltZWxpbmUpXHJcbiAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuU3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIE9uTG9nRXZlbnQoZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUaW1lbGluZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGxvZyBvZiBlLmRldGFpbC5sb2dzKSB7XHJcbiAgICAgIGlmIChMb2NhbGVSZWdleC5jb3VudGRvd25TdGFydFt0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2VdLnRlc3QobG9nKSkge1xyXG4gICAgICAgIC8vIEFzIHlvdSBjYW4ndCBzdGFydCBhIGNvdW50ZG93biB3aGlsZSBpbiBjb21iYXQsIHRoZSBuZXh0IGVuZ2FnZSBpcyByZWFsLlxyXG4gICAgICAgIHRoaXMuc3VwcHJlc3NOZXh0RW5nYWdlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSBpZiAoTG9jYWxlUmVnZXguY291bnRkb3duRW5nYWdlW3RoaXMub3B0aW9ucy5QYXJzZXJMYW5ndWFnZV0udGVzdChsb2cpKSB7XHJcbiAgICAgICAgLy8gSWYgd2Ugc2VlIGFuIGVuZ2FnZSBhZnRlciBhIHdpcGUsIGJ1dCBiZWZvcmUgY29tYmF0IGhhcyBzdGFydGVkIG90aGVyd2lzZVxyXG4gICAgICAgIC8vIChlLmcuIGNvdW50ZG93biA+IHdpcGUgPiBmYWNlIHB1bGwgPiBlbmdhZ2UpLCBkb24ndCBwcm9jZXNzIHRoaXMgZW5nYWdlIGxpbmVcclxuICAgICAgICBpZiAodGhpcy5zdXBwcmVzc05leHRFbmdhZ2UpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLndpcGVSZWdleC50ZXN0KGxvZykpIHtcclxuICAgICAgICAvLyBJZiB3ZSBzZWUgYSB3aXBlLCBpZ25vcmUgdGhlIG5leHQgZW5nYWdlLiAgSWYgd2Ugc2VlIGEgY291bnRkb3duIGJlZm9yZSB0aGF0IHdpcGUsXHJcbiAgICAgICAgLy8gd2Ugd2lsbCBjbGVhciB0aGlzLiAgVGhlcmVmb3JlLCB0aGlzIHdpbGwgb25seSBhcHBseSB0byBhY3RpdmUgY291bnRkb3ducy5cclxuICAgICAgICB0aGlzLnN1cHByZXNzTmV4dEVuZ2FnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZS5PbkxvZ0xpbmUobG9nLCBjdXJyZW50VGltZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0QWN0aXZlVGltZWxpbmUoXHJcbiAgICB0aW1lbGluZUZpbGVzOiBzdHJpbmdbXSxcclxuICAgIHRpbWVsaW5lczogc3RyaW5nW10sXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICB6b25lSWQ6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVGltZWxpbmUgPSBudWxsO1xyXG5cclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcblxyXG4gICAgLy8gR2V0IHRoZSB0ZXh0IGZyb20gZWFjaCBmaWxlIGluIHx0aW1lbGluZUZpbGVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmVGaWxlIG9mIHRpbWVsaW5lRmlsZXMpIHtcclxuICAgICAgY29uc3QgbmFtZSA9IHRoaXMudGltZWxpbmVzW3RpbWVsaW5lRmlsZV07XHJcbiAgICAgIGlmIChuYW1lKVxyXG4gICAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7bmFtZX1gO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgY29uc29sZS5sb2coYFRpbWVsaW5lIGZpbGUgbm90IGZvdW5kOiAke3RpbWVsaW5lRmlsZX1gKTtcclxuICAgIH1cclxuICAgIC8vIEFwcGVuZCB0ZXh0IGZyb20gZWFjaCBibG9jayBpbiB8dGltZWxpbmVzfC5cclxuICAgIGZvciAoY29uc3QgdGltZWxpbmUgb2YgdGltZWxpbmVzKVxyXG4gICAgICB0ZXh0ID0gYCR7dGV4dH1cXG4ke3RpbWVsaW5lfWA7XHJcblxyXG4gICAgaWYgKHRleHQpIHtcclxuICAgICAgdGhpcy5hY3RpdmVUaW1lbGluZSA9IG5ldyBUaW1lbGluZShcclxuICAgICAgICB0ZXh0LFxyXG4gICAgICAgIHJlcGxhY2VtZW50cyxcclxuICAgICAgICB0cmlnZ2VycyxcclxuICAgICAgICBzdHlsZXMsXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICAgIHpvbmVJZCxcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMudWkuU2V0VGltZWxpbmUodGhpcy5hY3RpdmVUaW1lbGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lcyAhPT0gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUxvYWRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aW1lbGluZUNvbnRyb2xsZXI6IFRpbWVsaW5lQ29udHJvbGxlcikge1xyXG4gICAgdGhpcy50aW1lbGluZUNvbnRyb2xsZXIgPSB0aW1lbGluZUNvbnRyb2xsZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0VGltZWxpbmVzKFxyXG4gICAgdGltZWxpbmVGaWxlczogc3RyaW5nW10sXHJcbiAgICB0aW1lbGluZXM6IHN0cmluZ1tdLFxyXG4gICAgcmVwbGFjZW1lbnRzOiBUaW1lbGluZVJlcGxhY2VtZW50W10sXHJcbiAgICB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSxcclxuICAgIHN0eWxlczogVGltZWxpbmVTdHlsZVtdLFxyXG4gICAgem9uZUlkOiBudW1iZXIsXHJcbiAgKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5TZXRBY3RpdmVUaW1lbGluZShcclxuICAgICAgdGltZWxpbmVGaWxlcyxcclxuICAgICAgdGltZWxpbmVzLFxyXG4gICAgICByZXBsYWNlbWVudHMsXHJcbiAgICAgIHRyaWdnZXJzLFxyXG4gICAgICBzdHlsZXMsXHJcbiAgICAgIHpvbmVJZCxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNSZWFkeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRpbWVsaW5lQ29udHJvbGxlci5Jc1JlYWR5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RvcENvbWJhdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGltZWxpbmVDb250cm9sbGVyLlNldEluQ29tYmF0KGZhbHNlKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgTG9vc2VUaW1lbGluZVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRpbWVsaW5lIH0gZnJvbSAnLi4vLi4vdGltZWxpbmUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVJlcGxhY2VtZW50LCBUaW1lbGluZVN0eWxlIH0gZnJvbSAnLi4vLi4vdGltZWxpbmVfcGFyc2VyJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuLi9kYXRhL1JhaWRFbXVsYXRvcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWlkRW11bGF0b3JUaW1lbGluZSBleHRlbmRzIFRpbWVsaW5lIHtcclxuICBlbXVsYXRlZFN0YXR1cyA9ICdwYXVzZSc7XHJcbiAgZW11bGF0b3I/OiBSYWlkRW11bGF0b3I7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICByZXBsYWNlbWVudHM6IFRpbWVsaW5lUmVwbGFjZW1lbnRbXSxcclxuICAgIHRyaWdnZXJzOiBMb29zZVRpbWVsaW5lVHJpZ2dlcltdLFxyXG4gICAgc3R5bGVzOiBUaW1lbGluZVN0eWxlW10sXHJcbiAgICBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsXHJcbiAgICB6b25lSWQ6IG51bWJlcixcclxuICApIHtcclxuICAgIHN1cGVyKHRleHQsIHJlcGxhY2VtZW50cywgdHJpZ2dlcnMsIHN0eWxlcywgb3B0aW9ucywgem9uZUlkKTtcclxuICB9XHJcblxyXG4gIGJpbmRUbyhlbXVsYXRvcjogUmFpZEVtdWxhdG9yKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtdWxhdG9yID0gZW11bGF0b3I7XHJcbiAgICBlbXVsYXRvci5vbigncGxheScsICgpID0+IHtcclxuICAgICAgdGhpcy5lbXVsYXRlZFN0YXR1cyA9ICdwbGF5JztcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3BhdXNlJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtdWxhdGVkU3RhdHVzID0gJ3BhdXNlJztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZW11bGF0ZWRTeW5jKGN1cnJlbnRMb2dUaW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghY3VycmVudExvZ1RpbWUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBUaGlzIGlzIGEgYml0IGNvbXBsaWNhdGVkIGR1ZSB0byBqdW1wcyBpbiB0aW1lbGluZXMuIElmIHdlJ3ZlIGFscmVhZHkgZ290IGEgdGltZWJhc2UsXHJcbiAgICAvLyBmaWdodE5vdyBuZWVkcyB0byBiZSBjYWxjdWxhdGVkIGJhc2VkIG9mZiBvZiB0aGF0IGluc3RlYWQgb2YgaW5pdGlhbE9mZnNldFxyXG4gICAgLy8gdGltZWJhc2UgPSAwIHdoZW4gbm90IHNldFxyXG4gICAgY29uc3QgYmFzZVRpbWVzdGFtcCA9IHRoaXMudGltZWJhc2UgfHxcclxuICAgICAgdGhpcy5lbXVsYXRvcj8uY3VycmVudEVuY291bnRlcj8uZW5jb3VudGVyPy5pbml0aWFsVGltZXN0YW1wIHx8XHJcbiAgICAgIGN1cnJlbnRMb2dUaW1lO1xyXG4gICAgY29uc3QgZmlnaHROb3cgPSAoY3VycmVudExvZ1RpbWUgLSBiYXNlVGltZXN0YW1wKSAvIDEwMDA7XHJcblxyXG4gICAgdGhpcy5TeW5jVG8oZmlnaHROb3csIGN1cnJlbnRMb2dUaW1lKTtcclxuICAgIHRoaXMuX09uVXBkYXRlVGltZXIoY3VycmVudExvZ1RpbWUpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX1NjaGVkdWxlVXBkYXRlKF9maWdodE5vdzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBPdmVycmlkZVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi91aS9yYWlkYm9zcy9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVVSSB9IGZyb20gJy4uLy4uL3RpbWVsaW5lJztcclxuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuLi8uLi90aW1lbGluZV9wYXJzZXInO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yIGZyb20gJy4uL2RhdGEvUmFpZEVtdWxhdG9yJztcclxuXHJcbmltcG9ydCBSYWlkRW11bGF0b3JUaW1lbGluZSBmcm9tICcuL1JhaWRFbXVsYXRvclRpbWVsaW5lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW11bGF0b3JUaW1lckJhciB7XHJcbiAgJHByb2dyZXNzOiBIVE1MRWxlbWVudDtcclxuICAkYmFyOiBIVE1MRGl2RWxlbWVudDtcclxuICAkbGVmdExhYmVsOiBIVE1MRWxlbWVudDtcclxuICAkcmlnaHRMYWJlbDogSFRNTEVsZW1lbnQ7XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxuICBzdHlsZTogJ2ZpbGwnIHwgJ2VtcHR5JztcclxuICBkdXJhdGlvbjogbnVtYmVyO1xyXG4gIGV2ZW50OiBFdmVudDtcclxuICBmb3JjZVJlbW92ZUF0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhaWRFbXVsYXRvclRpbWVsaW5lVUkgZXh0ZW5kcyBUaW1lbGluZVVJIHtcclxuICBlbXVsYXRlZFRpbWVyQmFyczogRW11bGF0b3JUaW1lckJhcltdID0gW107XHJcbiAgZW11bGF0ZWRTdGF0dXMgPSAncGF1c2UnO1xyXG4gICRiYXJDb250YWluZXI6IEhUTUxFbGVtZW50O1xyXG4gICRwcm9ncmVzc1RlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRpbWVyLWJhci1jb250YWluZXInKTtcclxuICAgIGlmICghKGNvbnRhaW5lciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgdGhpcy4kYmFyQ29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgY29uc3QgcFRlbXBsYXRlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGVtcGxhdGUucHJvZ3Jlc3MnKTtcclxuICAgIGlmICghKHBUZW1wbGF0ZSBpbnN0YW5jZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBpZiAoIShwVGVtcGxhdGUuY29udGVudC5maXJzdEVsZW1lbnRDaGlsZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgdGhpcy4kcHJvZ3Jlc3NUZW1wbGF0ZSA9IHBUZW1wbGF0ZS5jb250ZW50LmZpcnN0RWxlbWVudENoaWxkO1xyXG4gIH1cclxuXHJcbiAgYmluZFRvKGVtdWxhdG9yOiBSYWlkRW11bGF0b3IpOiB2b2lkIHtcclxuICAgIGVtdWxhdG9yLm9uKCd0aWNrJywgKGN1cnJlbnRMb2dUaW1lOiBudW1iZXIsIGxhc3RMb2dMaW5lVGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3QgYmFyIG9mIHRoaXMuZW11bGF0ZWRUaW1lckJhcnMpXHJcbiAgICAgICAgdGhpcy51cGRhdGVCYXIoYmFyLCBjdXJyZW50TG9nVGltZSk7XHJcblxyXG4gICAgICBjb25zdCB0b1JlbW92ZSA9IHRoaXMuZW11bGF0ZWRUaW1lckJhcnNcclxuICAgICAgICAuZmlsdGVyKChiYXIpID0+IGJhci5mb3JjZVJlbW92ZUF0IDw9IGN1cnJlbnRMb2dUaW1lKTtcclxuICAgICAgZm9yIChjb25zdCBiYXIgb2YgdG9SZW1vdmUpXHJcbiAgICAgICAgYmFyLiRwcm9ncmVzcy5yZW1vdmUoKTtcclxuXHJcbiAgICAgIHRoaXMuZW11bGF0ZWRUaW1lckJhcnMgPSB0aGlzLmVtdWxhdGVkVGltZXJCYXJzLmZpbHRlcigoYmFyOiBFbXVsYXRvclRpbWVyQmFyKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGJhci5mb3JjZVJlbW92ZUF0ID4gY3VycmVudExvZ1RpbWU7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnRpbWVsaW5lICYmIHRoaXMudGltZWxpbmUudGltZWJhc2UgJiYgdGhpcy50aW1lbGluZS5fT25VcGRhdGVUaW1lcihsYXN0TG9nTGluZVRpbWUpO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncGxheScsICgpID0+IHtcclxuICAgICAgdGhpcy5lbXVsYXRlZFN0YXR1cyA9ICdwbGF5JztcclxuICAgICAgaWYgKHRoaXMudGltZWxpbmUgaW5zdGFuY2VvZiBSYWlkRW11bGF0b3JUaW1lbGluZSAmJiBlbXVsYXRvci5jdXJyZW50TG9nVGltZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRoaXMudGltZWxpbmUuZW11bGF0ZWRTeW5jKGVtdWxhdG9yLmN1cnJlbnRMb2dUaW1lKTtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3BhdXNlJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmVtdWxhdGVkU3RhdHVzID0gJ3BhdXNlJztcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3ByZVNlZWsnLCAoX3RpbWUpID0+IHtcclxuICAgICAgdGhpcy50aW1lbGluZSAmJiB0aGlzLnRpbWVsaW5lLlN0b3AoKTtcclxuICAgICAgZm9yIChjb25zdCBiYXIgb2YgdGhpcy5lbXVsYXRlZFRpbWVyQmFycylcclxuICAgICAgICBiYXIuJHByb2dyZXNzLnJlbW92ZSgpO1xyXG5cclxuICAgICAgdGhpcy5lbXVsYXRlZFRpbWVyQmFycyA9IFtdO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncG9zdFNlZWsnLCAoY3VycmVudExvZ1RpbWU6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAodGhpcy50aW1lbGluZSBpbnN0YW5jZW9mIFJhaWRFbXVsYXRvclRpbWVsaW5lKVxyXG4gICAgICAgIHRoaXMudGltZWxpbmUuZW11bGF0ZWRTeW5jKGN1cnJlbnRMb2dUaW1lKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgYmFyIG9mIHRoaXMuZW11bGF0ZWRUaW1lckJhcnMpXHJcbiAgICAgICAgdGhpcy51cGRhdGVCYXIoYmFyLCBjdXJyZW50TG9nVGltZSk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdjdXJyZW50RW5jb3VudGVyQ2hhbmdlZCcsIHRoaXMuc3RvcC5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHN0b3AoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVsaW5lICYmIHRoaXMudGltZWxpbmUuU3RvcCgpO1xyXG4gICAgZm9yIChjb25zdCBiYXIgb2YgdGhpcy5lbXVsYXRlZFRpbWVyQmFycylcclxuICAgICAgYmFyLiRwcm9ncmVzcy5yZW1vdmUoKTtcclxuXHJcbiAgICB0aGlzLmVtdWxhdGVkVGltZXJCYXJzID0gW107XHJcbiAgfVxyXG5cclxuICB1cGRhdGVCYXIoYmFyOiBFbXVsYXRvclRpbWVyQmFyLCBjdXJyZW50TG9nVGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBiYXJFbGFwc2VkID0gY3VycmVudExvZ1RpbWUgLSBiYXIuc3RhcnQ7XHJcbiAgICBsZXQgYmFyUHJvZyA9IE1hdGgubWluKChiYXJFbGFwc2VkIC8gYmFyLmR1cmF0aW9uKSAqIDEwMCwgMTAwKTtcclxuICAgIGlmIChiYXIuc3R5bGUgPT09ICdlbXB0eScpXHJcbiAgICAgIGJhclByb2cgPSAxMDAgLSBiYXJQcm9nO1xyXG5cclxuICAgIGxldCByaWdodFRleHQgPSAoKGJhci5kdXJhdGlvbiAtIGJhckVsYXBzZWQpIC8gMTAwMCkudG9GaXhlZCgxKTtcclxuICAgIGlmIChiYXJQcm9nID49IDEwMClcclxuICAgICAgcmlnaHRUZXh0ID0gJyc7XHJcblxyXG4gICAgYmFyLiRsZWZ0TGFiZWwudGV4dENvbnRlbnQgPSBiYXIuZXZlbnQudGV4dDtcclxuICAgIGJhci4kcmlnaHRMYWJlbC50ZXh0Q29udGVudCA9IHJpZ2h0VGV4dDtcclxuICAgIGJhci4kYmFyLnN0eWxlLndpZHRoID0gYCR7YmFyUHJvZ30lYDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIEluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBUaGlzIHNwYWNlIGludGVudGlvbmFsbHkgbGVmdCBibGFua1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgQWRkRGVidWdJbnN0cnVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICAvLyBUaGlzIHNwYWNlIGludGVudGlvbmFsbHkgbGVmdCBibGFua1xyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcnJpZGVcclxuICBvdmVycmlkZSBPbkFkZFRpbWVyKGZpZ2h0Tm93OiBudW1iZXIsIGU6IEV2ZW50LCBjaGFubmVsaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudGltZWxpbmUpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBlbmQgPSB0aGlzLnRpbWVsaW5lLnRpbWViYXNlICsgKGUudGltZSAqIDEwMDApO1xyXG4gICAgY29uc3Qgc3RhcnQgPSBlbmQgLSAodGhpcy5vcHRpb25zLlNob3dUaW1lckJhcnNBdFNlY29uZHMgKiAxMDAwKTtcclxuICAgIGNvbnN0ICRwcm9ncmVzcyA9IHRoaXMuJHByb2dyZXNzVGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgaWYgKCEoJHByb2dyZXNzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgJHByb2dCYXIgPSAkcHJvZ3Jlc3MucXVlcnlTZWxlY3RvcignLnByb2dyZXNzLWJhcicpO1xyXG4gICAgY29uc3QgJHByb2dMZWZ0ID0gJHByb2dyZXNzLnF1ZXJ5U2VsZWN0b3IoJy50aW1lci1iYXItbGVmdC1sYWJlbCcpO1xyXG4gICAgY29uc3QgJHByb2dSaWdodCA9ICRwcm9ncmVzcy5xdWVyeVNlbGVjdG9yKCcudGltZXItYmFyLXJpZ2h0LWxhYmVsJyk7XHJcblxyXG4gICAgaWYgKCEoXHJcbiAgICAgICRwcm9nQmFyIGluc3RhbmNlb2YgSFRNTERpdkVsZW1lbnQgJiZcclxuICAgICAgJHByb2dMZWZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiZcclxuICAgICAgJHByb2dSaWdodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IGJhcjogRW11bGF0b3JUaW1lckJhciA9IHtcclxuICAgICAgJHByb2dyZXNzOiAkcHJvZ3Jlc3MsXHJcbiAgICAgICRiYXI6ICRwcm9nQmFyLFxyXG4gICAgICAkbGVmdExhYmVsOiAkcHJvZ0xlZnQsXHJcbiAgICAgICRyaWdodExhYmVsOiAkcHJvZ1JpZ2h0LFxyXG4gICAgICBzdGFydDogc3RhcnQsXHJcbiAgICAgIHN0eWxlOiAhY2hhbm5lbGluZyA/ICdmaWxsJyA6ICdlbXB0eScsXHJcbiAgICAgIGR1cmF0aW9uOiAoY2hhbm5lbGluZyA/IGUudGltZSAtIGZpZ2h0Tm93IDogdGhpcy5vcHRpb25zLlNob3dUaW1lckJhcnNBdFNlY29uZHMpICogMTAwMCxcclxuICAgICAgZXZlbnQ6IGUsXHJcbiAgICAgIGZvcmNlUmVtb3ZlQXQ6IDAsXHJcbiAgICB9O1xyXG5cclxuICAgIGJhci5mb3JjZVJlbW92ZUF0ID0gYmFyLnN0YXJ0ICsgYmFyLmR1cmF0aW9uO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzKVxyXG4gICAgICBiYXIuZm9yY2VSZW1vdmVBdCArPSB0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzICogMTAwMDtcclxuXHJcbiAgICB0aGlzLmVtdWxhdGVkVGltZXJCYXJzLnB1c2goYmFyKTtcclxuICAgIHRoaXMuJGJhckNvbnRhaW5lci5hcHBlbmQoYmFyLiRwcm9ncmVzcyk7XHJcbiAgICB0aGlzLnVwZGF0ZUJhcihiYXIsIGJhci5zdGFydCk7XHJcbiAgfVxyXG5cclxuICAvLyBPdmVycmlkZVxyXG4gIG92ZXJyaWRlIE9uUmVtb3ZlVGltZXIoZTogRXZlbnQsIGV4cGlyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGNvbnN0IGJhcnMgPSB0aGlzLmVtdWxhdGVkVGltZXJCYXJzLmZpbHRlcigoYmFyKSA9PiBiYXIuZXZlbnQuaWQgPT09IGUuaWQpO1xyXG5cclxuICAgIGJhcnMuZm9yRWFjaCgoYmFyKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy50aW1lbGluZSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBiYXIuZm9yY2VSZW1vdmVBdCA9IHRoaXMudGltZWxpbmUudGltZWJhc2U7XHJcblxyXG4gICAgICBpZiAoZXhwaXJlZCAmJiB0aGlzLm9wdGlvbnMuS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzKVxyXG4gICAgICAgIGJhci5mb3JjZVJlbW92ZUF0ICs9IHRoaXMub3B0aW9ucy5LZWVwRXhwaXJlZFRpbWVyQmFyc0ZvclNlY29uZHMgKiAxMDAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4uLy4uL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4uLy4uL3RpbWVsaW5lX3BhcnNlcic7XHJcblxyXG5pbXBvcnQgUmFpZEVtdWxhdG9yVGltZWxpbmVVSSwgeyBFbXVsYXRvclRpbWVyQmFyIH0gZnJvbSAnLi9SYWlkRW11bGF0b3JUaW1lbGluZVVJJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhaWRFbXVsYXRvckFuYWx5c2lzVGltZWxpbmVVSSBleHRlbmRzIFJhaWRFbXVsYXRvclRpbWVsaW5lVUkge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucykge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICAvLyBVc2Ugb3JwaGFuZWQgY2hpbGQgZGl2IHRvIHByZXZlbnQgRE9NIHVwZGF0ZXNcclxuICAgIHRoaXMuJGJhckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgdXBkYXRlQmFyKF9iYXI6IEVtdWxhdG9yVGltZXJCYXIsIF9jdXJyZW50TG9nVGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBTdHViYmVkIG91dCBmb3IgcGVyZm9ybWFuY2VcclxuICB9XHJcbiAgb3ZlcnJpZGUgT25BZGRUaW1lcihfZmlnaHROb3c6IG51bWJlciwgX2U6IEV2ZW50LCBfY2hhbm5lbGluZzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gU3R1YmJlZCBvdXQgZm9yIHBlcmZvcm1hbmNlXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBPblJlbW92ZVRpbWVyKF9lOiBFdmVudCwgX2V4cGlyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vIFN0dWJiZWQgb3V0IGZvciBwZXJmb3JtYW5jZVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBMb2dFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2V2ZW50JztcclxuaW1wb3J0IHsgTG9vc2VUaW1lbGluZVRyaWdnZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHsgVGltZWxpbmVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vdGltZWxpbmUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVJlcGxhY2VtZW50LCBUaW1lbGluZVN0eWxlIH0gZnJvbSAnLi4vLi4vdGltZWxpbmVfcGFyc2VyJztcclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuLi9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yIGZyb20gJy4uL2RhdGEvUmFpZEVtdWxhdG9yJztcclxuXHJcbmltcG9ydCBSYWlkRW11bGF0b3JUaW1lbGluZSBmcm9tICcuL1JhaWRFbXVsYXRvclRpbWVsaW5lJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhaWRFbXVsYXRvclRpbWVsaW5lQ29udHJvbGxlciBleHRlbmRzIFRpbWVsaW5lQ29udHJvbGxlciB7XHJcbiAgcHVibGljIGVtdWxhdG9yPzogUmFpZEVtdWxhdG9yO1xyXG4gIHB1YmxpYyBvdmVycmlkZSBhY3RpdmVUaW1lbGluZTogUmFpZEVtdWxhdG9yVGltZWxpbmUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgYmluZFRvKGVtdWxhdG9yOiBSYWlkRW11bGF0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMuZW11bGF0b3IgPSBlbXVsYXRvcjtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVRpbWVsaW5lKVxyXG4gICAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lLmJpbmRUbyhlbXVsYXRvcik7XHJcbiAgfVxyXG5cclxuICAvLyBPdmVycmlkZVxyXG4gIHB1YmxpYyBvdmVycmlkZSBTZXRBY3RpdmVUaW1lbGluZSh0aW1lbGluZUZpbGVzOiBzdHJpbmdbXSwgdGltZWxpbmVzOiBzdHJpbmdbXSxcclxuICAgIHJlcGxhY2VtZW50czogVGltZWxpbmVSZXBsYWNlbWVudFtdLCB0cmlnZ2VyczogTG9vc2VUaW1lbGluZVRyaWdnZXJbXSxcclxuICAgIHN0eWxlczogVGltZWxpbmVTdHlsZVtdLCB6b25lSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUaW1lbGluZSA9IG51bGw7XHJcblxyXG4gICAgbGV0IHRleHQgPSAnJztcclxuXHJcbiAgICAvLyBHZXQgdGhlIHRleHQgZnJvbSBlYWNoIGZpbGUgaW4gfHRpbWVsaW5lRmlsZXN8LlxyXG4gICAgZm9yIChjb25zdCB0aW1lbGluZUZpbGUgb2YgdGltZWxpbmVGaWxlcykge1xyXG4gICAgICBjb25zdCBuYW1lID0gdGhpcy50aW1lbGluZXNbdGltZWxpbmVGaWxlXTtcclxuICAgICAgaWYgKG5hbWUpXHJcbiAgICAgICAgdGV4dCA9IGAke3RleHR9XFxuJHtuYW1lfWA7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBjb25zb2xlLmxvZyhgVGltZWxpbmUgZmlsZSBub3QgZm91bmQ6ICR7dGltZWxpbmVGaWxlfWApO1xyXG4gICAgfVxyXG4gICAgLy8gQXBwZW5kIHRleHQgZnJvbSBlYWNoIGJsb2NrIGluIHx0aW1lbGluZXN8LlxyXG4gICAgZm9yIChjb25zdCB0aW1lbGluZSBvZiB0aW1lbGluZXMpXHJcbiAgICAgIHRleHQgPSBgJHt0ZXh0fVxcbiR7dGltZWxpbmV9YDtcclxuXHJcbiAgICBpZiAodGV4dCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lID1cclxuICAgICAgICBuZXcgUmFpZEVtdWxhdG9yVGltZWxpbmUodGV4dCwgcmVwbGFjZW1lbnRzLCB0cmlnZ2Vycywgc3R5bGVzLCB0aGlzLm9wdGlvbnMsIHpvbmVJZCk7XHJcbiAgICAgIGlmICh0aGlzLmVtdWxhdG9yKVxyXG4gICAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuYmluZFRvKHRoaXMuZW11bGF0b3IpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51aS5TZXRUaW1lbGluZSh0aGlzLmFjdGl2ZVRpbWVsaW5lKTtcclxuICB9XHJcblxyXG4gIC8vIE92ZXJyaWRlXHJcbiAgcHVibGljIG92ZXJyaWRlIE9uTG9nRXZlbnQoX2U6IExvZ0V2ZW50KTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25FbXVsYXRvckxvZ0V2ZW50KGxvZ3M6IExpbmVFdmVudFtdKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aXZlVGltZWxpbmUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbG9ncykge1xyXG4gICAgICB0aGlzLmFjdGl2ZVRpbWVsaW5lLk9uTG9nTGluZShsaW5lLmNvbnZlcnRlZExpbmUsIGxpbmUudGltZXN0YW1wKTtcclxuICAgICAgLy8gT25seSBjYWxsIF9PblVwZGF0ZVRpbWVyIGlmIHdlIGhhdmUgYSB0aW1lYmFzZSBmcm9tIHRoZSBwcmV2aW91cyBjYWxsIHRvIE9uTG9nTGluZVxyXG4gICAgICAvLyBUaGlzIGF2b2lkcyBzcGFtbWluZyB0aGUgY29uc29sZSB3aXRoIGEgdG9uIG9mIG1lc3NhZ2VzXHJcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVRpbWVsaW5lLnRpbWViYXNlKVxyXG4gICAgICAgIHRoaXMuYWN0aXZlVGltZWxpbmUuX09uVXBkYXRlVGltZXIobGluZS50aW1lc3RhbXApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgUGFydHlUcmFja2VyIGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9wYXJ0eSc7XHJcbmltcG9ydCB7IFJhaWRib3NzRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2RhdGEnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc0ZpbGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCB7IFBvcHVwVGV4dCB9IGZyb20gJy4uLy4uL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuLi8uLi90aW1lbGluZSc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHViYmVkUG9wdXBUZXh0IGV4dGVuZHMgUG9wdXBUZXh0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHRpbWVsaW5lTG9hZGVyOiBUaW1lbGluZUxvYWRlcixcclxuICAgIHJhaWRib3NzRmlsZURhdGE6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIHRpbWVsaW5lTG9hZGVyLCByYWlkYm9zc0ZpbGVEYXRhKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIEhvb2tPdmVybGF5cygpOiB2b2lkIHtcclxuICAgIC8vIFN0dWJiZWQsIHdlIGRvbid0IHdhbnQgb3ZlcmxheSBob29rc1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiBSYWlkYm9zc0RhdGEge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcclxuICB9XHJcblxyXG4gIGdldFBhcnR5VHJhY2tlcigpOiBQYXJ0eVRyYWNrZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucGFydHlUcmFja2VyO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBFdmVudFJlc3BvbnNlcywgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IE1hdGNoZXMgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9uZXRfbWF0Y2hlcyc7XHJcbmltcG9ydCB7IExvb3NlVHJpZ2dlciwgUmFpZGJvc3NGaWxlRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5pbXBvcnQgeyBUcmlnZ2VySGVscGVyLCBUZXh0LCBUZXh0VGV4dCwgUHJvY2Vzc2VkVHJpZ2dlciB9IGZyb20gJy4uLy4uL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgeyBSYWlkYm9zc09wdGlvbnMgfSBmcm9tICcuLi8uLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuLi8uLi90aW1lbGluZSc7XHJcbmltcG9ydCBFbXVsYXRvckNvbW1vbiwgeyBEYXRhVHlwZSB9IGZyb20gJy4uL0VtdWxhdG9yQ29tbW9uJztcclxuaW1wb3J0IFN0dWJiZWRQb3B1cFRleHQgZnJvbSAnLi4vb3ZlcnJpZGVzL1N0dWJiZWRQb3B1cFRleHQnO1xyXG5cclxuaW1wb3J0IExpbmVFdmVudCBmcm9tICcuL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQnO1xyXG5cclxudHlwZSBSZXNvbHZlckZ1bmMgPSAoKSA9PiB2b2lkO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlclN0YXR1cyB7XHJcbiAgcmVzcG9uc2VUeXBlPzogc3RyaW5nO1xyXG4gIHJlc3BvbnNlTGFiZWw/OiBzdHJpbmc7XHJcbiAgaW5pdGlhbERhdGE6IERhdGFUeXBlO1xyXG4gIGZpbmFsRGF0YT86IERhdGFUeXBlO1xyXG4gIGNvbmRpdGlvbj86IGJvb2xlYW47XHJcbiAgcmVzcG9uc2U/OiB1bmRlZmluZWQ7XHJcbiAgcmVzdWx0Pzogc3RyaW5nO1xyXG4gIGRlbGF5PzogbnVtYmVyO1xyXG4gIHN1cHByZXNzZWQ6IGJvb2xlYW47XHJcbiAgZXhlY3V0ZWQ6IGJvb2xlYW47XHJcbiAgcHJvbWlzZT86IFByb21pc2U8dm9pZD47XHJcbn1cclxuXHJcbnR5cGUgRW11bGF0b3JUcmlnZ2VySGVscGVyID0gVHJpZ2dlckhlbHBlciAmIHtcclxuICByZXNvbHZlcj86IFJlc29sdmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlc29sdmVyIHtcclxuICBwcml2YXRlIHByb21pc2U/OiBQcm9taXNlPHZvaWQ+O1xyXG4gIHByaXZhdGUgcnVuPzogUmVzb2x2ZXJGdW5jO1xyXG4gIHByaXZhdGUgZGVsYXlVbnRpbD86IG51bWJlcjtcclxuICBwcml2YXRlIGZpbmFsPzogUmVzb2x2ZXJGdW5jO1xyXG4gIHByaXZhdGUgZGVsYXlQcm9taXNlPzogUHJvbWlzZTx2b2lkPjtcclxuICBwcml2YXRlIGRlbGF5UmVzb2x2ZXI/OiBSZXNvbHZlckZ1bmM7XHJcbiAgcHVibGljIHRyaWdnZXJIZWxwZXI/OiBFbXVsYXRvclRyaWdnZXJIZWxwZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdGF0dXM6IFJlc29sdmVyU3RhdHVzKSB7fVxyXG5cclxuICBhc3luYyBpc1Jlc29sdmVkKGxvZzogTGluZUV2ZW50KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy5kZWxheVVudGlsKSB7XHJcbiAgICAgIGlmICh0aGlzLmRlbGF5VW50aWwgPCBsb2cudGltZXN0YW1wKSB7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZGVsYXlVbnRpbDtcclxuICAgICAgICBpZiAodGhpcy5kZWxheVJlc29sdmVyKVxyXG4gICAgICAgICAgdGhpcy5kZWxheVJlc29sdmVyKCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5kZWxheVByb21pc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wcm9taXNlKVxyXG4gICAgICBhd2FpdCB0aGlzLnByb21pc2U7XHJcbiAgICBpZiAodGhpcy5ydW4pXHJcbiAgICAgIHRoaXMucnVuKCk7XHJcbiAgICBpZiAodGhpcy5maW5hbClcclxuICAgICAgdGhpcy5maW5hbCgpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIHNldERlbGF5KGRlbGF5VW50aWw6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kZWxheVVudGlsID0gZGVsYXlVbnRpbDtcclxuICAgIHJldHVybiB0aGlzLmRlbGF5UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5kZWxheVJlc29sdmVyID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldFByb21pc2UocHJvbWlzZTogUHJvbWlzZTx2b2lkPik6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9taXNlID0gcHJvbWlzZTtcclxuICB9XHJcbiAgc2V0UnVuKHJ1bjogUmVzb2x2ZXJGdW5jKTogdm9pZCB7XHJcbiAgICB0aGlzLnJ1biA9IHJ1bjtcclxuICB9XHJcbiAgc2V0RmluYWwoZmluYWw6IFJlc29sdmVyRnVuYyk6IHZvaWQge1xyXG4gICAgdGhpcy5maW5hbCA9IGZpbmFsO1xyXG4gIH1cclxuICBzZXRIZWxwZXIodHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyaWdnZXJIZWxwZXIgPSB0cmlnZ2VySGVscGVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUG9wdXBUZXh0QW5hbHlzaXMgZXh0ZW5kcyBTdHViYmVkUG9wdXBUZXh0IHtcclxuICB0cmlnZ2VyUmVzb2x2ZXJzOiBSZXNvbHZlcltdID0gW107XHJcbiAgY3VycmVudFJlc29sdmVyPzogUmVzb2x2ZXI7XHJcbiAgcHVibGljIGNhbGxiYWNrPzogKGxvZzogTGluZUV2ZW50LFxyXG4gICAgdHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyIHwgdW5kZWZpbmVkLFxyXG4gICAgY3VycmVudFRyaWdnZXJTdGF0dXM6IFJlc29sdmVyU3RhdHVzLFxyXG4gICAgZmluYWxEYXRhOiBEYXRhVHlwZSkgPT4gdm9pZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBvcHRpb25zOiBSYWlkYm9zc09wdGlvbnMsXHJcbiAgICB0aW1lbGluZUxvYWRlcjogVGltZWxpbmVMb2FkZXIsXHJcbiAgICByYWlkYm9zc0ZpbGVEYXRhOiBSYWlkYm9zc0ZpbGVEYXRhKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCB0aW1lbGluZUxvYWRlciwgcmFpZGJvc3NGaWxlRGF0YSk7XHJcbiAgICB0aGlzLnR0c1NheSA9IChfdGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyBPdmVycmlkZSBgT25UcmlnZ2VyYCBzbyB3ZSBjYW4gdXNlIG91ciBvd24gZXhjZXB0aW9uIGhhbmRsZXJcclxuICBvdmVycmlkZSBPblRyaWdnZXIoXHJcbiAgICB0cmlnZ2VyOiBMb29zZVRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsLFxyXG4gICAgY3VycmVudFRpbWU6IG51bWJlcixcclxuICApOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuT25UcmlnZ2VySW50ZXJuYWwodHJpZ2dlciwgbWF0Y2hlcywgY3VycmVudFRpbWUpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyh0cmlnZ2VyLCBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIE9uTG9nKF9lOiBMb2dFdmVudCk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25FbXVsYXRvckxvZyhsb2dzOiBMaW5lRXZlbnRbXSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgZm9yIChjb25zdCBsb2dPYmogb2YgbG9ncykge1xyXG4gICAgICBpZiAobG9nT2JqLmNvbnZlcnRlZExpbmUuaW5jbHVkZXMoJzAwOjAwMzg6Y2FjdGJvdCB3aXBlJykpXHJcbiAgICAgICAgdGhpcy5TZXRJbkNvbWJhdChmYWxzZSk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy50cmlnZ2Vycykge1xyXG4gICAgICAgIGNvbnN0IHIgPSB0cmlnZ2VyLmxvY2FsUmVnZXg/LmV4ZWMobG9nT2JqLmNvbnZlcnRlZExpbmUpO1xyXG4gICAgICAgIGlmICghcilcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuY3VycmVudFJlc29sdmVyID0gbmV3IFJlc29sdmVyKHtcclxuICAgICAgICAgIGluaXRpYWxEYXRhOiBFbXVsYXRvckNvbW1vbi5jbG9uZURhdGEodGhpcy5kYXRhKSxcclxuICAgICAgICAgIHN1cHByZXNzZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgZXhlY3V0ZWQ6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudHJpZ2dlclJlc29sdmVycy5wdXNoKHJlc29sdmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgbG9nT2JqLnRpbWVzdGFtcCk7XHJcblxyXG4gICAgICAgIHJlc29sdmVyLnNldEZpbmFsKCgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmVyLnN0YXR1cy5maW5hbERhdGEgPSBFbXVsYXRvckNvbW1vbi5jbG9uZURhdGEodGhpcy5kYXRhKTtcclxuICAgICAgICAgIGRlbGV0ZSByZXNvbHZlci50cmlnZ2VySGVscGVyPy5yZXNvbHZlcjtcclxuICAgICAgICAgIGlmICh0aGlzLmNhbGxiYWNrKVxyXG4gICAgICAgICAgICB0aGlzLmNhbGxiYWNrKGxvZ09iaiwgcmVzb2x2ZXIudHJpZ2dlckhlbHBlciwgcmVzb2x2ZXIuc3RhdHVzLCB0aGlzLmRhdGEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLmNoZWNrUmVzb2x2ZWQobG9nT2JqKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0aGlzLm5ldFRyaWdnZXJzKSB7XHJcbiAgICAgICAgY29uc3QgciA9IHRyaWdnZXIubG9jYWxOZXRSZWdleD8uZXhlYyhsb2dPYmoubmV0d29ya0xpbmUpO1xyXG4gICAgICAgIGlmIChyKSB7XHJcbiAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuY3VycmVudFJlc29sdmVyID0gbmV3IFJlc29sdmVyKHtcclxuICAgICAgICAgICAgaW5pdGlhbERhdGE6IEVtdWxhdG9yQ29tbW9uLmNsb25lRGF0YSh0aGlzLmRhdGEpLFxyXG4gICAgICAgICAgICBzdXBwcmVzc2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZXhlY3V0ZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZXNvbHZlcnMucHVzaChyZXNvbHZlcik7XHJcblxyXG4gICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHIuZ3JvdXBzID8/IHt9O1xyXG5cclxuICAgICAgICAgIHRoaXMuX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKHRyaWdnZXIsIG1hdGNoZXMsIGxvZ09iai50aW1lc3RhbXApO1xyXG4gICAgICAgICAgdGhpcy5PblRyaWdnZXIodHJpZ2dlciwgciwgbG9nT2JqLnRpbWVzdGFtcCk7XHJcblxyXG4gICAgICAgICAgcmVzb2x2ZXIuc2V0RmluYWwoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXNvbHZlci5zdGF0dXMuZmluYWxEYXRhID0gRW11bGF0b3JDb21tb24uY2xvbmVEYXRhKHRoaXMuZGF0YSk7XHJcbiAgICAgICAgICAgIGRlbGV0ZSByZXNvbHZlci50cmlnZ2VySGVscGVyPy5yZXNvbHZlcjtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY2FsbGJhY2spXHJcbiAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjayhsb2dPYmosIHJlc29sdmVyLnRyaWdnZXJIZWxwZXIsIHJlc29sdmVyLnN0YXR1cywgdGhpcy5kYXRhKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYXdhaXQgdGhpcy5jaGVja1Jlc29sdmVkKGxvZ09iaik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBPbk5ldExvZyhfZTogRXZlbnRSZXNwb25zZXNbJ0xvZ0xpbmUnXSk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2hlY2tSZXNvbHZlZChsb2dPYmo6IExpbmVFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIHRoaXMudHJpZ2dlclJlc29sdmVycy5tYXAoYXN5bmMgKHJlc29sdmVyKSA9PiBhd2FpdCByZXNvbHZlci5pc1Jlc29sdmVkKGxvZ09iaikpKVxyXG4gICAgICAudGhlbigocmVzdWx0cykgPT4ge1xyXG4gICAgICAgIHRoaXMudHJpZ2dlclJlc29sdmVycyA9IHRoaXMudHJpZ2dlclJlc29sdmVycy5maWx0ZXIoKF8sIGluZGV4KSA9PiAhcmVzdWx0c1tpbmRleF0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbih0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJldCA9IHN1cGVyLl9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbih0cmlnZ2VySGVscGVyKTtcclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnJlc29sdmVyKVxyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5jb25kaXRpb24gPSByZXQ7XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsRGVsYXlTZWNvbmRzKFxyXG4gICAgdHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyLFxyXG4gICk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xyXG4gICAgLy8gQ2FuJ3QgaW5oZXJpdCB0aGUgZGVmYXVsdCBsb2dpYyBmb3IgZGVsYXkgc2luY2Ugd2UgZG9uJ3RcclxuICAgIC8vIHdhbnQgdG8gZGVsYXkgZm9yIG1hc3MgcHJvY2Vzc2luZyBvZiB0aGUgdGltZWxpbmVcclxuICAgIGNvbnN0IGRlbGF5ID0gJ2RlbGF5U2Vjb25kcycgaW4gdHJpZ2dlckhlbHBlci50cmlnZ2VyID8gdHJpZ2dlckhlbHBlci52YWx1ZU9yRnVuY3Rpb24odHJpZ2dlckhlbHBlci50cmlnZ2VyLmRlbGF5U2Vjb25kcykgOiAwO1xyXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMuZGVsYXkgPSBkZWxheTtcclxuICAgICAgaWYgKCFkZWxheSB8fCBkZWxheSA8PSAwKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgcmV0dXJuIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXI/LnNldERlbGF5KHRyaWdnZXJIZWxwZXIubm93ICsgKGRlbGF5ICogMTAwMCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsUHJvbWlzZShcclxuICAgIHRyaWdnZXJIZWxwZXI6IEVtdWxhdG9yVHJpZ2dlckhlbHBlcixcclxuICApOiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHJldCA9IHN1cGVyLl9vblRyaWdnZXJJbnRlcm5hbFByb21pc2UodHJpZ2dlckhlbHBlcik7XHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcilcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucHJvbWlzZSA9IHJldDtcclxuICAgIGlmICghcmV0KVxyXG4gICAgICByZXR1cm4gcmV0O1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc2V0UHJvbWlzZShyZXQpO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9vblRyaWdnZXJJbnRlcm5hbFRUUyh0cmlnZ2VySGVscGVyOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIpOiB2b2lkIHtcclxuICAgIHN1cGVyLl9vblRyaWdnZXJJbnRlcm5hbFRUUyh0cmlnZ2VySGVscGVyKTtcclxuICAgIGlmICh0cmlnZ2VySGVscGVyLnR0c1RleHQgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyICYmXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3BvbnNlVHlwZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3BvbnNlVHlwZSA9ICd0dHMnO1xyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZUxhYmVsID0gdHJpZ2dlckhlbHBlci50dHNUZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX29uVHJpZ2dlckludGVybmFsUnVuKHRyaWdnZXJIZWxwZXI6IEVtdWxhdG9yVHJpZ2dlckhlbHBlcik6IHZvaWQge1xyXG4gICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlcj8uc2V0UnVuKCgpID0+IHtcclxuICAgICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpXHJcbiAgICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMuZXhlY3V0ZWQgPSB0cnVlO1xyXG4gICAgICBzdXBlci5fb25UcmlnZ2VySW50ZXJuYWxSdW4odHJpZ2dlckhlbHBlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyLFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgX2NsYXNzTmFtZTogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpXHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3VsdCA/Pz0gdGV4dDtcclxuICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9jcmVhdGVUZXh0Rm9yKHRyaWdnZXJIZWxwZXI6IEVtdWxhdG9yVHJpZ2dlckhlbHBlcixcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIHRleHRUeXBlOiBUZXh0LFxyXG4gICAgX2xvd2VyVGV4dEtleTogVGV4dFRleHQsXHJcbiAgICBfZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgLy8gTm8tb3AgZm9yIGZ1bmN0aW9uYWxpdHksIGJ1dCBzdG9yZSBvZmYgdGhpcyBpbmZvIGZvciBmZWVkYmFja1xyXG4gICAgaWYgKHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIpIHtcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VUeXBlID0gdGV4dFR5cGU7XHJcbiAgICAgIHRyaWdnZXJIZWxwZXIucmVzb2x2ZXIuc3RhdHVzLnJlc3BvbnNlTGFiZWwgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX3BsYXlBdWRpb0ZpbGUodHJpZ2dlckhlbHBlcjogRW11bGF0b3JUcmlnZ2VySGVscGVyLFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBfdm9sdW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIE5vLW9wIGZvciBmdW5jdGlvbmFsaXR5LCBidXQgc3RvcmUgb2ZmIHRoaXMgaW5mbyBmb3IgZmVlZGJhY2tcclxuXHJcbiAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlcikge1xyXG4gICAgICAvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgdGV4dCBhbmQgdGhpcyBpcyBhIGRlZmF1bHQgYWxlcnQgc291bmQsIGRvbid0IG92ZXJyaWRlIHRoYXQgaW5mb1xyXG4gICAgICBpZiAodHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgWydpbmZvJywgJ2FsZXJ0JywgJ2FsYXJtJ10uaW5jbHVkZXModHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VUeXBlKSAmJlxyXG4gICAgICAgICAgW3RoaXMub3B0aW9ucy5JbmZvU291bmQsIHRoaXMub3B0aW9ucy5BbGVydFNvdW5kLCB0aGlzLm9wdGlvbnMuQWxhcm1Tb3VuZF0uaW5jbHVkZXModXJsKSlcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0cmlnZ2VySGVscGVyLnJlc29sdmVyLnN0YXR1cy5yZXNwb25zZVR5cGUgPSAnYXVkaW9maWxlJztcclxuICAgICAgdHJpZ2dlckhlbHBlci5yZXNvbHZlci5zdGF0dXMucmVzcG9uc2VMYWJlbCA9IHVybDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9vblRyaWdnZXJJbnRlcm5hbEdldEhlbHBlcihcclxuICAgIHRyaWdnZXI6IFByb2Nlc3NlZFRyaWdnZXIsXHJcbiAgICBtYXRjaGVzOiBNYXRjaGVzLFxyXG4gICAgbm93OiBudW1iZXIpOiBFbXVsYXRvclRyaWdnZXJIZWxwZXIge1xyXG4gICAgY29uc3QgcmV0OiBFbXVsYXRvclRyaWdnZXJIZWxwZXIgPSB7XHJcbiAgICAgIC4uLnN1cGVyLl9vblRyaWdnZXJJbnRlcm5hbEdldEhlbHBlcih0cmlnZ2VyLCBtYXRjaGVzLCBub3cpLFxyXG4gICAgfTtcclxuICAgIHJldC5yZXNvbHZlciA9IHRoaXMuY3VycmVudFJlc29sdmVyO1xyXG4gICAgcmV0LnJlc29sdmVyPy5zZXRIZWxwZXIocmV0KTtcclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG59XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcbmltcG9ydCBVdGlsIGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy91dGlsJztcclxuaW1wb3J0IHsgTG9vc2VUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvdHJpZ2dlcic7XHJcbmltcG9ydCByYWlkYm9zc0ZpbGVEYXRhIGZyb20gJy4uLy4uL2RhdGEvcmFpZGJvc3NfbWFuaWZlc3QudHh0JztcclxuaW1wb3J0IHsgUG9wdXBUZXh0R2VuZXJhdG9yLCBUcmlnZ2VySGVscGVyIH0gZnJvbSAnLi4vLi4vcG9wdXAtdGV4dCc7XHJcbmltcG9ydCB7IFJhaWRib3NzT3B0aW9ucyB9IGZyb20gJy4uLy4uL3JhaWRib3NzX29wdGlvbnMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUxvYWRlciB9IGZyb20gJy4uLy4uL3RpbWVsaW5lJztcclxuaW1wb3J0IEVtdWxhdG9yQ29tbW9uLCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vRW11bGF0b3JDb21tb24nO1xyXG5pbXBvcnQgRXZlbnRCdXMgZnJvbSAnLi4vRXZlbnRCdXMnO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yQW5hbHlzaXNUaW1lbGluZVVJIGZyb20gJy4uL292ZXJyaWRlcy9SYWlkRW11bGF0b3JBbmFseXNpc1RpbWVsaW5lVUknO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yUG9wdXBUZXh0IGZyb20gJy4uL292ZXJyaWRlcy9SYWlkRW11bGF0b3JQb3B1cFRleHQnO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyIGZyb20gJy4uL292ZXJyaWRlcy9SYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXInO1xyXG5cclxuaW1wb3J0IENvbWJhdGFudCBmcm9tICcuL0NvbWJhdGFudCc7XHJcbmltcG9ydCBFbmNvdW50ZXIgZnJvbSAnLi9FbmNvdW50ZXInO1xyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4vbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBQb3B1cFRleHRBbmFseXNpcywgeyBSZXNvbHZlciwgUmVzb2x2ZXJTdGF0dXMgfSBmcm9tICcuL1BvcHVwVGV4dEFuYWx5c2lzJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvciBmcm9tICcuL1JhaWRFbXVsYXRvcic7XHJcblxyXG5leHBvcnQgdHlwZSBQZXJzcGVjdGl2ZVRyaWdnZXIgPSB7XHJcbiAgdHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcjtcclxuICBzdGF0dXM6IFJlc29sdmVyU3RhdHVzO1xyXG4gIGxvZ0xpbmU6IExpbmVFdmVudDtcclxuICByZXNvbHZlZE9mZnNldDogbnVtYmVyO1xyXG59O1xyXG50eXBlIFBlcnNwZWN0aXZlID0ge1xyXG4gIGluaXRpYWxEYXRhOiBEYXRhVHlwZTtcclxuICB0cmlnZ2VyczogUGVyc3BlY3RpdmVUcmlnZ2VyW107XHJcbiAgZmluYWxEYXRhPzogRGF0YVR5cGU7XHJcbn07XHJcbnR5cGUgUGVyc3BlY3RpdmVzID0geyBbaWQ6IHN0cmluZ106IFBlcnNwZWN0aXZlIH07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbmFseXplZEVuY291bnRlciBleHRlbmRzIEV2ZW50QnVzIHtcclxuICBwZXJzcGVjdGl2ZXM6IFBlcnNwZWN0aXZlcyA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHB1YmxpYyBlbmNvdW50ZXI6IEVuY291bnRlcixcclxuICAgIHB1YmxpYyBlbXVsYXRvcjogUmFpZEVtdWxhdG9yLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFBlcnNwZWN0aXZlKGlkOiBzdHJpbmcsIHBvcHVwVGV4dDogUG9wdXBUZXh0QW5hbHlzaXMgfCBSYWlkRW11bGF0b3JQb3B1cFRleHQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVuY291bnRlciAmJiB0aGlzLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkUGFydHlNZW1iZXIgPSB0aGlzLmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyLmNvbWJhdGFudHNbaWRdO1xyXG4gICAgICBpZiAoIXNlbGVjdGVkUGFydHlNZW1iZXIpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgcG9wdXBUZXh0Py5nZXRQYXJ0eVRyYWNrZXIoKS5vblBhcnR5Q2hhbmdlZCh7XHJcbiAgICAgICAgcGFydHk6IHRoaXMuZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIucGFydHlNZW1iZXJzLm1hcCgoaWQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHBhcnR5TWVtYmVyID0gdGhpcy5lbmNvdW50ZXI/LmNvbWJhdGFudFRyYWNrZXI/LmNvbWJhdGFudHNbaWRdO1xyXG4gICAgICAgICAgaWYgKCFwYXJ0eU1lbWJlcilcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgICAgICB3b3JsZElkOiAwLFxyXG4gICAgICAgICAgICBuYW1lOiBwYXJ0eU1lbWJlci5uYW1lLFxyXG4gICAgICAgICAgICBqb2I6IFV0aWwuam9iVG9Kb2JFbnVtKHBhcnR5TWVtYmVyLmpvYiA/PyAnTk9ORScpLFxyXG4gICAgICAgICAgICBpblBhcnR5OiB0cnVlLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KSxcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoc2VsZWN0ZWRQYXJ0eU1lbWJlciwgdGhpcy5lbmNvdW50ZXIuc3RhcnRUaW1lc3RhbXAsIHBvcHVwVGV4dCk7XHJcbiAgICAgIHBvcHVwVGV4dD8uT25DaGFuZ2Vab25lKHtcclxuICAgICAgICB0eXBlOiAnQ2hhbmdlWm9uZScsXHJcbiAgICAgICAgem9uZU5hbWU6IHRoaXMuZW5jb3VudGVyLmVuY291bnRlclpvbmVOYW1lLFxyXG4gICAgICAgIHpvbmVJRDogcGFyc2VJbnQodGhpcy5lbmNvdW50ZXIuZW5jb3VudGVyWm9uZUlkLCAxNiksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3RhdGUoXHJcbiAgICBjb21iYXRhbnQ6IENvbWJhdGFudCxcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyLFxyXG4gICAgcG9wdXBUZXh0OiBQb3B1cFRleHRBbmFseXNpcyB8IFJhaWRFbXVsYXRvclBvcHVwVGV4dCxcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGpvYiA9IGNvbWJhdGFudC5qb2I7XHJcbiAgICBpZiAoIWpvYilcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgY29uc3Qgc3RhdGUgPSBjb21iYXRhbnQuZ2V0U3RhdGUodGltZXN0YW1wKTtcclxuICAgIHBvcHVwVGV4dD8uT25QbGF5ZXJDaGFuZ2Uoe1xyXG4gICAgICBkZXRhaWw6IHtcclxuICAgICAgICBpZDogcGFyc2VJbnQoY29tYmF0YW50LmlkKSxcclxuICAgICAgICBuYW1lOiBjb21iYXRhbnQubmFtZSxcclxuICAgICAgICBqb2I6IGpvYixcclxuICAgICAgICBsZXZlbDogY29tYmF0YW50LmxldmVsID8/IDAsXHJcbiAgICAgICAgY3VycmVudEhQOiBzdGF0ZS5ocCxcclxuICAgICAgICBtYXhIUDogc3RhdGUubWF4SHAsXHJcbiAgICAgICAgY3VycmVudE1QOiBzdGF0ZS5tcCxcclxuICAgICAgICBtYXhNUDogc3RhdGUubWF4TXAsXHJcbiAgICAgICAgY3VycmVudENQOiAwLFxyXG4gICAgICAgIG1heENQOiAwLFxyXG4gICAgICAgIGN1cnJlbnRHUDogMCxcclxuICAgICAgICBtYXhHUDogMCxcclxuICAgICAgICBjdXJyZW50U2hpZWxkOiAwLFxyXG4gICAgICAgIGpvYkRldGFpbDogbnVsbCxcclxuICAgICAgICBwb3M6IHtcclxuICAgICAgICAgIHg6IHN0YXRlLnBvc1gsXHJcbiAgICAgICAgICB5OiBzdGF0ZS5wb3NZLFxyXG4gICAgICAgICAgejogc3RhdGUucG9zWixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJvdGF0aW9uOiBzdGF0ZS5oZWFkaW5nLFxyXG4gICAgICAgIGJhaXQ6IDAsXHJcbiAgICAgICAgZGVidWdKb2I6ICcnLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBhbmFseXplKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gQFRPRE86IE1ha2UgdGhpcyBydW4gaW4gcGFyYWxsZWwgc29tZXRpbWUgaW4gdGhlIGZ1dHVyZSwgc2luY2UgaXQgY291bGQgYmUgcmVhbGx5IHNsb3c/XHJcbiAgICBpZiAodGhpcy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlcikge1xyXG4gICAgICBmb3IgKGNvbnN0IGlkIG9mIHRoaXMuZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIucGFydHlNZW1iZXJzKVxyXG4gICAgICAgIGF3YWl0IHRoaXMuYW5hbHl6ZUZvcihpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2goJ2FuYWx5emVkJyk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBhbmFseXplRm9yKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlcilcclxuICAgICAgcmV0dXJuO1xyXG4gICAgbGV0IGN1cnJlbnRMb2dJbmRleCA9IDA7XHJcbiAgICBjb25zdCBwYXJ0eU1lbWJlciA9IHRoaXMuZW5jb3VudGVyLmNvbWJhdGFudFRyYWNrZXIuY29tYmF0YW50c1tpZF07XHJcblxyXG4gICAgaWYgKCFwYXJ0eU1lbWJlcilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghcGFydHlNZW1iZXIuam9iKSB7XHJcbiAgICAgIHRoaXMucGVyc3BlY3RpdmVzW2lkXSA9IHtcclxuICAgICAgICBpbml0aWFsRGF0YToge30sXHJcbiAgICAgICAgdHJpZ2dlcnM6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGltZWxpbmVVSSA9IG5ldyBSYWlkRW11bGF0b3JBbmFseXNpc1RpbWVsaW5lVUkodGhpcy5vcHRpb25zKTtcclxuICAgIGNvbnN0IHRpbWVsaW5lQ29udHJvbGxlciA9IG5ldyBSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXIoXHJcbiAgICAgIHRoaXMub3B0aW9ucyxcclxuICAgICAgdGltZWxpbmVVSSxcclxuICAgICAgcmFpZGJvc3NGaWxlRGF0YSxcclxuICAgICk7XHJcbiAgICB0aW1lbGluZUNvbnRyb2xsZXIuYmluZFRvKHRoaXMuZW11bGF0b3IpO1xyXG5cclxuICAgIGNvbnN0IHBvcHVwVGV4dCA9IG5ldyBQb3B1cFRleHRBbmFseXNpcyhcclxuICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICBuZXcgVGltZWxpbmVMb2FkZXIodGltZWxpbmVDb250cm9sbGVyKSxcclxuICAgICAgcmFpZGJvc3NGaWxlRGF0YSxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgZ2VuZXJhdG9yID0gbmV3IFBvcHVwVGV4dEdlbmVyYXRvcihwb3B1cFRleHQpO1xyXG4gICAgdGltZWxpbmVVSS5TZXRQb3B1cFRleHRJbnRlcmZhY2UoZ2VuZXJhdG9yKTtcclxuXHJcbiAgICB0aW1lbGluZUNvbnRyb2xsZXIuU2V0UG9wdXBUZXh0SW50ZXJmYWNlKGdlbmVyYXRvcik7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RQZXJzcGVjdGl2ZShpZCwgcG9wdXBUZXh0KTtcclxuXHJcbiAgICBpZiAodGltZWxpbmVDb250cm9sbGVyLmFjdGl2ZVRpbWVsaW5lPy51aSkge1xyXG4gICAgICB0aW1lbGluZUNvbnRyb2xsZXIuYWN0aXZlVGltZWxpbmUudWkuT25UcmlnZ2VyID0gKHRyaWdnZXI6IExvb3NlVHJpZ2dlciwgbWF0Y2hlcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gdGhpcy5lbmNvdW50ZXIubG9nTGluZXNbY3VycmVudExvZ0luZGV4XTtcclxuICAgICAgICBpZiAoIWN1cnJlbnRMaW5lKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgICAgICBjb25zdCByZXNvbHZlciA9IHBvcHVwVGV4dC5jdXJyZW50UmVzb2x2ZXIgPSBuZXcgUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgaW5pdGlhbERhdGE6IEVtdWxhdG9yQ29tbW9uLmNsb25lRGF0YShwb3B1cFRleHQuZ2V0RGF0YSgpKSxcclxuICAgICAgICAgIHN1cHByZXNzZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgZXhlY3V0ZWQ6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc29sdmVyLnRyaWdnZXJIZWxwZXIgPSBwb3B1cFRleHQuX29uVHJpZ2dlckludGVybmFsR2V0SGVscGVyKFxyXG4gICAgICAgICAgdHJpZ2dlcixcclxuICAgICAgICAgIG1hdGNoZXM/Lmdyb3VwcyA/PyB7fSxcclxuICAgICAgICAgIGN1cnJlbnRMaW5lPy50aW1lc3RhbXAsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBwb3B1cFRleHQudHJpZ2dlclJlc29sdmVycy5wdXNoKHJlc29sdmVyKTtcclxuXHJcbiAgICAgICAgaWYgKCFjdXJyZW50TGluZSlcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICAgICAgcG9wdXBUZXh0Lk9uVHJpZ2dlcih0cmlnZ2VyLCBtYXRjaGVzLCBjdXJyZW50TGluZS50aW1lc3RhbXApO1xyXG5cclxuICAgICAgICByZXNvbHZlci5zZXRGaW5hbCgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlci5zdGF0dXMuZmluYWxEYXRhID0gRW11bGF0b3JDb21tb24uY2xvbmVEYXRhKHBvcHVwVGV4dC5nZXREYXRhKCkpO1xyXG4gICAgICAgICAgZGVsZXRlIHJlc29sdmVyLnRyaWdnZXJIZWxwZXI/LnJlc29sdmVyO1xyXG4gICAgICAgICAgaWYgKHBvcHVwVGV4dC5jYWxsYmFjaykge1xyXG4gICAgICAgICAgICBwb3B1cFRleHQuY2FsbGJhY2soXHJcbiAgICAgICAgICAgICAgY3VycmVudExpbmUsXHJcbiAgICAgICAgICAgICAgcmVzb2x2ZXIudHJpZ2dlckhlbHBlcixcclxuICAgICAgICAgICAgICByZXNvbHZlci5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgcG9wdXBUZXh0LmdldERhdGEoKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwb3B1cFRleHQuY2FsbGJhY2sgPSAobG9nLCB0cmlnZ2VySGVscGVyLCBjdXJyZW50VHJpZ2dlclN0YXR1cykgPT4ge1xyXG4gICAgICBjb25zdCBwZXJzcGVjdGl2ZSA9IHRoaXMucGVyc3BlY3RpdmVzW2lkXTtcclxuICAgICAgaWYgKCFwZXJzcGVjdGl2ZSB8fCAhdHJpZ2dlckhlbHBlcilcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgICBjb25zdCBkZWxheSA9IGN1cnJlbnRUcmlnZ2VyU3RhdHVzLmRlbGF5ID8/IDA7XHJcblxyXG4gICAgICBwZXJzcGVjdGl2ZS50cmlnZ2Vycy5wdXNoKHtcclxuICAgICAgICB0cmlnZ2VySGVscGVyOiB0cmlnZ2VySGVscGVyLFxyXG4gICAgICAgIHN0YXR1czogY3VycmVudFRyaWdnZXJTdGF0dXMsXHJcbiAgICAgICAgbG9nTGluZTogbG9nLFxyXG4gICAgICAgIHJlc29sdmVkT2Zmc2V0OiAobG9nLnRpbWVzdGFtcCAtIHRoaXMuZW5jb3VudGVyLnN0YXJ0VGltZXN0YW1wKSArXHJcbiAgICAgICAgICAoZGVsYXkgKiAxMDAwKSxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgcG9wdXBUZXh0LnRyaWdnZXJSZXNvbHZlcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnBlcnNwZWN0aXZlc1tpZF0gPSB7XHJcbiAgICAgIGluaXRpYWxEYXRhOiBFbXVsYXRvckNvbW1vbi5jbG9uZURhdGEocG9wdXBUZXh0LmdldERhdGEoKSwgW10pLFxyXG4gICAgICB0cmlnZ2VyczogW10sXHJcbiAgICAgIGZpbmFsRGF0YTogcG9wdXBUZXh0LmdldERhdGEoKSxcclxuICAgIH07XHJcblxyXG4gICAgZm9yICg7IGN1cnJlbnRMb2dJbmRleCA8IHRoaXMuZW5jb3VudGVyLmxvZ0xpbmVzLmxlbmd0aDsgKytjdXJyZW50TG9nSW5kZXgpIHtcclxuICAgICAgY29uc3QgbG9nID0gdGhpcy5lbmNvdW50ZXIubG9nTGluZXNbY3VycmVudExvZ0luZGV4XTtcclxuICAgICAgaWYgKCFsb2cpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdhbmFseXplTGluZScsIGxvZyk7XHJcblxyXG4gICAgICBjb25zdCBjb21iYXRhbnQgPSB0aGlzLmVuY291bnRlcj8uY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tpZF07XHJcblxyXG4gICAgICBpZiAoY29tYmF0YW50ICYmIGNvbWJhdGFudC5oYXNTdGF0ZShsb2cudGltZXN0YW1wKSlcclxuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKGNvbWJhdGFudCwgbG9nLnRpbWVzdGFtcCwgcG9wdXBUZXh0KTtcclxuXHJcbiAgICAgIGF3YWl0IHBvcHVwVGV4dC5vbkVtdWxhdG9yTG9nKFtsb2ddKTtcclxuICAgICAgdGltZWxpbmVDb250cm9sbGVyLm9uRW11bGF0b3JMb2dFdmVudChbbG9nXSk7XHJcbiAgICB9XHJcbiAgICB0aW1lbGluZVVJLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCBFdmVudEJ1cyBmcm9tICcuLi9FdmVudEJ1cyc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JQb3B1cFRleHQgZnJvbSAnLi4vb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclBvcHVwVGV4dCc7XHJcblxyXG5pbXBvcnQgQW5hbHl6ZWRFbmNvdW50ZXIgZnJvbSAnLi9BbmFseXplZEVuY291bnRlcic7XHJcbmltcG9ydCBFbmNvdW50ZXIgZnJvbSAnLi9FbmNvdW50ZXInO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFpZEVtdWxhdG9yIGV4dGVuZHMgRXZlbnRCdXMge1xyXG4gIHN0YXRpYyByZWFkb25seSBwbGF5YmFja1NwZWVkID0gMTA7XHJcblxyXG4gIGVuY291bnRlcnM6IEVuY291bnRlcltdID0gW107XHJcbiAgY3VycmVudEVuY291bnRlcj86IEFuYWx5emVkRW5jb3VudGVyO1xyXG4gIHBsYXlpbmdJbnRlcnZhbD86IG51bWJlcjtcclxuICBjdXJyZW50TG9nTGluZUluZGV4PzogbnVtYmVyO1xyXG4gIGN1cnJlbnRMb2dUaW1lPzogbnVtYmVyO1xyXG4gIGxhc3RMb2dMaW5lVGltZT86IG51bWJlcjtcclxuICBsYXN0VGlja1RpbWU/OiBudW1iZXI7XHJcbiAgcG9wdXBUZXh0PzogUmFpZEVtdWxhdG9yUG9wdXBUZXh0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogUmFpZGJvc3NPcHRpb25zKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMuZW5jb3VudGVycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgYWRkRW5jb3VudGVyKGVuY291bnRlcjogRW5jb3VudGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVuY291bnRlcnMucHVzaChlbmNvdW50ZXIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50KGVuYzogRW5jb3VudGVyKTogdm9pZCB7XHJcbiAgICAvLyBJZiBsYW5ndWFnZSB3YXMgYXV0b2RldGVjdGVkIGZyb20gdGhlIGVuY291bnRlciwgc2V0IHRoZSBjdXJyZW50IFBhcnNlckxhbmd1YWdlXHJcbiAgICAvLyBhcHByb3ByaWF0ZWx5XHJcbiAgICBpZiAoZW5jLmxhbmd1YWdlKVxyXG4gICAgICB0aGlzLm9wdGlvbnMuUGFyc2VyTGFuZ3VhZ2UgPSBlbmMubGFuZ3VhZ2U7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50RW5jb3VudGVyID0gbmV3IEFuYWx5emVkRW5jb3VudGVyKHRoaXMub3B0aW9ucywgZW5jLCB0aGlzKTtcclxuICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgncHJlQ3VycmVudEVuY291bnRlckNoYW5nZWQnLCB0aGlzLmN1cnJlbnRFbmNvdW50ZXIpO1xyXG4gICAgdm9pZCB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuYW5hbHl6ZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ2N1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgdGhpcy5jdXJyZW50RW5jb3VudGVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3VycmVudEJ5SUQoaWQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZW5jID0gdGhpcy5lbmNvdW50ZXJzLmZpbmQoKHYpID0+IHYuaWQgPT09IGlkKTtcclxuICAgIGlmICghZW5jKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5zZXRDdXJyZW50KGVuYyk7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFBlcnNwZWN0aXZlKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jdXJyZW50RW5jb3VudGVyIHx8ICF0aGlzLnBvcHVwVGV4dClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgdGhpcy5jdXJyZW50RW5jb3VudGVyLnNlbGVjdFBlcnNwZWN0aXZlKGlkLCB0aGlzLnBvcHVwVGV4dCk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50TG9nVGltZSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICB2b2lkIHRoaXMuc2Vla1RvKHRoaXMuY3VycmVudExvZ1RpbWUpO1xyXG4gIH1cclxuXHJcbiAgcGxheSgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jdXJyZW50RW5jb3VudGVyKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgZmlyc3RJbmRleCA9IHRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIuZmlyc3RMaW5lSW5kZXg7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50TG9nVGltZSA9IHRoaXMuY3VycmVudExvZ1RpbWUgPz9cclxuICAgICAgdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5sb2dMaW5lc1tmaXJzdEluZGV4XT8udGltZXN0YW1wO1xyXG4gICAgdGhpcy5jdXJyZW50TG9nTGluZUluZGV4ID0gdGhpcy5jdXJyZW50TG9nTGluZUluZGV4IHx8IGZpcnN0SW5kZXggLSAxO1xyXG4gICAgdGhpcy5sYXN0VGlja1RpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgLy8gTmVlZCB0byB1c2UgYSBsb2NhbCBmdW5jdGlvbiBtYWtlIGVzbGludCBoYXBweSwgb3IgaWdub3JlIHRoZSBlc2xpbnQgcnVsZSBoZXJlP1xyXG4gICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHtcclxuICAgICAgdm9pZCB0aGlzLnRpY2soKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnBsYXlpbmdJbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChoYW5kbGVyLCBSYWlkRW11bGF0b3IucGxheWJhY2tTcGVlZCk7XHJcbiAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ3BsYXknKTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcGF1c2UoKTogYm9vbGVhbiB7XHJcbiAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnBsYXlpbmdJbnRlcnZhbCk7XHJcbiAgICB0aGlzLmxhc3RUaWNrVGltZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucGxheWluZ0ludGVydmFsID0gdW5kZWZpbmVkO1xyXG4gICAgdm9pZCB0aGlzLmRpc3BhdGNoKCdwYXVzZScpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZWVrKHRpbWVPZmZzZXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRFbmNvdW50ZXIgfHwgIXRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXIpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBzZWVrVGltZXN0YW1wID0gdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5zdGFydFRpbWVzdGFtcCArIHRpbWVPZmZzZXQ7XHJcbiAgICBhd2FpdCB0aGlzLnNlZWtUbyhzZWVrVGltZXN0YW1wKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNlZWtUbyhzZWVrVGltZXN0YW1wOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jdXJyZW50RW5jb3VudGVyIHx8ICF0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgncHJlU2VlaycsIHNlZWtUaW1lc3RhbXApO1xyXG4gICAgdGhpcy5jdXJyZW50TG9nTGluZUluZGV4ID0gLTE7XHJcbiAgICBsZXQgbG9ncyA9IFtdO1xyXG4gICAgY29uc3QgcGxheWluZyA9IHRoaXMucGxheWluZ0ludGVydmFsICE9PSB1bmRlZmluZWQ7XHJcbiAgICBpZiAocGxheWluZylcclxuICAgICAgdGhpcy5wYXVzZSgpO1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGkgPSB0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXggKyAxO1xyXG4gICAgICBpIDwgdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5sb2dMaW5lcy5sZW5ndGg7XHJcbiAgICAgICsraVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzW2ldO1xyXG4gICAgICBpZiAoIWxpbmUpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgICAgaWYgKGxpbmUudGltZXN0YW1wIDw9IHNlZWtUaW1lc3RhbXApIHtcclxuICAgICAgICBsb2dzLnB1c2gobGluZSk7XHJcbiAgICAgICAgLy8gQnVuY2ggZW1pdHRlZCBsaW5lcyBmb3IgcGVyZm9ybWFuY2UgcmVhc29uc1xyXG4gICAgICAgIGlmIChsb2dzLmxlbmd0aCA+IDEwMCkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgnZW1pdExvZ3MnLCB7IGxvZ3M6IGxvZ3MgfSk7XHJcbiAgICAgICAgICBsb2dzID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3VycmVudExvZ1RpbWUgPSB0aGlzLmxhc3RMb2dMaW5lVGltZSA9IGxpbmUudGltZXN0YW1wO1xyXG4gICAgICAgICsrdGhpcy5jdXJyZW50TG9nTGluZUluZGV4O1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ21pZFNlZWsnLCBsaW5lKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICAvLyBFbWl0IGFueSByZW1haW5pbmcgbGluZXMgaWYgbmVlZGVkXHJcbiAgICBpZiAobG9ncy5sZW5ndGgpIHtcclxuICAgICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgnZW1pdExvZ3MnLCB7IGxvZ3M6IGxvZ3MgfSk7XHJcbiAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goJ21pZFNlZWsnLCBsb2dzLnBvcCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdwb3N0U2VlaycsIHNlZWtUaW1lc3RhbXApO1xyXG4gICAgYXdhaXQgdGhpcy5kaXNwYXRjaCgndGljaycsIHRoaXMuY3VycmVudExvZ1RpbWUsIHRoaXMubGFzdExvZ0xpbmVUaW1lKTtcclxuICAgIGlmIChwbGF5aW5nKVxyXG4gICAgICB0aGlzLnBsYXkoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHRpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudExvZ0xpbmVJbmRleCA9PT0gdW5kZWZpbmVkIHx8ICF0aGlzLmN1cnJlbnRFbmNvdW50ZXIgfHxcclxuICAgICAgdGhpcy5sYXN0VGlja1RpbWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmN1cnJlbnRMb2dUaW1lID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgIXRoaXMuY3VycmVudEVuY291bnRlci5lbmNvdW50ZXJcclxuICAgIClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgaWYgKHRoaXMuY3VycmVudExvZ0xpbmVJbmRleCArIDEgPj0gdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5sb2dMaW5lcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wYXVzZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wbGF5aW5nSW50ZXJ2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgbG9ncyA9IFtdO1xyXG4gICAgY29uc3QgdGltZURpZmYgPSBEYXRlLm5vdygpIC0gdGhpcy5sYXN0VGlja1RpbWU7XHJcbiAgICBjb25zdCBsYXN0VGltZXN0YW1wID0gdGhpcy5jdXJyZW50TG9nVGltZSArIHRpbWVEaWZmO1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGkgPSB0aGlzLmN1cnJlbnRMb2dMaW5lSW5kZXggKyAxO1xyXG4gICAgICBpIDwgdGhpcy5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5sb2dMaW5lcy5sZW5ndGg7XHJcbiAgICAgICsraVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzW2ldO1xyXG4gICAgICBpZiAoIWxpbmUpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICBpZiAobGluZS50aW1lc3RhbXAgPD0gbGFzdFRpbWVzdGFtcCkge1xyXG4gICAgICAgIGxvZ3MucHVzaCh0aGlzLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmxvZ0xpbmVzW2ldKTtcclxuICAgICAgICB0aGlzLmxhc3RMb2dMaW5lVGltZSA9IGxpbmUudGltZXN0YW1wO1xyXG4gICAgICAgICsrdGhpcy5jdXJyZW50TG9nTGluZUluZGV4O1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50TG9nVGltZSArPSB0aW1lRGlmZjtcclxuICAgIHRoaXMubGFzdFRpY2tUaW1lICs9IHRpbWVEaWZmO1xyXG4gICAgaWYgKGxvZ3MubGVuZ3RoKVxyXG4gICAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCdlbWl0TG9ncycsIHsgbG9nczogbG9ncyB9KTtcclxuXHJcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKCd0aWNrJywgdGhpcy5jdXJyZW50TG9nVGltZSwgdGhpcy5sYXN0TG9nTGluZVRpbWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9wdXBUZXh0KHBvcHVwVGV4dDogUmFpZEVtdWxhdG9yUG9wdXBUZXh0KTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcHVwVGV4dCA9IHBvcHVwVGV4dDtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgc2V0T3ZlcmxheUhhbmRsZXJPdmVycmlkZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9vdmVybGF5X3BsdWdpbl9hcGknO1xyXG5pbXBvcnQge1xyXG4gIE92ZXJsYXlIYW5kbGVyUmVxdWVzdHMsXHJcbiAgT3ZlcmxheUhhbmRsZXJSZXNwb25zZXMsXHJcbiAgUGx1Z2luQ29tYmF0YW50U3RhdGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvZXZlbnQnO1xyXG5pbXBvcnQgQW5hbHl6ZWRFbmNvdW50ZXIgZnJvbSAnLi4vZGF0YS9BbmFseXplZEVuY291bnRlcic7XHJcbmltcG9ydCBMaW5lRXZlbnQsIHsgaXNMaW5lRXZlbnRTb3VyY2UgfSBmcm9tICcuLi9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgeyBMaW5lRXZlbnQweDAzIH0gZnJvbSAnLi4vZGF0YS9uZXR3b3JrX2xvZ19jb252ZXJ0ZXIvTGluZUV2ZW50MHgwMyc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2sge1xyXG4gIGN1cnJlbnRMb2dUaW1lID0gMDtcclxuICBjb25uZWN0ZWQgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVtdWxhdG9yOiBSYWlkRW11bGF0b3IpIHtcclxuICAgIHNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUoJ2dldENvbWJhdGFudHMnLCB0aGlzLl9nZXRDb21iYXRhbnRzT3ZlcnJpZGUuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgZW11bGF0b3Iub24oJ3RpY2snLCAoY3VycmVudExvZ1RpbWU6IG51bWJlcikgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2dUaW1lID0gY3VycmVudExvZ1RpbWU7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwcmVTZWVrJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRMb2dUaW1lID0gMDtcclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ3ByZUN1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIpID0+IHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9nVGltZSA9IDA7XHJcbiAgICAgIGVuY291bnRlci5vbignYW5hbHl6ZUxpbmUnLCAobG9nOiBMaW5lRXZlbnQpID0+IHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2dUaW1lID0gbG9nLnRpbWVzdGFtcDtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9nZXRDb21iYXRhbnRzT3ZlcnJpZGUoXHJcbiAgICBtc2c6IE92ZXJsYXlIYW5kbGVyUmVxdWVzdHNbJ2dldENvbWJhdGFudHMnXSxcclxuICApOiBPdmVybGF5SGFuZGxlclJlc3BvbnNlc1snZ2V0Q29tYmF0YW50cyddIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx7IGNvbWJhdGFudHM6IFBsdWdpbkNvbWJhdGFudFN0YXRlW10gfT4oKHJlcykgPT4ge1xyXG4gICAgICBjb25zdCBjdXJFbmMgPSB0aGlzLmVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXI7XHJcbiAgICAgIGNvbnN0IHRyYWNrZXIgPSBjdXJFbmM/LmVuY291bnRlci5jb21iYXRhbnRUcmFja2VyO1xyXG4gICAgICBpZiAoIWN1ckVuYyB8fCAhdHJhY2tlcikge1xyXG4gICAgICAgIHJlcyh7IGNvbWJhdGFudHM6IFtdIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB0aW1lc3RhbXAgPSB0aGlzLmN1cnJlbnRMb2dUaW1lO1xyXG5cclxuICAgICAgY29uc3QgY29tYmF0YW50czogUGx1Z2luQ29tYmF0YW50U3RhdGVbXSA9IFtdO1xyXG4gICAgICBjb25zdCBpZHMgPSBtc2cuaWRzID8/IFtdO1xyXG4gICAgICBjb25zdCBuYW1lcyA9IG1zZy5uYW1lcyA/PyBbXTtcclxuICAgICAgY29uc3QgaGFzSWRzID0gaWRzLmxlbmd0aCA+IDA7XHJcbiAgICAgIGNvbnN0IGhhc05hbWVzID0gbmFtZXMubGVuZ3RoID4gMDtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgW2lkLCBjb21iYXRhbnRdIG9mIE9iamVjdC5lbnRyaWVzKHRyYWNrZXIuY29tYmF0YW50cykpIHtcclxuICAgICAgICAvLyBJZiB0aGlzIGNvbWJhdGFudCBkaWRuJ3QgZXhpc3QgYXQgdGhpcyBwb2ludCwgc2tpcCB0aGVtXHJcbiAgICAgICAgY29uc3QgZmlyc3RTdGF0ZVN0YW1wID0gY29tYmF0YW50LnNpZ25pZmljYW50U3RhdGVzWzBdO1xyXG4gICAgICAgIGNvbnN0IGxhc3RTdGF0ZVN0YW1wID0gY29tYmF0YW50LnNpZ25pZmljYW50U3RhdGVzLnNsaWNlKC0xKVswXTtcclxuICAgICAgICBpZiAoIWZpcnN0U3RhdGVTdGFtcCB8fCAhbGFzdFN0YXRlU3RhbXApXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBpZiAoZmlyc3RTdGF0ZVN0YW1wID4gdGltZXN0YW1wIHx8IGxhc3RTdGF0ZVN0YW1wIDwgdGltZXN0YW1wKVxyXG4gICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgIGNvbnN0IGlkTnVtID0gcGFyc2VJbnQoaWQsIDE2KTtcclxuICAgICAgICAvLyBuZXh0U2lnbmlmaWNhbnRTdGF0ZSBpcyBhIGJpdCBpbmVmZmljaWVudCBidXQgZ2l2ZW4gdGhhdCB0aGlzIGlzbid0IHJ1biBldmVyeSB0aWNrXHJcbiAgICAgICAgLy8gd2UgY2FuIGFmZm9yZCB0byBiZSBhIGJpdCBpbmVmZmljaWVudCBmb3IgcmVhZGFiaWxpdHkncyBzYWtlXHJcbiAgICAgICAgY29uc3QgY29tYmF0YW50U3RhdGUgPSB7XHJcbiAgICAgICAgICBJRDogaWROdW0sXHJcbiAgICAgICAgICBOYW1lOiBjb21iYXRhbnQubmFtZSxcclxuICAgICAgICAgIExldmVsOiBjb21iYXRhbnQubGV2ZWwsXHJcbiAgICAgICAgICBKb2I6IGNvbWJhdGFudC5qb2JJZCxcclxuICAgICAgICAgIC4uLmNvbWJhdGFudC5uZXh0U2lnbmlmaWNhbnRTdGF0ZSh0aW1lc3RhbXApLnRvUGx1Z2luU3RhdGUoKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmICghaGFzSWRzICYmICFoYXNOYW1lcylcclxuICAgICAgICAgIGNvbWJhdGFudHMucHVzaChjb21iYXRhbnRTdGF0ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAoaGFzSWRzICYmIGlkcy5pbmNsdWRlcyhpZE51bSkpXHJcbiAgICAgICAgICBjb21iYXRhbnRzLnB1c2goY29tYmF0YW50U3RhdGUpO1xyXG4gICAgICAgIGVsc2UgaWYgKGhhc05hbWVzICYmIG5hbWVzLmluY2x1ZGVzKGNvbWJhdGFudC5uYW1lKSlcclxuICAgICAgICAgIGNvbWJhdGFudHMucHVzaChjb21iYXRhbnRTdGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gQFRPRE86IE1vdmUgdGhpcyB0byB0cmFjayBwcm9wZXJseSBvbiB0aGUgQ29tYmF0YW50IG9iamVjdFxyXG4gICAgICBjb21iYXRhbnRzLmZvckVhY2goKGMpID0+IHtcclxuICAgICAgICBjb25zdCBsaW5lcyA9IGN1ckVuYy5lbmNvdW50ZXIubG9nTGluZXNcclxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+IGwuZGVjRXZlbnQgPT09IDMgJiYgaXNMaW5lRXZlbnRTb3VyY2UobCkgJiYgcGFyc2VJbnQobC5pZCwgMTYpID09PSBjLklEKTtcclxuICAgICAgICBjb25zdCBiYXNlTGluZSA9IGxpbmVzWzBdO1xyXG4gICAgICAgIGlmIChiYXNlTGluZSkge1xyXG4gICAgICAgICAgY29uc3QgbGluZSA9IGJhc2VMaW5lIGFzIExpbmVFdmVudDB4MDM7XHJcbiAgICAgICAgICBjLk93bmVySUQgPSBwYXJzZUludChsaW5lLm93bmVySWQpO1xyXG4gICAgICAgICAgYy5CTnBjTmFtZUlEID0gcGFyc2VJbnQobGluZS5ucGNOYW1lSWQpO1xyXG4gICAgICAgICAgYy5CTnBjSUQgPSBwYXJzZUludChsaW5lLm5wY0Jhc2VJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmVzKHtcclxuICAgICAgICBjb21iYXRhbnRzOiBjb21iYXRhbnRzLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgeyBFdmVudFJlc3BvbnNlcywgTG9nRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9ldmVudCc7XHJcbmltcG9ydCB7IFJhaWRib3NzRmlsZURhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy90cmlnZ2VyJztcclxuaW1wb3J0IHsgVGV4dCwgVGV4dFRleHQsIFRyaWdnZXJIZWxwZXIgfSBmcm9tICcuLi8uLi9wb3B1cC10ZXh0JztcclxuaW1wb3J0IHsgUmFpZGJvc3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vcmFpZGJvc3Nfb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRpbWVsaW5lTG9hZGVyIH0gZnJvbSAnLi4vLi4vdGltZWxpbmUnO1xyXG5pbXBvcnQgTGluZUV2ZW50IGZyb20gJy4uL2RhdGEvbmV0d29ya19sb2dfY29udmVydGVyL0xpbmVFdmVudCc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5pbXBvcnQgU3R1YmJlZFBvcHVwVGV4dCBmcm9tICcuLi9vdmVycmlkZXMvU3R1YmJlZFBvcHVwVGV4dCc7XHJcblxyXG50eXBlIERpc3BsYXllZFRleHQgPSB7XHJcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgZXhwaXJlczogbnVtYmVyO1xyXG59O1xyXG5cclxudHlwZSBTY2hlZHVsZWRGdW5jID0gKCkgPT4gdm9pZDtcclxuXHJcbnR5cGUgU2NoZWR1bGVkVHJpZ2dlciA9IHtcclxuICBleHBpcmVzOiBudW1iZXI7XHJcbiAgcHJvbWlzZTogUHJvbWlzZTx1bmtub3duPjtcclxuICByZXNvbHZlcjogU2NoZWR1bGVkRnVuYztcclxuICByZWplY3RlcjogU2NoZWR1bGVkRnVuYztcclxufTtcclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWlkRW11bGF0b3JQb3B1cFRleHQgZXh0ZW5kcyBTdHViYmVkUG9wdXBUZXh0IHtcclxuICAkcG9wdXBUZXh0Q29udGFpbmVyV3JhcHBlcjogSFRNTEVsZW1lbnQ7XHJcbiAgZW11bGF0ZWRPZmZzZXQ6IG51bWJlcjtcclxuICBlbXVsYXRvcj86IFJhaWRFbXVsYXRvcjtcclxuICBkaXNwbGF5ZWRUZXh0OiBEaXNwbGF5ZWRUZXh0W107XHJcbiAgc2NoZWR1bGVkVHJpZ2dlcnM6IFNjaGVkdWxlZFRyaWdnZXJbXTtcclxuICBzZWVraW5nOiBib29sZWFuO1xyXG4gICR0ZXh0RWxlbWVudFRlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBhdWRpb0RlYnVnVGV4dER1cmF0aW9uOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJhaWRib3NzT3B0aW9ucyxcclxuICAgIHRpbWVsaW5lTG9hZGVyOiBUaW1lbGluZUxvYWRlcixcclxuICAgIHJhaWRib3NzRmlsZURhdGE6IFJhaWRib3NzRmlsZURhdGEpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIHRpbWVsaW5lTG9hZGVyLCByYWlkYm9zc0ZpbGVEYXRhKTtcclxuICAgIGNvbnN0IHBvcHVwRWxlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wb3B1cC10ZXh0LWNvbnRhaW5lci1vdXRlcicpO1xyXG4gICAgaWYgKCEocG9wdXBFbGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgdGhpcy4kcG9wdXBUZXh0Q29udGFpbmVyV3JhcHBlciA9IHBvcHVwRWxlbTtcclxuICAgIHRoaXMuZW11bGF0ZWRPZmZzZXQgPSAwO1xyXG5cclxuICAgIHRoaXMuZGlzcGxheWVkVGV4dCA9IFtdO1xyXG4gICAgdGhpcy5zY2hlZHVsZWRUcmlnZ2VycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuc2Vla2luZyA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IHRlbXBsYXRlRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RlbXBsYXRlLnRleHRFbGVtZW50Jyk7XHJcbiAgICBpZiAoISh0ZW1wbGF0ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MVGVtcGxhdGVFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZTtcclxuXHJcbiAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRlbXBsYXRlRWxlbWVudC5jb250ZW50LmZpcnN0RWxlbWVudENoaWxkO1xyXG5cclxuICAgIGlmICghKHRleHRFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgdGhpcy4kdGV4dEVsZW1lbnRUZW1wbGF0ZSA9IHRleHRFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuYXVkaW9EZWJ1Z1RleHREdXJhdGlvbiA9IDIwMDA7XHJcblxyXG4gICAgY29uc3QgcGFyZW50VHRzU2F5ID0gdGhpcy50dHNTYXk7XHJcblxyXG4gICAgdGhpcy50dHNTYXkgPSAodHRzVGV4dDogc3RyaW5nKTogdm9pZCA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnNlZWtpbmcpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3QgZGl2ID0gdGhpcy5fbWFrZVRleHRFbGVtZW50KHVuZGVmaW5lZCwgdHRzVGV4dCwgJ3R0cy10ZXh0Jyk7XHJcbiAgICAgIHRoaXMuYWRkRGlzcGxheVRleHQoZGl2LCB0aGlzLmVtdWxhdGVkT2Zmc2V0ICsgdGhpcy5hdWRpb0RlYnVnVGV4dER1cmF0aW9uKTtcclxuICAgICAgcGFyZW50VHRzU2F5KHR0c1RleHQpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGRvVXBkYXRlKGN1cnJlbnRMb2dUaW1lOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZW11bGF0ZWRPZmZzZXQgPSBjdXJyZW50TG9nVGltZTtcclxuICAgIGZvciAoY29uc3QgdCBvZiB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzKSB7XHJcbiAgICAgIGNvbnN0IHJlbWFpbmluZyA9IHQuZXhwaXJlcyAtIGN1cnJlbnRMb2dUaW1lO1xyXG4gICAgICBpZiAocmVtYWluaW5nIDw9IDApIHtcclxuICAgICAgICB0LnJlc29sdmVyKCk7XHJcbiAgICAgICAgYXdhaXQgdC5wcm9taXNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzID0gdGhpcy5zY2hlZHVsZWRUcmlnZ2Vycy5maWx0ZXIoKHQpID0+IHtcclxuICAgICAgcmV0dXJuIHQuZXhwaXJlcyAtIGN1cnJlbnRMb2dUaW1lID4gMDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRUZXh0ID0gdGhpcy5kaXNwbGF5ZWRUZXh0LmZpbHRlcigodCkgPT4ge1xyXG4gICAgICBjb25zdCByZW1haW5pbmcgPSB0LmV4cGlyZXMgLSBjdXJyZW50TG9nVGltZTtcclxuICAgICAgaWYgKHJlbWFpbmluZyA+IDApIHtcclxuICAgICAgICBjb25zdCBlbGVtID0gdC5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wb3B1cC10ZXh0LXJlbWFpbmluZycpO1xyXG4gICAgICAgIGlmICghZWxlbSlcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBlbGVtLnRleHRDb250ZW50ID0gYCgkeyhyZW1haW5pbmcgLyAxMDAwKS50b0ZpeGVkKDEpfSlgO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHQuZWxlbWVudC5yZW1vdmUoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBPbkxvZyhfZTogTG9nRXZlbnQpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICB9XHJcblxyXG4gIG9uRW11bGF0b3JMb2cobG9nczogTGluZUV2ZW50W10pOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgbCBvZiBsb2dzKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbC50aW1lc3RhbXA7XHJcbiAgICAgIGlmIChsLmNvbnZlcnRlZExpbmUuaW5jbHVkZXMoJzAwOjAwMzg6Y2FjdGJvdCB3aXBlJykpXHJcbiAgICAgICAgdGhpcy5TZXRJbkNvbWJhdChmYWxzZSk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy50cmlnZ2Vycykge1xyXG4gICAgICAgIGNvbnN0IHIgPSB0cmlnZ2VyLmxvY2FsUmVnZXg/LmV4ZWMobC5jb252ZXJ0ZWRMaW5lKTtcclxuICAgICAgICBpZiAocilcclxuICAgICAgICAgIHRoaXMuT25UcmlnZ2VyKHRyaWdnZXIsIHIsIGN1cnJlbnRUaW1lKTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgdGhpcy5uZXRUcmlnZ2Vycykge1xyXG4gICAgICAgIGNvbnN0IHIgPSB0cmlnZ2VyLmxvY2FsTmV0UmVnZXg/LmV4ZWMobC5uZXR3b3JrTGluZSk7XHJcbiAgICAgICAgaWYgKHIpXHJcbiAgICAgICAgICB0aGlzLk9uVHJpZ2dlcih0cmlnZ2VyLCByLCBjdXJyZW50VGltZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIE9uTmV0TG9nKF9lOiBFdmVudFJlc3BvbnNlc1snTG9nTGluZSddKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgfVxyXG5cclxuICBiaW5kVG8oZW11bGF0b3I6IFJhaWRFbXVsYXRvcik6IHZvaWQge1xyXG4gICAgdGhpcy5lbXVsYXRvciA9IGVtdWxhdG9yO1xyXG4gICAgZW11bGF0b3Iub24oJ2VtaXRMb2dzJywgKGV2ZW50OiB7IGxvZ3M6IExpbmVFdmVudFtdIH0pID0+IHtcclxuICAgICAgdGhpcy5vbkVtdWxhdG9yTG9nKGV2ZW50LmxvZ3MpO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigndGljaycsIGFzeW5jIChjdXJyZW50TG9nVGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGF3YWl0IHRoaXMuZG9VcGRhdGUoY3VycmVudExvZ1RpbWUpO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbignbWlkU2VlaycsIGFzeW5jIChsaW5lOiBMaW5lRXZlbnQpID0+IHtcclxuICAgICAgYXdhaXQgdGhpcy5kb1VwZGF0ZShsaW5lLnRpbWVzdGFtcCk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwcmVTZWVrJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLnNlZWtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9lbXVsYXRvclJlc2V0KCk7XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdwb3N0U2VlaycsICgpID0+IHtcclxuICAgICAgLy8gVGhpcyBpcyBhIGhhY2t5IGZpeCBmb3IgYXVkaW8gc3RpbGwgcGxheWluZyBkdXJpbmcgc2Vla1xyXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWVraW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIDUpO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbignY3VycmVudEVuY291bnRlckNoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRFbmMgPSBlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyO1xyXG4gICAgICBpZiAoIWN1cnJlbnRFbmMpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3QgZW5jID0gY3VycmVudEVuYy5lbmNvdW50ZXI7XHJcbiAgICAgIGlmICghZW5jIHx8ICFlbmMuZW5jb3VudGVyWm9uZU5hbWUgfHwgZW5jLmVuY291bnRlclpvbmVJZCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgIHRoaXMuX2VtdWxhdG9yUmVzZXQoKTtcclxuICAgICAgdGhpcy5PbkNoYW5nZVpvbmUoe1xyXG4gICAgICAgIHR5cGU6ICdDaGFuZ2Vab25lJyxcclxuICAgICAgICB6b25lTmFtZTogZW5jLmVuY291bnRlclpvbmVOYW1lLFxyXG4gICAgICAgIHpvbmVJRDogcGFyc2VJbnQoZW5jLmVuY291bnRlclpvbmVJZCwgMTYpLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VtdWxhdG9yUmVzZXQoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5zY2hlZHVsZWRUcmlnZ2VycylcclxuICAgICAgaS5yZWplY3RlcigpO1xyXG5cclxuICAgIHRoaXMuc2NoZWR1bGVkVHJpZ2dlcnMgPSBbXTtcclxuICAgIHRoaXMuZGlzcGxheWVkVGV4dCA9IHRoaXMuZGlzcGxheWVkVGV4dC5maWx0ZXIoKHQpID0+IHtcclxuICAgICAgdC5lbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudHJpZ2dlclN1cHByZXNzID0ge307XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfY3JlYXRlVGV4dEZvcihcclxuICAgIHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIsXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0ZXh0VHlwZTogVGV4dCxcclxuICAgIF9sb3dlclRleHRLZXk6IFRleHRUZXh0LFxyXG4gICAgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgdGV4dEVsZW1lbnRDbGFzcyA9IHRleHRUeXBlICsgJy10ZXh0JztcclxuICAgIGNvbnN0IGUgPSB0aGlzLl9tYWtlVGV4dEVsZW1lbnQodHJpZ2dlckhlbHBlciwgdGV4dCwgdGV4dEVsZW1lbnRDbGFzcyk7XHJcbiAgICB0aGlzLmFkZERpc3BsYXlUZXh0KGUsIHRoaXMuZW11bGF0ZWRPZmZzZXQgKyAoZHVyYXRpb24gKiAxMDAwKSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfb25UcmlnZ2VySW50ZXJuYWxEZWxheVNlY29uZHModHJpZ2dlckhlbHBlcjogVHJpZ2dlckhlbHBlcik6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZGVsYXkgPSAnZGVsYXlTZWNvbmRzJyBpbiB0cmlnZ2VySGVscGVyLnRyaWdnZXIgPyB0cmlnZ2VySGVscGVyLnZhbHVlT3JGdW5jdGlvbih0cmlnZ2VySGVscGVyLnRyaWdnZXIuZGVsYXlTZWNvbmRzKSA6IDA7XHJcblxyXG4gICAgaWYgKCFkZWxheSB8fCBkZWxheSA8PSAwIHx8IHR5cGVvZiBkZWxheSAhPT0gJ251bWJlcicpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBsZXQgcmV0OiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICAgIC8vIERpc2FibGUgcHJlZmVyLWNvbnN0IGR1ZSB0byBuZWVkaW5nIGByZXRgIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0IGluIHByb21pc2VcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcclxuICAgIHJldCA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXMsIHJlaikgPT4ge1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZFRyaWdnZXJzLnB1c2goe1xyXG4gICAgICAgIGV4cGlyZXM6IHRoaXMuZW11bGF0ZWRPZmZzZXQgKyAoZGVsYXkgKiAxMDAwKSxcclxuICAgICAgICBwcm9taXNlOiByZXQsXHJcbiAgICAgICAgcmVzb2x2ZXI6IHJlcyxcclxuICAgICAgICByZWplY3RlcjogcmVqLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9wbGF5QXVkaW9GaWxlKHRyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIsIHVybDogc3RyaW5nLCB2b2x1bWU/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICghW3RoaXMub3B0aW9ucy5JbmZvU291bmQsIHRoaXMub3B0aW9ucy5BbGVydFNvdW5kLCB0aGlzLm9wdGlvbnMuQWxhcm1Tb3VuZF1cclxuICAgICAgLmluY2x1ZGVzKHVybCkpIHtcclxuICAgICAgY29uc3QgZGl2ID0gdGhpcy5fbWFrZVRleHRFbGVtZW50KHRyaWdnZXJIZWxwZXIsIHVybCwgJ2F1ZGlvLWZpbGUnKTtcclxuICAgICAgdGhpcy5hZGREaXNwbGF5VGV4dChkaXYsIHRoaXMuZW11bGF0ZWRPZmZzZXQgKyB0aGlzLmF1ZGlvRGVidWdUZXh0RHVyYXRpb24pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2Vla2luZylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHN1cGVyLl9wbGF5QXVkaW9GaWxlKHRyaWdnZXJIZWxwZXIsIHVybCwgdm9sdW1lKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9tYWtlVGV4dEVsZW1lbnQoX3RyaWdnZXJIZWxwZXI6IFRyaWdnZXJIZWxwZXIgfCB1bmRlZmluZWQsXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICBjbGFzc05hbWU6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0ICRyZXQgPSB0aGlzLiR0ZXh0RWxlbWVudFRlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTtcclxuICAgIGlmICghKCRyZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICRyZXQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gJHJldC5xdWVyeVNlbGVjdG9yKCcucG9wdXAtdGV4dCcpO1xyXG4gICAgaWYgKCEoY29udGFpbmVyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBjb250YWluZXIudGV4dENvbnRlbnQgPSB0ZXh0O1xyXG4gICAgcmV0dXJuICRyZXQ7XHJcbiAgfVxyXG5cclxuICBhZGREaXNwbGF5VGV4dCgkZTogSFRNTEVsZW1lbnQsIGVuZFRpbWVzdGFtcDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCByZW1haW5pbmcgPSAoZW5kVGltZXN0YW1wIC0gdGhpcy5lbXVsYXRlZE9mZnNldCkgLyAxMDAwO1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gJGUucXVlcnlTZWxlY3RvcignLnBvcHVwLXRleHQtcmVtYWluaW5nJyk7XHJcbiAgICBpZiAoIShjb250YWluZXIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgIGNvbnRhaW5lci50ZXh0Q29udGVudCA9IGAoJHtyZW1haW5pbmcudG9GaXhlZCgxKX0pYDtcclxuICAgIHRoaXMuJHBvcHVwVGV4dENvbnRhaW5lcldyYXBwZXIuYXBwZW5kKCRlKTtcclxuICAgIHRoaXMuZGlzcGxheWVkVGV4dC5wdXNoKHtcclxuICAgICAgZWxlbWVudDogJGUsXHJcbiAgICAgIGV4cGlyZXM6IGVuZFRpbWVzdGFtcCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBMYW5nIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2VzL2xhbmd1YWdlcyc7XHJcbmltcG9ydCB7IExvY2FsZU9iamVjdCwgTG9jYWxlVGV4dCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3RyaWdnZXInO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZSA9IDxUPihsYW5nOiBMYW5nLCBvYmo6IExvY2FsZU9iamVjdDxUPik6IFQgPT4ge1xyXG4gIHJldHVybiBvYmpbbGFuZ10gPz8gb2JqWydlbiddO1xyXG59O1xyXG5cclxudHlwZSBUcmFuc2xhdGlvbiA9IHsgW3NlbGVjdG9yOiBzdHJpbmddOiBMb2NhbGVUZXh0IH07XHJcblxyXG5jb25zdCBlbXVsYXRvckJ1dHRvbnM6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcueWVzQnV0dG9uJzoge1xyXG4gICAgZW46ICdZZXMnLFxyXG4gICAgZGU6ICdKYScsXHJcbiAgICBmcjogJ091aScsXHJcbiAgICBqYTogJ+OBr+OBhCcsXHJcbiAgICBjbjogJ+aYrycsXHJcbiAgfSxcclxuICAnLm5vQnV0dG9uJzoge1xyXG4gICAgZW46ICdObycsXHJcbiAgICBkZTogJ05laW4nLFxyXG4gICAgZnI6ICdOb24nLFxyXG4gICAgamE6ICfjgYTjgYTjgYgnLFxyXG4gICAgY246ICflkKYnLFxyXG4gIH0sXHJcbiAgJy5jbG9zZUJ1dHRvbic6IHtcclxuICAgIGVuOiAnQ2xvc2UnLFxyXG4gICAgZGU6ICdTY2hsaWXDn2VuJyxcclxuICAgIGZyOiAnRmVybWVyJyxcclxuICAgIGphOiAn6ZaJ44GY44KLJyxcclxuICAgIGNuOiAn5YWz6ZetJyxcclxuICB9LFxyXG4gICcuZG9uZUJ1dHRvbic6IHtcclxuICAgIGVuOiAnRG9uZTxzcGFuIGNsYXNzPVwiZG9uZUJ0blRpbWVvdXRcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnRmVydGlnPHNwYW4gY2xhc3M9XCJkb25lQnRuVGltZW91dFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICdUZXJtaW7DqTxzcGFuIGNsYXNzPVwiZG9uZUJ0blRpbWVvdXRcIj48L3NwYW4+JyxcclxuICAgIGphOiAn5a6M5LqGPHNwYW4gY2xhc3M9XCJkb25lQnRuVGltZW91dFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICflrozmiJA8c3BhbiBjbGFzcz1cImRvbmVCdG5UaW1lb3V0XCI+PC9zcGFuPicsXHJcbiAgfSxcclxuICAnLmxvYWROZXR3b3JrTG9nQnV0dG9uJzoge1xyXG4gICAgZW46ICdMb2FkIE5ldHdvcmsgTG9nJyxcclxuICAgIGRlOiAnTGFkZSBOZXR3b3JrIExvZycsXHJcbiAgICBmcjogJ0NoYXJnZXIgbGUgTmV0d29yayBMb2cnLFxyXG4gICAgamE6ICfjg43jg4Pjg4jjg6/jg7zjgq/jg63jgrDjgpLoqq3jgb/ovrzjgoAnLFxyXG4gICAgY246ICfliqDovb3nvZHnu5zml6Xlv5cnLFxyXG4gIH0sXHJcbiAgJy5leHBvcnREQkJ1dHRvbic6IHtcclxuICAgIGVuOiAnRXhwb3J0IERCJyxcclxuICAgIGRlOiAnREIgZXhwb3J0aWVyZW4nLFxyXG4gICAgZnI6ICdFeHBvcnRlciBEQicsXHJcbiAgICBqYTogJ0RC44KS44Ko44Kv44K544Od44O844OIJyxcclxuICAgIGNuOiAn5a+85Ye65pWw5o2u5bqTJyxcclxuICB9LFxyXG4gICcuaW1wb3J0REJCdXR0b24nOiB7XHJcbiAgICBlbjogJ0ltcG9ydCBEQicsXHJcbiAgICBkZTogJ0RCIGltcG9ydGllcmVuJyxcclxuICAgIGZyOiAnSW1wb3J0ZXIgREInLFxyXG4gICAgamE6ICdEQuOCkuOCpOODs+ODneODvOODiCcsXHJcbiAgICBjbjogJ+WvvOWFpeaVsOaNruW6kycsXHJcbiAgfSxcclxuICAnLmNsZWFyREJCdXR0b24nOiB7XHJcbiAgICBlbjogJ0NsZWFyIERCJyxcclxuICAgIGRlOiAnREIgbGVlcmVuJyxcclxuICAgIGZyOiAnTmV0dG95ZXIgREInLFxyXG4gICAgamE6ICdEQuOCkuOCr+ODquOCoicsXHJcbiAgICBjbjogJ+a4hemZpOaVsOaNruW6kycsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IGVtdWxhdG9yVGl0bGU6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcudGl0bGUnOiB7XHJcbiAgICBlbjogJ0NhY3Rib3QgUmFpZCBFbXVsYXRvcicsXHJcbiAgICBkZTogJ0NhY3Rib3QgUmFpZCBFbXVsYXRvcicsXHJcbiAgICBmcjogJ0NhY3Rib3QgUmFpZCBFbXVsYXRvcicsXHJcbiAgICBqYTogJ0NhY3Rib3Tjg7vjg6zjgqTjg4njg7vjgqjjg5/jg6Xjg6zjg7zjgr/jg7wnLFxyXG4gICAgY246ICdDYWN0Ym90IFJhaWQg5qih5ouf5ZmoJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JJbXBvcnRNb2RhbDogVHJhbnNsYXRpb24gPSB7XHJcbiAgJy5pbXBvcnRQcm9ncmVzc01vZGFsIC5tb2RhbC10aXRsZSc6IHtcclxuICAgIGVuOiAnTG9nIEZpbGUgSW1wb3J0IFByb2dyZXNzJyxcclxuICAgIGRlOiAnRm9ydHNjaHJpdHQgZGVzIExvZ2RhdGVpIEltcG9ydHMnLFxyXG4gICAgZnI6ICdQcm9ncmVzc2lvbiBkZSBsXFwnaW1wb3J0YXRpb24gZHUgZmljaGllciBqb3VybmFsJyxcclxuICAgIGphOiAn44Ot44Kw44OV44Kh44Kk44Or44Gu44Kk44Oz44Od44O844OI6YCy5o2XJyxcclxuICAgIGNuOiAn5pel5b+X5paH5Lu25a+85YWl6L+b5bqmJyxcclxuICB9LFxyXG4gICcuaW1wb3J0UHJvZ3Jlc3NNb2RhbCAubW9kYWwtYm9keS1jb250ZW50cyc6IHtcclxuICAgIGVuOiBgPGgzPkxhdGVzdCBlbmNvdW50ZXI6PC9oMz5cclxuICAgIFpvbmU6IDxzcGFuIGNsYXNzPVwiem9uZVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIEVuY291bnRlcjogPHNwYW4gY2xhc3M9XCJlbmNvdW50ZXJcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBTdGFydDogPHNwYW4gY2xhc3M9XCJzdGFydFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIEVuZDogPHNwYW4gY2xhc3M9XCJlbmRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBEdXJhdGlvbjogPHNwYW4gY2xhc3M9XCJkdXJNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cImR1clNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAgUHVsbCBEdXJhdGlvbjogPHNwYW4gY2xhc3M9XCJwdWxsTWluc1wiPjwvc3Bhbj5tPHNwYW4gY2xhc3M9XCJwdWxsU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICBTdGFydGVkIEJ5OiA8c3BhbiBjbGFzcz1cInN0YXJ0ZWRCeVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIEVuZCBTdGF0dXM6IDxzcGFuIGNsYXNzPVwiZW5kU3RhdHVzXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgTGluZSBDb3VudDogPHNwYW4gY2xhc3M9XCJsaW5lQ291bnRcIj48L3NwYW4+PGJyIC8+YCxcclxuICAgIGRlOiBgPGgzPkxldHp0ZXIgS2FtcGY6PC9oMz5cclxuICAgIFpvbmU6IDxzcGFuIGNsYXNzPVwiem9uZVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIEthbXBmOiA8c3BhbiBjbGFzcz1cImVuY291bnRlclwiPjwvc3Bhbj48YnIgLz5cclxuICAgIFN0YXJ0OiA8c3BhbiBjbGFzcz1cInN0YXJ0XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRW5kZTogPHNwYW4gY2xhc3M9XCJlbmRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICBEYXVlcjogPHNwYW4gY2xhc3M9XCJkdXJNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cImR1clNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAgRGF1ZXIgZGVzIFZlcnN1Y2hzOiA8c3BhbiBjbGFzcz1cInB1bGxNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cInB1bGxTZWNzXCI+PC9zcGFuPnM8YnIgLz5cclxuICAgIEdlc3RhcnRldCB2b246IDxzcGFuIGNsYXNzPVwic3RhcnRlZEJ5XCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRW5kc3RhdHVzOiA8c3BhbiBjbGFzcz1cImVuZFN0YXR1c1wiPjwvc3Bhbj48YnIgLz5cclxuICAgIFplaWxlbmFuemFobDogPHNwYW4gY2xhc3M9XCJsaW5lQ291bnRcIj48L3NwYW4+PGJyIC8+YCxcclxuICAgIGZyOiBgPGgzPkRlcm5pZXIgQ29tYmF0IDo8L2gzPlxyXG4gICAgWm9uZSA6IDxzcGFuIGNsYXNzPVwiem9uZVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIENvbWJhdGFudCA6IDxzcGFuIGNsYXNzPVwiZW5jb3VudGVyXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRMOpYnV0IDogPHNwYW4gY2xhc3M9XCJzdGFydFwiPjwvc3Bhbj48YnIgLz5cclxuICAgIEZpbiA6IDxzcGFuIGNsYXNzPVwiZW5kXCI+PC9zcGFuPjxiciAvPlxyXG4gICAgRHVyw6llIDogPHNwYW4gY2xhc3M9XCJkdXJNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cImR1clNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAgRHVyw6llIGR1IHB1bGwgOiA8c3BhbiBjbGFzcz1cInB1bGxNaW5zXCI+PC9zcGFuPm08c3BhbiBjbGFzcz1cInB1bGxTZWNzXCI+PC9zcGFuPnM8YnIgLz5cclxuICAgIETDqW1hcnLDqSBwYXIgOiA8c3BhbiBjbGFzcz1cInN0YXJ0ZWRCeVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIFN0YXR1cyBkZSBmaW4gOiA8c3BhbiBjbGFzcz1cImVuZFN0YXR1c1wiPjwvc3Bhbj48YnIgLz5cclxuICAgIE5vbWJyZSBkZSBsaWduZXMgOiA8c3BhbiBjbGFzcz1cImxpbmVDb3VudFwiPjwvc3Bhbj48YnIgLz5gLFxyXG4gICAgamE6IGA8aDM+5pyA5paw44Ko44Oz44Kr44Km44Oz44OIOjwvaDM+XHJcbiAgICDjgr7jg7zjg7M6IDxzcGFuIGNsYXNzPVwiem9uZVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOOCqOODs+OCq+OCpuODs+ODiDogPHNwYW4gY2xhc3M9XCJlbmNvdW50ZXJcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDplovlp4s6IDxzcGFuIGNsYXNzPVwic3RhcnRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDntYLkuoY6IDxzcGFuIGNsYXNzPVwiZW5kXCI+PC9zcGFuPjxiciAvPlxyXG4gICAg6ZaT6ZqUOiA8c3BhbiBjbGFzcz1cImR1ck1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwiZHVyU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICDjg5fjg6vjga7plpPpmpQ6IDxzcGFuIGNsYXNzPVwicHVsbE1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwicHVsbFNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAg6ZaL5aeL6ICFOiA8c3BhbiBjbGFzcz1cInN0YXJ0ZWRCeVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOe1guS6huOCueODhuODvOOCv+OCuTogPHNwYW4gY2xhc3M9XCJlbmRTdGF0dXNcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDooYzmlbA6IDxzcGFuIGNsYXNzPVwibGluZUNvdW50XCI+PC9zcGFuPjxiciAvPmAsXHJcbiAgICBjbjogYDxoMz7mnIDmlrDnmoTmiJjmlpc6IDwvaDM+XHJcbiAgICDljLrln586IDxzcGFuIGNsYXNzPVwiem9uZVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOaImOaWlzogPHNwYW4gY2xhc3M9XCJlbmNvdW50ZXJcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDlvIDlp4s6IDxzcGFuIGNsYXNzPVwic3RhcnRcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDnu5PmnZ86IDxzcGFuIGNsYXNzPVwiZW5kXCI+PC9zcGFuPjxiciAvPlxyXG4gICAg5oyB57ut5pe26Ze0OiA8c3BhbiBjbGFzcz1cImR1ck1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwiZHVyU2Vjc1wiPjwvc3Bhbj5zPGJyIC8+XHJcbiAgICDlsJ3or5Xml7bpl7Q6IDxzcGFuIGNsYXNzPVwicHVsbE1pbnNcIj48L3NwYW4+bTxzcGFuIGNsYXNzPVwicHVsbFNlY3NcIj48L3NwYW4+czxiciAvPlxyXG4gICAg5byA5aeL5LqOOiA8c3BhbiBjbGFzcz1cInN0YXJ0ZWRCeVwiPjwvc3Bhbj48YnIgLz5cclxuICAgIOe7k+adn+eKtuaAgTogPHNwYW4gY2xhc3M9XCJlbmRTdGF0dXNcIj48L3NwYW4+PGJyIC8+XHJcbiAgICDooYzmlbA6IDxzcGFuIGNsYXNzPVwibGluZUNvdW50XCI+PC9zcGFuPjxiciAvPmAsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IGVtdWxhdG9yRGVsZXRlTW9kYWw6IFRyYW5zbGF0aW9uID0ge1xyXG4gICcuZGVsZXRlREJNb2RhbCAubW9kYWwtdGl0bGUnOiB7XHJcbiAgICBlbjogJ0RlbGV0ZSBFbmNvdW50ZXIgRGF0YWJhc2UnLFxyXG4gICAgZGU6ICdMw7ZzY2hlIEthbXBmZGF0ZW5iYW5rJyxcclxuICAgIGZyOiAnRWZmYWNlciBsYSBiYXNlIGRlIGRvbm7DqWVzIGR1IGNvbWJhdCcsXHJcbiAgICBqYTogJ+OCqOODs+OCq+OCpuODs+ODiERC44KS5YmK6ZmkJyxcclxuICAgIGNuOiAn5Yig6Zmk5oiY5paX5pWw5o2u5bqTJyxcclxuICB9LFxyXG4gICcuZGVsZXRlREJNb2RhbCAubW9kYWwtYm9keSc6IHtcclxuICAgIGVuOiAnPHA+WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIGVuY291bnRlciBkYXRhYmFzZS4gQXJlIHlvdSBzdXJlPzwvcD4nLFxyXG4gICAgZGU6ICc8cD5EdSBiaXN0IGt1cnogZGF2b3IgZGllIEthbXBmZGF0ZW5iYW5rIHp1IGzDtnNjaGVuLiBCaXN0IGR1IHNpY2hlcj88L3A+JyxcclxuICAgIGZyOiAnPHA+Vm91cyDDqnRlcyBzdXIgbGUgcG9pbnQgZGUgc3VwcHJpbWVyIGxhIGJhc2UgZGUgZG9ubsOpZXMgZHUgY29tYmF0LiDDinRlcy12b3VzIHPDu3IgPzwvcD4nLFxyXG4gICAgamE6ICc8cD7jgqjjg7Pjgqvjgqbjg7Pjg4hEQuOCkuWJiumZpOOBl+OBvuOBmeOAguOCiOOCjeOBl+OBhOOBp+OBmeOBi++8nzwvcD4nLFxyXG4gICAgY246ICc8cD7ljbPlsIbliKDpmaTmiJjmlpfmlbDmja7lupPjgILnoa7lrprliKDpmaTlkJfvvJ88L3A+JyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JJbnRyb01vZGFsOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnLmludHJvTW9kYWwgLm1vZGFsLXRpdGxlJzoge1xyXG4gICAgZW46ICdJbnRyb2R1Y3Rpb24nLFxyXG4gICAgZGU6ICdFaW5mw7xocnVuZycsXHJcbiAgICBmcjogJ0ludHJvZHVjdGlvbicsXHJcbiAgICBqYTogJ+OBr+OBmOOCgeOBqycsXHJcbiAgICBjbjogJ+eugOS7iycsXHJcbiAgfSxcclxuICAnLmludHJvTW9kYWwgLm1vZGFsLWJvZHknOiB7XHJcbiAgICBlbjogYDxwPldlbGNvbWUgdG8gdGhlIFJhaWQgRW11bGF0b3IuPC9wPlxyXG4gICAgPHA+VGhpcyB0b29sIHJlcGxheXMgZW5jb3VudGVycyBhbmQgc2hvd3Mgd2hhdCB0cmlnZ2VycyB3ZXJlIGZpcmVkIHdoZW4sIGFuZCBhbGxvd3MgeW91IHRvIHZpZXcgdGhlIGVuY291bnRlciBmcm9tIGFueSBwbGF5ZXIncyBwZXJzcGVjdGl2ZS48L3A+XHJcbiAgICA8cD5UaGlzIHRvb2wgb3B0aW9uYWxseSBhY2NlcHRzIGFuIDxzdHJvbmc+T1ZFUkxBWV9XUzwvc3Ryb25nPiBwYXJhbWV0ZXIgdG8gY29ubmVjdCB0byBhbiBBQ1Qgd2ViIHNvY2tldCB3aXRoIGJvdGggbmdsZCdzIE92ZXJsYXlQbHVnaW4gYW5kIHRoZSBDYWN0Ym90IHBsdWdpbiBsb2FkZWQuPC9wPlxyXG4gICAgPHA+SWYgY29ubmVjdGVkIHRvIGEgd2ViIHNvY2tldCwgdGhpcyB0b29sIHdpbGwgbG9hZCBhbmQgcmVzcGVjdCB1c2VyIGNvbmZpZ3VyYXRpb24gZmlsZXMgZm9yIGNhY3Rib3QvcmFpZGJvc3MuPC9wPlxyXG4gICAgPHA+Tm8gb3ZlcmxheXMgbmVlZCB0byBiZSBjcmVhdGVkLjwvcD5cclxuICAgIDxwPkN1cnJlbnQgV2ViU29ja2V0IHN0YXR1czogPHNwYW4gY2xhc3M9XCJkLW5vbmUgd2Vic29ja2V0Q29ubmVjdGVkIHRleHQtc3VjY2Vzc1wiPkNvbm5lY3RlZDwvc3Bhbj48c3BhbiBjbGFzcz1cIndlYnNvY2tldERpc2Nvbm5lY3RlZCB0ZXh0LXdhcm5pbmdcIj5EaXNjb25uZWN0ZWQ8L3NwYW4+LjwvcD5cclxuICAgIDxwPlRvIGdldCBzdGFydGVkLCB5b3UgbmVlZCB0byBpbXBvcnQgYW4gZW5jb3VudGVyIHZpYSBvbmUgb2YgdGhlIGZvbGxvd2luZyBvcHRpb25zOjwvcD5cclxuICAgIDxwPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpPkRyYWcgYW5kIGRyb3AgYSBuZXR3b3JrIGxvZyBmaWxlIGZyb20gPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+IG9uIHRvIHRoZSBwYWdlPC9saT5cclxuICAgICAgICA8bGk+Q2xpY2sgdGhlIDxjb2RlPkxvYWQgTmV0d29yayBMb2c8L2NvZGU+IGJ1dHRvbiBpbiB0aGUgYm90dG9tIGRyYXdlciBhbmQgc2VsZWN0IGEgbmV0d29yayBsb2cgZmlsZSBmcm9tIDxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPjwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+XHJcbiAgICA8cD5UaGVuLCBzZWxlY3QgYW4gZW5jb3VudGVyIHZpYSB0aGUgYm90dG9tIGRyYXdlci48L3A+XHJcbiAgICA8cD5PbmNlIHlvdSBoYXZlIGxvYWRlZCBhbiBlbmNvdW50ZXIsIHlvdSBjYW46PC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+Q2hhbmdlIHRoZSBjdXJyZW50IHBlcnNwZWN0aXZlIGJ5IHNlbGVjdGluZyBhIHBhcnR5IG1lbWJlciBvbiB0aGUgcmlnaHQ8L2xpPlxyXG4gICAgICAgIDxsaT5TZWVrIHRvIGFueSBwb2ludCBpbiB0aGUgZW5jb3VudGVyIGJ5IGNsaWNraW5nIHRoZSBiYXIgYXQgdGhlIHRvcDwvbGk+XHJcbiAgICAgICAgPGxpPkhvdmVyIG92ZXIgdHJpZ2dlciBpbmRpY2F0b3JzIGluIHRoZSB0b3AgYmFyIHRvIHNlZSB0aGVpciBuYW1lczwvbGk+XHJcbiAgICAgICAgPGxpPlNlZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0cmlnZ2VycyBmaXJlZCBieSBjbGlja2luZyB0aGVpciBidXR0b248L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPmAsXHJcbiAgICBkZTogYDxwPldpbGxrb21tZW4genVtIFJhaWQgRW11bGF0b3IuPC9wPlxyXG4gICAgPHA+RGllc2VzIFRvb2wgZ2lidCBLw6RtcGZlIHdpZWRlciB1bmQgemVpZ3QsIHdlbGNoZSBUcmlnZ2VyIHdhbm4gYXVzZ2Vmw7xocnQgd3VyZGVuLCB1bmQgZXJtw7ZnbGljaHQgZXMsIGRpZSBLw6RtcGZlIGF1cyBkZXIgUGVyc3Bla3RpdmUgZWluZXMgYmVsaWViaWdlbiBTcGllbGVycyB6dSBiZXRyYWNodGVuLjwvcD5cclxuICAgIDxwPkRpZXNlcyBUb29sIGFremVwdGllcnQgb3B0aW9uYWwgZWluZW4gPHN0cm9uZz5PVkVSTEFZX1dTPC9zdHJvbmc+LVBhcmFtZXRlciwgdW0gc2ljaCBtaXQgZWluZW0gQUNULVdlYnNvY2tldCB6dSB2ZXJiaW5kZW4sIGluIGRlbSBzb3dvaGwgZGFzIE92ZXJsYXlQbHVnaW4gdm9uIG5nbGQgYWxzIGF1Y2ggZGFzIENhY3Rib3QtUGx1Z2luIGdlbGFkZW4gc2luZC48L3A+XHJcbiAgICA8cD5XZW5uIGVpbmUgVmVyYmluZHVuZyB6dSBlaW5lbSBXZWJzb2NrZXQgYmVzdGVodCwgbMOkZHQgZGllc2VzIFRvb2wgZGllIEtvbmZpZ3VyYXRpb25zZGF0ZWllbiBmw7xyIGNhY3Rib3QvcmFpZGJvc3MgdW5kIGJlbnV0enQgZGllc2UuPC9wPlxyXG4gICAgPHA+RXMgbcO8c3NlbiBrZWluZSBPdmVybGF5cyBlcnN0ZWxsdCB3ZXJkZW4uPC9wPlxyXG4gICAgPHA+QWt0dWVsbGVyIFdlYlNvY2tldC1TdGF0dXM6IDxzcGFuIGNsYXNzPVwiZC1ub25lIHdlYnNvY2tldENvbm5lY3RlZCB0ZXh0LXN1Y2Nlc3NcIj5WZXJidW5kZW48L3NwYW4+PHNwYW4gY2xhc3M9XCJ3ZWJzb2NrZXREaXNjb25uZWN0ZWQgdGV4dC13YXJuaW5nXCI+VHJlbm50IGRpZSBWZXJiaW5kdW5nPC9zcGFuPi48L3A+XHJcbiAgICA8cD5VbSBsb3N6dWxlZ2VuLCBtdXNzIGVpbiBLYW1wZiDDvGJlciBlaW5lIGRlciBmb2xnZW5kZW4gT3B0aW9uZW4gaW1wb3J0aWVydCB3ZXJkZW46PC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+WmllaGUgZWluZSBOZXR3b3JrLUxvZ2RhdGVpIGF1cyA8Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT4gYXVmIGRpZSBTZWl0ZTwvbGk+XHJcbiAgICAgICAgPGxpPktsaWNrZSBhdWYgZGllIFNjaGFsdGZsw6RjaGUgPGNvZGU+TGFkZSBOZXR3b3JrIExvZzwvY29kZT4gaW4gZGVtIHVudGVyZW4gQmVyZWljaCB1bmQgd8OkaGxlIGVpbiBOZXR3b3JrIExvZyBhdXMgPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+PC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5cclxuICAgIDxwPkRhbm4gd8OkaGxlIMO8YmVyIGRlbiB1bnRlcmVuIEJlcmVpY2ggZWluZW4gS2FtcGYgYXVzLjwvcD5cclxuICAgIDxwPlNvYmFsZCBlaW4gS2FtcGYgZ2VsYWRlbiB3dXJkZSwga8O2bm5lbiBmb2xnZW5kZSBBa3Rpb25lbiBhdXNnZWbDvGhydCB3ZXJkZW46PC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+V2VjaHNlbG4gZGVyIGFrdHVlbGxlIFBlcnNwZWt0aXZlLCBpbmRlbSBlaW4gR3J1cHBlbm1pdGdsaWVkIGF1ZiBkZXIgcmVjaHRlbiBTZWl0ZSBhdXNnZXfDpGhsdCB3aXJkPC9saT5cclxuICAgICAgICA8bGk+TWl0IGVpbmVtIEtsaWNrIGF1ZiBkaWUgTGVpc3RlIGFtIG9iZXJlbiBSYW5kLCB1bSB6dSBlaW5lbSBiZWxpZWJpZ2VuIFB1bmt0IGluIGRlbSBLYW1wZiB6dSBzcHJpbmdlbjwvbGk+XHJcbiAgICAgICAgPGxpPkZhaHJlIG1pdCBkZW0gTWF1c3plaWdlciDDvGJlciBUcmlnZ2VyLUluZGlrYXRvcmVuIGluIGRlciBvYmVyZW4gTGVpc3RlLCB1bSBkZXJlbiBOYW1lbiB6dSBzZWhlbjwvbGk+XHJcbiAgICAgICAgPGxpPkRldGFpbGxpZXJ0ZSBJbmZvcm1hdGlvbmVuIMO8YmVyIGFrdGl2aWVydGVuIFRyaWdnZXIgYW56ZWlnZW4gbGFzc2VuLCBpbmRlbSBhdWYgZGllIGVudHNwcmVjaGVuZGUgU2NoYWx0ZmzDpGNoZSBnZWtsaWNrdCB3aXJkPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5gLFxyXG4gICAgZnI6IGA8cD5CaWVudmVudWUgZGFucyBsJ8OpbXVsYXRldXIgZGUgcmFpZC48L3A+XHJcbiAgICA8cD5DZXQgb3V0aWwgcmVqb3VlIGxlcyByZW5jb250cmVzIGV0IG1vbnRyZSBxdWVscyB0cmlnZ2VycyBvbnQgw6l0w6kgZMOpY2xlbmNow6lzIMOgIHF1ZWwgbW9tZW50LCBldCB2b3VzIHBlcm1ldCBkZSB2b2lyIGxhIHJlbmNvbnRyZSBkdSBwb2ludCBkZSB2dWUgZGUgbidpbXBvcnRlIHF1ZWwgam91ZXVyLjwvcD5cclxuICAgIDxwPkNldCBvdXRpbCBhY2NlcHRlIMOpdmVudHVlbGxlbWVudCBsZSBwYXJhbcOodHJlIDxzdHJvbmc+T1ZFUkxBWV9XUzwvc3Ryb25nPiBwb3VyIHNlIGNvbm5lY3RlciDDoCB1biBXZWIgc29ja2V0IEFDVCBhdmVjIMOgIGxhIGZvaXMgT3ZlcmxheVBsdWdpbiBkZSBuZ2xkIGV0IGxlIHBsdWdpbiBDYWN0Ym90IGNoYXJnw6lzLjwvcD5cclxuICAgIDxwPlMnaWwgZXN0IGNvbm5lY3TDqSDDoCB1biBXZWIgc29ja2V0LCBjZXQgb3V0aWwgY2hhcmdlcmEgZXQgcmVzcGVjdGVyYSBsZXMgZmljaGllcnMgZGUgY29uZmlndXJhdGlvbiB1dGlsaXNhdGV1ciBwb3VyIGNhY3Rib3QvcmFpZGJvc3MuPC9wPlxyXG4gICAgPHA+QXVjdW4gb3ZlcmxheSBuJ2EgYmVzb2luIGQnw6p0cmUgY3LDqcOpZS48L3A+XHJcbiAgICA8cD7DiXRhdCBhY3R1ZWwgZGUgV2ViU29ja2V0IDogPHNwYW4gY2xhc3M9XCJkLW5vbmUgd2Vic29ja2V0Q29ubmVjdGVkIHRleHQtc3VjY2Vzc1wiPkNvbm5lY3TDqTwvc3Bhbj48c3BhbiBjbGFzcz1cIndlYnNvY2tldERpc2Nvbm5lY3RlZCB0ZXh0LXdhcm5pbmdcIj5Ew6ljb25uZWN0w6k8L3NwYW4+LjwvcD5cclxuICAgIDxwPlBvdXIgY29tbWVuY2VyLCB2b3VzIGRldmV6IGltcG9ydGVyIHVuZSByZW5jb250cmUgdmlhIGwndW5lIGRlcyBvcHRpb25zIHN1aXZhbnRlcyA6PC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+RmFpdGVzIGdsaXNzZXIgZXQgZMOpcG9zZXogdW4gZmljaGllciBsb2cgZGVwdWlzIDxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPiBzdXIgbGEgcGFnZTwvbGk+XHJcbiAgICAgICAgPGxpPkNsaXF1ZXogc3VyIGxlIGJvdXRvbiA8Y29kZT5DaGFyZ2VyIE5ldHdvcmsgTG9nPC9jb2RlPiBkYW5zIGxlIHRpcm9pciBkdSBiYXMgZXQgc8OpbGVjdGlvbm5leiB1biBmaWNoaWVyIGxvZyBkYW5zIDxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPjwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+XHJcbiAgICA8cD5FbnN1aXRlLCBzw6lsZWN0aW9ubmV6IHVuZSByZW5jb250cmUgdmlhIGxlIHRpcm9pciBkdSBiYXMuPC9wPlxyXG4gICAgPHA+VW5lIGZvaXMgcXVlIHZvdXMgYXZleiBjaGFyZ8OpIHVuZSByZW5jb250cmUsIHZvdXMgcG91dmV6IDo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT5Nb2RpZmlleiBsYSBwZXJzcGVjdGl2ZSBhY3R1ZWxsZSBlbiBzw6lsZWN0aW9ubmFudCB1biBtZW1icmUgZHUgZ3JvdXBlIHN1ciBsYSBkcm9pdGU8L2xpPlxyXG4gICAgICAgIDxsaT5SZWNoZXJjaGV6IG4naW1wb3J0ZSBxdWVsIHBvaW50IGRlIGxhIHJlbmNvbnRyZSBlbiBjbGlxdWFudCBzdXIgbGEgYmFycmUgZW4gaGF1dDwvbGk+XHJcbiAgICAgICAgPGxpPlBhc3NleiBsYSBzb3VyaXMgc3VyIGxlcyBpbmRpY2F0ZXVycyBkZXMgdHJpZ2dlcnMgZGFucyBsYSBiYXJyZSBzdXDDqXJpZXVyZSBwb3VyIHZvaXIgbGV1cnMgbm9tczwvbGk+XHJcbiAgICAgICAgPGxpPlZvaXIgZGVzIGluZm9ybWF0aW9ucyBkw6l0YWlsbMOpZXMgc3VyIGxlcyB0cmlnZ2VycyBkw6ljbGVuY2jDqXMgZW4gY2xpcXVhbnQgc3VyIGxldXIgYm91dG9uPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5gLFxyXG4gICAgamE6IGA8cD7jg6zjgqTjg4njg7vjgqjjg5/jg6Xjg6zjg7zjgr/jg7zjgbjjgojjgYbjgZPjgZ3jgII8L3A+XHJcbiAgICA8cD7jgZPjga7jg4Tjg7zjg6vjga/jg5Djg4jjg6vjgpLlho3nlJ/jgZfjgIHjg4jjg6rjgqzjg7zjgYzkvZXmmYLjgavnmbrli5XjgZXjgozjgZ/jgYvjgpLooajnpLrjgZfjgIHku7vmhI/jg5fjg6zjgqTjg6Tjg7zjga7oppbngrnjgYvjgonjg5Djg4jjg6vjgpLlho3nlJ/jgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgII8L3A+XHJcbiAgICA8cD7jgZPjga7jg4Tjg7zjg6vjga8gPHN0cm9uZz5PVkVSTEFZX1dTPC9zdHJvbmc+IOOBqOOBhOOBhuOCquODl+OCt+ODp+ODs+OCkuWPl+OBkeWFpeOCjOOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBk+OCjOOBq+OCiOOCiuOAgW5nbGTmp5jjga5PdmVybGF5UGx1Z2lu44GoY2FjdGJvdOOBruODl+ODqeOCsOOCpOODs+OCkuaQrei8ieOBl+OBn0FDVOOBrldlYlNvY2tldOOBq+aOpee2muOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvcD5cclxuICAgIDxwPldlYlNvY2tldOOBq+aOpee2muOBleOCjOOBpuOBhOOCi+WgtOWQiOOAgeOBk+OBruODhOODvOODq+OBr2NhY3Rib3QvcmFpZGJvc3Pjga7oqK3lrprjg5XjgqHjgqTjg6vjgpLoqq3jgb/ovrzjgb/jgIHjgZ3jgozjgonjgpLkvb/nlKjjgZfjgb7jgZnjgII8L3A+XHJcbiAgICA8cD7jgqrjg7zjg5Djg7zjg6zjgqTjga/kvZzmiJDjgZnjgovlv4XopoHjga/jgYLjgorjgb7jgZvjgpPjgII8L3A+XHJcbiAgICA8cD7nj77lnKjjga5XZWJTb2NrZXTjga7nirbmhYs6IDxzcGFuIGNsYXNzPVwiZC1ub25lIHdlYnNvY2tldENvbm5lY3RlZCB0ZXh0LXN1Y2Nlc3NcIj7mjqXntprmuIg8L3NwYW4+PHNwYW4gY2xhc3M9XCJ3ZWJzb2NrZXREaXNjb25uZWN0ZWQgdGV4dC13YXJuaW5nXCI+5YiH5pat5LitPC9zcGFuPuOAgjwvcD5cclxuICAgIDxwPuOBvuOBmuOAgeS7peS4i+OBruOBhOOBmuOCjOOBi+OBruaWueazleOBp+ODkOODiOODq+OCkuOCpOODs+ODneODvOODiOOBl+OBpuOBj+OBoOOBleOBhDo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT48Y29kZT4lQVBQREFUQSUvQWR2YW5jZWQgQ29tYmF0IFRyYWNrZXIvRkZYSVZMb2dzLzwvY29kZT7jgYvjgonjg43jg4Pjg4jjg6/jg7zjgq/jg63jgrDjgpLjg4njg6njg4PjgrDvvIbjg4njg63jg4Pjg5fjgZfjgabjgIHjg5rjg7zjgrjjgavjg4njg63jg4Pjg5fjgZfjgabjgY/jgaDjgZXjgYQ8L2xpPlxyXG4gICAgICAgIDxsaT7kuIvjga48Y29kZT7jg43jg4Pjg4jjg6/jg7zjgq/jg63jgrDjgpLoqq3jgb/ovrzjgoA8L2NvZGU+44Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gm44CBPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+44Gr44GC44KL44ON44OD44OI44Ov44O844Kv44Ot44Kw44KS6YG45oqe44GX44Gm44GP44Gg44GV44GEPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvcD5cclxuICAgIDxwPuasoeOBq+OAgeODkOODiOODq+OCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhOOAgjwvcD5cclxuICAgIDxwPuODkOODiOODq+OCkumBuOaKnuOBl+OBn+OCieOAgeS7peS4i+OBruOCiOOBhuOBq+ihjOWLleOBp+OBjeOBvuOBmTo8L3A+XHJcbiAgICA8cD5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxsaT7jg5Djg4jjg6vlhoXjga7oppbngrnjgpLlpInmm7TjgZnjgovjgavjga/jgIHlj7PlgbTjga7jg5Hjg7zjg4bjgqPjg7zjg6Hjg7Pjg5Djg7zlkI3jgpLpgbjmip7jgZfjgb7jgZk8L2xpPlxyXG4gICAgICAgIDxsaT7kuIrpg6jjg5Djg7zjga7jg4jjg6rjgqzjg7zjgqTjg7PjgrjjgrHjg7zjgr/jg7zjgpLjgq/jg6rjg4Pjgq/jgZnjgovjgajjg4jjg6rjgqzjg7zlkI3jgpLnorroqo3jgafjgY3jgb7jgZk8L2xpPlxyXG4gICAgICAgIDxsaT7jg4jjg6rjgqzjg7zjgpLjg57jgqbjgrnjgqrjg7zjg5Djg7zjgZfjgabjgIHjg4jjg6rjgqzjg7zlkI3jgpLnorroqo3jgafjgY3jgb7jgZk8L2xpPlxyXG4gICAgICAgIDxsaT7jg4jjg6rjgqzjg7zjgYzmnInlirnjgavjgarjgaPjgabjgYTjgovloLTlkIjjgIHjg4jjg6rjgqzjg7zjga7oqbPntLDmg4XloLHjgpLooajnpLrjgZnjgovjgavjga/jg4jjg6rjgqzjg7zjgpLjgq/jg6rjg4Pjgq/jgZfjgb7jgZk8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9wPmAsXHJcbiAgICBjbjogYDxwPuasoui/juadpeWIsFJhaWTmqKHmi5/lmajjgII8L3A+XHJcbiAgICA8cD7mraTlt6Xlhbflj6/ku6Xlm57mlL7miJjmlpfvvIzmmL7npLrlkITkuKrop6blj5HlmajnmoTop6blj5Hml7bmnLrvvIzkvaDov5jlj6/ku6Xku47ku7vmhI/lsI/pmJ/miJDlkZjnmoTop5Lluqbmn6XnnIvmiJjmlpfjgII8L3A+XHJcbiAgICA8cD7kvaDlj6/ku6XlkJHmraTlt6XlhbfkvKDpgIE8c3Ryb25nPk9WRVJMQVlfV1M8L3N0cm9uZz7lj4LmlbDvvIzku6Xov57mjqXliLDlkIzml7bliqDovb3kuoZuZ2xk55qET3ZlcmxheVBsdWdpbuWSjENhY3Rib3Tmj5Lku7bnmoRBQ1QgV2Vic29ja2V05o6l5Y+j44CCPC9wPlxyXG4gICAgPHA+6Iul6L+e5o6l5oiQ5Yqf77yM5q2k5bel5YW35bCG5Yqg6L295bm26YG15b6qY2FjdGJvdC9yYWlkYm9zc+eahOeUqOaIt+mFjee9ruaWh+S7tuOAgjwvcD5cclxuICAgIDxwPuS9oOS4jemcgOimgeWIm+W7uuaCrOa1rueql+OAgjwvcD5cclxuICAgIDxwPuW9k+WJjVdlYlNvY2tldOi/nuaOpeeKtuaAgTogPHNwYW4gY2xhc3M9XCJkLW5vbmUgd2Vic29ja2V0Q29ubmVjdGVkIHRleHQtc3VjY2Vzc1wiPuW3sui/nuaOpTwvc3Bhbj48c3BhbiBjbGFzcz1cIndlYnNvY2tldERpc2Nvbm5lY3RlZCB0ZXh0LXdhcm5pbmdcIj7lt7Lmlq3lvIA8L3NwYW4+LjwvcD5cclxuICAgIDxwPummluWFiO+8jOS9oOmcgOimgemAmui/h+S7peS4i+aWueazleS5i+S4gOWvvOWFpeS4gOWcuuaImOaWlzogPC9wPlxyXG4gICAgPHA+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGk+5LuOPGNvZGU+JUFQUERBVEElL0FkdmFuY2VkIENvbWJhdCBUcmFja2VyL0ZGWElWTG9ncy88L2NvZGU+5Lit6YCJ5Y+W5LiA5Liq572R57uc5pel5b+X5paH5Lu25ouW5pS+5Yiw6aG16Z2i5LiK44CCPC9saT5cclxuICAgICAgICA8bGk+54K55Ye75LiL5pa555qEPGNvZGU+5Yqg6L29572R57uc5pel5b+XPC9jb2RlPuaMiemSru+8jOS7jjxjb2RlPiVBUFBEQVRBJS9BZHZhbmNlZCBDb21iYXQgVHJhY2tlci9GRlhJVkxvZ3MvPC9jb2RlPuS4remAieWPluS4gOS4que9kee7nOaXpeW/l+aWh+S7tuOAgjwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+XHJcbiAgICA8cD7nhLblkI7vvIzlnKjnqpflj6PlupXpg6jpgInmi6nkuIDlnLrmiJjmlpfjgII8L3A+XHJcbiAgICA8cD7kuIDml6bkvaDliqDovb3kuobkuIDlnLrmiJjmlpfvvIzkvaDlj6/ku6U6IDwvcD5cclxuICAgIDxwPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpPumAmui/h+WcqOWPs+i+uemAieaLqeS4gOWQjemYn+WRmOadpeaUueWPmOW9k+WJjeinhuinkjwvbGk+XHJcbiAgICAgICAgPGxpPumAmui/h+eCueWHu+mhtumDqOeahOadoeeKtuWbvuadpeWvu+aJvuaImOaWl+S4reeahOS7u+S9leS4gOS4quaXtumXtOeCuTwvbGk+XHJcbiAgICAgICAgPGxpPuaCrOWBnOWcqOmhtuagj+eahOinpuWPkeWZqOaMh+ekuuWZqOS4iu+8jOWPr+S7peeci+WIsOWug+S7rOeahOWQjeensDwvbGk+XHJcbiAgICAgICAgPGxpPueCueWHu+inpuWPkeWZqOeahOaMiemSru+8jOWPr+S7peeci+WIsOWFs+S6juWug+S7rOeahOivpue7huS/oeaBrzwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L3A+YCxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JEaXNjb25uZWN0ZWRNb2RhbDogVHJhbnNsYXRpb24gPSB7XHJcbiAgJy5kaXNjb25uZWN0ZWRNb2RhbCAubW9kYWwtdGl0bGUnOiB7XHJcbiAgICBlbjogJ0N1cnJlbnRseSBEaXNjb25uZWN0ZWQnLFxyXG4gICAgZGU6ICdNb21lbnRhbiBuaWNodCB2ZWJ1bmRlbicsXHJcbiAgICBmcjogJ0FjdHVlbGxlbWVudCBkw6ljb25uZWN0w6knLFxyXG4gICAgamE6ICfliIfmlq3jgZXjgozjgabjgYTjgb7jgZknLFxyXG4gICAgY246ICflt7Lmlq3lvIDov57mjqUnLFxyXG4gIH0sXHJcbiAgJy5kaXNjb25uZWN0ZWRNb2RhbCAubW9kYWwtYm9keSc6IHtcclxuICAgIGVuOiBgPHA+UmFpZCBFbXVsYXRvciBpcyBjdXJyZW50bHkgZGlzY29ubmVjdGVkIGZyb20gQUNULjwvcD5cclxuICAgIDxwPlJhaWQgRW11bGF0b3Igd2lsbCB1c2UgdGhlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIHJhaWRib3NzLiBUaGVzZSBhcmU6PC9wPlxyXG4gICAgPHVsPlxyXG4gICAgICA8bGk+RGlzcGxheSBsYW5ndWFnZTogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0Rpc3BsYXlcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPkRlZmF1bHQgYWxlcnQgb3V0cHV0OiBUZXh0IGFuZCBTb3VuZDwvbGk+XHJcbiAgICAgIDxsaT5BbGVydHMgbGFuZ3VhZ2U6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdBbGVydHNcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPlRpbWVsaW5lIGxhbmd1YWdlOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nVGltZWxpbmVcIj48L3NwYW4+PC9saT5cclxuICAgIDwvdWw+YCxcclxuICAgIGRlOiBgPHA+UmFpZCBFbXVsYXRvciBpc3QgbW9tZW50YW4gbmljaHQgbWl0IEFDVCB2ZXJidW5kZW4uPC9wPlxyXG4gICAgPHA+UmFpZCBFbXVsYXRvciB3aXJkIGRpZSBTdGFuZGFyZGVpbnN0ZWxsdW5nZW4gZsO8ciBSYWlkYm9zcyBiZW51dHplbi4gRGllc2Ugc25kOjwvcD5cclxuICAgIDx1bD5cclxuICAgICAgPGxpPkFuemVpZ2VzcHJhY2hlOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nRGlzcGxheVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+U3RhbmRhcmQgQWxhcm0gQXVzZ2FiZTogVGV4dCB1bmQgVG9uPC9saT5cclxuICAgICAgPGxpPkFsYXJtc3ByYWNoZTogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0FsZXJ0c1wiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+VGltZWxpbmUgU3ByYWNoZTogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ1RpbWVsaW5lXCI+PC9zcGFuPjwvbGk+XHJcbiAgICA8L3VsPmAsXHJcbiAgICBmcjogYDxwPlJhaWQgRW11bGF0b3IgZXN0IGFjdHVlbGxlbWVudCBkw6ljb25uZWN0w6kgZCdBQ1QuPC9wPlxyXG4gICAgPHA+UmFpZCBFbXVsYXRvciB1dGlsaXNlIGxlcyBwYXJhbcOodHJlcyBwYXIgZMOpZmF1dCBwb3VyIHJhaWRib3NzIDo8L3A+XHJcbiAgICA8dWw+XHJcbiAgICAgIDxsaT5MYW5ndWUgZCdhZmZpY2hhZ2UgOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nRGlzcGxheVwiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+QWxlcnRlIHBhciBkw6lmYXV0IDogVGV4dGUgZXQgU29uPC9saT5cclxuICAgICAgPGxpPkxhbmd1ZSBkZXMgYWxlcnRlcyA6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdBbGVydHNcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPkxhbmd1ZSBkZXMgdGltZWxpbmVzIDogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ1RpbWVsaW5lXCI+PC9zcGFuPjwvbGk+XHJcbiAgICA8L3VsPmAsXHJcbiAgICBqYTogYDxwPuePvuWcqOOAgeODrOOCpOODieODu+OCqOODn+ODpeODrOODvOOCv+ODvOOBr0FDVOOBqOOBruaOpee2muOBjOWIh+aWreOBleOCjOOBpuOBhOOBvuOBmeOAgjwvcD5cclxuICAgIDxwPuODrOOCpOODieODu+OCqOODn+ODpeODrOODvOOCv+ODvOOBr3JhaWRib3Nz44Oi44K444Ol44O844Or44Gu5pei5a6a5YCk44KS5L2/55So44GX44G+44GZ44CC44GT44KM44KJ44Gv5qyh44Gu44Go44GK44KK44Gn44GZOjwvcD5cclxuICAgIDx1bD5cclxuICAgICAgPGxpPuihqOekuuiogOiqnjogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0Rpc3BsYXlcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPuitpuWRiuaDheWgseWHuuWKm+aXouWumuWApDog44OG44Kt44K544OI44Go6Z+zPC9saT5cclxuICAgICAgPGxpPuitpuWRiuaDheWgseiogOiqnjogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ0FsZXJ0c1wiPjwvc3Bhbj48L2xpPlxyXG4gICAgICA8bGk+44K/44Kk44Og44Op44Kk44Oz6KiA6KqeOiA8c3BhbiBjbGFzcz1cImRpc2NMYW5nVGltZWxpbmVcIj48L3NwYW4+PC9saT5cclxuICAgIDwvdWw+YCxcclxuICAgIGNuOiBgPHA+UmFpZOaooeaLn+WZqOebruWJjeS4jkFDVOaWreW8gOS6hui/nuaOpeOAgjwvcD5cclxuICAgIDxwPlJhaWTmqKHmi5/lmajlsIbkvb/nlKhyYWlkYm9zc+eahOm7mOiupOiuvue9ruOAgui/meS6m+iuvue9ruaYrzo8L3A+XHJcbiAgICA8dWw+XHJcbiAgICAgIDxsaT7mmL7npLror63oqIA6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdEaXNwbGF5XCI+PC9zcGFuPjwvbGk+XHJcbiAgICAgIDxsaT7pu5jorqTorabmiqXmj5DnpLrkv6Hmga/ovpPlh7rmlrnlvI86IOaWh+Wtl+aYvuekuuS4juaPkOekuumfszwvbGk+XHJcbiAgICAgIDxsaT7orabmiqXmj5DnpLrmloflrZfnmoTor63oqIA6IDxzcGFuIGNsYXNzPVwiZGlzY0xhbmdBbGVydHNcIj48L3NwYW4+PC9saT5cclxuICAgICAgPGxpPuaXtumXtOi9tOaWh+acrOeahOivreiogDogPHNwYW4gY2xhc3M9XCJkaXNjTGFuZ1RpbWVsaW5lXCI+PC9zcGFuPjwvbGk+XHJcbiAgICA8L3VsPmAsXHJcbiAgfSxcclxufSBhcyBjb25zdDtcclxuXHJcbmNvbnN0IGVtdWxhdG9yTGFiZWxzOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnIGxhYmVsW2Zvcj1oaWRlU2tpcHBlZF0nOiB7XHJcbiAgICBlbjogJ0hpZGUgU2tpcHBlZCcsXHJcbiAgICBkZTogJ1ZlcnN0ZWNrZSDDnGJlcnNwcnVuZ2VuZSBFaW50csOkZ2UnLFxyXG4gICAgZnI6ICdNYXNxdWVyIGxlcyBlbnRyw6llcyBzYXV0w6llcycsXHJcbiAgICBqYTogJ+OCueOCreODg+ODl+OBl+OBn+mgheebruOCkumaoOOBmScsXHJcbiAgICBjbjogJ+makOiXj+W3sui3s+i/h+mhueebricsXHJcbiAgfSxcclxuICAnIGxhYmVsW2Zvcj1oaWRlQ29sbGVjdG9yXSc6IHtcclxuICAgIGVuOiAnSGlkZSBDb2xsZWN0b3JzJyxcclxuICAgIGRlOiAnVmVyc3RlY2tlIFwiU2FtbWVsXCIgRWludHLDpGdlJyxcclxuICAgIGZyOiAnTWFzcXVlciBsZXMgZW50csOpZXMgY29sbGVjdMOpZXMnLFxyXG4gICAgamE6ICfnhKHlh7rlipvjg4jjg6rjgqzjg7zjgpLpmqDjgZknLFxyXG4gICAgY246ICfpmpDol4/mlLbpm4blmagnLFxyXG4gIH0sXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCBlbXVsYXRvclRvb2x0aXBzOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnLnRyaWdnZXJIaWRlU2tpcHBlZCc6IHtcclxuICAgIGVuOiAnSGlkZSB0cmlnZ2VycyB0aGF0IHdlcmUgbm90IGV4ZWN1dGVkJyxcclxuICAgIGRlOiAnVmVyc3RlY2tlIFRyaWdnZXIsIGRpZSBuaWNodCBhdXNnZWbDvGhydCB3dXJkZW4nLFxyXG4gICAgZnI6ICdNYXNxdWVyIGxlcyB0cmlnZ2VycyBub24tZXhlY3V0w6lzJyxcclxuICAgIGphOiAn5a6f6KGM44GV44KM44Gq44GL44Gj44Gf44OI44Oq44Ks44O844KS6Zqg44GZJyxcclxuICAgIGNuOiAn6ZqQ6JeP5pyq5omn6KGM55qE6Kem5Y+R5ZmoJyxcclxuICB9LFxyXG4gICcudHJpZ2dlckhpZGVDb2xsZWN0b3InOiB7XHJcbiAgICBlbjogJ0hpZGUgdHJpZ2dlcnMgdGhhdCBoYWQgbm8gb3V0cHV0JyxcclxuICAgIGRlOiAnVmVyc3RlY2tlIFRyaWdnZXIsIGRpZSBrZWluZSBBdXNnYWJlIGhhdHRlbicsXHJcbiAgICBmcjogJ01hc3F1ZXIgbGVzIHRyaWdnZXJzIHNhbnMgc29ydGllJyxcclxuICAgIGphOiAn5Ye65Yqb44GM44Gq44GE44OI44Oq44Ks44O844KS6Zqg44GZJyxcclxuICAgIGNuOiAn6ZqQ6JeP5rKh5pyJ6L6T5Ye655qE6Kem5Y+R5ZmoJyxcclxuICB9LFxyXG4gICcuY29ubmVjdGVkSW5kaWNhdG9yJzoge1xyXG4gICAgZW46ICdDb25uZWN0ZWQgdG8gd2Vic29ja2V0JyxcclxuICAgIGRlOiAnTWl0IFdlYnNvY2tldCB2ZXJidW5kZW4nLFxyXG4gICAgZnI6ICdDb25uZWN0w6kgYXUgV2Vic29ja2V0JyxcclxuICAgIGphOiAnV2ViU29ja2V044Gr5o6l57aa5riI44G/JyxcclxuICAgIGNuOiAn6L+e5o6l5Yiwd2Vic29ja2V0JyxcclxuICB9LFxyXG4gICcuZGlzY29ubmVjdGVkSW5kaWNhdG9yJzoge1xyXG4gICAgZW46ICdEaXNjb25uZWN0ZWQgZnJvbSB3ZWJzb2NrZXQnLFxyXG4gICAgZGU6ICdLZWluZSBWZXJiaW5kdW5nIHp1bSBXZWJzb2NrZXQnLFxyXG4gICAgZnI6ICdEw6ljb25uZWN0w6kgZHUgV2Vic29ja2V0JyxcclxuICAgIGphOiAnV2ViU29ja2V044Gr5o6l57aa44GX44Gm44GE44G+44Gb44KTJyxcclxuICAgIGNuOiAn5LiOd2Vic29ja2V05pat5byA6L+e5o6lJyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuY29uc3QgZW11bGF0b3JFbmNvdW50ZXJJbmZvOiBUcmFuc2xhdGlvbiA9IHtcclxuICAnLmVuY291bnRlckxvYWQnOiB7XHJcbiAgICBlbjogJ0xvYWQgRW5jb3VudGVyJyxcclxuICAgIGRlOiAnTGFkZSBLYW1wZicsXHJcbiAgICBmcjogJ0NoYXJnZXIgY29tYmF0JyxcclxuICAgIGphOiAn44Ko44Oz44Kr44Km44Oz44OI44KS6Kqt44G/6L6844KAJyxcclxuICAgIGNuOiAn5Yqg6L295oiY5paXJyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyUGFyc2UnOiB7XHJcbiAgICBlbjogJ1JlcGFyc2UgRW5jb3VudGVyJyxcclxuICAgIGRlOiAnS2FtcGYgZXJuZXV0IGFuYWx5c2llcmVuJyxcclxuICAgIGZyOiAnUmVwYXJzZXIgbGUgY29tYmF0JyxcclxuICAgIGphOiAn44Ko44Oz44Kr44Km44Oz44OI44KS5YaN6Kej5p6QJyxcclxuICAgIGNuOiAn6YeN5paw6Kej5p6Q5oiY5paXJyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyUHJ1bmUnOiB7XHJcbiAgICBlbjogJ1BydW5lIEVuY291bnRlcicsXHJcbiAgICBkZTogJ0thbXBmIGxlZXJlbicsXHJcbiAgICBmcjogJ0NvbWJhdCB2aWRlJyxcclxuICAgIGphOiAn44Ko44Oz44Kr44Km44Oz44OI44KS44Kr44OD44OIJyxcclxuICAgIGNuOiAn6KOB5Ymq5oiY5paXJyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyRGVsZXRlJzoge1xyXG4gICAgZW46ICdEZWxldGUgRW5jb3VudGVyJyxcclxuICAgIGRlOiAnS2FtcGYgbMO2c2NoZW4nLFxyXG4gICAgZnI6ICdFZmZhY2VyIGNvbWJhdCcsXHJcbiAgICBqYTogJ+OCqOODs+OCq+OCpuODs+ODiOOCkuWJiumZpCcsXHJcbiAgICBjbjogJ+WIoOmZpOaImOaWlycsXHJcbiAgfSxcclxuICAnLmVuY291bnRlclpvbmUnOiB7XHJcbiAgICBlbjogJ1pvbmU6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnWm9uZTogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICdab25lIDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgamE6ICfjgr7jg7zjg7M6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGNuOiAn5Yy65Z+fOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgfSxcclxuICAnLmVuY291bnRlclN0YXJ0Jzoge1xyXG4gICAgZW46ICdTdGFydDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZGU6ICdTdGFydDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICdEw6lidXQgOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBqYTogJ+mWi+WnizogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICflvIDlp4s6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyRHVyYXRpb24nOiB7XHJcbiAgICBlbjogJ0R1cmF0aW9uOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBkZTogJ0RhdWVyOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ0R1csOpZSA6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGphOiAn5oyB57aa5pmC6ZaTOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+aMgee7reaXtumXtDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJPZmZzZXQnOiB7XHJcbiAgICBlbjogJ1B1bGwgQXQ6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnU3RhcnQgdW06IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGZyOiAnUHVsbCDDoCA6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGphOiAn5oim6ZeY6ZaL5aeLOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBjbjogJ+W8gOWni+S6jjogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gIH0sXHJcbiAgJy5lbmNvdW50ZXJOYW1lJzoge1xyXG4gICAgZW46ICdOYW1lOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBkZTogJ05hbWU6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGZyOiAnTm9tIDogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgamE6ICflkI3liY06IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGNuOiAn5ZCN56ewOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgfSxcclxuICAnLmVuY291bnRlclN0YXJ0U3RhdHVzJzoge1xyXG4gICAgZW46ICdTdGFydCBTdGF0dXM6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICAgIGRlOiAnU3RhcnQgU3RhdHVzOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBmcjogJ8OJdGF0IGR1IGTDqW1hcnJhZ2UgOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBqYTogJ+mWi+Wni+eKtuaFizogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICflvIDlp4vnirbmgIE6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICB9LFxyXG4gICcuZW5jb3VudGVyRW5kU3RhdHVzJzoge1xyXG4gICAgZW46ICdFbmQgU3RhdHVzOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBkZTogJ0VuZHN0YXR1czogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgZnI6ICfDiXRhdCBkZSBmaW4gOiA8c3BhbiBjbGFzcz1cImxhYmVsXCI+PC9zcGFuPicsXHJcbiAgICBqYTogJ+e1guS6hueKtuaFizogPHNwYW4gY2xhc3M9XCJsYWJlbFwiPjwvc3Bhbj4nLFxyXG4gICAgY246ICfnu5PmnZ/nirbmgIE6IDxzcGFuIGNsYXNzPVwibGFiZWxcIj48L3NwYW4+JyxcclxuICB9LFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLy8gVGhlc2UgZWxlbWVudHMgZ2V0IHRoZWlyIGlubmVySFRNTCBzZXQgdG8gdGhlIHRyYW5zbGF0ZWQgdmFsdWVcclxuZXhwb3J0IGNvbnN0IGVtdWxhdG9yVHJhbnNsYXRpb25zOiBUcmFuc2xhdGlvbiA9IHtcclxuICAuLi5lbXVsYXRvckJ1dHRvbnMsXHJcbiAgLi4uZW11bGF0b3JUaXRsZSxcclxuICAuLi5lbXVsYXRvckltcG9ydE1vZGFsLFxyXG4gIC4uLmVtdWxhdG9yRGVsZXRlTW9kYWwsXHJcbiAgLi4uZW11bGF0b3JJbnRyb01vZGFsLFxyXG4gIC4uLmVtdWxhdG9yRGlzY29ubmVjdGVkTW9kYWwsXHJcbiAgLi4uZW11bGF0b3JMYWJlbHMsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBUaGVzZSBlbGVtZW50cyBnZXQgdGhlaXIgdGl0bGUgc2V0IHRvIHRoZSB0cmFuc2xhdGVkIHZhbHVlXHJcbmV4cG9ydCBjb25zdCBlbXVsYXRvclRvb2x0aXBUcmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uID0ge1xyXG4gIC4uLmVtdWxhdG9yVG9vbHRpcHMsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4vLyBUZW1wbGF0ZSBlbGVtZW50cyBuZWVkIHNwZWNpYWwgaGFuZGxpbmcsIGFueSB0ZW1wbGF0ZXMgdGhhdCBoYXZlIHRyYW5zbGF0YWJsZSBlbGVtZW50c1xyXG4vLyBzaG91bGQgYmUgbGlzdGVkIGhlcmVcclxuZXhwb3J0IGNvbnN0IGVtdWxhdG9yVGVtcGxhdGVUcmFuc2xhdGlvbnM6IHsgW3NlbGVjdG9yOiBzdHJpbmddOiBUcmFuc2xhdGlvbiB9ID0ge1xyXG4gICd0ZW1wbGF0ZS5lbmNvdW50ZXJJbmZvJzogZW11bGF0b3JFbmNvdW50ZXJJbmZvLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGVtdWxhdG9yU3RhcnRTdGF0dXNlcyA9IHtcclxuICB1bmtub3duOiB7XHJcbiAgICBlbjogJ1Vua25vd24nLFxyXG4gICAgZGU6ICdVbmJla2FubnQnLFxyXG4gICAgZnI6ICdJbmNvbm51JyxcclxuICAgIGphOiAn5LiN5piOJyxcclxuICAgIGNuOiAn5pyq55+lJyxcclxuICB9LFxyXG4gIGNvdW50ZG93bjoge1xyXG4gICAgZW46ICdDb3VudGRvd24nLFxyXG4gICAgZGU6ICdDb3VudGRvd24nLFxyXG4gICAgZnI6ICdDb21wdGUgw6AgcmVib3VycycsXHJcbiAgICBqYTogJ+OCq+OCpuODs+ODiOODgOOCpuODsycsXHJcbiAgICBjbjogJ+WAkuiuoeaXticsXHJcbiAgfSxcclxuICBzZWFsOiB7XHJcbiAgICBlbjogJ1NlYWwnLFxyXG4gICAgZGU6ICdWZXJzaWVnZWxuJyxcclxuICAgIGZyOiAnRmVybWV0dXJlJyxcclxuICAgIGphOiAn5bCB6Y6WJyxcclxuICAgIGNuOiAn5bCB6ZSBJyxcclxuICB9LFxyXG4gIGVuZ2FnZToge1xyXG4gICAgZW46ICdFbmdhZ2UnLFxyXG4gICAgZGU6ICdTdGFydCcsXHJcbiAgICBmcjogJ8OAIGxcXCdhdHRhcXVlJyxcclxuICAgIGphOiAn5oim6ZeY6ZaL5aeLJyxcclxuICAgIGNuOiAn5oiY5paX5LitJyxcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGVtdWxhdG9yRW5kU3RhdHVzZXMgPSB7XHJcbiAgdW5rbm93bjoge1xyXG4gICAgZW46ICdVbmtub3duJyxcclxuICAgIGRlOiAnVW5iZWthbm50JyxcclxuICAgIGZyOiAnSW5jb25udScsXHJcbiAgICBqYTogJ+S4jeaYjicsXHJcbiAgICBjbjogJ+acquefpScsXHJcbiAgfSxcclxuICB3aW46IHtcclxuICAgIGVuOiAnV2luJyxcclxuICAgIGRlOiAnR2V3b25uZW4nLFxyXG4gICAgZnI6ICdHYWduw6knLFxyXG4gICAgamE6ICfli53liKknLFxyXG4gICAgY246ICfog5zliKknLFxyXG4gIH0sXHJcbiAgd2lwZToge1xyXG4gICAgZW46ICdXaXBlJyxcclxuICAgIGRlOiAnV2lwZScsXHJcbiAgICBmcjogJ1dpcGUnLFxyXG4gICAgamE6ICfjg6/jgqTjg5cnLFxyXG4gICAgY246ICflm6Lnga0nLFxyXG4gIH0sXHJcbiAgY2FjdGJvdFdpcGU6IHtcclxuICAgIGVuOiAnQ2FjdGJvdCBXaXBlJyxcclxuICAgIGRlOiAnQ2FjdGJvdCBXaXBlJyxcclxuICAgIGZyOiAnQ2FjdGJvdCBXaXBlJyxcclxuICAgIGphOiAnQ2FjdGJvdOOBq+OCiOOCi+ODr+OCpOODlycsXHJcbiAgICBjbjogJ0NhY3Rib3Tlm6Lnga0nLFxyXG4gIH0sXHJcbiAgdW5zZWFsOiB7XHJcbiAgICBlbjogJ1Vuc2VhbCcsXHJcbiAgICBkZTogJ0VudHNpZWdlbG4nLFxyXG4gICAgZnI6ICdPdXZlcnR1cmUnLFxyXG4gICAgamE6ICfop6PpmaQnLFxyXG4gICAgY246ICfop6PlsIEnLFxyXG4gIH0sXHJcbn07XHJcblxyXG4vLyBAVE9ETzogQ2hhbmdlIGVuY291bnRlciB0byBzdG9yZSBrZXlzIGZvciBzdGF0dXNlcyBpbnN0ZWFkIG9mIGVuZ2xpc2ggdmFsdWVzIGFzIGFcclxuLy8gY29tbWEtc2VwYXJhdGVkIHN0cmluZy5cclxuZXhwb3J0IGNvbnN0IGxvb2t1cFN0YXJ0U3RhdHVzZXMgPSAobGFuZzogTGFuZywgc3RhdHVzZXNTdHI6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgY29uc3QgZW5nU3RhdHVzZXMgPSBzdGF0dXNlc1N0ci5zcGxpdCgnLCAnKTtcclxuICBjb25zdCB0cmFuc1N0YXR1c2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZvciAoY29uc3Qgc3RhdHVzIG9mIGVuZ1N0YXR1c2VzKSB7XHJcbiAgICBmb3IgKGNvbnN0IG1hcCBvZiBPYmplY3QudmFsdWVzKGVtdWxhdG9yU3RhcnRTdGF0dXNlcykpIHtcclxuICAgICAgaWYgKG1hcC5lbiA9PT0gc3RhdHVzKSB7XHJcbiAgICAgICAgdHJhbnNTdGF0dXNlcy5wdXNoKHRyYW5zbGF0ZShsYW5nLCBtYXApKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gdHJhbnNTdGF0dXNlcy5qb2luKCcsICcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvb2t1cEVuZFN0YXR1cyA9IChsYW5nOiBMYW5nLCBzdGF0dXM6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgZm9yIChjb25zdCBtYXAgb2YgT2JqZWN0LnZhbHVlcyhlbXVsYXRvckVuZFN0YXR1c2VzKSkge1xyXG4gICAgaWYgKG1hcC5lbiA9PT0gc3RhdHVzKVxyXG4gICAgICByZXR1cm4gdHJhbnNsYXRlKGxhbmcsIG1hcCk7XHJcbiAgfVxyXG4gIHJldHVybiBzdGF0dXM7XHJcbn07XHJcbiIsImltcG9ydCB7IFVucmVhY2hhYmxlQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Jlc291cmNlcy9ub3RfcmVhY2hlZCc7XHJcblxyXG5jb25zdCBoaWRlRXZlbnRzID0gW1xyXG4gICdtb3VzZWxlYXZlJyxcclxuICAnYmx1cicsXHJcbl0gYXMgY29uc3Q7XHJcblxyXG5jb25zdCB2YWxpZERpcmVjdGlvbnMgPSBbXHJcbiAgJ3RvcCcsXHJcbiAgJ3JpZ2h0JyxcclxuICAnYm90dG9tJyxcclxuICAnbGVmdCcsXHJcbl0gYXMgY29uc3Q7XHJcbnR5cGUgVmFsaWREaXJlY3Rpb24gPSB0eXBlb2YgdmFsaWREaXJlY3Rpb25zW251bWJlcl07XHJcblxyXG5jb25zdCBzaG93RXZlbnRzID0gW1xyXG4gICdtb3VzZWVudGVyJyxcclxuICAnZm9jdXMnLFxyXG5dIGFzIGNvbnN0O1xyXG5cclxudHlwZSBUZW1wbGF0ZXNUeXBlID0geyBbUHJvcGVydHkgaW4gVmFsaWREaXJlY3Rpb25dOiBIVE1MVGVtcGxhdGVFbGVtZW50IH07XHJcblxyXG5jb25zdCB0b1B4ID0gKHB4OiBudW1iZXIpOiBzdHJpbmcgPT4gYCR7cHh9cHhgO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9vbHRpcCB7XHJcbiAgcHVibGljIG9mZnNldCA9IHtcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwLFxyXG4gIH07XHJcbiAgcHJpdmF0ZSB0b29sdGlwOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGlubmVyOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGFycm93OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgdGVtcGxhdGVzOiBUZW1wbGF0ZXNUeXBlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGFyZ2V0OiBIVE1MRWxlbWVudCxcclxuICAgIHByaXZhdGUgZGlyZWN0aW9uOiBWYWxpZERpcmVjdGlvbixcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIGF1dG9TaG93ID0gdHJ1ZSxcclxuICAgIGF1dG9IaWRlID0gdHJ1ZSxcclxuICApIHtcclxuICAgIFRvb2x0aXAuaW5pdGlhbGl6ZVRlbXBsYXRlcygpO1xyXG5cclxuICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xyXG4gICAgICBjb25zdCBtc2cgPSAnSW52YWxpZCBlbGVtZW50IHBhc3NlZCB0byBUb29sdGlwJztcclxuICAgICAgY29uc29sZS5lcnJvcihtc2cpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvb2x0aXAgPSBUb29sdGlwLmNsb25lVGVtcGxhdGUoZGlyZWN0aW9uKTtcclxuICAgIGNvbnN0IGlubmVyRWxlbSA9IHRoaXMudG9vbHRpcC5xdWVyeVNlbGVjdG9yKCcudG9vbHRpcC1pbm5lcicpO1xyXG4gICAgaWYgKCEoaW5uZXJFbGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgdGhpcy5pbm5lciA9IGlubmVyRWxlbTtcclxuICAgIGNvbnN0IGFycm93RWxlbSA9IHRoaXMudG9vbHRpcC5xdWVyeVNlbGVjdG9yKCcuYXJyb3cnKTtcclxuICAgIGlmICghKGFycm93RWxlbSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIHRoaXMuYXJyb3cgPSBhcnJvd0VsZW07XHJcbiAgICB0aGlzLnNldFRleHQodGV4dCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLnRvb2x0aXApO1xyXG4gICAgaWYgKGF1dG9TaG93KSB7XHJcbiAgICAgIHNob3dFdmVudHMuZm9yRWFjaCgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZSwgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGF1dG9IaWRlKSB7XHJcbiAgICAgIGhpZGVFdmVudHMuZm9yRWFjaCgoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZSwgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VGV4dCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5uZXIudGV4dENvbnRlbnQgPSB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgc2hvdygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0aGlzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHRhcmdldE1pZGRsZSA9IHtcclxuICAgICAgeDogdGFyZ2V0UmVjdC54ICsgKHRhcmdldFJlY3Qud2lkdGggLyAyKSxcclxuICAgICAgeTogdGFyZ2V0UmVjdC55ICsgKHRhcmdldFJlY3QuaGVpZ2h0IC8gMiksXHJcbiAgICB9O1xyXG4gICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0aGlzLnRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAvLyBNaWRkbGUgb2YgdG9vbHRpcCAtIGhhbGYgb2YgYXJyb3cgaGVpZ2h0XHJcbiAgICBjb25zdCBsckFycm93SGVpZ2h0ID0gKHRvb2x0aXBSZWN0LmhlaWdodCAvIDIpIC1cclxuICAgICAgKHRoaXMuYXJyb3cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IC8gMik7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLmxlZnQgPSB0b1B4KCh0YXJnZXRNaWRkbGUueCAtICh0b29sdGlwUmVjdC53aWR0aCAvIDIpKSArIHRoaXMub2Zmc2V0LngpO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcC5zdHlsZS5ib3R0b20gPSB0b1B4KCh0YXJnZXRSZWN0LnkgLSB0b29sdGlwUmVjdC5oZWlnaHQpICsgdGhpcy5vZmZzZXQueSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLnRvb2x0aXAuc3R5bGUubGVmdCA9IHRvUHgodGFyZ2V0UmVjdC5yaWdodCArIHRoaXMub2Zmc2V0LngpO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcC5zdHlsZS50b3AgPSB0b1B4KCh0YXJnZXRNaWRkbGUueSAtICh0b29sdGlwUmVjdC5oZWlnaHQgLyAyKSkgKyB0aGlzLm9mZnNldC55KTtcclxuICAgICAgICB0aGlzLmFycm93LnN0eWxlLnRvcCA9IHRvUHgobHJBcnJvd0hlaWdodCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLmxlZnQgPSB0b1B4KCh0YXJnZXRNaWRkbGUueCAtICh0b29sdGlwUmVjdC53aWR0aCAvIDIpKSArIHRoaXMub2Zmc2V0LngpO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcC5zdHlsZS50b3AgPSB0b1B4KHRhcmdldFJlY3QuYm90dG9tICsgdGhpcy5vZmZzZXQueSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHRoaXMudG9vbHRpcC5zdHlsZS5sZWZ0ID0gdG9QeCgodGFyZ2V0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGgpICsgdGhpcy5vZmZzZXQueCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwLnN0eWxlLnRvcCA9IHRvUHgoKHRhcmdldE1pZGRsZS55IC0gKHRvb2x0aXBSZWN0LmhlaWdodCAvIDIpKSArIHRoaXMub2Zmc2V0LnkpO1xyXG4gICAgICAgIHRoaXMuYXJyb3cuc3R5bGUudG9wID0gdG9QeChsckFycm93SGVpZ2h0KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMudG9vbHRpcC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgICB0aGlzLnRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXNob3cnLCAnJyk7XHJcbiAgfVxyXG5cclxuICBoaWRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgIHRoaXMudG9vbHRpcC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2hvdycpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwLnJlbW92ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGluaXRpYWxpemVUZW1wbGF0ZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoVG9vbHRpcC50ZW1wbGF0ZXMpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBUb29sdGlwLnRlbXBsYXRlcyA9IHtcclxuICAgICAgdG9wOiBUb29sdGlwLmdldFRlbXBsYXRlKCd0b3AnKSxcclxuICAgICAgcmlnaHQ6IFRvb2x0aXAuZ2V0VGVtcGxhdGUoJ3JpZ2h0JyksXHJcbiAgICAgIGJvdHRvbTogVG9vbHRpcC5nZXRUZW1wbGF0ZSgnYm90dG9tJyksXHJcbiAgICAgIGxlZnQ6IFRvb2x0aXAuZ2V0VGVtcGxhdGUoJ2xlZnQnKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0VGVtcGxhdGUoZGlyOiBzdHJpbmcpOiBIVE1MVGVtcGxhdGVFbGVtZW50IHtcclxuICAgIGNvbnN0IGVsZW1OYW1lID0gYCR7ZGlyfVRvb2x0aXBUZW1wbGF0ZWA7XHJcbiAgICBjb25zdCByZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtTmFtZSk7XHJcbiAgICBpZiAocmV0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXHJcbiAgICAgIHJldHVybiByZXQgYXMgSFRNTFRlbXBsYXRlRWxlbWVudDtcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjbG9uZVRlbXBsYXRlKGRpcmVjdGlvbjogVmFsaWREaXJlY3Rpb24pOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IFRvb2x0aXAudGVtcGxhdGVzW2RpcmVjdGlvbl07XHJcbiAgICBjb25zdCBub2RlID0gdGVtcGxhdGUuY29udGVudC5xdWVyeVNlbGVjdG9yKCcudG9vbHRpcCcpPy5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KVxyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFV0aWwgZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3V0aWwnO1xyXG5pbXBvcnQgQW5hbHl6ZWRFbmNvdW50ZXIsIHsgUGVyc3BlY3RpdmVUcmlnZ2VyIH0gZnJvbSAnLi4vZGF0YS9BbmFseXplZEVuY291bnRlcic7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHsgY2xvbmVTYWZlLCBnZXRUZW1wbGF0ZUNoaWxkLCBxdWVyeVNlbGVjdG9yU2FmZSB9IGZyb20gJy4uL0VtdWxhdG9yQ29tbW9uJztcclxuaW1wb3J0IEV2ZW50QnVzIGZyb20gJy4uL0V2ZW50QnVzJztcclxuXHJcbmltcG9ydCBUb29sdGlwIGZyb20gJy4vVG9vbHRpcCc7XHJcblxyXG5jb25zdCBqb2JPcmRlciA9IFtcclxuICAnUExEJyxcclxuICAnV0FSJyxcclxuICAnRFJLJyxcclxuICAnR05CJyxcclxuICAnV0hNJyxcclxuICAnU0NIJyxcclxuICAnQVNUJyxcclxuICAnU0dFJyxcclxuICAnTU5LJyxcclxuICAnRFJHJyxcclxuICAnTklOJyxcclxuICAnU0FNJyxcclxuICAnUlBSJyxcclxuICAnQlJEJyxcclxuICAnTUNIJyxcclxuICAnRE5DJyxcclxuICAnQkxNJyxcclxuICAnU01OJyxcclxuICAnUkRNJyxcclxuICAnQkxVJyxcclxuXSBhcyBjb25zdDtcclxuXHJcbnR5cGUgSm9iT3JkZXJUeXBlID0gdHlwZW9mIGpvYk9yZGVyW251bWJlcl07XHJcblxyXG5jb25zdCBpc0pvYk9yZGVyID0gKGpvYj86IHN0cmluZyk6IGpvYiBpcyBKb2JPcmRlclR5cGUgPT4ge1xyXG4gIHJldHVybiBqb2JPcmRlci5pbmNsdWRlcyhqb2IgYXMgSm9iT3JkZXJUeXBlKTtcclxufTtcclxuXHJcbnR5cGUgUGFydHlJbmZvID0ge1xyXG4gICRyb290RWxlbTogSFRNTEVsZW1lbnQ7XHJcbiAgJGljb25FbGVtOiBIVE1MRWxlbWVudDtcclxuICAkaHBFbGVtOiBIVE1MRWxlbWVudDtcclxuICAkaHBMYWJlbEVsZW06IEhUTUxFbGVtZW50O1xyXG4gICRocFByb2dFbGVtOiBIVE1MRWxlbWVudDtcclxuICAkbXBFbGVtOiBIVE1MRWxlbWVudDtcclxuICAkbXBMYWJlbEVsZW06IEhUTUxFbGVtZW50O1xyXG4gICRtcFByb2dFbGVtOiBIVE1MRWxlbWVudDtcclxuICAkbmFtZUVsZW06IEhUTUxFbGVtZW50O1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgJHRyaWdnZXJFbGVtOiBIVE1MRWxlbWVudDtcclxufTtcclxuXHJcbnR5cGUgUGFydHlJbmZvTWFwID0ge1xyXG4gIFtpZDogc3RyaW5nXTogUGFydHlJbmZvO1xyXG59O1xyXG5cclxudHlwZSBDb2xsYXBzZVBhcmFtcyA9IHtcclxuICB0aW1lOiBzdHJpbmc7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBjbGFzc2VzOiBzdHJpbmdbXTtcclxuICAkb2JqOiBIVE1MRWxlbWVudDtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgb25jbGljaz86IENhbGxhYmxlRnVuY3Rpb247XHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbXVsYXRlZFBhcnR5SW5mbyBleHRlbmRzIEV2ZW50QnVzIHtcclxuICBwcml2YXRlICRwYXJ0eUluZm86IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgJHRyaWdnZXJJbmZvOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlICR0cmlnZ2VySGlkZVNraXBwZWRDaGVja2JveDogSFRNTElucHV0RWxlbWVudDtcclxuICBwcml2YXRlICR0cmlnZ2VySGlkZUNvbGxlY3RDaGVja2JveDogSFRNTElucHV0RWxlbWVudDtcclxuICBwcml2YXRlICR0cmlnZ2VyQmFyOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGxhdGVzdERpc3BsYXllZFN0YXRlOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBjdXJyZW50UGVyc3BlY3RpdmU/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB1cGRhdGVUcmlnZ2VyU3RhdGU6ICgpID0+IHZvaWQ7XHJcbiAgcHJpdmF0ZSAkdHJpZ2dlckl0ZW1UZW1wbGF0ZTogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSAkcGxheWVySW5mb1Jvd1RlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlICRwbGF5ZXJUcmlnZ2VySW5mb1RlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlICRqc29uVmlld2VyVGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgJHdyYXBDb2xsYXBzZVRlbXBsYXRlOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHRvb2x0aXBzOiBUb29sdGlwW10gPSBbXTtcclxuICBwcml2YXRlIHRyaWdnZXJCYXJzOiBIVE1MRWxlbWVudFtdID0gW107XHJcbiAgcHJpdmF0ZSBkaXNwbGF5ZWRQYXJ0eTogUGFydHlJbmZvTWFwID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW11bGF0b3I6IFJhaWRFbXVsYXRvcikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuJHBhcnR5SW5mbyA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLnBhcnR5SW5mb0NvbHVtbiAucGFydHknKTtcclxuICAgIHRoaXMuJHRyaWdnZXJJbmZvID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcudHJpZ2dlckluZm9Db2x1bW4nKTtcclxuICAgIGNvbnN0IHNraXBwZWQgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy50cmlnZ2VySGlkZVNraXBwZWQnKTtcclxuICAgIGlmICghKHNraXBwZWQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSlcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgdGhpcy4kdHJpZ2dlckhpZGVTa2lwcGVkQ2hlY2tib3ggPSBza2lwcGVkO1xyXG4gICAgY29uc3QgY29sbGVjdG9yID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcudHJpZ2dlckhpZGVDb2xsZWN0b3InKTtcclxuICAgIGlmICghKGNvbGxlY3RvciBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLiR0cmlnZ2VySGlkZUNvbGxlY3RDaGVja2JveCA9IGNvbGxlY3RvcjtcclxuICAgIHRoaXMuJHRyaWdnZXJCYXIgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5wbGF5ZXJUcmlnZ2VycycpO1xyXG4gICAgdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDg7ICsraSlcclxuICAgICAgdGhpcy50cmlnZ2VyQmFyc1tpXSA9IHF1ZXJ5U2VsZWN0b3JTYWZlKHRoaXMuJHRyaWdnZXJCYXIsICcucGxheWVyJyArIGkudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgZW11bGF0b3Iub24oJ3RpY2snLCAoX2N1cnJlbnRMb2dUaW1lLCBsYXN0TG9nTGluZVRpbWU6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAobGFzdExvZ0xpbmVUaW1lKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYXJ0eUluZm8oZW11bGF0b3IsIGxhc3RMb2dMaW5lVGltZSk7XHJcbiAgICAgICAgdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSA9IE1hdGgubWF4KHRoaXMubGF0ZXN0RGlzcGxheWVkU3RhdGUsIGxhc3RMb2dMaW5lVGltZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgZW11bGF0b3Iub24oJ2N1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIpID0+IHtcclxuICAgICAgdGhpcy5yZXNldFBhcnR5SW5mbyhlbmNvdW50ZXIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgZW11bGF0b3Iub24oJ3ByZVNlZWsnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubGF0ZXN0RGlzcGxheWVkU3RhdGUgPSAwO1xyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigncG9zdFNlZWsnLCAodGltZTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFydHlJbmZvKGVtdWxhdG9yLCB0aW1lKTtcclxuICAgICAgdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSA9IE1hdGgubWF4KHRoaXMubGF0ZXN0RGlzcGxheWVkU3RhdGUsIHRpbWUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVwZGF0ZVRyaWdnZXJTdGF0ZSA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuJHRyaWdnZXJIaWRlU2tpcHBlZENoZWNrYm94LmNoZWNrZWQpXHJcbiAgICAgICAgdGhpcy5oaWRlTm9uRXhlY3V0ZWRUcmlnZ2VycygpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5zaG93Tm9uRXhlY3V0ZWRUcmlnZ2VycygpO1xyXG4gICAgICBpZiAodGhpcy4kdHJpZ2dlckhpZGVDb2xsZWN0Q2hlY2tib3guY2hlY2tlZClcclxuICAgICAgICB0aGlzLmhpZGVDb2xsZWN0b3JUcmlnZ2VycygpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5zaG93Q29sbGVjdG9yVHJpZ2dlcnMoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLiR0cmlnZ2VySGlkZVNraXBwZWRDaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLnVwZGF0ZVRyaWdnZXJTdGF0ZSk7XHJcbiAgICB0aGlzLiR0cmlnZ2VySGlkZUNvbGxlY3RDaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLnVwZGF0ZVRyaWdnZXJTdGF0ZSk7XHJcblxyXG4gICAgdGhpcy4kdHJpZ2dlckl0ZW1UZW1wbGF0ZSA9IGdldFRlbXBsYXRlQ2hpbGQoZG9jdW1lbnQsICd0ZW1wbGF0ZS50cmlnZ2VySXRlbScpO1xyXG4gICAgdGhpcy4kcGxheWVySW5mb1Jvd1RlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLnBsYXllckluZm9Sb3cnKTtcclxuICAgIHRoaXMuJHBsYXllclRyaWdnZXJJbmZvVGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKGRvY3VtZW50LCAndGVtcGxhdGUucGxheWVyVHJpZ2dlckluZm8nKTtcclxuICAgIHRoaXMuJGpzb25WaWV3ZXJUZW1wbGF0ZSA9IGdldFRlbXBsYXRlQ2hpbGQoZG9jdW1lbnQsICd0ZW1wbGF0ZS5qc29uVmlld2VyJyk7XHJcbiAgICB0aGlzLiR3cmFwQ29sbGFwc2VUZW1wbGF0ZSA9IGdldFRlbXBsYXRlQ2hpbGQoZG9jdW1lbnQsICd0ZW1wbGF0ZS53cmFwQ29sbGFwc2UnKTtcclxuICB9XHJcblxyXG4gIGhpZGVOb25FeGVjdXRlZFRyaWdnZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kdHJpZ2dlckluZm8ucXVlcnlTZWxlY3RvckFsbCgnLnRyaWdnZXItbm90LWV4ZWN1dGVkJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICBuLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93Tm9uRXhlY3V0ZWRUcmlnZ2VycygpOiB2b2lkIHtcclxuICAgIHRoaXMuJHRyaWdnZXJJbmZvLnF1ZXJ5U2VsZWN0b3JBbGwoJy50cmlnZ2VyLW5vdC1leGVjdXRlZCcpLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbi5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGlkZUNvbGxlY3RvclRyaWdnZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kdHJpZ2dlckluZm8ucXVlcnlTZWxlY3RvckFsbCgnLnRyaWdnZXItbm8tb3V0cHV0JykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICBuLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93Q29sbGVjdG9yVHJpZ2dlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLiR0cmlnZ2VySW5mby5xdWVyeVNlbGVjdG9yQWxsKCcudHJpZ2dlci1uby1vdXRwdXQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgIG4uY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhcnR5SW5mbyhlbXVsYXRvcjogUmFpZEVtdWxhdG9yLCB0aW1lc3RhbXA6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZW5jID0gZW11bGF0b3IuY3VycmVudEVuY291bnRlcjtcclxuICAgIGlmICghZW5jKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBmb3IgKGNvbnN0IGlkIGluIHRoaXMuZGlzcGxheWVkUGFydHkpXHJcbiAgICAgIHRoaXMudXBkYXRlQ29tYmF0YW50SW5mbyhlbmMsIGlkLCB0aW1lc3RhbXApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRQYXJ0eUluZm8oZW5jb3VudGVyOiBBbmFseXplZEVuY291bnRlcik6IHZvaWQge1xyXG4gICAgY29uc3QgZW5jID0gZW5jb3VudGVyLmVuY291bnRlcjtcclxuICAgIGNvbnN0IHRyYWNrZXIgPSBlbmMuY29tYmF0YW50VHJhY2tlcjtcclxuICAgIGlmICghZW5jIHx8ICF0cmFja2VyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICB0aGlzLnRvb2x0aXBzLm1hcCgodHQ6IFRvb2x0aXApID0+IHtcclxuICAgICAgdHQuZGVsZXRlKCk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRvb2x0aXBzID0gW107XHJcbiAgICB0aGlzLmN1cnJlbnRQZXJzcGVjdGl2ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGlzcGxheWVkUGFydHkgPSB7fTtcclxuICAgIHRoaXMubGF0ZXN0RGlzcGxheWVkU3RhdGUgPSAwO1xyXG4gICAgdGhpcy4kcGFydHlJbmZvLmlubmVySFRNTCA9ICcnO1xyXG4gICAgdGhpcy4kdHJpZ2dlckJhci5xdWVyeVNlbGVjdG9yQWxsKCcudHJpZ2dlckl0ZW0nKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgIG4ucmVtb3ZlKCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG1lbWJlcnNUb0Rpc3BsYXkgPSB0cmFja2VyLnBhcnR5TWVtYmVycy5zb3J0KChsLCByKSA9PiB7XHJcbiAgICAgIGNvbnN0IGEgPSBlbmMuY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tsXTtcclxuICAgICAgY29uc3QgYiA9IGVuYy5jb21iYXRhbnRUcmFja2VyPy5jb21iYXRhbnRzW3JdO1xyXG4gICAgICBpZiAoIWEgfHwgIWIpXHJcbiAgICAgICAgcmV0dXJuIDA7XHJcblxyXG4gICAgICBpZiAoIWlzSm9iT3JkZXIoYS5qb2IpIHx8ICFpc0pvYk9yZGVyKGIuam9iKSlcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgcmV0dXJuIEVtdWxhdGVkUGFydHlJbmZvLmpvYk9yZGVyLmluZGV4T2YoYS5qb2IpIC0gRW11bGF0ZWRQYXJ0eUluZm8uam9iT3JkZXIuaW5kZXhPZihiLmpvYik7XHJcbiAgICB9KS5zbGljZSgwLCA4KTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wbGF5ZXJUcmlnZ2VySW5mbycpLmZvckVhY2goKG4pID0+IHtcclxuICAgICAgbi5yZW1vdmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGZvciAoY29uc3QgW2ksIGlkXSBvZiBtZW1iZXJzVG9EaXNwbGF5LmVudHJpZXMoKSkge1xyXG4gICAgICBjb25zdCBvYmogPSB0aGlzLmdldFBhcnR5SW5mb09iamVjdEZvcihlbmNvdW50ZXIsIGlkKTtcclxuICAgICAgY29uc3QgYmFyID0gdGhpcy50cmlnZ2VyQmFyc1tpXTtcclxuICAgICAgY29uc3QgY29tYmF0YW50ID0gdHJhY2tlci5jb21iYXRhbnRzW2lkXTtcclxuICAgICAgY29uc3QgcGVyc3BlY3RpdmUgPSBlbmNvdW50ZXIucGVyc3BlY3RpdmVzW2lkXTtcclxuICAgICAgaWYgKCFiYXIgfHwgIWNvbWJhdGFudCB8fCAhcGVyc3BlY3RpdmUpXHJcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICB0aGlzLmRpc3BsYXllZFBhcnR5W2lkXSA9IG9iajtcclxuICAgICAgdGhpcy4kcGFydHlJbmZvLmFwcGVuZChvYmouJHJvb3RFbGVtKTtcclxuICAgICAgdGhpcy4kdHJpZ2dlckluZm8uYXBwZW5kKG9iai4kdHJpZ2dlckVsZW0pO1xyXG4gICAgICBiYXIuY2xhc3NMaXN0LnJlbW92ZSgndGFuaycpO1xyXG4gICAgICBiYXIuY2xhc3NMaXN0LnJlbW92ZSgnaGVhbGVyJyk7XHJcbiAgICAgIGJhci5jbGFzc0xpc3QucmVtb3ZlKCdkcHMnKTtcclxuICAgICAgaWYgKGNvbWJhdGFudC5qb2IpIHtcclxuICAgICAgICBiYXIuY2xhc3NMaXN0LmFkZChcclxuICAgICAgICAgIFV0aWwuam9iVG9Sb2xlKGNvbWJhdGFudC5qb2IpLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiBwZXJzcGVjdGl2ZS50cmlnZ2Vycykge1xyXG4gICAgICAgIGlmICghdHJpZ2dlci5zdGF0dXMuZXhlY3V0ZWQgfHwgdHJpZ2dlci5yZXNvbHZlZE9mZnNldCA+IGVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24pXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuXHJcbiAgICAgICAgY29uc3QgJGUgPSBjbG9uZVNhZmUodGhpcy4kdHJpZ2dlckl0ZW1UZW1wbGF0ZSk7XHJcbiAgICAgICAgJGUuc3R5bGUubGVmdCA9ICgodHJpZ2dlci5yZXNvbHZlZE9mZnNldCAvIGVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24pICogMTAwKS50b1N0cmluZygpICtcclxuICAgICAgICAgICclJztcclxuICAgICAgICBjb25zdCB0cmlnZ2VySWQgPSB0cmlnZ2VyLnRyaWdnZXJIZWxwZXIudHJpZ2dlci5pZCA/PyAnVW5rbm93biBUcmlnZ2VyJztcclxuICAgICAgICB0aGlzLnRvb2x0aXBzLnB1c2gobmV3IFRvb2x0aXAoJGUsICdib3R0b20nLCB0cmlnZ2VySWQpKTtcclxuICAgICAgICBiYXIuYXBwZW5kKCRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlVHJpZ2dlclN0YXRlKCk7XHJcblxyXG4gICAgY29uc3QgdG9EaXNwbGF5ID0gbWVtYmVyc1RvRGlzcGxheVswXTtcclxuICAgIGlmICghdG9EaXNwbGF5KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RQZXJzcGVjdGl2ZSh0b0Rpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UGVyc3BlY3RpdmUoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKGlkID09PSB0aGlzLmN1cnJlbnRQZXJzcGVjdGl2ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGlmICghdGhpcy5lbXVsYXRvci5jdXJyZW50RW5jb3VudGVyPy5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tpZF0/LmpvYilcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLmRpc3BsYXllZFBhcnR5W2lkXTtcclxuXHJcbiAgICBpZiAoIWRpc3BsYXkpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRQZXJzcGVjdGl2ZSA9IGlkO1xyXG4gICAgdGhpcy4kdHJpZ2dlckluZm8ucXVlcnlTZWxlY3RvckFsbCgnLnBsYXllclRyaWdnZXJJbmZvJykuZm9yRWFjaCgocikgPT5cclxuICAgICAgci5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKVxyXG4gICAgKTtcclxuICAgIGRpc3BsYXkuJHRyaWdnZXJFbGVtLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgdGhpcy4kcGFydHlJbmZvLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wbGF5ZXJJbmZvUm93JykuZm9yRWFjaCgocikgPT4ge1xyXG4gICAgICByLmNsYXNzTGlzdC5yZW1vdmUoJ2JvcmRlcicpO1xyXG4gICAgICByLmNsYXNzTGlzdC5yZW1vdmUoJ2JvcmRlci1zdWNjZXNzJyk7XHJcbiAgICB9KTtcclxuICAgIGRpc3BsYXkuJHJvb3RFbGVtLmNsYXNzTGlzdC5hZGQoJ2JvcmRlcicpO1xyXG4gICAgZGlzcGxheS4kcm9vdEVsZW0uY2xhc3NMaXN0LmFkZCgnYm9yZGVyLXN1Y2Nlc3MnKTtcclxuICAgIHZvaWQgdGhpcy5kaXNwYXRjaCgnc2VsZWN0UGVyc3BlY3RpdmUnLCBpZCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb21iYXRhbnRJbmZvKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIsIGlkOiBzdHJpbmcsIHN0YXRlSUQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKCFzdGF0ZUlEIHx8IHN0YXRlSUQgPD0gdGhpcy5sYXRlc3REaXNwbGF5ZWRTdGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGNvbWJhdGFudCA9IGVuY291bnRlci5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tpZF07XHJcbiAgICBpZiAoIWNvbWJhdGFudClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG5cclxuICAgIGNvbnN0IFN0YXRlID0gY29tYmF0YW50LmdldFN0YXRlKHN0YXRlSUQpO1xyXG4gICAgaWYgKFN0YXRlID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuXHJcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5kaXNwbGF5ZWRQYXJ0eVtpZF07XHJcblxyXG4gICAgaWYgKCFkaXNwbGF5KVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgaHBQcm9nID0gKFN0YXRlLmhwIC8gU3RhdGUubWF4SHApICogMTAwO1xyXG4gICAgbGV0IGhwTGFiZWwgPSBgJHtTdGF0ZS5ocH0vJHtTdGF0ZS5tYXhIcH1gO1xyXG4gICAgaHBMYWJlbCA9IEVtdWxhdG9yQ29tbW9uLnNwYWNlUGFkTGVmdChocExhYmVsLCAoU3RhdGUubWF4SHAudG9TdHJpbmcoKS5sZW5ndGggKiAyKSArIDEpO1xyXG4gICAgZGlzcGxheS4kaHBQcm9nRWxlbS5zdHlsZS53aWR0aCA9IGAke2hwUHJvZ30lYDtcclxuICAgIGRpc3BsYXkuJGhwTGFiZWxFbGVtLnRleHRDb250ZW50ID0gaHBMYWJlbDtcclxuXHJcbiAgICBjb25zdCBtcFByb2cgPSAoU3RhdGUubXAgLyBTdGF0ZS5tYXhNcCkgKiAxMDA7XHJcbiAgICBsZXQgbXBMYWJlbCA9IGAke1N0YXRlLm1wfS8ke1N0YXRlLm1heE1wfWA7XHJcbiAgICBtcExhYmVsID0gRW11bGF0b3JDb21tb24uc3BhY2VQYWRMZWZ0KG1wTGFiZWwsIChTdGF0ZS5tYXhNcC50b1N0cmluZygpLmxlbmd0aCAqIDIpICsgMSk7XHJcbiAgICBkaXNwbGF5LiRtcFByb2dFbGVtLnN0eWxlLndpZHRoID0gYCR7bXBQcm9nfSVgO1xyXG4gICAgZGlzcGxheS4kbXBMYWJlbEVsZW0udGV4dENvbnRlbnQgPSBtcExhYmVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFydHlJbmZvT2JqZWN0Rm9yKGVuY291bnRlcjogQW5hbHl6ZWRFbmNvdW50ZXIsIGlkOiBzdHJpbmcpOiBQYXJ0eUluZm8ge1xyXG4gICAgY29uc3QgJGUgPSBjbG9uZVNhZmUodGhpcy4kcGxheWVySW5mb1Jvd1RlbXBsYXRlKTtcclxuICAgIGNvbnN0ICRocCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKCRlLCAnLmhwJyk7XHJcbiAgICBjb25zdCAkbXAgPSBxdWVyeVNlbGVjdG9yU2FmZSgkZSwgJy5tcCcpO1xyXG4gICAgY29uc3QgJG5hbWUgPSBxdWVyeVNlbGVjdG9yU2FmZSgkZSwgJy5wbGF5ZXJOYW1lJyk7XHJcbiAgICBjb25zdCByZXQgPSB7XHJcbiAgICAgICRyb290RWxlbTogJGUsXHJcbiAgICAgICRpY29uRWxlbTogcXVlcnlTZWxlY3RvclNhZmUoJGUsICcuam9iaWNvbicpLFxyXG4gICAgICAkaHBFbGVtOiAkaHAsXHJcbiAgICAgICRocExhYmVsRWxlbTogcXVlcnlTZWxlY3RvclNhZmUoJGhwLCAnLmxhYmVsJyksXHJcbiAgICAgICRocFByb2dFbGVtOiBxdWVyeVNlbGVjdG9yU2FmZSgkaHAsICcucHJvZ3Jlc3MtYmFyJyksXHJcbiAgICAgICRtcEVsZW06ICRtcCxcclxuICAgICAgJG1wTGFiZWxFbGVtOiBxdWVyeVNlbGVjdG9yU2FmZSgkbXAsICcubGFiZWwnKSxcclxuICAgICAgJG1wUHJvZ0VsZW06IHF1ZXJ5U2VsZWN0b3JTYWZlKCRtcCwgJy5wcm9ncmVzcy1iYXInKSxcclxuICAgICAgJG5hbWVFbGVtOiAkbmFtZSxcclxuICAgICAgaWQ6IGlkLFxyXG4gICAgICAkdHJpZ2dlckVsZW06IHRoaXMuZ2V0VHJpZ2dlckluZm9PYmplY3RGb3IoZW5jb3VudGVyLCBpZCksXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGNvbWJhdGFudCA9IGVuY291bnRlci5lbmNvdW50ZXIuY29tYmF0YW50VHJhY2tlcj8uY29tYmF0YW50c1tpZF07XHJcbiAgICBpZiAoIWNvbWJhdGFudClcclxuICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgcmV0LiRyb290RWxlbS5jbGFzc0xpc3QuYWRkKChjb21iYXRhbnQuam9iIHx8ICcnKS50b1VwcGVyQ2FzZSgpKTtcclxuICAgIHRoaXMudG9vbHRpcHMucHVzaChuZXcgVG9vbHRpcChyZXQuJHJvb3RFbGVtLCAnbGVmdCcsIGNvbWJhdGFudC5uYW1lKSk7XHJcbiAgICAkbmFtZS5pbm5lckhUTUwgPSBjb21iYXRhbnQubmFtZTtcclxuICAgIHJldC4kcm9vdEVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0UGVyc3BlY3RpdmUoaWQpO1xyXG4gICAgfSk7XHJcbiAgICByZXQuJHRyaWdnZXJFbGVtLnNldEF0dHJpYnV0ZSgnZGF0YS1pZCcsIGlkKTtcclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRUcmlnZ2VySW5mb09iamVjdEZvcihlbmNvdW50ZXI6IEFuYWx5emVkRW5jb3VudGVyLCBpZDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgY29uc3QgJHJldCA9IGNsb25lU2FmZSh0aGlzLiRwbGF5ZXJUcmlnZ2VySW5mb1RlbXBsYXRlKTtcclxuICAgIGNvbnN0ICRjb250YWluZXIgPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLmQtZmxleC5mbGV4LWNvbHVtbicpO1xyXG5cclxuICAgIGNvbnN0IHBlciA9IGVuY291bnRlci5wZXJzcGVjdGl2ZXNbaWRdO1xyXG5cclxuICAgIGlmICghcGVyKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgY29uc3QgJGluaXREYXRhVmlld2VyID0gY2xvbmVTYWZlKHRoaXMuJGpzb25WaWV3ZXJUZW1wbGF0ZSk7XHJcbiAgICAkaW5pdERhdGFWaWV3ZXIudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShwZXIuaW5pdGlhbERhdGEsIG51bGwsIDIpO1xyXG5cclxuICAgICRjb250YWluZXIuYXBwZW5kKHRoaXMuX3dyYXBDb2xsYXBzZSh7XHJcbiAgICAgIHRpbWU6ICcwMDowMCcsXHJcbiAgICAgIG5hbWU6ICdJbml0aWFsIERhdGEnLFxyXG4gICAgICBjbGFzc2VzOiBbJ2RhdGEnXSxcclxuICAgICAgJG9iajogJGluaXREYXRhVmlld2VyLFxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0ICR0cmlnZ2VyQ29udGFpbmVyID0gcXVlcnlTZWxlY3RvclNhZmUoJGNvbnRhaW5lciwgJy5kLWZsZXguZmxleC1jb2x1bW4nKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHRyaWdnZXIgb2YgcGVyLnRyaWdnZXJzLnNvcnQoKGwsIHIpID0+IGwucmVzb2x2ZWRPZmZzZXQgLSByLnJlc29sdmVkT2Zmc2V0KSkge1xyXG4gICAgICBjb25zdCAkdHJpZ2dlckRhdGFWaWV3ZXIgPSBjbG9uZVNhZmUodGhpcy4kanNvblZpZXdlclRlbXBsYXRlKTtcclxuICAgICAgJHRyaWdnZXJEYXRhVmlld2VyLnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkodHJpZ2dlciwgbnVsbCwgMik7XHJcbiAgICAgIGNvbnN0IHRyaWdnZXJUZXh0ID0gdHJpZ2dlci5zdGF0dXMucmVzcG9uc2VMYWJlbDtcclxuICAgICAgY29uc3QgdHlwZSA9IHRyaWdnZXIuc3RhdHVzLnJlc3BvbnNlVHlwZTtcclxuICAgICAgY29uc3QgJHRyaWdnZXIgPSB0aGlzLl93cmFwQ29sbGFwc2Uoe1xyXG4gICAgICAgIHRpbWU6IHRoaXMuZ2V0VHJpZ2dlclJlc29sdmVkTGFiZWxUaW1lKHRyaWdnZXIpLFxyXG4gICAgICAgIG5hbWU6IHRyaWdnZXIudHJpZ2dlckhlbHBlci50cmlnZ2VyLmlkLFxyXG4gICAgICAgIGljb246IHRoaXMuZ2V0VHJpZ2dlckxhYmVsSWNvbih0cmlnZ2VyKSxcclxuICAgICAgICB0ZXh0OiB0cmlnZ2VyVGV4dCxcclxuICAgICAgICBjbGFzc2VzOiB0eXBlID8gW3R5cGVdIDogW10sXHJcbiAgICAgICAgJG9iajogJHRyaWdnZXJEYXRhVmlld2VyLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRyaWdnZXIuc3RhdHVzLmV4ZWN1dGVkKVxyXG4gICAgICAgICR0cmlnZ2VyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItZXhlY3V0ZWQnKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgICR0cmlnZ2VyLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXItbm90LWV4ZWN1dGVkJyk7XHJcblxyXG4gICAgICBpZiAodHJpZ2dlclRleHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgICAkdHJpZ2dlci5jbGFzc0xpc3QuYWRkKCd0cmlnZ2VyLW5vLW91dHB1dCcpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgJHRyaWdnZXIuY2xhc3NMaXN0LmFkZCgndHJpZ2dlci1vdXRwdXQnKTtcclxuXHJcbiAgICAgICR0cmlnZ2VyQ29udGFpbmVyLmFwcGVuZCgkdHJpZ2dlcik7XHJcbiAgICB9XHJcblxyXG4gICAgJGNvbnRhaW5lci5hcHBlbmQoJHRyaWdnZXJDb250YWluZXIpO1xyXG5cclxuICAgIGNvbnN0ICRmaW5hbERhdGFWaWV3ZXIgPSBjbG9uZVNhZmUodGhpcy4kanNvblZpZXdlclRlbXBsYXRlKTtcclxuXHJcbiAgICAkZmluYWxEYXRhVmlld2VyLnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkocGVyLmZpbmFsRGF0YSwgbnVsbCwgMik7XHJcblxyXG4gICAgJGNvbnRhaW5lci5hcHBlbmQodGhpcy5fd3JhcENvbGxhcHNlKHtcclxuICAgICAgdGltZTogRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKFxyXG4gICAgICAgIGVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24gLSBlbmNvdW50ZXIuZW5jb3VudGVyLmluaXRpYWxPZmZzZXQsXHJcbiAgICAgICAgZmFsc2UsXHJcbiAgICAgICksXHJcbiAgICAgIG5hbWU6ICdGaW5hbCBEYXRhJyxcclxuICAgICAgY2xhc3NlczogWydkYXRhJ10sXHJcbiAgICAgICRvYmo6ICRmaW5hbERhdGFWaWV3ZXIsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgcmV0dXJuICRyZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRUcmlnZ2VyTGFiZWxJY29uKHRyaWdnZXI6IFBlcnNwZWN0aXZlVHJpZ2dlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCB0eXBlID0gdHJpZ2dlci5zdGF0dXMucmVzcG9uc2VUeXBlO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdpbmZvJzpcclxuICAgICAgICByZXR1cm4gJ2luZm8nO1xyXG4gICAgICBjYXNlICdhbGVydCc6XHJcbiAgICAgICAgcmV0dXJuICdiZWxsJztcclxuICAgICAgY2FzZSAnYWxhcm0nOlxyXG4gICAgICAgIHJldHVybiAnZXhjbGFtYXRpb24nO1xyXG4gICAgICBjYXNlICd0dHMnOlxyXG4gICAgICAgIHJldHVybiAnYnVsbGhvcm4nO1xyXG4gICAgICBjYXNlICdhdWRpb2ZpbGUnOlxyXG4gICAgICAgIHJldHVybiAndm9sdW1lLXVwJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHJpZ2dlckZpcmVkTGFiZWxUaW1lKHRyaWdnZXI6IFBlcnNwZWN0aXZlVHJpZ2dlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gRW11bGF0b3JDb21tb24udGltZVRvU3RyaW5nKFxyXG4gICAgICB0cmlnZ2VyLmxvZ0xpbmUub2Zmc2V0IC0gKHRoaXMuZW11bGF0b3IuY3VycmVudEVuY291bnRlcj8uZW5jb3VudGVyLmluaXRpYWxPZmZzZXQgPz8gMCksXHJcbiAgICAgIGZhbHNlLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRyaWdnZXJSZXNvbHZlZExhYmVsVGltZSh0cmlnZ2VyOiBQZXJzcGVjdGl2ZVRyaWdnZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhcclxuICAgICAgdHJpZ2dlci5yZXNvbHZlZE9mZnNldCAtICh0aGlzLmVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXI/LmVuY291bnRlci5pbml0aWFsT2Zmc2V0ID8/IDApLFxyXG4gICAgICBmYWxzZSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBfd3JhcENvbGxhcHNlKHBhcmFtczogQ29sbGFwc2VQYXJhbXMpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBjb25zdCAkcmV0ID0gY2xvbmVTYWZlKHRoaXMuJHdyYXBDb2xsYXBzZVRlbXBsYXRlKTtcclxuICAgIGNvbnN0ICRidXR0b24gPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLmJ0bicpO1xyXG4gICAgY29uc3QgJHRpbWUgPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLnRyaWdnZXItbGFiZWwtdGltZScpO1xyXG4gICAgY29uc3QgJG5hbWUgPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLnRyaWdnZXItbGFiZWwtbmFtZScpO1xyXG4gICAgY29uc3QgJGljb24gPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLnRyaWdnZXItbGFiZWwtaWNvbicpO1xyXG4gICAgY29uc3QgJHRleHQgPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLnRyaWdnZXItbGFiZWwtdGV4dCcpO1xyXG5cclxuICAgIGlmIChwYXJhbXMubmFtZSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAkbmFtZS5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCgkbmFtZSk7XHJcbiAgICBlbHNlXHJcbiAgICAgICRuYW1lLnRleHRDb250ZW50ID0gcGFyYW1zLm5hbWU7XHJcblxyXG4gICAgaWYgKHBhcmFtcy50aW1lID09PSB1bmRlZmluZWQpXHJcbiAgICAgICR0aW1lLnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKCR0aW1lKTtcclxuICAgIGVsc2VcclxuICAgICAgJHRpbWUudGV4dENvbnRlbnQgPSBwYXJhbXMudGltZTtcclxuXHJcbiAgICBpZiAocGFyYW1zLnRleHQgPT09IHVuZGVmaW5lZClcclxuICAgICAgJHRleHQucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoJHRleHQpO1xyXG4gICAgZWxzZVxyXG4gICAgICAkdGV4dC50ZXh0Q29udGVudCA9IHBhcmFtcy50ZXh0O1xyXG5cclxuICAgIGlmIChwYXJhbXMuaWNvbiA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICAkaWNvbi5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZCgkaWNvbik7XHJcbiAgICBlbHNlXHJcbiAgICAgICRpY29uLmlubmVySFRNTCA9IGA8aSBjbGFzcz1cImZhIGZhLSR7cGFyYW1zLmljb259XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPmA7XHJcblxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1zLmNsYXNzZXMpKVxyXG4gICAgICBwYXJhbXMuY2xhc3Nlcy5mb3JFYWNoKChjKSA9PiAkYnV0dG9uLmNsYXNzTGlzdC5hZGQoJ3RyaWdnZXJ0eXBlLScgKyBjKSk7XHJcblxyXG4gICAgY29uc3QgJHdyYXBwZXIgPSBxdWVyeVNlbGVjdG9yU2FmZSgkcmV0LCAnLndyYXAtY29sbGFwc2Utd3JhcHBlcicpO1xyXG4gICAgJGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgaWYgKCR3cmFwcGVyLmNsYXNzTGlzdC5jb250YWlucygnZC1ub25lJykpXHJcbiAgICAgICAgJHdyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICAkd3JhcHBlci5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTtcclxuICAgICAgdHlwZW9mIChwYXJhbXMub25jbGljaykgPT09ICdmdW5jdGlvbicgJiYgcGFyYW1zLm9uY2xpY2soKTtcclxuICAgIH0pO1xyXG4gICAgJHdyYXBwZXIuYXBwZW5kKHBhcmFtcy4kb2JqKTtcclxuICAgIHJldHVybiAkcmV0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGpvYk9yZGVyID0gam9iT3JkZXI7XHJcbn1cclxuIiwiaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IFBlcnNpc3RvciBmcm9tICcuLi9kYXRhL1BlcnNpc3Rvcic7XHJcbmltcG9ydCBQZXJzaXN0b3JFbmNvdW50ZXIgZnJvbSAnLi4vZGF0YS9QZXJzaXN0b3JFbmNvdW50ZXInO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHtcclxuICBnZXRUZW1wbGF0ZUNoaWxkLFxyXG4gIHF1ZXJ5U2VsZWN0b3JBbGxTYWZlLFxyXG4gIHF1ZXJ5U2VsZWN0b3JTYWZlLFxyXG59IGZyb20gJy4uL0VtdWxhdG9yQ29tbW9uJztcclxuaW1wb3J0IEV2ZW50QnVzIGZyb20gJy4uL0V2ZW50QnVzJztcclxuXHJcbnR5cGUgRGF0ZU1hcCA9IHtcclxuICBzdGFydDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBkdXJhdGlvbjogc3RyaW5nO1xyXG4gIGVuY291bnRlcjogUGVyc2lzdG9yRW5jb3VudGVyO1xyXG59O1xyXG5cclxudHlwZSBab25lTWFwID0ge1xyXG4gIFtkYXRlOiBzdHJpbmddOiBEYXRlTWFwW107XHJcbn07XHJcblxyXG50eXBlIEVuY291bnRlck1hcCA9IHtcclxuICBbem9uZTogc3RyaW5nXTogWm9uZU1hcDtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVuY291bnRlclRhYiBleHRlbmRzIEV2ZW50QnVzIHtcclxuICAkem9uZUNvbHVtbjogSFRNTEVsZW1lbnQ7XHJcbiAgJGRhdGVDb2x1bW46IEhUTUxFbGVtZW50O1xyXG4gICRlbmNvdW50ZXJDb2x1bW46IEhUTUxFbGVtZW50O1xyXG4gICRpbmZvQ29sdW1uOiBIVE1MRWxlbWVudDtcclxuICAkZW5jb3VudGVyVGFiUm93VGVtcGxhdGU6IEhUTUxFbGVtZW50O1xyXG4gICRlbmNvdW50ZXJUYWJFbmNvdW50ZXJSb3dUZW1wbGF0ZTogSFRNTEVsZW1lbnQ7XHJcbiAgJGVuY291bnRlckluZm9UZW1wbGF0ZTogSFRNTEVsZW1lbnQ7XHJcbiAgZW5jb3VudGVyczogRW5jb3VudGVyTWFwID0ge307XHJcbiAgY3VycmVudFpvbmU/OiBzdHJpbmc7XHJcbiAgY3VycmVudERhdGU/OiBzdHJpbmc7XHJcbiAgY3VycmVudEVuY291bnRlcj86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcnNpc3RvcjogUGVyc2lzdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIHRoaXMuJHpvbmVDb2x1bW4gPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJyNlbmNvdW50ZXJzVGFiIC56b25lTGlzdCcpO1xyXG4gICAgdGhpcy4kZGF0ZUNvbHVtbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnI2VuY291bnRlcnNUYWIgLmRhdGVMaXN0Jyk7XHJcbiAgICB0aGlzLiRlbmNvdW50ZXJDb2x1bW4gPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJyNlbmNvdW50ZXJzVGFiIC5lbmNvdW50ZXJMaXN0Jyk7XHJcbiAgICB0aGlzLiRpbmZvQ29sdW1uID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcjZW5jb3VudGVyc1RhYiAuZW5jb3VudGVySW5mbycpO1xyXG5cclxuICAgIHRoaXMuJGVuY291bnRlclRhYlJvd1RlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLmVuY291bnRlclRhYlJvdycpO1xyXG4gICAgdGhpcy4kZW5jb3VudGVyVGFiRW5jb3VudGVyUm93VGVtcGxhdGUgPSBnZXRUZW1wbGF0ZUNoaWxkKFxyXG4gICAgICBkb2N1bWVudCxcclxuICAgICAgJ3RlbXBsYXRlLmVuY291bnRlclRhYkVuY291bnRlclJvdycsXHJcbiAgICApO1xyXG4gICAgdGhpcy4kZW5jb3VudGVySW5mb1RlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgJ3RlbXBsYXRlLmVuY291bnRlckluZm8nKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogdm9pZCB7XHJcbiAgICB0aGlzLmVuY291bnRlcnMgPSB7fTtcclxuICAgIHZvaWQgdGhpcy5wZXJzaXN0b3IuZW5jb3VudGVyU3VtbWFyaWVzLnRvQXJyYXkoKS50aGVuKChlbmNvdW50ZXJzOiBQZXJzaXN0b3JFbmNvdW50ZXJbXSkgPT4ge1xyXG4gICAgICBmb3IgKGNvbnN0IGVuYyBvZiBlbmNvdW50ZXJzKSB7XHJcbiAgICAgICAgY29uc3Qgem9uZSA9IGVuYy56b25lTmFtZTtcclxuICAgICAgICAvLyA/PyBvcGVyYXRvciBoZXJlIHRvIGFjY291bnQgZm9yIG9sZCBlbmNvdW50ZXJzIHRoYXQgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVydHlcclxuICAgICAgICBjb25zdCBlbmNEYXRlID0gRW11bGF0b3JDb21tb24udGltZVRvRGF0ZVN0cmluZyhlbmMuc3RhcnQsIGVuYy50ek9mZnNldE1pbGxpcyA/PyAwKTtcclxuICAgICAgICBjb25zdCBlbmNUaW1lID0gRW11bGF0b3JDb21tb24udGltZVRvVGltZVN0cmluZyhlbmMuc3RhcnQsIGVuYy50ek9mZnNldE1pbGxpcyA/PyAwKTtcclxuICAgICAgICBjb25zdCBlbmNEdXJhdGlvbiA9IEVtdWxhdG9yQ29tbW9uLm1zVG9EdXJhdGlvbihlbmMuZHVyYXRpb24pO1xyXG4gICAgICAgIGNvbnN0IHpvbmVPYmogPSB0aGlzLmVuY291bnRlcnNbem9uZV0gPSB0aGlzLmVuY291bnRlcnNbem9uZV0gfHwge307XHJcbiAgICAgICAgY29uc3QgZGF0ZU9iaiA9IHpvbmVPYmpbZW5jRGF0ZV0gPSB6b25lT2JqW2VuY0RhdGVdIHx8IFtdO1xyXG4gICAgICAgIGRhdGVPYmoucHVzaCh7XHJcbiAgICAgICAgICBzdGFydDogZW5jVGltZSxcclxuICAgICAgICAgIG5hbWU6IGVuYy5uYW1lLFxyXG4gICAgICAgICAgZHVyYXRpb246IGVuY0R1cmF0aW9uLFxyXG4gICAgICAgICAgZW5jb3VudGVyOiBlbmMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucmVmcmVzaFVJKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hVSSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVmcmVzaFpvbmVzKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hEYXRlcygpO1xyXG4gICAgdGhpcy5yZWZyZXNoRW5jb3VudGVycygpO1xyXG4gICAgdGhpcy5yZWZyZXNoSW5mbygpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFpvbmVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy4kem9uZUNvbHVtbi5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICBsZXQgY2xlYXIgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHpvbmVzID0gbmV3IFNldChPYmplY3Qua2V5cyh0aGlzLmVuY291bnRlcnMpKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHpvbmUgb2YgWy4uLnpvbmVzXS5zb3J0KCkpIHtcclxuICAgICAgY29uc3QgJHJvdyA9IHRoaXMuJGVuY291bnRlclRhYlJvd1RlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgaWYgKCEoJHJvdyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICRyb3cuaW5uZXJUZXh0ID0gem9uZTtcclxuICAgICAgaWYgKHpvbmUgPT09IHRoaXMuY3VycmVudFpvbmUpIHtcclxuICAgICAgICBjbGVhciA9IGZhbHNlO1xyXG4gICAgICAgICRyb3cuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgfVxyXG4gICAgICAkcm93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdCA9IGV2LmN1cnJlbnRUYXJnZXQ7XHJcbiAgICAgICAgaWYgKCEodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKCFwYXJlbnQpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgcXVlcnlTZWxlY3RvckFsbFNhZmUocGFyZW50LCAnLnNlbGVjdG9yUm93LnNlbGVjdGVkJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICAgICAgbi5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRab25lID0gdC50ZXh0Q29udGVudCA/PyB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoVUkoKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuJHpvbmVDb2x1bW4uYXBwZW5kKCRyb3cpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjbGVhcilcclxuICAgICAgdGhpcy5jdXJyZW50Wm9uZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuJGRhdGVDb2x1bW4uaW5uZXJIVE1MID0gJyc7XHJcblxyXG4gICAgbGV0IGNsZWFyID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5jdXJyZW50Wm9uZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnN0IHpvbmVNYXAgPSB0aGlzLmVuY291bnRlcnNbdGhpcy5jdXJyZW50Wm9uZV07XHJcbiAgICAgIGlmICghem9uZU1hcClcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGRhdGVzID0gbmV3IFNldDxzdHJpbmc+KE9iamVjdC5rZXlzKHpvbmVNYXApKTtcclxuICAgICAgZm9yIChjb25zdCBkYXRlIG9mIFsuLi5kYXRlc10uc29ydCgpKSB7XHJcbiAgICAgICAgY29uc3QgJHJvdyA9IHRoaXMuJGVuY291bnRlclRhYlJvd1RlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgICBpZiAoISgkcm93IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICRyb3cuaW5uZXJUZXh0ID0gZGF0ZTtcclxuICAgICAgICBpZiAoZGF0ZSA9PT0gdGhpcy5jdXJyZW50RGF0ZSkge1xyXG4gICAgICAgICAgY2xlYXIgPSBmYWxzZTtcclxuICAgICAgICAgICRyb3cuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJHJvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdCA9IGV2LmN1cnJlbnRUYXJnZXQ7XHJcbiAgICAgICAgICBpZiAoISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgICAgICBpZiAoIXBhcmVudClcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgICAgcXVlcnlTZWxlY3RvckFsbFNhZmUocGFyZW50LCAnLnNlbGVjdG9yUm93LnNlbGVjdGVkJykuZm9yRWFjaCgobikgPT4ge1xyXG4gICAgICAgICAgICBuLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSB0LnRleHRDb250ZW50ID8/IHVuZGVmaW5lZDtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFVJKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy4kZGF0ZUNvbHVtbi5hcHBlbmQoJHJvdyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2xlYXIpXHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoRW5jb3VudGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuJGVuY291bnRlckNvbHVtbi5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICBsZXQgY2xlYXIgPSB0cnVlO1xyXG5cclxuICAgIGlmICghdGhpcy5jdXJyZW50Wm9uZSB8fCAhdGhpcy5jdXJyZW50RGF0ZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHpvbmVNYXAgPSB0aGlzLmVuY291bnRlcnNbdGhpcy5jdXJyZW50Wm9uZV07XHJcbiAgICBpZiAoIXpvbmVNYXApXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBkYXRlTWFwID0gem9uZU1hcFt0aGlzLmN1cnJlbnREYXRlXTtcclxuICAgIGlmICghZGF0ZU1hcClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHNvcnRlZEVuY291bnRlcnMgPSBkYXRlTWFwLnNvcnQoKGwsIHIpID0+IHtcclxuICAgICAgcmV0dXJuIGwuc3RhcnQubG9jYWxlQ29tcGFyZShyLnN0YXJ0KTtcclxuICAgIH0pO1xyXG4gICAgZm9yIChjb25zdCBbaSwgZW5jXSBvZiBzb3J0ZWRFbmNvdW50ZXJzLmVudHJpZXMoKSkge1xyXG4gICAgICBjb25zdCAkcm93ID0gdGhpcy4kZW5jb3VudGVyVGFiRW5jb3VudGVyUm93VGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICBpZiAoISgkcm93IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgJHJvdy5zZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnLCBpLnRvU3RyaW5nKCkpO1xyXG4gICAgICBpZiAoaSA9PT0gdGhpcy5jdXJyZW50RW5jb3VudGVyKSB7XHJcbiAgICAgICAgY2xlYXIgPSBmYWxzZTtcclxuICAgICAgICAkcm93LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XHJcbiAgICAgIH1cclxuICAgICAgcXVlcnlTZWxlY3RvclNhZmUoJHJvdywgJy5lbmNvdW50ZXJTdGFydCcpLmlubmVyVGV4dCA9ICdbJyArIGVuYy5zdGFydCArICddJztcclxuICAgICAgcXVlcnlTZWxlY3RvclNhZmUoJHJvdywgJy5lbmNvdW50ZXJOYW1lJykuaW5uZXJUZXh0ID0gZW5jLm5hbWU7XHJcbiAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRyb3csICcuZW5jb3VudGVyRHVyYXRpb24nKS5pbm5lclRleHQgPSAnKCcgKyBlbmMuZHVyYXRpb24gKyAnKSc7XHJcbiAgICAgICRyb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXYpID0+IHtcclxuICAgICAgICBjb25zdCB0ID0gZXYuY3VycmVudFRhcmdldDtcclxuICAgICAgICBpZiAoISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ29kZSgpO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHQucGFyZW50RWxlbWVudDtcclxuICAgICAgICBpZiAoIXBhcmVudClcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZShwYXJlbnQsICcuc2VsZWN0b3JSb3cuc2VsZWN0ZWQnKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICAgICAgICBuLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnKTtcclxuICAgICAgICBpZiAoaW5kZXgpXHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRFbmNvdW50ZXIgPSBwYXJzZUludChpbmRleCk7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoVUkoKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuJGVuY291bnRlckNvbHVtbi5hcHBlbmQoJHJvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNsZWFyKVxyXG4gICAgICB0aGlzLmN1cnJlbnRFbmNvdW50ZXIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoSW5mbygpOiB2b2lkIHtcclxuICAgIHRoaXMuJGluZm9Db2x1bW4uaW5uZXJIVE1MID0gJyc7XHJcblxyXG4gICAgY29uc3Qgem9uZU1hcCA9IHRoaXMuY3VycmVudFpvbmUgPyB0aGlzLmVuY291bnRlcnNbdGhpcy5jdXJyZW50Wm9uZV0gOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKCF6b25lTWFwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZGF0ZU1hcCA9IHRoaXMuY3VycmVudERhdGUgPyB6b25lTWFwW3RoaXMuY3VycmVudERhdGVdIDogdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmICghZGF0ZU1hcClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGVuY01hcCA9IHRoaXMuY3VycmVudEVuY291bnRlciAhPT0gdW5kZWZpbmVkID8gZGF0ZU1hcFt0aGlzLmN1cnJlbnRFbmNvdW50ZXJdIDogdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmICghZW5jTWFwKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZW5jID0gZW5jTWFwLmVuY291bnRlcjtcclxuXHJcbiAgICBsZXQgcHVsbEF0ID0gJ04vQSc7XHJcbiAgICBpZiAoIWlzTmFOKGVuYy5vZmZzZXQpKVxyXG4gICAgICBwdWxsQXQgPSBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcoZW5jLm9mZnNldCwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0ICRpbmZvID0gdGhpcy4kZW5jb3VudGVySW5mb1RlbXBsYXRlLmNsb25lTm9kZSh0cnVlKTtcclxuICAgIGlmICghKCRpbmZvIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcblxyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyTG9hZCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ2xvYWQnLCBlbmMuaWQpO1xyXG4gICAgfSk7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJQYXJzZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ3BhcnNlJywgZW5jLmlkKTtcclxuICAgIH0pO1xyXG4gICAgcXVlcnlTZWxlY3RvclNhZmUoJGluZm8sICcuZW5jb3VudGVyUHJ1bmUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgdm9pZCB0aGlzLmRpc3BhdGNoKCdwcnVuZScsIGVuYy5pZCk7XHJcbiAgICB9KTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlckRlbGV0ZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICB2b2lkIHRoaXMuZGlzcGF0Y2goJ2RlbGV0ZScsIGVuYy5pZCk7XHJcbiAgICB9KTtcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlclpvbmUgLmxhYmVsJykudGV4dENvbnRlbnQgPSBlbmMuem9uZU5hbWU7XHJcbiAgICAvLyA/PyBvcGVyYXRvciBoZXJlIHRvIGFjY291bnQgZm9yIG9sZCBlbmNvdW50ZXJzIHRoYXQgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVydHlcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlclN0YXJ0IC5sYWJlbCcpLnRleHRDb250ZW50ID0gRW11bGF0b3JDb21tb25cclxuICAgICAgLmRhdGVUaW1lVG9TdHJpbmcoZW5jLnN0YXJ0LCBlbmMudHpPZmZzZXRNaWxsaXMgPz8gMCk7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJEdXJhdGlvbiAubGFiZWwnKS50ZXh0Q29udGVudCA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhcclxuICAgICAgZW5jLmR1cmF0aW9uLFxyXG4gICAgICBmYWxzZSxcclxuICAgICk7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJPZmZzZXQgLmxhYmVsJykudGV4dENvbnRlbnQgPSBwdWxsQXQ7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJOYW1lIC5sYWJlbCcpLnRleHRDb250ZW50ID0gZW5jLm5hbWU7XHJcbiAgICBxdWVyeVNlbGVjdG9yU2FmZSgkaW5mbywgJy5lbmNvdW50ZXJTdGFydFN0YXR1cyAubGFiZWwnKS50ZXh0Q29udGVudCA9IGVuYy5zdGFydFN0YXR1cztcclxuICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKCRpbmZvLCAnLmVuY291bnRlckVuZFN0YXR1cyAubGFiZWwnKS50ZXh0Q29udGVudCA9IGVuYy5lbmRTdGF0dXM7XHJcblxyXG4gICAgdGhpcy4kaW5mb0NvbHVtbi5hcHBlbmQoJGluZm8pO1xyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBVbnJlYWNoYWJsZUNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvbm90X3JlYWNoZWQnO1xyXG5pbXBvcnQgQW5hbHl6ZWRFbmNvdW50ZXIgZnJvbSAnLi4vZGF0YS9BbmFseXplZEVuY291bnRlcic7XHJcbmltcG9ydCBSYWlkRW11bGF0b3IgZnJvbSAnLi4vZGF0YS9SYWlkRW11bGF0b3InO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHsgcXVlcnlTZWxlY3RvclNhZmUgfSBmcm9tICcuLi9FbXVsYXRvckNvbW1vbic7XHJcblxyXG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuL1Rvb2x0aXAnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvZ3Jlc3NCYXIge1xyXG4gICRwcm9ncmVzc0JhclRvb2x0aXA6IFRvb2x0aXA7XHJcbiAgJHByb2dyZXNzQmFyQ3VycmVudDogSFRNTEVsZW1lbnQ7XHJcbiAgJHByb2dyZXNzQmFyRHVyYXRpb246IEhUTUxFbGVtZW50O1xyXG4gICRwcm9ncmVzczogSFRNTEVsZW1lbnQ7XHJcbiAgJHByb2dyZXNzQmFyOiBIVE1MRWxlbWVudDtcclxuICAkZW5nYWdlSW5kaWNhdG9yOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoZW11bGF0b3I6IFJhaWRFbXVsYXRvcikge1xyXG4gICAgY29uc3QgcHJvZ0JhckNvbnRhaW5lciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmVuY291bnRlclByb2dyZXNzQmFyJyk7XHJcbiAgICB0aGlzLiRwcm9ncmVzc0JhclRvb2x0aXAgPSBuZXcgVG9vbHRpcChwcm9nQmFyQ29udGFpbmVyLCAnYm90dG9tJywgJycsIGZhbHNlKTtcclxuXHJcbiAgICB0aGlzLiRwcm9ncmVzc0JhckN1cnJlbnQgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5jdXJyZW50LXRpbWVzdGFtcCcpO1xyXG4gICAgdGhpcy4kcHJvZ3Jlc3NCYXJEdXJhdGlvbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmR1cmF0aW9uLXRpbWVzdGFtcCcpO1xyXG4gICAgdGhpcy4kcHJvZ3Jlc3MgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5lbmNvdW50ZXJQcm9ncmVzc0JhcicpO1xyXG4gICAgdGhpcy4kcHJvZ3Jlc3NCYXIgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5lbmNvdW50ZXJQcm9ncmVzc0JhciAucHJvZ3Jlc3MtYmFyJyk7XHJcbiAgICB0aGlzLiRlbmdhZ2VJbmRpY2F0b3IgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5wcm9ncmVzc0JhclJvdyAuZW5nYWdlSW5kaWNhdG9yJyk7XHJcbiAgICBuZXcgVG9vbHRpcCh0aGlzLiRlbmdhZ2VJbmRpY2F0b3IsICdib3R0b20nLCAnRmlnaHQgQmVnaW5zJyk7XHJcbiAgICB0aGlzLiRwcm9ncmVzcy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZSkgPT4ge1xyXG4gICAgICBpZiAoZW11bGF0b3IuY3VycmVudEVuY291bnRlcikge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUuY3VycmVudFRhcmdldDtcclxuICAgICAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpXHJcbiAgICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IGUub2Zmc2V0WCAvIHRhcmdldC5vZmZzZXRXaWR0aDtcclxuICAgICAgICBjb25zdCB0aW1lID0gTWF0aC5mbG9vcihlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbiAqIHBlcmNlbnQpIC1cclxuICAgICAgICAgIGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmluaXRpYWxPZmZzZXQ7XHJcbiAgICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJUb29sdGlwLm9mZnNldC54ID0gZS5vZmZzZXRYIC0gKHRhcmdldC5vZmZzZXRXaWR0aCAvIDIpO1xyXG4gICAgICAgIHRoaXMuJHByb2dyZXNzQmFyVG9vbHRpcC5zZXRUZXh0KEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyh0aW1lKSk7XHJcbiAgICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXJUb29sdGlwLnNob3coKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLiRwcm9ncmVzcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgIGlmIChlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyKSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZS5jdXJyZW50VGFyZ2V0O1xyXG4gICAgICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlcclxuICAgICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgICBjb25zdCBwZXJjZW50ID0gZS5vZmZzZXRYIC8gdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKGVtdWxhdG9yLmN1cnJlbnRFbmNvdW50ZXIuZW5jb3VudGVyLmR1cmF0aW9uICogcGVyY2VudCk7XHJcbiAgICAgICAgdm9pZCBlbXVsYXRvci5zZWVrKHRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGVtdWxhdG9yLm9uKCdjdXJyZW50RW5jb3VudGVyQ2hhbmdlZCcsIChlbmNvdW50ZXI6IEFuYWx5emVkRW5jb3VudGVyKSA9PiB7XHJcbiAgICAgIHRoaXMuJHByb2dyZXNzQmFyQ3VycmVudC50ZXh0Q29udGVudCA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZygwLCBmYWxzZSk7XHJcbiAgICAgIHRoaXMuJHByb2dyZXNzQmFyRHVyYXRpb24udGV4dENvbnRlbnQgPSBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcoXHJcbiAgICAgICAgZW5jb3VudGVyLmVuY291bnRlci5kdXJhdGlvbiAtIGVuY291bnRlci5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXIuc3R5bGUud2lkdGggPSAnMCUnO1xyXG4gICAgICB0aGlzLiRwcm9ncmVzc0Jhci5zZXRBdHRyaWJ1dGUoJ2FyaWFWYWx1ZU1heCcsIGVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24udG9TdHJpbmcoKSk7XHJcbiAgICAgIGlmIChpc05hTihlbmNvdW50ZXIuZW5jb3VudGVyLmluaXRpYWxPZmZzZXQpKSB7XHJcbiAgICAgICAgdGhpcy4kZW5nYWdlSW5kaWNhdG9yLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGluaXRpYWxQZXJjZW50ID0gKGVuY291bnRlci5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCAvIGVuY291bnRlci5lbmNvdW50ZXIuZHVyYXRpb24pICpcclxuICAgICAgICAgIDEwMDtcclxuICAgICAgICB0aGlzLiRlbmdhZ2VJbmRpY2F0b3IuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgICAgdGhpcy4kZW5nYWdlSW5kaWNhdG9yLnN0eWxlLmxlZnQgPSBgJHtpbml0aWFsUGVyY2VudH0lYDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBlbXVsYXRvci5vbigndGljaycsIChjdXJyZW50TG9nVGltZSkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJFbmMgPSBlbXVsYXRvci5jdXJyZW50RW5jb3VudGVyO1xyXG4gICAgICBpZiAoIWN1ckVuYylcclxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSBjdXJyZW50TG9nVGltZSAtIGN1ckVuYy5lbmNvdW50ZXIuc3RhcnRUaW1lc3RhbXA7XHJcbiAgICAgIGNvbnN0IHByb2dQZXJjZW50ID0gKGN1cnJlbnRPZmZzZXQgLyBjdXJFbmMuZW5jb3VudGVyLmR1cmF0aW9uKSAqIDEwMDtcclxuICAgICAgY29uc3QgcHJvZ1ZhbHVlID0gY3VycmVudExvZ1RpbWUgLSBjdXJFbmMuZW5jb3VudGVyLmluaXRpYWxUaW1lc3RhbXA7XHJcbiAgICAgIHRoaXMuJHByb2dyZXNzQmFyQ3VycmVudC50ZXh0Q29udGVudCA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhwcm9nVmFsdWUsIGZhbHNlKTtcclxuICAgICAgdGhpcy4kcHJvZ3Jlc3NCYXIuc3R5bGUud2lkdGggPSBgJHtwcm9nUGVyY2VudH0lYDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgJHBsYXkgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5wcm9ncmVzc0JhclJvdyBidXR0b24ucGxheScpO1xyXG4gICAgY29uc3QgJHBhdXNlID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcucHJvZ3Jlc3NCYXJSb3cgYnV0dG9uLnBhdXNlJyk7XHJcbiAgICAkcGxheS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgaWYgKGVtdWxhdG9yLnBsYXkoKSkge1xyXG4gICAgICAgICRwbGF5LmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgICAgICRwYXVzZS5jbGFzc0xpc3QucmVtb3ZlKCdkLW5vbmUnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAkcGF1c2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIGlmIChlbXVsYXRvci5wYXVzZSgpKSB7XHJcbiAgICAgICAgJHBhdXNlLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG4gICAgICAgICRwbGF5LmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0ICcuL3JhaWRib3NzX2NvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBpc0xhbmcsIExhbmcsIGxhbmdNYXAgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvbGFuZ3VhZ2VzJztcclxuaW1wb3J0IHsgVW5yZWFjaGFibGVDb2RlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL25vdF9yZWFjaGVkJztcclxuaW1wb3J0IHsgY2FsbE92ZXJsYXlIYW5kbGVyIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL292ZXJsYXlfcGx1Z2luX2FwaSc7XHJcbmltcG9ydCBVc2VyQ29uZmlnIGZyb20gJy4uLy4uL3Jlc291cmNlcy91c2VyX2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbnZlcnRlcldvcmtlck1lc3NhZ2UgfSBmcm9tICcuLi8uLi90eXBlcy93b3JrZXInO1xyXG5cclxuaW1wb3J0IHJhaWRib3NzRmlsZURhdGEgZnJvbSAnLi9kYXRhL3JhaWRib3NzX21hbmlmZXN0LnR4dCc7XHJcbmltcG9ydCBBbmFseXplZEVuY291bnRlciBmcm9tICcuL2VtdWxhdG9yL2RhdGEvQW5hbHl6ZWRFbmNvdW50ZXInO1xyXG5pbXBvcnQgQ29tYmF0YW50VHJhY2tlciBmcm9tICcuL2VtdWxhdG9yL2RhdGEvQ29tYmF0YW50VHJhY2tlcic7XHJcbmltcG9ydCBFbmNvdW50ZXIgZnJvbSAnLi9lbXVsYXRvci9kYXRhL0VuY291bnRlcic7XHJcbmltcG9ydCBMaW5lRXZlbnQgZnJvbSAnLi9lbXVsYXRvci9kYXRhL25ldHdvcmtfbG9nX2NvbnZlcnRlci9MaW5lRXZlbnQnO1xyXG5pbXBvcnQgUGVyc2lzdG9yIGZyb20gJy4vZW11bGF0b3IvZGF0YS9QZXJzaXN0b3InO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yIGZyb20gJy4vZW11bGF0b3IvZGF0YS9SYWlkRW11bGF0b3InO1xyXG5pbXBvcnQgRW11bGF0b3JDb21tb24sIHtcclxuICBnZXRUZW1wbGF0ZUNoaWxkLFxyXG4gIHF1ZXJ5U2VsZWN0b3JBbGxTYWZlLFxyXG4gIHF1ZXJ5U2VsZWN0b3JTYWZlLFxyXG59IGZyb20gJy4vZW11bGF0b3IvRW11bGF0b3JDb21tb24nO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2sgZnJvbSAnLi9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2snO1xyXG5pbXBvcnQgUmFpZEVtdWxhdG9yUG9wdXBUZXh0IGZyb20gJy4vZW11bGF0b3Ivb3ZlcnJpZGVzL1JhaWRFbXVsYXRvclBvcHVwVGV4dCc7XHJcbmltcG9ydCBSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXIgZnJvbSAnLi9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyJztcclxuaW1wb3J0IFJhaWRFbXVsYXRvclRpbWVsaW5lVUkgZnJvbSAnLi9lbXVsYXRvci9vdmVycmlkZXMvUmFpZEVtdWxhdG9yVGltZWxpbmVVSSc7XHJcbmltcG9ydCB7XHJcbiAgZW11bGF0b3JUZW1wbGF0ZVRyYW5zbGF0aW9ucyxcclxuICBlbXVsYXRvclRvb2x0aXBUcmFuc2xhdGlvbnMsXHJcbiAgZW11bGF0b3JUcmFuc2xhdGlvbnMsXHJcbiAgbG9va3VwRW5kU3RhdHVzLFxyXG4gIGxvb2t1cFN0YXJ0U3RhdHVzZXMsXHJcbiAgdHJhbnNsYXRlLFxyXG59IGZyb20gJy4vZW11bGF0b3IvdHJhbnNsYXRpb25zJztcclxuaW1wb3J0IEVtdWxhdGVkUGFydHlJbmZvIGZyb20gJy4vZW11bGF0b3IvdWkvRW11bGF0ZWRQYXJ0eUluZm8nO1xyXG5pbXBvcnQgRW5jb3VudGVyVGFiIGZyb20gJy4vZW11bGF0b3IvdWkvRW5jb3VudGVyVGFiJztcclxuaW1wb3J0IFByb2dyZXNzQmFyIGZyb20gJy4vZW11bGF0b3IvdWkvUHJvZ3Jlc3NCYXInO1xyXG5pbXBvcnQgVG9vbHRpcCBmcm9tICcuL2VtdWxhdG9yL3VpL1Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBQb3B1cFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL3BvcHVwLXRleHQnO1xyXG5pbXBvcnQgZGVmYXVsdE9wdGlvbnMgZnJvbSAnLi9yYWlkYm9zc19vcHRpb25zJztcclxuaW1wb3J0IHsgVGltZWxpbmVMb2FkZXIgfSBmcm9tICcuL3RpbWVsaW5lJztcclxuaW1wb3J0ICcuLi8uLi9yZXNvdXJjZXMvZGVmYXVsdHMuY3NzJztcclxuaW1wb3J0ICcuL3JhaWRlbXVsYXRvci5jc3MnO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBXaW5kb3cge1xyXG4gICAgcmFpZEVtdWxhdG9yOiB7XHJcbiAgICAgIGVtdWxhdG9yOiBSYWlkRW11bGF0b3I7XHJcbiAgICAgIHByb2dyZXNzQmFyOiBQcm9ncmVzc0JhcjtcclxuICAgICAgdGltZWxpbmVDb250cm9sbGVyOiBSYWlkRW11bGF0b3JUaW1lbGluZUNvbnRyb2xsZXI7XHJcbiAgICAgIHBvcHVwVGV4dDogUmFpZEVtdWxhdG9yUG9wdXBUZXh0O1xyXG4gICAgICBwZXJzaXN0b3I6IFBlcnNpc3RvcjtcclxuICAgICAgZW5jb3VudGVyVGFiOiBFbmNvdW50ZXJUYWI7XHJcbiAgICAgIGVtdWxhdGVkUGFydHlJbmZvOiBFbXVsYXRlZFBhcnR5SW5mbztcclxuICAgICAgZW11bGF0ZWRXZWJTb2NrZXQ6IFJhaWRFbXVsYXRvck92ZXJsYXlBcGlIb29rO1xyXG4gICAgICB0aW1lbGluZVVJOiBSYWlkRW11bGF0b3JUaW1lbGluZVVJO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuY29uc3Qgc2hvd01vZGFsID0gKHNlbGVjdG9yOiBzdHJpbmcpOiBIVE1MRWxlbWVudCA9PiB7XHJcbiAgY29uc3QgbW9kYWwgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgc2VsZWN0b3IpO1xyXG4gIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5O1xyXG4gIGNvbnN0IGJhY2tkcm9wID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcubW9kYWwtYmFja2Ryb3AnKTtcclxuICBib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLW9wZW4nKTtcclxuICBiYWNrZHJvcC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgYmFja2Ryb3AuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZScpO1xyXG4gIG1vZGFsLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTtcclxuICBtb2RhbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICByZXR1cm4gbW9kYWw7XHJcbn07XHJcblxyXG5jb25zdCBoaWRlTW9kYWwgPSAoc2VsZWN0b3IgPSAnLm1vZGFsLnNob3cnKTogSFRNTEVsZW1lbnQgPT4ge1xyXG4gIGNvbnN0IG1vZGFsID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsIHNlbGVjdG9yKTtcclxuICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keTtcclxuICBjb25zdCBiYWNrZHJvcCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLm1vZGFsLWJhY2tkcm9wJyk7XHJcbiAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2RhbC1vcGVuJyk7XHJcbiAgYmFja2Ryb3AuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gIGJhY2tkcm9wLmNsYXNzTGlzdC5hZGQoJ2hpZGUnKTtcclxuICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XHJcbiAgbW9kYWwuc3R5bGUuZGlzcGxheSA9ICcnO1xyXG4gIHJldHVybiBtb2RhbDtcclxufTtcclxuXHJcbmNvbnN0IGFwcGx5VHJhbnNsYXRpb24gPSAobGFuZzogTGFuZykgPT4ge1xyXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVtdWxhdG9yVHJhbnNsYXRpb25zKSkge1xyXG4gICAgcXVlcnlTZWxlY3RvckFsbFNhZmUoZG9jdW1lbnQsICcudHJhbnNsYXRlJyArIGtleSkuZm9yRWFjaChcclxuICAgICAgKGVsZW0pID0+IHtcclxuICAgICAgICBlbGVtLmlubmVySFRNTCA9IHRyYW5zbGF0ZShsYW5nLCB2YWx1ZSk7XHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gIH1cclxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhlbXVsYXRvclRvb2x0aXBUcmFuc2xhdGlvbnMpKSB7XHJcbiAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZShkb2N1bWVudCwgJy50cmFuc2xhdGUnICsga2V5KS5mb3JFYWNoKFxyXG4gICAgICAoZWxlbSkgPT4ge1xyXG4gICAgICAgIGVsZW0udGl0bGUgPSB0cmFuc2xhdGUobGFuZywgdmFsdWUpO1xyXG4gICAgICB9LFxyXG4gICAgKTtcclxuICB9XHJcbiAgZm9yIChjb25zdCBbc2VsLCB0cmFuc10gb2YgT2JqZWN0LmVudHJpZXMoZW11bGF0b3JUZW1wbGF0ZVRyYW5zbGF0aW9ucykpIHtcclxuICAgIGNvbnN0IHRlbXBsYXRlID0gZ2V0VGVtcGxhdGVDaGlsZChkb2N1bWVudCwgc2VsKTtcclxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRyYW5zKSkge1xyXG4gICAgICBxdWVyeVNlbGVjdG9yQWxsU2FmZSh0ZW1wbGF0ZSwgJy50cmFuc2xhdGUnICsga2V5KS5mb3JFYWNoKFxyXG4gICAgICAgIChlbGVtKSA9PiB7XHJcbiAgICAgICAgICBlbGVtLmlubmVySFRNTCA9IHRyYW5zbGF0ZShsYW5nLCB2YWx1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG4vLyBEZWZhdWx0IGxhbmd1YWdlIHRvIGVuIHVudGlsIHdlIGtub3cgd2hhdCBsYW5ndWFnZSB0byB1c2VcclxuYXBwbHlUcmFuc2xhdGlvbignZW4nKTtcclxuXHJcbmNvbnN0IHJhaWRFbXVsYXRvck9uTG9hZCA9IGFzeW5jICgpID0+IHtcclxuICBjb25zdCBwZXJzaXN0b3IgPSBuZXcgUGVyc2lzdG9yKCk7XHJcbiAgbGV0IHdlYnNvY2tldENvbm5lY3RlZCA9IGZhbHNlO1xyXG4gIGxldCBvcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucyB9O1xyXG5cclxuICAvLyBXYWl0IGZvciB0aGUgREIgdG8gYmUgcmVhZHkgYmVmb3JlIGRvaW5nIGFueXRoaW5nIHRoYXQgbWlnaHQgaW52b2tlIHRoZSBEQlxyXG4gIGF3YWl0IHBlcnNpc3Rvci5vcGVuKCk7XHJcblxyXG4gIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCdPVkVSTEFZX1dTJykgPiAwKSB7XHJcbiAgICAvLyBHaXZlIHRoZSB3ZWJzb2NrZXQgNTAwbXMgdG8gY29ubmVjdCwgdGhlbiBhYm9ydC5cclxuICAgIHdlYnNvY2tldENvbm5lY3RlZCA9IGF3YWl0IFByb21pc2UucmFjZTxQcm9taXNlPGJvb2xlYW4+PihbXHJcbiAgICAgIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXMpID0+IHtcclxuICAgICAgICB2b2lkIGNhbGxPdmVybGF5SGFuZGxlcih7IGNhbGw6ICdjYWN0Ym90UmVxdWVzdFN0YXRlJyB9KS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHJlcyh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSksXHJcbiAgICAgIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXMpID0+IHtcclxuICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICByZXMoZmFsc2UpO1xyXG4gICAgICAgIH0sIDUwMCk7XHJcbiAgICAgIH0pLFxyXG4gICAgXSk7XHJcbiAgICBpZiAod2Vic29ja2V0Q29ubmVjdGVkKSB7XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXMpID0+IHtcclxuICAgICAgICBVc2VyQ29uZmlnLmdldFVzZXJDb25maWdMb2NhdGlvbigncmFpZGJvc3MnLCBkZWZhdWx0T3B0aW9ucywgKCkgPT4ge1xyXG4gICAgICAgICAgLy8gVXBkYXRlIG9wdGlvbnMgZnJvbSBhbnl0aGluZyBjaGFuZ2VkIHZpYSBnZXRVc2VyQ29uZmlnTG9jYXRpb24uXHJcbiAgICAgICAgICBvcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucyB9O1xyXG4gICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcud2Vic29ja2V0Q29ubmVjdGVkJykuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy53ZWJzb2NrZXREaXNjb25uZWN0ZWQnKS5jbGFzc0xpc3QuYWRkKCdkLW5vbmUnKTtcclxuICAgICAgICAgIHJlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmICghd2Vic29ja2V0Q29ubmVjdGVkKSB7XHJcbiAgICAvLyBGaW5kIHRoZSBtb3N0IGFwcHJvcHJpYXRlIGxhbmcgY29kZSB0byB1c2UgYmFzZWQgb24gYnJvd3NlciBsYW5ndWFnZSBwcmlvcml0eVxyXG4gICAgY29uc3QgYnJvd3NlckxhbmcgPSBbLi4ubmF2aWdhdG9yLmxhbmd1YWdlcywgJ2VuJ11cclxuICAgICAgLm1hcCgobCkgPT4gbC5zdWJzdHIoMCwgMikpXHJcbiAgICAgIC8vIFJlbWFwIGB6aGAgdG8gYGNuYCB0byBtYXRjaCBjYWN0Ym90IGxhbmd1YWdlc1xyXG4gICAgICAubWFwKChsKSA9PiBsID09PSAnemgnID8gJ2NuJyA6IGwpXHJcbiAgICAgIC5maWx0ZXIoKGwpID0+IFsnZW4nLCAnZGUnLCAnZnInLCAnamEnLCAnY24nLCAna28nXS5pbmNsdWRlcyhsKSlbMF07XHJcbiAgICBvcHRpb25zLlBhcnNlckxhbmd1YWdlID0gaXNMYW5nKGJyb3dzZXJMYW5nKSA/IGJyb3dzZXJMYW5nIDogJ2VuJztcclxuICAgIG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlID0gaXNMYW5nKGJyb3dzZXJMYW5nKSA/IGJyb3dzZXJMYW5nIDogJ2VuJztcclxuICAgIC8vIERlZmF1bHQgb3B0aW9uc1xyXG4gICAgb3B0aW9ucy5Jc1JlbW90ZVJhaWRib3NzID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuVGV4dEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5Tb3VuZEFsZXJ0c0VuYWJsZWQgPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5TcG9rZW5BbGVydHNFbmFibGVkID0gZmFsc2U7XHJcbiAgICBvcHRpb25zLkdyb3VwU3Bva2VuQWxlcnRzRW5hYmxlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgRGlzcGxheUxhbmd1YWdlIGlzbid0IEVuZ2xpc2gsIHN3aXRjaCB0byBjb3JyZWN0IGxhbmcgZm9yIGVtdWxhdG9yIGRpc3BsYXlcclxuICBpZiAob3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UgIT09ICdlbicpXHJcbiAgICBhcHBseVRyYW5zbGF0aW9uKG9wdGlvbnMuRGlzcGxheUxhbmd1YWdlKTtcclxuXHJcbiAgY29uc3QgZW11bGF0b3IgPSBuZXcgUmFpZEVtdWxhdG9yKG9wdGlvbnMpO1xyXG4gIGNvbnN0IHByb2dyZXNzQmFyID0gbmV3IFByb2dyZXNzQmFyKGVtdWxhdG9yKTtcclxuICBjb25zdCBlbmNvdW50ZXJUYWIgPSBuZXcgRW5jb3VudGVyVGFiKHBlcnNpc3Rvcik7XHJcbiAgY29uc3QgZW11bGF0ZWRQYXJ0eUluZm8gPSBuZXcgRW11bGF0ZWRQYXJ0eUluZm8oZW11bGF0b3IpO1xyXG4gIGNvbnN0IGVtdWxhdGVkV2ViU29ja2V0ID0gbmV3IFJhaWRFbXVsYXRvck92ZXJsYXlBcGlIb29rKGVtdWxhdG9yKTtcclxuICBlbXVsYXRlZFdlYlNvY2tldC5jb25uZWN0ZWQgPSB3ZWJzb2NrZXRDb25uZWN0ZWQ7XHJcbiAgY29uc3QgbG9nQ29udmVydGVyV29ya2VyID0gbmV3IFdvcmtlcihcclxuICAgIG5ldyBVUkwoJy4vZW11bGF0b3IvZGF0YS9OZXR3b3JrTG9nQ29udmVydGVyLndvcmtlci50cycsIGltcG9ydC5tZXRhLnVybCksXHJcbiAgKTtcclxuXHJcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgUmFpZGJvc3MgY29tcG9uZW50cywgYmluZCB0aGVtIHRvIHRoZSBlbXVsYXRvciBmb3IgZXZlbnQgbGlzdGVuZXJzXHJcbiAgY29uc3QgdGltZWxpbmVVSSA9IG5ldyBSYWlkRW11bGF0b3JUaW1lbGluZVVJKG9wdGlvbnMpO1xyXG4gIHRpbWVsaW5lVUkuYmluZFRvKGVtdWxhdG9yKTtcclxuICBjb25zdCB0aW1lbGluZUNvbnRyb2xsZXIgPSBuZXcgUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyKFxyXG4gICAgb3B0aW9ucyxcclxuICAgIHRpbWVsaW5lVUksXHJcbiAgICByYWlkYm9zc0ZpbGVEYXRhLFxyXG4gICk7XHJcbiAgdGltZWxpbmVDb250cm9sbGVyLmJpbmRUbyhlbXVsYXRvcik7XHJcbiAgY29uc3QgcG9wdXBUZXh0ID0gbmV3IFJhaWRFbXVsYXRvclBvcHVwVGV4dChcclxuICAgIG9wdGlvbnMsXHJcbiAgICBuZXcgVGltZWxpbmVMb2FkZXIodGltZWxpbmVDb250cm9sbGVyKSxcclxuICAgIHJhaWRib3NzRmlsZURhdGEsXHJcbiAgKTtcclxuICBwb3B1cFRleHQuYmluZFRvKGVtdWxhdG9yKTtcclxuXHJcbiAgdGltZWxpbmVDb250cm9sbGVyLlNldFBvcHVwVGV4dEludGVyZmFjZShuZXcgUG9wdXBUZXh0R2VuZXJhdG9yKHBvcHVwVGV4dCkpO1xyXG5cclxuICBlbXVsYXRvci5zZXRQb3B1cFRleHQocG9wdXBUZXh0KTtcclxuXHJcbiAgLy8gTGlzdGVuIGZvciB0aGUgdXNlciB0byBjbGljayBhIHBsYXllciBpbiB0aGUgcGFydHkgbGlzdCBvbiB0aGUgcmlnaHRcclxuICAvLyBhbmQgcGVyc2lzdCB0aGF0IG92ZXIgdG8gdGhlIGVtdWxhdG9yXHJcbiAgZW11bGF0ZWRQYXJ0eUluZm8ub24oJ3NlbGVjdFBlcnNwZWN0aXZlJywgKGlkOiBzdHJpbmcpID0+IHtcclxuICAgIGVtdWxhdG9yLnNlbGVjdFBlcnNwZWN0aXZlKGlkKTtcclxuICB9KTtcclxuXHJcbiAgZW11bGF0b3Iub24oJ2N1cnJlbnRFbmNvdW50ZXJDaGFuZ2VkJywgKGVuYzogQW5hbHl6ZWRFbmNvdW50ZXIpID0+IHtcclxuICAgIC8vIFN0b3JlIG91ciBjdXJyZW50IGxvYWRlZCBlbmNvdW50ZXIgdG8gYXV0by1sb2FkIG5leHQgdGltZVxyXG4gICAgaWYgKGVuYy5lbmNvdW50ZXIuaWQpXHJcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudEVuY291bnRlcicsIGVuYy5lbmNvdW50ZXIuaWQudG9TdHJpbmcoKSk7XHJcbiAgICAvLyBPbmNlIHdlJ3ZlIGxvYWRlZCB0aGUgZW5jb3VudGVyLCBzZWVrIHRvIHRoZSBzdGFydCBvZiB0aGUgZW5jb3VudGVyXHJcbiAgICBpZiAoIWlzTmFOKGVuYy5lbmNvdW50ZXIuaW5pdGlhbE9mZnNldCkpXHJcbiAgICAgIHZvaWQgZW11bGF0b3Iuc2VlayhlbmMuZW5jb3VudGVyLmluaXRpYWxPZmZzZXQpO1xyXG4gIH0pO1xyXG5cclxuICAvLyBMaXN0ZW4gZm9yIHRoZSB1c2VyIHRvIGF0dGVtcHQgdG8gbG9hZCBhbiBlbmNvdW50ZXIgZnJvbSB0aGUgZW5jb3VudGVycyBwYW5lXHJcbiAgZW5jb3VudGVyVGFiLm9uKCdsb2FkJywgKGlkOiBudW1iZXIpID0+IHtcclxuICAgIC8vIEF0dGVtcHQgdG8gc2V0IHRoZSBjdXJyZW50IGVtdWxhdGVkIGVuY291bnRlclxyXG4gICAgaWYgKCFlbXVsYXRvci5zZXRDdXJyZW50QnlJRChpZCkpIHtcclxuICAgICAgLy8gSWYgdGhhdCBlbmNvdW50ZXIgaXNuJ3QgbG9hZGVkLCBsb2FkIGl0XHJcbiAgICAgIHZvaWQgcGVyc2lzdG9yLmxvYWRFbmNvdW50ZXIoaWQpLnRoZW4oKGVuYz86IEVuY291bnRlcikgPT4ge1xyXG4gICAgICAgIGlmIChlbmMpIHtcclxuICAgICAgICAgIGVtdWxhdG9yLmFkZEVuY291bnRlcihlbmMpO1xyXG4gICAgICAgICAgZW11bGF0b3Iuc2V0Q3VycmVudEJ5SUQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIExpc3RlbiBmb3IgdGhlIHVzZXIgdG8gc2VsZWN0IHJlLXBhcnNlIG9uIHRoZSBlbmNvdW50ZXJzIHRhYiwgdGhlbiByZWZyZXNoIGl0IGluIHRoZSBEQlxyXG4gIGVuY291bnRlclRhYi5vbigncGFyc2UnLCAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgdm9pZCBwZXJzaXN0b3IubG9hZEVuY291bnRlcihpZCkudGhlbihhc3luYyAoZW5jPzogRW5jb3VudGVyKSA9PiB7XHJcbiAgICAgIGlmIChlbmMpIHtcclxuICAgICAgICBlbmMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIGF3YWl0IHBlcnNpc3Rvci5wZXJzaXN0RW5jb3VudGVyKGVuYyk7XHJcbiAgICAgICAgZW5jb3VudGVyVGFiLnJlZnJlc2goKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIExpc3RlbiBmb3IgdGhlIHVzZXIgdG8gc2VsZWN0IHBydW5lIG9uIHRoZSBlbmNvdW50ZXJzIHRhYlxyXG4gIGVuY291bnRlclRhYi5vbigncHJ1bmUnLCAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgdm9pZCBwZXJzaXN0b3IubG9hZEVuY291bnRlcihpZCkudGhlbihhc3luYyAoZW5jPzogRW5jb3VudGVyKSA9PiB7XHJcbiAgICAgIGlmIChlbmMpIHtcclxuICAgICAgICAvLyBUcmltIGxvZyBsaW5lc1xyXG4gICAgICAgIGVuYy5sb2dMaW5lcyA9IGVuYy5sb2dMaW5lcy5zbGljZShlbmMuZmlyc3RMaW5lSW5kZXggLSAxKTtcclxuXHJcbiAgICAgICAgLy8gVXBkYXRlIHByZWNhbGN1bGF0ZWQgb2Zmc2V0c1xyXG4gICAgICAgIGNvbnN0IGZpcnN0VGltZXN0YW1wID0gZW5jLmxvZ0xpbmVzWzBdPy50aW1lc3RhbXAgPz8gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgZW5jLmxvZ0xpbmVzKVxyXG4gICAgICAgICAgbGluZS5vZmZzZXQgPSBsaW5lLnRpbWVzdGFtcCAtIGZpcnN0VGltZXN0YW1wO1xyXG5cclxuICAgICAgICBlbmMuZmlyc3RMaW5lSW5kZXggPSAwO1xyXG5cclxuICAgICAgICBlbmMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIGF3YWl0IHBlcnNpc3Rvci5wZXJzaXN0RW5jb3VudGVyKGVuYyk7XHJcbiAgICAgICAgZW5jb3VudGVyVGFiLnJlZnJlc2goKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIExpc3RlbiBmb3IgdGhlIHVzZXIgdG8gc2VsZWN0IGRlbGV0ZSBvbiB0aGUgZW5jb3VudGVycyB0YWIsIHRoZW4gZG8gaXQuXHJcbiAgZW5jb3VudGVyVGFiLm9uKCdkZWxldGUnLCAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgdm9pZCBwZXJzaXN0b3IuZGVsZXRlRW5jb3VudGVyKGlkKS50aGVuKCgpID0+IHtcclxuICAgICAgZW5jb3VudGVyVGFiLnJlZnJlc2goKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBMaXN0ZW4gZm9yIHRoZSBlbXVsYXRvciB0byBldmVudCBsb2cgbGluZXMsIHRoZW4gZGlzcGF0Y2ggdGhlbSB0byB0aGUgdGltZWxpbmUgY29udHJvbGxlclxyXG4gIC8vIEBUT0RPOiBQcm9iYWJseSBhIGJldHRlciBwbGFjZSB0byBsaXN0ZW4gZm9yIHRoaXM/XHJcbiAgZW11bGF0b3Iub24oJ2VtaXRMb2dzJywgKGU6IHsgbG9nczogTGluZUV2ZW50W10gfSkgPT4ge1xyXG4gICAgdGltZWxpbmVDb250cm9sbGVyLm9uRW11bGF0b3JMb2dFdmVudChlLmxvZ3MpO1xyXG4gIH0pO1xyXG5cclxuICAvLyBMb2FkIHRoZSBlbmNvdW50ZXIgbWV0YWRhdGEgZnJvbSB0aGUgREJcclxuICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG5cclxuICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBlbmNvdW50ZXJzIHN0b3JlZCwgc2hvdyB0aGUgaW50cm8gbW9kYWxcclxuICB2b2lkIHBlcnNpc3Rvci5lbmNvdW50ZXJTdW1tYXJpZXMudG9BcnJheSgpLnRoZW4oKGVuY291bnRlcnMpID0+IHtcclxuICAgIGlmIChlbmNvdW50ZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBzaG93TW9kYWwoJy5pbnRyb01vZGFsJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgbGFzdEVuY291bnRlcjogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudEVuY291bnRlcicpO1xyXG4gICAgICBpZiAobGFzdEVuY291bnRlcikge1xyXG4gICAgICAgIGxhc3RFbmNvdW50ZXIgPSBwYXJzZUludChsYXN0RW5jb3VudGVyKTtcclxuICAgICAgICBjb25zdCBtYXRjaGVkRW5jb3VudGVycyA9IGVuY291bnRlcnMuZmlsdGVyKChlKSA9PiBlLmlkID09PSBsYXN0RW5jb3VudGVyKTtcclxuICAgICAgICBpZiAobWF0Y2hlZEVuY291bnRlcnMubGVuZ3RoKVxyXG4gICAgICAgICAgdm9pZCBlbmNvdW50ZXJUYWIuZGlzcGF0Y2goJ2xvYWQnLCBsYXN0RW5jb3VudGVyKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXdlYnNvY2tldENvbm5lY3RlZCkge1xyXG4gICAgICAgIGNvbnN0IGRpc3BMYW5nID0gbGFuZ01hcFtvcHRpb25zLlBhcnNlckxhbmd1YWdlXVtvcHRpb25zLlBhcnNlckxhbmd1YWdlXTtcclxuICAgICAgICBjb25zdCBkaXNjTW9kYWwgPSBzaG93TW9kYWwoJy5kaXNjb25uZWN0ZWRNb2RhbCcpO1xyXG4gICAgICAgIGNvbnN0IGluZGljYXRvciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvY3VtZW50LCAnLmNvbm5lY3Rpb25JbmRpY2F0b3InKTtcclxuICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShpbmRpY2F0b3IsICcuY29ubmVjdGVkSW5kaWNhdG9yJykuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XHJcbiAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoaW5kaWNhdG9yLCAnLmRpc2Nvbm5lY3RlZEluZGljYXRvcicpLmNsYXNzTGlzdC5yZW1vdmUoJ2Qtbm9uZScpO1xyXG4gICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGRpc2NNb2RhbCwgJy5kaXNjTGFuZ0Rpc3BsYXknKS5pbm5lclRleHQgPSBkaXNwTGFuZztcclxuICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShkaXNjTW9kYWwsICcuZGlzY0xhbmdBbGVydHMnKS5pbm5lclRleHQgPSBkaXNwTGFuZztcclxuICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShkaXNjTW9kYWwsICcuZGlzY0xhbmdUaW1lbGluZScpLmlubmVyVGV4dCA9IGRpc3BMYW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IGNoZWNrRmlsZSA9IChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICBpZiAoZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vanNvbicpIHtcclxuICAgICAgLy8gSW1wb3J0IGEgREIgZmlsZSBieSBwYXNzaW5nIGl0IHRvIFBlcnNpc3RvclxyXG4gICAgICB2b2lkIHBlcnNpc3Rvci5pbXBvcnREQihmaWxlKS50aGVuKCgpID0+IHtcclxuICAgICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIEFzc3VtZSBpdCdzIGEgbG9nIGZpbGVcclxuICAgICAgY29uc3QgaW1wb3J0TW9kYWwgPSBzaG93TW9kYWwoJy5pbXBvcnRQcm9ncmVzc01vZGFsJyk7XHJcbiAgICAgIGNvbnN0IGJhciA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGltcG9ydE1vZGFsLCAnLnByb2dyZXNzLWJhcicpO1xyXG4gICAgICBiYXIuc3R5bGUud2lkdGggPSAnMHB4JztcclxuICAgICAgY29uc3QgbGFiZWwgPSBxdWVyeVNlbGVjdG9yU2FmZShpbXBvcnRNb2RhbCwgJy5sYWJlbCcpO1xyXG4gICAgICBsYWJlbC5pbm5lclRleHQgPSAnJztcclxuICAgICAgY29uc3QgZW5jTGFiZWwgPSBxdWVyeVNlbGVjdG9yU2FmZShpbXBvcnRNb2RhbCwgJy5tb2RhbC1ib2R5LWNvbnRlbnRzJyk7XHJcbiAgICAgIGVuY0xhYmVsLmNsYXNzTGlzdC5hZGQoJ2Qtbm9uZScpO1xyXG5cclxuICAgICAgY29uc3QgZG9uZUJ1dHRvbiA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGltcG9ydE1vZGFsLCAnLmJ0bicpO1xyXG4gICAgICBpZiAoIShkb25lQnV0dG9uIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpKVxyXG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNvZGUoKTtcclxuICAgICAgZG9uZUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XHJcblxyXG4gICAgICBjb25zdCBkb25lQnV0dG9uVGltZW91dCA9IHF1ZXJ5U2VsZWN0b3JTYWZlKGRvbmVCdXR0b24sICcuZG9uZUJ0blRpbWVvdXQnKTtcclxuXHJcbiAgICAgIGxldCBwcm9taXNlOiBQcm9taXNlPHVua25vd24+IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgICAgbG9nQ29udmVydGVyV29ya2VyLm9ubWVzc2FnZSA9IChtc2c6IE1lc3NhZ2VFdmVudDxDb252ZXJ0ZXJXb3JrZXJNZXNzYWdlPikgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAobXNnLmRhdGEudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSAncHJvZ3Jlc3MnOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcGVyY2VudCA9ICgobXNnLmRhdGEuYnl0ZXMgLyBtc2cuZGF0YS50b3RhbEJ5dGVzKSAqIDEwMCkudG9GaXhlZCgyKTtcclxuICAgICAgICAgICAgICBiYXIuc3R5bGUud2lkdGggPSBwZXJjZW50ICsgJyUnO1xyXG4gICAgICAgICAgICAgIGxhYmVsLmlubmVyVGV4dCA9XHJcbiAgICAgICAgICAgICAgICBgJHttc2cuZGF0YS5ieXRlc30vJHttc2cuZGF0YS50b3RhbEJ5dGVzfSBieXRlcywgJHttc2cuZGF0YS5saW5lc30gbGluZXMgKCR7cGVyY2VudH0lKWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdlbmNvdW50ZXInOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZW5jTGFiZWwuY2xhc3NMaXN0LnJlbW92ZSgnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZW5jID0gbXNnLmRhdGEuZW5jb3VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAvLyBPYmplY3RzIHNlbnQgdmlhIG1lc3NhZ2UgYXJlIHJhdyBvYmplY3RzLCBub3QgdHlwZWQuIEFwcGx5IHByb3RvdHlwZSBjaGFpblxyXG4gICAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihlbmMuY29tYmF0YW50VHJhY2tlciwgQ29tYmF0YW50VHJhY2tlci5wcm90b3R5cGUpO1xyXG5cclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy56b25lJykuaW5uZXJUZXh0ID0gZW5jLmVuY291bnRlclpvbmVOYW1lO1xyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLmVuY291bnRlcicpLmlubmVyVGV4dCA9IG1zZy5kYXRhLm5hbWU7XHJcbiAgICAgICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZW5jTGFiZWwsICcuc3RhcnQnKS5pbm5lclRleHQgPSBuZXcgRGF0ZShlbmMuc3RhcnRUaW1lc3RhbXApXHJcbiAgICAgICAgICAgICAgICAudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5lbmQnKS5pbm5lclRleHQgPSBuZXcgRGF0ZShlbmMuZW5kVGltZXN0YW1wKS50b1N0cmluZygpO1xyXG5cclxuICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IEVtdWxhdG9yQ29tbW9uLnRpbWVUb1N0cmluZyhcclxuICAgICAgICAgICAgICAgIGVuYy5lbmRUaW1lc3RhbXAgLSBlbmMuc3RhcnRUaW1lc3RhbXAsXHJcbiAgICAgICAgICAgICAgICBmYWxzZSxcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3BsaXQoJzonKTtcclxuICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbk1pbnMgPSBkdXJhdGlvblswXSA/PyAnMCc7XHJcbiAgICAgICAgICAgICAgY29uc3QgZHVyYXRpb25TZWNzID0gZHVyYXRpb25bMV0gPz8gJzAwJztcclxuICAgICAgICAgICAgICBjb25zdCBwdWxsRHVyYXRpb24gPSBFbXVsYXRvckNvbW1vbi50aW1lVG9TdHJpbmcoXHJcbiAgICAgICAgICAgICAgICBlbmMuZW5kVGltZXN0YW1wIC0gZW5jLmluaXRpYWxUaW1lc3RhbXAsXHJcbiAgICAgICAgICAgICAgICBmYWxzZSxcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3BsaXQoJzonKTtcclxuICAgICAgICAgICAgICBjb25zdCBwdWxsRHVyYXRpb25NaW5zID0gcHVsbER1cmF0aW9uWzBdID8/ICcwJztcclxuICAgICAgICAgICAgICBjb25zdCBwdWxsRHVyYXRpb25TZWNzID0gcHVsbER1cmF0aW9uWzFdID8/ICcwMCc7XHJcblxyXG4gICAgICAgICAgICAgIHF1ZXJ5U2VsZWN0b3JTYWZlKGVuY0xhYmVsLCAnLmR1ck1pbnMnKS5pbm5lclRleHQgPSBkdXJhdGlvbk1pbnM7XHJcbiAgICAgICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZW5jTGFiZWwsICcuZHVyU2VjcycpLmlubmVyVGV4dCA9IGR1cmF0aW9uU2VjcztcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5wdWxsTWlucycpLmlubmVyVGV4dCA9IHB1bGxEdXJhdGlvbk1pbnM7XHJcbiAgICAgICAgICAgICAgcXVlcnlTZWxlY3RvclNhZmUoZW5jTGFiZWwsICcucHVsbFNlY3MnKS5pbm5lclRleHQgPSBwdWxsRHVyYXRpb25TZWNzO1xyXG5cclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5zdGFydGVkQnknKS5pbm5lclRleHQgPSBsb29rdXBTdGFydFN0YXR1c2VzKFxyXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5EaXNwbGF5TGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICBlbmMuc3RhcnRTdGF0dXMsXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5lbmRTdGF0dXMnKS5pbm5lclRleHQgPSBsb29rdXBFbmRTdGF0dXMoXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zLkRpc3BsYXlMYW5ndWFnZSxcclxuICAgICAgICAgICAgICAgIGVuYy5lbmRTdGF0dXMsXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBxdWVyeVNlbGVjdG9yU2FmZShlbmNMYWJlbCwgJy5saW5lQ291bnQnKS5pbm5lclRleHQgPSBlbmMubG9nTGluZXMubGVuZ3RoLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgIHZvaWQgcHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgcHJvbWlzZSA9IHBlcnNpc3Rvci5wZXJzaXN0RW5jb3VudGVyKGVuYyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcHJvbWlzZSA9IHBlcnNpc3Rvci5wZXJzaXN0RW5jb3VudGVyKGVuYyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnZG9uZSc6XHJcbiAgICAgICAgICAgIHZvaWQgUHJvbWlzZS5hbGwoW3Byb21pc2VdKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICBlbmNvdW50ZXJUYWIucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgIGRvbmVCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBsZXQgc2Vjb25kcyA9IDU7XHJcbiAgICAgICAgICAgICAgZG9uZUJ1dHRvblRpbWVvdXQuaW5uZXJUZXh0ID0gYCAoJHtzZWNvbmRzfSlgO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIC0tc2Vjb25kcztcclxuICAgICAgICAgICAgICAgIGRvbmVCdXR0b25UaW1lb3V0LmlubmVyVGV4dCA9IGAgKCR7c2Vjb25kc30pYDtcclxuICAgICAgICAgICAgICAgIGlmIChzZWNvbmRzID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsKTtcclxuICAgICAgICAgICAgICAgICAgaGlkZU1vZGFsKCcuaW1wb3J0UHJvZ3Jlc3NNb2RhbCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sIDEwMDApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICB2b2lkIGZpbGUuYXJyYXlCdWZmZXIoKS50aGVuKChiKSA9PiB7XHJcbiAgICAgICAgbG9nQ29udmVydGVyV29ya2VyLnBvc3RNZXNzYWdlKGIsIFtiXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGlnbm9yZUV2ZW50ID0gKGU6IEV2ZW50KSA9PiB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH07XHJcblxyXG4gIC8vIEhhbmRsZSBkcmFnK2Ryb3Agb2YgZmlsZXMuIEhhdmUgdG8gaWdub3JlIGRyYWdlbnRlci9kcmFnb3ZlciBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLlxyXG4gIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgaWdub3JlRXZlbnQpO1xyXG4gIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBpZ25vcmVFdmVudCk7XHJcblxyXG4gIGNvbnN0IGRyb3BIYW5kbGVyID0gKGU6IERyYWdFdmVudCkgPT4ge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGR0ID0gZS5kYXRhVHJhbnNmZXI7XHJcbiAgICBpZiAoZHQpIHtcclxuICAgICAgY29uc3QgZmlsZXMgPSBkdC5maWxlcztcclxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKVxyXG4gICAgICAgIGNoZWNrRmlsZShmaWxlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBkcm9wSGFuZGxlcik7XHJcblxyXG4gIGNvbnN0ICRleHBvcnRCdXR0b24gPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5leHBvcnREQkJ1dHRvbicpO1xyXG5cclxuICBuZXcgVG9vbHRpcCgkZXhwb3J0QnV0dG9uLCAnYm90dG9tJywgJ0V4cG9ydCB0aGUgREIgKHNsb3cpLicpO1xyXG5cclxuICAvLyBBdXRvIGluaXRpYWxpemUgYWxsIGNvbGxhcHNlIGVsZW1lbnRzIG9uIHRoZSBwYWdlXHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl0nKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICBjb25zdCB0YXJnZXRTZWwgPSBuLmdldEF0dHJpYnV0ZSgnZGF0YS10YXJnZXQnKTtcclxuICAgIGlmICghdGFyZ2V0U2VsKVxyXG4gICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDb2RlKCk7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgdGFyZ2V0U2VsKTtcclxuICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgIGlmIChuLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAnZmFsc2UnKSB7XHJcbiAgICAgICAgbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xyXG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcclxuICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgLy8gSGFuZGxlIERCIGV4cG9ydFxyXG4gICRleHBvcnRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICB2b2lkIHBlcnNpc3Rvci5leHBvcnREQigpLnRoZW4oKGJsb2IpID0+IHtcclxuICAgICAgLy8gT2ZmZXIgZG93bmxvYWQgdG8gdXNlclxyXG4gICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICBhLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICBhLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBgUmFpZEVtdWxhdG9yX0RCRXhwb3J0XyR7RGF0ZS5ub3coKX0uanNvbmApO1xyXG4gICAgICBhLmNsaWNrKCk7XHJcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoYS5ocmVmKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCAkZmlsZUlucHV0ID0gcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcubG9hZEZpbGVJbnB1dCcpO1xyXG5cclxuICAvLyBIYW5kbGUgdGhlIGBMb2FkIE5ldHdvcmsgTG9nYCBidXR0b24gd2hlbiB1c2VyIHNlbGVjdHMgZmlsZXNcclxuICAkZmlsZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlOiBFdmVudCkgPT4ge1xyXG4gICAgaWYgKGUudGFyZ2V0KSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0O1xyXG4gICAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCAmJiB0YXJnZXQuZmlsZXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgdGFyZ2V0LmZpbGVzKVxyXG4gICAgICAgICAgY2hlY2tGaWxlKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIFByb21wdCB1c2VyIHRvIHNlbGVjdCBmaWxlcyBpZiB0aGV5IGNsaWNrIHRoZSBgTG9hZCBOZXR3b3JrIExvZ2AgYnV0dG9uLlxyXG4gIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5sb2FkTmV0d29ya0xvZ0J1dHRvbicpLmZvckVhY2goKG4pID0+IHtcclxuICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICRmaWxlSW5wdXQuY2xpY2soKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBIYW5kbGUgYWxsIG1vZGFsIGNsb3NlIGJ1dHRvbnNcclxuICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwgYnV0dG9uLmNsb3NlLCBbZGF0YS1kaXNtaXNzPVwibW9kYWxcIl0nKS5mb3JFYWNoKChuKSA9PiB7XHJcbiAgICBuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgaWYgKCEoZS5jdXJyZW50VGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgLy8gRmluZCB0aGUgcGFyZW50IG1vZGFsIGZyb20gdGhlIGNsb3NlIGJ1dHRvbiBhbmQgY2xvc2UgaXRcclxuICAgICAgbGV0IHRhcmdldCA9IGUuY3VycmVudFRhcmdldDtcclxuICAgICAgd2hpbGUgKCF0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb2RhbCcpICYmIHRhcmdldCAhPT0gZG9jdW1lbnQuYm9keSlcclxuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucGFyZW50RWxlbWVudCA/PyB0YXJnZXQ7XHJcblxyXG4gICAgICBpZiAodGFyZ2V0ICE9PSBkb2N1bWVudC5ib2R5KVxyXG4gICAgICAgIGhpZGVNb2RhbCgnLicgKyBbLi4udGFyZ2V0LmNsYXNzTGlzdF0uam9pbignLicpKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICAvLyBIYW5kbGUgY2xvc2luZyBhbGwgbW9kYWxzIGlmIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIHRoZSBtb2RhbFxyXG4gIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb2RhbCcpLmZvckVhY2goKG4pID0+IHtcclxuICAgIG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICAvLyBPbmx5IGNsb3NlIHRoZSBtb2RhbCBpZiB0aGUgdXNlciBhY3R1YWxseSBjbGlja2VkIG91dHNpZGUgaXQsIG5vdCBjaGlsZCBjbGlja3NcclxuICAgICAgaWYgKGUudGFyZ2V0ID09PSBuKVxyXG4gICAgICAgIGhpZGVNb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIEFzayB0aGUgdXNlciBpZiB0aGV5J3JlIHJlYWxseSBzdXJlIHRoZXkgd2FudCB0byBjbGVhciB0aGUgREJcclxuICBxdWVyeVNlbGVjdG9yU2FmZShkb2N1bWVudCwgJy5jbGVhckRCQnV0dG9uJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICBzaG93TW9kYWwoJy5kZWxldGVEQk1vZGFsJyk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIEhhbmRsZSB1c2VyIHNheWluZyB0aGV5J3JlIHJlYWxseSBzdXJlIHRoZXkgd2FudCB0byBjbGVhciB0aGUgREIgYnkgd2lwaW5nIGl0IHRoZW5cclxuICAvLyByZWZyZXNoaW5nIHRoZSBlbmNvdW50ZXIgdGFiXHJcbiAgcXVlcnlTZWxlY3RvclNhZmUoZG9jdW1lbnQsICcuZGVsZXRlREJNb2RhbCAuYnRuLXByaW1hcnknKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgIHZvaWQgcGVyc2lzdG9yLmNsZWFyREIoKS50aGVuKCgpID0+IHtcclxuICAgICAgZW5jb3VudGVyVGFiLnJlZnJlc2goKTtcclxuICAgICAgaGlkZU1vZGFsKCcuZGVsZXRlREJNb2RhbCcpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIC8vIE1ha2UgdGhlIGVtdWxhdG9yIHN0YXRlIGF2YWlsYWJsZSBmb3IgZGVidWdnaW5nXHJcbiAgd2luZG93LnJhaWRFbXVsYXRvciA9IHtcclxuICAgIGVtdWxhdG9yOiBlbXVsYXRvcixcclxuICAgIHByb2dyZXNzQmFyOiBwcm9ncmVzc0JhcixcclxuICAgIHRpbWVsaW5lQ29udHJvbGxlcjogdGltZWxpbmVDb250cm9sbGVyLFxyXG4gICAgcG9wdXBUZXh0OiBwb3B1cFRleHQsXHJcbiAgICBwZXJzaXN0b3I6IHBlcnNpc3RvcixcclxuICAgIGVuY291bnRlclRhYjogZW5jb3VudGVyVGFiLFxyXG4gICAgZW11bGF0ZWRQYXJ0eUluZm86IGVtdWxhdGVkUGFydHlJbmZvLFxyXG4gICAgZW11bGF0ZWRXZWJTb2NrZXQ6IGVtdWxhdGVkV2ViU29ja2V0LFxyXG4gICAgdGltZWxpbmVVSTogdGltZWxpbmVVSSxcclxuICB9O1xyXG59O1xyXG5cclxuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcclxuICB2b2lkIHJhaWRFbXVsYXRvck9uTG9hZCgpO1xyXG59KTtcclxuIiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4iLCJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCIvLyBUaGlzIGZ1bmN0aW9uIGFsbG93IHRvIHJlZmVyZW5jZSBhc3luYyBjaHVua3Ncbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5idW5kbGUuanNcIjtcbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjXG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkgc2NyaXB0VXJsID0gc2NyaXB0c1tzY3JpcHRzLmxlbmd0aCAtIDFdLnNyY1xuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybCArIFwiLi4vLi4vXCI7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5iID0gZG9jdW1lbnQuYmFzZVVSSSB8fCBzZWxmLmxvY2F0aW9uLmhyZWY7XG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtzXG4vLyB1bmRlZmluZWQgPSBjaHVuayBub3QgbG9hZGVkLCBudWxsID0gY2h1bmsgcHJlbG9hZGVkL3ByZWZldGNoZWRcbi8vIFtyZXNvbHZlLCByZWplY3QsIFByb21pc2VdID0gY2h1bmsgbG9hZGluZywgMCA9IGNodW5rIGxvYWRlZFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0MjQ3OiAwXG59O1xuXG4vLyBubyBjaHVuayBvbiBkZW1hbmQgbG9hZGluZ1xuXG4vLyBubyBwcmVmZXRjaGluZ1xuXG4vLyBubyBwcmVsb2FkZWRcblxuLy8gbm8gSE1SXG5cbi8vIG5vIEhNUiBtYW5pZmVzdFxuXG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8uaiA9IChjaHVua0lkKSA9PiAoaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID09PSAwKTtcblxuLy8gaW5zdGFsbCBhIEpTT05QIGNhbGxiYWNrIGZvciBjaHVuayBsb2FkaW5nXG52YXIgd2VicGFja0pzb25wQ2FsbGJhY2sgPSAocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24sIGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Ly8gYWRkIFwibW9yZU1vZHVsZXNcIiB0byB0aGUgbW9kdWxlcyBvYmplY3QsXG5cdC8vIHRoZW4gZmxhZyBhbGwgXCJjaHVua0lkc1wiIGFzIGxvYWRlZCBhbmQgZmlyZSBjYWxsYmFja1xuXHR2YXIgbW9kdWxlSWQsIGNodW5rSWQsIGkgPSAwO1xuXHRpZihjaHVua0lkcy5zb21lKChpZCkgPT4gKGluc3RhbGxlZENodW5rc1tpZF0gIT09IDApKSkge1xuXHRcdGZvcihtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYocnVudGltZSkgdmFyIHJlc3VsdCA9IHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdH1cblx0aWYocGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24pIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xuXHRmb3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuXHRcdGNodW5rSWQgPSBjaHVua0lkc1tpXTtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oaW5zdGFsbGVkQ2h1bmtzLCBjaHVua0lkKSAmJiBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkXVswXSgpO1xuXHRcdH1cblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHNbaV1dID0gMDtcblx0fVxuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHJlc3VsdCk7XG59XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rY2FjdGJvdFwiXSA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtjYWN0Ym90XCJdIHx8IFtdO1xuY2h1bmtMb2FkaW5nR2xvYmFsLmZvckVhY2god2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLCAwKSk7XG5jaHVua0xvYWRpbmdHbG9iYWwucHVzaCA9IHdlYnBhY2tKc29ucENhbGxiYWNrLmJpbmQobnVsbCwgY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpKTsiLCIiLCIvLyBzdGFydHVwXG4vLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGRlcGVuZHMgb24gb3RoZXIgbG9hZGVkIGNodW5rcyBhbmQgZXhlY3V0aW9uIG5lZWQgdG8gYmUgZGVsYXllZFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbODkwXSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oNTM0MikpKVxuX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcbiIsIiJdLCJuYW1lcyI6WyJ0YXJnZXRJc1lvdSIsImRhdGEiLCJtYXRjaGVzIiwibWUiLCJ0YXJnZXQiLCJ0YXJnZXRJc05vdFlvdSIsImNhcmVzQWJvdXRBT0UiLCJyb2xlIiwiQ2FuQWRkbGUiLCJqb2IiLCJjYXJlc0Fib3V0TWFnaWNhbCIsImNhcmVzQWJvdXRQaHlzaWNhbCIsIkNhbkZlaW50IiwibGFuZ3VhZ2VzIiwibGFuZ01hcCIsImVuIiwiZGUiLCJmciIsImphIiwiY24iLCJrbyIsImlzTGFuZyIsImxhbmciLCJsYW5nU3RycyIsImluY2x1ZGVzIiwibGFuZ1RvTG9jYWxlIiwibG9nRGVmaW5pdGlvbnMiLCJHYW1lTG9nIiwidHlwZSIsIm5hbWUiLCJtZXNzYWdlVHlwZSIsImZpZWxkcyIsInRpbWVzdGFtcCIsImNvZGUiLCJsaW5lIiwic3ViRmllbGRzIiwiY2FuQW5vbnltaXplIiwiQ2hhbmdlWm9uZSIsImlkIiwibGFzdEluY2x1ZGUiLCJDaGFuZ2VkUGxheWVyIiwicGxheWVySWRzIiwiQWRkZWRDb21iYXRhbnQiLCJsZXZlbCIsIm93bmVySWQiLCJ3b3JsZElkIiwid29ybGQiLCJucGNOYW1lSWQiLCJucGNCYXNlSWQiLCJjdXJyZW50SHAiLCJocCIsImN1cnJlbnRNcCIsIm1wIiwieCIsInkiLCJ6IiwiaGVhZGluZyIsIlJlbW92ZWRDb21iYXRhbnQiLCJvd25lciIsIlBhcnR5TGlzdCIsInBhcnR5Q291bnQiLCJpZDAiLCJpZDEiLCJpZDIiLCJpZDMiLCJpZDQiLCJpZDUiLCJpZDYiLCJpZDciLCJpZDgiLCJpZDkiLCJpZDEwIiwiaWQxMSIsImlkMTIiLCJpZDEzIiwiaWQxNCIsImlkMTUiLCJpZDE2IiwiaWQxNyIsImlkMTgiLCJpZDE5IiwiaWQyMCIsImlkMjEiLCJpZDIyIiwiaWQyMyIsIm9wdGlvbmFsRmllbGRzIiwiUGxheWVyU3RhdHMiLCJzdHJlbmd0aCIsImRleHRlcml0eSIsInZpdGFsaXR5IiwiaW50ZWxsaWdlbmNlIiwibWluZCIsInBpZXR5IiwiYXR0YWNrUG93ZXIiLCJkaXJlY3RIaXQiLCJjcml0aWNhbEhpdCIsImF0dGFja01hZ2ljUG90ZW5jeSIsImhlYWxNYWdpY1BvdGVuY3kiLCJkZXRlcm1pbmF0aW9uIiwic2tpbGxTcGVlZCIsInNwZWxsU3BlZWQiLCJ0ZW5hY2l0eSIsImxvY2FsQ29udGVudElkIiwiU3RhcnRzVXNpbmciLCJzb3VyY2VJZCIsInNvdXJjZSIsImFiaWxpdHkiLCJ0YXJnZXRJZCIsImNhc3RUaW1lIiwiQWJpbGl0eSIsImZsYWdzIiwiZGFtYWdlIiwidGFyZ2V0Q3VycmVudEhwIiwidGFyZ2V0TWF4SHAiLCJ0YXJnZXRDdXJyZW50TXAiLCJ0YXJnZXRNYXhNcCIsInRhcmdldFgiLCJ0YXJnZXRZIiwidGFyZ2V0WiIsInRhcmdldEhlYWRpbmciLCJtYXhIcCIsIm1heE1wIiwic2VxdWVuY2UiLCJmaXJzdFVua25vd25GaWVsZCIsIk5ldHdvcmtBT0VBYmlsaXR5IiwiTmV0d29ya0NhbmNlbEFiaWxpdHkiLCJyZWFzb24iLCJOZXR3b3JrRG9UIiwid2hpY2giLCJlZmZlY3RJZCIsIldhc0RlZmVhdGVkIiwiR2FpbnNFZmZlY3QiLCJlZmZlY3QiLCJkdXJhdGlvbiIsImNvdW50Iiwic291cmNlTWF4SHAiLCJIZWFkTWFya2VyIiwiTmV0d29ya1JhaWRNYXJrZXIiLCJvcGVyYXRpb24iLCJ3YXltYXJrIiwiTmV0d29ya1RhcmdldE1hcmtlciIsInRhcmdldE5hbWUiLCJMb3Nlc0VmZmVjdCIsIk5ldHdvcmtHYXVnZSIsImRhdGEwIiwiZGF0YTEiLCJkYXRhMiIsImRhdGEzIiwiTmV0d29ya1dvcmxkIiwiaXNVbmtub3duIiwiQWN0b3JDb250cm9sIiwiaW5zdGFuY2UiLCJjb21tYW5kIiwiTmFtZVRvZ2dsZSIsInRvZ2dsZSIsIlRldGhlciIsIkxpbWl0QnJlYWsiLCJ2YWx1ZUhleCIsImJhcnMiLCJOZXR3b3JrRWZmZWN0UmVzdWx0Iiwic2VxdWVuY2VJZCIsIlN0YXR1c0VmZmVjdCIsImpvYkxldmVsRGF0YSIsIk5ldHdvcmtVcGRhdGVIUCIsIk1hcCIsInJlZ2lvbk5hbWUiLCJwbGFjZU5hbWUiLCJwbGFjZU5hbWVTdWIiLCJTeXN0ZW1Mb2dNZXNzYWdlIiwicGFyYW0wIiwicGFyYW0xIiwicGFyYW0yIiwiUGFyc2VySW5mbyIsImdsb2JhbEluY2x1ZGUiLCJQcm9jZXNzSW5mbyIsIkRlYnVnIiwiUGFja2V0RHVtcCIsIlZlcnNpb24iLCJFcnJvciIsIk5vbmUiLCJhc3NlcnRMb2dEZWZpbml0aW9ucyIsImNvbnNvbGUiLCJhc3NlcnQiLCJSZWdleGVzIiwic2VwYXJhdG9yIiwibWF0Y2hEZWZhdWx0IiwibWFnaWNUcmFuc2xhdGlvblN0cmluZyIsIm1hZ2ljU3RyaW5nUmVnZXgiLCJrZXlzVGhhdFJlcXVpcmVUcmFuc2xhdGlvbiIsImRlZmF1bHRQYXJhbXMiLCJpbmNsdWRlIiwiT2JqZWN0Iiwia2V5cyIsInBhcmFtcyIsInByb3AiLCJpbmRleCIsImVudHJpZXMiLCJwYXJhbSIsImZpZWxkIiwidmFsdWUiLCJwYXJzZUhlbHBlciIsImZ1bmNOYW1lIiwidmFsaWRGaWVsZHMiLCJwdXNoIiwidmFsaWRhdGVQYXJhbXMiLCJjYXB0dXJlIiwidHJ1ZUlmVW5kZWZpbmVkIiwiZmllbGRLZXlzIiwic29ydCIsImEiLCJiIiwicGFyc2VJbnQiLCJtYXhLZXlTdHIiLCJsZW5ndGgiLCJrZXkiLCJmaWVsZE5hbWUiLCJtYXhLZXkiLCJ0cmFuc1BhcmFtcyIsImZpbHRlciIsImsiLCJuZWVkc1RyYW5zbGF0aW9ucyIsIk5ldFJlZ2V4ZXMiLCJmbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwic3RyIiwibGFzdEtleSIsImtleVN0ciIsIm1pc3NpbmdGaWVsZHMiLCJKU09OIiwic3RyaW5naWZ5IiwiZmllbGRWYWx1ZSIsInRvU3RyaW5nIiwibWF5YmVDYXB0dXJlIiwicGFyc2UiLCJzZXRGbGFnVHJhbnNsYXRpb25zTmVlZGVkIiwiZG9lc05ldFJlZ2V4TmVlZFRyYW5zbGF0aW9uIiwicmVnZXgiLCJleGVjIiwic3RhcnRzVXNpbmciLCJhYmlsaXR5RnVsbCIsImhlYWRNYXJrZXIiLCJhZGRlZENvbWJhdGFudCIsImFkZGVkQ29tYmF0YW50RnVsbCIsInJlbW92aW5nQ29tYmF0YW50IiwiZ2FpbnNFZmZlY3QiLCJzdGF0dXNFZmZlY3RFeHBsaWNpdCIsImxvc2VzRWZmZWN0IiwidGV0aGVyIiwid2FzRGVmZWF0ZWQiLCJlY2hvIiwiZ2FtZUxvZyIsImRpYWxvZyIsIm1lc3NhZ2UiLCJnYW1lTmFtZUxvZyIsInN0YXRDaGFuZ2UiLCJjaGFuZ2Vab25lIiwibmV0d29yazZkIiwibmFtZVRvZ2dsZSIsIm1hcCIsInN5c3RlbUxvZ01lc3NhZ2UiLCJVbnJlYWNoYWJsZUNvZGUiLCJjb25zdHJ1Y3RvciIsIm51bWJlclRvT3V0cHV0U3RyaW5nIiwibiIsImFvZSIsImJpZ0FvZSIsInRhbmtCdXN0ZXIiLCJtaW5pQnVzdGVyIiwidGFua0J1c3Rlck9uUGxheWVyIiwidGFua0J1c3Rlck9uWW91IiwidGFua0J1c3RlcnMiLCJ0YW5rQ2xlYXZlIiwiYXZvaWRUYW5rQ2xlYXZlIiwidGFua0NsZWF2ZU9uWW91Iiwic2hhcmVkVGFua2J1c3RlciIsInNoYXJlZFRhbmtidXN0ZXJPbllvdSIsInNoYXJlZFRhbmtidXN0ZXJPblBsYXllciIsInRhbmtTd2FwIiwic3ByZWFkIiwic3RhY2tNYXJrZXIiLCJnZXRUb2dldGhlciIsInN0YWNrT25Zb3UiLCJzdGFja09uUGxheWVyIiwic3RhY2tNaWRkbGUiLCJkb3JpdG9TdGFjayIsInNwcmVhZFRoZW5TdGFjayIsInN0YWNrVGhlblNwcmVhZCIsImRyYXdJbiIsImtub2NrYmFjayIsImtub2NrYmFja09uWW91Iiwia25vY2tiYWNrT25QbGF5ZXIiLCJsb29rVG93YXJkc0Jvc3MiLCJsb29rQXdheSIsImxvb2tBd2F5RnJvbVBsYXllciIsImxvb2tBd2F5RnJvbVRhcmdldCIsImdldEJlaGluZCIsImdvRnJvbnRPclNpZGVzIiwiZ29Gcm9udCIsImdldFVuZGVyIiwiaW4iLCJvdXQiLCJvdXRPZk1lbGVlIiwiaW5UaGVuT3V0Iiwib3V0VGhlbkluIiwiYmFja1RoZW5Gcm9udCIsImZyb250VGhlbkJhY2siLCJnb0ludG9NaWRkbGUiLCJyaWdodCIsImxlZnQiLCJnZXRMZWZ0QW5kV2VzdCIsImdldFJpZ2h0QW5kRWFzdCIsImdvRnJvbnRCYWNrIiwic2lkZXMiLCJtaWRkbGUiLCJraWxsQWRkcyIsImtpbGxFeHRyYUFkZCIsImF3YXlGcm9tRnJvbnQiLCJzbGVlcFRhcmdldCIsInN0dW5UYXJnZXQiLCJpbnRlcnJ1cHRUYXJnZXQiLCJwcmV5T25Zb3UiLCJwcmV5T25QbGF5ZXIiLCJhd2F5RnJvbUdyb3VwIiwiYXdheUZyb21QbGF5ZXIiLCJtZXRlb3JPbllvdSIsInN0b3BNb3ZpbmciLCJzdG9wRXZlcnl0aGluZyIsIm1vdmVBd2F5IiwibW92ZUFyb3VuZCIsImJyZWFrQ2hhaW5zIiwibW92ZUNoYWluc1RvZ2V0aGVyIiwiZWFydGhzaGFrZXJPbllvdSIsIndha2VVcCIsImNsb3NlVGV0aGVyc1dpdGhQbGF5ZXIiLCJmYXJUZXRoZXJzV2l0aFBsYXllciIsInVua25vd24iLCJub3J0aCIsInNvdXRoIiwiZWFzdCIsIndlc3QiLCJub3J0aHdlc3QiLCJub3J0aGVhc3QiLCJzb3V0aHdlc3QiLCJzb3V0aGVhc3QiLCJkaXJOIiwiZGlyUyIsImRpckUiLCJkaXJXIiwiZGlyTlciLCJkaXJORSIsImRpclNXIiwiZGlyU0UiLCJudW0wIiwibnVtMSIsIm51bTIiLCJudW0zIiwibnVtNCIsIm51bTUiLCJudW02IiwibnVtNyIsIm51bTgiLCJudW05IiwiaW5pdGVkIiwid3NVcmwiLCJ3cyIsInF1ZXVlIiwicnNlcUNvdW50ZXIiLCJyZXNwb25zZVByb21pc2VzIiwic3Vic2NyaWJlcnMiLCJzZW5kTWVzc2FnZSIsIm1zZyIsImNiIiwic2VuZCIsIndpbmRvdyIsIk92ZXJsYXlQbHVnaW5BcGkiLCJjYWxsSGFuZGxlciIsInByb2Nlc3NFdmVudCIsImluaXQiLCJzdWJzIiwiZm9yRWFjaCIsInN1YiIsImUiLCJlcnJvciIsImRpc3BhdGNoT3ZlcmxheUV2ZW50IiwiYWRkT3ZlcmxheUxpc3RlbmVyIiwiZXZlbnQiLCJjYWxsIiwiZXZlbnRzIiwicmVtb3ZlT3ZlcmxheUxpc3RlbmVyIiwibGlzdCIsInBvcyIsImluZGV4T2YiLCJ1bmRlZmluZWQiLCJzcGxpY2UiLCJjYWxsT3ZlcmxheUhhbmRsZXJJbnRlcm5hbCIsIl9tc2ciLCJyc2VxIiwicCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGFyc2VkIiwiY2FsbE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGVNYXAiLCJjYWxsT3ZlcmxheUhhbmRsZXIiLCJjYWxsRnVuYyIsInNldE92ZXJsYXlIYW5kbGVyT3ZlcnJpZGUiLCJvdmVycmlkZSIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZ2V0IiwiY29ubmVjdFdzIiwiV2ViU29ja2V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxvZyIsInEiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9taXNlRnVuY3MiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckFwaSIsInJlYWR5IiwiX19PdmVybGF5Q2FsbGJhY2siLCJpdGVtIiwibWF0Y2hXaXRoQ29sb25zRGVmYXVsdCIsImZpZWxkc1dpdGhQb3RlbnRpYWxDb2xvbnMiLCJkZWZLZXkiLCJhYmlsaXR5TWVzc2FnZVR5cGUiLCJhYmlsaXR5SGV4Q29kZSIsInByZWZpeCIsImhleENvZGUiLCJzbGljZSIsInRvVXBwZXJDYXNlIiwiZmllbGREZWZhdWx0IiwiZGVmYXVsdFZhbHVlIiwiYW55T2YiLCJuYW1lZENhcHR1cmUiLCJvcHRpb25hbCIsImFyZ3MiLCJhbnlPZkFycmF5IiwiYXJyYXkiLCJlbGVtIiwiUmVnRXhwIiwiam9pbiIsInJlZ2V4cFN0cmluZyIsImtDYWN0Ym90Q2F0ZWdvcmllcyIsIlRpbWVzdGFtcCIsIk5ldFRpbWVzdGFtcCIsIk5ldEZpZWxkIiwiTG9nVHlwZSIsIkFiaWxpdHlDb2RlIiwiT2JqZWN0SWQiLCJOYW1lIiwiRmxvYXQiLCJtb2RpZmllcnMiLCJnbG9iYWwiLCJtdWx0aWxpbmUiLCJyZXBsYWNlIiwibWF0Y2giLCJncm91cCIsInBhcnNlR2xvYmFsIiwiZiIsIk91dHB1dHMiLCJzZXZlcml0eUxpc3QiLCJidWlsdEluUmVzcG9uc2VTdHIiLCJ0cmlnZ2VyRnVuY3Rpb25zIiwidHJpZ2dlclRleHRPdXRwdXRGdW5jdGlvbnMiLCJ0cmlnZ2VyT3V0cHV0RnVuY3Rpb25zIiwic2V2ZXJpdHlNYXAiLCJnZXRUZXh0Iiwic2V2IiwiZGVmYXVsdEluZm9UZXh0IiwiZGVmYXVsdEFsZXJ0VGV4dCIsImRlZmF1bHRBbGFybVRleHQiLCJnZXRUYXJnZXQiLCJnZXRTb3VyY2UiLCJjb21iaW5lRnVuY3MiLCJ0ZXh0MSIsImZ1bmMxIiwidGV4dDIiLCJmdW5jMiIsIm9iaiIsIm91dHB1dCIsImlzUGxheWVySWQiLCJzdGF0aWNSZXNwb25zZSIsInRleHQiLCJfZGF0YSIsIl9tYXRjaGVzIiwicmVzcG9uc2VPdXRwdXRTdHJpbmdzIiwiUmVzcG9uc2VzIiwidGFyZ2V0U2V2Iiwib3RoZXJTZXYiLCJvdXRwdXRTdHJpbmdzIiwibm9UYXJnZXQiLCJidXN0ZXJPbllvdSIsImJ1c3Rlck9uVGFyZ2V0IiwidGFyZ2V0RnVuYyIsIm90aGVyRnVuYyIsInBsYXllciIsIlNob3J0TmFtZSIsImNvbWJpbmVkIiwidGFua0J1c3RlclN3YXAiLCJidXN0ZXJTZXYiLCJzd2FwU2V2IiwidGFua1N3YXBGdW5jIiwiYnVzdGVyRnVuYyIsImNsZWF2ZU9uWW91IiwiY2xlYXZlTm9UYXJnZXQiLCJhdm9pZENsZWF2ZSIsInNoYXJlZFRhbmtCdXN0ZXIiLCJzaGFyZWRUYW5rYnVzdGVyT25UYXJnZXQiLCJzdGFja01hcmtlck9uIiwic3RhY2tPblRhcmdldCIsImtub2NrYmFja09uIiwia25vY2tiYWNrT25UYXJnZXQiLCJsb29rVG93YXJkcyIsImxvb2tBd2F5RnJvbSIsImxvb2tBd2F5RnJvbVNvdXJjZSIsImdldEluIiwiZ2V0T3V0IiwiZ2V0SW5UaGVuT3V0IiwiZ2V0T3V0VGhlbkluIiwiZ2V0QmFja1RoZW5Gcm9udCIsImdldEZyb250VGhlbkJhY2siLCJnb01pZGRsZSIsImdvUmlnaHQiLCJnb0xlZnQiLCJnb1dlc3QiLCJnb0Vhc3QiLCJnb1NpZGVzIiwic2xlZXAiLCJzdHVuT3JJbnRlcnJ1cHRJZlBvc3NpYmxlIiwic3R1biIsImludGVycnVwdCIsIkNhblNpbGVuY2UiLCJDYW5TdHVuIiwicHJleU9uIiwicHJleU9uVGFyZ2V0IiwiYXdheUZyb20iLCJhd2F5RnJvbVRhcmdldCIsImVhcnRoc2hha2VyIiwicmVzcG9uc2VNYXBUeXBlQXNzZXJ0aW9uIiwiX0NvbmRpdGlvbnMiLCJDb25kaXRpb25zIiwiX0NvbnRlbnRUeXBlIiwiQ29udGVudFR5cGUiLCJfTmV0UmVnZXhlcyIsIl9SZWdleGVzIiwiX1Jlc3BvbnNlcyIsIl9PdXRwdXRzIiwiX1V0aWwiLCJVdGlsIiwiX1pvbmVJZCIsIlpvbmVJZCIsIl9ab25lSW5mbyIsIlpvbmVJbmZvIiwiVXNlckNvbmZpZyIsImdldERlZmF1bHRCYXNlT3B0aW9ucyIsIlBhcnNlckxhbmd1YWdlIiwiU2hvcnRMb2NhbGUiLCJEaXNwbGF5TGFuZ3VhZ2UiLCJUZXh0QWxlcnRzRW5hYmxlZCIsIlNvdW5kQWxlcnRzRW5hYmxlZCIsIlNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJHcm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJldmFsVXNlckZpbGUiLCJjb250ZW50Iiwib3B0aW9ucyIsIk9wdGlvbnMiLCJldmFsIiwicmVnaXN0ZXJPcHRpb25zIiwib3ZlcmxheU5hbWUiLCJvcHRpb25UZW1wbGF0ZSIsInVzZXJGaWxlQ2FsbGJhY2siLCJvcHRpb25UZW1wbGF0ZXMiLCJ1c2VyRmlsZUNhbGxiYWNrcyIsInNvcnRVc2VyRmlsZXMiLCJzcGxpdEtleU1hcCIsInNwbGl0Iiwia2V5QSIsImtleUIiLCJsaXN0QSIsImxpc3RCIiwibWF4TGVuIiwiTWF0aCIsIm1heCIsImlkeCIsImVudHJ5QSIsImVudHJ5QiIsImlzTGFzdEEiLCJpc0xhc3RCIiwiZmlsZUEiLCJmaWxlQiIsImZpbGVuYW1lT25seURpZmYiLCJsb2NhbGVDb21wYXJlIiwiZGlmZiIsImZpbHRlclVzZXJGaWxlcyIsInBhdGhzIiwib3JpZ092ZXJsYXlOYW1lIiwib3JpZ0V4dGVuc2lvbiIsImV4dGVuc2lvbiIsInRvTG93ZXJDYXNlIiwib3JpZ1BhdGgiLCJwYXRoIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwiZ2V0VXNlckNvbmZpZ0xvY2F0aW9uIiwiY2FsbGJhY2siLCJjdXJyZW50bHlSZWxvYWRpbmciLCJyZWxvYWRPbmNlIiwicmVsb2FkIiwibG9hZFVzZXJGaWxlcyIsInJlYWRPcHRpb25zIiwib3ZlcmxheSIsImxvYWRVc2VyIiwiYmFzZVBhdGgiLCJkZXRhaWwiLCJ1c2VyTG9jYXRpb24iLCJsb2NhbEZpbGVzIiwibG9jYWxVc2VyRmlsZXMiLCJsYW5ndWFnZSIsInBhcnNlckxhbmd1YWdlIiwiTGFuZ3VhZ2UiLCJzeXN0ZW1Mb2NhbGUiLCJTeXN0ZW1Mb2NhbGUiLCJzaG9ydExvY2FsZSIsInN1YnN0cmluZyIsImRpc3BsYXlMYW5nIiwiZGlzcGxheUxhbmd1YWdlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGFzc0xpc3QiLCJhZGQiLCJhZGRVbmxvY2tUZXh0Iiwic2F2ZWRDb25maWciLCJwcm9jZXNzT3B0aW9ucyIsInByaW50VXNlckZpbGUiLCJ3YXJuT25WYXJpYWJsZVJlc2V0TWFwIiwicmFpZGJvc3MiLCJ2YXJpYWJsZVRyYWNrZXIiLCJzb3J0ZWRGaWxlcyIsImpzRmlsZXMiLCJjc3NGaWxlcyIsImpzRmlsZSIsIlNraW4iLCJoYW5kbGVTa2luIiwiY3NzRmlsZSIsInVzZXJDc3NUZXh0IiwiY3JlYXRlRWxlbWVudCIsImNvbnRlbnRzIiwiaW5uZXJUZXh0IiwiaGVhZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiYXBwZW5kQ2hpbGQiLCJocmVmIiwidGhlbiIsInJlYWR5U3RhdGUiLCJza2luTmFtZSIsInNsYXNoSWR4IiwibGFzdEluZGV4T2YiLCJzdWJzdHIiLCJza2luSHJlZiIsImFwcGVuZENTU0xpbmsiLCJhcHBlbmRKU0xpbmsiLCJzcmMiLCJ1c2VySlMiLCJzZXRBdHRyaWJ1dGUiLCJ1c2VyQ1NTIiwidGVtcGxhdGUiLCJ0ZW1wbGF0ZU9wdGlvbnMiLCJvcHQiLCJkZWZhdWx0IiwibmV3VmFsdWUiLCJzZXR0ZXJGdW5jIiwiZmxvb3IiLCJwYXJzZUZsb2F0IiwicHJvY2Vzc0V4dHJhT3B0aW9ucyIsInVubG9ja1RleHQiLCJ0ZXh0RWxlbSIsImdldEVsZW1lbnRCeUlkIiwic3R5bGUiLCJkaXNwbGF5IiwiYm9keSIsImFwcGVuZCIsImlubmVySFRNTCIsImRvY0NsYXNzTGlzdCIsImlzTG9ja2VkIiwicmVtb3ZlIiwibmFtZVRvSm9iRW51bSIsIk5PTkUiLCJHTEEiLCJQR0wiLCJNUkQiLCJMTkMiLCJBUkMiLCJDTkoiLCJUSE0iLCJDUlAiLCJCU00iLCJBUk0iLCJHU00iLCJMVFciLCJXVlIiLCJBTEMiLCJDVUwiLCJNSU4iLCJCVE4iLCJGU0giLCJQTEQiLCJNTksiLCJXQVIiLCJEUkciLCJCUkQiLCJXSE0iLCJCTE0iLCJBQ04iLCJTTU4iLCJTQ0giLCJST0ciLCJOSU4iLCJNQ0giLCJEUksiLCJBU1QiLCJTQU0iLCJSRE0iLCJCTFUiLCJHTkIiLCJETkMiLCJSUFIiLCJTR0UiLCJhbGxKb2JzIiwiYWxsUm9sZXMiLCJ0YW5rSm9icyIsImhlYWxlckpvYnMiLCJtZWxlZURwc0pvYnMiLCJyYW5nZWREcHNKb2JzIiwiY2FzdGVyRHBzSm9icyIsImRwc0pvYnMiLCJjcmFmdGluZ0pvYnMiLCJnYXRoZXJpbmdKb2JzIiwic3R1bkpvYnMiLCJzaWxlbmNlSm9icyIsInNsZWVwSm9icyIsImZlaW50Sm9icyIsImFkZGxlSm9icyIsImNsZWFuc2VKb2JzIiwiam9iVG9Sb2xlTWFwIiwiYWRkVG9NYXAiLCJqb2JzIiwic2V0Iiwid2F0Y2hDb21iYXRhbnRNYXAiLCJzaG91bGRDYW5jZWxXYXRjaCIsImVudHJ5IiwiY2FuY2VsIiwibWF4RHVyYXRpb24iLCJEYXRlIiwibm93Iiwic3RhcnQiLCJ3YXRjaENvbWJhdGFudCIsImZ1bmMiLCJyZXMiLCJyZWoiLCJkZWxheSIsImlkcyIsIm5hbWVzIiwicHJvcHMiLCJjaGVja0Z1bmMiLCJyZXNwb25zZSIsImpvYkVudW1Ub0pvYiIsImZpbmQiLCJqb2JUb0pvYkVudW0iLCJqb2JUb1JvbGUiLCJnZXRBbGxSb2xlcyIsImlzVGFua0pvYiIsImlzSGVhbGVySm9iIiwiaXNNZWxlZURwc0pvYiIsImlzUmFuZ2VkRHBzSm9iIiwiaXNDYXN0ZXJEcHNKb2IiLCJpc0Rwc0pvYiIsImlzQ3JhZnRpbmdKb2IiLCJpc0dhdGhlcmluZ0pvYiIsImlzQ29tYmF0Sm9iIiwiY2FuU3R1biIsImNhblNpbGVuY2UiLCJjYW5TbGVlcCIsImNhbkNsZWFuc2UiLCJjYW5GZWludCIsImNhbkFkZGxlIiwiY2xlYXJXYXRjaENvbWJhdGFudHMiLCJ3YXRjaCIsInBvcCIsImVtcHR5Um9sZVRvUGFydHlOYW1lcyIsInRhbmsiLCJoZWFsZXIiLCJkcHMiLCJjcmFmdGVyIiwiZ2F0aGVyZXIiLCJub25lIiwiUGFydHlUcmFja2VyIiwib25QYXJ0eUNoYW5nZWQiLCJwYXJ0eSIsInJlc2V0IiwiZGV0YWlscyIsImFsbGlhbmNlSWRzXyIsImFsbGlhbmNlTmFtZXNfIiwiam9iTmFtZSIsImlkVG9OYW1lXyIsIm5hbWVUb1JvbGVfIiwiaW5QYXJ0eSIsInBhcnR5SWRzXyIsInBhcnR5TmFtZXNfIiwicm9sZVRvUGFydHlOYW1lc18iLCJwYXJ0eU5hbWVzIiwicGFydHlJZHMiLCJhbGxpYW5jZU5hbWVzIiwidGFua05hbWVzIiwiaGVhbGVyTmFtZXMiLCJkcHNOYW1lcyIsImlzUm9sZSIsImlzVGFuayIsImlzSGVhbGVyIiwiaXNEUFMiLCJpbkFsbGlhbmNlIiwib3RoZXJUYW5rIiwib3RoZXJIZWFsZXIiLCJwYXJ0eUluZGV4IiwibmFtZUZyb21JZCIsImRlZmF1bHRSYWlkYm9zc05vbkNvbmZpZ09wdGlvbnMiLCJQbGF5ZXJOaWNrcyIsIkluZm9Tb3VuZCIsIkFsZXJ0U291bmQiLCJBbGFybVNvdW5kIiwiTG9uZ1NvdW5kIiwiUHVsbFNvdW5kIiwiQXVkaW9BbGxvd2VkIiwiRGlzYWJsZWRUcmlnZ2VycyIsIlBlclRyaWdnZXJBdXRvQ29uZmlnIiwiUGVyVHJpZ2dlck9wdGlvbnMiLCJQZXJab25lVGltZWxpbmVDb25maWciLCJUcmlnZ2VycyIsIklzUmVtb3RlUmFpZGJvc3MiLCJUcmFuc2Zvcm1UdHMiLCJ0IiwiZGVmYXVsdFJhaWRib3NzQ29uZmlnT3B0aW9ucyIsIkRlZmF1bHRBbGVydE91dHB1dCIsIkFsZXJ0c0xhbmd1YWdlIiwiVGltZWxpbmVMYW5ndWFnZSIsIlRpbWVsaW5lRW5hYmxlZCIsIkFsZXJ0c0VuYWJsZWQiLCJTaG93VGltZXJCYXJzQXRTZWNvbmRzIiwiS2VlcEV4cGlyZWRUaW1lckJhcnNGb3JTZWNvbmRzIiwiQmFyRXhwaXJlc1Nvb25TZWNvbmRzIiwiTWF4TnVtYmVyT2ZUaW1lckJhcnMiLCJEaXNwbGF5QWxhcm1UZXh0Rm9yU2Vjb25kcyIsIkRpc3BsYXlBbGVydFRleHRGb3JTZWNvbmRzIiwiRGlzcGxheUluZm9UZXh0Rm9yU2Vjb25kcyIsIkFsYXJtU291bmRWb2x1bWUiLCJBbGVydFNvdW5kVm9sdW1lIiwiSW5mb1NvdW5kVm9sdW1lIiwiTG9uZ1NvdW5kVm9sdW1lIiwiUHVsbFNvdW5kVm9sdW1lIiwiUnVtYmxlRW5hYmxlZCIsIkluZm9SdW1ibGVEdXJhdGlvbiIsIkluZm9SdW1ibGVXZWFrIiwiSW5mb1J1bWJsZVN0cm9uZyIsIkFsZXJ0UnVtYmxlRHVyYXRpb24iLCJBbGVydFJ1bWJsZVdlYWsiLCJBbGVydFJ1bWJsZVN0cm9uZyIsIkFsYXJtUnVtYmxlRHVyYXRpb24iLCJBbGFybVJ1bWJsZVdlYWsiLCJBbGFybVJ1bWJsZVN0cm9uZyIsImNhY3Rib3RXb3JtaG9sZVN0cmF0IiwiY2FjdGJvdGU4c1VwdGltZUtub2NrYmFja1N0cmF0Iiwic3luY0tleXMiLCJzZWFsIiwidW5zZWFsIiwiZW5nYWdlIiwidGV4dEtleXMiLCJFIiwiTiIsIlMiLCJXIiwiTkUiLCJOVyIsIlNFIiwiU1ciLCJUYW5rIiwiSGVhbGVyIiwiRFBTIiwiTnVtYmVyIiwiY29tbW9uUmVwbGFjZW1lbnQiLCJyZXBsYWNlU3luYyIsInJlcGxhY2VUZXh0IiwicGFydGlhbENvbW1vblJlcGxhY2VtZW50S2V5cyIsImJhY2tDb21wYXRQYXJzZWRTeW5jUmVwbGFjZSIsImRlZmF1bHRPcHRpb25zIiwiVGltZWxpbmVQYXJzZXIiLCJyZXBsYWNlbWVudHMiLCJ0cmlnZ2VycyIsInN0eWxlcyIsInpvbmVJZCIsInBlclRyaWdnZXJBdXRvQ29uZmlnIiwiaWdub3JlcyIsInRleHRzIiwic3luY1N0YXJ0cyIsInN5bmNFbmRzIiwiZXJyb3JzIiwidGltZWxpbmVDb25maWciLCJJZ25vcmUiLCJ1bmlxdWVpZCIsInJlZ2V4ZXMiLCJjb21tZW50IiwiY29tbWVudExpbmUiLCJkdXJhdGlvbkNvbW1hbmQiLCJpZ25vcmUiLCJqdW1wQ29tbWFuZCIsInBvcHVwVGV4dCIsInNvdW5kQWxlcnQiLCJzcGVha2VyIiwic3luY0NvbW1hbmQiLCJ0dHMiLCJ3aW5kb3dDb21tYW5kIiwidHJpZ2dlciIsImxpbmVzIiwibGluZU51bWJlciIsInRyaW0iLCJ0ZXN0Iiwib3JpZ2luYWxMaW5lIiwiYmVmb3JlU2Vjb25kcyIsInR0c0l0ZW1zIiwic2Vjb25kc0JlZm9yZSIsInBvcHVwVGV4dEl0ZW1zIiwicGFyc2VkTGluZSIsInRpbWUiLCJzZWNvbmRzIiwiR2V0UmVwbGFjZWRUZXh0IiwiYWN0aXZlVGltZSIsImNvbW1hbmRNYXRjaCIsInN5bmMiLCJvcmlnUmVnZXhTdHIiLCJHZXRSZXBsYWNlZFN5bmMiLCJlbmQiLCJhcmdNYXRjaCIsImp1bXAiLCJmb3VuZCIsIm1hdGNoZWRUZXh0RXZlbnQiLCJtIiwiYXV0b0NvbmZpZyIsInNvcnRLZXkiLCJHZXRSZXBsYWNlZEhlbHBlciIsInJlcGxhY2VLZXkiLCJyZXBsYWNlTGFuZyIsImlzR2xvYmFsIiwiciIsImxvY2FsZSIsInJlcHMiLCJyZXBsYWNlbWVudCIsInJlcGwiLCJyZW5hbWUiLCJSZW5hbWUiLCJHZXRNaXNzaW5nVHJhbnNsYXRpb25zVG9JZ25vcmUiLCJyYWlkYm9zc0ZpbGVEYXRhIiwicmFpZGJvc3NPcHRpb25zIiwia09wdGlvbktleXMiLCJrVHJpZ2dlck9wdGlvbnMiLCJsYWJlbCIsInRleHRBbmRTb3VuZCIsInR0c0FuZFRleHQiLCJ0dHNPbmx5IiwidGV4dE9ubHkiLCJkaXNhYmxlZCIsInRyaWdnZXJTb3VuZE9wdGlvbnMiLCJrRGV0YWlsS2V5cyIsImNscyIsImRlYnVnT25seSIsImdlbmVyYXRlZE1hbnVhbGx5Iiwia1RpbWVsaW5lVGFibGVIZWFkZXJzIiwic2hvdWxkRGlzcGxheVRleHQiLCJvdmVycmlkZVRleHQiLCJkZXRhaWxLZXlzIiwia01pc2NUcmFuc2xhdGlvbnMiLCJ2YWx1ZURlZmF1bHQiLCJ2YWx1ZUlzRnVuY3Rpb24iLCJ3YXJuaW5nIiwibWlzc2luZ0lkIiwib3ZlcnJpZGRlbkJ5RmlsZSIsInZpZXdUcmlnZ2VyU291cmNlIiwiZWRpdFRpbWVsaW5lIiwidmFsaWREdXJhdGlvbk9yVW5kZWZpbmVkIiwidmFsRW50cnkiLCJ2YWwiLCJpc05hTiIsImNhbkJlQ29uZmlndXJlZCIsInRyaWciLCJpc01pc3NpbmdJZCIsImFkZFRyaWdnZXJEZXRhaWwiLCJjb250YWluZXIiLCJsYWJlbFRleHQiLCJkZXRhaWxUZXh0IiwiZGV0YWlsQ2xzIiwic2V0T3B0aW9uc0Zyb21PdXRwdXRWYWx1ZSIsIkRvTm90aGluZ0Z1bmNQcm94eSIsIm91dHB1dFN0cmluZ3NDYWxsYmFjayIsIlByb3h5IiwiX3RhcmdldCIsInByb3BlcnR5IiwiX25hbWUiLCJtYWtlTGluayIsImxhbmdPckVuIiwiUmFpZGJvc3NDb25maWd1cmF0b3IiLCJjYWN0Ym90Q29uZmlndXJhdG9yIiwiYmFzZSIsImFsZXJ0c0xhbmciLCJnZXRPcHRpb24iLCJ0aW1lbGluZUxhbmciLCJidWlsZFVJIiwicmFpZGJvc3NGaWxlcyIsInVzZXJPcHRpb25zIiwiZmlsZU1hcCIsInByb2Nlc3NSYWlkYm9zc0ZpbGVzIiwiZXhwYW5zaW9uRGl2cyIsImluZm8iLCJleHBhbnNpb24iLCJzZWN0aW9uIiwiZXhwYW5zaW9uRGl2IiwiZXhwYW5zaW9uQ29udGFpbmVyIiwiZXhwYW5zaW9uSGVhZGVyIiwib25jbGljayIsInRyaWdnZXJDb250YWluZXIiLCJoZWFkZXJEaXYiLCJwYXJ0cyIsInRpdGxlIiwicGFydCIsInBhcnREaXYiLCJ0cmlnZ2VyU2V0IiwidGltZWxpbmUiLCJidWlsZFRpbWVsaW5lVUlDb250YWluZXIiLCJ0cmlnZ2VyT3B0aW9ucyIsInRyaWdJZCIsImhhc091dHB1dEZ1bmMiLCJkZXZlbG9wZXJPcHRpb25zIiwidHJpZ2dlckRpdiIsInRyaWdnZXJEZXRhaWxzIiwiYnVpbGRUcmlnZ2VyT3B0aW9ucyIsInRyYW5zbGF0ZSIsImJhc2VUZXh0IiwiZGV0YWlsU3RyaW5nS2V5IiwiZGV0YWlsS2V5IiwidHJpZ091dHB1dCIsImNvbmZpZ091dHB1dCIsInRyaWdGdW5jIiwiaXNUaW1lbGluZVRyaWdnZXIiLCJvcHRpb25LZXkiLCJkaXYiLCJpbnB1dCIsInN0ZXAiLCJwbGFjZWhvbGRlciIsImdldFN0cmluZ09wdGlvbiIsInNldEZ1bmMiLCJzZXRPcHRpb24iLCJvbmNoYW5nZSIsIm9uaW5wdXQiLCJkdXJhdGlvblNlY29uZHMiLCJvdXRwdXRTdHJpbmciLCJwMCIsInAxIiwicDIiLCJiYXNlVXJsIiwidXJsRmlsZXBhdGgiLCJlc2NhcGVkVHJpZ2dlcklkIiwidXJpQ29tcG9uZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidXJsU3RyaW5nIiwicGFyZW50IiwiaGFzRXZlckJlZW5FeHBhbmRlZCIsInRpbWVsaW5lRnJvbVNldCIsImJ1aWxkVGltZWxpbmVVSSIsImFkZFRpbWVsaW5lIiwib2JqVmFsIiwiYmxhbmtEYXRhIiwidGltZWxpbmVSZXBsYWNlIiwidW5pcUV2ZW50cyIsImhlYWRlciIsInZhbHVlcyIsImNoZWNrSW5wdXQiLCJlbmFibGVJZCIsImNoZWNrZWQiLCJnZXRCb29sZWFuT3B0aW9uIiwidGltZWxpbmVUZXh0IiwidGV4dElucHV0IiwidGV4dElkIiwidmFsdWVPckZ1bmN0aW9uIiwicmVzdWx0IiwicHJvY2Vzc1RyaWdnZXIiLCJmYWtlT3V0cHV0UHJveHkiLCJhc3NpZ24iLCJiYXNlRmFrZURhdGEiLCJjdXJyZW50SFAiLCJjb25maWdPcHRpb25zIiwiU3RvcENvbWJhdCIsIlBhcnNlTG9jYWxlRmxvYXQiLCJDYW5TbGVlcCIsIkNhbkNsZWFuc2UiLCJwYXJzZXJMYW5nIiwicGFydGlhbEZha2VEYXRhRW50cmllcyIsImZha2VEYXRhRW50cmllcyIsImZpcnN0RGF0YSIsImtGYWtlTWF0Y2hlcyIsIm5wY0lkIiwib3V0cHV0S2V5cyIsImV2YWxUcmlnZ2VyIiwicmVzdWx0U3RyIiwibGFuZ1NwZWNpZmljUmVnZXhlcyIsImdldFJlZ2V4IiwiYmFzZUZpZWxkIiwic2hvcnRMYW5ndWFnZSIsImNoYXJBdCIsImNvbmNhdFN0ciIsImxhbmdTcGVjaWZpY1JlZ2V4IiwiYmFzZVJlZ2V4IiwidGltZWxpbmVSZWdleCIsInRyaWdnZXJSZWdleCIsInRyaWdnZXJOZXRSZWdleCIsImZpbGVzIiwidHJpZ2dlckZpbGVzIiwidGltZWxpbmVGaWxlcyIsImZpbGVuYW1lIiwidHJpZ2dlclNldE9yU3RyaW5nIiwicHJvY2Vzc0ZpbGVzIiwidHJpZ2dlcklkeCIsInByZXZpb3VzVHJpZ2dlcldpdGhJZCIsInJhd1RyaWdnZXJzIiwidGltZWxpbmVUcmlnZ2VycyIsImlzVXNlclRyaWdnZXJTZXQiLCJmbGF0dGVuVGltZWxpbmUiLCJ0cmlnZ2VyQXJyIiwiYmFzZVRyaWciLCJwcmV2aW91cyIsImxhYmVsRGl2IiwidXBkYXRlTGFiZWwiLCJzZWxlY3RWYWx1ZSIsInNlbGVjdGVkIiwidGltZWxpbmVGaWxlIiwibGFzdEluZGV4IiwiZGlyIiwidXNlckZpbGVIYW5kbGVyIiwiYmFzZU9wdGlvbnMiLCJiYXNlVHJpZ2dlclNldCIsInByb2Nlc3NQZXJUcmlnZ2VyQXV0b0NvbmZpZyIsIm9wdGlvbk5hbWUiLCJvdXRwdXRPYmpzIiwicHJvY2Vzc1BlclpvbmVUaW1lbGluZUNvbmZpZyIsInBlclpvbmVUaW1lbGluZUNvbmZpZyIsInpvbmVLZXkiLCJ6b25lRW50cnkiLCJlbmFibGVFbnRyeSIsInJlcGxhY2VFbnRyeSIsImJ1aWxkRXh0cmFVSSIsImJ1aWxkZXIiLCJodG1sIiwiZGVidWciLCJDb21iYXRhbnQiLCJzZXROYW1lIiwic2VydmVyIiwiaGFzU3RhdGUiLCJzdGF0ZXMiLCJwdXNoU3RhdGUiLCJzdGF0ZSIsImxhdGVzdFRpbWVzdGFtcCIsInNpZ25pZmljYW50U3RhdGVzIiwibmV4dFNpZ25pZmljYW50U3RhdGUiLCJsYXN0U2lnbmlmaWNhbnRTdGF0ZUluZGV4IiwiZ2V0U3RhdGVCeUluZGV4IiwiaSIsInN0YXRlSW5kZXgiLCJwdXNoUGFydGlhbFN0YXRlIiwic3RhdGVUaW1lc3RhbXAiLCJzIiwicGFydGlhbENsb25lIiwibGFzdFNpZ25pZmljYW50U3RhdGVUaW1lc3RhbXAiLCJvbGRTdGF0ZUpTT04iLCJuZXdTdGF0ZUpTT04iLCJnZXRTdGF0ZSIsInN0YXRlQnlUaW1lc3RhbXAiLCJpbml0aWFsVGltZXN0YW1wIiwicHJldlRpbWVzdGFtcCIsIkNvbWJhdGFudEpvYlNlYXJjaCIsImdldEpvYiIsImFiaWxpdHlJZCIsImFiaWxpdGllcyIsIkNvbWJhdGFudFN0YXRlIiwicG9zWCIsInBvc1kiLCJwb3NaIiwidGFyZ2V0YWJsZSIsInRvUGx1Z2luU3RhdGUiLCJQb3NYIiwiUG9zWSIsIlBvc1oiLCJIZWFkaW5nIiwiQ3VycmVudEhQIiwiTWF4SFAiLCJDdXJyZW50TVAiLCJNYXhNUCIsImxvY2FsZUxpbmVzIiwiY291bnRkb3duU3RhcnQiLCJjb3VudGRvd25FbmdhZ2UiLCJjb3VudGRvd25DYW5jZWwiLCJhcmVhU2VhbCIsImFyZWFVbnNlYWwiLCJjcmFmdGluZ1N0YXJ0IiwidHJpYWxDcmFmdGluZ1N0YXJ0IiwiY3JhZnRpbmdGaW5pc2giLCJ0cmlhbENyYWZ0aW5nRmluaXNoIiwiY3JhZnRpbmdGYWlsIiwidHJpYWxDcmFmdGluZ0ZhaWwiLCJjcmFmdGluZ0NhbmNlbCIsInRyaWFsQ3JhZnRpbmdDYW5jZWwiLCJSZWdleFNldCIsImxvY2FsZVJlZ2V4IiwiYnVpbGRMb2NhbGVSZWdleGVzIiwibG9jYWxlTmV0UmVnZXgiLCJuZXRSZWdleGVzIiwibG9jYWxlcyIsImZyb21FbnRyaWVzIiwiYnVpbGRMb2NhbGVSZWdleCIsInJlZ2V4RW4iLCJyZWdleFNldCIsIkxvY2FsZVJlZ2V4IiwiTG9jYWxlTmV0UmVnZXgiLCJxdWVyeVNlbGVjdG9yU2FmZSIsIm5vZGUiLCJzZWwiLCJyZXQiLCJxdWVyeVNlbGVjdG9yIiwiSFRNTEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsU2FmZSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJnZXRUZW1wbGF0ZUNoaWxkIiwiSFRNTFRlbXBsYXRlRWxlbWVudCIsImZpcnN0RWxlbWVudENoaWxkIiwiY2xvbmVTYWZlIiwiY2xvbmVkIiwiY2xvbmVOb2RlIiwidHpPZmZzZXRNYXAiLCJnZXRUaW1lem9uZU9mZnNldE1pbGxpcyIsInRpbWVTdHJpbmciLCJ0aW1lem9uZU9mZnNldFN0cmluZyIsIm1hcHBlZFZhbHVlIiwiZGVmYXVsdE9mZnNldCIsImdldFRpbWV6b25lT2Zmc2V0Iiwib3BlcmF0b3IiLCJ0aW1lem9uZU9mZnNldFBhcnRzIiwiaG91cnNTdHJpbmciLCJtaW51dGVzU3RyaW5nIiwiaG91cnMiLCJtaW51dGVzIiwidHpPZmZzZXQiLCJFbXVsYXRvckNvbW1vbiIsImNsb25lRGF0YSIsImV4Y2x1ZGUiLCJfY2xvbmVEYXRhIiwidGltZVRvU3RyaW5nIiwiaW5jbHVkZU1pbGxpcyIsIm5lZ2F0aXZlIiwiYWJzIiwibWlsbGlzTnVtIiwic2Vjc051bSIsIm1pbGxpcyIsInNlY3MiLCJtaW5zIiwidGltZVRvRGF0ZVN0cmluZyIsInR6T2Zmc2V0TWlsbGlzIiwiZGF0ZU9iamVjdFRvRGF0ZVN0cmluZyIsImRhdGUiLCJjb252RGF0ZSIsImdldFRpbWUiLCJ5ZWFyIiwiZ2V0VVRDRnVsbFllYXIiLCJtb250aCIsInplcm9QYWQiLCJnZXRVVENNb250aCIsImRheSIsImdldFVUQ0RhdGUiLCJ0aW1lVG9UaW1lU3RyaW5nIiwiZGF0ZU9iamVjdFRvVGltZVN0cmluZyIsImhvdXIiLCJnZXRVVENIb3VycyIsIm1pbnV0ZSIsImdldFVUQ01pbnV0ZXMiLCJzZWNvbmQiLCJnZXRVVENTZWNvbmRzIiwiZ2V0VVRDTWlsbGlzZWNvbmRzIiwibXNUb0R1cmF0aW9uIiwibXMiLCJ0bXAiLCJkYXRlVGltZVRvU3RyaW5nIiwiZGF0ZVN0cmluZyIsImxlbiIsInBhZFN0YXJ0IiwicHJvcGVyQ2FzZSIsInR4dCIsInNwYWNlUGFkTGVmdCIsImRvZXNMaW5lTWF0Y2giLCJsYW5nU3RyIiwiZ3JvdXBzIiwibWF0Y2hTdGFydCIsImNvdW50ZG93blJlZ2V4ZXMiLCJTdGFydEluIiwiU3RhcnRUeXBlIiwic2VhbFJlZ2V4ZXMiLCJlbmdhZ2VSZWdleGVzIiwibWF0Y2hFbmQiLCJ3aW5SZWdleCIsIkVuZFR5cGUiLCJ3aXBlUmVnZXgiLCJjYWN0Ym90V2lwZVJlZ2V4IiwidW5zZWFsUmVnZXhlcyIsInVua25vd25Mb2dNZXNzYWdlUHJlZml4IiwibG9nTWVzc2FnZVByZWZpeCIsImxvZ0RlZnNHZW5lcmljIiwiZGVmIiwiTGluZUV2ZW50IiwicmVwbyIsIm5ldHdvcmtMaW5lIiwidGltZXN0YW1wU3RyaW5nIiwiZGVjRXZlbnRTdHIiLCJkZWNFdmVudCIsImhleEV2ZW50IiwiY2hlY2tzdW0iLCJ1cGRhdGVUaW1lc3RhbXAiLCJjb252ZXJ0ZWRMaW5lIiwibG9nTWVzc2FnZU5hbWUiLCJpc0RhbWFnZUhhbGxvd2VkIiwiaXNEYW1hZ2VCaWciLCJjYWxjdWxhdGVEYW1hZ2UiLCJyZXZlcnNlIiwiaXNMaW5lRXZlbnRTb3VyY2UiLCJpc0xpbmVFdmVudFRhcmdldCIsImlzTGluZUV2ZW50Sm9iTGV2ZWwiLCJpc0xpbmVFdmVudEFiaWxpdHkiLCJQZXROYW1lc0J5TGFuZyIsIkNvbWJhdGFudFRyYWNrZXIiLCJsb2dMaW5lcyIsImZpcnN0VGltZXN0YW1wIiwiTUFYX1NBRkVfSU5URUdFUiIsImxhc3RUaW1lc3RhbXAiLCJpbml0aWFsaXplIiwiaW5pdGlhbFN0YXRlcyIsIm1pbiIsImFkZENvbWJhdGFudEZyb21MaW5lIiwiYWRkQ29tYmF0YW50RnJvbVRhcmdldExpbmUiLCJjb21iYXRhbnRzIiwiZXZlbnRUcmFja2VyIiwiZXh0cmFjdFN0YXRlRnJvbUxpbmUiLCJleHRyYWN0U3RhdGVGcm9tVGFyZ2V0TGluZSIsInBldE5hbWVzIiwib3RoZXJzIiwiSUQiLCJwYXJ0eU1lbWJlcnMiLCJwZXRzIiwiZW5lbWllcyIsIm1haW5Db21iYXRhbnRJRCIsImwiLCJjb21iYXRhbnQiLCJpbml0Q29tYmF0YW50IiwiaW5pdFN0YXRlIiwiZXh0cmFjdGVkU3RhdGUiLCJ0YXJnZXRIcCIsInRhcmdldE1wIiwiZ2V0TWFpbkNvbWJhdGFudE5hbWUiLCJMb2dSZXBvc2l0b3J5IiwidXBkYXRlQ29tYmF0YW50IiwiYyIsIkNvbWJhdGFudHMiLCJzcGF3biIsImRlc3Bhd24iLCJFdmVudEJ1cyIsIm9uIiwic2NvcGUiLCJsaXN0ZW5lcnMiLCJkaXNwYXRjaCIsImV2ZW50QXJndW1lbnRzIiwiYXBwbHkiLCJMaW5lRXZlbnQweDAwIiwiaW52YWxpZCIsIkxpbmVFdmVudDAwIiwicmVwbGFjZUNoYXRTeW1ib2xzIiwicmVwIiwiY2hhdFN5bWJvbFJlcGxhY2VtZW50cyIsIlNlYXJjaCIsIlJlcGxhY2UiLCJUeXBlIiwiTGluZUV2ZW50MHgwMSIsInpvbmVOYW1lIiwiem9uZU5hbWVQcm9wZXJDYXNlIiwiTGluZUV2ZW50MDEiLCJMaW5lRXZlbnQweDAyIiwiTGluZUV2ZW50MDIiLCJMaW5lRXZlbnQweDAzIiwiam9iSWRIZXgiLCJqb2JJZCIsImxldmVsU3RyaW5nIiwid29ybGROYW1lIiwiTGluZUV2ZW50MDMiLCJMaW5lRXZlbnQweDA0IiwiTGluZUV2ZW50MDQiLCJMaW5lRXZlbnQweDBDIiwiY2xhc3MiLCJMaW5lRXZlbnQxMiIsIkxpbmVFdmVudDB4MTQiLCJhYmlsaXR5SWRIZXgiLCJhYmlsaXR5TmFtZSIsIkxpbmVFdmVudDIwIiwiTGluZUV2ZW50MHgxNSIsImZpZWxkT2Zmc2V0IiwiTGluZUV2ZW50MjEiLCJMaW5lRXZlbnQweDE2IiwiTGluZUV2ZW50MjIiLCJMaW5lRXZlbnQweDE3IiwiTGluZUV2ZW50MjMiLCJMaW5lRXZlbnQweDE4IiwiZGFtYWdlU3RyaW5nIiwiTGluZUV2ZW50MjQiLCJMaW5lRXZlbnQweDE5Iiwic291cmNlTmFtZSIsIkxpbmVFdmVudDI1IiwiTGluZUV2ZW50MHgxQSIsImR1cmF0aW9uU3RyaW5nIiwiZHVyYXRpb25GbG9hdCIsInN0YWNrcyIsIkxpbmVFdmVudDI2IiwiTGluZUV2ZW50MHgxQiIsImhlYWRtYXJrZXJJZCIsIkxpbmVFdmVudDI3IiwiTGluZUV2ZW50MHgxQyIsIkxpbmVFdmVudDI4IiwiTGluZUV2ZW50MHgxRCIsIkxpbmVFdmVudDI5IiwiTGluZUV2ZW50MHgxRSIsIkxpbmVFdmVudDMwIiwic3BsaXRGdW5jIiwiTGluZUV2ZW50MHgxRiIsImRhdGFCeXRlczEiLCJkYXRhQnl0ZXMyIiwiZGF0YUJ5dGVzMyIsImRhdGFCeXRlczQiLCJqb2JHYXVnZUJ5dGVzIiwiTGluZUV2ZW50MzEiLCJMaW5lRXZlbnQweDIyIiwiTGluZUV2ZW50MzQiLCJMaW5lRXZlbnQweDIzIiwidGV0aGVySWQiLCJMaW5lRXZlbnQzNSIsIkxpbmVFdmVudDB4MjQiLCJ2YWx1ZURlYyIsIkxpbmVFdmVudDM2IiwiTGluZUV2ZW50MHgyNSIsIkxpbmVFdmVudDM3IiwiTGluZUV2ZW50MHgyNiIsInBhZGRlZCIsIkxpbmVFdmVudDM4IiwiTGluZUV2ZW50MHgyNyIsIkxpbmVFdmVudDM5IiwiTGluZUV2ZW50MHgyOCIsIkxpbmVFdmVudDQwIiwiTGluZUV2ZW50MHgyOSIsIkxpbmVFdmVudDQxIiwiUGFyc2VMaW5lIiwiaXNMaW5lRXZlbnQiLCJOZXR3b3JrTG9nQ29udmVydGVyIiwiY29udmVydEZpbGUiLCJjb252ZXJ0TGluZXMiLCJsaW5lU3BsaXRSZWdleCIsImxpbmVFdmVudHMiLCJpc1BldE5hbWUiLCJpc1ZhbGlkVGltZXN0YW1wIiwiRW5jb3VudGVyIiwiZW5jb3VudGVyRGF5IiwiZW5jb3VudGVyWm9uZUlkIiwiZW5jb3VudGVyWm9uZU5hbWUiLCJ2ZXJzaW9uIiwiZW5jb3VudGVyVmVyc2lvbiIsInN0YXJ0U3RhdHVzZXMiLCJTZXQiLCJmaXJzdExpbmVJbmRleCIsInN0YXJ0SW4iLCJlbmdhZ2VBdCIsImVuZFN0YXR1cyIsImZpcnN0UGxheWVyQWJpbGl0eSIsImZpcnN0RW5lbXlBYmlsaXR5IiwibWF0Y2hlZExhbmciLCJjb21iYXRhbnRUcmFja2VyIiwic3RhcnRUaW1lc3RhbXAiLCJlbmRUaW1lc3RhbXAiLCJpbml0aWFsT2Zmc2V0IiwiZmlyc3RMaW5lIiwib2Zmc2V0IiwicGxheWJhY2tPZmZzZXQiLCJzdGFydFN0YXR1cyIsInNob3VsZFBlcnNpc3RGaWdodCIsInVwZ3JhZGUiLCJjb252ZXJ0ZXIiLCJQZXJzaXN0b3JFbmNvdW50ZXIiLCJlbmNvdW50ZXIiLCJEZXhpZSIsIlBlcnNpc3RvciIsInN0b3JlcyIsIkVuY291bnRlclN1bW1hcmllcyIsIkVuY291bnRlcnMiLCJlbmNvdW50ZXJzIiwidGFibGUiLCJlbmNvdW50ZXJTdW1tYXJpZXMiLCJtYXBUb0NsYXNzIiwidXNlIiwic3RhY2siLCJjcmVhdGUiLCJkb3duIiwicmVxIiwic2V0UHJvdG90eXBlT2YiLCJwcm90b3R5cGUiLCJwZXJzaXN0RW5jb3VudGVyIiwibG9hZEVuY291bnRlciIsInRyYW5zYWN0aW9uIiwiYmFzZUVuY291bnRlciIsInN1bW1hcnkiLCJwdXQiLCJkZWxldGVFbmNvdW50ZXIiLCJkZWxldGUiLCJjbGVhckRCIiwiY2xlYXIiLCJleHBvcnREQiIsImV4cG9ydCIsImltcG9ydERCIiwiZmlsZSIsImltcG9ydCIsImFkZFBsYXllckNoYW5nZWRPdmVycmlkZUxpc3RlbmVyIiwicGxheWVyTmFtZSIsImxhc3RQbGF5ZXJDaGFuZ2VkRXZlbnQiLCJsYXN0UGxheWVySm9iIiwib25QbGF5ZXJDaGFuZ2VkIiwibmV3Sm9iIiwiYWRkUmVtb3RlUGxheWVyU2VsZWN0VUkiLCJpbnN0cnVjdGlvblRleHRCeUxhbmciLCJmb3JjZVRUU0J5TGFuZyIsImJ1dHRvblRleHRCeUxhbmciLCJkZWZhdWx0VGV4dEJ5TGFuZyIsImtTdG9yYWdlS2V5Iiwic2F2ZVBsYXllck5hbWUiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwibG9hZFBsYXllck5hbWUiLCJnZXRJdGVtIiwiaW5zdHJ1Y3Rpb25FbGVtIiwibGlzdEVsZW0iLCJ0dHNFbGVtIiwidHRzTGFiZWwiLCJodG1sRm9yIiwiYnV0dG9uRWxlbSIsImZvcmNlVFRTIiwicmFkaW9JbmRleCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50UGFyYW1zIiwicGFyYW1NYXAiLCJ2IiwiZGVjb2RlVVJJQ29tcG9uZW50IiwibGFzdFNlbGVjdGVkUGxheWVyIiwiYnVpbGRMaXN0IiwiZmlyc3RDaGlsZCIsImxhc3RDaGlsZCIsInJlbW92ZUNoaWxkIiwicmFkaW9Db3VudCIsImFkZFJhZGlvIiwiZXh0cmFDbGFzcyIsImlucHV0TmFtZSIsImlucHV0RWxlbSIsImxhYmVsRWxlbSIsImRlZmF1bHRUZXh0IiwiZGVmYXVsdEVsZW0iLCJsYXN0IiwicGFydHlQbGF5ZXJzIiwiYWxsaWFuY2VQbGF5ZXJzIiwiQXV0b3BsYXlIZWxwZXIiLCJDaGVja0lmQWxyZWFkeVJ1bm5pbmciLCJjb250ZXh0IiwiQXVkaW9Db250ZXh0IiwiUHJvbXB0IiwiYnV0dG9uIiwicmVzdW1lIiwib25zdGF0ZWNoYW5nZSIsIkNoZWNrQW5kUHJvbXB0IiwiVFRTSXRlbSIsInZvaWNlIiwiU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwicGxheSIsInNwZWVjaFN5bnRoZXNpcyIsInNwZWFrIiwiQnJvd3NlclRUU0VuZ2luZSIsImNhY3Rib3RMYW5nVG9TcGVlY2hMYW5nIiwib252b2ljZXNjaGFuZ2VkIiwic3BlZWNoTGFuZyIsImdldFZvaWNlcyIsInNwZWVjaFZvaWNlIiwidHRzSXRlbSIsImlzUmFpZGJvc3NMb29zZVRpbWVsaW5lVHJpZ2dlciIsImlzTmV0UmVnZXhUcmlnZ2VyIiwiaXNSZWdleFRyaWdnZXIiLCJyYWlkYm9zc0luc3RydWN0aW9ucyIsInRyaWdnZXJVcHBlckNhc2UiLCJvblRyaWdnZXJFeGNlcHRpb24iLCJzb3VuZHMiLCJzb3VuZFN0cnMiLCJ0ZXh0TWFwIiwidXBwZXJUZXh0IiwidXBwZXJTb3VuZCIsInVwcGVyU291bmRWb2x1bWUiLCJydW1ibGVEdXJhdGlvbiIsInJ1bWJsZVdlYWsiLCJydW1ibGVTdHJvbmciLCJhbGVydCIsImFsYXJtIiwiT3JkZXJlZFRyaWdnZXJMaXN0IiwiaWRUb0luZGV4Iiwib2xkVHJpZ2dlciIsInRyaWdnZXJGaWxlIiwib2xkRmlsZSIsIm5ld0ZpbGUiLCJhc0xpc3QiLCJpc09iamVjdCIsIlRyaWdnZXJPdXRwdXRQcm94eSIsImNvbmZpZyIsIk91dHB1dFN0cmluZ3MiLCJvdmVycmlkZVN0cmluZ3MiLCJTdHJpbmciLCJnZXRSZXBsYWNlbWVudCIsInJlc3BvbnNlU3RyaW5nIiwidW5rbm93blZhbHVlIiwiX2Z1bGxNYXRjaCIsIm1ha2VPdXRwdXQiLCJkZWZhdWx0T3V0cHV0IiwiUG9wdXBUZXh0IiwidGltZWxpbmVMb2FkZXIiLCJyYWlkYm9zc0RhdGFGaWxlcyIsIlByb2Nlc3NEYXRhRmlsZXMiLCJpbmZvVGV4dCIsImFsZXJ0VGV4dCIsImFsYXJtVGV4dCIsInR0c0VuZ2luZSIsInR0c1NheSIsImdldERhdGFPYmplY3QiLCJSZXNldCIsIkFkZERlYnVnSW5zdHJ1Y3Rpb25zIiwiSG9va092ZXJsYXlzIiwicGFydHlUcmFja2VyIiwiT25QbGF5ZXJDaGFuZ2UiLCJQbGF5ZXJOYW1lT3ZlcnJpZGUiLCJPbkNoYW5nZVpvbmUiLCJPbkluQ29tYmF0Q2hhbmdlIiwiaW5HYW1lQ29tYmF0IiwiT25Mb2ciLCJPbk5ldExvZyIsIk9uSm9iQ2hhbmdlIiwidHJpZ2dlclNldHMiLCJqc29uIiwicHJvY2Vzc2VkU2V0Iiwiem9uZUlEIiwiUmVsb2FkVGltZWxpbmVzIiwiSXNSZWFkeSIsIm5ldFRyaWdnZXJzIiwidGltZWxpbmVzIiwidGltZWxpbmVTdHlsZXMiLCJyZXNldFdoZW5PdXRPZkNvbWJhdCIsIm9yZGVyZWRUcmlnZ2VycyIsImJpbmQiLCJsYW5nU3VmZml4IiwicmVnZXhQYXJzZXJMYW5nIiwibmV0UmVnZXhQYXJzZXJMYW5nIiwiaGF2ZVpvbmVSZWdleCIsImhhdmVab25lSWQiLCJNYXRjaEFsbCIsInpvbmVSZWdleCIsInBhcnNlckxhbmdSZWdleCIsInNldEZpbGVuYW1lIiwiaW5pdERhdGEiLCJkYXRhSW5pdGlhbGl6ZXJzIiwiUHJvY2Vzc1RyaWdnZXIiLCJ0cmlnZ2VyT2JqZWN0IiwibG9jYWxSZWdleCIsIm5ldFJlZ2V4IiwibG9jYWxOZXRSZWdleCIsIm92ZXJyaWRlVGltZWxpbmVGaWxlIiwiZmlsdGVyRW5hYmxlZCIsImFsbFRyaWdnZXJzIiwiU2V0VGltZWxpbmVzIiwiaW5Db21iYXQiLCJTZXRJbkNvbWJhdCIsIlN0b3BUaW1lcnMiLCJTaG9ydE5hbWlmeSIsIm5pY2siLCJ0cmlnZ2VyU3VwcHJlc3MiLCJpbml0T2JqIiwidGltZXJzIiwiY3VycmVudFRpbWUiLCJsb2dzIiwiT25UcmlnZ2VyIiwicmF3TGluZSIsIk9uVHJpZ2dlckludGVybmFsIiwiX29uVHJpZ2dlckludGVybmFsQ2hlY2tTdXBwcmVzc2VkIiwidHJpZ2dlckhlbHBlciIsIl9vblRyaWdnZXJJbnRlcm5hbEdldEhlbHBlciIsIl9vblRyaWdnZXJJbnRlcm5hbENvbmRpdGlvbiIsIl9vblRyaWdnZXJJbnRlcm5hbFByZVJ1biIsImRlbGF5UHJvbWlzZSIsIl9vblRyaWdnZXJJbnRlcm5hbERlbGF5U2Vjb25kcyIsIl9vblRyaWdnZXJJbnRlcm5hbER1cmF0aW9uU2Vjb25kcyIsIl9vblRyaWdnZXJJbnRlcm5hbFN1cHByZXNzU2Vjb25kcyIsInRyaWdnZXJQb3N0RGVsYXkiLCJwcm9taXNlIiwiX29uVHJpZ2dlckludGVybmFsUHJvbWlzZSIsInRyaWdnZXJQb3N0UHJvbWlzZSIsIl9vblRyaWdnZXJJbnRlcm5hbFNvdW5kIiwiX29uVHJpZ2dlckludGVybmFsU291bmRWb2x1bWUiLCJfb25UcmlnZ2VySW50ZXJuYWxSZXNwb25zZSIsIl9vblRyaWdnZXJJbnRlcm5hbEFsYXJtVGV4dCIsIl9vblRyaWdnZXJJbnRlcm5hbEFsZXJ0VGV4dCIsIl9vblRyaWdnZXJJbnRlcm5hbEluZm9UZXh0IiwiX29uVHJpZ2dlckludGVybmFsUnVtYmxlIiwiX29uVHJpZ2dlckludGVybmFsVFRTIiwiX29uVHJpZ2dlckludGVybmFsUGxheUF1ZGlvIiwiX29uVHJpZ2dlckludGVybmFsUnVuIiwic3VwcHJlc3NlZCIsInRyaWdnZXJBdXRvQ29uZmlnIiwidXNlclN1cHByZXNzZWRPdXRwdXQiLCJ0ZXh0QWxlcnRzRW5hYmxlZCIsInNvdW5kQWxlcnRzRW5hYmxlZCIsInNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJncm91cFNwb2tlbkFsZXJ0c0VuYWJsZWQiLCJfb25UcmlnZ2VySW50ZXJuYWxIZWxwZXJEZWZhdWx0cyIsIndoZW4iLCJzdXBwcmVzcyIsImNvbmRpdGlvbiIsIkNvbmRpdGlvbiIsIlRleHRBbGVydCIsIlNvdW5kQWxlcnQiLCJTcGVlY2hBbGVydCIsIkdyb3VwU3BlZWNoQWxlcnQiLCJwcmVSdW4iLCJkZWxheVNlY29uZHMiLCJ0cmlnZ2VySUQiLCJjdXJyZW50VHJpZ2dlcklEIiwidmFsdWVEdXJhdGlvbiIsImZyb21Db25maWciLCJEdXJhdGlvbiIsImZyb21UcmlnZ2VyIiwic3VwcHJlc3NTZWNvbmRzIiwic291bmQiLCJzb3VuZFVybCIsInNvdW5kVm9sdW1lIiwidHJpZ2dlclNvdW5kVm9sIiwiX2FkZFRleHRGb3IiLCJuYXZpZ2F0b3IiLCJnZXRHYW1lcGFkcyIsImdwIiwiZ2FtZXBhZCIsInZpYnJhdGlvbkFjdHVhdG9yIiwicGxheUVmZmVjdCIsInN0YXJ0RGVsYXkiLCJydW1ibGVEdXJhdGlvbk1zIiwid2Vha01hZ25pdHVkZSIsInN0cm9uZ01hZ25pdHVkZSIsInR0c1RleHQiLCJUVFNUZXh0IiwicmVzcCIsImRlZmF1bHRUVFNUZXh0IiwibmFtZWRTb3VuZCIsIm5hbWVkU291bmRWb2x1bWUiLCJzb3VuZFZvbCIsIlNvdW5kT3ZlcnJpZGUiLCJWb2x1bWVPdmVycmlkZSIsImFycm93UmVwbGFjZW1lbnQiLCJfcGxheUF1ZGlvRmlsZSIsInJ1biIsIl9jcmVhdGVUZXh0Rm9yIiwidGV4dFR5cGUiLCJsb3dlclRleHRLZXkiLCJ0ZXh0RWxlbWVudENsYXNzIiwiaG9sZGVyIiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsIl9tYWtlVGV4dEVsZW1lbnQiLCJjaGlsZHJlbiIsImtNYXhSb3dzT2ZUZXh0IiwiY29udGFpbnMiLCJ1cHBlclRleHRLZXkiLCJ0ZXh0T2JqIiwiX3RyaWdnZXJIZWxwZXIiLCJjbGFzc05hbWUiLCJ1cmwiLCJ2b2x1bWUiLCJhdWRpbyIsIkF1ZGlvIiwicHJlc2VydmVIUCIsIlBvcHVwVGV4dEdlbmVyYXRvciIsIkluZm8iLCJBbGVydCIsIkFsYXJtIiwiVFRTIiwiVHJpZ2dlciIsIlRpbWVyQmFyIiwib2JzZXJ2ZWRBdHRyaWJ1dGVzIiwibyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIiwiZWxlbWVudCIsImVsYXBzZWQiLCJoaWRlYWZ0ZXIiLCJsZWZ0dGV4dCIsImNlbnRlcnRleHQiLCJyaWdodHRleHQiLCJ3aWR0aCIsImhlaWdodCIsImJnIiwiZmciLCJzdHlsZWZpbGwiLCJ0b3dhcmQiLCJsb29wIiwicmVtb3ZlQXR0cmlidXRlIiwiZ2V0QXR0cmlidXRlIiwidyIsIl9zdGFydCIsIl9kdXJhdGlvbiIsImVsYXBzZWRNcyIsImgiLCJoYXNBdHRyaWJ1dGUiLCJyb290IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsIl9jb25uZWN0ZWQiLCJfd2lkdGgiLCJfaGVpZ2h0IiwiX2JnIiwiX2ZnIiwiX3Rvd2FyZFJpZ2h0IiwiX2ZpbGwiLCJfbGVmdFRleHQiLCJfY2VudGVyVGV4dCIsIl9yaWdodFRleHQiLCJfaGlkZUFmdGVyIiwiX2xvb3AiLCJfaGlkZVRpbWVyIiwicm9vdEVsZW1lbnQiLCJzaGFkb3dSb290IiwiZm9yZWdyb3VuZEVsZW1lbnQiLCJiYWNrZ3JvdW5kRWxlbWVudCIsImxlZnRUZXh0RWxlbWVudCIsImNlbnRlclRleHRFbGVtZW50IiwicmlnaHRUZXh0RWxlbWVudCIsImNvbm5lY3RlZENhbGxiYWNrIiwibGF5b3V0IiwidXBkYXRlVGV4dCIsInNldHZhbHVlIiwiYWR2YW5jZSIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiwiX29sZFZhbHVlIiwidXBkYXRlIiwiaGlkZSIsInNob3ciLCJkcmF3IiwiYmFja2dyb3VuZENvbG9yIiwidHJhbnNmb3JtT3JpZ2luIiwidmFyeWluZ1RleHRzIiwiZWxhcHNlZFNlYyIsInJlbWFpblNlYyIsInBlcmNlbnQiLCJkaXNwbGF5UmVtYWluIiwidG9GaXhlZCIsImRpc3BsYXlFbGFwc2VkIiwidHJhbnNmb3JtIiwiYXBwbHlTdHlsZXMiLCJjZW50ZXIiLCJjc3NUZXh0IiwiY2xlYXJUaW1lb3V0IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwia0JpZyIsInRpbWVsaW5lSW5zdHJ1Y3Rpb25zIiwiYWN0aXZlVGV4dCIsImNvbXB1dGVCYWNrZ3JvdW5kQ29sb3JGcm9tIiwiY2xhc3NlcyIsImNvbG9yIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsIlRpbWVsaW5lIiwiYWN0aXZlU3luY3MiLCJhY3RpdmVFdmVudHMiLCJMb2FkRmlsZSIsIlN0b3AiLCJ0aW1lYmFzZSIsIm5leHRFdmVudCIsIm5leHRUZXh0IiwibmV4dFN5bmNTdGFydCIsIm5leHRTeW5jRW5kIiwiZmlnaHROb3ciLCJfQWR2YW5jZVRpbWVUbyIsIl9Db2xsZWN0QWN0aXZlU3luY3MiLCJfQ2xlYXJUaW1lcnMiLCJfQ2FuY2VsVXBkYXRlIiwidWkiLCJPblN5bmNUaW1lIiwiU3luY1RvIiwibmV3VGltZWJhc2UiLCJ2YWx1ZU9mIiwiX0FkZER1cmF0aW9uVGltZXJzIiwiX0NsZWFyRXhjZXB0UnVubmluZ0R1cmF0aW9uVGltZXJzIiwiX0FkZFVwY29taW5nVGltZXJzIiwiX1NjaGVkdWxlVXBkYXRlIiwic3luY0VuZCIsIk9uTG9nTGluZSIsInN5bmNTdGFydCIsImFjdGl2ZUV2ZW50IiwiT25SZW1vdmVUaW1lciIsImR1cmF0aW9uRXZlbnRzIiwiaXNEdXIiLCJfUmVtb3ZlRXhwaXJlZFRpbWVycyIsImR1cmF0aW9uRXZlbnQiLCJPbkFkZFRpbWVyIiwiX0FkZFBhc3NlZFRleHRzIiwiT25TaG93SW5mb1RleHQiLCJPblNob3dBbGVydFRleHQiLCJPblNob3dBbGFybVRleHQiLCJPblNwZWFrVFRTIiwidXBkYXRlVGltZXIiLCJuZXh0RXZlbnRTdGFydGluZyIsIm5leHRUZXh0T2NjdXJzIiwibmV4dEV2ZW50RW5kaW5nIiwibmV4dFN5bmNTdGFydGluZyIsIm5leHRTeW5jRW5kaW5nIiwibmV4dEV2ZW50RW5kc0F0Iiwic2hvd05leHRFdmVudEF0IiwibmV4dFRpbWUiLCJfT25VcGRhdGVUaW1lciIsIlRpbWVsaW5lVUkiLCJJbml0IiwiYmFyQ29sb3IiLCJiYXJFeHBpcmVzU29vbkNvbG9yIiwidGltZXJsaXN0IiwiZ3JpZFRlbXBsYXRlUm93cyIsImFjdGl2ZUJhcnMiLCJleHBpcmVUaW1lcnMiLCJpbnN0cnVjdGlvbnMiLCJoZWxwZXIiLCJyb3dzIiwiaGVscGVyQmFyIiwiZGVidWdFbGVtZW50IiwiU2V0UG9wdXBUZXh0SW50ZXJmYWNlIiwiU2V0VGltZWxpbmUiLCJkZWJ1Z0ZpZ2h0VGltZXIiLCJjaGFubmVsaW5nIiwiYmFyIiwiT25UaW1lckV4cGlyZXNTb29uIiwiYWN0aXZlQmFyIiwicGFyZW50Tm9kZSIsIm9yZGVyIiwiZXhwaXJlZCIsImZvcmNlIiwicmVtb3ZlQmFyIiwiYW5pbWF0aW9uTmFtZSIsInJ1bm5pbmciLCJUaW1lbGluZUNvbnRyb2xsZXIiLCJzdXBwcmVzc05leHRFbmdhZ2UiLCJhY3RpdmVUaW1lbGluZSIsIk9uTG9nRXZlbnQiLCJTZXRBY3RpdmVUaW1lbGluZSIsIlRpbWVsaW5lTG9hZGVyIiwidGltZWxpbmVDb250cm9sbGVyIiwiUmFpZEVtdWxhdG9yVGltZWxpbmUiLCJiaW5kVG8iLCJlbXVsYXRvciIsImVtdWxhdGVkU3RhdHVzIiwiZW11bGF0ZWRTeW5jIiwiY3VycmVudExvZ1RpbWUiLCJiYXNlVGltZXN0YW1wIiwiY3VycmVudEVuY291bnRlciIsIl9maWdodE5vdyIsIlJhaWRFbXVsYXRvclRpbWVsaW5lVUkiLCIkYmFyQ29udGFpbmVyIiwicFRlbXBsYXRlIiwiJHByb2dyZXNzVGVtcGxhdGUiLCJsYXN0TG9nTGluZVRpbWUiLCJlbXVsYXRlZFRpbWVyQmFycyIsInVwZGF0ZUJhciIsInRvUmVtb3ZlIiwiZm9yY2VSZW1vdmVBdCIsIiRwcm9ncmVzcyIsIl90aW1lIiwic3RvcCIsImJhckVsYXBzZWQiLCJiYXJQcm9nIiwicmlnaHRUZXh0IiwiJGxlZnRMYWJlbCIsInRleHRDb250ZW50IiwiJHJpZ2h0TGFiZWwiLCIkYmFyIiwiJHByb2dCYXIiLCIkcHJvZ0xlZnQiLCIkcHJvZ1JpZ2h0IiwiSFRNTERpdkVsZW1lbnQiLCJSYWlkRW11bGF0b3JBbmFseXNpc1RpbWVsaW5lVUkiLCJfYmFyIiwiX2N1cnJlbnRMb2dUaW1lIiwiX2UiLCJfY2hhbm5lbGluZyIsIl9leHBpcmVkIiwiUmFpZEVtdWxhdG9yVGltZWxpbmVDb250cm9sbGVyIiwib25FbXVsYXRvckxvZ0V2ZW50IiwiU3R1YmJlZFBvcHVwVGV4dCIsImdldERhdGEiLCJnZXRQYXJ0eVRyYWNrZXIiLCJSZXNvbHZlciIsInN0YXR1cyIsImlzUmVzb2x2ZWQiLCJkZWxheVVudGlsIiwiZGVsYXlSZXNvbHZlciIsImZpbmFsIiwic2V0RGVsYXkiLCJzZXRQcm9taXNlIiwic2V0UnVuIiwic2V0RmluYWwiLCJzZXRIZWxwZXIiLCJQb3B1cFRleHRBbmFseXNpcyIsIl90ZXh0Iiwib25FbXVsYXRvckxvZyIsImxvZ09iaiIsInJlc29sdmVyIiwiY3VycmVudFJlc29sdmVyIiwiaW5pdGlhbERhdGEiLCJleGVjdXRlZCIsInRyaWdnZXJSZXNvbHZlcnMiLCJmaW5hbERhdGEiLCJjaGVja1Jlc29sdmVkIiwiYWxsIiwicmVzdWx0cyIsIl8iLCJyZXNwb25zZVR5cGUiLCJyZXNwb25zZUxhYmVsIiwiX2NsYXNzTmFtZSIsIl9sb3dlclRleHRLZXkiLCJfdm9sdW1lIiwiQW5hbHl6ZWRFbmNvdW50ZXIiLCJzZWxlY3RQZXJzcGVjdGl2ZSIsInNlbGVjdGVkUGFydHlNZW1iZXIiLCJwYXJ0eU1lbWJlciIsInVwZGF0ZVN0YXRlIiwibWF4SFAiLCJjdXJyZW50TVAiLCJtYXhNUCIsImN1cnJlbnRDUCIsIm1heENQIiwiY3VycmVudEdQIiwibWF4R1AiLCJjdXJyZW50U2hpZWxkIiwiam9iRGV0YWlsIiwicm90YXRpb24iLCJiYWl0IiwiZGVidWdKb2IiLCJhbmFseXplIiwiYW5hbHl6ZUZvciIsImN1cnJlbnRMb2dJbmRleCIsInBlcnNwZWN0aXZlcyIsInRpbWVsaW5lVUkiLCJnZW5lcmF0b3IiLCJjdXJyZW50TGluZSIsImN1cnJlbnRUcmlnZ2VyU3RhdHVzIiwicGVyc3BlY3RpdmUiLCJsb2dMaW5lIiwicmVzb2x2ZWRPZmZzZXQiLCJSYWlkRW11bGF0b3IiLCJhZGRFbmNvdW50ZXIiLCJzZXRDdXJyZW50IiwiZW5jIiwic2V0Q3VycmVudEJ5SUQiLCJzZWVrVG8iLCJmaXJzdEluZGV4IiwiY3VycmVudExvZ0xpbmVJbmRleCIsImxhc3RUaWNrVGltZSIsImhhbmRsZXIiLCJ0aWNrIiwicGxheWluZ0ludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJwbGF5YmFja1NwZWVkIiwicGF1c2UiLCJjbGVhckludGVydmFsIiwic2VlayIsInRpbWVPZmZzZXQiLCJzZWVrVGltZXN0YW1wIiwicGxheWluZyIsInRpbWVEaWZmIiwic2V0UG9wdXBUZXh0IiwiUmFpZEVtdWxhdG9yT3ZlcmxheUFwaUhvb2siLCJfZ2V0Q29tYmF0YW50c092ZXJyaWRlIiwiY3VyRW5jIiwidHJhY2tlciIsImhhc0lkcyIsImhhc05hbWVzIiwiZmlyc3RTdGF0ZVN0YW1wIiwibGFzdFN0YXRlU3RhbXAiLCJpZE51bSIsImNvbWJhdGFudFN0YXRlIiwiTGV2ZWwiLCJKb2IiLCJiYXNlTGluZSIsIk93bmVySUQiLCJCTnBjTmFtZUlEIiwiQk5wY0lEIiwiUmFpZEVtdWxhdG9yUG9wdXBUZXh0IiwicG9wdXBFbGVtIiwiJHBvcHVwVGV4dENvbnRhaW5lcldyYXBwZXIiLCJlbXVsYXRlZE9mZnNldCIsImRpc3BsYXllZFRleHQiLCJzY2hlZHVsZWRUcmlnZ2VycyIsInNlZWtpbmciLCJ0ZW1wbGF0ZUVsZW1lbnQiLCJ0ZXh0RWxlbWVudCIsIiR0ZXh0RWxlbWVudFRlbXBsYXRlIiwiYXVkaW9EZWJ1Z1RleHREdXJhdGlvbiIsInBhcmVudFR0c1NheSIsImFkZERpc3BsYXlUZXh0IiwiZG9VcGRhdGUiLCJyZW1haW5pbmciLCJleHBpcmVzIiwiX2VtdWxhdG9yUmVzZXQiLCJjdXJyZW50RW5jIiwicmVqZWN0ZXIiLCIkcmV0IiwiJGUiLCJlbXVsYXRvckJ1dHRvbnMiLCJlbXVsYXRvclRpdGxlIiwiZW11bGF0b3JJbXBvcnRNb2RhbCIsImVtdWxhdG9yRGVsZXRlTW9kYWwiLCJlbXVsYXRvckludHJvTW9kYWwiLCJlbXVsYXRvckRpc2Nvbm5lY3RlZE1vZGFsIiwiZW11bGF0b3JMYWJlbHMiLCJlbXVsYXRvclRvb2x0aXBzIiwiZW11bGF0b3JFbmNvdW50ZXJJbmZvIiwiZW11bGF0b3JUcmFuc2xhdGlvbnMiLCJlbXVsYXRvclRvb2x0aXBUcmFuc2xhdGlvbnMiLCJlbXVsYXRvclRlbXBsYXRlVHJhbnNsYXRpb25zIiwiZW11bGF0b3JTdGFydFN0YXR1c2VzIiwiY291bnRkb3duIiwiZW11bGF0b3JFbmRTdGF0dXNlcyIsIndpbiIsIndpcGUiLCJjYWN0Ym90V2lwZSIsImxvb2t1cFN0YXJ0U3RhdHVzZXMiLCJzdGF0dXNlc1N0ciIsImVuZ1N0YXR1c2VzIiwidHJhbnNTdGF0dXNlcyIsImxvb2t1cEVuZFN0YXR1cyIsImhpZGVFdmVudHMiLCJ2YWxpZERpcmVjdGlvbnMiLCJzaG93RXZlbnRzIiwidG9QeCIsInB4IiwiVG9vbHRpcCIsImRpcmVjdGlvbiIsImF1dG9TaG93IiwiYXV0b0hpZGUiLCJpbml0aWFsaXplVGVtcGxhdGVzIiwidG9vbHRpcCIsImNsb25lVGVtcGxhdGUiLCJpbm5lckVsZW0iLCJpbm5lciIsImFycm93RWxlbSIsImFycm93Iiwic2V0VGV4dCIsInRhcmdldFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0YXJnZXRNaWRkbGUiLCJ0b29sdGlwUmVjdCIsImxyQXJyb3dIZWlnaHQiLCJib3R0b20iLCJ0b3AiLCJ0ZW1wbGF0ZXMiLCJnZXRUZW1wbGF0ZSIsImVsZW1OYW1lIiwiam9iT3JkZXIiLCJpc0pvYk9yZGVyIiwiRW11bGF0ZWRQYXJ0eUluZm8iLCIkcGFydHlJbmZvIiwiJHRyaWdnZXJJbmZvIiwic2tpcHBlZCIsIiR0cmlnZ2VySGlkZVNraXBwZWRDaGVja2JveCIsImNvbGxlY3RvciIsIiR0cmlnZ2VySGlkZUNvbGxlY3RDaGVja2JveCIsIiR0cmlnZ2VyQmFyIiwibGF0ZXN0RGlzcGxheWVkU3RhdGUiLCJ0cmlnZ2VyQmFycyIsInVwZGF0ZVBhcnR5SW5mbyIsInJlc2V0UGFydHlJbmZvIiwidXBkYXRlVHJpZ2dlclN0YXRlIiwiaGlkZU5vbkV4ZWN1dGVkVHJpZ2dlcnMiLCJzaG93Tm9uRXhlY3V0ZWRUcmlnZ2VycyIsImhpZGVDb2xsZWN0b3JUcmlnZ2VycyIsInNob3dDb2xsZWN0b3JUcmlnZ2VycyIsIiR0cmlnZ2VySXRlbVRlbXBsYXRlIiwiJHBsYXllckluZm9Sb3dUZW1wbGF0ZSIsIiRwbGF5ZXJUcmlnZ2VySW5mb1RlbXBsYXRlIiwiJGpzb25WaWV3ZXJUZW1wbGF0ZSIsIiR3cmFwQ29sbGFwc2VUZW1wbGF0ZSIsImRpc3BsYXllZFBhcnR5IiwidXBkYXRlQ29tYmF0YW50SW5mbyIsInRvb2x0aXBzIiwidHQiLCJjdXJyZW50UGVyc3BlY3RpdmUiLCJtZW1iZXJzVG9EaXNwbGF5IiwiZ2V0UGFydHlJbmZvT2JqZWN0Rm9yIiwiJHJvb3RFbGVtIiwiJHRyaWdnZXJFbGVtIiwidHJpZ2dlcklkIiwidG9EaXNwbGF5Iiwic3RhdGVJRCIsIlN0YXRlIiwiaHBQcm9nIiwiaHBMYWJlbCIsIiRocFByb2dFbGVtIiwiJGhwTGFiZWxFbGVtIiwibXBQcm9nIiwibXBMYWJlbCIsIiRtcFByb2dFbGVtIiwiJG1wTGFiZWxFbGVtIiwiJGhwIiwiJG1wIiwiJG5hbWUiLCIkaWNvbkVsZW0iLCIkaHBFbGVtIiwiJG1wRWxlbSIsIiRuYW1lRWxlbSIsImdldFRyaWdnZXJJbmZvT2JqZWN0Rm9yIiwiJGNvbnRhaW5lciIsInBlciIsIiRpbml0RGF0YVZpZXdlciIsIl93cmFwQ29sbGFwc2UiLCIkb2JqIiwiJHRyaWdnZXJDb250YWluZXIiLCIkdHJpZ2dlckRhdGFWaWV3ZXIiLCJ0cmlnZ2VyVGV4dCIsIiR0cmlnZ2VyIiwiZ2V0VHJpZ2dlclJlc29sdmVkTGFiZWxUaW1lIiwiaWNvbiIsImdldFRyaWdnZXJMYWJlbEljb24iLCIkZmluYWxEYXRhVmlld2VyIiwiZ2V0VHJpZ2dlckZpcmVkTGFiZWxUaW1lIiwiJGJ1dHRvbiIsIiR0aW1lIiwiJGljb24iLCIkdGV4dCIsIiR3cmFwcGVyIiwiRW5jb3VudGVyVGFiIiwicGVyc2lzdG9yIiwiJHpvbmVDb2x1bW4iLCIkZGF0ZUNvbHVtbiIsIiRlbmNvdW50ZXJDb2x1bW4iLCIkaW5mb0NvbHVtbiIsIiRlbmNvdW50ZXJUYWJSb3dUZW1wbGF0ZSIsIiRlbmNvdW50ZXJUYWJFbmNvdW50ZXJSb3dUZW1wbGF0ZSIsIiRlbmNvdW50ZXJJbmZvVGVtcGxhdGUiLCJyZWZyZXNoIiwidG9BcnJheSIsInpvbmUiLCJlbmNEYXRlIiwiZW5jVGltZSIsImVuY0R1cmF0aW9uIiwiem9uZU9iaiIsImRhdGVPYmoiLCJyZWZyZXNoVUkiLCJyZWZyZXNoWm9uZXMiLCJyZWZyZXNoRGF0ZXMiLCJyZWZyZXNoRW5jb3VudGVycyIsInJlZnJlc2hJbmZvIiwiem9uZXMiLCIkcm93IiwiY3VycmVudFpvbmUiLCJldiIsImN1cnJlbnRUYXJnZXQiLCJwYXJlbnRFbGVtZW50Iiwiem9uZU1hcCIsImRhdGVzIiwiY3VycmVudERhdGUiLCJkYXRlTWFwIiwic29ydGVkRW5jb3VudGVycyIsImVuY01hcCIsInB1bGxBdCIsIiRpbmZvIiwiUHJvZ3Jlc3NCYXIiLCJwcm9nQmFyQ29udGFpbmVyIiwiJHByb2dyZXNzQmFyVG9vbHRpcCIsIiRwcm9ncmVzc0JhckN1cnJlbnQiLCIkcHJvZ3Jlc3NCYXJEdXJhdGlvbiIsIiRwcm9ncmVzc0JhciIsIiRlbmdhZ2VJbmRpY2F0b3IiLCJvZmZzZXRYIiwib2Zmc2V0V2lkdGgiLCJpbml0aWFsUGVyY2VudCIsImN1cnJlbnRPZmZzZXQiLCJwcm9nUGVyY2VudCIsInByb2dWYWx1ZSIsIiRwbGF5IiwiJHBhdXNlIiwic2hvd01vZGFsIiwic2VsZWN0b3IiLCJtb2RhbCIsImJhY2tkcm9wIiwiaGlkZU1vZGFsIiwiYXBwbHlUcmFuc2xhdGlvbiIsInRyYW5zIiwicmFpZEVtdWxhdG9yT25Mb2FkIiwid2Vic29ja2V0Q29ubmVjdGVkIiwib3BlbiIsInJhY2UiLCJicm93c2VyTGFuZyIsInByb2dyZXNzQmFyIiwiZW5jb3VudGVyVGFiIiwiZW11bGF0ZWRQYXJ0eUluZm8iLCJlbXVsYXRlZFdlYlNvY2tldCIsImNvbm5lY3RlZCIsImxvZ0NvbnZlcnRlcldvcmtlciIsIldvcmtlciIsIlVSTCIsIm1ldGEiLCJsYXN0RW5jb3VudGVyIiwibWF0Y2hlZEVuY291bnRlcnMiLCJkaXNwTGFuZyIsImRpc2NNb2RhbCIsImluZGljYXRvciIsImNoZWNrRmlsZSIsImltcG9ydE1vZGFsIiwiZW5jTGFiZWwiLCJkb25lQnV0dG9uIiwiSFRNTEJ1dHRvbkVsZW1lbnQiLCJkb25lQnV0dG9uVGltZW91dCIsIm9ubWVzc2FnZSIsImJ5dGVzIiwidG90YWxCeXRlcyIsImR1cmF0aW9uTWlucyIsImR1cmF0aW9uU2VjcyIsInB1bGxEdXJhdGlvbiIsInB1bGxEdXJhdGlvbk1pbnMiLCJwdWxsRHVyYXRpb25TZWNzIiwiaW50ZXJ2YWwiLCJhcnJheUJ1ZmZlciIsInBvc3RNZXNzYWdlIiwiaWdub3JlRXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImRyb3BIYW5kbGVyIiwiZHQiLCJkYXRhVHJhbnNmZXIiLCIkZXhwb3J0QnV0dG9uIiwidGFyZ2V0U2VsIiwiYmxvYiIsImNyZWF0ZU9iamVjdFVSTCIsImNsaWNrIiwicmV2b2tlT2JqZWN0VVJMIiwiJGZpbGVJbnB1dCIsIk1vdXNlRXZlbnQiLCJyYWlkRW11bGF0b3IiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file