CiAgICAgICAgIAkJICAgICBIIEEgLSBQIHIgbyB4IHkKICAgICAgICAgCQkgICAgIC0tLS0tLS0tLS0tLS0tLQogICAgICAgICAJCSAgICAgIHZlcnNpb24gMS4xLjUKCQkJICAgICAgd2lsbHkgdGFycmVhdQoJCQkgICAgICAgMjAwMi8wNC8wMwoKPT09PT09PT09PT09PT09PQp8IEludHJvZHVjdGlvbiB8Cj09PT09PT09PT09PT09PT0KCkhBLVByb3h5IGVzdCB1biByZWxhaXMgVENQL0hUVFAgb2ZmcmFudCBkZXMgZmFjaWxpdOlzIGQnaW506WdyYXRpb24gZW4KZW52aXJvbm5lbWVudCBoYXV0ZW1lbnQgZGlzcG9uaWJsZS4gRW4gZWZmZXQsIGlsIGVzdCBjYXBhYmxlIGRlIDoKICAtIGFzc3VyZXIgdW4gYWlndWlsbGFnZSBzdGF0aXF1ZSBk6WZpbmkgcGFyIGRlcyBjb29raWVzIDsKICAtIGFzc3VyZXIgdW5lIHLpcGFydGl0aW9uIGRlIGNoYXJnZSBhdmVjIGNy6WF0aW9uIGRlIGNvb2tpZXMgcG91cgogICAgYXNzdXJlciBsYSBwZXJzaXN0ZW5jZSBkZSBzZXNzaW9uIDsKICAtIGZvdXJuaXIgdW5lIHZpc2liaWxpdOkgZXh0ZXJuZSBkZSBzb24g6XRhdCBkZSBzYW506SA7CiAgLSBzJ2Fycup0ZXIgZW4gZG91Y2V1ciBzYW5zIHBlcnRlIGJydXRhbGUgZGUgc2VydmljZS4KICAtIG1vZGlmaWVyL2Fqb3V0ZXIvc3VwcHJpbWVyIGRlcyBlbnTqdGVzIGRhbnMgbGEgcmVxdep0ZSBldCBsYSBy6XBvbnNlLgoKSWwgcmVxdWllcnQgcGV1IGRlIHJlc3NvdXJjZXMsIGV0IHNvbiBhcmNoaXRlY3R1cmUg6XbpbmVtZW50aWVsbGUKbW9uby1wcm9jZXNzdXMgbHVpIHBlcm1ldCBmYWNpbGVtZW50IGRlIGfpcmVyIHBsdXNpZXVycyBtaWxsaWVycyBkZQpjb25uZXhpb25zIHNpbXVsdGFu6WVzIHN1ciBwbHVzaWV1cnMgcmVsYWlzIHNhbnMgZWZmb25kcmVyIGxlIHN5c3TobWUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT0KfCBQYXJhbeh0cmVzIGRlIGxhbmNlbWVudCB8Cj09PT09PT09PT09PT09PT09PT09PT09PT09PQoKTGVzIG9wdGlvbnMgZGUgbGFuY2VtZW50IHNvbnQgcGV1IG5vbWJyZXVzZXMgOgoKICAgIC1mIDxmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24+CiAgICAtbiA8bm9tYnJlIG1heGltYWwgdG90YWwgZGUgY29ubmV4aW9ucyBzaW11bHRhbullcz4KICAgIC1OIDxub21icmUgbWF4aW1hbCBkZSBjb25uZXhpb25zIHNpbXVsdGFu6WVzIHBhciBwcm94eT4KICAgIC1kIGFjdGl2ZSBsZSBtb2RlIGRlYnVnCiAgICAtRCBwYXNzZSBlbiBkYWVtb24KICAgIC1zIGFmZmljaGUgbGVzIHN0YXRpc3RpcXVlcyAoc2kgb3B0aW9uIGNvbXBpbOllKQogICAgLWwgYWpvdXRlIGRlcyBpbmZvcm1hdGlvbnMgYXV4IHN0YXRpc3RpcXVlcwoKTGUgbm9tYnJlIG1heGltYWwgZGUgY29ubmV4aW9uIHNpbXVsdGFu6WVzIHBhciBwcm94eSBlc3QgbGUgcGFyYW3odHJlCnBhciBk6WZhdXQgcG91ciBsZXMgcHJveGllcyBwb3VyIGxlc3F1ZWxzIGNlIHBhcmFt6HRyZSBuJ2VzdCBwYXMKcHLpY2lz6SBkYW5zIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbi4KCkxlIG5vbWJyZSBtYXhpbWFsIHRvdGFsIGRlIGNvbm5leGlvbnMgc2ltdWx0YW7pZXMgbGltaXRlIGxlIG5vbWJyZSBkZQpjb25uZXhpb25zIFRDUCB1dGlsaXNhYmxlcyDgIHVuIGluc3RhbnQgcGFyIGxlIHByb2Nlc3N1cywgdG91cyBwcm94aWVzCmNvbmZvbmR1cy4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT0KfCBGaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gfAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoKQ29tbWVudGFpcmVzCj09PT09PT09PT09PQoKTCdhbmFseXNldXIgZHUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIGlnbm9yZSBkZXMgbGlnbmVzIHZpZGVzLCBsZXMKZXNwYWNlcywgbGVzIHRhYnVsYXRpb25zLCBldCB0b3V0IGNlIHF1aSBlc3QgY29tcHJpcyBlbnRyZSBsZSBzeW1ib2xlCicjJyAocydpbCBuJ2VzdCBwYXMgcHLpY+lk6SBkJ3VuICdcJyksIGV0IGxhIGZpbiBkZSBsYSBsaWduZS4KCgpTZXJ2ZXVyCj09PT09PT0KCkxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBjb250aWVudCBkZXMgc2VjdGlvbnMgcmVw6XLpZXMgcGFyIGxlIG1vdApjbOkgImxpc3RlbiIgOgoKICAgIGxpc3RlbiA8bm9tX2luc3RhbmNlPiA8YWRyZXNzZV9JUD46PHBvcnQ+Cgo8bm9tX2luc3RhbmNlPiBlc3QgbGUgbm9tIGRlIGwnaW5zdGFuY2UgZOljcml0ZS4gQ2Ugbm9tIHNlcmEgZW52b3npCmRhbnMgbGVzIGxvZ3MsIGRvbmMgaWwgZXN0IHNvdWhhaXRhYmxlIGQndXRpbGlzZXIgdW4gbm9tIHJlbGF0aWYgYXUKc2VydmljZSByZWxheekuIEF1Y3VuIHRlc3Qgbidlc3QgZWZmZWN0dekgY29uY2VybmFudCBsJ3VuaWNpdOkgZGUgY2UKbm9tLCBxdWkgbidlc3QgcGFzIG9ibGlnYXRvaXJlLCBtYWlzIGZvcnRlbWVudCByZWNvbW1hbmTpZS4KCjxhZHJlc3NlX0lQPiBlc3QgbCdhZHJlc3NlIElQIHN1ciBsYXF1ZWxsZSBsZSByZWxhaXMgYXR0ZW5kIHNlcwpjb25uZXhpb25zLiBMJ2FkcmVzc2UgMC4wLjAuMCBzaWduaWZpZSBxdWUgbGVzIGNvbm5leGlvbnMgcG91cnJvbnQKcydlZmZlY3R1ZXIgc3VyIHRvdXRlcyBsZXMgYWRyZXNzZXMgZGUgbGEgbWFjaGluZS4KCjxwb3J0PiBlc3QgbGUgbnVt6XJvIGRlIHBvcnQgVENQIHN1ciBsZXF1ZWwgbGUgcmVsYWlzIGF0dGVuZCBzZXMKY29ubmV4aW9ucy4gTGUgY291cGxlIDxhZHJlc3NlX0lQPjo8cG9ydD4gZG9pdCDqdHJlIHVuaXF1ZSBwb3VyIHRvdXRlcwpsZXMgaW5zdGFuY2VzIGQndW5lIG3qbWUgbWFjaGluZS4gTCdhdHRhY2hlbWVudCDgIHVuIHBvcnQgaW5m6XJpZXVyIOAKMTAyNCBu6WNlc3NpdGUgdW4gbml2ZWF1IGRlIHByaXZpbOhnZSBwYXJ0aWN1bGllci4KCkV4ZW1wbGUgOgotLS0tLS0tLS0KICAgIGxpc3RlbiBodHRwX3Byb3h5IDEyNy4wLjAuMTo4MAoKCkluaGliaXRpb24KPT09PT09PT09PQoKVW4gc2VydmV1ciBwZXV0IOp0cmUgZOlzYWN0aXbpIHBvdXIgZGVzIGJlc29pbnMgZGUgbWFpbnRlbmFuY2UsIHNhbnMKYXZvaXIg4CBjb21tZW50ZXIgdG91dGUgdW5lIHBhcnRpZSBkdSBmaWNoaWVyLiBJbCBzdWZmaXQgZGUKcG9zaXRpb25uZXIgbGUgbW90IGNs6SAiZGlzYWJsZWQiIGRhbnMgc2Egc2VjdGlvbiA6CgogICAgbGlzdGVuIHNtdHBfcHJveHkgMC4wLjAuMDoyNQoJZGlzYWJsZWQKCk1vZGUKPT09PQoKVW4gc2VydmV1ciBwZXV0IGZvbmN0aW9ubmVyIGRhbnMgdHJvaXMgbW9kZXMgZGlmZulyZW50cyA6CiAgLSBUQ1AKICAtIEhUVFAKICAtIHN1cGVydmlzaW9uCgpNb2RlIFRDUAotLS0tLS0tLQpEYW5zIGNlIG1vZGUsIGxlIHNlcnZpY2UgcmVsYXllLCBk6HMgbGV1ciDpdGFibGlzc2VtZW50LCBsZXMKY29ubmV4aW9ucyBUQ1AgdmVycyB1biBvdSBwbHVzaWV1cnMgc2VydmV1cnMuIEF1Y3VuIHRyYWl0ZW1lbnQgbidlc3QKZWZmZWN0dekgc3VyIGxlIGZsdXguIElsIHMnYWdpdCBzaW1wbGVtZW50IGQndW5lIGFzc29jaWF0aW9uCjxhZHJlc3NlX3NvdXJjZTpwb3J0X3NvdXJjZT4gPGFkcmVzc2VfZGVzdGluYXRpb246cG9ydF9kZXN0aW5hdGlvbj4uClBvdXIgbCd1dGlsaXNlciwgcHLpY2lzZXIgbGUgbW9kZSBUQ1Agc291cyBsYSBk6WNsYXJhdGlvbiBkdSByZWxhaXMgOgoKICAgIGxpc3RlbiBzbXRwX3Byb3h5IDAuMC4wLjA6MjUKCW1vZGUgdGNwCgpNb2RlIEhUVFAKLS0tLS0tLS0tCkRhbnMgY2UgbW9kZSwgbGUgc2VydmljZSByZWxheWUgbGVzIGNvbm5leGlvbnMgVENQIHZlcnMgdW4gb3UKcGx1c2lldXJzIHNlcnZldXJzLCB1bmUgZm9pcyBxdSdpbCBkaXNwb3NlIGQnYXNzZXogZCdpbmZvcm1hdGlvbnMgcG91cgplbiBwcmVuZHJlIGxhIGTpY2lzaW9uLiBMZXMgZW506nRlcyBIVFRQIHNvbnQgYW5hbHlz6XMgcG91ciB5IHRyb3V2ZXIKdW4g6XZlbnR1ZWwgY29va2llLCBldCBjZXJ0YWlucyBkJ2VudHJlLWV1eCBwZXV2ZW50IOp0cmUgbW9kaWZp6XMgcGFyCmxlIGJpYWlzIGQnZXhwcmVzc2lvbnMgculndWxp6HJlcy4gUG91ciBhY3RpdmVyIGNlIG1vZGUsIHBy6WNpc2VyIGxlCm1vZGUgSFRUUCBzb3VzIGxhIGTpY2xhcmF0aW9uIGR1IHJlbGFpcyA6CgogICAgbGlzdGVuIGh0dHBfcHJveHkgMC4wLjAuMDo4MAoJbW9kZSBodHRwCgpNb2RlIHN1cGVydmlzaW9uCi0tLS0tLS0tLS0tLS0tLS0KSWwgcydhZ2l0IGQndW4gbW9kZSBvZmZyYW50IOAgdW4gY29tcG9zYW50IGV4dGVybmUgdW5lIHZpc2liaWxpdOkgZGUKbCfpdGF0IGRlIHNhbnTpIGR1IHNlcnZpY2UuIElsIHNlIGNvbnRlbnRlIGRlIHJldG91cm5lciAiT0siIOAgdG91dApjbGllbnQgc2UgY29ubmVjdGFudCBzdXIgc29uIHBvcnQuIElsIHBldXQg6nRyZSB1dGlsaXPpIGF2ZWMgZGVzCnLpcGFydGl0ZXVycyBkZSBjaGFyZ2Ug6XZvbHXpcyBwb3VyIGTpdGVybWluZXIgcXVlbHMgc29udCBsZXMgc2VydmljZXMKdXRpbGlzYWJsZXMuIFBvdXIgYWN0aXZlciBjZSBtb2RlLCBwculjaXNlciBsZSBtb2RlIEhFQUxUSCBzb3VzIGxhCmTpY2xhcmF0aW9uIGR1IHJlbGFpcyA6CgogICAgbGlzdGVuIGhlYWx0aF9jaGVjayAwLjAuMC4wOjYwMDAwCgltb2RlIGhlYWx0aAoKCkxpbWl0YXRpb24gZHUgbm9tYnJlIGRlIGNvbm5leGlvbnMgc2ltdWx0YW7pZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKTGUgcGFyYW3odHJlICJtYXhjb25uIiBwZXJtZXQgZGUgZml4ZXIgbGEgbGltaXRlIGFjY2VwdGFibGUgZW4gbm9tYnJlCmRlIGNvbm5leGlvbnMgc2ltdWx0YW7pZXMgcGFyIHByb3h5LiBDaGFxdWUgcHJveHkgcXVpIGF0dGVpbnQgY2V0dGUKdmFsZXVyIGNlc3NlIGQn6WNvdXRlciBqdXNxdSfgIGxpYulyYXRpb24gZCd1bmUgY29ubmV4aW9uLiBWb2lyIHBsdXMKbG9pbiBjb25jZXJuYW50IGxlcyBsaW1pdGF0aW9ucyBsaellcyBhdSBzeXN06G1lLiBFeGVtcGxlOgoKICAgICBtYXhjb25uIDE2MDAwCgoKQXJy6nQgZW4gZG91Y2V1cgo9PT09PT09PT09PT09PT09CgpJbCBlc3QgcG9zc2libGUgZCdhcnLqdGVyIGxlcyBzZXJ2aWNlcyBlbiBkb3VjZXVyIGVuIGVudm95YW50IHVuCnNpZ25hbCBTSUdfVVNSMSBhdSBwcm9jZXNzdXMgcmVsYWlzLiBUb3VzIGxlcyBzZXJ2aWNlcyBzZXJvbnQgYWxvcnMKbWlzIGVuIHBoYXNlIGQnYXJy6nQsIG1haXMgcG91cnJvbnQgY29udGludWVyIGQnYWNjZXB0ZXIgZGVzIGNvbm5leGlvbnMKcGVuZGFudCB1biB0ZW1wcyBk6WZpbmkgcGFyIGxlIHBhcmFt6HRyZSAiZ3JhY2UiIChlbiBtaWxsaXNlY29uZGVzKS4KQ2VsYSBwZXJtZXQgcGFyIGV4ZW1wbGUsIGRlIGZhaXJlIHNhdm9pciByYXBpZGVtZW50IOAgdW4gculwYXJ0aXRldXIKZGUgY2hhcmdlIHF1J2lsIG5lIGRvaXQgcGx1cyB1dGlsaXNlciB1biByZWxhaXMsIHRvdXQgZW4gY29udGludWFudApkJ2Fzc3VyZXIgbGUgc2VydmljZSBsZSB0ZW1wcyBxdSdpbCBzJ2VuIHJlbmRlIGNvbXB0ZS4gUmVtYXJxdWUgOiBsZXMKY29ubmV4aW9ucyBhY3RpdmVzIG5lIHNvbnQgamFtYWlzIGNhc3PpZXMuIERhbnMgbGUgcGlyZSBkZXMgY2FzLCBpbApmYXVkcmEgYXR0ZW5kcmUgZW4gcGx1cyBsZXVyIGV4cGlyYXRpb24gYXZhbnQgbCdhcnLqdCB0b3RhbCBkdQpwcm9jZXNzdXMuIExhIHZhbGV1ciBwYXIgZOlmYXV0IGVzdCAwIChwYXMgZGUgZ3LiY2UpLgoKRXhlbXBsZSA6Ci0tLS0tLS0tLQoKICAgICMgbGUgc2VydmljZSB0b3VybmVyYSBlbmNvcmUgMTAgc2Vjb25kZXMgYXBy6HMgbGEgZGVtYW5kZSBkJ2Fycup0CiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjgwCgltb2RlIGh0dHAKCWdyYWNlIDEwMDAwCgogICAgbGlzdGVuIGhlYWx0aF9jaGVjayAwLjAuMC4wOjYwMDAwCgltb2RlIGhlYWx0aAoJZ3JhY2UgMAoKClRlbXBzIGQnZXhwaXJhdGlvbiBkZXMgY29ubmV4aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCklsIGVzdCBwb3NzaWJsZSBkZSBwYXJhbel0cmVyIGNlcnRhaW5lcyBkdXLpZXMgZCdleHBpcmF0aW9uIGF1IG5pdmVhdQpkZXMgY29ubmV4aW9ucyBUQ1AuIFRyb2lzIHRlbXBzIGluZOlwZW5kYW50cyBzb250IGNvbmZpZ3VyYWJsZXMgZXQKYWNjZXB0ZW50IGRlcyB2YWxldXJzIGVuIG1pbGxpc2Vjb25kZXMuIFNpIGwndW5lIGRlIGNlcyB0cm9pcwp0ZW1wb3Jpc2F0aW9ucyBlc3QgZOlwYXNz6WUsIGxhIHNlc3Npb24gZXN0IHRlcm1pbullIOAgY2hhcXVlCmV4dHLpbWl06S4KCiAgLSB0ZW1wcyBkJ2F0dGVudGUgZCd1bmUgZG9ubullIGRlIGxhIHBhcnQgZHUgY2xpZW50LCBvdSBkZSBsYQogICAgcG9zc2liaWxpdOkgZGUgbHVpIGVudm95ZXIgZGVzIGRvbm7pZXMgOiAiY2xpdGltZW91dCIgOgoKCSMgdGltZS1vdXQgY2xpZW50IOAgMm1uMzAuCgljbGl0aW1lb3V0CTE1MDAwMAoKICAtIHRlbXBzIGQnYXR0ZW50ZSBkJ3VuZSBkb25u6WUgZGUgbGEgcGFydCBkdSBzZXJ2ZXVyLCBvdSBkZSBsYQogICAgcG9zc2liaWxpdOkgZGUgbHVpIGVudm95ZXIgZGVzIGRvbm7pZXMgOiAic3J2dGltZW91dCIgOgoKCSMgdGltZS1vdXQgY2xpZW50IOAgMzBzLgoJc3J2dGltZW91dAkzMDAwMAoKICAtIHRlbXBzIGQnYXR0ZW50ZSBkZSBsJ+l0YWJsaXNzZW1lbnQgZCd1bmUgY29ubmV4aW9uIHZlcnMgdW4gc2VydmV1cgogICAgImNvbnRpbWVvdXQiIDoKCiAgICAgICAgIyBvbiBhYmFuZG9ubmUgc2kgbGEgY29ubmV4aW9uIG4nZXN0IHBhcyDpdGFibGllIGFwcuhzIDMgc2Vjb25kZXMKCWNvbnRpbWVvdXQJMzAwMAoKUmVtYXJxdWU6ICJjb250aW1lb3V0IiBldCAic3J2dGltZW91dCIgbidvbnQgcGFzIGQndXRpbGl06SBkYW5zIGxlIGNhcwpkdSBzZXJ2ZXVyIGRlIHR5cGUgImhlYWx0aCIuCgpUZW50YXRpdmVzIGRlIHJlY29ubmV4aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT0KCkxvcnMgZCd1biDpY2hlYyBkZSBjb25uZXhpb24gdmVycyB1biBzZXJ2ZXVyLCBpbCBlc3QgcG9zc2libGUgZGUKcmV0ZW50ZXIgKHBvdGVudGllbGxlbWVudCB2ZXJzIHVuIGF1dHJlIHNlcnZldXIsIGVuIGNhcyBkZSBy6XBhcnRpdGlvbgpkZSBjaGFyZ2UpLiBMZSBub21icmUgZGUgbm91dmVsbGVzIHRlbnRhdGl2ZXMgaW5mcnVjdHVldXNlcyBhdmFudAphYmFuZG9uIGVzdCBmb3VybmkgcGFyIGxlIHBhcmFt6HRyZSAicmV0cmllcyIgOgoKCSMgb24gZXNzYWllIGVuY29yZSB0cm9pcyBmb2lzIG1heGkKCXJldHJpZXMgMwoKQWRyZXNzZSBkdSBzZXJ2ZXVyCj09PT09PT09PT09PT09PT09PQoKTGUgc2VydmV1ciB2ZXJzIGxlcXVlbCBzb250IHJlZGlyaWfpZXMgbGVzIGNvbm5leGlvbnMgZXN0IGTpZmluaSBwYXIKbGUgcGFyYW3odHJlICJkaXNwYXRjaCIgc291cyBsYSBmb3JtZSA8YWRyZXNzZV9pcD46PHBvcnQ+IDoKCiAgIAkjIG9uIGVudm9pZSB0b3V0ZXMgbGVzIG5vdXZlbGxlcyBjb25uZXhpb25zIGljaQoJZGlzcGF0Y2ggMTkyLjE2OC4xLjI6ODAKClJlbWFycXVlOiBjZSBwYXJhbeh0cmUgbidhIHBhcyBkJ3V0aWxpdOkgcG91ciB1biBzZXJ2ZXVyIGVuIG1vZGUgImhlYWx0aCIuCgpE6WZpbml0aW9uIGR1IG5vbSBkdSBjb29raWUKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpFbiBtb2RlIEhUVFAsIGlsIGVzdCBwb3NzaWJsZSBkZSByZWNoZXJjaGVyIGxhIHZhbGV1ciBkJ3VuIGNvb2tpZSBwb3VyCnNhdm9pciB2ZXJzIHF1ZWwgc2VydmV1ciBhaWd1aWxsZXIgbGEgcmVxdep0ZSB1dGlsaXNhdGV1ci4gTGUgbm9tIGR1CmNvb2tpZSBlc3QgZG9ubukgcGFyIGxlIHBhcmFt6HRyZSAiY29va2llIiA6CgogICAgbGlzdGVuIGh0dHBfcHJveHkgMC4wLjAuMDo4MAoJbW9kZSBodHRwCgljb29raWUgU0VSVkVSSUQKCk9uIHBldXQgbW9kaWZpZXIgbCd1dGlsaXNhdGlvbiBkdSBjb29raWUgcG91ciBsYSByZW5kcmUgcGx1cwppbnRlbGxpZ2VudGUgdmlzLeAtdmlzIGRlcyBhcHBsaWNhdGlvbnMgcmVsYXnpZXMuIElsIGVzdCBwb3NzaWJsZSxub3RhbW1lbnQKZGUgc3VwcHJpbWVyIG91IHLp6WNyaXJlIHVuIGNvb2tpZSByZXRvdXJu6SBwYXIgdW4gc2VydmV1ciBhY2PpZOkgZW4gZGlyZWN0LApldCBkJ2luc+lyZXIgdW4gY29va2llIGRhbnMgdW5lIHLpcG9uc2UgSFRUUCBvcmllbnTpZSB2ZXJzIHVuIHNlcnZldXIKc+lsZWN0aW9ubukgZW4gculwYXJ0aXRpb24gZGUgY2hhcmdlLgoKUG91ciBuZSBjb25zZXJ2ZXIgbGUgY29va2llIHF1J2VuIGFjY+hzIGluZGlyZWN0LCBkb25jIOAgdHJhdmVycyBsZQpkaXNwYXRjaGV1ciwgZXQgbGUgc3VwcHJpbWVyIGxvcnMgZGVzIGFjY+hzIGRpcmVjdHMgOgoKCWNvb2tpZSBTRVJWRVJJRCBpbmRpcmVjdAoKUG91ciBy6eljcmlyZSBsZSBub20gZHUgc2VydmV1ciBkYW5zIHVuIGNvb2tpZSBsb3JzIGQndW4gYWNj6HMgZGlyZWN0IDoKCgljb29raWUgU0VSVkVSSUQgcmV3cml0ZQoKUG91ciBjcullciB1biBjb29raWUgY29tcG9ydGFudCBsZSBub20gZHUgc2VydmV1ciBsb3JzIGQndW4gYWNj6HMgZW4KculwYXJ0aXRpb24gZGUgY2hhcmdlIGludGVybmUuIERhbnMgY2UgY2FzLCBpbCBlc3QgaW5kaXNwZW5zYWJsZSBxdWUgdG91cyBsZXMKc2VydmV1cnMgYWllbnQgdW4gY29va2llIHJlbnNlaWdu6S4KCgljb29raWUgU0VSVkVSSUQgaW5zZXJ0CgpSZW1hcnF1ZTogSWwgZXN0IHBvc3NpYmxlIGRlIGNvbWJpbmVyICdpbnNlcnQnIGF2ZWMgJ2luZGlyZWN0JyBvdSAncmV3cml0ZScKcG91ciBzJ2FkYXB0ZXIg4CBkZXMgYXBwbGljYXRpb25zIGfpbulyYW50IGTpauAgbGUgY29va2llLCBhdmVjIHVuIGNvbnRlbnUKaW52YWxpZGUuIElsIHN1ZmZpdCBwb3VyIGNlbGEgZGUgbGVzIHNw6WNpZmllciBzdXIgbGEgbeptZSBsaWduZS4KCkFzc2lnbmF0aW9uIGQndW4gc2VydmV1ciDgIHVuZSB2YWxldXIgZGUgY29va2llCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpFbiBtb2RlIEhUVFAsIGlsIGVzdCBwb3NzaWJsZSBkJ2Fzc29jaWVyIGRlcyBzZXJ2ZXVycyDgIGRlcyB2YWxldXJzIGRlCmNvb2tpZSBwYXIgbGUgcGFyYW3odHJlICJzZXJ2ZXIiLiBMYSBzeW50YXhlIGVzdCA6CgogICAgc2VydmVyIDxpZGVudGlmaWFudD4gPGFkcmVzc2VfaXA+Ojxwb3J0PiBjb29raWUgPHZhbGV1cj4KCjxpZGVudGlmaWFudD4gZXN0IHVuIG5vbSBxdWVsY29ucXVlIGRlIHNlcnZldXIgdXRpbGlz6SBwb3VyCmwnaWRlbnRpZmllciBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gKGVycmV1cnMuLi4pLgo8YWRyZXNzZV9pcD46PHBvcnQ+IGxlIGNvdXBsZSBhZHJlc3NlLXBvcnQgc3VyIGxlcXVlbCBsZSBzZXJ2ZXVyIOljb3V0ZS4KPHZhbGV1cj4gZXN0IGxhIHZhbGV1ciB0cm91dullIGRhbnMgbGUgY29va2llLAoKRXhlbXBsZSA6IGxlIGNvb2tpZSBTRVJWRVJJRCBwZXV0IGNvbnRlbmlyIHNlcnZlcjAxIG91IHNlcnZlcjAyCi0tLS0tLS0KICAgIGxpc3RlbiBodHRwX3Byb3h5IDAuMC4wLjA6ODAKCW1vZGUgaHR0cAoJY29va2llIFNFUlZFUklECglkaXNwYXRjaCAxOTIuMTY4LjEuMTAwOjgwCglzZXJ2ZXIgd2ViMSAxOTIuMTY4LjEuMTo4MCBjb29raWUgc2VydmVyMDEKCXNlcnZlciB3ZWIyIDE5Mi4xNjguMS4yOjgwIGNvb2tpZSBzZXJ2ZXIwMgoKQXR0ZW50aW9uIDogbGEgc3ludGF4ZSBhIGNoYW5n6SBkZXB1aXMgbGEgdmVyc2lvbiAxLjAuCi0tLS0tLS0tLQoKUulwYXJ0aXRldXIgZGUgY2hhcmdlIGludGVybmUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkxlIHJlbGFpcyBwZXV0IGVmZmVjdHVlciBsdWktbeptZSBsYSBy6XBhcnRpdGlvbiBkZSBjaGFyZ2UgZW50cmUgbGVzCmRpZmbpcmVudHMgc2VydmV1cnMgZOljcml0cyBwb3VyIHVuIHNlcnZpY2UgZG9ubuksIGVuIG1vZGUgVENQIGNvbW1lCmVuIG1vZGUgSFRUUC4gUG91ciBjZWxhLCBvbiBwculjaXNlIGxlIG1vdCBjbOkgJ2JhbGFuY2UnIGRhbnMgbGEKZOlmaW5pdGlvbiBkdSBzZXJ2aWNlLCDpdmVudHVlbGxlbWVudCBzdWl2aSBkdSBub20gZCd1biBhbGdvcml0aG1lIGRlCnLpcGFydGl0aW9uLiBFbiB2ZXJzaW9uIDEuMS4wLCBzZXVsICdyb3VuZHJvYmluJyBlc3QgZ+ly6SwgZXQgYydlc3QKYXVzc2kgbGEgdmFsZXVyIGltcGxpY2l0ZSBwYXIgZOlmYXV0LiBJbCBlc3Qg6XZpZGVudCBxdSdlbiBjYXMKZCd1dGlsaXNhdGlvbiBkdSBy6XBhcnRpdGV1ciBpbnRlcm5lLCBpbCBuZSBmYXVkcmEgcGFzIHNw6WNpZmllcgpkJ2FkcmVzc2UgZGUgZGlzcGF0Y2gsIGV0IHF1J2lsIGZhdWRyYSBhdSBtb2lucyB1biBzZXJ2ZXVyLgoKRXhlbXBsZSA6IG3qbWUgcXVlIHBy6WPpZGVtbWVudCBlbiBy6XBhcnRpdGlvbiBpbnRlcm5lCi0tLS0tLS0KCiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjgwCgltb2RlIGh0dHAKCWNvb2tpZSBTRVJWRVJJRAoJYmFsYW5jZSByb3VuZHJvYmluCglzZXJ2ZXIgd2ViMSAxOTIuMTY4LjEuMTo4MCBjb29raWUgc2VydmVyMDEKCXNlcnZlciB3ZWIyIDE5Mi4xNjguMS4yOjgwIGNvb2tpZSBzZXJ2ZXIwMgoKClN1cnZlaWxsYW5jZSBkZXMgc2VydmV1cnMKPT09PT09PT09PT09PT09PT09PT09PT09PQoKQSBjZXR0ZSBkYXRlLCBsJ+l0YXQgZGVzIHNlcnZldXJzIG4nZXN0IHRlc3TpIHF1ZSBwYXIg6XRhYmxpc3NlbWVudApkZSBjb25uZXhpb24gVENQIHRvdXRlcyBsZXMgMiBzZWNvbmRlcywgYXZlYyAzIGVzc2FpcyBwb3VyIGTpY2xhcmVyCnVuIHNlcnZldXIgZW4gcGFubmUsIDIgcG91ciBsZSBk6WNsYXJlciB1dGlsaXNhYmxlLiBVbiBzZXJ2ZXVyIGhvcnMKZCd1c2FnZSBuZSBzZXJhIHBhcyB1dGlsaXPpIGRhbnMgbGUgcHJvY2Vzc3VzIGRlIHLpcGFydGl0aW9uIGRlIGNoYXJnZQppbnRlcm5lLiBQb3VyIGFjdGl2ZXIgbGEgc3VydmVpbGxhbmNlLCBham91dGVyIGxlIG1vdCBjbOkgJ2NoZWNrJyDgIGxhCmZpbiBkZSBsYSBk6WNsYXJhdGlvbiBkdSBzZXJ2ZXVyLiBJbCBlc3QgcG9zc2libGUgZGUgc3DpY2lmaWVyCmwnaW50ZXJ2YWxsZSAoZW4gbWlsbGlzZWNvbmRlcykgc+lwYXJhbnQgZGV1eCB0ZXN0cyBkdSBzZXJ2ZXVyIHBhciBsZQpwYXJhbeh0cmUgImludGVyIiwgbGUgbm9tYnJlIGQn6WNoZWNzIGFjY2VwdOlzIHBhciBsZSBwYXJhbeh0cmUgImZhbGwiLApldCBsZSBub21icmUgZGUgc3VjY+hzIGF2YW50IHJlcHJpc2UgcGFyIGxlIHBhcmFt6HRyZSAicmlzZSIuCkxlcyBwYXJhbeh0cmVzIG5vbiBwculjaXPpcyBwcmVubmVudCBsZXMgdmFsZXVycyBzdWl2YW50ZXMgcGFyIGTpZmF1dCA6CiAtIGludGVyIDogMjAwMAogLSByaXNlICA6IDIKIC0gZmFsbCAgOiAzCgpFeGVtcGxlIDogbeptZSBxdWUgcHLpY+lkZW1tZW50IGF2ZWMgc3VydmVpbGxhbmNlCi0tLS0tLS0KCiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjgwCgltb2RlIGh0dHAKCWNvb2tpZSBTRVJWRVJJRAoJYmFsYW5jZSByb3VuZHJvYmluCglzZXJ2ZXIgd2ViMSAxOTIuMTY4LjEuMTo4MCBjb29raWUgc2VydmVyMDEgY2hlY2sKCXNlcnZlciB3ZWIyIDE5Mi4xNjguMS4yOjgwIGNvb2tpZSBzZXJ2ZXIwMiBjaGVjawoKClJlY29ubmV4aW9uIHZlcnMgdW4gculwYXJ0aXRldXIgZW4gY2FzIGQn6WNoZWMgZGlyZWN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpFbiBtb2RlIEhUVFAsIHNpIHVuIHNlcnZldXIgZOlmaW5pIHBhciB1biBjb29raWUgbmUgculwb25kIHBsdXMsIGxlcwpjbGllbnRzIHNlcm9udCBk6WZpbml0aXZlbWVudCBhaWd1aWxs6XMgZGVzc3VzIOAgY2F1c2UgZGUgbGV1ciBjb29raWUsCmV0IGRlIGNlIGZhaXQsIGTpZmluaXRpdmVtZW50IHByaXbpcyBkZSBzZXJ2aWNlLiBMYSBzcOljaWZpY2F0aW9uIGR1CnBhcmFt6HRyZSAicmVkaXNwYXRjaCIgYXV0b3Jpc2UgZGFucyBjZSBjYXMg4CByZW52b3llciBsZXMgY29ubmV4aW9ucwrpY2hvdellcyB2ZXJzIGxlIHLpcGFydGl0ZXVyIChleHRlcm5lIG91IGludGVybmUpIGFmaW4gZCdhc3NpZ25lciB1bgpub3V2ZWF1IHNlcnZldXIg4CBjZXMgY2xpZW50cy4KCkV4ZW1wbGUgOgotLS0tLS0tCiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjgwCgltb2RlIGh0dHAKCWNvb2tpZSBTRVJWRVJJRAoJZGlzcGF0Y2ggMTkyLjE2OC4xLjEwMDo4MAoJc2VydmVyIHdlYjEgMTkyLjE2OC4xLjE6ODAgY29va2llIHNlcnZlcjAxCglzZXJ2ZXIgd2ViMiAxOTIuMTY4LjEuMjo4MCBjb29raWUgc2VydmVyMDIKCXJlZGlzcGF0Y2ggIyByZW52b3llciB2ZXJzIGRpc3BhdGNoIHNpIHNlcnZldXIgSFMuCgpGb25jdGlvbm5lbWVudCBlbiBtb2RlIHRyYW5zcGFyZW50Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkVuIG1vZGUgSFRUUCwgbGUgbW90IGNs6SAidHJhbnNwYXJlbnQiIHBlcm1ldCBkJ2ludGVyY2VwdGVyIGRlcwpzZXNzaW9ucyByb3V06WVzIOAgdHJhdmVycyBsYSBtYWNoaW5lIGjpYmVyZ2VhbnQgbGUgcHJveHkuIERhbnMKY2UgbW9kZSwgb24gbmUgcHLpY2lzZSBwYXMgbCdhZHJlc3NlIGRlIHLpcGFydGl0aW9uICJkaXNwYXRjaCIsCmNhciBjZWxsZS1jaSBlc3QgdGly6WUgZGUgbCdhZHJlc3NlIGRlc3RpbmF0aW9uIGRlIGxhIHNlc3Npb24KZOl0b3VybullLiBMZSBzeXN06G1lIGRvaXQgcGVybWV0dHJlIGRlIHJlZGlyaWdlciBsZXMgcGFxdWV0cwp2ZXJzIHVuIHByb2Nlc3N1cyBsb2NhbC4KCkV4ZW1wbGUgOgotLS0tLS0tCiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjY1MDAwCgltb2RlIGh0dHAKCXRyYW5zcGFyZW50Cgljb29raWUgU0VSVkVSSUQKCXNlcnZlciBzZXJ2ZXIwMSAxOTIuMTY4LjEuMTo4MAoJc2VydmVyIHNlcnZlcjAyIDE5Mi4xNjguMS4yOjgwCgogICAgIyBpcHRhYmxlcyAtdCBuYXQgLUEgUFJFUk9VVElORyAtaSBldGgwIC1wIHRjcCAtZCAxOTIuMTY4LjEuMTAwIFwKICAgICAgLS1kcG9ydCA4MCAtaiBSRURJUkVDVCAtLXRvLXBvcnRzIDY1MDAwCgpKb3VybmFsaXNhdGlvbiBkZXMgY29ubmV4aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKTGVzIGNvbm5leGlvbnMgVENQIGV0IEhUVFAgcGV1dmVudCBkb25uZXIgbGlldSDgIHVuZSBqb3VybmFsaXNhdGlvbgpzb21tYWlyZSBpbmRpcXVhbnQsIHBvdXIgY2hhcXVlIGNvbm5leGlvbiwgbGEgZGF0ZSwgbCdoZXVyZSwgbGVzIGFkcmVzc2VzCklQIHNvdXJjZSBldCBkZXN0aW5hdGlvbiwgZXQgbGVzIHBvcnRzIHNvdXJjZSBldCBkZXN0aW5hdGlvbiBxdWkgbGEKY2FyYWN06XJpc2VudC4gVWx06XJpZXVyZW1lbnQsIGxlcyBVUkxzIHNlcm9udCBsb2d16WVzIGVuIG1vZGUgSFRUUCwKdG91dCBjb21tZSBsZXMgYXJy6nRzIGRlIHNlcnZpY2UuIFRvdXMgbGVzIG1lc3NhZ2VzIHNvbnQgZW52b3npcyBlbgpzeXNsb2cgdmVycyB1biBvdSBkZXV4IHNlcnZldXJzLiBMYSBzeW50YXhlIGVzdCBsYSBzdWl2YW50ZSA6CgogICAgbG9nIDxhZHJlc3NlX2lwPiA8ZmFjaWxpdHk+CgpFeGVtcGxlIDoKLS0tLS0tLS0tCiAgICBsaXN0ZW4gaHR0cF9wcm94eSAwLjAuMC4wOjgwCgltb2RlIGh0dHAKCWxvZyAxOTIuMTY4LjIuMjAwIGxvY2FsMwoJbG9nIDE5Mi4xNjguMi4yMDEgbG9jYWw0CgpMZXMgY29ubmV4aW9ucyBzb250IGVudm956WVzIGVuIG5pdmVhdSAiaW5mbyIuIExlcyBk6W1hcnJhZ2VzIGRlCnNlcnZpY2Ugc2Vyb250IGVudm956XMgZW4gIm5vdGljZSIsIGxlcyBzaWduYXV4IGQnYXJy6nRzIGVuICJ3YXJuaW5nIgpldCBsZXMgYXJy6nRzIGTpZmluaXRpZnMgZW4gImFsZXJ0Ii4gQ2VjaSBlc3QgdmFsYWJsZSBhdXNzaSBiaWVuCnBvdXIgbGVzIHByb3hpZXMgcXVlIHBvdXIgbGVzIHNlcnZldXJzIHRlc3TpcyBhdSBzZWluIGRlcyBwcm94aWVzLgoKTGVzIGNhdOlnb3JpZXMgcG9zc2libGVzIHNvbnQgOgogICAga2VybiwgdXNlciwgbWFpbCwgZGFlbW9uLCBhdXRoLCBzeXNsb2csIGxwciwgbmV3cywKICAgIHV1Y3AsIGNyb24sIGF1dGgyLCBmdHAsIG50cCwgYXVkaXQsIGFsZXJ0LCBjcm9uMiwKICAgIGxvY2FsMCwgbG9jYWwxLCBsb2NhbDIsIGxvY2FsMywgbG9jYWw0LCBsb2NhbDUsIGxvY2FsNiwgbG9jYWw3CgoKTW9kaWZpY2F0aW9uIGRlcyBlbnTqdGVzIEhUVFAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkVuIG1vZGUgSFRUUCB1bmlxdWVtZW50LCBpbCBlc3QgcG9zc2libGUgZGUgcmVtcGxhY2VyIGNlcnRhaW5zIGVudOp0ZXMKZGFucyBsYSByZXF16nRlIGV0L291IGxhIHLpcG9uc2Ug4CBwYXJ0aXIgZCdleHByZXNzaW9ucyBy6Wd1bGnocmVzLiBVbmUKbGltaXRhdGlvbiBjZXBlbmRhbnQgOiBsZXMgZW506nRlcyBmb3VybmlzIGF1IG1pbGlldSBkZSBjb25uZXhpb25zCnBlcnNpc3RlbnRlcyAoa2VlcC1hbGl2ZSkgbmUgc29udCBwYXMgdnVzLiBMZXMgZG9ubullcyBuZSBzb250IHBhcwphZmZlY3TpZXMsIGNlY2kgbmUgcydhcHBsaXF1ZSBxdSdhdXggZW506nRlcy4KCkxhIHN5bnRheGUgZXN0IDoKICAgcmVxYWRkIDxzdHJpbmc+ICAgICAgICAgICAgIHBvdXIgYWpvdXRlciB1biBlbnTqdGUgZGFucyBsYSByZXF16nRlCiAgIHJlcXJlcCA8c2VhcmNoPiA8cmVwbGFjZT4gICBwb3VyIG1vZGlmaWVyIGxhIHJlcXXqdGUKICAgcmVxcmVwIDxzZWFyY2g+ICAgICAgICAgICAgIHBvdXIgc3VwcHJpbWVyIHVuIGVudOp0ZSBkYW5zIGxhIHJlcXXqdGUKCiAgIHJzcGFkZCA8c3RyaW5nPiAgICAgICAgICAgICBwb3VyIGFqb3V0ZXIgdW4gZW506nRlIGRhbnMgbGEgculwb25zZQogICByc3ByZXAgPHNlYXJjaD4gPHJlcGxhY2U+ICAgcG91ciBtb2RpZmllciBsYSBy6XBvbnNlCiAgIHJzcHJlcCA8c2VhcmNoPiAgICAgICAgICAgICBwb3VyIHN1cHByaW1lciB1biBlbnTqdGUgZGFucyBsYSBy6XBvbnNlCgoKPHNlYXJjaD4gZXN0IHVuZSBleHByZXNzaW9uIHLpZ3VsaehyZSBjb21wYXRpYmxlIEdOVSByZWdleHAgc3VwcG9ydGFudApsZSBncm91cGFnZSBwYXIgcGFyZW50aOhzZXMgKHNhbnMgbGVzICdcJykuIExlcyBlc3BhY2VzIGV0IGF1dHJlcwpz6XBhcmF0ZXVycyBkb2l2ZW50IOp0cmVzIHBy6WPpZOlzIGQndW4gJ1wnIHBvdXIgbmUgcGFzIOp0cmUgY29uZm9uZHVzCmF2ZWMgbGEgZmluIGRlIGxhIGNoYe5uZS4gRGUgcGx1cywgY2VydGFpbnMgY2FyYWN06HJlcyBzcOljaWF1eCBwZXV2ZW50Cup0cmUgcHLpY+lk6XMgZCd1biBiYWNrc2xhY2ggKCdcJykgOgoKICBcdCAgIHBvdXIgdW5lIHRhYnVsYXRpb24KICBcciAgIHBvdXIgdW4gcmV0b3VyIGNoYXJyaW90CiAgXG4gICBwb3VyIHVuIHNhdXQgZGUgbGlnbmUKICBcICAgIHBvdXIgZGlmZulyZW5jaWVyIHVuIGVzcGFjZSBkJ3VuIHPpcGFyYXRldXIKICBcIyAgIHBvdXIgZGlmZulyZW5jaWVyIHVuIGRp6HNlIGQndW4gY29tbWVudGFpcmUKICBcXCAgIHBvdXIgdW4gYmFja3NsYXNoCiAgXHhYWCBwb3VyIHVuIGNhcmFjdOhyZSBzcOljaWZpcXVlIFhYIChjb21tZSBlbiBDKQoKCjxyZXBsYWNlPiBjb250aWVudCBsYSBjaGHubmUgcmVtcGxh52FudCBsYSBwb3J0aW9uIHbpcmlmaellIHBhciBsJ2V4cHJlc3Npb24uCkVsbGUgcGV1dCBpbmNsdXJlIGxlcyBjYXJhY3TocmVzIHNw6WNpYXV4IGNpLWRlc3N1cywgZmFpcmUgculm6XJlbmNlIOAgdW4KZ3JvdXBlIGTpbGltaXTpIHBhciBkZXMgcGFyZW50aOhzZXMgZGFucyBsJ2V4cHJlc3Npb24gculndWxp6HJlLCBwYXIgc2EKcG9zaXRpb24gbnVt6XJhbGUuIExlcyBwb3NpdGlvbnMgdm9udCBkZSAxIOAgOSwgZXQgc29udCBjb2TpZXMgcGFyIHVuICdcJwpzdWl2aSBkdSBjaGlmZnJlIGTpc2ly6S4gSWwgZXN0IOlnYWxlbWVudCBwb3NzaWJsZSBkJ2luc+lyZXIgdW4gY2FyYWN06HJlIG5vbgppbXByaW1hYmxlICh1dGlsZSBwb3VyIGxlIHNhdXQgZGUgbGlnbmUpIGluc2NyaXZhbnQgJ1x4JyBzdWl2aSBkdSBjb2RlCmhleGFk6WNpbWFsIGRlIGNlIGNhcmFjdOhyZSAoY29tbWUgZW4gQykuCgo8c3RyaW5nPiByZXBy6XNlbnRlIHVuZSBjaGHubmUgcXVpIHNlcmEgYWpvdXTpZSBzeXN06W1hdGlxdWVtZW50IGFwcuhzIGxhCmRlcm5p6HJlIGxpZ25lIGQnZW506nRlLgoKUmVtYXJxdWVzIDoKLS0tLS0tLS0tCiAgLSBsYSBwcmVtaehyZSBsaWduZSBkZSBsYSByZXF16nRlIGV0IGNlbGxlIGRlIGxhIHLpcG9uc2Ugc29udCB0cmFpdOllcyBjb21tZQogICAgZGVzIGVudOp0ZXMsIGNlIHF1aSBwZXJtZXQgZGUgcunpY3JpcmUgZGVzIFVSTCBldCBkZXMgY29kZXMgZCdlcnJldXIuCiAgLSAncmVxcmVwJyBlc3QgbCfpcXVpdmFsZW50IGRlICdjbGlleHAnIGVuIHZlcnNpb24gMS4wLCBldCAncnNwcmVwJyBjZWx1aSBkZQogICAgJ3NydmV4cCcuIENlcyBub21zIHNvbnQgdG91am91cnMgc3VwcG9ydOlzIG1haXMgZOljb25zZWlsbOlzLgogIC0gcG91ciBkZXMgcmFpc29ucyBkZSBwZXJmb3JtYW5jZXMsIGxlIG5vbWJyZSB0b3RhbCBkZSBjYXJhY3TocmVzIGFqb3V06XMgc3VyCiAgICB1bmUgcmVxdep0ZSBvdSB1bmUgculwb25zZSBlc3QgbGltaXTpIOAgNDA5NiBkZXB1aXMgbGEgdmVyc2lvbiAxLjEuNSAoY2V0dGUKICAgIGxpbWl0ZSDpdGFpdCDgIDI1NiBhdXBhcmF2YW50KS4gQ2V0dGUgdmFsZXVyIGVzdCBtb2RpZmlhYmxlIGRhbnMgbGUgY29kZS4KICAgIFBvdXIgdW4gdXNhZ2UgdGVtcG9yYWlyZSwgb24gcGV1dCBnYWduZXIgZGUgbGEgcGxhY2UgZW4gc3VwcHJpbWFudCBxdWVscXVlcwogICAgZW506nRlcyBpbnV0aWxlcyBhdmFudCBsZXMgYWpvdXRzLgoKRXhlbXBsZXMgOgotLS0tLS0tLQoJcmVxcmVwCV4oR0VULiopKC5mcmVlLmZyKSguKikgXDEub25saW5lLmZyXDMKCXJlcXJlcAleKFBPU1QuKikoLmZyZWUuZnIpKC4qKSBcMS5vbmxpbmUuZnJcMwoJcmVxcmVwCV5Qcm94eS1Db25uZWN0aW9uOi4qCVByb3h5LUNvbm5lY3Rpb246XCBjbG9zZQoJcnNwcmVwCV5TZXJ2ZXI6LiogU2VydmVyOlwgVHV4LTIuMAoJcnNwcmVwCV4oTG9jYXRpb246XCApKFteOl0qOi8vW14vXSopKC4qKSBcMVwzCglyc3BkZWwgIF5Db25uZWN0aW9uOi4qCglyc3BhZGQJQ29ubmVjdGlvbjpcIGNsb3NlCgoKUulwYXJ0aXRpb24gYXZlYyBwZXJzaXN0ZW5jZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpMYSBjb21iaW5haXNvbiBkZSBsJ2luc2VydGlvbiBkZSBjb29raWUgYXZlYyBsYSBy6XBhcnRpdGlvbiBkZSBjaGFyZ2UgaW50ZXJuZQpwZXJtZXQgZCdhc3N1cmVyIHVuZSBwZXJzaXN0ZW5jZSBkYW5zIGxlcyBzZXNzaW9ucyBIVFRQIGQndW5lIG1hbmnocmUKcHJhdGlxdWVtZW50IHRyYW5zcGFyZW50ZSBwb3VyIGxlcyBhcHBsaWNhdGlvbnMuIExlIHByaW5jaXBlIGVzdCBzaW1wbGUgOgogIC0gYXNzaWduZXIgdW4gY29va2llIOAgY2hhcXVlIHNlcnZldXIKICAtIGVmZmVjdHVlciB1bmUgculwYXJ0aXRpb24gaW50ZXJuZQogIC0gaW5z6XJlciB1biBjb29raWUgZGFucyBsZXMgculwb25zZXMgaXNzdWVzIGQndW5lIHLpcGFydGl0aW9uCgpFeGVtcGxlIDoKLS0tLS0tLQogICAgbGlzdGVuIGFwcGxpY2F0aW9uIDAuMC4wLjA6ODAKCW1vZGUgaHR0cAoJY29va2llIFNFUlZFUklEIGluc2VydCBpbmRpcmVjdAoJYmFsYW5jZSByb3VuZHJvYmluCglzZXJ2ZXIgMTkyLjE2OC4xLjE6ODAgY29va2llIHNlcnZlcjAxIGNoZWNrCglzZXJ2ZXIgMTkyLjE2OC4xLjI6ODAgY29va2llIHNlcnZlcjAyIGNoZWNrCgo9PT09PT09PT09PT09PT09PT09PT09PQp8IFBhcmFt6XRyYWdlIHN5c3TobWUgfAo9PT09PT09PT09PT09PT09PT09PT09PQoKU291cyBMaW51eCAyLjQKPT09PT09PT09PT09PT0KCi0tIGN1dCBoZXJlIC0tCiMhL2Jpbi9zaAojIHNldCB0aGlzIHRvIGFib3V0IDI1Ni80TSAoMTYzODQgZm9yIDI1Nk0gbWFjaGluZSkKTUFYRklMRVM9MTYzODQKZWNobyAkTUFYRklMRVMgPiAvcHJvYy9zeXMvZnMvZmlsZS1tYXgKdWxpbWl0IC1uICRNQVhGSUxFUwoKaWYgWyAtZSAvcHJvYy9zeXMvbmV0L2lwdjQvaXBfY29ubnRyYWNrX21heCBdOyB0aGVuCgllY2hvIDY1NTM2ID4gL3Byb2Mvc3lzL25ldC9pcHY0L2lwX2Nvbm50cmFja19tYXgKZmkKCmlmIFsgLWUgL3Byb2Mvc3lzL25ldC9pcHY0L25ldGZpbHRlci9pcF9jdF90Y3BfdGltZW91dF9maW5fd2FpdCBdOyB0aGVuCgkjIDMwIHNlY29uZHMgZm9yIGZpbiwgMTUgZm9yIHRpbWUgd2FpdAoJZWNobyAzMDAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L25ldGZpbHRlci9pcF9jdF90Y3BfdGltZW91dF9maW5fd2FpdAoJZWNobyAxNTAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L25ldGZpbHRlci9pcF9jdF90Y3BfdGltZW91dF90aW1lX3dhaXQKCWVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC9uZXRmaWx0ZXIvaXBfY3RfdGNwX2xvZ19pbnZhbGlkX3NjYWxlCgllY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjQvbmV0ZmlsdGVyL2lwX2N0X3RjcF9sb2dfb3V0X29mX3dpbmRvdwpmaQoKZWNobyAxMDI0IDYwOTk5ID4gL3Byb2Mvc3lzL25ldC9pcHY0L2lwX2xvY2FsX3BvcnRfcmFuZ2UKZWNobyAzMjc2OCA+IC9wcm9jL3N5cy9uZXQvaXB2NC9pcF9xdWV1ZV9tYXhsZW4KZWNobyAzMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfZmluX3RpbWVvdXQKZWNobyA0MDk2ID4gL3Byb2Mvc3lzL25ldC9pcHY0L3RjcF9tYXhfc3luX2JhY2tsb2cKZWNobyAyNjIxNDQgPiAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX21heF90d19idWNrZXRzCmVjaG8gMjYyMTQ0ID4gL3Byb2Mvc3lzL25ldC9pcHY0L3RjcF9tYXhfb3JwaGFucwplY2hvIDMwMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC90Y3Bfa2VlcGFsaXZlX3RpbWUKZWNobyAxID4gL3Byb2Mvc3lzL25ldC9pcHY0L3RjcF90d19yZWN5Y2xlCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC90Y3BfdGltZXN0YW1wcwplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX2VjbgplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX3NhY2sKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L3RjcF9kc2FjawoKIyBhdXRvLXR1bmVkIG9uIDIuNAojZWNobyAyNjIxNDMgPiAvcHJvYy9zeXMvbmV0L2NvcmUvcm1lbV9tYXgKI2VjaG8gMjYyMTQzID4gL3Byb2Mvc3lzL25ldC9jb3JlL3JtZW1fZGVmYXVsdAoKZWNobyAxNjM4NCA2NTUzNiA1MjQyODggPiAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX3JtZW0KZWNobyAxNjM4NCAzNDk1MjAgNjk5MDQwID4gL3Byb2Mvc3lzL25ldC9pcHY0L3RjcF93bWVtCgotLSBjdXQgaGVyZSAtLQoKLS0gZmluIC0tCg==