-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathb64
1 lines (1 loc) · 2.76 KB
/
b64
1
ZnVuY3Rpb24gTWVtZUVuY3J5cHQoJGlucHV0U3RyaW5nKSB7CiAgICAka2V5ID0gIllvdUhhdmVCZWVuRGFiYmVkT25Hb29kU2lyIgoKICAgICMgQ29udmVydCB0aGUgaW5wdXQgc3RyaW5nIGFuZCBrZXkgdG8gYnl0ZSBhcnJheXMKICAgICRpbnB1dEJ5dGVzID0gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRCeXRlcygkaW5wdXRTdHJpbmcpCiAgICAka2V5Qnl0ZXMgPSBbU3lzdGVtLlRleHQuRW5jb2RpbmddOjpVVEY4LkdldEJ5dGVzKCRrZXkpCgogICAgIyBJbml0aWFsaXplIGFuIGVtcHR5IGJ5dGUgYXJyYXkgZm9yIHRoZSBlbmNyeXB0ZWQgcmVzdWx0CiAgICAkZW5jcnlwdGVkQnl0ZXMgPSBOZXctT2JqZWN0IGJ5dGVbXSAkaW5wdXRCeXRlcy5MZW5ndGgKCiAgICAjIFBlcmZvcm0gdGhlIGVuY3J5cHRpb24KICAgIGZvciAoJGkgPSAwOyAkaSAtbHQgJGlucHV0Qnl0ZXMuTGVuZ3RoOyAkaSsrKSB7CiAgICAgICAgJGVuY3J5cHRlZEJ5dGVzWyRpXSA9ICRpbnB1dEJ5dGVzWyRpXSAtYnhvciAka2V5Qnl0ZXNbJGkgJSAka2V5Qnl0ZXMuTGVuZ3RoXSAtYnhvciAoJGkgJSAyNTUpCiAgICB9CgogICAgIyBDb252ZXJ0IHRoZSBlbmNyeXB0ZWQgYnl0ZXMgYmFjayB0byBhIHN0cmluZyBhbmQgcmV0dXJuCiAgICByZXR1cm4gW0NvbnZlcnRdOjpUb0Jhc2U2NFN0cmluZygkZW5jcnlwdGVkQnl0ZXMpCn0KCiMgRGVmaW5lIHRoZSBkZWNyeXB0aW9uIGFsZ29yaXRobQpmdW5jdGlvbiBDdXN0b21EZWNyeXB0KCRlbmNyeXB0ZWRTdHJpbmcpIHsKICAgICRrZXkgPSAiWW91SGF2ZUJlZW5EYWJiZWRPbkdvb2RTaXIiCgogICAgIyBDb252ZXJ0IHRoZSBlbmNyeXB0ZWQgc3RyaW5nIGFuZCBrZXkgZnJvbSBCYXNlNjQgYW5kIHRvIGJ5dGUgYXJyYXlzCiAgICAkZW5jcnlwdGVkQnl0ZXMgPSBbQ29udmVydF06OkZyb21CYXNlNjRTdHJpbmcoJGVuY3J5cHRlZFN0cmluZykKICAgICRrZXlCeXRlcyA9IFtTeXN0ZW0uVGV4dC5FbmNvZGluZ106OlVURjguR2V0Qnl0ZXMoJGtleSkKCiAgICAjIEluaXRpYWxpemUgYW4gZW1wdHkgYnl0ZSBhcnJheSBmb3IgdGhlIGRlY3J5cHRlZCByZXN1bHQKICAgICRkZWNyeXB0ZWRCeXRlcyA9IE5ldy1PYmplY3QgYnl0ZVtdICRlbmNyeXB0ZWRCeXRlcy5MZW5ndGgKCiAgICAjIFBlcmZvcm0gdGhlIGN1c3RvbSBkZWNyeXB0aW9uIGxvZ2ljCiAgICBmb3IgKCRpID0gMDsgJGkgLWx0ICRlbmNyeXB0ZWRCeXRlcy5MZW5ndGg7ICRpKyspIHsKICAgICAgICAkZGVjcnlwdGVkQnl0ZXNbJGldID0gJGVuY3J5cHRlZEJ5dGVzWyRpXSAtYnhvciAka2V5Qnl0ZXNbJGkgJSAka2V5Qnl0ZXMuTGVuZ3RoXSAtYnhvciAoJGkgJSAyNTUpCiAgICB9CgogICAgIyBDb252ZXJ0IHRoZSBkZWNyeXB0ZWQgYnl0ZXMgYmFjayB0byBhIHN0cmluZyBhbmQgcmV0dXJuCiAgICByZXR1cm4gW1N5c3RlbS5UZXh0LkVuY29kaW5nXTo6VVRGOC5HZXRTdHJpbmcoJGRlY3J5cHRlZEJ5dGVzKQp9CgpmdW5jdGlvbiBFRigkRlApIHsKICAgICRmaWxlQ29udGVudCA9IEdldC1Db250ZW50ICRGUCAtUmF3CgogICAgJGVuY3J5cHRlZENvbnRlbnQgPSBNZW1lRW5jcnlwdCAkZmlsZUNvbnRlbnQKCiAgICAkZW5jcnlwdGVkRmlsZVBhdGggPSAiJEZQLm1lbWUiCiAgICBbU3lzdGVtLklPLkZpbGVdOjpXcml0ZUFsbFRleHQoJGVuY3J5cHRlZEZpbGVQYXRoLCAkZW5jcnlwdGVkQ29udGVudCkKICAgIFdyaXRlLUhvc3QgIkZpbGUgZW5jcnlwdGVkIHN1Y2Nlc3NmdWxseTogJGVuY3J5cHRlZEZpbGVQYXRoIgp9CgpmdW5jdGlvbiBERigkZW5jcnlwdGVkRmlsZVBhdGgpIHsKICAgICRlbmNyeXB0ZWRDb250ZW50ID0gR2V0LUNvbnRlbnQgJGVuY3J5cHRlZEZpbGVQYXRoIC1SYXcKCiAgICAkZGVjcnlwdGVkQ29udGVudCA9IEN1c3RvbURlY3J5cHQgJGVuY3J5cHRlZENvbnRlbnQKCiAgICAkZGVjcnlwdGVkRmlsZVBhdGggPSAkZW5jcnlwdGVkRmlsZVBhdGguUmVwbGFjZSgiLm1lbWUiLCAiIikKICAgIFtTeXN0ZW0uSU8uRmlsZV06OldyaXRlQWxsVGV4dCgkZGVjcnlwdGVkRmlsZVBhdGgsICRkZWNyeXB0ZWRDb250ZW50KQp9CgojJEZQID0gInBhdGhcdG9ceW91clxkYW5rXG1lbWVzIgojRUYgJEZQCiNERiAiJEZQLm1lbWUi