LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBEYW5pc2ggTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgKEMpIDIwMDggSmVucyBBbGJyZXRzZW48amVuc0BhbGJyZXRzZW4uZGs+CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJ3Y21kLmgiCgpMQU5HVUFHRSBMQU5HX0RBTklTSCwgU1VCTEFOR19ERUZBVUxUCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJIauZscCB0aWwgQVRUUklCXG4iCiAgV0NNRF9DQUxMLCAiq0NBTEwgPGJhdGNoZmlsbmF2bj67IGJydWdlcyBpIGVuIGJhdGNoIGZpbCBmb3IgYXQgdWRm+HJlIGtvbW1hbmRvZXJcblwKZnJhIGVuIGFuZGVuIGJhdGNoZmlsLiBO5XIgZGVuIGJhdGNoZmlsIGFmc2x1dHRlciwgcmV0dXJuZXJlc1xuXAprb250cm9sbGVuIHRpbCBmaWxlbiBzb20ga2FsdGUgZGVuLiBDQUxMLWtvbW1hbmRvZW4ga2FuIGdpdmUgcGFyYW1ldGVyZVxuXAp0aWwgZGVuIGthbGR0ZSBwcm9jZWR1cmUuXG5cClxuXArmbmRyaW5nZXIgaSBzdGFuZGFyZGthdGFsb2dlbiwgbWlsavh2YXJpYWJsZXIgZXRjLiBsYXZldCBhZiBkZW4ga2FsZHRlXG5cCnByb2NlZHVyZW4gYXJ2ZXMgYWYga2FsZGVyZW4uXG4iCgogIFdDTURfQ0QsICAgICAiSGrmbHAgdGlsIENEXG4iCiAgV0NNRF9DSERJUiwgICJIauZscCB0aWwgQ0hESVJcbiIKCiAgV0NNRF9DTFMsICAgICJDTFMgc2xldHRlciBrb25zb2xza+ZybWVuXG4iCgogIFdDTURfQ09QWSwgICAiSGrmbHAgdGlsIENPUFlcbiIKICBXQ01EX0NUVFksICAgIkhq5mxwIHRpbCBDVFRZXG4iCiAgV0NNRF9EQVRFLCAgICJIauZscCB0aWwgREFURVxuIgogIFdDTURfREVMLCAgICAiSGrmbHAgdGlsIERFTFxuIgogIFdDTURfRElSLCAgICAiSGrmbHAgdGlsIERJUlxuIgoKICBXQ01EX0VDSE8sICAgICKrRUNITyA8c3RyZW5nPiB2aXNlciA8c3RyZW5nPrsgcOUgZGVuIGfmbGRlbmRlIHRlcm1pbmFsZW5oZWQuXG5cClxuXAqrRUNITyBPTrsgZm9y5XJzYWdlciBhdCBhbGxlIGtvbW1hbmRvZXIgaSBlbiBiYXRjaGZpbCB2aXNlcyBw5VxuXAp0ZXJtaW5hbGVuaGVkZW4gZvhyIGRlIGv4cmVzLlxuXApcblwKq0VDSE8gT0ZGuyBvbXZlbmRlciBlZmZla3RlbiBhZiBlbiB0aWRsaWdlcmUgq0VDSE8gT067IChFQ0hPIGVyIE9GRiBzb21cblwKc3RhbmRhcmQpLiCrRUNITyBPRka7LWtvbW1hbmRvZW4ga2FuIGhpbmRyZXMgZnJhIGF0IHZpc2VzIHZlZCBhdCBwbGFkc2VyZVxuXApldCBALXRlZ24gZm9yYW4gZGVuLlxuIgoKICBXQ01EX0VSQVNFLCAgIkhq5mxwIHRpbCBFUkFTRVxuIgoKICBXQ01EX0ZPUiwgICAgIkZPUi1rb21tYW5kb2VuIGJydWdlcyB0aWwgYXQga/hyZSBlbiBrb21tYW5kbyBmb3IgaHZlciBmaWwgaSBldCBz5nQgZmlsZXIuXG5cClxuXApTeW50YWtzOiBGT1IgJXZhcmlhYmVsIElOIChz5nQpIERPIGtvbW1hbmRvXG5cClxuXApLcmF2ZXQgb20gdG8gJS10ZWduIG7lciBGT1IgYnJ1Z2VzIGkgZW4gYmF0Y2hmaWwgZmluZGVzIGlra2UgaSBXaW5lcyBDTUQuXG4iCgogIFdDTURfR09UTywgICAiR09UTy1rb21tYW5kb2VuIGZseXR0ZXIga/hyc2xlbiB0aWwgZXQgYW5kZXQgc3RlZCBpIGVuIGJhdGNoZmlsLlxuXApcblwKTGFiZWxlbiBzb20gZXIgZGVzdGluYXRpb24gdGlsIEdPVE8ga2FuIHbmcmUgb3AgdGlsIDI1NSB0ZWduIGxhbmd0LCBtZW4gbeVcblwKaWtrZSBpbmRlaG9sZGUgbWVsbGVtcnVtIChkZXR0ZSBlciBmb3Jza2VsbGlndCBmcmEgYW5kcmUgb3BlcmF0aXZzeXN0ZW1lcikuXG5cCkh2aXMgZGVyIGZpbmRlcyB0byBlbGxlciBmbGVyZSBpZGVudGlza2UgbGFiZWxlciBpIGVuIGJhdGNoZmlsLCBr+HJlcyBkZW5cblwKZvhyc3RlIGFsdGlkLiBIdmlzIGVuIEdPVE8gcGVnZXIgcOUgZW4gaWtrZSBla3Npc3RlcmVuZGUgbGFiZWwgYWZicnlkZXJzXG5cCmv4cnNsZW4gYWYgZGVuIGJhdGNoZmlsLlxuXApcblwKR09UTyBoYXIgaW5nZW4gZWZmZWt0IG7lciBkZW4gYnJ1Z2VzIGludGVyYWt0aXZ0LlxuIgoKICBXQ01EX0hFTFAsICAgIkhq5mxwIHRpbCBIRUxQXG4iCgogIFdDTURfSUYsICAgICAiSUYgYnJ1Z2VzIHRpbCBhdCBr+HJlIGVuIGtvbW1hbmRvIHDlIGJldGluZ2Vsc2VyLlxuXApcblwKQnJ1ZzoJSUYgW05PVF0gRVhJU1QgZmlsbmF2biBrb21tYW5kb1xuXAoJSUYgW05PVF0gc3RyZW5nMT09c3RyZW5nMiBrb21tYW5kb1xuXAoJSUYgW05PVF0gRVJST1JMRVZFTCBudW1tZXIga29tbWFuZG9cblwKXG5cCkkga29tbWFuZG8gZm9ybSBudW1tZXIgdG8gc2thbCBzdHJlbmcxIG9nIHN0cmVuZzIgb21zbHV0dGVzIGFmIGRvYmJlbHRlXG5cIGFuZvhyc2Vsc3RlZ24uIERlciBza2VsZG5lcyBpa2tlIG1lbGxlbSBzdG9yZSBvZyBzbeUgYm9nc3RhdmVyLlxuIgoKICBXQ01EX0xBQkVMLCAgIkxBQkVMIGJydWdlcyB0aWwgYXQgbmF2bmdpdmUgZXQgZHJldi5cblwKXG5cClN5bnRha3M6IExBQkVMIFtkcmV2Ol1cblwKS29tbWFuZG9lbiB2aWwgYmVkZSBvbSBkZXQgbnllIHZvbHVtZW5hdm4gZm9yIGRyZXZldC5cblwKRHUga2FuIHZpc2UgZXQgZHJldnMgdm9sdW1lbmF2biBtZWQgVk9MLWtvbW1hbmRvZW4uXG4iCgogIFdDTURfTUQsICAgICAiSGrmbHAgdGlsIE1EXG4iCiAgV0NNRF9NS0RJUiwgICJIauZscCB0aWwgTUtESVJcbiIKICBXQ01EX01PVkUsICAgIk1PVkUgZmx5dHRlciBlbiBmaWwgZWxsZXIga2F0YWxvZyB0aWwgZXQgbnl0IHN0ZWQgaW5kZW5mb3JcblwKZmlsc3lzdGVtZXQuXG5cClxuXApIdmlzIGVsZW1lbnRldCBzb20gZmx5dHRlcyBlciBlbiBrYXRhbG9nLCBz5SBmbHl0dGVzIGZpbGVybmUgb2dcblwKdW5kZXJrYXRhbG9nZW5lIG9nc+UgaSBkZW4uXG5cClxuXApNT1ZFIGZlamxlciBodmlzIGRlbiBnYW1sZSBvZyBueWUgcGxhZHNlcmluZyBoYXIgZm9yc2tlbGxpZ2VcblwKZHJldmJvZ3N0YXZlci5cbiIKCiAgV0NNRF9QQVRILCAgICJQQVRIIHZpc2VyIGVsbGVyIOZuZHJlciBDTURzIHP4Z2VzdGkuXG5cClxuXApQQVRIIHZpc2VyIGRlbiBn5mxkZW5kZSBQQVRILWluZHN0aWxsaW5nZW4gKGRldHRlIGVyXG5cCmkgYmVneW5kZWxzZW4gduZyZGllbiBvcGdpdmV0IGkgZmlsZW4gq3dpbmUuY29uZrspLiBQQVRILVxuXAprb21tYW5kb2VuIGVmdGVyZvhsZ2VzIG1lZCBldCBueXQgbmF2biBmb3IgYXQg5m5kcmUgaW5kc3RpbGxpbmdlbi5cblwKXG5cCkRldCBlciBvZ3PlIG11bGlndCBhdCDmbmRyZSBQQVRIIHZlZCBhdCBicnVnZSBtaWxq+HZhcmlhYmxlbiBQQVRILCBmb3JcblwKZWtzZW1wZWw6XG5cCgkJUEFUSCAlUEFUSCU7YzpcXHRlbXBcbiIKCiAgV0NNRF9QQVVTRSwgICJQQVVTRSB2aXNlciBtZWxkaW5nZW4gJ1RyeWsgRW50ZXIgZm9yIGF0IGZvcnRz5nR0ZScsIG9nIHZlbnRlciBw5SBhdFxuXCBicnVnZXJlbiB0cnlra2VyIEVudGVyLiBEZXR0ZSBlciBob3ZlZHNhZ2VsaWd0IG55dHRpZ3QgaSBiYXRjaGZpbGVyLFxuXApmb3IgYXQgbGFkZSBicnVnZXJlbiBs5nNlIHVkZGF0YSBmcmEgZW4gdGlkbGlnZXJlIGtvbW1hbmRvIGb4ciBkZW4gZm9yc3ZpbmRlciB1ZFxuXAp25msgZnJhIHNr5nJtZW4uLlxuIgoKICBXQ01EX1BST01QVCwgIlBST01QVCBz5nR0ZXIga29tbWFuZG9saW5qZS10ZWtzdHN0cmVuZ2V0LlxuXApcblwKU3RyZW5nZW4gc29tIGVmdGVyZvhsZ2VyIFBST01QVC1rb21tYW5kb2VuIChvZyBtZWxsZW1ydW1tZXQgbGlnZSBlZnRlcilcblwKdmlzZXMgaSBiZWd5bmRlbHNlbiBhZiBsaW5pZW4gbuVyIGNtZCB2ZW50ZXIgcOUgaW5kZGF0YS5cblwKXG5cCkb4bGdlbmRlIHRla3N0c3RyZW5nZSBoYXIgZGVuIHNwZWNpZWxsZSBiZXR5ZG5pbmc6XG5cClxuXAokJCAgIERvbGxhciB0ZWduICAgICAgICRfICAgTnkgTGluaWUgICAgICAgICAgICAkYiAgIFBpcGUgdGVnbiAofClcblwKJGQgICBH5mxkZW5kZSBkYXRvICAgICAkZSAgIEVzY2FwZSAgICAgICAgICAgICAgJGcgICA+IHRlZ25cblwKJGwgICA8IHRlZ24gICAgICAgICAgICAkbiAgIEfmbGRlbmRlIGRyZXYgICAgICAgJHAgICBH5mxkZW5kZSBzdGlcblwKJHEgICA9IHRlZ24gICAgICAgICAgICAkdCAgIEfmbGRlbmRlIHRpZCAgICAgICAgJHYgICBDTUQgdmVyc2lvblxuXApcblwKQmVt5nJrIGF0IGJydWdlIFBST01QVC1rb21tYW5kb2VuIHVkZW4gZW4gdGVrc3RzdHJlbmdlIHRpbGJhZ2VzdGlsbGVyXG5cCmtsYXJ0ZWduZXQgdGlsIHN0YW5kYXJkduZyZGllbiwgc29tIGVyIGFyYmVqZHNrYXRhbG9nZW4gKGlua2x1ZGVyZXRcblwKZHJldikgZWZ0ZXJmdWxndCBhZiBldCBzdPhycmUgZW5kICg+KSB0ZWduLlxuXAooU29tIGVuIGtvbW1hbmRvIFBST01QVCAkcCRnLilcblwKXG5cCktsYXJ0ZWduZXQga2FuIG9nc+Ug5m5kcmVzIHZlZCDmbmRyZSBtaWxq+HZhcmlhYmxlbiBQUk9NUFQsIHPlXG5cCmtvbW1hbmRvZW4gq1NFVCBQUk9NUFQ9dGVrc3S7IGhhciBzYW1tZSBlZmZla3Qgc29tIKtQUk9NUFQgdGVrc3S7LlxuIgoKICBXQ01EX1JFTSwgICAgIkVuIGtvbW1hbmRvbGluaWUgc29tIGJlZ3lubmVyIG1lZCBSRU0gKGVmdGVyZnVsZ3QgYWYgZXQgbWVsbGVtcnVtKVxuXAp1ZGb4cmVyIGluZ2VuIGhhbmRsaW5nLCBvZyBrYW4gZGVyZm9yIGJydWdlcyBzb20ga29tbWVudGFyIGkgZW4gYmF0Y2hcblwKZmlsLlxuIgoKICBXQ01EX1JFTiwgICAgIkhq5mxwIHRpbCBSRU5cbiIKICBXQ01EX1JFTkFNRSwgIkhq5mxwIHRpbCBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIkhq5mxwIHRpbCBSRFxuIgogIFdDTURfUk1ESVIsICAiSGrmbHAgdGlsIFJNRElSXG4iCgogIFdDTURfU0VULCAgICAiU0VUIHZpc2VyIGVsbGVyIOZuZHJlciBtaWxq+HZhcmlhYmxlbmUgaSBDTUQuXG5cClxuXApTRVQgdWRlbiBwYXJhbWV0ZXJlIHZpc2VyIGFsbGUgZ+ZsZGVuZGUgbWlsavh2YXJpYWJsZXIuXG5cClxuXApTeW50YWtzZW4gZm9yIGF0IG9wcmV0dGUgZWxsZXIg5m5kcmUgZW4gbWlsavh2YXJpYWJlbCBlcjpcblwKXG5cCiAgICAgIFNFVCA8dmFyaWFiZWw+PTx25nJkaT5cblwKXG5cCjx2YXJpYWJlbD4gb2cgPHbmcmRpPiBlciB0ZWtzdHN0cmVuZ2VyLiBEZXIgbeUgaWtrZSB25nJlIG1lbGxlbXJ1bVxuXApm+HIgbGlnaGVkc3RlZ25ldCwgb2cgdmFyaWFiZWxuYXZuZXQga2FuIGhlbGxlciBpa2tlIGhhdmUgaW5kYnlnZ2VkZVxuXAptZWxsZW1ydW0uXG5cClxuXApJIFdpbmUgZXIgbWlsavh2YXJpYWJsZW5lIGkgZGV0IHVuZGVybGlnZ2VuZGUgb3BlcmF0aXZzeXN0ZW1ldFxuXCBpbmtsdWRlcnQgaSBXaW4zMi1taWxq+GV0LCBvZyBkZXIgZXIgZGVyZm9yIG1hbmdlIGZsZXJlXG5cCnbmcmRpZXIgZW5kIGkgZXQgbm9ybWFsdCBXaW4zMi1taWxq+C4gVuZyIG9wbeZya3NvbSBw5SBhdCBtYW4gaWtrZSBrYW5cblwK5m5kcmUgbWlsavhldCBpIGRldCB1bmRlcmxpZ2dlbmRlIG9wZXJhdGl2c3lzdGVtZXQgZnJhIENNRC5cbiIKCiAgV0NNRF9TSElGVCwgICJTSElGVCBicnVnZXMgaSBlbiBiYXRjaGZpbCBmb3IgYXQgZmplcm5lIGRlbiBm+HJzdGUgcGFyYW1ldGVyIGkgZW5cblwKbGlzdGUsIHPlZGFuIGF0IHBhcmFtZXRlciAyIGJsaXIgcGFyYW1ldGVyIDEgb2cgc+UgdmlkZXJlLiBEZW4gaGFyIGluZ2VuXG5cCmVmZmVrdCBodmlzIGRldCBicnVnZXMgZnJhIGtvbW1hbmRvbGluaWVuLlxuIgoKICBXQ01EX1RJTUUsICAgIkhq5mxwIHRpbCBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiQW5naXYgdGl0ZWxlbiBmb3IgQ01ELXZpbmR1ZXQsIHN5bnRha3NlbiBlclxuXAogIFRJVExFIFtzdHJlbmddXG4iCgogIFdDTURfVFlQRSwgICAiq1RZUEUgPGZpbG5hdm4+uyBrb3BpZXJlciA8ZmlsbmF2bj4gdGlsIGtvbnNvbGVuaGVkZW4gKGVsbGVyIGV0IGFuZGV0XG5cCnN0ZWQgaHZpcyBkZXQgb21kaXJpZ2VyZXMpLiBEZXQga29udHJvbGxlcmVzIGlra2Ugb20gZmlsZW4gZXIgbOZzZWxpZyB0ZWtzdC5cbiIKCiAgV0NNRF9WRVJJRlksICJWRVJJRlkgYnJ1Z2VzIHRpbCBhdCBha3RpdmVyZSwgZGVha3RpdmVyZSBlbGxlciB0ZXN0ZSCrdmVyaWZ5uy1mbGFnZ2V0LlxuXCBHeWxkaWdlIG3lZGVyIGVyOlxuXApcblwKVkVSSUZZIE9OCUFrdGl2ZXJlciBmbGFnZ2V0XG5cClZFUklGWSBPRkYJRGVha3RpdmVyZXIgZmxhZ2dldFxuXApWRVJJRlkJCVZpc2VyIE9OIGh2aXMgcOUgZWxsZXJzIE9GRi5cblwKXG5cCqtWZXJpZnm7LWZsYWdnZXQgaGFyIGluZ2VuIGZ1bmtzaW9uIGkgV2luZS5cbiIKCiAgV0NNRF9WRVIsICAgICJWRVIgdmlzZXIgQ01EJ3MgdmVyc2lvbm51bW1lclxuIgoKICBXQ01EX1ZPTCwgICAgIkhq5mxwIHRpbCBWT0xcbiIKCiAgV0NNRF9QVVNIRCwgICJQVVNIRCA8a2F0YWxvZ25hdm4+IGxhZ3JlciBhcmJlamRza2F0YWxvZ2V0IHDlIGVuIHN0YWsgb2cg5m5kcmVyIGRlcmVmdGVyXG5cCmFyYmVqZHNrYXRhbG9nZXQgdGlsIGRlbiBzb20gZXIgb3BnaXZlbi5cbiIKCiAgV0NNRF9QT1BELCAgICJQT1BEIOZuZHJlciBhcmJlamRza2F0YWxvZyB0aWwgZGV0IHNvbSBzaWRzdCBibGV2IGJydWd0IG1lZCBQVVNIRC5cbiIKCiAgV0NNRF9NT1JFLCAgICJNT1JFIGxhZGVyIGRpZyBibGFkcmUgZ2VubmVtIGluZGhvbGRldCBhZiBmaWxlciBlbGxlciBpbmRkYXRhIGZyYSBlbiBwaXBlLlxuIgoKICBXQ01EX0VYSVQsICAgIkVYSVQgYWZzbHV0dGVyIGfmbGRlbmRlIENNRCBvZyByZXR1cm5lcmVyIHRpbCBvcGVyYXRpdnN5c3RlbWV0IGVsbGVyIGRldFxuXApwcm9ncmFtIENNRCBibGV2IHN0YXJ0ZXQgYWYuXG4iCgogIFdDTURfQUxMSEVMUCwgIkluZGJ5Z2dlZGUga29tbWFuZG9lciBpIENNRDpcblwKQVRUUklCXHRcdFZpc2VyIGVsbGVyIOZuZHJlciBET1MtZmlsYXR0cmlidXR0ZXJcblwKQ0FMTFx0XHRLYWxkIGVuIGJhdGNoZmlsIGluZGUgaSBlbiBhbmRlblxuXApDRCAoQ0hESVIpXHRTa2lmdGVyIGFyYmVqZHNrYXRhbG9nXG5cCkNMU1x0XHRTbGV0dGVyIGtvbnNvbGxza+ZybWVuXG5cCkNPUFlcdFx0S29waWVyZXIgZmlsZXJcblwKQ1RUWVx0XHTGbmRyZXIgaW5kL3VkLWVuaGVkXG5cCkRBVEVcdFx0VmlzZXIgZWxsZXIg5m5kcmVyIHN5c3RlbWRhdG9lblxuXApERUwgKEVSQVNFKVx0U2xldHRlciBlbiBlbGxlciBmbGVyZSBmaWxlclxuXApESVJcdFx0VmlzZXIgaW5kaG9sZGV0IGkgZXQga2F0YWxnb1xuXApFQ0hPXHRcdEtvcGllcmVyIHRla3N0IGRpcmVrdGUgdGlsIGtvbnNvbC11ZGRhdGFlblxuXApIRUxQXHRcdFZpc2VyIGVuIGtvcnQgaGrmbHBlYmVza3JpdmVsc2Ugb20gZXQgZW1uZVxuXApNRCAoTUtESVIpXHRMYWdlciBlbiB1bmRlcmthdGFsb2dcblwKTU9SRVx0XHREaXNwbGF5IG91dHB1dCBpbiBwYWdlc1xuXApNT1ZFXHRcdEZseXR0ZXIgZW4gZWxsZXIgZmxlcmUgZmlsZXIsIGVsbGVyIGVuIGthdGFsb2d0cuZcblwKUEFUSFx0XHTGbmRyZXIgZWxsZXIgdmlzZXIgc/hnZXN0aWVuXG5cClBPUERcdFx0xm5kcmVyIGFyYmVqZHNrYXRhbG9nZXQgdGlsIGRlbiBzaWRzdCBsYWdyZWRlIG1lZCBQVVNIRFxuXApQUk9NUFRcdFx0xm5kcmVyIGtvbW1hbmRvLXRla3N0c3RyZWduZW5cblwKUFVTSERcdFx0xm5kcmVyIGFyYmVqZHNrYXRhbG9nIG9nIGxhZ3JlciBkZW4gZ+ZsZGVuZGVcblwKUkVOIChSRU5BTUUpXHRPbWT4YmVyIGZpbFxuXApSRCAoUk1ESVIpXHRTbGV0dGVyIGV0IHVuZGVya2F0YWxvZ1xuXApTRVRcdFx0U+Z0dGVyIGVsbGVyIHZpc2VyIG1pbGr4dmFyaWFibGVyXG5cClRJTUVcdFx0U+Z0dGVyIGVsbGVyIHZpc2VyIGfmbGRlbmRlIHN5c3RlbXRpZFxuXApUSVRMRVx0XHRT5nR0ZXIgdmluZHVlc3RpdGVsZW4gZm9yIENNRC34a3RlblxuXApUWVBFXHRcdFZpc2VyIGluZGhvbGRldCBpIGVuIGZpbFxuXApWRVJcdFx0VmlzZXIgQ01EJ3MgdmVyc2lvbm51bW1lclxuXApWT0xcdFx0VmlzZXIgdm9sdW1lbmF2bmV0IGZvciBldCBkcmV2XG5cCkVYSVRcdFx0QWZzbHV0dGVyIENNRFxuXG5cClNrcml2IKtIRUxQIDxrb21tYW5kbz67IGZvciBtZXJlIGluZm9ybWF0aW9uIG9tIGtvbW1hbmRvZXJuZSBvdmVub3ZlclxuIgoKICBXQ01EX0NPTkZJUk0sICJFciBkdSBzaWtrZXIiCiAgV0NNRF9ZRVMsICJKIgogIFdDTURfTk8sICJOIgogIFdDTURfTk9BU1NPQywgIk1hbmdsZW5kZSBmaWx0aWxrbnl0bmluZyBmb3IgZWZ0ZXJuYXZuZXQgJXNcbiIKICBXQ01EX05PRlRZUEUsICJJbmdlbiDlYm5la29tbWFuZG8gZXIgdGlsa255dHRldCBmaWx0eXBlbmUgJyVzJ1xuIgogIFdDTURfT1ZFUldSSVRFLCAiT3ZlcnNrcml2ICVzIgogIFdDTURfTU9SRVNUUiwgIk1lcmUuLi4iCiAgV0NNRF9UUlVOQ0FURURMSU5FLCAiTGluaWUgaSBiYXRjaGZpbCBtdWxpZ3ZpcyBmb3Jrb3J0ZXQuIFVzaW5nOlxuIgogIFdDTURfTllJLCAiSWtrZSBpbXBsZW1lbnRlcmV0IGVuZG51XG5cbiIKICBXQ01EX05PQVJHLCAiQXJndW1lbnQgbWFuZ2xlclxuIgogIFdDTURfU1lOVEFYRVJSLCAiU3ludGFrcyBmZWpsXG4iCiAgV0NNRF9GSUxFTk9URk9VTkQsICIlcyA6IEZpbGVuIGlra2UgZnVuZGV0XG4iCiAgV0NNRF9OT0NNREhFTFAsICJJbmdlbiBoauZscCB0aWxn5m5nZWxpZyBmb3IgJXNcbiIKICBXQ01EX05PVEFSR0VULCAiR09UTyBEZXN0aW5hdGlvbiBpa2tlIGZ1bmRldFxuIgogIFdDTURfQ1VSUkVOVERBVEUsICJOdXbmcmVuZGUgRGF0byBlciAlc1xuIgogIFdDTURfQ1VSUkVOVFRJTUUsICJOdXbmcmVuZGUgVGlkIGVyICVzXG4iCiAgV0NNRF9ORVdEQVRFLCAiU2tyaXYgbnkgZGF0bzogIgogIFdDTURfTkVXVElNRSwgIlNrcml2IG55IHRpZDogIgogIFdDTURfTUlTU0lOR0VOViwgIk1pbGr4dmFyaWFibGUgJXMgaWtrZSBkZWZpbmVyZXRcbiIKICBXQ01EX1JFQURGQUlMLCAiS3VubmUgaWtrZSDlYm5lICclcydcbiIKICBXQ01EX0NBTExJTlNDUklQVCwgIkt1bm4gaWtrZSBrYWxkZSBiYXRjaCBsYWJlbCB1ZGVmcmEgYmF0Y2hza3JpcHRldFxuIgogIFdDTURfQUxMLCAiQSIKICBXQ01EX0RFTFBST01QVCwgIiVzLCBTbGV0IgogIFdDTURfRUNIT1BST01QVCwgIkVjaG8gZXIgJXNcbiIKICBXQ01EX1ZFUklGWVBST01QVCwgIlZlcmlmeSBlciAlc1xuIgogIFdDTURfVkVSSUZZRVJSLCAiVmVyaWZ5IHNrYWwgduZyZSBPTiBlbGxlciBPRkZcbiIKICBXQ01EX0FSR0VSUiwgIlBhcmFtZXRlciBmZWpsXG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJWb2x1bWVuIGkgZHJldmV0ICVjIGVyICVzXG5Wb2x1bWUgU2VyaWVsIE51bW1lciBpcyAlMDR4LSUwNHhcblxuIgogIFdDTURfVk9MVU1FUFJPTVBULCAiVm9sdW1lbidzIGxhYmVsICgxMSBrYXJha3RlcmUsIEVOVEVSIGZvciBpbmdlbik/IgogIFdDTURfTk9QQVRILCAiUEFUSCBpa2tlIGZ1bmRldFxuIgogIFdDTURfQU5ZS0VZLCJUcnlrIFJldHVybiBmb3IgYXQgZm9ydHPmdHRlOiAiCiAgV0NNRF9DT05TVElUTEUsIldpbmUgQ29tbWFuZCBQcm9tcHQiCiAgV0NNRF9WRVJTSU9OLCJDTUQgVmVyc2lvbiAlc1xuXG4iCiAgV0NNRF9NT1JFUFJPTVBULCAiTWVyZT8gIgogIFdDTURfTElORVRPT0xPTkcsICJUaGUgaW5wdXQgbGluZSBpcyB0b28gbG9uZy5cbiIKfQo=