LyoKICogQ29weXJpZ2h0IDIwMDUgTWlsa28gS3JhY2hvdW5vdgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgoKTEFOR1VBR0UgTEFOR19CVUxHQVJJQU4sIFNVQkxBTkdfREVGQVVMVAoKSURSX0JST1dTRV9DT05URVhUX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiRGVmYXVsdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAizeAm5+DkIiwgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICLN4Cbv8OXkIiwgICAgICAgICAgICAgICBJRE1fR09GT1JXQVJECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibR+vXw4O3oIPTu7eAg6uDy7i4uLiIsIElETV9TQVZFQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICLP7vHy4OLoIOrg8u4gJvTu7SDt4CDw4OHu8u3o/yDv6+7yIiwgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiJsru7+jw4Okg9O7t4CIsICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICLP7vHy4OLoIOrg8u4g5evl7OXt8iDt4CAm8ODh7vLt6P8g7+vu8iIsICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIszg8Oro8ODpICbi8ej36u4iLCAgICAgICAgICAgIElETV9TRUxFQ1RBTEwKICAgICAgICBNRU5VSVRFTSAiJsLs+urt6CIsICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAi0frn5ODpIO/w5e/w4Cby6uAiLCAgICAgICBJRE1fQ1JFQVRFU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAixO7h4OLoIOr67CAm7vLs5fLq6PLlIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSAiz/DlJuPr5eTg6SDo5/Xu5O3o/yDq7uQiLCAgICAgICAgICAgSURNX1ZJRVdTT1VSQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiyu4m5Ojw7uLq4CIsICAgICAgICAgICAgICBJRE1fTEFOR1VBR0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiz+Um9+DyIiwgICAgICAgICAgICAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNICLO7/Am5fHt6CIsICAgICAgICAgICAgICAgX0lETV9SRUZSRVNICiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItHi7ibp8fLi4CIsICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiSW1hZ2UiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibO8uLu8Ogg4vD65+rg8uAiLCAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICLO8uLu8Ogg4vD65+rg8uAg4iAm7e7iIO/w7ufu8OX2IiwgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIsfg7+gm+Ogg9uXr8uAg6uDy7i4uLiIsICAgICAgIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gItDg5ybv5ffg8uDpIPbl6/LgIiwgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiz+4m6uDm6CDo5+7h8ODm5e3o5fLuIiwgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJtH69fDg7egg6Ofu4fDg5uXt6OXy7iDq4PLuLi4uIiwgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiyOfv8ODy6CDo5+7h8ODm5e3o5fLuIO/uIO/uJvng8uAuLi4iLCAgICAgICBJRE1fTVBfRU1BSUxQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIibQ4Ofv5ffg8uDpIOjn7uHw4Obl7ejl8u4uLi4iLCAgICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICLIJuToIOIgzO7o8uUg0e3o7OroIiwgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICLP7vHy4OLoIOrg8u4gJvTu7SIsICAgICAgIElETV9TRVRXQUxMUEFQRVIKICAgICAgICBNRU5VSVRFTSAiz+7x8uDi6CDq4PLuIOXr5ezl7fIg7eAgJvDg4e7y7ej/IO/r7vIuLi4iLCAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibI5/Dl5ugiLCAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJsru7+jw4OkiLCAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiyu7v6PDg6SDv8OXv8OAm8urg8uAiLCAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImwuz66u3oIiwgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsTu4eDi6CDq+uwg7vIm7OXy6ujy5S4uLiIsICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gItHi7ibp8fLi4CIsICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250cm9sIgogICAgewogICAgICAgIE1FTlVJVEVNICImzvLs5e3oIiwgICAgICAgSURNX1VORE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJsjn8OXm6CIsICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIibK7u/o8ODpIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJsLs+urt6CIsICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIsjnJvLw6OkiLCAgICAgSURNX0RFTEVURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLM4PDq6PDg6SAm4vHo9+ruIiwgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYWJsZSIKICAgIHsKICAgICAgICBQT1BVUCAiJsjn4eXw6CIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICImyuvl8urgIiwgICAgICAgICBJRE1fQ0VMTFNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJtDl5CIsICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIibK7uvu7eAiLCAgICAgICBJRE1fQ09MVU1OU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICIm0uDh6+j24CIsICAgICAgICBJRE1fVEFCTEVTRUxFQ1QKICAgICAgICB9CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibR4u7p8fLi4CDt4CDq6+Xy6uDy4CIsICBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAiJtHi7unx8uLgIO3gIPLg4evo9uDy4CIsIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaXRlIFNlbGVjdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJsjn8OXm6CIsICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIibK7u/o8ODpIiwgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJsLs+urt6CIsICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICLM4PDq6PDg6SAm4vHo9+ruIiwgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICImz+X34PIiLCAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgfQoKICAgIFBPUFVQICJBbmNob3IiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIibO8uLu8OgiLCAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAizvLi7vDoIOIgJu3u4iDv8O7n7vDl9iIsICBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAix+Dv6Cb46CD25evy4CDq4PLuLi4uIiwgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICLQ4Ocm7+X34PLg6SD25evy4CIsICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJsjn8OXm6CIsICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImyu7v6PDg6SIsICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIsru7+jw4Okg7/Dl7/DgJvLq4PLgIiwgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICImwuz66u3oIiwgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAixO7h4OLoIOr67CDu8ibs5fLq6PLlLi4uIiwgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm0eLu6fHy4uAiLCAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJDb250ZXh0IFVua25vd24iCiAgICB7CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkRZTlNSQyBJbWFnZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJs7y4u7w6CDi8Prn6uDy4CIsICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIs7y4u7w6CDi8Prn6uDy4CDiICbt7uIg7/Du5+7w5fYiLCBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAix+Dv6Cb46CD25evy4CDq4PLuLi4uIiwgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAi0ODnJu/l9+Dy4Okg9uXr8uAiLCAgICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLP7ibq4OboIOjn7uHw4Obl7ejl8u4iLCAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICIm0fr18ODt6CDi6OTl7iDo5+7h8ODm5e3o5fLuIOrg8u4uLi4iLCAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIs/u8fLg4ugg6uDy7iAm9O7tIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICLP7vHy4OLoIOrg8u4g5evl7OXt8iDt4CAm8ODh7vLt6P8g7+vu8i4uLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJsjn8OXm6CIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImyu7v6PDg6SIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICLK7u/o8ODpIO/w5e/w4Cby6uDy4CIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIibC7Prq7egiLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAixO7h4OLoIOr67CDu8ibs5fLq6PLlLi4uIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwvrn7/Du6Ofi5eToIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDUExBWQogICAgICAgIE1FTlVJVEVNICLR7/DoIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDU1RPUAogICAgICAgIE1FTlVJVEVNICIm0eLu6fHy4uAiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEltYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICImzvLi7vDoIOLw+ufq4PLgIiwgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAizvLi7vDoIOLw+ufq4PLgIOIgJu3u4iDv8O7n7vDl9iIsIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICLH4O/oJvjoIPbl6/LgIOrg8u4uLi4iLCAgICAgICBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICLQ4Ocm7+X34PLg6SD25evy4CIsICAgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIs/uJurg5ugg6Ofu4fDg5uXt6OXy7iIsICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIibR+vXw4O3oIOjn7uHw4Obl7ejl8u4g6uDy7i4uLiIsICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIs/u8fLg4ugg6uDy7iAm9O7tIiwgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICLP7vHy4OLoIOrg8u4g5evl7OXt8iDt4CAm8ODh7vLt6P8g7+vu8i4uLi4uLiIsICBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJsjn8OXm6CIsICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImyu7v6PDg6SIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICLK7u/o8ODpIO/w5e/w4Cby6uDy4CIsICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIibC7Prq7egiLCAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAixO7h4OLoIOr67CDu8ibs5fLq6PLlLi4uIiwgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiwvrn7/Du6Ofi5eToIiwgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICLR7/DoIiwgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUU1RPUAogICAgICAgIE1FTlVJVEVNICLC+vDt6CDx5SDiIO3g9+Dr7vLuIiwgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICIm0eLu6fHy4uAiLCAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRGVidWciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlRyYWNlIFRhZ3MiLCAgICAgICAgIElETV9UUkFDRVRBR1MKICAgICAgICBNRU5VSVRFTSAiUmVzb3VyY2UgRmFpbHVyZXMiLCAgSURNX1JFU09VUkNFRkFJTFVSRVMKICAgICAgICBNRU5VSVRFTSAiRHVtcCBUcmFja2luZyBJbmZvIiwgSURNX0RVTVBUUkFDS0lOR0lORk8KICAgICAgICBNRU5VSVRFTSAiRGVidWcgQnJlYWsiLCAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRGVidWcgVmlldyIsICAgICAgICAgSURNX0RFQlVHVklFVwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyZWUiLCAgICAgICAgICBJRE1fRFVNUFRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBMaW5lcyIsICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIERpc3BsYXlUcmVlIiwgICBJRE1fRFVNUERJU1BMQVlUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgRm9ybWF0Q2FjaGVzIiwgIElETV9EVU1QRk9STUFUQ0FDSEVTCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGF5b3V0UmVjdHMiLCAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWVtb3J5IE1vbml0b3IiLCAgICAgSURNX01FTU9SWU1PTklUT1IKICAgICAgICBNRU5VSVRFTSAiUGVyZm9ybWFuY2UgTWV0ZXJzIiwgSURNX1BFUkZPUk1BTkNFTUVURVJTCiAgICAgICAgTUVOVUlURU0gIlNhdmUgSFRNTCIsICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQnJvd3NlIFZpZXciLCAgICAgICBJRE1fQlJPV1NFTU9ERQogICAgICAgIE1FTlVJVEVNICImRWRpdCBWaWV3IiwgICAgICAgICBJRE1fRURJVE1PREUKICAgIH0KCiAgICBQT1BVUCAiVmVydGljYWwgU2Nyb2xsYmFyIgogICAgewogICAgICAgIE1FTlVJVEVNICLP8OXi+vDy6CDy8+oiLCAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIs3g6S3j7vDlIiwgICAgICAgICAgSURNX1NDUk9MTF9UT1AKICAgICAgICBNRU5VSVRFTSAizeDpLeTu6/MiLCAgICAgICBJRE1fU0NST0xMX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLR8vDg7ej24CDt4OPu8OUiLCAgICAgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gItHy8ODt6PbgIO3g5O7r8yIsICAgIElETV9TQ1JPTExfUEFHRURPV04KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiz/Dl4vrw8ugg7eDj7vDlIiwgICAgSURNX1NDUk9MTF9VUAogICAgICAgIE1FTlVJVEVNICLP8OXi+vDy6CDt4OTu6/MiLCAgSURNX1NDUk9MTF9ET1dOCiAgICB9CgogICAgUE9QVVAgIkhvcml6b250YWwgU2Nyb2xsYmFyIgogICAgewogICAgICAgIE1FTlVJVEVNICLP8OXi+vDy6CDy8+oiLCAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIs3g6S3i6//i7iIsICAgIElETV9TQ1JPTExfTEVGVEVER0UKICAgICAgICBNRU5VSVRFTSAizeDpLeLk//Ht7iIsICAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAi0fLw4O3o9uAg7eDr/+LuIiwgICAgSURNX1NDUk9MTF9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICLR8vDg7ej24CDt4OT/8e3uIiwgICBJRE1fU0NST0xMX1BBR0VSSUdIVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLP8OXi+vDy6CDt4Ov/4u4iLCAgSURNX1NDUk9MTF9MRUZUCiAgICAgICAgTUVOVUlURU0gIs/w5eL68PLoIO3g5P/x7e4iLCBJRE1fU0NST0xMX1JJR0hUCiAgICB9Cn0K