LyoKICogQ29weXJpZ2h0IDIwMDUgS2ltbW8gTXlsbHl2aXJ0YQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0ZJTk5JU0gsIFNVQkxBTkdfREVGQVVMVAoKTUVOVV8wMDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJTUVOVUlURU0gIiZTdXVyZXQga3V2YWtrZWV0IiwJCUZDSURNX1NIVklFV19CSUdJQ09OCglNRU5VSVRFTSAiJlBpZW5ldCBrdXZha2tlZXQiLAkJRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgoJTUVOVUlURU0gIiZMaXN0YSIsCQkJRkNJRE1fU0hWSUVXX0xJU1RWSUVXCglNRU5VSVRFTSAiJlRpZWRvdCIsCQkJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKRU5ECgovKgogc2hlbGx2aWV3IGJhY2tncm91bmQgbWVudQoqLwpNRU5VXzAwMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCglQT1BVUCAiIgoJQkVHSU4KCSAgUE9QVVAgIiZO5Gt5beQiCgkgIEJFR0lOCgkgICAgTUVOVUlURU0gIiZQaWVuZXQga3V2YWtrZWV0IiwJRkNJRE1fU0hWSUVXX0JJR0lDT04KCSAgICBNRU5VSVRFTSAiJlN1dXJldCBrdXZha2tlZXQiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCgkgICAgTUVOVUlURU0gIiZMaXN0YSIsCQkJRkNJRE1fU0hWSUVXX0xJU1RWSUVXCgkgICAgTUVOVUlURU0gIiZUaWVkb3QiLAkJCUZDSURNX1NIVklFV19SRVBPUlRWSUVXCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIiZK5HJqZXN05CBrdXZha2tlZXQiCgkgIEJFR0lOCgkgICAgTUVOVUlURU0gIiZOaW1lbiBtdWthYW4iLAkJMHgzMAkvKiBjb2x1bW4gMCAqLwoJICAgIE1FTlVJVEVNICImVHl5cGluIG11a2FhbiIsCQkweDMyCS8qIGNvbHVtbiAyICovCgkgICAgTUVOVUlURU0gIiZLb29uIG11a2FhbiIsCQkweDMxCS8qIC4uLiAqLwoJICAgIE1FTlVJVEVNICImUORpduRt5ORy5G4gbXVrYWFuIiwJMHgzMwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICAgIE1FTlVJVEVNICJK5HJqZXN05CAmYXV0b21hYXR0aXNlc3RpIiwgRkNJRE1fU0hWSUVXX0FVVE9BUlJBTkdFCgkgIEVORAoJICBNRU5VSVRFTSAiSuRyamVzdOQga3V2YWtrZWV0IHJpdmlpbiIsCUZDSURNX1NIVklFV19TTkFQVE9HUklECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiUORpdml05CIsCQkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJMaWl05CIsCQkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiTGlpdOQgbGlua2lrc2kiLAkJRkNJRE1fU0hWSUVXX0lOU0VSVExJTksKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIFBPUFVQICJVdXNpIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJVdXNpICZrYW5zaW8iLAkJRkNJRE1fU0hWSUVXX05FV0ZPTERFUgoJICAgIE1FTlVJVEVNICJVdXNpICZsaW5ra2kiLAkJRkNJRE1fU0hWSUVXX05FV0xJTksKCSAgICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgRU5ECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiT21pbmFpc3V1ZGV0IiwJCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgovKgogc2hlbGx2aWV3IGl0ZW0gbWVudQoqLwpNRU5VX1NIVl9GSUxFIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBNRU5VSVRFTSAiJlNlbGVjdCIJCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSAiJlNlbGFhIiwJCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQoJICBNRU5VSVRFTSAiJkF2YWEiLAkJCUZDSURNX1NIVklFV19PUEVOCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJkxlaWtrYWEiLAkJCUZDSURNX1NIVklFV19DVVQKCSAgTUVOVUlURU0gIiZLb3Bpb2kiLAkJCUZDSURNX1NIVklFV19DT1BZCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiTHUmbyBsaW5ra2kiLAkJRkNJRE1fU0hWSUVXX0NSRUFURUxJTksKCSAgTUVOVUlURU0gIiZQb2lzdGEiLAkJCUZDSURNX1NIVklFV19ERUxFVEUKCSAgTUVOVUlURU0gIiZOaW1l5CB1dWRlbGxlZW4iLAkJRkNJRE1fU0hWSUVXX1JFTkFNRQoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIiZPbWluYWlzdXVkZXQiLAkJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCk1FTlVfQ1BBTkVMIE1FTlUKQkVHSU4KICAgIFBPUFVQICImRmlsZSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkUmeGl0IiwgSURNX0NQQU5FTF9FWElUCiAgICBFTkQKCiAgICBQT1BVUCAiJlZpZXciCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImU3V1cmV0IGt1dmFra2VldCIsIEZDSURNX1NIVklFV19CSUdJQ09OCiAgICAgICAgTUVOVUlURU0gIiZQaWVuZXQga3V2YWtrZWV0IiwgRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgogICAgICAgIE1FTlVJVEVNICImTGlzdGEiLCBGQ0lETV9TSFZJRVdfTElTVFZJRVcKICAgICAgICBNRU5VSVRFTSAiJlRpZWRvdCIsIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCiAgICBFTkQKCiAgICBQT1BVUCAiJkhlbHAiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQWJvdXQgQ29udHJvbCBQYW5lbC4uLiIsIElETV9DUEFORUxfQUJPVVQKICAgIEVORApFTkQKClNIQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDE4OCwgMTkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIlZhbGl0c2Uga2Fuc2lvIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgMSwgODAsIDE3NiwgNTAsIDEyLCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJQZXJ1dXRhIiwgMiwgMTM0LCAxNzYsIDUwLCAxMiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiIiwgSUREX1RJVExFLCA0LCA0LCAxODAsIDEyCiBMVEVYVCAiIiwgSUREX1NUQVRVUywgNCwgMjUsIDE4MCwgMTIKIENPTlRST0wgIiIsIElERF9UUkVFVklFVywgIlN5c1RyZWVWaWV3MzIiLAogCVRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKCVdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsCgk0LCA0MCwgMTgwLCAxMjAKfQoKU0hFTExfQUJPVVRfTVNHQk9YIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDE1LCA0MCwgMjIwLCAxNTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlRpZXRvamEgJXMiCkZPTlQgMTAsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTUzLCAxMzMsIDYwLCAxMiwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiV2luZSAmbGljZW5zZS4uLiIsIElEQ19BQk9VVF9MSUNFTlNFLCAxNTMsIDExMywgNjAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIElEQ19BQk9VVF9MSVNUQk9YLCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIHN0YzEsIDEwLCAxMCwgMzAsIDMwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMSwgNDAsIDEwLCAxNzAsIDEwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMiwgNDAsIDIyLCAxNzAsIDEwCiBMVEVYVCAiUnVubmluZyBvbiAlcyIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDMsIDQyLCAzNCwgMTcwLCAxMAogTFRFWFQgIldpbmU6biB0b2kgU2ludWxsZToiLCBJRENfQUJPVVRfV0lORV9URVhULCA4LCA1NCwgMjA0LCAxMAp9CgpTSEVMTF9SVU5fRExHIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDIyNywgOTUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBJQ09OICIiLCAxMjI5NywgNywgMTEsIDE4LCAyMCwgV1NfVklTSUJMRQogTFRFWFQgIkFubmEgb2hqZWxtYSwgZG9rdW1lbnR0aSwgdGFpIEludGVybmV0IC1yZXN1cnNzaSwgamEgV2luZSBhdmFhIHNlbiBTaW51bGxlLiIsIDEyMjg5LCAzNiwgMTEsIDE4MiwgMTgKIExURVhUICImQXZhYToiLCAxMjMwNSwgNywgMzksIDI0LCAxMAogQ09OVFJPTCAiIiwgMTIyOTgsICJDT01CT0JPWCIsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IFdTX1ZTQ1JPTEwgfCBXU19WSVNJQkxFIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19EUk9QRE9XTiwgMzYsIDM3LCAxODMsIDEwMAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA2MiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiUGVydXV0YSIsIElEQ0FOQ0VMLCAxMTYsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZTZWxhYS4uLiIsIDEyMjg4LCAxNzAsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKfQoKU1RSSU5HVEFCTEUKewogICAgICAgIC8qIGNvbHVtbnMgaW4gdGhlIHNoZWxsdmlldyAqLwoJSURTX1NIVl9DT0xVTU4xCQkiVGllZG9zdG8iCglJRFNfU0hWX0NPTFVNTjIJCSJLb2tvIgoJSURTX1NIVl9DT0xVTU4zCQkiVHl5cHBpIgoJSURTX1NIVl9DT0xVTU40CQkiTXVva2F0dHUiCglJRFNfU0hWX0NPTFVNTjUJCSJPbWluYWlzdXVkZXQiCglJRFNfU0hWX0NPTFVNTjYJCSJLb2tvIgoJSURTX1NIVl9DT0xVTU43CQkiVGlsYWEgauRsamVsbOQiCglJRFNfU0hWX0NPTFVNTjgJCSJOaW1pIgoJSURTX1NIVl9DT0xVTU45CQkiS29tbWVudGl0IgoJSURTX1NIVl9DT0xVTU4xMAkiT21pc3RhamEiCglJRFNfU0hWX0NPTFVNTjExCSJSeWht5CIKCUlEU19TSFZfQ09MVU1OX0RFTEZST00JIk9yaWdpbmFsIGxvY2F0aW9uIgoJSURTX1NIVl9DT0xVTU5fREVMREFURQkiRGF0ZSBkZWxldGVkIgoKICAgICAgICAvKiBzcGVjaWFsIGZvbGRlcnMgKi8KCUlEU19ERVNLVE9QCQkiVHn2cPZ5dOQiCglJRFNfTVlDT01QVVRFUgkJIk9tYSB0aWV0b2tvbmUiCglJRFNfQ09OVFJPTFBBTkVMCSJDb250cm9sIFBhbmVsIgoKICAgICAgICAvKiBjb250ZXh0IG1lbnVzICovCglJRFNfVklFV19MQVJHRQkJIiZTdXVyZXQga3V2YWtrZWV0IgoJSURTX1ZJRVdfU01BTEwJCSImUGllbmV0IGt1dmFra2VldCIKCUlEU19WSUVXX0xJU1QJCSImTGlzdGEiCglJRFNfVklFV19ERVRBSUxTCSImVGllZG90IgoJSURTX1NFTEVDVAkJIlZhbGl0c2UiCglJRFNfT1BFTgkJIkF2YWEiCgoJSURTX0NSRUFURUZPTERFUl9ERU5JRUQgIlV1dHRhIGthbnNpb3RhIGVpIHZvaXR1IGx1b2RhOiBPaWtldWRldCBlaXbkdCByaWl05C4iCglJRFNfQ1JFQVRFRk9MREVSX0NBUFRJT04gIlZpcmhlIGx1b3RhZXNzYSB1dXR0YSBrYW5zaW90YSIKCUlEU19ERUxFVEVJVEVNX0NBUFRJT04gIlZhaHZpc3RhIHRpZWRvc3RvbiB0dWhvYW1pbmVuIgoJSURTX0RFTEVURUZPTERFUl9DQVBUSU9OICJWYWh2aXN0YSBrYW5zaW9uIHR1aG9hbWluZW4iCglJRFNfREVMRVRFSVRFTV9URVhUICJIYWx1YXRrbyB2YXJtYXN0aSB0dWhvdGEgJyUxJzpuPyIKCUlEU19ERUxFVEVNVUxUSVBMRV9URVhUICJIYWx1YXRrbyB2YXJtYXN0aSB0dWhvdGEgbuRt5CAlMT8iCglJRFNfREVMRVRFU0VMRUNURURfVEVYVCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgc2VsZWN0ZWQgaXRlbShzKT8iCglJRFNfVFJBU0hJVEVNX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyB0byB0aGUgVHJhc2g/IgoJSURTX1RSQVNIRk9MREVSX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyBhbmQgYWxsIGl0cyBjb250ZW50IHRvIHRoZSBUcmFzaD8iCglJRFNfVFJBU0hNVUxUSVBMRV9URVhUICJBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBzZW5kIHRoZXNlICUxIGl0ZW1zIHRvIHRoZSBUcmFzaD8iCglJRFNfQ0FOVFRSQVNIX1RFWFQgIlRoZSBpdGVtICclMScgY2FuJ3QgYmUgc2VudCB0byBUcmFzaC4gRG8geW91IHdhbnQgdG8gZGVsZXRlIGl0IGluc3RlYWQ/IgoJSURTX09WRVJXUklURUZJTEVfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZpbGUgY2FsbGVkICclMScuXG5cbkRvIHlvdSB3YW50IHRvIHJlcGxhY2UgaXQ/IgoJSURTX09WRVJXUklURUZJTEVfQ0FQVElPTiAiVmFodmlzdGEgdGllZG9zdG9uIHlsaWtpcmpvaXR1cyIKCUlEU19PVkVSV1JJVEVGT0xERVJfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZvbGRlciBuYW1lZCAnJTEnLlxuXG4iXAoJICAgICJJZiB0aGUgZmlsZXMgaW4gdGhlIGRlc3RpbmF0aW9uIGZvbGRlciBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIGZpbGVzIGluIHRoZVxuIlwKCSAgICAic2VsZWN0ZWQgZm9sZGVyIHRoZXkgd2lsbCBiZSByZXBsYWNlZC4gRG8geW91IHN0aWxsIHdhbnQgdG8gbW92ZSBvciBjb3B5XG4iXAoJICAgICJ0aGUgZm9sZGVyPyIKCiAgICAgICAgLyogbWVzc2FnZSBib3ggc3RyaW5ncyAqLwogICAgICAgIElEU19SRVNUQVJUX1RJVExFICAgICAgICJL5HlubmlzdOQgdXVkZWxsZWVuIgogICAgICAgIElEU19SRVNUQVJUX1BST01QVCAgICAgICJIYWx1YXRrbyBzaW11bG9pZGEgV2luZG93c2luIHV1ZGVsbGVlbmvkeW5uaXN05G1pc3TkPyIKICAgICAgICBJRFNfU0hVVERPV05fVElUTEUgICAgICAiU2FtbXV0YSIKICAgICAgICBJRFNfU0hVVERPV05fUFJPTVBUICAgICAiSGFsdWF0a28gbG9wZXR0YWEgV2luZS1pc3R1bm5vbj8iCgogICAgICAgIC8qIHNoZWxsIGZvbGRlciBwYXRoIGRlZmF1bHQgdmFsdWVzICovCglJRFNfUFJPR1JBTVMgICAgICAgICAgICAgICAgIkvkeW5uaXN05C12YWxpa2tvXFxPaGplbG1hdCIKCUlEU19QRVJTT05BTCAgICAgICAgICAgICAgICAiT21hdCB0aWVkb3N0b3QiCglJRFNfRkFWT1JJVEVTICAgICAgICAgICAgICAgIlN1b3Npa2l0IgoJSURTX1NUQVJUVVAgICAgICAgICAgICAgICAgICJL5HlubmlzdOQtdmFsaWtrb1xcT2hqZWxtYXRcXEvkeW5uaXN0eXMiCglJRFNfUkVDRU5UICAgICAgICAgICAgICAgICAgIsRza2V0dORpbiBr5Hl0ZXR5dCIKCUlEU19TRU5EVE8gICAgICAgICAgICAgICAgICAiTORoZXTkIgoJSURTX1NUQVJUTUVOVSAgICAgICAgICAgICAgICJL5HlubmlzdOQtdmFsaWtrbyIKCUlEU19NWU1VU0lDICAgICAgICAgICAgICAgICAiT21hdCBtdXNpaWtraXRpZWRvc3RvdCIKCUlEU19NWVZJREVPICAgICAgICAgICAgICAgICAiT21hdCB2aWRlb3RpZWRvc3RvdCIKCUlEU19ERVNLVE9QRElSRUNUT1JZICAgICAgICAiVHn2cPZ5dOQiCglJRFNfTkVUSE9PRCAgICAgICAgICAgICAgICAgIlZlcmtrb3ltcORyaXN09iIKCUlEU19URU1QTEFURVMgICAgICAgICAgICAgICAiTWFsbGl0IgoJSURTX0FQUERBVEEgICAgICAgICAgICAgICAgICJPaGplbG1pZW4gdGllZG90IgoJSURTX1BSSU5USE9PRCAgICAgICAgICAgICAgICJUdWxvc3RpbnltcORyaXN09iIKCUlEU19MT0NBTF9BUFBEQVRBICAgICAgICAgICAiUGFpa2FsbGlzZXQgYXNldHVrc2V0XFxPaGplbG1pZW4gdGllZG90IgoJSURTX0lOVEVSTkVUX0NBQ0hFICAgICAgICAgICJQYWlrYWxsaXNldCBhc2V0dWtzZXRcXFbkbGlhaWthaXNldCBJbnRlcm5ldC10aWVkb3N0b3QiCglJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkV25HN0ZWV0IgoJSURTX0hJU1RPUlkgICAgICAgICAgICAgICAgICJQYWlrYWxsaXNldCBhc2V0dWtzZXRcXEhpc3RvcmlhIgoJSURTX1BST0dSQU1fRklMRVMgICAgICAgICAgICJPaGplbG1hdGllZG9zdG90IgoJSURTX01ZUElDVFVSRVMgICAgICAgICAgICAgICJPbWF0IGt1dmF0aWVkb3N0b3QiCglJRFNfUFJPR1JBTV9GSUxFU19DT01NT04gICAgIk9oamVsbWF0aWVkb3N0b3RcXFlodGVpc2V0IHRpZWRvc3RvdCIKCUlEU19DT01NT05fRE9DVU1FTlRTICAgICAgICAiRG9rdW1lbnRpdCIKCUlEU19BRE1JTlRPT0xTICAgICAgICAgICAgICAiS+R5bm5pc3TkLXZhbGlra29cXE9oamVsbWF0XFxBZG1pbmlzdHJhdGl2ZSBUb29scyIKCUlEU19DT01NT05fTVVTSUMgICAgICAgICAgICAiRG9rdW1lbnRpdFxcT21hdCBtdXNpaWtraXRpZWRvc3RvdCIKCUlEU19DT01NT05fUElDVFVSRVMgICAgICAgICAiRG9rdW1lbnRpdFxcT21hdCBrdXZhdGllZG9zdG90IgoJSURTX0NPTU1PTl9WSURFTyAgICAgICAgICAgICJEb2t1bWVudGl0XFxPbWF0IHZpZGVvdGllZG9zdG90IgoJSURTX0NEQlVSTl9BUkVBICAgICAgICAgICAgICJQYWlrYWxsaXNldCBhc2V0dWtzZXRcXE9oamVsbWllbiB0aWVkb3RcXE1pY3Jvc29mdFxcQ0QgQnVybmluZyIKCglJRFNfTkVXRk9MREVSCQkiTmV3IEZvbGRlciIKCglJRFNfQ1BBTkVMX1RJVExFICAgICAgICAgICAgIldpbmUgQ29udHJvbCBQYW5lbCIKCUlEU19DUEFORUxfTkFNRSAgICAgICAgICAgICAiTmFtZSIKCUlEU19DUEFORUxfREVTQ1JJUFRJT04gICAgICAiRGVzY3JpcHRpb24iCn0K