ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlCmluZGV4IGE3ODMzNWEuLjJiOWMwMjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUKKysrIGIvcnVudGltZS90dXRvci90dXRvci5kZQpAQCAtMSw5ODAgKzEsOTgyIEBACi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci09ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuN0QgICAgICA9Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKLSAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmts5HJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28KLSAgIGdlc3RhbHRldCwgdW0gZ2VudWcgQmVmZWhsZSB2b3J6dXN0ZWxsZW4sIGRhc3MgRHUgZGllIEbkaGlna2VpdCBlcmxhbmdzdCwKLSAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgYmVudXR6ZW4uCi0gICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLAotICAgYWJo5G5naWcgZGF2b24sIHdpZSB2aWVsIFplaXQgRHUgbWl0IEV4cGVyaW1lbnRpZXJlbiB2ZXJicmluZ3N0LgotCi0gICBBQ0hUVU5HOgotICAgRGllIGluIGRlbiBMZWt0aW9uZW4gYW5nZXdlbmRldGVuIEtvbW1hbmRvcyB3ZXJkZW4gZGVuIFRleHQgbW9kaWZpemllcmVuLgotICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgotICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgotCi0gICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBm/HIgZGFzIEFud2VuZGVuCi0gICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGF1c2b8aHJlbiBtdXNzdCwgdW0gc2llCi0gICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQotCi0gICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIERlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRy/GNrdCBpc3QgdW5kIGJldOR0aWdlCi0gICBkaWUgICBqICAgVGFzdGUgZ2Vu/GdlbmQgTWFsZSwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKLSAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZvxsbHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTCi0KLSAgKiogVW0gZGVuIEN1cnNvciB6dSBiZXdlZ2VuLCBkcvxja2UgZGllIGgsaixrLGwgVGFzdGVuIHdpZSB1bnRlbiBnZXplaWd0LiAqKgotCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6Ci0JICAgICBrCQkgRGllIGggVGFzdGUgYmVmaW5kZXQgc2ljaCBsaW5rcyB1bmQgYmV3ZWd0IG5hY2ggbGlua3MuCi0gICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLgotCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgotCSAgICAgdgotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBm/Ghsc3QuCi0KLSAgMi4gSGFsdGUgZGllIE5hY2gtVW50ZW4tVGFzdGUgKGopIGdlZHL8Y2t0LCBiaXMgc2llIHNpY2ggd2llZGVyaG9sdC4KLSAgICAgSmV0enQgd2Vp33QgRHUsIHdpZSBEdSBEaWNoIHp1ciBu5GNoc3RlbiBMZWt0aW9uIGJld2VnZW4ga2FubnN0LgotCi0gIDMuIEJlbnV0emUgZGllIE5hY2gtVW50ZW4tVGFzdGUsIHVtIERpY2ggenUgTGVrdGlvbiAxLjIgenUgYmV3ZWdlbi4KLQotQmVtZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCD8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwKLQkgICBkcvxja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgotCSAgIERhbm4gZ2liIGRhcyBnZXf8bnNjaHRlIEtvbW1hbmRvIG5vY2ggZWlubWFsIGVpbi4KLQotQmVtZXJrdW5nOiBEaWUgQ3Vyc29yLVRhc3RlbiBzb2xsdGVuIGViZW5mYWxscyBmdW5rdGlvbmllcmVuLiAgQWJlciB3ZW5uIER1Ci0JICAgaGprbCBiZW51dHp0LCB3aXJzdCBEdSBpbiBkZXIgTGFnZSBzZWluLCBEaWNoIHNlaHIgdmllbCBzY2huZWxsZXIKLQkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuIFdpcmtsaWNoIQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgICAgTGVrdGlvbiAxLjI6IFZJTSBCRUVOREVOCi0KLQotICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vm/GhydGVuIFNjaHJpdHRlIGF1c2b8aHJzdCwgbGllcwotICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQotCi0gIDEuIERy/GNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0KS4KLQotICAyLiBUaXBwZToJOnEhIDxFTlRFUj4uCi0gICAgIERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIHVuZCBWRVJXSVJGVCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCi0KLSAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQotICAgICBkaWVzZW0gVHV0b3IgZ2Vm/GhydCBoYXQuIERpZXMgd+RyZToJdmltdHV0b3IgPEVOVEVSPgotCi0gIDQuIFdlbm4gRHUgRGlyIGRpZXNlIFNjaHJpdHRlIGVpbmdlcHLkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZvxobHN0LAotICAgICBm/GhyZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cywgdW0gZGVuIEVkaXRvciB6dSB2ZXJsYXNzZW4gdW5kIHdpZWRlcgotICAgICBoaW5laW56dWdlbGFuZ2VuLgotCi1CZW1lcmt1bmc6ICA6cSEgPEVOVEVSPiAgdmVyd2lyZnQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBJbgotICAgICBlaW5pZ2VuIExla3Rpb25lbiBsZXJuc3QgRHUgLCBkaWUgxG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uCi0KLSAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ35HJ0cyB6dSBMZWt0aW9uIDEuMy4KLSB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDEuMzogVEVYVCBFRElUSUVSRU4gLSBM1lNDSEVOCi0KLQotCSAqKiBEcvxja2UgIHggIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KLQotICAyLiBVbSBkaWUgRmVobGVyIHp1IGJlaGViZW4sIGJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgYXVmIGRlbSBaZWljaGVuIHN0ZWh0LAotICAgICBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuCi0KLSAgMy4gRHL8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyD8YmVyZmz8c3NpZ2UgWmVpY2hlbiB6dSBs9nNjaGVuLgotCi0gIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4KLQotLS0tPiBEaWUgS2t1aCBzcHJhbmdnIPxiYmVyIGRlZW4gTW9vbmQuCi0KLSAgNS4gV2VubiBudW4gZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuCi0KLUFubWVya3VuZzogV+RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKLSAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS40OiBURVhUIEVESVRJRVJFTiAtIEVJTkbcR0VOCi0KLQotCQkgICAgKiogIERy/GNrZSAgaSAgLCB1bSBUZXh0IGVpbnp1ZvxnZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKLSAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuCi0KLSAgMy4gRHL8Y2tlICBpICB1bmQgZ2liIGRpZSBub3R3ZW5kaWdlbiBFcmfkbnp1bmdlbiBlaW4uCi0KLSAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHL8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzCi0gICAgIHp1cvxja3p1a2VocmVuLgotICAgICBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KLQotLS0tPiBJbiBkaWVzZXIgZnQgZXR3YXMgLgotLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4KLQotICA1LiBXZW5uIER1IERpY2ggbWl0IGRlbSBFaW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS41LgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS41OiBURVhUIEVESVRJRVJFTiAtIEFORtxHRU4KLQotCi0JCSAgICAgKiogRHL8Y2tlICBBICAsIHVtIFRleHQgYW56dWb8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0gICAgIEVzIGlzdCBnbGVpY2hn/Gx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuCi0KLSAgMi4gRHL8Y2tlICBBICB1bmQgZ2liIGRpZSBu9nRpZ2VuIEVyZ+RuenVuZ2VuIGVpbi4KLQotICAzLiBXZW5uIGRhcyBBbmb8Z2VuIGFiZ2VzY2hsb3NzZW4gaXN0LCBkcvxja2UgPEVTQz4sIHVtIGluIGRlbiBOb3JtYWxtb2R1cwotICAgICB6dXL8Y2t6dWtlaHJlbi4KLQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVuZCB3aWVkZXJob2xlCi0gICAgIGRpZSBTY2hyaXR0ZSAyIHVuZCAzLCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4KLQotLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVoCi0gICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgotLS0tPiBBdWNoIGhpZXIgc3RlaAotICAgICBBdWNoIGhpZXIgc3RlaHQgZXR3YXMgVW52b2xsc3TkbmRpZ2VzLgotCi0gIDUuIFdlbm4gRHUgZGljaCBtaXQgZGVtIEFuZvxnZW4gdm9uIFRleHQgc2ljaGVyIGb8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVOCi0KLQotICAgICAqKiBCZW51dHplICA6d3EgICwgdW0gZWluZSBEYXRlaSB6dSBzcGVpY2hlcm4gdW5kIFZpbSB6dSB2ZXJsYXNzZW4uICoqCi0KLSAgISEgQUNIVFVORzogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMKLSAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKLQotICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxIQotCi0gIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4KLSAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4KLSAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XkbmRlcnQgd2VyZGVuIGthbm4uCi0KLSAgMy4gRvxnZSBUZXh0IGVpbiBvZGVyIGz2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yaWdlbiBMZWt0aW9uZW4gZ2VsZXJudAotICAgICBoYXN0LgotCi0gIDQuIFNwZWljaGVyZSBkaWUgZ2XkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxIDxFTlRFUj4KLQotICA1LiBTdGFydGUgZGVuIHZpbXR1dG9yIG5ldSB1bmQgYmV3ZWdlIERpY2ggenUgZGVyIGZvbGdlbmRlbiBadXNhbW1lbmZhc3N1bmcuCi0KLSAgNi4gTmFjaGRlbSBEdSBvYmlnZSBTY2hyaXR0ZSBnZWxlc2VuIHVuZCB2ZXJzdGFuZGVuIGhhc3QsIGb8aHJlIHNpZSBkdXJjaC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxCi0KLQotICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuCi0JIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ35HJ0cykgICAgbCAocmVjaHRzKQotCi0gIDIuIFVtIFZpbSB2b24gZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgYXVzenVm/GhyZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPgotCi0gIDMuIFVtIFZpbSB6dSB2ZXJsYXNzZW4gdW5kIGFsbGUgxG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgotCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KLQlPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMRuZGVydW5nZW4genUgc3BlaWNoZXJuLgotCi0gIDQuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbiwgdGlwcGU6ICB4Ci0KLSAgNS4gVW0gVGV4dCBlaW56dWb8Z2VuIG9kZXIgYW56dWb8Z2VuLCB0aXBwZToKLQkgaSAgIEVpbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgIDxFU0M+ICAgIEVpbmb8Z2VuIHZvciBkZW0gQ3Vyc29yCi0JIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmRlbmUKLQotQmVtZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCi0gICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCi0KLSAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDIuMTogTNZTQ0hLT01NQU5ET1MKLQotCi0JCSAgICoqIFRpcHBlICBkdyAgLCB1bSBlaW4gV29ydCB6dSBs9nNjaGVuLiAqKgotCi0gIDEuIERy/GNrZSAgPEVTQz4gIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgotCi0gIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vs9nNjaHQgd2VyZGVuIHNvbGwuCi0KLSAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4KLQotICBCZW1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIGxldHp0ZW4gWmVpbGUgZGVzIEJpbGRzY2hpcm1zLAotICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRh3yBEdSAgdyAgZWluZ2lic3QuIFdlbm4gRHUKLSAgICAgICAgZWluIGFuZGVyZXMgWmVpY2hlbiBhbHMgIGQgIHNpZWhzdCwgaGFzdCBEdSBldHdhcyBmYWxzY2hlcyBnZXRpcHB0OwotICAgICAgICBkcvxja2UgPEVTQz4gdW5kIGJlZ2lubmUgbmV1LgotCi0tLS0+IEVpbmlnZSBX9nJ0ZXIgbHVzdGlnIGdlaPZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6LgotCi0gIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQotICAgICBkYW5hY2ggenVyIExla3Rpb24gMi4yLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TCi0KLQotCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKgotCi0gIDEuIERy/GNrZSA8RVNDPiAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgotCi0gIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuCi0KLSAgNC4gVGlwcGUgICAgZCQgICAgLCB1bSBiaXMgenVtIEVuZGUgZGVyIFplaWxlIHp1IGz2c2NoZW4uCi0KLS0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCi0KLQotICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHBhc3NpZXJ0LgotCi0KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgTGVrdGlvbiAyLjM6INxCRVIgT1BFUkFUT1JFTiBVTkQgQkVXRUdVTkdTWtxHRQotCi0KLSAgVmllbGUgS29tbWFuZG9zLCBkaWUgVGV4dCDkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXIKLSAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZvxyIGVpbiBM9nNjaGtvbW1hbmRvIG1pdCBkZW0gTPZzY2hvcGVyYXRvciAgZAotICBsYXV0ZXQgd2llIGZvbGd0OgotCi0gICAgZCAgQmV3ZWd1bmcKLQotICB3b2JlaToKLSAgICBkICAgICAgICAtIGRlciBM9nNjaG9wZXJhdG9yCi0gICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEz2c2Nob3BlcmF0b3IgYW5nZXdhbmR0IHdpcmQgKHVudGVuIGF1ZmdlbGlzdGV0KS4KLQotICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOgotICAgIHcgLSBiaXMgenVtIEJlZ2lubiBkZXMgbuRjaHN0ZW4gV29ydGVzIE9ITkUgZGVzc2VuIGVyc3RlcyBaZWljaGVuLgotICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4KLSAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0emVuIFplaWNoZW4uCi0KLSAgRGVtZW50c3ByZWNoZW5kIGz2c2NodCBkaWUgRWluZ2FiZSB2b24gIGRlICB2b20gQ3Vyc29yIGFuIGJpcyB6dW0gV29ydGVuZGUuCi0KLUJlbWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbgotICBDdXJzb3IgZW50c3ByZWNoZW5kLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUCi0KLQotICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQmVnaW5uIGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV/ZydGVyIHZvcnfkcnRzIHp1IGJld2VnZW4uCi0KLSAgMy4gVGlwcGUgIDNlICAsIHVtIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVzIGRyaXR0ZW4gV29ydGVzIHp1IGJld2VnZW4uCi0KLSAgNC4gVGlwcGUgIDAgIChOdWxsKSAsIHVtIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGdlbGFuZ2VuLgotCi0gIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBa5GhsZXJuLgotCi0gIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFf2cnRlbiB1bSBzaWNoIGRhcmluIGhlcnVtenViZXdlZ2VuLgotCi0gIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgotCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UKLQotCi0gICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioKLQotICBG/HIgZGllIEtvbWJpbmF0aW9uIGRlcyBM9nNjaG9wZXJhdG9ycyB1bmQgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUKLSAgb2Jlbikgc3RlbGx0IG1hbiBkZW0gQmV3ZWd1bmdzc2Nocml0dCBlaW5lbiBa5GhsZXIgdm9yYW4sIHVtIG1laHIgenUgbPZzY2hlbjoKLQkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0Ci0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KLSAgICAgbWFya2llcmVuIFplaWxlLgotCi0gIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBs9nNjaGVuLgotCi0gIDMuIFdpZWRlcmhvbGUgU2Nocml0dGUgMSB1bmQgIDIgbWl0IGVpbmVtIGFuZGVyZW4gWuRobGVyLCB1bSBkaWUKLSAgICAgZGFyYXVmZm9sZ2VuZGVuIFf2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4gbWl0IGVpbmVtIGVpbnppZ2VuIEtvbW1hbmRvCi0gICAgIHp1IGz2c2NoZW4uCi0KLS0tLT4gIERpZXNlIEFCQyBERSBaZWlsZSBGR0hJIEpLIExNTiBPUCBtaXQgV/ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTgotCi0KLQkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbi4gKioKLQotICBXZWdlbiBkZXIgSOR1Zmlna2VpdCwgZGFzcyBtYW4gZ2FuemUgWmVpbGVuIGz2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uCi0gIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB35HJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUKLSAgenUgbPZzY2hlbi4KLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLgotICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4uCi0gIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4KLSAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBs9nNjaGVuLgotCi0tLS0+ICAxKSAgUm9zZW4gc2luZCByb3QsCi0tLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCi0tLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LAotLS0tPiAgNCkgIEljaCBoYWJlIGVpbiBBdXRvLAotLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKLS0tLT4gIDYpICBadWNrZXIgaXN0IHP83ywKLS0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAyLjc6IFLcQ0tHxE5HSUcgTUFDSEVOIChVTkRPKQotCi0KLQkgKiogVGlwcGUgdSAsIHVtIGRpZSBsZXR6dGVuIEtvbW1hbmRvcyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiAqKgotCSAgICAgICoqIG9kZXIgVSB1bSBlaW5lIGdhbnplIFplaWxlIHdpZWRlcmhlcnp1c3RlbGxlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbgotICAgICB1bmQgc2V0emUgaWhuIGF1ZiBkZW4gZXJzdGVuIEZlaGxlci4KLSAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3/G5zY2h0ZSBaZWljaGVuIHp1IGz2c2NoZW4uCi0gIDMuIE51biB0aXBwZSAgdSAgdW0gZGFzIHNvZWJlbiBhdXNnZWb8aHJ0ZSBLb21tYW5kbyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KLSAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCi0gIDUuIE51biB0aXBwZSBlaW4gZ3Jv32VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKLSAgICAgd2llZGVyaGVyenVzdGVsbGVuLgotICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcwotICAgICBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KLSAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllCi0gICAgIEtvbW1hbmRvcyB3aWVkZXJoZXJ6dXN0ZWxsZW4gKGRpZSBS/GNrZ+RuZ2lnbWFjaHVuZ2VuIHL8Y2tn5G5naWcgbWFjaGVuKS4KLQotLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCi0KLSAgOC4gRGllcyBzaW5kIHNlaHIgbvx0emxpY2hlIEtvbW1hbmRvcy4KLSAgICAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgdm9uIExla3Rpb24gMi4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyCi0KLQotICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbuRjaHN0ZW4gV29ydCB6dSBs9nNjaGVuLCB0aXBwZTogICAgZHcKLSAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbPZzY2hlbiwgdGlwcGU6ICAgICBkJAotICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZAotCi0gIDQuIFVtIGVpbmUgQmV3ZWd1bmcgenUgd2llZGVyaG9sZW4sIHN0ZWxsZSBlaW5lIE51bW1lciB2b3JhbjogICAydwotICA1LiBEYXMgRm9ybWF0IGb8ciBlaW4gxG5kZXJ1bmdza29tbWFuZG8gaXN0OgotICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQKLSAgICAgd29iZWk6Ci0gICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZvxyIGRlbGV0ZQotICAgICAgIFtBbnphaGxdIC0gZWluIG9wdGlvbmFsZXIgWuRobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgotICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyD8YmVyIGRlbiB6dSDkbmRlcm5kZW4gVGV4dCwgc28gd2llCi0JCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KLQotICA2LiBVbSBEaWNoIHp1bSBBbmZhbmcgZGVyIFplaWxlIHp1IGJlZ2ViZW4sIGJlbnV0emUgZGllIE51bGw6ICAwCi0KLSAgNy4gVW0gdm9yaGVyaWdlIEFrdGlvbmVuIHL8Y2tn5G5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkKLSAgICAgVW0gYWxsZSDEbmRlcnVuZ2VuIGF1ZiBlaW5lciBaZWlsZSBy/GNrZ+RuZ2lnIHp1IG1hY2hlbjogICBVIChncm/fZXMgVSkKLSAgICAgVW0gZGllIFL8Y2tn5G5naWdtYWNodW5nZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVIKLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgICBMZWt0aW9uIDMuMTogQU5G3EdFTiAoUFVUKQotCi0KLSAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWb8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1Ci0gICAgIHNwZWljaGVybi4KLQotICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksINxCRVIgZGVyamVuaWdlbiwgd28gZGllIGdlbPZzY2h0ZSBaZWlsZQotICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuCi0KLSAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLgotCi0gIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQotICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgotCi0tLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KLS0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAotLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAotLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQotCi0KLSAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KLQotICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuCi0KLSAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCi0KLS0tLT4gIEFscyBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhCi0tLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQotCi0gIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4KLQotQmVtZXJrdW5nOiBFcmlubmVyZSBEaWNoLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgZHVyY2gKLSAgICAgQXVzd2VuZGlnbGVybmVuLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDMuMzogxE5ERVJOIChDSEFOR0UpCi0KLQotICAgICAgKiogVW0gZWluZSDEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVm/GhyZW4sIHRpcHBlICBjZSAuICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuCi0KLSAgMy4gVGlwcGUgIGNlICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCB0aXBwZSAg9nJ0ZXIgKS4KLQotICA0LiBEcvxja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBu5GNoc3RlbiB6dSDkbmRlcm5kZW4gWmVpY2hlbi4KLQotICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuCi0KLS0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgotLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLgotCi1CZW1lcmtlLCBkYXNzICBjZSAgZGFzIFdvcnQgbPZzY2h0IHVuZCBEaWNoIGluIGRlbiBFaW5nYWJlbW9kdXMgdmVyc2V0enQuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDMuNDogTUVIUiDETkRFUlVOR0VOIE1JVFRFTFMgYwotCi0KLSAgICAgKiogRGFzIGNoYW5nZS1Lb21tYW5kbyBhcmJlaXRldCBtaXQgZGVuc2VsYmVuIEJld2VndW5nZW4gd2llIGRlbGV0ZS4gICoqCi0KLSAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoKLQotICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAotCi0gIDIuIERpZSBCZXdlZ3VuZ3NzY2hyaXR0ZSBzaW5kIGRpZSBnbGVpY2hlbiAsIHNvIHdpZSAgdyAgKFdvcnQpIHVuZCAgJAotICAgICAoWmVpbGVuZW5kZSkuCi0KLSAgMy4gQmV3ZWdlIERpY2ggenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4KLQotICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcvxja2UgPEVTQz4gLgotCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLgotLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCi0KLUJlbWVya3VuZzogRHUga2FubnN0IGRpZSBS/GNrdGFzdGUgYmVudXR6ZW4sIHVtIFRpcHBmZWhsZXIgenUga29ycmlnaWVyZW4uCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMwotCi0KLSAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4KLSAgICAgZ2Vs9nNjaHRlbiBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbiAod2VubiBlaW5lIGdhbnplIFplaWxlIGdlbPZzY2h0IHd1cmRlLAotICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuCi0KLSAgMi4gVW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBlcnNldHplbiwgdGlwcGUgICByICAgdW5kIGRhcyBhbiBkaWVzZXIKLSAgICAgU3RlbGxlIGdld/xuc2NodGUgWmVpY2hlbi4KLQotICAzLiBEZXIgxG5kZXJ1bmdzLSAoY2hhbmdlKSBPcGVyYXRvciBlcmxhdWJ0LCB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMKLSAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IORuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tIEN1cnNvciBiaXMKLSAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuCi0KLSAgNC4gRGFzIEZvcm1hdCBm/HIgY2hhbmdlIGlzdDoKLQotCSBjICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKLQotICBOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuCi0KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTCi0KLSAqKiBUaXBwZSBDVFJMLUcgLCB1bSBEZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKgotICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioKLQotQmVtZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNm/Ghyc3QhIQotCi0gIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgd2lyIENUUkwtRy4KLSAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ13yBkZXIgU2VpdGUgZXJzY2hlaW50IG1pdCBkZW0gRGF0ZWluYW1lbiB1bmQgZGVyCi0gICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMuCi0KLUJlbWVya3VuZzogTfZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuCi0gICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgRm9sZ2UgZGVyICdydWxlcicgT3B0aW9uIChzaWVoZSA6aGVscCAncnVsZXInKQotCi0gIDIuIERy/GNrZSAgRyAgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLgotICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLgotCi0gIDMuIEdpYiBkaWUgTnVtbWVyIGRlciBaZWlsZSBlaW4sIGF1ZiBkZXIgRHUgdm9yaGVyIHdhcnN0LCBnZWZvbGd0IHZvbiAgRyAuCi0gICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1Ci0gICAgIGRhcyBlcnN0ZSBNYWwgQ1RSTC1HIGdlZHL8Y2t0IGhhc3QuCi0KLSAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICAgTGVrdGlvbiA0LjI6IERBUyBTVUNIRU4gLSBLT01NQU5ETwotCi0KLSAgKiogVGlwcGUgIC8gIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrLCB1bSBuYWNoIGRlbSBBdXNkcnVjayB6dSBzdWNoZW4uICoqCi0KLSAgMS4gSW0gTm9ybWFsbW9kdXMsIHRpcHBlIGRhcyAgLyAgWmVpY2hlbi4gIEJlbWVya2UsIGRhc3MgZGFzICAvIHVuZCBkZXIKLSAgICAgQ3Vyc29yIGFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLgotCi0gIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCi0KLSAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4KLSAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLCB0aXBwZSAgTiAuCi0KLSAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgotCi0gIDUuIFVtIGRhaGluIHp1cvxja3p1a2VocmVuLCB2b24gd28gRHUgZ2Vrb21tZW4gYmlzdCwgZHL8Y2tlIENUUkwtTyAoSGFsdGUKLSAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIHdlaXRlcgotICAgICB6dXL8Y2t6dWdlaGVuLiAgQ1RSTC1JIGJyaW5ndCBkaWNoIHZvcnfkcnRzLgotCi0tLS0+ICBGZWhsZXIgc2NocmVpYnQgc2ljaCBuaWNodCAiRmVoaGxlciI7IEZlaGhsZXIgaXN0IGVpbiBGZWhsZXIKLUJlbWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZwotICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVOCi0KLQotICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGtvcnJlc3BvbmRpZXJlbmRlIEtsYW1tZXIgKSxdLCBvZGVyIH0genUgZmluZGVuLiAqKgotCi0gIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lcyBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuCi0gICAgIHN0ZWhlbmRlbiBaZWlsZSwgZGllIG1pdCAtLS0+IG1hcmtpZXJ0IGlzdC4KLQotICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLgotCi0gIDMuIERlciBDdXJzb3IgYmV3ZWd0IHNpY2ggenVyIHBhc3NlbmRlbiBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lci4KLQotICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIGFuZGVyZW4gcGFzc2VuZGVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KLQotICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgotCi0tLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKLQotQmVtZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTkdCBpc3Qgc2VociBu/HR6bGljaCBiZWkgZGVyIEZlaGxlcnN1Y2hlIGluIGVpbmVtCi0gICAgIFByb2dyYW1tdGV4dCwgaW4gZGVtIHBhc3NlbmRlIEtsYW1tZXJuIGZlaGxlbiEKLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpCi0KLQotCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDIuIFRpcHBlICA6cy9kaWVlL2RpZSA8RU5URVI+IC4gIEJlbWVya2UsIGRhc3MgZGVyIEJlZmVobCBudXIgZGFzIGVyc3RlCi0gICAgIFZvcmtvbW1lbiB2b24gImRpZWUiIGVyc2V0enQuCi0KLSAgMy4gTnVuIHRpcHBlICAgOnMvZGllZS9kaWUvZyAuIERhcyBadWb8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCi0gICAgIGdsb2JhbGUgRXJzZXR6dW5nIPxiZXIgZGllIFplaWxlIGR1cmNoenVm/GhyZW4sIHdhcyBhbGxlIFZvcmtvbW1lbiB2b24KLSAgICAgImRpZWUiIGF1ZiBkZXIgWmVpbGUgZXJzZXR6dC4KLQotLS0tPiBkaWVlIHNjaPZuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcvxobGluZ3N6ZWl0LgotCi0gIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDkbmRlcm4sCi0gICAgIHRpcHBlICA6Iywjcy9hbHQvbmV1L2cgICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIFplaWxlbmJlcmVpY2hlcwotICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmQsIGluIGRlbSBkaWUgRXJzZXR6dW5nIGR1cmNoZ2Vm/GhydCB3ZXJkZW4gc29sbC4KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbgotICAgICAgICAgICAgICAgICAgICAgbWl0IGVpbmVtIEZyYWdlZGlhbG9nLCBvYiBlcnNldHp0IHdlcmRlbiBzb2xsIG9kZXIgbmljaHQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNAotCi0gIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgotICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4KLSAgICAgTnVtbWVyICBHICBicmluZ3QgRGljaCB6dXIgZW50c3ByZWNoZW5kZW4gWmVpbGVubnVtbWVyLgotICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuCi0KLSAgMi4gRGllIEVpbmdhYmUgdm9uICAvICBwbHVzIGVpbmVtIEF1c2RydWNrIHN1Y2h0IFZPUlfEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgotICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUtxDS1fEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgotICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBu5GNoc3RlIFZvcmtvbW1lbiBpbiBkZXIgZ2xlaWNoZW4KLSAgICAgUmljaHR1bmcgenUgZmluZGVuOyBvZGVyICBOICAsIHVtIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbi4KLSAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1cvxjayB6dSDkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLgotCi0gIDMuIERpZSBFaW5nYWJlIHZvbiAgJSAgLCB3ZW5uIGRlciBDdXJzb3Igc2ljaCBhdWYgKCwpLFssXSx7LCBvZGVyIH0KLSAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuCi0KLSAgNC4gVW0gZGFzIGVyc3RlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZWluZXIgWmVpbGUgZHVyY2ggIm5ldSIgenUgZXJzZXR6ZW4sCi0gICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQotICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nCi0gICAgIFVtIEF1c2Ry/GNrZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbm51bW1lcm4genUgZXJzZXR6ZW4sICA6Iywjcy9hbHQvbmV1L2cKLSAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cKLSAgICAgRvxyIGVpbmUgamVkbWFsaWdlIEJlc3TkdGlndW5nLCBhZGRpZXJlICAnYycgIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJTGVrdGlvbiA1LjE6IEFVU0bcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MKLQotCi0gICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZvxocmVuLiAqKgotCi0gIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ13yBkZXMgU2NoaXJtcwotICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgotCi0gIDIuIE51biB0aXBwZSBlaW4gICEgIChBdXNydWZlemVpY2hlbikuICBEaWVzIGVybfZnbGljaHQgRGlyLCBlaW4gYmVsaWViaWdlcywKLSAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWb8aHJlbi4KLQotICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHL8Y2tlIDxFTlRFUj4uIERpZXMgemVpZ3QKLSAgICAgZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlczsgZ2VuYXVzbywgYWxzIHdlbm4gRHUgYXVmIGRlcgotICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfkcnN0LiAgT2RlciB2ZXJ3ZW5kZSAgOiFkaXIgICwgZmFsbHMgbHMgbmljaHQgZ2VodC4KLQotQmVtZXJrdW5nOiAgTWl0IGRpZXNlciBNZXRob2RlIGthbm4gamVkZXMgYmVsaWViaWdlIGV4dGVybmUgS29tbWFuZG8KLSAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCi0KLUJlbWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBt/HNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPgotICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4gVm9uIGpldHp0IGFuIGVyd+RobmVuIHdpciBkaWVzIG5pY2h0IGplZGVzbWFsLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQlMZWt0aW9uIDUuMjogTUVIUiDcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KLQotCi0qKiBVbSBhbSBUZXh0IGR1cmNoZ2Vm/GhydGUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioKLQotICAxLiBUaXBwZSAgOiFkaXIgIG9kZXIgIDohbHMgICwgdW0gZWluZSBBdWZsaXN0dW5nIERlaW5lcyBWZXJ6ZWljaG5pc3NlcyB6dQotICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgotCi0gIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgotCi0gIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V35GhsdGUgRGF0ZWluYW1lIGlzdCkuCi0KLSAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4KLSAgICAgVW0gZGllcyB6dSD8YmVycHL8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gRGVpbmVuCi0gICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgotCi1CZW1lcmt1bmc6IFf8cmRlc3QgRHUgVmltIGpldHp0IGJlZW5kZW4gdW5kIGRhbmFjaCB3aWVkZXIgbWl0IHZpbSBURVNUCi0gICAgc3RhcnRlbiwgZGFubiB35HJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCi0gICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCi0KLSAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAotCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgTGVrdGlvbiA1LjM6IEFVU1fESExFTiBWT04gVEVYVCBaVU0gU0NIUkVJQkVOCi0KLSoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRpZXNlciBaZWlsZS4KLQotICAyLiBUaXBwZSAgdiAgdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBm/G5mdGVuIEF1Zmxpc3R1bmdzcHVua3QgdW50ZW4uCi0gICAgIEJlbWVya2UsIGRh3yBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCi0KLSAgMy4gRHL8Y2tlIGRhcyBaZWljaGVuICA6IC4gQW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWludCAgOic8LCc+IC4KLQotICA0LiBUaXBwZSAgdyBURVNUICAsIHdvYmVpIFRFU1QgZWluIG5vY2ggbmljaHQgdm9yaGFuZGVuZXIgRGF0ZWluYW1lIGlzdC4KLSAgICAgVmVyZ2V3aXNzZXJlIERpY2gsIGRh3yBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IEVudGVyIGRy/GNrc3QuCi0KLSAgNS4gVmltIHNjaHJlaWJ0IGRpZSBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluIGRpZSBEYXRlaSBURVNULiBCZW51dHplICA6IWRpcgotICAgICBvZGVyICA6IWxzICwgdW0gc2llIHp1IHNlaGVuLiBM9nNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluCi0gICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgotCi1CZW1lcmt1bmc6IERy/GNrZW4gdm9uICB2ICBzdGFydGV0IGRpZSBWaXN1ZWxsZSBBdXN3YWhsLiBEdSBrYW5uc3QgZGVuIEN1cnNvcgotICAgdW1oZXJiZXdlZ2VuLCB1bSBkaWUgQXVzd2FobCBncvbfZXIgb2RlciBrbGVpbmVyIHp1IG1hY2hlbi4gQW5zY2hsaWXfZW5kCi0gICBrYW5uIG1hbiBlaW5lbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtCi0gICBCZWlzcGllbCBs9nNjaHQgIGQgIGRlbiBUZXh0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbcSFJFTiBWT04gREFURUlFTgotCi0KLSAgICAgICAqKiBVbSBkZW4gSW5oYWx0IGVpbmVyIERhdGVpIGVpbnp1bGVzZW4sIHRpcHBlICA6ciBEQVRFSU5BTUUgICoqCi0KLSAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3Ig/GJlcmhhbGIgZGllc2VyIFplaWxlLgotCi1CRUFDSFRFOiAgTmFjaGRlbSBEdSBTY2hyaXR0IDIgYXVzZ2Vm/GhydCBoYXN0LCB3aXJzdCBEdSBUZXh0IGF1cyBMZWt0aW9uIDUuMwotICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCB1bSBkaWVzZSBMZWt0aW9uIHdpZWRlcnp1c2VoZW4uCi0KLSAgMi4gTnVuIGxpZXMgRGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNm/Ghyc3QsCi0gICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0LgotICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZvxndC4KLQotICAzLiBVbSB6dSD8YmVycHL8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1cvxjayB1bmQgc2llaGUsCi0gICAgIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCi0gICAgIGVpbmdlZvxndGUgRGF0ZWl2ZXJzaW9uLgotCi1CZW1lcmt1bmc6IER1IGthbm5zdCBhdWNoIGRpZSBBdXNnYWJlIGVpbmVzIGV4dGVybmVuIEtvbW1hbmRvcyBlaW5sZXNlbi4gWnVtCi0gICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQKLSAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUKLQotCi0gIDEuIDohS29tbWFuZG8gIGb8aHJ0IGVpbiBleHRlcm5lcyBLb21tYW5kbyBhdXMuCi0KLSAgICAgIEVpbmlnZSBu/HR6bGljaGUgQmVpc3BpZWxlIHNpbmQKLQkoTVMtRE9TKQkgIChVbml4KQotCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCi0JIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCi0KLSAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4KLQotICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfkaGx0ZW4gWmVpbGVuIGluCi0gICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuCi0KLSAgNC4gOnIgREFURUlOQU1FICBs5GR0IGRpZSBEYXRlaSBEQVRFSU5BTUUgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXIKLSAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgotCi0gIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBm/Gd0IHNpZSB1bnRlcmhhbGIgZGVyCi0gICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4g1kZGTkVOIChPUEVOKQotCi0KLSAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUg9mZmbmVuIHVuZCBEaWNoIGluICoqCi0gICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KLQotICAyLiBUaXBwZSBvIChrbGVpbiBnZXNjaHJpZWJlbiksIHVtIGVpbmUgWmVpbGUgVU5URVJIQUxCIGRlcyBDdXJzb3MgenUg9mZmbmVuCi0gICAgIHVuZCBEaWNoIGluIGRlbiBFaW5m/GdlbW9kdXMgenUgYmVnZWJlbi4KLQotICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHL8Y2tlIDxFU0M+ICwgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uCi0KLS0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cyBwbGF0emllcnQuCi0KLSAgNC4gVW0gZWluZSBaZWlsZSDcQkVSSEFMQiBkZXMgQ3Vyc29zIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jv32VzICBPCi0gICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4KLQotLS0tPiDWZmZuZSBlaW5lIFplaWxlIPxiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbcR0VOIChBUFBFTkQpCi0KLQotCSAgICAgKiogVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgZWluenVm/Gdlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4g3GJ1bmdzemVpbGUgbWl0IC0tLT4gdW50ZW4uCi0KLSAgMi4gRHL8Y2tlICBlICAsIGJpcyBkZXIgQ3Vyc29yIGFtIEVuZGUgdm9uICBaZWkgIHN0ZWh0LgotCi0gIDMuIFRpcHBlIGVpbiBrbGVpbmVzICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KLQotICA0LiBWZXJ2b2xsc3TkbmRpZ2UgZGFzIFdvcnQgc28gd2llIGluIGRlciBaZWlsZSBkYXJ1bnRlci4gIERy/GNrZSA8RVNDPiAsCi0gICAgIHVtIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgotCi0gIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7kY2hzdGVuIHVudm9sbHN05G5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlCi0gICAgIFNjaHJpdHRlIDMgdW5kIDQuCi0KLS0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvwuCi0tLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvxnZW4uCi0KLUJlbWVya3VuZzogIGEsIGkgdW5kIEEgZ2VoZW4gYWxsZSBnbGVpY2hlcm1h32VuIGluIGRlbiBFaW5m/GdlbW9kdXM7IGRlcgotICAgICAgICAgICAgZWluemlnZSBVbnRlcnNjaGllZCBpc3QsIHdvIGRpZSBaZWljaGVuIGVpbmdlZvxndCB3ZXJkZW4uCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkgICAgICBMZWt0aW9uIDYuMzogRUlORSBBTkRFUkUgQVJUIERFUyBFUlNFVFpFTlMgKFJFUExBQ0UpCi0KLQotICAgICAgICoqIFRpcHBlIGVpbiBncm/fZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0gICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4KLQotICAyLiBOdW4gZHL8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCi0gICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgotCi0gIDMuIERy/GNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZW1lcmtlLCBkYd8gZGVyIFJlc3QKLSAgICAgZGVyIFplaWxlIHVudmVy5G5kZXJ0IGJsZWlidC4KLQotICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4KLQotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KLS0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCi0KLUJlbWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5m/GdlbW9kdXMsIGFiZXIgamVkZXMgZWluZ2V0aXBwdGUKLSAgICAgICAgICAgWmVpY2hlbiBs9nNjaHQgZWluIHZvcmhhbmRlbmVzIFplaWNoZW4uCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgTGVrdGlvbiA2LjQ6IFRFWFQgS09QSUVSRU4gVU5EIEVJTkbcR0VOCi0KLSAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWb8Z2VuICoqCi0KLSAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbiwgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4KLQotICAyLiBTdGFydGUgZGVuIFZpc3VlbGxlbiBNb2R1cyBtaXQgIHYgICwgYmV3ZWdlIGRlbiBDdXJzb3IgZ2VuYXUgdm9yICJlcnN0ZSIuCi0KLSAgMy4gVGlwcGUgIHkgICwgdW0gZGVuIGhlcnZvcmdlaG9iZW4gVGV4dCB6dSBrb3BpZXJlbi4KLQotICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGU6ICBqJAotCi0gIDUuIFRpcHBlICBwICwgdW0gZGVuIFRleHQgZWluenVm/GdlbiB1bmQgYW5zY2hsaWXfZW5kOiAgYSB6d2VpdGUgPEVTQz4gLgotCi0gIDYuIEJlbnV0emUgZGVuIFZpc3VlbGxlbiBNb2R1cywgdW0gIiBFaW50cmFnLiIgYXVzenV35GhsZW4sIGtvcGllcmUgbWl0dGVscwotICAgICB5ICwgYmV3ZWdlIERpY2ggenVtIEVuZGUgZGVyIG7kY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBm/GdlIGRlbiBUZXh0Ci0gICAgIGRvcnQgbWl0ICBwICBhbi4KLQotLS0tPiAgYSkgZGllcyBpc3QgZGVyIGVyc3RlIEVpbnRyYWcuCi0gICAgICBiKQotCi1CZW1lcmt1bmc6IER1IGthbm5zdCAgeSAgYXVjaCBhbHMgT3BlcmF0b3IgdmVyd2VuZGVuOyAgeXcgIGtvcGllcnQgZWluIFdvcnQuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgTGVrdGlvbiA2LjU6IE9QVElPTkVOIFNFVFpFTgotCi0gICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgZWluZSBFcnNldHp1bmcgR3Jv3y0gKioKLQkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioKLQotICAxLiBTdWNoZSBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgICAvaWdub3JpZXJlICAgZWluZ2lic3QuCi0gICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRy/GNrc3QuCi0KLSAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCi0KLSAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgotICAgICBCZW1lcmtlLCBkYd8gamV0enQgSWdub3JpZXJlIHVuZCBhdWNoIElHTk9SSUVSRSBnZWZ1bmRlbiB3aXJkLgotCi0gIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMKLQotICA1LiBXaWVkZXJob2xlIGRpZSBTdWNoZSB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6IC9pZ25vcmllcmUgPEVOVEVSPgotCi0gIDYuIFVtIGRhcyBJZ25vcmllcmVuIHZvbiBHcm/fL0tsZWluc2NocmVpYnVuZyBhYnp1c2NoYWx0ZW4sIHRpcHBlOiAgOnNldCBub2ljCi0KLUJlbWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbmZlcm5lbiwgZ2liIGVpbjogIDpub2hsc2VhcmNoCi1CZW1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZvxyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplCi0gICAgICAgICAgIFxjIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKLQotIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSD2ZmZuZW4gdW5kIGRlbiBFaW5m/GdlbW9kdXMKLSAgICAgICAgICAgICAgICB6dSBzdGFydGVuLgotICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUg3EJFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbi4KLQotIDIuIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KLSAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWb8Z2VuLgotCi0gMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCi0KLSA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uCi0KLSA1LiBFaW4gZ3Jv32VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcvxja2VuIHZvbiAgPEVTQz4gLgotCi0gNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6Ci0JJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb98vS2xlaW5zY2hyZWlidW5nIGJlaSBlaW5lciBTdWNoZQotCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWz8YmVyZWluc3RpbW11bmdlbiBm/HIgZWluZW4gU3VjaGF1c2RydWNrCi0JJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcvxja2UgaGVydm9yCi0gICAgRGVyIE9wdGlvbnNuYW1lIGthbm4gaW4gZGVyIEt1cnotIG9kZXIgZGVyIExhbmdmb3JtIGFuZ2VnZWJlbiB3ZXJkZW4uCi0KLSA3LiBTdGVsbGUgZWluZXIgT3B0aW9uICJubyIgdm9yYW4sIHVtIHNpZSBhYnp1c2NoYWx0ZW46ICAgOnNldCBub2ljCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFCi0KLQotCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqCi0KLSAgVmltIGJlc2l0enQgZWluIHVtZmFzc2VuZGVzIGVpbmdlYmF1dGVzIEhpbGZlc3lzdGVtLiAgRvxyIGRlbiBBbmZhbmcgcHJvYmllcmUKLSAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOgotCS0gRHL8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKLQktIERy/GNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQotCS0gVGlwcGUgICA6aGVscCA8RU5URVI+Ci0KLSAgTGllcyBkZW4gVGV4dCBpbSBIaWxmZWZlbnN0ZXIsIHVtIHp1IHZlcnN0ZWhlbiB3aWUgZGllIEhpbGZlIGZ1bmt0aW9uaWVydC4KLSAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLgotICBUaXBwZSAgIDpxIDxFTlRFUj4gICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCi0KLSAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQotICBLb21tYW5kbyBlaW4gQXJndW1lbnQgZ2lic3QuICBQcm9iaWVyZSBmb2xnZW5kZXMgKDxFTlRFUj4gbmljaHQgdmVyZ2Vzc2VuKToKLQotCTpoZWxwIHcKLQk6aGVscCBjX0NUUkwtRAotCTpoZWxwIGluc2VydC1pbmRleAotCTpoZWxwIHVzZXItbWFudWFsCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVAotCi0KLQkgICAqKiAgQWt0aXZpZXJlIGRpZSBlaW5nZWJhdXRlbiBGdW5rdGlvbmFsaXTkdGVuIHZvbiBWaW0gKioKLQotICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTkdGVuLCBkaWUg/GJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3RlbgotICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdOR0ZW4genUgbnV0emVuLAotICBtdXNzdCBEdSBlaW5lICJ2aW1yYyIgLSBEYXRlaSBlcnN0ZWxsZW4uCi0KLSAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaORuZ2lnIHZvbiBEZWluZW0gU3lzdGVtOgotCTplIH4vLnZpbXJjCQlm/HIgVW5peAotCTplICRWSU0vX3ZpbXJjCQlm/HIgTVMtV2luZG93cwotCi0gIDIuIE51biBsaWVzIGRlbiBJbmhhbHQgZGVyIEJlaXNwaWVsLSJ2aW1yYyItRGF0ZWkgZWluOgotCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCi0KLSAgMy4gU3BlaWNoZXJlIGRpZSBEYXRlaSBtaXQ6Ci0JOncKLQotICBCZWltIG7kY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgotICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZvxnZW4uCi0gIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUxE5ESUdFTgotCi0KLQkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdORuZGlndW5nIG1pdCBDVFJMLUQgYW5kIDxUQUI+ICoqCi0KLSAgMS4gU3RlbGxlIHNpY2hlciwgZGHfIFZpbSBuaWNodCBpbSB2aS1Lb21wYXRpYmlsaXTkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3AKLQotICAyLiBTaWVoZSBuYWNoLCB3ZWxjaGUgRGF0ZWllbiBpbSBWZXJ6ZWljaG5pcyBleGlzdGllcmVuOiAgOiFscyAgb2RlciAgOmRpcgotCi0gIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tYW5kb3M6ICA6ZQotCi0gIDQuIERy/GNrZSAgQ1RSTC1EICB1bmQgVmltIHplaWd0IGVpbmUgTGlzdGUgbWl0ICJlIiBiZWdpbm5lbmRlciBLb21tYW5kb3MuCi0KLSAgNS4gRHL8Y2tlICA8VEFCPiAgdW5kIFZpbSB2ZXJ2b2xsc3TkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4KLQotICA2LiBOdW4gZvxnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBCZWdpbm4gZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoKLSAgICAgOmVkaXQgREFUCi0KLSAgNy4gRHL8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCi0KLUJlbWVya3VuZzogVmVydm9sbHN05G5kaWd1bmcgZnVua3Rpb25pZXJ0IGb8ciB2aWVsZSBLb21tYW5kb3MuIFZlcnN1Y2hlCi0gICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBu/HR6bGljaCBm/HIgIDpoZWxwIC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3Ci0KLQotICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHL8Y2tlIDxGMT4gb2RlciA8SGVscD4sIHVtIGVpbiBIaWxmZWZlbnN0ZXIgenUg9mZmbmVuLgotCi0gIDIuIFRpcHBlICA6aGVscCBLb21tYW5kbyAgLCB1bSBIaWxmZSD8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uCi0KLSAgMy4gVGlwcGUgIENUUkwtVyBDVFJMLVcgICwgdW0genVtIGFuZGVyZW4gRmVuc3RlciB6dSBzcHJpbmdlbi4KLQotICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCi0KLSAgNS4gRXJzdGVsbGUgZWluIHZpbXJjIC0gU3RhcnRza3JpcHQgenVyIFNpY2hlcnVuZyBiZXZvcnp1Z3RlciBFaW5zdGVsbHVuZ2VuLgotCi0gIDYuIERy/GNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzIEtvbW1hbmRvcyAgOiAgLCB1bSBt9mdsaWNoZQotICAgICBWZXJ2b2xsc3TkbmRpZ3VuZ2VuIHp1IHNlaGVuLgotICAgICBEcvxja2UgPFRBQj4gZvxyIGVpbmUgZWluemlnZSBWZXJ2b2xsc3TkbmRpZ3VuZy4KLQotCi0KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCi0gIERhbWl0IGlzdCBkZXIgVmltIFR1dG9yIGJlZW5kZXQuICBEaWUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZAotICBi/G5kaWdlbiDcYmVyYmxpY2sg/GJlciBkZW4gVmltIEVkaXRvciB6dSBsaWVmZXJuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYKLSAgbGVpY2h0IG1pdCBpaG0gdW1nZWhlbiB6dSBr9m5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3RlbgotICBBbnNwcnVjaCBhdWYgVm9sbHN05G5kaWdrZWl0OyBWaW0gaGF0IG5vY2ggd2VpdGF1cyBtZWhyIEtvbW1hbmRvcy4gTGllcyBhbHMKLSAgbuRjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLgotCi0gIEb8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gOgotCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCi0JVmVybGFnOiBOZXcgUmlkZXJzCi0gIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKLSAgZvxyIEFuZuRuZ2VyLiAgVmllbGUgQmVpc3BpZWxlIHVuZCBCaWxkZXIgc2luZCBlbnRoYWx0ZW4uCi0gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCi0KLSAgRm9sZ2VuZGVzIEJ1Y2ggaXN0IORsdGVyIHVuZCBtZWhyIPxiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgotCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIHZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCi0JVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgotICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG32Y2h0ZS4KLSAgRGllIHNlY2hzdGUgQXVzZ2FiZSBlbnRo5Gx0IGF1Y2ggSW5mb3JtYXRpb25lbiD8YmVyIFZpbS4KLQotICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZvxyIFZlcnNpb24gNi4yIHVuZCBrbmFwcGUgRWluZvxocnVuZyBkaWVudCBkYXMKLSAgZm9sZ2VuZGUgQnVjaDoKLQl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0Ci0JbWl0cC1WZXJsYWcsIElTQk4gMy04MjY2LTE0MjUtOQotICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBu/HR6bGljaGUgQmVpc3BpZWxlIGF1Y2gKLSAgZvxyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAotICBvbmxpbmUgZXJo5Gx0bGljaC4gIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCi0KLSAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSBhbmQgUm9iZXJ0IEsuIFdhcmUsCi0gIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcy4gRXMgYmVudXR6dCBJZGVlbiwgZGllIENoYXJsZXMgU21pdGgsIENvbG9yYWRvIFN0YXRlCi0gIFVuaXZlcnNpdHksIHp1ciBWZXJm/Gd1bmcgc3RlbGx0ZS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgotCi0gIEJlYXJiZWl0ZXQgZvxyIFZpbSB2b24gQnJhbSBNb29sZW5hYXIuCi0gIERldXRzY2hlINxiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAwNy4gIEUtbWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKz0gICAgICBXIGkgbCBsIGsgbyBtIG0gZSBuICAgaW0gICBWIEkgTSAgIFQgdSB0IG8gciAgICAtICAgIFZlcnNpb24gMS43LmRlLjEgID0NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorICAgVmltIGlzdCBlaW4gc2VociBt5GNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLA0KKyAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmts5HJlbi4gIERpZXNlciBUdXRvciBpc3Qgc28NCisgICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsDQorICAgVmltIG1pdCBMZWljaHRpZ2tlaXQgYWxzIGVpbmVuIEFsbHp3ZWNrLUVkaXRvciB6dSB2ZXJ3ZW5kZW4uDQorICAgRGllIFplaXQgZvxyIGRhcyBEdXJjaGFyYmVpdGVuIGRpZXNlcyBUdXRvcnMgYmV0cuRndCBjYS4gMjUtMzAgTWludXRlbiwNCisgICBhYmjkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuDQorDQorICAgQUNIVFVORzoNCisgICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uDQorICAgRXJzdGVsbGUgZWluZSBLb3BpZSBkaWVzZXIgRGF0ZWksIGluIGRlciBEdSD8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIg0KKyAgIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4NCisNCisgICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfkcnRpZ2VuLCBkYXNzIGRpZXNlciBUdXRvciBm/HIgZGFzIEFud2VuZGVuDQorICAga29uemlwaWVydCBpc3QuIERhcyBiZWRldXRldCwgZGFzcyBEdSBkaWUgQmVmZWhsZSBhbndlbmRlbiBtdXNzdCwgdW0gc2llDQorICAgcmljaHRpZyB6dSBsZXJuZW4uIFdlbm4gRHUgbnVyIGRlbiBUZXh0IGxpZXN0LCB2ZXJnaXNzdCBEdSBkaWUgQmVmZWhsZSENCisNCisgICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIGRlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRy/GNrdCBpc3QgdW5kIGJldOR0aWdlDQorICAgZGllICAgaiAgIFRhc3RlIGdlbvxnZW5kIE1hbCwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MNCisgICBMZWt0aW9uIDEuMSBkZW4gQmlsZHNjaGlybSB2b2xsa29tbWVuIGF1c2b8bGx0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTDQorDQorICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRy/GNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqDQorCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6DQorCSAgICAgawkJIERpZSBoIFRhc3RlIGJlZmluZGV0IHNpY2ggbGlua3MgdW5kIGJld2VndCBuYWNoIGxpbmtzLg0KKyAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuDQorCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLg0KKwkgICAgIHYNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIGF1ZiBkZW0gQmlsZHNjaGlybSB1bWhlciwgYmlzIER1IERpY2ggc2ljaGVyIGb8aGxzdC4NCisNCisgIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRy/GNrdCwgYmlzIHNpZSBzaWNoIHdpZWRlcmhvbHQuDQorICAgICBKZXR6dCB3ZWnfdCBEdSwgd2llIER1IERpY2ggenVyIG7kY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuDQorDQorICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uDQorDQorQW5tZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCD8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwNCisJICAgZHL8Y2tlIDxFU0M+ICwgdW0gRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgenUgYmVnZWJlbi4NCisJICAgRGFubiBnaWIgZGFzIGdld/xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLg0KKw0KK0FubWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQ0KKwkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcg0KKwkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuIFdpcmtsaWNoIQ0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4NCisNCisNCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzDQorICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQ0KKw0KKyAgMS4gRHL8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLg0KKw0KKyAgMi4gVGlwcGU6CTpxISA8RU5URVI+Lg0KKyAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4NCisNCisgIDMuIFdlbm4gRHUgZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgc2llaHN0LCBnaWIgZGFzIEtvbW1hbmRvIGVpbiwgZGFzIERpY2ggenUNCisgICAgIGRpZXNlbSBUdXRvciBnZWb8aHJ0IGhhdC4gRGllcyB35HJlOgl2aW10dXRvciA8RU5URVI+DQorDQorICA0LiBXZW5uIER1IERpciBkaWVzZSBTY2hyaXR0ZSBlaW5nZXBy5Gd0IGhhc3QgdW5kIER1IERpY2ggc2ljaGVyIGb8aGxzdCwNCisgICAgIGb8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyDQorICAgICBoaW5laW56dWdlbGFuZ2VuLg0KKw0KK0FubWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMRuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuIEVpbmlnZQ0KKyAgICAgTGVrdGlvbmVuIHNw5HRlciBsZXJuc3QgRHUsIGRpZSDEbmRlcnVuZ2VuIGluIGVpbmVyIERhdGVpIHp1IHNwZWljaGVybi4NCisNCisgIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid+RydHMgenUgTGVrdGlvbiAxLjMuDQorIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDEuMzogVEVYVCBFRElUSUVSRU4gLSBM1lNDSEVODQorDQorDQorCSAqKiBEcvxja2UgIHggICwgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciB6dSBs9nNjaGVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAyLiBVbSBkaWUgRmVobGVyIHp1IGJlaGViZW4sIGJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIg/GJlciBkZW0gWmVpY2hlbiBzdGVodCwNCisgICAgIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4NCisNCisgIDMuIERy/GNrZSBkaWUgIHggIFRhc3RlLCB1bSBkYXMgdW5lcnf8bnNjaHRlIFplaWNoZW4genUgbPZzY2hlbi4NCisNCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdC4NCisNCistLS0+IERpZSBLa3VoIHNwcmFuZ2cg/GJiZXJyIGRlZW4gTW9vbmQuDQorDQorICA1LiBOdW4sIGRhIGRpZSBaZWlsZSBrb3JyZWt0IGlzdCwgZ2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMS40Lg0KKw0KK0FubWVya3VuZzogV+RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUNCisgICAgbGVybmVuLCBsZXJuZSB2aWVsbWVociBkdXJjaCBBbndlbmRlbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORtxHRU4NCisNCisNCisJCSAgICAqKiAgRHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYNCisgICAgIGRhcyBlcnN0ZSBaZWljaGVuIE5BQ0ggZGVyIFN0ZWxsZSwgYW4gZGVyIFRleHQgZWluZ2Vm/Gd0IHdlcmRlbiBzb2xsLg0KKw0KKyAgMy4gRHL8Y2tlICBpICB1bmQgZ2liIGRpZSBu9nRpZ2VuIEVyZ+RuenVuZ2VuIGVpbi4NCisNCisgIDQuIFdlbm4gamV3ZWlscyBlaW4gRmVobGVyIGJlc2VpdGlndCBpc3QsIGRy/GNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cw0KKyAgICAgenVy/GNrenVrZWhyZW4uDQorCQkgV2llZGVyaG9sZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4NCisNCistLS0+IEluIGRpZXNlciBmdCBldHdhcyAuDQorLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4NCisNCisgIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjUuDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gMS41OiBURVhUIEVESVRJRVJFTiAtIEFORtxHRU4NCisNCisNCisJCSAgICAgKiogRHL8Y2tlICBBICAsIHVtIFRleHQgYW56dWb8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisgICAgIERhYmVpIGlzdCBnbGVpY2hn/Gx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuDQorDQorICAyLiBEcvxja2UgIEEgIHVuZCBnaWIgZGllIGVyZm9yZGVybGljaGVuIEVyZ+RuenVuZ2VuIGVpbi4NCisNCisgIDMuIFdlbm4gZGFzIEFuZvxnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRy/GNrZSA8RVNDPiwgdW0gaW4gZGVuIE5vcm1hbG1vZHVzDQorICAgICB6dXL8Y2t6dWtlaHJlbi4NCisNCisgIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUNCisgICAgIGRpZSBTY2hyaXR0ZSAyIHVuZCAzLCB1bSBkZW4gU2F0eiB6dSBhdXN6dWJlc3Nlcm4uDQorDQorLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVoDQorICAgICBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4NCistLS0+IEF1Y2ggaGllciBzdGVoDQorICAgICBBdWNoIGhpZXIgc3RlaHQgZXR3YXMgVW52b2xsc3TkbmRpZ2VzLg0KKw0KKyAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgIExla3Rpb24gMS42OiBFSU5FIERBVEVJIEVESVRJRVJFTg0KKw0KKwkJICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioNCisNCisgICEhIEhpbndlaXM6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWb8aHJ0ZW4gU2Nocml0dGUgYXVzZvxocnN0LCBsaWVzDQorICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQ0KKw0KKyAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEgICAgICAgDQorCSAgIE9kZXIsIGZhbGxzIGR1IFp1Z3JpZmYgenUgZWluZW0gYW5kZXJlbiBUZXJtaW5hbCBoYXN0LCBm/GhyZSBkYXMgDQorCQkgRm9sZ2VuZGUgZG9ydCBhdXMuDQorDQorICAyLiBHaWIgZGllc2VzIEtvbW1hbmRvIGluIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVpbjogIHZpbSB0dXRvciA8RU5URVI+DQorICAgICAndmltJyBpc3QgZGVyIEF1ZnJ1ZiBkZXMgRWRpdG9ycywgJ3R1dG9yJyBpc3QgZGllIHp1IGVkaXRpZXJlbmRlIERhdGVpLg0KKyAgICAgQmVudXR6ZSBlaW5lIERhdGVpLCBkaWUgZ2XkbmRlcnQgd2VyZGVuIGRhcmYuDQorDQorICAzLiBG/GdlIFRleHQgZWluIG9kZXIgbPZzY2hlIGlobiwgd2llIER1IGluIGRlbiB2b3JhbmdlaGVuZGVuIExla3Rpb25lbiANCisgICAgIGdlbGVybnQgaGFzdC4NCisNCisgIDQuIFNwZWljaGVyZSBkaWUgZ2XkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxICA8RU5URVI+DQorDQorICA1LiBGYWxscyBEdSBpbiBTY2hyaXR0IDEgZGVuIHZpbXR1dG9yIGJlZW5kZXQgaGFzdCwgc3RhcnRlIHZpbXR1dG9yIG5ldSB1bmQNCisJICAgYmV3ZWdlIGRpY2ggYWJ35HJ0cyBiaXMgenVyIGZvbGdlbmRlbiBadXNhbW1lbmZhc3N1bmcuDQorDQorICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdDogZvxocmUgc2llIGR1cmNoLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMQ0KKw0KKw0KKyAgMS4gRGVyIEN1cnNvciB3aXJkIG1pdCBkZW4gUGZlaWx0YXN0ZW4gb2RlciBkZW4gVGFzdGVuIGhqa2wgYmV3ZWd0Lg0KKwkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfkcnRzKSAgICBsIChyZWNodHMpDQorDQorICAyLiBVbSBWaW0gYXVzIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIHp1IHN0YXJ0ZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPg0KKw0KKyAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDEbmRlcnVuZ2VuIHp1IHZlcndlcmZlbiwgdGlwcGU6DQorCQk8RVNDPiAgOnEhICA8RU5URVI+IC4NCisNCisgIDQuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbiwgdGlwcGU6ICB4DQorDQorICA1LiBVbSBUZXh0IGVpbnp1ZvxnZW4gb2RlciBhbnp1ZvxnZW4sIHRpcHBlOg0KKwkgaSAgIEVpbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgIDxFU0M+ICAgIEVpbmb8Z2VuIHZvciBkZW0gQ3Vyc29yDQorCSBBICAgQW56dWb8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5m/GdlbiBuYWNoIGRlbSBaZWlsZW5lbmRlDQorDQorQW5tZXJrdW5nOiBEcvxja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluDQorICAgICB1bmdld29sbHRlcywgZXJzdCB0ZWlsd2Vpc2UgZWluZ2VnZWJlbmVzIEtvbW1hbmRvIGFiLg0KKw0KKyAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUw0KKw0KKw0KKwkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGz2c2NoZW4uICoqDQorDQorICAxLiBEcvxja2UgIDxFU0M+ICAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0Lg0KKw0KKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGVpbmVzIFdvcnRlcywgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLg0KKw0KKyAgNC4gVGlwcGUgIGR3ICAsIHVtIGRhcyBXb3J0IHp1IGVudGZlcm5lbi4NCisNCisgIEFubWVya3VuZzogRGVyIEJ1Y2hzdGFiZSAgZCAgZXJzY2hlaW50IGF1ZiBkZXIgdW50ZXJzdGVuIFplaWxlIGRlcyBTY2hpcm1zLA0KKyAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYXNzIER1ICB3ICBlaW5naWJzdC4gRmFsbHMgRHUNCisgICAgICAgIGVpbiBhbmRlcmVzIFplaWNoZW4gYWxzICBkICBzaWVoc3QsIGhhc3QgRHUgZXR3YXMgRmFsc2NoZXMgZ2V0aXBwdDsNCisgICAgICAgIGRy/GNrZSA8RVNDPiB1bmQgYmVnaW5uZSBub2NoIGVpbm1hbC4NCisNCistLS0+IEVpbmlnZSBX9nJ0ZXIgbHVzdGlnIGdlaPZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6Lg0KKw0KKyAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlDQorICAgICB6dXIgTGVrdGlvbiAyLjIuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICBMZWt0aW9uIDIuMjogV0VJVEVSRSBM1lNDSEtPTU1BTkRPUw0KKw0KKw0KKwkgICAgKiogVGlwcGUgIGQkICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbPZzY2hlbi4gKioNCisNCisgIDEuIERy/GNrZSA8RVNDPiAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0Lg0KKw0KKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIga29ycmVrdGVuIFplaWxlIChOQUNIIGRlbSBlcnN0ZW4gLiApLg0KKw0KKyAgNC4gVGlwcGUgICAgZCQgICAgLCB1bSBiaXMgenVtIFplaWxlbmVuZGUgenUgbPZzY2hlbi4NCisNCistLS0+IEplbWFuZCBoYXQgZGFzIEVuZGUgZGVyIFplaWxlIGRvcHBlbHQgZWluZ2VnZWJlbi4gZG9wcGVsdCBlaW5nZWdlYmVuLg0KKw0KKw0KKyAgNS4gR2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMi4zICwgdW0genUgdmVyc3RlaGVuLCB3YXMgaGllcmJlaSB2b3JnZWh0Lg0KKw0KKw0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJIExla3Rpb24gMi4zOiDcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rcR0UNCisNCisNCisgIFZpZWxlIEtvbW1hbmRvcywgZGllIFRleHQg5G5kZXJuLCBzZXR6ZW4gc2ljaCBhdXMgZWluZW0gT3BlcmF0b3IgdW5kIGVpbmVyDQorICBCZXdlZ3VuZyB6dXNhbW1lbi4gRGFzIEZvcm1hdCBm/HIgZWluIEz2c2Noa29tbWFuZG8gbWl0IGRlbSBM9nNjaG9wZXJhdG9yICBkDQorICBsYXV0ZXQgd2llIGZvbGd0Og0KKw0KKyAgICBkICBCZXdlZ3VuZw0KKw0KKyAgd29iZWk6DQorICAgIGQgICAgICAgIC0gZGVyIEz2c2Nob3BlcmF0b3INCisgICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEz2c2Nob3BlcmF0b3IgYW5nZXdhbmR0IHdpcmQgKHVudGVuIGF1ZmdlZvxocnQpLg0KKw0KKyAgRWluZSBrbGVpbmUgQXVmbGlzdHVuZyB2b24gQmV3ZWd1bmdlbjoNCisgICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBu5GNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uDQorICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4NCisgICAgJCAtIHp1bSBFbmRlIGRlciBaZWlsZSBNSVQgZGVtIGxldHp0ZW4gWmVpY2hlbi4NCisNCisgIERlbWVudHNwcmVjaGVuZCBs9nNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLg0KKw0KK0FubWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbg0KKyAgQ3Vyc29yIGVudHNwcmVjaGVuZC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUDQorDQorDQorICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFf2cnRlciB2b3J35HJ0cyB6dSBiZXdlZ2VuLg0KKw0KKyAgMy4gVGlwcGUgIDNlICAsIHVtIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVzIGRyaXR0ZW4gV29ydGVzIHp1IGJld2VnZW4uDQorDQorICA0LiBUaXBwZSAgMCAgKE51bGwpICwgdW0genVtIEFuZmFuZyBkZXIgWmVpbGUgenUgZ2VsYW5nZW4uDQorDQorICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMgbWl0IHZlcnNjaGllZGVuZW4gTnVtbWVybi4NCisNCisgIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFf2cnRlcm4sIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uDQorDQorICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4NCisNCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsRITEVSUyBG3FIgTUVIUkVSRSBM1lNDSFZPUkfETkdFDQorDQorDQorICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCBtaXQgZWluZW0gT3BlcmF0b3Igd2llZGVyaG9sdCBkaWVzZW4gbWVocmZhY2guICoqDQorDQorICBJbiBkZXIgS29tYmluYXRpb24gYXVzIEz2c2Nob3BlcmF0b3IgdW5kIEJld2VndW5nc3NjaHJpdHQgKHNpZWhlIG9iZW4pIA0KKyAgc3RlbGx0IG1hbiwgdW0gbWVociB6dSBs9nNjaGVuIGRlbSBTY2hyaXR0IGVpbmVuIFrkaGxlciB2b3JhbjoNCisJIGQgIE51bW1lciAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4NCisgICAgIG1hcmtpZXJlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiB6dSBs9nNjaGVuLg0KKw0KKyAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBa5GhsZXIsIHVtIGRpZSBkYXJhdWZmb2wtDQorICAgICBnZW5kZW4gV/ZydGVyIGluIEdST1NTQlVDSFNUQUJFTiBtaXQgZWluZW0gZWluemlnZW4gS29tbWFuZG8genUgbPZzY2hlbi4NCisNCistLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFf2cnRlcm4gaXN0IFEgUlMgVFVWIGJlcmVpbmlndC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTg0KKw0KKw0KKwkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbi4gKioNCisNCisgIFdlZ2VuIGRlciBI5HVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbPZzY2h0LCBrYW1lbiBkaWUgRW50d2lja2xlciB2b24NCisgIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB35HJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUNCisgIHp1IGz2c2NoZW4uDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLg0KKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBs9nNjaGVuLg0KKyAgMy4gTnVuIGJld2VnZSBEaWNoIHp1ciB2aWVydGVuIFplaWxlLg0KKyAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBs9nNjaGVuLg0KKw0KKy0tLT4gIDEpICBSb3NlbiBzaW5kIHJvdCwNCistLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsDQorLS0tPiAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwNCistLS0+ICA0KSAgSWNoIGhhYmUgZWluIEF1dG8sDQorLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwNCistLS0+ICA2KSAgWnVja2VyIGlzdCBz/N8sDQorLS0tPiAgNykgIFNvIHdpZSBEdSBhdWNoLg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDIuNzogUtxDS0fETkdJRyBNQUNIRU4gKFVORE8pDQorDQorDQorCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHL8Y2tn5G5naWcgenUgbWFjaGVuICoqDQorCSAgICAgICoqIG9kZXIgVSAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgd2llZGVyaGVyenVzdGVsbGVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4NCisgICAgIHVuZCBzZXR6ZSBpaG4gYXVmIGRlbiBlcnN0ZW4gRmVobGVyLg0KKyAgMi4gVGlwcGUgIHggICwgdW0gZGFzIGVyc3RlIHVuZXJ3/G5zY2h0ZSBaZWljaGVuIHp1IGz2c2NoZW4uDQorICAzLiBOdW4gdGlwcGUgIHUgICwgdW0gZGFzIHNvZWJlbiBhdXNnZWb8aHJ0ZSBLb21tYW5kbyBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4NCisgIDQuIEpldHp0IGJlaGViZSBhbGxlIEZlaGxlciBhdWYgZGVyIFplaWxlIG1pdCBIaWxmZSBkZXMgeCAgS29tbWFuZG9zLg0KKyAgNS4gTnVuIHRpcHBlIGVpbiBncm/fZXMgIFUgLCB1bSBkaWUgWmVpbGUgaW4gaWhyZW4gVXJzcHJ1bmdzenVzdGFuZA0KKyAgICAgd2llZGVyaGVyenVzdGVsbGVuLg0KKyAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MNCisgICAgIHL8Y2tn5G5naWcgenUgbWFjaGVuLg0KKyAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRy/GNrdCB1bmQgZHL8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllDQorICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIG1hY2hlbikuDQorDQorLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuDQorDQorICA4LiBEaWVzIHNpbmQgc2VociBu/HR6bGljaGUgS29tbWFuZG9zLiAgTnVuIGdlaGUgd2VpdGVyIHp1ciBadXNhbW1lbmZhc3N1bmcgDQorICAgICB2b24gTGVrdGlvbiAyLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMg0KKw0KKw0KKyAgMS4gVW0gdm9tIEN1cnNvciBiaXMgenVtIG7kY2hzdGVuIFdvcnQgenUgbPZzY2hlbiwgdGlwcGU6ICAgIGR3DQorICAyLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZSB6dSBs9nNjaGVuLCB0aXBwZTogICAgIGQkDQorICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZA0KKw0KKyAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3DQorICA1LiBEYXMgRm9ybWF0IGb8ciBlaW4gxG5kZXJ1bmdza29tbWFuZG8gaXN0Og0KKyAgICAgICAgICAgICAgIE9wZXJhdG9yICAgW0FuemFobF0gICBCZXdlZ3VuZ3NzY2hyaXR0DQorICAgICB3b2JlaToNCisgICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZvxyIGRlbGV0ZQ0KKyAgICAgICBbQW56YWhsXSAtIGVpbiBvcHRpb25hbGVyIFrkaGxlciwgdW0gZGVuIEJld2VndW5nc3NjaHJpdHQgenUgd2llZGVyaG9sZW4NCisgICAgICAgQmV3ZWd1bmdzc2Nocml0dCAtIEJld2VndW5nIPxiZXIgZGVuIHp1IORuZGVybmRlbiBUZXh0LCB3aWUNCisJCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4NCisNCisgIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDANCisNCisgIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiBy/GNrZ+RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6CQl1IChrbGVpbmVzIHUpDQorICAgICBVbSBhbGxlIMRuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHL8Y2tn5G5naWcgenUgbWFjaGVuOiAgIFUgKGdyb99lcyBVKQ0KKyAgICAgVW0gZGllIFL8Y2tn5G5naWdtYWNodW5nZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVINCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgICBMZWt0aW9uIDMuMTogQU5G3EdFTiAoUFVUKQ0KKw0KKw0KKyAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWb8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbiB1bmQgc2llIGluIGVpbmVtIFZpbS1SZWdpc3RlciB6dQ0KKyAgICAgc3BlaWNoZXJuLg0KKw0KKyAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIFplaWxlIGMpLCDcQkVSIGRlcmplbmlnZW4sIHdvIGRpZSBnZWz2c2NodGUgWmVpbGUNCisgICAgIHBsYXR6aWVydCB3ZXJkZW4gc29sbC4NCisNCisgIDQuICBUaXBwZSAgIHAgICAsIHVtIGRpZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUgcGxhdHppZXJlbi4NCisNCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQ0KKyAgICAgUmVpaGVuZm9sZ2UgenUgYnJpbmdlbi4NCisNCistLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8NCistLS0+IGIpIFZlaWxjaGVuIHNpbmQgYmxhdSwNCistLS0+IGMpIEludGVsbGlnZW56IGlzdCBsZXJuYmFyLA0KKy0tLT4gYSkgUm9zZW4gc2luZCByb3QsDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQ0KKw0KKw0KKyAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisNCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgc2ljaCBhdWYgZGVtIGVyc3RlbiBGZWhsZXIgYmVmaW5kZXQuDQorDQorICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGll32VuZCBkYXMgWmVpY2hlbiwgd2VsY2hlcyBkb3J0IHN0ZWhlbiBzb2xsdGUuDQorDQorICA0LiBXaWVkZXJob2xlIFNjaHJpdHRlIDIgdW5kIDMsIGJpcyBkaWUgZXJzdGUgWmVpbGUgZ2xlaWNoIGRlciB6d2VpdGVuIGlzdC4NCisNCistLS0+ICBBbGYgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQ0KKy0tLT4gIEFscyBkaWVzZSBaZWlsZSBlaW5nZWdlYmVuIHd1cmRlLCB3dXJkZW4gZWluaWdlIGZhbHNjaGUgVGFzdGVuIGdldGlwcHQhDQorDQorICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuDQorDQorQW5tZXJrdW5nOiBFcmlubmVyZSBEaWNoIGRhcmFuLCBkYXNzIER1IGR1cmNoIEFud2VuZGVuIGxlcm5lbiBzb2xsdGVzdCwgbmljaHQgDQorICAgICBkdXJjaCBBdXN3ZW5kaWdsZXJuZW4uDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJICBMZWt0aW9uIDMuMzogxE5ERVJOIChDSEFOR0UpDQorDQorDQorICAgICAgKiogVW0gZWluZSDEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVm/GhyZW4sIHRpcHBlICBjZSAuICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKw0KKyAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRhcyAgcyAgdm9uIFdzdHdyLg0KKw0KKyAgMy4gVGlwcGUgIGNlICB1bmQgZGllIFdvcnRrb3JyZWt0dXIgZWluIChpbiBkaWVzZW0gRmFsbCB0aXBwZSAg9nJ0ZXIgKS4NCisNCisgIDQuIERy/GNrZSA8RVNDPiB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIG7kY2hzdGVuIHp1IORuZGVybmRlbiBaZWljaGVuLg0KKw0KKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0Lg0KKw0KKy0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMRuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLg0KKy0tLT4gRWluaWdlIFf2cnRlciBkaWVzZXIgWmVpbGUgc29sbGVuIG1pdCBkZW0gxG5kZXJuLU9wZXJhdG9yIGdl5G5kZXJ0IHdlcmRlbi4NCisNCitCZWFjaHRlLCBkYXNzICBjZSAgZGFzIFdvcnQgbPZzY2h0IHVuZCBEaWNoIGluIGRlbiBFaW5nYWJlbW9kdXMgdmVyc2V0enQuDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gMy40OiBNRUhSIMROREVSVU5HRU4gTUlUVEVMUyBjDQorDQorDQorICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioNCisNCisgIDEuIERlciBjaGFuZ2UgT3BlcmF0b3IgYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6DQorDQorICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkDQorICAgICAoWmVpbGVuZW5kZSkuDQorDQorICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKw0KKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBGZWhsZXIuDQorDQorICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcvxja2UgPEVTQz4gLg0KKw0KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uDQorLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uDQorDQorQW5tZXJrdW5nOiBEdSBrYW5uc3QgZGllIFL8Y2t0YXN0ZSBiZW51dHplbiwgdW0gVGlwcGZlaGxlciB6dSBrb3JyaWdpZXJlbi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDMNCisNCisNCisgIDEuIFVtIGVpbmVuIHZvcmhlciBnZWz2c2NodGVuIFRleHQgYW56dWb8Z2VuLCB0aXBwZSAgIHAgLiBEaWVzIGb8Z3QgZGVuDQorICAgICBnZWz2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vs9nNjaHQgd3VyZGUsDQorICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZvxndCkuDQorDQorICAyLiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLCB0aXBwZSAgIHIgICB1bmQgZGFuYWNoIGRhcyANCisgICAgIGFuIGRpZXNlciBTdGVsbGUgZ2V3b2xsdGUgWmVpY2hlbi4NCisNCisgIDMuIERlciDEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcw0KKyAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IORuZGVybi4gVGlwcGUgIGNlICAsIHVtIGVpbmUgxG5kZXJ1bmcgdm9tIEN1cnNvciBiaXMNCisgICAgIHp1bSBFbmRlIGRlcyBXb3J0ZXMgdm9yenVuZWhtZW47ICBjJCAgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlLg0KKw0KKyAgNC4gRGFzIEZvcm1hdCBm/HIgY2hhbmdlIGlzdDoNCisNCisJIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgTnVuIGZhaHJlIG1pdCBkZXIgbuRjaHN0ZW4gTGVrdGlvbiBmb3J0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICBMZWt0aW9uIDQuMTogQ1VSU09SUE9TSVRJT04gVU5EIERBVEVJU1RBVFVTDQorDQorICoqIFRpcHBlIENUUkwtRyAsIHVtIGRlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqDQorICAgICAqKiBUaXBwZSBHICwgdW0gRGljaCB6dSBlaW5lciBaZWlsZSBpbiBkZXIgRGF0ZWkgenUgYmVnZWJlbi4gKioNCisNCitBbm1lcmt1bmc6IExpZXMgZGllc2UgZ2VzYW10ZSBMZWt0aW9uLCBiZXZvciBEdSBpcmdlbmRlaW5lbiBTY2hyaXR0IGF1c2b8aHJzdCEhDQorDQorICAxLiBIYWx0ZSBkaWUgQ3RybCBUYXN0ZSB1bnRlbiB1bmQgZHL8Y2tlICBnIC4gRGllcyBuZW5uZW4gd2lyIENUUkwtRy4NCisgICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdd8gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcg0KKyAgICAgUG9zaXRpb24gaW5uZXJoYWxiIGRlciBEYXRlaS4gTWVya2UgRGlyIGRpZSBaZWlsZW5udW1tZXIgZvxyIFNjaHJpdHQgMy4NCisNCitBbm1lcmt1bmc6IE32Z2xpY2hlcndlaXNlIHNpZWhzdCBEdSBkaWUgQ3Vyc29ycG9zaXRpb24gaW4gZGVyIHVudGVyZW4gcmVjaHRlbg0KKyAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBBdXN3aXJrdW5nIGRlciAncnVsZXInIE9wdGlvbiANCisJICAoc2llaGUgOmhlbHAgJ3J1bGVyJykNCisNCisgIDIuIERy/GNrZSAgRyAgLCB1bSBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaSB6dSBiZWdlYmVuLg0KKyAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4NCisNCisgIDMuIEdpYiBkaWUgTnVtbWVyIGRlciBaZWlsZSBlaW4sIGF1ZiBkZXIgRHUgdm9yaGVyIHdhcnN0LCBnZWZvbGd0IHZvbiAgRyAuDQorICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1cvxjayB6dSBkZXIgWmVpbGUsIGF1ZiBkZXIgRHUgZ2VzdGFuZGVuIGhhc3QsIGFscyBEdQ0KKyAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2Vkcvxja3QgaGFzdC4NCisNCisgIDQuIFdlbm4gRHUgRGljaCBzaWNoZXIgZ2VudWcgZvxobHN0LCBm/GhyZSBkaWUgU2Nocml0dGUgMSBiaXMgMyBhdXMuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICAgTGVrdGlvbiA0LjI6IERBUyBTVUNIRU4gLSBLT01NQU5ETw0KKw0KKw0KKyAgKiogVGlwcGUgIC8gIGdlZm9sZ3Qgdm9uIGVpbmVtIEF1c2RydWNrLCB1bSBuYWNoIGRlbSBBdXNkcnVjayB6dSBzdWNoZW4uICoqDQorDQorICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVhY2h0ZSwgZGFzcyBkYXMgIC8gdW5kIGRlcg0KKyAgICAgQ3Vyc29yIGFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLg0KKw0KKyAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4NCisNCisgIDMuIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIHdlaXRlcnp1c3VjaGVuLCB0aXBwZSBlaW5mYWNoICBuIChm/HIgbmV4dCkuDQorICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4NCisNCisgIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcvxja3fkcnRzIHp1IHN1Y2hlbiAsIGJlbnV0emUgID8gIHN0YXR0ICAvIC4NCisNCisgIDUuIFVtIGRhaGluIHp1cvxja3p1a2VocmVuLCB2b24gd28gRHUgZ2Vrb21tZW4gYmlzdCwgZHL8Y2tlIENUUkwtTyAoSGFsdGUNCisgICAgIEN0cmwgdW50ZW4gdW5kIGRy/GNrZSBkZW4gQnVjaHN0YWJlbiBvKS4gV2llZGVyaG9sZSBkaWVzLCB1bSBub2NoIHdlaXRlcg0KKyAgICAgenVy/GNrenVnZWhlbi4gIENUUkwtSSBnZWh0IHZvcnfkcnRzLg0KKw0KKy0tLT4gIEZlaGxlciBzY2hyZWlidCBzaWNoIG5pY2h0ICJGZWhobGVyIjsgRmVoaGxlciBpc3QgZWluIEZlaGxlcg0KK0FubWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZw0KKyAgICAgICAgZm9ydGdlc2V0enQsIGVzIHNlaSBkZW5uLCBkaWUgJ3dyYXBzY2FuJyBPcHRpb24gd3VyZGUgYWJnZXNjaGFsdGV0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVODQorDQorDQorICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioNCisNCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuDQorICAgICBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPiBtYXJraWVydCBpc3QuDQorDQorICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLg0KKw0KKyAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyLg0KKw0KKyAgNC4gVGlwcGUgICUgLCB1bSBkZW4gQ3Vyc29yIHp1ciBwYXNzZW5kZW4gYW5kZXJlbiBLbGFtbWVyIHp1IGJld2VnZW4uDQorDQorICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLg0KKw0KKy0tLT4gRGllcyAoIGlzdCBlaW5lIFRlc3R6ZWlsZSAoIG1pdCBbIHZlcnNjaGllZGVuZW4gXSB7IEtsYW1tZXJuIH0gIGRhcmluLiApKQ0KKw0KK0FubWVya3VuZzogRGllc2UgRnVua3Rpb25hbGl05HQgaXN0IHNlaHIgbvx0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQ0KKyAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQ0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpDQorDQorDQorCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZWFjaHRlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQ0KKyAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4NCisNCisgIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgLiBEYXMgWnVm/GdlbiBkZXMgRmxhZ3MgIGcgICBiZWRldXRldCwgZWluZQ0KKyAgICAgZ2xvYmFsZSBFcnNldHp1bmcg/GJlciBkaWUgWmVpbGUgZHVyY2h6dWb8aHJlbiwgZGllcyBlcnNldHp0IGFsbGUgDQorCSBWb3Jrb21tZW4gdm9uICJkaWVlIiBhdWYgZGVyIFplaWxlLg0KKw0KKy0tLT4gZGllZSBzY2j2bnN0ZSBaZWl0LCB1bSBkaWVlIEJsdW1lbiBhbnp1c2NoYXVlbiwgaXN0IGRpZWUgRnL8aGxpbmdzemVpdC4NCisNCisgIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDkbmRlcm4sDQorICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIEJlcmVpY2hlcyBzaW5kLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWb8aHJ0IHdlcmRlbiBzb2xsLg0KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4NCisgICAgIFRpcHBlICA6JXMvYWx0L25ldS9nYyAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSBmaW5kZW4NCisgICAgICAgICAgICAgICAgICAgICBtaXQgZWluZW0gRnJhZ2VkaWFsb2csIG9iIGVyc2V0enQgd2VyZGVuIHNvbGwgb2RlciBuaWNodC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQNCisNCisgIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLg0KKyAgICAgICAgICAgICBHICBicmluZ3QgRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkuDQorICAgICBOdW1tZXIgIEcgIGJyaW5ndCBEaWNoIHp1ciBlbnRzcHJlY2hlbmRlbiBaZWlsZW5udW1tZXIuDQorICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuDQorDQorICAyLiBEaWUgRWluZ2FiZSB2b24gIC8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgVk9SV8RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQorICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUtxDS1fEUlRTIG5hY2ggZGVtIEF1c2RydWNrLg0KKyAgICAgVGlwcGUgbmFjaCBlaW5lciBTdWNoZSAgbiAgLCB1bSBkYXMgbuRjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuDQorICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLg0KKyAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1cvxjayB6dSDkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLg0KKw0KKyAgMy4gRGllIEVpbmdhYmUgdm9uICAlICAsIHdlbm4gZGVyIEN1cnNvciBzaWNoIGF1ZiAoLCksWyxdLHssIG9kZXIgfQ0KKyAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuDQorDQorICA0LiBVbSBkYXMgZXJzdGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBlaW5lciBaZWlsZSBkdXJjaCAibmV1IiB6dSBlcnNldHplbiwNCisgICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQ0KKyAgICAgVW0gYWxsZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGRlciBaZWlsZSBlcnNldHplbiwgdGlwcGUgIDpzL2FsdC9uZXUvZw0KKyAgICAgVW0gQXVzZHL8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuICMgenUgZXJzZXR6ZW4gICAgICAgIDojLCNzL2FsdC9uZXUvZw0KKyAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cNCisgICAgIEb8ciBlaW5lIGplZGVzbWFsaWdlIEJlc3TkdGlndW5nLCBhZGRpZXJlICdjJyAoY29uZmlybSkgICA6JXMvYWx0L25ldS9nYw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJTGVrdGlvbiA1LjE6IEFVU0bcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MNCisNCisNCisgICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZvxocmVuLiAqKg0KKw0KKyAgMS4gVGlwcGUgZGFzIHZlcnRyYXV0ZSBLb21tYW5kbyAgOiAgLCB1bSBkZW4gQ3Vyc29yIGF1ZiBkZW4gRnXfIGRlcyBTY2hpcm1zDQorICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLg0KKw0KKyAgMi4gTnVuIHRpcHBlIGVpbiAgISAgKEF1c3J1ZmV6ZWljaGVuKS4gIERpZXMgZXJt9mdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLA0KKyAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWb8aHJlbi4NCisNCisgIDMuIEFscyBCZWlzcGllbCB0aXBwZSAgIGxzICAgbmFjaCBkZW0gICEgIHVuZCBkcvxja2UgPEVOVEVSPi4gRGllcyBsaWVmZXJ0DQorICAgICBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBpbiBkZXINCisgICAgIEVpbmdhYmVhdWZmb3JkZXJ1bmcgd+Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0Lg0KKw0KK0FubWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvDQorICAgICBhdXNnZWb8aHJ0IHdlcmRlbiwgYXVjaCBtaXQgQXJndW1lbnRlbi4NCisNCitBbm1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3Mgbfxzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4NCisgICAgIGFiZ2VzY2hsb3NzZW4gd2VyZGVuLiBWb24gamV0enQgYW4gZXJ35GhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDUuMjogTUVIUiDcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4NCisNCisNCisqKiBVbSBhbSBUZXh0IGR1cmNoZ2Vm/GhydGUgxG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioNCisNCisgIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzIHp1DQorICAgICBlcmhhbHRlbi4gIER1IHdlad90IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0Lg0KKw0KKyAgMi4gV+RobGUgZWluZW4gRGF0ZWluYW1lbiwgZGVyIG5vY2ggbmljaHQgZXhpc3RpZXJ0LCB6LkIuIFRFU1QuDQorDQorICAzLiBOdW4gdGlwcGU6ICA6dyBURVNUICAgKHdvYmVpIFRFU1QgZGVyIGdld+RobHRlIERhdGVpbmFtZSBpc3QpLg0KKw0KKyAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4NCisgICAgIFVtIGRpZXMgenUg/GJlcnBy/GZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsIHVtIGRlaW5lbg0KKyAgICAgVmVyemVpY2huaXNpbmhhbHQgenUgc2VoZW4uDQorDQorQW5tZXJrdW5nOiBX/HJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCB2aW0gVEVTVA0KKyAgICBzdGFydGVuLCBkYW5uIHfkcmUgZGllc2UgRGF0ZWkgZWluZSBleGFrdGUgS29waWUgZGVzIFR1dG9ycyB6dSBkZW0NCisgICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuDQorDQorICA1LiBOdW4gZW50ZmVybmUgZGllIERhdGVpIGR1cmNoIEVpbmdhYmUgdm9uIChNUy1ET1MpOiAgICA6IWRlbCBURVNUDQorICAgICAgICAgICAgICAgICAgICAgIG9kZXIgKFVuaXgpOiAgICAgICAgICAgICAgICAgICAgICAgICA6IXJtIFRFU1QNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSBMZWt0aW9uIDUuMzogQVVTV8RITEVOIFZPTiBURVhUIFpVTSBTQ0hSRUlCRU4NCisNCisqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiwgIHRpcHBlICB2ICBCZXdlZ3VuZyAgOncgREFURUkgKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRpZXNlciBaZWlsZS4NCisNCisgIDIuIFRpcHBlICB2ICB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIGb8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4NCisgICAgIEJlYWNodGUsIGRhc3MgZGVyIFRleHQgaGVydm9yZ2Vob2JlbiB3aXJkLg0KKw0KKyAgMy4gRHL8Y2tlIGRhcyBaZWljaGVuICA6IC4gQW0gRnXfIGRlcyBTY2hpcm1zIGVyc2NoZWludCAgOic8LCc+IC4NCisNCisgIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0Lg0KKyAgICAgVmVyZ2V3aXNzZXJlIERpY2gsIGRhc3MgRHUgIDonPCwnPncgVEVTVCAgc2llaHN0LCBiZXZvciBEdSA8RU5URVI+IGRy/GNrc3QuDQorDQorICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld+RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyDQorICAgICBvZGVyICA6IWxzICwgdW0gc2llIHp1IHNlaGVuLiBM9nNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluDQorICAgICBkZXIgbuRjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4NCisNCitIaW53ZWlzOiBEcvxja2VuIHZvbiAgdiAgc3RhcnRldCBkaWUgVmlzdWVsbGUgQXVzd2FobC4gRHUga2FubnN0IGRlbiBDdXJzb3INCisgICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIHp1IHZlcmdy9t9lcm4gb2RlciB6dSB2ZXJrbGVpbmVybi4gQW5zY2hsaWXfZW5kDQorICAgbORzc3Qgc2ljaCBlaW4gT3BlcmF0b3IgYW53ZW5kZW4sIHVtIG1pdCBkZW0gVGV4dCBldHdhcyB6dSB0dW4uIFp1bSBCZWlzcGllbA0KKyAgIGz2c2NodCAgZCAgZGVuIFRleHQuDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCSAgICAgIExla3Rpb24gNS40OiBFSU5MRVNFTiBVTkQgWlVTQU1NRU5G3EhSRU4gVk9OIERBVEVJRU4NCisNCisNCisgICAgICAgKiogVW0gZGVuIEluaGFsdCBlaW5lciBEYXRlaSBlaW56dWxlc2VuLCB0aXBwZSAgOnIgREFURUlOQU1FICAqKg0KKw0KKyAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgZGlyZWt0IPxiZXIgZGllc2VyIFplaWxlLg0KKw0KK0JFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMiBhdXNnZWb8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zDQorICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCBMZWt0aW9uIDUuNCB3aWVkZXJ6dXNlaGVuLg0KKw0KKyAgMi4gTnVuIGxpZXMgZGVpbmUgRGF0ZWkgVEVTVCBlaW4gaW5kZW0gRHUgZGFzIEtvbW1hbmRvICA6ciBURVNUICBhdXNm/Ghyc3QsDQorICAgICB3b2JlaSBURVNUIGRlciB2b24gRGlyIHZlcndlbmRldGUgRGF0ZWluYW1lIGlzdC4NCisgICAgIERpZSBlaW5nZWxlc2VuZSBEYXRlaSB3aXJkIHVudGVyaGFsYiBkZXIgQ3Vyc29yemVpbGUgZWluZ2Vm/Gd0Lg0KKw0KKyAgMy4gVW0genUg/GJlcnBy/GZlbiwgZGFzcyBkaWUgRGF0ZWkgZWluZ2VsZXNlbiB3dXJkZSwgZ2VoZSB6dXL8Y2sgdW5kIA0KKyAgICAgYmVhY2h0ZSwgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCANCisJIGRpZSBlaW5nZWb8Z3RlIERhdGVpdmVyc2lvbi4NCisNCitBbm1lcmt1bmc6IER1IGthbm5zdCBhdWNoIGRpZSBBdXNnYWJlIGVpbmVzIGV4dGVybmVuIEtvbW1hbmRvcyBlaW5sZXNlbi4gWnVtDQorICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0DQorICAgICBzaWUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzLg0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNQ0KKw0KKw0KKyAgMS4gOiFLb21tYW5kbyAgZvxocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4NCisNCisgICAgICBFaW5pZ2Ugbvx0emxpY2hlIEJlaXNwaWVsZSBzaW5kDQorCShNUy1ET1MpCSAgKFVuaXgpDQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuDQorCSA6IWRlbCBEQVRFSU5BTUUgICA6IXJtIERBVEVJTkFNRSAgLSAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FLg0KKw0KKyAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4NCisNCisgIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld+RobHRlbiBaZWlsZW4gaW4NCisgICAgIGRpZSBEYXRlaSBEQVRFSU5BTUUuDQorDQorICA0LiA6ciBEQVRFSU5BTUUgIGzkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcg0KKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLg0KKw0KKyAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXINCisgICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOINZGRk5FTiAoT1BFTikNCisNCisNCisgICAqKiBUaXBwZSAgbwksIHVtIGVpbmUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IPZmZm5lbiB1bmQgRGljaCBpbiAqKg0KKyAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAyLiBUaXBwZSBvIChrbGVpbiBnZXNjaHJpZWJlbiksIHVtIGVpbmUgWmVpbGUgVU5URVJIQUxCIGRlcyBDdXJzb3JzIHp1IPZmZm5lbg0KKyAgICAgdW5kIERpY2ggaW4gZGVuIEVpbmb8Z2Vtb2R1cyB6dSBiZWdlYmVuLg0KKw0KKyAgMy4gTnVuIHRpcHBlIGV0d2FzIFRleHQgdW5kIGRy/GNrZSA8RVNDPiAsIHVtIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLg0KKw0KKy0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cyBwbGF0emllcnQuDQorDQorICA0LiBVbSBlaW5lIFplaWxlINxCRVJIQUxCIGRlcyBDdXJzb3JzIGF1Znp1bWFjaGVuLCBnaWIgZWluZmFjaCBlaW4gZ3Jv32VzICBPDQorICAgICBzdGF0dCBlaW5lbSBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUuDQorDQorLS0tPiDWZmZuZSBlaW5lIFplaWxlIPxiZXIgZGllc2VyIG1pdCBPICwgd2VubiBkZXIgQ3Vyc29yIGF1ZiBkaWVzZXIgWmVpbGUgaXN0Lg0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgIExla3Rpb24gNi4yOiBURVhUIEFORtxHRU4gKEFQUEVORCkNCisNCisNCisJICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWb8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXIgZXJzdGVuINxidW5nc3plaWxlIG1pdCAtLS0+IHVudGVuLg0KKw0KKyAgMi4gRHL8Y2tlICBlICAsIGJpcyBkZXIgQ3Vyc29yIGFtIEVuZGUgdm9uICBaZWkgIHN0ZWh0Lg0KKw0KKyAgMy4gVGlwcGUgZWluIGtsZWluZXMgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLg0KKw0KKyAgNC4gVmVydm9sbHN05G5kaWdlIGRhcyBXb3J0IHNvIHdpZSBpbiBkZXIgWmVpbGUgZGFydW50ZXIuICBEcvxja2UgPEVTQz4gLA0KKyAgICAgdW0gZGVuIEVpbmb8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQorDQorICA1LiBCZXdlZ2UgRGljaCBtaXQgIGUgIHp1bSBu5GNoc3RlbiB1bnZvbGxzdORuZGlnZW4gV29ydCB1bmQgd2llZGVyaG9sZQ0KKyAgICAgU2Nocml0dGUgMyB1bmQgNC4NCisNCistLS0+IERpZXNlIFplaSBiaWV0ZXQgR2VsZWdlbiAsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8Lg0KKy0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVm/Gdlbi4NCisNCitBbm1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYd9lbiBpbiBkZW4gRWluZvxnZW1vZHVzOyBkZXINCisgICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vm/Gd0IHdlcmRlbi4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQ0KKw0KKw0KKyAgICAgICAqKiBUaXBwZSBlaW4gZ3Jv32VzICBSICAsIHVtIG1laHIgYWxzIGVpbiBaZWljaGVuIHp1IGVyc2V0emVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4sIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorICAgICBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlcyBlcnN0ZW4gIHh4eCAuDQorDQorICAyLiBOdW4gZHL8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlDQorICAgICBzdGVodCwgc28gZGFzcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuDQorDQorICAzLiBEcvxja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVhY2h0ZSwgZGFzcyBkZXIgUmVzdA0KKyAgICAgZGVyIFplaWxlIHVudmVy5G5kZXJ0IGJsZWlidC4NCisNCisgIDQuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlLCB1bSBkYXMgdmVyYmxpZWJlbmUgeHh4IHp1IGVyc2V0emVuLg0KKw0KKy0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgeHh4IGVyZ2lidCB4eHguDQorLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSA0NTYgZXJnaWJ0IDU3OS4NCisNCitBbm1lcmt1bmc6IERlciBFcnNldHp1bmdzbW9kdXMgaXN0IHdpZSBkZXIgRWluZvxnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlDQorICAgICAgICAgICBaZWljaGVuIGz2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORtxHRU4NCisNCisgKiogQmVudXR6ZSBkZW4gIHkgIE9wZXJhdG9yLCB1bSBUZXh0IHp1IGtvcGllcmVuOyAgcCAgLCB1bSBpaG4gZWluenVm/GdlbiAqKg0KKw0KKyAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbjsgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4NCisNCisgIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4NCisNCisgIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uDQorDQorICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGU6ICBqJA0KKw0KKyAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWb8Z2VuIHVuZCBhbnNjaGxpZd9lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuDQorDQorICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d+RobGVuLCBrb3BpZXJlIG1pdHRlbHMNCisgICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGUgbWl0ICBqJCAgdW5kIGb8Z2UgZGVuIFRleHQNCisgICAgIGRvcnQgbWl0ICBwICBhbi4NCisNCistLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4NCisgICAgICBiKQ0KKw0KK0FubWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4NCisNCisgICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgRXJzZXR6dW5nIEdyb98tICoqDQorCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKg0KKw0KKyAgMS4gU3VjaGUgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgICAgL2lnbm9yaWVyZSAgIGVpbmdpYnN0Lg0KKyAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHL8Y2tzdC4NCisNCisgIDIuIFNldHplIGRpZSAnaWMnIChJZ25vcmUgY2FzZSkgLSBPcHRpb24sIGluZGVtIER1ICAgOnNldCBpYyAgIGVpbmdpYnN0Lg0KKw0KKyAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0Lg0KKyAgICAgQmVhY2h0ZSwgZGFzcyBqZXR6dCBJZ25vcmllcmUgdW5kIGF1Y2ggSUdOT1JJRVJFIGdlZnVuZGVuIHdpcmQuDQorDQorICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzDQorDQorICA1LiBXaWVkZXJob2xlIGRpZSBTdWNoZSB1bmQgYmVvYmFjaHRlLCB3YXMgcGFzc2llcnQ6IC9pZ25vcmllcmUgPEVOVEVSPg0KKw0KKyAgNi4gVW0gZGFzIElnbm9yaWVyZW4gdm9uIEdyb98vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMNCisNCitBbm1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW50ZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gNCitBbm1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZvxyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplIFxjDQorICAgICAgICAgICBpbSBTdWNoYXVzZHJ1Y2s6ICAvaWdub3JpZXJlXGMgIDxFTlRFUj4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYNCisNCisgMS4gVGlwcGUgIG8gICwgdW0gZWluZSBaZWlsZSBVTlRFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbiB1bmQgZGVuIEVpbmb8Z2Vtb2R1cw0KKyAgICAgICAgICAgICAgICB6dSBzdGFydGVuDQorICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUg3EJFUiBkZW0gQ3Vyc29yIHp1IPZmZm5lbi4NCisNCisgMi4gVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLg0KKyAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWb8Z2VuLg0KKw0KKyAzLiBEYXMgS29tbWFuZG8gIGUgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGVpbmVzIFdvcnRlcy4NCisNCisgNC4gRGVyIE9wZXJhdG9yICB5ICAoeWFuaykga29waWVydCBUZXh0LCAgcCAgKHB1dCkgZvxndCBpaG4gZWluLg0KKw0KKyA1LiBFaW4gZ3Jv32VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcvxja2VuIHZvbiAgPEVTQz4gLg0KKw0KKyA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoNCisJJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb98vS2xlaW5zY2hyZWlidW5nIGJlaSBlaW5lciBTdWNoZQ0KKwknaXMnICdpbmNzZWFyY2gnICAgICBaZWlnZSBUZWls/GJlcmVpbnN0aW1tdW5nZW4gZvxyIGVpbmVuIFN1Y2hhdXNkcnVjaw0KKwknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ry/GNrZSBoZXJ2b3INCisgICAgRGVyIE9wdGlvbnNuYW1lIGthbm4gaW4gZGVyIEt1cnotIG9kZXIgZGVyIExhbmdmb3JtIGFuZ2VnZWJlbiB3ZXJkZW4uDQorDQorIDcuIFN0ZWxsZSBlaW5lciBPcHRpb24gIm5vIiB2b3JhbiwgdW0gc2llIGFienVzY2hhbHRlbjogICA6c2V0IG5vaWMNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQ0KKw0KKw0KKwkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKg0KKw0KKyAgVmltIGJlc2l0enQgZWluIHVtZmFzc2VuZGVzIGVpbmdlYmF1dGVzIEhpbGZlc3lzdGVtLiAgRvxyIGRlbiBBbmZhbmcgcHJvYmllcmUNCisgIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoNCisJLSBEcvxja2UgZGllIDxIaWxmZT4gLSBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQ0KKwktIERy/GNrZSBkaWUgPEYxPiBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQ0KKwktIFRpcHBlICAgOmhlbHAgPEVOVEVSPg0KKw0KKyAgTGllcyBkZW4gVGV4dCBpbSBIaWxmZWZlbnN0ZXIsIHVtIHp1IHZlcnN0ZWhlbiB3aWUgZGllIEhpbGZlIGZ1bmt0aW9uaWVydC4NCisgIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAgLCB1bSB2b24gZWluZW0gRmVuc3RlciB6dW0gYW5kZXJlbiB6dSBzcHJpbmdlbi4NCisgIFRpcHBlICAgOnEgPEVOVEVSPiAgLCB1bSBkYXMgSGlsZmVmZW5zdGVyIHp1IHNjaGxpZd9lbi4NCisNCisgIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0NCisgIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOg0KKw0KKwk6aGVscCB3DQorCTpoZWxwIGNfQ1RSTC1EDQorCTpoZWxwIGluc2VydC1pbmRleA0KKwk6aGVscCB1c2VyLW1hbnVhbA0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVA0KKw0KKw0KKwkgICAgICAgICAgKiogIEFrdGl2aWVyZSBkaWUgRmVhdHVyZXMgdm9uIFZpbSAqKg0KKw0KKyAgVmltIGJlc2l0enQgdmllbGUgRnVua3Rpb25hbGl05HRlbiwgZGllIPxiZXIgVmkgaGluYXVzZ2VoZW4sIGFiZXIgZGllIG1laXN0ZW4NCisgIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbeTfaWcgZGVha3RpdmllcnQuIFVtIG1laHIgRnVua3Rpb25hbGl05HRlbiB6dSBudXR6ZW4sDQorICBtdXNzdCBEdSBlaW5lICJ2aW1yYyIgLSBEYXRlaSBlcnN0ZWxsZW4uDQorDQorICAxLiBTdGFydGUgZGFzIEVkaXRpZXJlbiBkZXIgInZpbXJjIi1EYXRlaSwgYWJo5G5naWcgdm9uIGRlaW5lbSBTeXN0ZW06DQorCTplIH4vLnZpbXJjCQlm/HIgVW5peA0KKwk6ZSAkVklNL192aW1yYwkJZvxyIE1TLVdpbmRvd3MNCisNCisgIDIuIE51biBsaWVzIGRlbiBJbmhhbHQgZGVyIEJlaXNwaWVsLSJ2aW1yYyItRGF0ZWkgZWluOg0KKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQ0KKw0KKyAgMy4gU3BlaWNoZXJlIGRpZSBEYXRlaSBtaXQ6DQorCTp3DQorDQorICBCZWltIG7kY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLg0KKyAgRHUga2FubnN0IGFsbCBkZWluZSBiZXZvcnp1Z3RlbiBPcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIi1EYXRlaSB6dWb8Z2VuLg0KKyAgRvxyIG1laHIgSW5mb3JtYXRpb25lbiB0aXBwZSAgOmhlbHAgdmltcmMtaW50cm8NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgTGVrdGlvbiA3LjM6IFZFUlZPTExTVMRORElHRU4NCisNCisNCisJICAgKiogS29tbWFuZG96ZWlsZW52ZXJ2b2xsc3TkbmRpZ3VuZyBtaXQgQ1RSTC1EIHVuZCA8VEFCPiAqKg0KKw0KKyAgMS4gU3RlbGxlIHNpY2hlciwgZGFzcyBWaW0gbmljaHQgaW0gVmktS29tcGF0aWJpbGl05HRzbW9kdXMgaXN0OiAgOnNldCBub2NwDQorDQorICAyLiBTaWVoZSBuYWNoLCB3ZWxjaGUgRGF0ZWllbiBpbSBWZXJ6ZWljaG5pcyBleGlzdGllcmVuOiAgOiFscyAgb2RlciAgOmRpcg0KKw0KKyAgMy4gVGlwcGUgZGVuIEJlZ2lubiBlaW5lcyBLb21tYW5kb3M6ICA6ZQ0KKw0KKyAgNC4gRHL8Y2tlICBDVFJMLUQgIHVuZCBWaW0gemVpZ3QgZWluZSBMaXN0ZSBtaXQgImUiIGJlZ2lubmVuZGVyIEtvbW1hbmRvcy4NCisNCisgIDUuIERy/GNrZSAgPFRBQj4gIHVuZCBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBLb21tYW5kb25hbWVuIHp1ICI6ZWRpdCIuDQorDQorICA2LiBOdW4gZvxnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBBbmZhbmcgZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoNCisgICAgIDplZGl0IERBVA0KKw0KKyAgNy4gRHL8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuDQorDQorQW5tZXJrdW5nOiBWZXJ2b2xsc3TkbmRpZ3VuZyBmdW5rdGlvbmllcnQgZvxyIHZpZWxlIEtvbW1hbmRvcy4gUHJvYmllcmUNCisgICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBu/HR6bGljaCBm/HIgIDpoZWxwIC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkJICAgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNw0KKw0KKw0KKyAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRy/GNrZSA8RjE+IG9kZXIgPEhlbHA+LCB1bSBlaW4gSGlsZmVmZW5zdGVyIHp1IPZmZm5lbi4NCisNCisgIDIuIFRpcHBlICA6aGVscCBLb21tYW5kbyAgLCB1bSBIaWxmZSD8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uDQorDQorICAzLiBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgLCB1bSB6dW0gYW5kZXJlbiBGZW5zdGVyIHp1IHNwcmluZ2VuLg0KKw0KKyAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGll32VuLg0KKw0KKyAgNS4gRXJzdGVsbGUgZWluIHZpbXJjIC0gU3RhcnRza3JpcHQgbWl0IGRlaW5lbiBiZXZvcnp1Z3RlciBFaW5zdGVsbHVuZ2VuLg0KKw0KKyAgNi4gRHL8Y2tlIENUUkwtRCBuYWNoIGRlbSBUaXBwZW4gZWluZXMgIDogIEtvbW1hbmRvcywgdW0gbfZnbGljaGUNCisgICAgIFZlcnZvbGxzdORuZGlndW5nZW4gYW56dXNlaGVuLg0KKyAgICAgRHL8Y2tlIDxUQUI+ICwgdW0gZWluZSBWZXJ2b2xsc3TkbmRpZ3VuZyB6dSBhbnp1d2VuZGVuLg0KKw0KKw0KKw0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKw0KKyAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIFNlaW5lIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQNCisgIGL8bmRpZ2VuINxiZXJibGljayD8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGdlYmVuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYNCisgIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga/ZubmVuLiAgRGVyIFZpbSBUdXRvciBoYXQgbmljaHQgZGVuIGdlcmluZ3N0ZW4NCisgIEFuc3BydWNoIGF1ZiBWb2xsc3TkbmRpZ2tlaXQ7IFZpbSBoYXQgbm9jaCB3ZWl0YXVzIG1laHIgS29tbWFuZG9zLiBMaWVzIGFscw0KKyAgbuRjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLg0KKw0KKyAgRvxyIHdlaXRlcmVzIExlc2VuIHVuZCBMZXJuZW4gaXN0IGZvbGdlbmRlcyBCdWNoIGVtcGZlaGxlbnN3ZXJ0IDoNCisJVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUNCisJVmVybGFnOiBOZXcgUmlkZXJzDQorICBEYXMgZXJzdGUgQnVjaCwgd2VsY2hlcyBkdXJjaGfkbmdpZyBWaW0gZ2V3aWRtZXQgaXN0LiAgQmVzb25kZXJzIG78dHpsaWNoDQorICBm/HIgQW5m5G5nZXIuICBWaWVsZSBCZWlzcGllbGUgdW5kIEJpbGRlciBzaW5kIGVudGhhbHRlbi4NCisgIFNpZWhlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sDQorDQorICBGb2xnZW5kZXMgQnVjaCBpc3Qg5Gx0ZXIgdW5kIG1laHIg/GJlciBWaSBhbHMgVmltLCBhYmVyIGF1Y2ggZW1wZmVobGVuc3dlcnQ6DQorCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIFZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zDQorCVZlcmxhZyBPJ1JlaWxseSAtIElTQk46IDM4OTcyMTEyNjINCisgIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbfZjaHRlLg0KKyAgRGllIHNlY2hzdGUgQXVzZ2FiZSBlbnRo5Gx0IGF1Y2ggSW5mb3JtYXRpb25lbiD8YmVyIFZpbS4NCisNCisgIEFscyBha3R1ZWxsZSBSZWZlcmVueiBm/HIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5m/GhydW5nIGRpZW50IGRhcw0KKyAgZm9sZ2VuZGUgQnVjaDoNCisJdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdA0KKwltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05DQorICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBu/HR6bGljaGUgQmVpc3BpZWxlIGF1Y2gNCisgIGb8ciBFaW5zdGVpZ2VyIGVtcGZlaGxlbnN3ZXJ0LiAgUHJvYmVrYXBpdGVsIHVuZCBkaWUgQmVpc3BpZWxza3JpcHRlIHNpbmQNCisgIG9ubGluZSBlcmjkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCisNCisgIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgdW5kIFJvYmVydCBLLiBXYXJlLA0KKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUNCisgIFVuaXZlcnNpdHksIHp1ciBWZXJm/Gd1bmcgc3RlbGx0ZS4gIEUtTWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1Lg0KKw0KKyAgQmVhcmJlaXRldCBm/HIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4NCisgIERldXRzY2hlINxiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAxNS4gIEUtTWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5kZS51dGYtOCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuZGUudXRmLTgKaW5kZXggOWQ1ZjY2OC4uMDliZDVmOCAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci90dXRvci5kZS51dGYtOAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmRlLnV0Zi04CkBAIC0xLDk4MCArMSw5ODIgQEAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLT0gICAgICBXIGkgbCBsIGsgbyBtIG0gZSBuICAgaW0gICBWIEkgTSAgIFQgdSB0IG8gciAgICAtICAgIFZlcnNpb24gMS43RCAgICAgID0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotICAgVmltIGlzdCBlaW4gc2VociBtw6RjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKLSAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmtsw6RyZW4uICBEaWVzZXIgVHV0b3IgaXN0IHNvCi0gICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBGw6RoaWdrZWl0IGVybGFuZ3N0LAotICAgVmltIG1pdCBMZWljaHRpZ2tlaXQgYWxzIGVpbmVuIEFsbHp3ZWNrLUVkaXRvciB6dSBiZW51dHplbi4KLSAgIERpZSBaZWl0IGbDvHIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRyw6RndCBjYS4gMjUtMzAgTWludXRlbiwKLSAgIGFiaMOkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCi0KLSAgIEFDSFRVTkc6Ci0gICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uCi0gICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IMO8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIgotICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgotCi0gICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfDpHJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZsO8ciBkYXMgQW53ZW5kZW4KLSAgIGtvbnppcGllcnQgaXN0LiBEYXMgYmVkZXV0ZXQsIGRhc3MgRHUgZGllIEJlZmVobGUgYXVzZsO8aHJlbiBtdXNzdCwgdW0gc2llCi0gICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQotCi0gICBKZXR6dCBzdGVsbGUgc2ljaGVyLCBkYXNzIERlaW5lIFVtc3RlbGx0YXN0ZSBOSUNIVCBnZWRyw7xja3QgaXN0IHVuZCBiZXTDpHRpZ2UKLSAgIGRpZSAgIGogICBUYXN0ZSBnZW7DvGdlbmQgTWFsZSwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKLSAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZsO8bGx0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDEuMTogQkVXRUdFTiBERVMgQ1VSU09SUwotCi0gICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHLDvGNrZSBkaWUgaCxqLGssbCBUYXN0ZW4gd2llIHVudGVuIGdlemVpZ3QuICoqCi0JICAgICBeCQkgSGlsZmVzdGVsbHVuZzoKLQkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KLSAgICAgICA8IGgJIGwgPgkgRGllIGwgVGFzdGUgbGllZ3QgcmVjaHRzIHVuZCBiZXdlZ3QgbmFjaCByZWNodHMuCi0JICAgICBqCQkgRGllIGogVGFzdGUgw6RobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgotCSAgICAgdgotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciBhdWYgZGVtIEJpbGRzY2hpcm0gdW1oZXIsIGJpcyBEdSBEaWNoIHNpY2hlciBmw7xobHN0LgotCi0gIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRyw7xja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgotICAgICBKZXR6dCB3ZWnDn3QgRHUsIHdpZSBEdSBEaWNoIHp1ciBuw6RjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KLQotICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uCi0KLUJlbWVya3VuZzogSW1tZXIsIHdlbm4gRHUgRGlyIHVuc2ljaGVyIGJpc3Qgw7xiZXIgZGFzLCB3YXMgRHUgZ2V0aXBwdCBoYXN0LAotCSAgIGRyw7xja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLgotCSAgIERhbm4gZ2liIGRhcyBnZXfDvG5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCi0KLUJlbWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQotCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCi0JICAgdW1oZXJ6dWJld2VnZW4sIHdlbm4gRHUgRGljaCBlaW5tYWwgZGFyYW4gZ2V3w7ZobnQgaGFzdC4gV2lya2xpY2ghCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgICBMZWt0aW9uIDEuMjogVklNIEJFRU5ERU4KLQotCi0gICEhIEFDSFRVTkc6IEJldm9yIER1IGVpbmVuIGRlciB1bnRlbiBhdWZnZWbDvGhydGVuIFNjaHJpdHRlIGF1c2bDvGhyc3QsIGxpZXMKLSAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISEKLQotICAxLiBEcsO8Y2tlIGRpZSA8RVNDPiBUYXN0ZSAodW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QpLgotCi0gIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KLSAgICAgRGllcyBiZWVuZGV0IGRlbiBFZGl0b3IgdW5kIFZFUldJUkZUIGFsbGUgw4RuZGVydW5nZW4sIGRpZSBEdSBnZW1hY2h0IGhhc3QuCi0KLSAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQotICAgICBkaWVzZW0gVHV0b3IgZ2Vmw7xocnQgaGF0LiBEaWVzIHfDpHJlOgl2aW10dXRvciA8RU5URVI+Ci0KLSAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcsOkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZsO8aGxzdCwKLSAgICAgZsO8aHJlIFNjaHJpdHRlIDEgYmlzIDMgYXVzLCB1bSBkZW4gRWRpdG9yIHp1IHZlcmxhc3NlbiB1bmQgd2llZGVyCi0gICAgIGhpbmVpbnp1Z2VsYW5nZW4uCi0KLUJlbWVya3VuZzogIDpxISA8RU5URVI+ICB2ZXJ3aXJmdCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LiBJbgotICAgICBlaW5pZ2VuIExla3Rpb25lbiBsZXJuc3QgRHUgLCBkaWUgw4RuZGVydW5nZW4gaW4gZWluZXIgRGF0ZWkgenUgc3BlaWNoZXJuLgotCi0gIDUuIEJld2VnZSBkZW4gQ3Vyc29yIGFid8OkcnRzIHp1IExla3Rpb24gMS4zLgotIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzDllNDSEVOCi0KLQotCSAqKiBEcsO8Y2tlICB4ICB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBhdWYgZGVtIFplaWNoZW4gc3RlaHQsCi0gICAgIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuCi0KLSAgMy4gRHLDvGNrZSBkaWUgIHggIFRhc3RlLCB1bSBkYXMgw7xiZXJmbMO8c3NpZ2UgWmVpY2hlbiB6dSBsw7ZzY2hlbi4KLQotICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuCi0KLS0tLT4gRGllIEtrdWggc3ByYW5nZyDDvGJiZXIgZGVlbiBNb29uZC4KLQotICA1LiBXZW5uIG51biBkaWUgWmVpbGUga29ycmVrdCBpc3QsIGdlaGUgd2VpdGVyIHp1ciBMZWt0aW9uIDEuNC4KLQotQW5tZXJrdW5nOiBXw6RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUKLSAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gMS40OiBURVhUIEVESVRJRVJFTiAtIEVJTkbDnEdFTgotCi0KLQkJICAgICoqICBEcsO8Y2tlICBpICAsIHVtIFRleHQgZWluenVmw7xnZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLQotICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYKLSAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCB3byBkZXIgVGV4dCBlaW5nZWbDvGd0IHdlcmRlbiBzb2xsLgotCi0gIDMuIERyw7xja2UgIGkgIHVuZCBnaWIgZGllIG5vdHdlbmRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uCi0KLSAgNC4gV2VubiBqZXdlaWxzIGVpbiBGZWhsZXIgYmVzZWl0aWd0IGlzdCwgZHLDvGNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cwotICAgICB6dXLDvGNrenVrZWhyZW4uCi0gICAgIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgotCi0tLS0+IEluIGRpZXNlciBmdCBldHdhcyAuCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgotCi0gIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICBMZWt0aW9uIDEuNTogVEVYVCBFRElUSUVSRU4gLSBBTkbDnEdFTgotCi0KLQkJICAgICAqKiBEcsO8Y2tlICBBICAsIHVtIFRleHQgYW56dWbDvGdlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotICAgICBFcyBpc3QgZ2xlaWNoZ8O8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KLQotICAyLiBEcsO8Y2tlICBBICB1bmQgZ2liIGRpZSBuw7Z0aWdlbiBFcmfDpG56dW5nZW4gZWluLgotCi0gIDMuIFdlbm4gZGFzIEFuZsO8Z2VuIGFiZ2VzY2hsb3NzZW4gaXN0LCBkcsO8Y2tlIDxFU0M+LCB1bSBpbiBkZW4gTm9ybWFsbW9kdXMKLSAgICAgenVyw7xja3p1a2VocmVuLgotCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKLSAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgotCi0tLS0+IEluIGRpZXNlciBaZWlsZSBmZWgKLSAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCi0tLS0+IEF1Y2ggaGllciBzdGVoCi0gICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdMOkbmRpZ2VzLgotCi0gIDUuIFdlbm4gRHUgZGljaCBtaXQgZGVtIEFuZsO8Z2VuIHZvbiBUZXh0IHNpY2hlciBmw7xobHN0LCBnZWhlIHp1IExla3Rpb24gMS42Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KLQotCi0gICAgICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKLQotICAhISBBQ0hUVU5HOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzCi0gICAgIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiEhCi0KLSAgMS4gVmVybGFzc2UgZGVuIEVkaXRvciBzbyB3aWUgaW4gTGVrdGlvbiAxLjI6ICA6cSEKLQotICAyLiBHaWIgZGllc2VzIEtvbW1hbmRvIGluIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVpbjogIHZpbSB0dXRvciA8RU5URVI+Ci0gICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuCi0gICAgIEJlbnV0emUgZWluZSBEYXRlaSwgZGllIGdlw6RuZGVydCB3ZXJkZW4ga2Fubi4KLQotICAzLiBGw7xnZSBUZXh0IGVpbiBvZGVyIGzDtnNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmlnZW4gTGVrdGlvbmVuIGdlbGVybnQKLSAgICAgaGFzdC4KLQotICA0LiBTcGVpY2hlcmUgZGllIGdlw6RuZGVydGUgRGF0ZWkgdW5kIHZlcmxhc3NlIFZpbSBtaXQ6ICA6d3EgPEVOVEVSPgotCi0gIDUuIFN0YXJ0ZSBkZW4gdmltdHV0b3IgbmV1IHVuZCBiZXdlZ2UgRGljaCB6dSBkZXIgZm9sZ2VuZGVuIFp1c2FtbWVuZmFzc3VuZy4KLQotICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdCwgZsO8aHJlIHNpZSBkdXJjaC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxCi0KLQotICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuCi0JIGggKGxpbmtzKSAgICAgaiAodW50ZW4pICAgICBrIChhdWZ3w6RydHMpICAgIGwgKHJlY2h0cykKLQotICAyLiBVbSBWaW0gdm9uIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIGF1c3p1ZsO8aHJlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+Ci0KLSAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDDhG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgotCQk8RVNDPiAgOnEhICA8RU5URVI+IC4KLQlPREVSIHRpcHBlOgk8RVNDPiAgOndxICA8RU5URVI+ICwgdW0gZGllIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybi4KLQotICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLCB0aXBwZTogIHgKLQotICA1LiBVbSBUZXh0IGVpbnp1ZsO8Z2VuIG9kZXIgYW56dWbDvGdlbiwgdGlwcGU6Ci0JIGkgICBFaW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZsO8Z2VuIHZvciBkZW0gQ3Vyc29yCi0JIEEgICBBbnp1ZsO8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICAgPEVTQz4gICAgQW5mw7xnZW4gbmFjaCBkZW0gWmVpbGVuZGVuZQotCi1CZW1lcmt1bmc6IERyw7xja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluCi0gICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCi0KLSAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJICBMZWt0aW9uIDIuMTogTMOWU0NIS09NTUFORE9TCi0KLQotCQkgICAqKiBUaXBwZSAgZHcgICwgdW0gZWluIFdvcnQgenUgbMO2c2NoZW4uICoqCi0KLSAgMS4gRHLDvGNrZSAgPEVTQz4gIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0LgotCi0gIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZWluZXMgV29ydGVzLCBkYXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLgotCi0gIDQuIFRpcHBlICBkdyAgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uCi0KLSAgQmVtZXJrdW5nOiBEZXIgQnVjaHN0YWJlICBkICBlcnNjaGVpbnQgYXVmIGRlciBsZXR6dGVuIFplaWxlIGRlcyBCaWxkc2NoaXJtcywKLSAgICAgICAgd2VubiBEdSBpaG4gZWluZ2lic3QuIFZpbSB3YXJ0ZXQgZGFyYXVmLCBkYcOfIER1ICB3ICBlaW5naWJzdC4gV2VubiBEdQotICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIGZhbHNjaGVzIGdldGlwcHQ7Ci0gICAgICAgIGRyw7xja2UgPEVTQz4gdW5kIGJlZ2lubmUgbmV1LgotCi0tLS0+IEVpbmlnZSBXw7ZydGVyIGx1c3RpZyBnZWjDtnJlbiBuaWNodCBQYXBpZXIgaW4gZGllc2VuIFNhdHouCi0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUgMyB1bmQgNCwgYmlzIGRlciBTYXR6IGtvcnJla3QgaXN0IHVuZCBnZWhlCi0gICAgIGRhbmFjaCB6dXIgTGVrdGlvbiAyLjIuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTMOWU0NIS09NTUFORE9TCi0KLQotCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBsw7ZzY2hlbi4gKioKLQotICAxLiBEcsO8Y2tlIDxFU0M+ICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4KLQotICA0LiBUaXBwZSAgICBkJCAgICAsIHVtIGJpcyB6dW0gRW5kZSBkZXIgWmVpbGUgenUgbMO2c2NoZW4uCi0KLS0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uCi0KLQotICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHBhc3NpZXJ0LgotCi0KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgTGVrdGlvbiAyLjM6IMOcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rDnEdFCi0KLQotICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IMOkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXIKLSAgQmV3ZWd1bmcgenVzYW1tZW4uIERhcyBGb3JtYXQgZsO8ciBlaW4gTMO2c2Noa29tbWFuZG8gbWl0IGRlbSBMw7ZzY2hvcGVyYXRvciAgZAotICBsYXV0ZXQgd2llIGZvbGd0OgotCi0gICAgZCAgQmV3ZWd1bmcKLQotICB3b2JlaToKLSAgICBkICAgICAgICAtIGRlciBMw7ZzY2hvcGVyYXRvcgotICAgIEJld2VndW5nIC0gd29yYXVmIGRlciBMw7ZzY2hvcGVyYXRvciBhbmdld2FuZHQgd2lyZCAodW50ZW4gYXVmZ2VsaXN0ZXQpLgotCi0gIEVpbmUga2xlaW5lIEF1Zmxpc3R1bmcgdm9uIEJld2VndW5nZW46Ci0gICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBuw6RjaHN0ZW4gV29ydGVzIE9ITkUgZGVzc2VuIGVyc3RlcyBaZWljaGVuLgotICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4KLSAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0emVuIFplaWNoZW4uCi0KLSAgRGVtZW50c3ByZWNoZW5kIGzDtnNjaHQgZGllIEVpbmdhYmUgdm9uICBkZSAgdm9tIEN1cnNvciBhbiBiaXMgenVtIFdvcnRlbmRlLgotCi1CZW1lcmt1bmc6ICBEaWUgRWluZ2FiZSBsZWRpZ2xpY2ggZGVzIEJld2VndW5nc3RlaWxzIGltIE5vcm1hbG1vZHVzIGJld2VndCBkZW4KLSAgQ3Vyc29yIGVudHNwcmVjaGVuZC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCUxla3Rpb24gMi40OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUCi0KLQotICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQmVnaW5uIGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgotCi0gIDIuIFRpcHBlICAydyAgLCB1bSBkZW4gQ3Vyc29yIHp3ZWkgV8O2cnRlciB2b3J3w6RydHMgenUgYmV3ZWdlbi4KLQotICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4KLQotICA0LiBUaXBwZSAgMCAgKE51bGwpICwgdW0genVtIEFuZmFuZyBkZXIgWmVpbGUgenUgZ2VsYW5nZW4uCi0KLSAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIFrDpGhsZXJuLgotCi0gIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFfDtnJ0ZW4gdW0gc2ljaCBkYXJpbiBoZXJ1bXp1YmV3ZWdlbi4KLQotICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4KLQotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBNRUhSRVJFIEzDllNDSFZPUkfDhE5HRQotCi0KLSAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgbWl0IGVpbmVtIE9wZXJhdG9yIHdpZWRlcmhvbHQgZGllc2VuIG1laHJmYWNoLiAqKgotCi0gIEbDvHIgZGllIEtvbWJpbmF0aW9uIGRlcyBMw7ZzY2hvcGVyYXRvcnMgdW5kIGVpbmVtIEJld2VndW5nc3NjaHJpdHQgKHNpZWhlCi0gIG9iZW4pIHN0ZWxsdCBtYW4gZGVtIEJld2VndW5nc3NjaHJpdHQgZWluZW4gWsOkaGxlciB2b3JhbiwgdW0gbWVociB6dSBsw7ZzY2hlbjoKLQkgZCAgTnVtbWVyICBCZXdlZ3VuZ3NzY2hyaXR0Ci0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBXb3J0IGluIEdST1NTQlVDSFNUQUJFTiBpbiBkZXIgbWl0IC0tLT4KLSAgICAgbWFya2llcmVuIFplaWxlLgotCi0gIDIuIFRpcHBlICBkMncgICwgdW0gZGllIHp3ZWkgV8O2cnRlciBpbiBHUk9TU0JVQ0hTVEFCRU4genUgbMO2c2NoZW4uCi0KLSAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBaw6RobGVyLCB1bSBkaWUKLSAgICAgZGFyYXVmZm9sZ2VuZGVuIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbwotICAgICB6dSBsw7ZzY2hlbi4KLQotLS0tPiAgRGllc2UgQUJDIERFIFplaWxlIEZHSEkgSksgTE1OIE9QIG1pdCBXw7ZydGVybiBpc3QgUSBSUyBUVVYgYmVyZWluaWd0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTgotCi0KLQkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbMO2c2NoZW4uICoqCi0KLSAgV2VnZW4gZGVyIEjDpHVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbMO2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uCi0gIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB3w6RyZSwgZWluZmFjaCB6d2VpIGQncyBlaW56dWdlYmVuLCB1bSBlaW5lIFplaWxlCi0gIHp1IGzDtnNjaGVuLgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIFplaWxlIGluIGRlciB1bnRlbiBzdGVoZW5kZW4gUmVkZXdlbmR1bmcuCi0gIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbMO2c2NoZW4uCi0gIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4KLSAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBsw7ZzY2hlbi4KLQotLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LAotLS0tPiAgMikgIE1hdHNjaCBpc3QgbHVzdGlnLAotLS0tPiAgMykgIFZlaWxjaGVuIHNpbmQgYmxhdSwKLS0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywKLS0tLT4gIDUpICBEaWUgVWhyIHNhZ3QgZGllIFplaXQsCi0tLS0+ICA2KSAgWnVja2VyIGlzdCBzw7zDnywKLS0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAyLjc6IFLDnENLR8OETkdJRyBNQUNIRU4gKFVORE8pCi0KLQotCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4gKioKLQkgICAgICAqKiBvZGVyIFUgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqCi0KLSAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4KLSAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuCi0gIDIuIFRpcHBlICB4ICAsIHVtIGRhcyBlcnN0ZSB1bmVyd8O8bnNjaHRlIFplaWNoZW4genUgbMO2c2NoZW4uCi0gIDMuIE51biB0aXBwZSAgdSAgdW0gZGFzIHNvZWJlbiBhdXNnZWbDvGhydGUgS29tbWFuZG8gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KLSAgNC4gSmV0enQgYmVoZWJlIGFsbGUgRmVobGVyIGF1ZiBkZXIgWmVpbGUgbWl0IEhpbGZlIGRlcyB4ICBLb21tYW5kb3MuCi0gIDUuIE51biB0aXBwZSBlaW4gZ3Jvw59lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kCi0gICAgIHdpZWRlcmhlcnp1c3RlbGxlbi4KLSAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MKLSAgICAgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4KLSAgNy4gTnVuIHRpcHBlIENUUkwtUiAoaGFsdGUgQ1RSTCBnZWRyw7xja3QgdW5kIGRyw7xja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKLSAgICAgS29tbWFuZG9zIHdpZWRlcmhlcnp1c3RlbGxlbiAoZGllIFLDvGNrZ8OkbmdpZ21hY2h1bmdlbiByw7xja2fDpG5naWcgbWFjaGVuKS4KLQotLS0tPiBCZWVoZWJlIGRpZSBGZWhsbGVyIGRpZXNzZXIgWmVpbGUgdW5kIHN0dGVsbGUgc2llIG1pdHQgJ3VuZG8nIHdpZWRlciBoZXIuCi0KLSAgOC4gRGllcyBzaW5kIHNlaHIgbsO8dHpsaWNoZSBLb21tYW5kb3MuCi0gICAgIE51biBnZWhlIHdlaXRlciB6dXIgWnVzYW1tZW5mYXNzdW5nIHZvbiBMZWt0aW9uIDIuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMgotCi0KLSAgMS4gVW0gdm9tIEN1cnNvciBiaXMgenVtIG7DpGNoc3RlbiBXb3J0IHp1IGzDtnNjaGVuLCB0aXBwZTogICAgZHcKLSAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICAgZCQKLSAgMy4gVW0gZWluZSBnYW56ZSBaZWlsZSB6dSBsw7ZzY2hlbiwgdGlwcGU6ICAgIGRkCi0KLSAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3Ci0gIDUuIERhcyBGb3JtYXQgZsO8ciBlaW4gw4RuZGVydW5nc2tvbW1hbmRvIGlzdDoKLSAgICAgICAgICAgICAgIE9wZXJhdG9yICAgW0FuemFobF0gICBCZXdlZ3VuZ3NzY2hyaXR0Ci0gICAgIHdvYmVpOgotICAgICAgIE9wZXJhdG9yIC0gZ2lidCBhbiwgd2FzIGdldGFuIHdlcmRlbiBzb2xsLCB6dW0gQmVpc3BpZWwgIGQgIGbDvHIgZGVsZXRlCi0gICAgICAgW0FuemFobF0gLSBlaW4gb3B0aW9uYWxlciBaw6RobGVyLCB1bSBkZW4gQmV3ZWd1bmdzc2Nocml0dCB6dSB3aWVkZXJob2xlbgotICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyDDvGJlciBkZW4genUgw6RuZGVybmRlbiBUZXh0LCBzbyB3aWUKLQkJICB3IChXb3J0KSwgJCAoenVtIEVuZGUgZGVyIFplaWxlKSwgZXRjLgotCi0gIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDAKLQotICA3LiBVbSB2b3JoZXJpZ2UgQWt0aW9uZW4gcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbiwgdGlwcGU6CQl1IChrbGVpbmVzIHUpCi0gICAgIFVtIGFsbGUgw4RuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jvw59lcyBVKQotICAgICBVbSBkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVIKLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgICBMZWt0aW9uIDMuMTogQU5Gw5xHRU4gKFBVVCkKLQotCi0gICAgICoqIFRpcHBlICBwICAsIHVtIHZvcmhlciBnZWzDtnNjaHRlbiBUZXh0IG5hY2ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbiB1bmQgc2llIGluIGVpbmVtIFZpbS1SZWdpc3RlciB6dQotICAgICBzcGVpY2hlcm4uCi0KLSAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIFplaWxlIGMpLCDDnEJFUiBkZXJqZW5pZ2VuLCB3byBkaWUgZ2Vsw7ZzY2h0ZSBaZWlsZQotICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuCi0KLSAgNC4gIFRpcHBlICAgcCAgICwgdW0gZGllIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSBwbGF0emllcmVuLgotCi0gIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQotICAgICBSZWloZW5mb2xnZSB6dSBicmluZ2VuLgotCi0tLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KLS0tLT4gYikgVmVpbGNoZW4gc2luZCBibGF1LAotLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgZXJsZXJuYmFyLAotLS0tPiBhKSBSb3NlbiBzaW5kIHJvdCwKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJTGVrdGlvbiAzLjI6IEVSU0VUWkVOIChSRVBMQUNFKQotCi0KLSAgICoqIFRpcHBlICByeCAgLCB1bSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIGR1cmNoICB4IHp1IGVyc2V0emVuLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciBzaWNoIGF1ZiBkZW0gZXJzdGVuIEZlaGxlciBiZWZpbmRldC4KLQotICAzLiBUaXBwZSAgciAgdW5kIGFuc2NobGllw59lbmQgZGFzIFplaWNoZW4sIHdlbGNoZXMgZG9ydCBzdGVoZW4gc29sbHRlLgotCi0gIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0LgotCi0tLS0+ICBBbHMgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQotLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCEKLQotICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCi0KLUJlbWVya3VuZzogRXJpbm5lcmUgRGljaCwgZGFzcyBEdSBkdXJjaCBBbndlbmRlbiBsZXJuZW4gc29sbHRlc3QsIG5pY2h0IGR1cmNoCi0gICAgIEF1c3dlbmRpZ2xlcm5lbi4KLQotCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSAgTGVrdGlvbiAzLjM6IMOETkRFUk4gKENIQU5HRSkKLQotCi0gICAgICAqKiBVbSBlaW5lIMOEbmRlcnVuZyBiaXMgenVtIFdvcnRlbmRlIGR1cmNoenVmw7xocmVuLCB0aXBwZSAgY2UgLiAqKgotCi0gIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGRhcyAgcyAgdm9uIFdzdHdyLgotCi0gIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIMO2cnRlciApLgotCi0gIDQuIERyw7xja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBuw6RjaHN0ZW4genUgw6RuZGVybmRlbiBaZWljaGVuLgotCi0gIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMyB1bmQgNCBiaXMgZGVyIGVyc3RlIFNhdHogZ2xlaWNoIGRlbSB6d2VpdGVuIGlzdC4KLQotLS0tPiBFaW5pZ2UgV3N0d3IgZGllc2VyIFpsYXd3IGxhc2RqbGFmIG1pdCBkZW0gw4RuZGVybi1PcGVyYXRvciBnYWFhdXUgd2VyZGVuLgotLS0tPiBFaW5pZ2UgV8O2cnRlciBkaWVzZXIgWmVpbGUgc29sbGVuIG1pdCBkZW0gw4RuZGVybi1PcGVyYXRvciBnZcOkbmRlcnQgd2VyZGVuLgotCi1CZW1lcmtlLCBkYXNzICBjZSAgZGFzIFdvcnQgbMO2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgw4ROREVSVU5HRU4gTUlUVEVMUyBjCi0KLQotICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioKLQotICAxLiBEZXIgY2hhbmdlIE9wZXJhdG9yIGFyYmVpdGV0IGluIGdsZWljaGVyIFdlaXNlIHdpZSBkZWxldGUuIERhcyBGb3JtYXQgaXN0OgotCi0gICAgICAgICBjICAgIFtBbnphaGxdICBCZXdlZ3VuZ3NzY2hyaXR0Ci0KLSAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkCi0gICAgIChaZWlsZW5lbmRlKS4KLQotICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgotCi0gIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gRmVobGVyLgotCi0gIDUuIFRpcHBlICBjJCAgLCBnaWIgZGVuIFJlc3QgZGVyIFplaWxlIHdpZSBpbiBkZXIgendlaXRlbiBlaW4sIGRyw7xja2UgPEVTQz4gLgotCi0tLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLgotLS0tPiBEYXMgRW5kZSBkaWVzZXIgWmVpbGUgc29sbCBtaXQgZGVtICBjJCAgS29tbWFuZG8ga29ycmlnaWVydCB3ZXJkZW4uCi0KLUJlbWVya3VuZzogRHUga2FubnN0IGRpZSBSw7xja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDMKLQotCi0gIDEuIFVtIGVpbmVuIHZvcmhlciBnZWzDtnNjaHRlbiBUZXh0IGFuenVmw7xnZW4sIHRpcHBlICAgcCAuIERpZXMgZsO8Z3QgZGVuCi0gICAgIGdlbMO2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vsw7ZzY2h0IHd1cmRlLAotICAgICB3aXJkIGRpZXNlIGluIGRpZSBaZWlsZSB1bnRlciBkZW0gQ3Vyc29yIGVpbmdlZsO8Z3QpLgotCi0gIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYXMgYW4gZGllc2VyCi0gICAgIFN0ZWxsZSBnZXfDvG5zY2h0ZSBaZWljaGVuLgotCi0gIDMuIERlciDDhG5kZXJ1bmdzLSAoY2hhbmdlKSBPcGVyYXRvciBlcmxhdWJ0LCB2b20gQ3Vyc29yIGJpcyB6dW0gRW5kZSBkZXMKLSAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IMOkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMOEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcwotICAgICB6dW0gRW5kZSBkZXMgV29ydGVzIHZvcnp1bmVobWVuOyAgYyQgIGJpcyB6dW0gRW5kZSBlaW5lciBaZWlsZS4KLQotICA0LiBEYXMgRm9ybWF0IGbDvHIgY2hhbmdlIGlzdDoKLQotCSBjICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKLQotICBOdW4gZmFocmUgbWl0IGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBmb3J0LgotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUwotCi0gKiogVGlwcGUgQ1RSTC1HICwgdW0gRGVpbmUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMgYW56dXplaWdlbi4gKioKLSAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqCi0KLUJlbWVya3VuZzogTGllcyBkaWVzZSBnZXNhbXRlIExla3Rpb24sIGJldm9yIER1IGlyZ2VuZGVpbmVuIFNjaHJpdHQgYXVzZsO8aHJzdCEhCi0KLSAgMS4gSGFsdGUgZGllIEN0cmwgVGFzdGUgdW50ZW4gdW5kIGRyw7xja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgd2lyIENUUkwtRy4KLSAgICAgRWluZSBTdGF0dXNtZWxkdW5nIGFtIEZ1w58gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcgotICAgICBQb3NpdGlvbiBpbm5lcmhhbGIgZGVyIERhdGVpLiBNZXJrZSBEaXIgZGllIFplaWxlbm51bW1lciBmw7xyIFNjaHJpdHQgMy4KLQotQmVtZXJrdW5nOiBNw7ZnbGljaGVyd2Vpc2Ugc2llaHN0IER1IGRpZSBDdXJzb3Jwb3NpdGlvbiBpbiBkZXIgdW50ZXJlbiByZWNodGVuCi0gICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgRm9sZ2UgZGVyICdydWxlcicgT3B0aW9uIChzaWVoZSA6aGVscCAncnVsZXInKQotCi0gIDIuIERyw7xja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KLSAgICAgVGlwcGUgIGdnICAsIHVtIERpY2ggenVtIEFuZmFuZyBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KLQotICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgotICAgICBEaWVzIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgZGVyIFplaWxlLCBhdWYgZGVyIER1IGdlc3RhbmRlbiBoYXN0LCBhbHMgRHUKLSAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2VkcsO8Y2t0IGhhc3QuCi0KLSAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBmw7xobHN0LCBmw7xocmUgZGllIFNjaHJpdHRlIDEgYmlzIDMgYXVzLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPCi0KLQotICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioKLQotICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVtZXJrZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgotICAgICBDdXJzb3IgYW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLgotCi0gIDIuIE51biB0aXBwZSAnRmVoaGxlcicgPEVOVEVSPi4gRGllcyBpc3QgZGFzIFdvcnQsIG5hY2ggZGVtIER1IHN1Y2hlbiB3aWxsc3QuCi0KLSAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGbDvHIgbmV4dCkuCi0gICAgIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIGluIGRlciBHZWdlbnJpY2h0dW5nIHp1IHN1Y2hlbiwgdGlwcGUgIE4gLgotCi0gIDQuIFVtIG5hY2ggZWluZW0gQXVzZHJ1Y2sgcsO8Y2t3w6RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgotCi0gIDUuIFVtIGRhaGluIHp1csO8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRyw7xja2UgQ1RSTC1PIChIYWx0ZQotICAgICBDdHJsIHVudGVuIHVuZCBkcsO8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIHdlaXRlcgotICAgICB6dXLDvGNrenVnZWhlbi4gIENUUkwtSSBicmluZ3QgZGljaCB2b3J3w6RydHMuCi0KLS0tLT4gIEZlaGxlciBzY2hyZWlidCBzaWNoIG5pY2h0ICJGZWhobGVyIjsgRmVoaGxlciBpc3QgZWluIEZlaGxlcgotQmVtZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nCi0gICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4KLQotCi0gICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUga29ycmVzcG9uZGllcmVuZGUgS2xhbW1lciApLF0sIG9kZXIgfSB6dSBmaW5kZW4uICoqCi0KLSAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVzIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KLSAgICAgc3RlaGVuZGVuIFplaWxlLCBkaWUgbWl0IC0tLT4gbWFya2llcnQgaXN0LgotCi0gIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCi0KLSAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lci4KLQotICA0LiBUaXBwZSAgJSAsIHVtIGRlbiBDdXJzb3IgenVyIGFuZGVyZW4gcGFzc2VuZGVuIEtsYW1tZXIgenUgYmV3ZWdlbi4KLQotICA1LiBTZXR6ZSBkZW4gQ3Vyc29yIGF1ZiBlaW4gYW5kZXJlcyAoLCksWyxdLHsgb2RlciB9IHVuZCBwcm9iaWVyZSAgJSAgYXVzLgotCi0tLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKLQotQmVtZXJrdW5nOiBEaWVzZSBGdW5rdGlvbmFsaXTDpHQgaXN0IHNlaHIgbsO8dHpsaWNoIGJlaSBkZXIgRmVobGVyc3VjaGUgaW4gZWluZW0KLSAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkKLQotCi0JICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCi0KLSAgMi4gVGlwcGUgIDpzL2RpZWUvZGllIDxFTlRFUj4gLiAgQmVtZXJrZSwgZGFzcyBkZXIgQmVmZWhsIG51ciBkYXMgZXJzdGUKLSAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4KLQotICAzLiBOdW4gdGlwcGUgICA6cy9kaWVlL2RpZS9nIC4gRGFzIFp1ZsO8Z2VuIGRlcyBGbGFncyAgZyAgIGJlZGV1dGV0LCBlaW5lCi0gICAgIGdsb2JhbGUgRXJzZXR6dW5nIMO8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZsO8aHJlbiwgd2FzIGFsbGUgVm9ya29tbWVuIHZvbgotICAgICAiZGllZSIgYXVmIGRlciBaZWlsZSBlcnNldHp0LgotCi0tLS0+IGRpZWUgc2Now7Zuc3RlIFplaXQsIHVtIGRpZWUgQmx1bWVuIGFuenVzY2hhdWVuLCBpc3QgZGllZSBGcsO8aGxpbmdzemVpdC4KLQotICA0LiBVbSBhbGxlIFZvcmtvbW1lbiBlaW5lciBaZWljaGVua2V0dGUgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4genUgw6RuZGVybiwKLSAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgIHdvYmVpICMsIyBkaWUgWmVpbGVubnVtbWVybiBkZXMgWmVpbGVuYmVyZWljaGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2luZCwgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWbDvGhydCB3ZXJkZW4gc29sbC4KLSAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IMOkbmRlcm4uCi0gICAgIFRpcHBlICA6JXMvYWx0L25ldS9nYyAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSBmaW5kZW4KLSAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDQKLQotICAxLiBDVFJMLUcgIHplaWd0IGRpZSBha3R1ZWxsZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cy4KLSAgICAgICAgICAgICBHICBicmluZ3QgRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkuCi0gICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4KLSAgICAgICAgICAgIGdnICBicmluZ3QgRGljaCB6dXIgZXJzdGVuIFplaWxlLgotCi0gIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suCi0gICAgIERpZSBFaW5nYWJlIHZvbiAgPyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBSw5xDS1fDhFJUUyBuYWNoIGRlbSBBdXNkcnVjay4KLSAgICAgVGlwcGUgbmFjaCBlaW5lciBTdWNoZSAgbiAgLCB1bSBkYXMgbsOkY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgotICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLgotICAgICBDVFJMLU8gYnJpbmd0IERpY2ggenVyw7xjayB6dSDDpGx0ZXJlbiBQb3NpdGlvbmVuLCBDVFJMLUkgenUgbmV1ZXJlbi4KLQotICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9Ci0gICAgIGJlZmluZGV0LCBicmluZ3QgRGljaCB6dXIgR2VnZW5rbGFtbWVyLgotCi0gIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLAotICAgICAgICAgICAgIHRpcHBlICAgICAgIDpzL2FsdC9uZXUKLSAgICAgVW0gYWxsZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGRlciBaZWlsZSBlcnNldHplbiwgdGlwcGUgIDpzL2FsdC9uZXUvZwotICAgICBVbSBBdXNkcsO8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVubnVtbWVybiB6dSBlcnNldHplbiwgIDojLCNzL2FsdC9uZXUvZwotICAgICBVbSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2FuemVuIERhdGVpIHp1IGVyc2V0emVuLCB0aXBwZSAgOiVzL2FsdC9uZXUvZwotICAgICBGw7xyIGVpbmUgamVkbWFsaWdlIEJlc3TDpHRpZ3VuZywgYWRkaWVyZSAgJ2MnICAoY29uZmlybSkgICA6JXMvYWx0L25ldS9nYwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCUxla3Rpb24gNS4xOiBBVVNGw5xIUkVOIEVJTkVTIEVYVEVSTkVOIEtPTU1BTkRPUwotCi0KLSAgKiogR2liICA6ISAsIGdlZm9sZ3Qgdm9uIGVpbmVtIGV4dGVybmVuIEtvbW1hbmRvIGVpbiwgdW0gZXMgYXVzenVmw7xocmVuLiAqKgotCi0gIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ1w58gZGVzIFNjaGlybXMKLSAgICAgenUgc2V0emVuLiBEaWVzIGVybGF1YnQgRGlyLCBlaW4gS29tbWFuZG96ZWlsZW4tS29tbWFuZG8gZWluenVnZWJlbi4KLQotICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm3DtmdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLAotICAgICBleHRlcm5lcyBTaGVsbGtvbW1hbmRvIGF1c3p1ZsO8aHJlbi4KLQotICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHLDvGNrZSA8RU5URVI+LiBEaWVzIHplaWd0Ci0gICAgIGVpbmUgQXVmbGlzdHVuZyBEZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGF1ZiBkZXIKLSAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB3w6Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0LgotCi1CZW1lcmt1bmc6ICBNaXQgZGllc2VyIE1ldGhvZGUga2FubiBqZWRlcyBiZWxpZWJpZ2UgZXh0ZXJuZSBLb21tYW5kbwotICAgICBhdXNnZWbDvGhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCi0KLUJlbWVya3VuZzogIEFsbGUgIDogIEtvbW1hbmRvcyBtw7xzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KLSAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfDpGhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCUxla3Rpb24gNS4yOiBNRUhSIMOcQkVSIERBUyBTQ0hSRUlCRU4gVk9OIERBVEVJRU4KLQotCi0qKiBVbSBhbSBUZXh0IGR1cmNoZ2Vmw7xocnRlIMOEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgotCi0gIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgRGVpbmVzIFZlcnplaWNobmlzc2VzIHp1Ci0gICAgIGVyaGFsdGVuLiAgRHUgd2Vpw590IG51biBiZXJlaXRzLCBkYXNzIER1IGRhbmFjaCA8RU5URVI+IGVpbmdlYmVuIG11c3N0LgotCi0gIDIuIFfDpGhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4KLQotICAzLiBOdW4gdGlwcGU6ICA6dyBURVNUICAgKHdvYmVpIFRFU1QgZGVyIGdld8OkaGx0ZSBEYXRlaW5hbWUgaXN0KS4KLQotICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULgotICAgICBVbSBkaWVzIHp1IMO8YmVycHLDvGZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsIHVtIERlaW5lbgotICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4KLQotQmVtZXJrdW5nOiBXw7xyZGVzdCBEdSBWaW0gamV0enQgYmVlbmRlbiB1bmQgZGFuYWNoIHdpZWRlciBtaXQgdmltIFRFU1QKLSAgICBzdGFydGVuLCBkYW5uIHfDpHJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCi0gICAgWmVpdHB1bmt0LCBhbHMgRHUgaWhuIGdlc3BlaWNoZXJ0IGhhc3QuCi0KLSAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAotCQkJCW9kZXIgKFVuaXgpOgk6IXJtIFRFU1QKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgTGVrdGlvbiA1LjM6IEFVU1fDhEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTgotCi0qKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiwgIHRpcHBlICB2ICBCZXdlZ3VuZyAgOncgREFURUkgKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkaWVzZXIgWmVpbGUuCi0KLSAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZsO8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4KLSAgICAgQmVtZXJrZSwgZGHDnyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCi0KLSAgMy4gRHLDvGNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ1w58gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLgotCi0gIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgotICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGHDnyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IEVudGVyIGRyw7xja3N0LgotCi0gIDUuIFZpbSBzY2hyZWlidCBkaWUgYXVzZ2V3w6RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyCi0gICAgIG9kZXIgIDohbHMgLCB1bSBzaWUgenUgc2VoZW4uIEzDtnNjaGUgc2llIG5vY2ggbmljaHQhIFdpciB3ZXJkZW4gc2llIGluCi0gICAgIGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4KLQotQmVtZXJrdW5nOiBEcsO8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCi0gICB1bWhlcmJld2VnZW4sIHVtIGRpZSBBdXN3YWhsIGdyw7bDn2VyIG9kZXIga2xlaW5lciB6dSBtYWNoZW4uIEFuc2NobGllw59lbmQKLSAgIGthbm4gbWFuIGVpbmVuIE9wZXJhdG9yIGFud2VuZGVuLCB1bSBtaXQgZGVtIFRleHQgZXR3YXMgenUgdHVuLiBadW0KLSAgIEJlaXNwaWVsIGzDtnNjaHQgIGQgIGRlbiBUZXh0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JICAgICAgTGVrdGlvbiA1LjQ6IEVJTkxFU0VOIFVORCBaVVNBTU1FTkbDnEhSRU4gVk9OIERBVEVJRU4KLQotCi0gICAgICAgKiogVW0gZGVuIEluaGFsdCBlaW5lciBEYXRlaSBlaW56dWxlc2VuLCB0aXBwZSAgOnIgREFURUlOQU1FICAqKgotCi0gIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIMO8YmVyaGFsYiBkaWVzZXIgWmVpbGUuCi0KLUJFQUNIVEU6ICBOYWNoZGVtIER1IFNjaHJpdHQgMiBhdXNnZWbDvGhydCBoYXN0LCB3aXJzdCBEdSBUZXh0IGF1cyBMZWt0aW9uIDUuMwotICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfDhFJUUywgdW0gZGllc2UgTGVrdGlvbiB3aWVkZXJ6dXNlaGVuLgotCi0gIDIuIE51biBsaWVzIERlaW5lIERhdGVpIFRFU1QgZWluIGluZGVtIER1IGRhcyBLb21tYW5kbyAgOnIgVEVTVCAgYXVzZsO8aHJzdCwKLSAgICAgd29iZWkgVEVTVCBkZXIgdm9uIERpciB2ZXJ3ZW5kZXRlIERhdGVpbmFtZSBpc3QuCi0gICAgIERpZSBlaW5nZWxlc2VuZSBEYXRlaSB3aXJkIHVudGVyaGFsYiBkZXIgQ3Vyc29yemVpbGUgZWluZ2Vmw7xndC4KLQotICAzLiBVbSB6dSDDvGJlcnByw7xmZW4sIGRhc3MgZGllIERhdGVpIGVpbmdlbGVzZW4gd3VyZGUsIGdlaGUgenVyw7xjayB1bmQgc2llaGUsCi0gICAgIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgZGllCi0gICAgIGVpbmdlZsO8Z3RlIERhdGVpdmVyc2lvbi4KLQotQmVtZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQotICAgICBCZWlzcGllbCBsaWVzdCAgOnIgIWxzICBkaWUgQXVzZ2FiZSBkZXMgS29tbWFuZG9zIGxzIGVpbiB1bmQgcGxhdHppZXJ0Ci0gICAgIHNpZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMuCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA1Ci0KLQotICAxLiA6IUtvbW1hbmRvICBmw7xocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4KLQotICAgICAgRWluaWdlIG7DvHR6bGljaGUgQmVpc3BpZWxlIHNpbmQKLQkoTVMtRE9TKQkgIChVbml4KQotCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuCi0JIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCi0KLSAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4KLQotICAzLiB2ICBCZXdlZ3VuZyAgOncgREFURUlOQU1FICBzY2hyZWlidCBkaWUgVmlzdWVsbCBhdXNnZXfDpGhsdGVuIFplaWxlbiBpbgotICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLgotCi0gIDQuIDpyIERBVEVJTkFNRSAgbMOkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZsO8Z3Qgc2llIHVudGVyaGFsYiBkZXIKLSAgICAgQ3Vyc29ycG9zaXRpb24gZWluLgotCi0gIDUuIDpyICFkaXIgIGxpZXN0IGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgZGlyIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcgotICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICAgICBMZWt0aW9uIDYuMTogWkVJTEVOIMOWRkZORU4gKE9QRU4pCi0KLQotICAgKiogVGlwcGUgIG8JLCB1bSBlaW5lIFplaWxlIHVudGVyaGFsYiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuIHVuZCBEaWNoIGluICoqCi0gICAgICAgICAgICAgICAgICAgICAgKiogZGVuIEVpbmbDvGdlbW9kdXMgenUgYmVnZWJlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgZXJzdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCi0KLSAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29zIHp1IMO2ZmZuZW4KLSAgICAgdW5kIERpY2ggaW4gZGVuIEVpbmbDvGdlbW9kdXMgenUgYmVnZWJlbi4KLQotICAzLiBOdW4gdGlwcGUgZXR3YXMgVGV4dCB1bmQgZHLDvGNrZSA8RVNDPiAsIHVtIGRlbiBFaW5mw7xnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KLQotLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZsO8Z2Vtb2R1cyBwbGF0emllcnQuCi0KLSAgNC4gVW0gZWluZSBaZWlsZSDDnEJFUkhBTEIgZGVzIEN1cnNvcyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb8OfZXMgIE8KLSAgICAgc3RhdHQgZWluZW0ga2xlaW5lbiAgbyAgZWluLiBWZXJzdWNoZSBkaWVzIGF1ZiBkZXIgdW50ZW4gc3RlaGVuZGVuIFplaWxlLgotCi0tLS0+IMOWZmZuZSBlaW5lIFplaWxlIMO8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4KLQotCi0KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgICAgTGVrdGlvbiA2LjI6IFRFWFQgQU5Gw5xHRU4gKEFQUEVORCkKLQotCi0JICAgICAqKiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBlaW56dWbDvGdlbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlciBlcnN0ZW4gw5xidW5nc3plaWxlIG1pdCAtLS0+IHVudGVuLgotCi0gIDIuIERyw7xja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuCi0KLSAgMy4gVGlwcGUgZWluIGtsZWluZXMgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWbDvGdlbi4KLQotICA0LiBWZXJ2b2xsc3TDpG5kaWdlIGRhcyBXb3J0IHNvIHdpZSBpbiBkZXIgWmVpbGUgZGFydW50ZXIuICBEcsO8Y2tlIDxFU0M+ICwKLSAgICAgdW0gZGVuIEVpbmbDvGdlbW9kdXMgenUgdmVybGFzc2VuLgotCi0gIDUuIEJld2VnZSBEaWNoIG1pdCAgZSAgenVtIG7DpGNoc3RlbiB1bnZvbGxzdMOkbmRpZ2VuIFdvcnQgdW5kIHdpZWRlcmhvbGUKLSAgICAgU2Nocml0dGUgMyB1bmQgNC4KLQotLS0tPiBEaWVzZSBaZWkgYmlldGV0IEdlbGVnZW4gLCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7wuCi0tLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZsO8Z2VuLgotCi1CZW1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYcOfZW4gaW4gZGVuIEVpbmbDvGdlbW9kdXM7IGRlcgotICAgICAgICAgICAgZWluemlnZSBVbnRlcnNjaGllZCBpc3QsIHdvIGRpZSBaZWljaGVuIGVpbmdlZsO8Z3Qgd2VyZGVuLgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQotCi0KLSAgICAgICAqKiBUaXBwZSBlaW4gZ3Jvw59lcyAgUiAgLCB1bSBtZWhyIGFscyBlaW4gWmVpY2hlbiB6dSBlcnNldHplbi4gKioKLQotICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KLSAgICAgQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXMgZXJzdGVuICB4eHggLgotCi0gIDIuIE51biBkcsO8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlCi0gICAgIHN0ZWh0LCBzbyBkYXMgZGllc2UgZGFzIHh4eCBlcnNldHp0LgotCi0gIDMuIERyw7xja2UgPEVTQz4gLCB1bSBkZW4gRXJzZXR6dW5nc21vZHVzIHp1IHZlcmxhc3Nlbi4gQmVtZXJrZSwgZGHDnyBkZXIgUmVzdAotICAgICBkZXIgWmVpbGUgdW52ZXLDpG5kZXJ0IGJsZWlidC4KLQotICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSwgdW0gZGFzIHZlcmJsaWViZW5lIHh4eCB6dSBlcnNldHplbi4KLQotLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4KLS0tLT4gRGFzIEFkZGllcmVuIHZvbiAxMjMgenUgNDU2IGVyZ2lidCA1NzkuCi0KLUJlbWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5mw7xnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlCi0gICAgICAgICAgIFplaWNoZW4gbMO2c2NodCBlaW4gdm9yaGFuZGVuZXMgWmVpY2hlbi4KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCSAgICBMZWt0aW9uIDYuNDogVEVYVCBLT1BJRVJFTiBVTkQgRUlORsOcR0VOCi0KLSAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWbDvGdlbiAqKgotCi0gIDEuIEdlaGUgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4sIHNldHplIGRlbiBDdXJzb3IgaGludGVyICJhKSIuCi0KLSAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLgotCi0gIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uCi0KLSAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIG7DpGNoc3RlbiBaZWlsZTogIGokCi0KLSAgNS4gVGlwcGUgIHAgLCB1bSBkZW4gVGV4dCBlaW56dWbDvGdlbiB1bmQgYW5zY2hsaWXDn2VuZDogIGEgendlaXRlIDxFU0M+IC4KLQotICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d8OkaGxlbiwga29waWVyZSBtaXR0ZWxzCi0gICAgIHkgLCBiZXdlZ2UgRGljaCB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlIG1pdCAgaiQgIHVuZCBmw7xnZSBkZW4gVGV4dAotICAgICBkb3J0IG1pdCAgcCAgYW4uCi0KLS0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLgotICAgICAgYikKLQotQmVtZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4KLQotICAgICAgKiogU2V0emUgZWluZSBPcHRpb24gc28sIGRhc3MgZWluZSBTdWNoZSBvZGVyIGVpbmUgRXJzZXR6dW5nIEdyb8OfLSAqKgotCQkgICAgICAqKiB1bmQgS2xlaW5zY2hyZWlidW5nIGlnbm9yaWVydCAqKgotCi0gIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4KLSAgICAgV2llZGVyaG9sZSBkaWUgU3VjaGUgZWluaWdlIE1hbGUsIGluZGVtIER1IGRpZSBuIC0gVGFzdGUgZHLDvGNrc3QuCi0KLSAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuCi0KLSAgMy4gTnVuIHN1Y2hlIHdpZWRlciBuYWNoICdpZ25vcmllcmUnLCBpbmRlbSBEdSAgbiAgdGlwcHN0LgotICAgICBCZW1lcmtlLCBkYcOfIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4KLQotICA0LiBTZXR6ZSBkaWUgJ2hsc2VhcmNoJyB1bmQgJ2luY3NlYXJjaCcgLSBPcHRpb25lbjogICAgIDpzZXQgaGxzIGlzCi0KLSAgNS4gV2llZGVyaG9sZSBkaWUgU3VjaGUgdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OiAvaWdub3JpZXJlIDxFTlRFUj4KLQotICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jvw58vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMKLQotQmVtZXJrdW5nOiBVbSBkaWUgSGVydm9yaGVidW5nIGRlciBUcmVmZmVyIHp1IGVuZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gKLUJlbWVya3VuZzogVW0gZGllIFNjaHJlaWJ3ZWlzZSBmw7xyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplCi0gICAgICAgICAgIFxjIGltIFN1Y2hhdXNkcnVjazogIC9pZ25vcmllcmVcYyAgPEVOVEVSPgotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKLQotIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuIHVuZCBkZW4gRWluZsO8Z2Vtb2R1cwotICAgICAgICAgICAgICAgIHp1IHN0YXJ0ZW4uCi0gICAgVGlwcGUgIE8gICwgdW0gZWluZSBaZWlsZSDDnEJFUiBkZW0gQ3Vyc29yIHp1IMO2ZmZuZW4uCi0KLSAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLgotICAgIFRpcHBlICBBICAsIHVtIFRleHQgbmFjaCBkZW0gWmVpbGVuZW5kZSBhbnp1ZsO8Z2VuLgotCi0gMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuCi0KLSA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBmw7xndCBpaG4gZWluLgotCi0gNS4gRWluIGdyb8OfZXMgIFIgIGdlaHQgaW4gZGVuIEVyc2V0enVuZ3Ntb2R1cyBiaXMgenVtIERyw7xja2VuIHZvbiAgPEVTQz4gLgotCi0gNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6Ci0JJ2ljJyAnaWdub3JlY2FzZScgICAgSWdub3JpZXJlIEdyb8OfL0tsZWluc2NocmVpYnVuZyBiZWkgZWluZXIgU3VjaGUKLQknaXMnICdpbmNzZWFyY2gnICAgICBaZWlnZSBUZWlsw7xiZXJlaW5zdGltbXVuZ2VuIGbDvHIgZWluZW4gU3VjaGF1c2RydWNrCi0JJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcsO8Y2tlIGhlcnZvcgotICAgIERlciBPcHRpb25zbmFtZSBrYW5uIGluIGRlciBLdXJ6LSBvZGVyIGRlciBMYW5nZm9ybSBhbmdlZ2ViZW4gd2VyZGVuLgotCi0gNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYwotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0JCQlMZWt0aW9uIDcuMSA6IEFVRlJVRkVOIFZPTiBISUxGRQotCi0KLQkJICAgICAqKiBOdXR6ZSBkYXMgZWluZ2ViYXV0ZSBIaWxmZXN5c3RlbSAqKgotCi0gIFZpbSBiZXNpdHp0IGVpbiB1bWZhc3NlbmRlcyBlaW5nZWJhdXRlcyBIaWxmZXN5c3RlbS4gIEbDvHIgZGVuIEFuZmFuZyBwcm9iaWVyZQotICBlaW5zIGRlciBkcmVpIGZvbGdlbmRlbiBEaW5nZSBhdXM6Ci0JLSBEcsO8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKLQktIERyw7xja2UgZGllIDxGMT4gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKLQktIFRpcHBlICAgOmhlbHAgPEVOVEVSPgotCi0gIExpZXMgZGVuIFRleHQgaW0gSGlsZmVmZW5zdGVyLCB1bSB6dSB2ZXJzdGVoZW4gd2llIGRpZSBIaWxmZSBmdW5rdGlvbmllcnQuCi0gIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAgLCB1bSB2b24gZWluZW0gRmVuc3RlciB6dW0gYW5kZXJlbiB6dSBzcHJpbmdlbi4KLSAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4KLQotICBEdSBrYW5uc3QgSGlsZmUgenUgcHJha3Rpc2NoIGplZGVtIFRoZW1hIGZpbmRlbiwgaW5kZW0gRHUgZGVtICI6aGVscCItCi0gIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOgotCi0JOmhlbHAgdwotCTpoZWxwIGNfQ1RSTC1ECi0JOmhlbHAgaW5zZXJ0LWluZGV4Ci0JOmhlbHAgdXNlci1tYW51YWwKLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkgICAgIExla3Rpb24gNy4yOiBFUlNURUxMRSBFSU4gU1RBUlQtU0tSSVBUCi0KLQotCSAgICoqICBBa3RpdmllcmUgZGllIGVpbmdlYmF1dGVuIEZ1bmt0aW9uYWxpdMOkdGVuIHZvbiBWaW0gKioKLQotICBWaW0gYmVzaXR6dCB2aWVsZSBGdW5rdGlvbmFsaXTDpHRlbiwgZGllIMO8YmVyIFZpIGhpbmF1c2dlaGVuLCBhYmVyIGRpZSBtZWlzdGVuCi0gIHZvbiBpaG5lbiBzaW5kIHN0YW5kYXJkbcOkw59pZyBkZWFrdGl2aWVydC4gVW0gbWVociBGdW5rdGlvbmFsaXTDpHRlbiB6dSBudXR6ZW4sCi0gIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KLQotICAxLiBTdGFydGUgZGFzIEVkaXRpZXJlbiBkZXIgInZpbXJjIi1EYXRlaSwgYWJow6RuZ2lnIHZvbiBEZWluZW0gU3lzdGVtOgotCTplIH4vLnZpbXJjCQlmw7xyIFVuaXgKLQk6ZSAkVklNL192aW1yYwkJZsO8ciBNUy1XaW5kb3dzCi0KLSAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46Ci0JOnIgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KLQotICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoKLQk6dwotCi0gIEJlaW0gbsOkY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLgotICBEdSBrYW5uc3QgYWxsIERlaW5lIGJldm9yenVndGVuIE9wdGlvbmVuIHp1IGRpZXNlciAidmltcmMiLURhdGVpIHp1ZsO8Z2VuLgotICBGw7xyIG1laHIgSW5mb3JtYXRpb25lbiB0aXBwZSAgOmhlbHAgdmltcmMtaW50cm8KLX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCQkJIExla3Rpb24gNy4zOiBWRVJWT0xMU1TDhE5ESUdFTgotCi0KLQkgICAqKiBLb21tYW5kb3plaWxlbnZlcnZvbGxzdMOkbmRpZ3VuZyBtaXQgQ1RSTC1EIGFuZCA8VEFCPiAqKgotCi0gIDEuIFN0ZWxsZSBzaWNoZXIsIGRhw58gVmltIG5pY2h0IGltIHZpLUtvbXBhdGliaWxpdMOkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3AKLQotICAyLiBTaWVoZSBuYWNoLCB3ZWxjaGUgRGF0ZWllbiBpbSBWZXJ6ZWljaG5pcyBleGlzdGllcmVuOiAgOiFscyAgb2RlciAgOmRpcgotCi0gIDMuIFRpcHBlIGRlbiBCZWdpbm4gZWluZXMgS29tYW5kb3M6ICA6ZQotCi0gIDQuIERyw7xja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgotCi0gIDUuIERyw7xja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4KLQotICA2LiBOdW4gZsO8Z2UgZWluIExlZXJ6ZWljaGVuIHVuZCBkZW4gQmVnaW5uIGVpbmVyIGV4aXN0aWVyZW5kZW4gRGF0ZWkgYW46Ci0gICAgIDplZGl0IERBVAotCi0gIDcuIERyw7xja2UgPFRBQj4uIFZpbSB2ZXJ2b2xsc3TDpG5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCi0KLUJlbWVya3VuZzogVmVydm9sbHN0w6RuZGlndW5nIGZ1bmt0aW9uaWVydCBmw7xyIHZpZWxlIEtvbW1hbmRvcy4gVmVyc3VjaGUKLSAgICAgZWluZmFjaCBDVFJMLUQgdW5kIDxUQUI+LiAgRGllcyBpc3QgaW5zYmVzb25kZXJlIG7DvHR6bGljaCBmw7xyICA6aGVscCAuCi1+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNwotCi0KLSAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRyw7xja2UgPEYxPiBvZGVyIDxIZWxwPiwgdW0gZWluIEhpbGZlZmVuc3RlciB6dSDDtmZmbmVuLgotCi0gIDIuIFRpcHBlICA6aGVscCBLb21tYW5kbyAgLCB1bSBIaWxmZSDDvGJlciAgS29tbWFuZG8gIHp1IGVyaGFsdGVuLgotCi0gIDMuIFRpcHBlICBDVFJMLVcgQ1RSTC1XICAsIHVtIHp1bSBhbmRlcmVuIEZlbnN0ZXIgenUgc3ByaW5nZW4uCi0KLSAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4KLQotICA1LiBFcnN0ZWxsZSBlaW4gdmltcmMgLSBTdGFydHNrcmlwdCB6dXIgU2ljaGVydW5nIGJldm9yenVndGVyIEVpbnN0ZWxsdW5nZW4uCi0KLSAgNi4gRHLDvGNrZSBDVFJMLUQgbmFjaCBkZW0gVGlwcGVuIGVpbmVzIEtvbW1hbmRvcyAgOiAgLCB1bSBtw7ZnbGljaGUKLSAgICAgVmVydm9sbHN0w6RuZGlndW5nZW4genUgc2VoZW4uCi0gICAgIERyw7xja2UgPFRBQj4gZsO8ciBlaW5lIGVpbnppZ2UgVmVydm9sbHN0w6RuZGlndW5nLgotCi0KLQotCi0KLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLSAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIERpZSBJbnRlbnRpb24gd2FyLCBlaW5lbiBrdXJ6ZW4gdW5kCi0gIGLDvG5kaWdlbiDDnGJlcmJsaWNrIMO8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGxpZWZlcm47IGdlcmFkZSBnZW51ZywgdW0gcmVsYXRpdgotICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGvDtm5uZW4uICBEZXIgVmltIFR1dG9yIGhhdCBuaWNodCBkZW4gZ2VyaW5nc3RlbgotICBBbnNwcnVjaCBhdWYgVm9sbHN0w6RuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzCi0gIG7DpGNoc3RlcyBkYXMgVXNlciBNYW51YWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCi0KLSAgRsO8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmb2hsZW4gOgotCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lCi0JVmVybGFnOiBOZXcgUmlkZXJzCi0gIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ8OkbmdpZyBWaW0gZ2V3aWRtZXQgaXN0LiAgQmVzb25kZXJzIG7DvHR6bGljaAotICBmw7xyIEFuZsOkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLgotICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAotCi0gIEZvbGdlbmRlcyBCdWNoIGlzdCDDpGx0ZXIgdW5kIG1laHIgw7xiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0OgotCVRleHRiZWFyYmVpdHVuZyBtaXQgZGVtIHZpLUVkaXRvciAgLSAgdm9uIExpbmRhIExhbWIgdW5kIEFybm9sZCBSb2JiaW5zCi0JVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgotICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG3DtmNodGUuCi0gIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aMOkbHQgYXVjaCBJbmZvcm1hdGlvbmVuIMO8YmVyIFZpbS4KLQotICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZsO8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmbDvGhydW5nIGRpZW50IGRhcwotICBmb2xnZW5kZSBCdWNoOgotCXZpbSBnZS1wYWNrdCB2b24gUmVpbmhhcmQgV29ic3QKLQltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05Ci0gIFRyb3R6IGRlciBrb21wYWt0ZW4gRGFyc3RlbGx1bmcgaXN0IGVzIGR1cmNoIHZpZWxlIG7DvHR6bGljaGUgQmVpc3BpZWxlIGF1Y2gKLSAgZsO8ciBFaW5zdGVpZ2VyIGVtcGZlaGxlbnN3ZXJ0LiAgUHJvYmVrYXBpdGVsIHVuZCBkaWUgQmVpc3BpZWxza3JpcHRlIHNpbmQKLSAgb25saW5lIGVyaMOkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKLQotICBEaWVzZXMgVHV0b3JpYWwgd3VyZGUgZ2VzY2hyaWViZW4gdm9uIE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKLSAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKLSAgVW5pdmVyc2l0eSwgenVyIFZlcmbDvGd1bmcgc3RlbGx0ZS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgotCi0gIEJlYXJiZWl0ZXQgZsO8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLgotICBEZXV0c2NoZSDDnGJlcnNldHp1bmcgdm9uIEpvYWNoaW0gSG9mbWFubiAyMDA3LiAgRS1tYWlsOiBKb2FjaGltLkhvZkBnbXguZGUKLQotfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorPSAgICAgIFcgaSBsIGwgayBvIG0gbSBlIG4gICBpbSAgIFYgSSBNICAgVCB1IHQgbyByICAgIC0gICAgVmVyc2lvbiAxLjcuZGUuMSAgPQ0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICBWaW0gaXN0IGVpbiBzZWhyIG3DpGNodGlnZXIgRWRpdG9yLCBkZXIgdmllbGUgQmVmZWhsZSBiZXJlaXRzdGVsbHQ7IHp1IHZpZWxlLA0KKyAgIHVtIGFsbGUgaW4gZWluZW0gVHV0b3Igd2llIGRpZXNlbSB6dSBlcmtsw6RyZW4uICBEaWVzZXIgVHV0b3IgaXN0IHNvDQorICAgZ2VzdGFsdGV0LCB1bSBnZW51ZyBCZWZlaGxlIHZvcnp1c3RlbGxlbiwgZGFzcyBEdSBkaWUgRsOkaGlna2VpdCBlcmxhbmdzdCwNCisgICBWaW0gbWl0IExlaWNodGlna2VpdCBhbHMgZWluZW4gQWxsendlY2stRWRpdG9yIHp1IHZlcndlbmRlbi4NCisgICBEaWUgWmVpdCBmw7xyIGRhcyBEdXJjaGFyYmVpdGVuIGRpZXNlcyBUdXRvcnMgYmV0csOkZ3QgY2EuIDI1LTMwIE1pbnV0ZW4sDQorICAgYWJow6RuZ2lnIGRhdm9uLCB3aWUgdmllbCBaZWl0IER1IG1pdCBFeHBlcmltZW50aWVyZW4gdmVyYnJpbmdzdC4NCisNCisgICBBQ0hUVU5HOg0KKyAgIERpZSBpbiBkZW4gTGVrdGlvbmVuIGFuZ2V3ZW5kZXRlbiBLb21tYW5kb3Mgd2VyZGVuIGRlbiBUZXh0IG1vZGlmaXppZXJlbi4NCisgICBFcnN0ZWxsZSBlaW5lIEtvcGllIGRpZXNlciBEYXRlaSwgaW4gZGVyIER1IMO8YmVuIHdpbGxzdCAoZmFsbHMgRHUgInZpbXR1dG9yIg0KKyAgIGF1ZmdlcnVmZW4gaGFzdCwgaXN0IGRpZXMgYmVyZWl0cyBlaW5lIEtvcGllKS4NCisNCisgICBFcyBpc3Qgd2ljaHRpZywgc2ljaCB6dSB2ZXJnZWdlbnfDpHJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZsO8ciBkYXMgQW53ZW5kZW4NCisgICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGFud2VuZGVuIG11c3N0LCB1bSBzaWUNCisgICByaWNodGlnIHp1IGxlcm5lbi4gV2VubiBEdSBudXIgZGVuIFRleHQgbGllc3QsIHZlcmdpc3N0IER1IGRpZSBCZWZlaGxlIQ0KKw0KKyAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgZGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHLDvGNrdCBpc3QgdW5kIGJldMOkdGlnZQ0KKyAgIGRpZSAgIGogICBUYXN0ZSBnZW7DvGdlbmQgTWFsLCB1bSBkZW4gQ3Vyc29yIG5hY2ggdW50ZW4genUgYmV3ZWdlbiwgc28gZGFzcw0KKyAgIExla3Rpb24gMS4xIGRlbiBCaWxkc2NoaXJtIHZvbGxrb21tZW4gYXVzZsO8bGx0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTDQorDQorICAqKiBVbSBkZW4gQ3Vyc29yIHp1IGJld2VnZW4sIGRyw7xja2UgZGllIGgsaixrLGwgVGFzdGVuIHdpZSB1bnRlbiBnZXplaWd0LiAqKg0KKwkgICAgIF4JCSBIaWxmZXN0ZWxsdW5nOg0KKwkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4NCisgICAgICAgPCBoCSBsID4JIERpZSBsIFRhc3RlIGxpZWd0IHJlY2h0cyB1bmQgYmV3ZWd0IG5hY2ggcmVjaHRzLg0KKwkgICAgIGoJCSBEaWUgaiBUYXN0ZSDDpGhuZWx0IGVpbmVtIFBmZWlsIG5hY2ggdW50ZW4uDQorCSAgICAgdg0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIHVtaGVyLCBiaXMgRHUgRGljaCBzaWNoZXIgZsO8aGxzdC4NCisNCisgIDIuIEhhbHRlIGRpZSBOYWNoLVVudGVuLVRhc3RlIChqKSBnZWRyw7xja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0Lg0KKyAgICAgSmV0enQgd2Vpw590IER1LCB3aWUgRHUgRGljaCB6dXIgbsOkY2hzdGVuIExla3Rpb24gYmV3ZWdlbiBrYW5uc3QuDQorDQorICAzLiBCZW51dHplIGRpZSBOYWNoLVVudGVuLVRhc3RlLCB1bSBEaWNoIHp1IExla3Rpb24gMS4yIHp1IGJld2VnZW4uDQorDQorQW5tZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCDDvGJlciBkYXMsIHdhcyBEdSBnZXRpcHB0IGhhc3QsDQorCSAgIGRyw7xja2UgPEVTQz4gLCB1bSBEaWNoIGluIGRlbiBOb3JtYWxtb2R1cyB6dSBiZWdlYmVuLg0KKwkgICBEYW5uIGdpYiBkYXMgZ2V3w7xuc2NodGUgS29tbWFuZG8gbm9jaCBlaW5tYWwgZWluLg0KKw0KK0FubWVya3VuZzogRGllIEN1cnNvci1UYXN0ZW4gc29sbHRlbiBlYmVuZmFsbHMgZnVua3Rpb25pZXJlbi4gIEFiZXIgd2VubiBEdQ0KKwkgICBoamtsIGJlbnV0enQsIHdpcnN0IER1IGluIGRlciBMYWdlIHNlaW4sIERpY2ggc2VociB2aWVsIHNjaG5lbGxlcg0KKwkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXfDtmhudCBoYXN0LiBXaXJrbGljaCENCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgICAgTGVrdGlvbiAxLjI6IFZJTSBCRUVOREVODQorDQorDQorICAhISBIaW53ZWlzOiBCZXZvciBEdSBlaW5lbiBkZXIgdW50ZW4gYXVmZ2Vmw7xocnRlbiBTY2hyaXR0ZSBhdXNmw7xocnN0LCBsaWVzDQorICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQ0KKw0KKyAgMS4gRHLDvGNrZSBkaWUgPEVTQz4gVGFzdGUgKHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0KS4NCisNCisgIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4NCisgICAgIERpZXMgYmVlbmRldCBkZW4gRWRpdG9yIHVuZCBWRVJXSVJGVCBhbGxlIMOEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0Lg0KKw0KKyAgMy4gV2VubiBEdSBkaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBzaWVoc3QsIGdpYiBkYXMgS29tbWFuZG8gZWluLCBkYXMgRGljaCB6dQ0KKyAgICAgZGllc2VtIFR1dG9yIGdlZsO8aHJ0IGhhdC4gRGllcyB3w6RyZToJdmltdHV0b3IgPEVOVEVSPg0KKw0KKyAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcsOkZ3QgaGFzdCB1bmQgRHUgRGljaCBzaWNoZXIgZsO8aGxzdCwNCisgICAgIGbDvGhyZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cywgdW0gZGVuIEVkaXRvciB6dSB2ZXJsYXNzZW4gdW5kIHdpZWRlcg0KKyAgICAgaGluZWluenVnZWxhbmdlbi4NCisNCitBbm1lcmt1bmc6ICA6cSEgPEVOVEVSPiAgdmVyd2lyZnQgYWxsZSDDhG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4gRWluaWdlDQorICAgICBMZWt0aW9uZW4gc3DDpHRlciBsZXJuc3QgRHUsIGRpZSDDhG5kZXJ1bmdlbiBpbiBlaW5lciBEYXRlaSB6dSBzcGVpY2hlcm4uDQorDQorICA1LiBCZXdlZ2UgZGVuIEN1cnNvciBhYnfDpHJ0cyB6dSBMZWt0aW9uIDEuMy4NCisgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gMS4zOiBURVhUIEVESVRJRVJFTiAtIEzDllNDSEVODQorDQorDQorCSAqKiBEcsO8Y2tlICB4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbMO2c2NoZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4NCisNCisgIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciDDvGJlciBkZW0gWmVpY2hlbiBzdGVodCwNCisgICAgIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuDQorDQorICAzLiBEcsO8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyB1bmVyd8O8bnNjaHRlIFplaWNoZW4genUgbMO2c2NoZW4uDQorDQorICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuDQorDQorLS0tPiBEaWUgS2t1aCBzcHJhbmdnIMO8YmJlcnIgZGVlbiBNb29uZC4NCisNCisgIDUuIE51biwgZGEgZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuDQorDQorQW5tZXJrdW5nOiBXw6RocmVuZCBEdSBkdXJjaCBkaWVzZW4gVHV0b3IgZ2Voc3QsIHZlcnN1Y2hlIG5pY2h0LCBhdXN3ZW5kaWcgenUNCisgICAgbGVybmVuLCBsZXJuZSB2aWVsbWVociBkdXJjaCBBbndlbmRlbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORsOcR0VODQorDQorDQorCQkgICAgKiogIERyw7xja2UgIGkgICwgdW0gVGV4dCBlaW56dWbDvGdlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBVbSBkaWUgZXJzdGUgWmVpbGUgbWl0IGRlciB6d2VpdGVuIGdsZWljaHp1bWFjaGVuLCBiZXdlZ2UgZGVuIEN1cnNvciBhdWYNCisgICAgIGRhcyBlcnN0ZSBaZWljaGVuIE5BQ0ggZGVyIFN0ZWxsZSwgYW4gZGVyIFRleHQgZWluZ2Vmw7xndCB3ZXJkZW4gc29sbC4NCisNCisgIDMuIERyw7xja2UgIGkgIHVuZCBnaWIgZGllIG7DtnRpZ2VuIEVyZ8Okbnp1bmdlbiBlaW4uDQorDQorICA0LiBXZW5uIGpld2VpbHMgZWluIEZlaGxlciBiZXNlaXRpZ3QgaXN0LCBkcsO8Y2tlIDxFU0M+ICwgdW0genVtIE5vcm1hbG1vZHVzDQorICAgICB6dXLDvGNrenVrZWhyZW4uDQorCQkgV2llZGVyaG9sZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBkZW4gU2F0eiB6dSBrb3JyaWdpZXJlbi4NCisNCistLS0+IEluIGRpZXNlciBmdCBldHdhcyAuDQorLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVobHQgZXR3YXMgVGV4dC4NCisNCisgIDUuIFdlbm4gRHUgRGljaCBtaXQgZGVtIEVpbmbDvGdlbiB2b24gVGV4dCBzaWNoZXIgZsO8aGxzdCwgZ2VoZSB6dSBMZWt0aW9uIDEuNS4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5Gw5xHRU4NCisNCisNCisJCSAgICAgKiogRHLDvGNrZSAgQSAgLCB1bSBUZXh0IGFuenVmw7xnZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKyAgICAgRGFiZWkgaXN0IGdsZWljaGfDvGx0aWcsIGF1ZiB3ZWxjaGVtIFplaWNoZW4gZGVyIFplaWxlIGRlciBDdXJzb3Igc3RlaHQuDQorDQorICAyLiBEcsO8Y2tlICBBICB1bmQgZ2liIGRpZSBlcmZvcmRlcmxpY2hlbiBFcmfDpG56dW5nZW4gZWluLg0KKw0KKyAgMy4gV2VubiBkYXMgQW5mw7xnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRyw7xja2UgPEVTQz4sIHVtIGluIGRlbiBOb3JtYWxtb2R1cw0KKyAgICAgenVyw7xja3p1a2VocmVuLg0KKw0KKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIHp3ZWl0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bmQgd2llZGVyaG9sZQ0KKyAgICAgZGllIFNjaHJpdHRlIDIgdW5kIDMsIHVtIGRlbiBTYXR6IHp1IGF1c3p1YmVzc2Vybi4NCisNCistLS0+IEluIGRpZXNlciBaZWlsZSBmZWgNCisgICAgIEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0Lg0KKy0tLT4gQXVjaCBoaWVyIHN0ZWgNCisgICAgIEF1Y2ggaGllciBzdGVodCBldHdhcyBVbnZvbGxzdMOkbmRpZ2VzLg0KKw0KKyAgNS4gV2VubiBEdSBkaWNoIG1pdCBkZW0gQW5mw7xnZW4gdm9uIFRleHQgc2ljaGVyIGbDvGhsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICAgTGVrdGlvbiAxLjY6IEVJTkUgREFURUkgRURJVElFUkVODQorDQorCQkgKiogQmVudXR6ZSAgOndxICAsIHVtIGVpbmUgRGF0ZWkgenUgc3BlaWNoZXJuIHVuZCBWaW0genUgdmVybGFzc2VuLiAqKg0KKw0KKyAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZsO8aHJ0ZW4gU2Nocml0dGUgYXVzZsO8aHJzdCwgbGllcw0KKyAgICAgZGllc2UgZ2VzYW10ZSBMZWt0aW9uISENCisNCisgIDEuIFZlcmxhc3NlIGRlbiBFZGl0b3Igc28gd2llIGluIExla3Rpb24gMS4yOiAgOnEhICAgICAgIA0KKwkgICBPZGVyLCBmYWxscyBkdSBadWdyaWZmIHp1IGVpbmVtIGFuZGVyZW4gVGVybWluYWwgaGFzdCwgZsO8aHJlIGRhcyANCisJCSBGb2xnZW5kZSBkb3J0IGF1cy4NCisNCisgIDIuIEdpYiBkaWVzZXMgS29tbWFuZG8gaW4gZGllIEVpbmdhYmVhdWZmb3JkZXJ1bmcgZWluOiAgdmltIHR1dG9yIDxFTlRFUj4NCisgICAgICd2aW0nIGlzdCBkZXIgQXVmcnVmIGRlcyBFZGl0b3JzLCAndHV0b3InIGlzdCBkaWUgenUgZWRpdGllcmVuZGUgRGF0ZWkuDQorICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZcOkbmRlcnQgd2VyZGVuIGRhcmYuDQorDQorICAzLiBGw7xnZSBUZXh0IGVpbiBvZGVyIGzDtnNjaGUgaWhuLCB3aWUgRHUgaW4gZGVuIHZvcmFuZ2VoZW5kZW4gTGVrdGlvbmVuIA0KKyAgICAgZ2VsZXJudCBoYXN0Lg0KKw0KKyAgNC4gU3BlaWNoZXJlIGRpZSBnZcOkbmRlcnRlIERhdGVpIHVuZCB2ZXJsYXNzZSBWaW0gbWl0OiAgOndxICA8RU5URVI+DQorDQorICA1LiBGYWxscyBEdSBpbiBTY2hyaXR0IDEgZGVuIHZpbXR1dG9yIGJlZW5kZXQgaGFzdCwgc3RhcnRlIHZpbXR1dG9yIG5ldSB1bmQNCisJICAgYmV3ZWdlIGRpY2ggYWJ3w6RydHMgYmlzIHp1ciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLg0KKw0KKyAgNi4gTmFjaGRlbSBEdSBvYmlnZSBTY2hyaXR0ZSBnZWxlc2VuIHVuZCB2ZXJzdGFuZGVuIGhhc3Q6IGbDvGhyZSBzaWUgZHVyY2guDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxDQorDQorDQorICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuDQorCSBoIChsaW5rcykgICAgIGogKHVudGVuKSAgICAgayAoYXVmd8OkcnRzKSAgICBsIChyZWNodHMpDQorDQorICAyLiBVbSBWaW0gYXVzIGRlciBFaW5nYWJlYXVmZm9yZGVydW5nIHp1IHN0YXJ0ZW4sIHRpcHBlOiB2aW0gREFURUkgPEVOVEVSPg0KKw0KKyAgMy4gVW0gVmltIHp1IHZlcmxhc3NlbiB1bmQgYWxsZSDDhG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOg0KKwkJPEVTQz4gIDpxISAgPEVOVEVSPiAuDQorDQorICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGzDtnNjaGVuLCB0aXBwZTogIHgNCisNCisgIDUuIFVtIFRleHQgZWluenVmw7xnZW4gb2RlciBhbnp1ZsO8Z2VuLCB0aXBwZToNCisJIGkgICBFaW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgPEVTQz4gICAgRWluZsO8Z2VuIHZvciBkZW0gQ3Vyc29yDQorCSBBICAgQW56dWbDvGdlbmRlbiBUZXh0IGVpbmdlYmVuICAgIDxFU0M+ICAgIEFuZsO8Z2VuIG5hY2ggZGVtIFplaWxlbmVuZGUNCisNCitBbm1lcmt1bmc6IERyw7xja2VuIHZvbiA8RVNDPiBicmluZ3QgRGljaCBpbiBkZW4gTm9ybWFsbW9kdXMgb2RlciBicmljaHQgZWluDQorICAgICB1bmdld29sbHRlcywgZXJzdCB0ZWlsd2Vpc2UgZWluZ2VnZWJlbmVzIEtvbW1hbmRvIGFiLg0KKw0KKyAgICAgTnVuIGZhaHJlIG1pdCBMZWt0aW9uIDIgZm9ydC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gMi4xOiBMw5ZTQ0hLT01NQU5ET1MNCisNCisNCisJCSAgICoqIFRpcHBlICBkdyAgLCB1bSBlaW4gV29ydCB6dSBsw7ZzY2hlbi4gKioNCisNCisgIDEuIERyw7xja2UgIDxFU0M+ICAsIHVtIHNpY2hlcnp1c3RlbGxlbiwgZGFzcyBEdSBpbSBOb3JtYWxtb2R1cyBiaXN0Lg0KKw0KKyAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGVpbmVzIFdvcnRlcywgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC4NCisNCisgIDQuIFRpcHBlICBkdyAgLCB1bSBkYXMgV29ydCB6dSBlbnRmZXJuZW4uDQorDQorICBBbm1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgU2NoaXJtcywNCisgICAgICAgIHdlbm4gRHUgaWhuIGVpbmdpYnN0LiBWaW0gd2FydGV0IGRhcmF1ZiwgZGFzcyBEdSAgdyAgZWluZ2lic3QuIEZhbGxzIER1DQorICAgICAgICBlaW4gYW5kZXJlcyBaZWljaGVuIGFscyAgZCAgc2llaHN0LCBoYXN0IER1IGV0d2FzIEZhbHNjaGVzIGdldGlwcHQ7DQorICAgICAgICBkcsO8Y2tlIDxFU0M+IHVuZCBiZWdpbm5lIG5vY2ggZWlubWFsLg0KKw0KKy0tLT4gRWluaWdlIFfDtnJ0ZXIgbHVzdGlnIGdlaMO2cmVuIG5pY2h0IFBhcGllciBpbiBkaWVzZW4gU2F0ei4NCisNCisgIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDMgdW5kIDQsIGJpcyBkZXIgU2F0eiBrb3JyZWt0IGlzdCB1bmQgZ2VoZQ0KKyAgICAgenVyIExla3Rpb24gMi4yLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICAgTGVrdGlvbiAyLjI6IFdFSVRFUkUgTMOWU0NIS09NTUFORE9TDQorDQorDQorCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBsw7ZzY2hlbi4gKioNCisNCisgIDEuIERyw7xja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4NCisNCisgIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLg0KKw0KKyAgMy4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVyIGtvcnJla3RlbiBaZWlsZSAoTkFDSCBkZW0gZXJzdGVuIC4gKS4NCisNCisgIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBaZWlsZW5lbmRlIHp1IGzDtnNjaGVuLg0KKw0KKy0tLT4gSmVtYW5kIGhhdCBkYXMgRW5kZSBkZXIgWmVpbGUgZG9wcGVsdCBlaW5nZWdlYmVuLiBkb3BwZWx0IGVpbmdlZ2ViZW4uDQorDQorDQorICA1LiBHZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAyLjMgLCB1bSB6dSB2ZXJzdGVoZW4sIHdhcyBoaWVyYmVpIHZvcmdlaHQuDQorDQorDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgTGVrdGlvbiAyLjM6IMOcQkVSIE9QRVJBVE9SRU4gVU5EIEJFV0VHVU5HU1rDnEdFDQorDQorDQorICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IMOkbmRlcm4sIHNldHplbiBzaWNoIGF1cyBlaW5lbSBPcGVyYXRvciB1bmQgZWluZXINCisgIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGbDvHIgZWluIEzDtnNjaGtvbW1hbmRvIG1pdCBkZW0gTMO2c2Nob3BlcmF0b3IgIGQNCisgIGxhdXRldCB3aWUgZm9sZ3Q6DQorDQorICAgIGQgIEJld2VndW5nDQorDQorICB3b2JlaToNCisgICAgZCAgICAgICAgLSBkZXIgTMO2c2Nob3BlcmF0b3INCisgICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEzDtnNjaG9wZXJhdG9yIGFuZ2V3YW5kdCB3aXJkICh1bnRlbiBhdWZnZWbDvGhydCkuDQorDQorICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOg0KKyAgICB3IC0gYmlzIHp1bSBCZWdpbm4gZGVzIG7DpGNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uDQorICAgIGUgLSB6dW0gRW5kZSBkZXMgYWt0dWVsbGVuIFdvcnRlcyBNSVQgZGVzc2VuIGxldHp0ZW0gWmVpY2hlbi4NCisgICAgJCAtIHp1bSBFbmRlIGRlciBaZWlsZSBNSVQgZGVtIGxldHp0ZW4gWmVpY2hlbi4NCisNCisgIERlbWVudHNwcmVjaGVuZCBsw7ZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4NCisNCitBbm1lcmt1bmc6ICBEaWUgRWluZ2FiZSBsZWRpZ2xpY2ggZGVzIEJld2VndW5nc3RlaWxzIGltIE5vcm1hbG1vZHVzIGJld2VndCBkZW4NCisgIEN1cnNvciBlbnRzcHJlY2hlbmQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCUxla3Rpb24gMi40OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUDQorDQorDQorICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBCZWdpbm4gZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uDQorDQorICAyLiBUaXBwZSAgMncgICwgdW0gZGVuIEN1cnNvciB6d2VpIFfDtnJ0ZXIgdm9yd8OkcnRzIHp1IGJld2VnZW4uDQorDQorICAzLiBUaXBwZSAgM2UgICwgdW0gZGVuIEN1cnNvciB6dW0gRW5kZSBkZXMgZHJpdHRlbiBXb3J0ZXMgenUgYmV3ZWdlbi4NCisNCisgIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4NCisNCisgIDUuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMyBtaXQgdmVyc2NoaWVkZW5lbiBOdW1tZXJuLg0KKw0KKyAgLS0tPiBEaWVzIGlzdCBudXIgZWluZSBaZWlsZSBhdXMgV8O2cnRlcm4sIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uDQorDQorICA2LiBHZWhlIHdlaXRlciB6dSBMZWt0aW9uIDIuNS4NCisNCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJIExla3Rpb24gMi41OiBBTldFTkRVTkcgRUlORVMgWsOESExFUlMgRsOcUiBNRUhSRVJFIEzDllNDSFZPUkfDhE5HRQ0KKw0KKw0KKyAgICoqIERpZSBFaW5nYWJlIGVpbmVyIFphaGwgbWl0IGVpbmVtIE9wZXJhdG9yIHdpZWRlcmhvbHQgZGllc2VuIG1laHJmYWNoLiAqKg0KKw0KKyAgSW4gZGVyIEtvbWJpbmF0aW9uIGF1cyBMw7ZzY2hvcGVyYXRvciB1bmQgQmV3ZWd1bmdzc2Nocml0dCAoc2llaGUgb2JlbikgDQorICBzdGVsbHQgbWFuLCB1bSBtZWhyIHp1IGzDtnNjaGVuIGRlbSBTY2hyaXR0IGVpbmVuIFrDpGhsZXIgdm9yYW46DQorCSBkICBOdW1tZXIgIEJld2VndW5nc3NjaHJpdHQNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBlcnN0ZW4gV29ydCBpbiBHUk9TU0JVQ0hTVEFCRU4gaW4gZGVyIG1pdCAtLS0+DQorICAgICBtYXJraWVyZW4gWmVpbGUuDQorDQorICAyLiBUaXBwZSAgZDJ3ICAsIHVtIGRpZSB6d2VpIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGzDtnNjaGVuLg0KKw0KKyAgMy4gV2llZGVyaG9sZSBTY2hyaXR0ZSAxIHVuZCAgMiBtaXQgZWluZW0gYW5kZXJlbiBaw6RobGVyLCB1bSBkaWUgZGFyYXVmZm9sLQ0KKyAgICAgZ2VuZGVuIFfDtnJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbyB6dSBsw7ZzY2hlbi4NCisNCistLS0+ICBEaWVzZSBBQkMgREUgWmVpbGUgRkdISSBKSyBMTU4gT1AgbWl0IFfDtnJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuDQorDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJTGVrdGlvbiAyLjY6IEFSQkVJVEVOIEFVRiBaRUlMRU4NCisNCisNCisJICAgICAgICoqIFRpcHBlICBkZCAgLCB1bSBlaW5lIGdhbnplIFplaWxlIHp1IGzDtnNjaGVuLiAqKg0KKw0KKyAgV2VnZW4gZGVyIEjDpHVmaWdrZWl0LCBkYXNzIG1hbiBnYW56ZSBaZWlsZW4gbMO2c2NodCwga2FtZW4gZGllIEVudHdpY2tsZXIgdm9uDQorICBWaSBkYXJhdWYsIGRhc3MgZXMgbGVpY2h0ZXIgd8OkcmUsIGVpbmZhY2ggendlaSBkJ3MgZWluenVnZWJlbiwgdW0gZWluZSBaZWlsZQ0KKyAgenUgbMO2c2NoZW4uDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLg0KKyAgMi4gVGlwcGUgIGRkICAsIHVtIGRpZSBaZWlsZSB6dSBsw7ZzY2hlbi4NCisgIDMuIE51biBiZXdlZ2UgRGljaCB6dXIgdmllcnRlbiBaZWlsZS4NCisgIDQuIFRpcHBlICAyZGQgICwgdW0gendlaSBaZWlsZW4genUgbMO2c2NoZW4uDQorDQorLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LA0KKy0tLT4gIDIpICBNYXRzY2ggaXN0IGx1c3RpZywNCistLS0+ICAzKSAgVmVpbGNoZW4gc2luZCBibGF1LA0KKy0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywNCistLS0+ICA1KSAgRGllIFVociBzYWd0IGRpZSBaZWl0LA0KKy0tLT4gIDYpICBadWNrZXIgaXN0IHPDvMOfLA0KKy0tLT4gIDcpICBTbyB3aWUgRHUgYXVjaC4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAyLjc6IFLDnENLR8OETkdJRyBNQUNIRU4gKFVORE8pDQorDQorDQorCSAqKiBUaXBwZSB1ICwgdW0gZGllIGxldHp0ZW4gS29tbWFuZG9zIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4gKioNCisJICAgICAgKiogb2RlciBVICwgdW0gZWluZSBnYW56ZSBaZWlsZSB3aWVkZXJoZXJ6dXN0ZWxsZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbg0KKyAgICAgdW5kIHNldHplIGlobiBhdWYgZGVuIGVyc3RlbiBGZWhsZXIuDQorICAyLiBUaXBwZSAgeCAgLCB1bSBkYXMgZXJzdGUgdW5lcnfDvG5zY2h0ZSBaZWljaGVuIHp1IGzDtnNjaGVuLg0KKyAgMy4gTnVuIHRpcHBlICB1ICAsIHVtIGRhcyBzb2ViZW4gYXVzZ2Vmw7xocnRlIEtvbW1hbmRvIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW4uDQorICA0LiBKZXR6dCBiZWhlYmUgYWxsZSBGZWhsZXIgYXVmIGRlciBaZWlsZSBtaXQgSGlsZmUgZGVzIHggIEtvbW1hbmRvcy4NCisgIDUuIE51biB0aXBwZSBlaW4gZ3Jvw59lcyAgVSAsIHVtIGRpZSBaZWlsZSBpbiBpaHJlbiBVcnNwcnVuZ3N6dXN0YW5kDQorICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uDQorICA2LiBOdW4gdGlwcGUgIHUgIGVpbmlnZSBNYWxlLCB1bSBkYXMgVSB1bmQgZGllIHZvcmhlcmdlaGVuZGVuIEtvbW1hbmRvcw0KKyAgICAgcsO8Y2tnw6RuZ2lnIHp1IG1hY2hlbi4NCisgIDcuIE51biB0aXBwZSBDVFJMLVIgKGhhbHRlIENUUkwgZ2VkcsO8Y2t0IHVuZCBkcsO8Y2tlIFIpIG1laHJlcmUgTWFsZSwgdW0gZGllDQorICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUsO8Y2tnw6RuZ2lnbWFjaHVuZ2VuIHLDvGNrZ8OkbmdpZyBtYWNoZW4pLg0KKw0KKy0tLT4gQmVlaGViZSBkaWUgRmVobGxlciBkaWVzc2VyIFplaWxlIHVuZCBzdHRlbGxlIHNpZSBtaXR0ICd1bmRvJyB3aWVkZXIgaGVyLg0KKw0KKyAgOC4gRGllcyBzaW5kIHNlaHIgbsO8dHpsaWNoZSBLb21tYW5kb3MuICBOdW4gZ2VoZSB3ZWl0ZXIgenVyIFp1c2FtbWVuZmFzc3VuZyANCisgICAgIHZvbiBMZWt0aW9uIDIuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAyDQorDQorDQorICAxLiBVbSB2b20gQ3Vyc29yIGJpcyB6dW0gbsOkY2hzdGVuIFdvcnQgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkdw0KKyAgMi4gVW0gdm9tIEN1cnNvciBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICAgZCQNCisgIDMuIFVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbMO2c2NoZW4sIHRpcHBlOiAgICBkZA0KKw0KKyAgNC4gVW0gZWluZSBCZXdlZ3VuZyB6dSB3aWVkZXJob2xlbiwgc3RlbGxlIGVpbmUgTnVtbWVyIHZvcmFuOiAgIDJ3DQorICA1LiBEYXMgRm9ybWF0IGbDvHIgZWluIMOEbmRlcnVuZ3Nrb21tYW5kbyBpc3Q6DQorICAgICAgICAgICAgICAgT3BlcmF0b3IgICBbQW56YWhsXSAgIEJld2VndW5nc3NjaHJpdHQNCisgICAgIHdvYmVpOg0KKyAgICAgICBPcGVyYXRvciAtIGdpYnQgYW4sIHdhcyBnZXRhbiB3ZXJkZW4gc29sbCwgenVtIEJlaXNwaWVsICBkICBmw7xyIGRlbGV0ZQ0KKyAgICAgICBbQW56YWhsXSAtIGVpbiBvcHRpb25hbGVyIFrDpGhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuDQorICAgICAgIEJld2VndW5nc3NjaHJpdHQgLSBCZXdlZ3VuZyDDvGJlciBkZW4genUgw6RuZGVybmRlbiBUZXh0LCB3aWUNCisJCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4NCisNCisgIDYuIFVtIERpY2ggenVtIEFuZmFuZyBkZXIgWmVpbGUgenUgYmVnZWJlbiwgYmVudXR6ZSBkaWUgTnVsbDogIDANCisNCisgIDcuIFVtIHZvcmhlcmlnZSBBa3Rpb25lbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZToJCXUgKGtsZWluZXMgdSkNCisgICAgIFVtIGFsbGUgw4RuZGVydW5nZW4gYXVmIGVpbmVyIFplaWxlIHLDvGNrZ8OkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jvw59lcyBVKQ0KKyAgICAgVW0gZGllIFLDvGNrZ8OkbmdpZ21hY2h1bmdlbiByw7xja2fDpG5naWcgenUgbWFjaGVuLCB0aXBwZTogICAgQ1RSTC1SDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJICAgTGVrdGlvbiAzLjE6IEFORsOcR0VOIChQVVQpDQorDQorDQorICAgICAqKiBUaXBwZSAgcCAgLCB1bSB2b3JoZXIgZ2Vsw7ZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWbDvGdlbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGzDtnNjaGVuIHVuZCBzaWUgaW4gZWluZW0gVmltLVJlZ2lzdGVyIHp1DQorICAgICBzcGVpY2hlcm4uDQorDQorICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgWmVpbGUgYyksIMOcQkVSIGRlcmplbmlnZW4sIHdvIGRpZSBnZWzDtnNjaHRlIFplaWxlDQorICAgICBwbGF0emllcnQgd2VyZGVuIHNvbGwuDQorDQorICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uDQorDQorICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCB1bSBhbGxlIFplaWxlbiBpbiBkaWUgcmljaHRpZ2UNCisgICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uDQorDQorLS0tPiBkKSBLYW5uc3QgRHUgZGFzIGF1Y2g/DQorLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsDQorLS0tPiBjKSBJbnRlbGxpZ2VueiBpc3QgbGVybmJhciwNCistLS0+IGEpIFJvc2VuIHNpbmQgcm90LA0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gMy4yOiBFUlNFVFpFTiAoUkVQTEFDRSkNCisNCisNCisgICAqKiBUaXBwZSAgcnggICwgdW0gZGFzIFplaWNoZW4gdW50ZXIgZGVtIEN1cnNvciBkdXJjaCAgeCB6dSBlcnNldHplbi4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBCZXdlZ2UgZGVuIEN1cnNvciwgYmlzIGVyIHNpY2ggYXVmIGRlbSBlcnN0ZW4gRmVobGVyIGJlZmluZGV0Lg0KKw0KKyAgMy4gVGlwcGUgIHIgIHVuZCBhbnNjaGxpZcOfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4NCisNCisgIDQuIFdpZWRlcmhvbGUgU2Nocml0dGUgMiB1bmQgMywgYmlzIGRpZSBlcnN0ZSBaZWlsZSBnbGVpY2ggZGVyIHp3ZWl0ZW4gaXN0Lg0KKw0KKy0tLT4gIEFsZiBkaWVzZSBaZWl0ZSBlaW5nZWdvYmVuIHd1cmRlLCB3dXJkZW4gZWluaWtlIGZhbHNjaGUgVGFzdGVuIGdlbGlwcHQhDQorLS0tPiAgQWxzIGRpZXNlIFplaWxlIGVpbmdlZ2ViZW4gd3VyZGUsIHd1cmRlbiBlaW5pZ2UgZmFsc2NoZSBUYXN0ZW4gZ2V0aXBwdCENCisNCisgIDUuIE51biBmYWhyZSBmb3J0IG1pdCBMZWt0aW9uIDMuMi4NCisNCitBbm1lcmt1bmc6IEVyaW5uZXJlIERpY2ggZGFyYW4sIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCANCisgICAgIGR1cmNoIEF1c3dlbmRpZ2xlcm5lbi4NCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gMy4zOiDDhE5ERVJOIChDSEFOR0UpDQorDQorDQorICAgICAgKiogVW0gZWluZSDDhG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZsO8aHJlbiwgdGlwcGUgIGNlIC4gKioNCisNCisgIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuDQorDQorICAzLiBUaXBwZSAgY2UgIHVuZCBkaWUgV29ydGtvcnJla3R1ciBlaW4gKGluIGRpZXNlbSBGYWxsIHRpcHBlICDDtnJ0ZXIgKS4NCisNCisgIDQuIERyw7xja2UgPEVTQz4gdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBuw6RjaHN0ZW4genUgw6RuZGVybmRlbiBaZWljaGVuLg0KKw0KKyAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAzIHVuZCA0IGJpcyBkZXIgZXJzdGUgU2F0eiBnbGVpY2ggZGVtIHp3ZWl0ZW4gaXN0Lg0KKw0KKy0tLT4gRWluaWdlIFdzdHdyIGRpZXNlciBabGF3dyBsYXNkamxhZiBtaXQgZGVtIMOEbmRlcm4tT3BlcmF0b3IgZ2FhYXV1IHdlcmRlbi4NCistLS0+IEVpbmlnZSBXw7ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDDhG5kZXJuLU9wZXJhdG9yIGdlw6RuZGVydCB3ZXJkZW4uDQorDQorQmVhY2h0ZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGzDtnNjaHQgdW5kIERpY2ggaW4gZGVuIEVpbmdhYmVtb2R1cyB2ZXJzZXR6dC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgTGVrdGlvbiAzLjQ6IE1FSFIgw4ROREVSVU5HRU4gTUlUVEVMUyBjDQorDQorDQorICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioNCisNCisgIDEuIERlciBjaGFuZ2UgT3BlcmF0b3IgYXJiZWl0ZXQgaW4gZ2xlaWNoZXIgV2Vpc2Ugd2llIGRlbGV0ZS4gRGFzIEZvcm1hdCBpc3Q6DQorDQorICAgICAgICAgYyAgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkDQorICAgICAoWmVpbGVuZW5kZSkuDQorDQorICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLg0KKw0KKyAgNC4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIGVyc3RlbiBGZWhsZXIuDQorDQorICA1LiBUaXBwZSAgYyQgICwgZ2liIGRlbiBSZXN0IGRlciBaZWlsZSB3aWUgaW4gZGVyIHp3ZWl0ZW4gZWluLCBkcsO8Y2tlIDxFU0M+IC4NCisNCistLS0+IERhcyBFbmRlIGRpZXNlciBaZWlsZSBzb2xsIGFuIGRpZSB6d2VpdGUgWmVpbGUgYW5nZWdsaWNoZW4gd2VyZGVuLg0KKy0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLg0KKw0KK0FubWVya3VuZzogRHUga2FubnN0IGRpZSBSw7xja3Rhc3RlIGJlbnV0emVuLCB1bSBUaXBwZmVobGVyIHp1IGtvcnJpZ2llcmVuLg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMw0KKw0KKw0KKyAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbMO2c2NodGVuIFRleHQgYW56dWbDvGdlbiwgdGlwcGUgICBwIC4gRGllcyBmw7xndCBkZW4NCisgICAgIGdlbMO2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vsw7ZzY2h0IHd1cmRlLA0KKyAgICAgd2lyZCBkaWVzZSBpbiBkaWUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWbDvGd0KS4NCisNCisgIDIuIFVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgZXJzZXR6ZW4sIHRpcHBlICAgciAgIHVuZCBkYW5hY2ggZGFzIA0KKyAgICAgYW4gZGllc2VyIFN0ZWxsZSBnZXdvbGx0ZSBaZWljaGVuLg0KKw0KKyAgMy4gRGVyIMOEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcw0KKyAgICAgQmV3ZWd1bmdzc2Nocml0dGVzIHp1IMOkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMOEbmRlcnVuZyB2b20gQ3Vyc29yIGJpcw0KKyAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuDQorDQorICA0LiBEYXMgRm9ybWF0IGbDvHIgY2hhbmdlIGlzdDoNCisNCisJIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dA0KKw0KKyAgTnVuIGZhaHJlIG1pdCBkZXIgbsOkY2hzdGVuIExla3Rpb24gZm9ydC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUw0KKw0KKyAqKiBUaXBwZSBDVFJMLUcgLCB1bSBkZWluZSBEYXRlaXBvc2l0aW9uIHNvd2llIGRlbiBEYXRlaXN0YXR1cyBhbnp1emVpZ2VuLiAqKg0KKyAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqDQorDQorQW5tZXJrdW5nOiBMaWVzIGRpZXNlIGdlc2FtdGUgTGVrdGlvbiwgYmV2b3IgRHUgaXJnZW5kZWluZW4gU2Nocml0dCBhdXNmw7xocnN0ISENCisNCisgIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcsO8Y2tlICBnIC4gRGllcyBuZW5uZW4gd2lyIENUUkwtRy4NCisgICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdcOfIGRlciBTZWl0ZSBlcnNjaGVpbnQgbWl0IGRlbSBEYXRlaW5hbWVuIHVuZCBkZXINCisgICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGbDvHIgU2Nocml0dCAzLg0KKw0KK0FubWVya3VuZzogTcO2Z2xpY2hlcndlaXNlIHNpZWhzdCBEdSBkaWUgQ3Vyc29ycG9zaXRpb24gaW4gZGVyIHVudGVyZW4gcmVjaHRlbg0KKyAgICAgIEJpbGRzY2hpcm1lY2tlLiBEaWVzIGlzdCBBdXN3aXJrdW5nIGRlciAncnVsZXInIE9wdGlvbiANCisJICAoc2llaGUgOmhlbHAgJ3J1bGVyJykNCisNCisgIDIuIERyw7xja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4NCisgICAgIFRpcHBlICBnZyAgLCB1bSBEaWNoIHp1bSBBbmZhbmcgZGVyIERhdGVpIHp1IGJlZ2ViZW4uDQorDQorICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLg0KKyAgICAgRGllcyBicmluZ3QgRGljaCB6dXLDvGNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1DQorICAgICBkYXMgZXJzdGUgTWFsIENUUkwtRyBnZWRyw7xja3QgaGFzdC4NCisNCisgIDQuIFdlbm4gRHUgRGljaCBzaWNoZXIgZ2VudWcgZsO8aGxzdCwgZsO8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDQuMjogREFTIFNVQ0hFTiAtIEtPTU1BTkRPDQorDQorDQorICAqKiBUaXBwZSAgLyAgZ2Vmb2xndCB2b24gZWluZW0gQXVzZHJ1Y2ssIHVtIG5hY2ggZGVtIEF1c2RydWNrIHp1IHN1Y2hlbi4gKioNCisNCisgIDEuIEltIE5vcm1hbG1vZHVzLCB0aXBwZSBkYXMgIC8gIFplaWNoZW4uICBCZWFjaHRlLCBkYXNzIGRhcyAgLyB1bmQgZGVyDQorICAgICBDdXJzb3IgYW0gRnXDnyBkZXMgU2NoaXJtcyBlcnNjaGVpbmVuLCBzbyB3aWUgYmVpbSA6CUtvbW1hbmRvLg0KKw0KKyAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4NCisNCisgIDMuIFVtIG5hY2ggZGVtc2VsYmVuIEF1c2RydWNrIHdlaXRlcnp1c3VjaGVuLCB0aXBwZSBlaW5mYWNoICBuIChmw7xyIG5leHQpLg0KKyAgICAgVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLCB0aXBwZSAgTiAuDQorDQorICA0LiBVbSBuYWNoIGVpbmVtIEF1c2RydWNrIHLDvGNrd8OkcnRzIHp1IHN1Y2hlbiAsIGJlbnV0emUgID8gIHN0YXR0ICAvIC4NCisNCisgIDUuIFVtIGRhaGluIHp1csO8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRyw7xja2UgQ1RSTC1PIChIYWx0ZQ0KKyAgICAgQ3RybCB1bnRlbiB1bmQgZHLDvGNrZSBkZW4gQnVjaHN0YWJlbiBvKS4gV2llZGVyaG9sZSBkaWVzLCB1bSBub2NoIHdlaXRlcg0KKyAgICAgenVyw7xja3p1Z2VoZW4uICBDVFJMLUkgZ2VodCB2b3J3w6RydHMuDQorDQorLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyDQorQW5tZXJrdW5nOiBXZW5uIGRpZSBTdWNoZSBkYXMgRGF0ZWllbmRlIGVycmVpY2h0IGhhdCwgd2lyZCBzaWUgYW0gQW5mYW5nDQorICAgICAgICBmb3J0Z2VzZXR6dCwgZXMgc2VpIGRlbm4sIGRpZSAnd3JhcHNjYW4nIE9wdGlvbiB3dXJkZSBhYmdlc2NoYWx0ZXQuDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgIExla3Rpb24gNC4zOiBQQVNTRU5ERSBLTEFNTUVSTiBGSU5ERU4NCisNCisNCisgICAqKiBUaXBwZSAgJSAsIHVtIGVpbmUgZ2VnZW7DvGJlcmxpZWdlbmRlbiBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioNCisNCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGF1ZiBpcmdlbmRlaW5lbSBkZXIgWmVpY2hlbiAoLCBbLCBvZGVyIHsgaW4gZGVyIHVudGVuDQorICAgICBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPiBtYXJraWVydCBpc3QuDQorDQorICAyLiBOdW4gdGlwcGUgZGFzICAlICBaZWljaGVuLg0KKw0KKyAgMy4gRGVyIEN1cnNvciBiZXdlZ3Qgc2ljaCB6dXIgcGFzc2VuZGVuIGdlZ2Vuw7xiZXJsaWVnZW5kZW4gS2xhbW1lci4NCisNCisgIDQuIFRpcHBlICAlICwgdW0gZGVuIEN1cnNvciB6dXIgcGFzc2VuZGVuIGFuZGVyZW4gS2xhbW1lciB6dSBiZXdlZ2VuLg0KKw0KKyAgNS4gU2V0emUgZGVuIEN1cnNvciBhdWYgZWluIGFuZGVyZXMgKCwpLFssXSx7IG9kZXIgfSB1bmQgcHJvYmllcmUgICUgIGF1cy4NCisNCistLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkNCisNCitBbm1lcmt1bmc6IERpZXNlIEZ1bmt0aW9uYWxpdMOkdCBpc3Qgc2VociBuw7x0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQ0KKyAgICAgUHJvZ3JhbW10ZXh0LCBpbiBkZW0gcGFzc2VuZGUgS2xhbW1lcm4gZmVobGVuIQ0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJTGVrdGlvbiA0LjQ6IERBUyBFUlNFVFpVTkdTS09NTUFORE8gKFNVQlNUSVRVVEUpDQorDQorDQorCSAqKiBUaXBwZSA6cy9hbHQvbmV1L2cgICwgdW0gJ2FsdCcgZHVyY2ggJ25ldScgenUgZXJzZXR6ZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuDQorDQorICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZWFjaHRlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQ0KKyAgICAgVm9ya29tbWVuIHZvbiAiZGllZSIgZXJzZXR6dC4NCisNCisgIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgLiBEYXMgWnVmw7xnZW4gZGVzIEZsYWdzICBnICAgYmVkZXV0ZXQsIGVpbmUNCisgICAgIGdsb2JhbGUgRXJzZXR6dW5nIMO8YmVyIGRpZSBaZWlsZSBkdXJjaHp1ZsO8aHJlbiwgZGllcyBlcnNldHp0IGFsbGUgDQorCSBWb3Jrb21tZW4gdm9uICJkaWVlIiBhdWYgZGVyIFplaWxlLg0KKw0KKy0tLT4gZGllZSBzY2jDtm5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZyw7xobGluZ3N6ZWl0Lg0KKw0KKyAgNC4gVW0gYWxsZSBWb3Jrb21tZW4gZWluZXIgWmVpY2hlbmtldHRlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuIHp1IMOkbmRlcm4sDQorICAgICB0aXBwZSAgOiMsI3MvYWx0L25ldS9nICB3b2JlaSAjLCMgZGllIFplaWxlbm51bW1lcm4gZGVzIEJlcmVpY2hlcyBzaW5kLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZGVtIGRpZSBFcnNldHp1bmcgZHVyY2hnZWbDvGhydCB3ZXJkZW4gc29sbC4NCisgICAgIFRpcHBlICA6JXMvYWx0L25ldS9nICAgIHVtIGFsbGUgVm9ya29tbWVuIGluIGRlciBnZXNhbXRlbiBEYXRlaSB6dSDDpG5kZXJuLg0KKyAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2djICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IGZpbmRlbg0KKyAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lg0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNA0KKw0KKyAgMS4gQ1RSTC1HICB6ZWlndCBkaWUgYWt0dWVsbGUgRGF0ZWlwb3NpdGlvbiBzb3dpZSBkZW4gRGF0ZWlzdGF0dXMuDQorICAgICAgICAgICAgIEcgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGRlciBEYXRlaS4NCisgICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4NCisgICAgICAgICAgICBnZyAgYnJpbmd0IERpY2ggenVyIGVyc3RlbiBaZWlsZS4NCisNCisgIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQorICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUsOcQ0tXw4RSVFMgbmFjaCBkZW0gQXVzZHJ1Y2suDQorICAgICBUaXBwZSBuYWNoIGVpbmVyIFN1Y2hlICBuICAsIHVtIGRhcyBuw6RjaHN0ZSBWb3Jrb21tZW4gaW4gZGVyIGdsZWljaGVuDQorICAgICBSaWNodHVuZyB6dSBmaW5kZW47IG9kZXIgIE4gICwgdW0gaW4gZGVyIEdlZ2VucmljaHR1bmcgenUgc3VjaGVuLg0KKyAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1csO8Y2sgenUgw6RsdGVyZW4gUG9zaXRpb25lbiwgQ1RSTC1JIHp1IG5ldWVyZW4uDQorDQorICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9DQorICAgICBiZWZpbmRldCwgYnJpbmd0IERpY2ggenVyIEdlZ2Vua2xhbW1lci4NCisNCisgIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLA0KKyAgICAgICAgICAgICB0aXBwZSAgICAgICA6cy9hbHQvbmV1DQorICAgICBVbSBhbGxlIFZvcmtvbW1lbiB2b24gImFsdCIgaW4gZGVyIFplaWxlIGVyc2V0emVuLCB0aXBwZSAgOnMvYWx0L25ldS9nDQorICAgICBVbSBBdXNkcsO8Y2tlIGlubmVyaGFsYiB6d2VpZXIgWmVpbGVuICMgenUgZXJzZXR6ZW4gICAgICAgIDojLCNzL2FsdC9uZXUvZw0KKyAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cNCisgICAgIEbDvHIgZWluZSBqZWRlc21hbGlnZSBCZXN0w6R0aWd1bmcsIGFkZGllcmUgJ2MnIChjb25maXJtKSAgIDolcy9hbHQvbmV1L2djDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDUuMTogQVVTRsOcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MNCisNCisNCisgICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZsO8aHJlbi4gKioNCisNCisgIDEuIFRpcHBlIGRhcyB2ZXJ0cmF1dGUgS29tbWFuZG8gIDogICwgdW0gZGVuIEN1cnNvciBhdWYgZGVuIEZ1w58gZGVzIFNjaGlybXMNCisgICAgIHp1IHNldHplbi4gRGllcyBlcmxhdWJ0IERpciwgZWluIEtvbW1hbmRvemVpbGVuLUtvbW1hbmRvIGVpbnp1Z2ViZW4uDQorDQorICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm3DtmdsaWNodCBEaXIsIGVpbiBiZWxpZWJpZ2VzLA0KKyAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWbDvGhyZW4uDQorDQorICAzLiBBbHMgQmVpc3BpZWwgdGlwcGUgICBscyAgIG5hY2ggZGVtICAhICB1bmQgZHLDvGNrZSA8RU5URVI+LiBEaWVzIGxpZWZlcnQNCisgICAgIGVpbmUgQXVmbGlzdHVuZyBkZWluZXMgVmVyemVpY2huaXNzZXM7IGdlbmF1c28sIGFscyB3ZW5uIER1IGluIGRlcg0KKyAgICAgRWluZ2FiZWF1ZmZvcmRlcnVuZyB3w6Ryc3QuICBPZGVyIHZlcndlbmRlICA6IWRpciAgLCBmYWxscyBscyBuaWNodCBnZWh0Lg0KKw0KK0FubWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvDQorICAgICBhdXNnZWbDvGhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uDQorDQorQW5tZXJrdW5nOiAgQWxsZSAgOiAgS29tbWFuZG9zIG3DvHNzZW4gZHVyY2ggRWluZ2FiZSB2b24gPEVOVEVSPg0KKyAgICAgYWJnZXNjaGxvc3NlbiB3ZXJkZW4uIFZvbiBqZXR6dCBhbiBlcnfDpGhuZW4gd2lyIGRpZXMgbmljaHQgamVkZXNtYWwuDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQlMZWt0aW9uIDUuMjogTUVIUiDDnEJFUiBEQVMgU0NIUkVJQkVOIFZPTiBEQVRFSUVODQorDQorDQorKiogVW0gYW0gVGV4dCBkdXJjaGdlZsO8aHJ0ZSDDhG5kZXJ1bmdlbiB6dSBzcGVpY2hlcm4sIHRpcHBlIDp3IERBVEVJTkFNRS4gKioNCisNCisgIDEuIFRpcHBlICA6IWRpciAgb2RlciAgOiFscyAgLCB1bSBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzIHp1DQorICAgICBlcmhhbHRlbi4gIER1IHdlacOfdCBudW4gYmVyZWl0cywgZGFzcyBEdSBkYW5hY2ggPEVOVEVSPiBlaW5nZWJlbiBtdXNzdC4NCisNCisgIDIuIFfDpGhsZSBlaW5lbiBEYXRlaW5hbWVuLCBkZXIgbm9jaCBuaWNodCBleGlzdGllcnQsIHouQi4gVEVTVC4NCisNCisgIDMuIE51biB0aXBwZTogIDp3IFRFU1QgICAod29iZWkgVEVTVCBkZXIgZ2V3w6RobHRlIERhdGVpbmFtZSBpc3QpLg0KKw0KKyAgNC4gRGllcyBzcGVpY2hlcnQgZGllIGdhbnplIERhdGVpIChkZW4gVmltIFR1dG9yKSB1bnRlciBkZW0gTmFtZW4gVEVTVC4NCisgICAgIFVtIGRpZXMgenUgw7xiZXJwcsO8ZmVuLCB0aXBwZSBub2NobWFscyAgOiFscyAgYnp3LiAgIWRpciwgdW0gZGVpbmVuDQorICAgICBWZXJ6ZWljaG5pc2luaGFsdCB6dSBzZWhlbi4NCisNCitBbm1lcmt1bmc6IFfDvHJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCB2aW0gVEVTVA0KKyAgICBzdGFydGVuLCBkYW5uIHfDpHJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtDQorICAgIFplaXRwdW5rdCwgYWxzIER1IGlobiBnZXNwZWljaGVydCBoYXN0Lg0KKw0KKyAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVA0KKyAgICAgICAgICAgICAgICAgICAgICBvZGVyIChVbml4KTogICAgICAgICAgICAgICAgICAgICAgICAgOiFybSBURVNUDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgTGVrdGlvbiA1LjM6IEFVU1fDhEhMRU4gVk9OIFRFWFQgWlVNIFNDSFJFSUJFTg0KKw0KKyoqIFVtIGVpbmVuIEFic2Nobml0dCBkZXIgRGF0ZWkgenUgc3BlaWNoZXJuLCAgdGlwcGUgIHYgIEJld2VndW5nICA6dyBEQVRFSSAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLg0KKw0KKyAgMi4gVGlwcGUgIHYgIHVuZCBiZXdlZ2UgZGVuIEN1cnNvciB6dW0gZsO8bmZ0ZW4gQXVmbGlzdHVuZ3NwdW5rdCB1bnRlbi4NCisgICAgIEJlYWNodGUsIGRhc3MgZGVyIFRleHQgaGVydm9yZ2Vob2JlbiB3aXJkLg0KKw0KKyAgMy4gRHLDvGNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ1w58gZGVzIFNjaGlybXMgZXJzY2hlaW50ICA6JzwsJz4gLg0KKw0KKyAgNC4gVGlwcGUgIHcgVEVTVCAgLCB3b2JlaSBURVNUIGVpbiBub2NoIG5pY2h0IHZvcmhhbmRlbmVyIERhdGVpbmFtZSBpc3QuDQorICAgICBWZXJnZXdpc3NlcmUgRGljaCwgZGFzcyBEdSAgOic8LCc+dyBURVNUICBzaWVoc3QsIGJldm9yIER1IDxFTlRFUj4gZHLDvGNrc3QuDQorDQorICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld8OkaGx0ZW4gWmVpbGVuIGluIGRpZSBEYXRlaSBURVNULiBCZW51dHplICA6IWRpcg0KKyAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTMO2c2NoZSBzaWUgbm9jaCBuaWNodCEgV2lyIHdlcmRlbiBzaWUgaW4NCisgICAgIGRlciBuw6RjaHN0ZW4gTGVrdGlvbiBiZW51dHplbi4NCisNCitIaW53ZWlzOiBEcsO8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yDQorICAgdW1oZXJiZXdlZ2VuLCB1bSBkaWUgQXVzd2FobCB6dSB2ZXJncsO2w59lcm4gb2RlciB6dSB2ZXJrbGVpbmVybi4gQW5zY2hsaWXDn2VuZA0KKyAgIGzDpHNzdCBzaWNoIGVpbiBPcGVyYXRvciBhbndlbmRlbiwgdW0gbWl0IGRlbSBUZXh0IGV0d2FzIHp1IHR1bi4gWnVtIEJlaXNwaWVsDQorICAgbMO2c2NodCAgZCAgZGVuIFRleHQuDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCSAgICAgIExla3Rpb24gNS40OiBFSU5MRVNFTiBVTkQgWlVTQU1NRU5Gw5xIUkVOIFZPTiBEQVRFSUVODQorDQorDQorICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioNCisNCisgIDEuIFBsYXR6aWVyZSBkZW4gQ3Vyc29yIGRpcmVrdCDDvGJlciBkaWVzZXIgWmVpbGUuDQorDQorQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZsO8aHJ0IGhhc3QsIHdpcnN0IER1IFRleHQgYXVzIExla3Rpb24gNS4zDQorICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfDhFJUUywgTGVrdGlvbiA1LjQgd2llZGVyenVzZWhlbi4NCisNCisgIDIuIE51biBsaWVzIGRlaW5lIERhdGVpIFRFU1QgZWluIGluZGVtIER1IGRhcyBLb21tYW5kbyAgOnIgVEVTVCAgYXVzZsO8aHJzdCwNCisgICAgIHdvYmVpIFRFU1QgZGVyIHZvbiBEaXIgdmVyd2VuZGV0ZSBEYXRlaW5hbWUgaXN0Lg0KKyAgICAgRGllIGVpbmdlbGVzZW5lIERhdGVpIHdpcmQgdW50ZXJoYWxiIGRlciBDdXJzb3J6ZWlsZSBlaW5nZWbDvGd0Lg0KKw0KKyAgMy4gVW0genUgw7xiZXJwcsO8ZmVuLCBkYXNzIGRpZSBEYXRlaSBlaW5nZWxlc2VuIHd1cmRlLCBnZWhlIHp1csO8Y2sgdW5kIA0KKyAgICAgYmVhY2h0ZSwgZGFzcyBlcyBqZXR6dCB6d2VpIEtvcGllbiB2b24gTGVrdGlvbiA1LjMgZ2lidCwgZGFzIE9yaWdpbmFsIHVuZCANCisJIGRpZSBlaW5nZWbDvGd0ZSBEYXRlaXZlcnNpb24uDQorDQorQW5tZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQ0KKyAgICAgQmVpc3BpZWwgbGllc3QgIDpyICFscyAgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBscyBlaW4gdW5kIHBsYXR6aWVydA0KKyAgICAgc2llIHVudGVyaGFsYiBkZXMgQ3Vyc29ycy4NCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDUNCisNCisNCisgIDEuIDohS29tbWFuZG8gIGbDvGhydCBlaW4gZXh0ZXJuZXMgS29tbWFuZG8gYXVzLg0KKw0KKyAgICAgIEVpbmlnZSBuw7x0emxpY2hlIEJlaXNwaWVsZSBzaW5kDQorCShNUy1ET1MpCSAgKFVuaXgpDQorCSA6IWRpcgkJICAgOiFscwkJICAgLSAgemVpZ3QgZWluZSBWZXJ6ZWljaG5pc2F1Zmxpc3R1bmcuDQorCSA6IWRlbCBEQVRFSU5BTUUgICA6IXJtIERBVEVJTkFNRSAgLSAgZW50ZmVybnQgRGF0ZWkgREFURUlOQU1FLg0KKw0KKyAgMi4gOncgREFURUlOQU1FICBzcGVpY2hlcnQgZGllIGFrdHVlbGxlIFZpbS1EYXRlaSB1bnRlciBkZW0gTmFtZW4gIERBVEVJTkFNRS4NCisNCisgIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld8OkaGx0ZW4gWmVpbGVuIGluDQorICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLg0KKw0KKyAgNC4gOnIgREFURUlOQU1FICBsw6RkdCBkaWUgRGF0ZWkgREFURUlOQU1FIHVuZCBmw7xndCBzaWUgdW50ZXJoYWxiIGRlcg0KKyAgICAgQ3Vyc29ycG9zaXRpb24gZWluLg0KKw0KKyAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGbDvGd0IHNpZSB1bnRlcmhhbGIgZGVyDQorICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uDQorDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgICAgTGVrdGlvbiA2LjE6IFpFSUxFTiDDlkZGTkVOIChPUEVOKQ0KKw0KKw0KKyAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUgw7ZmZm5lbiB1bmQgRGljaCBpbiAqKg0KKyAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIGVyc3RlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLg0KKw0KKyAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29ycyB6dSDDtmZmbmVuDQorICAgICB1bmQgRGljaCBpbiBkZW4gRWluZsO8Z2Vtb2R1cyB6dSBiZWdlYmVuLg0KKw0KKyAgMy4gTnVuIHRpcHBlIGV0d2FzIFRleHQgdW5kIGRyw7xja2UgPEVTQz4gLCB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQorDQorLS0tPiBNaXQgIG8gIHdpcmQgZGVyIEN1cnNvciBhdWYgZGVyIG9mZmVuZW4gWmVpbGUgaW0gRWluZsO8Z2Vtb2R1cyBwbGF0emllcnQuDQorDQorICA0LiBVbSBlaW5lIFplaWxlIMOcQkVSSEFMQiBkZXMgQ3Vyc29ycyBhdWZ6dW1hY2hlbiwgZ2liIGVpbmZhY2ggZWluIGdyb8OfZXMgIE8NCisgICAgIHN0YXR0IGVpbmVtIGtsZWluZW4gIG8gIGVpbi4gVmVyc3VjaGUgZGllcyBhdWYgZGVyIHVudGVuIHN0ZWhlbmRlbiBaZWlsZS4NCisNCistLS0+IMOWZmZuZSBlaW5lIFplaWxlIMO8YmVyIGRpZXNlciBtaXQgTyAsIHdlbm4gZGVyIEN1cnNvciBhdWYgZGllc2VyIFplaWxlIGlzdC4NCisNCisNCisNCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbDnEdFTiAoQVBQRU5EKQ0KKw0KKw0KKwkgICAgICoqIFRpcHBlICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGVpbnp1ZsO8Z2VuLiAqKg0KKw0KKyAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXIgZXJzdGVuIMOcYnVuZ3N6ZWlsZSBtaXQgLS0tPiB1bnRlbi4NCisNCisgIDIuIERyw7xja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuDQorDQorICAzLiBUaXBwZSBlaW4ga2xlaW5lcyAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLg0KKw0KKyAgNC4gVmVydm9sbHN0w6RuZGlnZSBkYXMgV29ydCBzbyB3aWUgaW4gZGVyIFplaWxlIGRhcnVudGVyLiAgRHLDvGNrZSA8RVNDPiAsDQorICAgICB1bSBkZW4gRWluZsO8Z2Vtb2R1cyB6dSB2ZXJsYXNzZW4uDQorDQorICA1LiBCZXdlZ2UgRGljaCBtaXQgIGUgIHp1bSBuw6RjaHN0ZW4gdW52b2xsc3TDpG5kaWdlbiBXb3J0IHVuZCB3aWVkZXJob2xlDQorICAgICBTY2hyaXR0ZSAzIHVuZCA0Lg0KKw0KKy0tLT4gRGllc2UgWmVpIGJpZXRldCBHZWxlZ2VuICwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZsO8Lg0KKy0tLT4gRGllc2UgWmVpbGUgYmlldGV0IEdlbGVnZW5oZWl0LCBUZXh0IGluIGVpbmVyIFplaWxlIGFuenVmw7xnZW4uDQorDQorQW5tZXJrdW5nOiAgYSwgaSB1bmQgQSBnZWhlbiBhbGxlIGdsZWljaGVybWHDn2VuIGluIGRlbiBFaW5mw7xnZW1vZHVzOyBkZXINCisgICAgICAgICAgICBlaW56aWdlIFVudGVyc2NoaWVkIGlzdCwgd28gZGllIFplaWNoZW4gZWluZ2Vmw7xndCB3ZXJkZW4uDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCSAgICAgIExla3Rpb24gNi4zOiBFSU5FIEFOREVSRSBBUlQgREVTIEVSU0VUWkVOUyAoUkVQTEFDRSkNCisNCisNCisgICAgICAgKiogVGlwcGUgZWluIGdyb8OfZXMgIFIgICwgdW0gbWVociBhbHMgZWluIFplaWNoZW4genUgZXJzZXR6ZW4uICoqDQorDQorICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4NCisgICAgIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBBbmZhbmcgZGVzIGVyc3RlbiAgeHh4IC4NCisNCisgIDIuIE51biBkcsO8Y2tlICBSICB1bmQgdGlwcGUgZGllIE51bW1lciwgZGllIGRhcnVudGVyIGluIGRlciB6d2VpdGVuIFplaWxlDQorICAgICBzdGVodCwgc28gZGFzcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuDQorDQorICAzLiBEcsO8Y2tlIDxFU0M+ICwgdW0gZGVuIEVyc2V0enVuZ3Ntb2R1cyB6dSB2ZXJsYXNzZW4uIEJlYWNodGUsIGRhc3MgZGVyIFJlc3QNCisgICAgIGRlciBaZWlsZSB1bnZlcsOkbmRlcnQgYmxlaWJ0Lg0KKw0KKyAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uDQorDQorLS0tPiBEYXMgQWRkaWVyZW4gdm9uIDEyMyB6dSB4eHggZXJnaWJ0IHh4eC4NCistLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5Lg0KKw0KK0FubWVya3VuZzogRGVyIEVyc2V0enVuZ3Ntb2R1cyBpc3Qgd2llIGRlciBFaW5mw7xnZW1vZHVzLCBhYmVyIGplZGVzIGVpbmdldGlwcHRlDQorICAgICAgICAgICBaZWljaGVuIGzDtnNjaHQgZWluIHZvcmhhbmRlbmVzIFplaWNoZW4uDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkgICAgTGVrdGlvbiA2LjQ6IFRFWFQgS09QSUVSRU4gVU5EIEVJTkbDnEdFTg0KKw0KKyAqKiBCZW51dHplIGRlbiAgeSAgT3BlcmF0b3IsIHVtIFRleHQgenUga29waWVyZW47ICBwICAsIHVtIGlobiBlaW56dWbDvGdlbiAqKg0KKw0KKyAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbjsgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4NCisNCisgIDIuIFN0YXJ0ZSBkZW4gVmlzdWVsbGVuIE1vZHVzIG1pdCAgdiAgLCBiZXdlZ2UgZGVuIEN1cnNvciBnZW5hdSB2b3IgImVyc3RlIi4NCisNCisgIDMuIFRpcHBlICB5ICAsIHVtIGRlbiBoZXJ2b3JnZWhvYmVuIFRleHQgenUga29waWVyZW4uDQorDQorICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbsOkY2hzdGVuIFplaWxlOiAgaiQNCisNCisgIDUuIFRpcHBlICBwICwgdW0gZGVuIFRleHQgZWluenVmw7xnZW4gdW5kIGFuc2NobGllw59lbmQ6ICBhIHp3ZWl0ZSA8RVNDPiAuDQorDQorICA2LiBCZW51dHplIGRlbiBWaXN1ZWxsZW4gTW9kdXMsIHVtICIgRWludHJhZy4iIGF1c3p1d8OkaGxlbiwga29waWVyZSBtaXR0ZWxzDQorICAgICB5ICwgYmV3ZWdlIERpY2ggenVtIEVuZGUgZGVyIG7DpGNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZsO8Z2UgZGVuIFRleHQNCisgICAgIGRvcnQgbWl0ICBwICBhbi4NCisNCistLS0+ICBhKSBkaWVzIGlzdCBkZXIgZXJzdGUgRWludHJhZy4NCisgICAgICBiKQ0KKw0KK0FubWVya3VuZzogRHUga2FubnN0ICB5ICBhdWNoIGFscyBPcGVyYXRvciB2ZXJ3ZW5kZW47ICB5dyAga29waWVydCBlaW4gV29ydC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkgIExla3Rpb24gNi41OiBPUFRJT05FTiBTRVRaRU4NCisNCisgICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgRXJzZXR6dW5nIEdyb8OfLSAqKg0KKwkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioNCisNCisgIDEuIFN1Y2hlIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICAgIC9pZ25vcmllcmUgICBlaW5naWJzdC4NCisgICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRyw7xja3N0Lg0KKw0KKyAgMi4gU2V0emUgZGllICdpYycgKElnbm9yZSBjYXNlKSAtIE9wdGlvbiwgaW5kZW0gRHUgICA6c2V0IGljICAgZWluZ2lic3QuDQorDQorICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuDQorICAgICBCZWFjaHRlLCBkYXNzIGpldHp0IElnbm9yaWVyZSB1bmQgYXVjaCBJR05PUklFUkUgZ2VmdW5kZW4gd2lyZC4NCisNCisgIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMNCisNCisgIDUuIFdpZWRlcmhvbGUgZGllIFN1Y2hlIHVuZCBiZW9iYWNodGUsIHdhcyBwYXNzaWVydDogL2lnbm9yaWVyZSA8RU5URVI+DQorDQorICA2LiBVbSBkYXMgSWdub3JpZXJlbiB2b24gR3Jvw58vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMNCisNCitBbm1lcmt1bmc6IFVtIGRpZSBIZXJ2b3JoZWJ1bmcgZGVyIFRyZWZmZXIgenUgZW50ZmVybmVuLCBnaWIgZWluOiAgOm5vaGxzZWFyY2gNCitBbm1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZsO8ciBlaW5lIGVpbnppZ2UgU3VjaGUgenUgaWdub3JpZXJlbiwgYmVudXR6ZSBcYw0KKyAgICAgICAgICAgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+DQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQorCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA2DQorDQorIDEuIFRpcHBlICBvICAsIHVtIGVpbmUgWmVpbGUgVU5URVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuIHVuZCBkZW4gRWluZsO8Z2Vtb2R1cw0KKyAgICAgICAgICAgICAgICB6dSBzdGFydGVuDQorICAgIFRpcHBlICBPICAsIHVtIGVpbmUgWmVpbGUgw5xCRVIgZGVtIEN1cnNvciB6dSDDtmZmbmVuLg0KKw0KKyAyLiBUaXBwZSAgYSAgLCB1bSBUZXh0IE5BQ0ggZGVtIEN1cnNvciBhbnp1ZsO8Z2VuLg0KKyAgICBUaXBwZSAgQSAgLCB1bSBUZXh0IG5hY2ggZGVtIFplaWxlbmVuZGUgYW56dWbDvGdlbi4NCisNCisgMy4gRGFzIEtvbW1hbmRvICBlICBicmluZ3QgRGljaCB6dW0gRW5kZSBlaW5lcyBXb3J0ZXMuDQorDQorIDQuIERlciBPcGVyYXRvciAgeSAgKHlhbmspIGtvcGllcnQgVGV4dCwgIHAgIChwdXQpIGbDvGd0IGlobiBlaW4uDQorDQorIDUuIEVpbiBncm/Dn2VzICBSICBnZWh0IGluIGRlbiBFcnNldHp1bmdzbW9kdXMgYmlzIHp1bSBEcsO8Y2tlbiB2b24gIDxFU0M+IC4NCisNCisgNi4gRGllIEVpbmdhYmUgdm9uICI6c2V0IHh4eCIgc2V0enQgZGllIE9wdGlvbiAieHh4Ii4gRWluaWdlIE9wdGlvbmVuIHNpbmQ6DQorCSdpYycgJ2lnbm9yZWNhc2UnICAgIElnbm9yaWVyZSBHcm/Dny9LbGVpbnNjaHJlaWJ1bmcgYmVpIGVpbmVyIFN1Y2hlDQorCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWzDvGJlcmVpbnN0aW1tdW5nZW4gZsO8ciBlaW5lbiBTdWNoYXVzZHJ1Y2sNCisJJ2hscycgJ2hsc2VhcmNoJyAgICAgSGViZSBhbGxlIHBhc3NlbmRlbiBBdXNkcsO8Y2tlIGhlcnZvcg0KKyAgICBEZXIgT3B0aW9uc25hbWUga2FubiBpbiBkZXIgS3Vyei0gb2RlciBkZXIgTGFuZ2Zvcm0gYW5nZWdlYmVuIHdlcmRlbi4NCisNCisgNy4gU3RlbGxlIGVpbmVyIE9wdGlvbiAibm8iIHZvcmFuLCB1bSBzaWUgYWJ6dXNjaGFsdGVuOiAgIDpzZXQgbm9pYw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFDQorDQorDQorCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqDQorDQorICBWaW0gYmVzaXR6dCBlaW4gdW1mYXNzZW5kZXMgZWluZ2ViYXV0ZXMgSGlsZmVzeXN0ZW0uICBGw7xyIGRlbiBBbmZhbmcgcHJvYmllcmUNCisgIGVpbnMgZGVyIGRyZWkgZm9sZ2VuZGVuIERpbmdlIGF1czoNCisJLSBEcsO8Y2tlIGRpZSA8SGlsZmU+IC0gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkNCisJLSBEcsO8Y2tlIGRpZSA8RjE+IFRhc3RlIChmYWxscyBEdSBlaW5lIGJlc2l0enQpDQorCS0gVGlwcGUgICA6aGVscCA8RU5URVI+DQorDQorICBMaWVzIGRlbiBUZXh0IGltIEhpbGZlZmVuc3RlciwgdW0genUgdmVyc3RlaGVuIHdpZSBkaWUgSGlsZmUgZnVua3Rpb25pZXJ0Lg0KKyAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLg0KKyAgVGlwcGUgICA6cSA8RU5URVI+ICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4NCisNCisgIER1IGthbm5zdCBIaWxmZSB6dSBwcmFrdGlzY2ggamVkZW0gVGhlbWEgZmluZGVuLCBpbmRlbSBEdSBkZW0gIjpoZWxwIi0NCisgIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOg0KKw0KKwk6aGVscCB3DQorCTpoZWxwIGNfQ1RSTC1EDQorCTpoZWxwIGluc2VydC1pbmRleA0KKwk6aGVscCB1c2VyLW1hbnVhbA0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJICAgICBMZWt0aW9uIDcuMjogRVJTVEVMTEUgRUlOIFNUQVJULVNLUklQVA0KKw0KKw0KKwkgICAgICAgICAgKiogIEFrdGl2aWVyZSBkaWUgRmVhdHVyZXMgdm9uIFZpbSAqKg0KKw0KKyAgVmltIGJlc2l0enQgdmllbGUgRnVua3Rpb25hbGl0w6R0ZW4sIGRpZSDDvGJlciBWaSBoaW5hdXNnZWhlbiwgYWJlciBkaWUgbWVpc3Rlbg0KKyAgdm9uIGlobmVuIHNpbmQgc3RhbmRhcmRtw6TDn2lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdMOkdGVuIHp1IG51dHplbiwNCisgIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4NCisNCisgIDEuIFN0YXJ0ZSBkYXMgRWRpdGllcmVuIGRlciAidmltcmMiLURhdGVpLCBhYmjDpG5naWcgdm9uIGRlaW5lbSBTeXN0ZW06DQorCTplIH4vLnZpbXJjCQlmw7xyIFVuaXgNCisJOmUgJFZJTS9fdmltcmMJCWbDvHIgTVMtV2luZG93cw0KKw0KKyAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46DQorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltDQorDQorICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoNCisJOncNCisNCisgIEJlaW0gbsOkY2hzdGVuIFN0YXJ0IHZvbiBWaW0gd2lyZCBkaWUgU3ludGF4aGVydm9yaGVidW5nIGFrdGl2aWVydCBzZWluLg0KKyAgRHUga2FubnN0IGFsbCBkZWluZSBiZXZvcnp1Z3RlbiBPcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIi1EYXRlaSB6dWbDvGdlbi4NCisgIEbDvHIgbWVociBJbmZvcm1hdGlvbmVuIHRpcHBlICA6aGVscCB2aW1yYy1pbnRybw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKwkJCSBMZWt0aW9uIDcuMzogVkVSVk9MTFNUw4RORElHRU4NCisNCisNCisJICAgKiogS29tbWFuZG96ZWlsZW52ZXJ2b2xsc3TDpG5kaWd1bmcgbWl0IENUUkwtRCB1bmQgPFRBQj4gKioNCisNCisgIDEuIFN0ZWxsZSBzaWNoZXIsIGRhc3MgVmltIG5pY2h0IGltIFZpLUtvbXBhdGliaWxpdMOkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3ANCisNCisgIDIuIFNpZWhlIG5hY2gsIHdlbGNoZSBEYXRlaWVuIGltIFZlcnplaWNobmlzIGV4aXN0aWVyZW46ICA6IWxzICBvZGVyICA6ZGlyDQorDQorICAzLiBUaXBwZSBkZW4gQmVnaW5uIGVpbmVzIEtvbW1hbmRvczogIDplDQorDQorICA0LiBEcsO8Y2tlICBDVFJMLUQgIHVuZCBWaW0gemVpZ3QgZWluZSBMaXN0ZSBtaXQgImUiIGJlZ2lubmVuZGVyIEtvbW1hbmRvcy4NCisNCisgIDUuIERyw7xja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIEtvbW1hbmRvbmFtZW4genUgIjplZGl0Ii4NCisNCisgIDYuIE51biBmw7xnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBBbmZhbmcgZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoNCisgICAgIDplZGl0IERBVA0KKw0KKyAgNy4gRHLDvGNrZSA8VEFCPi4gVmltIHZlcnZvbGxzdMOkbmRpZ3QgZGVuIE5hbWVuIChmYWxscyBlciBlaW5kZXV0aWcgaXN0KS4NCisNCitBbm1lcmt1bmc6IFZlcnZvbGxzdMOkbmRpZ3VuZyBmdW5rdGlvbmllcnQgZsO8ciB2aWVsZSBLb21tYW5kb3MuIFByb2JpZXJlDQorICAgICBlaW5mYWNoIENUUkwtRCB1bmQgPFRBQj4uICBEaWVzIGlzdCBpbnNiZXNvbmRlcmUgbsO8dHpsaWNoIGbDvHIgIDpoZWxwIC4NCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCisJCQkJICAgICBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNw0KKw0KKw0KKyAgMS4gVGlwcGUgIDpoZWxwICBvZGVyIGRyw7xja2UgPEYxPiBvZGVyIDxIZWxwPiwgdW0gZWluIEhpbGZlZmVuc3RlciB6dSDDtmZmbmVuLg0KKw0KKyAgMi4gVGlwcGUgIDpoZWxwIEtvbW1hbmRvICAsIHVtIEhpbGZlIMO8YmVyICBLb21tYW5kbyAgenUgZXJoYWx0ZW4uDQorDQorICAzLiBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgLCB1bSB6dW0gYW5kZXJlbiBGZW5zdGVyIHp1IHNwcmluZ2VuLg0KKw0KKyAgNC4gVGlwcGUgIDpxICAsIHVtIGRhcyBIaWxmZWZlbnN0ZXIgenUgc2NobGllw59lbi4NCisNCisgIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IG1pdCBkZWluZW4gYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4NCisNCisgIDYuIERyw7xja2UgQ1RSTC1EIG5hY2ggZGVtIFRpcHBlbiBlaW5lcyAgOiAgS29tbWFuZG9zLCB1bSBtw7ZnbGljaGUNCisgICAgIFZlcnZvbGxzdMOkbmRpZ3VuZ2VuIGFuenVzZWhlbi4NCisgICAgIERyw7xja2UgPFRBQj4gLCB1bSBlaW5lIFZlcnZvbGxzdMOkbmRpZ3VuZyB6dSBhbnp1d2VuZGVuLg0KKw0KKw0KKw0KKw0KKw0KKw0KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KKw0KKyAgRGFtaXQgaXN0IGRlciBWaW0gVHV0b3IgYmVlbmRldC4gIFNlaW5lIEludGVudGlvbiB3YXIsIGVpbmVuIGt1cnplbiB1bmQNCisgIGLDvG5kaWdlbiDDnGJlcmJsaWNrIMO8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGdlYmVuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYNCisgIGxlaWNodCBtaXQgaWhtIHVtZ2VoZW4genUga8O2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuDQorICBBbnNwcnVjaCBhdWYgVm9sbHN0w6RuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzDQorICBuw6RjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLg0KKw0KKyAgRsO8ciB3ZWl0ZXJlcyBMZXNlbiB1bmQgTGVybmVuIGlzdCBmb2xnZW5kZXMgQnVjaCBlbXBmZWhsZW5zd2VydCA6DQorCVZpbSAtIFZpIEltcHJvdmVkIC0gdm9uIFN0ZXZlIE91YWxsaW5lDQorCVZlcmxhZzogTmV3IFJpZGVycw0KKyAgRGFzIGVyc3RlIEJ1Y2gsIHdlbGNoZXMgZHVyY2hnw6RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbsO8dHpsaWNoDQorICBmw7xyIEFuZsOkbmdlci4gIFZpZWxlIEJlaXNwaWVsZSB1bmQgQmlsZGVyIHNpbmQgZW50aGFsdGVuLg0KKyAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCisNCisgIEZvbGdlbmRlcyBCdWNoIGlzdCDDpGx0ZXIgdW5kIG1laHIgw7xiZXIgVmkgYWxzIFZpbSwgYWJlciBhdWNoIGVtcGZlaGxlbnN3ZXJ0Og0KKwlUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSBWaS1FZGl0b3IgIC0gIHZvbiBMaW5kYSBMYW1iIHVuZCBBcm5vbGQgUm9iYmlucw0KKwlWZXJsYWcgTydSZWlsbHkgLSBJU0JOOiAzODk3MjExMjYyDQorICBJbiBkaWVzZW0gQnVjaCBrYW5uIG1hbiBmYXN0IGFsbGVzIGZpbmRlbiwgd2FzIG1hbiBtaXQgVmkgdHVuIG3DtmNodGUuDQorICBEaWUgc2VjaHN0ZSBBdXNnYWJlIGVudGjDpGx0IGF1Y2ggSW5mb3JtYXRpb25lbiDDvGJlciBWaW0uDQorDQorICBBbHMgYWt0dWVsbGUgUmVmZXJlbnogZsO8ciBWZXJzaW9uIDYuMiB1bmQga25hcHBlIEVpbmbDvGhydW5nIGRpZW50IGRhcw0KKyAgZm9sZ2VuZGUgQnVjaDoNCisJdmltIGdlLXBhY2t0IHZvbiBSZWluaGFyZCBXb2JzdA0KKwltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05DQorICBUcm90eiBkZXIga29tcGFrdGVuIERhcnN0ZWxsdW5nIGlzdCBlcyBkdXJjaCB2aWVsZSBuw7x0emxpY2hlIEJlaXNwaWVsZSBhdWNoDQorICBmw7xyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZA0KKyAgb25saW5lIGVyaMOkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwNCisNCisgIERpZXNlcyBUdXRvcmlhbCB3dXJkZSBnZXNjaHJpZWJlbiB2b24gTWljaGFlbCBDLiBQaWVyY2UgdW5kIFJvYmVydCBLLiBXYXJlLA0KKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUNCisgIFVuaXZlcnNpdHksIHp1ciBWZXJmw7xndW5nIHN0ZWxsdGUuICBFLU1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4NCisNCisgIEJlYXJiZWl0ZXQgZsO8ciBWaW0gdm9uIEJyYW0gTW9vbGVuYWFyLg0KKyAgRGV1dHNjaGUgw5xiZXJzZXR6dW5nIHZvbiBKb2FjaGltIEhvZm1hbm4gMjAxNS4gIEUtTWFpbDogSm9hY2hpbS5Ib2ZAZ214LmRlDQorDQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo=