LyoKICogQ29weXJpZ2h0IDIwMDUgQWxleGFuZGVyIE4uIFP4cm5lcyA8YWxleEB0aGVoYW5kb2ZhZ29ueS5jb20+CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCgpMQU5HVUFHRSBMQU5HX05PUldFR0lBTiwgU1VCTEFOR19OT1JXRUdJQU5fQk9LTUFMCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfSFRNTERJU0FCTEVEICAgICJIVE1MLXRlZ25pbmcgZXIgZm9yIPh5ZWJsaWtrZXQgZGVha3RpdmVydC4iCiAgICBJRFNfSFRNTERPQ1VNRU5UICAgICJIVE1MLWRva3VtZW50Igp9CgovKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgaW4gc2hkb2NsYy5kbGwgKi8KCklEUl9CUk9XU0VfQ09OVEVYVF9NRU5VIE1FTlUKewogICAgUE9QVVAgIlN0YW5kYXJkIgogICAgewogICAgICAgIE1FTlVJVEVNICJUaWwmYmFrZSIsICAgICAgICAgICAgICAgICAgSURNX0JBQ0sKICAgICAgICBNRU5VSVRFTSAiJkZyYW0iLCAgICAgICAgICAgICAgIElETV9GT1JXQVJECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxhZ3JlIGJha2dydW5uICZzb20gLiAuIC4iLCBJRE1fU0FWRUJBQ0tHUk9VTkRBUwogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBiYWsmZ3J1bm4iLCAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICImS29waWVyIGJha2dydW5uIiwgICAgICAgSURNX0NPUFlCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIHNrcml2ZWJvciZkc29iamVrdCIsICAgSURNX1NFVEFTREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYWcgcyZuYXJ2ZWkiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiTGVnZyB0aWwgaSAmZmF2b3JpdHRlciIsICAgICBJRE1fQUREVE9GQVZPVVJJVEVTCiAgICAgICAgTUVOVUlURU0gIiZWaXMga2lsZGVrb2RlIiwgICAgICAgICAgIElETV9WSUVXU09VUkNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIksmb2RpbmciLCAgICAgICAgICAgICAgSURNX0VOQ09ESU5HIAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTa3ImaXYgdXQiLCAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIk9wcGRhdGUmciIsICAgICAgICAgICAgICAgSURNX1JFRlJFU0ggCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2EmcGVyIiwgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJCaWxkZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAixXBuZSBrJm9ibGluZyIsICAgICAgICAgICAgICAgSURNX09QRU5MSU5LCiAgICAgICAgTUVOVUlURU0gIsVwbmUga29ibGluZyBpICZueXR0IHZpbmR1IiwgSURNX09QRU5JTk5FV1dJTkRPVwogICAgICAgIE1FTlVJVEVNICJMJmFncmUgbeVsIHNvbSAuIC4gLiIsICAgICAgIElETV9TQVZFVEFSR0VUQVMKICAgICAgICBNRU5VSVRFTSAiU2tyaXYgJnV0IG3lbCIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWaXMgYmlsZGUiLCAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJMYWdyZSBiaWxkZSAmc29tIC4gLiAuIiwgICAgICBJRE1fU0FWRVBJQ1RVUkVBUwogICAgICAgIE1FTlVJVEVNICJTZW5kIGJpbGRlIHZpYSAmZS1wb3N0IC4gLiAuIiwgICAgICAgSURNX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJTa3ImaXYgdXQgYmlsZGUgLiAuIC4iLCAgICAgICAgSURNX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImR+UgdGlsIG1pbmUgYmlsZGVyIiwgICAgICAgSURNX0dPVE9NWVBJQ1RVUkVTCiAgICAgICAgTUVOVUlURU0gIkJydWsgc29tIGJhayZncnVubiIsICAgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gc2tyaXZlYm9yJmRzb2JqZWt0IC4gLiAuIiwgIElETV9TRVRBU0RFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktsaXBwIHUmdCIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waWVyIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBzbmFyJnZlaUNvcHkgU2hvciZ0Y3V0IiwgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkxpbSBpbm4iLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUgCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxlZ2cgdGlsIGkgJmZhdm9yaXR0ZXIgLiAuIC4iLCAgICAgSURNX0FERFRPRkFWT1VSSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJLb250cm9sbGVyIgogICAgewogICAgICAgIE1FTlVJVEVNICJBbiZncmUiLCAgICAgICBJRE1fVU5ETyAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdSZ0IiwgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZMaW0gaW5uIiwgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlNsZXR0IiwgICAgIElETV9ERUxFVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTWVyayAmYWx0IiwgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYWJlbGwiCiAgICB7CiAgICAgICAgUE9QVVAgIiZNZXJrIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZDZWxsZSIsICAgICAgICAgSURNX0NFTEwgCiAgICAgICAgICAgIE1FTlVJVEVNICImUmFkIiwgICAgICAgICAgSURNX1JPVwogICAgICAgICAgICBNRU5VSVRFTSAiJktvbG9ubmUiLCAgICAgICBJRE1fQ09MVU1OCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFiZWxsIiwgICAgICAgIElETV9UQUJMRQogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRWdlbnNrYXBlciBmb3IgJmNlbGxlIiwgIElETV9DRUxMUFJPUEVSVElFUwogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGVyIGZvciAmdGFiZWxsIiwgSURNX1RBQkxFUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICIxRFNpZGV2ZWxnaW5nIgogICAgewogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waWVyIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiTGltIGlubiIsICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICJNZXJrICZhbHQiLCBJRE1fU0VMRUNUQUxMIAogICAgICAgIE1FTlVJVEVNICImU2tyaXYgdXQiLCAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmtlciIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJsVwbmUiLCAgICAgICAgICAgICAgICBJRE1fT1BFTkxJTksKICAgICAgICBNRU5VSVRFTSAixXBuZSBpICZueXR0IHZpbmR1IiwgIElETV9PUEVOSU5ORVdXSU5ET1cKICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgIElETV9TQVZFVEFSR0VUQVMKICAgICAgICBNRU5VSVRFTSAiJlNrcml2IHV0IG3lbCIsICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiS2xpcHAgdXQiLCAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGllciBzbmFydmUmaSIsICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiJkxpbSBpbm4iLCAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZmYXZvcml0dGVyIC4gLiAuIiwgSURNX0FERFRPRkFWT1VSSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIlVramVudCBzYW1tZW5oZW5nIgogICAgewogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJEWU5TUkMtYmlsZGUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIsVwbmUgayZvYmxpbmciLCAgICAgICAgICAgICAgIElETV9PUEVOTElOSwogICAgICAgIE1FTlVJVEVNICLFcG5lIGtvYmxpbmcgaSAmbnl0dCB2aW5kdSIsIElETV9PUEVOSU5ORVdXSU5ET1cKICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIlNrcml2ICZ1dCBt5WwiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVmlzIGJpbGRlIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTGFncmUgdmlkZW8gJnNvbSAuIC4gLiIsICAgICAgICBJRE1fU0FWRVBJQ1RVUkVBUwogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBiYWtncnVubiIsICAgICAgIElETV9TRVRBU0JBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gc2tyaXZlYm9yJmRzZWxlbWVudCAuIC4gLiIsICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgc25hciZ2ZWkiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImTGltIGlubiIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZmYXZvcml0dGVyIC4gLiAuIiwgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BpbGwgYXYiLCAgICAgICAgICAgICAgICAgICAgIElETV9QTEFZCiAgICAgICAgTUVOVUlURU0gIlN0b3BwIiwgICAgICAgICAgICAgICAgICAgICBJRE1fU1RPUAogICAgICAgIE1FTlVJVEVNICJFZ2Vuc2thcGUmciIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJBUlQtYmlsZGUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibFcG5lIGtvYmxpbmciLCAgICAgICAgICAgICAgIElETV9PUEVOTElOSwogICAgICAgIE1FTlVJVEVNICLFcG5lIGtvYmxpbmcgaSAmbnl0dCB2aW5kdSIsIElETV9PUEVOSU5ORVdXSU5ET1cKICAgICAgICBNRU5VSVRFTSAiTCZhZ3JlIG3lbCBzb20gLiAuIC4iLCAgICAgICBJRE1fU0FWRVRBUkdFVEFTCiAgICAgICAgTUVOVUlURU0gIlNrcml2ICZ1dCBt5WwiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVmlzIGJpbGRlIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTGFncmUgYmlsZGUgJnNvbSAuIC4gLiIsICAgICAgSURNX1NBVkVQSUNUVVJFQVMKICAgICAgICBNRU5VSVRFTSAiQnJ1ayBzb20gYmFrJmdydW5uIiwgICAgICAgSURNX1NFVEFTQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJCcnVrIHNvbSBza3JpdmVib3ImZG9iamVrdCAuIC4gLiIsICBJRE1fU0VUQVNERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLbGlwcCB1JnQiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGllciIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpZXIgcyZuYXJ2ZWkiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImTGltIGlubiIsICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWdnIHRpbCBpICZGYXZvcml0dGVyIC4gLiAuIiwgICAgIElETV9BRERUT0ZBVk9VUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3BpbGwgYXYiLCAgICAgICAgICAgICAgICAgICAgIElETV9QTEFZCiAgICAgICAgTUVOVUlURU0gIlN0b3BwIiwgICAgICAgICAgICAgICAgICAgICBJRE1fU1RPUAogICAgICAgIE1FTlVJVEVNICJTcG9sIHRpbGJha2UiLCAgICAgICAgICAgICAgICAgICBJRE1fUkVXSU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkVnZW5za2FwZSZyIiwgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkZlaWxz+GtpbmciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlNwb3JpbmdzbWVya2VsYXBwZXIiLCAgICAgICAgIElETV9UUkFDRVRBR1MgCiAgICAgICAgTUVOVUlURU0gIlJlc3N1cnNmZWlsIiwgIElETV9SRVNPVVJDRUZBSUxVUkVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgc3BvcmluZ3NpbmZvcm1hc2pvbiIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkZlaWxz+GtpbmdzcGF1c2UiLCAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRmVpbHP4a2luZ3N2aXNuaW5nIiwgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgJ1RyZWUnIiwgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgJ0xpbmVzJyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wICdEaXNwbGF5VHJlZSciLCAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCAnRm9ybWF0Q2FjaGVzJyIsICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wICdMYXlvdXRSZWN0cyciLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWlubmVvdmVyduVrZXIiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiWXRlbHNlc23lbGVyZSIsIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJMYWdyZSBIVE1MIiwgICAgICAgICAgSURNX1NBVkVIVE1MCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCbGEtdmlzbmluZyIsICAgICAgIElETV9CUk9XU0VWSUVXCiAgICAgICAgTUVOVUlURU0gIlImZWRpZ2VyaW5ncy12aXNuaW5nIiwgICAgICAgICBJRE1fRURJVFZJRVcKICAgIH0KCiAgICBQT1BVUCAiTG9kZHJldHQgcnVsbGVmZWx0IgogICAgewogICAgICAgIE1FTlVJVEVNICJSdWxsIGhlciIsICBJRE1fU0NST0xMSEVSRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUb3BwIiwgICAgICAgICAgSURNX1RPUAogICAgICAgIE1FTlVJVEVNICJCdW5uIiwgICAgICAgSURNX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaWRlIG9wcCIsICAgICAgSURNX1BBR0VVUAogICAgICAgIE1FTlVJVEVNICJTaWRlIG5lZCIsICAgIElETV9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJSdWxsIG9wcCIsICAgIElETV9TQ1JPTExVUAogICAgICAgIE1FTlVJVEVNICJSdWxsIG5lZCIsICBJRE1fU0NST0xMRE9XTgogICAgfQoKICAgIFBPUFVQICJWYW5ucmV0dCBydWxsZWZlbHQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlJ1bGwgaGVyIiwgIElETV9TQ1JPTExIRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZlbnN0cmUga2FudCIsICAgIElETV9MRUZURURHRQogICAgICAgIE1FTlVJVEVNICJI+HlyZSBrYW50IiwgICBJRE1fUklHSFRFREdFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNpZGUgdmVuc3RyZSIsICAgIElETV9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJTaWRlIGj4eXJlIiwgICBJRE1fUEFHRVJJR0hUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlJ1bGwgdGlsIHZlbnN0cmUiLCAgSURNX1NDUk9MTExFRlQKICAgICAgICBNRU5VSVRFTSAiUnVsbCB0aWwgaPh5cmUiLCBJRE1fU0NST0xMUklHSFQKICAgIH0KfQo=