{"id":150,"date":"2026-04-25T14:13:33","date_gmt":"2026-04-25T14:13:33","guid":{"rendered":"https:\/\/pfjhub.com\/?page_id=150"},"modified":"2026-05-01T11:44:31","modified_gmt":"2026-05-01T11:44:31","slug":"the-shuzo-protocol","status":"publish","type":"page","link":"https:\/\/pfjhub.com\/index.php\/the-shuzo-protocol\/","title":{"rendered":"Chapter 2"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-block-b7af8fbd alignwide uagb-is-root-container\"><div class=\"uagb-container__video-wrap\"><\/div>\n<div class=\"wp-block-uagb-image uagb-block-ebf2bf6f wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page1.jpg ,https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page1.jpg 780w, https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page1.jpg 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page1.jpg\" alt=\"\" class=\"uag-image-536\" width=\"1080\" height=\"1610\" title=\"Page1\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-uagb-image uagb-block-809cf3ea wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" srcset=\"https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page2.jpg ,https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page2.jpg 780w, https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page2.jpg 360w\" sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/05\/Page2.jpg\" alt=\"\" class=\"uag-image-537\" width=\"1080\" height=\"1610\" title=\"Page2\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n<\/div>\n\n\n\n<style data-wp-block-html=\"css\">\n#comic-ui-wrapper {\n  position: fixed !important;\n  top: 50% !important;\n  left: 0 !important;\n  transform: translateY(-50%) !important;\n  z-index: 999999 !important;\n  pointer-events: none !important;\n}\n\n#comic-ui-layer {\n  position: relative !important;\n  width: 110px !important; \/* Reduced width since volume is gone *\/\n  background: #fff !important;\n  padding: 15px !important;\n  border: 2px solid #000 !important;\n  border-left: none !important;\n  border-radius: 0 5px 5px 0 !important;\n  box-shadow: 4px 4px 0px rgba(0,0,0,0.05) !important;\n  pointer-events: auto !important;\n  transition: left 0.3s ease !important;\n  left: -110px !important; \n  display: flex !important;\n  flex-direction: column !important;\n  gap: 12px !important;\n}\n\n#comic-ui-wrapper:hover #comic-ui-layer,\n#comic-ui-wrapper.active #comic-ui-layer {\n  left: 0 !important;\n}\n\n#ui-tab {\n  position: absolute !important;\n  left: 100% !important;\n  top: 0 !important;\n  background: #fff !important;\n  border: 2px solid #000 !important;\n  border-left: none !important;\n  padding: 8px 4px !important;\n  cursor: pointer !important;\n  writing-mode: vertical-rl !important;\n  text-orientation: mixed !important;\n  font-family: sans-serif !important;\n  font-size: 9px !important;\n  font-weight: 900 !important;\n  text-transform: uppercase !important;\n  border-radius: 0 5px 5px 0 !important;\n}\n\n.ui-control {\n  font-family: sans-serif !important;\n  font-size: 10px !important;\n  font-weight: 700 !important;\n  color: #000 !important;\n  display: flex !important;\n  align-items: center !important;\n  gap: 8px !important;\n  cursor: pointer !important;\n  user-select: none !important;\n}\n\n.ui-status {\n  display: inline-block !important;\n  width: 9px !important;\n  height: 9px !important;\n  border: 1.5px solid #000 !important;\n  border-radius: 50% !important;\n  background: transparent !important;\n}\n\n.active-state .ui-status {\n  background: #00AEEF !important;\n  border-color: #00AEEF !important;\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    const wrapper = document.getElementById('comic-ui-wrapper');\n    const tab = document.getElementById('ui-tab');\n    const audioBtn = document.getElementById('audio-trigger');\n    const fsBtn = document.getElementById('fullscreen-trigger');\n    const player = document.getElementById('comic-audio');\n\n    \/\/ Tab Toggle logic\n    if (tab && wrapper) {\n        tab.addEventListener('click', (e) => {\n            e.stopPropagation();\n            wrapper.classList.toggle('active');\n        });\n        document.addEventListener('click', () => wrapper.classList.remove('active'));\n    }\n\n    \/\/ Sound Toggle logic\n    if (audioBtn && player) {\n        audioBtn.addEventListener('click', (e) => {\n            e.stopPropagation();\n            player.paused ? player.play() : player.pause();\n        });\n        player.onplay = () => audioBtn.classList.add('active-state');\n        player.onpause = () => audioBtn.classList.remove('active-state');\n    }\n\n    \/\/ Full Screen Toggle logic\n    if (fsBtn) {\n        fsBtn.addEventListener('click', (e) => {\n            e.stopPropagation();\n            if (!document.fullscreenElement) {\n                document.documentElement.requestFullscreen().catch(err => {\n                    console.error(`Error attempting to enable full-screen mode: ${err.message}`);\n                });\n            } else {\n                document.exitFullscreen();\n            }\n        });\n        document.addEventListener('fullscreenchange', () => {\n            document.fullscreenElement ? fsBtn.classList.add('active-state') : fsBtn.classList.remove('active-state');\n        });\n    }\n});\n\n<\/script>\n\n<div id=\"comic-ui-wrapper\">\n  <div id=\"comic-ui-layer\">\n    <div id=\"ui-tab\">CONTROLS<\/div>\n\n    <div class=\"ui-control\" id=\"audio-trigger\">\n      <span class=\"ui-status\"><\/span> SOUND\n    <\/div>\n\n    <div class=\"ui-control\" id=\"fullscreen-trigger\">\n      <span class=\"ui-status\"><\/span> FULL SCREEN\n    <\/div>\n\n    <audio id=\"comic-audio\" loop=\"\" preload=\"auto\">\n      <source src=\"https:\/\/pfjhub.com\/wp-content\/uploads\/2026\/04\/Project-Fusion-Junction.mp3\" type=\"audio\/mp3\">\n    <\/audio>\n  <\/div>\n<\/div>\n\n\n\n<script data-wp-block-html=\"js\">\nwindow.addEventListener('load', function() {\n    const scrollSpeed = 1; \/\/ Pixels per frame\n    let isPaused = false;\n\n    function performScroll() {\n        \/\/ Only move if the mouse is not hovering the document\n        if (!isPaused) {\n            window.scrollBy(0, scrollSpeed);\n\n            \/\/ Termination logic: Stop if we hit the bottom\n            if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {\n                return; \n            }\n        }\n        requestAnimationFrame(performScroll);\n    }\n\n    \/\/ Listener for mouse entering the page area\n    document.documentElement.addEventListener('mouseenter', () => {\n        isPaused = true;\n    });\n\n    \/\/ Listener for mouse leaving the page area\n    document.documentElement.addEventListener('mouseleave', () => {\n        isPaused = false;\n    });\n\n    \/\/ Start the loop\n    requestAnimationFrame(performScroll);\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>CONTROLS SOUND FULL SCREEN<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blank-page","meta":{"_eb_attr":"","_crdt_document":"{\"document\":\"AACxBYm+xP8b873f\/wEA6trHoxUAib7E\/xuq2sejFfO93\/8BAIm+xP8bs73f\/wGJvsT\/G7O93\/8B\/pWxmg0Ah8Ljlxiq2sejFZ6UyN0Ws73f\/wHelMjdFtUB873f\/wEAyb7E\/xsA873f\/wEAnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8BnpTI3Razvd\/\/AZ6UyN0Ws73f\/wGelMjdFrO93\/8B3pTI3RbOAfO93\/8BCt6UyN0WQbO93\/8BqtrHoxXzvd\/\/AQnq2sejFQazvd\/\/AZq1+pgSvpWxmg3q2sejFQCG28nwCvHKiZ8FB4bbyfAKscqJnwWG28nwCvHKiZ8FBYbbyfAKvtj9uwXG28nwCgCq2sejFbHKiZ8F6trHoxUA873f\/wEByb7E\/xsAscqJnwWzvd\/\/AfHKiZ8FE\/O93\/8BAPHKiZ8FGPO93\/8BALHKiZ8Fs73f\/wHxyomfBSnzvd\/\/AZkDygMijgGqK+YkotsB1NQBDMwQAppb3FsBAQgBtQFICDQCgAUC8AUDABACBgMABgwDAH6+BRIDAAQDAcYFkgeg3gHmtgEDCAUAAwMECAIFAAMDngYDBQY4AjYBAQgBtwFIAg4DABAKjAUCzkCmBmADAAZWIr7eARwKAgQC3LUBAwQEAgQGAwIMAgQGBAMAngYDBQY4AwD+N0Kw6QLIhAECtLkB6JwDrqUGAvqoBpYtAgUAAlYCxC2CWgK+xAGQA4gHsAnuFAL0nwKoowKsBIgBrgmWAeyvAgK8KWICovcDwL4C5NcBAs4QsOcBrBS2BxUA6HwDAIZ0tgeQEAMABgLaLqIuAQEIAQ9IAgUAolXSVN4BApwBZiaoCxKaAawDgAGGAQKUAawFFAKqAS6UAQKaBxwU1rwCAQFCTkQCjgFCBAJ4hAEBAQgBzwFItgHuAZoBjAXuBrYG0AiMSQMDBAMBIgMABAMD4jqaOQMDBAMBIqAmAwMEAwHYJrwmoAbYBwMDBAMBItQnAgQDAwiymQGIAQoCEAgDA+7kAQMAuOQBAQEIAQ9IAkIGBFCAASKkggEO0oQBAsjkAWaOAh5ckucCAv6DASaOkgICutYBAqIBti4AorUBAQDA3AGC3gHk3QGg3gEBJdTnAZ7lARwKAgQC3LUBAwQEAgQGAwIMAgQGBAMAngYDBQY4ArStAbTCBMiqBqqjAogHsAngtAKUqAKIAa4J5rACkKME8KUEAQKc\/AG2B8D7AZDhAgDSVKAJARDi1gEDAwQDASIBCKAmAwMEAwH0JgMABAMDxEG4DILVAq41riv45AGQkgKkqQGYLa4r6QMoAKgCRADBAMQAwQDEAKEBIQCoACEARwAhACgBJwAoAiECKAYhASgBIQIoASEAKAEhASgAIQIomAEnACEAoQGoAaEDqAGhAKgBoQIhAKEEqALBAAAAxADBAMQGwQDEAsEAxATBAMQCwQDEAMEAxA4AAEcAIQAoAScAKAIhAigGIQAoAyEAKKQBIQEnAKgPxCchAEEAqAAoAKEAAAChAagBoQGEAIEAhACBAIQAgQBBAKECIQGhASEAoQDBAqEBqADEBCEAqAGEACEAqAGhAMEAoQLEAMEAxADBAMQAoQLEAMEAoQGoAKEBxwAhACgAIQAnACEBKA8nAKgBoQDEAMEAoQHBAKEAxADBAMQAwQDEAMEAxADBAcQAwQDEAMEBxADBAMQAwQDEACECJwIoAyEAJwAoAicAKAChAAEAoQEhAaEAqAAoAKEBBwAhACgBJwAoASEAKA4hACgYIQAoCCEAKA4hASgMIQEoeicAqAAoAKgAAQAAAIEAAACBAAAAAQCBEwAAwRSBAAAAgQAAAIEAAADBEoEBhACBAIQAgQCEAYEAhAGBAKEBxwAhACgAIQAnACEBKA8nAKEAIQCoAKEAgQCEAIEAhACBAKEBqAAhAEEAqAGhAEEBoQFBAKEAwQBBAKEBQQGhAUGCpAHfnQFzdGF0ZXZlcnNpb248IS0tIHdwOnVhZ2IvY29udGFpbmVyIHsiYmxvY2tfaWQiOiJiN2FmOGZiZCIsImNvbnRlbnRXaWR0aCI6ImFsaWdud2lkZSIsImJhY2tncm91bmRUeXBlIjoidmlkZW8iLCJ2YXJpYXRpb25TZWxlY3RlZCI6dHJ1ZSwiaXNCbG9ja1Jvb3RQYXJlbnQiOnRydWUsIm92ZXJsYXlUeXBlIjoiY29sb3IiLCJvdmVybGF5T3BhY2l0eSI6MC41LCJiYWNrZ3JvdW5kVmlkZW9Db2xvciI6IiNmZmZmZmYiLCJiYWNrZ3JvdW5kVmlkZW8iOm51bGwsImJhY2tncm91bmRWaWRlb09wYWNpdHkiOjB9IC0tPgo8IS0tIC93cDp1YWdiL2ltYWdlIC0tPgpzdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb25jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2lzUHJldmlld2xheW91dGRpc2FibGVMYXp5TG9hZHVybHVybFRhYmxldHVybE1vYmlsZWFsdGltZ1JvbGVlbmFibGVDYXB0aW9uY2FwdGlvbmFsaWduYWxpZ25UYWJsZXRhbGlnbk1vYmlsZWlkaHJlZnJlbGxpbmtDbGFzc2xpbmtEZXN0aW5hdGlvbnRpdGxld2lkdGh3aWR0aFRhYmxldHdpZHRoTW9iaWxlaGVpZ2h0aGVpZ2h0VGFibGV0aGVpZ2h0TW9iaWxlbmF0dXJhbFdpZHRobmF0dXJhbEhlaWdodGxpbmtUYXJnZXRzaXplU2x1Z3NpemVTbHVnVGFibGV0c2l6ZVNsdWdNb2JpbGVpbWFnZU1hcmdpblVuaXRpbWFnZU1hcmdpblVuaXRUYWJsZXRpbWFnZU1hcmdpblVuaXRNb2JpbGVpbWFnZU1hcmdpbkxpbmtjYXB0aW9uVGV4dGNhcHRpb25TaG93T25jYXB0aW9uTG9hZEdvb2dsZUZvbnRzY2FwdGlvbkFsaWduY2FwdGlvbkZvbnRGYW1pbHljYXB0aW9uRm9udFN0eWxlY2FwdGlvbkZvbnRTaXplVHlwZWNhcHRpb25Gb250U2l6ZVR5cGVUYWJsZXRjYXB0aW9uRm9udFNpemVUeXBlTW9iaWxlY2FwdGlvbkxpbmVIZWlnaHRUeXBlY2FwdGlvbk1hcmdpblVuaXRjYXB0aW9uTWFyZ2luVW5pdFRhYmxldGNhcHRpb25NYXJnaW5Vbml0TW9iaWxlY2FwdGlvbk1hcmdpbkxpbmtoZWFkaW5naGVhZGluZ1Nob3dPbmhlYWRpbmdUYWdoZWFkaW5nTG9hZEdvb2dsZUZvbnRzaGVhZGluZ0NvbG9yaGVhZGluZ0ZvbnRGYW1pbHloZWFkaW5nRm9udFN0eWxlaGVhZGluZ0ZvbnRTaXplVHlwZWhlYWRpbmdGb250U2l6ZVR5cGVUYWJsZXRoZWFkaW5nRm9udFNpemVUeXBlTW9iaWxlaGVhZGluZ0xpbmVIZWlnaHRUeXBlaGVhZGluZ01hcmdpblVuaXRoZWFkaW5nTWFyZ2luVW5pdFRhYmxldGhlYWRpbmdNYXJnaW5Vbml0TW9iaWxlaGVhZGluZ01hcmdpbkxpbmtvdmVybGF5UG9zaXRpb25Gcm9tRWRnZW92ZXJsYXlQb3NpdGlvbkZyb21FZGdlVW5pdG92ZXJsYXlDb250ZW50UG9zaXRpb25vdmVybGF5QmFja2dyb3VuZG92ZXJsYXlPcGFjaXR5b3ZlcmxheUhvdmVyT3BhY2l0eXNlcGVyYXRvclNob3dPbnNlcGVyYXRvclN0eWxlc2VwZXJhdG9yQ29sb3JzZXBlcmF0b3JQb3NpdGlvbnNlcGVyYXRvcldpZHRoc2VwYXJhdG9yV2lkdGhUeXBlc2VwZXJhdG9yVGhpY2tuZXNzc2VwZXJhdG9yVGhpY2tuZXNzVW5pdHNlcGVyYXRvck1hcmdpblVuaXRzZXBlcmF0b3JNYXJnaW5Vbml0VGFibGV0c2VwZXJhdG9yTWFyZ2luVW5pdE1vYmlsZXNlcGVyYXRvck1hcmdpbkxpbmtpbWFnZUhvdmVyRWZmZWN0dXNlU2VwYXJhdGVCb3hTaGFkb3dzaW1hZ2VCb3hTaGFkb3dDb2xvcmltYWdlQm94U2hhZG93SE9mZnNldGltYWdlQm94U2hhZG93Vk9mZnNldGltYWdlQm94U2hhZG93UG9zaXRpb25pbWFnZUJveFNoYWRvd0hPZmZzZXRIb3ZlcmltYWdlQm94U2hhZG93Vk9mZnNldEhvdmVyaW1hZ2VCb3hTaGFkb3dQb3NpdGlvbkhvdmVybWFza1NoYXBlbWFza0N1c3RvbVNoYXBlbWFza1NpemVtYXNrUG9zaXRpb25tYXNrUmVwZWF0aGVhZGluZ0xldHRlclNwYWNpbmdUeXBlY2FwdGlvbkxldHRlclNwYWNpbmdUeXBlY3VzdG9tSGVpZ2h0U2V0RGVza3RvcGN1c3RvbUhlaWdodFNldFRhYmxldGN1c3RvbUhlaWdodFNldE1vYmlsZWltYWdlQm9yZGVyVG9wV2lkdGhpbWFnZUJvcmRlckxlZnRXaWR0aGltYWdlQm9yZGVyUmlnaHRXaWR0aGltYWdlQm9yZGVyQm90dG9tV2lkdGhpbWFnZUJvcmRlclRvcExlZnRSYWRpdXNpbWFnZUJvcmRlclRvcFJpZ2h0UmFkaXVzaW1hZ2VCb3JkZXJCb3R0b21MZWZ0UmFkaXVzaW1hZ2VCb3JkZXJCb3R0b21SaWdodFJhZGl1c2ltYWdlQm9yZGVyUmFkaXVzVW5pdGltYWdlQm9yZGVyVG9wV2lkdGhUYWJsZXRpbWFnZUJvcmRlckxlZnRXaWR0aFRhYmxldGltYWdlQm9yZGVyUmlnaHRXaWR0aFRhYmxldGltYWdlQm9yZGVyQm90dG9tV2lkdGhUYWJsZXRpbWFnZUJvcmRlclRvcExlZnRSYWRpdXNUYWJsZXRpbWFnZUJvcmRlclRvcFJpZ2h0UmFkaXVzVGFibGV0aW1hZ2VCb3JkZXJCb3R0b21MZWZ0UmFkaXVzVGFibGV0aW1hZ2VCb3JkZXJCb3R0b21SaWdodFJhZGl1c1RhYmxldGltYWdlQm9yZGVyUmFkaXVzVW5pdFRhYmxldGltYWdlQm9yZGVyVG9wV2lkdGhNb2JpbGVpbWFnZUJvcmRlckxlZnRXaWR0aE1vYmlsZWltYWdlQm9yZGVyUmlnaHRXaWR0aE1vYmlsZWltYWdlQm9yZGVyQm90dG9tV2lkdGhNb2JpbGVpbWFnZUJvcmRlclRvcExlZnRSYWRpdXNNb2JpbGVpbWFnZUJvcmRlclRvcFJpZ2h0UmFkaXVzTW9iaWxlaW1hZ2VCb3JkZXJCb3R0b21MZWZ0UmFkaXVzTW9iaWxlaW1hZ2VCb3JkZXJCb3R0b21SaWdodFJhZGl1c01vYmlsZWltYWdlQm9yZGVyUmFkaXVzVW5pdE1vYmlsZWltYWdlQm9yZGVyTGlua2ltYWdlQm9yZGVyUmFkaXVzTGlua2ltYWdlQm9yZGVyU3R5bGVpbWFnZUJvcmRlckNvbG9yaW1hZ2VCb3JkZXJIQ29sb3JvdmVybGF5Qm9yZGVyVG9wV2lkdGhvdmVybGF5Qm9yZGVyTGVmdFdpZHRob3ZlcmxheUJvcmRlclJpZ2h0V2lkdGhvdmVybGF5Qm9yZGVyQm90dG9tV2lkdGhvdmVybGF5Qm9yZGVyVG9wTGVmdFJhZGl1c292ZXJsYXlCb3JkZXJUb3BSaWdodFJhZGl1c292ZXJsYXlCb3JkZXJCb3R0b21MZWZ0UmFkaXVzb3ZlcmxheUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzb3ZlcmxheUJvcmRlclJhZGl1c1VuaXRvdmVybGF5Qm9yZGVyVG9wV2lkdGhUYWJsZXRvdmVybGF5Qm9yZGVyTGVmdFdpZHRoVGFibGV0b3ZlcmxheUJvcmRlclJpZ2h0V2lkdGhUYWJsZXRvdmVybGF5Qm9yZGVyQm90dG9tV2lkdGhUYWJsZXRvdmVybGF5Qm9yZGVyVG9wTGVmdFJhZGl1c1RhYmxldG92ZXJsYXlCb3JkZXJUb3BSaWdodFJhZGl1c1RhYmxldG92ZXJsYXlCb3JkZXJCb3R0b21MZWZ0UmFkaXVzVGFibGV0b3ZlcmxheUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzVGFibGV0b3ZlcmxheUJvcmRlclJhZGl1c1VuaXRUYWJsZXRvdmVybGF5Qm9yZGVyVG9wV2lkdGhNb2JpbGVvdmVybGF5Qm9yZGVyTGVmdFdpZHRoTW9iaWxlb3ZlcmxheUJvcmRlclJpZ2h0V2lkdGhNb2JpbGVvdmVybGF5Qm9yZGVyQm90dG9tV2lkdGhNb2JpbGVvdmVybGF5Qm9yZGVyVG9wTGVmdFJhZGl1c01vYmlsZW92ZXJsYXlCb3JkZXJUb3BSaWdodFJhZGl1c01vYmlsZW92ZXJsYXlCb3JkZXJCb3R0b21MZWZ0UmFkaXVzTW9iaWxlb3ZlcmxheUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzTW9iaWxlb3ZlcmxheUJvcmRlclJhZGl1c1VuaXRNb2JpbGVvdmVybGF5Qm9yZGVyTGlua292ZXJsYXlCb3JkZXJSYWRpdXNMaW5rb3ZlcmxheUJvcmRlclN0eWxlb3ZlcmxheUJvcmRlckNvbG9yb3ZlcmxheUJvcmRlckhDb2xvcm1ldGFkYXRhZ2xvYmFsQmxvY2tTdHlsZU5hbWVnbG9iYWxCbG9ja1N0eWxlSWRVQUdIaWRlRGVza3RvcFVBR0hpZGVNb2JVQUdIaWRlVGFiVUFHTG9nZ2VkSW5VQUdMb2dnZWRPdXRVQUdEYXlVQUdSZXNwb25zaXZlQ29uZGl0aW9uc1VBR0FuaW1hdGlvblR5cGVVQUdBbmltYXRpb25UaW1lVUFHQW5pbWF0aW9uRGVsYXlVQUdBbmltYXRpb25FYXNpbmdVQUdBbmltYXRpb25SZXBlYXRVQUdQb3NpdGlvblVBR1N0aWNreUxvY2F0aW9uVUFHU3RpY2t5UmVzdHJpY3RlZFVBR1N0aWNreU9mZnNldGlubmVyQmxvY2tzYmxvY2tfaWRsaW5rPGRpdiBjbGFzcz0id3AtYmxvY2stdWFnYi1jb250YWluZXIgdWFnYi1ibG9jay1iN2FmOGZiZCBhbGlnbndpZGUgdWFnYi1pcy1yb290LWNvbnRhaW5lciI+PGRpdiBjbGFzcz0idWFnYi1jb250YWluZXJfX3ZpZGVvLXdyYXAiPjwvZGl2PjwhLS0gd3A6dWFnYi9pbWFnZSB7ImJsb2NrX2lkIjoiZWJmMmJmNmYiLCJ1cmwiOiJodHRwczovL3Bmamh1Yi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvUGFnZTEuanBnIiwidXJsVGFibGV0IjoiaHR0cHM6Ly9wZmpodWIuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1L1BhZ2UxLmpwZyIsInVybE1vYmlsZSI6Imh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGciLCJpZCI6NTM2LCJsaW5rRGVzdGluYXRpb24iOiJub25lIiwidGl0bGUiOiJQYWdlMSIsIm5hdHVyYWxXaWR0aCI6MTA4MCwibmF0dXJhbEhlaWdodCI6MTYxMCwic2l6ZVNsdWciOiJmdWxsIiwic2l6ZVNsdWdUYWJsZXQiOiJmdWxsIiwic2l6ZVNsdWdNb2JpbGUiOiJmdWxsIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLXVhZ2ItaW1hZ2UgdWFnYi1ibG9jay1lYmYyYmY2ZiB3cC1ibG9jay11YWdiLWltYWdlLS1sYXlvdXQtZGVmYXVsdCB3cC1ibG9jay11YWdiLWltYWdlLS1lZmZlY3Qtc3RhdGljIHdwLWJsb2NrLXVhZ2ItaW1hZ2UtLWFsaWduLW5vbmUiPjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLXVhZ2ItaW1hZ2VfX2ZpZ3VyZSI+PGltZyBzcmNzZXQ9Imh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGcgLGh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGcgNzgwdywgaHR0cHM6Ly9wZmpodWIuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA1L1BhZ2UxLmpwZyAzNjB3IiBzaXplcz0iKG1heC13aWR0aDogNDgwcHgpIDE1MHB4IiBzcmM9Imh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGciIGFsdD0iIiBjbGFzcz0idWFnLWltYWdlLTUzNiIgd2lkdGg9IjEwODAiIGhlaWdodD0iMTYxMCIgdGl0bGU9IlBhZ2UxIiBsb2FkaW5nPSJsYXp5IiByb2xlPSJpbWciLz48L2ZpZ3VyZT48L2Rpdj4KcDp1YWdiL21hZ2UiYmxvY2lkIjoiODBmZWEifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stdWFnYi1pbWFnZSB1YWdiLWJsb2NrLTgwOWNmM2VhIHdwLWJsb2NrLXVhZ2ItaW1hZ2UtLWxheW91dC1kZWZhdWx0IHdwLWJsb2NrLXVhZ2ItaW1hZ2UtLWVmZmVjdC1zdGF0aWMgd3AtYmxvY2stdWFnYi1pbWFnZS0tYWxpZ24tbm9uZSI+PGZpZ3VyZSBjbGFzcz0id3AtYmxvY2stdWFnYi1pbWFnZV9fZmlndXJlIj48L2ZpZ3VyZT48L2Rpdj4KPCEtLSAvd3A6dWFnYi9pbWFnZSAtLT4KCmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzaXNQcmV2aWV3bGF5b3V0ZGlzYWJsZUxhenlMb2FkdXJsdXJsVGFibGV0dXJsTW9iaWxlYWx0aW1nUm9sZWVuYWJsZUNhcHRpb25jYXB0aW9uYWxpZ25hbGlnblRhYmxldGFsaWduTW9iaWxlaWRocmVmcmVsbGlua0NsYXNzbGlua0Rlc3RpbmF0aW9udGl0bGV3aWR0aHdpZHRoVGFibGV0d2lkdGhNb2JpbGVoZWlnaHRoZWlnaHRUYWJsZXRoZWlnaHRNb2JpbGVuYXR1cmFsV2lkdGhuYXR1cmFsSGVpZ2h0bGlua1RhcmdldHNpemVTbHVnc2l6ZVNsdWdUYWJsZXRzaXplU2x1Z01vYmlsZWltYWdlTWFyZ2luVW5pdGltYWdlTWFyZ2luVW5pdFRhYmxldGltYWdlTWFyZ2luVW5pdE1vYmlsZWltYWdlTWFyZ2luTGlua2NhcHRpb25UZXh0Y2FwdGlvblNob3dPbmNhcHRpb25Mb2FkR29vZ2xlRm9udHNjYXB0aW9uQWxpZ25jYXB0aW9uRm9udEZhbWlseWNhcHRpb25Gb250U3R5bGVjYXB0aW9uRm9udFNpemVUeXBlY2FwdGlvbkZvbnRTaXplVHlwZVRhYmxldGNhcHRpb25Gb250U2l6ZVR5cGVNb2JpbGVjYXB0aW9uTGluZUhlaWdodFR5cGVjYXB0aW9uTWFyZ2luVW5pdGNhcHRpb25NYXJnaW5Vbml0VGFibGV0Y2FwdGlvbk1hcmdpblVuaXRNb2JpbGVjYXB0aW9uTWFyZ2luTGlua2hlYWRpbmdoZWFkaW5nU2hvd09uaGVhZGluZ1RhZ2hlYWRpbmdMb2FkR29vZ2xlRm9udHNoZWFkaW5nQ29sb3JoZWFkaW5nRm9udEZhbWlseWhlYWRpbmdGb250U3R5bGVoZWFkaW5nRm9udFNpemVUeXBlaGVhZGluZ0ZvbnRTaXplVHlwZVRhYmxldGhlYWRpbmdGb250U2l6ZVR5cGVNb2JpbGVoZWFkaW5nTGluZUhlaWdodFR5cGVoZWFkaW5nTWFyZ2luVW5pdGhlYWRpbmdNYXJnaW5Vbml0VGFibGV0aGVhZGluZ01hcmdpblVuaXRNb2JpbGVoZWFkaW5nTWFyZ2luTGlua292ZXJsYXlQb3NpdGlvbkZyb21FZGdlb3ZlcmxheVBvc2l0aW9uRnJvbUVkZ2VVbml0b3ZlcmxheUNvbnRlbnRQb3NpdGlvbm92ZXJsYXlCYWNrZ3JvdW5kb3ZlcmxheU9wYWNpdHlvdmVybGF5SG92ZXJPcGFjaXR5c2VwZXJhdG9yU2hvd09uc2VwZXJhdG9yU3R5bGVzZXBlcmF0b3JDb2xvcnNlcGVyYXRvclBvc2l0aW9uc2VwZXJhdG9yV2lkdGhzZXBhcmF0b3JXaWR0aFR5cGVzZXBlcmF0b3JUaGlja25lc3NzZXBlcmF0b3JUaGlja25lc3NVbml0c2VwZXJhdG9yTWFyZ2luVW5pdHNlcGVyYXRvck1hcmdpblVuaXRUYWJsZXRzZXBlcmF0b3JNYXJnaW5Vbml0TW9iaWxlc2VwZXJhdG9yTWFyZ2luTGlua2ltYWdlSG92ZXJFZmZlY3R1c2VTZXBhcmF0ZUJveFNoYWRvd3NpbWFnZUJveFNoYWRvd0NvbG9yaW1hZ2VCb3hTaGFkb3dIT2Zmc2V0aW1hZ2VCb3hTaGFkb3dWT2Zmc2V0aW1hZ2VCb3hTaGFkb3dQb3NpdGlvbmltYWdlQm94U2hhZG93SE9mZnNldEhvdmVyaW1hZ2VCb3hTaGFkb3dWT2Zmc2V0SG92ZXJpbWFnZUJveFNoYWRvd1Bvc2l0aW9uSG92ZXJtYXNrU2hhcGVtYXNrQ3VzdG9tU2hhcGVtYXNrU2l6ZW1hc2tQb3NpdGlvbm1hc2tSZXBlYXRoZWFkaW5nTGV0dGVyU3BhY2luZ1R5cGVjYXB0aW9uTGV0dGVyU3BhY2luZ1R5cGVjdXN0b21IZWlnaHRTZXREZXNrdG9wY3VzdG9tSGVpZ2h0U2V0VGFibGV0Y3VzdG9tSGVpZ2h0U2V0TW9iaWxlaW1hZ2VCb3JkZXJUb3BXaWR0aGltYWdlQm9yZGVyTGVmdFdpZHRoaW1hZ2VCb3JkZXJSaWdodFdpZHRoaW1hZ2VCb3JkZXJCb3R0b21XaWR0aGltYWdlQm9yZGVyVG9wTGVmdFJhZGl1c2ltYWdlQm9yZGVyVG9wUmlnaHRSYWRpdXNpbWFnZUJvcmRlckJvdHRvbUxlZnRSYWRpdXNpbWFnZUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzaW1hZ2VCb3JkZXJSYWRpdXNVbml0aW1hZ2VCb3JkZXJUb3BXaWR0aFRhYmxldGltYWdlQm9yZGVyTGVmdFdpZHRoVGFibGV0aW1hZ2VCb3JkZXJSaWdodFdpZHRoVGFibGV0aW1hZ2VCb3JkZXJCb3R0b21XaWR0aFRhYmxldGltYWdlQm9yZGVyVG9wTGVmdFJhZGl1c1RhYmxldGltYWdlQm9yZGVyVG9wUmlnaHRSYWRpdXNUYWJsZXRpbWFnZUJvcmRlckJvdHRvbUxlZnRSYWRpdXNUYWJsZXRpbWFnZUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzVGFibGV0aW1hZ2VCb3JkZXJSYWRpdXNVbml0VGFibGV0aW1hZ2VCb3JkZXJUb3BXaWR0aE1vYmlsZWltYWdlQm9yZGVyTGVmdFdpZHRoTW9iaWxlaW1hZ2VCb3JkZXJSaWdodFdpZHRoTW9iaWxlaW1hZ2VCb3JkZXJCb3R0b21XaWR0aE1vYmlsZWltYWdlQm9yZGVyVG9wTGVmdFJhZGl1c01vYmlsZWltYWdlQm9yZGVyVG9wUmlnaHRSYWRpdXNNb2JpbGVpbWFnZUJvcmRlckJvdHRvbUxlZnRSYWRpdXNNb2JpbGVpbWFnZUJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzTW9iaWxlaW1hZ2VCb3JkZXJSYWRpdXNVbml0TW9iaWxlaW1hZ2VCb3JkZXJMaW5raW1hZ2VCb3JkZXJSYWRpdXNMaW5raW1hZ2VCb3JkZXJTdHlsZWltYWdlQm9yZGVyQ29sb3JpbWFnZUJvcmRlckhDb2xvcm92ZXJsYXlCb3JkZXJUb3BXaWR0aG92ZXJsYXlCb3JkZXJMZWZ0V2lkdGhvdmVybGF5Qm9yZGVyUmlnaHRXaWR0aG92ZXJsYXlCb3JkZXJCb3R0b21XaWR0aG92ZXJsYXlCb3JkZXJUb3BMZWZ0UmFkaXVzb3ZlcmxheUJvcmRlclRvcFJpZ2h0UmFkaXVzb3ZlcmxheUJvcmRlckJvdHRvbUxlZnRSYWRpdXNvdmVybGF5Qm9yZGVyQm90dG9tUmlnaHRSYWRpdXNvdmVybGF5Qm9yZGVyUmFkaXVzVW5pdG92ZXJsYXlCb3JkZXJUb3BXaWR0aFRhYmxldG92ZXJsYXlCb3JkZXJMZWZ0V2lkdGhUYWJsZXRvdmVybGF5Qm9yZGVyUmlnaHRXaWR0aFRhYmxldG92ZXJsYXlCb3JkZXJCb3R0b21XaWR0aFRhYmxldG92ZXJsYXlCb3JkZXJUb3BMZWZ0UmFkaXVzVGFibGV0b3ZlcmxheUJvcmRlclRvcFJpZ2h0UmFkaXVzVGFibGV0b3ZlcmxheUJvcmRlckJvdHRvbUxlZnRSYWRpdXNUYWJsZXRvdmVybGF5Qm9yZGVyQm90dG9tUmlnaHRSYWRpdXNUYWJsZXRvdmVybGF5Qm9yZGVyUmFkaXVzVW5pdFRhYmxldG92ZXJsYXlCb3JkZXJUb3BXaWR0aE1vYmlsZW92ZXJsYXlCb3JkZXJMZWZ0V2lkdGhNb2JpbGVvdmVybGF5Qm9yZGVyUmlnaHRXaWR0aE1vYmlsZW92ZXJsYXlCb3JkZXJCb3R0b21XaWR0aE1vYmlsZW92ZXJsYXlCb3JkZXJUb3BMZWZ0UmFkaXVzTW9iaWxlb3ZlcmxheUJvcmRlclRvcFJpZ2h0UmFkaXVzTW9iaWxlb3ZlcmxheUJvcmRlckJvdHRvbUxlZnRSYWRpdXNNb2JpbGVvdmVybGF5Qm9yZGVyQm90dG9tUmlnaHRSYWRpdXNNb2JpbGVvdmVybGF5Qm9yZGVyUmFkaXVzVW5pdE1vYmlsZW92ZXJsYXlCb3JkZXJMaW5rb3ZlcmxheUJvcmRlclJhZGl1c0xpbmtvdmVybGF5Qm9yZGVyU3R5bGVvdmVybGF5Qm9yZGVyQ29sb3JvdmVybGF5Qm9yZGVySENvbG9ybWV0YWRhdGFnbG9iYWxCbG9ja1N0eWxlTmFtZWdsb2JhbEJsb2NrU3R5bGVJZFVBR0hpZGVEZXNrdG9wVUFHSGlkZU1vYlVBR0hpZGVUYWJVQUdMb2dnZWRJblVBR0xvZ2dlZE91dFVBR0RheVVBR1Jlc3BvbnNpdmVDb25kaXRpb25zVUFHQW5pbWF0aW9uVHlwZVVBR0FuaW1hdGlvblRpbWVVQUdBbmltYXRpb25EZWxheVVBR0FuaW1hdGlvbkVhc2luZ1VBR0FuaW1hdGlvblJlcGVhdFVBR1Bvc2l0aW9uVUFHU3RpY2t5TG9jYXRpb25VQUdTdGlja3lSZXN0cmljdGVkVUFHU3RpY2t5T2Zmc2V0YmxvY2tfaWRsaW5raW5uZXJCbG9ja3MKaW1nZSB7ImJsb2NrX2QiOiI4MDljZjNhIiwidWwiOiJodHRzLy9wZmpoYi5jb20vd3AtY29udGVudC91cGxvZHMvMjAyNi8wNS9QYWUyLmpwZyIsInVybFRhbGV0IjoiaHR0cHM6L3Bmamh1Yi5jby93cC1jb250ZW50L3VwbG9kcy8yMDI2LzA1L1BhMi5qcGcsInVybE1vaWUiOiJodHRwczovL3Bmamh1Yi5jbS93cC1vbnRlbnQvdXBsb2Fkcy8yMDI2LzA1L1BhZ2UyLmpwZyIsIjUzNyxsaW5rRGVzdGluYXRpb24iOiJub25lIiwidGl0bGUiOiJQYWdlMiIsIm5hdHVyYWxXaWR0aCI6MTAsIm5hdHVyYWxIZWlnaHQiOjE2MTAsInNpemVTbHVnIjoidWxsIiwic2l6U2x1Z1RibGV0OiJmdWxsIiwic2l6ZVNsdWdNb2JpbGUiOiJmdWxsImltZyBzcmNzZXQ9Imh0dHBzOi9wamh1Yi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvUGFnZTIuanBnICxodHRwczovL3Bmamh1Yi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvUGFnZTIuanBnIDc4MHcsIGh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMi5qcGcgMzYwdyIgc3plcz0iKG1heC13aWR0aDogNDgwcHgpIDE1MHB4IiBzcmM9Imh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWUyLmpwZyIgYWx0PSIiIGNsYXNzPSJhZy1pbWFnZS01MzciIHdpZHRoPSIxMDgwIiBoZWlnaHQ9IjE2MTAiIHRpdGxlPSJQYWdlMiIgbG9hZGluZz0ibGF6eSIgb2w9ImltZyIvZmlndXJlPjwvPC9kaXY+PCEtLSAvd3A6dWFnYi9jb250YWluZXIgLS0+CnN0YXRldmVyc2lvbm9yaWdpbmFsQ29udGVudENoYXB0ZXJzdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb24gICAgY29uc3Qgc2Nyb2xsU3BlZWQgPSAxOyAvLyBQaXhlbHMgcGVyIGZyYW1lCiAgICBsZXQgaXNQYXVzZWQgPSBmYWxzZTsKICAgICAgICAvLyBPbmx5IG1vdmUgaWYgdGhlIG1vdXNlIGlzIG5vdCBob3ZlcmluZyB0aGUgZG9jdW1lbnQKICAgICAgICBpZiAoIWlzUGF1c2VkKSB7CiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCBzY3JvbGxTcGVlZCk7CiAgICAgICAgICAgIC8vIFRlcm1pbmF0aW9uIGxvZ2ljOiBTdG9wIGlmIHdlIGhpdCB0aGUgYm90dG9tCiAgICAgICAgICAgIGlmICgod2luZG93LmlubmVySGVpZ2h0ICsgd2luZG93LnBhZ2VZT2Zmc2V0KSA+PSBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCkgewogICAgICAgICAgICAgICAgcmV0dXJuOyAKICAgICAgICAgICAgfQogICAgLy8gTGlzdGVuZXIgZm9yIG1vdXNlIGVudGVyaW5nIHRoZSBwYWdlIGFyZWEKICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4gewogICAgICAgIGlzUGF1c2VkID0gdHJ1ZTsKICAgIH0pOwogICAgLy8gTGlzdGVuZXIgZm9yIG1vdXNlIGxlYXZpbmcgdGhlIHBhZ2UgYXJlYQogICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCAoKSA9PiB7CiAgICAgICAgaXNQYXVzZWQgPSBmYWxzZTsKICAgIH0pOwoKICAgIC8vIFN0YXJ0IHRoZSBsb29wCiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocGVyZm9ybVNjcm9sbCk7CnN0YXRldmVyc2lvbiAyc3RhdGV2ZXJzaW9uPHN0eWxlIGRhdGEtd3AtYmxvY2staHRtbD0iY3NzIj4KI2NvbWljLXVpLXdyYXBwZXIgewogIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OwogIHRvcDogNTAlICFpbXBvcnRhbnQ7CiAgbGVmdDogMCAhaW1wb3J0YW50OwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50OwogIHotaW5kZXg6IDk5OTk5OSAhaW1wb3J0YW50OwogIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7Cn0KCiNjb21pYy11aS1sYXllciB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7CiAgd2lkdGg6IDExMHB4ICFpbXBvcnRhbnQ7IC8qIFJlZHVjZWQgd2lkdGggc2luY2Ugdm9sdW1lIGlzIGdvbmUgKi8KICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50OwogIGJvcmRlcjogMnB4IHNvbGlkICMwMDAgIWltcG9ydGFudDsKICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50OwogIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogNHB4IDRweCAwcHggcmdiYSgwLDAsMCwwLjA1KSAhaW1wb3J0YW50OwogIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UgIWltcG9ydGFudDsKICBsZWZ0OiAtMTEwcHggIWltcG9ydGFudDsgCiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICBnYXA6IDEycHggIWltcG9ydGFudDsKfQoKI2NvbWljLXVpLXdyYXBwZXI6aG92ZXIgI2NvbWljLXVpLWxheWVyLAojY29taWMtdWktd3JhcHBlci5hY3RpdmUgI2NvbWljLXVpLWxheWVyIHsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7Cn0KCiN1aS10YWIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsKICB0b3A6IDAgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiAycHggc29saWQgIzAwMCAhaW1wb3J0YW50OwogIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogOHB4IDRweCAhaW1wb3J0YW50OwogIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmwgIWltcG9ydGFudDsKICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZCAhaW1wb3J0YW50OwogIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDsKICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OwogIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwICFpbXBvcnRhbnQ7Cn0KCi51aS1jb250cm9sIHsKICBmb250LWZhbWlseTogc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsKICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OwogIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgZ2FwOiA4cHggIWltcG9ydGFudDsKICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDsKICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50Owp9CgoudWktc3RhdHVzIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKICB3aWR0aDogOXB4ICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiA5cHggIWltcG9ydGFudDsKICBib3JkZXI6IDEuNXB4IHNvbGlkICMwMDAgIWltcG9ydGFudDsKICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Owp9CgouYWN0aXZlLXN0YXRlIC51aS1zdGF0dXMgewogIGJhY2tncm91bmQ6ICMwMEFFRUYgIWltcG9ydGFudDsKICBib3JkZXItY29sb3I6ICMwMEFFRUYgIWltcG9ydGFudDsKfQo8L3N0eWxlPgoKPHNjcmlwdCBkYXRhLXdwLWJsb2NrLWh0bWw9ImpzIj4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKCkgewogICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21pYy11aS13cmFwcGVyJyk7CiAgICBjb25zdCB0YWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndWktdGFiJyk7CiAgICBjb25zdCBhdWRpb0J0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdWRpby10cmlnZ2VyJyk7CiAgICBjb25zdCBmc0J0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuLXRyaWdnZXInKTsKICAgIGNvbnN0IHBsYXllciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21pYy1hdWRpbycpOwoKICAgIC8vIFRhYiBUb2dnbGUgbG9naWMKICAgIGlmICh0YWIgJiYgd3JhcHBlcikgewogICAgICAgIHRhYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJyk7CiAgICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB3cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsKICAgIH0KCiAgICAvLyBTb3VuZCBUb2dnbGUgbG9naWMKICAgIGlmIChhdWRpb0J0biAmJiBwbGF5ZXIpIHsKICAgICAgICBhdWRpb0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIHBsYXllci5wYXVzZWQgPyBwbGF5ZXIucGxheSgpIDogcGxheWVyLnBhdXNlKCk7CiAgICAgICAgfSk7CiAgICAgICAgcGxheWVyLm9ucGxheSA9ICgpID0+IGF1ZGlvQnRuLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZS1zdGF0ZScpOwogICAgICAgIHBsYXllci5vbnBhdXNlID0gKCkgPT4gYXVkaW9CdG4uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlLXN0YXRlJyk7CiAgICB9CgogICAgLy8gRnVsbCBTY3JlZW4gVG9nZ2xlIGxvZ2ljCiAgICBpZiAoZnNCdG4pIHsKICAgICAgICBmc0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbigpLmNhdGNoKGVyciA9PiB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgYXR0ZW1wdGluZyB0byBlbmFibGUgZnVsbC1zY3JlZW4gbW9kZTogJHtlcnIubWVzc2FnZX1gKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCAoKSA9PiB7CiAgICAgICAgICAgIGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50ID8gZnNCdG4uY2xhc3NMaXN0LmFkZCgnYWN0aXZlLXN0YXRlJykgOiBmc0J0bi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUtc3RhdGUnKTsKICAgICAgICB9KTsKICAgIH0KfSk7Cjwvc2NyaXB0PgoKPGRpdiBpZD0iY29taWMtdWktd3JhcHBlciI+CiAgPGRpdiBpZD0iY29taWMtdWktbGF5ZXIiPgogICAgPGRpdiBpZD0idWktdGFiIj5DT05UUk9MUzwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InVpLWNvbnRyb2wiIGlkPSJhdWRpby10cmlnZ2VyIj4KICAgICAgPHNwYW4gY2xhc3M9InVpLXN0YXR1cyI+PC9zcGFuPiBTT1VORAogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0idWktY29udHJvbCIgaWQ9ImZ1bGxzY3JlZW4tdHJpZ2dlciI+CiAgICAgIDxzcGFuIGNsYXNzPSJ1aS1zdGF0dXMiPjwvc3Bhbj4gRlVMTCBTQ1JFRU4KICAgIDwvZGl2PgoKICAgIDxhdWRpbyBpZD0iY29taWMtYXVkaW8iIGxvb3A9IiIgcHJlbG9hZD0iYXV0byI+CiAgICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL3Bmamh1Yi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvUHJvamVjdC1GdXNpb24tSnVuY3Rpb24ubXAzIiB0eXBlPSJhdWRpby9tcDMiPgogICAgPC9hdWRpbz4KICA8L2Rpdj4KCmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBVQUdIaWRlRGVza3RvcFVBR0hpZGVNb2JVQUdIaWRlVGFiVUFHTG9nZ2VkSW5VQUdMb2dnZWRPdXRVQUdEYXlVQUdSZXNwb25zaXZlQ29uZGl0aW9uc1VBR0FuaW1hdGlvblR5cGVVQUdBbmltYXRpb25UaW1lVUFHQW5pbWF0aW9uRGVsYXlVQUdBbmltYXRpb25FYXNpbmdVQUdBbmltYXRpb25SZXBlYXRVQUdQb3NpdGlvblVBR1N0aWNreUxvY2F0aW9uVUFHU3RpY2t5UmVzdHJpY3RlZFVBR1N0aWNreU9mZnNldGlubmVyQmxvY2tzPCEtLSAvd3A6aHRtbCAtLT4KCjwhLS0gd3A6aHRtbCAtLT4KPHNjcmlwdCBkYXRhLXdwLWJsb2NrLWh0bWw9ImpzIj4Kd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKCiAgICBmdW5jdGlvbiBwZXJmb3JtU2Nyb2xsKCkgewoKICAgICAgICB9CiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBlcmZvcm1TY3JvbGwpOwogICAgfQoKCn0pOwo8L3NjcmlwdD4KPCEtLSAvd3A6aHRtbCAtLT5zdGF0ZXZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVkb2N1bWVudGNvbnRlbnRkb2N1bWVudGV4Y2VycHRkb2N1bWVudGF1dGhvcmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudGNvbW1lbnRfc3RhdHVzZG9jdW1lbnRwaW5nX3N0YXR1c2RvY3VtZW50dGVtcGxhdGVkb2N1bWVudG1ldGFfZWJfYXR0cl91YWdfY3VzdG9tX3BhZ2VfbGV2ZWxfY3NzZm9vdG5vdGVzZG9jdW1lbnRibG9ja3NfZWJfbWV0YV9kYXRhc3RhdGVzYXZlZEF0c3RhdGVzYXZlZEJ5ZG9jdW1lbnRzbHVnY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNodG1sVGFnbGlua1RhcmdldGNvbnRlbnRXaWR0aGlubmVyQ29udGVudFdpZHRod2lkdGhEZXNrdG9wd2lkdGhNb2JpbGV3aWR0aFR5cGVpbm5lckNvbnRlbnRDdXN0b21XaWR0aERlc2t0b3Bpbm5lckNvbnRlbnRDdXN0b21XaWR0aFRhYmxldGlubmVyQ29udGVudEN1c3RvbVdpZHRoTW9iaWxlaW5uZXJDb250ZW50Q3VzdG9tV2lkdGhUeXBlbWluSGVpZ2h0VHlwZWRpcmVjdGlvbkRlc2t0b3BhbGlnbkl0ZW1zRGVza3RvcGp1c3RpZnlDb250ZW50RGVza3RvcHdyYXBEZXNrdG9wd3JhcE1vYmlsZWFsaWduQ29udGVudERlc2t0b3BiYWNrZ3JvdW5kVHlwZWJhY2tncm91bmRQb3NpdGlvbkRlc2t0b3BiYWNrZ3JvdW5kU2l6ZURlc2t0b3BiYWNrZ3JvdW5kUmVwZWF0RGVza3RvcGJhY2tncm91bmRBdHRhY2htZW50RGVza3RvcGJhY2tncm91bmRJbWFnZUNvbG9yZ3JhZGllbnRWYWx1ZWJveFNoYWRvd0NvbG9yYm94U2hhZG93SE9mZnNldGJveFNoYWRvd1ZPZmZzZXRib3hTaGFkb3dQb3NpdGlvbmJveFNoYWRvd0hPZmZzZXRIb3ZlcmJveFNoYWRvd1ZPZmZzZXRIb3ZlcmJveFNoYWRvd1Bvc2l0aW9uSG92ZXJ0b3BQYWRkaW5nRGVza3RvcGJvdHRvbVBhZGRpbmdEZXNrdG9wbGVmdFBhZGRpbmdEZXNrdG9wcmlnaHRQYWRkaW5nRGVza3RvcHBhZGRpbmdUeXBlcGFkZGluZ1R5cGVUYWJsZXRwYWRkaW5nVHlwZU1vYmlsZXBhZGRpbmdMaW5rbWFyZ2luVHlwZW1hcmdpblR5cGVUYWJsZXRtYXJnaW5UeXBlTW9iaWxlbWFyZ2luTGlua3ZhcmlhdGlvblNlbGVjdGVkcm93R2FwRGVza3RvcHJvd0dhcFR5cGVyb3dHYXBUeXBlVGFibGV0cm93R2FwVHlwZU1vYmlsZWNvbHVtbkdhcERlc2t0b3Bjb2x1bW5HYXBUeXBlY29sdW1uR2FwVHlwZVRhYmxldGNvbHVtbkdhcFR5cGVNb2JpbGVpc1ByZXZpZXdpc0Jsb2NrUm9vdFBhcmVudGJvdHRvbVR5cGVib3R0b21Db2xvcmJvdHRvbVdpZHRodG9wVHlwZXRvcENvbG9ydG9wV2lkdGh0b3BGbGlwYm90dG9tRmxpcHRvcEludmVydGJvdHRvbUludmVydHRvcENvbnRlbnRBYm92ZVNoYXBlYm90dG9tQ29udGVudEFib3ZlU2hhcGV3aWR0aFNldEJ5VXNlcmJhY2tncm91bmRDdXN0b21TaXplRGVza3RvcGJhY2tncm91bmRDdXN0b21TaXplVHlwZW92ZXJsYXlUeXBlb3ZlcmxheU9wYWNpdHlvdmVybGF5QmxlbmRNb2Rlb3ZlcmxheUJsZW5kTW9kZVRhYmxldG92ZXJsYXlCbGVuZE1vZGVNb2JpbGVjZW50cmFsaXplZFBvc2l0aW9uY3VzdG9tUG9zaXRpb254UG9zaXRpb25EZXNrdG9weFBvc2l0aW9uVHlwZXhQb3NpdGlvblR5cGVUYWJsZXR4UG9zaXRpb25UeXBlTW9iaWxleVBvc2l0aW9uRGVza3RvcHlQb3NpdGlvblR5cGV5UG9zaXRpb25UeXBlVGFibGV0eVBvc2l0aW9uVHlwZU1vYmlsZWJhY2tncm91bmRWaWRlb0NvbG9yYmFja2dyb3VuZFZpZGVvT3BhY2l0eWlubmVyQ29udGVudEN1c3RvbVdpZHRoVHlwZVRhYmxldGlubmVyQ29udGVudEN1c3RvbVdpZHRoVHlwZU1vYmlsZXdpZHRoVHlwZVRhYmxldHdpZHRoVHlwZU1vYmlsZW1pbkhlaWdodFR5cGVUYWJsZXRtaW5IZWlnaHRUeXBlTW9iaWxldG9wSGVpZ2h0VHlwZXRvcEhlaWdodFR5cGVUYWJsZXR0b3BIZWlnaHRUeXBlTW9iaWxlYm90dG9tSGVpZ2h0VHlwZWJvdHRvbUhlaWdodFR5cGVUYWJsZXRib3R0b21IZWlnaHRUeXBlTW9iaWxlb3ZlcmZsb3d0b3BEaXZpZGVyV2lkdGhUeXBlYm90dG9tRGl2aWRlcldpZHRoVHlwZXRvcERpdmlkZXJIZWlnaHRUeXBlYm90dG9tRGl2aWRlckhlaWdodFR5cGVlcXVhbEhlaWdodGdyYWRpZW50Q29sb3IxZ3JhZGllbnRDb2xvcjJncmFkaWVudFR5cGVzZWxlY3RHcmFkaWVudGdyYWRpZW50TG9jYXRpb24xZ3JhZGllbnRMb2NhdGlvbjJncmFkaWVudEFuZ2xlZ3JhZGllbnRPdmVybGF5QW5nbGViYWNrZ3JvdW5kT3ZlcmxheVR5cGViYWNrZ3JvdW5kUG9zaXRpb25PdmVybGF5RGVza3RvcGJhY2tncm91bmRTaXplT3ZlcmxheURlc2t0b3BiYWNrZ3JvdW5kUmVwZWF0T3ZlcmxheURlc2t0b3BiYWNrZ3JvdW5kQXR0YWNobWVudE92ZXJsYXlEZXNrdG9wYmFja2dyb3VuZEltYWdlT3ZlcmxheUNvbG9yYmFja2dyb3VuZE92ZXJsYXlJbWFnZUNvbG9yYmFja2dyb3VuZEN1c3RvbVNpemVPdmVybGF5RGVza3RvcGJhY2tncm91bmRDdXN0b21PdmVybGF5U2l6ZVR5cGVjdXN0b21PdmVybGF5UG9zaXRpb254UG9zaXRpb25PdmVybGF5RGVza3RvcHhQb3NpdGlvbk92ZXJsYXlUeXBleFBvc2l0aW9uT3ZlcmxheVR5cGVUYWJsZXR4UG9zaXRpb25PdmVybGF5VHlwZU1vYmlsZXlQb3NpdGlvbk92ZXJsYXlEZXNrdG9weVBvc2l0aW9uT3ZlcmxheVR5cGV5UG9zaXRpb25PdmVybGF5VHlwZVRhYmxldHlQb3NpdGlvbk92ZXJsYXlUeXBlTW9iaWxlZ3JhZGllbnRPdmVybGF5Q29sb3IxZ3JhZGllbnRPdmVybGF5Q29sb3IyZ3JhZGllbnRPdmVybGF5VHlwZXNlbGVjdE92ZXJsYXlHcmFkaWVudGdyYWRpZW50T3ZlcmxheUxvY2F0aW9uMWdyYWRpZW50T3ZlcmxheUxvY2F0aW9uMmNvbnRhaW5lckJvcmRlclRvcFdpZHRoY29udGFpbmVyQm9yZGVyTGVmdFdpZHRoY29udGFpbmVyQm9yZGVyUmlnaHRXaWR0aGNvbnRhaW5lckJvcmRlckJvdHRvbVdpZHRoY29udGFpbmVyQm9yZGVyVG9wTGVmdFJhZGl1c2NvbnRhaW5lckJvcmRlclRvcFJpZ2h0UmFkaXVzY29udGFpbmVyQm9yZGVyQm90dG9tTGVmdFJhZGl1c2NvbnRhaW5lckJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzY29udGFpbmVyQm9yZGVyUmFkaXVzVW5pdGNvbnRhaW5lckJvcmRlclRvcFdpZHRoVGFibGV0Y29udGFpbmVyQm9yZGVyTGVmdFdpZHRoVGFibGV0Y29udGFpbmVyQm9yZGVyUmlnaHRXaWR0aFRhYmxldGNvbnRhaW5lckJvcmRlckJvdHRvbVdpZHRoVGFibGV0Y29udGFpbmVyQm9yZGVyVG9wTGVmdFJhZGl1c1RhYmxldGNvbnRhaW5lckJvcmRlclRvcFJpZ2h0UmFkaXVzVGFibGV0Y29udGFpbmVyQm9yZGVyQm90dG9tTGVmdFJhZGl1c1RhYmxldGNvbnRhaW5lckJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzVGFibGV0Y29udGFpbmVyQm9yZGVyUmFkaXVzVW5pdFRhYmxldGNvbnRhaW5lckJvcmRlclRvcFdpZHRoTW9iaWxlY29udGFpbmVyQm9yZGVyTGVmdFdpZHRoTW9iaWxlY29udGFpbmVyQm9yZGVyUmlnaHRXaWR0aE1vYmlsZWNvbnRhaW5lckJvcmRlckJvdHRvbVdpZHRoTW9iaWxlY29udGFpbmVyQm9yZGVyVG9wTGVmdFJhZGl1c01vYmlsZWNvbnRhaW5lckJvcmRlclRvcFJpZ2h0UmFkaXVzTW9iaWxlY29udGFpbmVyQm9yZGVyQm90dG9tTGVmdFJhZGl1c01vYmlsZWNvbnRhaW5lckJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzTW9iaWxlY29udGFpbmVyQm9yZGVyUmFkaXVzVW5pdE1vYmlsZWNvbnRhaW5lckJvcmRlckxpbmtjb250YWluZXJCb3JkZXJSYWRpdXNMaW5rY29udGFpbmVyQm9yZGVyU3R5bGVjb250YWluZXJCb3JkZXJDb2xvcmNvbnRhaW5lckJvcmRlckhDb2xvclVBR0FuaW1hdGlvbkRlbGF5SW50ZXJ2YWxVQUdBbmltYXRpb25Eb05vdEFwcGx5VG9Db250YWluZXJVQUdBbmltYXRpb25TaG93Q29udGFpbmVyQWR2YW5jZWRTZXR0aW5nc2xheW91dGdyaWRDb2x1bW5EZXNrdG9wZ3JpZENvbHVtblRhYmxldGdyaWRDb2x1bW5Nb2JpbGVncmlkUm93RGVza3RvcGdyaWRSb3dUYWJsZXRncmlkUm93TW9iaWxlZ3JpZEFsaWduSXRlbXNEZXNrdG9wZ3JpZEp1c3RpZnlJdGVtc0Rlc2t0b3BncmlkQWxpZ25Db250ZW50RGVza3RvcGdyaWRBbGlnbkNvbnRlbnRUYWJsZXRncmlkQWxpZ25Db250ZW50TW9iaWxlZ3JpZEp1c3RpZnlDb250ZW50RGVza3RvcGdyaWRKdXN0aWZ5Q29udGVudFRhYmxldGdyaWRKdXN0aWZ5Q29udGVudE1vYmlsZW9yZGVyRGVza3RvcG9yZGVyVGFibGV0b3JkZXJNb2JpbGVtZXRhZGF0YWdsb2JhbEJsb2NrU3R5bGVOYW1lZ2xvYmFsQmxvY2tTdHlsZUlkVUFHSGlkZURlc2t0b3BVQUdIaWRlTW9iVUFHSGlkZVRhYlVBR0xvZ2dlZEluVUFHTG9nZ2VkT3V0VUFHRGF5VUFHUmVzcG9uc2l2ZUNvbmRpdGlvbnNVQUdBbmltYXRpb25UeXBlVUFHQW5pbWF0aW9uVGltZVVBR0FuaW1hdGlvbkRlbGF5VUFHQW5pbWF0aW9uRWFzaW5nVUFHQW5pbWF0aW9uUmVwZWF0VUFHUG9zaXRpb25VQUdTdGlja3lMb2NhdGlvblVBR1N0aWNreVJlc3RyaWN0ZWRVQUdTdGlja3lPZmZzZXRpc0dyaWRDc3NJblBhcmVudGlubmVyQmxvY2tzYmxvY2tfaWQ8IS0tIHdwOnVhZ2IvYWllcmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBVQUdIaWRlRGVza3RvcFVBR0hpZGVNb2JVQUdIaWRlVGFiVUFHTG9nZ2VkSW5VQUdMb2dnZWRPdXRVQUdEYXlVQUdSZXNwb25zaXZlQ29uZGl0aW9uc1VBR0FuaW1hdGlvblR5cGVVQUdBbmltYXRpb25UaW1lVUFHQW5pbWF0aW9uRGVsYXlVQUdBbmltYXRpb25FYXNpbmdVQUdBbmltYXRpb25SZXBlYXRVQUdQb3NpdGlvblVBR1N0aWNreUxvY2F0aW9uVUFHU3RpY2t5UmVzdHJpY3RlZFVBR1N0aWNreU9mZnNldGlubmVyQmxvY2tzb3JpZ2luYWxDb250ZW50PCEtLSB3cDpodG1sIC0tPgo8L2Rpdj4KYmFja2dyb3VuZFZpZGVvBQeXBBcBBQcFBwgHBAoJBg8DSQADBw0HBUsAAgQDCQ9FAEsABkwBDQoITgAPVQAPCw0WDBEQE1kAFRFXABEHDQoWDBEQE1kAFRFXABEXGxYRDhMPTgARDlIAFhNZABMQFRNVABZaABsJDwgMClgAFlUAExQVFhgZGxwVGRobHB4fISIbGRobHB4fISIbDxVQABEVFhcYGhsdHhcbHB0eICEjJB0bHB0eICEjJB0RF1IAEwgUEg5KAAsMBhdQABFSAAsREw8LCAS6EUEHAkEDBAECQQKPA0EFAxxBAAgHBAoJBg8DSQADBw0HBUsAAgQDCQ9FAEsABkwBDQoITgAPVQAPCw0WDBEQE1kAFRFXABEHDQoWDBEQE1kAFRFXABEXGxYRDhMPTgARDlIAFhNZABMQFRNVABZaABsJDwgMClgAFlUAExQVFhgZGxwVGRobHB4fISIbGRobHB4fISIbDxVQABEVFhcYGhsdHhcbHB0eICEjJB0bHB0eICEjJB0RF1IAEwgUEg5KAAsMBhdQABFSAAsREw8IBAsBAgsKBQcBBhUNDgwKEA0FBwEUBSMEOSIJBQQfEgKsApQBFoYBAgcJBhsBBQcPBAIBBQcFBwUHiQGFAr4ClgKXAwUHAgUHgzoKswcBCAcECkcADkoACwwGF1AAEVIACxETDwsTMi0gAQo1AQ4RBQcIBAgGCAUIBwgHCAYIDggOCAtIAQQIGgkIBg0FBwUHCAQIBwQKBwoMEQwLCR5dABsNEBEVCwoTDhkVFxsUDQ5QABFVABYRFBITC1EACwpQAAoRDQpQAQ1TAAkRCksAB0gABwoJDBQXDhsYCw4QVgATDhANUwAQDVMAFBZhAE8AUwANUwAQVgAIExYUFwtOAAwOUQANFBUgHB4iWwAiHxUXFFoAFxRaAFUAExVYABcYGRocHR8gGR0eHyAiIyUmHx0eHyAiIyUmHxMZVAAVGSEpBhFQAA5NABVXAFYAGVgADEsACBQSDkoACwwGF1AAEVIACxETDxELCAUIQQIIBwQKRwAOSgALDAYXUAARUgALERMPCw8RBw8YAQIA\/QIBAAAAAQQAFgELAAIBAAABAQIAE0EAAEEAAEEAAEIBAQBBAABBAADFAUECkAMGQdkBvgIGAUIBARlBzAGqFkEBG0EFQgCSFkEHMSGHAUEIiERBAbsDCkEfrgRBABEBCbYBIyq2AgEXKq0DCkELFkHgASABjwMBiwOiGUEDAkEBEUEAAkEDBAGbAwILD5gCoQOXAj4cjwKJAwlBAwJBAREBjwMBmwMBpwMCCw+YAqEDlwI+HI8CiQMjKAcIoQEdAZMBpQGYGSQBBAEEQRkCkkERQQKxGkEABLcVqhZBALcVAbo+qhZBALcVqhZBALcVCgsAfQF3CmJsYW5rLXBhZ2V3CWFsaWdud2lkZX4CAHcHcHVibGlzaP0DAHh3CnVhZ2IvaW1hZ2V5dwdkZWZhdWx0eXcAdwNpbWd5dwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcCcHh3AnB4dwJweHh3AHcFaG92ZXJ5dwZjZW50ZXJ3B0RlZmF1bHR3Bm5vcm1hbHcCcHh3AnB4dwJweHcCZW13AnB4dwJweHcCcHh5dwB3BmFsd2F5c3cCaDJ5dwQjZmZmdwdEZWZhdWx0dwZub3JtYWx3AnB4dwJweHcCcHh3AmVtdwJweHcCcHh3AnB4eX0PdwJweHcNY2VudGVyIGNlbnRlcncAez\/JmZmZmZmafQF3BWhvdmVydwRub25ldwQjZmZmdwthZnRlcl90aXRsZX0edwElfQJ3AnB4dwJweHcCcHh3AnB4eXcGc3RhdGljeHcJIzAwMDAwMDcwfQB9AHcGb3V0c2V0fQB9AHcGb3V0c2V0dwRub25ldgIDdXJsdwADYWx0dwptYXNrIHNoYXBldwRhdXRvdw1jZW50ZXIgY2VudGVydwluby1yZXBlYXR3AnB4dwJweHl5eXcAdwB3AHcAdwB3AHcAdwB3AnB4dwB3AHcAdwB3AHcAdwB3AHcCcHh3AHcAdwB3AHcAdwB3AHcAdwJweHh4dwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcCcHh3AHcAdwB3AHcAdwB3AHcAdwJweHcAdwB3AHcAdwB3AHcAdwB3AnB4eHh3AHcAdwB2AQRuYW1ldwB3AHcAeXl5eXl1AHl3AH2QBn0AdwRlYXNleXcAdwN0b3B5fQB9uBB9ihl\/dwRub25lf393BGZ1bGx3BGZ1bGx3BGZ1bGx4dwp1YWdiL2ltYWdleXcHZGVmYXVsdHl3AHcDaW1neXcAdwB3AHcAf3cAdwB3BG5vbmV\/dwB3AH93AHcAfbgQfYoZdwB3BGZ1bGx3BGZ1bGx3BGZ1bGx3AnB4dwJweHcCcHh4dwB3BWhvdmVyeXcGY2VudGVydwdEZWZhdWx0dwZub3JtYWx3AnB4dwJweHcCcHh3AmVtdwJweHcCcHh3AnB4eXcAdwZhbHdheXN3AmgyeXcEI2ZmZncHRGVmYXVsdHcGbm9ybWFsdwJweHcCcHh3AnB4dwJlbXcCcHh3AnB4dwJweHl9D3cCcHh3DWNlbnRlciBjZW50ZXJ3AHs\/yZmZmZmZmn0BdwVob3ZlcncEbm9uZXcEI2ZmZncLYWZ0ZXJfdGl0bGV9HncBJX0CdwJweHcCcHh3AnB4dwJweHl3BnN0YXRpY3h3CSMwMDAwMDA3MH0AfQB3Bm91dHNldH0AfQB3Bm91dHNldHcEbm9uZXYCA3VybHcAA2FsdHcKbWFzayBzaGFwZXcEYXV0b3cNY2VudGVyIGNlbnRlcncJbm8tcmVwZWF0dwJweHcCcHh5eXl3AHcAdwB3AHcAdwB3AHcAdwJweHcAdwB3AHcAdwB3AHcAdwB3AnB4dwB3AHcAdwB3AHcAdwB3AHcCcHh4eHcAdwB3AHcAdwB3AHcAdwB3AHcAdwB3AnB4dwB3AHcAdwB3AHcAdwB3AHcCcHh3AHcAdwB3AHcAdwB3AHcAdwJweHh4dwB3AHcAdgEEbmFtZXcAdwB3AHl5eXl5dQB5dwB9kAZ9AHcEZWFzZXl3AHcDdG9weX0AdyRlYmYyYmY2Zi04ZDFhLTRlYzktOTNjNi0zYjZhZDExY2EwYmF3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGd3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGd3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMS5qcGd9mAh3BVBhZ2UxdwhlYmYyYmY2Znc2aHR0cHM6Ly9wZmpodWIuY29tL2luZGV4LnBocC90aGUtc2h1em8tcHJvdG9jb2wvcGFnZTEvdyQ4MDljZjNlYS1jM2U4LTQ4ZDktODM1NC1kOWEzNWViY2ZiZTN3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMi5qcGd3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMi5qcGd3N2h0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9QYWdlMi5qcGd9mQh3BVBhZ2Uydwg4MDljZjNlYXc2aHR0cHM6Ly9wZmpodWIuY29tL2luZGV4LnBocC90aGUtc2h1em8tcHJvdG9jb2wvcGFnZTIvFgB3JGFiODlmODI1LTNlY2QtNDY5NS04ZTI4LTBjMjFkM2EzYjQ2OXfUAjxkaXYgY2xhc3M9IndwLWJsb2NrLXVhZ2ItY29udGFpbmVyIHVhZ2ItYmxvY2stYjdhZjhmYmQgYWxpZ25mdWxsIHVhZ2ItaXMtcm9vdC1jb250YWluZXIiPjxkaXYgY2xhc3M9InVhZ2ItY29udGFpbmVyX192aWRlby13cmFwIj48dmlkZW8gYXV0b3BsYXkgbG9vcCBtdXRlZCBwbGF5c2lubGluZT48c291cmNlIHNyYz0iaHR0cHM6Ly9wZmpodWIuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA0LzRLXzIyNS5tcDQiIHR5cGU9InZpZGVvL21wNCIvPjwvdmlkZW8+PC9kaXY+PGRpdiBjbGFzcz0idWFnYi1jb250YWluZXItaW5uZXItYmxvY2tzLXdyYXAiPgoKCgoKCgoKCgo8L2Rpdj48L2Rpdj58PwAAAH0AAQADAA0Ad7UHPHNjcmlwdCBkYXRhLXdwLWJsb2NrLWh0bWw9ImpzIj4Kd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKICAgIGNvbnN0IHNjcm9sbFNwZWVkID0gMTsgLy8gUGl4ZWxzIHBlciBmcmFtZQogICAgbGV0IGlzUGF1c2VkID0gZmFsc2U7CgogICAgZnVuY3Rpb24gcGVyZm9ybVNjcm9sbCgpIHsKICAgICAgICAvLyBPbmx5IG1vdmUgaWYgdGhlIG1vdXNlIGlzIG5vdCBob3ZlcmluZyB0aGUgZG9jdW1lbnQKICAgICAgICBpZiAoIWlzUGF1c2VkKSB7CiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxCeSgwLCBzY3JvbGxTcGVlZCk7CgogICAgICAgICAgICAvLyBUZXJtaW5hdGlvbiBsb2dpYzogU3RvcCBpZiB3ZSBoaXQgdGhlIGJvdHRvbQogICAgICAgICAgICBpZiAoKHdpbmRvdy5pbm5lckhlaWdodCArIHdpbmRvdy5wYWdlWU9mZnNldCkgPj0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQpIHsKICAgICAgICAgICAgICAgIHJldHVybjsgCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBlcmZvcm1TY3JvbGwpOwogICAgfQoKICAgIC8vIExpc3RlbmVyIGZvciBtb3VzZSBlbnRlcmluZyB0aGUgcGFnZSBhcmVhCiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHsKICAgICAgICBpc1BhdXNlZCA9IHRydWU7CiAgICB9KTsKCiAgICAvLyBMaXN0ZW5lciBmb3IgbW91c2UgbGVhdmluZyB0aGUgcGFnZSBhcmVhCiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHsKICAgICAgICBpc1BhdXNlZCA9IGZhbHNlOwogICAgfSk7CgogICAgLy8gU3RhcnQgdGhlIGxvb3AKICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShwZXJmb3JtU2Nyb2xsKTsKfSk7Cjwvc2NyaXB0PgQAe0J53jWqubAAfb7Y\/bsFSwB3JDFlNzE4NTk2LWFiMzgtNDI5OC1hZTNjLTJjZjhlNTFkZmJlY3eOIjxzdHlsZSBkYXRhLXdwLWJsb2NrLWh0bWw9ImNzcyI+DQojY29taWMtdWktd3JhcHBlciB7DQogIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50Ow0KICB0b3A6IDUwJSAhaW1wb3J0YW50Ow0KICBsZWZ0OiAwICFpbXBvcnRhbnQ7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50Ow0KICB6LWluZGV4OiA5OTk5OTkgIWltcG9ydGFudDsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KI2NvbWljLXVpLWxheWVyIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7DQogIHdpZHRoOiAxMTBweCAhaW1wb3J0YW50OyAvKiBSZWR1Y2VkIHdpZHRoIHNpbmNlIHZvbHVtZSBpcyBnb25lICovDQogIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsNCiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50Ow0KICBib3JkZXI6IDJweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7DQogIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwICFpbXBvcnRhbnQ7DQogIGJveC1zaGFkb3c6IDRweCA0cHggMHB4IHJnYmEoMCwwLDAsMC4wNSkgIWltcG9ydGFudDsNCiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsNCiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UgIWltcG9ydGFudDsNCiAgbGVmdDogLTExMHB4ICFpbXBvcnRhbnQ7IA0KICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgZ2FwOiAxMnB4ICFpbXBvcnRhbnQ7DQp9DQoNCiNjb21pYy11aS13cmFwcGVyOmhvdmVyICNjb21pYy11aS1sYXllciwNCiNjb21pYy11aS13cmFwcGVyLmFjdGl2ZSAjY29taWMtdWktbGF5ZXIgew0KICBsZWZ0OiAwICFpbXBvcnRhbnQ7DQp9DQoNCiN1aS10YWIgew0KICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsNCiAgbGVmdDogMTAwJSAhaW1wb3J0YW50Ow0KICB0b3A6IDAgIWltcG9ydGFudDsNCiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50Ow0KICBib3JkZXI6IDJweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7DQogIHBhZGRpbmc6IDhweCA0cHggIWltcG9ydGFudDsNCiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7DQogIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmwgIWltcG9ydGFudDsNCiAgdGV4dC1vcmllbnRhdGlvbjogbWl4ZWQgIWltcG9ydGFudDsNCiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWltcG9ydGFudDsNCiAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDsNCiAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50Ow0KICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7DQogIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwICFpbXBvcnRhbnQ7DQp9DQoNCi51aS1jb250cm9sIHsNCiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWltcG9ydGFudDsNCiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7DQogIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsNCiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsNCiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7DQogIGdhcDogOHB4ICFpbXBvcnRhbnQ7DQogIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50Ow0KICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50Ow0KfQ0KDQoudWktc3RhdHVzIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogIHdpZHRoOiA5cHggIWltcG9ydGFudDsNCiAgaGVpZ2h0OiA5cHggIWltcG9ydGFudDsNCiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50Ow0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KfQ0KDQouYWN0aXZlLXN0YXRlIC51aS1zdGF0dXMgew0KICBiYWNrZ3JvdW5kOiAjMDBBRUVGICFpbXBvcnRhbnQ7DQogIGJvcmRlci1jb2xvcjogIzAwQUVFRiAhaW1wb3J0YW50Ow0KfQ0KPC9zdHlsZT4NCg0KPHNjcmlwdCBkYXRhLXdwLWJsb2NrLWh0bWw9ImpzIj4NCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHsNCiAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbWljLXVpLXdyYXBwZXInKTsNCiAgICBjb25zdCB0YWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndWktdGFiJyk7DQogICAgY29uc3QgYXVkaW9CdG4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXVkaW8tdHJpZ2dlcicpOw0KICAgIGNvbnN0IGZzQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW4tdHJpZ2dlcicpOw0KICAgIGNvbnN0IHBsYXllciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21pYy1hdWRpbycpOw0KDQogICAgLy8gVGFiIFRvZ2dsZSBsb2dpYw0KICAgIGlmICh0YWIgJiYgd3JhcHBlcikgew0KICAgICAgICB0YWIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gew0KICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsNCiAgICAgICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJyk7DQogICAgICAgIH0pOw0KICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHdyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpOw0KICAgIH0NCg0KICAgIC8vIFNvdW5kIFRvZ2dsZSBsb2dpYw0KICAgIGlmIChhdWRpb0J0biAmJiBwbGF5ZXIpIHsNCiAgICAgICAgYXVkaW9CdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gew0KICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsNCiAgICAgICAgICAgIHBsYXllci5wYXVzZWQgPyBwbGF5ZXIucGxheSgpIDogcGxheWVyLnBhdXNlKCk7DQogICAgICAgIH0pOw0KICAgICAgICBwbGF5ZXIub25wbGF5ID0gKCkgPT4gYXVkaW9CdG4uY2xhc3NMaXN0LmFkZCgnYWN0aXZlLXN0YXRlJyk7DQogICAgICAgIHBsYXllci5vbnBhdXNlID0gKCkgPT4gYXVkaW9CdG4uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlLXN0YXRlJyk7DQogICAgfQ0KDQogICAgLy8gRnVsbCBTY3JlZW4gVG9nZ2xlIGxvZ2ljDQogICAgaWYgKGZzQnRuKSB7DQogICAgICAgIGZzQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsNCiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7DQogICAgICAgICAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCkuY2F0Y2goZXJyID0+IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgYXR0ZW1wdGluZyB0byBlbmFibGUgZnVsbC1zY3JlZW4gbW9kZTogJHtlcnIubWVzc2FnZX1gKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCAoKSA9PiB7DQogICAgICAgICAgICBkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCA\/IGZzQnRuLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZS1zdGF0ZScpIDogZnNCdG4uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlLXN0YXRlJyk7DQogICAgICAgIH0pOw0KICAgIH0NCn0pOw0KPC9zY3JpcHQ+DQoNCjxkaXYgaWQ9ImNvbWljLXVpLXdyYXBwZXIiPg0KICA8ZGl2IGlkPSJjb21pYy11aS1sYXllciI+DQogICAgPGRpdiBpZD0idWktdGFiIj5DT05UUk9MUzwvZGl2Pg0KDQogICAgPGRpdiBjbGFzcz0idWktY29udHJvbCIgaWQ9ImF1ZGlvLXRyaWdnZXIiPg0KICAgICAgPHNwYW4gY2xhc3M9InVpLXN0YXR1cyI+PC9zcGFuPiBTT1VORA0KICAgIDwvZGl2Pg0KDQogICAgPGRpdiBjbGFzcz0idWktY29udHJvbCIgaWQ9ImZ1bGxzY3JlZW4tdHJpZ2dlciI+DQogICAgICA8c3BhbiBjbGFzcz0idWktc3RhdHVzIj48L3NwYW4+IEZVTEwgU0NSRUVODQogICAgPC9kaXY+DQoNCiAgICA8YXVkaW8gaWQ9ImNvbWljLWF1ZGlvIiBsb29wIHByZWxvYWQ9ImF1dG8iPg0KICAgICAgPHNvdXJjZSBzcmM9Imh0dHBzOi8vcGZqaHViLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNC9Qcm9qZWN0LUZ1c2lvbi1KdW5jdGlvbi5tcDMiIHR5cGU9ImF1ZGlvL21wMyI+DQogICAgPC9hdWRpbz4NCiAgPC9kaXY+DQo8L2Rpdj53hyE8c3R5bGUgZGF0YS13cC1ibG9jay1odG1sPSJjc3MiPgojY29taWMtdWktd3JhcHBlciB7CiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7CiAgdG9wOiA1MCUgIWltcG9ydGFudDsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7CiAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsKfQoKI2NvbWljLXVpLWxheWVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKICB3aWR0aDogMTEwcHggIWltcG9ydGFudDsgLyogUmVkdWNlZCB3aWR0aCBzaW5jZSB2b2x1bWUgaXMgZ29uZSAqLwogIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsKICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiAycHggc29saWQgIzAwMCAhaW1wb3J0YW50OwogIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDAgIWltcG9ydGFudDsKICBib3gtc2hhZG93OiA0cHggNHB4IDBweCByZ2JhKDAsMCwwLDAuMDUpICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsKICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZSAhaW1wb3J0YW50OwogIGxlZnQ6IC0xMTBweCAhaW1wb3J0YW50OyAKICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogIGdhcDogMTJweCAhaW1wb3J0YW50Owp9CgojY29taWMtdWktd3JhcHBlcjpob3ZlciAjY29taWMtdWktbGF5ZXIsCiNjb21pYy11aS13cmFwcGVyLmFjdGl2ZSAjY29taWMtdWktbGF5ZXIgewogIGxlZnQ6IDAgIWltcG9ydGFudDsKfQoKI3VpLXRhYiB7CiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgbGVmdDogMTAwJSAhaW1wb3J0YW50OwogIHRvcDogMCAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsKICBib3JkZXI6IDJweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDsKICBwYWRkaW5nOiA4cHggNHB4ICFpbXBvcnRhbnQ7CiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7CiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCAhaW1wb3J0YW50OwogIHRleHQtb3JpZW50YXRpb246IG1peGVkICFpbXBvcnRhbnQ7CiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWltcG9ydGFudDsKICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50OwogIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDAgIWltcG9ydGFudDsKfQoKLnVpLWNvbnRyb2wgewogIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7CiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7CiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OwogIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7CiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICBnYXA6IDhweCAhaW1wb3J0YW50OwogIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7Cn0KCi51aS1zdGF0dXMgewogIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIHdpZHRoOiA5cHggIWltcG9ydGFudDsKICBoZWlnaHQ6IDlweCAhaW1wb3J0YW50OwogIGJvcmRlcjogMS41cHggc29saWQgIzAwMCAhaW1wb3J0YW50OwogIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5hY3RpdmUtc3RhdGUgLnVpLXN0YXR1cyB7CiAgYmFja2dyb3VuZDogIzAwQUVFRiAhaW1wb3J0YW50OwogIGJvcmRlci1jb2xvcjogIzAwQUVFRiAhaW1wb3J0YW50Owp9Cjwvc3R5bGU+Cgo8c2NyaXB0IGRhdGEtd3AtYmxvY2staHRtbD0ianMiPgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7CiAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbWljLXVpLXdyYXBwZXInKTsKICAgIGNvbnN0IHRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1aS10YWInKTsKICAgIGNvbnN0IGF1ZGlvQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F1ZGlvLXRyaWdnZXInKTsKICAgIGNvbnN0IGZzQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW4tdHJpZ2dlcicpOwogICAgY29uc3QgcGxheWVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbWljLWF1ZGlvJyk7CgogICAgLy8gVGFiIFRvZ2dsZSBsb2dpYwogICAgaWYgKHRhYiAmJiB3cmFwcGVyKSB7CiAgICAgICAgdGFiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgd3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKCdhY3RpdmUnKTsKICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHdyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpOwogICAgfQoKICAgIC8vIFNvdW5kIFRvZ2dsZSBsb2dpYwogICAgaWYgKGF1ZGlvQnRuICYmIHBsYXllcikgewogICAgICAgIGF1ZGlvQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgcGxheWVyLnBhdXNlZCA\/IHBsYXllci5wbGF5KCkgOiBwbGF5ZXIucGF1c2UoKTsKICAgICAgICB9KTsKICAgICAgICBwbGF5ZXIub25wbGF5ID0gKCkgPT4gYXVkaW9CdG4uY2xhc3NMaXN0LmFkZCgnYWN0aXZlLXN0YXRlJyk7CiAgICAgICAgcGxheWVyLm9ucGF1c2UgPSAoKSA9PiBhdWRpb0J0bi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUtc3RhdGUnKTsKICAgIH0KCiAgICAvLyBGdWxsIFNjcmVlbiBUb2dnbGUgbG9naWMKICAgIGlmIChmc0J0bikgewogICAgICAgIGZzQnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkgewogICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCkuY2F0Y2goZXJyID0+IHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBhdHRlbXB0aW5nIHRvIGVuYWJsZSBmdWxsLXNjcmVlbiBtb2RlOiAke2Vyci5tZXNzYWdlfWApOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHsKICAgICAgICAgICAgZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQgPyBmc0J0bi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUtc3RhdGUnKSA6IGZzQnRuLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZS1zdGF0ZScpOwogICAgICAgIH0pOwogICAgfQp9KTsKCjwvc2NyaXB0PgoKPGRpdiBpZD0iY29taWMtdWktd3JhcHBlciI+CiAgPGRpdiBpZD0iY29taWMtdWktbGF5ZXIiPgogICAgPGRpdiBpZD0idWktdGFiIj5DT05UUk9MUzwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InVpLWNvbnRyb2wiIGlkPSJhdWRpby10cmlnZ2VyIj4KICAgICAgPHNwYW4gY2xhc3M9InVpLXN0YXR1cyI+PC9zcGFuPiBTT1VORAogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0idWktY29udHJvbCIgaWQ9ImZ1bGxzY3JlZW4tdHJpZ2dlciI+CiAgICAgIDxzcGFuIGNsYXNzPSJ1aS1zdGF0dXMiPjwvc3Bhbj4gRlVMTCBTQ1JFRU4KICAgIDwvZGl2PgoKICAgIDxhdWRpbyBpZD0iY29taWMtYXVkaW8iIGxvb3A9IiIgcHJlbG9hZD0iYXV0byI+CiAgICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL3Bmamh1Yi5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDQvUHJvamVjdC1GdXNpb24tSnVuY3Rpb24ubXAzIiB0eXBlPSJhdWRpby9tcDMiPgogICAgPC9hdWRpbz4KICA8L2Rpdj4KPC9kaXY+eHl5eXl5dQB5dwB9kAZ9AHcEZWFzZXl3AHcDdG9weX0AdyQ5ZGQ5NTQzNy0wYzZiLTRmYmItYTAzMC1kYmY0ZTYwOTNkOWJ3CWNvcmUvaHRtbIcDAH0BfQB3BmNsb3NlZHcGY2xvc2VkdwB3AHcAfQF3EzIwMjYtMDQtMjVUMTQ6MTM6MzN3EnRoZS1zaHV6by1wcm90b2NvbHh3DnVhZ2IvY29udGFpbmVydwNkaXZ5dwlhbGlnbndpZGV9pAF9pAF3ASV3BDEwMDB9gBB9vwt3AnB4dwJweHcGY29sdW1udwZjZW50ZXJ3BmNlbnRlcncGbm93cmFwdwR3cmFwdwB2AgF4fD8AAAABeXw\/AAAAdwVjb3ZlcncJbm8tcmVwZWF0dwZzY3JvbGx3CSNGRkZGRkY3NXdPbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDYsIDE0NywgMjI3LCAwLjUpIDAlLCByZ2JhKDE1NSwgODEsIDIyNCwgMC41KSAxMDAlKXcJIzAwMDAwMDcwfQB9AHcGb3V0c2V0fQB9AHcGb3V0c2V0dwIxMHcCMTB3AjEwdwIxMHcCcHh3AnB4dwJweHh3AnB4dwJweHcCcHh4dwIyMHcCcHh3AnB4dwJweHcCMjB3AnB4dwJweHcCcHh5dwRub25ldwQjMzMzfaQBdwRub25ldwQjMzMzfaQBeXl5eHl5eX2kAXcBJXcGbm9ybWFsdwB3AHl3B2RlZmF1bHR3AHcCcHh3AnB4dwJweHcAdwJweHcCcHh3AnB4dwJweHcCcHh3ASV3ASV3AnB4dwJweHcCcHh3AnB4dwJweHcCcHh3AnB4dwJweHcHdmlzaWJsZXcBJXcBJXcCcHh3AnB4eXcHIzA2NTU4YXcHIzAwNjNBMXcGbGluZWFydwViYXNpY30AfaQBfQB9AHcEbm9uZXYCAXh8PwAAAAF5fD8AAAB3BWNvdmVydwluby1yZXBlYXR3BnNjcm9sbHcJI0ZGRkZGRjc1dwkjRkZGRkZGNzV9pAF3ASV3B2RlZmF1bHR3AHcCcHh3AnB4dwJweHcAdwJweHcCcHh3AnB4dwcjMDY1NThhdwcjMDA2M0ExdwZsaW5lYXJ3BWJhc2ljfQB9pAF3AHcAdwB3AHcAdwB3AHcAdwJweHcAdwB3AHcAdwB3AHcAdwB3AnB4dwB3AHcAdwB3AHcAdwB3AHcCcHh4eHcAdwB3AH2IA3l5dwB1AXYEB2RlZmF1bHR3BmN1c3RvbQNtaW52AgR1bml0dwJweAV2YWx1ZX0KA21heHYCBHVuaXR3AmZyBXZhbHVlfQEGY3VzdG9tdgIEdW5pdHcCZnIFdmFsdWV9AXUBdgQHZGVmYXVsdHcGY3VzdG9tA21pbnYCBHVuaXR3AnB4BXZhbHVlfQoDbWF4dgIEdW5pdHcCZnIFdmFsdWV9AQZjdXN0b212AgR1bml0dwJmcgV2YWx1ZX0BdQF2BAdkZWZhdWx0dwZjdXN0b20DbWludgIEdW5pdHcCcHgFdmFsdWV9CgNtYXh2AgR1bml0dwJmcgV2YWx1ZX0BBmN1c3RvbXYCBHVuaXR3AmZyBXZhbHVlfQF1AXYEB2RlZmF1bHR3BmN1c3RvbQNtaW52AgR1bml0dwJweAV2YWx1ZX0KA21heHYCBHVuaXR3AmZyBXZhbHVlfQEGY3VzdG9tdgIEdW5pdHcCZnIFdmFsdWV9AXUBdgQHZGVmYXVsdHcGY3VzdG9tA21pbnYCBHVuaXR3AnB4BXZhbHVlfQoDbWF4dgIEdW5pdHcCZnIFdmFsdWV9AQZjdXN0b212AgR1bml0dwJmcgV2YWx1ZX0BdQF2BAdkZWZhdWx0dwZjdXN0b20DbWludgIEdW5pdHcCcHgFdmFsdWV9CgNtYXh2AgR1bml0dwJmcgV2YWx1ZX0BBmN1c3RvbXYCBHVuaXR3AmZyBXZhbHVlfQF3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B3N0cmV0Y2h3B2luaXRpYWx3B2luaXRpYWx3B2luaXRpYWx2AQRuYW1ldwB3AHcAeXl5eXl1AHl3AH2QBn0AdwRlYXNleXcAdwN0b3B5fQB5eHcIYjdhZjhmYmR4eHl5eXl5dQB5dwB9kAZ9AHcEZWFzZXl3AHcDdG9weX0Adwljb3JlL2h0bWx3BXZpZGVvdwVjb2xvcncHI2ZmZmZmZgqJn+L\/DQObAs8BFwUBAYfh8YsMAQAAnorkrgsZAAABAAYCBwECAgIAAgEBApoBAgIDAgACCAO+AfoIBQcABAEFAQcBAQD6ARgBAAYCBwAEAKUBAart49EKBgCqCwIdAgEEAAIBAZYL2pq9jAkBAAD+ypjNBgEAAsbtpLgFAQCcAb7s\/t0CAQAAseXEzwIUAAACiyKDHfoBCgnzAwIBAgEBAQABAAEBEwATwQIyCC11ICIB3wEKADVAAewBDgnz3u9\/GQACBwAGGwIBAQAFAA8AGQAJAA8BDQF\/ozcFAAgDAgACBQEAAQABAREBAQIR0SAHEgGxDQKebQ==\",\"updateId\":10237520}","_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-150","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/pfjhub.com\/index.php\/author\/gemgfx\/"},"uagb_comment_info":0,"uagb_excerpt":"CONTROLS SOUND FULL SCREEN","_links":{"self":[{"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/pages\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":18,"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/pages\/150\/revisions"}],"predecessor-version":[{"id":541,"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/pages\/150\/revisions\/541"}],"wp:attachment":[{"href":"https:\/\/pfjhub.com\/index.php\/wp-json\/wp\/v2\/media?parent=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}