LyoKICogQ29weXJpZ2h0IDIwMDYgRmF0aWggQf79Y/0KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfSFRNTERJU0FCTEVEICAgICJIVE1MIG1vdG9ydSD+dSBhbiBkZXZyZSBk/f79LiIKICAgIElEU19IVE1MRE9DVU1FTlQgICAgIkhUTUwgQmVsZ2VzaSIKICAgIElEU19ET1dOTE9BRElORyAgICAgIt1uZGlyaWxpeW9yLi4uIgogICAgSURTX0lOU1RBTExJTkcgICAgICAiS3VydWx1eW9yLi4uIgp9CgpJRF9EV0xfRElBTE9HIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDg1ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19DRU5URVIgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJXaW5lIEdlY2tvIEt1cnVjdXN1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICJCdSB1eWd1bGFtYSBiaXIgSFRNTCBzYXlmYXP9IGf2c3Rlcm1leWUg52Fs/f79eW9yLiBXaW5lLCBzYXlmYW79biBn9nN0ZXJpbG1lc2kgIiBcCiAgICAgICAgICAiaedpbiBHZWNrbyAoTW96aWxsYSBIVE1MIG1vdG9ydSknbnVuIGt1cnVsdSBvbG1hc/1u/SBnZXJla3RpcmlyLiBHZWNrbyBtb3RvcnVudW4gIiBcCiAgICAgICAgICAib3RvbWF0aWsgb2xhcmFrIGluZGlyaWxtZXNpIHZlIGt1cnVsbWFz/SBp52luIEt1cid1IHT9a2xhef1uLiIsIElEX0RXTF9TVEFUVVMsIDEwLCAxMCwgMjQwLCAzMCwgU1NfQ0VOVEVSCiAgICBDT05UUk9MICLdbGVybGVtZSIsIElEX0RXTF9QUk9HUkVTUywgUFJPR1JFU1NfQ0xBU1NBLCBXU19CT1JERVJ8UEJTX1NNT09USCwgMTAsIDQwLCAyNDAsIDEyCiAgICBQVVNIQlVUVE9OICLdcHRhbCIsIElEQ0FOQ0VMLCAxNDAsIDYwLCA1MCwgMTUsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiS3VyIiwgSURfRFdMX0lOU1RBTEwsIDIwMCwgNjAsIDUwLCAxNSwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCi8qIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBpbiBzaGRvY2xjLmRsbCAqLwoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiRGVmYXVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkdlcmkiLCAgICAgICAgICAgICAgICAgIElETV9CQUNLCiAgICAgICAgTUVOVUlURU0gIt0mbGVyaSIsICAgICAgICAgICAgICAgICBJRE1fRk9SV0FSRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQXJrYXBsYW79IEZhcmts/SBLYXlkZXQuLi4iLCBJRE1fU0FWRUJBQ0tHUk9VTkRBUwogICAgICAgIE1FTlVJVEVNICJBcmthJnBsYW4gWWFwIiwgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQXJrYXBsYW79IEtvJnB5YWxhIiwgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICImTWFzYfxzdPwg1vBlc2kgWWFwIiwgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVPxt/G78IFNl5yIsICAgICAgICAgICAgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImWWFw/f50/XIiLCAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksm/XNheW9sIE9sdf50dXIiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiU/1rIEt1bGxhbv1sYW5sYXJhIEVrbGUiLElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSAiJktheW5h8P0gR/ZzdGVyIiwgICAgICAgIElETV9WSUVXU09VUkNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLb2RsYW1hIiwgICAgICAgICAgICAgICBJRE1fRU5DT0RJTkcgCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIllhJnpk/XIiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlQKICAgICAgICBNRU5VSVRFTSAiJlllbmlsZSIsICAgICAgICAgICAgICAgIElETV9SRUZSRVNIIAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm1nplbGxpa2xlciIsICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiSW1hZ2UiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZCYfBsYW50/Xn9IEHnIiwgICAgICAgICAgIElETV9PUEVOTElOSwogICAgICAgIE1FTlVJVEVNICImWWVuaSBQZW5jZXJlZGUgQeciLCBJRE1fT1BFTklOTkVXV0lORE9XCiAgICAgICAgTUVOVUlURU0gIkhlZGVmaSAmRmFya2z9IEtheWRldC4uLiIsIElETV9TQVZFVEFSR0VUQVMKICAgICAgICBNRU5VSVRFTSAiSGVkZWZpIFkmYXpk/XIiLCAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJlc21pICZH9nN0ZXIiLCAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImUmVzbWkgRmFya2z9IEtheWRldC4uLiIsICBJRE1fU0FWRVBJQ1RVUkVBUwogICAgICAgIE1FTlVJVEVNICJSZXNtaSAmRS1wb3N0YWxhLi4uIiwgICAgICBJRE1fRU1BSUxQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlJlc21pIFlhJnpk/XIuLi4iLCAgICAgICAgIElETV9QUklOVFBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiUmVzaW1sZXJpbSBkaXppbmluZSAmR2l0IiwgSURNX0dPVE9NWVBJQ1RVUkVTCiAgICAgICAgTUVOVUlURU0gIkFya2EmcGxhbiBZYXAiLCAgICAgICBJRE1fU0VUQVNCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIk1hc2H8c3T8INYm8GVzaSBZYXAuLi4iLCAgIElETV9TRVRBU0RFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmZXMiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcHlhbGEiLCAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkv9c2F5b2wgS29weWFsYSIsICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJZYSZw/f50/XIiLCAgICAgICAgICAgICAgICBJRE1fUEFTVEUgCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlP9ayBLdSZsbGFu/WxhbmxhcmEgRWtsZS4uLiIsICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItYmemVsbGlrbGVyIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRyb2wiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZHZXJpIEFsIiwgICAgSURNX1VORE8gCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmZXMiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29weWFsYSIsICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIllhJnD9/nT9ciIsICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZTaWwiLCAgICAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVPxt/G78IFNl5yIsIElETV9TRUxFQ1RBTEwKICAgIH0KCiAgICBQT1BVUCAiVGFibGUiCiAgICB7CiAgICAgICAgUE9QVVAgIiZTZWxlY3QiCiAgICAgICAgewogICAgICAgICAgICBNRU5VSVRFTSAiJkj8Y3JlIiwgICAgICAgIElETV9DRUxMIAogICAgICAgICAgICBNRU5VSVRFTSAiJlNhdP1yIiwgICAgICAgIElETV9ST1cKICAgICAgICAgICAgTUVOVUlURU0gIiZT/HR1biIsICAgICAgICBJRE1fQ09MVU1OCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFibG8iLCAgICAgICAgSURNX1RBQkxFCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImSPxjcmUg1nplbGxpa2xlcmkiLCBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAiJlRhYmxvINZ6ZWxsaWtsZXJpIiwgSURNX1RBQkxFUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICIxRFNpdGUgU2VsZWN0IgogICAgewogICAgICAgIE1FTlVJVEVNICImS2VzIiwgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcHlhbGEiLCAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJZYSZw/f50/XIiLCAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICImVPxt/G78IFNl5yIsIElETV9TRUxFQ1RBTEwgCiAgICAgICAgTUVOVUlURU0gIiZZYXpk/XIiLCAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFuY2hvciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkHnIiwgICAgICAgICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiJlllbmkgUGVuY2VyZWRlIEHnIiwgICBJRE1fT1BFTklOTkVXV0lORE9XCiAgICAgICAgTUVOVUlURU0gIkhlZGVmaSAmRmFya2z9IEtheWRldC4uLiIsICAgSURNX1NBVkVUQVJHRVRBUwogICAgICAgIE1FTlVJVEVNICJIZWRlZmkgWWEmemT9ciIsICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2VzIiwgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcHlhbGEiLCAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLJv1zYXlvbCBLb3B5YWxhIiwgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiWWEmcP3+dP1yIiwgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU/1rIEt1JmxsYW79bGFubGFyYSBFa2xlLi4uIiwgSURNX0FERFRPRkFWT1VSSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm1nplbGxpa2xlciIsICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRleHQgVW5rbm93biIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDIEltYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICImQmHwbGFudP15/SBB5yIsICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiJlllbmkgUGVuY2VyZWRlIEHnIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJIZWRlZmkgJkZhcmts/SBLYXlkZXQuLi4iLCBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIkhlZGVmaSBZYSZ6ZP1yIiwgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSZXNtaSAmR/ZzdGVyIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJlZpZHlveXUgRmFya2z9IEtheWRldC4uLiIsICAgICAgICBJRE1fU0FWRVBJQ1RVUkVBUwogICAgICAgIE1FTlVJVEVNICJBcmthJnBsYW4gWWFwIiwgICAgICAgICAgICBJRE1fU0VUQVNCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIiZNYXNh/HN0/CDW8GVzaSBZYXAuLi4iLCAgIElETV9TRVRBU0RFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLZXMiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiSyZvcHlhbGEiLCAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiSyb9c2F5b2wgS29weWFsYSIsICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImWWFw/f50/XIiLCAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU/1rIEt1JmxsYW79bGFubGFyYSBFa2xlLi4uIiwgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiWfxy/HQiLCAgICAgICAgICAgICAgICAgICAgSURNX1BMQVkKICAgICAgICBNRU5VSVRFTSAiRHVyZHVyIiwgICAgICAgICAgICAgICAgICAgSURNX1NUT1AKICAgICAgICBNRU5VSVRFTSAiJtZ6ZWxsaWtsZXIiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEltYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICImQmHwbGFudP15/SBB5yIsICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAiJlllbmkgUGVuY2VyZWRlIEHnIiwgICAgICAgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJIZWRlZmkgJkZhcmts/SBLYXlkZXQuLi4iLCBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIkhlZGVmaSBZYSZ6ZP1yIiwgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSZXNtaSAmR/ZzdGVyIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiUmVzbWkgJkZhcmts/SBLYXlkZXQuLi4iLCAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQXJrYSZwbGFuIFlhcCIsICAgICAgICAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICImTWFzYfxzdPwg1vBlc2kgWWFwLi4uIiwgICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS2VzIiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3B5YWxhIiwgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIksm/XNheW9sIEtvcHlhbGEiLCAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJllhcP3+dP1yIiwgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlP9ayBLdSZsbGFu/WxhbmxhcmEgRWtsZS4uLiIsICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIln8cvx0IiwgICAgICAgICAgICAgICAgICAgIElETV9QTEFZCiAgICAgICAgTUVOVUlURU0gIkR1cmR1ciIsICAgICAgICAgICAgICAgICAgIElETV9TVE9QCiAgICAgICAgTUVOVUlURU0gIkdlcmkgx2V2aXIiLCAgICAgICAgICAgICAgIElETV9SRVdJTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJtZ6ZWxsaWtsZXIiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRGVidWciCiAgICB7IC8qRklYTUU6IHRyYW5zbGF0ZSB0aGVzZSovCiAgICAgICAgTUVOVUlURU0gIlRyYWNlIFRhZ3MiLCAgICAgICAgIElETV9UUkFDRVRBR1MgCiAgICAgICAgTUVOVUlURU0gIlJlc291cmNlIEZhaWx1cmVzIiwgIElETV9SRVNPVVJDRUZBSUxVUkVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgVHJhY2tpbmcgSW5mbyIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIEJyZWFrIiwgICAgICAgIElETV9ERUJVR0JSRUFLCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIFZpZXciLCAgICAgICAgIElETV9ERUJVR1ZJRVcKICAgICAgICBNRU5VSVRFTSAiRHVtcCBUcmVlIiwgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGluZXMiLCAgICAgICAgIElETV9EVU1QTElORVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBEaXNwbGF5VHJlZSIsICAgSURNX0RVTVBESVNQTEFZVFJFRQogICAgICAgIE1FTlVJVEVNICJEdW1wIEZvcm1hdENhY2hlcyIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIExheW91dFJlY3RzIiwgICBJRE1fRFVNUExBWU9VVFJFQ1RTCiAgICAgICAgTUVOVUlURU0gIk1lbW9yeSBNb25pdG9yIiwgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIlBlcmZvcm1hbmNlIE1ldGVycyIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJTYXZlIEhUTUwiLCAgICAgICAgICBJRE1fU0FWRUhUTUwKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJyb3dzZSBWaWV3IiwgICAgICAgSURNX0JST1dTRVZJRVcKICAgICAgICBNRU5VSVRFTSAiJkVkaXQgVmlldyIsICAgICAgICAgSURNX0VESVRWSUVXCiAgICB9CgogICAgUE9QVVAgIlZlcnRpY2FsIFNjcm9sbGJhciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiQnVyYXlhIEtheWT9ciIsIElETV9TQ1JPTExIRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItxzdCIsICAgICAgICAgICBJRE1fVE9QCiAgICAgICAgTUVOVUlURU0gIkFsdCIsICAgICAgICAgICBJRE1fQk9UVE9NCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItxzdHRla2kgU2F5ZmEiLCAgICAgSURNX1BBR0VVUAogICAgICAgIE1FTlVJVEVNICJBbHR0YWtpIFNheWZhIiwgICAgIElETV9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJZdWthcv0gS2F5ZP1yIiwgSURNX1NDUk9MTFVQCiAgICAgICAgTUVOVUlURU0gIkH+YfD9IEtheWT9ciIsICBJRE1fU0NST0xMRE9XTgogICAgfQoKICAgIFBPUFVQICJIb3Jpem9udGFsIFNjcm9sbGJhciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiQnVyYXlhIEtheWT9ciIsIElETV9TQ1JPTExIRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNvbCBLZW5hciIsICAgIElETV9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJTYfAgS2VuYXIiLCAgICBJRE1fUklHSFRFREdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNvbGRha2kgU2F5ZmEiLCAgIElETV9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJTYfBkYWtpIFNheWZhIiwgICBJRE1fUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNvbGEgS2F5ZP1yIiwgIElETV9TQ1JPTExMRUZUCiAgICAgICAgTUVOVUlURU0gIlNh8GEgS2F5ZP1yIiwgIElETV9TQ1JPTExSSUdIVAogICAgfQp9Cg==